Skip to content

Haskell

하스켈 또는 해스켈(영어: Haskell IPA: [ˈhæskəl])은 순수 함수형 프로그래밍 언어이다.

논리학자 해스켈 커리에서 이름을 따왔다. 그러므로 본디 '해스켈'로 불러야 하지만, 대한민국에서는 '하스켈'이 프로그래밍 언어를 가리키는 말로 널리 쓰여 굳어졌다.

How to install

macOS

$ brew install ghc cabal-install haskell-stack

Category

Projects

  • diagrams - Embedded domain-specific language for declarative vector graphics
  • xmonad - Tiling X11 Window Manager (하스켈 버전 dwm)
  • xmobar - A minimalistic text-based status bar

List of haskell classes

$ 연산자 (Dollar operator)

$ 연산자는 보통 괄호 대신 쓰이곤 한다.

λ> :t ($)
($) :: (a -> b) -> a -> b
λ> putStrLn ("A" ++ "Z")
AZ
λ> putStrLn $ "A" ++ "Z"
AZ

$ 연산자는 중위 연산자 이므로 ($ "Z") 마치 (\f -> f "Z") 처럼 동작한다.

λ> map (\f -> f "Z") [('A':), ('B':)]
["AZ","BZ"]
λ> map ($ "Z") [('A':), ('B':)]
["AZ","BZ"]

Examples

문자열 병합

++를 사용하면 된다.

(++) :: String -> String -> String

예시는 다음과 같다.

Prelude> "aa" ++ "bb"
"aabb"

문자열 길이

Prelude> length "haha"
4

리스트/튜플 접근

  • fst: 첫 번째 (first) 요소 획득.
  • snd: 두 번째 (second) 요소 획득.
  • head: 리스트의 첫 번째 원소로 평가
  • tail: 리스트의 첫 번째 요소를 제외한 나머지를 돌려준다.

Favorite site

Tutorials

Guide

C 프로그래머를 위한 하스켈