-
Notifications
You must be signed in to change notification settings - Fork 4
Description
The Rust compiler is unlikely to successfully compile anything that requires explosively recursive expressions. Even after rust-lang/rust#122717 for example, it will still have to actually finish trait resolving, borrow checking, and codegen. Also, it will be obviously slow. Use of an intermediate encoding that is amenable to applying a rewrite rule to eliminate the redexes, and actually applying such a rule during extraction, would be preferable. That way you don't have to assume that rustc will put up with being force-fed an infinite amount of abstract nonsense.
The more general cases regarding inefficient implementation work are already discussed by other authors such as Jansen, Koopman, and Plasmeijer, i.e. https://repository.ubn.ru.nl/bitstream/handle/2066/151174/151174.pdf?sequence=1&isAllowed=y