
自己做了一门小语言叫Leaf,后来发现很喜欢后边带个Script比较cool,所以决定改名叫LeafScript了,这样也有效避免了重名现象。
主体部分是去年三月份的时候做的,语法风格是前年就设想了的。然后swift出了很久之后我关注一下发现自己的语言还是很像swift的,我初衷是设计尽量接近Python,现在反而越改越不像了。
LeafScript是一门静态的带类型推倒的小语言,目前没有标准库,基本处于玩具状态。已经支持的feature也没有经过严格的测试,所以到底好不好用我心里也没底,最近对于写出solid code有些迷茫了,有时候会心乱。
一开始我是想做一门函数式语言,之后模糊了函数式语言和过程式语言的概念,SICP上说一旦引入赋值,函数式语言带就不纯了,大意是这样,我对于一门语言纯不纯毫不在意,我只认同文字的美观和排版的美观,数学上美不美观于我毫无意义。难得糊涂,我也就不死抠概念了。所以干脆就加入了一些所谓面向对象的特征,也许支持的东西有点杂了,但是为了写程序的时候方便抽象出数据结构,支持类和继承都是很好的。总不至于像JavaScript的function身兼二职有些不伦不类。
github上有旧版的源码,不过最近写了新版,加了一些feature,修正了不少bug。新版因为某些原因放到了bitbucket上并改成了私有repository,所以不必放地址了。
今天加入的主要有interface,并且将原来定义函数的def关键字改成了function,还是挺喜欢JavaScript的某些关键字啊,Python的总是看着哪里不舒服。最近风格上主要的变化就是去Python化。var这个关键字就不要了,不然一眼看起来会被误会成JavaScript,这种误会还是要不得的。必须得有一些东西加强自己的风格。
接下来主要要做的feature有以下几个:
- pattern matching
- nested function
- operator overload
- const and static variable
- yield
- macros
最近发现文章还是要写一下的,以免将来开源了没有很好的布道方式,如果开源而不布道star何处来(虽然有无star也就那样)!这样一点一点记录一下过程,即便没人看也好。记录至少可以对自己的时间负责。
写写文章真的很好的,平时自己的一些碎碎念无处可诉,长时间下来发现文学水平严重下降,现在写文章都是流水账水平,以前可是超级喜欢掉书袋的!

现在这文笔回到了初中水平!
网友评论