mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-24 12:14:26 +03:00
1669fc351b
* Stub for future 'identity' optimisation I plan to add this later, but I'm using for now for NaturalToInteger and IntegerToNatural * Refactor `%builtin` fixes #1799 - automatically optimise all Natural shaped things - NaturalToInteger and IntegerToNatural now use new `Identity` flag (internal use only for now) which signals the function is identity at runtime * Use NaturalToInteger and IntegerToNatural for Nat and Fin Also define show fin in terms of finToInteger, for speed * Fix name handling for %builtin * [ tests ] fixes + #1799 * remove %builtin from libs Add back after next version * Use resolved names where convenient
10 lines
153 B
Idris
10 lines
153 B
Idris
data MyNat
|
|
= Z
|
|
| S MyNat MyNat
|
|
|
|
natToInt : MyNat -> Integer
|
|
natToInt Z = 0
|
|
natToInt (S k _) = 1 + natToInt k
|
|
|
|
%builtin NaturalToInteger natToInt
|