duangsuse::Echo
719 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
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 编写:

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

🌑 没时间了.... 晚上再
不写了不写了
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
经过了一年多的完善,Dir 也走向了它的终点。由于我的时间和技术的问题,我们很遗憾地向大家宣布——Dir 永久停更了。非常感谢大家使用和支持 Dir,也很感谢大家为 Dir 所做的贡献,也感谢 Dir 这一年多来的陪伴,但是我们也只能说再见了。在今后几天中,我们将会发布 Dir 善后事宜,望大家关注。最后,祝大家节日快乐。

此致

敬礼 Yuuta 2018 年 4 月 1 日 9:15 AM,GMT+8
可惜了
虽然 GeekApk 不用担心(我不再有时间问题了,就这个项目也没有技术问题)…

不过我的未来就需要担心了 🙈… 或许这也是唯一能做的最佳选择吧
Forwarded from Richard Yu
愚人节了解一下
(今天上午才想到今天是愚人节什么的
duangsuse::Echo
动苏看到这里又想写些什么,想到之前说好不写又算了… 🙈
啊那那条消息当愚人节玩笑吧,下面继续更新 JLime DLI 相关内容((
又积累了一些变更,主要是修复向的
(同时估计因为持久化不及时恐怕也有些设计丢失了233
Lime 即使就现在来说支持那么多平台也太耗了,索性专为 JVM/Android 做 JLime 平台
宏展开器命名为 DLI (Duangsuse's Lime Implementation)

… 说了这么多感觉没什么实质上的东西…
下面变更干货(明天

🙈. 今天又双没跑步
#PL 🌚emmmm
Forwarded from LWL 的基地台
太过分了,一定要发 telegram
duangsuse::Echo
目的就是彻底取代现在 Android 上的闭源/开源不友好/生态不做好 的轻量应用开发平台 Androlua+、iApp、AndroluaJ 等
Lime 使用极小的运行时、优雅的 Slime 语法糖和 Slime 自定义语法、众多类似 Ruby 的技巧可以在快速开发方面吊打 luajava
完全不依赖 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))
This media is not supported in your browser
VIEW IN TELEGRAM
#life 电脑要回来了 🌝
今天开始全职写代码....
This media is not supported in your browser
VIEW IN TELEGRAM