Cleanup in parser/Ctype.hs
authorSylvain Henry <sylvain@haskus.fr>
Tue, 5 Feb 2019 14:55:03 +0000 (15:55 +0100)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Fri, 8 Feb 2019 16:00:24 +0000 (11:00 -0500)
commitced729f6f4651b67151015e25a98c93792794aee
tree72c16533c7f1d6b1eb20b61b2a09dfe1070354e3
parent7ff127f9e455402da183d1bb1808db024d1fa944
Cleanup in parser/Ctype.hs

* GHC now performs constant folding on bit operations like (.|.) so we
use them and we remove the misleading comment

* we use Word8 instead of Int and we remove the useless conversion to
Int32. Hopefully future releases of GHC could transform the big case in
`charType` into a value table indexing instead of a jump table. Word8
would make the table smaller.

* we use INLINABLE pragma instead of INLINE on `is_ctype`: in my test,
the latter *prevents* `is_ctype` to be inlined because `charType` is
inlined into `is_ctype` (to call charType`s worker on the unboxed Char
directly).
compiler/parser/Ctype.hs