chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Msgpack implementation for scheme (and some question


From: Jim Ursetto
Subject: Re: [Chicken-users] Msgpack implementation for scheme (and some questions)
Date: Thu, 31 Jan 2013 17:16:33 -0600

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 <address@hidden> 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
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users

_______________________________________________
Chicken-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users


reply via email to

[Prev in Thread] Current Thread [Next in Thread]