Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There are two changes in this commit. The first change builds the list from a variadic append operation from right to left, which is the natural order for list construction. This speeds up the following program: ``` (time (void (append* (for/list ([i 30000]) (if b '() '(1)))))) ``` from 5 seconds to 1 second. The second change avoids making an assertion when doing unsafe/append on two symbolic unions. This is fine because all calls to unsafe/append is already guarded via type casting to make them symbolic unions of rosette-contract?, so there is no need to add another guard. Thanks to @camoy for raising up the issue about the unnecessary assertions.
- Loading branch information