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命令,可以获取关于类型的全部信息。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值