tag:blogger.com,1999:blog-5135517.post110904327864021118..comments2023-11-05T03:54:44.710-08:00Comments on Making it stick.: I'm a Broken RecordPatrick Loganhttp://www.blogger.com/profile/02088461489050417591noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-5135517.post-1128225872924015782005-10-01T21:04:00.000-07:002005-10-01T21:04:00.000-07:00Hey, you have a great blog here! I'm definitely go...Hey, you have a great blog here! I'm definitely going to bookmark you!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1109095552167388852005-02-22T10:05:00.000-08:002005-02-22T10:05:00.000-08:00You mean, tried it like Guile? That was the whole...You mean, tried it like Guile? That was the whole premise of Guile, that you could translate other languages into Scheme. They never even got as far as translating elisp (which should have been the easy part) so that they could move Emacs to Scheme.<br /><br />That might not really be fair -- honestly, I don't know if anyone cared enough to try, Guile was born of a flame and never had a real champion. I tried translating Tcl, which basically "worked", but I don't know if you could call it a success, as it wasn't really *useful*. An accurate translation just isn't very compelling. Someone also tried translating Python to PLT Scheme, and they ended up giving up and just embedding Python in the Scheme interpreter.<br /><br />And that doesn't even deal with the object mismatch issues. You don't actually have to resolve those issues if you just want to take advantage of the performance of the underlying implementation, but if you want to leverage it for interlanguage communication, translating it all to Scheme doesn't actually accomplish a whole lot.<br /><br />The underlying implementation also really has to be designed with other languages in mind. Guile was crappy to debug Scheme in, but it offered absolutely nothing for any other language built on top of it. Can you annotate your Scheme source with information that allows you to reconstruct the native language environment when there's an error? Many languages deal poorly with incorrect programs, but Scheme implementations tend to be particularly bad, as is any implementation that comes out of an academic background (rather than being designed by a programmer that actually wants to *do* things with their implementation).<br /><br />From that perspective, I know PLT Schema / mzScheme offers a lot. But there might be real compromises they made in the process, and I don't know if Gambit offers anything. I'm highly sceptical of any academic projects, as I they tend to be mismotivated.Ian Bickinghttps://www.blogger.com/profile/10921115783730718101noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1109088821876211792005-02-22T08:13:00.000-08:002005-02-22T08:13:00.000-08:00I've pretty much 70% of the stuff from readscheme...I've pretty much 70% of the stuff from readscheme.org already :-)<br /><br />As for the translators, I'm sure they're a viable road. But one of the goals of this project was to learn about internals of a VM as well - so think of us as trying to attempt the Minix of the VM world :-)Sriramhttps://www.blogger.com/profile/14514067854950617393noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1109063655808541442005-02-22T01:14:00.000-08:002005-02-22T01:14:00.000-08:00Can you point me towards any examples that have go...Can you point me towards any examples that have gone "all the way" with a production language implementation based on translation to Scheme? The approach looks really appealing but I'm becoming skeptical of it.<br /><br />For example ETOS (the Erlang->GambitScheme compiler) is nicely written but extremely far from being a practical Erlang compiler. I'm guessing Kelsey's is similar: faster on benchmarks that what they compile the operating system with but probably not complete enough to actually write an operating system with.<br /><br />I'm very curious to know whether the ETOS-style approach scales to practical compilers that people can really use.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1109060881552112832005-02-22T00:28:00.000-08:002005-02-22T00:28:00.000-08:00"You wouldn't believe the hard time I had to convi..."You wouldn't believe the hard time I had to convince my own lecturer who insisted that MySQL is 'a small utility in Linux, not a real database'!!"<br /><br />Well, perhaps opinions may vary about whether MySQL is a "real database" or not:<br /><br />http://sql-info.de/mysql/gotchas.html#1_14Anonymousnoreply@blogger.com