From febad8968c1942cf4f56c8d6292c1ac34fd48dc9 Mon Sep 17 00:00:00 2001 From: MystPi <86574651+MystPi@users.noreply.github.com> Date: Sat, 27 Apr 2024 09:38:13 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Project=20structure=20idea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/blah/build/Blah.mjs | 0 examples/blah/build/Spark/IO.mjs | 0 examples/blah/build/spark.prelude.mjs | 0 examples/blah/spark.toml | 1 + examples/blah/src/Blah.spark | 6 ++++++ src/templates/Spark/IO.spark | 13 +++++++++++++ 6 files changed, 20 insertions(+) create mode 100644 examples/blah/build/Blah.mjs create mode 100644 examples/blah/build/Spark/IO.mjs create mode 100644 examples/blah/build/spark.prelude.mjs create mode 100644 examples/blah/spark.toml create mode 100644 examples/blah/src/Blah.spark create mode 100644 src/templates/Spark/IO.spark diff --git a/examples/blah/build/Blah.mjs b/examples/blah/build/Blah.mjs new file mode 100644 index 0000000..e69de29 diff --git a/examples/blah/build/Spark/IO.mjs b/examples/blah/build/Spark/IO.mjs new file mode 100644 index 0000000..e69de29 diff --git a/examples/blah/build/spark.prelude.mjs b/examples/blah/build/spark.prelude.mjs new file mode 100644 index 0000000..e69de29 diff --git a/examples/blah/spark.toml b/examples/blah/spark.toml new file mode 100644 index 0000000..a809a8e --- /dev/null +++ b/examples/blah/spark.toml @@ -0,0 +1 @@ +name = "Blah" \ No newline at end of file diff --git a/examples/blah/src/Blah.spark b/examples/blah/src/Blah.spark new file mode 100644 index 0000000..75ad651 --- /dev/null +++ b/examples/blah/src/Blah.spark @@ -0,0 +1,6 @@ +import Spark/IO + +def pub main = + \_ <- IO.println("Hello, world!") |> IO.then + \_ <- IO.println("This is the Blah module") |> IO.then + IO.println("Bye!") \ No newline at end of file diff --git a/src/templates/Spark/IO.spark b/src/templates/Spark/IO.spark new file mode 100644 index 0000000..726ccbb --- /dev/null +++ b/src/templates/Spark/IO.spark @@ -0,0 +1,13 @@ +def pub println\text = + \ <- action + external " + console.log(text); + return $.nil; + " + +def pub then\@IO { perform }, f = + \ <- action + f(perform()).perform() + +def action\perform = + @IO { perform } \ No newline at end of file