axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] alql and shoe


From: Waldek Hebisch
Subject: [Axiom-developer] alql and shoe
Date: Fri, 1 Dec 2006 01:12:56 +0100 (CET)

Gaby, it seems that your change:

2006-11-19  Gabriel Dos Reis  <address@hidden>

        * Makefile.pamphlet (alql.boot): Translate with bootsys.
        * Makefile.in: Regenerate.

broke examples in Chapter 13 of Axiom book.  The patch below (applied
as version 345 in wh-sandbox) fixed the problem for me.  Some remarks:

1) AFAICS shoe requres package declaration (otherwise we end up in
default lisp package). Unfortunatly, old boot can not handle such
declaration...
2) shoe insist on rewriting 'member' to 'MEMBER'.  One can prevent
rewriting using devious construct like:

  FUNCALL(INTERN '"member",kind,'("o" "k" "c" "d" "p"))

but what I did below is simpler.  OTOH 'member' has many uses in
interpreter, so for quick translation we may need the above.

Index: src/interp/alql.boot.pamphlet
===================================================================
--- src/interp/alql.boot.pamphlet       (wersja 344)
+++ src/interp/alql.boot.pamphlet       (kopia robocza)
@@ -46,10 +46,14 @@
 <<*>>=
 <<license>>
 
+)package "BOOT"
+
 getBrowseDatabase(kind) ==
   $includeUnexposed? : local := true
-  not MEMBER(kind,'("o" "k" "c" "d" "p")) => nil
-  grepConstruct('"*",INTERN kind)
+  k1 := INTERN kind
+  not member(k1,["o", "k", "c", "d", "p"]) => nil
+  grepConstruct('"*", k1)
+
 stringMatches?(pattern,subject) ==
   FIXP basicMatch?(pattern,subject) => true
   false

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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