main

demo.main · #w3clbuct · term · runs anywhere

Runs the playground's programs, one of them asynchronously.

import { add, addOrNegate } from "#codebase/demo";
import { gen, runPromise, runSync, sleep } from "#codebase/effect/Effect";

export const main = async () => {
  console.log("sync", runSync(add(20, 22)));
  console.log("caught", runSync(addOrNegate(60, 70)));
  console.log(
    "async",
    await runPromise(
      gen(function* () {
        yield* sleep("10 millis");
        return "slept";
      }),
    ),
  );
}

uses