@@ -153,6 +153,8 @@ primitives =
153153 (1, LFFloor) total,
154154 Prim (sUN "prim__floatCeil") (ty [(AType ATFloat)] (AType ATFloat)) 1 (p_floatCeil)
155155 (1, LFCeil) total,
156+ Prim (sUN "prim__negFloat") (ty [(AType ATFloat)] (AType ATFloat)) 1 (c_negFloat)
157+ (1, LFNegate) total,
156158
157159 Prim (sUN "prim__strHead") (ty [StrType] (AType (ATInt ITChar))) 1 (p_strHead)
158160 (1, LStrHead) partial,
@@ -660,6 +662,10 @@ c_intToChar _ = Nothing
660662c_charToInt [(Ch x)] = Just . I . fromEnum $ x
661663c_charToInt _ = Nothing
662664
665+c_negFloat :: [Const] -> Maybe Const
666+c_negFloat [Fl x] = Just $ Fl (negate x)
667+c_negFloat _ = Nothing
668+
663669c_floatToStr :: [Const] -> Maybe Const
664670c_floatToStr [Fl x] = Just $ Str (show x)
665671c_floatToStr _ = Nothing