YSLib V0.8
幻の上帝吧
全部回复
仅看楼主
level 14
幻の上帝 楼主
Alpha 3 released.
2017年08月10日 07点08分 1
level 14
幻の上帝 楼主
项目维护地址:
主发布版本库: http://bitbucket.org/frankhb/yslib
hg-git 镜像 1 :https://github.com/FrankHB/YSLib
hg-git 镜像 3 :http://git.oschina.net/FrankHB/YSLib
GoogleCode 已废弃。
GitCafe 已废弃。
待合并测试项目:
https://gitcafe.com/FrankHB/YDTest
https://github.com/FrankHB/NPLC
项目 wiki : http://bitbucket.org/frankhb/yslib
V0.8 已于 2017-08-10 发布。
上一发布版本:
https://tieba.baidu.com/p/4701412006
2017年08月10日 08点08分 2
level 14
幻の上帝 楼主
2017年08月10日 08点08分 3
level 14
幻の上帝 楼主
NEWS
Milestone in 3yr.
2018-03-21 01:07:24 +0800
YSLib b821r3 NPLA1 baseline interpreter正式支持proper tail call(0)。适用direct recursive和mutual recursive。
支持first-class side effect(1),支持
first-class environment(2),支持determinstic destruction(3),支持
可移植的C++互操作(4),
不需要GC(5)。因为是CESK-style machine,可以随时加上first-class continuation(6)虽然现在懒……
(0)吊打完全没PTC概念的C/C++/Rust等语言,以及被迫强行annotate、只支持direct的Clojure等语言。
(1)吊打所有纯函数式语言。
(2)吊打Kernel/Klisp以外的几乎所有其它语言。
(3)吊打C++/Rust以外的大部分其它语言。
(4)吊打所有启用保守GC和体系结构优化的语言实现。
(5)吊打C/C++/Rust以外的大部分语言。
(6)吊打所有和Scheme不够像的语言。
(-1)emmm……性能……不过反正比我见过的活人写的作业强。没优化AST,略弱于Klisp,当baseline够用。
另外由于C++运行时过于辣鸡,决定省略削除activation record frame时的non-trivially destructible object判断。不保证嵌套guard存活。该问题容易变通:保证非tail context中使用即可。
2018年03月20日 17点03分 4
level 14
幻の上帝 楼主
上面漏了中间步骤:支持TCO,但不支持PTC。
该性质已经吊打所有限制一等活动记录大小的语言(如Python,以及除SML/NJ以外的绝大多数“编译型实现”),或者直接不保证可移植的语言(C和C++)。实现工作量主要是手动转换CEK/CESK-style abstract mactine需要的异步实现。(1080hr.)
从PTC到TCO本来算是trivial的,但因为一等环境和不要求环境保存引用且拒绝依赖GC,远远比其它类似Scheme的实现来得麻烦。不过也就这样。(72hr.)
2018年03月20日 17点03分 5
level 14
幻の上帝 楼主
最近几个版本Linux上不设置LD_LOAD_LIBRARY就没法用,发现LIB_RPATH没设置上,然后还是不行……重新编译搞了半天,最后直接看编译命令行发现原因是从shell迁移时,-rpath的参数用的双引号,在NPLA1脚本中是单引号,拼出来的命令多了\\转义……[喷]都smg问题……
2018年11月07日 10点11分 6
level 14
幻の上帝 楼主
最近几个版本Linux上不设置LD_LOAD_LIBRARY就没法用,发现LIB_RPATH没设置上,然后还是不行……重新编译搞了半天,最后直接看编译命令行发现原因是从shell迁移时,-rpath的参数用的双引号,在NPLA1脚本中是单引号,拼出来的命令多了\\转义……[喷]都smg问题……
2018年11月07日 10点11分 7
level 14
幻の上帝 楼主
备忘:近期 NPLA1 更新要点:
Session 支持可替换的 lexer/tokenizer ;
Session 和 REPLContext 支持 source location ;
ContextNode 等支持 current action inspection / continuation marks 。
2020年06月06日 02点06分 8
level 14
幻の上帝 楼主
移除 composed action 后性能有所下降……还得考虑 SRFI-157 类似的只在 non tail context 使用,其它情形照旧压缩?[汗]
2020年06月06日 02点06分 9
level 14
幻の上帝 楼主
估计性能问题和直接的 action frame allocation 有关,需要验证,dt、、、
2020年06月06日 02点06分 10
干掉 delimited 的 deque 似乎没改进多少……
2020年06月06日 02点06分
加了个 forward_list splice 当 cache,性能问题算是解决了,比原来还好一点。
2020年06月06日 17点06分
level 14
幻の上帝 楼主
multiclient test
2020年06月06日 02点06分 11
level 14
幻の上帝 楼主
保存的 backtrace 受到生存期限制,有点 dt ……
2020年06月08日 00点06分 13
Guard refactored.
2020年06月08日 16点06分
好像还是抽风的亚子。
2020年06月11日 10点06分
level 14
幻の上帝 楼主
Continuation names added.
2020年06月12日 11点06分 14
level 14
幻の上帝 楼主
A1 cont & reducer sep.
2020年06月13日 05点06分 15
1 2 尾页