!import "base" !Local !import "list" !Local !import "io" !Local -- readFile returns a Result. matchResult branches on ok / err. -- Run with --allow-read PATH or --unsafe-io. safeRead = (path : bind (readFile path) (result : matchResult (err rest : pure "ERROR: Unable to read file") (contents rest : pure contents) result)) main = io (safeRead "demos/interactionTrees/greet.tri")