import { Bind, BindTo, Do, Kind1, Label } from '../stdlib/effect' import { PutStringLn } from '../stdlib/stdio' import { ReadFile } from '../stdlib/fs' import { Try } from '../stdlib/exception' interface PrintK extends Kind1 { return: PutStringLn } export type main = [ Do< [ BindTo<'contents', ReadFile<'./bin.js'>>, PutStringLn<'------'>, Bind, () => PutStringLn> ] >, Try< Bind, PrintK>, () => PutStringLn<`ERROR: ${e}`> >, PutStringLn<'-------------'>, Bind, () => PutStringLn>, PutStringLn<'-------------'>, Try< Bind, PrintK>, () => PutStringLn<`ERROR: ${M}`> > ]