• 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
Name
Last commit
Last update
doc Loading commit data...
include Loading commit data...
lib/godoc Loading commit data...
misc/xcode Loading commit data...
pkg Loading commit data...
src Loading commit data...
test Loading commit data...
usr Loading commit data...