[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[epsilon-devel] pretty-printer for s-expressions

From: Jérémie Koenig
Subject: [epsilon-devel] pretty-printer for s-expressions
Date: Sat, 26 Jan 2013 01:51:32 -0500

Hi Luca and epsilon-devel readers,

I have written an s-expression pretty-printer for epsilon; the patch
is attached. I'd like to improve error reporting and I thought this
might be a good first step. You can test it with, say:
> (load "pretty-print.e")
> (e1:toplevel (pp:write (io:standard-output) 78 (pp:expression 
> (state:procedure-get-body (e0:value list:fold)))))
> (e1:toplevel (pp:write (io:standard-output) 20 (pp:sexpression '(hello world 
> ((1 one) (2 two) (3 three) (4 four))))))
The pp:(s)expression functions build a so-called "document", and
pp:write renders it for a given page width.

In other news, I cannot compile your latest commit ("started a crude C
backend"). After "autoreconf; configure; make" I get:
make[2]: *** No rule to make target
`bootstrap/scheme/temporary-c-driver/q.c', needed by
(Possibly you forgot to add some new file to bzr?)

Also, independent of your last commit, I need to remove the libgc
prototypes from runtime/data.c (patch also attached), since they are
incompatible with my version of libgc (Debian unstable libgc-dev

For what it's worth, I'm a 1st year Ph.D. student with the FLINT group
[1] at Yale University. I'm particularly interested in epsilon in the
context of formal verification. I first learned about it when I
attended your talk at the GHM in Paris in 2011.

[1] http://flint.cs.yale.edu/
Jérémie Koenig <address@hidden>

Attachment: 0001-Remove-extra-prototypes-for-libgc-functions.patch
Description: Binary data

Attachment: 0002-Pretty-printing-and-s-expressions-printer-procedures.patch
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]