才想起来那个是叫『侵入式协程』…… 还记得那有个『透明XX』的名词,比如『透明代理』是都无法区别有没有 的代理……
然后,我忘记 coroutine 名词的创立时间了
Scheme 的也忘了,都是后来查的
ADCE 好像也是说『侵入式』的 dead code elimination
然后,我忘记 coroutine 名词的创立时间了
Scheme 的也忘了,都是后来查的
ADCE 好像也是说『侵入式』的 dead code elimination
/tmp/duangsuse.sock
我真是不想对这种代码说什么了。 #Java #statement 从 Eclipse 上都可以看得出,『Java 软件工程』简直是个笑话,通通的过度设计。 从设计模式上来讲,Eclipse IDE 可以说是很遵循教科书了,可惜还是 IDEA 技高一筹,不仅提供花样繁多的 refactor,而且带各种 inspection、quick fix、智能感知,界面还简洁、不是像宇宙一样过度混杂,这点 Eclipse 可以说是数十年没有长进。 我不是很了解,当前也没啥资料可以翻阅,不过 IDEA 既然做得好,当然是有做得好的缘由的。…
Java 的 checked exception 主要问题还是,
(1) 我们经常明明知道异常在调用正常时不会发生,但还不得不被迫『检查』它们出现的情况
有人说 Java 的 checked exception 更像包含 Ok, Err 两个情况的 Result,反正都必须定义所有情况的处理方式,不会未定义就是了。
不检查相当于断言一定成功,失败了大概就是选择死亡
检查了相当于静态判断成功与否,但很冗长
(2) 有时候你只是想
(3) 有的异常其实本来可以是不受检的 RuntimeException,但 Java 给了框架滥用强制检查的可能性,
或许一些 Java 类并不占多大地方,但每个类源文件,都必须 import 某个 Exception subclass,或者干脆一个包的全引入进来,导致余赘、含过长命名代码的产生。
或许 Kotlin 不用 checked exception,也是一种滥用,但它的确是最佳 workaround
最重要的是,Kotlin 的 nullability T? 在类型和基本分支操作层面完全解决了许多 Exception 的问题,让能写一行的代码写进一行里,而不是只能用 Excepion,不会造成过度设计、区分太开但从不实际使用的问题。
Java8 加了 lambda,可惜根本不能和 Kotlin 式能直接支持 EDSL 的 "block" 比。
emmm
(1) 我们经常明明知道异常在调用正常时不会发生,但还不得不被迫『检查』它们出现的情况
有人说 Java 的 checked exception 更像包含 Ok, Err 两个情况的 Result,反正都必须定义所有情况的处理方式,不会未定义就是了。
不检查相当于断言一定成功,失败了大概就是选择死亡
检查了相当于静态判断成功与否,但很冗长
(2) 有时候你只是想
e.printStackTrace(); 但每个 catch 都要把这个写下来,即便明明知道 catch 的都是 Exception 的子类型(1.7 引入 multi-catch 解决了这个问题)(3) 有的异常其实本来可以是不受检的 RuntimeException,但 Java 给了框架滥用强制检查的可能性,
或许一些 Java 类并不占多大地方,但每个类源文件,都必须 import 某个 Exception subclass,或者干脆一个包的全引入进来,导致余赘、含过长命名代码的产生。
或许 Kotlin 不用 checked exception,也是一种滥用,但它的确是最佳 workaround
最重要的是,Kotlin 的 nullability T? 在类型和基本分支操作层面完全解决了许多 Exception 的问题,让能写一行的代码写进一行里,而不是只能用 Excepion,不会造成过度设计、区分太开但从不实际使用的问题。
Java8 加了 lambda,可惜根本不能和 Kotlin 式能直接支持 EDSL 的 "block" 比。
emmm
Forwarded from Deleted Account
Wikipedia
Model-free (reinforcement learning)
type of machine learning algorithm
Forwarded from 提皮tp ┃
紧急扩散。昏睡红茶消灭病毒非常非常有效。
114.514%的昏睡粉末装在胶囊或小块里,每次1919毫克,每天810粒 可以杀灭肺炎病毒。
这是下北泽野兽学家 李田所 在自家阳台研发出的偏方。已经治愈了各种病。
扩散,让大家自救
114.514%的昏睡粉末装在胶囊或小块里,每次1919毫克,每天810粒 可以杀灭肺炎病毒。
这是下北泽野兽学家 李田所 在自家阳台研发出的偏方。已经治愈了各种病。
扩散,让大家自救
Forwarded from 🌕🌖🌗🌘🌑🌒🌓🌔🌕
MMS使用手册.pdf
5.9 MB
紧急扩散。次氯酸消灭病毒非常非常有效。
75%的次氯酸钙粉末装在胶囊里,每次800毫克,每天8粒 可以杀灭肺炎病毒。
这是美国冶金学家吉姆汉博的偏方。已经治愈了各种病。
扩散,让大家自救。🥺🥺🥺🥺
75%的次氯酸钙粉末装在胶囊里,每次800毫克,每天8粒 可以杀灭肺炎病毒。
这是美国冶金学家吉姆汉博的偏方。已经治愈了各种病。
扩散,让大家自救。🥺🥺🥺🥺
Forwarded from 2019-nCoV疫情实时播报🅥
永久封存 | Yuuta 台 | 😷 #Pray4Wuhan
https://t.me/status_is_changing/26417 🌚
dev 现在没 IDEA
络老出故障,name lookup error,很恼人
键盘连个 (2+1) 都打不出来
真的很困难啊。
还是当萌豚好了
络老出故障,name lookup error,很恼人
键盘连个 (2+1) 都打不出来
真的很困难啊。
还是当萌豚好了
Forwarded from 《一天世界》博客 (Lawrence Li)
对于这次新型冠状病毒,作为普通人(即职业不是记者),应该把「不转任何截图」作为原则。要传递任何信息,只发链接。若认为对方有可能打不开链接,可以补发截图。但链接不能少。
/tmp/duangsuse.sock
Kotlin 基本写不出来,速度太慢了
悼念一下开发: #dev #PLT
其实这一次我的速度很慢,不过就一些掺杂进的小思考而言,智商是没有下降的(迫真
本苏这几天也有点心累,要知道我现在的设备性能很差,而且键盘也有 dead key 的问题(经常出现、偶尔正常)。
况且网络虽然基本认为可用但偶尔断线,这其中也有zf愚民政策和最近 nCoV 导致 GFW 激突的原因。
就理论而言,我觉得是没什么难的,包括 Lua 使用的是和我这次一样的 Lexical Scoping、存储分配方案。
解析器的架构上,就之前我在 jison、《看完这段 Kotlin 代码我哭了》相比,我抽提出了 Input 里所用的
(易混),就是在一个流里可递归 mark/reset 的时候,[a b c] [d e f] 需要在 reset 后能够按后入先出的顺序(因为栈是按逆序 pop 的,[d e f] 反而是先入栈)按照原有顺序弹出,
Input 还是分 RawInput: Feed, MarkReset 和 Input: RawInput, SourceLocated
大概咸久了也会导致动手能力下降、怕这怕那吧,我会振作起来的。
— UPDATE
ReverseStack 不该叫那名,addAll 容易造成在出队顺序上的混淆——Collection 里优先的项目在 Stack 里本该后弹出
该叫
mark/reset 的 stack 本身回溯被 ListStack 储存下来的流的过程,类似两个栈互相弹压逆序的过程
栈是后进先出,两个栈互相,第二个栈后面的项就是先进后出,回到原顺序了。
其实这一次我的速度很慢,不过就一些掺杂进的小思考而言,智商是没有下降的(迫真
本苏这几天也有点心累,要知道我现在的设备性能很差,而且键盘也有 dead key 的问题(经常出现、偶尔正常)。
况且网络虽然基本认为可用但偶尔断线,这其中也有zf愚民政策和最近 nCoV 导致 GFW 激突的原因。
就理论而言,我觉得是没什么难的,包括 Lua 使用的是和我这次一样的 Lexical Scoping、存储分配方案。
解析器的架构上,就之前我在 jison、《看完这段 Kotlin 代码我哭了》相比,我抽提出了 Input 里所用的
ReverseStack 结构(易混),就是在一个流里可递归 mark/reset 的时候,[a b c] [d e f] 需要在 reset 后能够按后入先出的顺序(因为栈是按逆序 pop 的,[d e f] 反而是先入栈)按照原有顺序弹出,
interface ReverseStack<T> { fun addAll(items: Collection<T>); fun removeLast(): T }
至于 Feed 的 peek/consume、SliceFeed/IteratorFeed、JVM 特例的 InputStreamFeed 就不必说,和以前一样Input 还是分 RawInput: Feed, MarkReset 和 Input: RawInput, SourceLocated
大概咸久了也会导致动手能力下降、怕这怕那吧,我会振作起来的。
— UPDATE
ReverseStack 不该叫那名,addAll 容易造成在出队顺序上的混淆——Collection 里优先的项目在 Stack 里本该后弹出
该叫
ListStack<E>, addAll(Collection<E>) + removeLast():E mark/reset 的 stack 本身回溯被 ListStack 储存下来的流的过程,类似两个栈互相弹压逆序的过程
栈是后进先出,两个栈互相,第二个栈后面的项就是先进后出,回到原顺序了。