summaryrefslogtreecommitdiff
path: root/tests/general/coexpr.icn
blob: e4fc621eea36be8e89e46e8c59a532c7e336c85f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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(&current))
   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"