[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] alql and shoe
From: |
Waldek Hebisch |
Subject: |
Re: [Axiom-developer] alql and shoe |
Date: |
Fri, 1 Dec 2006 02:17:36 +0100 (CET) |
> Waldek Hebisch <address@hidden> writes:
>
> | 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).
>
> Yes.
>
> | Unfortunatly, old boot can not handle such declaration...
>
> ah, yes.
>
> | 2) shoe insist on rewriting 'member' to 'MEMBER'.
>
> Yes, member is a kind of library function in new Boot. Every symbol
> goes through bfReName (boot/tytree1.boot). However, you can pretend
> that you have a function member that is not a library function if you
> write its name as a string literal
>
> "member"(kind, '("o" "k" "c" "d" "p"))
>
> which translates to
>
> ('|member| |kind| '("o" "k" "c" "d" "p"))
>
Indeed. I have tried some other variation and did not work. So the
following should be enough:
--- wh-sandbox.bb/src/interp/alql.boot.pamphlet 2006-11-30 01:00:42.000000000
+0100
+++ wh-sandbox/src/interp/alql.boot.pamphlet 2006-12-01 02:14:24.000000000
+0100
@@ -46,10 +46,13 @@
<<*>>=
<<license>>
+)package "BOOT"
+
getBrowseDatabase(kind) ==
$includeUnexposed? : local := true
- not MEMBER(kind,'("o" "k" "c" "d" "p")) => nil
+ not "member"(kind,'("o" "k" "c" "d" "p")) => nil
grepConstruct('"*",INTERN kind)
+
stringMatches?(pattern,subject) ==
FIXP basicMatch?(pattern,subject) => true
false
--
Waldek Hebisch
address@hidden