progs/sqr.fun
author Christian Urban <christian.urban@kcl.ac.uk>
Sun, 28 Sep 2025 14:03:59 +0100
changeset 991 b4b97704815b
parent 986 0e4c5d802f9d
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
986
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     1
val Max : Int = 10;
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     2
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     3
def sqr(x: Int) : Int = x * x;
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     4
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     5
def all(n: Int) : Void = {
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     6
  if n <= Max
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     7
  then { print_int(sqr(n)) ; new_line(); all(n + 1) }
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     8
  else skip()
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
     9
};
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    10
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    11
{
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    12
  print_string("Squares");
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    13
  new_line();
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    14
  all(0)
0e4c5d802f9d updated
Christian Urban <christian.urban@kcl.ac.uk>
parents:
diff changeset
    15
}