brain fever

David Farber dfarber at numenor.com
Sat Nov 23 05:46:32 UTC 2002


Imagine a read-eval-print session that went like this:

   > []
     ObjectLiteral[0xD000]
   > [] value
     ObjectActivation[0xD001]
   > `d
     Character[`d]
   > [`d] value
     Character[`d]
   > [:char | `d] value :`c
     Character[`d]
   > [:char | char] value :`c
     Character[`c]
   > [| char :[`d] |
  [> self char] value
     Character[`d]
   > [:char | char :[char] |
  [> self char] value :`c
     Character[`c]
   > [:char | char :`d |
  [> self char] value :`c
     Character['d]
   > ([:char | char :[char] |] value :`c) char
     Character[`c]
   > ([:char |
 +|> char :[char]
 +|> change :[char :`d] |]
  (> value :`c) change; char
     Character[`d]
   >

OK, so I did gratuitously change some syntax around:
  `d => $d
  object msg :arg => object msg: arg
  var :object => var := object

I'm sure there is lots to nit-pick about; for instance, I think a lone vertical bar is ambiguous.

But I mostly just let the ideas play themselves out; and I must admit that I am very pleasantly surprised--that, of course, must mean that someone already had this idea long ago.

david

--
David Farber
dfarber at numenor.com



More information about the Squeak-dev mailing list