Skip to content

Instantly share code, notes, and snippets.

View SeungUkLee's full-sized avatar
๐ŸŒฑ
dot dot dot

Seunguk Lee SeungUkLee

๐ŸŒฑ
dot dot dot
  • Republic Of Korea, Busan
View GitHub Profile
์•ฝ์ž ํ•œ๊ตญ์ •๋ณด๊ณผํ•™ํšŒ (2020) BK21ํ”Œ๋Ÿฌ์Šค IF (2018) KAIST CS (2022) SNU CSE (2023.9) POSTECH CSE (2023.10) ํ‰๊ท  (์ •๊ทœํ™”) ํ•™ํšŒ๋ช… DBLP Key
AAAI ์ตœ์šฐ์ˆ˜ 4 O O ์ตœ์šฐ์ˆ˜ 1.00 AAAI Conference on Artificial Intelligence (AAAI) conf/aaai
AAMAS ์šฐ์ˆ˜ 2 0.20 International Joint Conference on Autonomous Agents & Multiagent Systems (AAMAS) conf/atal
ACCV ์šฐ์ˆ˜ 1 ์šฐ์ˆ˜ 0.25 Asian Conference on Computer Vision (ACCV) conf/accv
ACL ์ตœ์šฐ์ˆ˜ 4 O O ์ตœ์šฐ์ˆ˜ 1.00 Annual Meeting of the Association for Computational Linguistics (ACL) conf/acl
ACL Findings ์šฐ์ˆ˜ 0.10 Findings of ACL series/findacl
ACSAC ์šฐ์ˆ˜ 2 ์šฐ์ˆ˜ 0.30 Annual Computer Security Applications Conference (ACSAC) conf/acsac
AIED ์šฐ์ˆ˜ 0.10 International Conference on Artificial Intelligence in Education (AIED) conf/aied
AISTATS ์šฐ์ˆ˜ 1 ์šฐ์ˆ˜ 0.25 International Conference on Artificial Intelligence and Statistics (AISTATS) conf/aistats
ANCS ์šฐ์ˆ˜ 1 ์šฐ์ˆ˜ 0.25 Symposium on Architectures for Networking and Communications Systems (ANCS) conf/ancs

Profiling in Haskell

Do not get bogged down in microoptimizations before you've assessed any macro optimizations that are available. IO and the choice of algorithm dominate any low level changes you may make. In the end you have to think hard about your code!

Before starting to optimize:

  1. Is the -O2 flag on ?
  2. Profile: which part of the code is the slow one.
  3. Use the best algorithm in that part.
  4. Optimize: implement it in the most efficient way.

In this tutorial we're going to build a set of parser combinators.

What is a parser combinator?

We'll answer the above question in 2 steps

  1. what is a parser?
  2. and.. what is a parser combinator?

So first question: What is parser?

@SeungUkLee
SeungUkLee / solidIsFp.md
Created February 12, 2020 11:04 — forked from anabastos/solidIsFp.md
Solid is FP - Luiz Stangarlin

SOLID is FP!

So, I decided to write a little thing, only to practice writing, it's about SOLID being compared between class-based-OO and FP, and there will be grammar errors and there will be a lot of formatting errors, 'bear' with me as I type this as fast as I can. Also correct if I'm wrong. Warning, wall of text in English.

Single responsibility principle

" a class should have only a single responsibility "

A pure function is something with a single responsibility, turning its input into an output. What could be simpler?.

@SeungUkLee
SeungUkLee / st-formal.ts
Created January 5, 2020 05:19 — forked from ENvironmentSet/st-formal.ts
ST Monad In Typescript
// Sorry for poor naming, this example was intented to explain how to use skolem capturing in practise.
interface Stateful<S, A> {
(state: S): [A, S]
}
function fmap<S, A, B>(f: (a: A) => B): (stateful: Stateful<S, A>) => Stateful<S, B> {
return stateful => state => {
const [a, nextState] = stateful(state);
import java.util.Arrays;
public class HashCodeFunctions
{
private final static short DEFAULT_PRIME_NUMBER = 31;
private HashCodeFunctions()
{
throw new AssertionError("Could not be instantiated.");
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Product)) return false;
Product that = (Product) o;
//that ์ด proxyObject ์ผ ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ getter ๋กœ ๋“ค๊ณ ์˜จ๋‹ค.
return Objects.equals(this.id, that.getId()) &&
Objects.equals(this.name, that.getName()) &&
Objects.equals(this.price, that.getPrice());
}
@Override
public String toString() {
return new StringBuilder("Product{")
.append("id=").append(id)
.append(", name='").append(name).append('\'')
.append(", price=").append(price)
.append('}').toString();
}
@SeungUkLee
SeungUkLee / use-git-and-git-flow.adoc
Created January 27, 2018 16:55 — forked from ihoneymon/use-git-and-git-flow.adoc
git ์„ ๊ธฐ๋ฐ˜์œผ๋กœ git-flow๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜์ž.

GIT์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœํ”„๋กœ์„ธ์Šค

๊นƒ์„ ์‚ฌ์šฉํ•ฉ์‹œ๋‹ค. ๊นƒ์„ ์“ฐ์ž. ๊นƒ์„ ์“ฐ๋ž€ ๋ง์•ผ!!

  • SVN์€ ๋ณ€๊ฒฝ์ด๋ ฅ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์†๋„๊ฐ€ ๋Š๋ฆฌ์ง€.

    • ์ปค๋ฐ‹ ๋ฐ ์ฒ˜๋ฆฌ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ๋ณ€๊ฒฝ์ด๋ ฅ์ด ๋งŽ์ด ์ถ•์ ๋˜์–ด ์žˆ์–ด๋„ ์†๋„์ €ํ•˜๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค.

  • ์ปค๋ฐ‹์ฐ๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

@SeungUkLee
SeungUkLee / 1.hs
Last active October 29, 2017 18:20
-- likelion
-- haskell ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„
-- fst
fst' :: (a,b) -> a
fst' (a, _) = a
-- snd
snd' :: (a,b) -> b
snd' (_, b) = b