;; -*- Mode: Irken -*-

(include "lib/core.scm")
(include "lib/pair.scm")

;; the old definition of the constant rule in match.py
;;  caused an exponential explosion with code like this,
;;  because the 'default' was getting duplicated at each
;;  level.  Code like this would explode to 250kB of C.

(define thing
  (0 x 1 . rest) -> 1
  (1 2 x 3 4 y)  -> 2
  (2 . z)	 -> 3
  (3 0 x)	 -> 4
  (4 x y z)      -> 5
  (x . y)        -> 6
  ()             -> 7
  )

(thing '(1 2 0 3 4 5))