2016-04-23 99 views
1

最近我正在學習球拍,和我在與理解「定義 - 」語法一些困難。我試過下面的代碼:使用給出了一個錯誤

#lang racket 
(define-type Num Number) 

但它輸出以下錯誤信息:

define-type: unbound identifier in module in: define-type 

五月誰能幫我處理這個錯誤?我已經閱讀了所有可能的文檔,看起來應該可以工作。

回答

3

每個球拍程序都有一個以#lang開頭的行開始的原因:球拍不僅僅是一種編程語言,而是一種編程語言的生態系統。每個文件(更具體地說,每模塊)可以在其自己的編程語言,並且它們都可以互相對話提供方便。

默認情況下,球拍博士創建了在頂部#lang racket線的新文件。這是「球拍語言」,但它是不是由「球拍系統」,它實際上包括幾十種語言,有些不太來自#lang racket不同,其他人幾乎完全無關提供的唯一語言。

當你想使用類型化的球拍,你需要先選擇使用這種語言,而不是普通#lang racket,這是動態類型。您可以通過在程序頂部寫入#lang typed/racket來完成此操作。

#lang typed/racket 
(define-type Num Number) 

現在,在該模塊中將提供Typed Racket的所有功能。