你好Haskell (1) 环境搭建和简单玩玩
原文在我的博客里。
最近试着入门Haskell,试着读了读《Haskell趣学指南》,发现好像并没有我想的那么难。当然《Haskell趣学指南》本来就写的相当基础啦(读着感觉难才不正常啊喂!)。这里主要就是一份Haskell的教程,是我学习之后随手写的啦。
本文中出现的代码
我将代码放到了Github上。就是这里。
Haskell是什么
Haskell(发音为/ˈhæskəl/)是一种标准化的,通用的纯函數程式語言,有非限定性语义和强静态类型。它的命名源自美国逻辑学家哈斯凱爾·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是第一類物件”。作为一门函數程式語言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母「λ」(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征。
以上摘录自维基百科
纯函数式编程语言有什么好处呢。(以下渣翻译自官网)
- 大大提高生产力
- 更短更清晰,更容易维护
- 更少的错误,更高的维护性
- 缩小程序员和语言之间的“语义差距”
- 缩短交货时间
环境配置
打开这里找到你对应的系统之后安装就好。之后运行ghci
应该就能看到一个repl了。Ctrl+D
退出。
开发环境
开发环境也是很重要的。这里就有很多推荐的开发环境,本人用的是Visual Studio Code + Haskell ghc-mod。
当然作为JetBrains的忠实信徒(目前是),可以使用IDEA的Haskell插件。
作为一个Eclipse的忠实信徒(???),可以使用EclipseFP。
其他的参考上面给的链接。
相关的教程
其实人家的官网就有一堆啦。
官网有一个在线的repl,你可以随便瞎玩玩。
玩一玩GHCI
打开一个终端,输入ghci,能看到类似下面的东西.
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude>
恩恩,然后我们就来好好的玩玩它吧。
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> 12 + 450
462
Prelude> 666 - 233
433
Prelude> 500 * 450
225000
Prelude> 666 / 2
333.0
Prelude> 9 ^ 5
59049
Prelude> "Boy Next Door"
"Boy Next Door"
Prelude> 'F'
'F'
你学会了
- 配置Haskell的环境
- 配置了一个跟手的开发工具
- 在哪里找到好的文档
- 学会了把GHCI当计算器和复读机用
明白了湛兮的英语很差明白了湛兮技术很渣
你好Haskell (1) 环境搭建和简单玩玩相关推荐
- 转载 jsonrpc环境搭建和简单实例
jsonrpc环境搭建和简单实例 一.环境准备 下载需要的jar包和js文件,下载地址:https://yunpan.cn/cxvbm9DhK9tDq 访问密码 6a50 二.新建一个web工程,j ...
- Liferay环境搭建、简单说明与相关资料
Liferay环境搭建.简单说明与相关资料 2012年3月23日 简单说明 该教程为是我在工作交接时编制的文档的一部分,经过测试应该不会有大问题,但可能还是会有所遗漏,请留言指正,谢谢. 转载请注明 ...
- Appium+Java环境搭建及简单实例
Appium+Java环境搭建及简单实例 一.下载jdk并配置好环境 二.下载Android-sdk并配置好环境 三.下载Eclipse软件 四.下载Node.js 下载地址:https://node ...
- Vue前端环境搭建(最简单,最全)
Vue前端环境搭建(最简单,最全) VS code下载 下载地址:https://code.visualstudio.com/ node下载 v14.15.4 版本过高不兼容部分插件,v14.15.4 ...
- 8、Hive数据仓库——环境搭建及简单使用
文章目录 Hive数据仓库--环境搭建及简单使用 Hive的安装和使用 一.Linux的JDK的安装 (已经安装过JDK可以跳过此步骤) 二.离线安装MySQL(已经安装过MySQL可以跳过此步骤) ...
- linux/window 下 solr5.1 tomcat7.x 环境搭建即简单功能测试
2019独角兽企业重金招聘Python工程师标准>>> 之所以想使用solr来进行学习,很大一部分原因就是,solr能够在某种程度上提供RESTFUL相关的URL请求连接,可以把它理 ...
- 微信小程序之json-server环境搭建及简单操作
学习视频:https://www.bilibili.com/video/BV1Gv411g7j6?p=81 模板 以精选文章为主 app.json里面写上路径 定义模板 在index.wxml中复制以 ...
- tinygo的windows环境搭建及简单例程
windows 环境搭建 安装 g 这里还是推荐g这个 go 的多版本管理工具,类似 NodeJS 的 nvm,Python 的 virtualenv. 官网下载: https://github.co ...
- [IOT从0到1]硬件测试环境搭建及简单分析
环境搭建 我分别在Ubuntu16 Ubuntu18 和Ubuntu 20 上进行环境搭建 但是都多多少少出现了问题 最后直接选择下载集成过后的操作系统 =-= (17条消息) Attify OS1. ...
- Python环境搭建以及简单入门介绍
Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编程 ...
最新文章
- WebStorm配置本地测试服务器
- 使用示波器测量扬声器的阻抗实验数据
- SharePoint 2010 master page 控件介绍(5):其他
- centos7安装es mysql_Centos7 安装MySQL详细步骤
- 解读Linux命令格式
- OC 获取view相对位置_【全职业P4阶段世界BUFFS和药剂】BUFFS获取方法药剂自己查询出处...
- ue4 设置intellisence_UE4的配置界面写入
- 抖音为什么能让人上瘾?
- windowsXP的所有应用命令
- 计算机视觉有哪些商业用途​
- 详解CAN 2.0协议
- 艾敦制表神器实现EXCEL邮件合并
- 一个网游盗号木马的汇编源码分析
- 为什么俺推荐Python「1」:作为脚本语言的Python
- C语言基础 入门学习(一)
- Google Earth Engine(GEE)——估计未来人口密度(越南2100年人口预测)
- JAVA定义矩形类 方法二
- 51cto python数据分析系列课程 55g_热图_ Python数据分析系列视频课程--玩转数据可视化_数据可视化视频-51CTO学院...
- Python实现淘宝卖家价格分析,淘宝卖家必会的操作!
- 逆变电源于滤波电感器