ื ืคืชืจื”: ื—ื‘ื™ืœืช cabal ืžื‘ื™ืช GitHub

ื‘ึผึฐื”ึถื—ืœึตื˜! ื”ื ื” ื”ืžืืžืจ ื”ืจืฆื•ื™.

-

ื—ื‘ื™ืœืช Cabal ืฉืœ Haskell ื”ื™ื ื›ืœื™ ื—ื™ื•ื ื™ ื‘ืคื™ืชื•ื— Haskell. ื–ื” ื™ื›ื•ืœ ืœืฉืžืฉ ื‘ื”ืงืžืช ืคืจื•ื™ืงื˜ื™ื ื—ื“ืฉื™ื ืฉืœ Haskell, ื ื™ื”ื•ืœ ืชืœื•ืช ื•ื‘ื ื™ื™ืช ื—ื‘ื™ืœื•ืช. ื–ื” ื’ื ื™ื›ื•ืœ ืœื”ื‘ื™ื ื—ื‘ื™ืœื•ืช ืž-Github, ืžื” ืฉื”ื•ืคืš ืืช ืชื”ืœื™ืš ื”ืคื™ืชื•ื— ืฉืœืš ืœื—ืœืง ื™ื•ืชืจ. Cabal ื”ื™ื ืžืขืจื›ืช ืœื‘ื ื™ื™ื” ื•ืืจื™ื–ื” ืฉืœ ืกืคืจื™ื•ืช ื•ืชื›ื ื™ื•ืช Haskell. ื”ื•ื ืžื’ื“ื™ืจ ืžืžืฉืง ืžืฉื•ืชืฃ ืœืžื—ื‘ืจื™ ื™ื™ืฉื•ืžื™ื ื•ืกืคืจื™ื•ืช ื›ื“ื™ ืœื‘ื˜ื ืืช ื”ืชืœื•ืช ืฉืœ ื”ืงื•ื“ ืฉืœื”ื ื‘ื—ื‘ื™ืœื•ืช ืื—ืจื•ืช. ื”ื”ื™ื‘ื˜ ื”ืžื“ื”ื™ื ืฉืœ Cabal ื”ื•ื ืื™ืš ื”ื•ื ืžืฉืชืœื‘ ืขื Hackage, ืื•ืกืฃ ืฆื™ื‘ื•ืจื™ ืฉืœ ืชื•ื›ื ื•ืช ืงื•ื“ ืคืชื•ื— ืฉื ื›ืชื‘ื• ื‘ื”ืืกืงืœ.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ืžืคื”

ื‘ืชื—ื•ื ื”ืชื›ื ื•ืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™, ืžืคื” ื”ื™ื ืคื•ื ืงืฆื™ื” ื‘ืกื™ืกื™ืช ืžืกื“ืจ ื’ื‘ื•ื” ื”ืžื—ื™ืœ ืคื•ื ืงืฆื™ื” ื ืชื•ื ื” ืขืœ ื›ืœ ืจื›ื™ื‘ ื‘ืจืฉื™ืžื”, ื•ื™ื•ืฆืจืช ืจืฉื™ืžื” ืฉืœ ืชื•ืฆืื•ืช ื‘ืื•ืชื• ืกื“ืจ. ื”ืคืฉื˜ื•ืช ื”ืขื•ืฆืžืชื™ืช ืฉืœ ื”ืžืคื” ืžื”ื•ื•ื” ืืช ืœื‘ ื”ื’ื™ืฉื” ืฉืœ ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ ืœืคืชืจื•ืŸ ื‘ืขื™ื•ืช, ื‘ืžื™ื•ื—ื“ ื‘ืฉืคื” ื›ืžื• ื”ืืกืœ.

ืื ื• ื™ื›ื•ืœื™ื ืœื”ื’ื“ื™ืจ ืืช ืคื•ื ืงืฆื™ื™ืช ื”ืžืคื” ื‘- Haskell ืจืง ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืจืงื•ืจืกื™ื”. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ืžืคื” ืžื—ื™ืœื” ืืช ื”ืคื•ื ืงืฆื™ื” ืขืœ ืจืืฉ ื”ืจืฉื™ืžื”, ื•ืœืื—ืจ ืžื›ืŸ ืžื—ื™ืœื” ืžืคื” ืจืงื•ืจืกื™ื‘ื™ืช ืขืœ ืฉืืจ ื”ืจืฉื™ืžื” (ื”ื–ื ื‘). ื›ืืฉืจ ื”ืจืฉื™ืžื” ืจื™ืงื”, ื”ืžืคื” ืคืฉื•ื˜ ืžื—ื–ื™ืจื” ืจืฉื™ืžื” ืจื™ืงื”. ื–ื” ืžื•ื‘ื™ืœ ืœืคืจื“ื™ื’ืžืช "ื‘ืขื™ื”->ืคืชืจื•ืŸ" ืื ื•ืฉื™ืช ื™ื•ืชืจ ืฉืœ ื’ื™ืฉื” ืœืžืฉื™ืžื•ืช ืชื›ื ื•ืช, ื•ืœื ืœืฉื™ื˜ื” ืžื‘ื•ืกืกืช ืื™ื˜ืจืฆื™ื” ื”ื ืคื•ืฆื” ื‘ืฉืคื•ืช ืฆื™ื•ื•ื™.

map _ [] = []
map f (x:xs) = f x : map f xs

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ืื™ืš ืœื”ืคืขื™ืœ haskell ื‘ืงื•ื“ ืกื˜ื•ื“ื™ื• ื—ื–ื•ืชื™

ืื•ืคื ืช ื”ืชื›ื ื•ืช ื”ืชืคืชื—ื” ื‘ืื•ืคืŸ ื“ืจืกื˜ื™ ื‘ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, ื›ืืฉืจ ื™ื•ืชืจ ื•ื™ื•ืชืจ ืื ืฉื™ื ื ื•ื˜ื™ื ืœืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ ื‘ืฉืœ ื”ืคืฉื˜ื•ืช, ื”ื™ืขื™ืœื•ืช ื•ื”ืืœื’ื ื˜ื™ื•ืช ืฉืœื”. ืฉืคื” ืื—ืช ื›ื–ื• ื”ืžื•ื‘ื™ืœื” ื”ื™ื ื”ืืกืœ. Haskell ื”ื•ื ืคื•ื ืงืฆื™ื•ื ืœื™ ื‘ืœื‘ื“ ืขื ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื—ื–ืงื” ื•ื”ืขืจื›ื” ืขืฆืœื ื™ืช, ื”ืžืืคืฉืจืช ืœืš ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืงื•ื“ ืฉืœืš ื•ืœืžื ื•ืข ืžืžืš ืœื›ืชื•ื‘ ืงื•ื“ ืžื™ื•ืชืจ. Haskell ื’ื ืžืืคืฉืจ ืœืš ืœื›ืชื•ื‘ ืงื•ื“ ืคืฉื•ื˜, ื‘ืจื•ืจ ื•ื ื™ืชืŸ ืœืชื—ื–ื•ืงื”. ืื—ื“ ื”ืžืจื›ื™ื‘ื™ื ื”ืžืจื›ื–ื™ื™ื ืœืงื™ื“ื•ื“ ื™ืขื™ืœ ื”ื•ื ื”ื’ื“ืจืช ืกื‘ื™ื‘ื” ื˜ื•ื‘ื”, ื•ืขื‘ื•ืจ Haskell, ืžื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื˜ื•ื‘ ื™ื•ืชืจ ืžืืฉืจ ืงื•ื“ Visual Studio.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: $ ื‘-haskell

ื‘ื˜ื—, ืื ื™ ืืกื‘ื™ืจ ืืช ื”ืฉื™ืžื•ืฉ ื‘ืกื™ืžืŸ ื”ื“ื•ืœืจ ($) ื‘- Haskell ืขืœ-ื™ื“ื™ ื”ื›ืœืœืช ืžื‘ื•ื, ืคืชืจื•ืŸ ื‘ืขื™ื”, ื”ืกื‘ืจ ืงื•ื“ ืฉืœื‘ ืื—ืจ ืฉืœื‘, ืฉื ื™ ื—ืœืงื™ื ืขื ื›ื•ืชืจื•ืช ื”ืงืฉื•ืจื•ืช ืœืกืคืจื™ื•ืช Haskell ืื• ืคื•ื ืงืฆื™ื•ืช ืจืœื•ื•ื ื˜ื™ื•ืช, ื•ืื ื™ ืืขืฉื” ื”ืงืคื“ ืœื“ื‘ื•ืง ื‘ื‘ืงืฉื•ืช ื”ืื—ืจื•ืช ืฉืœืš ืœื’ื‘ื™ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ SEO.

Haskell ื”ื™ื ืฉืคืช ืชื›ื ื•ืช ืกื˜ื ื“ืจื˜ื™ืช, ืคื•ื ืงืฆื™ื•ื ืœื™ืช ื‘ืœื‘ื“, ืขื ืกืžื ื˜ื™ืงื” ืœื ืงืคื“ื ื™ืช, ื”ืงืจื•ื™ื” ืขืœ ืฉื Haskell Curry. ื‘- Haskell, ื”ืื•ืคืจื˜ื•ืจ ($) ืžืฉืžืฉ ื‘ื™ื™ืฉื•ื ืคื•ื ืงืฆื™ื•ืช. ื”ืื•ืคืจื˜ื•ืจ ืขืฆืžื• ื”ื•ื ืจืง ืคื•ื ืงืฆื™ื” ืฉืœื•ืงื—ืช ืคื•ื ืงืฆื™ื” ื•ืขื•ื“ ืืจื’ื•ืžื ื˜ ื•ืžื—ื™ืœ ืืช ื”ืคื•ื ืงืฆื™ื” ืขืœ ื”ืืจื’ื•ืžื ื˜. ื”ื“ื‘ืจ ื”ืžืขื ื™ื™ืŸ ื‘ืื•ืคืจื˜ื•ืจ ื”ื–ื” ื”ื•ื ืงื“ื™ืžื•ืชื• ื”ื ืžื•ื›ื”, ื”ืืกื•ืฆื™ืื˜ื™ื‘ื™ืช ื”ื™ืžื ื™ืช. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื–ื” ื›ื“ื™ ืœื”ืคื—ื™ืช ืืช ืžืกืคืจ ื”ืกื•ื’ืจื™ื™ื ื”ื“ืจื•ืฉื™ื ื‘ื‘ื™ื˜ื•ื™.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ื›ื™ืฆื“ ืœื”ืชืงื™ืŸ stack haskell ื‘-manjarp

ื”ืชืงื ืช Stack Haskell ื‘ืžื ื’'ืจื• ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžืกืข ืžืขื ื™ื™ืŸ ืœืžื“ื™. ื‘ื™ืŸ ืื ืืชื” ืžืคืชื— Haskell ื•ืชื™ืง, ืื• ืจืง ื‘ืชื—ื™ืœืช ื”ื“ืจืš, ืกื‘ื™ื‘ืช ื”ืคื™ืชื•ื— ื”ื ื›ื•ื ื” ื”ื™ื ื—ื™ื•ื ื™ืช ืœื–ืจื™ืžืช ื”ืขื‘ื•ื“ื” ืฉืœืš. ื‘ืžืืžืจ ื–ื” ืื“ืจื™ืš ืื•ืชืš ื‘ืชื”ืœื™ืš ื”ืงืžืช Stack Haskell ื‘ืžื ื’'ืจื• - ืžืขืจื›ืช ื”ืคืขืœื” ืคื ื˜ืกื˜ื™ืช ื•ื™ื“ื™ื“ื•ืชื™ืช ืœืžืฉืชืžืฉ, ืžื•ืฉืœืžืช ืœืžืชื›ื ืชื™ื.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ืคื•ื ืงืฆื™ื” ืื ื•ื ื™ืžื™ืช

ืคื•ื ืงืฆื™ื•ืช ืื ื•ื ื™ืžื™ื•ืช, ื”ืžื›ื•ื ื” ื‘ื“ืจืš ื›ืœืœ ืคื•ื ืงืฆื™ื•ืช ืœืžื‘ื“ื”, ื”ืŸ ื—ืœืง ื‘ืœืชื™ ื ืคืจื“ ืžืฉืคื•ืช ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื›ื’ื•ืŸ ื”ืืกืœ. ืฉืœื ื›ืžื• ืคื•ื ืงืฆื™ื•ืช ืžืกื•ืจืชื™ื•ืช, ืœืคื•ื ืงืฆื™ื•ืช ืื ื•ื ื™ืžื™ื•ืช ืื™ืŸ ืฉื. ื”ื ืžื•ื’ื“ืจื™ื ืชื•ืš ื›ื“ื™ ืชื ื•ืขื” ื•ืžืฉืžืฉื™ื ื‘ื“ืจืš ื›ืœืœ ื›ืืฉืจ ื™ืฉ ืฆื•ืจืš ื‘ืคื•ื ืงืฆื™ื” ืคืขื ืื—ืช ื‘ืœื‘ื“. ื‘ื•ืื• ื ืฆืœื•ืœ ืœื‘ืขื™ื” ืฉื ื™ืชืŸ ืœืคืชื•ืจ ื‘ื™ืขื™ืœื•ืช ื‘ืืžืฆืขื•ืช ืคื•ื ืงืฆื™ื•ืช ืื ื•ื ื™ืžื™ื•ืช.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ื™ืฆื™ืื” ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช

ื›ืžืคืชื— Haskell ืขื ื ื™ืกื™ื•ืŸ ืจื‘ ื‘ืชื—ื•ื ืงื™ื“ื•ื ืืชืจื™ื ื•ืื•ืคื ื”, ืื ื™ ืžื‘ื™ืŸ ืืช ื”ื”ื›ืจื— ื‘ืืกืคืงืช ืงื•ื“ ืคื•ื ืงืฆื™ื•ื ืœื™ ืขื ื›ืฉืจื•ืŸ ืžืกื•ื’ื ืŸ. ืžื’ืžื•ืช ืžืคืชื— ื‘ืขื•ืœื ื”ืชื›ื ื•ืช ืžื”ื“ื”ื“ื•ืช ืืช ืืœื” ืฉื ืจืื• ืขืœ ื”ืžืกืœื•ืœ - ืžื”ื“ื”ื“ื™ื ืคืฉื˜ื•ืช, ืชื—ื›ื•ื ื•ื—ื“ืฉื ื•ืช.

ื‘ื™ืงื•ื Haskell ืฉืœื ื•, ื”ื™ืฆื™ืื” ื”ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช ืžืงื‘ื™ืœื” ืœืžืจื›ื™ื‘ ื”ืขื™ืงืจื™ ืฉืœ ืขื•ืœื ื”ืื•ืคื ื”, 'ื”ืฉืžืœื” ื”ืฉื—ื•ืจื” ื”ืงื˜ื ื”' ืฉื”ื•ืฆื’ื” ืขืœ ื™ื“ื™ ืงื•ืงื• ืฉืื ืœ ื‘ืฉื ื•ืช ื”-1920. ื–ื”ื• ื›ืœื™ ื‘ืืจืกื ืœ ืฉืœื ื•, ืฉื‘ืฉื™ืžื•ืฉ ื ื›ื•ืŸ ืžืกืคืง ืคืชืจื•ื ื•ืช ืœืžืกืคืจ ืขืฆื•ื ืฉืœ ื‘ืขื™ื•ืช ื‘ื™ืฆื•ืข ืงื•ื“.

ื›ืขืช, ื‘ื•ืื• ื ืฆืœื•ืœ ืœืคืชืจื•ืŸ ื”ื‘ืขื™ื” ืฉืœื ื•: ื”ื™ืฆื™ืื” ื”ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช.

ืžื•ื“ื•ืœ ืจืืฉื™ (ืจืืฉื™) ืื™ืคื”
ื™ื™ื‘ื•ื โ€‹โ€‹ืžืขืจื›ืช.ื™ืฆื™ืื”

ืจืืฉื™ :: IO ()
ืจืืฉื™ = ืœืขืฉื•ืช
putStrLn "ืฉืœื•ื! ื”ืงืœื™ื“ื• ืžืฉื”ื• ื•ืื– ืื ื™ ืืคืกื™ืง."
userInput <- getLine putStrLn ("ืืžืจืช: " ++ userInput) exitSuccess [/code]

ืžื ืชื— ืืช ืžืจืื” ื”ืืกืงืœ ืฉืœื ื•

ืคืชืจื•ืŸ Haskell ืฉืœื ื•, ื‘ื“ื•ืžื” ืœืฉืžืœื” ื”ืฉื—ื•ืจื” ื”ืงื˜ื ื” ืฉืœ ืฉืื ืœ, ื”ื•ื ืืœื’ื ื˜ื™ ื‘ืคืฉื˜ื•ืชื•. ื”ื•ื ืžืฉืชืžืฉ ืจืง ื‘ื›ืžื” ื—ืœืงื™ ืžืคืชื— ื”ืžืฉื•ืœื‘ื™ื ื‘ืฆื•ืจื” ืžืชื•ื—ื›ืžืช.

ื”ืคื•ื ืงืฆื™ื” ื”ืขื™ืงืจื™ืช ืžืชื—ื™ืœื” ื‘ื”ื™ื›ืจื•ืช ืขื ื”ืžืฉืชืžืฉ (ื‘ื“ื•ืžื” ืœืจื•ืฉื ื”ืจืืฉื•ื ื™ ื”ื™ื™ื—ื•ื“ื™ ืฉืขื•ืฉื” ื“ื•ื’ืžื ื™ืช ืžืกืœื•ืœ). ืœืื—ืจ ืžื›ืŸ, ื”ืคื•ื ืงืฆื™ื” ืžื‘ืงืฉืช ืงืœื˜ ื•ืžื˜ืคืœืช ื‘ื” ื‘ืืœื’ื ื˜ื™ื•ืช, ื‘ื“ื•ืžื” ืœื“ื•ื’ืžื ื™ืช ืžืงืฆื•ืขื™ืช ื”ืžื˜ืคืœืช ื‘ืžื•ืžื—ื™ื•ืช ื‘ืชืงืœื” ื‘ืืจื•ืŸ ื”ื‘ื’ื“ื™ื.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: ืžืฆื ืืช ืžื™ืงื•ื ื”ืžื—ืจื•ื–ืช ื‘ืžื—ืจื•ื–ืช

ื‘ืกื“ืจ, ื‘ื•ืื• ื ืชื—ื™ืœ ื›ื™ืฆื“ ืœืžืฆื•ื ืžื—ืจื•ื–ืช ืžืฉื ื” ื‘ืชื•ืš ืžื—ืจื•ื–ืช ื‘- Haskell.

ื”ืืกืœ ื”ื™ื ืฉืคืช ืชื›ื ื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ืช ื‘ืœื‘ื“ ื”ื™ื“ื•ืขื” ื‘ืจืžืช ื”ื”ืคืฉื˜ื” ื”ื’ื‘ื•ื”ื” ื•ื”ืชื—ื‘ื™ืจ ื”ืืงืกืคืจืกื™ื‘ื™ ืฉืœื”. ืžืฉื™ืžื” ื ืคื•ืฆื” ืื—ืช ื›ืฉืขื•ืกืงื™ื ื‘ืžื—ืจื•ื–ื•ืช ื”ื™ื ืœืžืฆื•ื ืžื—ืจื•ื–ืช ืžืฉื ื” ื‘ืชื•ืš ืžื—ืจื•ื–ืช ื’ื“ื•ืœื” ื™ื•ืชืจ - ื›ืœื•ืžืจ ืœื–ื”ื•ืช ืืช ื”ืžื™ืงื•ื ื”ืžื“ื•ื™ืง ืฉื‘ื• ืžื•ืคื™ืข ืจืฆืฃ ืžืกื•ื™ื ืฉืœ ืชื•ื•ื™ื.

ืœืžื™ื“ืข ื ื•ืกืฃ

ื ืคืชืจื”: tuple to list

ื‘ื˜ื—, ืื ื™ ื™ื•ืชืจ ืžืžื•ื›ืŸ ืœื›ืชื•ื‘ ืืช ื”ืžื“ืจื™ืš ืฉืœืš Haskell Tuple to List. ื”ื ื” ื–ื”:

ืฆื™ื ื•ืจื•ืช ื”ื ื”ื™ื‘ื˜ ื—ื™ื•ื ื™ ืฉืœ ืฉืคืช ืชื›ื ื•ืช Haskell. ื”ื ืžืกืคืงื™ื ื“ืจืš ืคืฉื•ื˜ื” ืœืื—ืกืŸ ืžืกืคืจ ืขืจื›ื™ื ื™ื—ื“ ื‘ืžื‘ื ื” ืื—ื“, ืืš ื‘ื ื™ื’ื•ื“ ืœืจืฉื™ืžื•ืช, ื”ืขืจื›ื™ื ื”ืœืœื• ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืžืกื•ื’ื™ื ืฉื•ื ื™ื. ืขื ื–ืืช, ืœืคืขืžื™ื ืืชื” ืขืฉื•ื™ ืœื’ืœื•ืช ืฉ-tuple ื”ื•ื ืœื ื”ืžื‘ื ื” ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืœืฆืจื›ื™ื ืฉืœืš, ื•ื‘ืžืงื•ื ื–ืืช ืชืจืฆื” ืœื”ืžื™ืจ ืื•ืชื• ืœืจืฉื™ืžื”. ืžืืžืจ ื–ื” ื™ืฆืœื•ืœ ืœืขื•ืžืง ื›ื™ืฆื“ ืœืขืฉื•ืช ื–ืืช ืœื”ืคื•ืš tuple ืœืจืฉื™ืžื” ื‘- Haskell.

ืœืžื™ื“ืข ื ื•ืกืฃ