Skip to content

Commit

Permalink
Import Numbers in the benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
JaroslavTulach committed Jan 26, 2024
1 parent 1e9ef59 commit ae09192
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@ class AtomFixtures extends DefaultInterpreterRunner {
val million: Long = 1000000

val millionElementList = eval(
s"""import Standard.Base.Data.List.List
|
|main =
| generator fn acc i end = if i == end then acc else @Tail_Call generator fn (fn acc i) i+1 end
| res = generator (acc -> x -> List.Cons x acc) List.Nil 1 $million
| res
|""".stripMargin)
s"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main =
| generator fn acc i end = if i == end then acc else @Tail_Call generator fn (fn acc i) i+1 end
| res = generator (acc -> x -> List.Cons x acc) List.Nil 1 $million
| res
|""".stripMargin)

val generateListCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = length ->
| generator = acc -> i -> if i == 0 then acc else @Tail_Call generator (List.Cons i acc) (i - 1)
Expand All @@ -26,7 +30,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val generateList = getMain(generateListCode)

val generateListQualifiedCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = length ->
| generator = acc -> i -> if i == 0 then acc else @Tail_Call generator (List.Cons i acc) (i - 1)
Expand All @@ -37,7 +43,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val generateListQualified = getMain(generateListQualifiedCode)

val reverseListCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = list ->
| reverser = acc -> list -> case list of
Expand All @@ -50,7 +58,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val reverseList = getMain(reverseListCode)

val reverseListMethodsCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|List.rev self acc = case self of
| List.Cons h t -> @Tail_Call t.rev (List.Cons h acc)
Expand All @@ -63,7 +73,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val reverseListMethods = getMain(reverseListMethodsCode)

val sumListCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = list ->
| summator = acc -> list -> case list of
Expand All @@ -76,7 +88,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val sumList = getMain(sumListCode)

val sumListLeftFoldCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = list ->
| fold = f -> acc -> list -> case list of
Expand All @@ -89,7 +103,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val sumListLeftFold = getMain(sumListLeftFoldCode)

val sumListFallbackCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|main = list ->
| summator = acc -> list -> case list of
Expand All @@ -102,7 +118,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val sumListFallback = getMain(sumListFallbackCode)

val sumListMethodsCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|List.sum self acc = case self of
| List.Cons h t -> @Tail_Call t.sum h+acc
Expand All @@ -115,7 +133,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val sumListMethods = getMain(sumListMethodsCode)

val mapReverseListCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|List.mapReverse self f acc = case self of
| List.Cons h t -> @Tail_Call t.mapReverse f (List.Cons (f h) acc)
Expand All @@ -128,7 +148,9 @@ class AtomFixtures extends DefaultInterpreterRunner {
val mapReverseList = getMain(mapReverseListCode)

val mapReverseListCurryCode =
"""import Standard.Base.Data.List.List
"""
|import Standard.Base.Data.List.List
|import Standard.Base.Data.Numbers
|
|List.mapReverse self f acc = case self of
| List.Cons h t -> @Tail_Call t.mapReverse f (List.Cons (f h) acc)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ class NamedDefaultedArgumentFixtures extends DefaultInterpreterRunner {

val sumTCOWithNamedArgumentsCode =
"""
|import Standard.Base.Data.Numbers
|main = sumTo ->
| summator = acc -> current ->
| if current == 0 then acc else @Tail_Call summator (current = current - 1) (acc = acc + current)
Expand All @@ -18,6 +19,7 @@ class NamedDefaultedArgumentFixtures extends DefaultInterpreterRunner {

val sumTCOWithDefaultedArgumentsCode =
"""
|import Standard.Base.Data.Numbers
|main = sumTo ->
| summator = (acc = 0) -> current ->
| if current == 0 then acc else @Tail_Call summator (current = current - 1) (acc = acc + current)
Expand Down

0 comments on commit ae09192

Please sign in to comment.