Explicit filesystem permissions required
This commit is contained in:
@@ -227,10 +227,18 @@ toNumber (Fork (Stem Leaf) rest) = case toNumber rest of
|
||||
Left err -> Left err
|
||||
toNumber _ = Left "Invalid Tree Calculus number"
|
||||
|
||||
toChar :: Integer -> Either String Char
|
||||
toChar n
|
||||
| n < 0 = Left "Negative character code"
|
||||
| n > 0x10FFFF = Left "Character code out of Unicode range"
|
||||
| n >= 0xD800 && n <= 0xDFFF = Left "Surrogate character code not allowed"
|
||||
| otherwise = Right (toEnum (fromInteger n))
|
||||
|
||||
toString :: T -> Either String String
|
||||
toString tc = case toList tc of
|
||||
Right list -> traverse (fmap (toEnum . fromInteger) . toNumber) list
|
||||
Left _ -> Left "Invalid Tree Calculus string"
|
||||
toString tc = do
|
||||
list <- toList tc
|
||||
nums <- mapM toNumber list
|
||||
mapM toChar nums
|
||||
|
||||
toList :: T -> Either String [T]
|
||||
toList Leaf = Right []
|
||||
|
||||
Reference in New Issue
Block a user