packages feed

lang 0.2 → 0.2.1

raw patch · 3 files changed

+31/−9 lines, 3 files

Files

Lang.hs view
@@ -36,8 +36,13 @@         _ -> case 讀 l of             Just (x, "") -> do                 let it = 算 x e-                putStrLn (示 it)-                return (e, it)+                case it of+                    W誤 _ -> do+                        putStrLn "ERROR"+                        return (e, it)+                    _ -> do+                        putStrLn (示 it)+                        return (e, it)             _ -> do                 parseError                 return _s
Lang/Read.hs view
@@ -73,7 +73,20 @@ r _ _ = Nothing  r映 :: Reader W物-r映 = error "WIP"+r映 m rs = do+    '(':rs <- return rs+    (x, rs) <- r甲 MappingNil m rs+    return (W映 (Y物映 x), rs)+  where+    r甲 :: Mapping W物 W物 -> Reader (Mapping W物 W物)+    r甲 物 m ('(':rs) = do+        (k, rs) <- r m rs+        (_, rs) <- r空 m rs+        (v, ')':rs) <- r m rs+        (_, rs) <- r空 m rs+        r甲 (mappingSet 物 k v) m rs+    r甲 物 m (')':rs) = return (物, rs)+    r甲 物 m _ = Nothing  r周 :: Reader W物 r周 m xs = let (b, as, bs) = r甲 xs in@@ -95,9 +108,6 @@     r甲 (x:xs) = let (b, as, bs) = r甲 xs in (b, x:as, bs)     r甲 "" = (False, "", "") -r式 :: Reader String-r式 m ('名':'(':xs) = error "WIP"- r機 :: (X形 -> W物 -> a) -> Reader a r機 re m rs = do     '(':rs <- return rs@@ -114,7 +124,14 @@     rs a (' ':xs) = rs (' ':a) xs  r物列 :: Reader (List W物)-r物列 = error "WIP"+r物列 m (')':xs) = pure ([], xs)+r物列 m (' ':xs) = r物列 m xs+r物列 m rs = r m rs >>= \(x, rs) -> r物列 m rs >?= \(xs, rs) -> (x:xs, rs)  r首尾 :: Reader W物-r首尾 = error "WIP"+r首尾 m (')':xs) = pure (空, xs)+r首尾 m (' ':'-':' ':rs) = do+    (x, ')':rs) <- r m rs+    return (x, rs)+r首尾 m (' ':xs) = r首尾 m xs+r首尾 m rs = r m rs >>= \(x, rs) -> r首尾 m rs >?= \(xs, rs) -> (首尾 x xs, rs)
lang.cabal view
@@ -2,7 +2,7 @@ -- see http://haskell.org/cabal/users-guide/  name:                lang-version:             0.2+version:             0.2.1 synopsis:            A Lisp -- description:          homepage:            语.ml