Skip to content

Commit

Permalink
improved README
Browse files Browse the repository at this point in the history
  • Loading branch information
JohannesMeierSE committed Dec 19, 2024
1 parent 1784d7a commit 66c8554
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

Typir is a library for type systems and type checking for software languages in the web.

Typir is OpenSource, written in TypeScript, and follows pragmatic approaches for easing type checking in practical language engineering projects by providing default implementations for recurring problems.
Typir is OpenSource, written in TypeScript, and follows pragmatic approaches for simplifying type checking in practical language engineering projects by providing default implementations for recurring problems.
As a stand-alone library, Typir provides a TypeScript-API for language engineers without an additional, external DSL for formalizing types.


Expand All @@ -22,20 +22,27 @@ As a stand-alone library, Typir provides a TypeScript-API for language engineers
Typir provides these core features:

- Predefined types:
- primitives
- functions (with overloading)
- classes
- top, bottom
- Primitives
- Functions (with overloading)
- Classes
- Top, bottom
- (more are planned)
- Implementations for core type-checking services:
- Assignability
- Equality
- Conversion (implicit/coercion and explicit/casting)
- Type inference, i.e. determining the Typir type for a language node (e.g. an element of the current AST)
- Sub-typing
- Validation
- Solutions for: circular type definitions, caching, operators
- Meaningful and customizable error messages
- The provided default implementations are customizable by dependency injection

Typir does intentionally _not_ include ...

- rules engines and constraint solving
- formal proofs
- external DSLs for formalizing types
- Rule engines and constraint solving
- Formal proofs
- External DSLs for formalizing types


## NPM workspace
Expand Down

0 comments on commit 66c8554

Please sign in to comment.