Haskell 学习笔记(1)
很早就像了解关于FP的知识.一直没有时间..
今天碰巧看到Haskell.
如果你不了解Haskell
可以看看维基百科: [url]http://zh.wikipedia.org/wiki/Haskell[/url]
官网: [url]http://www.haskell.org/[/url]
[b]1,安装[/b]
下载页面: [url]http://hackage.haskell.org/platform/[/url]
是什么操作系统就安装哪个吧..
我是win 平台.下载个exe setup/ 一路next 到最后..
我下的版本是 Haskell Platform 2009.2.0.2,自带了ghc
有3飞蛾编译器,可以选择,Hugs, ghc, nhc
Hugs 提供强大解析器..没有编译器(比ghc解析器,稍好)
ghc 提供解析器,和编译器
nhc 只有编译器 (编译效果比ghc编译, 各方面稍好)
[color=gray]-----------------------------------------[/color]
好了如果安装没有遇到问题.
在开始菜单找到刚才安装的 ghci 点击.
如果你看到了:
Prelude>
那么你可以开始Haskell之旅了.
来个简单的hello world.
Prelude> print "hello world"hello world
PS: Haskell 最吸引我的2个地方:
1> 完全的FP
2> 同时支持解析和编译, (可以编译成exe文件,呵呵)
试下手:
建立文件 demo.hs,
加入代码:
module Main where
main = putStrLn "Hello World"
我也不知道什么意思, 好像必须要main 才能编译吧.
至于,putStrLn 现在的理解是: 和 print 同样用于输出的.
在当前目录执行命令:
ghc demo.hs -o hello
如果提示命令没有找到 .
是因为没有设置环境变量.
环境变量设置:
右击我的电脑-->属性-->高级-->环境变量
在path 加入: XXX\\Haskell Platform\2009.2.0.2\bin
XXX是你的安装路径...
好了, 执行完成之后,你会发现在当前目录生成几个文件..
只关注hello.exe
这个需要在cmd 中执行他, 如果双击只能看见一个黑色的框跳过..
E:\MyFiles\Haskell>helloHello World
OK,,初尝禁果结束...
Haskell 学习笔记(1)相关推荐
- Haskell学习笔记: type and typeclasses
Haskell学习笔记:type and typeclasses Type 常见类型及注意事项 Type variables Typeclass 基本的typeclass 构造自己的type Reco ...
- Haskell学习笔记:List
Haskell学习与翻译笔记:List&Tuple List 语法与性质 数列操作符 一个例子:数列元素相加 构造等差数列 常用数列函数 List Comprehension Tuple Tu ...
- Haskell学习笔记6 - 八道训练题
Q1 type Predicate a = a -> BooltestP :: Bool testP = (isPass [] == False) &&(isPass [2, 5 ...
- Haskell学习笔记4 -- Monad
如果一个函数接收的是一个普通的值,然后返回一个盒子 怎么将这个函数应用在一个盒子上,并得到一个单独的盒子呢? (>>=) :: Monad m => m a -> (a -&g ...
- c语言运算符感想,C语言运算符学习笔记
运算符不仅具有不同的优先级,还有不同的结合性.在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算. C语言的 ...
- C语言如何加缓冲,C语言学习笔记之输出缓冲
在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
最新文章
- 提供前进、后退功能及其他JAVASCRIPT速成秘诀
- 链表学习(一)静态链表的构造
- linux卸载python3.6,当python3.6位于/usr/local/bin/python3.6时,如何在ubuntu上卸载它
- 算法竞赛入门经典(第二版) | 习题3-5 谜题 (UVa227,Puzzle)(World Finals 1993)
- 牛客 数学实验(模拟)
- (11)FPGA复位设计原则
- mysql 统计 1的数量_利用MySQL统计一列中不同值的数量方法示例
- 12.统计 日志 ip
- 对列 、生产者与消费者
- Spring IoC容器初始化过程分析
- MATLAB模糊控制算法,驾驶员制动意图识别
- 锐捷Ruijie交换机版本升级
- 5--残差网络(ResNet)
- 怎样用计算机算百分之,win7使用自带计算器计算百分比的方法
- 支付宝小程序获取手机号授权
- 树莓派安装smbus_树莓派学习之I2C通信
- Science Robotics | 美国造“自我意识”机器人?还能自我复制?
- 全志平台BSP裁剪(3)附件二 Kernel hacking配置说明
- 重装win10遇到的坑
- Nginx 配置中nginx和alias的区别分析
热门文章
- 系统资源严重不足,无法启动API
- k8s service对象初识
- mac配置php环境
- vs2010+CSerialPortv4.1.0.201010+webbrowser控件实现百度地图(在线和离线)定位
- .net core连接数据库
- 【网络编程】大端模式和小端模式(大头序和小头序)
- Java8为什么要新增StampedLock票据锁(邮戳锁)
- python ansys workbench联动_金典ANSYS 与 Workbench如何实现联合仿真,相互切换操作。...
- Consumer unit 消费单元
- 什么是股票接口dde散户数量?