2012-08-08 33 views
1

我正在尋找一種靜態類型語言,它不僅將函數視爲第一類對象,而且還可以讀取輸入的數量以及它們的類型,以及產出的數量和類型。我正在尋找一種語言,可以提供有關函數的大量信息作爲對象

我認爲這可能與scala是可能的,如果我猴子修補了Function1特徵,但看起來很漂亮。

+0

這種能力被稱爲「反射」,它通常可用於Ruby等動態類型語言。 – comingstorm 2012-08-17 18:10:16

回答

0

到目前爲止,我認爲能夠做到這一點的語言是:

Javascript,Ruby和C#。

1

在靜態類型語言中,該信息存在於函數的類型中。如果代碼類型檢測,這是因爲所有的信息都正確匹配。

的確,該信息通常不能以明確的形式或運行時提供,但這是因爲它通常不是有用的(此外,它違反了Parametricity)。不知道你想要什麼信息,很難提供更多建議。

+0

它有點概念化,基本上創建一個圖形,其中每個節點都知道它擁有的信息類型,每個邊是一個任意函數。一旦你指定了它可以使用的功能,輸入和輸出節點以及幾個例子,它應該能夠做一些類似於ML但是帶有A *的東西。 – placeybordeaux 2012-08-08 21:02:16

+0

「ML」是指機器學習,ML是編程語言還是別的? – 2012-08-08 21:23:51

+0

機器學習。 – placeybordeaux 2012-08-09 05:31:51

相關問題