;;; ;;; graph.egi ;;; (define $graph (lambda [$a] (multiset (nodeInfo a)))) (define $nodeInfo (lambda [$a] (algebraic-data-matcher {}))) (define $hamilton-cycle (pattern-function [$a] (& $g _> (loop $i (between 3 (size g)) _> ...> _> >)>))) (define $hamilton-path (pattern-function [$a] (& $g _> (loop $i (between 3 (size g)) _> ...> >)>))) (define $hamilton-path2 (pattern-function [$a] (& $g (let {[$n (size g)]} _> (loop $i (between 3 n) _> ...> >)>) ))) (define $all-paths (pattern-function [$s $e $p $rest] (| _> rest> _> (loop $i (from 2) ;; TEMPORARY _> ...> rest)>)))