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: Ivan Raikov
Subject: Re: [Chicken-users] Msgpack implementation for scheme (and some questions)
Date: Tue, 29 Jan 2013 09:18:20 +0900

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


reply via email to

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