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 language. 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.

Features

  • if desired, properties of program behaviour to be formally stated and proven
  • Types are first-class constructs in the langauge
  • Idris is a programming language designed to encourage Type-Driven Development
  • We treat the type as the plan for a program
  • Use the compiler and type checker as an assistant
  • Types can be passed as arguments to functions

Project Samples

Project Activity

See All Activity >

Follow Idris 2

Idris 2 Web Site

You Might Also Like
Our Free Plans just got better! | Auth0 by Okta Icon
Our Free Plans just got better! | Auth0 by Okta

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Idris 2!

Additional Project Details

Programming Language

C

Related Categories

C Software Development Software, C Compilers, C Programming Languages

Registered

2022-05-24