小编Mai*_*tor的帖子

在qtScript上JavaScript的setTimeout相当于什么?

没什么可补充的; 在qtScript上JavaScript的setTimeout相当于什么?

javascript timer settimeout qtscript

10
推荐指数
1
解决办法
3990
查看次数

什么是轻量级lisp方言编译成可读的js?

什么是使用JS自己的类型编译为简短,可读和可修改的JS的lisp方言?

javascript lisp scheme racket

10
推荐指数
2
解决办法
1235
查看次数

ImageMagick使用超过2GB的内存来转换PDF文件

ImageMagick正在使用大量内存来转换PDF文件 - 超过2GB.我正在使用的命令是:

convert -density 250 -resize 1280x myfile.pdf -interlace plane -strip -quality 40 -alpha flatten myfolder/myfile-%03d.jpg
Run Code Online (Sandbox Code Playgroud)

如何改进?我有1GB的限制,否则这个过程会被无情地杀死.):

memory resources converter imagemagick imagemagick-convert

10
推荐指数
1
解决办法
1万
查看次数

如何在GitHub上挑选拉出请求的5个提交中的2个?

我是GitHub的新手.有人提交了5次提交的拉取请求.但是其中3个有一点虫子,所以必须等待.如何为我的项目挑选其中的2个?

commit github pull-request git-cherry-pick

10
推荐指数
1
解决办法
3350
查看次数

如何解读本文中的输入规则?

这些打字规则出现在"关于基本线性逻辑的表达性:表征Ptime和指数时间层次"论文中:

打字规则

"Milner-Hindley的哪个部分你不明白?" Stack Overflow问题,我可以阅读一些英文版本,但仍然很难弄清楚如何制作一个类型检查器.这是我尝试阅读前4条规则:

  • Ax:作为公理,如果x有A型,那么x有A型.(不是很明显吗?)

  • 切割:如果上下文?证明t has type A,和另一种情况下?,扩展了断言x has type A,证明u has type B,那么这两个上下文一起证明的所有出现的取代x通过tu已键入B.(那是什么意思呢?为什么有两种情况,额外的情况来自何处?另外,这似乎是一种替代规则,但如果替代不是一个术语,而是一种操作呢?经典米尔纳 - 欣德利没有这样的东西;对于App来说它只是一个非常简单的规则.)

  • :如果证明了上下文t has type A,那么用语句扩展的上下文x has type B仍然可以证明t has type A.(再说一次,这不是很明显吗?)

  • 对照:如果上下文扩展了x1 has type !Ax2 has type !A证明t has type B,那么这种情况下,扩展了x has type …

haskell type-systems functional-programming

10
推荐指数
1
解决办法
406
查看次数

为什么添加立即调用的 lambda 会使我的 JavaScript 代码速度提高 2 倍?

我正在将一种语言的编译器优化为 JavaScript,并发现了一个非常有趣的案例:

function add(n,m) {
  return n === 0 ? m : add(n - 1, m) + 1;
};
var s = 0;
for (var i = 0; i < 100000; ++i) {
  s += add(4000, 4000);
}
console.log(s);
Run Code Online (Sandbox Code Playgroud)

它需要2.3s在我的机器上完成[1]。但是如果我做一个很小的改变:

function add(n,m) {
  return (() => n === 0 ? m : add(n - 1, m) + 1)();
};
var s = 0;
for (var i = 0; i < 100000; ++i) {
  s += add(4000, 4000);
} …
Run Code Online (Sandbox Code Playgroud)

javascript optimization v8 compiler-optimization node.js

10
推荐指数
1
解决办法
431
查看次数

用于检索Levenshtein距离附近的字符串的数据结构

例如,从一组英语单词开始,是否有一个结构/算法允许快速检索字符串,如"light"和"tight",使用"right"作为查询?即,我想检索与查询字符串的Levenshtein距离较小的字符串.

string algorithm data-structures levenshtein-distance

9
推荐指数
1
解决办法
1286
查看次数

如何在没有嵌套列表的情况下编写与Tree同构的类型?

在Haskell中,据说任何ADT都可以表示为产品的总和.我试图找到一个平坦的类型,它是同构的Tree,对Data.Tree.

Tree a = Node a [Tree a] -- has a nested type (List!)
Run Code Online (Sandbox Code Playgroud)

我想为没有嵌套类型的Tree编写功能相同的定义:

Tree = ??? -- no nested types allowed
Run Code Online (Sandbox Code Playgroud)

为此,我尝试编写类型代数的递归关系:

L a = 1 + a * L a
T a = a * L (T a)
Run Code Online (Sandbox Code Playgroud)

内联L,我有:

T a = a * (1 + T a * L (T a))
T a = a * (1 * T a * (1 + T a * L (T a)))
T a = …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming algebraic-data-types

9
推荐指数
1
解决办法
318
查看次数

有没有有效的方法将一元数转换为二进制数?

让这些数据类型分别代表一元和二元自然数:

data UNat = Succ UNat | Zero
data BNat = One BNat | Zero BNat | End

u0 = Zero
u1 = Succ Zero
u2 = Succ (Succ Zero)
u3 = Succ (Succ (Succ Zero))
u4 = Succ (Succ (Succ (Succ Zero)))

b0 = End                   //   0
b1 = One End               //   1
b2 = One (Zero End)        //  10
b3 = One (One End)         //  11
b4 = One (Zero (Zero End)) // 100

(Alternatively, one could use …
Run Code Online (Sandbox Code Playgroud)

algorithm haskell functional-programming lambda-calculus

9
推荐指数
3
解决办法
2404
查看次数

是否可以在规范化理论中输入`min`,如System-F或Constructions?

min下面的定义适用于两个教堂数量和返回至少大.每个数字都成为一个延续,将其pred传递给另一个,zig和zag,直到达到零.此外,每次调用时,其中一个数字会将f附加到结果中,因此,最后,您将获得(\ f x -> f (... (f (f x)) ...))右边的'f'的数量是第一个连续调用的次数.

min a b f x = (a_continuator b_continuator)
    a_continuator = (a (\ pred cont -> (cont pred)) (\ cont -> x))
    b_continuator = (b (\ pred cont -> (f (cont pred))) (\ cont -> x))
Run Code Online (Sandbox Code Playgroud)

似乎min无法在System-F上输入.例如,为了在GHC上运行它,我不得不使用unsafeCoerce两次:

import Unsafe.Coerce

(#)   = unsafeCoerce
min'  = (\ a b f x -> (a (\ p c -> (c # p)) (\ c -> x) (b …
Run Code Online (Sandbox Code Playgroud)

haskell types type-theory agda dependent-type

9
推荐指数
1
解决办法
226
查看次数