Forwarded from dnaugsuz
不清楚,据说他们有递归类型(recursive type)
当时看冰封一个读者写的文章,是 Typed Racket 用 Union/Recursive Type 写的 Visitor(Finally Tagless) 真的是好难懂啊:
当时看冰封一个读者写的文章,是 Typed Racket 用 Union/Recursive Type 写的 Visitor(Finally Tagless) 真的是好难懂啊:
(new-struct Int ([n:Integer]))—
(new-struct Add(a) ([l:(Ast a)] [r:(Ast a)]))
(define-type (a) Ast (U Int (Add a) ) );当然是数学的那个Union
(: eval-ast (All(a) (Rec(r) (r a -> Integer)) ((Ast a) -> Integer) )) ;大概是这样就直接后面又写了宏啊什么的,真的太大佬了
(define eval-ast (visit t)
(match (t) [
((Int x) x)
((Add l r) (+ (visit visit l) (+ visit visit r)))
]))
Forwarded from dnaugsuz
TS在scale也就多点overload吗,你看名字都是type为什么不是typed呢
dnaugsuz
能指望大佬给自己讲问题实在是太不成熟了,他们只是记录自己的见识而已
能指望自己讲的问题能有人看并且点赞的话实在是太幼稚了,我终于知道前辈不讲好,是因为你腆着脸贴上去也没人看的。索性傲娇一点,唉。 #statement
我觉得写这些东西看起来也并非看不懂啊……刻意把语气放缓了不少,感觉没人来跟我说说有啥提问或者感受。
还是ice1000的资深JVM/函数式程序员flag或者王垠的清华CS学生头衔好用,不过好歹也破0赞啊喂! 😭
还是ice1000的资深JVM/函数式程序员flag或者王垠的清华CS学生头衔好用,不过好歹也破0赞啊喂! 😭
Forwarded from Deleted Account
真是莫名其妙,其实ES6的Promise一句话就说明白了:同时解决回调函数嵌套地狱和错误处理问题,Promise有三种状态即pending、resolved、rejected;创建即任务开始第一态,用(多个)then方法指定成功回调处理流、catch指定失败的、finally指定都有的。然后有静态方法Promise.all等待全部,race选取首个,也可以调用done()来指定抛出异常的默认catch。
https://zhuanlan.zhihu.com/p/165419449 #PLT #dev #china 🤔 思量着什么时候给大家讲讲
也不知道有没有用 acronjs 之类的解析器,反正它
也不知道有没有用 acronjs 之类的解析器,反正它
export { (a)/*:(b)*/ } 的模式我相信只要用 regex 预处理也不是不可以……知乎专栏
君土母语编程系统0.1发布
介绍 君土(jtu.net.cn)是一个母语编程集成软件开发系统,让人们使用母语学习编程、开发互联网应用。 君土实现了一种母语编程技术,通过这种技术人们可以用母语(中文、英文、阿拉伯文和西班牙文等)来编写各种应…
#GitHub #Java https://github.com/jindrapetrik/jpexs-decompiler/pull/86
代码编辑比 dnSpy 要弱一些(不能按函数单位改写代码)
但是说到底,作为要学编译原理的人我写不出反编译器和混淆检测应该说还是很尴尬的…… 😫
给它加了个批量替换(我用这个除掉了一堆sprite里的水印文字)
不过现在我破解了Print2Flash的复制限制,去水印也无所谓了,嘿嘿。
这个PR开始的时候我是打算在批量替换程序里用
后来我发现自己写的
代码编辑比 dnSpy 要弱一些(不能按函数单位改写代码)
但是说到底,作为要学编译原理的人我写不出反编译器和混淆检测应该说还是很尴尬的…… 😫
给它加了个批量替换(我用这个除掉了一堆sprite里的水印文字)
不过现在我破解了Print2Flash的复制限制,去水印也无所谓了,嘿嘿。
这个PR开始的时候我是打算在批量替换程序里用
Map<Class<? extends TreeItem>, File> 的(然后 getOrPut 或者说 if (!containsKey(k)) map.put(k, init()); op(map.get(k)) 嘛)后来我发现自己写的
Predicate<Predicate<TreeItem>> 是 if if ... forall instanceof T 也就是 getSelected 只有单类型的情况就改成 file = showImportFileChooser(when (items[0])) 了GitHub
Enable bulk replace for single typed tags by duangsuse · Pull Request #86 · jindrapetrik/jpexs-decompiler
in taglist context menu
duangsuse::Echo
#reveng #flash #web 酷!好久没用的老滑头,居然又能派上用场了…… 本来以为 flash 对字形处理特殊只能OCR的,看来省了。
说起来,最近 Tesseract OCR 的准确率又下降了不少,简直莫名其妙…… 好像输入图像还能修改训练数据一样
duangsuse::Echo
#reveng #flash #web 酷!好久没用的老滑头,居然又能派上用场了…… 本来以为 flash 对字形处理特殊只能OCR的,看来省了。
单id多子row的row 还真是头疼…… 没见过数据处理里这样的结构
最近也是见到了一大堆新东西,感觉还要努力啊
最近也是见到了一大堆新东西,感觉还要努力啊
duangsuse::Echo
#reveng #flash #web 酷!好久没用的老滑头,居然又能派上用场了…… 本来以为 flash 对字形处理特殊只能OCR的,看来省了。
在 print2flash_fla.MainTimeline.OnDocAreaKeyDown:59 行后面插入以下 P-code
然后在 print2flash_fla.MainTimeline.SetMouseMode:24 后删掉下面的
……啊不对, DefineBinaryData 里 Settings2_ 的内容必须有
findpropstrict Qname(PackageNamespace(""),"SetMouseMode")
pushstring "select"
callpropvoid Qname(PackageNamespace(""),"SetMouseMode") 1 然后在 print2flash_fla.MainTimeline.SetMouseMode:24 后删掉下面的
returnvoid
frame2:1009 代码getlex Qname(PackageNamespace(""),"autonomous")
convert_b ;改成 pop pushtrue
dup
iffalse ofs0a55
pop
getlex Qname(PackageNamespace("flash.external"),"ExternalInterface")
getproperty Qname(PackageNamespace(""),"available")
convert_b ;改成 pop pushtrue (滑稽,这个方式相当直白)
ofs0a55:iffalse ofs0c8d ;注:二重跳转所以上面autonomous给dup了一次
按左键就可以启用被隐藏的复制模式了……啊不对, DefineBinaryData 里 Settings2_ 的内容必须有
<P2FSet Orientation="1" PageMode="0"/>,不然没有复制菜单项,大概在能启用复制模式后是这样而已。
像是这样…… 明天我会写个解析器试着把多子行的表给读出来,虽然有数据了没爬虫也是白搭吧…… 呃,如果只是把网页下载下来然后查关键词 filter,我应该做得到。