Commit graph

32 commits

Author SHA1 Message Date
Andrew Martin
8baf4cc369
Switch builder implementation to use chunks (#10)
* switch builder implementation to use chunks
* micro-optimize the conditional for builders of length one
* use fromBoundedOne for ascii chars
2019-10-09 16:30:02 -04:00
Andrew Martin
3ad5261ff4 Add little-endian encoding functions for Word{16,32,64}. Add machine encoding functions for 64-bit signed int. These just convert it to an unsigned int and call the corresponding encoding function. 2019-10-09 09:48:28 -04:00
Andrew Martin
e0b9d744cf double buffer size, rather than increasing it by a constant factor, on every iteration in builder run function 2019-09-22 09:34:55 -04:00
Andrew Martin
cd3631e5fd Add a test for a very simple CSV encoding 2019-09-20 09:23:08 -04:00
Andrew Martin
459c48a2d9 add consLength64BE 2019-09-19 12:10:13 -04:00
Andrew Martin
d52aecdc60 Add consLengthBE32 2019-09-18 11:45:02 -04:00
Andrew Martin
68897b9316 Add haddocks for constructors 2019-09-05 09:24:10 -04:00
Andrew Martin
0b6317a4f5 Add a comment documenting the thought process behind encoding Word8s as decimal 2019-09-05 09:10:35 -04:00
Andrew Martin
61871a9ae3 unroll loop in the implementation of word8Dec 2019-09-05 09:10:35 -04:00
Andrew Martin
26421ff05b Improve documentation. Stop exported data constructor from Data.ByteArray.Builder 2019-09-04 20:02:48 -04:00
Andrew Martin
702b4d4bdb Add more variants of hexadecimal encodings 2019-09-04 20:01:47 -04:00
Andrew Martin
071b55568d add decWord for machine-sized words 2019-09-04 14:34:33 -04:00
Andrew Martin
2e8d4279c7 use runByteArrayST instead of runST 2019-09-04 13:40:31 -04:00
Andrew Martin
0538e31ae8 clean up imports in Data.ByteArray.Builder 2019-09-04 10:54:12 -04:00
Andrew Martin
f62d5ebde8 Add more int-encoding functions 2019-09-04 10:54:12 -04:00
Andrew Martin
7ed17f5b6d add word8 and int 2019-09-04 10:54:12 -04:00
Andrew Martin
a5bbf88e71 Avoid KnownNat constraints in favor of using Arithmetic.Types.Nat 2019-09-03 14:58:03 -04:00
Andrew Martin
2d1ea68261 Remove the word "Small" from module names. Move unsafe functions into modules suffixed with "Unsafe". Write a better IsString instance. Depend on natural-arithmetic. 2019-09-03 14:43:58 -04:00
Alice McKean
2eb37dfb7c add monoidal unit for Bounded Builders 2019-09-01 22:56:06 -07:00
Alice McKean
9a14600a38 switch unsafe to bounded + char encoding 2019-09-01 22:43:54 -07:00
Alice McKean
22dfde2936 add word32Dec builder 2019-09-01 16:17:29 -07:00
Andrew Martin
5d3d6d1afd Add functions for encoding ShortText as UTF-8 and as JSON 2019-08-07 15:23:02 -04:00
Andrew Martin
37aaeac18a Add doubleDec for rendering floating-point numbers 2019-08-05 12:07:02 -04:00
Andrew Martin
b0823d03c3 make pasteGrowST accept an offset. correct the implementation of bytes 2019-08-02 16:08:13 -04:00
Andrew Martin
ac3b03218b add a benchmark 2019-07-05 12:35:05 -04:00
Andrew Martin
7563616836 add more hexadecimal serialization functions 2019-07-05 11:23:30 -04:00
Andrew Martin
9533dcdcd9 Exploit more opportunities for reusing common decimal encoding function 2019-07-05 10:54:13 -04:00
Andrew Martin
f7c42ba6be add functions for big-endian encodings, add functions for decimal representation of signed 64-bit integers 2019-07-03 16:28:36 -04:00
Andrew Martin
c3b248a598 document everything 2019-06-25 17:09:26 -04:00
Andrew Martin
831c25c81a add more features 2019-06-25 15:18:34 -04:00
Andrew Martin
0b1a585add add bytes, bytearray, and pasteIO 2019-06-17 13:56:14 -04:00
Andrew Martin
0d63fbc60d Initial commit. The library includes a simple Builder, a Semigroup instance, primitives for running the builder, and a function for decimal-encoding a 64-bit word. There is also a test suite to confirm that it works. 2019-06-17 13:24:24 -04:00