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

Reply via email to