IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 关于《微型 Lisp 解释器的构造与实现》 -> 正文阅读

[大数据]关于《微型 Lisp 解释器的构造与实现》

今天,编辑老师告诉我,《微型 Lisp 解释器的构造与实现》已经正式出版销售。这本书,是我这几年业余时间学习和探索的一个总结。
这本书分两部分,一部分是致敬 Haskell 名著《Write Yourself a Scheme in 48 Hours》的 Lisp 解释器实现,这部分我分别用 Java 版 的 JISP 和 Scala 版的 SISP 为例,介绍了 Jaskell-Java8 和 Jaskell-Core 的用法;后半部分则是 Jaskell-Java8 和 Jaskell-Core 的主要组件实现。
通过这本书,我希望能向读者如何在 Java 和 Scala 项目中,使用来自 Haskell Parsec 组合子的文本信息解析方法。并且,通过对 Parsec 实现的介绍,展示这个组件库更多的可能性,我们可以用 Parsec 组合子,一致的解决信息流的解析问题。
这本书并不难,它没有涉及很复杂的算法,也没有很多“高级语法”,只是在 Scala 版本中引入了 Type Lambda 和一些高级的函数式编程特性,但是总的来说,它的难度仍然符合编程语言学习的“第二本书”。对于 Java 学习者,它提供了不依赖任何 Framework的实战机会,可以仅仅运用 Java 8+ 的语法,就能够自己开发组件,组装解释器;而对于 Scala 的学习者,第一步,学到 “Scala is a better Java”的程度之后,就可以从这本书进一步深入,了解 Scala 的那些比较深入的语法特性,例如 Scala 2 的 implicit class、implicit def 、implicit val,scala 3 的 given 、 extension等等 。
我在书中给出了 Scala 2 和 Scala 3在实现中的区别,无论2 还是 3,type lambdas 都是重要的元素,通过这个技巧,我在形式上将 Parsec 的 `State[E] => T` 的有副作用映射,模拟成了 `Monad[T]` 和 `E => T` ,使得 Scala 的 ADT 系统可以与 Parsec 融合在一起。这些功能一旦掌握,对 Scala 程序员是很大的提升,可以体会到突破瓶颈后,Scala 强大的表达能力和生产力。
本书中,无论解释器实现,还是组合子,我都提供了Java 8+(为了节省版面,我用了一些 Java 11 的 var 语法)、Scala 2.13 和 Scala 3 的版本。而在实际工作中,Scala 2.13、Java 8、Go 和 Python 的 Parsec 实现,都曾经在我工作中发挥过作用,现在CSDN AI组的技能树产品和质量分服务,就有我的 pyparsec 组件在里面。
目前,我刚刚完成了 jaskell core 对 scala 2.11 和 2.12 的支持。这样,我们就可以在一些主流云平台厂商提供的 spark 和 flink 环境,使用 jaskell。这也是我下一步工作可能涉及的情况。后面我会着重提供一些预制功能,例如符合 Java 、 C 、Python、Javascript、Scala 语法的字符串字面量解析。
回顾这几年的业余生活,固然编程和写作有辛苦的时候,但是总的来说,这是一段开心的经历。就像 HAM 收集通信卡片,像一些锻造爱好者锻打钢铁,我很享受这个精心设计程序代码的过程。写书的时候,我曾经希望自己进入一个“认真且严肃”的状态,所以全书都是毫无修饰的在叙述内容。但现在我最希望和同行们分享的是,写代码可以是一个很有趣的过程。我将一个有趣的,像乐高积木一样灵活精巧的工具库,从Haskell移植到了 Scala 和 Java 中,现在,我们可以一起享受这个有趣的体验。希望这本书能给学习者一些帮助,也希望我的老朋友们能和我一样,在这段旅程中得到快乐。

?

感谢邹欣老师为本书作序。这些年来,邹欣老师是我写作中的榜样。这本书的出版,离不开我从《构建之法》中得到的知识和启发。


?

?最后,这本书已经在各个图书销售平台上架:
https://detail.tmall.com/item.htm?id=676914642112https://detail.tmall.com/item.htm?id=676914642112微型Lisp解释器的构造与实现 9787568082457 华中科技大学出版社https://shop15040017.m.youzan.com/wscgoods/detail/2fqbhvweoecix0i《微型Lisp解释器的构造与实现》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《微型Lisp解释器的构造与实现》在线选购,本书作者:,出版社:华中科技大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!https://item.jd.com/10054541441323.html《微型Lisp解释器的构造与实现》 【简介_书评_在线阅读】 - 当当 - 华中科技大学出版社旗舰店当当华中科技大学出版社旗舰店在线销售正版《微型Lisp解释器的构造与实现》。最新《微型Lisp解释器的构造与实现》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《微型Lisp解释器的构造与实现》,就上当当华中科技大学出版社旗舰店。http://product.dangdang.com/11178800137.htmlEnjoy it!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:40:05  更:2022-06-14 22:43:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:18:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码