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

决定暂停开发 GeekApk 一个月 #2

Open
duangsuse opened this issue Dec 29, 2017 · 11 comments
Open

决定暂停开发 GeekApk 一个月 #2

duangsuse opened this issue Dec 29, 2017 · 11 comments

Comments

@duangsuse
Copy link
Collaborator

🌚 由于最近认识了 dalao @ice1000
我会先学习一下( ((
所以暂时回到 Minlang 这坑 一段时间

回来做大概就是快放长假了?(
感谢 @unnamed5719 @losfair 的 关注
(当然我可能偶尔还写一点 同时欢迎 PR)

@ghost
Copy link

ghost commented Dec 29, 2017

...阅
@ivanilla

@ghost
Copy link

ghost commented Dec 29, 2017

你 API 文档都没写完
要不你把这个 API repo 转移给组织,这样我们就可以继续了。

@ice1000
Copy link

ice1000 commented Dec 29, 2017

需要 ref, bnf, type system 和砍掉的特性以及理由

AST 层提供 API 吗,准不准备做 JIT

@duangsuse
Copy link
Collaborator Author

@ivanilla 如果愿意的话可以

@ghost
Copy link

ghost commented Dec 29, 2017

@duangsuse 那你现在就转移 repo

@duangsuse
Copy link
Collaborator Author

duangsuse commented Dec 29, 2017

@ice1000

需要 ref, bnf, type system 和砍掉的特性以及理由
AST 层提供 API 吗,准不准备做 JIT

第一次 等待探索。
JIT 不存在的(如果你是说 MinVM , JIT 要增加太多的体积(即使是 JIT 到 JVM Bytecode)
AST 不可能不提供 API, 实际上 Tokenizer/Parser 和 Compiler 项目层面是独立的

@duangsuse
Copy link
Collaborator Author

@ivanilla OK

@ice1000
Copy link

ice1000 commented Dec 29, 2017

你这是运行在jvm上?

@duangsuse
Copy link
Collaborator Author

你这是运行在jvm上?

嗯? 🌚

@ice1000
Copy link

ice1000 commented Dec 30, 2017

啊,话说我终于搞懂了鸡巴的语言插件的设置方法,以及它的Parser那些是咋回事。。。
等高亮做出来之后吹一波 😄

运行在 JVM 上的话,可以动态生成字节码然后调用哦。
Lice我都有这个打算的,现在本身就有一些很先进的地方,比如可以 bindMethodsOf

以及标准库是这么写出来的

public final fun `!`(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Boolean { /* compiled code */ }
public final fun `!==`(it: kotlin.collections.List<kotlin.Any?>): kotlin.Boolean { /* compiled code */ }
public final fun `&`(list: kotlin.collections.List<kotlin.Any?>): kotlin.Int { /* compiled code */ }
public final fun `&&`(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Boolean { /* compiled code */ }
public final fun `===`(it: kotlin.collections.List<kotlin.Any?>): kotlin.Boolean { /* compiled code */ }
public final fun `^`(list: kotlin.collections.List<kotlin.Any?>): kotlin.Int { /* compiled code */ }
public final fun eval(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Any? { /* compiled code */ }
public final fun exit(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Unit { /* compiled code */ }
public final fun `load-file`(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Any? { /* compiled code */ }
public final fun print(ls: kotlin.collections.List<kotlin.Any?>): kotlin.Unit { /* compiled code */ }
public final fun rand(it: kotlin.collections.List<kotlin.Any?>): kotlin.Double { /* compiled code */ }
public final fun sin(it: kotlin.collections.List<kotlin.Any?>): kotlin.Double { /* compiled code */ }

然后这些东西就可以直接在 Lice 里面用 :trollface:

@duangsuse
Copy link
Collaborator Author

半个月准备重启开发了 🌚

Minlang 那里看起来设计基本稳定了 而且居然连着两天没有更新了....
技术上不会有什么困难 但是没有太多时间了... 这样一个月以后可能一行代码没动

我当然希望先做那个.... 但现在想想 其实可以携程 🌝 ...
GA 的设计依然没有变化 需要写好文档就是了
结束。

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