美文网首页
LeafScript加入了一些新feature

LeafScript加入了一些新feature

作者: 三生石上绛珠草 | 来源:发表于2016-06-20 01:06 被阅读18次
我真的有很多小花.jpg

自己做了一门小语言叫Leaf,后来发现很喜欢后边带个Script比较cool,所以决定改名叫LeafScript了,这样也有效避免了重名现象。

主体部分是去年三月份的时候做的,语法风格是前年就设想了的。然后swift出了很久之后我关注一下发现自己的语言还是很像swift的,我初衷是设计尽量接近Python,现在反而越改越不像了。

LeafScript是一门静态的带类型推倒的小语言,目前没有标准库,基本处于玩具状态。已经支持的feature也没有经过严格的测试,所以到底好不好用我心里也没底,最近对于写出solid code有些迷茫了,有时候会心乱。

一开始我是想做一门函数式语言,之后模糊了函数式语言和过程式语言的概念,SICP上说一旦引入赋值,函数式语言带就不纯了,大意是这样,我对于一门语言纯不纯毫不在意,我只认同文字的美观和排版的美观,数学上美不美观于我毫无意义。难得糊涂,我也就不死抠概念了。所以干脆就加入了一些所谓面向对象的特征,也许支持的东西有点杂了,但是为了写程序的时候方便抽象出数据结构,支持类和继承都是很好的。总不至于像JavaScript的function身兼二职有些不伦不类。

github上有旧版的源码,不过最近写了新版,加了一些feature,修正了不少bug。新版因为某些原因放到了bitbucket上并改成了私有repository,所以不必放地址了。


语法分析器.PNG

今天加入的主要有interface,并且将原来定义函数的def关键字改成了function,还是挺喜欢JavaScript的某些关键字啊,Python的总是看着哪里不舒服。最近风格上主要的变化就是去Python化。var这个关键字就不要了,不然一眼看起来会被误会成JavaScript,这种误会还是要不得的。必须得有一些东西加强自己的风格。

接下来主要要做的feature有以下几个:

  • pattern matching
  • nested function
  • operator overload
  • const and static variable
  • yield
  • macros

最近发现文章还是要写一下的,以免将来开源了没有很好的布道方式,如果开源而不布道star何处来(虽然有无star也就那样)!这样一点一点记录一下过程,即便没人看也好。记录至少可以对自己的时间负责。

写写文章真的很好的,平时自己的一些碎碎念无处可诉,长时间下来发现文学水平严重下降,现在写文章都是流水账水平,以前可是超级喜欢掉书袋的!


没脸见人.png

现在这文笔回到了初中水平!

相关文章

  • LeafScript加入了一些新feature

    自己做了一门小语言叫Leaf,后来发现很喜欢后边带个Script比较cool,所以决定改名叫LeafScript了...

  • Xcode Snippets

    xcode4 引入了一个新 feature: code snippets,帮助提高效率 图解 1:防止block循...

  • Git flow命令

    初始化:git flow init 开始新Feature:git flow feature start MYFEA...

  • Git Flow 简短手记

    开始新Feature开发,有新功能开发时git checkout -b some-feature develop/...

  • Vue3 学习笔记之 watchEffect

    最近在看 Vue3 的一些新 feature,顺道学习了一些 hooks 编程的思想,感觉挺有启发的。今天就以 w...

  • 单元测试里Mock须谨慎

    最近为新加的feature写单元测试的时候,遇到了非常诡异的事情,我花了两天的时间才搞明白,问题的根源出在最最原始...

  • git合并分支

    1.一个新功能需求开发产生一个新的feature分支feature-some git checkout -b fe...

  • git分支合并与rebase

    merge与rebase 1.一个新功能需求开发产生一个新的feature分支feature-some 2.fea...

  • Gitの分支删除/多人协作/REBASE day06

    2019/08/04 Feature分支 开发一个新feature,最好新建一个分支; 如果要丢弃一个没有被合并过...

  • tag 和 release 2021-10-09

    把自己的feature代码合进master后,要使用新的feature就需要在当前master上打一个tag,这样...

网友评论

      本文标题:LeafScript加入了一些新feature

      本文链接:https://www.haomeiwen.com/subject/mhzbdttx.html