mirror of
https://github.com/anoma/juvix.git
synced 2024-12-12 14:28:08 +03:00
c31e373c88
* Closes #1965 * Implements the `unroll` pragma to control the unrolling depth on a per-function basis. * Implements parsing of the `inline` pragma. --------- Co-authored-by: janmasrovira <janmasrovira@gmail.com>
35 lines
494 B
Plaintext
35 lines
494 B
Plaintext
{-# unknownPragma: 300 #-}
|
|
module Pragmas;
|
|
|
|
open import Stdlib.Prelude;
|
|
|
|
{-# unknownPragma: 0 #-}
|
|
axiom a : Nat;
|
|
|
|
{-#
|
|
unknownPragma: something
|
|
unroll: 100
|
|
inline: false
|
|
#-}
|
|
f : Nat → Nat;
|
|
f x := x;
|
|
|
|
{-# inline: true #-}
|
|
g : Nat → Nat;
|
|
g x := suc x;
|
|
|
|
{-
|
|
Multiline highlighting
|
|
-}
|
|
--- Judoc comment 1
|
|
--- Judoc comment 2
|
|
{-# unroll: 0 #-}
|
|
terminating
|
|
h : Nat → Nat;
|
|
h x := x + 5;
|
|
|
|
--- Judoc comment
|
|
{-# {inline: false, unroll: 10, unknownPragma: tratatata} #-}
|
|
main : Nat;
|
|
main := 0;
|