Hacker News new | ask | show | jobs
by kazinator 1934 days ago
Lisp-2 is somewhat like the POSIX shell. In the shell, if you do this:

  $ cd=/mnt/cdrom
your "cd" commmand doesn't stop working, right?

What's there not to understand, really.

2 comments

And dynamic bindings are like environment variables

(not replying directly to you, but for other people)

C has multiple namespaces too!

  foo:; struct foo *foo;
Goto labels:

   {
      int x;
   x:
      goto x;
   }
Macros are all in one namespace, but a function-like macro won't replace an identifier not followed by an opening paren:

   #define mac(x)
   mac("abc")  /* disappears */
   int mac;    /* unaffected */