There are a good deal of challenges that disallow the use of built-in operations and I was wondering if we should consider implicit operations built-ins.
For example in Brain-Flak two things that are next to each other will be added implicitly, the program
({}{})
adds two numbers. However nowhere is there a character or group of characters that says "add" numbers. It adds because that when {}
is placed next to {}
it means the sum of the two. If someone were to ask a question "Add without builtins" would this be a valid answer?
Now of course this seems like a rather narrow example but other languages can have more complex implicit functions. It would not be unreasonable for a language that deals with matrices to have implicit matrix multiplication. Or a language that deals with sets to have implicit set union. Languages with more than types can even have implicit operations for every combination of the types. Since there is often no way to get around banning these as builtins for a particular challenge is akin to banning the entire language.
Do implicit operations count as built-ins?