Dear all,
since about two weeks now http://axiom-wiki.newsynthesis.org/
http://axiom-portal.newsynthesis.org/ are down. The virtual machine is
no longer hosted by a computer of the sage progject.
Looks like nobody is using these sites. There were no complaints so far.
Is there someone (besides
| Note: This code is currently the same in both FriCAS and OpenAxiom.
OpenAxiom issues this warning:
Warnings:
[1] OpenAxiom suggests removing assignment to Rep
Very nice.
| Since BinarySearchTree is a particular class of BinaryTree for
| consistency in BinarySearchTree I
Not bad design; bad symbol wording. I'll fix the `in symbol' part of
the documentations.
OK.
| And the above
| specification for CoercibleFrom additionally introduces
| interdependencies.
No. CoercibleFrom turns naked
coerce: S - %
into standalone category. That is all folks.
Maybe not so much of a discussion, but I guess that also Tarzan and Jane
might be of interest to you.
https://svn.origo.ethz.ch/algebraist/trunk/aldor/aldor/lib/libfoamlib/langx.as
Ralf
On 11/18/2008 05:47 AM, Gabriel Dos Reis wrote:
Bill Page [EMAIL PROTECTED] writes:
| Gaby,
|
| I
Just for the record...
in Aldor one would have to write something like
%11 Integer has with {+:(%,%)-%}
T @ Boolean
Comp: 10 msec, Interp: 0 msec
%12 Integer has {+:(%,%)-%}
^
[L17 C13] #1 (Error) Syntax error.
The has is only
The concrete use case was to replace the 188 declarations of coerce by a
handful of declarations of CoercibleTo in the SPAD library.
Maybe you should also read Doye's thesis. As far as I remember, he also
says something about how the autocoercion should work. (I somehow refer
to what Waldek
On 11/15/2008 11:09 AM, Martin Rubey wrote:
Ralf Hemmecke [EMAIL PROTECTED] writes:
But I hesitate to write
UnivariatePolynomial(var, R) == with Join(CoercibleTo SUP R,
CoercibleTo Polynomial R,
CoercibleTo DMP([var], R),
CoercibleTo MPOLY([var], R) ...)
This doesn't look right.
Doesn't
On 11/14/2008 09:00 AM, Martin Rubey wrote:
I'd like to report on a curious problem I have with SPAD/Aldor, which Python
does not seem to have.
In Axiom, we currently have the (mostly unused) Categories
CoercibleTo S, RetractableTo S and ConvertibleTo S that provide
coerce: % - S,
UPOLYCoerce(A: UPOLYC, B: UPOLYC): with
coerce: A - B
add
coerce a ==
resta := a
res: B := 0
while not zero? resta repeat
res := res + leadingCoefficient resta * leadingMonomial resta
resta :=
Martin,
put your concrete sample code here...
http://axiom-wiki.newsynthesis.org/SandboxIsomorphic
and then let's work on it.
Ralf
-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the
Hi Francois,
On 10/09/2008 12:43 PM, Francois Maltey wrote:
Hello,
The way (in mathematic or pure informatic) I prefer is
fct := x +- (y +- gcd (x, y))
fct 4 --- is an anonymous function
(fct 4) 6 -- or fct 4 6 with right priority should be 2.
Oooops.
FriCAS (AXIOM
I just saw that open-axiom uses sed to modify the sources. What do you
prefer?
Martin
edit = sed \
-e 's|@[EMAIL PROTECTED]|$(open_axiom_installdir)|g' \
-e 's|@[EMAIL PROTECTED]|$(axiom_optimize_options)|g' \
-e 's|@[EMAIL PROTECTED]|$(host)|g' \
-e
I think I've said my preference, which I will reproduce in case it
was lost in the Atlantic Ocean:
My view on scoping is that
b: Integer := 1
b: Float := 2.3
in the same scope should be an error.
But why? Try imagine that there is someone on the other side of the
All of this is as is should be for me to write something like:
Ring(a:Symbol,z:Symbol,m:Symbol,o:Symbol) == Join(Associative(a),
Commutative(a), Identity(a,z), Associative(m), Commutative(m),
Identity(m,o), ... etc.
Ring(+,0,*,1)
which I expect to export
+:(%,%)-%
0:%
2) Your approach is a first approximation, but imagine you give some
properties inside Join. It might happen that another property follows
logically from that knowledge base, but you have not explicitly included
it. So it would be nice to state a logical formula for Commutative(m)
etc.
On 08/06/2008 04:07 PM, Gabriel Dos Reis wrote:
Ralf Hemmecke [EMAIL PROTECTED] writes:
| What is nonconstructive about
| forall(T: Type)
| identity(T x) == x
| which can be used as
| identity 4.4 -- T deduced to Float
| identity string -- T deduced to String
I find the call
identity(String, foo)
unecessarily verbose, when
identity foo
would suffice.
Well, it seems you want to built in to the language the fact that
something that looks like
foo
must be of type String. Hmm. OK, it's your choice, but I currently have
| | Look at
| |
http://fricas.svn.sourceforge.net/viewvc/fricas/branches/aldor-interface/src/Makefile.in?view=markup
| | | I had to add...
| | | all-aldor: all-axiomsys all-algebra
| | cd aldor ${MAKE}
| | | No?
| Assuming one always to build all-aldor.
|
| Why? I can
Dear Gaby,
On 08/03/2008 03:58 PM, Gabriel Dos Reis wrote:
Ralf Hemmecke [EMAIL PROTECTED] writes:
| Dear Gaby,
|
| since I wanted to add a new directory aldor to the build process, I
| thought that adding it to the SUBDIRS variable (i.e to
| axiom_src_subdirs in configure.ac) would
Hi Gaby,
In configure.ac, I find
AC_CHECK_PROGS([MAKE], [make], AC_MSG_ERROR([Make utility missing.])])
but have you looked at the resulting file configure? The code then
looks like
test -n $MAKE || MAKE={ { echo $as_me:$LINENO: error: Make utility
missing. 5
echo $as_me: error: Make utility
I think the whole discussion is misleading.
A function has a source and target type. So, if there is
/: (Integer, Integer) - Fraction Integer
than the return type is *always* Fraction(Integer), also for something
like 8/4 or 1/1.
Why you see something else, is probably, because the
On 07/09/2008 03:13 AM, Bill Page wrote:
On Tue, Jul 8, 2008 at 8:54 PM, Bill Page wrote:
...
It seems less mysterious to me. I think almost:
Category():Domain == SubDomain Domain
Oops. Sorry for sending prematurely.
Since 'Type' is the category of 'Domain', perhaps one should write:
:42 AM, Gabriel Dos Reis wrote:
On Tue, Jul 8, 2008 at 5:26 PM, Ralf Hemmecke [EMAIL PROTECTED] wrote:
Somehow I now have the impression that Aldor-Type and OpenAxiom-Type are
different. That Type is a category in OpenAxiom would have never come
to my mind in Aldor.
Notice that, as far as I
1) Domain is the domain whose values are domains.
Is this ok?
This says that Domain contains itself as a value.
2) A category is some specified subdomain (subset) of Domain?
This doesn't explain what a category is, but only that all categories
are contained in Domain and thus are called
On 07/09/2008 06:01 PM, Bill Page wrote:
On Wed, Jul 9, 2008 at 10:49 AM, Gabriel Dos Reis wrote:
On Wed, Jul 9, 2008 at 9:29 AM, Ralf Hemmecke wrote:
I hope, some day these things become clear without referring to
actual implementations in Aldor or panAxiom.
Amen.
Although some
Is Mapping different from Mapping because I can write
Mapping(Integer,Integer)
and
Mapping(Integer,Integer,Integer)
?
That depends on the definition of Mapping. Unfortunately, I am not so
good in SPAD and Mapping seems to be rather tightly connected to the
internals. So let
On 07/08/2008 05:33 AM, Yixin Cao wrote:
1) Category is a category
2) declarations require domains
I might consider it as a feature request, which asks for a new domain
to represent categories.
Well, yes, Category is a category, so cannot be used as the type of
variables.
What
Bill,
my knowledge of the English language doesn't let me make sense out of
this sentences
Type is the category in Category consisting of all domains in Domain.
on
http://axiom-wiki.newsynthesis.org/[EMAIL PROTECTED]
Could you make it simpler?
Somehow I now have the impression that
On 07/08/2008 01:06 AM, Gabriel Dos Reis wrote:
On Mon, Jul 7, 2008 at 4:49 PM, Yixin Cao [EMAIL PROTECTED] wrote:
Howdy,
When I define
(1) - a:Category := Ring
Category is a category, not a domain, and declarations require
domains.
I consider this to be a bug -- as discussed
For me 'Category' and 'Type' are somewhat special.
Let me define as Saul Youssef did in Section 2 of
http://axiom-portal.newsynthesis.org/refs/articles/Youssef-ProspectsForCategoryTheoryInAldor.pdf
Domain: Category == with;
I don't have any problems with defining a category of this sort
| But 'with x:A-B' is a category object so we should be able to say:
|
| x:Category := with x:A-B
Have you looked at aaa.asy after saying
aldor -fasy aaa.as
on the following file?
---BEGIN aaa.as
#include aldor
A: with == add;
B: with == add;
x: Category == with {x: A - B}
---END aaa.as
| Perhaps it would be better to provide a function to which == maps, e.g.
|
| x == y == OPTARG(x,y)
|
| which does by default what the interpreter wants for now but which
| allows customization?
Well, '==' is a token, not operator.
Gaby, why not asking Stephen Watt? He should know
http://axiom-wiki.newsynthesis.org/428EquationDomainCoerceToOutputFormAndBoolean
On 06/17/2008 11:56 PM, Bill Page wrote:
Putting 'Domain' in 'SetCategory' is one possible solution to this problem:
\begin{spad}
)abbrev domain DOMAIN Domain
++ Author: Gabriel Dos Reis
++ Date Create: October
But in this case unless we assert it, not every domain has Domain.
That's true, but the only thing that must be extended is a few basic
categories like, for example SetCategory.
Declaring X:Domain or X:Domain with ..., or X:Join(Domain, ...) is
just making this assertion. It does not provide
The file xpoly.spad.pamphlet (LIECAT.spad) contains
LieAlgebra(R: CommutativeRing): Category == Module(R) with
--attributes
NullSquare
JacobiIdentity
...
but I don't see NullSquare or JacobiIdentity listed in
src/interp/daase.lisp.
Actually, I should ask: why is *attributes*
src/interp/ax.boot
contains the function
makeAxExportForm(filename, constructors) ==
$defaultFlag : local := false
$literals := []
axForms :=
[modemapToAx(modemap) for cname in constructors |
(modemap:=GETDATABASE(cname,'CONSTRUCTORMODEMAP)) and
(not
On 05/29/2008 02:48 PM, Francois Maltey wrote:
Ralf wrote :
In this last case I must be able to recognize the domain :
Expression Complex Integer or Expression Complex YYY, as
Expression Fraction Complex Integer and Expression Complex Fraction
Integer or others.
What
You're welcome. Kudos to Luke Wagner who kindly reported the problem
and explained how painful to work around when he was working on a class
project.
Would have been even better if Luke had reported the problem to the
mailing list.
I agree with your assessment about the use of `pretend'.
| I mean that if I can write:
|
| y := x + 1
|
| and expect the compiler to provide an implicit type for y based on
| knowledge of x, + and 1 where all of these potentially overloaded, the
| number of possibilities rises rapidly. The greater the number of
| possibilites, the greater
You should have tries TEST
OK now I tried your program from
http://sourceforge.net/mailarchive/message.php?msg_name=9qtzgzc3yz.fsf%40aquin.mat.univie.ac.at
With considering for e in ... as equivalent to for free e in ... I
would have guessed right for foo1 and foo2, but I would have failed
On 05/13/2008 12:47 PM, Gabriel Dos Reis wrote:
On Tue, May 13, 2008 at 4:32 AM, Ralf Hemmecke [EMAIL PROTECTED] wrote:
If all this discussion, however is just to enforce the programmer to
create the variable j before the loop then I am all for it. But don't let
j := 0
be different
Hi William,
On 04/20/2008 05:29 PM, William Stein wrote:
On Sun, Apr 20, 2008 at 3:10 AM, Martin Rubey [EMAIL PROTECTED] wrote:
I don't have the guts to send this to a public mailing list. I
probably
should. If you want to, you have my permission.
Alfredo Portes
On 04/03/2008 02:56 PM, Francois Maltey wrote:
factorial is very common for *my* use of CAS :
50% of numerical analysis, 50% of algebraic transformations.
And all? other Computer Algebra System uses ! for factorial.
I feel that ! is the standard function for factorial.
I remember a
The infinite union that you suggest looks interesting from a
mathematical point of view, but whether it is good from a computer
science point of view, might be a bit questionable.
Suppose instead of
DirectProduct: (NNI, Type) - DirectProductCategory(...)
you have something like
Foo:
On 02/29/2008 09:27 AM, Martin Rubey wrote:
make SQMATCAT inherit from MATCAT.
I am sure you don't want that.
We have
MatrixCategory(R,Row,Col): Category == Definition where
R : Ring
Row : FiniteLinearAggregate R
Col : FiniteLinearAggregate R
Definition ==
a: Record(Integer == 7, DoubleFloat == 0)
is not allowed... But maybe that's a bug.
Let me quote aldorug.pdf section 14.6:
Record: Tuple Type - Type
--
Records provide the basic updatable structure for aggregate data. Each
type argument to Record may be given in any
Hi Francois,
if you work in the interpreter, it is probably reasonable to use some
Record construction. However, if you do serious programming, then you
should consider Record as being a very low level data structure. That
is, you are certainly better off in defining a new type instead of just
For an educational purpose we often must code one or two loops or
tests. And I can only use interpreter with students. My purpose is
about this concrete mathematics, not teach a new language
and the domains.
I understand your problem. But the only suggestion I can give here is:
Wait 30
| but in case Integer and Set(Integer) are the only things in scope, what
| should
|
| a := {1}
|
| stand for?
Well, I was talking about the interpreter where that is not an issue:
domains are loaded automatically on demand (assuming they are
exposed, which is the case for List and
On 02/02/2008 10:13 AM, Martin Rubey wrote:
As I'm trying to understand the structure of the algebra a little better, I'd
like to have a tool as described below. Ideally written in SPAD or Aldor, but
everything else is also good.
input: a list of categories
output: the graph describing
Hmmm just another question...
Would it make sense to install also axiom.sty or is that seen only as a
file that is used at build-time?
Ralf
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R)
On 01/10/2008 09:42 AM, Martin Rubey wrote:
Dear Gaby,
I saw you implemented map!$Stack as follows:
map!(f: S - S, s: %) == -- from HOAGG
map!(f, deref s)$List(S)
s
I have two questions:
1) why didn't you say
map!(f: S - S, s: %) == ref map!(f,
On 01/09/2008 10:06 AM, Martin Rubey wrote:
Ralf Hemmecke [EMAIL PROTECTED] writes:
No, sorry. As far as I know, in SPAD,
= iterate(in fact, not sure about that one)
= iterate
So in
for a in list repeat (x; condition = somevalue; y)
somevalue is irrelevant
reading your mail, I understand that = is an other name for the
if then elif elif ... structure.
The 30-year books (p.60-61) explains that = leaves a block.
The command break quit the inner loop (for or while)
Same in Aldor. = does not abort the for loop.
for i in 1..3 repeat (i1 = (print
On 11/23/2007 06:04 PM, Bill Page wrote:
Thanks, Ralf. I like your version better than mine. It makes more
sense than the apparently redundant syntactic change I proposed ...
although I wonder why we should define a local function rather than
just write it inline. Would you agree however that
Peter,
how far are you with replacing JAVA by Aldor for this process?
Could we help? Do you have some repository set up for these scripts?
Ralf
On 11/08/2007 10:48 AM, Bill Page wrote:
Martin,
Have you been able to compile the Axiom/Aldor interface for a recent
version of FriCAS or
Thank you Saul,
First, thank you very much for your code. Under which license is it?
Public domain, mBSD, GPL, ... ?
Unfortunately, the compiler has changed a bit.
woodpecker:~/scratch/Youssef/londonaldor Basics.as
woodpecker:~/scratch/Youssef/londonaldor Categories.as
#1 (Error) There are 2
Dear Saul,
Your questions have definite answers in category theory and
since Aldor is *almost* doing category theory, it's tempting to think
that the categorical answers to your questions are really what should
naturally fit into the language. I wrote up something trying this out
for
I compiled r216 recently. I don't see the error anymore.
Ralf
On 11/01/2007 06:35 PM, Gabriel Dos Reis wrote:
Ralf Hemmecke [EMAIL PROTECTED] writes:
| (1) -
| System error:
| The tag SPAD_READER is undefined.
I believe the patchlet below must fix that.
Committed to mainline
About the next axiom workshop: Is there anything planned to coincide
with the upcoming ISSAC meeting (July 2008?) at Risc?
No, not coinciding. But there are plans to have a
Aldor Axiom Workshop 2008
during the RISC-Summer at July 24-26, i.e. right after ISSAC.
Ralf
60 matches
Mail list logo