I have the following code:
(define-type Light
[bulb (watts : number)
(technology : symbol)]
[candle (inches : number)])
(define energy-usage : (Light -> number)
(λ (l)
(type-case Light l
[bulb (w t) (/ (* 24 w) 1000)]
[candle (i) 0.0])))
(module+ test
(test (energy-usage (bulb 100.0 'halogen)) 2.4)
(test (energy-usage (bulb -100.0 'fantasy)) -2.4)
(test (energy-usage (bulb 0 'negolah)) 0)
(test (energy-usage (candle 10)) 0))
But I get the following error:
define: bad syntax (multiple expressions after identifier) in: (define energy-usage: (Light - > number) (λ (l) (type-case Light l (bulb (wt) (/ (* 24 w ) 1000)) (candle (i) 0.0))))
I do not understand why it is