Sat Nov 12 12:08:50 EST 2011

Fix documentation

Find out how to build it outside of racket.
This generates file:///home/tom/staapl/staapl/scribblings/staapl.html

  cd ~/staapl/staapl/scribblings
  scribble staapl.scrbl

Things to fix:

  > (macro +)
  (word #<procedure:...aapl/scat/rep.ss:67:3> '((((qw a) (qw b) +) ((qw (tv: a b +)))) (((addlw a) (qw b) +) ((addlw (tv: a b +)))) (((qw a) +) ((addlw a))) (((save) (movf a 0 0) +) ((addwf a 0 0))) ((+) ((addwf POSTDEC0 0 0)))))

Not such a big deal, but I don't see why this isn't just #state->state

  > (print-code (macro: add))
  reference to undefined identifier: POSTDEC0

POSTDEC0 is not exported by demo.ss
It is in the pic18/sig.ss signature module, signature pic18-const-id^

  > (target-value->number (tv: 1 2 +))
  reference to undefined identifier: tv:

I moved the definition from pic18-macro-unit.ss to target-scat.ss

  (define stx1
       (macro-push 1)
       (macro-push 2)
       (scat-apply (macro +))))

  > (pretty-expand stx1 expand-once)
  (rpn-lambda (macro-push 1) (macro-push 2) (scat-apply (macro +)))
  > (pretty-expand stx1)
  eval:53:0: macro-push: (macro-push 1) did not match pattern
  (macro-push val p sub) in: (macro-push 1)

This was a missing provide of "rpn.ss" ids in "demo.ss"

Looks like it's done.