On 11/9/07, Peter Broadbery wrote:
>
> >On 08 Nov 2007 14:48:12 +0100, Martin Rubey wrote:
> > ...
> > > But really, it's Peter who is the boss of the axiom-aldor
> > > interaction.
> >
> > "Bill Page" writes:
> >Indeed! :-)
>
> Um, I'll not be the boss of anything.  I just hack stuff sometimes...
>

By "boss" I understood Martin to mean: "The one who knows the most
about this subject." For better or worse you might have to admit to
that label ... at least until a few of us are able to learn more about
this magic. :-)

> From the output
> `/home/page/fricas-test/src/aldor/as//home/page/fricas-test/src/aldor/aldor/ap/axlit.as',
>
> looks like you've got a full path where a relative one was expected.
> ...

Actually I think Waldek and Martin had this right and this very
unexpected error is actually caused by using a beta version of GNU
Make prior to the release of 3.81.

After updating 'make', rebuilding 'gcl' for CLtL1 instead of ANSI, and
recompiling FriCAS using this older Lisp, I get much further but then
the build stops with the following error:

...
MERGE: libaxiom_SMP.lst (43)
GEN AP: SMP.spad -> SMP.ap
AOBUILD LIB: axiom ELT: SMP DEPS: 4
MERGE: libaxiom_FS.lst (45)
GEN AP: FS.spad -> FS.ap
AOBUILD LIB: axiom ELT: FS DEPS: 4
aldor   -Y /home/page/fricas-test/int/aldor/tmp         -L
AxiomLib=axiom_FS   -Wname=axiom     -fao
/home/page/fricas-test/int/aldor/ap/FS.ap
"/home/page/fricas-test/int/aldor/ap/FS.ap", line 355:
                                             (|Apply| |Polynomial|
......................................................^
[L355 C55] #9 (Error) No one possible return type satisfies the context type.
  These possible return types were rejected:
          -- PolynomialCategory(#1, IndexedExponents(Symbol), Symbol) with ...
  The context requires an expression of type  with
                        %%: PolynomialCategory(Fraction....

"/home/page/fricas-test/int/aldor/ap/FS.ap", line 593:
                                            (|Apply| |Polynomial|
.....................................................^
[L593 C54] #5 (Error) No one possible return type satisfies the context type.
  These possible return types were rejected:
          -- PolynomialCategory(#1, IndexedExponents(Symbol), Symbol) with ...
  The context requires an expression of type  with
                        %%: PolynomialCategory(#1 prete....

"/home/page/fricas-test/int/aldor/ap/FS.ap", line 1254:
                                           (|Apply| |Polynomial|
....................................................^
[L1254 C53] #3 (Error) No one possible return type satisfies the context type.
  These possible return types were rejected:
          -- PolynomialCategory(#1, IndexedExponents(Symbol), Symbol) with ...
  The context requires an expression of type  with
                        %%: PolynomialCategory(#1 prete....

"/home/page/fricas-test/int/aldor/ap/FS.ap", line 1318:
                                             (|Apply| |Polynomial|
......................................................^
[L1318 C55] #1 (Error) No one possible return type satisfies the context type.
  These possible return types were rejected:
          -- PolynomialCategory(#1, IndexedExponents(Symbol), Symbol) with ...
  The context requires an expression of type  with
                        %%: PolynomialCategory(#1 prete....
[L1318 C55] #11 (Fatal Error) Too many errors (use `-M emax=n' or `-M
no-emax' to change the limit).

make[1]: *** [/home/page/fricas-test/int/aldor/ao/FS.ao] Error 1
make[1]: Leaving directory `/home/page/fricas-test/src/aldor'
make: *** [all] Error 2
[EMAIL PROTECTED]:~/fricas-test/src/aldor#

--------

> ...
> Against aldor-1.1 you'll need a small patch to the way axiom computes
> hash codes (I couldn't have got this without the source code, by the ways..):
>
> hashType(type, percentHash) ==
>         SYMBOLP type  =>
>            type = '$ => percentHash
>            type = "%" => percentHash
>            hashString SYMBOL_-NAME type
>         STRINGP type  => hashCombine(hashString type,
>                                         hashString('"Enumeration"))
>         type is ['QUOTE, val] => hashType(val, percentHash)
>         type is [dom] => hashString SYMBOL_-NAME dom
>         type is ['_:, ., type2] => hashType(type2, percentHash)
>         isDomain type => getDomainHash type
>         [op, :args] := type
>         hash := hashString SYMBOL_-NAME op
>         op = 'Mapping =>
>                 hash := hashString '"->"
>                 [retType, :mapArgs] := args
>                 for arg in mapArgs repeat
>                         hash := hashCombine(hashType(arg, percentHash), hash)
>                 retCode := hashType(retType, percentHash)
>                 EQL(retCode, $VoidHash) => hash
>                 hashCombine(retCode, hashCombine(32236, hash))
>         op = 'Enumeration =>
>                 for arg in args repeat
>                         hash := hashCombine(hashString(STRING arg), hash)
>                 hash
>         op in $DomainsWithoutLisplibs =>
>                 for arg in args repeat
>                         hash := hashCombine(hashType(arg, percentHash), hash)
>                 hash
>
>         cmm :=   CDDAR getConstructorModemap(op)
>         cosig := CDR   GETDATABASE(op, 'COSIG)
>         for arg in args for c in cosig for ct in cmm repeat
>                 if c then
>                         hash := hashCombine(hashType(arg, percentHash), hash)
>                 else
>                         hash := hashCombine(7, hash)
> --           !!!   If/when asharp hashes values using their type, use instead
> --                      ctt := EQSUBSTLIST(args, $FormalMapVariableList, ct)
> --                      hash := hashCombine(hashType(ctt, percentHash), hash)
>
>
>         hash

Thanks for this code! I am guessing again that the error in the most
recent build attempt might have somthing to do with this hash
function. So I will apply this patched version of 'hashType' to
FriCAS, rebuild Axiom and try again.

Thanks again for your help.

Regards,
Bill Page.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to