博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[编译器试水]我的语言-plang (2)
阅读量:5021 次
发布时间:2019-06-12

本文共 724 字,大约阅读时间需要 2 分钟。

plang的现状:

1. 有一些内置类型(int, double, char, string, 数组)

2. 有lambda和函数

3. 函数和lambda是first class

4. 数组可以用区间表示,比如[1..10] ['a' .. 'z']

5. 生成MSIL中间码,后边不管

6. scope的实现有个bug

7. 能算素数表

8. 简单的尾递归优化

截个图留念:

defun filter(f, x){    var a = Car(x);    var b = Cdr(x);    if a == [] then []    else if f(a) then [a] + filter(f,b)    else filter(f,b);}defun isPrimeX(a, x){    var left = filter( $(n).{a % n == 0}, x);    left == []}defun PrimeX(x, result){    var a = Car(x);    var b = Cdr(x);    if a == [] then result    else if isPrimeX(a, result) then PrimeX(b, result + [a])    else PrimeX(b, result);}defun Prime(x){    PrimeX(x, [2]);}Print("{0}", Prime([2..500]));

EOF

转载于:https://www.cnblogs.com/gussing/archive/2012/05/18/2508283.html

你可能感兴趣的文章
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>
hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
查看>>
Flutter 贝塞尔曲线切割
查看>>
golang 的编译安装以及supervisord部署
查看>>
easyui源码翻译1.32--Dialog(对话框窗口)
查看>>
阿里架构师,讲述基于微服务的软件架构模式
查看>>
Eclipse导入maven项目时,Pom.xml文件报错处理方法
查看>>
01、JAVA开发准备
查看>>
asp.net mvc 错误处理 - 自定义报错处理,生成错误日志
查看>>
Linux centos ssh
查看>>
R语言之避免for循环示例
查看>>
[转]jQuery 选择器和dom操作
查看>>