Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

하스켈: Difference between revisions

From ZeroWiki
imported>codeonwort
No edit summary
imported>codeonwort
No edit summary
Line 1: Line 1:
하스켈은 순수 함수형 프로그래밍 언어입니다. 사실 C++처럼 수행능력을 중시하는 언어를 선호하신다면 별로 권장하고 싶지는 않습니다. 수학에서 최소한의 공리만 가지고 겁나게 복잡한 것들을 수없이 정의하고 뇌가 꼬이는 공식을 만드는 거 있죠? 그런 느낌이 듭니다...
하스켈은 순수 함수형 프로그래밍 언어입니다. 사실 C++처럼 수행능력을 중시하는 언어를 선호하신다면 별로 권장하고 싶지는 않습니다. 수학에서 최소한의 공리만 가지고 겁나게 복잡한 것들을 수없이 정의하고 뇌가 꼬이는 공식을 만드는 거 있죠? 그런 느낌이 듭니다...


<code>
↓이거 코드 강조 어떻게 해요
-- 예제1: 피보나치 수
-- 예제1: 피보나치 수
; memo : (Int -> a) -> Int -> a
; memo : (Int -> a) -> Int -> a
Line 9: Line 9:
   fib 1 = 1
   fib 1 = 1
   fib n = memo fib (n-2) + memo fib (n-1)
   fib n = memo fib (n-2) + memo fib (n-1)
</code>


<code>
 
-- 예제2: 문자열 "n1 n2 n3 n4 ..." 내의 모든 숫자 더하기
-- 예제2: 문자열 "n1 n2 n3 n4 ..." 내의 모든 숫자 더하기
total = foldr1 (+) (map read $ words usageList)
total = foldr1 (+) (map read $ words usageList)
</code>
하스켈에 대한 전반적인 설명은 위키피디아 참조
한글: http://ko.wikipedia.org/wiki/%ED%95%98%EC%8A%A4%EC%BC%88
영어: http://en.wikipedia.org/wiki/Haskell_(programming_language)
하스켈 공부 자료를 찾는다면 다음 사이트를 추천합니다. 여러 링크가 잘 정리되어 있습니다.
https://sites.google.com/site/pieceofhaskell/


제로위키 내에는 하스켈 관련 기존 페이지가 2개 밖에 없네요..
http://wiki.zeropage.org/wiki.php/BeginningHaskellLanguage
http://wiki.zeropage.org/wiki.php/HaskellLanguage


하스켈 한글 자료가 별로 없어서 영어 위키피디아의 [http://en.wikibooks.org/wiki/Haskell 하스켈 위키책]을 위키독스라는 사이트에서 번역하고 있습니다. - [[이민석]]
* 하스켈에 대한 전반적인 설명은 위키피디아 참조
** 한글: http://ko.wikipedia.org/wiki/%ED%95%98%EC%8A%A4%EC%BC%88
** 영어: http://en.wikipedia.org/wiki/Haskell_(programming_language)
*하스켈 공부 자료를 찾는다면 다음 사이트를 추천합니다. 여러 링크가 잘 정리되어 있습니다.
** https://sites.google.com/site/pieceofhaskell/
* 제로위키 내에는 하스켈 관련 기존 페이지가 2개 밖에 없네요..
** http://wiki.zeropage.org/wiki.php/BeginningHaskellLanguage
** http://wiki.zeropage.org/wiki.php/HaskellLanguage
* 영어 위키피디아의 [http://en.wikibooks.org/wiki/Haskell] 하스켈 위키책 번역하고 있습니다. - [[이민석]]
https://wikidocs.net/book/204
https://wikidocs.net/book/204


Line 35: Line 31:
** [http://www.yes24.com/24/goods/3479645?scode=032&OzSrank=2],
** [http://www.yes24.com/24/goods/3479645?scode=032&OzSrank=2],
** [http://www.yes24.com/24/goods/12155304?scode=032&OzSrank=1]
** [http://www.yes24.com/24/goods/12155304?scode=032&OzSrank=1]
** 하스켈 공부를 군대에서 시작해서 볼 수가 없었어요.. 예전에 학교 도서관에서 둘 중 하나를 본 적은 있습니다. 무엇보다 http://book.realworldhaskell.org/ 이게 내용이 엄청 좋습니다. 위키책은 솔직히 문법 배우는 것 이상의 의미는 없고 실용 서적으로는 최고인 것 같네요. [[이민석]]
** 하스켈 공부를 군대에서 시작해서 볼 수가 없었어요.. 예전에 학교 도서관에서 둘 중 하나를 본 적은 있습니다. 무엇보다 http://book.realworldhaskell.org/ 이게 내용이 엄청 좋습니다. 위키책은 솔직히 문법 배우는 것 이상의 의미는 없고 실용 서적으로는 최고인 것 같네요. - 이민석
** 첫 번째는 2번씩이나 읽었지만 설명이 친절했다고 말하기 힘드네요. :( - 이원준
** 첫 번째는 2번씩이나 읽었지만 설명이 친절했다고 말하기 힘드네요. :( - 이원준



Revision as of 02:02, 12 October 2014

하스켈은 순수 함수형 프로그래밍 언어입니다. 사실 C++처럼 수행능력을 중시하는 언어를 선호하신다면 별로 권장하고 싶지는 않습니다. 수학에서 최소한의 공리만 가지고 겁나게 복잡한 것들을 수없이 정의하고 뇌가 꼬이는 공식을 만드는 거 있죠? 그런 느낌이 듭니다...

↓이거 코드 강조 어떻게 해요 -- 예제1: 피보나치 수

memo
(Int -> a) -> Int -> a

memo f n = (map f 0..) !! n memo_fib = memo fib n where

 fib 0 = 0
 fib 1 = 1
 fib n = memo fib (n-2) + memo fib (n-1)


-- 예제2: 문자열 "n1 n2 n3 n4 ..." 내의 모든 숫자 더하기 total = foldr1 (+) (map read $ words usageList)


*하스켈 공부 자료를 찾는다면 다음 사이트를 추천합니다. 여러 링크가 잘 정리되어 있습니다.

https://wikidocs.net/book/204

--

  • 한글로 된 하스켈 책이 두 개 있는 것 같은데 혹시 둘 다 별로였나? - 서민관
    • [2],
    • [3]
    • 하스켈 공부를 군대에서 시작해서 볼 수가 없었어요.. 예전에 학교 도서관에서 둘 중 하나를 본 적은 있습니다. 무엇보다 http://book.realworldhaskell.org/ 이게 내용이 엄청 좋습니다. 위키책은 솔직히 문법 배우는 것 이상의 의미는 없고 실용 서적으로는 최고인 것 같네요. - 이민석
    • 첫 번째는 2번씩이나 읽었지만 설명이 친절했다고 말하기 힘드네요. :( - 이원준