Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
curry
curry-frontend
Commits
9558e65a
Commit
9558e65a
authored
Feb 20, 2015
by
Jan Rasmus Tikovsky
Browse files
Minor bugfix
parent
2a65272a
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/Checks/SyntaxCheck.hs
View file @
9558e65a
...
...
@@ -740,19 +740,21 @@ checkVariable v
case
qualLookupVar
v
env
of
[]
->
do
report
$
errUndefinedVariable
v
return
$
Variable
v
[
Constr
_
_
]
->
return
$
Constructor
v
[
GlobalVar
_
_
]
->
return
$
Variable
v
[
LocalVar
v'
_
]
->
return
$
Variable
$
qualify
v'
[
Constr
_
_
]
->
return
$
Constructor
v
[
GlobalVar
_
_
]
->
return
$
Variable
v
[
LocalVar
v'
_
]
->
return
$
Variable
$
qualify
v'
[
RecordLabel
_
_
]
->
return
$
Variable
v
rs
->
do
m
<-
getModuleIdent
case
qualLookupVar
(
qualQualify
m
v
)
env
of
[]
->
do
report
$
errAmbiguousIdent
rs
v
return
$
Variable
v
[
Constr
_
_
]
->
return
$
Constructor
v
[
GlobalVar
_
_
]
->
return
$
Variable
v
[
LocalVar
v'
_
]
->
return
$
Variable
$
qualify
v'
rs'
->
do
report
$
errAmbiguousIdent
rs'
v
return
$
Variable
v
[
Constr
_
_
]
->
return
$
Constructor
v
[
GlobalVar
_
_
]
->
return
$
Variable
v
[
LocalVar
v'
_
]
->
return
$
Variable
$
qualify
v'
[
RecordLabel
_
_
]
->
return
$
Variable
v
rs'
->
do
report
$
errAmbiguousIdent
rs'
v
return
$
Variable
v
checkRecordExpr
::
Position
->
QualIdent
->
[
Field
Expression
]
->
SCM
Expression
checkRecordExpr
_
c
[]
=
do
...
...
src/Checks/TypeCheck.hs
View file @
9558e65a
...
...
@@ -1083,8 +1083,10 @@ sureVarType v tyEnv = case lookupValue v tyEnv of
funType
::
ModuleIdent
->
QualIdent
->
ValueEnv
->
TypeScheme
funType
m
f
tyEnv
=
case
qualLookupValue
f
tyEnv
of
[
Value
_
_
sigma
]
->
sigma
[
Label
_
_
sigma
]
->
sigma
_
->
case
qualLookupValue
(
qualQualify
m
f
)
tyEnv
of
[
Value
_
_
sigma
]
->
sigma
[
Label
_
_
sigma
]
->
sigma
_
->
internalError
$
"TypeCheck.funType "
++
show
f
++
", more precisely "
++
show
(
unqualify
f
)
...
...
test/HaskellRecords.curry
View file @
9558e65a
...
...
@@ -13,4 +13,8 @@ fun C { l = 42 } = True
fun2 C {} = False
-- update
upd r = r { x = False, l = 0 }
\ No newline at end of file
upd r = r { x = False, l = 0 }
-- selection
getL :: R a -> Int
getL r = l r
\ No newline at end of file
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