FYI, the docs for endian-blob don't indicate the ordering of the endian blob 
after type->endian_blob.  From reading the code it's MSB and there's an 
optional "mode" arg to these procedures.  Should this be documented?  Similarly 
the optional mode argument to byte-blob->endian-blob is documented as being 
required not optional.

Jim

On Jan 28, 2013, at 6:18 PM, Ivan Raikov wrote:

> Hi Hugo,
> 
>      Thanks for your work on msgpack, it seems like an interesting project. 
> Unfortunately, machine floating point formats are complicated, so any related 
> code will be complicated as well. I don't know much about the msgpack 
> protocol, but if representing floating-point numbers as strings is an option, 
> I encourage you to look at fpio ( http://wiki.call-cc.org/eggref/4/fpio ), a 
> BSD-licensed egg for converting  floating point numbers to strings and vice 
> versa. endian-blob includes code from GDB, so it cannot be relicensed without 
> approval from the GNU project.
> 
>   Ivan
> 
> 
> 
> On Tue, Jan 29, 2013 at 5:53 AM, Hugo Arregui <[email protected]> wrote:
> Hi,
> 
> Recently I wrote an implementation of msgpack[1], which can be found
> here[2]. This is my first "full" project in scheme, so I would
> appreciate any feedback (please, be destructive).
> 
> A couple of points already has been mentioned:
> 
> - Macros to reduce redundancy (I'm reading about them, so I'm
> expecting to fix this soon).
> - A non technical but important thing: I'm using endian-blob egg,
> which is licensed as gpl and it's incompatible with the project
> license, which is bsd.
> 
> But, beside that, I have a few questions:
> 
> 1) To avoid the creation of very heavy structures in tests, i'm using
> a kind of mock[3], which overrides some procedures, and restores it
> later. Is this the right way to do it?.
> 
> In fact, in the "egg" branch I tried to pack the project as an egg and
> I think this "hack" is not working.
> 
> 2) To access the procedures mentioned in (1), i'm using two modules:
> "msgpack-imple" which contains the whole project and it's used for the
> tests, and "msgpack" which import "msgpack-imple" and expose the real
> interface. Again, is this the right way to do it?
> 
> 3) To read/write float/double numbers (in ieee754) i'm using
> endian-blob egg (here[4]), it's there any alternative without
> implementing the full float/double->binary logic (which seems quite
> complicated)?
> 
> Thanks,
> Hugo.
> 
> [1] http://msgpack.org/
> [2] https://github.com/hugoArregui/msgpack-scheme
> [3] 
> https://github.com/hugoArregui/msgpack-scheme/blob/master/tests/run.scm#L187
> [3] 
> https://github.com/hugoArregui/msgpack-scheme/blob/master/msgpack-imple.scm#L131
> 
> _______________________________________________
> Chicken-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/chicken-users
> 
> _______________________________________________
> Chicken-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/chicken-users

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to