hello.hs haskell

hello.ns編程

 

-- 建立模塊 Main 首字母大寫
module Main where

-- 導入可能用到的模塊
import System.Environment

-- haskell 程序首先會執行 Main模塊的 main action

-- main :: IO () 是type 聲明, 這裏可省略
-- type :: IO 是monad的實例,
main :: IO ()
-- 等號左邊是 定義一個 name
-- 等號右邊是 其餘定義的組合
-- 這裏有do-block
main = do
    args <- getArgs
    putStrLn ( "Hello, " ++ args !! 0 )

--1 name <- action
-- 把 getArgs 的結果bind到 name
--2 action
-- 僅執行action

-- args !! 0 args列表的第0個元素
-- ++ 是 list concatenation


-- 函數式編程的一個重要的概念是 referential transparency 透明引用, 沒有side-effect 邊界效應ide

 

編譯函數式編程

ghc hello.hs函數

./hello.hs Woldspa

Hello, Worldget

 

... great haskellio

相關文章
相關標籤/搜索