secti6n / S6RT

runtime the ulitmate. 只有活用文字才能拯救软件开发
https://github.com/program-in-chinese/overview/issues/75
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

S6RT-系统原型设计稿 #1

Open 4b5ent1 opened 5 years ago

4b5ent1 commented 5 years ago

关于脚本语言的同质化、代码互译,以及运行时共享的一些想法 ref: https://github.com/program-in-chinese/overview/issues/75

语法设计

注:这里的语法是过渡阶段的专用语法,又称过渡PL(GDPL)。

主要参照: Mathematica,K,TypeScript,erlang,Rust

平台规范:

备注:只有Python和erlang需要考虑支持Windows XP[NT5.2],Node/Rust/.Net不需要考虑兼容。

调度机制

注:这里的运行时不是S6RT最终运行时,也是过渡阶段的衍生物。 简称平面运行时(PRT=pale/plain runtimte)

Core:[Python Erlang .Net Core ]+Relay:[Rust Node JVM] - call-> s6rt <-> Base[ J{Kdb+/q}, Rust, TypeScript/Node, erlang/BEAM, .Net Core, JVM/Kotlin ] +Ext[Perl Lua Julia PHP C++/Qt Forth]

4b5ent1 commented 5 years ago

注:先写PL并不是说要先实现PL,而是因为在中文编程讨论组里先顺便想到了而已。先实现的肯定还是DSL输入法。设计稿的顺序前半部分刚好跟实现顺序是反过来的,所以分段reverse就是实际顺序了。

设计稿:后期补全顺序

part1:GDPL / PRT;part2:第三硬件抽象层HAL3,空间I/O(solid/space IO=sio); part3:输入法s6k;part4/协议规范:信息流,数据阵列; part5:三元文/C3,一元二次言/L1R2[lang1rank2],二元语/P2[plain2],三元语/D3[dimension3]; part5:通用运行时SRT

4b5ent1 commented 5 years ago

注2:PRT的P应该是plain/programming?哦上面写了。是plain/pale

lg6s commented 5 years ago

现阶段的实现顺序是:part3:s6k,part1:GDPL/ld2;s6k中期,要实现vscode插件移植

关于ld2:https://github.com/program-in-chinese/overview/issues/89