The methods Sequence.map and Sequence.where are now implemented using deferred execution. They return an instance of a new Sequence-derived class that performs the operation while iterating. This has three main advantages: * It can be computationally cheaper when not the whole sequence is iterated. * It consumes less memory since it does not store the result in a newly allocated list. * They can work on infinite sequences. Some disadvantages are: * Iterating the returned iterator will be slightly slower due to the added indirection. * You should be aware that modifications made to the original sequence will affect the returned sequence. * If you need the result in a list, you now need to call Sequence.list on the result.
The Wren scripts in this directory get converted to C string literals and then inserted into their respective .c files so that the interpreter can load them directly without having to do any file IO.
The script that does this copying is script/generate_builtins.py.
You can invoke using make builtin.