duangsuse::Echo
今天上午考虑了一下非解释器相关的事情
语言生态相关的,考虑了所有解释器平台和、语言基础开发工具、项目基本库、社区项目的事情
解释器平台决定了这些:
其中以
Ruby Python
JVM(Kotlin) CLR(C#)
JavaScript Lua Bash Racket
C Crystal
其中以
Ruby Kotlin JavaScript Crystal 为主
duangsuse::Echo
解释器平台决定了这些: Ruby Python JVM(Kotlin) CLR(C#) JavaScript Lua Bash Racket C Crystal 其中以 Ruby Kotlin JavaScript Crystal 为主
另外还考虑了开发工具和项目一般必须的库的事情
至于开发工具这些其实也没有想什么(逃跑
决定了一些库,至于开发工具以后会再考虑:
LDK 作为开发工具包项目名,比如更好用的 Lime REPL 兼调试器,AST Viewer 等
std Lime 标准库,提供基础类库, 使用 Lime 编写
Lake 类似与 Ruby 的 Rake, 作为构建工具, 使用 Lime 编写
Juice 类似 Ruby 的 Gem, 依赖和包管理工具, 至于怎么分发依赖参考了 Crystal Shards 和 Rust crates , 依赖 Github 的服务, 使用 Lime 编写
Suger 项目是 Slime -> Lime 的 transpiler, slime 看起来是这样的,也使用 Lime 编写:
它给 Lime 提供这样几个顶级函数:
Drlime 项目是 Lime 未来的主要用途之一,让 基于 Slime 的 Android 开发更简单
🌑 没时间了.... 晚上再
至于开发工具这些其实也没有想什么(逃跑
决定了一些库,至于开发工具以后会再考虑:
LDK 作为开发工具包项目名,比如更好用的 Lime REPL 兼调试器,AST Viewer 等
std Lime 标准库,提供基础类库, 使用 Lime 编写
Lake 类似与 Ruby 的 Rake, 作为构建工具, 使用 Lime 编写
Juice 类似 Ruby 的 Gem, 依赖和包管理工具, 至于怎么分发依赖参考了 Crystal Shards 和 Rust crates , 依赖 Github 的服务, 使用 Lime 编写
Suger 项目是 Slime -> Lime 的 transpiler, slime 看起来是这样的,也使用 Lime 编写:
class Foo
intialize(a, b)
@a = a
@b = b
end
def to_s
"#{a}.#{b}"
end
attr :a, :b
end
foo = Foo.new :simple, :bar
p foo.a
它给 Lime 提供这样几个顶级函数:
(srequire ./a.slime)
(sparse "a.b")
(expand (scompile (sparse "1")))
Drlime 项目是 Lime 未来的主要用途之一,让 基于 Slime 的 Android 开发更简单
src/app.slime
require 'drlime'
class App < Drlime::AppBase
end
🌑 没时间了.... 晚上再
duangsuse::Echo
另外还考虑了开发工具和项目一般必须的库的事情 至于开发工具这些其实也没有想什么(逃跑 决定了一些库,至于开发工具以后会再考虑: LDK 作为开发工具包项目名,比如更好用的 Lime REPL 兼调试器,AST Viewer 等 std Lime 标准库,提供基础类库, 使用 Lime 编写 Lake 类似与 Ruby 的 Rake, 作为构建工具, 使用 Lime 编写 Juice 类似 Ruby 的 Gem, 依赖和包管理工具, 至于怎么分发依赖参考了 Crystal Shards 和 Rust crates…
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
经过了一年多的完善,Dir 也走向了它的终点。由于我的时间和技术的问题,我们很遗憾地向大家宣布——Dir 永久停更了。非常感谢大家使用和支持 Dir,也很感谢大家为 Dir 所做的贡献,也感谢 Dir 这一年多来的陪伴,但是我们也只能说再见了。在今后几天中,我们将会发布 Dir 善后事宜,望大家关注。最后,祝大家节日快乐。
此致
敬礼 Yuuta 2018 年 4 月 1 日 9:15 AM,GMT+8
此致
敬礼 Yuuta 2018 年 4 月 1 日 9:15 AM,GMT+8
duangsuse::Echo
动苏看到这里又想写些什么,想到之前说好不写又算了… 🙈
啊那那条消息当愚人节玩笑吧,下面继续更新 JLime DLI 相关内容((
Lime 即使就现在来说支持那么多平台也太耗了,索性专为 JVM/Android 做 JLime 平台
宏展开器命名为 DLI (Duangsuse's Lime Implementation)
… 说了这么多感觉没什么实质上的东西…
下面变更干货(明天
🙈. 今天又双没跑步
宏展开器命名为 DLI (Duangsuse's Lime Implementation)
… 说了这么多感觉没什么实质上的东西…
下面变更干货(明天
🙈. 今天又双没跑步
duangsuse::Echo
Lime 即使就现在来说支持那么多平台也太耗了,索性专为 JVM/Android 做 JLime 平台 宏展开器命名为 DLI (Duangsuse's Lime Implementation) … 说了这么多感觉没什么实质上的东西… 下面变更干货(明天 🙈. 今天又双没跑步
目的就是彻底取代现在 Android 上的闭源/开源不友好/生态不做好 的轻量应用开发平台 Androlua+、iApp、AndroluaJ 等
duangsuse::Echo
目的就是彻底取代现在 Android 上的闭源/开源不友好/生态不做好 的轻量应用开发平台 Androlua+、iApp、AndroluaJ 等
Lime 使用极小的运行时、优雅的 Slime 语法糖和 Slime 自定义语法、众多类似 Ruby 的技巧可以在快速开发方面吊打 luajava
完全不依赖 Native, 与 Java 可以实现几乎无缝操作
Slime
Lime Sexpression
(require 'std/ffi/java)
(-> 'Foo (java.load "#{__DIR__}/foo.class"))
(-> 'a (Foo.new 3))
(puts a.fun)
(send ([] a 'val) :'allow_private= 3)
(puts (send ([] a 'val) :'allow_private))
完全不依赖 Native, 与 Java 可以实现几乎无缝操作
java
package org.example
class C {
int val;
C(int v) { this.val = v; }
int fun() { return this.val; }
}
Slime
require 'std/ffi/java'
Foo = java.load '#{__DIR__}/foo.class' # std::ffi::Java::JavaClass
a = Foo.new 3 # std::JavaObject
puts a.fun
a['val'].allow_private = 3
puts a['val'].allow_private
Lime Sexpression
(require 'std/ffi/java)
(-> 'Foo (java.load "#{__DIR__}/foo.class"))
(-> 'a (Foo.new 3))
(puts a.fun)
(send ([] a 'val) :'allow_private= 3)
(puts (send ([] a 'val) :'allow_private))