Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • C curry-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • curry
  • curry-base
  • Merge requests
  • !11

Remove support for existential quantified type variables in data type declarations

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jan-Hendrik Matthes requested to merge remove-exist-quant into master May 01, 2019
  • Overview 1
  • Commits 3
  • Changes 8

This merge request removes support for existential quantified type variables in data type declarations.

Existential quantified type variables are currently not working correctly. So the support will be removed in favor of a cleaner compiler implementation and the upcoming support for arbitrary-rank types.

The recognized syntax of Curry will change as follows (only the relevant parts are listed):

\begin{aligned}
\cdots
\end{aligned}
\begin{aligned}
\textit{ConstrDecl} &::=\textit{DataConstr}~\textit{SimpleTypeExpr}_{1}\ldots\textit{SimpleTypeExpr}_{n} &&(n\geq 0)\\
                    &\phantom{::}\mid\phantom{!)}\textit{TypeAppExpr}~\textit{ConOp}~\textit{TypeAppExpr}\\
                    &\phantom{::}\mid\phantom{!)}\textit{DataConstr}~\texttt{\{}~\textit{FieldDecl}_{1}~\texttt{,}\ldots\texttt{,}~\textit{FieldDecl}_{n}~\texttt{\}} &&(n\geq 0)\\
\textit{ExistVars}  &::=\dots &&(\text{removed})\\
\textit{ConDecl}    &::=\dots &&(\text{removed})
\end{aligned}
\begin{aligned}
\cdots
\end{aligned}
Edited Oct 07, 2019 by Jan-Hendrik Matthes
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: remove-exist-quant