./lang/idris2, Functional Programming Language with Dependent Types

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.6.0, Package name: idris2-0.6.0, Maintainer: pkgsrc-users

Idris is a programming language designed to encourage Type-Driven
Development.

In type-driven development, types are tools for constructing programs. We
treat the type as the plan for a program, and use the compiler and type
checker as our assistant, guiding us to a complete program that satisfies
the type. The more expressive the type is that we give up front, the more
confidence we can have that the resulting program will be correct.

In Idris, types are first-class constructs in the langauge. This means
types can be passed as arguments to functions, and returned from functions
just like any other value, such as numbers, strings, or lists. This is a
small but powerful idea, enabling:

* relationships to be expressed between values; for example, that two lists
have the same length.

* assumptions to be made explicit and checked by the compiler. For example,
if you assume that a list is non-empty, Idris can ensure this assumption
always holds before the program is run.

* if desired, properties of program behaviour to be formally stated and
proven.


Master sites:

Filesize: 3583.134 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-07 04:40:19 by Masatake Daimon | Files touched by this commit (15)
Log message:
lang/idris2: Add upstream URLs to patches
   2023-11-06 18:17:51 by Masatake Daimon | Files touched by this commit (19)
Log message:
lang/idris2: import idris2-0.6.0

Idris is a programming language designed to encourage Type-Driven
Development.

In type-driven development, types are tools for constructing programs. We
treat the type as the plan for a program, and use the compiler and type
checker as our assistant, guiding us to a complete program that satisfies
the type. The more expressive the type is that we give up front, the more
confidence we can have that the resulting program will be correct.

In Idris, types are first-class constructs in the langauge. This means
types can be passed as arguments to functions, and returned from functions
just like any other value, such as numbers, strings, or lists. This is a
small but powerful idea, enabling:

* relationships to be expressed between values; for example, that two lists
  have the same length.

* assumptions to be made explicit and checked by the compiler. For example,
  if you assume that a list is non-empty, Idris can ensure this assumption
  always holds before the program is run.

* if desired, properties of program behaviour to be formally stated and
  proven.