上篇我们介绍了Free类型可以作为一种嵌入式编程语言DSL在函数式编程中对某种特定功能需求进行描述。一个完整的应用可能会涉及多样的关联功能,但如果我们为每个应用都设计一套DSL的话,那么在我们的函数式编程中将会不断重复的功能相似的DSL。我们应该秉承函数式编程的核心思想:函数组合(compositi ...
分类:
其他好文 时间:
2016-09-08 09:54:27
阅读次数:
188
Elasticsearch是一款功能强大的开源软件,不仅可以检索排序,还可以对文档进行更复杂的操作--聚合。 1、单值聚合 Sum求和,dsl参考如下: 返回balance之和,其中size=0 表示不需要返回参与查询的文档。 Min求最小值 返回结果 Max求最大值 返回结果: AVG求平均值 返 ...
分类:
其他好文 时间:
2016-09-06 15:39:07
阅读次数:
3164
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。 构建工具就是对你的项目进行编译,运行,签名,打包,依赖,管理等一系列功能的合集,传统的构建工具有Make,Ant,Maven, ...
分类:
移动开发 时间:
2016-09-01 18:30:56
阅读次数:
218
官方网址:http://snapkit.io/ Github: https://github.com/SnapKit/SnapKit SnapKit is a DSL to make Auto Layout easy on both iOS and OS X. Simple & Expressive ...
分类:
编程语言 时间:
2016-09-01 18:16:05
阅读次数:
397
atitit.attilax的软件 架构 理念.docx 1. 预先规划。1 2. 全体系化1 3. 跨平台2 4. 跨语言2 5. Dsl化2 5.1. 界面ui h5化2 6. 跨架构化2 7. 尽可能的功能为独立组件化,2 8. 独立分布化2 9. Hybrid化,集成化2 10. Vm化,再 ...
分类:
其他好文 时间:
2016-09-01 07:05:45
阅读次数:
162
面向对象 一、编程范式: 1.命令式编程,2.声明式 命令式编程的思想:面向过程,面向对象。声明式的思想:DSL(领域特定语言) 命令式编程的定义:告诉计算机以什么指令来执行代码。注重中间过程。 声明式的定义:告诉计算机想要什么结果就让计算机自己去执行。不需要关心过程。 面向过程:一步一步的向下执行 ...
分类:
其他好文 时间:
2016-08-30 00:04:53
阅读次数:
169
Gradle是一种基于Groovy的动态DSL,而Groovy语言是一种基于jvm的动态语言。这里只分享实际开发中会用到的场景,您不需要去学习Groovy语言,知道Java的您是很容易阅读Groovy语言的。系列博客涉及的知识点有:Gradle基本配置、依赖管理、全局设置、自定义BuildConfi ...
分类:
移动开发 时间:
2016-08-22 21:35:45
阅读次数:
194
Enable-Migrations 初始化数据迁移 Add-Migration dsl 添加数据迁移记录 Update-Database 更新数据库。 ...
分类:
其他好文 时间:
2016-08-20 10:06:02
阅读次数:
271
早上读到了一篇文章《Lisp的永恒之道》 这一篇文章解决了我一直以来对Lisp编程语言的疑惑,加深了对DSL(领域编程语言),同时对编程语言的理解也越来越深入。写一篇文章的目的就是从主要编程语言的进化来看看编程语言发展的过程以及背后的设计哲学,当然,这个只是我自己的认识,如果有不足之处,请博友指教。 ...
分类:
编程语言 时间:
2016-08-20 00:08:35
阅读次数:
175
Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build工具。 Gradle脚本是基于一种JVM语言 -- Groovy,再加上DSL(领域特定语言)组成的。 因为Groovy是JVM语言,所以可以使用大部分的Java语言库。 ...
分类:
移动开发 时间:
2016-08-04 17:42:35
阅读次数:
159