#!/bin/sh

t=`mktemp /tmp/assert-ga-io-XXXXXX.ga`

cat >$t
cat >>$t <<"EOF"

-- read all input from stdin
slurp := bind (getc stdin) (maybe (return nil) slurp_case_just);
  slurp_case_just x := lift (cons x) slurp

main := bind slurp (chain main_1 parser);
  main_1 := maybe (eputs "no parse") (uncurry main_2);
  main_2 x rest := bind_ (puts x) (puts rest)

EOF

export GALIBS="parsers.ga $GALIBS"
./assert-io ../runga $t
RET=$?

rm -f $t
exit $RET

