Commit Graph

268 Commits

Author SHA1 Message Date
Harendra Kumar
4b9b55c371 Fix test deprecation warnings after Scanl module 2024-08-03 19:15:46 +05:30
Harendra Kumar
e2dbbff473 Fix unsafe use of FFI for unpinned arrays
Pass the MutableByteArray# directly to the FFI functions to avoid
garbage collector moving it between the time we get a pointer and then
call the FFI function.
2024-08-02 22:08:54 +05:30
Harendra Kumar
b86d3be5a1 Fix a ParserK to ParserD conversion bug 2024-08-02 17:10:54 +05:30
Adithya Kumar
7fbc066e73 Add a test case for ParserK.toParser 2024-08-02 17:10:54 +05:30
Adithya Kumar
3e9c3a376e Rename several APIs in MutArray module
castUnsafe => unsafeCast
newArrayWith => emptyWithAligned
getSliceUnsafe => unsafeGetSlice
createOfWith => createWithOf (argument order convention)
putIndexUnsafe => unsafePutIndex
modifyIndexUnsafe => unsafeModifyIndex
getIndexUnsafe => unsafeGetIndex
realloc => reallocBytes
snocUnsafe => unsafeSnoc
spliceUnsafe => unsafeSplice
pokeSkipUnsafe => unsafePokeSkip
peekUncons => peek
peekUnconsUnsafe => unsafePeek
peekSkipUnsafe => unsafePeekSkip
2024-07-29 15:31:33 +05:30
Adithya Kumar
aa27315c43 Modify unsafe(Pinned)AsPtr & introduce unsafe(Pinned)CreateUsingPtr
unsafe(Pinned)AsPtr is used to read and overwrite
unsafe(Pinned)CreateUsingPtr is used to create
2024-07-29 15:31:33 +05:30
Adithya Kumar
a6634be5e2 Fix unused imports for ghc-9.10 2024-07-21 03:18:21 +05:30
Adithya Kumar
7d2863b0a1 Rename createLastOf to createOfLast
createLastOf sounds weird. createOfLast sounds more correct.
create - Array - Of - Last - N - elements
2024-07-19 03:08:10 +05:30
Adithya Kumar
155fddad55 Rename some internal functions respecting the array standards 2024-07-19 03:08:10 +05:30
Adithya Kumar
c247365972 Deprecate witeLastN & introduce createLastOf in Array.(Generic) 2024-07-19 03:08:10 +05:30
Adithya Kumar
dc7242b941 Deprecate functions new* and write* functions in Array modules
squash! Deprecate functions new* and write* functions in (Mut)Array.Generic
2024-07-19 03:08:10 +05:30
Adithya Kumar
ca881c620d Use MutableByteArray as the primitive for the ring buffer 2024-07-09 13:02:17 +05:30
Adithya Kumar
4c407568f5 Fix hlint for the Serialize test file 2024-05-02 13:38:10 +05:30
Adithya Kumar
febaeaac09 Remove cloning combinators from immutable arrays 2024-02-22 15:19:48 +05:30
Harendra Kumar
66745dc16e Add low rate examples, maxYields support in rate test 2024-02-18 03:11:57 +05:30
Harendra Kumar
486f5ee49d Add rate tests for new concurrent streams 2024-02-18 03:11:42 +05:30
Harendra Kumar
c4084db5c5 Implement ParserK to Parser conversion function 2024-02-03 05:06:07 +05:30
Harendra Kumar
8e8159f156 Rename write* to create* in Array module
Export create/createOf from Array module
Rearrange exports in Array module
2024-01-18 11:29:01 +05:30
Adithya Kumar
af57e26270 Rename asUnpinnedPtrUnsafe and deprecate asPtrUnsafe
asUnpinnedPtrUnsafe -> unsafeAsPtr
asPtrUnsafe -> unsafePinnedAsPtr
2024-01-18 00:53:37 +05:30
Harendra Kumar
191abebe92 Fix serialize test taking too long, too much mem 2024-01-04 07:41:04 +05:30
Harendra Kumar
ce86302f08 Fix hlint issues in tests 2023-12-21 17:17:52 +05:30
Adithya Kumar
6eee16aebc Add a case to test equality of serialization encoding 2023-12-02 16:55:57 +05:30
Harendra Kumar
c0d3178fa4 Make SerializeConfig opaque 2023-11-28 03:36:49 +05:30
Harendra Kumar
26e8629ddc Disable failing takeBetween test 2023-11-28 01:46:13 +05:30
Harendra Kumar
fd93674cec Remove the intermediate Concurrent/Time/Exception modules 2023-11-27 15:50:24 +05:30
Harendra Kumar
13581bfec1 Rename serialize/deserialize/size of Serialize class 2023-11-26 01:57:10 +05:30
Harendra Kumar
1efeed403b Rename peekByteIndex/pokeByteIndex to peekAt/pokeAt 2023-11-26 01:57:10 +05:30
Harendra Kumar
7cb856b7e6 Move the Array serialization APIs to the Array module 2023-11-26 01:57:10 +05:30
Harendra Kumar
56fd008519 Rename newByteArray to new
To keep it consistent with naming in other Array modules.
2023-11-26 01:57:10 +05:30
Harendra Kumar
6705ec00b9 Rename Data.Serialize to Data.MutByteArray 2023-11-26 01:57:10 +05:30
Harendra Kumar
627c72ae65 Rename newBytes and pinnedNewBytes 2023-11-24 13:38:10 +05:30
Harendra Kumar
47b10b3914 Rename MutableByteArray to MutByteArray 2023-11-24 13:38:10 +05:30
Harendra Kumar
dfa2079542 Move Stream.Chunked to Array.Stream 2023-11-24 12:37:42 +05:30
Harendra Kumar
33bffd614b Change deriveUnbox to use instance splice 2023-11-22 21:39:39 +05:30
Harendra Kumar
1640a686e7 Rename Config/defaultConfig to S/serializeConfig 2023-11-22 21:39:39 +05:30
Harendra Kumar
7d50e5e03e Implement deriveSerialize using deriveSerializeWith 2023-11-22 21:39:39 +05:30
Harendra Kumar
e7f6e7e9eb Add Config setter functions for Serialize derivation 2023-11-22 21:39:39 +05:30
Harendra Kumar
97e0d20ffb Re-export internal serialize modules and hide them 2023-11-21 02:37:28 +05:30
Harendra Kumar
32390c592e Add a finalizer action in Fold type
This was needed especially for concurrent fold combinators. A fold
combinator that uses concurrent folds needs to wait for the concurrent
folds to finish before it can finish. The finalizing action in folds can
deallocate any resources allocated by the "initial" action and also wait
for folds that it has initialized.

This complicates fold combinators in general. We can potentially
introduce a type for non-failing parsers and support finalization only
in those. The current use cases can be covered by that. Parsers do not
support scanning, which is not required in the use cases where we need
finalization (there is no known use case).
2023-11-18 23:51:09 +05:30
Harendra Kumar
a11fe00965 Fix warnings for GHC 9.6 and 9.8 2023-11-03 01:44:25 +05:30
Adithya Kumar
8e04e4b988 Add Serialize instance for tuple 2023-10-01 12:55:11 +05:30
Adithya Kumar
bd8c8cb1b8 Add tests for TH derivation with recordSyntaxWithHeader is enabled
- Add roundtrip tests for nested records
- Add compatibility tests
2023-09-27 08:18:14 +05:30
Adithya Kumar
60a71dcbb5 Use more expressive notation for deriveSerializeWith 2023-09-14 22:20:59 +05:30
Adithya Kumar
4f00d1f54a Split the Serialize.roundtrip test into reusable parts 2023-09-14 17:41:21 +05:30
Adithya Kumar
5f67528761 Add a more robust offset ignoring tests in Serialize
This is meant to catch any serialized absolute offsets
2023-09-14 17:41:21 +05:30
Adithya Kumar
9c67608ffa Add Serialize instance for Integer 2023-09-12 01:00:29 +05:30
Adithya Kumar
3043a3f699 Add Serialize instance for (Array a) 2023-09-12 01:00:29 +05:30
Adithya Kumar
b675912c27 Test the encoding and decoding functions in the roundtrip 2023-09-12 01:00:29 +05:30
Adithya Kumar
21fd670143 Add tests for the constructorTagAsString option in Serialize.TH 2023-09-12 01:00:29 +05:30
Adithya Kumar
13f91aad8c Change the API and update doc of a few APIs in Serialize.TH 2023-09-06 15:09:08 +05:30