Idris2/tests/idris2/literate/literate010/MyFirstIdrisProgram.org
2023-09-07 14:57:22 +01:00

933 B

My First Idris2 Program

This is a literate Idris2 Org-Mode file that the Idris2 understands.

We can have visibile code blocks using source blocks in idris.

data Natural = Zero | Succ Natural
data Vect : Natural -> Type -> Type where
  Empty : Vect Zero a
  Cons  : a -> Vect k a -> Vect (Succ k) a

We can have hidden literate lines that Idris will understand.

However, we Idris2' literate support is greedy and does not understand all of the supported literate modes comments and verbatim blocks.

Thus:

#+IDRIS: plus : Natural -> Natural -> Natural

is also an active code line.

We can also abuse org-mode comments to hide code not required for publication.

cannotSeeThis : Natural -> Natural

main : IO ()
main = putStrLn "Hello!"