[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