1
0
mirror of https://github.com/golang/go synced 2024-11-22 21:00:04 -07:00
The Go programming language
Go to file
Austin Clements 816e3da26d Make Value always represent an l-value and never a generic
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
2009-07-15 17:56:17 -07:00
doc capital_letter was never used 2009-07-10 18:21:07 -07:00
include fix gotest by fixing nm -s to print in file order by storing a sequence number 2009-04-15 21:57:55 -07:00
lib/godoc no longer necessary; directory not empty anymore 2009-07-09 16:44:20 -07:00
misc/xcode xcode config files, self-describing 2009-05-20 16:09:34 -07:00
pkg clear out pkg tree in clean.bash. 2009-05-20 11:12:05 -07:00
src improve server handling of errors now that Decoder grabs full message. 2009-07-15 16:11:14 -07:00
test step toward no function prototypes. 2009-07-13 23:38:39 -07:00
usr Make Value always represent an l-value and never a generic 2009-07-15 17:56:17 -07:00