Haskell学习1

暑期小学期选了一门Haskell函数式程序设计的课,是由一位德国多特蒙德的大学教授来上课。

由于没有中文版的Haskell的译著,也没有中文的关于Haskell的著作,我主要参考了影印版的《Real World Haskell》(真实世界的Haskell)。

这个课已经上了三次,对Haskell有了初步的了解,下面主要总结一下已经学习的一些Haskell语言的内容。


编译环境:

使用ghci进行编译。对于Windows用户,可以在WinGHCI中进行编译。

下载地址:http://hackage.haskell.org/platform/

ListTuple

Haskell中很重要的两种结构是List和Tuple,List中要求各元素的类型相同,但长度可以改变,Tuple中的元素类型可以不同,但长度不能改变。有了这两种结构,使用Haskell语言就非常方便了。

let r=(1,'a')

:type r

:type it

:type r表示查询r的类型,这个可以用it进行代替。

fstsnd是对于pair而言的,fst r snd r分别是取出pair中的第一个元素和第二个元素。

例如:

fst(1,'a')==1

snd(1,'a')=='a'


自定义一种新的数据类型:

在Haskell source file(后缀名为.hs的文件)中,使用data关键字。

例如:

--file:BookStore.hs
data BookInfo = Book Int String [String]
                deriving(Show)

myInfo=Book 9780135072455 "Algebra of Programming"
       ["Richard Bird","Oege de Moor"]


在ghci中,使用:info命令,可以获取关于类型的全部信息。




你可能感兴趣的:(windows,list,String,haskell,语言,pair)