Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
type List = Cons(value, tail) or Nil()
|
||||
with Lookup
|
||||
|
||||
static func List.FromArray(xs) {
|
||||
var list = List.Nil()
|
||||
var len = xs.Length()
|
||||
|
||||
for i in (len-1)^-1..0 {
|
||||
list = List.Cons(xs[i], list)
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
func List.Iterate() {
|
||||
var xs = this
|
||||
do {
|
||||
match xs {
|
||||
Cons(value, tail) => {
|
||||
yield value
|
||||
xs = tail
|
||||
},
|
||||
Nil() => {
|
||||
yield break
|
||||
}
|
||||
}
|
||||
|
||||
} while true
|
||||
}
|
||||
|
||||
var xs = List.FromArray([1..10])
|
||||
|
||||
for x in xs {
|
||||
print(x)
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
var xs = (1, (2, (3, (4, (5, (6, (7, (8, (9, (10, nil))))))))))
|
||||
|
||||
while xs is (value, tail) {
|
||||
print(value)
|
||||
xs = tail
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue