mbrezu / cl-messagepack Goto Github PK
View Code? Open in Web Editor NEWA Common Lisp implementation of Message Pack
License: BSD 2-Clause "Simplified" License
A Common Lisp implementation of Message Pack
License: BSD 2-Clause "Simplified" License
The change to the :initarg of extension-type from 'id to :id is not compatible with the tests extension-types-encoding and extension-types, which both pass 'messagepack-sym:id to make-instance with the extension-type. Also the :decode-with function that symbol-to-extension-type generates use 'id rather than :id.
Also the "Example" in the documentation string of define-extension-types is broken, just errors when you try to evaluate it.
Log here: http://report.quicklisp.org/2020-09-28/failure-report/cl-messagepack.html#cl-messagepack
The upshot is that SBCL rejects at compile-time code that has :initform nil :type bar
where bar does not include NIL.
According to the msgpack website instructions, this involves:
It also suggest naming the project msgpack-lisp.
Commit b305346 changed the initarg for defined extension types from :id
to messagepack-sym:id
and is thus not backwards compatible. This caused a brief headache that could've been avoided by either avoiding breaking changes by using an equivalent alternative, or introducing semantic versioning.
Is this version 5 compatible? I plan on using this library and I want to know if it can differentiate between strings and binary values. If so I plan on making a pull request to add it.
Thank you for writing this library!
I get this:
; caught ERROR:
; READ error during COMPILE-FILE: The symbol "ID" is not external in the MESSAGEPACK package.
Longer log here: http://report.quicklisp.org/2015-01-20/failure-report/cl-messagepack.html
Hello
Thanks for this library, which I am using for cl-transit.
Surprisingly the library cannot handle dotted pairs (as it'll try to call length
on the CDR)...
(mpk:encode '(1 . 2))
is this something wanted?
Happy to work a PR -- let me know!
Cheers
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.