i’m wondering what 9fans think about lisp, specifically scheme.

Cat-v.org has given a nod to Scheme.

Chibi-Scheme has run on Plan 9.

A useful Scheme interpreter can be written in about 10k lines of clear C code.

they’re both the powerful synthesis of simple ideas. i don’t see any mention of it as it compares to 9, but they don’t seem incompatible. personally i think they compliment each other in nice ways.

Plan 9 uses files as the organizing metaphor. Lisp uses objects. (Lispers don't care too much about organizing objects into class hierarchies; we care about them in the Smalltalk sense, "something you can call to do a job". Every function is an object in Lisp.)

https://github.com/mntmn/interim is a hobby OS that tries to combine the two. I haven't looked at it in detail but the idea may be "too much of a good thing": the two metaphors cover some of the same ground, so there is redundancy between them. The Lisp instinct is to represent system services as objects, not files.

i don’t have any interest in emacs, i don’t even know what it is. nor clojure or any of that.

Emacs = A very imperfect Lisp machine emulator written in C. The code written for Emacs mostly deals with text editing, but the Lisp system is actually broad enough for general-purpose programming.

Clojure = Java. That may be all 9fans want to know :-)

i’m talking about lisp being able to manipulate the structure of the program with tools that are built into the language.
Lisp tends to focus on macros and other S-expression transformations, i.e. metaprogramming at as a batch job (at compile time, etc.)

Smalltalk focuses on reflection, i.e. metaprogramming at run time.

Same idea, but Smalltalk is much more dynamic. Most Lisp systems can do a lot of runtime reflection but it's not customary to reach for it as the first tool of choice. This is more of a cultural matter than a technical issue, though culture determines which aspects of the implementations are the most polished and comprehensive.

Scheme tends to be less dynamic than Lisp generally. This is also a matter of culture, not an intrinsic technical issue. Schemers constantly talk about efficiency.

Almost all Lisp dialects use dynamic typing. Almost all Lisp implementations (of any dialect) support interactive development, and this is the normal way to write Lisp.

Other languages known for metaprogramming: Forth, Rebol.


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T7b0afbefb53189b6-M686c85cafb595890bbb47f8d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to