git.iko.soy/rowtype-yoga/purescript-protobuf
on master help sign in
Prep for v1.4.0
commit346054e497d66419405453524dadcbe0e8ea8726 authorJames Brock <jamesbrock@gmail.com> dateThu 15 Oct 2020, 01:28 (6 years ago) parent3cb298e
4 files changed+7−18
CHANGELOG.md+5 README.md−10 package.json+1−1 src/Protobuf/Runtime.purs+1−7
CHANGELOG.md+5
@@ -1,3 +1,8 @@
1+# v1.4.0
2+
3+Improve `Protobuf.Runtime.manyLength` for stack-safety in the case of
4+packed repeated fields.
5+
16# v1.3.0
27
38Newtype `Protobuf.Library.Bytes` wrapper for `ArrayBuffer`, so that all
README.md−10
@@ -267,16 +267,6 @@ in our derivation phases.
267267
268268See the `nix/demo.nix` file for an example.
269269
270−## Performance
271−
272−The implementation is simple and straightforward. We haven't done
273−any special optimizations. For example, when encoding a protobuf varint, we
274−allocate a list of new one-byte `ArrayBuffers`s and then copy them all into
275−position in the final `ArrayBuffer`. For another example, when decoding a
276−packed field of numbers, we build a list of the numbers, and then copy them
277−all into the final `Array`. Also, this whole library is very stack-unsafe.
278−This may all be improved in later versions.
279−
280270## Contributing
281271
282272Pull requests welcome.
package.json+1−1
@@ -1,6 +1,6 @@
11{
22 "name": "purescript-protobuf",
3− "version": "1.3.0",
3+ "version": "1.4.0",
44 "description": "Google Protocol Buffers for Purescript",
55 "author": "Cross Compass, LLC., jamesbrock@gmail.com",
66 "license": "BSD-3-Clause",
src/Protobuf/Runtime.purs+1−7
@@ -28,9 +28,7 @@ import Prelude
2828import Control.Monad.Error.Class (throwError, catchError)
2929import Control.Monad.Trans.Class (lift)
3030import Control.Monad.Rec.Class (class MonadRec, tailRecM, Step(..))
31−import Control.Monad.ST as ST
3231import Data.Array (snoc)
33−import Data.Array.ST as Array.ST
3432import Data.ArrayBuffer.ArrayBuffer as AB
3533import Data.ArrayBuffer.Builder (PutM, subBuilder)
3634import Data.ArrayBuffer.DataView as DV
@@ -45,11 +43,7 @@ import Data.Symbol (SProxy(..))
4543import Data.Tuple (Tuple(..))
4644import Data.UInt (UInt)
4745import Data.UInt as UInt
48−import Effect (Effect)
49−import Effect.Class (class MonadEffect, liftEffect)
50−import Effect.Ref (Ref)
51−import Effect.Ref as Effect.Ref
52−import Effect.Ref as Ref
46+import Effect.Class (class MonadEffect)
5347import Protobuf.Common (FieldNumber, WireType(..), Bytes(..))
5448import Protobuf.Decode as Decode
5549import Protobuf.Encode as Encode