How Scheme Can Train the Mind: One Reason that MIT Should Reinstate Scheme and 6.001
(This content material of this publish is considerably just like the content material of my publish  entitled “[semi-OT] possible benefits from training in Scheme programming in patent translation” on the USENET newsgroup comp.lang.scheme.)
Today, I got here throughout a captivating phenomenon through which publicity to Scheme programming helped with technical translation of a part of a patent specification.
Since the subject material is classed, I will be able to most effective disclose the construction, and now not the content material, however principally, there used to be a file containing a “claim” (a sentence in a specification which specifies what’s being claimed in the patent being implemented for) which anyone had reasonably mis-translated from English to Japanese, and which used to be being amended.
The unique English clause in the declare had the following construction:
“… an A in communication with a plurality of B, said A configured to generate a C signal, configured to cause at least one of said plurality of B to output a said D, said C signal based at least in part on said E signal.”
Unfortunately, whoever translated that clause from English to Japanese it sounds as if omitted the “said A configured to generate a C signal” portion.
Then this mis-translated Japanese translation of the unique English clause used to be amended, however used to be by no means translated again to English.
Then this amended Japanese clause used to be re-amended, and I used to be requested to “apply” the re-amendment to the English unique. The re-amended Japanese clause then had the following construction (when I in any case discovered the construction):
“… an A in communication with a plurality of B, said A configured to generate a C signal, configured to cause the C coupled to said F so that a positional relationship, for the E which has sent the E signal, corresponding similarly to a positional relationship between the E which has sent the E signal and the G of said plurality of B to output a said force associated with the strength detected by the E, said B signal based on said E signal.”
The first facet that I spotted used to be that the earlier modification had by no means been translated, requiring me to fill in the main points.
However, then I spotted that this earlier modification had itself been in response to a mis-translated unique.
In order to determine which portion used to be lacking from the translation of the unique clause, I had to map parts of the unique English clause to their Japanese equivalents, however since the construction itself used to be now not written to mirror the construction of the unique English clause, I then had to get a divorce the unique English clause into its structural elements.
At first, this procedure appeared very tedious and tough, till I spotted that treating those structural elements in the clause as though they have been S-expressions in a Scheme program, and then mapping similar elements of the English clause to semi-corresponding elements of the Japanese (mis-)translation sped up and simplified this procedure a great deal, even if the correspondence used to be now not precise.
For some reason why, I’ve found out that this sort of psychological equivalence turns out to continue a lot more easily between S-expressions in Scheme methods and claims in patent paperwork than between different sorts of expressions in different practical programming languages and the identical claims in patent paperwork. For instance, I’ve now not had equivalent reviews with discovering equivalences between expressions in even Haskell methods and the claims in patent paperwork; Haskell expressions appear to be extra similar to mathematical equations than to claims in patent paperwork.
Therefore, it kind of feels that publicity to the Scheme programming language, specifically, can lend a hand in coaching non-programmers to suppose structurally in inspecting expressions in herbal language, which could have advantages in translating claims in patent paperwork in this sort of method that they may be able to be extra simply and obviously amended.
Perhaps MIT will have to reinstate Scheme and 6.001, and eliminate Python and the new C1. Somehow I think that MIT is risking growing a brand new technology of idiots by way of eliminating Scheme and SICP from their curriculum only for the ostensible reason why that the recursive taste of programming does now not mirror the method that programming is in reality carried out in trade. Students don’t be informed programming simply to program; finding out programming additionally has necessary ramifications for the structural idea processes underlying different technical fields, even the ones that don’t appear superficially comparable (comparable to patent translation), and it kind of feels that watering down a core programming direction for such ostensible causes undermines the the most important patterns of pondering which can be cross-applicable to such different technical fields as smartly.
 Russell, Benjamin L. “[semi-OT] possible benefits from training in Scheme programming in patent translation.” Online posting. 19 Aug. 2009. 19 Aug. 2009. <information://comp.lang.scheme>. Also to be had at <http://teams.google.com/workforce/comp.lang.scheme/browse_thread/thread/4590474ce458597c#>.