Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S6RT-系统原型设计稿 #1

Open
4b5ent1 opened this issue Aug 9, 2018 · 3 comments
Open

S6RT-系统原型设计稿 #1

4b5ent1 opened this issue Aug 9, 2018 · 3 comments

Comments

@4b5ent1
Copy link
Member

4b5ent1 commented Aug 9, 2018

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

语法设计

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

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

  • Symbolic[main: Mathematica/WolframAlpha 80% - APL/J/K/Kdb+/Q 20%
  • C-like: Julia+Python3.5 40% - Haxe/TypeScript 60%
  • Symbolic/Logic/FP: prolog/erlang/Elixir 70% - Rust 30%
  • Java-style: .Net Core/C# 35% - JVM/Kotlin 35% - Else25%:Perl6/正则 15%,Forth 10%

平台规范:

备注:只有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 4b5ent1 changed the title 系统原型设计稿 S6RT-系统原型设计稿 Aug 10, 2018
@4b5ent1
Copy link
Member Author

4b5ent1 commented Aug 11, 2018

注:先写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

This comment has been minimized.

@lg6s
Copy link
Member

lg6s commented Sep 22, 2018

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

关于ld2:program-in-chinese/overview#89

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants