diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2013-01-27 23:51:56 +0000 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2013-01-27 23:51:56 +0000 |
commit | 6ab0c0f5bf14ed9c15370407b9ee7e0b4b089ae1 (patch) | |
tree | 926065cf45450116098db664e3c61dced9e1f21a /tests/general/coexpr.icn | |
download | icon-6ab0c0f5bf14ed9c15370407b9ee7e0b4b089ae1.tar.gz |
Initial upstream version 9.4.3upstream/9.4.3
Diffstat (limited to 'tests/general/coexpr.icn')
-rw-r--r-- | tests/general/coexpr.icn | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/general/coexpr.icn b/tests/general/coexpr.icn new file mode 100644 index 0000000..e4fc621 --- /dev/null +++ b/tests/general/coexpr.icn @@ -0,0 +1,72 @@ +record array(a,b,c,d,e,f,g) + +procedure dummy(u,v,x,y,z) + suspend u | v + return x +end + + +procedure f(x,y,z) +end + +procedure main() + if not(&features == "co-expressions") then + stop("co-expressions not supported") + write(image(&main)) + write(image(&source)) + write(image(¤t)) + e := create foo + write(image(foo)) + f(&main,&source,e) + write(image(x := [array(),table(),write,input,1,"abc",'aa',&null,create 1]) | "failed") + write(image(x := sort(x)) | "failed") + write(image(every write(image(!x))) | "failed") + write(image(e := create 1 to 10) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(e := ^e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(@e) | "failed") + write(image(*e) | "failed") + write(image(*e) | "failed") + write(image(image(e)) | "failed") + write(image(tab := create {write("entering tab"); 1 | 2 | 3}) | "failed") + write(image(trim := create {write("entering trim"); @tab | (main @:= tab)}) | "failed") + write(image(@trim) | "failed") + write(image(@trim) | "failed") + write(image(write(image(trim))) | "failed") + write(image(write(image(tab))) | "failed") + write(image(write(image(main))) | "failed") + &trace := -1 + dummy{1,2,3,4} + dummy{} + dummy(image{1,2,3,4}) + dummy(put{1,2,3,4}) + dummy("*"{1,2,3,4}) + dummy(image("|||"([],[]))) + dummy("+"(1,2)) + dummy("+"(1)) + dummy("image"(image(image))) + &trace := 0 + e := create writer(1 to 4) + while write("return value ", @e) +end + +procedure writer(n) + return write("in cx write ", n) +end + +invocable "*", "|||", "+", "image" |