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

Merged
Created May 01, 2019 by Jan-Hendrik Matthes@stu113804😄Developer

Remove support for existential quantified type variables in data type declarations

  • 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