Discussion:
German translation of R5RS
pelzflorian (Florian Pelz)
2018-05-12 23:44:03 UTC
Permalink
Hello,

Please accept my patches adding a German language info file for R5RS
and fixing some small errors in English R5RS. I believe the patches
to be reasonably correct.

I’m Cc’ing guile-user because they may have feedback. I have adapted
the patches to the terminology of SICP’s German translation and
have proofread more thoroughly.


The changes are these:


Silence R5RS build warnings by Makeinfo.

* doc/r5rs/r5rs.texi: Fix code with warnings.

Fix R5RS formatting of space character syntax.

* doc/r5rs/r5rs.texi: Remove space at bad position.

Fix overlong line in the TeX output of R5RS title page.

* doc/r5rs/r5rs.texi: Split line listing R5RS editors in TeX output.

Add German translation of R5RS.

* doc/r5rs/r5rs.de.texi: Translation of r5rs.texi.
* doc/r5rs/Makefile.am: Build and install it.
* doc/translation-rationale-de: Rationale for translation choices.


Find the patches here (and not on the sources mailing list because of
their size, or should I send them there?):

https://pelzflorian.de/files/wip-r5rsde-patches-try-2.tar.gz

See R5RS.de as a PDF:

https://pelzflorian.de/files/r5rs.de.try2.pdf

Download from my Git:

https://pelzflorian.de/git/guile-wip-pf/log/?h=wip-r5rsde

Build and install with „guix package -f guile-r5rs-de-wip-pf.scm“
(takes some time):

https://pelzflorian.de/files/guile-r5rs-de-wip-pf.scm


I am not using gettext po files for R5RS because R5RS is static and
will never change.

It now uses the same dircategory as R5RS, so it shows up as

The Algorithmic Language Scheme
* Guile Reader: (guile-reader). A Reader Framework for Guile.
* Guile Reference: (guile). The Guile reference manual.
* R5RS: (r5rs). The Revised(5) Report on Scheme.
* R5RS-de: (r5rs.de). Der Revised(5) Report on Scheme (deutsch).
* SICP: (sicp). Structure and Interpretation of Computer
Programs
* Guile-SSH: (guile-ssh). Guile bindings to libssh.


I hope this is OK. Please respond if not.

Note that this arrangement is currently affected by a mostly harmless
Texinfo bug; after selecting the translated r5rs.de.info the user may
have to relaunch the info program before she can visit the English
r5rs.info in some circumstances; see

https://lists.gnu.org/archive/html/bug-texinfo/2018-05/msg00000.html



Regards,
Florian
Mark H Weaver
2018-05-29 16:08:19 UTC
Permalink
Hi Florian,
Post by pelzflorian (Florian Pelz)
Please accept my patches adding a German language info file for R5RS
and fixing some small errors in English R5RS. I believe the patches
to be reasonably correct.
I very much appreciate this enormous amount of work that you've done!

My primary concern is that I lack the ability to review this, because I
have not (yet?) learned to read German.

A large technical specification like this is quite hard to produce
without introducing many mistakes. Even when everyone in a standards
committee is focused on the same draft document, errors are frequently
introduced.

Errors in technical specifications can have quite bad consequences over
long time frames, because they lead to misunderstandings in the minds of
developers, and thus bugs in code, which may persist for a long time.

At present, most users who wish to read the R5RS have no choice but to
read the original document written in English. On the one hand, this is
obviously a barrier and hardship for people who do not know English
well, but on the other hand, at least they can be assured that the
document they are reading has been widely reviewed by a large number of
people over several decades.

If we now invite them to read a German translation which has not been
reviewed at all (except for the translator), I fear the resulting
misunderstandings and buggy code that this might entail.

So, I would feel much more comfortable if someone else with good
knowledge of Scheme would step forward to carefully review this
translation. It need not be someone from the Guile community, which
brings me to the next issue:

Although we distribute a copy of R5RS with Guile, we do not maintain
R5RS, and it is not specific to us. To me, this situation seems
somewhat analogous to submitting a large contribution for the Sqlite3
library to the Firefox developers. Firefox distributes a bundled copy
of Sqlite3, but they do not maintain that library.

However, I admit that this case is far more muddled, because R5RS is an
historical document, and there's no longer any group that maintains it
as far as I know.

Are there any German speakers here with good knowledge of Scheme who
would be willing to make a careful review this translation?

Mark
Freja Nordsiek
2018-05-29 16:17:51 UTC
Permalink
Mark does bring up an interesting point. Very good chances to find someone if one reached out to the communities of other implementations like Racket, Chicken, etc. And it would stand to benefit those communities in addition to Guile. If I remember correctly (very good chance I do not), I think the main developer of Chicken is a native German speaker, for example.


Freja Nordsiek
Post by Mark H Weaver
Hi Florian,
Post by pelzflorian (Florian Pelz)
Please accept my patches adding a German language info file for R5RS
and fixing some small errors in English R5RS. I believe the patches
to be reasonably correct.
I very much appreciate this enormous amount of work that you've done!
My primary concern is that I lack the ability to review this, because I
have not (yet?) learned to read German.
A large technical specification like this is quite hard to produce
without introducing many mistakes. Even when everyone in a standards
committee is focused on the same draft document, errors are frequently
introduced.
Errors in technical specifications can have quite bad consequences over
long time frames, because they lead to misunderstandings in the minds of
developers, and thus bugs in code, which may persist for a long time.
At present, most users who wish to read the R5RS have no choice but to
read the original document written in English. On the one hand, this is
obviously a barrier and hardship for people who do not know English
well, but on the other hand, at least they can be assured that the
document they are reading has been widely reviewed by a large number of
people over several decades.
If we now invite them to read a German translation which has not been
reviewed at all (except for the translator), I fear the resulting
misunderstandings and buggy code that this might entail.
So, I would feel much more comfortable if someone else with good
knowledge of Scheme would step forward to carefully review this
translation. It need not be someone from the Guile community, which
Although we distribute a copy of R5RS with Guile, we do not maintain
R5RS, and it is not specific to us. To me, this situation seems
somewhat analogous to submitting a large contribution for the Sqlite3
library to the Firefox developers. Firefox distributes a bundled copy
of Sqlite3, but they do not maintain that library.
However, I admit that this case is far more muddled, because R5RS is an
historical document, and there's no longer any group that maintains it
as far as I know.
Are there any German speakers here with good knowledge of Scheme who
would be willing to make a careful review this translation?
Mark
pelzflorian (Florian Pelz)
2018-05-29 17:03:24 UTC
Permalink
Hello Mark,

Thank you for your reply. Yes, there may not be enough qualified
reviewers here who know German and have time to spare. Is there
someplace I could go look for reviewers?

I would like a German Guile manual to exist and started translating
R5RS. Many non-experts in programming are put off by having to read
English and rather cargo cult copy from tutorials than read the
English manual. It would be better if they could use sth like
e.g. the German Mozilla Developer Network or the PHP.net manual. R5RS
seems helpful as a stepping stone to the rest of Guile despite
potential mistranslations. German SICP is great btw, sadly it is not
more commonly taught.

Then again, maybe a German manual should live in a separate repository
so as not to add po4a or similar dependencies. Should I put it in
some git repo somewhere stand alone? It would be less official
although I would still be glad to get reviews. If dependencies etc
are not a concern though and someone qualified can review it, then
please add translated manuals.
Post by Mark H Weaver
A large technical specification like this is quite hard to produce
without introducing many mistakes. Even when everyone in a standards
committee is focused on the same draft document, errors are frequently
introduced.
English R5RS has two errors that I know of. Eq? is claimed to return
“true or false”, but the examples make clear it is #t or #f. In the
specification of with-output-to-file a THUNK argument is referred to
as PROC. Should such (minor) errors be fixed? One of my patches also
fixes a misplaced space character in the Texinfo.

Regards,
Florian
John Cowan
2018-05-29 22:58:35 UTC
Permalink
On Tue, May 29, 2018 at 1:03 PM, pelzflorian (Florian Pelz) <
Post by pelzflorian (Florian Pelz)
English R5RS has two errors that I know of. Eq? is claimed to return
“true or false”, but the examples make clear it is #t or #f. In the
specification of with-output-to-file a THUNK argument is referred to
as PROC. Should such (minor) errors be fixed? One of my patches also
fixes a misplaced space character in the Texinfo.
http://mumble.net/~kelsey/r5rs-errata.html are the semi-official errata.
IMO you should incorporate them.
--
John Cowan http://vrici.lojban.org/~cowan ***@ccil.org
The Penguin shall hunt and devour all that is crufty, gnarly and
bogacious; all code which wriggles like spaghetti, or is infested with
blighting creatures, or is bound by grave and perilous Licences shall it
capture. And in capturing shall it replicate, and in replicating shall
it document, and in documentation shall it bring freedom, serenity and
most cool froodiness to the earth and all who code therein. --Gospel of Tux
pelzflorian (Florian Pelz)
2018-06-01 20:29:49 UTC
Permalink
Post by John Cowan
On Tue, May 29, 2018 at 1:03 PM, pelzflorian (Florian Pelz) <
Post by pelzflorian (Florian Pelz)
English R5RS has two errors that I know of. Eq? is claimed to return
“true or false”, but the examples make clear it is #t or #f. In the
specification of with-output-to-file a THUNK argument is referred to
as PROC. Should such (minor) errors be fixed? One of my patches also
fixes a misplaced space character in the Texinfo.
http://mumble.net/~kelsey/r5rs-errata.html are the semi-official errata.
IMO you should incorporate them.
That is good to know. I did a quick search for errata but did not
find any.

call-with-current-continuation is hard to fix. Redefinition of
keywords is not really an error. It is not clear to me if port?
should be part of R5RS or not.

In the German version I have changed begin to be syntax instead of
library syntax now. I also fixed list-ref.

https://pelzflorian.de/files/wip-r5rsde-patches-try-3.tar.gz

Regards,
Florian

Loading...