{"push_id":2950571009,"size":7,"distinct_size":7,"ref":"refs/heads/entropy-with-dictionary-builder","head":"c490ba92b050294b1d0b9736bd4a589c5c117e18","before":"93788ea3c9e96719fd963f6893d0a472896897b7","commits":[{"sha":"56e241c03432518bcd6cafe28486dbd68d45eeef","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"Resolves #176 - Getting rid of TokenWriter::{list, tagged_tuple, Tree} and the companion code in ast.rs\n\nThis changeset simplifies trait `io::TokenWriter`, getting rid of some baggage that makes work on entropy\nneedlessly complicated. For backwards compatibility reason, we keep a `io::deprecated::TokenWriterWithTree`,\nwhich is essentially a copy of the old `io::TokenWriter`, along with a `io::deprecated::TokenWriterTreeAdapter`,\nwhich converts from the old form to the new one.\n\nThis change should make future work on entropy a bit simpler, improve performance and this has already helped locate a few bugs in the generic implementation of encoding.\n\nThis change will need to be followed up by a corresponding work on the TokenReader, once we have a clear idea of exactly what needs to be done.\n\n1. `TokenWriter` doesn't define a type `Tree` anymore. Rather, on success, all methods return `()`. Consequently,\n\tall implementations of `Serializer`, which returned `TokenWriter::Tree` on success now return `()` on success.\n\tThis includes both hardcoded implementations and implementations extracted from the webidl.\n\n2. `TokenWriter` doesn't take a `Vec` of children for lists and tagged tuples anymore. Consequently, we adapt the\n\tcode generator to not create these `Vec` of children anymore.\n\n3. Similarly, the generic implementation of encoding (which might not be useful anymore, but it's still here for the moment)\n\tneeds to be adapted to the new `TokenWriter`. This requires a few contorsions in binjs_generic/src/io/encode.rs.\n\n4. Both methods `Encoder::encode`, which give access to all token writers now use `TokenWriterTreeAdapter` for older\n\timplementations of `TokenWriterWithThree`.\n\n5. We adapt the entropy dictionary builder to this new `TokenWriter`, which essentially means removing now useless code.\n\n6. Other implementations of `TokenWriter` move to `TokenWriterWithTree`, which changes essentially the interface name.\n\n7. Adding methods `from_rc_string` to all types derived from `SharedString`.\n\n8. Adapting tests to the API changes.","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/56e241c03432518bcd6cafe28486dbd68d45eeef"},{"sha":"8dab3979b7255dda8c1c7fdc04bef804dac9e811","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"Towards making dictionaries serializable\n\nThis changeset extendes Dictionary<> and KindedStringsPerFile<> to support the generic Serde\n(de)serialization mechanism. While we have not decided a format for storing dictionaries\n(that's https://github.com/binast/container-format-spec/issues/7 ), this will let us\nexperiment using a simple, temporary format.","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/8dab3979b7255dda8c1c7fdc04bef804dac9e811"},{"sha":"72b0ada8c61e35bac908e2c74c993cb799032b4c","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"Implemented binjs_generate_prediction_tables\n\nThis change adds a new command-line tool, binjs_generate_prediction_tables,\nwhich analyzes a bunch of JS source files and outputs binary files containing\nthe prediction tables for the group. Once we have implemented v2 of the `entropy`\nencoder, these prediction tables may then be used for encoding/decoding with\nthat format.","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/72b0ada8c61e35bac908e2c74c993cb799032b4c"},{"sha":"76c05ab64838a711af017ba58b2d9774e67edad7","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"Fix: Path::tail","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/76c05ab64838a711af017ba58b2d9774e67edad7"},{"sha":"781a7336301d7cddea2193a5ccb0d534d35162d0","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"Cargo.toml: Version bumps","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/781a7336301d7cddea2193a5ccb0d534d35162d0"},{"sha":"a88ec01f2fcb9b991263c0e6a5b460887cccc958","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":"meta: PropertyKey, IdentifierName are now primitive types","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/a88ec01f2fcb9b991263c0e6a5b460887cccc958"},{"sha":"c490ba92b050294b1d0b9736bd4a589c5c117e18","author":{"name":"David Teller","email":"9cd496141743416ff06a01c0b7d826bc7db99fe8@gmail.com"},"message":".gitignore: vscode, macOS metafiles","distinct":true,"url":"https://api.github.com/repos/Yoric/binjs-ref/commits/c490ba92b050294b1d0b9736bd4a589c5c117e18"}]}
{"actor":{"display_login":"Yoric"}}