原文在我的博客里。

最近试着入门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) 环境搭建和简单玩玩相关推荐

  1. 转载 jsonrpc环境搭建和简单实例

    jsonrpc环境搭建和简单实例 一.环境准备 下载需要的jar包和js文件,下载地址:https://yunpan.cn/cxvbm9DhK9tDq  访问密码 6a50 二.新建一个web工程,j ...

  2. Liferay环境搭建、简单说明与相关资料

    Liferay环境搭建.简单说明与相关资料  2012年3月23日 简单说明 该教程为是我在工作交接时编制的文档的一部分,经过测试应该不会有大问题,但可能还是会有所遗漏,请留言指正,谢谢. 转载请注明 ...

  3. Appium+Java环境搭建及简单实例

    Appium+Java环境搭建及简单实例 一.下载jdk并配置好环境 二.下载Android-sdk并配置好环境 三.下载Eclipse软件 四.下载Node.js 下载地址:https://node ...

  4. Vue前端环境搭建(最简单,最全)

    Vue前端环境搭建(最简单,最全) VS code下载 下载地址:https://code.visualstudio.com/ node下载 v14.15.4 版本过高不兼容部分插件,v14.15.4 ...

  5. 8、Hive数据仓库——环境搭建及简单使用

    文章目录 Hive数据仓库--环境搭建及简单使用 Hive的安装和使用 一.Linux的JDK的安装 (已经安装过JDK可以跳过此步骤) 二.离线安装MySQL(已经安装过MySQL可以跳过此步骤) ...

  6. linux/window 下 solr5.1 tomcat7.x 环境搭建即简单功能测试

    2019独角兽企业重金招聘Python工程师标准>>> 之所以想使用solr来进行学习,很大一部分原因就是,solr能够在某种程度上提供RESTFUL相关的URL请求连接,可以把它理 ...

  7. 微信小程序之json-server环境搭建及简单操作

    学习视频:https://www.bilibili.com/video/BV1Gv411g7j6?p=81 模板 以精选文章为主 app.json里面写上路径 定义模板 在index.wxml中复制以 ...

  8. tinygo的windows环境搭建及简单例程

    windows 环境搭建 安装 g 这里还是推荐g这个 go 的多版本管理工具,类似 NodeJS 的 nvm,Python 的 virtualenv. 官网下载: https://github.co ...

  9. [IOT从0到1]硬件测试环境搭建及简单分析

    环境搭建 我分别在Ubuntu16 Ubuntu18 和Ubuntu 20 上进行环境搭建 但是都多多少少出现了问题 最后直接选择下载集成过后的操作系统 =-= (17条消息) Attify OS1. ...

  10. Python环境搭建以及简单入门介绍

    Python简介 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编程 ...

最新文章

  1. WebStorm配置本地测试服务器
  2. 使用示波器测量扬声器的阻抗实验数据
  3. SharePoint 2010 master page 控件介绍(5):其他
  4. centos7安装es mysql_Centos7 安装MySQL详细步骤
  5. 解读Linux命令格式
  6. OC 获取view相对位置_【全职业P4阶段世界BUFFS和药剂】BUFFS获取方法药剂自己查询出处...
  7. ue4 设置intellisence_UE4的配置界面写入
  8. 抖音为什么能让人上瘾?
  9. windowsXP的所有应用命令
  10. 计算机视觉有哪些商业用途​
  11. 详解CAN 2.0协议
  12. 艾敦制表神器实现EXCEL邮件合并
  13. 一个网游盗号木马的汇编源码分析
  14. 为什么俺推荐Python「1」:作为脚本语言的Python
  15. C语言基础 入门学习(一)
  16. Google Earth Engine(GEE)——估计未来人口密度(越南2100年人口预测)
  17. JAVA定义矩形类 方法二
  18. 51cto python数据分析系列课程 55g_热图_ Python数据分析系列视频课程--玩转数据可视化_数据可视化视频-51CTO学院...
  19. Python实现淘宝卖家价格分析,淘宝卖家必会的操作!
  20. 逆变电源于滤波电感器

热门文章

  1. vue鼠标经过效果实现
  2. 侧滑菜单--狸菇凉_
  3. 搭建无线监控云存储服务器,搭建无线监控云存储服务器
  4. Win10开电脑热点以后手机连接会IP配置失败或者一直显示获取IP中
  5. 手机无法获取电脑热点ip地址
  6. 2-AltiumDesigner原理图设计
  7. 打字教程新手篇-指法练习的重要性和注意事项
  8. 数据库原理及应用 mysql版_数据库原理及应用(MySQL版)
  9. Python 进阶视频课 - 12. Nelson-Siegel 构建债券收益率曲线
  10. S5PV210芯片的DRAM控制器介绍、初始化DDR的流程分析