Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Haskell
  3. Official repo

Official repo

NOASSERTIONHaskellv1.3.3

A general-purpose functional programming language with dependent types for verified software development.

Visit WebsiteGitHubGitHub
3.5k stars629 forks0 contributors

What is Official repo?

Idris is a general-purpose functional programming language that features dependent types, allowing types to depend on values. This enables developers to write highly expressive type specifications that can enforce correctness properties at compile time, such as ensuring array bounds or protocol invariants. It aims to bring the benefits of verified programming to practical software development.

Target Audience

Developers and researchers interested in type-driven development, formal verification, and building highly reliable software with strong correctness guarantees, particularly in areas like systems programming, compilers, or security-critical applications.

Value Proposition

Idris offers a unique blend of dependent types in a general-purpose language, making it possible to catch complex bugs at compile time while remaining usable for real-world projects. Its support for multiple code generators (C, JavaScript) allows targeting various platforms without sacrificing type safety.

Overview

A Dependently Typed Functional Programming Language

Use Cases

Best For

  • Developing software with formal correctness guarantees
  • Learning and experimenting with dependent type systems
  • Building compilers or language tools that require precise type checking
  • Creating verified algorithms or data structures
  • Teaching advanced type theory concepts in a practical setting
  • Writing high-assurance systems where runtime errors are unacceptable

Not Ideal For

  • Projects requiring rapid development with extensive third-party libraries or frameworks
  • Teams integrating with large, existing codebases in mainstream languages like Java or Python
  • Applications where runtime performance is critical and low-level optimization is needed beyond C code generation
  • New projects expecting long-term active maintenance and community support

Pros & Cons

Pros

Dependent Type System

Enables types to depend on values, allowing compile-time checks for properties like vector lengths, as highlighted in the key features for catching errors early.

Multiple Code Targets

Compiles to C for native executables and JavaScript for web environments, providing flexibility for deployment across different platforms, as noted in the code generation support.

Interactive Development Tools

Supports a REPL and interactive editing, facilitating exploration of types and proofs during coding, which enhances the development experience for verification tasks.

Extensible Architecture

Allows for custom code generators and language extensions, adapting to various needs beyond standard features, as mentioned in the extensible design.

Cons

Inactive Development

Idris 1 is no longer actively developed, with primary efforts shifted to Idris 2, limiting updates and long-term support for this version.

Steep Learning Curve

Dependent types require significant upfront investment in type theory, making it challenging for developers without a background in formal methods or advanced programming.

Limited Ecosystem

Has a smaller community and fewer third-party libraries compared to mainstream languages, which can hinder project development and resource availability.

Frequently Asked Questions

Quick Stats

Stars3,478
Forks629
Contributors0
Open Issues690
Last commit1 year ago
CreatedSince 2011

Tags

#programming-language#haskell#functional-programming#compiler#theorem-proving#type-theory#dependent-types#verified-software#code-generation

Built With

H
Haskell

Links & Resources

Website

Included in

Haskell3.3kIdris411
Auto-fetched 17 hours ago

Related Projects

LaTexLaTex

a collaborative Hackage list

Stars0
Forks0
Last commit
Code GenerationCode Generation

a collaborative Hackage list

Stars0
Forks0
Last commit
WaspWasp

a simple language for developing full-stack Javascript web apps with less code (built with Haskell)

Stars0
Forks0
Last commit
JavaJava

a collaborative Hackage list

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub