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
