Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2006-09-26 03:12:19
Size: 675
Editor: anonymous
Comment:
Revision 3 as of 2006-09-26 03:57:35
Size: 1162
Editor: BillPage
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
= Title =
Line 11: Line 10:
= Introduction to the Axiom Library compiler for Python Programmers =
Line 13: Line 13:
Example 1: A prime number sieve to count primes <= n.

{{{
import from Boolean, Integer, NonNegativeInteger;
sieve(n: Integer): Integer == {
        isprime: OneDimensionalArray Boolean := new(n::NonNegativeInteger, true);
        np:Integer := 0;
        for p in 2..n | isprime p repeat {
                np := np + 1;
                for i in (p+p)..n by p repeat isprime i := false;
        }
        np
}}}}

Navigation(slides)

Introduction to the Axiom Library compiler for Python Programmers

SPAD is the 1st generation compiler and Aldor (http://wiki.axiom-developer.org/Aldor) is the 2nd generation compiler for the strongly-typed object-oriented high-level language which is used to implement Axiom's library of over 1,300 mathematical domains and categories. The language is similar in many respects to Python which plays the same role in Sage.

Example 1: A prime number sieve to count primes <= n.

import from Boolean, Integer, NonNegativeInteger;
sieve(n: Integer): Integer  == {
        isprime: OneDimensionalArray Boolean := new(n::NonNegativeInteger, true);
        np:Integer := 0;
        for p in 2..n | isprime p repeat {
                np := np + 1;
                for i in (p+p)..n by p repeat isprime i := false;
        }
        np

}