你们这些没良心的,第一届在杭州网易的时候也是有赞助的,包括易拉宝和 300 元的茶水费用,是我当时所在部门的经费,而且,而且是在网易丁老板开股东会议的大会议室里。
说下本次参会的题目以及我的感受。
首先是邵成巨巨对 GHC 定制 Haskell 的讲解,主要就是了解 Haskell 的 pipeline 以及其中的细节,收获不少,虽然我对于前端与 System F 比较了解,STG 没有看完,C--完全不懂,但是视频看完后对于 Haskell 的各种 FFI,包管理有了一些了解,以后看 GHC 源码能有不少帮助。但是在演示的时候代码实在是太小了,虽然我大致知道邵巨巨在用load 那些 GHC 的中间表示,但其他听众可能看不清。下次会议得让 speaker 注意一下,我觉得演示代码是非常重要的过程,比讲 PPT 还要重要,毕竟我觉得技术演讲还是要 show me the code。结合来看我还是从这个 talk 中得到了不少的知识。
然后是 2-category 因为我对category theory 还是有些了解,2-category 以及学过,大致相当于是复习了一下,如 object 1 morphism,2 morphism。 但是了解一些更细致的定义,比如 strict-2-category 等等,相当于是一次复习了。
ZHaskell 项目,一个Haskell工程化 尝试的项目,我觉得如果能在这个库系列基础上形成一个生态,会让更多使用 Haskell 的人进来,毕竟现在 Haskell 很多东西都没有特别好的解决方案。HsOpenSSL 也不是很好用,String 这个事儿就更不用说了。如果能把 C 的库都用 Haskell 绑了,需要性能的部分交给 C,需要处理复杂逻辑的部分给 Haskell,相信是一个比较完美的工程组合。
另外一个比较学术的演讲是冰封的 dependent type,但是实质上我的理解主要是讲了类型系统与范畴论之间的对应关系,这些在之前都有所了解,从研究的角度来看,理解这些对应关系特别重要,但我之前的不是特别的深入,Martin Lof 也没系统的看,有机会可以看一下冰封的讲义,看上去写得比较全面,虽然冰封讲得比较快(我认为完全没有必要讲那么快,你是希望别人听懂的,而不是让别人跟不上迷惑),但是我大致还是能听懂 80%左右的内容的。希望未来能有时间看他的讲义。PDF 在这里
《基于 Scala 的开放电子设计自动化》这个演讲更像是演讲人的一次综述,给出了很多工具,而并没有说明这些自动化是如何做的。我个人并没有从其中的得到什么有用的 idea,一方面可能与演讲人语速过快,离麦克过远,根本听不清,PPT 字比较小。一方面是我可能不是搞硬件的。还是希望演讲者能多提高一下PPT 内容提炼、现场演讲的水平,照顾好听众的感受。
其实一个好的演讲其实不难,重要的就是让听众有焦点,焦点是演讲者而不是 PPT,演讲者要调动现场的情绪,现场几乎没有人用激光笔,其实可以试一下。scala 硬件的分享的 PPT 字太多,可以感受一下:
罗列了太多URL链接,全是没有意义的信息。不知道这跟演讲者想讲述的有什么关系,讲述者给出了太多的 语言、框架,但是没有介绍用这些东西如何使用,长什么样,这一点可能与我心中talk 的题目差得有点远。演讲者应该是把要讲的重点信息拿出来,信息过多就多分几页,很大的字打在公屏上,然后附上参考链接,可以走贺师俊老师的风格。
其他人的代码 demo 的字体有点小,我在讲的时候的字体,肯定是要保证大家能容易看见的:
希望下次能改进些吧。
最后一个 talk 是关于使用 Haskell 的 QuickCheck 的 tip 的,这个 talk 主要说的是 QuickCheck 中随机用例并不会把具体是什么入参导致的失败告诉你,所以 QuickCheck 为了更好的做到在 Check 过程中有一些 IO操作,所以加了一些新的组合子,例如 conterexample,conjoin,.&&.等操作,这些操作是在 Testable 的 Property 类型上的,而不是 Bool 上的。有了这些组合子,那么 QuickCheck 的报错就更加意义了,我们可以在报错中加入我们想要的信息,框架会处理 IO 操作。未来我想我会加到我书的下一版中。
另外我想吐糟的是会议改了两次时间,一次地点,希望下次办的时候能全部确定好,我这种没关注消息,6 月 20 号去了一次上海, 7 月 10 号又从上午移动到下午,我起个大早去了趟上海。如果要改最好在原场地安排人接恰一下。
感觉有点怨念了,其实不是,只是希望函数式编程的分享能办得好,办得大,持续下去,能让参会者学习到真正的内容,传播下 FP 的精神。很久没写回答了,先到这里了。