2012/11/30

Haskell是?

Haskell是純函數式程式語言,根以往語言不一樣的地方在於該語言可以隨狀態而去改變作法,有點像似人類一樣吧!

純函數式程式語言是由 λ-calculus的演算法為基礎,這種語言讓我覺得根本是因為數學而生,因為數學而死的語言XDD




該如何安裝呢?先去Haskell的官網下載,安裝完成後則直接開啟GHCi

如果不想安裝的人可以用線上編譯器玩玩看


輸入 5+5,會輸出10


輸入10*10+7-8/5+100-51,會輸出154.4



輸入(50*100)-4999,會輸出1


輸入true==true,會出現錯誤訊息顯示『沒有該值』



那在輸入True==True,則會出現True



輸入Hi==Hi,會出現錯誤訊息『沒有資料』
那輸入"Hi"=="Hi",則會輸出True


來執行看看Haskell的函數吧!
在Haskell的函數是運算等級是最大的,所以當輸入succ 9 *10,則會輸出100


Haskell根數學一樣可以用()來區隔函數以及+-*/等符號的運算,輸入succ( max 9 10),輸出11



為什麼我會碰Haskell呢?在2012 Java認證日聽到良葛格講到的,所以就碰巧來玩一下了,還蠻數學化的!
今天主要學習到這邊,如果有興趣的人可以參考官方文件,或者可以去參考一下Haskell趣學指南,如果有能力的人就直接看官方文件,會學得比較多,如果英文沒那麼好的話可以參考Haskell趣學指南



參考資料:
http://www.haskell.org/ghc/
http://learnyouahaskell-zh-tw.csie.org/zh-tw/chapters.html
http://www.haskell.org/haskellwiki/Tw/Haskell%E5%85%A5%E9%96%80%E7%9A%845%E5%80%8B%E6%AD%A5%E9%A9%9F
http://www.haskell.org/haskellwiki/Learn_Haskell_in_10_minutes
http://learnyouahaskell-zh-tw.csie.org/zh-tw/introduction.html
http://www.haskell.org/haskellwiki/GHC
http://zh.wikipedia.org/wiki/Haskell
http://en.wikipedia.org/wiki/Functional_programming
http://en.wikipedia.org/wiki/Lambda_calculus
http://en.wikipedia.org/wiki/Type_system