Skip to content

Commit

Permalink
isolated Patterns, moved Positioned instances
Browse files Browse the repository at this point in the history
  • Loading branch information
Ingo60 committed Apr 9, 2014
1 parent defa224 commit 5d15b70
Show file tree
Hide file tree
Showing 16 changed files with 436 additions and 102 deletions.
24 changes: 1 addition & 23 deletions frege/compiler/Data.fr
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ import frege.compiler.types.ImportDetails
import frege.compiler.types.QNames
import frege.compiler.types.External
import frege.compiler.types.Types
import frege.compiler.types.Patterns

--- compiler options
data Options = !Options {
Expand Down Expand Up @@ -372,7 +373,6 @@ infixl 16 `App` `nApp` `TApp`
infixr 16 `TFun`



--- The names of the java primitive types
primitiveTypes = ["byte", "short", "boolean", "char", "int", "long", "float", "double" ]

Expand Down Expand Up @@ -500,28 +500,6 @@ derive Eq CKind
derive Enum CKind


{--
* patterns
-}
data PatternT q =
!PVar { pos::Position, uid::Int, var::String } -- x
| PCon { pos::Position, qname::q, pats :: [PatternT q] } -- Con
| PConFS { pos::Position, qname::q, fields::[(String, PatternT q)] } -- Con { field, ... }
| !PAt { pos::Position, uid::Int, var::String, pat::PatternT q} -- a@pat
| !PUser { pat :: PatternT q, lazy :: Bool} -- !pat or ?pat
| !PLit { pos::Position, kind::Literalkind, value::String} -- 42 #foo#
| !PAnn { pat::PatternT q, typ::SigmaT q} -- pat::forall a.Eq a => a -> a
| !PMat { pos::Position, uid::Int, var::String, value::String}


-- m~#foo#

type PatternS = PatternT SName


type Pattern = PatternT QName


{-- Convenience function for injecting an @a@ into ('StG').
This is just 'StG.return' typed as @a -> State Global a@ -}
stio :: a -> StG a
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Enter.fr
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ import Compiler.types.JTypes(rawName)
import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns

import frege.compiler.Data
import Lib.PP (text, msgdoc)
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Fixdefs.fr
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import frege.compiler.Utilities as U()
import Compiler.enums.TokenID(VARID)

import Compiler.types.SNames(Simple)
import Compiler.types.Patterns

{--
* Post condition for import pass
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/GUtil.fr
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ import Compiler.types.Positions
import Compiler.types.Tokens
import Compiler.types.SNames
import Compiler.types.Types
import Compiler.types.Patterns


data Program =
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/GenJava7.fr
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ import Compiler.types.JTypes
import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns

import Compiler.common.Mangle
import Compiler.common.Annotate
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/GenMeta.fr
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.External
import Compiler.types.Types
import Compiler.types.Patterns


import frege.compiler.Data
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Import.fr
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import Compiler.types.Packs
import Compiler.types.ImportDetails
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns

import frege.compiler.Classtools as CT()
import frege.compiler.Utilities as U()
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Transdef.fr
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import Compiler.types.SNames
import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns

import frege.compiler.Data
import frege.compiler.Utilities as U(resolveVName, resolveXName, transSigma, transTau,
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Transform.fr
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ import Compiler.types.Strictness
import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns

import frege.compiler.Data
import Lib.PP (msgdoc, text, </>)
Expand Down
1 change: 1 addition & 0 deletions frege/compiler/Typecheck.fr
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ import Compiler.types.Tokens
import Compiler.types.Packs
import Compiler.types.QNames
import Compiler.types.Types
import Compiler.types.Patterns as P

import frege.compiler.Data
import Lib.PP(text, msgdoc, nest, stack, <>, </>, <+/>, <+>)
Expand Down
Loading

0 comments on commit 5d15b70

Please sign in to comment.