Forwarded from dnaugsuz
是的,但是 Java 暴露 super/extends 的限界约束甚至 intersection superextends(upper bound) ,没有声明处型变(declaration site variance)
^嗯不对,insect type 是 Kt 的术语,Java 的是 multiple bounds
但我目前没找到非 extends A&B 的用法
给实际编程造成了巨大麻烦,也没有把这个概念改造得好到哪里去。我还是觉得 Kotlin 干得漂亮,掩藏了这些复杂性😘
^嗯不对,insect type 是 Kt 的术语,Java 的是 multiple bounds
但我目前没找到非 extends A&B 的用法
给实际编程造成了巨大麻烦,也没有把这个概念改造得好到哪里去。我还是觉得 Kotlin 干得漂亮,掩藏了这些复杂性😘
Oracle
Bounded Type Parameters (The Java™ Tutorials >
Learning the Java Language > Generics (Updated))
Learning the Java Language > Generics (Updated))
This beginner Java tutorial describes fundamentals of programming in the Java programming language
Forwarded from dnaugsuz
上逆变 是什么😳
(T as T1) 的转换?如果是类型安全的话就子类型兼容了,为什么要靠强转断言类型安全?
嗯…… 如果你说有类型损失的,需要断言回来(UnsafeVariance),我这有个例子 ,但是代码复用整到这个程度,估计也没谁了🌚(草
items 的是 <out T>, 如果安全的话就把 out 去掉,但那就不能真正做到 Tuple 的复用了。
我能断言指定 items[i] 位置的 func 可以接受 T ,因为它本来就是被取并集损失了精度的,于是写了
很多人始终不会遇到这种问题,老实说这已经属于很极端的代码复用设计了😒
(T as T1) 的转换?如果是类型安全的话就子类型兼容了,为什么要靠强转断言类型安全?
嗯…… 如果你说有类型损失的,需要断言回来(UnsafeVariance),我这有个例子 ,但是代码复用整到这个程度,估计也没谁了🌚(草
items 的是 <out T>, 如果安全的话就把 out 去掉,但那就不能真正做到 Tuple 的复用了。
我能断言指定 items[i] 位置的 func 可以接受 T ,因为它本来就是被取并集损失了精度的,于是写了
(items[i] as Consumer<@UnsafeVariance in T>).accept(v) 的这种代码,其实它本身就是 in, 但为了写存储的兼容被迫暂作 out 了而已。很多人始终不会遇到这种问题,老实说这已经属于很极端的代码复用设计了😒
GitHub
ParserKt/ParserKt
Naive one-pass recursive descent, scannerless parser framework for Kotlin - ParserKt/ParserKt
Forwarded from LetITFly News (LetITFly 让技术飞)
https://t.me/vikacg/1178
如今,Hosts 文件 / SNI 服务器 / DNS(包括 DNS over TLS/HTTPS)均不应视为科学上网的手段。
如今,Hosts 文件 / SNI 服务器 / DNS(包括 DNS over TLS/HTTPS)均不应视为科学上网的手段。
Telegram
維咔VikACG
我们注意到,自从360推出自家的DoH(DNS over https)后,cloudflare和Google的doh服务正在中国大陆各地被陆续屏蔽,我们也认为两者之间可能并没有任何关系,只是时间上过于巧合。所以身在中国大陆的您需要注意的是,在之后您可能只能通过科学上网(VPN)访问维咔主域名,而非doh(安全DNS/私人DNS)
Forwarded from Rachel 的消息发布站点 (Rachel 看到我请去复习)
这么多天没一个 commit 的原因是在整这玩意儿:
https://github.com/Rachel030219/YibanSubmission
是我校每日易班健康打卡的小工具,理论上订阅频道的各位用不上,但是如果碰巧各位打卡流程也是「易班→易班校本化→每日健康打卡」,那么这个小工具在简单地修改后应当也能派上用场。
我认识的几位学长的支持与贡献是这个应用的基础,特此感谢。
值得一提的是,这是我写过网络请求最乱最脏最重、UI 最「缝合怪」以及含有最多动画的应用。
https://github.com/Rachel030219/YibanSubmission
是我校每日易班健康打卡的小工具,理论上订阅频道的各位用不上,但是如果碰巧各位打卡流程也是「易班→易班校本化→每日健康打卡」,那么这个小工具在简单地修改后应当也能派上用场。
我认识的几位学长的支持与贡献是这个应用的基础,特此感谢。
值得一提的是,这是我写过网络请求最乱最脏最重、UI 最「缝合怪」以及含有最多动画的应用。
GitHub
GitHub - Rachel030219/YibanSubmission: A tool to evolve Yiban's health submission experience.
A tool to evolve Yiban's health submission experience. - GitHub - Rachel030219/YibanSubmission: A tool to evolve Yiban's health submission experience.
Forwarded from dnaugsuz
看来我真的要吃土了
感觉这样下去被全盘复制到可能性很大啊,算符「是」都被取走了,要是逻辑算符否定和「逗号表示法」也被抄走我就完了,嘤嘤嘤
救救孩子😭
感觉这样下去被全盘复制到可能性很大啊,算符「是」都被取走了,要是逻辑算符否定和「逗号表示法」也被抄走我就完了,嘤嘤嘤
救救孩子😭
补充一下我真实的观点:绝句的新特性很多,但核心特性也不过七八个而已,我最看重的就是逗号表示法(囊括了逗句简写和「为」「其中」关键字)、逻辑算符否定、记法和类型推导,此外还有多语种API命名互译之类工具性的东西,所谓「人称文法」更多是一个提纲性、辅助学习者记忆的东西,本身无关键意义。
但是,其实我最看重的缩进语义「逗号表示法」,也是最难被抄走的——目前我自己也还在实验中,要设计的边角情况很多,如果真的有人能写出来,我只能是崇敬大于嫉妒了,虽然我明白自己迟早会实现它。
之前的『文言编程语言』,我是一点都不慌张,因为它就是一位算法系前端倡导下一群前端共建的游乐园,不重视真正的表现力更惘谈 layout(缩进)等实用的学院派元素,无论在语法还是语言结构都不足以涉足应用编程,现在也一样。
不过也必须注意了……
但是,其实我最看重的缩进语义「逗号表示法」,也是最难被抄走的——目前我自己也还在实验中,要设计的边角情况很多,如果真的有人能写出来,我只能是崇敬大于嫉妒了,虽然我明白自己迟早会实现它。
之前的『文言编程语言』,我是一点都不慌张,因为它就是一位算法系前端倡导下一群前端共建的游乐园,不重视真正的表现力更惘谈 layout(缩进)等实用的学院派元素,无论在语法还是语言结构都不足以涉足应用编程,现在也一样。
不过也必须注意了……
不过呢,我发这么多不是因为嫉妒,只是因为心态有点摇摆;其实,中文的计算器我也写过,而且稍稍扩充下就可以兼容这个项目目前的示例🌝 但我也该警醒了
另外,(==) 翻译成「是」,其实是非常普遍的翻译方法,只有两成在用「等于」的直译,这层面没什么好推陈出新的。
没有人是可以永远站在相对较高的位置的,除非是一个比你小又比你强的大佬,那你就永远无法超过他了|・ω・`)😂
另外,(==) 翻译成「是」,其实是非常普遍的翻译方法,只有两成在用「等于」的直译,这层面没什么好推陈出新的。
没有人是可以永远站在相对较高的位置的
Telegram
duangsuse::Echo
两个大佬都比我聪明,都用了 Kotlin sequences 和大量的 infix notation ,而且是 LL(*) 的 (regex)tokenizer-parser 架构;并且,我也见到不少和函数式领域有交叉的名词(总之高大上就是了)
CakeParse 的包结构相当复杂,而且还用的是 CachedSequence<TokenInstance> …… 真不是一般的复杂,尤其是命名上。
better-parse 的 Tuple 和 And 用了 codegen(n_max, output) Gradle…
CakeParse 的包结构相当复杂,而且还用的是 CachedSequence<TokenInstance> …… 真不是一般的复杂,尤其是命名上。
better-parse 的 Tuple 和 And 用了 codegen(n_max, output) Gradle…
Forwarded from Deleted Account
HanCalc.jar
459.6 KB
[duangsuse@susepc libs]$ java -jar HanCalc.jar
> 1+12+32-
|三百三十三
= -288
duangsuse::Echo
补充一下我真实的观点:绝句的新特性很多,但核心特性也不过七八个而已,我最看重的就是逗号表示法(囊括了逗句简写和「为」「其中」关键字)、逻辑算符否定、记法和类型推导,此外还有多语种API命名互译之类工具性的东西,所谓「人称文法」更多是一个提纲性、辅助学习者记忆的东西,本身无关键意义。 但是,其实我最看重的缩进语义「逗号表示法」,也是最难被抄走的——目前我自己也还在实验中,要设计的边角情况很多,如果真的有人能写出来,我只能是崇敬大于嫉妒了,虽然我明白自己迟早会实现它。 之前的『文言编程语言』,我是一点都不…
如何评价 duangsuse “酸”人的心态😡
Anonymous Poll
29%
😑玩不起就别玩,怎么可以用这种心态对待同道
29%
🙄这种心态很不好,对他人项目应该支持和积极交流才对
14%
😓即便你创建并喜欢了一个事物,也不可以把它视为私有,尤其是在还没有面世的时候
0%
🐦我不相信你有能力实现你说得那个玩意,实现了又怎能和既有的比?
57%
🍉表示不懂你们在酸的是什么
dnaugsuz
https://github.com/CASC-Lang/CASC/tree/master/src/CASC/CodeParser 还好不是很成熟,可是绝句不能再快了啊
https://github.com/terrajobst/minsk#browsing-the-code #csharp #PLT (其亲项目, inspiration 来源)居然专门注册了 minsk-compiler.net 这个域名,也是够 rich... 不过 C# 程序员到底是很有心
GitHub
GitHub - terrajobst/minsk: This repo contains Minsk, a handwritten compiler in C#. It illustrates basic concepts of compiler construction…
This repo contains Minsk, a handwritten compiler in C#. It illustrates basic concepts of compiler construction and how one can tool the language inside of an IDE by exposing APIs for parsing and ty...