Recommended
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
แแ
กแแ
ตแแ
ฅแซ+แแ
ฅแผแแ
ฒแแ
ญแแ
งแซแแ
ตแจ+แแ
ตแแ
ขแแ
กแแ
ต 20160301
PPTX
แแ
กแแ
ตแแ
ฅแซ แแ
ฎแซแแ
กแแ
งแฏ แแ
ตแแ
ขแแ
กแแ
ต
PPTX
Python array.array ๋ชจ๋ ์ดํดํ๊ธฐ
PPTX
แแ
กแแ
ตแแ
ฅแซแแ
ฅแผแ
แ
ต 20160130
PDF
PPTX
ํ์ด์ฌ ๋ฌธ์์ด ์ดํดํ๊ธฐ
PDF
Reflect package แแ
กแแ
ญแผแแ
กแแ
ต
PDF
Start IoT with JavaScript - 5.๊ฐ์ฒด2
PPTX
Python_numpy_pandas_matplotlib ์ดํดํ๊ธฐ_20160815
PDF
Start IoT with JavaScript - 4.๊ฐ์ฒด1
PPTX
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
PDF
Start IoT with JavaScript - 2.์ฐ์ฐ์
PPTX
python ์ํ์ดํดํ๊ธฐ
PPTX
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
PPTX
PPTX
Processing ๊ธฐ์ด ์ดํดํ๊ธฐ_20160713
PPTX
ํ
์ํ๋ก์ฐ ๊ธฐ์ด ์ดํดํ๊ธฐ
PPTX
ํ์ค์ผ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ
PPTX
ํ์ค์ผ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ 2
More Related Content What's hot
PDF
PDF
PDF
PPTX
แแ
กแแ
ตแแ
ฅแซ+แแ
ฅแผแแ
ฒแแ
ญแแ
งแซแแ
ตแจ+แแ
ตแแ
ขแแ
กแแ
ต 20160301
PPTX
แแ
กแแ
ตแแ
ฅแซ แแ
ฎแซแแ
กแแ
งแฏ แแ
ตแแ
ขแแ
กแแ
ต
PPTX
Python array.array ๋ชจ๋ ์ดํดํ๊ธฐ
PPTX
แแ
กแแ
ตแแ
ฅแซแแ
ฅแผแ
แ
ต 20160130
PDF
PPTX
ํ์ด์ฌ ๋ฌธ์์ด ์ดํดํ๊ธฐ
PDF
Reflect package แแ
กแแ
ญแผแแ
กแแ
ต
PDF
Start IoT with JavaScript - 5.๊ฐ์ฒด2
PPTX
Python_numpy_pandas_matplotlib ์ดํดํ๊ธฐ_20160815
PDF
Start IoT with JavaScript - 4.๊ฐ์ฒด1
PPTX
ํ์ด์ฌ ํฌ๋กค๋ง ๋ชจ๋
PDF
Start IoT with JavaScript - 2.์ฐ์ฐ์
PPTX
python ์ํ์ดํดํ๊ธฐ
PPTX
[์๊ฟ์ฌ] The C++ Programming Language 11์ฅ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
PPTX
PPTX
Processing ๊ธฐ์ด ์ดํดํ๊ธฐ_20160713
PPTX
ํ
์ํ๋ก์ฐ ๊ธฐ์ด ์ดํดํ๊ธฐ
Similar to Haskell study 3
PPTX
ํ์ค์ผ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ
PPTX
ํ์ค์ผ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ 2
PPTX
PDF
PPTX
PDF
์ธํ์ฝ-ํ์
์คํฌ๋ฆฝํธ๋ ์ ๊ทธ๋ด๊น?-์ด์ ํ.pdf
PDF
PDF
2013 C++ Study For Students #1
PDF
PPTX
PDF
PDF
PDF
PPT
PPTX
PPTX
NHNNEXT ๊ฐ๊ฒฝํ14 Subway Rocket Team Study 3rd C++
PPTX
แแ
กแแ
ตแแ
ฅแซ+แแ
ฆแแ
ตแแ
ฅ+แแ
ฎแแ
ฉ+แแ
ตแแ
ขแแ
กแแ
ต 20160311
PDF
๋ธํ์ด ์ฝ๋ฉ ์คํ์ผ๊ณผ ์ํคํ
์ฒ
PPTX
PDF
ํ์ด์ฌ ์๋ฃํ ๋ฐํ
More from Nam Hyeonuk
PPTX
Next ๊ฒ์ ์ค์ ํ๋ก์ ํธ ์ฌ๋ผ์ด๋
PDF
PDF
PDF
PDF
PDF
PDF
Iocp ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ดํด
PDF
PDF
Effective c++ chapter 1,2 ์์ฝ
PDF
๊ตฌ๋ฌธ๊ณผ ์๋ฏธ๋ก (์ ์ ์๋ฏธ๋ก ๊น์ง)
PDF
PDF
PDF
Age Of Empires II : Age Of Kings Postmotem
Haskell study 3 1. 2. Type
Haskell์ ์์์๋ ์ด์ผ๊ธฐํ๋ฏ์ด ์ ์ ํ์
์ธ์ด์
๋๋ค. Haskell์ ๋ชจ๋ ํํ์๋ค์ ์ปดํ์ผ ํ์์
ํ์
์ด ๋ญ์ง ์ ์ ์์ด์ผ๋งํ๊ณ , ์ด๋ฐ ํน์ฑ์ ์ปดํ์ผ ํ์์ ๊ต์ฅํ ๋ง์ ๋ฒ๊ทธ๋ฅผ ์ก์ ์ ์๊ฒ ํด
์ค๋๋ค. GHCi์์ :t ์ปค๋งจ๋๋ฅผ ํตํด ํํ์์ ํ์
์ ํ์ธํ ์ ์์ต๋๋ค.
Prelude> :t 'a'
'a' :: Char
Prelude> :t True
True :: Bool
Prelude> :t "Hello!"
[Char]
Prelude> :t (True, 'a')
(True, 'a') :: (Bool, Char)
3. Type
ํ์
์ ํํ์ ๋ค์ ::(has type of ๋ผ๊ณ ์ฝ์ต๋๋ค) ๊ธฐํธ์ ํจ๊ป ํ๊ธฐ๋ฉ๋๋ค. ์์์ ๋ดค๋ฏ์ด 'a'๋
Char ํ์
์ ๊ฐ๊ณ , True๋ Bool ํ์
, "Hello!"๋ [Char] ํ์
(String๊ณผ ๋์์ด - ๋ฌธ์์ด์ ๋ฌธ์์
list์ฃ ), ํํ์ ๊ทธ ํํ์ ์ด๋ฃจ๋ ์์๋ค์ ํ์
์ ๋ฐ๋ผ ํ์
์ด ๊ฒฐ์ ๋ฉ๋๋ค. ('a','b','c')๊ฐ์ ๊ฑด
(Char, Char, Char) ํ์
์ ๊ฐ๊ฒ ์ฃ . ๋น์ฐํ ์ด์ผ๊ธฐ์ง๋ง ํจ์์๋ ํ์
์ด ์์ต๋๋ค.
first.hs
-- ์ฐ์ต๋ฌธ์ ๋ฐ ์์ ์์ ๋ค๋ค๋ ํจ์๋ค์
๋๋ค. Haskell์์ ์ฃผ์์ --๋ก ํ๊ธฐํฉ๋๋ค.
-- ํจ์์ ํ์
์ ์ธ์์ ์ธ์์ ๋ฆฌํด๊ฐ์ ํ์
์ ๊ตฌ๋ถํ์ฌ ํ๊ธฐํ์ง ์์ต๋๋ค.
-- ๋ชจ๋ -> ๊ธฐํธ๋ฅผ ํตํด ์ฐ์์ ์ผ๋ก ํ๊ธฐํฉ๋๋ค.
even' :: Int -> Bool -- even์ Int ํ๋๋ฅผ ๋ฐ์ Bool ํ๋๋ฅผ ๋ฆฌํดํฉ๋๋ค.
even' n = n `mod` 2 == 0
double2 :: Int -> Int -> Int -- double2๋ Int 2๊ฐ๋ฅผ ์ธ์๋ก ๋ฐ์ Int๋ฅผ ๋ฆฌํดํฉ๋๋ค.
double2 x y = double x + double y
4. Type
Haskell์ ์๋ ๋ช ๊ฐ์ง ํ์
๋ค์ ์ดํด๋ด
์๋ค.
โข Int
์ ์๋ฅผ ๋ํ๋ด๋ ๋ํ์ ์ธ ํ์
์
๋๋ค. -2147483648 ~ 2147483647 ๊น์ง ๋ฒ์์ ์ ์๋ค์
ํํํ ์ ์์ต๋๋ค.
โข Integer
์ญ์ ์ ์๋ฅผ ๋ํ๋ด๋ ํ์
์
๋๋ค. ๋จ, ์ด ํ์
์ ์ซ์ ๋ฒ์์ ํ๊ณ๊ฐ ์์ต๋๋ค. ๋น์ฐํ ์ด์ผ๊ธฐ์ง๋ง Int
๋ณด๋ค ์กฐ๊ธ ๋๋ฆฌ๊ธด ํฉ๋๋ค.
โข Float
๋ณดํต ์ ๋ฐ๋(single precision)์ ๋ถ๋ ์์์ ์์
๋๋ค.
5. Type
โข Double
Single ๋ณด๋ค ๋ ์ ๋ฐํ(double precision) ๋ถ๋ ์์์ ์์
๋๋ค.
โข Bool
๋
ผ๋ฆฌ ํ์
์
๋๋ค. True ๋๋ False๋ผ๋ ๋ ๊ฐ์ ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
โข Char
๋ฌธ์๋ฅผ ๋ํ๋
๋๋ค. ํ๋ฐ์ดํ(')๋ก ๊ฐ์ผ ํ๋์ ๋ฌธ์์ ํํ๋ก ํ๊ธฐํฉ๋๋ค.
โข Tuple
ํํ์ ๊ตฌ์ฑ ์์์ ๋ฐ๋ผ ๊ต์ฅํ ๋ง์ ์ข
๋ฅ์ ํ์
์ด ์กด์ฌํฉ๋๋ค. ํ ๊ฐ์ง ํน์ง์ ์ธ ๊ฒ์ ๋น ํํ ()
๋ํ ํ์
์ด๋ฉฐ ์ด ํ์
์ ๊ฐ์ () ํ๋ ๋ฐ์ ์กด์ฌํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค.
6. Type variable
๋ค๋ฅธ ์ธ์ด์ ์ ๋ค๋ฆญ์ด๋ ํ
ํ๋ฆฟ๊ณผ ๋น์ทํ ๊ฐ๋
์ผ๋ก Haskell์๋ ํ์
๋ณ์๋ผ๋ ๊ฒ์ด ์์ต๋๋ค.
๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ์ ธ์ค๋ head ํจ์์ ํ์
์ ๋ญ๊น์?
Prelude> :t head
head :: [a] -> a
head์ ํ์
์ [a] -> a์
๋๋ค. head ํจ์๋ ์์ ํ์
(a)์ ๋ฆฌ์คํธ([a])๋ฅผ ์ธ์๋ก ๋ฐ์ ํด๋น ์์
ํ์
(a)์ ๊ฐ ํ๋๋ฅผ ๋ฐํํ๋ ํจ์๋ผ๋ ์๋ฏธ์ฃ . ์ด ๋ head ํ์
์ ์ธ์ ๋ํ๋ โaโ์ ๊ฐ์ด ์์
ํ์
์ ๋์๋ ์ ์๋ ๊ฒ์ โํ์
๋ณ์โ๋ผ๊ณ ํฉ๋๋ค. Haskell์ ๋ชจ๋ ํ์
์ ๋๋ฌธ์๋ก ์์ํ๋ ๋ฐ๋ฉด
ํ์
๋ณ์๋ ํ์
์ด ์๋๋ผ ํ์
โ๋ณ์โ๊ธฐ ๋๋ฌธ์ ์๋ฌธ์๋ก ์์ํ์ฃ . ๊ผญ ํ ๊ธ์์ผ ํ์๋ ์์ง๋ง ๋ณดํต
ํ ๊ธ์๋ก ๋ง์ด ์๋๋ค.
7. Type variable
Prelude> :t fst
fst :: (a,b) -> a
fst ํจ์๋ ๋ ๊ฐ์ ์์ ํ์
์ ์์๋ก ๊ฐ์ง ํํ์ ์ธ์๋ก ๋ฐ์ ๊ทธ ํํ์ ์ฒซ ๋ฒ์งธ ์์์ ๊ฐ์ ํ์
์
๊ฐ์ง ๊ฐ์ ๋ฐํํ๋ ํจ์์
๋๋ค. ์ด ๋๋ฌธ์ fst๋ฅผ 2๊ฐ๋ณด๋ค ๋ง์ ์์๋ฅผ ๊ฐ์ง ํํ์ ์ธ ์ ์์ฃ .
ํ์
๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ํจ์๋ค์ ํ์
๋ ์์ ์ผ์ ํ ๋ฒ ํ์ธํด๋ด
์๋ค.
Prelude> :t zip
zip :: [a] -> [b] -> [(a,b)]
Prelude> :t length
length :: [a] -> Int
8. Type Class
Haskell์๋ ํ์
ํด๋์ค๋ผ๋ ๊ฐ๋
์ด ์์ต๋๋ค. ์ด๋ฆ์ โํด๋์คโ๋ผ๋ ๋ง์ด ๋ค์ด๊ฐ ์์ด์ ์กฐ๊ธ ํท๊ฐ๋ฆด
์ ์์ง๋ง, Haskell์ ํ์
ํด๋์ค๋ ํ ์ธ์ด์ ํด๋์ค์๋ ์๋ฌด๋ฐ ๊ด๋ จ์ด ์์ต๋๋ค. ์คํ๋ ค ๋ฐ์ง์๋ฉด
์ธํฐํ์ด์ค์ ๊ฐ๋
์ ๋ ๊ฐ๊น์ต๋๋ค. ์์๋ฅผ ์ํด == ํจ์์ ํ์
์ ํ์ธํด ๋ด
์๋ค.
Prelude> :t (==)
(==) :: Eq a => a -> a -> Bool
๊ธฐํธ => ์์ ๊ฒ์ ํด๋์ค ์ ์ฝ(class constraint)์ด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. ์ด๋ ํ์
๋ณ์ a๊ฐ ํ์
ํด๋์ค Eq์ ์ํ๋ ๊ฒฝ์ฐ์๋ง == ํจ์๋ฅผ ์ธ ์ ์๋ค๋ ๋ป์ด์ฃ . ์๋ก ๊ฐ์์ง ๋ค๋ฅธ์ง ๋น๊ตํ ์ ์๋
ํ์
์ด๋ผ๋ฉด ํ์
ํด๋์ค Eq์ ์ํด์ผํฉ๋๋ค.
9. Type Class
Prelude> :t elem
elem :: Eq a => a -> [a] -> Bool
elemํจ์๋ ๋ด๋ถ์ ์ผ๋ก ๋ฆฌ์คํธ์ ์ํ๋ ์์์ธ์ง ์๋์ง๋ฅผ ํ๋ณํ๊ธฐ ์ํด == ํจ์๋ฅผ ์ด์ฉํฉ๋๋ค.
๊ทธ๋์ elem ํจ์๋ Eq ํ์
ํด๋์ค์ ์ํ ํ์
์๊ฒ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
Haskell์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ํ์
ํด๋์ค๋ค์ด ์์ต๋๋ค. ๊ฐ ํ์
ํด๋์ค๋ค์ ํน์ง์
ํ๋์ฉ ์ดํด๋ด
์๋ค.
10. Type Class
Eq
์๋ก ๊ฐ์์ง ๋ค๋ฅธ์ง ํ๋ณํ ์ ์๋ ํ์
๋ค์ ์ํด ์กด์ฌํฉ๋๋ค. ์ด ํ์
ํด๋์ค์ ๋ฉค๋ฒ๋ผ๋ฉด == ํจ์์
/= ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Ord
Ord๋ ์์๋ฅผ ๊ฐ์ง ํ์
๋ค์ ์ํ ํ์
ํด๋์ค์
๋๋ค. ์ด ํ์
ํด๋์ค๋ >, <, >=, <= ๋ฑ์ ํจ์๋ฅผ
์ ๊ณตํฉ๋๋ค. ๋ compare ํจ์(์์ด ๋ค๋ณด๋ค ํฌ๋ฉด GT, ๊ฐ์ผ๋ฉด EQ, ์์ผ๋ฉด LT ๋ฐํ)๋ฅผ ์ ๊ณตํฉ๋๋ค.
Ord ํ์
ํด๋์ค์ ๋ฉค๋ฒ๊ฐ ๋๋ ค๋ฉด ๋ฐ๋์ Eq ํ์
ํด๋์ค์ ์ํด์ผ๋ง ํฉ๋๋ค.
Prelude> 5 `compare` 3
GT
Prelude> "abcd" < "efgh"
True
11. Type Class
Show
์ด ํ์
ํด๋์ค์ ๋ฉค๋ฒ๋ ๋ฌธ์์ด๋ก ๋ณํํ ์ ์์ต๋๋ค. show ํจ์๋ Show ํ์
ํด๋์ค์ ์ํ๋
ํ์
๊ฐ ํ๋๋ฅผ ๋ฐ์์ ๊ทธ๊ฑธ ๋ฌธ์์ด๋ก ๋ณํํด์ค๋๋ค.
Prelude> show 3
"3"
Prelude> show 5.334
"5.334"
Prelude> show True
"True"
12. Type Class
Read
Read๋ Show์ ๋ฐ๋๋๋ ํ์
ํด๋์ค๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ด ํ์
ํด๋์ค์ ์ํ ๊ฐ๋ค์
๋ฌธ์์ด๋ก๋ถํฐ ํด๋น ํ์
์ ๊ฐ์ ๋ง๋ค์ด๋ผ ์ ์์ต๋๋ค. ์ด ๋ read ํจ์๋ฅผ ์๋๋ค.
Prelude> read "True" || False
True
Prelude> read "[1,2,3,4]" ++ [3]
[1,2,3,4,3]
Prelude> read "4" + 5
9
13. Type Class
Read
ํ์ง๋ง read ํจ์๋ ๊ทธ๋ฅ ๊ทธ ํจ์๋ง ๊ฐ์ง๊ณ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. read "4"์ ๊ฐ์ ์์์, Haskell
์ ์ด๊ฑธ ์ด๋ค ํ์
์ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ผํ ์ง ์์๋ผ ์ ์๊ธฐ ๋๋ฌธ์ด์ฃ . ๋ฐ๋ฉด์ read "4" + 5์ ๊ฐ์ด
ํ์
์ ์ถ๋ก ํ ์ ์๋ ์์ ์ผ๋ถ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ read "4"๋ฅผ 4๋ก ๋ฐ๊ฟ์ผ 4 + 5 ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ค๋
์ ์ผ๋ก๋ถํฐ Haskell์ด ํ์
์ ์ถ๋ก ํด ๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ด ๋๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ง์ฝ read
ํจ์๋ฅผ ๋จ๋
์ผ๋ก ์ฐ๊ณ ์ถ๋ค๋ฉด ๊ทธ ๋๋ ๋ณํํ๊ณ ์ ํ๋ ๊ฐ์ ํ์
์ ::(type annotation)์ ์ด์ฉํด
๋ช
์ํด์ฃผ์ด์ผ ํฉ๋๋ค.
Prelude> read "4" :: Int
4
Prelude> read "[1,2,3,4]" :: [Int]
[1,2,3,4]
14. Type Class
Enum
Enum์ ์ด๊ฑฐ๋ ์ ์๋ ํ์
๋ค์ ์ํ ํ์
ํด๋์ค ์
๋๋ค. Enum ํ์
ํด๋์ค์ ์ํ ํ์
๋ค์
๊ฒฝ์ฐ ๊ฐ๊ฐ ์์ ์ ์ด์ ๊ฐ๊ณผ ๋ค์ ๊ฐ์ ๊ฐ์ ธ์ค๋ pred, succ ํจ์๋ฅผ ์ธ ์ ์์ผ๋ฉฐ ๋ฆฌ์คํธ ๋ฒ์(list
range)๋ฅผ ์ด์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
Prelude> ['a'..'e']
"abcde"
Prelude> [LT..GT]
[LT, EQ, GT]
Prelude> succ 'B'
'C'
15. Type Class
Bounded
์ด ํ์
ํด๋์ค์ ๋ฉค๋ฒ๋ค์ ์ํ์ ๊ณผ ํํ์ ์ ๊ฐ๊ณ ์์ต๋๋ค.
Prelude> minBound :: Int
-2147483648
Prelude> maxBound :: Bool
True
Prelude> minBound :: Char
'NUL'
16. Type Class
Num
์ด ํ์
ํด๋์ค์ ๋ฉค๋ฒ๋ค์ ์ซ์์ฒ๋ผ ๋์ํ ์ ์์ต๋๋ค.
Prelude> :t 20
20 :: Num a => a
์ซ์ ๋ฆฌํฐ๋ด์ ๊ทธ ์์ฒด๋ก ๋คํ์ ์ธ ํ์
์ฒ๋ผ ๋์ํฉ๋๋ค. ์ซ์ ๋ฆฌํฐ๋ด์ Num ํ์
ํด๋์ค์ ์ํ๋
๋ชจ๋ ํ์
์ ๋ํด ๊ทธ ํ์
์ฒ๋ผ ๋์ํ ์ ์์ต๋๋ค.
Prelude> 20 :: Int
20
Prelude> 20 :: Float
20.0
17. Type Class
Integral
์ด ํ์
ํด๋์ค ์ญ์ ์ซ์์ ๊ด๋ จ๋ ํ์
ํด๋์ค์
๋๋ค. ๋จ Num์ด ๋ชจ๋ ์ซ์๋ฅผ ํฌํจํ๋ ๋ฐ๋ฉด
Integral ํ์
ํด๋์ค์๋ ์ ์์ ๊ด๋ จ๋ ํ์
๋ค๋ง ์ํฉ๋๋ค. ์ด ํ์
ํด๋์ค์ ์ํ ํ์
์ผ๋ก๋ Int,
Integer๊ฐ ์์ต๋๋ค.
Floating
Floating ํ์
ํด๋์ค ์ญ์ ์ซ์์ ๊ด๋ จ๋ ํ์
ํด๋์ค๊ณ , ์ด๋ฆ์์๋ ์ ์ ์๋ฏ์ด ๋ถ๋ ์์์ ๊ด๋ จ
ํ์
๋ค๋ง ์ํฉ๋๋ค. ์ด ํ์
ํด๋์ค์ ์ํ ํ์
์ผ๋ก๋ Float, Double์ด ์์ต๋๋ค.
18. Type Class
fromIntegral
์ซ์ ์ฐ์ฐ๊ณผ ๊ด๋ จํ์ฌ ์ ์ฉํ ํจ์๋ก fromIntegral์ด๋ผ๋ ํจ์๊ฐ ์์ต๋๋ค. ์ด ํจ์์ ํ์
์๋ช
์
(Num b, Integral a) => a -> b๋ก, Integral์ ํด๋นํ๋ ํ์
์ Num์ ํด๋นํ๋ ํ์
์ผ๋ก
๋ฐ๊ฟ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ซ์์ธ๋ฐ ์๋ก ๋ค๋ฅธ ํ์
์ธ ๊ฒฝ์ฐ ๊ฐ์ด ๊ณ์ฐํ ๋ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด list
์ ๋ฆฌํด ํ์
์ Int์ธ๋ฐ, ์ด ๊ฐ์ 3.2๋ผ๋ ๋ถ๋ ์์์ ์ ๋ํ๊ณ ์ถ๋ค๋ฉด fromIntegral ํจ์๋ฅผ ์จ์ผ
ํฉ๋๋ค.
Prelude> fromIntegral (length [1,2,3,4]) + 3.2
7.2