
Hi Sherard
You could use Data.Array.IO to read the data at runtime. Its not ideal
as as well as moving the array read to runtime (the data file must be
present somewhere) it puts you in the IO monad...
I'm supposing you really want the equivalent of the C idiom where
bitmaps or whatever are stored as char or byte arrays:
const char bitmap1[] = { 0xFF, ... }
GHC has array literals between #'s, here is a snippet from code
generate by Alex, the lexer generator:
data AlexAddr = AlexA# Addr#
alex_deflt :: AlexAddr
alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff"#
Unfortunately I can't seem to find mention of array literals in the
GHC user guide only the related 'Magic Hash' and I've never used array
literals directly myself - only with code generated by Alex, so I
can't really say how they work. Hopefully someone will add a better
explanation soon.
Best wishes
Stephen
2009/12/17 Sherard D.
Hi,
I have a couple of rather large byte tables that I'd like to use. I decided to use them as arrays because I figured such large tables wouldn't work well as lists.