From 58820ffb5e4e1ba4de8840a4883a1e42857a1a2d Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 3 Nov 2008 02:42:35 +0000 Subject: * algebra/syntax.spad.pamphlet (Syntax): Print syntax objects as s-expressions. * algebra/sex.spad.pamphlet (SExpression): Print strings as String. --- src/ChangeLog | 7 +++++++ src/algebra/sex.spad.pamphlet | 1 + src/algebra/syntax.spad.pamphlet | 5 +++-- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 8f226992..2572d0a2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2008-11-02 Gabriel Dos Reis + + * algebra/syntax.spad.pamphlet (Syntax): Print syntax objects as + s-expressions. + * algebra/sex.spad.pamphlet (SExpression): Print strings as + String. + 2008-11-02 Gabriel Dos Reis * interp/Makefile.pamphlet (template.$(FASLEXT)): Remove. diff --git a/src/algebra/sex.spad.pamphlet b/src/algebra/sex.spad.pamphlet index 3e969f92..1175412e 100644 --- a/src/algebra/sex.spad.pamphlet +++ b/src/algebra/sex.spad.pamphlet @@ -112,6 +112,7 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where coerce(b:%):OutputForm == null? b => paren empty() + string? b => string(b)::OutputForm atom? b => coerce(b)$Rep r := b while not atom? r repeat r := cdr r diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet index a649c1f5..e0d71282 100644 --- a/src/algebra/syntax.spad.pamphlet +++ b/src/algebra/syntax.spad.pamphlet @@ -129,8 +129,9 @@ Syntax(): Public == Private where IDENTP(s)$Lisp coerce(x: %): OutputForm == - x case String => outputForm(x : String) - x pretend OutputForm + -- For the moment, print syntax as s-expression. + import SExpression + (x pretend SExpression)::OutputForm convert(x: %): SExpression == x : SExpression -- cgit v1.2.3