Skip to content

Commit d987e13

Browse files
committed
Add logger
1 parent b45cb8a commit d987e13

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

std/core-extras.kk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ extern import
1616
pub fun pretend-not-reachable(?kk-file-line: string): b
1717
impossible()
1818

19+
pub fun no-effect-top(a: () -> pure a, ?kk-file-line: string): a
20+
with pretend-no-div
21+
catch(a) fn(err)
22+
impossible(err.show)
23+
1924
pub fun list/and(l: list<bool>): bool
2025
match l
2126
Nil -> True

std/log.kk

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import std/data/linearmap
2+
3+
linear effect log
4+
fun log(name: string, message: string): ()
5+
6+
fun with-logs(action: () -> <log|e> ()): e ()
7+
var logs := LinearMap([])
8+
with handler
9+
fun log(name, message)
10+
logs := logs.set(name, logs.lookup(name).default("") ++ message ++ "\n")
11+
action()

0 commit comments

Comments
 (0)