aboutsummaryrefslogtreecommitdiff
path: root/examples/greeting.ts
blob: e4c216132159bb0567f020da8523de8553b1addb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
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`>]>
}

export type main = [
  PutStringLn<'Greetotron 6000 initializing...'>,
  PutString<'Your name? '>,
  Bind<ReadLine, GreetK>
]