Hi,

You can use cstringLength# which has a constant-folding rules for literals. That's what we use in GHC to build FastString literals.

Le 24 août 2021, à 06:34, Viktor Dukhovni <ietf-dane@dukhovni.org> a écrit:

Is there any GHC syntax for constructing a primitive string literal with a known (not hand coded) byte count?
With `"some bytes"#` I get just the `Addr#` pointer, but not the size.

If there's nothing available, would it be reasonable to introduce a new syntax?
Perhaps:

"some bytes"## :: (# Addr#, Int# #)