lisp的星號表示法

12 views
Skip to first unread message

Juanito

unread,
Dec 13, 2011, 11:44:43 AM12/13/11
to Coding Famers
Lisp的星號表示法

詭譎的星號,*,英文叫做 asterisk

在Lisp當中只不過就是符號的名字中的一部分而已。

而Lisp程序員喜歡用星號來表示此名字有0個或著重複更多個。

比如:GA* 表示 沒有GA 或 GA 或 GAGA

這種星號表示法又稱作 Kleene star notation (讀音 /ˈkleɪniː/ klay-nee.)

紀念20世紀數學家Stephen Cole Kleene。

另有Kleene plus notation。

GA+ 表示 “至少”有一個 GA 或 GAGA 或 GAGAGA

Lisp asterisk notation

The mysterious *, called asterisk sign, appends to a symbol. It is
just a part of the name of a symbol. Lisp programmers use this
convention to denote 0 or more repetitions of the underlying name.
E.g. GA* denotes no GA or GA or GAGA … et cetera. This asterisk
notation also called Kleene (pronounced: /ˈkleɪniː/ klay-nee) star
notation for memories of Stephen Cole Kleene.

Also there is a Kleene plus notation. wherein GA+ denotes one or more
repetition of GA.

Stephen Cole Kleene (January 5, 1909, Hartford, Connecticut, United
States – January 25, 1994, Madison, Wisconsin) was an American
mathematician who helped lay the foundations for theoretical computer
science.
這位Stephen Cole Kleene可猛了,是Alan Turing、Alonzo Church(John McCathy的導師)及
Emil Post 三大高手合力指導的學生阿…

Alan Turing : 計算機科學之父,密碼破解高手,慢跑高手。
Alonzo Church : 是Lambda Calculus的發明人(Lisp與函數式編程的基礎)。
John McCarthy : Lisp的發明人阿!!!
Emil Post : 比較不有名,發表了一個什麼可計算性理論之類的。

唉,這些往者怎麼都這麼猛,叫我們這些來者怎麼追呢?

huangz

unread,
Dec 13, 2011, 9:15:17 PM12/13/11
to Coding Famers
学习了。
Reply all
Reply to author
Forward
0 new messages