This is the mail archive of the guile@sourceware.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]

Translators/towards real translation


Lalo brought up the general question of infrastructure for language
translation, staring with language detection.  I don't think that should
be a big issue, but there is a lot of infrastructure that could be
useful.

A lot of the internals of Guile are of interest to translators, even
though they would be considered the private internals to most other
people.  For instance, Guile has some manner of attaching
source-location information to code, so when you get an error you are
told at what line and file it came from.  It's quite unclear how that
works (or, at least it was last time I looked at it).  Debugging in
general needs to be better exposed, both for the translators' sake and
Scheme's sake, as the Guile debugger leaves much to be desired (though
it appears that the infrastructure exists for a good debugger).  This
stuff seems to be documented only by way of source code deep in the guts
of Guile -- at least, when I tried to find it I didn't feel like I was
getting anywhere.

The new environment stuff will hopefully be a big help, because it may
be able to support different symantics than Schemes, like the dynamic
scope of both elisp, Tcl, and Perl -- among other things.  But that's
already well along, but hopefully people will keep these issues in mind.


Namespaces will also be important, to let the translated language's
standard library exist besides Schemes, while making both of them
accessible.  I assume this is already part of the new environments.

Type issues came up before.  I think it would take a careful analysis of
several languages to see what the necessary information would be to
convert between the different type-systems of several languages.  For
Tcl I think all that is necessary is a description of what types are
expected for Scheme procedures.  For other languages, it is difficult to
know.

There is also general infrastructure for translation, specifically a
generalized parser.  Maybe when more than one language gets translated
will we see what other similarities are so more of a library for
translation can be created.

  -- Ian

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