axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] axlit.as and axextend.as


From: Ralf Hemmecke
Subject: [Axiom-developer] axlit.as and axextend.as
Date: Sun, 22 Jun 2008 23:29:27 +0200
User-agent: Thunderbird 2.0.0.14 (X11/20080421)

To whoever knows about the history of the aldor-axiom connection,

Important in the build of the aldor-axiom connection are the files axlit.as and axextend.as that can be found at

https://svn.origo.ethz.ch/algebraist/trunk/aldor/lib/libax0/

I roughly understand why they exist. What I don't understand is their actual contents. It seems clear to me that Literal and Generator have to be made available and that I should be able to use [...], i.e., the function "bracket" to construct lists. But what I don't understand is, for example, why

Bit     ==> Boolean;
extend SingleInteger : with {
  ...
  =:  (%, %) -> Bit;
  <:  (%, %) -> Bit;
} == add {
  Rep ==> SInt;
  asBool(x) ==> x pretend Boolean;
  ...
  import {
    ...
    SIntEQ:        (SInt, SInt) -> Bool;
    SIntLT:        (SInt, SInt) -> Bool;
    ...
  } from Builtin;
  ...
  (a: %) =  (b: %): Bit == asBool(SIntEQ(rep a, rep b));
  (a: %) <  (b: %): Bit == asBool(SIntLT(rep a, rep b));
  ...
}

appears in axextend.as. Axiom's SingleInteger already exports IntegerNumberSystem, which clearly should also contain = and <.

It would be very helpful if sombody could explain the content of those two files (not only the example that I've given above. However, I appreciate any helpful comment. Please come forward.

Thank you

Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]