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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.