如何更快地制作Typed Racket的类型检查器?

时间:2014-10-13 13:45:51

标签: racket typed-racket

球拍很快。但是当我使用Typed Racket并运行代码时,我发现类型检查器很慢。

例如,从The Typed Racket Guide

运行此代码
#lang typed/racket

(struct: pt ([x : Real] [y : Real]))

(: distance (-> pt pt Real))
(define (distance p1 p2)
  (sqrt (+ (sqr (- (pt-x p2) (pt-x p1)))
           (sqr (- (pt-y p2) (pt-y p1))))))

类型检查器需要4-6秒才能在我的电脑上工作(i7,4g内存)

我尝试了另一台计算机并且它完全相同

我犯了一些错误吗?如何更快地制作类型检查器?

1 个答案:

答案 0 :(得分:1)

不幸的是,没有任何东西可以真正改变,以使类型检查器运行得更快。如果您使用#lang typed/racket/base代替#lang typed/racket,事情可能会更快一些。但由于各种原因,Typed Racket的类型检查器必须解决一些难题,因此速度不快。