From e319818b8cc27450237f4b6b96022458ae478ab2 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 6 Jan 2023 18:07:26 +0530 Subject: refactor: splits funcs into stdlib --- src/index.ts | 42 ++++++------------------------------------ src/runtime.ts | 4 ++-- src/stdlib/fs.ts | 6 ++++++ src/stdlib/index.ts | 4 ++++ src/stdlib/io.ts | 18 ++++++++++++++++++ src/stdlib/stdio.ts | 10 ++++++++++ src/stdlib/sys.ts | 8 ++++++++ 7 files changed, 54 insertions(+), 38 deletions(-) create mode 100644 src/stdlib/fs.ts create mode 100644 src/stdlib/index.ts create mode 100644 src/stdlib/io.ts create mode 100644 src/stdlib/stdio.ts create mode 100644 src/stdlib/sys.ts diff --git a/src/index.ts b/src/index.ts index aad0c00..7ee4461 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,47 +1,17 @@ -export interface EffectAtom { output: T } -export type Effect = EffectAtom[] - -export interface PutString<_ extends string> extends EffectAtom { } -export interface Print<_ extends any> extends EffectAtom { } -export interface Debug<_ extends string, T> extends EffectAtom { } - -export interface WriteFile<_Path extends string, _Content extends string> extends EffectAtom { } -export interface ReadFile<_Path extends string> extends EffectAtom { } - -export interface GetEnv<_Name extends string> extends EffectAtom { } -export interface GetArgs extends EffectAtom { } - -export interface ReadLine extends EffectAtom { } - -export interface JsExpr<_Expr extends string> extends EffectAtom { } - -export interface Program { - effects: Effs, - exitCode: ExitCode, -} - -export interface Kind1 { - input: Inp - return: Out -} - -export interface ChainIO extends EffectAtom { - input: Eff - chainTo: Fn -} +import { Program, Print, PutString, Bind, Debug, Kind1, GetEnv, JsExpr, ReadFile, GetArgs, ReadLine } from './stdlib' interface PrintK