This is a simple framework which hides away the IO monad and allows beginner
students to write simple applications in Haskell without having to touch the
IO monad for reading or writing to standard file descriptors or other files.
This skeleton comes with a simple example showing the usage of this system. As you can see, only three lines are to be copied by the student:
main = wrapIO ..one
Everything else is free of advanced concepts like monads, mutability, strictness, etc.
This skeleton can be used to set up a homework which can then be automatically tested using tools like vmchecker
The repository contains an example code in
demonstrative program which copies content from files (or
stdin) to files
stdout) depending on a description written at
make (or the usual
cabal setup) to build it and then give as arguments
the name of the files from which you want to read. Finish
^D on Linux,
^Z on Windows).
./SimpleEchoExample Makefile M.out unused Makefile out_Makefile M.out out_Mout @stdin out_stdin @stdin @stdout
Due to Haskell's laziness,
unused will not be read.