1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-12 14:28:08 +03:00
juvix/tests/positive/Pragmas.juvix
Łukasz Czajka c31e373c88
Add: pragma support (#1997)
* 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>
2023-04-26 15:26:13 +02:00

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;