roc/examples/cli/cli-platform/InternalTask.roc
Richard Feldman 2e61df3b96
roc format
2022-11-24 05:47:35 -05:00

17 lines
471 B
Text

interface InternalTask
exposes [Task, fromEffect, toEffect, succeed, fail]
imports [Effect.{ Effect }]
Task ok err := Effect (Result ok err)
succeed : ok -> Task ok *
succeed = \ok -> @Task (Effect.always (Ok ok))
fail : err -> Task * err
fail = \err -> @Task (Effect.always (Err err))
fromEffect : Effect (Result ok err) -> Task ok err
fromEffect = \effect -> @Task effect
toEffect : Task ok err -> Effect (Result ok err)
toEffect = \@Task effect -> effect