codecamp

Real World Haskell 中文版

Real World Haskell 中文版

Warning

《Real World Haskell》中文版现在可以通过域名 cnhaskell.com 快速进行访问,请各位读者使用新域名访问本文档,原有的域名 rwh.rtfd.org 以及 rwh.readthedocs.org 将在一段时间之后被废弃。

2015 年 8 月 30 宣


本文档是 Real World Haskell 一书的简体中文翻译版本,翻译工作正在进行中,欢迎加入: https://github.com/huangz1990/real-world-haskell-cn

关于

以下人员参与了本文档的翻译工作:

除了进行翻译之外,本文档还在原书的基础上做了以下改进:

  • 修正原文正文和代码中的错误
  • 更新代码以符合最新的 Hasekll 规范
  • 在一些比较复杂的地方添加注释,帮助理解

关注项目进度 / 反馈意见或建议 / 提交你的翻译贡献,请访问项目的 github 页面

本文档的部分内容参考了 AlbertLee 的译本,在此对他表示感谢。

版权

本文档和原书一样,通过 CC 协议进行署名-非商业性使用 授权。

第一章:入门
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }