Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Alex D
GHC
Commits
9dd44fc6
Commit
9dd44fc6
authored
Jul 07, 2010
by
Ian Lynagh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add docs for DatatypeContexts extension
parent
c9bb6b63
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
0 deletions
+20
-0
docs/users_guide/glasgow_exts.xml
docs/users_guide/glasgow_exts.xml
+20
-0
No files found.
docs/users_guide/glasgow_exts.xml
View file @
9dd44fc6
...
...
@@ -1894,6 +1894,26 @@ not <literal>*</literal> then an explicit kind annotation must be used
Nevertheless, they can be useful when defining "phantom types".
</para>
</sect2>
<sect2
id=
"datatype-contexts"
>
<title>
Data type contexts
</title>
<para>
Haskell allows datatypes to be given contexts, e.g.
</para>
<programlisting>
data Eq a => Set a = NilSet | ConsSet a (Set a)
</programlisting>
<para>
give constructors with types:
</para>
<programlisting>
NilSet :: Set a
ConsSet :: Eq a => a -> Set a -> Set a
</programlisting>
<para>
In GHC this feature is an extension called
<literal>
DatatypeContexts
</literal>
, and on by default.
</para>
</sect2>
<sect2
id=
"infix-tycons"
>
<title>
Infix type constructors, classes, and type variables
</title>
...
...
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