Hope programming language
E437221
Hope is an early functional programming language from the late 1970s that pioneered features like algebraic data types and pattern matching, influencing later languages such as Haskell.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Hope programming language canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T4424963 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: Hope programming language Context triple: [Haskell, influencedBy, Hope programming language]
-
A.
Vale programming language
Vale is a memory-safe, performance-focused systems programming language that explores region-based memory management and borrow-checking concepts similar to those in Rust.
-
B.
Limbo programming language
Limbo is a concurrent, modular programming language designed at Bell Labs for building distributed systems, notably used in the Inferno operating system.
-
C.
Hack (programming language)
Hack is a programming language developed by Facebook as a gradually typed, PHP-compatible language that adds static typing, generics, and other modern features for safer and more scalable web development.
-
D.
Eiffel programming language
Eiffel is an object-oriented programming language designed by Bertrand Meyer that emphasizes software correctness through features like Design by Contract and strong support for modular, reusable code.
-
E.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Hope programming language Target entity description: Hope is an early functional programming language from the late 1970s that pioneered features like algebraic data types and pattern matching, influencing later languages such as Haskell.
-
A.
Vale programming language
Vale is a memory-safe, performance-focused systems programming language that explores region-based memory management and borrow-checking concepts similar to those in Rust.
-
B.
Limbo programming language
Limbo is a concurrent, modular programming language designed at Bell Labs for building distributed systems, notably used in the Inferno operating system.
-
C.
Hack (programming language)
Hack is a programming language developed by Facebook as a gradually typed, PHP-compatible language that adds static typing, generics, and other modern features for safer and more scalable web development.
-
D.
Eiffel programming language
Eiffel is an object-oriented programming language designed by Bertrand Meyer that emphasizes software correctness through features like Design by Contract and strong support for modular, reusable code.
-
E.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
- F. None of above. chosen
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
functional programming language
ⓘ
programming language ⓘ |
| basedOn |
ideas from LCF
ⓘ
theory of abstract data types ⓘ |
| category | academic programming languages ⓘ |
| countryOfOrigin | United Kingdom ⓘ |
| designedIn | late 1970s ⓘ |
| designer |
David MacQueen
NERFINISHED
ⓘ
Don Sannella NERFINISHED ⓘ Rod Burstall NERFINISHED ⓘ |
| designGoal |
to explore algebraic data types in programming
ⓘ
to support clear mathematical specification of programs ⓘ |
| developedAt | University of Edinburgh NERFINISHED ⓘ |
| documentationLanguage | English ⓘ |
| era | 1970s programming languages ⓘ |
| evaluationStrategy | call-by-value ⓘ |
| executionModel | compiled ⓘ |
| hasFeature |
algebraic data types
ⓘ
higher-order functions ⓘ pattern matching ⓘ polymorphic types ⓘ recursion ⓘ strong static typing ⓘ type inference ⓘ |
| hasSuccessor | Hope+ (Hope Plus) NERFINISHED ⓘ |
| hasSyntaxStyle | declarative ⓘ |
| influenced |
Haskell
NERFINISHED
ⓘ
ML-family languages ⓘ Miranda NERFINISHED ⓘ modern functional programming languages ⓘ |
| influencedBy |
LCF (Logic for Computable Functions)
NERFINISHED
ⓘ
lambda calculus NERFINISHED ⓘ theoretical work on abstract data types ⓘ |
| notableFor |
early use of algebraic data types in a practical language
ⓘ
early use of pattern matching in a practical language ⓘ influencing the design of later pure functional languages ⓘ |
| paradigm | functional programming ⓘ |
| supports |
equational reasoning
ⓘ
first-class functions ⓘ lazy data structures via explicit encoding ⓘ list processing ⓘ pattern guards (via pattern matching constructs) ⓘ pattern matching on algebraic data types ⓘ user-defined algebraic data types ⓘ user-defined types ⓘ |
| typingDiscipline |
static typing
ⓘ
strong typing ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: Hope programming language Description of subject: Hope is an early functional programming language from the late 1970s that pioneered features like algebraic data types and pattern matching, influencing later languages such as Haskell.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.