Newsgroups: comp.lang.lisp.mcl
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!purdue!yuma!csn!nntp-xfer-2.csn.net!symbios.com!southwind.net!news.sprintlink.net!news-chi-8.sprintlink.net!news.sprintlink.net!news-pull.sprintlink.net!news.sprintlink.net!news-peer.sprintlink.net!EU.net!usenet2.news.uk.psi.net!uknet!usenet1.news.uk.psi.net!uknet!uknet!newsfeed.ed.ac.uk!edcogsci!cnews
From: chrisbr@cogsci.ed.ac.uk (Chris Brew)
Subject: Re: Error: Can't throw to tag CCL::HAIRY-SUBTYPEP while compiling          Xerox's Tagger
In-Reply-To: "Stefan Kreutter"'s message of 27 Nov 96 23:12:21 +0100
X-Nntp-Posting-Host: brodie
Message-ID: <f3t7mmypqoe.fsf@brodie.cogsci.ed.ac.uk>
Sender: chrisbr@brodie.cogsci.ed.ac.uk
Organization: Centre for Cognitive Science, University of Edinburgh
References: <AEC27CC9-1DF7F1@10.10.97.223>
Date: Wed, 4 Dec 1996 10:08:49 GMT
Lines: 55

>>>>> In article <AEC27CC9-1DF7F1@10.10.97.223>, "Stefan Kreutter" <snkreutt@cip.informatik.uni-erlangen.de> writes:
In article <AEC27CC9-1DF7F1@10.10.97.223> "Stefan Kreutter" <snkreutt@cip.informatik.uni-erlangen.de> writes:


> While compiling Xerox's Part-of-Speech Tagger
> (<ftp://parcftp.xerox.com/pub/tagger/tagger-1-2.tar.Z>) under MCL
> 3.0p2/3.1demo I get the following error:

>  ; Compiling AppDisk 6MB:tagger-1-2:src:util:variable-storage.lisp ;
> Warning: (FIXNUM) isn't a symbol in FUNCTION type declaration while
> compiling "AppDisk 6MB:tagger-1-2:src:util:variable-storage.lisp".
> ; While executing: CCL::FCOMP-PROCLAIM-TYPE
>> Error: Can't throw to tag CCL::HAIRY-SUBTYPEP .  While executing:
>> CCL::ST-ARRAY-ELEMENT-TYPE

> When I compile with MCL 2.0.1 I get warnings but "Can't throw to tag
> CCL::HAIRY-SUBTYPEP" Error does not occur.  Can anybody tell me how
> to fix that, maybe it's a known problem with an easy solution?  I
> know it's difficult without the source (the archive is ca. 800k) but
> maybe someone already had a problem like this.  The source of the
> tagger is optimized for speed, uses a lot of macros and declarations
> and is not easy to understand in this particular case but should
> compile on any ANSI CL.

> Thanks, Stefan

This  is a problem with MCL  3.0 which I have had.  I never managed to
fix it, although I tried several work-arounds.  It is solved in MCL4.0
which has a different type system.  I haven't tried MCL3.1, because of
pressure of time (somebody who has a powerful 68040 machine should try
it).  In 4.0   the tagger works fine,  but   conses furiously in   the
floating point  maths  (about 38  Mb for  7000  words). Gary Byers  of
Digitool helped me out with a set of patches which fix this (if people
are interested,  I'll  ask Gary whether  it  is OK to  distribute this
further).  It reduces the  consing  to a  sensible level,  and roughly
doubles the speed of tagging  on a 40Mb  7100/66, with MCL 4.0 running
in  a  20Mb partition.   This  performance is  comparable with that of
Allegro Lisp 4.3   on a  Unix  system. I  initially thought  that  the
speed-up would be greater:  presumably the reason   why it was  not is
that MCL has an efficient garbage collector, so the cost of reclaiming
38Mb is not  as great as I expected.  It is still  very good that  the
consing problem  has been  fixed,  since it means  that large floating
point  simulations are a practical  proposition in MCL  4.0. Thanks to
Gary in particular for all the help.

Chris
-- 
Email: Chris.Brew@edinburgh.ac.uk
Address:  Language Technology Group, HCRC,
          2 Buccleuch Place,  Edinburgh EH8 9LW,Scotland
Telephone: +44 131 650 4631  Fax: +44 131 650 4587




