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