Success! Fixed FriCAS-Aldor-Interface again! Please test!



I am affraid that indeed FriCAS does not store conditions in
export lists of default packages.

OK. I took the old machinery for this case.

And wrt http://groups.google.com/group/fricas-devel/browse_thread/thread/37ac49e7eea7fe59?hl=en I simply used

SUBLISLIS($FormalMapVariableList, $TriangleVariableList, argtypes)

to translate the |t#i| arguments into |#i|.

I've pushed a few patches to the fix-aldor-interface branch on my github account.

https://github.com/hemmecke/fricas/tree/fix-aldor-interface

Look at the complete differences here:
https://github.com/hemmecke/fricas/compare/fix-aldor-interface

I'll probably add a few more comments before I'll commit it to the SVN trunk, but I wanted to make the fix available in 2011. ;-)

The basic idea is for something like

HomogeneousAggregate(S:Type): Category == Aggregate with
   if S has SetCategory then
      if S has Evalable S then Evalable S
   ...

ax.boot will now produce

(|If| (|Test| (|Has| |#1| |SetCategory|))
  (|If| (|Test|
          (|Has| |#1|
            (|Apply| |Evalable|
              (|PretendTo| |#1| |SetCategory|))))
         (|Apply| |Evalable|
           (|PretendTo| |#1|
             (|With|
               (|Apply| |Join|
                  (|Apply| |Evalable| (|PretendTo| |#1| |SetCategory|))
                  |SetCategory|)
               NIL)))
         NIL)
  NIL)

in other words

if S has SetCategory then
  if S has Evalable(S pretend SetCategory) then
     Evalable(S pretend Join(
                             Evalable(S pretend SetCategory),
                             SetCategory
                            )
             )

If we had S:T instead of the special S:Type from aboe, the type T would be joined appropriately, i.e. you would see Join(SetCategory, T) instead of just SetCategory inside the |PretendTo|.

Please test whether a build with --enable-aldor works for you.

Waldek, I'll add a few more comments to ax.boot and then commit the series. Are you OK with that?

Ralf

PS:
Here is the log for the respective commits.

commit 6ffaf7f850caf532e955e7a3b8a95e2105562f25
Author: Ralf Hemmecke <[email protected]>
Date:   Sat Dec 31 00:27:30 2011 +0100

    fix aldor-interface

commit 07e6ab9c2ff0744765dc7f2a4c29d7737b8ebe71
Author: Ralf Hemmecke <[email protected]>
Date:   Wed Nov 23 22:04:41 2011 +0100

    enable Matrix over SemiRng+AbelianMonoid

commit 47e3343112cef23c0c94118c00687986c8cbd191
Author: Ralf Hemmecke <[email protected]>
Date:   Wed Nov 23 10:41:50 2011 +0100

    remove "r"::Symbol from type

    The translation in src/interp/ax.boot can currently not cope with
      UnivariatePolynomial("r"::Sy, FI)
    It will be wrongly translated into something involving "Enumeration".
    The compilation for libaldor.al then aborts with

    "ap/CKP.ap", line 28:
             (|Apply| |::| (|Apply| |Enumeration| |r|) |Symbol|)
    ..................^
[L28 C19] #1 (Error) There are no suitable meanings for the operator `::'.

    The translation into an Enumeration type is clearly wrong here.

Removing the need for an explicit name of the polynomial variable seems to
    be appropriate even without the above bug in ax.boot.

commit 3144e92659cbedc1aa6186f9e74bfb0116bdc92f
Author: Ralf Hemmecke <[email protected]>
Date:   Sun Nov 20 23:37:57 2011 +0100

    fix argument order in jet package (JGB)

    Aldor requires that dependency of arguments is "increasing".

commit 3fd1f4bb883fa617b9469831f3bb8b765b359094
Author: Ralf Hemmecke <[email protected]>
Date:   Sat Dec 31 16:14:23 2011 +0100

    enable configuration of local aldor source files

    If a checkout of trunk (revision 23) of the Aldor SVN repository is in
    directory D then "configure --enable-aldor=$D" will take the necessary
    sourcefiles from this directory instead of contacting the Internet.

commit 9c0c639c91e77624887b12deb31f3cff397a04d4
Author: Ralf Hemmecke <[email protected]>
Date:   Sat Dec 31 14:37:22 2011 +0100

    allow ALDORSOURCE in local file system

    This allows for "make ALDORSOURCE=$HOME/path/to/aldor-trunk" in order
    to build libaldor.al and use the necessary .as files from the local
    file system.


--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to