make roc code compile (does throw errors though)

This commit is contained in:
Folkert 2020-12-08 15:06:06 +01:00
parent 4c2654d4ed
commit 1930a27b24
4 changed files with 13 additions and 21 deletions

View File

@ -1,18 +1,10 @@
app "effect-example" imports [ Effect ] provides [ main ] to "./platform"
app "effect-example"
packages { base: "platform" }
imports [ base.Task.{ Task, after } ]
provides [ main ] to base
main : Effect.Effect {} as Fx
main : Task.Task {} I64 as Fx
main =
when if 1 == 1 then True 3 else False 3.14 is
True 3 -> Effect.putLine "Yay"
_ -> Effect.putLine "Yay"
# main : Effect.Effect {} as Fx
# main =
# if RBTree.isEmpty (RBTree.insert 1 2 Empty) then
# Effect.putLine "Yay"
# |> Effect.after (\{} -> Effect.getLine)
# |> Effect.after (\line -> Effect.putLine line)
# else
# Effect.putLine "Nay"
#
Task.succeed {}

View File

@ -22,7 +22,7 @@ FileOpenErr a :
SymLinkLoop Path,
TooManyOpenFiles Path,
IoError Path,
UnknownError Int Path,
UnknownError I64 Path,
]a
## Errors when attempting to read a non-directory file.

View File

@ -7,7 +7,7 @@ platform folkertdev/foo
effects Effect
{
# TODO change sig to Effect { errno : I32, bytes : List U8 }
readAllUtf8 : Str -> Effect { errno : Int, bytes : Str }
readAllUtf8 : Str -> Effect { errno : I64, bytes : Str }
}
mainForHost : Effect {} as Fx

View File

@ -1,9 +1,9 @@
interface Task
exposes [ Task, succeed, fail, after, map ]
imports [ Effect.{ Effect } ]
imports [ Effect ]
Task ok err : Effect (Result ok err)
Task ok err : Effect.Effect (Result ok err)
succeed : val -> Task val *
@ -18,7 +18,7 @@ fail = \val ->
after : Task a err, (a -> Task b err) -> Task b err
after = \effect, transform ->
Effect.after effect, \result ->
Effect.after effect \result ->
when result is
Ok a -> transform a
Err err -> Task.fail err
@ -26,7 +26,7 @@ after = \effect, transform ->
map : Task a err, (a -> b) -> Task b err
map = \effect, transform ->
Effect.after effect, \result ->
Effect.after effect \result ->
when result is
Ok a -> Task.succeed (transform a)
Err err -> Task.fail err