[racket-dev] [plt] Push #23038: master branch updated
> Guillaume, I finally realize that you replace 'produce' with 'return'. WHY? The use of 'produce' for functions in HtDP is pervasive. Do you really want to use distinct vocabularies in teachpacks+langs and the book?
I am not concerned with keeping consistency we HtDP v1. When I updated
DrRacket's to the new vocabulary, HtDP v1 and DrRacket parted ways and
they will not meet again. The goal now is to align DrRacket and 2HtDP.
Before my patch of last night, DrRacket was quite inconsistent. It
used the verb "produces", but also "creates", "determines", and
"returrns". This causes students to struggle as they wonder whether
these words are truly synonyms, or whether they have shades of meaning
they are meant to understand.
Shriram, Kathi, Emmanuel, Stephen and I have been debating which word
should be the standard. We also contacted Jon Star for his insight on
how to help bridge with algebra.
Turns out algebra does not have a commonly agreed word for this
concept. In algebra, everything is equal to something else, as in the
sentence "f(x) is 5" or "f(x) is equal to 5". We agreed that this is a
weakness of high school algebra that we should not import into HtDP.
The candidates verbs were "produces", "gives back", "creates",
"determines", and "returrns".
I chose 'returns' because it is the shortest word, which I expect will
help the students' ability to subvocalize code. Imagine a student
reading their draw function: "this place-image returns the image with
the rocket added, the second place-image returns the image with the
clouds added, and the third place-image returns the image with a score
added". If you change 'returns' in this sentence with 'produces',
'gives back', or 'determines', you slow the sentence down and break
its rhythm.
'returns' is also a standard nomenclature in programming languages,
and since 'returns' it is not inherently imperative, I'm happy to be
consistent with the rest of the discipline.