This enabled the code generated by vectorTH to work with precision.
vectorTH :: (Lift a, Typeable a) => [a] -> ExpQ
-- vectorTH xs = sigE [| (TFVec xs) |] (decTFVecT (toInteger (P.length xs)) xs)
vectorTH [] = [| empty |]
vectorTH :: (Lift a, Typeable a) => [a] -> ExpQ
-- vectorTH xs = sigE [| (TFVec xs) |] (decTFVecT (toInteger (P.length xs)) xs)
vectorTH [] = [| empty |]
+vectorTH [x] = [| singleton x |]
vectorTH (x:xs) = [| x +> $(vectorTH xs) |]
unsafeVector :: NaturalT s => s -> [a] -> TFVec s a
vectorTH (x:xs) = [| x +> $(vectorTH xs) |]
unsafeVector :: NaturalT s => s -> [a] -> TFVec s a
lexTFVec ('>':rest) = [(">",rest)]
lexTFVec ('<':rest) = [("<",rest)]
lexTFVec str = lex str
lexTFVec ('>':rest) = [(">",rest)]
lexTFVec ('<':rest) = [("<",rest)]
lexTFVec str = lex str
-
\ No newline at end of file