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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from Deleted Account
[hcl.pc] 他给的理由反正就是这些东西很难调试(Debug)
Forwarded from Deleted Account
[niconiconi] 0day 一出天地灭,赶紧下线保平安
Forwarded from Deleted Account
[niconiconi] 内核做,黑客看,Linus Torvalds 留隐患!
Forwarded from Deleted Account
[hcl.pc] 我没有接触过内核开发,但是我想知道这些 hardening 的东西是否真的很难调试(debug)
Forwarded from Deleted Account
[niconiconi] hcl.pc: 非常困难
Forwarded from Deleted Account
[niconiconi] hcl.pc: 基本上问题都是随机出现
#project 一个还没有推广的项目计划暂时停坑了…
本来设计已经比较明确了,
部分优化,OpCodes,编译器,面向对象,语法糖

设计实现什么的 已经计划好了…

之前一个比较难解决的Lambda in MinVM问题也成功以相对较低的性能损耗设计好了(
当然如果好奇怎么设计的欢迎来问

在做成前不想搞大新闻然后被大佬批判一番…

而且这个也有点“不务正业”的感觉(因为之前的计划并没有完成

主要是因为 不能熬夜 而且学校花掉很多时间 无法供应相应文档编写和实现什么的…

方便大家理解这个项目 我就列一点微小的工作,还有很多漏洞等待弥补:

//Min
def func()
puts
end
func //Function call
//MinVM Assembly
.goto指令会在执行时自动被翻译为jump
goto func_end
:tag func
scope
puts
scope_end
:tag func_end
goto func

//lambda
10.times do i
puts i.toString
end
//MinVM Assembly
.call-x 意味着调用寄存器内对象的方法
.寄存器里存 vector 是参数传递的一种方法(
lambda:
vec-pop
.这个命名冲突还尚待解决…
move __arg0
get __arg0
call-x toString
move-result
puts
move __lambda
new-int 10
goto int_t_init
move __int_t_init_result
vec-new
vec-push __int_t_init_result
vec-push __lambda
goto int_ttimes
duangsuse::Echo
//省略部分 class int def _init(val) @value=val end def times(c) i=@value while i > 0 do invoke c i-- end end end
虽然我不是编译器( 但是我猜一下编译后的:

map-new int_t

.ctor
lambda:
scope int:_init
vec-pop
move __arg0
get int_t
map-add value __arg0
scope_end
move __int:_init
get int_t
map-add int:_init __int:_init
.method times(func)
lambda:
scope
vec-pop
move __self
vec-pop
move __arg0
get __self

:tag while_i_>_0
lambda:
begin __arg0
get __self
map-index value
calc-sub
move __result
get __self
map-move value __result
move __lambda
get __self
map-index value
op-gtz?
if __lambda
:tag while_i_>_0_end
scope_end
map-add int:times __int:times

🙈后面头都晕了
可怜没有更多时间给我去写MinVM了,也没有时间设计编译器了
duangsuse::Echo
虽然我不是编译器( 但是我猜一下编译后的: map-new int_t .ctor lambda: scope int:_init vec-pop move __arg0 get int_t map-add value __arg0 scope_end move __int:_init get int_t map-add int:_init __int:_init .method times(func) lambda: scope vec-pop move __self vec-pop…
嗯后面还有一个东西要写🌚
不写了 手动编译器duangsuse(
.后面是注释,对虚拟机没有任何意义(
λ的优化是lazy_compile 用到时才编译,否则只是普通的Min VM汇编代码而已, 所谓lambda只不过是一个包含相应lambda命令序列索引的JavaObject而已(
要写的就是为了导出方法的stub function(
面向对象的方法和Lua差不多
本来还打算搞个AOT(2Java Bytecode MVM的
根本没时间设计
参考的程序设计语言有HouLang, Ruby, Lua, BeanShell, Lemon这些 可惜就没时间设计实现了😐
Forwarded from 五黄鼠的毛绒绒实验室 (LabRat)
当一个人正在给 Python 程序装依赖,却心不在焉时。

Reply
Forwarded from 乙烷日报
#后续 “平安朝阳”刚刚发布的“情况通报”
Forwarded from METO 的涂鸦板
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from METO 的涂鸦板
“防止低端人口的过度聚集”在北京市政府文件被多次提及 🇨🇳
被北京消灭掉的穷困人民 duangsuse #China