1. 16 Jul, 2009 1 commit
    • Austin Clements's avatar
      Make Value always represent an l-value and never a generic · 816e3da2
      Austin Clements authored
      container for values.
      
      Instead of having one evaluator function that returns a
      generic Value, there is now an evaluator function for each
      generalized type that simply returns a native type.
      
      The compiler is more type-safe now because there are almost no
      type conversions at evaluation time and it's impossible to
      invoke a nil evaluator function during evaluation.  This also
      makes ideals and pointers really clean.
      
      As an added bonus, expression evaluation should be faster
      because it doesn't require heap allocation for every
      intermediate value, type switches, or lots of conversions to
      and from Value.  It also involves fewer function calls.
      
      R=rsc
      APPROVED=rsc
      DELTA=431  (280 added, 115 deleted, 36 changed)
      OCL=31705
      CL=31709
      816e3da2
  2. 15 Jul, 2009 14 commits
  3. 14 Jul, 2009 25 commits