์ด ๊ธ์ ์ฌ๋ฌ๋ถ์ด ํ์ค์ผ์ ๋ฐฐ์ฐ๋๋ฐ ๋์์ด ๋ ์ ์๋๋ก ๊ฒฝํ์ ๋ฐํ์ผ๋ก ๋ง๋ค์ด์ง ๊ฐ์ด๋๋ก ํ์ค์ผ ๋ถ (Haskell Book)์ ์ ์ ์ค ํ ์ฌ๋์ ์ถ์ฒ ๋ชฉ๋ก์ ๋๋ค.
์ ํฌ IRC ์ฒด๋์ Freenode์ #haskell-beginners ์
๋๋ค.
IRC ์น ํด๋ผ์ด์ธํธ here.
ํ์ค์ผ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ.
IRC ์ฒด๋์ ์ปค๋ฎค๋ํฐ ๊ท์น์ ๊ผญ ์ฝ์ด์ฃผ์ธ์. ์ฌ๋ฌ๋ถ์ด ์ง๋์น๊ฒ ํธ๋กค๋ง์ ํ์ง ์๋ ํ ๊ฒฝ๊ณ ๋ก ๋๋๊ฒ ์ง๋ง, ๋ฐ๋์ ์ด ์ฒด๋์ ํ์ค์ผ์ ๋ฐฐ์ฐ๊ณ ๊ฐ๋ฅด์น๋ ๊ณต๊ฐ์ด๋ผ๋ ์ ์ ๋ช ์ฌํด์ฃผ์ธ์.
GHC๋ฅผ ์ค์นํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด Stack์ ์ฌ์ฉํ์ธ์.
Stack์ ์ฒ์ ๋ค์ด๋ณด๊ฑฐ๋ ๊ฐ์๋ฅผ ๋ณด๊ธฐ ์ํ์ ๋ค๋ฉด, comprehensive Stack video tutorial์ ์ฐธ๊ณ ํ์ธ์.
Haskell.org์์ ์ง์ํ๋ ๋๋ก ์ค์นํ์ง ๋ง์๊ณ , Stack์ ์ฌ์ฉํ์ธ์.
https://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html
์ ํฌ๋ค์ 2013๋ ๋ดํ๊ธฐ cis194 ๊ฐ์์ ์๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณธ ๋ค์์ FP๊ฐ์๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ์ ์ถ์ฒํฉ๋๋ค. ๋ ๊ฐ์ ๋ชจ๋ ์๋์ ๋งํฌ๊ฐ ๊ฑธ๋ ค์์ต๋๋ค. ๊ทธ ์ธ์๋ ์ ํ์ด๋ฉฐ, ์ฌ๋ฌ๋ถ์ด ์ฐพ์ ์ ์๋๋ก ์๋์ ๋งํฌ๊ฐ ์์ต๋๋ค.
@dmvianna๋ ์๋์ ๋ด์ฉ์ด ๋ฌด๋ฃ ๊ถ์ฅ ์๋ฃ ์ผ ๋ฟ์ด๋ผ๋ ์ฌ์ค์ ์๋ ค ๋๋ฆฌ๊ณ ์ํฉ๋๋ค. ํ์ง๋ง ๋ง์ฝ ์ฑ ์ผ๋ก ๋ณด๊ณ ์ถ๋ค๋ฉด, ์ ๊ฐ ์ด Haskell Book!์ ์ง์ฌ์ผ๋ก ์ถ์ฒํฉ๋๋ค. ๋ง์ฝ ์ด๋ค ์ด์ ๋ก๋ ์ฑ ์ ๊ตฌ์ ํ ์ฌ์ ๊ฐ ์์ผ๋ฉด our support page๋ก ์ฐ๋ฝํด์ฃผ์ธ์.
Haskell Book์ ๊ตฌ๋งคํ์ง ์์๋ค๋ฉด ์ด ๊ฐ์๋ฅผ ๋จผ์ ๋ค์ผ์ธ์. Haskell ์ ๋ฌธ์ ์ํ ์ต๊ณ ์ ์์ ์ ๋๋ค.
์จ๋ผ์ธ์์ ๋ณด์ค ์ ์์ต๋๋ค.
Brent Yorgey์ ๊ฐ์๋ ์ ๊ฐ ์ฐพ์ ๋ณธ ๊ฒ์ค ๊ฐ์ฅ ์ข์ ๊ฐ์์ ๋๋ค. ์ด ๊ฐ์๋ ๊ธฐ๋ณธ์ ์ธ ํ์ค์ผ ์ฝ๋ฉ๋ฅ๋ ฅ์ ๊ฐ์ถฐ์ค ๋ฟ๋ง์ด ์๋๋ผ parser combinator๋ฅผ ์ดํดํ๋๋ฐ ๋์์ ์ฃผ๊ธฐ ๋๋ฌธ์ ์ค์ํฉ๋๋ค.
๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋๊ฑฐ๋ ํ๋ก๊ทธ๋๋ฐ์ ํด๋ณธ์ ์ด ์๋ค๋ฉด ์ด ๊ฐ์๋ก ์์ํ๋ ๊ฒ์ ์ถ์ฒํ์ง ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด, Thompson์ ์ฑ ์ ๋จผ์ ๋ณด๊ณ cis194๋ก ๋์๊ฐ์ธ์.
์ด ๊ฐ์๋ Yorgey์ cis194 ๊ฐ์๋ฅผ ๋ชจ๋ ๋ณด์ ํ์ ์ถ์ฒ๋๋ฆฌ๋ ๊ฐ์์ ๋๋ค.
GitHub์์ ๋ณผ ์ ์์ต๋๋ค.
์ด ๊ฐ์๋ cis194์์ ์๊ฐํ ์ถ์ํ๊ธฐ๋ฒ์ ์ง์ ์ฌ์ฉํด๋ณด๊ณ ์ค๋ ฅ์ ๊ธธ๋ฌ์ค๋๋ค. ์ด ๊ฐ์๋ ํ์ค์ผ์์ Functor, Applicative, Monad์ฒ๋ผ ๋งค์ผ ์ฌ์ฉ๋๋ ๊ฐ๋ ๋ค์ ์ต์ํด์ง๋๋ก ํ๋ จํด์ฃผ๋ ์ค์ํ ๊ฐ์์ ๋๋ค. cis194๋ฅผ ๋จผ์ ๋ณด๊ณ FP๊ฐ์๋ฅผ ๋ณด๋ ๋ฐฉ๋ฒ์ด ์ ํฌ๋ค์ด ์ถ์ฒํ๋ ํ์ค์ผ ํ์ต๋ฐฉ๋ฒ์ ๋๋ค.
๋ ๋ง์ ์๋ฃ์ ์ค๊ธ ์ฃผ์ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
cs240h๋ ์จ๋ผ์ธ์์ ๋ณผ ์ ์์ต๋๋ค.
์ด ๊ฐ์๋ Stanford์์ ๊ฐ์ํ์๋ Bryan O'Sullivan์ ์จ๋ผ์ธ ๊ฐ์์ ๋๋ค. ๋ง์ฝ ์ด๋ถ์ ๋ชจ๋ฅด์ ๋ค๋ฉด, ๋์ค์ ํ์ํ๊ฒ ๋ ํ์ค์ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ดํด๋ณด๋ฉด ๊ทธ์ ์ด๋ฆ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค. cis194๋ฅผ ๋๋ง์ณค๋ค๋ฉด phantom types๋ information flow control, language extensions, concurrency, pipes, lenses ๋ด์ฉ์ ๋ณด์ ์ ์ด ์์ ๊ฒ๋๋ค.
์ด ์๋ฃ๋ค์ cis194์ FP๊ฐ์๋ฅผ ๋ค์ ์ฌ๋๋ค์ ๋ํด ์ ๊ฒํด๋ณด์ง ์์์ง๋ง, ์ฌ๋ฌ๋ถ์ด ์ด๋์ ์์ํด์ผ ํ ์ง ๋์์ฃผ๊ธฐ ์ํด ์ฃผ์ ๋ฆฌ์คํธ์ ๋งํฌ๋ฅผ ๋ชจ์๋์์ต๋๋ค. ์ด ๋ฆฌ์คํธ์๋ ํด๊ณผ ์๋ํฐ ๊ฐ์ ์ค๊ธ์ด๋ ๊ณ ๊ธ์ ๋์ ๊ฐ๋ ๋ค๊ณผ ์ฃผ์ ๋ ๋ด๊ฒจ์์ต๋๋ค.
์ด ์ ์ฅ์์ ์์ต๋๋ค.
์ด๊ฒ๋ค์ ๊ฝค ์ค์ํ๊ณ ๋์์ด ๋ ๊ฒ๋๋ค. ์ฌ๊ธฐ์ ๋ค์ด๊ฐ์ ๋ค์ํ ์ฃผ์ ๋ค์ ๋ง๋๋ณด์ค ์ ์์ต๋๋ค.