;; -*- Mode: Irken -*-
(include "lib/core.scm")
(include "lib/pair.scm")
(include "lib/alist.scm")
;; trying to repro a bug I found when working on self/match.scm, where I
;; accidentally invoked a symbol arg... somehow the solver let it slide,
;; dunno why. If I changed (tag) to (3) or (rules-stack) I get an error,
;; somehow the key part of alist/iterate allowed it to get through.
;; (alist/iterate
;; (lambda (tag rules-stack)
;; (let ((alt (dt.get (tag)))
;; (vars0 (nthunk alt.arity new-match-var))
;; (wild (make-vector alt.arity #t))
;; (rules1 '()))
(define (get s)
s)
(define thing
(alist/make
('x {get=get n=0})
('y {get=get n=1})
))
(alist/iterate
(lambda (k v)
(let ((x (v.get k)))
(printn x)))
thing
)