|
|
|
|
|
by jarule
650 days ago
|
|
No, lisp is not the Linux of languages. Steve Yegge sums it up "Every
single non-standard extension, everything not in the spec, is 'wrong'
with Common Lisp. This includes any support for threads, filesystem
access, processes and IPC, operating system interoperability, a GUI,
Unicode, ..." And to answer your last question, no, lisp cannot read like English
since predicate precedes subject a la Yodaspeak. |
|
Forth and PostScript are programming language yodaspeak, but actually even more like Japanese than yodaspeak, due to doggedly putting verbs last, even in their embedded clauses.
Lisps actually follow the English S-V-O order.
For instance "Go home!" is plain English, and it looks like (go home) if transliterated to Lisp syntax.
Because it is imperative, there is an implicit subject, "you" (you go home); we don't see it and so we are left with V-O.
Lisps are not special; they are similar to command languages in which the name of a utility serves as the verb, followed by the arguments, which are like modifying phrases, objects and whatnot. Not to mention, Lisp expressions are similar to the function calls in mainstream languages, historic and current. What you usually don't see is subj.verb(obj, ...). In the Common Lisp object system, the leftmost object in a generic function invocation is not special; it is not assumed to be the thing doing the action. So (draw obj canvas) is still "(You, computer) draw the object on the canvas (using the method best suited for those two objects based on the combination of their type)", and not "Object, draw yourself on the canvas (based on a method selected using your type only, which then uses the abstract services of the canvas)".
Yoda is from an advanced ESL class of pseudo-Japanese immigrants, by the way, and so doesn't reverse everything. For instance, "you must go home" comes out in yodaspeak as "go home, you must". This is grammatical English, which "you, home go, must" (closer to true Japanese order) would not be.¹
Yoda has a fine command of English grammar; he correctly uses the processes of topicalization and extraposition to imitate some features of his Japanese-like native language.
--
1. E.g. あなた、家に帰らなやだめだ。 (Anata, ie-ni kaera-nakyadame-da). Anata is you, ie-ni is home-to, "karea" is a combining for of the verb "kaeru" which means return home, and nakyadame + da is a suffix that adds "must" to the verb, and is itself a verb due to the copula "da". The verbs are doggedly last.