;; my verbose style
(t1 let2
(test-both-ints "(let ([a (+ 4 5)] [b (+ 9 20)]) (+ a b))"
`((before-after ((hilite (let ([a (+ 4 5)] [b (+
9 20)]) (+ a b))))
((hilite (define a_0 (+ 4 5)))
(hilite (define b_0 (+ 9 20))) (hilite (+ a_0 b_0))))
(before-after ((define a_0 (hilite (+ 4 5)))
(define b_0 (+ 9 20)) (+ a_0 b_0))
((define a_0 (hilite 9)) (define
b_0 (+ 9 20)) (+ a_0 b_0)))
(before-after ((define a_0 9) (define b_0
(hilite (+ 9 20))) (+ a_0 b_0))
((define a_0 9) (define b_0
(hilite 29)) (+ a_0 b_0)))
(before-after ((define a_0 9) (define b_0 29)
(+ (hilite a_0) b_0))
((define a_0 9) (define b_0 29)
(+ (hilite 9) b_0)))
(before-after ((define a_0 9) (define b_0 29)
(+ 9 (hilite b_0)))
((define a_0 9) (define b_0 29)
(+ 9 (hilite 29))))
(before-after ((define a_0 9) (define b_0 29)
(hilite (+ 9 29)))
((define a_0 9) (define b_0 29)
(hilite 38)))
(finished-stepping))))
;; eli's compact style:
(let ([def `(define a5 (lambda (a5) (+ a5 13)))])
(t lam-def test-upto-int
,def (a5 23)
:: ,def {(a5 23)}
-> ,def {(+ 23 13)}
-> ,def {36}))
Looking at this more closely, the lowest-hanging fruit here would
simply be identifying existing tests where the expected result in some
DeinProgramm language level is the same as the existing expected
result for some test.
I took a quick crack at running a beginner programm in the lowest DeinProgramm level, but the error message suggested that I couldn't define new operations in this language level, so I just gave up :).
Anyhow, if you find time to do this at some point, it would probably increase the reliability of the stepper w.r.t. DeinProgramm.
cc'ing plt-dev, in case anyone else has good suggestions. John
smime.p7s
Description: S/MIME cryptographic signature
_________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev
