# Epigram

> functional programming language with dependent types

**Wikidata**: [Q5382927](https://www.wikidata.org/wiki/Q5382927)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Epigram_(programming_language))  
**Source**: https://4ort.xyz/entity/epigram

## Summary
Epigram is a functional programming language with dependent types, designed by computer scientist Conor McBride and first released in 2004. It combines strong static typing with dependent typing, allowing for advanced type-level programming and verification.

## Key Facts
- A functional programming language with dependent types
- Designed by Conor McBride
- First released in 2004
- Uses dependent typing, strong typing, and static typing
- Official website: [http://e-pig.org](http://e-pig.org)
- Related to other dependently typed languages like Idris and Agda
- Part of the broader class of programming languages
- Has a sitelink count of 2 on Wikipedia

## FAQs
### Q: Who created Epigram?
A: Epigram was designed by computer scientist Conor McBride, who is also known for his work on dependently typed programming languages.

### Q: What type of programming language is Epigram?
A: Epigram is a functional programming language with dependent types, meaning it allows for advanced type-level programming and verification.

### Q: When was Epigram first released?
A: Epigram was first released in 2004.

### Q: What are the typing disciplines used in Epigram?
A: Epigram uses dependent typing, strong typing, and static typing.

### Q: How does Epigram compare to other dependently typed languages?
A: Epigram is related to other dependently typed languages like Idris and Agda, which were also developed around the same time.

## Why It Matters
Epigram is significant in the field of programming languages as one of the earliest examples of a functional language with dependent types. Dependent types allow for more precise and verifiable code, reducing the likelihood of runtime errors. By enabling type-level programming, Epigram provides a powerful tool for developers who need to express complex invariants and constraints directly in the type system. Its development contributed to the broader understanding of how dependent types can be integrated into functional programming languages, influencing later projects like Idris and Agda.

## Notable For
- One of the first functional programming languages with dependent types
- Designed by Conor McBride, a prominent figure in dependently typed programming
- Uses dependent typing, strong typing, and static typing
- Related to other notable dependently typed languages like Idris and Agda
- Has a strong focus on type-level programming and verification

## Body
### Overview
Epigram is a functional programming language with dependent types, designed by Conor McBride. It was first released in 2004 and is notable for its use of dependent typing, which allows for advanced type-level programming and verification.

### Development
Epigram was designed by Conor McBride, a computer scientist known for his work in dependently typed programming languages. The language was first released in 2004 and has since been developed as part of the broader field of dependently typed programming.

### Typing Disciplines
Epigram uses dependent typing, strong typing, and static typing. These typing disciplines allow for precise and verifiable code, reducing the likelihood of runtime errors.

### Related Languages
Epigram is related to other dependently typed programming languages, including Idris and Agda. These languages were also developed around the same time and share similar goals in terms of type-level programming and verification.

### Significance
Epigram is significant in the field of programming languages as one of the earliest examples of a functional language with dependent types. Its development has influenced later projects and contributed to the broader understanding of how dependent types can be integrated into functional programming languages.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Epigram",
  "description": "Functional programming language with dependent types designed by Conor McBride",
  "url": "http://e-pig.org",
  "sameAs": ["https://www.wikidata.org/wiki/Q1693148", "https://en.wikipedia.org/wiki/Epigram_(programming_language)"],
  "additionalType": "ProgrammingLanguage"
}