下载APP 编程狮,随时随地学编程
返回 首页

Real World Haskell 中文版

开始阅读
目录
Real World Haskell 中文版
第一章:入门
第二章:类型和函数
第三章:Defining Types, Streamlining Functions
第四章:函数式编程
第五章:编写 JSON 库
第六章:类型类
第七章:I/O
第八章:高效文件处理、正则表达式、文件名匹配
第九章:I/O学习 —— 构建一个用于搜索文件系统的库
第十章:代码案例学习:解析二进制数据格式
第十一章:测试和质量保障
第十二章:条形码识别
第十三章:数据结构
第十四章:Monads
第十六章:使用Parsec
第十八章: Monad变换器
第十九章: 错误处理
第二十章:使用 Haskell 进行系统编程
第二十一章:数据库的使用
第二十二章:扩展示例 —— Web 客户端编程
第二十三章:用 gtk2hs 进行图形界面编程
第二十四章:并发和多核编程
第二十五章:性能分析与优化
第二七章:Socket 和 Syslog
第二十八章:软件事务内存 (STM)
翻译约定

关闭

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; }