Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Finn Teegen
curry-base
Commits
5e139628
Commit
5e139628
authored
Sep 20, 2013
by
Matthias Böhm
Browse files
added constrained type arguments to enumFrom[Then][To]
parent
778a7bd1
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/Curry/Syntax/Parser.hs
View file @
5e139628
...
...
@@ -742,9 +742,9 @@ listExpr = brackets (elements `opt` mk' List [])
where
elements
=
expr
<**>
rest
rest
=
comprehension
<|>
enumeration
(
flip
EnumFromTo
)
(
EnumFrom
Nothing
)
<|>
enumeration
(
flip
$
EnumFromTo
Nothing
)
(
EnumFrom
Nothing
)
<|>
comma
<-*>
expr
<**>
(
enumeration
(
flip3
EnumFromThenTo
)
(
flip
EnumFromThen
)
(
enumeration
(
flip3
$
EnumFromThenTo
Nothing
)
(
flip
$
EnumFromThen
Nothing
)
<|>
list
<$>
many
(
comma
<-*>
expr
))
`
opt
`
(
\
e
->
mk'
List
[
e
])
comprehension
=
flip
(
mk
ListCompr
)
<$->
bar
<*>
quals
...
...
src/Curry/Syntax/Pretty.hs
View file @
5e139628
...
...
@@ -299,11 +299,11 @@ ppExpr _ (List _ es) = bracketList (map (ppExpr 0) es)
ppExpr
_
(
ListCompr
_
e
qs
)
=
brackets
(
ppExpr
0
e
<+>
vbar
<+>
list
(
map
ppStmt
qs
))
ppExpr
_
(
EnumFrom
_
e
)
=
brackets
(
ppExpr
0
e
<+>
text
".."
)
ppExpr
_
(
EnumFromThen
e1
e2
)
=
ppExpr
_
(
EnumFromThen
_
e1
e2
)
=
brackets
(
ppExpr
0
e1
<>
comma
<+>
ppExpr
0
e2
<+>
text
".."
)
ppExpr
_
(
EnumFromTo
e1
e2
)
=
ppExpr
_
(
EnumFromTo
_
e1
e2
)
=
brackets
(
ppExpr
0
e1
<+>
text
".."
<+>
ppExpr
0
e2
)
ppExpr
_
(
EnumFromThenTo
e1
e2
e3
)
=
ppExpr
_
(
EnumFromThenTo
_
e1
e2
e3
)
=
brackets
(
ppExpr
0
e1
<>
comma
<+>
ppExpr
0
e2
<+>
text
".."
<+>
ppExpr
0
e3
)
ppExpr
p
(
UnaryMinus
op
e
)
=
parenExp
(
p
>
1
)
(
ppInfixOp
op
<>
ppExpr
1
e
)
...
...
src/Curry/Syntax/ShowModule.hs
View file @
5e139628
...
...
@@ -412,17 +412,17 @@ showsExpression (EnumFrom _ expr)
=
showsString
"(EnumFrom "
.
showsExpression
expr
.
showsString
")"
showsExpression
(
EnumFromThen
exp1
exp2
)
showsExpression
(
EnumFromThen
_
exp1
exp2
)
=
showsString
"(EnumFromThen "
.
showsExpression
exp1
.
space
.
showsExpression
exp2
.
showsString
")"
showsExpression
(
EnumFromTo
exp1
exp2
)
showsExpression
(
EnumFromTo
_
exp1
exp2
)
=
showsString
"(EnumFromTo "
.
showsExpression
exp1
.
space
.
showsExpression
exp2
.
showsString
")"
showsExpression
(
EnumFromThenTo
exp1
exp2
exp3
)
showsExpression
(
EnumFromThenTo
_
exp1
exp2
exp3
)
=
showsString
"(EnumFromThenTo "
.
showsExpression
exp1
.
space
.
showsExpression
exp2
.
space
...
...
src/Curry/Syntax/Type.hs
View file @
5e139628
...
...
@@ -257,9 +257,9 @@ data Expression
|
List
[
SrcRef
]
[
Expression
]
|
ListCompr
SrcRef
Expression
[
Statement
]
-- the ref corresponds to the main list
|
EnumFrom
(
Maybe
ConstrType_
)
Expression
|
EnumFromThen
Expression
Expression
|
EnumFromTo
Expression
Expression
|
EnumFromThenTo
Expression
Expression
Expression
|
EnumFromThen
(
Maybe
ConstrType_
)
Expression
Expression
|
EnumFromTo
(
Maybe
ConstrType_
)
Expression
Expression
|
EnumFromThenTo
(
Maybe
ConstrType_
)
Expression
Expression
Expression
|
UnaryMinus
Ident
Expression
|
Apply
Expression
Expression
|
InfixApply
Expression
InfixOp
Expression
...
...
@@ -405,9 +405,9 @@ instance Eq Expression where
(
List
_
es1
)
==
(
List
_
es2
)
=
es1
==
es2
(
ListCompr
_
e1
ss1
)
==
(
ListCompr
_
e2
ss2
)
=
e1
==
e2
&&
ss1
==
ss2
(
EnumFrom
_
e1
)
==
(
EnumFrom
_
e2
)
=
e1
==
e2
(
EnumFromThen
e11
e21
)
==
(
EnumFromThen
e12
e22
)
=
e11
==
e12
&&
e21
==
e22
(
EnumFromTo
e11
e21
)
==
(
EnumFromTo
e12
e22
)
=
e11
==
e12
&&
e21
==
e22
(
EnumFromThenTo
e11
e21
e31
)
==
(
EnumFromThenTo
e12
e22
e32
)
(
EnumFromThen
_
e11
e21
)
==
(
EnumFromThen
_
e12
e22
)
=
e11
==
e12
&&
e21
==
e22
(
EnumFromTo
_
e11
e21
)
==
(
EnumFromTo
_
e12
e22
)
=
e11
==
e12
&&
e21
==
e22
(
EnumFromThenTo
_
e11
e21
e31
)
==
(
EnumFromThenTo
_
e12
e22
e32
)
=
e11
==
e12
&&
e21
==
e22
&&
e31
==
e32
(
UnaryMinus
i1
e1
)
==
(
UnaryMinus
i2
e2
)
=
i1
==
i2
&&
e1
==
e2
(
Apply
e11
e21
)
==
(
Apply
e12
e22
)
=
e11
==
e12
&&
e21
==
e22
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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