|
|
|
|
|
by alurm
534 days ago
|
|
I like your approach. (Implicitly) using [1] instead of [false] as a default is less typing for sure (but maybe a bit more confusing?). Also, objects being switched on really have to be tables in my version anyway (since overriding __call for builtin types seems harsh to me), so having a tag field right in them as opposed to creating a metatable should be more efficient. For my version I'll add a value-weak map of metatables to dedup them, should work as well. In terms of functions, yeah, I don't think you can get rid of them, but (in the example) you can avoid (r) and (s) params if you assume that the functions lexically close over shape. |
|