diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-06-14 22:17:26 -0700 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-06-14 22:17:37 -0700 |
| commit | 49f1eb3d08caf7605046373b7b3a001f28aa8aab (patch) | |
| tree | 2894703fd312bd4202a3cbe225d19a958e2f24b2 /core/io.nom | |
| parent | 82cfd3e54b5910843c091a9fb6ef3ad6b64ba757 (diff) | |
Reshuffling some files.
Diffstat (limited to 'core/io.nom')
| -rw-r--r-- | core/io.nom | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/io.nom b/core/io.nom new file mode 100644 index 0000000..4f12e57 --- /dev/null +++ b/core/io.nom @@ -0,0 +1,20 @@ +# + This file contains basic input/output code + +use "core/metaprogramming.nom" + +compile [say %message] to + lua> ".." + if \%message.type == "Text" then + return Lua(tree.source, "io.write(", \(%message as lua expr), ", '\\\\n');"); + else + return Lua(tree.source, "io.write(tostring(", \(%message as lua expr), "), '\\\\n');"); + end + +compile [ask %prompt] to + lua> ".." + if \%prompt.type == "Text" then + return Lua.Value(tree.source, "(io.write(", \(%prompt as lua expr), ") and io.read())"); + else + return Lua.Value(tree.source, "(io.write(tostring(", \(%prompt as lua expr), ")) and io.read())"); + end |
