你對你認為比較漂亮的程式語言的語法有什麼理解?

時間 2021-05-30 19:12:52

1樓:

嚴格布局(基於分號和花括號)和輕量語法(基於對齊)並存,同時符合自然語言的語法*(參考 Haskell 2010 Language Report 有關詞法和布局的內容)(參考 F# 的輕量語法)

Curried 與 unCurried 的區分

混綴表示式與寬鬆的換行制度*(參考 `agda-stdlib.Relation.Binary.Proposition Equality.≡-Reasoning`)

Unicode 支援,但標準庫也應有乙份便於輸入的版本*(參考 `agda-stdlib`)

顯式和隱式引數,以及模組層面的引數

型別相同強大的表達能力和整潔的復用機制

頂層函式不一定寫出簽名,推斷的同時盡量泛型

自動推斷相互依賴的定義,而不是 `mutual` 語塊

整潔的 `Prelude`

整潔的 FFI

依賴引數的簡化:如 `(x y z : Nat) → Set` 與原始的 `Nat → Nat → Nat → Set`,相鄰的依賴引數間可以省略 `→`

洞互動式程式設計支援

文學程式設計

良好的 IO 支援*(參考 Idris2)

良好的作用控制*(參考 F*)

高效的燒錄型別和正常設計的字串,同時也對字元列表提供函式支援

自然數字面值

可控的型別轉換

2樓:

vr視覺化

我希望有一天能脫離語言程式設計。

文字在表達能力上,一直有侷限。

說白了,程式設計其實作家寫作沒啥區別,都是構建邏輯和結構。

只不過程式設計規範了語言而已。

最終是就是各種為了閱讀理解轉來轉去的過程。

把人腦浪費在用語言來表達空間結構和時間順序這件上。

真挺沒意思的

3樓:看看就好

(作為 ((習慣了 (寫括號)) 的人))(我覺得 (括號其實不錯)))

在括號裡面看,Scheme 有 srfi-110 和 srfi-119,也都還需要按照縮進去確定層次。另外還有面向整個 Lisp 的 Parinfer,甚至可以根據你現在的縮排自動給你加括號,這個時候括號恐怕就不是問題了。不過也能看出來,這兩個解決方案都在一定程度上依賴縮排,不過實際大家在編寫 Lisp 程式時也都會注意縮排(以此來提公升可讀性)。

其實對於 Lisp 語言來說,為了 homogeneity,S-exp 應該是最無腦的選擇了吧。不然看看 Racket 社群現在正在進行的在取消括號上的嘗試,恐怕所謂的「語法噪音」會更多。

另外吐槽一下某些 Haskeller,真要是喜歡 point-free,為什麼不去寫 APL/J 呢?

4樓:夜花照波

語法本身不重要啊,同一件事寫 (S (exp (is best) exp)) 還是寫 S . exp $ (is best) exp 沒區別,重點是語言表達了啥。你不爽的話魔改一套語法出來寫個parser還不是美滋滋,但是這都是小事。

5樓:MrMathematica

Racket2 and syntax from Matthew Flatt 2019/07/15

Racket2 possibilities from Matthew Flatt 2019/07/21

6樓:

不帶括號的 Lisp。

en.wikipedia.org/wiki/Dylan_(programming_language)至於好不好看,我覺得另說吧。

你認為什麼程式語言的語法比較怪異?

level 128 python python中的else的意思是與其他程式語言和英語相反的 除了if語句中 forx inrange 1 6 print x ifx 4 break else print 5 正常人都會認為輸出是1 5,因為else會在上面for迴圈不滿足 被break 也就是英文...

你認為最簡單的程式語言是哪種?

破曉之時 LabVIEW,託圖形就好 彙編,指令都記下來就能寫 Prolog,定義好規則之後查詢語句就會很直觀SQL OWL,簡單的對資料的查詢 brainf k,只有8個字元,模型很直觀,記ASCII表就完事了 Belleve 我認為是 Jot,這個語言簡單到已經不能說是程式語言了,它更像是對 S...

你認為你的個人照哪張照的最漂亮?

我有兩隻小毛驢 終於可以來回答了!昨天,在衛生間放水準備給兒子洗澡,我兒子,四歲,舉著我的手機 咔咔咔 一頓亂拍。等我拿過手機,想著又得刪好一會了,忽然劃到 虛化了背景 哎呀媽呀!這真的是我嗎! wanda賈伯斯 李 我喜歡素照,但是大家都喜歡美顏過後的我,可能是環境調色顯得比較乾淨吧。所以我現在用...