So far, almost all submissions on this site are ones that target "standard" computers, namely devices that execute code in a typically linear fashion, with a standard variety of inputs/outputs (standard in/out/err, file, rendering a window). However, this seems to make programs targeting hardware other than standard computers a grey area due to lack of precedent, performance considerations (where solutions must take only a reasonable amount of time), and different input/output considerations than standard programs running on computers with operating systems.
This highly upvoted answer to "What are programming languages?" describes the requirements for the language to be used, and in turn, the platform. The hardware+language easily fits a transformational model, handles representations of integers and collections thereof, can add numbers, and can perform primality checks. The language is text-based so byte-counting considerations have already been resolved by precedent with other text-based languages.
However, I'd still like a second opinion from the community on whether these languages/hardware devices are appropriate when not explicitly disallowed by a question, and what is allowed for inputs/outputs (e.g. serial transcievers, clocking data in/out through pins in serial/parallel fashion, reading/writing block RAMs (precedent), or if in a simulator, through standard file/stream IO).
Additionally, in cases where execution is either timed as a limit or as the sorting criterion for answers, I'm assuming that the requirement is that the design meets timing for some frequency F_max on a commercially-produced FPGA available at the time of writing the challenge, and then the solution time is simply the time it takes for the output to be provided at that frequency F_max. Is that a correct way to go about that?