Haskell
Haskell :: 帶類型的函數式編程
[編輯]
Haskell 是一種函數式編程語言。如果學過編程,並想了解 Haskell 如何工作以及和其它編程語言有何不同,你可以看一下概述。
Haskell 有兩大特點。第一,它是純函數性的。如果一個函數在不同的環境下以相同的參數調用兩次,那麼這兩次的返回值是完全相同的。第二,Haskell提供了一個結合了諸如類型類(typeclasses)和泛代數數據類型(generalized algebraic data types)等特徵的非常現代化的類型系統。現在你並不需要了解以上術語的含義,但我們非常希望你看完本書後能融會貫通。那麼,為何 Haskell 用戶喜愛這種語言?僅僅是因為它的獨特和先進嗎?不,是因為它的純函數性能讓Haskell程序員更好地理解程序,從而保證程序正確無誤。尤其是在一個先進的類型系統的幫助下,我們能夠發現更多的錯誤,無論是簡單的還是複雜的。
本書將向你介紹 Haskell 語言的最基礎的知識和大多數的高級特性,同時也包含計算機編程的通用技能。對於有經驗的程序員,我們力薦你耐心的看完這些。很可能,你最熟悉的編程語言和 Haskell 有極大的不同,對這些語言的了解讓你更加難以理解 Haskell 的工作方式:簡單而又與眾不同。那麼,把這當作一次在異世界的冒險,以數學的眼光來看待編程吧!
概述
[編輯]本書分為三部分:初學、進階和實踐。最後一部分涵蓋了更多日常運用 Haskell 時的問題,只要有初學者的知識就可以看了。
請作出貢獻!無論 Haskell 技術如何,每個人都可以幫忙。花費五分鐘改進一個模塊可以節省他人數小時的時間。詳情見貢獻者須知。
入門教程
[編輯]這部分介紹了最基礎的內容和一些最常用的庫。然後你就可以寫一些簡單的程序,並為更進一步做好了準備。
絕大多數章節都包含練習,通過這些練習你能學會 Haskell 最新的特性。在每一章的結尾都有練習答案的鏈接,你可以對照答案檢查自己的解答是否正確。
Haskell基礎[編輯] |
初級Haskell[編輯] |
Haskell進階[編輯] |
Monads[編輯] |
高級教程
[編輯]這一部分將介紹更多函數式編程的概念,例如數據結構和類型理論,也將涵蓋更多像並行計算這樣的實用主題。
高級Haskell[編輯] |
類型的樂趣[編輯] |
理論提升[編輯] |
Haskell性能[編輯] |
Haskell實務
[編輯]這部分涵蓋了更多日常運用 Haskell 時遇到的問題,如使用標準庫,創建圖形界面或使用數據庫。你可以直接從基本階段跳到這裡閱讀。
程序庫參考[編輯] |
普通實務[編輯] |
專門任務[編輯] |
附錄
[編輯]其他教程
[編輯]- Write Yourself a Scheme in 48 Hours 一個交替講述 Haskell(也可能是 Scheme)的教程,針對高級用戶(雖然並不必要懂得怎麼編程!)
- 自己動手用 haskell 寫 scheme 解釋器在此基礎上進行完善,最終接近於 r6rs
- Yet Another Haskell Tutorial 針對初學者的並且含有一些具體的練習,它現在是這本維基書的一部分並將最終被融入這本書的主題。
- Haskell 元教程 - 教你尋找其它教程的教程
- http://learnyouahaskell-zh-tw.csie.org/ Haskell 趣學指南 (繁體中文版)]
附加資源
[編輯]- 資源頁面 — Haskell:函數式編程的技藝