23 lines
565 B
Text
23 lines
565 B
Text
(context 'if2)
|
|
|
|
(define-macro (if2:if2 cond1 cond2 both-true first-true second-true neither)
|
|
(cond
|
|
((eval cond1)
|
|
(if (eval cond2)
|
|
(eval both-true)
|
|
(eval first-true)))
|
|
((eval cond2)
|
|
(eval second-true))
|
|
(true
|
|
(eval neither))))
|
|
|
|
(context MAIN)
|
|
|
|
> (if2 true true 'bothTrue 'firstTrue 'secondTrue 'else)
|
|
bothTrue
|
|
> (if2 true false 'bothTrue 'firstTrue 'secondTrue 'else)
|
|
firstTrue
|
|
> (if2 false true 'bothTrue 'firstTrue 'secondTrue 'else)
|
|
secondTrue
|
|
> (if2 false false 'bothTrue 'firstTrue 'secondTrue 'else)
|
|
else
|