Concurrent Clean : spawn

が動くようになりました。
spawn_nowaitとforkとexecを追加することと、モジュールの分割方法を検討中。

::Errno = Noerr | Errno !Int
strerror :: !Errno -> String


spawn_wait :: !String ![String] !*World -> (!Errno, !Int, !*World)
/* spawn_wait path args world
 * - execute 'path' with 'args'
 * - wait for child process ending
 * - return an errno and a return code of the child process
 */

spawnp_wait :: !String ![String] !*World -> (!Errno, !Int, !*World)
/* spawnp_wait file args world
 * - search 'file' from an environment variable 'PATH'
 * - execute the file with 'args'
 * - wait for child process ending
 * - return an errno and a return code of the child process
 */