packages feed

ats-format 0.1.0.7 → 0.1.0.8

raw patch · 5 files changed

+12/−6 lines, 5 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Language.ATS: LambdaAt :: PreFunction -> Expression
+ Language.ATS: Unnamed :: AlexPosn -> Name

Files

ats-format.cabal view
@@ -1,5 +1,5 @@ name:                ats-format-version:             0.1.0.7+version:             0.1.0.8 synopsis:            A source-code formatter for ATS description:         An opinionated source-code formatter for ATS (http://www.ats-lang.org/). homepage:            https://hub.darcs.net/vmchale/ats-format#readme
src/Language/ATS/Lexer.x view
@@ -30,14 +30,15 @@  -- Digits $digit = 0-9+$octal = 0-7  -- Characters $special = [\+\-\&\|\[\]\{\}\(\)\_\=\!\%\^\$\@\;\~\,\.\\\#] $alpha = [a-zA-Z] $terminal = $printable # $white $esc_char = \27-@escape_ch = \\ [nt\'\\]-@escape_str = \\ [nt\"\\]+@escape_ch = \\ ([nt\'\\] | $octal+)+@escape_str = \\ ([nt\"\\] | $octal+) @char = ($terminal # [\\\']) | " " | @escape_ch | $esc_char @char_lit = \' @char \' @@ -55,7 +56,7 @@ @float = @decimals \. @decimals  -- Strings-@string = \" ($printable # [\"] | @escape_str | $esc_char | \n)* \"+@string = \" ($printable # [\"\\] | @escape_str | $esc_char | \n)* \"  -- Identifiers @identifier = $alpha ($alpha | $digit | _ | ! | ')*
src/Language/ATS/Parser.y view
@@ -153,7 +153,7 @@     atbrace { Operator $$ "@{" }     mod { Keyword $$ KwMod }     fixAt { Keyword $$ KwFixAt }-    lamAt { Keyword $$ KwLambdaAt }+    lambdaAt { Keyword $$ KwLambdaAt }  %% @@ -524,6 +524,7 @@             | var Pattern eq PreExpression { Var Nothing $2 (Just $4) Nothing }             | var Pattern signature Type { Var (Just $4) $2 Nothing Nothing }             | var Pattern eq fixAt identifier openParen Args closeParen signature Type plainArrow Expression { Var Nothing $2 (Just $ FixAt (PreF (Unqualified $5) $9 [] [] $7 $10 Nothing (Just $12))) Nothing }+            | var Pattern eq lambdaAt openParen Args closeParen signature Type plainArrow Expression { Var Nothing $2 (Just $ LambdaAt (PreF (Unnamed $4) $8 [] [] $6 $9 Nothing (Just $11))) Nothing }             | prval Pattern eq PreExpression { PrVal $2 $4 }             | praxi PreFunction { Func $1 (Praxi $2) }             | primplmnt Implementation { ProofImpl $2 }
src/Language/ATS/PrettyPrint.hs view
@@ -79,6 +79,7 @@     pretty (Qualified _ i n) = "$" <> string n <> "." <> string i     pretty (SpecialName _ s) = "$" <> string s     pretty (Functorial s s') = string s <> "$" <> string s'+    pretty Unnamed{}         = mempty  instance Pretty LambdaType where     pretty Plain{}    = "=>"@@ -135,7 +136,7 @@         a (LinearLambdaF _ lt p e)      = "llam" <+> pretty p <+> pretty lt <+> e         a (FloatLitF f)                 = pretty f         a (StringLitF s)                = string s-        a (BinListF op@Add es)                    = prettyBinary (pretty op) es+        a (BinListF op@Add es)          = prettyBinary (pretty op) es         a (BinaryF op e e')             | splits op = e </> pretty op <+> e'             | otherwise = e <+> pretty op <+> e'@@ -180,6 +181,7 @@             | not (startsParens e) = linebreak <> indent 2 ("begin" <$> indent 2 e <$> "end")             | otherwise = e         a (FixAtF (PreF n s [] [] as t Nothing (Just e))) = "fix@" <+> pretty n <+> prettyArgs as <+> pretty s <> ":" <+> pretty t <+> "=>" </> pretty e+        a (LambdaAtF (PreF Unnamed{} s [] [] as t Nothing (Just e))) = "lam@" <+> prettyArgs as <+> pretty s <> ":" <+> pretty t <+> "=>" </> pretty e         a _ = "FIXME"         prettyCases []           = mempty         prettyCases [(s, t)]     = "|" <+> pretty s <+> "=>" <+> t
src/Language/ATS/Types.hs view
@@ -133,6 +133,7 @@           | Qualified AlexPosn String String           | SpecialName AlexPosn String           | Functorial String String+          | Unnamed AlexPosn           deriving (Show, Eq, Generic, NFData)  -- | A data type for patterns.@@ -242,6 +243,7 @@                 | BinList { _op :: BinOp, _exprs :: [Expression] }                 | PrecedeList { _exprs :: [Expression] }                 | FixAt PreFunction+                | LambdaAt PreFunction                 deriving (Show, Eq, Generic, NFData)  -- | An 'implement' declaration