packages feed

language-ats 1.7.7.2 → 1.7.8.0

raw patch · 11 files changed

+563/−13 lines, 11 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Language.ATS: HexUintLit :: String -> Expression a
+ Language.ATS: HexUintTok :: AlexPosn -> String -> Token

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # language-ats +# 1.7.8.0++  * Add support for unsigned hexadecimal literals+ ## 1.7.7.2    * Fix error when parsing `absvt@ype` declarations
language-ats.cabal view
@@ -1,6 +1,6 @@ cabal-version:   1.18 name:            language-ats-version:         1.7.7.2+version:         1.7.8.0 license:         BSD3 license-file:    LICENSE copyright:       Copyright: (c) 2018-2019 Vanessa McHale
src/Language/ATS/Lexer.x view
@@ -280,6 +280,7 @@     <0> @unsigned_lit            { tok (\p s -> alex $ UintTok p (read $ init s)) }     <0> @integer                 { tok (\p s -> alex $ IntTok p (read s)) } -- FIXME shouldn't fail silenty on overflow     <0> "0x" $hex+               { tok (\p s -> alex $ HexIntTok p (drop 2 s)) }+    <0> "0x" $hex+ u             { tok (\p s -> alex $ HexUintTok p (drop 2 (init s))) }     <0> @float                   { tok (\p s -> alex $ FloatTok p (read s)) }     <0> @char_lit                { tok (\p s -> alex $ CharTok p (toChar s)) }     <0> @string                  { tok (\p s -> alex $ StringTok p s) }@@ -431,6 +432,7 @@            | Keyword AlexPosn Keyword            | IntTok AlexPosn Integer            | HexIntTok AlexPosn String+           | HexUintTok AlexPosn String            | FloatTok AlexPosn Float            | CharTok AlexPosn Char            | StringTok AlexPosn String@@ -561,6 +563,7 @@     pretty (Keyword _ kw) = pretty kw     pretty (IntTok _ i) = pretty i     pretty (HexIntTok _ hi) = "0x" <> text hi+    pretty (HexUintTok _ hi) = "0x" <> text hi <> "u"     pretty (FloatTok _ x) = pretty x     pretty (CharTok _ c) = squotes (pretty c)     pretty (StringTok _ s) = text s@@ -617,6 +620,7 @@ token_posn (CommentBegin p) = p token_posn (CommentEnd p) = p token_posn (HexIntTok p _) = p+token_posn (HexUintTok p _) = p token_posn End = undefined  toChar :: String -> Char
src/Language/ATS/Parser.y view
@@ -151,6 +151,7 @@     uintLit { UintTok _ $$ }     intLit { IntTok _ $$ }     hexLit { HexIntTok _ $$ }+    hexULit { HexUintTok _ $$ }     floatLit { FloatTok _ $$ }     specialIdentifier { $$@SpecialIdentifier{} }     foldAt { Identifier $$ "fold@" }@@ -347,6 +348,7 @@         : uintLit { UintLit $1 }         | intLit { IntLit $1 }         | hexLit { HexLit $1 }+        | hexULit { HexUintLit $1 }         | floatLit { FloatLit $1 }         | string { StringLit $1 }         | charLit { CharLit $1 }
src/Language/ATS/PrettyPrint.hs view
@@ -136,6 +136,7 @@         a (UintLitF u)                  = pretty (fromIntegral u :: Integer) <> "u"         a (IntLitF i)                   = pretty i         a (HexLitF hi)                  = "0x" <> text hi+        a (HexUintLitF hi)              = "0x" <> text hi <> "u"         a (LambdaF _ lt p e)            = prettyLam "lam" p lt e         a (LinearLambdaF _ lt p e)      = prettyLam "llam" p lt e         a (FloatLitF f)                 = pretty f
src/Language/ATS/Types.hs view
@@ -363,6 +363,7 @@                   | FloatLit Float                   | IntLit Integer                   | HexLit String+                  | HexUintLit String                   | UnderscoreLit a                   | Lambda a (LambdaType a) (Pattern a) (Expression a) -- TODO: Fix                   | LinearLambda a (LambdaType a) (Pattern a) (Expression a)@@ -416,6 +417,7 @@                      | FloatLitF Float                      | IntLitF Integer                      | HexLitF String+                     | HexUintLitF String                      | UnderscoreLitF a                      | LambdaF a (LambdaType a) (Pattern a) x                      | LinearLambdaF a (LambdaType a) (Pattern a) x
+ test/data/array.dats view
@@ -0,0 +1,258 @@+// TODO: uint32?+val crc32_table = $arrpsz{uint}( 0x00000000u+                               , 0x77073096u+                               , 0xEE0E612Cu+                               , 0x990951BAu+                               , 0x076DC419u+                               , 0x706AF48Fu+                               , 0xE963A535u+                               , 0x9E6495A3u+                               , 0x0EDB8832u+                               , 0x79DCB8A4u+                               , 0xE0D5E91Eu+                               , 0x97D2D988u+                               , 0x09B64C2Bu+                               , 0x7EB17CBDu+                               , 0xE7B82D07u+                               , 0x90BF1D91u+                               , 0x1DB71064u+                               , 0x6AB020F2u+                               , 0xF3B97148u+                               , 0x84BE41DEu+                               , 0x1ADAD47Du+                               , 0x6DDDE4EBu+                               , 0xF4D4B551u+                               , 0x83D385C7u+                               , 0x136C9856u+                               , 0x646BA8C0u+                               , 0xFD62F97Au+                               , 0x8A65C9ECu+                               , 0x14015C4Fu+                               , 0x63066CD9u+                               , 0xFA0F3D63u+                               , 0x8D080DF5u+                               , 0x3B6E20C8u+                               , 0x4C69105Eu+                               , 0xD56041E4u+                               , 0xA2677172u+                               , 0x3C03E4D1u+                               , 0x4B04D447u+                               , 0xD20D85FDu+                               , 0xA50AB56Bu+                               , 0x35B5A8FAu+                               , 0x42B2986Cu+                               , 0xDBBBC9D6u+                               , 0xACBCF940u+                               , 0x32D86CE3u+                               , 0x45DF5C75u+                               , 0xDCD60DCFu+                               , 0xABD13D59u+                               , 0x26D930ACu+                               , 0x51DE003Au+                               , 0xC8D75180u+                               , 0xBFD06116u+                               , 0x21B4F4B5u+                               , 0x56B3C423u+                               , 0xCFBA9599u+                               , 0xB8BDA50Fu+                               , 0x2802B89Eu+                               , 0x5F058808u+                               , 0xC60CD9B2u+                               , 0xB10BE924u+                               , 0x2F6F7C87u+                               , 0x58684C11u+                               , 0xC1611DABu+                               , 0xB6662D3Du+                               , 0x76DC4190u+                               , 0x01DB7106u+                               , 0x98D220BCu+                               , 0xEFD5102Au+                               , 0x71B18589u+                               , 0x06B6B51Fu+                               , 0x9FBFE4A5u+                               , 0xE8B8D433u+                               , 0x7807C9A2u+                               , 0x0F00F934u+                               , 0x9609A88Eu+                               , 0xE10E9818u+                               , 0x7F6A0DBBu+                               , 0x086D3D2Du+                               , 0x91646C97u+                               , 0xE6635C01u+                               , 0x6B6B51F4u+                               , 0x1C6C6162u+                               , 0x856530D8u+                               , 0xF262004Eu+                               , 0x6C0695EDu+                               , 0x1B01A57Bu+                               , 0x8208F4C1u+                               , 0xF50FC457u+                               , 0x65B0D9C6u+                               , 0x12B7E950u+                               , 0x8BBEB8EAu+                               , 0xFCB9887Cu+                               , 0x62DD1DDFu+                               , 0x15DA2D49u+                               , 0x8CD37CF3u+                               , 0xFBD44C65u+                               , 0x4DB26158u+                               , 0x3AB551CEu+                               , 0xA3BC0074u+                               , 0xD4BB30E2u+                               , 0x4ADFA541u+                               , 0x3DD895D7u+                               , 0xA4D1C46Du+                               , 0xD3D6F4FBu+                               , 0x4369E96Au+                               , 0x346ED9FCu+                               , 0xAD678846u+                               , 0xDA60B8D0u+                               , 0x44042D73u+                               , 0x33031DE5u+                               , 0xAA0A4C5Fu+                               , 0xDD0D7CC9u+                               , 0x5005713Cu+                               , 0x270241AAu+                               , 0xBE0B1010u+                               , 0xC90C2086u+                               , 0x5768B525u+                               , 0x206F85B3u+                               , 0xB966D409u+                               , 0xCE61E49Fu+                               , 0x5EDEF90Eu+                               , 0x29D9C998u+                               , 0xB0D09822u+                               , 0xC7D7A8B4u+                               , 0x59B33D17u+                               , 0x2EB40D81u+                               , 0xB7BD5C3Bu+                               , 0xC0BA6CADu+                               , 0xEDB88320u+                               , 0x9ABFB3B6u+                               , 0x03B6E20Cu+                               , 0x74B1D29Au+                               , 0xEAD54739u+                               , 0x9DD277AFu+                               , 0x04DB2615u+                               , 0x73DC1683u+                               , 0xE3630B12u+                               , 0x94643B84u+                               , 0x0D6D6A3Eu+                               , 0x7A6A5AA8u+                               , 0xE40ECF0Bu+                               , 0x9309FF9Du+                               , 0x0A00AE27u+                               , 0x7D079EB1u+                               , 0xF00F9344u+                               , 0x8708A3D2u+                               , 0x1E01F268u+                               , 0x6906C2FEu+                               , 0xF762575Du+                               , 0x806567CBu+                               , 0x196C3671u+                               , 0x6E6B06E7u+                               , 0xFED41B76u+                               , 0x89D32BE0u+                               , 0x10DA7A5Au+                               , 0x67DD4ACCu+                               , 0xF9B9DF6Fu+                               , 0x8EBEEFF9u+                               , 0x17B7BE43u+                               , 0x60B08ED5u+                               , 0xD6D6A3E8u+                               , 0xA1D1937Eu+                               , 0x38D8C2C4u+                               , 0x4FDFF252u+                               , 0xD1BB67F1u+                               , 0xA6BC5767u+                               , 0x3FB506DDu+                               , 0x48B2364Bu+                               , 0xD80D2BDAu+                               , 0xAF0A1B4Cu+                               , 0x36034AF6u+                               , 0x41047A60u+                               , 0xDF60EFC3u+                               , 0xA867DF55u+                               , 0x316E8EEFu+                               , 0x4669BE79u+                               , 0xCB61B38Cu+                               , 0xBC66831Au+                               , 0x256FD2A0u+                               , 0x5268E236u+                               , 0xCC0C7795u+                               , 0xBB0B4703u+                               , 0x220216B9u+                               , 0x5505262Fu+                               , 0xC5BA3BBEu+                               , 0xB2BD0B28u+                               , 0x2BB45A92u+                               , 0x5CB36A04u+                               , 0xC2D7FFA7u+                               , 0xB5D0CF31u+                               , 0x2CD99E8Bu+                               , 0x5BDEAE1Du+                               , 0x9B64C2B0u+                               , 0xEC63F226u+                               , 0x756AA39Cu+                               , 0x026D930Au+                               , 0x9C0906A9u+                               , 0xEB0E363Fu+                               , 0x72076785u+                               , 0x05005713u+                               , 0x95BF4A82u+                               , 0xE2B87A14u+                               , 0x7BB12BAEu+                               , 0x0CB61B38u+                               , 0x92D28E9Bu+                               , 0xE5D5BE0Du+                               , 0x7CDCEFB7u+                               , 0x0BDBDF21u+                               , 0x86D3D2D4u+                               , 0xF1D4E242u+                               , 0x68DDB3F8u+                               , 0x1FDA836Eu+                               , 0x81BE16CDu+                               , 0xF6B9265Bu+                               , 0x6FB077E1u+                               , 0x18B74777u+                               , 0x88085AE6u+                               , 0xFF0F6A70u+                               , 0x66063BCAu+                               , 0x11010B5Cu+                               , 0x8F659EFFu+                               , 0xF862AE69u+                               , 0x616BFFD3u+                               , 0x166CCF45u+                               , 0xA00AE278u+                               , 0xD70DD2EEu+                               , 0x4E048354u+                               , 0x3903B3C2u+                               , 0xA7672661u+                               , 0xD06016F7u+                               , 0x4969474Du+                               , 0x3E6E77DBu+                               , 0xAED16A4Au+                               , 0xD9D65ADCu+                               , 0x40DF0B66u+                               , 0x37D83BF0u+                               , 0xA9BCAE53u+                               , 0xDEBB9EC5u+                               , 0x47B2CF7Fu+                               , 0x30B5FFE9u+                               , 0xBDBDF21Cu+                               , 0xCABAC28Au+                               , 0x53B39330u+                               , 0x24B4A3A6u+                               , 0xBAD03605u+                               , 0xCDD70693u+                               , 0x54DE5729u+                               , 0x23D967BFu+                               , 0xB3667A2Eu+                               , 0xC4614AB8u+                               , 0x5D681B02u+                               , 0x2A6F2B94u+                               , 0xB40BBE37u+                               , 0xC30C8EA1u+                               , 0x5A05DF1Bu+                               , 0x2D02EF8Du+                               )
+ test/data/array.out view
@@ -0,0 +1,258 @@+// TODO: uint32?+val crc32_table = $arrpsz{uint}( 0x00000000u+                               , 0x77073096u+                               , 0xEE0E612Cu+                               , 0x990951BAu+                               , 0x076DC419u+                               , 0x706AF48Fu+                               , 0xE963A535u+                               , 0x9E6495A3u+                               , 0x0EDB8832u+                               , 0x79DCB8A4u+                               , 0xE0D5E91Eu+                               , 0x97D2D988u+                               , 0x09B64C2Bu+                               , 0x7EB17CBDu+                               , 0xE7B82D07u+                               , 0x90BF1D91u+                               , 0x1DB71064u+                               , 0x6AB020F2u+                               , 0xF3B97148u+                               , 0x84BE41DEu+                               , 0x1ADAD47Du+                               , 0x6DDDE4EBu+                               , 0xF4D4B551u+                               , 0x83D385C7u+                               , 0x136C9856u+                               , 0x646BA8C0u+                               , 0xFD62F97Au+                               , 0x8A65C9ECu+                               , 0x14015C4Fu+                               , 0x63066CD9u+                               , 0xFA0F3D63u+                               , 0x8D080DF5u+                               , 0x3B6E20C8u+                               , 0x4C69105Eu+                               , 0xD56041E4u+                               , 0xA2677172u+                               , 0x3C03E4D1u+                               , 0x4B04D447u+                               , 0xD20D85FDu+                               , 0xA50AB56Bu+                               , 0x35B5A8FAu+                               , 0x42B2986Cu+                               , 0xDBBBC9D6u+                               , 0xACBCF940u+                               , 0x32D86CE3u+                               , 0x45DF5C75u+                               , 0xDCD60DCFu+                               , 0xABD13D59u+                               , 0x26D930ACu+                               , 0x51DE003Au+                               , 0xC8D75180u+                               , 0xBFD06116u+                               , 0x21B4F4B5u+                               , 0x56B3C423u+                               , 0xCFBA9599u+                               , 0xB8BDA50Fu+                               , 0x2802B89Eu+                               , 0x5F058808u+                               , 0xC60CD9B2u+                               , 0xB10BE924u+                               , 0x2F6F7C87u+                               , 0x58684C11u+                               , 0xC1611DABu+                               , 0xB6662D3Du+                               , 0x76DC4190u+                               , 0x01DB7106u+                               , 0x98D220BCu+                               , 0xEFD5102Au+                               , 0x71B18589u+                               , 0x06B6B51Fu+                               , 0x9FBFE4A5u+                               , 0xE8B8D433u+                               , 0x7807C9A2u+                               , 0x0F00F934u+                               , 0x9609A88Eu+                               , 0xE10E9818u+                               , 0x7F6A0DBBu+                               , 0x086D3D2Du+                               , 0x91646C97u+                               , 0xE6635C01u+                               , 0x6B6B51F4u+                               , 0x1C6C6162u+                               , 0x856530D8u+                               , 0xF262004Eu+                               , 0x6C0695EDu+                               , 0x1B01A57Bu+                               , 0x8208F4C1u+                               , 0xF50FC457u+                               , 0x65B0D9C6u+                               , 0x12B7E950u+                               , 0x8BBEB8EAu+                               , 0xFCB9887Cu+                               , 0x62DD1DDFu+                               , 0x15DA2D49u+                               , 0x8CD37CF3u+                               , 0xFBD44C65u+                               , 0x4DB26158u+                               , 0x3AB551CEu+                               , 0xA3BC0074u+                               , 0xD4BB30E2u+                               , 0x4ADFA541u+                               , 0x3DD895D7u+                               , 0xA4D1C46Du+                               , 0xD3D6F4FBu+                               , 0x4369E96Au+                               , 0x346ED9FCu+                               , 0xAD678846u+                               , 0xDA60B8D0u+                               , 0x44042D73u+                               , 0x33031DE5u+                               , 0xAA0A4C5Fu+                               , 0xDD0D7CC9u+                               , 0x5005713Cu+                               , 0x270241AAu+                               , 0xBE0B1010u+                               , 0xC90C2086u+                               , 0x5768B525u+                               , 0x206F85B3u+                               , 0xB966D409u+                               , 0xCE61E49Fu+                               , 0x5EDEF90Eu+                               , 0x29D9C998u+                               , 0xB0D09822u+                               , 0xC7D7A8B4u+                               , 0x59B33D17u+                               , 0x2EB40D81u+                               , 0xB7BD5C3Bu+                               , 0xC0BA6CADu+                               , 0xEDB88320u+                               , 0x9ABFB3B6u+                               , 0x03B6E20Cu+                               , 0x74B1D29Au+                               , 0xEAD54739u+                               , 0x9DD277AFu+                               , 0x04DB2615u+                               , 0x73DC1683u+                               , 0xE3630B12u+                               , 0x94643B84u+                               , 0x0D6D6A3Eu+                               , 0x7A6A5AA8u+                               , 0xE40ECF0Bu+                               , 0x9309FF9Du+                               , 0x0A00AE27u+                               , 0x7D079EB1u+                               , 0xF00F9344u+                               , 0x8708A3D2u+                               , 0x1E01F268u+                               , 0x6906C2FEu+                               , 0xF762575Du+                               , 0x806567CBu+                               , 0x196C3671u+                               , 0x6E6B06E7u+                               , 0xFED41B76u+                               , 0x89D32BE0u+                               , 0x10DA7A5Au+                               , 0x67DD4ACCu+                               , 0xF9B9DF6Fu+                               , 0x8EBEEFF9u+                               , 0x17B7BE43u+                               , 0x60B08ED5u+                               , 0xD6D6A3E8u+                               , 0xA1D1937Eu+                               , 0x38D8C2C4u+                               , 0x4FDFF252u+                               , 0xD1BB67F1u+                               , 0xA6BC5767u+                               , 0x3FB506DDu+                               , 0x48B2364Bu+                               , 0xD80D2BDAu+                               , 0xAF0A1B4Cu+                               , 0x36034AF6u+                               , 0x41047A60u+                               , 0xDF60EFC3u+                               , 0xA867DF55u+                               , 0x316E8EEFu+                               , 0x4669BE79u+                               , 0xCB61B38Cu+                               , 0xBC66831Au+                               , 0x256FD2A0u+                               , 0x5268E236u+                               , 0xCC0C7795u+                               , 0xBB0B4703u+                               , 0x220216B9u+                               , 0x5505262Fu+                               , 0xC5BA3BBEu+                               , 0xB2BD0B28u+                               , 0x2BB45A92u+                               , 0x5CB36A04u+                               , 0xC2D7FFA7u+                               , 0xB5D0CF31u+                               , 0x2CD99E8Bu+                               , 0x5BDEAE1Du+                               , 0x9B64C2B0u+                               , 0xEC63F226u+                               , 0x756AA39Cu+                               , 0x026D930Au+                               , 0x9C0906A9u+                               , 0xEB0E363Fu+                               , 0x72076785u+                               , 0x05005713u+                               , 0x95BF4A82u+                               , 0xE2B87A14u+                               , 0x7BB12BAEu+                               , 0x0CB61B38u+                               , 0x92D28E9Bu+                               , 0xE5D5BE0Du+                               , 0x7CDCEFB7u+                               , 0x0BDBDF21u+                               , 0x86D3D2D4u+                               , 0xF1D4E242u+                               , 0x68DDB3F8u+                               , 0x1FDA836Eu+                               , 0x81BE16CDu+                               , 0xF6B9265Bu+                               , 0x6FB077E1u+                               , 0x18B74777u+                               , 0x88085AE6u+                               , 0xFF0F6A70u+                               , 0x66063BCAu+                               , 0x11010B5Cu+                               , 0x8F659EFFu+                               , 0xF862AE69u+                               , 0x616BFFD3u+                               , 0x166CCF45u+                               , 0xA00AE278u+                               , 0xD70DD2EEu+                               , 0x4E048354u+                               , 0x3903B3C2u+                               , 0xA7672661u+                               , 0xD06016F7u+                               , 0x4969474Du+                               , 0x3E6E77DBu+                               , 0xAED16A4Au+                               , 0xD9D65ADCu+                               , 0x40DF0B66u+                               , 0x37D83BF0u+                               , 0xA9BCAE53u+                               , 0xDEBB9EC5u+                               , 0x47B2CF7Fu+                               , 0x30B5FFE9u+                               , 0xBDBDF21Cu+                               , 0xCABAC28Au+                               , 0x53B39330u+                               , 0x24B4A3A6u+                               , 0xBAD03605u+                               , 0xCDD70693u+                               , 0x54DE5729u+                               , 0x23D967BFu+                               , 0xB3667A2Eu+                               , 0xC4614AB8u+                               , 0x5D681B02u+                               , 0x2A6F2B94u+                               , 0xB40BBE37u+                               , 0xC30C8EA1u+                               , 0x5A05DF1Bu+                               , 0x2D02EF8Du+                               )
+ test/data/futhark-types.out view
@@ -0,0 +1,17 @@+// Futhark types+// TODO: absvt@ype+absvtype fut_ctx_cfg+absvtype fut_ctx+absvtype f32_arr_1d+absvtype f64_arr_1d++// OpenCL types+absvtype cl_cmd_queue = $extype "cl_command_queue"+absvtype cl_mem = $extype "cl_mem"++// Pointer synonyms+vtypedef futctxcfgptr = [l:addr] (fut_ctx_cfg @ l | ptr(l))+vtypedef futctxptr = [l:addr] (fut_ctx @ l | ptr(l))+vtypedef clcmdqptr = [l:addr] (cl_cmd_queue @ l | ptr(l))++absvt@ype f32_arrptr
+ test/data/futhark-types.sats view
@@ -0,0 +1,16 @@+// Futhark types+// TODO: absvt@ype+absvtype fut_ctx_cfg+absvtype fut_ctx+absvtype f32_arr_1d+absvtype f64_arr_1d++// OpenCL types+absvtype cl_cmd_queue = $extype "cl_command_queue"+absvtype cl_mem = $extype "cl_mem"++// Pointer synonyms+vtypedef futctxcfgptr = [l:addr] (fut_ctx_cfg @ l | ptr(l))+vtypedef futctxptr = [l:addr] (fut_ctx @ l | ptr(l))+vtypedef clcmdqptr = [l:addr] (cl_cmd_queue @ l | ptr(l))+absvt@ype f32_arrptr
− test/data/stack.sats
@@ -1,12 +0,0 @@-absprop gc_ptr(l:addr, a:t@ype)--typedef stack_t(a: t@ype+) = $extype "struct stack_t"--fun new {a:t@ype+}(&stack_t(a)? >> stack_t(a)) : void =-  "ext#"--fun {a:t@ype+} push(&stack_t(a) >> stack_t(a), a) : void =-  "ext#"--fun {a:t@ype+} pop(&stack_t(a) >> stack_t(a)) : Option(a) =-  "ext#"