This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: difficulty of writing translators



weasel@cs.stanford.edu writes:
> At 08:54 PM 7/15/98 , Jim Blandy wrote:
> >Maciej Stachowiak <mstachow@mit.edu> writes:
> >> > python, 
> >> 
> >> Python has, AFAIK, a straightforward syntax and very clean semantics
> >> from a Schemish point of view. One thing I've heard that may be tricky
> >> is that lambda in Python does not create proper closures; OTOH I hope
> >> no one depends on this behavior.
> 
> I don't think that elisp has proper closures either. Well, it did not have
> them in emacs 19, but this might have changed.
> 

Elisp is entirely dynamically scoped so this matters less. You can't
close over lexical variables when you don't have any.

> >> > tcl (without tk), 
> >> 
> >> Tcl sucks because the only Tcl datatype is a string. Language
> >> primitives will automatically treat strings as numbers, lists,
> >> booleans, or code to be evaluated as appropriate. 
> >
> >Yep.  Keep in mind that we only have to make the boundary between
> >Scheme and Tcl convenient, not perfect.  There will be much oddity
> >here.
> 
> Hmmm.... just because the target language passes things around as strings
> does not mean that the host has to do the same thing especially for
> primative sorts of things like for math support etc. Am I missing something
> here?
> 

Yes, Tcl apps are written to expect transparent conversion. They
expect to be able to pass any of 37, "37" or {37} to a function that
expects a number and have it be a number, a string for anything that
needs a string, a list of one element (which is a number of a string
as appropriate) for anything that needs that, and so forth. Scheme
procedures are not written to do this internal conversion.

 - Maciej