egison-2.3.5: sample/n-queen.egi
(define $n-queen
(lambda [$n]
(match-all (between 1 n) (Multiset Integer)
[<cons $a_1
(loop $l $i (between 2 n)
<cons (loop $l1 $i1 (between 1 (- i 1))
(& ^,(- a_i1 (- i i1))
^,(+ a_i1 (- i i1))
l1)
$a_i)
l>
<nil>)>
[@(loop $l $i (between 1 n) {a_i @l} {})]])))