Re: "One-cell" language?
Martin Bähr <[email protected]>
| Newsgroups | gmane.comp.lang.pike.user |
|---|---|
| Message-ID | <[email protected]> |
Excerpts from Henrik Grubbström's message of 2014-10-12 19:51:25 +0200: > The mention of Scheme hints at that it refers to one of the differences > between Scheme and other dialects of LISP. > > In traditional LISP dialects like InterLISP and CommonLISP symbols were > bound to property lists ie a symbol could hold multiple values > concurrently (multi-cell LISP). > > See eg https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node108.html > > In more modern dialects like eg Scheme symbols are bound directly to > values (single-cell LISP). the lisp machine manual explains this differently: http://common-lisp.net/project/bknr/static/lmman/fd-sym.xml Every symbol also has associated with it a function cell. The function cell is similar to the value cell... Maclisp does not have function cells; instead, it looks for special properties on the property list. so it sounds like having a property list and multiple cells is two concepts. and the common lisp hyperspec says: http://www.lispworks.com/documentation/HyperSpec/Body/t_symbol.htm Symbols have the following attributes. For historical reasons, these are sometimes referred to as cells, although the actual internal representation of symbols and their attributes is implementation-dependent. the cells are: Name, Package, Property list, Value, Function i think it's not the property list, but the value/function cells that are interesting here. a very commonly mentioned distinction between common lisp and scheme is that in common lisp, variables and functions are two separate namespaces, while in scheme they have a shared namespace. in the lisp community this is commonly referred to as lisp-2 vs lisp-1. since the term cell is not even used in the lisp community anymore, i would suggest to update the paragraph to instead talk about the shared function/variable namespace, or drop it altogether since common lisp is really the only well known language which does not have a shared function/variable namespace, so pike is not really different from pretty much every other language out there. greetings, martin. -- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org BLUG secretary beijinglug.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/