From 8993bc2fe00eb48b57945b850c14bde8fae1dfb7 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 24 May 2010 15:31:17 +0000 Subject: * interp/i-object.boot (object): New. Abstract over boilerplate. * interp/i-analy.boot: Use it in place of boilerplate. * interp/i-eval.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. --- src/interp/i-spec1.boot | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src/interp/i-spec1.boot') diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot index 16405b14..cf2c649d 100644 --- a/src/interp/i-spec1.boot +++ b/src/interp/i-spec1.boot @@ -545,8 +545,7 @@ evalCOLLECT(op,[:itrl,body],m) == bod := getArgValue(body,computedMode body) if bod isnt ['SPADCALL,:.] then bod := ['unwrap,bod] code := timedOptimization asTupleNewCode0(second m, ['COLLECT,:iters,bod]) - if $genValue then code := wrap timedEVALFUN code - putValue(op,objNew(code,m)) + putValue(op,object(code,m)) falseFun(x) == nil @@ -1015,9 +1014,7 @@ evalTupleConstruct(op,l,m,tar) == ['List, ud] := m code := ['APPEND, :([["asTupleAsList", getArgValueOrThrow(x,['Tuple, ud])] for x in l])] - val := - $genValue => objNewWrap(timedEVALFUN code,m) - objNew(code,m) + val := object(code,m) (val1 := coerceInteractive(val,tar or m)) => putValue(op,val1) @@ -1029,9 +1026,7 @@ evalInfiniteTupleConstruct(op,l,m,tar) == ['Stream, ud] := m code := first [(getArgValue(x,['InfiniteTuple, ud]) or throwKeyedMsg("S2IC0007",[['InifinteTuple, ud]])) for x in l] - val := - $genValue => objNewWrap(timedEVALFUN code,m) - objNew(code,m) + val := object(code,m) if tar then val1 := coerceInteractive(val,tar) else val1 := val val1 => @@ -1044,9 +1039,7 @@ evalconstruct(op,l,m,tar) == [agg,:.,underMode]:= m code := ['LIST, :(argCode:=[(getArgValue(x,underMode) or throwKeyedMsg("S2IC0007",[underMode])) for x in l])] - val := - $genValue => objNewWrap(timedEVALFUN code,m) - objNew(code,m) + val := object(code,m) if tar then val1 := coerceInteractive(val,tar) else val1 := val val1 => @@ -1103,8 +1096,7 @@ upRecordConstruct(op,l,tar) == (len = 1) => ["CONS", :argCode, '()] (len = 2) => ["CONS",:argCode] ['VECTOR,:argCode] - if $genValue then code := wrap timedEVALFUN code - putValue(op,objNew(code,tar)) + putValue(op,object(code,tar)) putModeSet(op,[tar]) --% Handlers for declarations -- cgit v1.2.3