PL Pedagogy Poll:
For teaching purposes, what would you call the process of converting a surface syntax tree into a core syntax tree, in an implementation of an interpreter for a programming language?
PL Pedagogy Poll:
For teaching purposes, what would you call the process of converting a surface syntax tree into a core syntax tree, in an implementation of an interpreter for a programming language?
Gah. Fixed a spelling mistake and it wiped out the responses.
For reference, the process isn't done using racket macros. It's after two layers of parsing (String to SExp, SExp to SurfaceTree). The implemented language is totally untyped, though the implementation language is typed. And the result of elaboration is still ultimately interpreted.
@joey (for me:
)
@joey the results of this poll are extremely Type Theory-brained.
I think all are appropriate but it’s important (pedagogically!) to keep the “school of thought” in mind.
@joey also, when searching through the `gcc` codebase to see how they use the term 'elaborate' I found this fun line:
@jmct @joey I assume you know, but for others that might stumble into this thread, that flag indicates weather a "canadian cross-compile" is happening.
A cross compile is when your compiler is generating binaries for a different architecture than it is running on. For example a compiler running on x86_64 and generating ARMv8 binaries
A "canadian cross compile" is when you are cross compiling a cross compiler. So, the compiler is running on x86_64 and outputing (the binaries for) a compiler that will run on ARMv8 but when it runs on ARMv8 it will output PPC64 binaries.
(Here in particular, I think it is try to see if it can run a linker to match the compiler, but you couldn't run a ARMv8 binary in the existing x86_64 environment, so no linker output available.)
I have no idea how "canadian" got in that name, but I assume it was just to have another hard-c word, for the consonance and `ccc` abbreviation.
"Source": https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html (toward the bottom)
@BoydStephenSmithJr According to a Wikipedia footnote:
Citation
[1]"4.9 Canadian Crosses". CrossGCC. Archived from the original on October 9, 2004. Retrieved 2012-08-08. "This is called a `Canadian Cross' because at the time a name was needed, Canada had three national [political] parties.