The default prelude that is implicitly available in all Futhark files.
- ↑val opaque 't: (x: t) -> t
Semantically just identity, but serves as an optimisation inhibitor. The compiler will treat this function as a black box. You can use this to work around optimisation deficiencies (or bugs), although it should hopefully rarely be necessary.
- ↑val trace 't: (x: t) -> t
Semantically just identity, but when run in the interpreter, the argument value will be printed.