Why Scheme?
  An undergrad asked me `Why Scheme?  Why not C?'.
  It seemed an odd question, but to the uninitiated, a natural one.
  Lisp Machine Lore
  Part of the underlying motivation for FunOS is to revive the legacy of the Lisp Machine.
  These were $100k single-user high-end workstations from the mid 1980s.
  They had many of the features this project would like to have.
  Rainer Joswig (before his site went down) had a nice
  description of Lisp Machines.
  Reflection
  Reflection is the ability for the user to modify the system of the underlying machine
  without leaving the system.  For example, with Linux, you can edit the source code
  of the kernel networking code, recompile and reboot.  With a reflective system, you
  can modify the code (even kernel code), compile it, and replace the running system code
  without leaving your editor.
  
  Scheme, and Lisp languages in general, have a very fluid transition between high
  level and low level.  They have a dynamic quality that allows the creation
  or redefinition of functions.
  
The Little Language Problem
  Olin Shivers has a paper [Shivers1996]
  on the Little Languages Problem.
  The goal is to have one, universal language so that people aren't writing all of
  C, cpp, sh, sed, awk, perl, <your-favorite-config-file-format>, etc.
  You can also send Scheme as your network protocol (see `Mobile Code,' below).
  
  [Shivers1996]
  A universal scripting framework, or Lambda: the ultimate ``little language.''
  Concurrency and Parallelism, Programming, Networking, and Security,
  Lecture Notes in Computer Science #1179, pages 254-265,
  Editors Joxan Jaffar and Roland H. C. Yap, 1996, Springer.
  
Mobile Code
  You can send Scheme code over the network to a receiver who can interpret
  it or even compile it first.
  The code can be examined and rejected if it will try to perform potentially
  harmful side effects.
  
  For example, NeWS is a window system developed at Sun that used PostScript as
  its display language.  It allowed a client to send, in a sense, a PostScript
  callback to the server so that when the user tickled that action, it could be
  handled without the network burden of talking to the client.
  
  Potentially of spectacular interest is sending closures and continuations over
  the network. See Kali Scheme.