On 09/20/11 17:57, Steve Bennett wrote:
I agree that if your are going to integrate some language with fossil then Jim 
Tcl is nearly an ideal fit. It is small, modular, self contained, can replace 
TH1 easily and should be licence compatible.

But... let's see a design proposal, or at least a prototype implementation. I 
think that understanding some core use cases and designing a good API is 
important.

Regarding someone's concern over Tcl vs Jim Tcl differences - yes there are 
differences, but in practice they are unlikely to be a problem. Take a look at 
the online doc http://repo.or.cz/w/jimtcl.git/blob_plain/HEAD:/Tcl_shipped.html

I did. That's not enough to make an informed decision though as to:
- which tcl code will run unaltered on jim?
- -"- with the tclcompat package loaded?

both of which are critical questions IMO.

E.g.:
"5. Builtin dictionary type (dict) with some limitations compared to Tcl 8.6 "

Yes thank you, but WHICH limitations?

Then you follow the link, and see a couple of subcommands, and most importantly, a couple of them missing when comparing to Tcl 8.6. That's not "some limitations", that's "some commands are not implemented/supported at all". There's no dict with; there's no dict for; no dict remove; no dict replace; no ... the list goes on. What about tcl code that uses these subcommands? will the tclcompat package bring in the missing dict subcommands? Will the tcl code have to be rewritten? In practice, with not supporting "dict with", about 90% of the tcl code I've written in the past five years would NOT run unaltered on jim, thus being very likely to be a problem in practice.

As I've written earlier, I'd really like to see a list of all the commands and subcommands of tcl on one side, and all of the commands and subcommands of jim on the other side, and an indicator whether a) jim does not support given command and/or subcommand, b) jim supports it but with differences, c) jim supports it and it behaves idempotent to the tcl command/subcommand, d) a) or b) is the case but by loading package x it becomes c). Without this information IMO it is impossible to do an informed choice on whether to use jim or tcl.

If I wanted to come up with a design proposal (and I do want), the only choice I have is basically scavenge all unit tests of tcl and run them on jim, and say "c)" for each failure. And then compare the parts which aren't covered by that. I.e., a LOT of manual work. It sucks. Sigh.

Regards,
-Martin
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to