在Typed Racket中绘制功能

时间:2014-09-21 05:38:09

标签: scheme racket typed-racket

所以我在Racket中写了一个原型Wolfenstein3d-style ray-caster。可以理解的是,当它以更高的分辨率运行时,它并不是非常快,所以我试图切换到Typed Racket。

我的问题是,是否有办法在Typed Racket中制作图形(通常)?出于我的特殊目的,我需要做的就是绘制一条线,并显示/切片位图。

我尝试过的事情:

    来自Big-bang的{​​li>

    2htdp/universe(我最初在常规球拍中使用的)并不适用于打字球拍,而且它是一个复杂的宏,所以不像以前那样 - 功能我不能require/typed它。

  • racket/draw是基于类的,对类型球拍中的类的支持是实验性的,所以当我还没有找到typed/racket/draw版本时,我并不感到惊讶。< / p>

我遗失了什么?

2 个答案:

答案 0 :(得分:3)

在最近的Racket版本中,您可以在Typed Racket中使用类和racket/draw。例如:

Welcome to Racket v6.0.1.13.
-> (require typed/racket/draw)
-> (make-bitmap 300 300)
- : (Instance Bitmap%)
(object:bitmap% ...)

但它确实仍然是实验性的,所以你可能会遇到一些错误或限制。特别是,现在您将无法在类型化和非类型化模块之间传递GUI对象。

(如果发现错误,请提交bug reports

答案 1 :(得分:1)

一种选择是将绘图操作放在非类型化模块中,并从类型化模块中调用它们。