Skip to content
Snippets Groups Projects
Commit 2ca8dfd4 authored by simonmar's avatar simonmar
Browse files

[haddock @ 2002-04-24 15:57:47 by simonmar]

Handle gcons in export lists (a common extension).
parent e14da136
No related branches found
No related tags found
No related merge requests found
q-----------------------------------------------------------------------------
$Id: HsParser.ly,v 1.2 2002/04/10 13:23:55 simonmar Exp $
$Id: HsParser.ly,v 1.3 2002/04/24 15:57:47 simonmar Exp $
(c) Simon Marlow, Sven Panne 1997-2000
......@@ -206,7 +206,7 @@ The Export List
> qcname :: { HsQName }
> : qvar { $1 }
> | qcon { $1 }
> | gcon { $1 }
-----------------------------------------------------------------------------
Import Declarations
......@@ -608,7 +608,7 @@ other implementations don't manage this either.
> aexp1 :: { HsExp }
> : qvar { HsVar $1 }
> | gcon { $1 }
> | gcon { HsCon $1 }
> | literal { $1 }
> | '(' exp ')' { HsParen $2 }
> | '(' texps ')' { HsTuple True $2 }
......@@ -725,11 +725,11 @@ Record Field Update/Construction
-----------------------------------------------------------------------------
Variables, Constructors and Operators.
> gcon :: { HsExp }
> : '(' ')' { unit_con }
> | '[' ']' { HsList [] }
> | '(' commas ')' { tuple_con $2 }
> | qcon { HsCon $1 }
> gcon :: { HsQName }
> : '(' ')' { unit_con_name }
> | '[' ']' { nil_con_name }
> | '(' commas ')' { tuple_con_name $2 }
> | qcon { $1 }
> var :: { HsName }
> : varid { $1 }
......
% -----------------------------------------------------------------------------
% $Id: HsSyn.lhs,v 1.2 2002/04/10 16:10:26 simonmar Exp $
% $Id: HsSyn.lhs,v 1.3 2002/04/24 15:57:48 simonmar Exp $
%
% (c) The GHC Team, 1997-2002
%
......@@ -22,8 +22,7 @@ module HsSyn (
mkHsForAllType,
prelude_mod, main_mod,
unit_con_name, tuple_con_name,
unit_con, tuple_con,
unit_con_name, tuple_con_name, nil_con_name,
as_name, qualified_name, hiding_name, minus_name, pling_name, dot_name,
forall_name, unsafe_name, safe_name, threadsafe_name, export_name,
stdcall_name, ccall_name, dotnet_name,
......@@ -279,12 +278,11 @@ main_mod = Module "Main"
unit_ident = HsSpecial "()"
tuple_ident i = HsSpecial ("("++replicate i ','++")")
nil_ident = HsSpecial "[]"
unit_con_name = Qual prelude_mod (HsVarName unit_ident)
tuple_con_name i = Qual prelude_mod (HsVarName (tuple_ident i))
unit_con = HsCon unit_con_name
tuple_con i = HsCon (tuple_con_name i)
nil_con_name = Qual prelude_mod (HsVarName nil_ident)
as_name = HsVarName (HsIdent "as")
qualified_name = HsVarName (HsIdent "qualified")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment