Open
Description
Create a tutorial explaining to authors why restrictions related to code are a bad idea. Point out possible pitfalls:
- blocking things is an arms race
- dynamic evaluation
- obfuscation
- reflection
- macros and preprocessor
- equivalent functionalities in libraries
- fetching answer from separate process
- untestable requirements: "use recursion", etc.
- updates to languages, libraries, runner
- ... anything else?
Think about a series of language specific articles explaining how to enforce things which are possible to be realized more or less reliably:
- module forbidder for Python
- DasBrain's kumite for detecting class references in Java
- hobovsky's kumite on parsing java source files (no kumite yet, but idea can be seen in this translation)
- IIRC there's something about blocking modules for Haskell?