[lkb] Morphological transducer in the LKB, ACL versus MCL
John Carroll
J.A.Carroll at sussex.ac.uk
Fri Apr 22 14:04:07 CEST 2005
> I'm attaching the script I've been using, a file called tduce.lsp
> which reads in a prolog version of an XFST transducer, and
> user-fns.lsp.
>
> I'm encountering problems at a very early stage of trying to read in
> the files and have isolated at least some (if not all) of the problems
> to the use of defstruct in the tduce.lsp file. When you try to use
> that function in any way in the MCL version of the LKB I have, you get
> the error:
> > Error: #<Compiled-function CCL::NX-ALLOW-TRANSFORMS #x314600E>: code
> has been excised.
> > While executing: CCL::NX-ALLOW-TRANSFORMS
>
> (This error is caused by reading in tduce.lsp and also by, for
> example, simply trying "(defstruct foo)" in the listener.)
The problem is that the MCL version of the LKB that I give out has had
the compiler excised, so this stops it being used for serious code
development. I think the same goes for the MCL trial version.
The Lisp interpreter is still there in this MCL version, but it seems
that the Lisp system wants to turn the functions that should be defined
by the defstructs into compiler macros, and this fails since the
compiler isn't there. So this is a bug in MCL. But I don't hold out
much help for a quick fix.
There are 2 possible ways around this:
1. Manually change the source code, turning the defstructs into the
functions that they define
2. I make a new MCL image which includes tduce.lsp
I'll only do 2 if tduce.lsp isn't likely to change soon. Do you know if
it is likely to?
John
More information about the lkb
mailing list