I discovered that the return values for fd (aka fdown) should include one additional value (three in this case, not two).
On May 10, 2015, at 7:46 PM, Matt Wette <[email protected]> wrote: > Hi, > > I'm trying to learn to use sxml currently having issues with foldts*-values. > I can't find specification of the function signatures. I do have Andy > Wingo's paper. When I feed a tree to the routine consol-runs-3 below I get > error regarding number of args to fh. call signature for fh? Any clue what > I've got wrong? -- Matt > > (define (consol-runs-3 s0) > (letrec (;; fd: node seed ... > (fd (lambda (node seed vars) > (values node vars))) > ;; fu: node seed ... > (fu (lambda (node seed vars kseed kvars) > (values seed vars))) > ;; fh: atom seed ... > (fh (lambda (atom seed vars) > (values atom vars))) > ) > (foldts*-values fd fu fh s0 '() '()))) > > In sxml/fold.scm: > 104: 2 [foldts*-values #<procedure fd (node seed vars)> ...] > 89: 1 [fold-values #<procedure 104e4d0f0 at sxml/fold.scm:105:23 (tree . > seeds)> ...] > In /.../dvP4.scm: > 21: 0 [fh elt ()] > > /.../dvP4.scm:21:15: In procedure fh: > /.../dvP4.scm:21:15: Wrong number of arguments to #<procedure fh (atom seed > vars)> > > >
