现在的位置: 首页 > 综合 > 正文

snail 中遇到的问题与思考

2013年03月05日 ⁄ 综合 ⁄ 共 664字 ⁄ 字号 评论关闭
这些问题是在设计snail中, 发现的问题.  进行了一些思考, 有些解决了, 有些还没有解决.

建立在函数语言的基础之上,  则, 是否所有的函数都需要有自己的命名空间.  函数和操作符其实还有些不一样.
操作符应该不需要自己的命名空间, 而且, 命名空间的维护和创建是很费资源的.
例如:
1. a+b    --> (+ a b) -> a.type.__Add__(a, b) 还是 a.type.__Add__(a, b, localNS, enclosedNS, globalNS, builtinNS)

2.表达式的解析已经没有啥困难了.

3.脚本可以编译成, 一串连续的不相关的语句, 每一个语句可以用一个s-exp代码树表示(code-form),
连续的语句, 放在连续的code-form里面来.
这样的话, 可以做到load 一个code-form,  动态解析并执行他, 然后, 读取下一个code-form, 再执行之. 这两个步骤可以异步执行, 可以大大提高性能.

4.但是, 还有一个比较悖论的地方, 就是函数定义. 一个function 就是一串语句, 需要把语句都记录下来的, 才能供下次调用的时候... 这样, 就打破了上面的形式.

5.对象生命自管理. 是否对primitive 类型进行区别对待, 因为primitive实在是性能上面要求很高, 一切的基础...
6. 如何自管理. reference count ? or GC.  个人倾向于GC, 而且, 我现在也有对GC的一个改进想法. 用引用计数的话, 会实现起来快一些. 暂定用GC... 我觉得可以用GC(内存管理)来区别是否只是一个脚本语言, 还是一个高级的语言..

抱歉!评论已关闭.