Actually, I think I found a way to make it work. I had missed a macro that needed to be copied from one module to another. I made each module import the other, and that seemed to work all right.
As soon as I have time, I hope to turn this into a patch series that splits the PEG module up into nicer chunks. Noah On Fri, Mar 4, 2011 at 5:52 AM, Andy Wingo <wi...@pobox.com> wrote: > On Wed 23 Feb 2011 16:10, Noah Lavine <noah.b.lav...@gmail.com> writes: > >> I need to ask for help in order to work on this more. I thought I >> would first move the code-generating functions to their own module. It >> seems like this should be a simple and obviously-correct >> transformation, because I didn't change any code - just moved it to >> its own module, and replaced its definition by a (use-modules ...) >> clause. Yet I have somehow created an error, and I don't see why. > > I haven't tried it yet, but there is a circularity: peg-sexp-compile > from your (ice-9 peg codegen) references peg-string-compile, but > peg-string-compile is implemented in (ice-9 peg). > > I'm not sure exactly how to break that circle. For now if you're > feeling hacky, you can ((module-ref (resolve-interface '(ice-9 peg)) > 'peg-string-compile) ...) in that (peg ...) case. > > Andy > -- > http://wingolog.org/ >