aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2021-01-03 02:01:27 +0300
committerAleksey Veresov <aleksey@veresov.pro>2021-01-03 02:01:27 +0300
commitfdb7b619342067116618abd68f83dd7ff1b0e033 (patch)
tree8937c7f9f7adc9c23cb66346c39120b66d0135e7 /examples
parentabfe132b83219efa30220ecfdaf6e26e31b9d13d (diff)
downloadcsx-fdb7b619342067116618abd68f83dd7ff1b0e033.tar
csx-fdb7b619342067116618abd68f83dd7ff1b0e033.tar.xz
csx-fdb7b619342067116618abd68f83dd7ff1b0e033.zip
More complex examples of CSX syntax.
Diffstat (limited to 'examples')
-rw-r--r--examples/generated.c2
-rw-r--r--examples/generated.csx9
2 files changed, 10 insertions, 1 deletions
diff --git a/examples/generated.c b/examples/generated.c
index 0b70fd6..caa11e2 100644
--- a/examples/generated.c
+++ b/examples/generated.c
@@ -1,6 +1,6 @@
#include <csx.h>
int main()
{
-csx_eval(csx_list(csx_name("do"),csx_list(csx_name("define"),csx_name("a"),csx_num(10),0),csx_list(csx_name("define"),csx_name("b"),csx_list(csx_name("sum"),csx_name("a"),csx_num(3),0),0),csx_list(csx_name("outname"),csx_list(csx_name("quote"),csx_name("sum-of-10-and-3-is"),0),0),csx_list(csx_name("outnum"),csx_name("b"),0),0));
+csx_eval(csx_list(csx_name("do"),csx_list(csx_name("define"),csx_name("map"),csx_list(csx_name("fn"),csx_list(csx_name("f"),csx_name("l"),0),csx_list(csx_name("if"),csx_list(csx_name("not"),csx_name("l"),0),csx_list(0),csx_list(csx_name("pair"),csx_list(csx_name("f"),csx_list(csx_name("head"),csx_name("l"),0),0),csx_list(csx_name("map"),csx_name("f"),csx_list(csx_name("tail"),csx_name("l"),0),0),0),0),0),0),csx_list(csx_name("map"),csx_list(csx_name("fn"),csx_list(csx_name("n"),0),csx_list(csx_name("outnum"),csx_name("n"),0),csx_list(csx_name("output"),csx_num(10),0),0),csx_list(csx_name("map"),csx_list(csx_name("fn"),csx_list(csx_name("n"),0),csx_list(csx_name("sum"),csx_name("n"),csx_num(10),0),0),csx_list(csx_name("quote"),csx_list(csx_num(1),csx_num(2),csx_num(3),csx_num(4),csx_num(5),0),0),0),0),0));
return 0;
}
diff --git a/examples/generated.csx b/examples/generated.csx
new file mode 100644
index 0000000..4d22565
--- /dev/null
+++ b/examples/generated.csx
@@ -0,0 +1,9 @@
+[define map [fn [f l] [if [not l] []
+ [pair [f [head l]] [map f [tail l]]]
+]]]
+
+[map [fn [n] [outnum n] [output 10]]
+ [map [fn [n] [sum n 10]]
+ [quote [1 2 3 4 5]]
+ ]
+]