Skip to content

Commit 23ee4a3

Browse files
committed
examples: Added two new examples
1 parent d48f6ce commit 23ee4a3

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

examples/modules.pics

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
import std.io
3+
4+
module Foo {
5+
function bar() = IO.println("Foo.Bar")
6+
}
7+
8+
module Foo {
9+
function baz() = IO.println("Foo.Baz")
10+
}
11+
12+
Foo.bar()
13+
Foo.baz()
14+
15+
module Foo {
16+
module Foo2 {
17+
function bar2() = IO.println("Foo.Foo2.bar2")
18+
m
19+
}
20+
21+
IO.println(Foo.Foo2)
22+
Foo.Foo2.bar2()
23+

examples/rt-checks.pics

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
import std.io { IO { println } }
3+
import std.type
4+
import std.result { Result }
5+
6+
function saferDiv(x, y) =
7+
when (Type.isNumber(x), Type.isNumber(y), x, y) {
8+
is (false, false, _, _) -> Result.err("both arguments are not numbers")
9+
is (false, _, _, _) -> Result.err("1st argument is not a number")
10+
is (_, false, _, _) -> Result.err("2nd argument is not a number")
11+
is (_, _, _, 0) -> Result.err("Divide by zeror error")
12+
else -> Result.ok(x / y)
13+
}
14+
15+
let res = saferDiv(50, 2)
16+
let err = saferDiv(50, [1])
17+
println(res)
18+
println(err)
19+
20+
let res = saferDiv(50, 0)
21+
let err = saferDiv([], [1])
22+
println(res)
23+
println(err)
24+
25+

0 commit comments

Comments
 (0)