samer@0
|
1
|
samer@0
|
2 :- module(ops,[
|
samer@0
|
3 op(550,xfx,..) % range of integers
|
samer@0
|
4 , op(550,xfx,--) % closed real interval
|
samer@0
|
5 , op(600,xfx,--\) % half open real interval
|
samer@0
|
6 , op(1100,xfx,:<:) % subtype declaration
|
samer@0
|
7 , op(1100,xfx,::=) % definition
|
samer@0
|
8 , op(1100,xfx,:=:) % type equivalence/definition
|
samer@0
|
9 , op(1100,xfx,::) % declaration
|
samer@0
|
10 , op(1100,xfx,<-) % element of, instance etc.
|
samer@0
|
11 %, op(1050,yfx,¬) % restriction, eg real¬integer means fractional
|
samer@0
|
12 , op(750,xfy,\\) % lambda abdstraction
|
samer@0
|
13 , op(400,xfy,\) % reverse matrix division
|
samer@0
|
14 , op(800,xfx,~) % for annotations
|
samer@0
|
15 , op(900,fy,struct)
|
samer@0
|
16 , op(900,fy,options)
|
samer@0
|
17 , op(100,yfx,@) % used for signal@rate...
|
samer@0
|
18 , op(200,yfx,++) % used for sequential composition
|
samer@0
|
19 , op(700,xfx,in)
|
samer@0
|
20 , op(150,yfx,`) % function application
|
samer@0
|
21 , op(100,yfx,/)
|
samer@0
|
22 %, op(400,xfy,>>) % monad sequencing NB: standard prolog has yfx not xfy
|
samer@0
|
23 %, op(400,xfy,>>=) % monad bind
|
samer@0
|
24 , op(1050,xfy,>>) % monad sequencing NB: standard prolog has yfx not xfy
|
samer@0
|
25 , op(1050,xfy,>>=) % monad bind
|
samer@0
|
26 , op(100,fx,'<?>')
|
samer@0
|
27 , op(800,xfx,'</>')
|
samer@0
|
28 , op(100,fx,?)
|
samer@0
|
29 ]).
|
samer@0
|
30
|
samer@0
|
31 /** <module> - Operator declarations
|
samer@0
|
32
|
samer@0
|
33 This module consists entirely of operator declarations, as follows:
|
samer@0
|
34 ==
|
samer@0
|
35 op(550,xfx,..).
|
samer@0
|
36 op(550,xfx,--).
|
samer@0
|
37 op(600,xfx,--\).
|
samer@0
|
38 op(1100,xfx,:<:).
|
samer@0
|
39 op(1100,xfx,::=).
|
samer@0
|
40 op(1100,xfx,:=:).
|
samer@0
|
41 op(1100,xfx,::).
|
samer@0
|
42 op(1100,xfx,<-).
|
samer@0
|
43 op(750,xfy,\\).
|
samer@0
|
44 op(400,xfy,\).
|
samer@0
|
45 op(800,xfx,~).
|
samer@0
|
46 op(900,fy,maybe).
|
samer@0
|
47 op(900,fy,struct).
|
samer@0
|
48 op(900,fy,options).
|
samer@0
|
49 op(100,yfx,@).
|
samer@0
|
50 op(200,yfx,++).
|
samer@0
|
51 op(700,xfx,in).
|
samer@0
|
52 op(150,yfx,`).
|
samer@0
|
53 op(100,yfx,/).
|
samer@0
|
54 op(1050,xfy,>>).
|
samer@0
|
55 op(1050,xfy,>>=).
|
samer@0
|
56 op(100,fx,'<?>').
|
samer@0
|
57 op(800,xfx,'</>').
|
samer@0
|
58 op(100,fx,?).
|
samer@0
|
59 ==
|
samer@0
|
60
|
samer@0
|
61 @author Samer Abdallah
|
samer@0
|
62 */
|