aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-01-09 20:13:33 +0530
committerAkshay Nair <phenax5@gmail.com>2023-01-09 20:13:33 +0530
commit5aad91f273f39ba1a11143585835e757a57de234 (patch)
tree28379cc54ccb1bdd3de2a4c639d24ea5dac82dd5 /examples
parent2af211f1bd6a5c81ee7acd2ded2bfacf4dcfb2a4 (diff)
downloadts-types-lang-5aad91f273f39ba1a11143585835e757a57de234.tar.gz
ts-types-lang-5aad91f273f39ba1a11143585835e757a57de234.zip
refactor: moves stuff around
Diffstat (limited to 'examples')
-rw-r--r--examples/custom-effect.ts3
-rw-r--r--examples/ffi.ts4
-rw-r--r--examples/file.ts4
-rw-r--r--examples/greeting.ts3
-rw-r--r--examples/guess-number.ts15
-rw-r--r--examples/test-runner.ts8
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", [