Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2006-09-26 03:12:19
Size: 675
Editor: anonymous
Comment:
Revision 5 as of 2006-09-26 04:02:11
Size: 1125
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.

{{{
#pile
#include "axiom.as"

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.

#pile
#include "axiom.as"

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