2011-11-17 60 views
0

我記得在什麼地方見過這樣的符號,正式定義一個變量:形式語法功能/變量定義

variable_name: type 

而且類似:

function_name(....): return_type 

但我不記得了,我可以」 t找到這個語法的正式定義。

我的問題首先是,這是一個真正的形式語法,還是有人只是補充它?我的第二個問題,你能給我一個名字嗎?還是一個參考?

我在問,因爲我想知道函數參數是如何定義的。會是這樣嗎?

function(arg1:type1, arg2:type2): type 

如果是這樣,如何顯示默認值?

+0

老兄,幹但問題本身就是一個矛盾。擁有正式的語法等同於擁有語言。除非你在元語言級別有參數。這是一個非常複雜的話題。如果您嘗試使用jetbrains的元編程系統,則更容易。這不是一個廣告btw我也使用它,我不隸屬於他們。很抱歉在智能手機上輸入錯誤。 – naeron84

回答

0

您所描述的語法在編程語言的ML family中使用。在具有正式語義的Standard ML中,沒有默認值,所有聲明時都必須初始化。

+1

它比ML更像帕斯卡(或Modula-)語法(功能顯然不是咖喱)。 –

+0

也許我錯過了一些東西,但是我沒有在這兩個鏈接中看到這樣的符號: - ? – Shahbaz

+0

@Shahbaz,尋找「類型註釋」。由於ML有類型推斷,所以你不會看到顯式類型被使用太多,但是當你這樣做時,語法就像你描述的那樣。在SML頁面上的一個xample是:fun bftQ(q:'樹隊列):'列表 –