diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/custom-effect.ts | 3 | ||||
| -rw-r--r-- | examples/ffi.ts | 4 | ||||
| -rw-r--r-- | examples/file.ts | 4 | ||||
| -rw-r--r-- | examples/greeting.ts | 3 | ||||
| -rw-r--r-- | examples/guess-number.ts | 15 | ||||
| -rw-r--r-- | examples/test-runner.ts | 8 |
6 files changed, 20 insertions, 17 deletions
diff --git a/examples/custom-effect.ts b/examples/custom-effect.ts index 3dbe395..f87f242 100644 --- a/examples/custom-effect.ts +++ b/examples/custom-effect.ts @@ -1,4 +1,5 @@ -import { Bind, DefineEffect, Effect, Kind1, Print } from '../stdlib' +import { Bind, DefineEffect, Effect, Kind1 } from '../stdlib/effect' +import { Print } from '../stdlib/stdio' interface Mathemagic<_A, _B> extends Effect {} diff --git a/examples/ffi.ts b/examples/ffi.ts index 0840ff6..f118085 100644 --- a/examples/ffi.ts +++ b/examples/ffi.ts @@ -1,4 +1,6 @@ -import { Bind, Debug, DefineEffect, Effect, JsExpr, Kind1 } from '../stdlib' +import { Bind, Effect, Kind1 } from '../stdlib/effect' +import { DefineEffect, JsExpr } from '../stdlib/sys' +import { Debug } from '../stdlib/stdio' interface PrintK<Label extends string = ''> extends Kind1 { return: Debug<Label, this['input']> diff --git a/examples/file.ts b/examples/file.ts index 287f108..d91b68a 100644 --- a/examples/file.ts +++ b/examples/file.ts @@ -1,4 +1,6 @@ -import { Bind, Kind1, ReadFile, PutStringLn } from '../stdlib' +import { Bind, Kind1 } from '../stdlib/effect' +import { PutStringLn } from '../stdlib/stdio' +import { ReadFile } from '../stdlib/fs' interface PrintK extends Kind1<string> { return: PutStringLn<this['input']> diff --git a/examples/greeting.ts b/examples/greeting.ts index 20ed4fe..e4c2161 100644 --- a/examples/greeting.ts +++ b/examples/greeting.ts @@ -1,4 +1,5 @@ -import { PutString, Bind, Kind1, ReadLine, Seq, PutStringLn } from '../stdlib' +import { Bind, Kind1, Seq } from '../stdlib/effect' +import { PutString, ReadLine, PutStringLn } from '../stdlib/stdio' interface GreetK extends Kind1<string> { return: Seq<[PutString<'Hello, '>, PutString<`${this['input']}\n`>]> diff --git a/examples/guess-number.ts b/examples/guess-number.ts index f03ee10..169805f 100644 --- a/examples/guess-number.ts +++ b/examples/guess-number.ts @@ -1,20 +1,13 @@ -import { - PutString, - Bind, - Kind1, - JsExpr, - ReadLine, - Do, - PutStringLn, -} from '../stdlib' +import { Bind, Kind1, Do } from '../stdlib/effect' +import { PutString, ReadLine, PutStringLn } from '../stdlib/stdio' +import { JsExpr } from '../stdlib/sys' export type main = [ PutStringLn<'Guess a number between 0 & 9. You have 5 guesses'>, Bind<JsExpr<'Math.floor(Math.random() * 10)'>, StartGuessing> ] -interface AskForGuess<N extends number, Attempts extends 0[]> - extends Kind1<string> { +interface AskForGuess<N extends number, Attempts extends 0[]> extends Kind1<string> { return: `${this['input']}` extends `${N}` ? PutStringLn<'Yay! You got it right!'> : Do< diff --git a/examples/test-runner.ts b/examples/test-runner.ts index c0eb4c4..b06b010 100644 --- a/examples/test-runner.ts +++ b/examples/test-runner.ts @@ -1,4 +1,6 @@ -import { DefineEffect, Do, Effect, Print, PutString, PutStringLn } from '../stdlib' +import { Do, Effect } from '../stdlib/effect' +import { Print, PutString, PutStringLn } from '../stdlib/stdio' +import { DefineEffect } from '../stdlib/sys' type Testi<m extends string, effs extends Effect[]> = [ PutStringLn<m>, @@ -8,7 +10,9 @@ type Testi<m extends string, effs extends Effect[]> = [ type Equals<Left, Right> = [Left] extends [Right] ? ([Right] extends [Left] ? true : false) : false -interface Assert<_B extends true> extends Effect { } + +type CompileTimeErrors = false +interface Assert<_B extends (CompileTimeErrors extends true ? true : boolean)> extends Effect { } type testCases = [ ...Testi<"should do some stuff", [ |
