程序设计语言A-week2

来源:互联网 发布:win7未识别的网络 编辑:程序博客网 时间:2024/05/16 16:32

Coursera上华盛顿大学的公开课,程序设计语言的学习记录。这门课程有ABC3个部分,这是A部分,用的是ML语言。

课程地址:https://www.coursera.org/learn/programming-languages/home/welcome

week1就是一些简要的介绍和课程需要的一些工具的安装(Emacs),没什么好记录的。


变量的绑定

静态环境,进行类型检查
动态环境,进行值的检查

表达式的规则:
语法检查
语义检查
1. 类型检查
2. 值的检查

shadowing
先后将不同的值绑定给同一个变量,这个变量之前被绑定的值就会被隐藏,称作shadowing
视频里提到,因为这个原因,所以在Emacs里使用REPL的时候,用use “×××.sml” 要先终止上一次的再重新开始(??没理解,先记着)

函数
格式:

fun 函数名(变量名:类型,………)=一个表达式

pair
一对变量,可以是不同类型
tuple
任意数目的变量,可以是不同类型
list
任意数目的变量,同一类型

创建局部变量 let expression
let ...args... in ...exp... end

嵌套函数:在函数里可以在let表达式里定义新的函数,这个新的函数只在let表达式里可见,有点封装的意思

在ML语言里,要想访问一个list里的很多值都要借助递归的写法(?应该是吧,至少目前课程都没有讲到类似数组下标之类的东西),写递归的时候要注意避免重复的计算

option 类型
NONE, SOME ,valOf, isSome

与或非
andalso orelse not,和C语言里一样的短路规则

ML里,不会有其他语言里引用产生的问题,即变量不会被意外修改

最后,学习一门语言的5个方面:
1. 语法
2. 语义
3. idioms,应该是写的代码要易于理解的意思吧
4. 这个语言的一些库
5. 相关工具

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 咳嗽20天老不好怎么办 吃过退烧药出汗怎么办 5岁儿童发烧39度怎么办 小孩烧到39度怎么办 儿童7岁发烧39度怎么办 发烧没药怎么办怎样退烧快 小孩发烧怎么办怎样退烧快 发烧头疼怎么办最快最有效 发烧头晕怎么办最快最有效 婴儿发烧怎么办最快最有效 孩子一直37度8怎么办 一岁半宝宝37度5怎么办 发烧打了针35度怎么办 小孩发烧吃了鱼怎么办 八个月婴儿发烧39度怎么办 婴儿反复发烧39度怎么办 宝宝发烧了怎么办如何退烧 宝宝烧到38.8度怎么办 小孩发烧到39度怎么办 宝贝发烧到40度怎么办 孩子发烧39度8怎么办 儿子发烧39度该怎么办 孩子发烧39度7怎么办 7个月婴儿发烧怎么办 感冒了头发很油怎么办 5岁宝宝发烧39度怎么办 婴儿烧到39.5度怎么办 1岁多宝宝39.5度怎么办 宝宝发烧40多度怎么办 7岁宝宝发烧了怎么办 宝宝反复发烧39度怎么办 一岁半宝宝反复发烧39度怎么办 七岁发烧38度怎么办 小孩一直37度1怎么办 婴儿一直37度多怎么办 1岁半高烧39度怎么办 反复发烧39度多怎么办 孩子不爱喝水怎么办%3f 8岁儿童不爱喝水怎么办 儿子14岁了不爱说话怎么办 我孩子长得老慢怎么办