From ralf at hemmecke.de  Sun Mar  4 08:53:09 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 14:53:09 +0100
Subject: [Aldor-l] Segmentation fault
Message-ID: <45EACF45.9090409@hemmecke.de>

It seems that my version of the Aldor compiler

Aldor version 1.0.3 for LINUX(glibc2.3) (debug version)

does not allow me to recognize primes. :-(

Don't tell me aboout "prime?: % -> Partial Boolean", since I need the 
one that is given below. And I am not very eager to uglify my code with 
yet another workaround.

We clearly have

%4 >> Integer has SourceOfPrimes
T @ Boolean

and "prime?: % -> Boolean" is a default there.

Ralf

--------------------------------------------
aldor -fx -q1 -lalgebra -laldor aaa.ss
aaa
Segmentation fault

---BEGIN aaa.as
#include "algebra"
#include "aldorio"

main(): () == {
	import from Integer;
	b: Boolean := prime? 2;
	stdout << b << newline;
}
main();
---END aaa.as



From ralf at hemmecke.de  Sun Mar  4 09:16:28 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 15:16:28 +0100
Subject: [Aldor-l] Aldor proves 4 to be prime... :-(
Message-ID: <45EAD4BC.5090703@hemmecke.de>

Since "prime?: % -> Boolean" segfaults,
let us test "prime?: Integer -> Partial Boolean".

aldor -q1 -fx -lalgebra -laldor aaa.as
aaa
[T]

Either my Aldor compiler doesn't like me or it looks like a good 
candidate for the general problem that computer algebra faces: Lack of 
well documented programs that everyone could check before trusting a result.

Ralf

---BEGIN aaa.as
#include "algebra"
#include "aldorio"

macro Z == Integer;

main(): () == {
	import from Z;
	b: Partial Boolean := prime? 4;
	stdout << b << newline;
}
main();
---END aaa.as


From ralf at hemmecke.de  Sun Mar  4 10:06:58 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 16:06:58 +0100
Subject: [Aldor-l] The smallest machine integer is "-"
Message-ID: <45EAE092.60505@hemmecke.de>

The smallest machine integer is printed as "-".

Ralf

=================================================
aldor -q1 -laldor -fx aaa.as
aaa
-

---BEGIN aaa.as
#include "aldor"
#include "aldorio"
main(): () == {
	import from MachineInteger;
	stdout << min << newline;
}
main();
---END aaa.as


From bill.page1 at synthesis.anikast.ca  Sun Mar  4 21:29:01 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Sun, 4 Mar 2007 21:29:01 -0500
Subject: [Aldor-l] Coming Soon: * Aldor open source release
In-Reply-To: <45EAD4BC.5090703@hemmecke.de>
Message-ID: <000901c75ece$0cebc380$6900a8c0@asus>

Axiom Developers;

In case you haven't noticed ...

The Aldor web site:

http://www.aldor.org

has a new look and a new message:

News

Feb. 19, 2007

    * v. 1.1-rc (bug fixes) released; 

Coming Soon:

    * Aldor open source release;
    * 64-bit Aldor releases for Linux and Solaris;
    * Aldor Web Demo

Development Public CVS (Coming Soon)

---

and it's own wiki:

http://www.aldor.org/mediawiki

(Warning: The content is still a little sparse.)

Dare we hope that the long wait for an Open Source version of Aldor
is finally (nearly) over?

Does anyone have any idea exactly what "v. 1.1-rc" refers? Note:
The current version of the Aldor compiler is: v1.0.3. Where can
we find v. 1.1-rc?

Regards,
Bill Page.




From bill.page1 at synthesis.anikast.ca  Sun Mar  4 23:22:15 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Sun, 4 Mar 2007 23:22:15 -0500
Subject: [Aldor-l] libalgebra on Windows
In-Reply-To: <45EAE092.60505@hemmecke.de>
Message-ID: <001001c75edd$dd19d6f0$6900a8c0@asus>

Aldor Developers,

Thank you for the new version 1.1.0 release candidate!

After downloading and installing

  aldor-win32-msvc-1.1.0-rc.exe

from www.aldor.org

and checking that Microsoft Visual Studio is installed and
configured to execute from the command prompt,

what do I need to do in order to access

#include "algebra"

in an Aldor program?

Should I expect to find "algebra.as" here? In

  C:\Program Files\Aldor\include

Is the algebra library actually included with the compiler as
claimed? Or do I have to download it or build it separately?

Regards,
Bill Page.




From martin.rubey at univie.ac.at  Mon Mar  5 03:17:22 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 09:17:22 +0100
Subject: [Aldor-l] algebra for 1.1.0
Message-ID: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>

Dear Aldor team,

I happily installed aldor 1.1.0, but alas, algebra is missing. How can I
proceed? Can I simply use algebra from 1.0.3?

Thanks,

Martin



From tmgisi at gmx.at  Mon Mar  5 03:34:25 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Mon, 05 Mar 2007 09:34:25 +0100
Subject: [Aldor-l] Coming Soon: * Aldor open source release
In-Reply-To: <000901c75ece$0cebc380$6900a8c0@asus>
References: <000901c75ece$0cebc380$6900a8c0@asus>
Message-ID: <op.topjfnylu6j4vy@spencer.aistleitner.info>

Hello,

On Mon, 05 Mar 2007 03:29:01 +0100, Bill Page  
<bill.page1 at synthesis.anikast.ca> wrote:

> Does anyone have any idea exactly what "v. 1.1-rc" refers? Note:
> The current version of the Aldor compiler is: v1.0.3. Where can
> we find v. 1.1-rc?

maybe you just caught the aldor webpage in a state of transition.

http://www.aldor.org/downl.html
offers me an option:
   Linux version 1.1.0 (glibc2.3)
. If you'll accept their license, you'll be able to download  
aldor-linux-i386-1.1.0-rc.bin.

Kind regards,
Christian


From tmgisi at gmx.at  Mon Mar  5 05:16:04 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Mon, 05 Mar 2007 11:16:04 +0100
Subject: [Aldor-l] The smallest machine integer is "-"
In-Reply-To: <45EAE092.60505@hemmecke.de>
References: <45EAE092.60505@hemmecke.de>
Message-ID: <op.topn42wru6j4vy@spencer.aistleitner.info>

Hello Ralf,

On Sun, 04 Mar 2007 16:06:58 +0100, Ralf Hemmecke <ralf at hemmecke.de> wrote:

> The smallest machine integer is printed as "-".

I think I reported something like that years ago, sadly enough I cannot
find the bug report.

However, as the aldor.org people are stepping forward with a new release,
let me support them with the bug fix I wrote back then.

For 32bit machines min$MachineInteger is -2147483648 while
max$MachineInteger is 2147483647. That's what can be expected from the way
integers are typically represented within computers, so that's ok.

However, << of MachineInteger comes down to print$IntegerTypeTools. There,
the treatment of negative numbers goes as follows

    if x < 0 then {
      p := p << minus;
      x := -x;
    }

After the if statement, x should hold the absolute value af x's original
value. However, if x is min$MachineInteger before the if statement, x is
still min$MachineInteger after the if statement, because of an overflow.
This overflow is inherent to the format used for number specification.

The implicit assumption that x is positive after the if statement fails.

I propose to perform one division step before negating x. Then -x <
max$MachineInteger and it can be savely inverted. I shifted the
declaration of l and introduced one anticipatory division step. Finally, I
added an assert. This converts print$IntegerTypeTools to the following
function:

    print(x:T, base:T, p:TextWriter):TextWriter == {
      macro REC == Record(digit:Character, next:Pointer);
      import from Boolean, Character, REC;
      zero? x => p << char 48;
      l:REC := nil;
      if x < 0 then {
        p := p << minus;
        -- this brought forward division step
        -- compensates for
        -- -min$MachineInteger > max$MachineInteger
        (x, r) := divide(x, base);
        l := [digit (-r), l pretend Pointer];
        x := -x;
      }
      assert( x > 0 );
      while x > 0 repeat {
        (x, r) := divide(x, base);
        l := [digit r, l pretend Pointer];
      }
      while ~nil? l repeat {
        p := p << l.digit;
        l := l.next pretend REC;
      }
      p;
    }


For those, who need a quick fix can use Aldor's extend functionality. But
you have to be careful not to call <<$MachineInteger from the file you
extended it in. The attached part1.as implements the workaround. Due to
Aldor's extend, you have to use the overridden <<$MachineInteger from
another file, i.e.:part2.as.

Calling via

aldor -Fao -Fo -laldor part1.as && \
ar r libpart1.al part1.ao && \
ar r libpart1.a part1.o && \
aldor -Fx -lpart1 -laldor part2.as && \
./part2

gives

cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
-2147483648
0
1
2147483647

and demonstrates the working workaround.

Kind regards,
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: part1.as
Type: application/octet-stream
Size: 1192 bytes
Desc: not available
Url : http://aldor.org/pipermail/aldor-l_aldor.org/attachments/20070305/2e784848/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: part2.as
Type: application/octet-stream
Size: 281 bytes
Desc: not available
Url : http://aldor.org/pipermail/aldor-l_aldor.org/attachments/20070305/2e784848/attachment-0001.obj 

From martin.rubey at univie.ac.at  Mon Mar  5 05:45:31 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 11:45:31 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
Message-ID: <9qtzx00y0k.fsf@aquin.mat.univie.ac.at>

Dear Aldor experts, dear Ralf,

I just made a curious observation:

trunk of combinat (revision 157) compiles fine with 

-q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor

the testcases need -q1, though.

However, instead of 3 failing tests with 

-q1 -lalgebrad -laldord

we get 4. Additionally, the expression for the cycleindexseries in
testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
other expressions for the cycleindexseries succeed...

I guess there is a problem with the inliner?

Martin



From ralf at hemmecke.de  Mon Mar  5 07:40:08 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Mon, 05 Mar 2007 13:40:08 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <9qtzx00y0k.fsf@aquin.mat.univie.ac.at>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
	<9qtzx00y0k.fsf@aquin.mat.univie.ac.at>
Message-ID: <45EC0FA8.7060806@hemmecke.de>



On 03/05/2007 11:45 AM, Martin Rubey wrote:
> Dear Aldor experts, dear Ralf,
> 
> I just made a curious observation:
> 
> trunk of combinat (revision 157) compiles fine with 
> 
> -q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor
> 
> the testcases need -q1, though.
> 
> However, instead of 3 failing tests with 
> 
> -q1 -lalgebrad -laldord
> 
> we get 4. Additionally, the expression for the cycleindexseries in
> testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
> other expressions for the cycleindexseries succeed...
> 
> I guess there is a problem with the inliner?

I am not an expert with compiler issues. The only thing I can say: never 
mix -DDEBUG stuff with non DEBUG stuff.

Ralf


From martin.rubey at univie.ac.at  Mon Mar  5 08:28:22 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 14:28:22 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <45EC0FA8.7060806@hemmecke.de>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
	<9qtzx00y0k.fsf@aquin.mat.univie.ac.at> <45EC0FA8.7060806@hemmecke.de>
Message-ID: <9q4pozizux.fsf@aquin.mat.univie.ac.at>

Ralf Hemmecke <ralf at hemmecke.de> writes:

> On 03/05/2007 11:45 AM, Martin Rubey wrote:
> > Dear Aldor experts, dear Ralf,
> > I just made a curious observation:
> > trunk of combinat (revision 157) compiles fine with -q4 -qinline-limit=1
> > -qinline-size=1 -lalgebra -laldor
> > the testcases need -q1, though.
> > However, instead of 3 failing tests with -q1 -lalgebrad -laldord
> > we get 4. Additionally, the expression for the cycleindexseries in
> > testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
> > other expressions for the cycleindexseries succeed...
> > I guess there is a problem with the inliner?
> 
> I am not an expert with compiler issues. The only thing I can say: never mix
> -DDEBUG stuff with non DEBUG stuff.

I didn't, only my description of the compiler flags was incomplete...

-q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor

=> 4 failures

-q1 -lalgebrad -laldord -dDEBUG

=> 3 failures


Martin



From bill.page1 at synthesis.anikast.ca  Mon Mar  5 10:20:37 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 10:20:37 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>
Message-ID: <005e01c75f39$d9aa9c00$6900a8c0@asus>

Aldor Developers;

If I click Edit or Discussion on page

http://www.aldor.org/mediawiki

or any other page on the wiki, I get the message:

  Login required to edit

But if I click "Log in / create account"

http://www.aldor.org/mediawiki/index.php?title=Special:Userlogin&returnto=Ma
in_Page

I do not get any opportunity to register or apply in order to
acutally create an account.

The link "Recent changes" does not show any changes in the last
30 days:

http://www.aldor.org/mediawiki/index.php?title=Special:Recentchanges&days=30

This leads me to ask: What is the intended purpose of the new
Aldor Wiki? Is it expected that the wiki will be editable only
by a closed group? If so, I would like to note that such a policy
is contrary to the intention of most wiki web sites. I think it
would be very useful to add a page describing the site access
policy and intended use.

Regards,
Bill Page.





From watt at scl.csd.uwo.ca  Mon Mar  5 10:39:14 2007
From: watt at scl.csd.uwo.ca (Stephen Watt)
Date: Mon, 5 Mar 2007 10:39:14 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <005e01c75f39$d9aa9c00$6900a8c0@asus>
References: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>
	<005e01c75f39$d9aa9c00$6900a8c0@asus>
Message-ID: <20070305153914.GA10528@ptibonum.scl.csd.uwo.ca>

Dear Bill,

It is intended that you (more generally any registered user) 
be able to edit most of the pages.

I'm forwarding your message to Sandy and Laurentiu so they can fix this.
(Sandy can you look after it?)

-- Stephen

On Mon, Mar 05, 2007 at 10:20:37AM -0500, Bill Page wrote:
> Aldor Developers;
> 
> If I click Edit or Discussion on page
> 
> http://www.aldor.org/mediawiki
> 
> or any other page on the wiki, I get the message:
> 
>   Login required to edit
> 
> But if I click "Log in / create account"
> 
> http://www.aldor.org/mediawiki/index.php?title=Special:Userlogin&returnto=Ma
> in_Page
> 
> I do not get any opportunity to register or apply in order to
> acutally create an account.
> 
> The link "Recent changes" does not show any changes in the last
> 30 days:
> 
> http://www.aldor.org/mediawiki/index.php?title=Special:Recentchanges&days=30
> 
> This leads me to ask: What is the intended purpose of the new
> Aldor Wiki? Is it expected that the wiki will be editable only
> by a closed group? If so, I would like to note that such a policy
> is contrary to the intention of most wiki web sites. I think it
> would be very useful to add a page describing the site access
> policy and intended use.
> 
> Regards,
> Bill Page.
> 
> 
> 
> _______________________________________________
> Aldor-l mailing list
> Aldor-l at aldor.org
> http://www.aldor.org/mailman/listinfo/aldor-l


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 10:45:48 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 10:45:48 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <20070305153914.GA10528@ptibonum.scl.csd.uwo.ca>
Message-ID: <006401c75f3d$5ba12640$6900a8c0@asus>

On March 5, 2007 10:39 AM Stephen Watt wrote:
> 
> It is intended that you (more generally any registered user) 
> be able to edit most of the pages.
> 
> I'm forwarding your message to Sandy and Laurentiu so they 
> can fix this.
> (Sandy can you look after it?)
> 

Great!

Thanks, Stephen.

Regards,
Bill Page.




From ldragan at aldor.org  Mon Mar  5 13:07:37 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 13:07:37 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <006401c75f3d$5ba12640$6900a8c0@asus>
References: <006401c75f3d$5ba12640$6900a8c0@asus>
Message-ID: <45EC5C69.6070802@aldor.org>

Bill Page wrote:
> On March 5, 2007 10:39 AM Stephen Watt wrote:
>> It is intended that you (more generally any registered user) 
>> be able to edit most of the pages.
>>
>> I'm forwarding your message to Sandy and Laurentiu so they 
>> can fix this.
>> (Sandy can you look after it?)
>>
> 
> Great!
> 
> Thanks, Stephen.

Ok, I re-enabled the account creation. Previous policy was that only a 
sysop could create an account, but now anybody can create their own account.

--
Laurentiu


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 13:49:18 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 13:49:18 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45EC5C69.6070802@aldor.org>
Message-ID: <007f01c75f56$fe57c6a0$6900a8c0@asus>

On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
> 
> Bill Page wrote:
> > On March 5, 2007 10:39 AM Stephen Watt wrote:
> >> It is intended that you (more generally any registered user) 
> >> be able to edit most of the pages.
> >>
> >> I'm forwarding your message to Sandy and Laurentiu so they 
> >> can fix this. (Sandy can you look after it?)
> >>
> > 
> > Great!
> > 
> > Thanks, Stephen.
> 
> Ok, I re-enabled the account creation. Previous policy was 
> that only a sysop could create an account, but now anybody
> can create their own account.
> 

Thank you for setting this up, Laurentiu. The MediaWiki software
that you chose for the Aldor site certainly has a good reputation 
(since it is the software used by Wikipedia) and provides all the
features that we are likely to need for discussions of Aldor and
related systems. It is well maintained and has a lot if interesting
add-on modules.

Have you thought about how it might be used (or if it should be
used) for Aldor bug reports and feature requests?

Regards,
Bill Page.





From bill.page1 at synthesis.anikast.ca  Mon Mar  5 14:11:17 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 14:11:17 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <007f01c75f56$fe57c6a0$6900a8c0@asus>
Message-ID: <008901c75f5a$10637f80$6900a8c0@asus>

On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
> 
> Bill Page wrote:
> > On March 5, 2007 10:39 AM Stephen Watt wrote:
> >> It is intended that you (more generally any registered user) 
> >> be able to edit most of the pages.
> >>
> >> I'm forwarding your message to Sandy and Laurentiu so they 
> >> can fix this. (Sandy can you look after it?)
> >>
> > 
> > Great!
> > 
> > Thanks, Stephen.
> 
> Ok, I re-enabled the account creation. Previous policy was 
> that only a sysop could create an account, but now anybody
> can create their own account.
> 

Does current policy also disable file uploads? When I try this
I get the message:

  Uploads disabled

  File uploads are disabled on this wiki. 

I think uploading files might be very useful for discussing
example code and proposing patches etc.

Regards,
Bill Page.




From ldragan at aldor.org  Mon Mar  5 16:26:31 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 16:26:31 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <008901c75f5a$10637f80$6900a8c0@asus>
References: <008901c75f5a$10637f80$6900a8c0@asus>
Message-ID: <45EC8B07.1070802@aldor.org>

Bill Page wrote:
> On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
>> Bill Page wrote:
>>> On March 5, 2007 10:39 AM Stephen Watt wrote:
>>>> It is intended that you (more generally any registered user) 
>>>> be able to edit most of the pages.
>>>>
>>>> I'm forwarding your message to Sandy and Laurentiu so they 
>>>> can fix this. (Sandy can you look after it?)
>>>>
>>> Great!
>>>
>>> Thanks, Stephen.
>> Ok, I re-enabled the account creation. Previous policy was 
>> that only a sysop could create an account, but now anybody
>> can create their own account.
>>
> 
> Does current policy also disable file uploads? When I try this
> I get the message:
> 
>   Uploads disabled
> 
>   File uploads are disabled on this wiki. 
> 
> I think uploading files might be very useful for discussing
> example code and proposing patches etc.

Due to security reasons file upload is disabled by default. File upload 
is meant as a media file upload (images and sounds).

It is much nicer to include the code directly in wiki, it is just a 
matter of using the <pre>...</pre> tags.

I have allowed file upload for aldor source only, but I am not sure this 
is very safe.

--
Laurentiu


From ldragan at aldor.org  Mon Mar  5 18:08:38 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 18:08:38 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <007f01c75f56$fe57c6a0$6900a8c0@asus>
References: <007f01c75f56$fe57c6a0$6900a8c0@asus>
Message-ID: <45ECA2F6.4090504@aldor.org>

 > Have you thought about how it might be used (or if it should be
 > used) for Aldor bug reports and feature requests?

While it is possible to do that in a wiki, I think that having a 
specialized bug tracking system would be more helpful. We are still 
looking into this problem.

Regards,
--
Laurentiu


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 21:12:51 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 21:12:51 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45EC8B07.1070802@aldor.org>
Message-ID: <00a201c75f94$f4bd8c90$6900a8c0@asus>

On March 5, 2007 4:27 PM Laurentiu Dragan wrote:
> ...
> Bill Page wrote: 
> > Does current policy also disable file uploads? When I try
> > this I get the message:
> > 
> >   Uploads disabled
> > 
> >   File uploads are disabled on this wiki. 
> > 
> > I think uploading files might be very useful for discussing
> > example code and proposing patches etc.
> 
> Due to security reasons file upload is disabled by default.

What security issues do you think there with file uploading?
I do not see how uploading a file can represent any kind of
threat to the host system. Of course downloading is another
issue and users should always take appropriate precautions
(e.g. virus scan) when download files from any website.

> File upload is meant as a media file upload (images and
> sounds).
>

Yes but in this context Aldor programs also constitute a kind
of "media".

Actually there are many different types of files that can be
useful for a web site that supports Aldor, e.g. postscript
files, pdf files, dvi files, quicktime demonstrations, mp3
audio and video recordings, flash tutorials, photographs, etc.
In a wiki environment one might wish that these be easily
contributed by Aldor users.
 
> It is much nicer to include the code directly in wiki, it
> is just a matter of using the <pre>...</pre> tags.

Yes I agree in general. However in some cases cutting-and-
pasting from the web page can be problematic, e.g. embedded
tab characters. This is especially true of makefile patches.

> 
> I have allowed file upload for aldor source only, but I am 
> not sure this is very safe.
> 

By "aldor source" do you mean files with an .as extension?

Since uploaded files are not executed by the host system,
why do you think it might not be safe?

In general I think a wiki should have an open access policy,
but this is probably not the right place to be discussing
wiki philosophy...

Regards,
Bill Page.




From tmgisi at gmx.at  Tue Mar  6 02:14:19 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Tue, 06 Mar 2007 08:14:19 +0100
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45ECA2F6.4090504@aldor.org>
References: <007f01c75f56$fe57c6a0$6900a8c0@asus> <45ECA2F6.4090504@aldor.org>
Message-ID: <op.torad5fwu6j4vy@spencer.aistleitner.info>

Hello,

On Tue, 06 Mar 2007 00:08:38 +0100, Laurentiu Dragan <ldragan at aldor.org>  
wrote:

>  > Have you thought about how it might be used (or if it should be
>  > used) for Aldor bug reports and feature requests?
>
> While it is possible to do that in a wiki, I think that having a
> specialized bug tracking system would be more helpful. We are still
> looking into this problem.

if the intention of the Wiki is a "bug tracking system", then why don't  
you use a bug tracking system (e.g.: Bugzilla)?


Kind regards,
Christian


From ralf at hemmecke.de  Wed Mar 21 17:23:33 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Wed, 21 Mar 2007 22:23:33 +0100
Subject: [Aldor-l] Emacs+ALLPROSE workaround for #line problem
Message-ID: <4601A255.8040306@hemmecke.de>

Versions of the Aldor compiler up to 1.0.3 (I have not actually checked 
1.1.0rc1) cannot properly deal with #line directives.

ALLPROSE is a framework to produce Aldor libraries. Instead of .as 
files, the sources are noweb files (extension .as.nw). The .as files are 
actually generated and fed to the compiler. If an error is encountered 
the filename and line number point to the .as file. That is however 
*not* the actual source.

If compiling inside Emacs, the 'next-error' command jumps to the .as 
file and up to now one had to read the ALLPROSE-generated directives like

--#line 240 "sitools/sitools.as.nw"

to figure out manually where the error in the actual source file is.

With the help and code of Cliff Yap and Jay Belanger, I could now put 
together some lines that one has to put into the .xemacs/init.el file.
Now M-F12 jumps correctly into the .as.nw file.

Thank you Cliff and thank you Jay.

Ralf

PS: Since the .as file is still loaded by next-error, does someone know 
how I can get rid of those buffers in allprose-workaround-aldor-next-error ?


;--Workaround for the Aldor compiler bug of being unable to deal
;-- properly with #line directives
(defvar pamphlet-line-id "--#line ")
(defun find-previous-pamphlet-id-line ()
   (re-search-backward pamphlet-line-id nil t))
;;ALLPROSE spits out lines like
;;--#line 211 "poly/idxpp.as.nw"
(defun allprose-previous-input ()
   "Move to the previous input line."
   (interactive)
   (let ((orig (point))
         (pt (find-previous-pamphlet-id-line)))
     (if (not pt)
         (message "No id line found.")
       (let ((n (count-lines pt orig))
             (filename)
             (lineno))
	(re-search-forward " +")
	(setq lineno (current-word))
	(re-search-forward " +\"")
	(setq filename (thing-at-point 'filename))
	(find-file filename)
	(goto-line (+ n (string-to-number lineno) -1))))))

(defun allprose-workaround-aldor-next-error ()
   "Move point to the next error position in the corresponding .as.nw file."
   (interactive)
   (next-error)
   (allprose-previous-input))

(global-set-key [(meta f12)] 'allprose-workaround-aldor-next-error)


From volcheck at acm.org  Fri Mar 23 00:50:12 2007
From: volcheck at acm.org (Emil Volcheck)
Date: Fri, 23 Mar 2007 00:50:12 -0400
Subject: [Aldor-l] [wdjoyner@gmail.com: Re: FW: oscas axiom draft]
Message-ID: <20070323045012.GF4266@speakeasy.net>

Stephen and Aldor folks,

The next issue of Communications in Computer Algebra will have
an OSCAS column devoted to Axiom and Aldor.  Is there any news
about Aldor going open source that could be mentioned before
this goes to press?  Right now there is just a somewhat vague
statement on the website that it is coming soon.

Thanks,

Emil Volcheck, Chair
ACM SIGSAM
http://www.sigsam.org/


----- Forwarded message from David Joyner <wdjoyner at gmail.com> -----


From: David Joyner <wdjoyner at gmail.com>
To: Bill Page <bill.page1 at synthesis.anikast.ca>
Subject: Re: FW: oscas axiom draft
Cc: daly at axiom-developer.org,
	Waldek Hebisch <Waldemar.Hebisch at math.uni.wroc.pl>,
	Gabriel Dos Reis <gdr at cs.tamu.edu>,
	Martin Rubey <martin.rubey at univie.ac.at>,
	Gregory Vanuxem <g.vanuxem at wanadoo.fr>,
	Emil Volcheck <volcheck at acm.org>
In-Reply-To: <00f501c76bcc$023f6d00$6900a8c0 at asus>


Here is the second draft, which I think addresses the comments
(thank you!) of Bill and Tim. I'm sending it out as a link
so it doesn't end up clogging up your mail box:
http://sage.scipy.org/tmp/oscas-cca2.pdf
Again, please be as critical as you want!

- David


+++++++++++++++++++++++++++++++++++++++++++++

On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
>Tim, Gaby, Waldek, Martin and Greg,
>
>Perhaps you might wish to read and comment on the attached
>article about Axiom by David Joyner. His article will be
>published in the OSCAS (Open Source Computer Algebra Systems)
>SIGSAM newsletter. For comparison see his recent article on
>Maxima:
>
>http://www.sigsam.org/bulletin/articles/157/oscas-maxima-DavidJoyner.pdf
>
>My initial reply to David is included below.
>
>Regards,
>Bill Page.
>
>-----Original Message-----
>From: David Joyner [mailto:wdjoyner at gmail.com]
>Sent: March 20, 2007 10:05 PM
>To: Bill Page
>Cc: David Joyner; Page, Bill
>Subject: oscas axiom draft
>
>
>Hi Bill:
>
>Do you have any comments on this? Please be as
>critical as you want! I think it needs more history
>and maybe some nicer examples. What do you think?
>
>The axiom4sage package works fine but clicking on
>some of the examples caused the HyperDoc to
>crash, so I had trouble finding examples that way.
>
>- David
>
>
>
>-----Original Message-----
>From: David Joyner [mailto:wdjoyner at gmail.com]
>Sent: March 21, 2007 7:14 AM
>To: Bill Page
>Subject: Re: oscas axiom draft
>
>
>On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
>> David,
>>
>> On March 20, 2007 10:05 PM you wrote:
>> >
>> > Do you have any comments on this? Please be as
>> > critical as you want! I think it needs more history
>> > and maybe some nicer examples. What do you think?
>> >
>>
>> My reaction after a first reading of your draft article is
>> that it is a brief and somewhat "journalistic" account of the
>> current status of Axiom. By "journalistic" I guess I mean
>> something like "lacking in depth but otherwise accurately
>> reported". :-) Probably both perceptions (that is brief and
>> lacking in depth) is mostly a result of me being very close
>> to the subject myself.
>>
>> I think the history content of your draft is fine unless your
>> intention was specifically to address the historical context
>> of the ScratchPad project at IBM, in which case that probably
>> desires a paper all of it's own.
>>
>> The examples are also quite good. But in order to judge that
>> better, I guess I would have to understand the point you
>> would like to emphasise. Right now it seems to suggest that
>> Axiom can do what most other large scale computer algebra
>> systems can do and that is certainly correct as it stands.
>>
>> But I think that perhaps your article misses one key point
>> that sets Axiom apart from Maxima, Reduce, Mathematica and
>> Maple - the design of the Axiom mathematical library. The
>> SPAD language (and Aldor) was designed specifically to make
>> it possible to write mathematical algorithms in a flexible
>> but type-correct manner which today might be referred to as
>> a polymorphic object-oriented paradigm such as you might
>> find in Haskell and to a lesser extent in Python and similar
>> languages.
>>
>> I specifically left Mupad out of the above list because it
>> is a somewhat different story, having explicitly borrowed a
>> large part of the Axiom concepts of Domain and Category in
>> the design of it's mathematical library.
>>
>> The Axiom library implements a rich hierarchy of abstract
>> data structure types, from simple Aggregates to Keyed
>> Dictionaries and Lazy Streams, which collectively make SPAD
>> a very high level programming language. This is important
>> for the representation of mathematical objects and the Axiom
>> library uses these to provide an even richer hierarchy of
>> algebraic categories, from Sets to FiniteFields and Partial
>> Differential Rings, etc. Together there are over 1,300
>> mathematical concepts defined in the library.
>>
>> One of the purposes of the HyperDoc component of Axiom was
>> to make it possible to search and navigate this large and
>> tightly inter-related library.
>>
>> If one is interested in history, it is hard not to notice
>> that both of these developments - the SPAD language and the
>> HyperDoc browser - predated contemporary interest in these
>> subjects by almost two decades.
>>
>> Actually it is this aspect which strongly attracted me to
>> Sage since to some extent Sage seems to be re-inventing (or
>> at least re-implementing) a lot of the same library structure
>> in Pythonic form. I really hope that by providing Axiom as
>> an external package for Sage, some of this early experience
>> will eventually influence the evolution of Sage.
>>
>> > The axiom4sage package works fine but clicking on some
>> > of the examples caused the HyperDoc to crash, so I had
>> > trouble finding examples that way.
>> >
>>
>> The axiom4sage-0.1 package is based on an early version of
>> the new 'build-improvements' branch of Axiom development.
>> I chose this branch because one of it's main goals was to
>> enable building of Axiom on a much wider range of systems
>> and that seemed most compatible with the goals of Sage.
>> But there is a new sub-branch development called wh-sandbox
>> which corrects many problems such as the HyperDoc crashes
>> that you experienced. It is my intention to release real-
>> soon-now a new axiom4sage-0.2 package which is based on
>> wh-sandbox. Eventually all of this will become mainstream
>> Axiom development at which point I would hope to provide
>> an official "axiom4sage-1.0" package for Sage.
>>
>> I am a little concerned that your impressions of Axiom are
>> filtered by accessing Axiom through the Sage interface.
>
>These are great comments!
>
>I am running the axiom in
>.../sage-x.y/local/axiom/target/x86_64-suse-linux/bin/axiom
>from the command line - no SAGE interpreter (AFAIK).
>
>> axiom4sage is a full version of Axiom but the current Sage
>> interface only exposes the Axiom interpreter in a manner
>> that makes it appear superficially similar to Maxima.
>> I am hoping that I somehow find the time to improve the
>> Axiom interface in Sage to better exploit the underlying
>> similarity between many Sage classes and Axiom domains;
>> and going even further, to expose the Axiom compiler and
>> the SPAD language to Sage programmers.
>>
>> Anyway, you were probably more interested in my direct
>> criticism of your article than an oratory on my plans and
>> hopes for the relationship between Axiom and Sage. :-)
>> To that end I would recommend that you include in your
>> article at least one example of SPAD coding and a few
>> comments on the Axiom mathematical library.
>
>Will do.
>
>>
>> Let me now give your article a second more careful reading
>> and I will try to get back to you in the next few days
>> with some more specific suggestions.
>>
>> BTW, would you have any objection if I were to forward a
>> copy of your article and my comments to some of the other
>> Axiom developers, specifically Tim, Gaby and Waldek? I
>
>
>Please do!
>
>
>> suspect that Tim Daly especially might have a somewhat
>> different orientation and therefore a different reaction
>> to your article than I do.
>>
>> Regards,
>> Bill Page.
>
>

----- End forwarded message -----

-- 
Emil Volcheck
volcheck at acm.org
http://acm.org/~volcheck


From watt at scl.csd.uwo.ca  Fri Mar 23 15:28:35 2007
From: watt at scl.csd.uwo.ca (Stephen Watt)
Date: Fri, 23 Mar 2007 14:28:35 -0500
Subject: [Aldor-l] [wdjoyner@gmail.com: Re: FW: oscas axiom draft]
In-Reply-To: <20070323045012.GF4266@speakeasy.net>
References: <20070323045012.GF4266@speakeasy.net>
Message-ID: <20070323192835.GA21814@ptibonum.scl.csd.uwo.ca>

Dear Emil,

Yes, we should ahve some news about this next week I expect.
Sorry I can't write more... I'm leaving for the airport in 10 minutes.

-- Stephen


On Fri, Mar 23, 2007 at 12:50:12AM -0400, Emil Volcheck wrote:
> Stephen and Aldor folks,
> 
> The next issue of Communications in Computer Algebra will have
> an OSCAS column devoted to Axiom and Aldor.  Is there any news
> about Aldor going open source that could be mentioned before
> this goes to press?  Right now there is just a somewhat vague
> statement on the website that it is coming soon.
> 
> Thanks,
> 
> Emil Volcheck, Chair
> ACM SIGSAM
> http://www.sigsam.org/
> 
> 
> ----- Forwarded message from David Joyner <wdjoyner at gmail.com> -----
> 
> 
> From: David Joyner <wdjoyner at gmail.com>
> To: Bill Page <bill.page1 at synthesis.anikast.ca>
> Subject: Re: FW: oscas axiom draft
> Cc: daly at axiom-developer.org,
> 	Waldek Hebisch <Waldemar.Hebisch at math.uni.wroc.pl>,
> 	Gabriel Dos Reis <gdr at cs.tamu.edu>,
> 	Martin Rubey <martin.rubey at univie.ac.at>,
> 	Gregory Vanuxem <g.vanuxem at wanadoo.fr>,
> 	Emil Volcheck <volcheck at acm.org>
> In-Reply-To: <00f501c76bcc$023f6d00$6900a8c0 at asus>
> 
> 
> Here is the second draft, which I think addresses the comments
> (thank you!) of Bill and Tim. I'm sending it out as a link
> so it doesn't end up clogging up your mail box:
> http://sage.scipy.org/tmp/oscas-cca2.pdf
> Again, please be as critical as you want!
> 
> - David
> 
> 
> +++++++++++++++++++++++++++++++++++++++++++++
> 
> On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
> >Tim, Gaby, Waldek, Martin and Greg,
> >
> >Perhaps you might wish to read and comment on the attached
> >article about Axiom by David Joyner. His article will be
> >published in the OSCAS (Open Source Computer Algebra Systems)
> >SIGSAM newsletter. For comparison see his recent article on
> >Maxima:
> >
> >http://www.sigsam.org/bulletin/articles/157/oscas-maxima-DavidJoyner.pdf
> >
> >My initial reply to David is included below.
> >
> >Regards,
> >Bill Page.
> >
> >-----Original Message-----
> >From: David Joyner [mailto:wdjoyner at gmail.com]
> >Sent: March 20, 2007 10:05 PM
> >To: Bill Page
> >Cc: David Joyner; Page, Bill
> >Subject: oscas axiom draft
> >
> >
> >Hi Bill:
> >
> >Do you have any comments on this? Please be as
> >critical as you want! I think it needs more history
> >and maybe some nicer examples. What do you think?
> >
> >The axiom4sage package works fine but clicking on
> >some of the examples caused the HyperDoc to
> >crash, so I had trouble finding examples that way.
> >
> >- David
> >
> >
> >
> >-----Original Message-----
> >From: David Joyner [mailto:wdjoyner at gmail.com]
> >Sent: March 21, 2007 7:14 AM
> >To: Bill Page
> >Subject: Re: oscas axiom draft
> >
> >
> >On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
> >> David,
> >>
> >> On March 20, 2007 10:05 PM you wrote:
> >> >
> >> > Do you have any comments on this? Please be as
> >> > critical as you want! I think it needs more history
> >> > and maybe some nicer examples. What do you think?
> >> >
> >>
> >> My reaction after a first reading of your draft article is
> >> that it is a brief and somewhat "journalistic" account of the
> >> current status of Axiom. By "journalistic" I guess I mean
> >> something like "lacking in depth but otherwise accurately
> >> reported". :-) Probably both perceptions (that is brief and
> >> lacking in depth) is mostly a result of me being very close
> >> to the subject myself.
> >>
> >> I think the history content of your draft is fine unless your
> >> intention was specifically to address the historical context
> >> of the ScratchPad project at IBM, in which case that probably
> >> desires a paper all of it's own.
> >>
> >> The examples are also quite good. But in order to judge that
> >> better, I guess I would have to understand the point you
> >> would like to emphasise. Right now it seems to suggest that
> >> Axiom can do what most other large scale computer algebra
> >> systems can do and that is certainly correct as it stands.
> >>
> >> But I think that perhaps your article misses one key point
> >> that sets Axiom apart from Maxima, Reduce, Mathematica and
> >> Maple - the design of the Axiom mathematical library. The
> >> SPAD language (and Aldor) was designed specifically to make
> >> it possible to write mathematical algorithms in a flexible
> >> but type-correct manner which today might be referred to as
> >> a polymorphic object-oriented paradigm such as you might
> >> find in Haskell and to a lesser extent in Python and similar
> >> languages.
> >>
> >> I specifically left Mupad out of the above list because it
> >> is a somewhat different story, having explicitly borrowed a
> >> large part of the Axiom concepts of Domain and Category in
> >> the design of it's mathematical library.
> >>
> >> The Axiom library implements a rich hierarchy of abstract
> >> data structure types, from simple Aggregates to Keyed
> >> Dictionaries and Lazy Streams, which collectively make SPAD
> >> a very high level programming language. This is important
> >> for the representation of mathematical objects and the Axiom
> >> library uses these to provide an even richer hierarchy of
> >> algebraic categories, from Sets to FiniteFields and Partial
> >> Differential Rings, etc. Together there are over 1,300
> >> mathematical concepts defined in the library.
> >>
> >> One of the purposes of the HyperDoc component of Axiom was
> >> to make it possible to search and navigate this large and
> >> tightly inter-related library.
> >>
> >> If one is interested in history, it is hard not to notice
> >> that both of these developments - the SPAD language and the
> >> HyperDoc browser - predated contemporary interest in these
> >> subjects by almost two decades.
> >>
> >> Actually it is this aspect which strongly attracted me to
> >> Sage since to some extent Sage seems to be re-inventing (or
> >> at least re-implementing) a lot of the same library structure
> >> in Pythonic form. I really hope that by providing Axiom as
> >> an external package for Sage, some of this early experience
> >> will eventually influence the evolution of Sage.
> >>
> >> > The axiom4sage package works fine but clicking on some
> >> > of the examples caused the HyperDoc to crash, so I had
> >> > trouble finding examples that way.
> >> >
> >>
> >> The axiom4sage-0.1 package is based on an early version of
> >> the new 'build-improvements' branch of Axiom development.
> >> I chose this branch because one of it's main goals was to
> >> enable building of Axiom on a much wider range of systems
> >> and that seemed most compatible with the goals of Sage.
> >> But there is a new sub-branch development called wh-sandbox
> >> which corrects many problems such as the HyperDoc crashes
> >> that you experienced. It is my intention to release real-
> >> soon-now a new axiom4sage-0.2 package which is based on
> >> wh-sandbox. Eventually all of this will become mainstream
> >> Axiom development at which point I would hope to provide
> >> an official "axiom4sage-1.0" package for Sage.
> >>
> >> I am a little concerned that your impressions of Axiom are
> >> filtered by accessing Axiom through the Sage interface.
> >
> >These are great comments!
> >
> >I am running the axiom in
> >.../sage-x.y/local/axiom/target/x86_64-suse-linux/bin/axiom
> >from the command line - no SAGE interpreter (AFAIK).
> >
> >> axiom4sage is a full version of Axiom but the current Sage
> >> interface only exposes the Axiom interpreter in a manner
> >> that makes it appear superficially similar to Maxima.
> >> I am hoping that I somehow find the time to improve the
> >> Axiom interface in Sage to better exploit the underlying
> >> similarity between many Sage classes and Axiom domains;
> >> and going even further, to expose the Axiom compiler and
> >> the SPAD language to Sage programmers.
> >>
> >> Anyway, you were probably more interested in my direct
> >> criticism of your article than an oratory on my plans and
> >> hopes for the relationship between Axiom and Sage. :-)
> >> To that end I would recommend that you include in your
> >> article at least one example of SPAD coding and a few
> >> comments on the Axiom mathematical library.
> >
> >Will do.
> >
> >>
> >> Let me now give your article a second more careful reading
> >> and I will try to get back to you in the next few days
> >> with some more specific suggestions.
> >>
> >> BTW, would you have any objection if I were to forward a
> >> copy of your article and my comments to some of the other
> >> Axiom developers, specifically Tim, Gaby and Waldek? I
> >
> >
> >Please do!
> >
> >
> >> suspect that Tim Daly especially might have a somewhat
> >> different orientation and therefore a different reaction
> >> to your article than I do.
> >>
> >> Regards,
> >> Bill Page.
> >
> >
> 
> ----- End forwarded message -----
> 
> -- 
> Emil Volcheck
> volcheck at acm.org
> http://acm.org/~volcheck


From ralf at hemmecke.de  Wed Mar 28 20:03:25 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Thu, 29 Mar 2007 02:03:25 +0200
Subject: [Aldor-l] kTuple wish
Message-ID: <460B024D.8000605@hemmecke.de>

The following text describes a weakness of the Aldor language.

Suppose I want to write a domain that takes a finite number of domains
satisfying a certain category "LabelType".

I write kTuple instead of Tuple, because the Aldor-Tuple constructor
is not suitable for what I want. In particular, if

   T: Tuple PrimitiveType

then I T = (Integer, String, Boolean, String) would be one possible
value for T. However, an element of T is not a Tuple, since T (not its
type) is non-homogeneous. So I would rather need something like
"Cross", but I cannot even ask about the number of arguments of Cross.


Let us give a rough outline of the domain Multiset which should be
seen as a constructor to construct k-tuples of sets over different domains.
Note that "SetSpecies" is just a special instance. I need something
for arbitrary S: LabelType -> LabelType.


Multiset(M: kTuple LabelType): with {
         <<exports: Multiset>>
} == add {
         macro S == SetSpecies;
         <<representation: Multiset>>
         <<implementation: Multiset>>
}
@




Section: <<representation: Multiset>>
--------------------------------------

The representation will be a kTuple.

By M.i I mean something like "element(M, i)" exported by the Tuple
constructor, but rather supported by the language (not the library).
If

   T: Tuple PrimitiveType == (Integer, String);

then element(T, 1) cannot be identified with Integer
at compile time, since the function "element" could be
non-terminating.

So the representation should informally be something like

   Rep == (S M.1, S M.2, ..., S M.k);

Since elipses are not a rigorous concept it should perhaps rather look
like

   Rep == MapOver(S)(M);


The "MapOver" constructor should be understood by applying the
constructor

   S = SetSpecies: LabelType -> LabelType

to each element of the tuple.

The above Rep could still be done via Aldor-Tuple, but I don't know
how to map a constructor S over a tuple whose size is not given at
compile time.



Section: <<exports: Multiset>> + <<implementation: Multiset>>
-------------------------------------------------------------

I somehow want that the Multiset constructor can be seen as a function
from kTuple to kTuple, i.e. the input and output tuple should have the
same arity.

  #: I == # $ M; -- arity doesn't change

It would simply be overcool if I'd have a function definition that
informally looks like

   multiset: (S M.1, ..., S M.k) -> %;

or rather

   multiset: MapOver(S)(M) -> %;

so that I could write

   multiset(sm1: S M.1, ..., smk: S M.k): % == per (sm1, ..., smk);

or rather

   multiset(sm: MapOver(S)(M)): % == per sm;

and later use it as

   T == Multiset(Integer, String);
   a: SetSpecies Integer := set [1,3,5];
   b: SetSpecies String := set ["a", "x", "free", "open"];
   t: T := multiset(a, b);

   U == Multiset(String, Boolean, Integer);
   c: SetSpecies Boolean := set [true];
   w: W := multiset(b, c, a);

The compiler should reject a statement like

   u: T := multiset(a, a);

at compile time.

If the constructor "MapOver" where built into the Aldor language that
should be doable at compile time. If I construct it as an ordinary
domain constructor (I still don't know how to do this with all the
"nice" properties I describe above), then the compiler has no good
chance to check at compile time since I might have made my constructor
non-terminating.

Is such a "MapOver" a bad idea? Or are there perhaps similar concepts
in other programming languages that would allow to reject a statement
like

   u: T := multiset(a, a);

at compile time.

Hmmm, maybe it is a bit tricky. Take, for example, the program aaa.as.

---BEGIN aaa.as
#include "aldor"
I ==> MachineInteger;
S(T: PrimitiveType): PrimitiveType == I;
main(): () == {
	A ==> S Integer;
	B ==> S String;
	a: A := (0$I) pretend A; -- I need some value ...
	b: B := (1$I) pretend B; -- forgive the "pretend" ...
	equal?: Boolean := a = b;
}
main();
---END aaa.as

It currently dose not compile (Aldor 1.0.3):

aldor -fx -laldor aaa.as
"aaa.as", line 10:         equal?: Boolean := a = b;
                    ...........................^
[L10 C28] #1 (Error) Argument 1 of `=' did not match any possible 
parameter type.
     The rejected type is S(AldorInteger).
     Expected one of:
       -- Boolean
       -- S(String)

The reason is clear, even though A = S Integer = S String = B = I, the
compiler will not evaluate S and thus consider A as unequal to B.

Being in that light, the compiler could reject

   u: T := multiset(a, a);

but if S maps everything to the same domain, should it reject it?
I'd rather live with "rejection", but since I am not a compiler
developer, I would like to hear people with more inside.

Thank you in advance

Ralf



From martin.rubey at univie.ac.at  Thu Mar 29 13:37:00 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 29 Mar 2007 19:37:00 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <460B024D.8000605@hemmecke.de>
References: <460B024D.8000605@hemmecke.de>
Message-ID: <9qejn8c5oj.fsf@aquin.mat.univie.ac.at>

Dear Ralf,

Ralf Hemmecke <ralf at hemmecke.de> writes:

> Suppose I want to write a domain that takes a finite number of domains
> satisfying a certain category "LabelType".
> 
> I write kTuple instead of Tuple, because the Aldor-Tuple constructor
> is not suitable for what I want. In particular, if
> 
>    T: Tuple PrimitiveType
> 
> then I T = (Integer, String, Boolean, String) would be one possible
> value for T. 

I guess that "I T" should be "T"? 

> However, an element of T is not a Tuple, since T (not its
> type) is non-homogeneous. 

Did you want to say: "an element of T is not a PrimitiveType"? I do not
understand either, in fact:

%1 >> #include "aldor"
                                           Comp: 200 msec, Interp: 40 msec
%2 >> #include "aldorinterp"
                                           Comp: 80 msec, Interp: 0 msec
%3 >> import from Tuple PrimitiveType
                                           Comp: 0 msec, Interp: 0 msec
%4 >> T: Tuple PrimitiveType := (Integer, String, Boolean, String)
  () @ Tuple(PrimitiveType)
                                           Comp: 10 msec, Interp: 60 msec
%5 >> Tuple PrimitiveType
  () @ Join(
 with 
    ==  add ()
, 
 with 
        element: (%, MachineInteger) -> PrimitiveType
        dispose!: % -> ()
        length: % -> MachineInteger
        tuple: (MachineInteger, Pointer) -> %
    ==  add ()
)
                                           Comp: 10 msec, Interp: 80 msec
%6 >> import from MachineInteger
                                           Comp: 30 msec, Interp: 0 msec
%7 >> element(T, machine 1)
  () @ PrimitiveType
                                           Comp: 0 msec, Interp: 30 msec

Martin



From ralf at hemmecke.de  Thu Mar 29 14:39:09 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Thu, 29 Mar 2007 20:39:09 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <9qejn8c5oj.fsf@aquin.mat.univie.ac.at>
References: <460B024D.8000605@hemmecke.de>
	<9qejn8c5oj.fsf@aquin.mat.univie.ac.at>
Message-ID: <460C07CD.2010904@hemmecke.de>

On 03/29/2007 07:37 PM, Martin Rubey wrote:
> Dear Ralf,
> 
> Ralf Hemmecke <ralf at hemmecke.de> writes:
> 
>> Suppose I want to write a domain that takes a finite number of domains
>> satisfying a certain category "LabelType".
>>
>> I write kTuple instead of Tuple, because the Aldor-Tuple constructor
>> is not suitable for what I want. In particular, if
>>
>>    T: Tuple PrimitiveType
>>
>> then I T = (Integer, String, Boolean, String) would be one possible
>> value for T. 

> I guess that "I T" should be "T"? 

Of course.

>> However, an element of T is not a Tuple, since T (not its
>> type) is non-homogeneous. 

> Did you want to say: "an element of T is not a PrimitiveType"?

If T = (Integer, String) then by "element" I neither meant Integer nor 
String, but rather a t so that t: T.

Try to show me such a t. And then try to convince me that it is a Tuple.

Ralf



From martin.rubey at univie.ac.at  Thu Mar 29 16:05:02 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 29 Mar 2007 22:05:02 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <460C07CD.2010904@hemmecke.de>
References: <460B024D.8000605@hemmecke.de>
	<9qejn8c5oj.fsf@aquin.mat.univie.ac.at> <460C07CD.2010904@hemmecke.de>
Message-ID: <9qlkhfbytt.fsf@aquin.mat.univie.ac.at>

Dear Ralf,

I cannot find the mail anymore in which you explained why you want to have
several labeltypes for multisort species. I think the argument was because of
functorial composition, but I cannot remember well...

Maybe you could repeat.

Thanks, 

Martin



From martin.rubey at univie.ac.at  Sat Mar 31 03:26:59 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 31 Mar 2007 09:26:59 +0200
Subject: [Aldor-l] depending on tuples...
Message-ID: <9qslbl98l8.fsf@aquin.mat.univie.ac.at>

Dear Aldor experts,

I'd like to have a dependent signature roughly as follows:

F(t: Tuple PrimitiveType): SomeThing with {

   g: (i: MachineInteger) -> List element(t, i);
} == add {

...

}

I.e., I would like to supply a tuple, list, vector whatever you wish of types
of the same category. It would also be OK to have a signature of F like

F(k: MachineInteger, t: Vector(k, PrimitiveType)): SomeThing ...

i.e., where the number of given Types is arbitrary but fixed.


(using the first signature, I always get  

  Unhandled Exception: RuntimeError()
  (Aldor error) Bad use of a dependent type

Any ideas?

Martin



From ralf at hemmecke.de  Sun Mar  4 08:53:09 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 14:53:09 +0100
Subject: [Aldor-l] Segmentation fault
Message-ID: <45EACF45.9090409@hemmecke.de>

It seems that my version of the Aldor compiler

Aldor version 1.0.3 for LINUX(glibc2.3) (debug version)

does not allow me to recognize primes. :-(

Don't tell me aboout "prime?: % -> Partial Boolean", since I need the 
one that is given below. And I am not very eager to uglify my code with 
yet another workaround.

We clearly have

%4 >> Integer has SourceOfPrimes
T @ Boolean

and "prime?: % -> Boolean" is a default there.

Ralf

--------------------------------------------
aldor -fx -q1 -lalgebra -laldor aaa.ss
aaa
Segmentation fault

---BEGIN aaa.as
#include "algebra"
#include "aldorio"

main(): () == {
	import from Integer;
	b: Boolean := prime? 2;
	stdout << b << newline;
}
main();
---END aaa.as



From ralf at hemmecke.de  Sun Mar  4 09:16:28 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 15:16:28 +0100
Subject: [Aldor-l] Aldor proves 4 to be prime... :-(
Message-ID: <45EAD4BC.5090703@hemmecke.de>

Since "prime?: % -> Boolean" segfaults,
let us test "prime?: Integer -> Partial Boolean".

aldor -q1 -fx -lalgebra -laldor aaa.as
aaa
[T]

Either my Aldor compiler doesn't like me or it looks like a good 
candidate for the general problem that computer algebra faces: Lack of 
well documented programs that everyone could check before trusting a result.

Ralf

---BEGIN aaa.as
#include "algebra"
#include "aldorio"

macro Z == Integer;

main(): () == {
	import from Z;
	b: Partial Boolean := prime? 4;
	stdout << b << newline;
}
main();
---END aaa.as


From ralf at hemmecke.de  Sun Mar  4 10:06:58 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Sun, 04 Mar 2007 16:06:58 +0100
Subject: [Aldor-l] The smallest machine integer is "-"
Message-ID: <45EAE092.60505@hemmecke.de>

The smallest machine integer is printed as "-".

Ralf

=================================================
aldor -q1 -laldor -fx aaa.as
aaa
-

---BEGIN aaa.as
#include "aldor"
#include "aldorio"
main(): () == {
	import from MachineInteger;
	stdout << min << newline;
}
main();
---END aaa.as


From bill.page1 at synthesis.anikast.ca  Sun Mar  4 21:29:01 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Sun, 4 Mar 2007 21:29:01 -0500
Subject: [Aldor-l] Coming Soon: * Aldor open source release
In-Reply-To: <45EAD4BC.5090703@hemmecke.de>
Message-ID: <000901c75ece$0cebc380$6900a8c0@asus>

Axiom Developers;

In case you haven't noticed ...

The Aldor web site:

http://www.aldor.org

has a new look and a new message:

News

Feb. 19, 2007

    * v. 1.1-rc (bug fixes) released; 

Coming Soon:

    * Aldor open source release;
    * 64-bit Aldor releases for Linux and Solaris;
    * Aldor Web Demo

Development Public CVS (Coming Soon)

---

and it's own wiki:

http://www.aldor.org/mediawiki

(Warning: The content is still a little sparse.)

Dare we hope that the long wait for an Open Source version of Aldor
is finally (nearly) over?

Does anyone have any idea exactly what "v. 1.1-rc" refers? Note:
The current version of the Aldor compiler is: v1.0.3. Where can
we find v. 1.1-rc?

Regards,
Bill Page.




From bill.page1 at synthesis.anikast.ca  Sun Mar  4 23:22:15 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Sun, 4 Mar 2007 23:22:15 -0500
Subject: [Aldor-l] libalgebra on Windows
In-Reply-To: <45EAE092.60505@hemmecke.de>
Message-ID: <001001c75edd$dd19d6f0$6900a8c0@asus>

Aldor Developers,

Thank you for the new version 1.1.0 release candidate!

After downloading and installing

  aldor-win32-msvc-1.1.0-rc.exe

from www.aldor.org

and checking that Microsoft Visual Studio is installed and
configured to execute from the command prompt,

what do I need to do in order to access

#include "algebra"

in an Aldor program?

Should I expect to find "algebra.as" here? In

  C:\Program Files\Aldor\include

Is the algebra library actually included with the compiler as
claimed? Or do I have to download it or build it separately?

Regards,
Bill Page.




From martin.rubey at univie.ac.at  Mon Mar  5 03:17:22 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 09:17:22 +0100
Subject: [Aldor-l] algebra for 1.1.0
Message-ID: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>

Dear Aldor team,

I happily installed aldor 1.1.0, but alas, algebra is missing. How can I
proceed? Can I simply use algebra from 1.0.3?

Thanks,

Martin



From tmgisi at gmx.at  Mon Mar  5 03:34:25 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Mon, 05 Mar 2007 09:34:25 +0100
Subject: [Aldor-l] Coming Soon: * Aldor open source release
In-Reply-To: <000901c75ece$0cebc380$6900a8c0@asus>
References: <000901c75ece$0cebc380$6900a8c0@asus>
Message-ID: <op.topjfnylu6j4vy@spencer.aistleitner.info>

Hello,

On Mon, 05 Mar 2007 03:29:01 +0100, Bill Page  
<bill.page1 at synthesis.anikast.ca> wrote:

> Does anyone have any idea exactly what "v. 1.1-rc" refers? Note:
> The current version of the Aldor compiler is: v1.0.3. Where can
> we find v. 1.1-rc?

maybe you just caught the aldor webpage in a state of transition.

http://www.aldor.org/downl.html
offers me an option:
   Linux version 1.1.0 (glibc2.3)
. If you'll accept their license, you'll be able to download  
aldor-linux-i386-1.1.0-rc.bin.

Kind regards,
Christian


From tmgisi at gmx.at  Mon Mar  5 05:16:04 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Mon, 05 Mar 2007 11:16:04 +0100
Subject: [Aldor-l] The smallest machine integer is "-"
In-Reply-To: <45EAE092.60505@hemmecke.de>
References: <45EAE092.60505@hemmecke.de>
Message-ID: <op.topn42wru6j4vy@spencer.aistleitner.info>

Hello Ralf,

On Sun, 04 Mar 2007 16:06:58 +0100, Ralf Hemmecke <ralf at hemmecke.de> wrote:

> The smallest machine integer is printed as "-".

I think I reported something like that years ago, sadly enough I cannot
find the bug report.

However, as the aldor.org people are stepping forward with a new release,
let me support them with the bug fix I wrote back then.

For 32bit machines min$MachineInteger is -2147483648 while
max$MachineInteger is 2147483647. That's what can be expected from the way
integers are typically represented within computers, so that's ok.

However, << of MachineInteger comes down to print$IntegerTypeTools. There,
the treatment of negative numbers goes as follows

    if x < 0 then {
      p := p << minus;
      x := -x;
    }

After the if statement, x should hold the absolute value af x's original
value. However, if x is min$MachineInteger before the if statement, x is
still min$MachineInteger after the if statement, because of an overflow.
This overflow is inherent to the format used for number specification.

The implicit assumption that x is positive after the if statement fails.

I propose to perform one division step before negating x. Then -x <
max$MachineInteger and it can be savely inverted. I shifted the
declaration of l and introduced one anticipatory division step. Finally, I
added an assert. This converts print$IntegerTypeTools to the following
function:

    print(x:T, base:T, p:TextWriter):TextWriter == {
      macro REC == Record(digit:Character, next:Pointer);
      import from Boolean, Character, REC;
      zero? x => p << char 48;
      l:REC := nil;
      if x < 0 then {
        p := p << minus;
        -- this brought forward division step
        -- compensates for
        -- -min$MachineInteger > max$MachineInteger
        (x, r) := divide(x, base);
        l := [digit (-r), l pretend Pointer];
        x := -x;
      }
      assert( x > 0 );
      while x > 0 repeat {
        (x, r) := divide(x, base);
        l := [digit r, l pretend Pointer];
      }
      while ~nil? l repeat {
        p := p << l.digit;
        l := l.next pretend REC;
      }
      p;
    }


For those, who need a quick fix can use Aldor's extend functionality. But
you have to be careful not to call <<$MachineInteger from the file you
extended it in. The attached part1.as implements the workaround. Due to
Aldor's extend, you have to use the overridden <<$MachineInteger from
another file, i.e.:part2.as.

Calling via

aldor -Fao -Fo -laldor part1.as && \
ar r libpart1.al part1.ao && \
ar r libpart1.a part1.o && \
aldor -Fx -lpart1 -laldor part2.as && \
./part2

gives

cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
cc1: note: -fwritable-strings is deprecated; see documentation for details
-2147483648
0
1
2147483647

and demonstrates the working workaround.

Kind regards,
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: part1.as
Type: application/octet-stream
Size: 1192 bytes
Desc: not available
URL: <http://mail.aldor.org/pipermail/aldor-l_aldor.org/attachments/20070305/2e784848/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: part2.as
Type: application/octet-stream
Size: 281 bytes
Desc: not available
URL: <http://mail.aldor.org/pipermail/aldor-l_aldor.org/attachments/20070305/2e784848/attachment-0003.obj>

From martin.rubey at univie.ac.at  Mon Mar  5 05:45:31 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 11:45:31 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
Message-ID: <9qtzx00y0k.fsf@aquin.mat.univie.ac.at>

Dear Aldor experts, dear Ralf,

I just made a curious observation:

trunk of combinat (revision 157) compiles fine with 

-q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor

the testcases need -q1, though.

However, instead of 3 failing tests with 

-q1 -lalgebrad -laldord

we get 4. Additionally, the expression for the cycleindexseries in
testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
other expressions for the cycleindexseries succeed...

I guess there is a problem with the inliner?

Martin



From ralf at hemmecke.de  Mon Mar  5 07:40:08 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Mon, 05 Mar 2007 13:40:08 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <9qtzx00y0k.fsf@aquin.mat.univie.ac.at>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
	<9qtzx00y0k.fsf@aquin.mat.univie.ac.at>
Message-ID: <45EC0FA8.7060806@hemmecke.de>



On 03/05/2007 11:45 AM, Martin Rubey wrote:
> Dear Aldor experts, dear Ralf,
> 
> I just made a curious observation:
> 
> trunk of combinat (revision 157) compiles fine with 
> 
> -q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor
> 
> the testcases need -q1, though.
> 
> However, instead of 3 failing tests with 
> 
> -q1 -lalgebrad -laldord
> 
> we get 4. Additionally, the expression for the cycleindexseries in
> testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
> other expressions for the cycleindexseries succeed...
> 
> I guess there is a problem with the inliner?

I am not an expert with compiler issues. The only thing I can say: never 
mix -DDEBUG stuff with non DEBUG stuff.

Ralf


From martin.rubey at univie.ac.at  Mon Mar  5 08:28:22 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 05 Mar 2007 14:28:22 +0100
Subject: [Aldor-l] [Aldor-combinat-devel] Aldor 1.1.0 with Combinat
In-Reply-To: <45EC0FA8.7060806@hemmecke.de>
References: <9qbqj8oxxk.fsf@aquin.mat.univie.ac.at>
	<9qtzx00y0k.fsf@aquin.mat.univie.ac.at> <45EC0FA8.7060806@hemmecke.de>
Message-ID: <9q4pozizux.fsf@aquin.mat.univie.ac.at>

Ralf Hemmecke <ralf at hemmecke.de> writes:

> On 03/05/2007 11:45 AM, Martin Rubey wrote:
> > Dear Aldor experts, dear Ralf,
> > I just made a curious observation:
> > trunk of combinat (revision 157) compiles fine with -q4 -qinline-limit=1
> > -qinline-size=1 -lalgebra -laldor
> > the testcases need -q1, though.
> > However, instead of 3 failing tests with -q1 -lalgebrad -laldord
> > we get 4. Additionally, the expression for the cycleindexseries in
> > testBinaryTreesofSets fails (in the generatingseries test!). No idea why, the
> > other expressions for the cycleindexseries succeed...
> > I guess there is a problem with the inliner?
> 
> I am not an expert with compiler issues. The only thing I can say: never mix
> -DDEBUG stuff with non DEBUG stuff.

I didn't, only my description of the compiler flags was incomplete...

-q4 -qinline-limit=1 -qinline-size=1 -lalgebra -laldor

=> 4 failures

-q1 -lalgebrad -laldord -dDEBUG

=> 3 failures


Martin



From bill.page1 at synthesis.anikast.ca  Mon Mar  5 10:20:37 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 10:20:37 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>
Message-ID: <005e01c75f39$d9aa9c00$6900a8c0@asus>

Aldor Developers;

If I click Edit or Discussion on page

http://www.aldor.org/mediawiki

or any other page on the wiki, I get the message:

  Login required to edit

But if I click "Log in / create account"

http://www.aldor.org/mediawiki/index.php?title=Special:Userlogin&returnto=Ma
in_Page

I do not get any opportunity to register or apply in order to
acutally create an account.

The link "Recent changes" does not show any changes in the last
30 days:

http://www.aldor.org/mediawiki/index.php?title=Special:Recentchanges&days=30

This leads me to ask: What is the intended purpose of the new
Aldor Wiki? Is it expected that the wiki will be editable only
by a closed group? If so, I would like to note that such a policy
is contrary to the intention of most wiki web sites. I think it
would be very useful to add a page describing the site access
policy and intended use.

Regards,
Bill Page.





From watt at scl.csd.uwo.ca  Mon Mar  5 10:39:14 2007
From: watt at scl.csd.uwo.ca (Stephen Watt)
Date: Mon, 5 Mar 2007 10:39:14 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <005e01c75f39$d9aa9c00$6900a8c0@asus>
References: <9q1wk43y0d.fsf@aquin.mat.univie.ac.at>
	<005e01c75f39$d9aa9c00$6900a8c0@asus>
Message-ID: <20070305153914.GA10528@ptibonum.scl.csd.uwo.ca>

Dear Bill,

It is intended that you (more generally any registered user) 
be able to edit most of the pages.

I'm forwarding your message to Sandy and Laurentiu so they can fix this.
(Sandy can you look after it?)

-- Stephen

On Mon, Mar 05, 2007 at 10:20:37AM -0500, Bill Page wrote:
> Aldor Developers;
> 
> If I click Edit or Discussion on page
> 
> http://www.aldor.org/mediawiki
> 
> or any other page on the wiki, I get the message:
> 
>   Login required to edit
> 
> But if I click "Log in / create account"
> 
> http://www.aldor.org/mediawiki/index.php?title=Special:Userlogin&returnto=Ma
> in_Page
> 
> I do not get any opportunity to register or apply in order to
> acutally create an account.
> 
> The link "Recent changes" does not show any changes in the last
> 30 days:
> 
> http://www.aldor.org/mediawiki/index.php?title=Special:Recentchanges&days=30
> 
> This leads me to ask: What is the intended purpose of the new
> Aldor Wiki? Is it expected that the wiki will be editable only
> by a closed group? If so, I would like to note that such a policy
> is contrary to the intention of most wiki web sites. I think it
> would be very useful to add a page describing the site access
> policy and intended use.
> 
> Regards,
> Bill Page.
> 
> 
> 
> _______________________________________________
> Aldor-l mailing list
> Aldor-l at aldor.org
> http://www.aldor.org/mailman/listinfo/aldor-l


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 10:45:48 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 10:45:48 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <20070305153914.GA10528@ptibonum.scl.csd.uwo.ca>
Message-ID: <006401c75f3d$5ba12640$6900a8c0@asus>

On March 5, 2007 10:39 AM Stephen Watt wrote:
> 
> It is intended that you (more generally any registered user) 
> be able to edit most of the pages.
> 
> I'm forwarding your message to Sandy and Laurentiu so they 
> can fix this.
> (Sandy can you look after it?)
> 

Great!

Thanks, Stephen.

Regards,
Bill Page.




From ldragan at aldor.org  Mon Mar  5 13:07:37 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 13:07:37 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <006401c75f3d$5ba12640$6900a8c0@asus>
References: <006401c75f3d$5ba12640$6900a8c0@asus>
Message-ID: <45EC5C69.6070802@aldor.org>

Bill Page wrote:
> On March 5, 2007 10:39 AM Stephen Watt wrote:
>> It is intended that you (more generally any registered user) 
>> be able to edit most of the pages.
>>
>> I'm forwarding your message to Sandy and Laurentiu so they 
>> can fix this.
>> (Sandy can you look after it?)
>>
> 
> Great!
> 
> Thanks, Stephen.

Ok, I re-enabled the account creation. Previous policy was that only a 
sysop could create an account, but now anybody can create their own account.

--
Laurentiu


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 13:49:18 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 13:49:18 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45EC5C69.6070802@aldor.org>
Message-ID: <007f01c75f56$fe57c6a0$6900a8c0@asus>

On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
> 
> Bill Page wrote:
> > On March 5, 2007 10:39 AM Stephen Watt wrote:
> >> It is intended that you (more generally any registered user) 
> >> be able to edit most of the pages.
> >>
> >> I'm forwarding your message to Sandy and Laurentiu so they 
> >> can fix this. (Sandy can you look after it?)
> >>
> > 
> > Great!
> > 
> > Thanks, Stephen.
> 
> Ok, I re-enabled the account creation. Previous policy was 
> that only a sysop could create an account, but now anybody
> can create their own account.
> 

Thank you for setting this up, Laurentiu. The MediaWiki software
that you chose for the Aldor site certainly has a good reputation 
(since it is the software used by Wikipedia) and provides all the
features that we are likely to need for discussions of Aldor and
related systems. It is well maintained and has a lot if interesting
add-on modules.

Have you thought about how it might be used (or if it should be
used) for Aldor bug reports and feature requests?

Regards,
Bill Page.





From bill.page1 at synthesis.anikast.ca  Mon Mar  5 14:11:17 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 14:11:17 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <007f01c75f56$fe57c6a0$6900a8c0@asus>
Message-ID: <008901c75f5a$10637f80$6900a8c0@asus>

On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
> 
> Bill Page wrote:
> > On March 5, 2007 10:39 AM Stephen Watt wrote:
> >> It is intended that you (more generally any registered user) 
> >> be able to edit most of the pages.
> >>
> >> I'm forwarding your message to Sandy and Laurentiu so they 
> >> can fix this. (Sandy can you look after it?)
> >>
> > 
> > Great!
> > 
> > Thanks, Stephen.
> 
> Ok, I re-enabled the account creation. Previous policy was 
> that only a sysop could create an account, but now anybody
> can create their own account.
> 

Does current policy also disable file uploads? When I try this
I get the message:

  Uploads disabled

  File uploads are disabled on this wiki. 

I think uploading files might be very useful for discussing
example code and proposing patches etc.

Regards,
Bill Page.




From ldragan at aldor.org  Mon Mar  5 16:26:31 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 16:26:31 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <008901c75f5a$10637f80$6900a8c0@asus>
References: <008901c75f5a$10637f80$6900a8c0@asus>
Message-ID: <45EC8B07.1070802@aldor.org>

Bill Page wrote:
> On March 5, 2007 1:08 PM Laurentiu Dragan wrote:
>> Bill Page wrote:
>>> On March 5, 2007 10:39 AM Stephen Watt wrote:
>>>> It is intended that you (more generally any registered user) 
>>>> be able to edit most of the pages.
>>>>
>>>> I'm forwarding your message to Sandy and Laurentiu so they 
>>>> can fix this. (Sandy can you look after it?)
>>>>
>>> Great!
>>>
>>> Thanks, Stephen.
>> Ok, I re-enabled the account creation. Previous policy was 
>> that only a sysop could create an account, but now anybody
>> can create their own account.
>>
> 
> Does current policy also disable file uploads? When I try this
> I get the message:
> 
>   Uploads disabled
> 
>   File uploads are disabled on this wiki. 
> 
> I think uploading files might be very useful for discussing
> example code and proposing patches etc.

Due to security reasons file upload is disabled by default. File upload 
is meant as a media file upload (images and sounds).

It is much nicer to include the code directly in wiki, it is just a 
matter of using the <pre>...</pre> tags.

I have allowed file upload for aldor source only, but I am not sure this 
is very safe.

--
Laurentiu


From ldragan at aldor.org  Mon Mar  5 18:08:38 2007
From: ldragan at aldor.org (Laurentiu Dragan)
Date: Mon, 05 Mar 2007 18:08:38 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <007f01c75f56$fe57c6a0$6900a8c0@asus>
References: <007f01c75f56$fe57c6a0$6900a8c0@asus>
Message-ID: <45ECA2F6.4090504@aldor.org>

 > Have you thought about how it might be used (or if it should be
 > used) for Aldor bug reports and feature requests?

While it is possible to do that in a wiki, I think that having a 
specialized bug tracking system would be more helpful. We are still 
looking into this problem.

Regards,
--
Laurentiu


From bill.page1 at synthesis.anikast.ca  Mon Mar  5 21:12:51 2007
From: bill.page1 at synthesis.anikast.ca (Bill Page)
Date: Mon, 5 Mar 2007 21:12:51 -0500
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45EC8B07.1070802@aldor.org>
Message-ID: <00a201c75f94$f4bd8c90$6900a8c0@asus>

On March 5, 2007 4:27 PM Laurentiu Dragan wrote:
> ...
> Bill Page wrote: 
> > Does current policy also disable file uploads? When I try
> > this I get the message:
> > 
> >   Uploads disabled
> > 
> >   File uploads are disabled on this wiki. 
> > 
> > I think uploading files might be very useful for discussing
> > example code and proposing patches etc.
> 
> Due to security reasons file upload is disabled by default.

What security issues do you think there with file uploading?
I do not see how uploading a file can represent any kind of
threat to the host system. Of course downloading is another
issue and users should always take appropriate precautions
(e.g. virus scan) when download files from any website.

> File upload is meant as a media file upload (images and
> sounds).
>

Yes but in this context Aldor programs also constitute a kind
of "media".

Actually there are many different types of files that can be
useful for a web site that supports Aldor, e.g. postscript
files, pdf files, dvi files, quicktime demonstrations, mp3
audio and video recordings, flash tutorials, photographs, etc.
In a wiki environment one might wish that these be easily
contributed by Aldor users.
 
> It is much nicer to include the code directly in wiki, it
> is just a matter of using the <pre>...</pre> tags.

Yes I agree in general. However in some cases cutting-and-
pasting from the web page can be problematic, e.g. embedded
tab characters. This is especially true of makefile patches.

> 
> I have allowed file upload for aldor source only, but I am 
> not sure this is very safe.
> 

By "aldor source" do you mean files with an .as extension?

Since uploaded files are not executed by the host system,
why do you think it might not be safe?

In general I think a wiki should have an open access policy,
but this is probably not the right place to be discussing
wiki philosophy...

Regards,
Bill Page.




From tmgisi at gmx.at  Tue Mar  6 02:14:19 2007
From: tmgisi at gmx.at (Christian Aistleitner)
Date: Tue, 06 Mar 2007 08:14:19 +0100
Subject: [Aldor-l] Aldor Wiki
In-Reply-To: <45ECA2F6.4090504@aldor.org>
References: <007f01c75f56$fe57c6a0$6900a8c0@asus> <45ECA2F6.4090504@aldor.org>
Message-ID: <op.torad5fwu6j4vy@spencer.aistleitner.info>

Hello,

On Tue, 06 Mar 2007 00:08:38 +0100, Laurentiu Dragan <ldragan at aldor.org>  
wrote:

>  > Have you thought about how it might be used (or if it should be
>  > used) for Aldor bug reports and feature requests?
>
> While it is possible to do that in a wiki, I think that having a
> specialized bug tracking system would be more helpful. We are still
> looking into this problem.

if the intention of the Wiki is a "bug tracking system", then why don't  
you use a bug tracking system (e.g.: Bugzilla)?


Kind regards,
Christian


From ralf at hemmecke.de  Wed Mar 21 17:23:33 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Wed, 21 Mar 2007 22:23:33 +0100
Subject: [Aldor-l] Emacs+ALLPROSE workaround for #line problem
Message-ID: <4601A255.8040306@hemmecke.de>

Versions of the Aldor compiler up to 1.0.3 (I have not actually checked 
1.1.0rc1) cannot properly deal with #line directives.

ALLPROSE is a framework to produce Aldor libraries. Instead of .as 
files, the sources are noweb files (extension .as.nw). The .as files are 
actually generated and fed to the compiler. If an error is encountered 
the filename and line number point to the .as file. That is however 
*not* the actual source.

If compiling inside Emacs, the 'next-error' command jumps to the .as 
file and up to now one had to read the ALLPROSE-generated directives like

--#line 240 "sitools/sitools.as.nw"

to figure out manually where the error in the actual source file is.

With the help and code of Cliff Yap and Jay Belanger, I could now put 
together some lines that one has to put into the .xemacs/init.el file.
Now M-F12 jumps correctly into the .as.nw file.

Thank you Cliff and thank you Jay.

Ralf

PS: Since the .as file is still loaded by next-error, does someone know 
how I can get rid of those buffers in allprose-workaround-aldor-next-error ?


;--Workaround for the Aldor compiler bug of being unable to deal
;-- properly with #line directives
(defvar pamphlet-line-id "--#line ")
(defun find-previous-pamphlet-id-line ()
   (re-search-backward pamphlet-line-id nil t))
;;ALLPROSE spits out lines like
;;--#line 211 "poly/idxpp.as.nw"
(defun allprose-previous-input ()
   "Move to the previous input line."
   (interactive)
   (let ((orig (point))
         (pt (find-previous-pamphlet-id-line)))
     (if (not pt)
         (message "No id line found.")
       (let ((n (count-lines pt orig))
             (filename)
             (lineno))
	(re-search-forward " +")
	(setq lineno (current-word))
	(re-search-forward " +\"")
	(setq filename (thing-at-point 'filename))
	(find-file filename)
	(goto-line (+ n (string-to-number lineno) -1))))))

(defun allprose-workaround-aldor-next-error ()
   "Move point to the next error position in the corresponding .as.nw file."
   (interactive)
   (next-error)
   (allprose-previous-input))

(global-set-key [(meta f12)] 'allprose-workaround-aldor-next-error)


From volcheck at acm.org  Fri Mar 23 00:50:12 2007
From: volcheck at acm.org (Emil Volcheck)
Date: Fri, 23 Mar 2007 00:50:12 -0400
Subject: [Aldor-l] [wdjoyner@gmail.com: Re: FW: oscas axiom draft]
Message-ID: <20070323045012.GF4266@speakeasy.net>

Stephen and Aldor folks,

The next issue of Communications in Computer Algebra will have
an OSCAS column devoted to Axiom and Aldor.  Is there any news
about Aldor going open source that could be mentioned before
this goes to press?  Right now there is just a somewhat vague
statement on the website that it is coming soon.

Thanks,

Emil Volcheck, Chair
ACM SIGSAM
http://www.sigsam.org/


----- Forwarded message from David Joyner <wdjoyner at gmail.com> -----


From: David Joyner <wdjoyner at gmail.com>
To: Bill Page <bill.page1 at synthesis.anikast.ca>
Subject: Re: FW: oscas axiom draft
Cc: daly at axiom-developer.org,
	Waldek Hebisch <Waldemar.Hebisch at math.uni.wroc.pl>,
	Gabriel Dos Reis <gdr at cs.tamu.edu>,
	Martin Rubey <martin.rubey at univie.ac.at>,
	Gregory Vanuxem <g.vanuxem at wanadoo.fr>,
	Emil Volcheck <volcheck at acm.org>
In-Reply-To: <00f501c76bcc$023f6d00$6900a8c0 at asus>


Here is the second draft, which I think addresses the comments
(thank you!) of Bill and Tim. I'm sending it out as a link
so it doesn't end up clogging up your mail box:
http://sage.scipy.org/tmp/oscas-cca2.pdf
Again, please be as critical as you want!

- David


+++++++++++++++++++++++++++++++++++++++++++++

On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
>Tim, Gaby, Waldek, Martin and Greg,
>
>Perhaps you might wish to read and comment on the attached
>article about Axiom by David Joyner. His article will be
>published in the OSCAS (Open Source Computer Algebra Systems)
>SIGSAM newsletter. For comparison see his recent article on
>Maxima:
>
>http://www.sigsam.org/bulletin/articles/157/oscas-maxima-DavidJoyner.pdf
>
>My initial reply to David is included below.
>
>Regards,
>Bill Page.
>
>-----Original Message-----
>From: David Joyner [mailto:wdjoyner at gmail.com]
>Sent: March 20, 2007 10:05 PM
>To: Bill Page
>Cc: David Joyner; Page, Bill
>Subject: oscas axiom draft
>
>
>Hi Bill:
>
>Do you have any comments on this? Please be as
>critical as you want! I think it needs more history
>and maybe some nicer examples. What do you think?
>
>The axiom4sage package works fine but clicking on
>some of the examples caused the HyperDoc to
>crash, so I had trouble finding examples that way.
>
>- David
>
>
>
>-----Original Message-----
>From: David Joyner [mailto:wdjoyner at gmail.com]
>Sent: March 21, 2007 7:14 AM
>To: Bill Page
>Subject: Re: oscas axiom draft
>
>
>On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
>> David,
>>
>> On March 20, 2007 10:05 PM you wrote:
>> >
>> > Do you have any comments on this? Please be as
>> > critical as you want! I think it needs more history
>> > and maybe some nicer examples. What do you think?
>> >
>>
>> My reaction after a first reading of your draft article is
>> that it is a brief and somewhat "journalistic" account of the
>> current status of Axiom. By "journalistic" I guess I mean
>> something like "lacking in depth but otherwise accurately
>> reported". :-) Probably both perceptions (that is brief and
>> lacking in depth) is mostly a result of me being very close
>> to the subject myself.
>>
>> I think the history content of your draft is fine unless your
>> intention was specifically to address the historical context
>> of the ScratchPad project at IBM, in which case that probably
>> desires a paper all of it's own.
>>
>> The examples are also quite good. But in order to judge that
>> better, I guess I would have to understand the point you
>> would like to emphasise. Right now it seems to suggest that
>> Axiom can do what most other large scale computer algebra
>> systems can do and that is certainly correct as it stands.
>>
>> But I think that perhaps your article misses one key point
>> that sets Axiom apart from Maxima, Reduce, Mathematica and
>> Maple - the design of the Axiom mathematical library. The
>> SPAD language (and Aldor) was designed specifically to make
>> it possible to write mathematical algorithms in a flexible
>> but type-correct manner which today might be referred to as
>> a polymorphic object-oriented paradigm such as you might
>> find in Haskell and to a lesser extent in Python and similar
>> languages.
>>
>> I specifically left Mupad out of the above list because it
>> is a somewhat different story, having explicitly borrowed a
>> large part of the Axiom concepts of Domain and Category in
>> the design of it's mathematical library.
>>
>> The Axiom library implements a rich hierarchy of abstract
>> data structure types, from simple Aggregates to Keyed
>> Dictionaries and Lazy Streams, which collectively make SPAD
>> a very high level programming language. This is important
>> for the representation of mathematical objects and the Axiom
>> library uses these to provide an even richer hierarchy of
>> algebraic categories, from Sets to FiniteFields and Partial
>> Differential Rings, etc. Together there are over 1,300
>> mathematical concepts defined in the library.
>>
>> One of the purposes of the HyperDoc component of Axiom was
>> to make it possible to search and navigate this large and
>> tightly inter-related library.
>>
>> If one is interested in history, it is hard not to notice
>> that both of these developments - the SPAD language and the
>> HyperDoc browser - predated contemporary interest in these
>> subjects by almost two decades.
>>
>> Actually it is this aspect which strongly attracted me to
>> Sage since to some extent Sage seems to be re-inventing (or
>> at least re-implementing) a lot of the same library structure
>> in Pythonic form. I really hope that by providing Axiom as
>> an external package for Sage, some of this early experience
>> will eventually influence the evolution of Sage.
>>
>> > The axiom4sage package works fine but clicking on some
>> > of the examples caused the HyperDoc to crash, so I had
>> > trouble finding examples that way.
>> >
>>
>> The axiom4sage-0.1 package is based on an early version of
>> the new 'build-improvements' branch of Axiom development.
>> I chose this branch because one of it's main goals was to
>> enable building of Axiom on a much wider range of systems
>> and that seemed most compatible with the goals of Sage.
>> But there is a new sub-branch development called wh-sandbox
>> which corrects many problems such as the HyperDoc crashes
>> that you experienced. It is my intention to release real-
>> soon-now a new axiom4sage-0.2 package which is based on
>> wh-sandbox. Eventually all of this will become mainstream
>> Axiom development at which point I would hope to provide
>> an official "axiom4sage-1.0" package for Sage.
>>
>> I am a little concerned that your impressions of Axiom are
>> filtered by accessing Axiom through the Sage interface.
>
>These are great comments!
>
>I am running the axiom in
>.../sage-x.y/local/axiom/target/x86_64-suse-linux/bin/axiom
>from the command line - no SAGE interpreter (AFAIK).
>
>> axiom4sage is a full version of Axiom but the current Sage
>> interface only exposes the Axiom interpreter in a manner
>> that makes it appear superficially similar to Maxima.
>> I am hoping that I somehow find the time to improve the
>> Axiom interface in Sage to better exploit the underlying
>> similarity between many Sage classes and Axiom domains;
>> and going even further, to expose the Axiom compiler and
>> the SPAD language to Sage programmers.
>>
>> Anyway, you were probably more interested in my direct
>> criticism of your article than an oratory on my plans and
>> hopes for the relationship between Axiom and Sage. :-)
>> To that end I would recommend that you include in your
>> article at least one example of SPAD coding and a few
>> comments on the Axiom mathematical library.
>
>Will do.
>
>>
>> Let me now give your article a second more careful reading
>> and I will try to get back to you in the next few days
>> with some more specific suggestions.
>>
>> BTW, would you have any objection if I were to forward a
>> copy of your article and my comments to some of the other
>> Axiom developers, specifically Tim, Gaby and Waldek? I
>
>
>Please do!
>
>
>> suspect that Tim Daly especially might have a somewhat
>> different orientation and therefore a different reaction
>> to your article than I do.
>>
>> Regards,
>> Bill Page.
>
>

----- End forwarded message -----

-- 
Emil Volcheck
volcheck at acm.org
http://acm.org/~volcheck


From watt at scl.csd.uwo.ca  Fri Mar 23 15:28:35 2007
From: watt at scl.csd.uwo.ca (Stephen Watt)
Date: Fri, 23 Mar 2007 14:28:35 -0500
Subject: [Aldor-l] [wdjoyner@gmail.com: Re: FW: oscas axiom draft]
In-Reply-To: <20070323045012.GF4266@speakeasy.net>
References: <20070323045012.GF4266@speakeasy.net>
Message-ID: <20070323192835.GA21814@ptibonum.scl.csd.uwo.ca>

Dear Emil,

Yes, we should ahve some news about this next week I expect.
Sorry I can't write more... I'm leaving for the airport in 10 minutes.

-- Stephen


On Fri, Mar 23, 2007 at 12:50:12AM -0400, Emil Volcheck wrote:
> Stephen and Aldor folks,
> 
> The next issue of Communications in Computer Algebra will have
> an OSCAS column devoted to Axiom and Aldor.  Is there any news
> about Aldor going open source that could be mentioned before
> this goes to press?  Right now there is just a somewhat vague
> statement on the website that it is coming soon.
> 
> Thanks,
> 
> Emil Volcheck, Chair
> ACM SIGSAM
> http://www.sigsam.org/
> 
> 
> ----- Forwarded message from David Joyner <wdjoyner at gmail.com> -----
> 
> 
> From: David Joyner <wdjoyner at gmail.com>
> To: Bill Page <bill.page1 at synthesis.anikast.ca>
> Subject: Re: FW: oscas axiom draft
> Cc: daly at axiom-developer.org,
> 	Waldek Hebisch <Waldemar.Hebisch at math.uni.wroc.pl>,
> 	Gabriel Dos Reis <gdr at cs.tamu.edu>,
> 	Martin Rubey <martin.rubey at univie.ac.at>,
> 	Gregory Vanuxem <g.vanuxem at wanadoo.fr>,
> 	Emil Volcheck <volcheck at acm.org>
> In-Reply-To: <00f501c76bcc$023f6d00$6900a8c0 at asus>
> 
> 
> Here is the second draft, which I think addresses the comments
> (thank you!) of Bill and Tim. I'm sending it out as a link
> so it doesn't end up clogging up your mail box:
> http://sage.scipy.org/tmp/oscas-cca2.pdf
> Again, please be as critical as you want!
> 
> - David
> 
> 
> +++++++++++++++++++++++++++++++++++++++++++++
> 
> On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
> >Tim, Gaby, Waldek, Martin and Greg,
> >
> >Perhaps you might wish to read and comment on the attached
> >article about Axiom by David Joyner. His article will be
> >published in the OSCAS (Open Source Computer Algebra Systems)
> >SIGSAM newsletter. For comparison see his recent article on
> >Maxima:
> >
> >http://www.sigsam.org/bulletin/articles/157/oscas-maxima-DavidJoyner.pdf
> >
> >My initial reply to David is included below.
> >
> >Regards,
> >Bill Page.
> >
> >-----Original Message-----
> >From: David Joyner [mailto:wdjoyner at gmail.com]
> >Sent: March 20, 2007 10:05 PM
> >To: Bill Page
> >Cc: David Joyner; Page, Bill
> >Subject: oscas axiom draft
> >
> >
> >Hi Bill:
> >
> >Do you have any comments on this? Please be as
> >critical as you want! I think it needs more history
> >and maybe some nicer examples. What do you think?
> >
> >The axiom4sage package works fine but clicking on
> >some of the examples caused the HyperDoc to
> >crash, so I had trouble finding examples that way.
> >
> >- David
> >
> >
> >
> >-----Original Message-----
> >From: David Joyner [mailto:wdjoyner at gmail.com]
> >Sent: March 21, 2007 7:14 AM
> >To: Bill Page
> >Subject: Re: oscas axiom draft
> >
> >
> >On 3/21/07, Bill Page <bill.page1 at synthesis.anikast.ca> wrote:
> >> David,
> >>
> >> On March 20, 2007 10:05 PM you wrote:
> >> >
> >> > Do you have any comments on this? Please be as
> >> > critical as you want! I think it needs more history
> >> > and maybe some nicer examples. What do you think?
> >> >
> >>
> >> My reaction after a first reading of your draft article is
> >> that it is a brief and somewhat "journalistic" account of the
> >> current status of Axiom. By "journalistic" I guess I mean
> >> something like "lacking in depth but otherwise accurately
> >> reported". :-) Probably both perceptions (that is brief and
> >> lacking in depth) is mostly a result of me being very close
> >> to the subject myself.
> >>
> >> I think the history content of your draft is fine unless your
> >> intention was specifically to address the historical context
> >> of the ScratchPad project at IBM, in which case that probably
> >> desires a paper all of it's own.
> >>
> >> The examples are also quite good. But in order to judge that
> >> better, I guess I would have to understand the point you
> >> would like to emphasise. Right now it seems to suggest that
> >> Axiom can do what most other large scale computer algebra
> >> systems can do and that is certainly correct as it stands.
> >>
> >> But I think that perhaps your article misses one key point
> >> that sets Axiom apart from Maxima, Reduce, Mathematica and
> >> Maple - the design of the Axiom mathematical library. The
> >> SPAD language (and Aldor) was designed specifically to make
> >> it possible to write mathematical algorithms in a flexible
> >> but type-correct manner which today might be referred to as
> >> a polymorphic object-oriented paradigm such as you might
> >> find in Haskell and to a lesser extent in Python and similar
> >> languages.
> >>
> >> I specifically left Mupad out of the above list because it
> >> is a somewhat different story, having explicitly borrowed a
> >> large part of the Axiom concepts of Domain and Category in
> >> the design of it's mathematical library.
> >>
> >> The Axiom library implements a rich hierarchy of abstract
> >> data structure types, from simple Aggregates to Keyed
> >> Dictionaries and Lazy Streams, which collectively make SPAD
> >> a very high level programming language. This is important
> >> for the representation of mathematical objects and the Axiom
> >> library uses these to provide an even richer hierarchy of
> >> algebraic categories, from Sets to FiniteFields and Partial
> >> Differential Rings, etc. Together there are over 1,300
> >> mathematical concepts defined in the library.
> >>
> >> One of the purposes of the HyperDoc component of Axiom was
> >> to make it possible to search and navigate this large and
> >> tightly inter-related library.
> >>
> >> If one is interested in history, it is hard not to notice
> >> that both of these developments - the SPAD language and the
> >> HyperDoc browser - predated contemporary interest in these
> >> subjects by almost two decades.
> >>
> >> Actually it is this aspect which strongly attracted me to
> >> Sage since to some extent Sage seems to be re-inventing (or
> >> at least re-implementing) a lot of the same library structure
> >> in Pythonic form. I really hope that by providing Axiom as
> >> an external package for Sage, some of this early experience
> >> will eventually influence the evolution of Sage.
> >>
> >> > The axiom4sage package works fine but clicking on some
> >> > of the examples caused the HyperDoc to crash, so I had
> >> > trouble finding examples that way.
> >> >
> >>
> >> The axiom4sage-0.1 package is based on an early version of
> >> the new 'build-improvements' branch of Axiom development.
> >> I chose this branch because one of it's main goals was to
> >> enable building of Axiom on a much wider range of systems
> >> and that seemed most compatible with the goals of Sage.
> >> But there is a new sub-branch development called wh-sandbox
> >> which corrects many problems such as the HyperDoc crashes
> >> that you experienced. It is my intention to release real-
> >> soon-now a new axiom4sage-0.2 package which is based on
> >> wh-sandbox. Eventually all of this will become mainstream
> >> Axiom development at which point I would hope to provide
> >> an official "axiom4sage-1.0" package for Sage.
> >>
> >> I am a little concerned that your impressions of Axiom are
> >> filtered by accessing Axiom through the Sage interface.
> >
> >These are great comments!
> >
> >I am running the axiom in
> >.../sage-x.y/local/axiom/target/x86_64-suse-linux/bin/axiom
> >from the command line - no SAGE interpreter (AFAIK).
> >
> >> axiom4sage is a full version of Axiom but the current Sage
> >> interface only exposes the Axiom interpreter in a manner
> >> that makes it appear superficially similar to Maxima.
> >> I am hoping that I somehow find the time to improve the
> >> Axiom interface in Sage to better exploit the underlying
> >> similarity between many Sage classes and Axiom domains;
> >> and going even further, to expose the Axiom compiler and
> >> the SPAD language to Sage programmers.
> >>
> >> Anyway, you were probably more interested in my direct
> >> criticism of your article than an oratory on my plans and
> >> hopes for the relationship between Axiom and Sage. :-)
> >> To that end I would recommend that you include in your
> >> article at least one example of SPAD coding and a few
> >> comments on the Axiom mathematical library.
> >
> >Will do.
> >
> >>
> >> Let me now give your article a second more careful reading
> >> and I will try to get back to you in the next few days
> >> with some more specific suggestions.
> >>
> >> BTW, would you have any objection if I were to forward a
> >> copy of your article and my comments to some of the other
> >> Axiom developers, specifically Tim, Gaby and Waldek? I
> >
> >
> >Please do!
> >
> >
> >> suspect that Tim Daly especially might have a somewhat
> >> different orientation and therefore a different reaction
> >> to your article than I do.
> >>
> >> Regards,
> >> Bill Page.
> >
> >
> 
> ----- End forwarded message -----
> 
> -- 
> Emil Volcheck
> volcheck at acm.org
> http://acm.org/~volcheck


From ralf at hemmecke.de  Wed Mar 28 20:03:25 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Thu, 29 Mar 2007 02:03:25 +0200
Subject: [Aldor-l] kTuple wish
Message-ID: <460B024D.8000605@hemmecke.de>

The following text describes a weakness of the Aldor language.

Suppose I want to write a domain that takes a finite number of domains
satisfying a certain category "LabelType".

I write kTuple instead of Tuple, because the Aldor-Tuple constructor
is not suitable for what I want. In particular, if

   T: Tuple PrimitiveType

then I T = (Integer, String, Boolean, String) would be one possible
value for T. However, an element of T is not a Tuple, since T (not its
type) is non-homogeneous. So I would rather need something like
"Cross", but I cannot even ask about the number of arguments of Cross.


Let us give a rough outline of the domain Multiset which should be
seen as a constructor to construct k-tuples of sets over different domains.
Note that "SetSpecies" is just a special instance. I need something
for arbitrary S: LabelType -> LabelType.


Multiset(M: kTuple LabelType): with {
         <<exports: Multiset>>
} == add {
         macro S == SetSpecies;
         <<representation: Multiset>>
         <<implementation: Multiset>>
}
@




Section: <<representation: Multiset>>
--------------------------------------

The representation will be a kTuple.

By M.i I mean something like "element(M, i)" exported by the Tuple
constructor, but rather supported by the language (not the library).
If

   T: Tuple PrimitiveType == (Integer, String);

then element(T, 1) cannot be identified with Integer
at compile time, since the function "element" could be
non-terminating.

So the representation should informally be something like

   Rep == (S M.1, S M.2, ..., S M.k);

Since elipses are not a rigorous concept it should perhaps rather look
like

   Rep == MapOver(S)(M);


The "MapOver" constructor should be understood by applying the
constructor

   S = SetSpecies: LabelType -> LabelType

to each element of the tuple.

The above Rep could still be done via Aldor-Tuple, but I don't know
how to map a constructor S over a tuple whose size is not given at
compile time.



Section: <<exports: Multiset>> + <<implementation: Multiset>>
-------------------------------------------------------------

I somehow want that the Multiset constructor can be seen as a function
from kTuple to kTuple, i.e. the input and output tuple should have the
same arity.

  #: I == # $ M; -- arity doesn't change

It would simply be overcool if I'd have a function definition that
informally looks like

   multiset: (S M.1, ..., S M.k) -> %;

or rather

   multiset: MapOver(S)(M) -> %;

so that I could write

   multiset(sm1: S M.1, ..., smk: S M.k): % == per (sm1, ..., smk);

or rather

   multiset(sm: MapOver(S)(M)): % == per sm;

and later use it as

   T == Multiset(Integer, String);
   a: SetSpecies Integer := set [1,3,5];
   b: SetSpecies String := set ["a", "x", "free", "open"];
   t: T := multiset(a, b);

   U == Multiset(String, Boolean, Integer);
   c: SetSpecies Boolean := set [true];
   w: W := multiset(b, c, a);

The compiler should reject a statement like

   u: T := multiset(a, a);

at compile time.

If the constructor "MapOver" where built into the Aldor language that
should be doable at compile time. If I construct it as an ordinary
domain constructor (I still don't know how to do this with all the
"nice" properties I describe above), then the compiler has no good
chance to check at compile time since I might have made my constructor
non-terminating.

Is such a "MapOver" a bad idea? Or are there perhaps similar concepts
in other programming languages that would allow to reject a statement
like

   u: T := multiset(a, a);

at compile time.

Hmmm, maybe it is a bit tricky. Take, for example, the program aaa.as.

---BEGIN aaa.as
#include "aldor"
I ==> MachineInteger;
S(T: PrimitiveType): PrimitiveType == I;
main(): () == {
	A ==> S Integer;
	B ==> S String;
	a: A := (0$I) pretend A; -- I need some value ...
	b: B := (1$I) pretend B; -- forgive the "pretend" ...
	equal?: Boolean := a = b;
}
main();
---END aaa.as

It currently dose not compile (Aldor 1.0.3):

aldor -fx -laldor aaa.as
"aaa.as", line 10:         equal?: Boolean := a = b;
                    ...........................^
[L10 C28] #1 (Error) Argument 1 of `=' did not match any possible 
parameter type.
     The rejected type is S(AldorInteger).
     Expected one of:
       -- Boolean
       -- S(String)

The reason is clear, even though A = S Integer = S String = B = I, the
compiler will not evaluate S and thus consider A as unequal to B.

Being in that light, the compiler could reject

   u: T := multiset(a, a);

but if S maps everything to the same domain, should it reject it?
I'd rather live with "rejection", but since I am not a compiler
developer, I would like to hear people with more inside.

Thank you in advance

Ralf



From martin.rubey at univie.ac.at  Thu Mar 29 13:37:00 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 29 Mar 2007 19:37:00 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <460B024D.8000605@hemmecke.de>
References: <460B024D.8000605@hemmecke.de>
Message-ID: <9qejn8c5oj.fsf@aquin.mat.univie.ac.at>

Dear Ralf,

Ralf Hemmecke <ralf at hemmecke.de> writes:

> Suppose I want to write a domain that takes a finite number of domains
> satisfying a certain category "LabelType".
> 
> I write kTuple instead of Tuple, because the Aldor-Tuple constructor
> is not suitable for what I want. In particular, if
> 
>    T: Tuple PrimitiveType
> 
> then I T = (Integer, String, Boolean, String) would be one possible
> value for T. 

I guess that "I T" should be "T"? 

> However, an element of T is not a Tuple, since T (not its
> type) is non-homogeneous. 

Did you want to say: "an element of T is not a PrimitiveType"? I do not
understand either, in fact:

%1 >> #include "aldor"
                                           Comp: 200 msec, Interp: 40 msec
%2 >> #include "aldorinterp"
                                           Comp: 80 msec, Interp: 0 msec
%3 >> import from Tuple PrimitiveType
                                           Comp: 0 msec, Interp: 0 msec
%4 >> T: Tuple PrimitiveType := (Integer, String, Boolean, String)
  () @ Tuple(PrimitiveType)
                                           Comp: 10 msec, Interp: 60 msec
%5 >> Tuple PrimitiveType
  () @ Join(
 with 
    ==  add ()
, 
 with 
        element: (%, MachineInteger) -> PrimitiveType
        dispose!: % -> ()
        length: % -> MachineInteger
        tuple: (MachineInteger, Pointer) -> %
    ==  add ()
)
                                           Comp: 10 msec, Interp: 80 msec
%6 >> import from MachineInteger
                                           Comp: 30 msec, Interp: 0 msec
%7 >> element(T, machine 1)
  () @ PrimitiveType
                                           Comp: 0 msec, Interp: 30 msec

Martin



From ralf at hemmecke.de  Thu Mar 29 14:39:09 2007
From: ralf at hemmecke.de (Ralf Hemmecke)
Date: Thu, 29 Mar 2007 20:39:09 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <9qejn8c5oj.fsf@aquin.mat.univie.ac.at>
References: <460B024D.8000605@hemmecke.de>
	<9qejn8c5oj.fsf@aquin.mat.univie.ac.at>
Message-ID: <460C07CD.2010904@hemmecke.de>

On 03/29/2007 07:37 PM, Martin Rubey wrote:
> Dear Ralf,
> 
> Ralf Hemmecke <ralf at hemmecke.de> writes:
> 
>> Suppose I want to write a domain that takes a finite number of domains
>> satisfying a certain category "LabelType".
>>
>> I write kTuple instead of Tuple, because the Aldor-Tuple constructor
>> is not suitable for what I want. In particular, if
>>
>>    T: Tuple PrimitiveType
>>
>> then I T = (Integer, String, Boolean, String) would be one possible
>> value for T. 

> I guess that "I T" should be "T"? 

Of course.

>> However, an element of T is not a Tuple, since T (not its
>> type) is non-homogeneous. 

> Did you want to say: "an element of T is not a PrimitiveType"?

If T = (Integer, String) then by "element" I neither meant Integer nor 
String, but rather a t so that t: T.

Try to show me such a t. And then try to convince me that it is a Tuple.

Ralf



From martin.rubey at univie.ac.at  Thu Mar 29 16:05:02 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 29 Mar 2007 22:05:02 +0200
Subject: [Aldor-l] [Axiom-developer] kTuple wish
In-Reply-To: <460C07CD.2010904@hemmecke.de>
References: <460B024D.8000605@hemmecke.de>
	<9qejn8c5oj.fsf@aquin.mat.univie.ac.at> <460C07CD.2010904@hemmecke.de>
Message-ID: <9qlkhfbytt.fsf@aquin.mat.univie.ac.at>

Dear Ralf,

I cannot find the mail anymore in which you explained why you want to have
several labeltypes for multisort species. I think the argument was because of
functorial composition, but I cannot remember well...

Maybe you could repeat.

Thanks, 

Martin



From martin.rubey at univie.ac.at  Sat Mar 31 03:26:59 2007
From: martin.rubey at univie.ac.at (Martin Rubey)
Date: 31 Mar 2007 09:26:59 +0200
Subject: [Aldor-l] depending on tuples...
Message-ID: <9qslbl98l8.fsf@aquin.mat.univie.ac.at>

Dear Aldor experts,

I'd like to have a dependent signature roughly as follows:

F(t: Tuple PrimitiveType): SomeThing with {

   g: (i: MachineInteger) -> List element(t, i);
} == add {

...

}

I.e., I would like to supply a tuple, list, vector whatever you wish of types
of the same category. It would also be OK to have a signature of F like

F(k: MachineInteger, t: Vector(k, PrimitiveType)): SomeThing ...

i.e., where the number of given Types is arbitrary but fixed.


(using the first signature, I always get  

  Unhandled Exception: RuntimeError()
  (Aldor error) Bad use of a dependent type

Any ideas?

Martin



