colorless 2.2.12 → 2.2.13
raw patch · 7 files changed
+25/−25 lines, 7 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Colorless.Ast: Ast'Begin :: Begin -> Ast
- Colorless.Ast: Begin :: [Ast] -> Begin
- Colorless.Ast: data Begin
- Colorless.Ast: instance Data.Aeson.Types.FromJSON.FromJSON Colorless.Ast.Begin
- Colorless.Ast: instance Data.Aeson.Types.ToJSON.ToJSON Colorless.Ast.Begin
- Colorless.Ast: instance GHC.Classes.Eq Colorless.Ast.Begin
- Colorless.Ast: instance GHC.Show.Show Colorless.Ast.Begin
- Colorless.Client.Expr: begin :: HasType a => Stmt (Expr a) -> Expr a
- Colorless.Server.Expr: Begin :: [Expr m] -> Begin m
- Colorless.Server.Expr: Expr'Begin :: (Begin m) -> Expr m
- Colorless.Server.Expr: data Begin m
- Colorless.Server.Expr: instance GHC.Classes.Eq (Colorless.Server.Expr.Begin m)
- Colorless.Server.Expr: instance GHC.Show.Show (Colorless.Server.Expr.Begin m)
+ Colorless.Ast: Ast'Do :: Do -> Ast
+ Colorless.Ast: Do :: [Ast] -> Do
+ Colorless.Ast: data Do
+ Colorless.Ast: instance Data.Aeson.Types.FromJSON.FromJSON Colorless.Ast.Do
+ Colorless.Ast: instance Data.Aeson.Types.ToJSON.ToJSON Colorless.Ast.Do
+ Colorless.Ast: instance GHC.Classes.Eq Colorless.Ast.Do
+ Colorless.Ast: instance GHC.Show.Show Colorless.Ast.Do
+ Colorless.Client.Expr: dO :: HasType a => Stmt (Expr a) -> Expr a
+ Colorless.Server.Expr: Do :: [Expr m] -> Do m
+ Colorless.Server.Expr: Expr'Do :: (Do m) -> Expr m
+ Colorless.Server.Expr: data Do m
+ Colorless.Server.Expr: instance GHC.Classes.Eq (Colorless.Server.Expr.Do m)
+ Colorless.Server.Expr: instance GHC.Show.Show (Colorless.Server.Expr.Do m)
Files
- colorless.cabal +1/−1
- library/Colorless/Ast.hs +9/−9
- library/Colorless/Client/Expr.hs +3/−3
- library/Colorless/Server/Expr.hs +7/−7
- package.yaml +1/−1
- tests/AstSpec.hs +3/−3
- tests/ClientSpec.hs +1/−1
colorless.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: colorless-version: 2.2.12+version: 2.2.13 synopsis: Colorless description: Colorless category: Web
library/Colorless/Ast.hs view
@@ -9,7 +9,7 @@ , Lambda(..) , List(..) , Tuple(..)- , Begin(..)+ , Do(..) , FnCall(..) , Enumeral(..) , Struct(..)@@ -43,7 +43,7 @@ | Ast'Lambda Lambda | Ast'List List | Ast'Tuple Tuple- | Ast'Begin Begin+ | Ast'Do Do | Ast'FnCall FnCall | Ast'WrapCall WrapCall | Ast'StructCall StructCall@@ -250,7 +250,7 @@ <|> (Ast'Lambda <$> parseJSON v) <|> (Ast'List <$> parseJSON v) <|> (Ast'Tuple <$> parseJSON v)- <|> (Ast'Begin <$> parseJSON v)+ <|> (Ast'Do <$> parseJSON v) <|> (Ast'FnCall <$> parseJSON v) <|> (Ast'EnumerationCall <$> parseJSON v) <|> (Ast'WrapCall <$> parseJSON v)@@ -269,7 +269,7 @@ Ast'Lambda a -> toJSON a Ast'List a -> toJSON a Ast'Tuple a -> toJSON a- Ast'Begin a -> toJSON a+ Ast'Do a -> toJSON a Ast'FnCall a -> toJSON a Ast'EnumerationCall a -> toJSON a Ast'WrapCall a -> toJSON a@@ -380,18 +380,18 @@ instance ToJSON Tuple where toJSON Tuple{tuple} = toJSON $ "tuple" : map toJSON tuple -data Begin = Begin+data Do = Do { vals :: [Ast] } deriving (Show, Eq) -instance FromJSON Begin where+instance FromJSON Do where parseJSON (Array arr) = case V.toList arr of- "begin":xs -> Begin <$> mapM parseJSON xs+ "do":xs -> Do <$> mapM parseJSON xs _ -> mzero parseJSON _ = mzero -instance ToJSON Begin where- toJSON Begin{vals} = toJSON $ "begin" : map toJSON vals+instance ToJSON Do where+ toJSON Do{vals} = toJSON $ "do" : map toJSON vals data FnCall = FnCall { fn :: Ast
library/Colorless/Client/Expr.hs view
@@ -12,7 +12,7 @@ , (<:>) , (<:) --- , begin+ , dO , def , defn , defnRec@@ -276,8 +276,8 @@ stmt :: HasType a => Expr a -> Stmt (Expr a) stmt expr = Stmt [toAst expr] expr -begin :: HasType a => Stmt (Expr a) -> Expr a-begin (Stmt s _) = Expr (Ast'Begin $ Ast.Begin s)+dO :: HasType a => Stmt (Expr a) -> Expr a+dO (Stmt s _) = Expr (Ast'Do $ Ast.Do s) --
library/Colorless/Server/Expr.hs view
@@ -13,7 +13,7 @@ , Lambda(..) , Fn(..) , List(..)- , Begin(..)+ , Do(..) , FnCall(..) , ApiUnCall(..) , HollowUnCall(..)@@ -94,7 +94,7 @@ | Expr'Tuple (Tuple m) | Expr'Fn (Fn m) | Expr'FnCall (FnCall m)- | Expr'Begin (Begin m)+ | Expr'Do (Do m) | Expr'ApiUnCall (ApiUnCall m) deriving (Show, Eq) @@ -159,7 +159,7 @@ { tuple :: [Expr m] } deriving (Show, Eq) -data Begin m = Begin+data Do m = Do { exprs :: [Expr m] } deriving (Show, Eq) @@ -219,7 +219,7 @@ Ast'Lambda Ast.Lambda{args,expr} -> Expr'Lambda $ Lambda args (fromAst expr) Ast'List Ast.List{list} -> Expr'List $ List $ map fromAst list Ast'Tuple Ast.Tuple{tuple} -> Expr'Tuple $ Tuple $ map fromAst tuple- Ast'Begin Ast.Begin{vals} -> Expr'Begin $ Begin $ map fromAst vals+ Ast'Do Ast.Do{vals} -> Expr'Do $ Do $ map fromAst vals Ast'FnCall Ast.FnCall{fn,args} -> Expr'FnCall $ FnCall (fromAst fn) (map fromAst args) Ast'WrapCall Ast.WrapCall{n,w} -> Expr'ApiUnCall $ ApiUnCall'WrapUnCall $ WrapUnCall n (fromAst w) Ast'HollowCall Ast.HollowCall{n} -> Expr'ApiUnCall $ ApiUnCall'HollowUnCall $ HollowUnCall n@@ -269,7 +269,7 @@ Expr'List list -> evalList list envRef Expr'Tuple tuple -> evalTuple tuple envRef Expr'FnCall call -> evalFnCall call envRef- Expr'Begin begin -> evalBegin begin envRef+ Expr'Do dO -> evalDo dO envRef Expr'ApiUnCall apiUnCall -> evalApiUnCall apiUnCall envRef forceVal :: (RuntimeThrower m) => Expr m -> Eval m Val@@ -374,8 +374,8 @@ tuple' <- mapM (\item -> eval item envRef) tuple return . Expr'Tuple $ Tuple tuple' -evalBegin :: (MonadIO m, RuntimeThrower m) => Begin m -> IORef (Env m) -> Eval m (Expr m)-evalBegin Begin{exprs} envRef = case exprs of+evalDo :: (MonadIO m, RuntimeThrower m) => Do m -> IORef (Env m) -> Eval m (Expr m)+evalDo Do{exprs} envRef = case exprs of [] -> return $ Expr'Val $ Val'Const $ Const'Null _ -> last <$> mapM (\expr -> eval expr envRef) exprs
package.yaml view
@@ -1,5 +1,5 @@ name: colorless-version: '2.2.12'+version: '2.2.13' category: Web synopsis: Colorless description: Colorless
tests/AstSpec.hs view
@@ -78,10 +78,10 @@ (parseAst $ toJSON [ "tuple", String "hello", String "world" ]) (Just $ Ast'Tuple $ Tuple [Ast'Const $ Const'String "hello", Ast'Const $ Const'String "world"]) - context "Begin" $ do+ context "Do" $ do it "simple" $ shouldBe- (parseAst $ Array $ V.fromList ["begin", Bool True])- (Just $ Ast'Begin $ Begin [Ast'Const $ Const'Bool True])+ (parseAst $ Array $ V.fromList ["do", Bool True])+ (Just $ Ast'Do $ Do [Ast'Const $ Const'Bool True]) context "FnCall" $ do it "simple" $ shouldBe
tests/ClientSpec.hs view
@@ -6,7 +6,7 @@ import Colorless.Client _helloWorld :: Expr (Int32, Int32)-_helloWorld = begin $ do+_helloWorld = dO $ do x <- def "x" (i32 0) f <- defn "f" (fn2 "a" "b" add) stmt $ tuple2 x (f -< (x, i32 10))