Arc Forumnew | comments | leaders | submitlogin
1 point by cooldude127 6112 days ago | link | parent

how are they different now in any significant way?


3 points by absz 6112 days ago | link

They're different because they don't actually exist. Observe:

  arc> def
  #3(tagged mac #<procedure>)
  arc> fn
  Error: "reference to undefined identifier: _fn"
Since def is a macro, we can use it anywhere we like. But since fn is not, we can only use it in the head of a list, and it can't be overridden. fn, if, etc. should be first class: if not macros, then (type fn) should be 'prim or some such thing.

-----