Talk:Halt and catch fire: Difference between revisions

Content added Content deleted
m (→‎A bit limited ?: flushed out some sentences.)
m (CPU bugs?)
Line 30: Line 30:


::::: Well, perhaps one could think of it as a compiler (interpreter) error,   but it is more of an unexpected error that Regina REXX can't recover from.   There are other errors such as a source (REXX statement) that doesn't have a closing quote or comment delimiter,   or a "special" character that has no place in a REXX statement,   or an unexpected left/right parenthesis or comma,   no (closing)   '''END'''   for a   '''DO'''   or   '''SELECT'''   statement, etc.     But this task's requirement was to make the program as short as possible   (crash golf?).   I tried for a concise error that (the current) Regina REXX couldn't recover from and raise the "SYNTAX" error,   which a REXX program could recover from.   Note that REXX can trap and possibly recover from a (statement) syntax error,   and indeed, many REXX programs that have a good deal of boilerplate code that will do just that,   and issue informative error messages to the terminal stating which program was being executed, which statement number failed (and how it failed),   and perhaps what the particular error was (variable not defined, invalid syntax, division by zero, etc.).     However, program recovery wasn't the goal for this Rosetta Code task.     -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 03:30, 16 September 2021 (UTC)
::::: Well, perhaps one could think of it as a compiler (interpreter) error,   but it is more of an unexpected error that Regina REXX can't recover from.   There are other errors such as a source (REXX statement) that doesn't have a closing quote or comment delimiter,   or a "special" character that has no place in a REXX statement,   or an unexpected left/right parenthesis or comma,   no (closing)   '''END'''   for a   '''DO'''   or   '''SELECT'''   statement, etc.     But this task's requirement was to make the program as short as possible   (crash golf?).   I tried for a concise error that (the current) Regina REXX couldn't recover from and raise the "SYNTAX" error,   which a REXX program could recover from.   Note that REXX can trap and possibly recover from a (statement) syntax error,   and indeed, many REXX programs that have a good deal of boilerplate code that will do just that,   and issue informative error messages to the terminal stating which program was being executed, which statement number failed (and how it failed),   and perhaps what the particular error was (variable not defined, invalid syntax, division by zero, etc.).     However, program recovery wasn't the goal for this Rosetta Code task.     -- [[User:Gerard Schildberger|Gerard Schildberger]] ([[User talk:Gerard Schildberger|talk]]) 03:30, 16 September 2021 (UTC)

:::: I also chose a brief syntax error for the Julia example. I think though that the original "halt and catch fire" used to mean exploit a bug in the underlying CPU microcode in order to crash the hardware by having it process an illegal instruction. If this was still possible even with executing raw machine code on recent CPU's I would hope the CPU maker might pay a bounty for information on such an exploit! --[[User:Wherrera|Wherrera]] ([[User talk:Wherrera|talk]]) 06:59, 16 September 2021 (UTC).