0 | module System.UV.Util
2 | import Data.ByteString
9 | idris_uv : String -> String
10 | idris_uv fn = "C:" ++ fn ++ ",libuv-idris"
13 | boolToInt32 : Bool -> Int32
14 | boolToInt32 False = 0
15 | boolToInt32 True = 1
18 | int32ToBool : Int32 -> Bool
19 | int32ToBool 0 = False
20 | int32ToBool _ = True
26 | ls : SnocList ByteString
29 | -> (SnocList ByteString, ByteString)
32 | MkBreakRes l1 0 b1 _ prf => (sb, BS l1 b1)
33 | MkBreakRes l1 (S l2) b1 b2 prf =>
34 | ls (sb :< BS l1 b1) (assert_smaller n l2) (tail b2)
36 | lss : SnocList ByteString
39 | -> (List ByteString, ByteString)
40 | lss sx x [] = (sx <>> [], x)
41 | lss sx x (BS n bs :: bss) =
43 | MkBreakRes l1 0 b1 _ prf => lss sx (x <+> BS l1 b1) bss
44 | MkBreakRes l1 (S l2) b1 b2 prf =>
45 | let (sx2,x2) := ls (sx :< (x <+> BS l1 b1)) l2 (tail b2)
49 | accumLines : (rem, next : ByteString) -> (List ByteString, ByteString)
50 | accumLines rem bs = lss [<] rem [bs]
56 | -> (List ByteString, ByteString)
57 | accumLinesN = lss [<]