Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cduce
cduce
Commits
8ff6637d
Commit
8ff6637d
authored
Jul 10, 2007
by
Pietro Abate
Browse files
[r2002-10-11 17:04:48 by cvscast] Empty log message
Original author: cvscast Date: 2002-10-11 17:04:48+00:00
parent
35b509e5
Changes
1
Hide whitespace changes
Inline
Side-by-side
types/types.ml
View file @
8ff6637d
...
...
@@ -49,30 +49,36 @@ module I = struct
let
any_record
=
{
empty
with
record
=
any
.
record
}
let
cup
x
y
=
{
times
=
Boolean
.
cup
x
.
times
y
.
times
;
arrow
=
Boolean
.
cup
x
.
arrow
y
.
arrow
;
record
=
Boolean
.
cup
x
.
record
y
.
record
;
ints
=
Intervals
.
cup
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
cup
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
cup
x
.
strs
y
.
strs
;
}
let
cap
x
y
=
{
times
=
Boolean
.
cap
x
.
times
y
.
times
;
record
=
Boolean
.
cap
x
.
record
y
.
record
;
arrow
=
Boolean
.
cap
x
.
arrow
y
.
arrow
;
ints
=
Intervals
.
cap
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
cap
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
cap
x
.
strs
y
.
strs
;
}
let
diff
x
y
=
{
times
=
Boolean
.
diff
x
.
times
y
.
times
;
arrow
=
Boolean
.
diff
x
.
arrow
y
.
arrow
;
record
=
Boolean
.
diff
x
.
record
y
.
record
;
ints
=
Intervals
.
diff
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
diff
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
diff
x
.
strs
y
.
strs
;
}
let
cup
x
y
=
if
x
=
y
then
x
else
{
times
=
Boolean
.
cup
x
.
times
y
.
times
;
arrow
=
Boolean
.
cup
x
.
arrow
y
.
arrow
;
record
=
Boolean
.
cup
x
.
record
y
.
record
;
ints
=
Intervals
.
cup
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
cup
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
cup
x
.
strs
y
.
strs
;
}
let
cap
x
y
=
if
x
=
y
then
x
else
{
times
=
Boolean
.
cap
x
.
times
y
.
times
;
record
=
Boolean
.
cap
x
.
record
y
.
record
;
arrow
=
Boolean
.
cap
x
.
arrow
y
.
arrow
;
ints
=
Intervals
.
cap
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
cap
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
cap
x
.
strs
y
.
strs
;
}
let
diff
x
y
=
if
x
=
y
then
empty
else
{
times
=
Boolean
.
diff
x
.
times
y
.
times
;
arrow
=
Boolean
.
diff
x
.
arrow
y
.
arrow
;
record
=
Boolean
.
diff
x
.
record
y
.
record
;
ints
=
Intervals
.
diff
x
.
ints
y
.
ints
;
atoms
=
Atoms
.
diff
x
.
atoms
y
.
atoms
;
strs
=
Strings
.
diff
x
.
strs
y
.
strs
;
}
let
neg
x
=
diff
any
x
let
equal
e
a
b
=
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment