From b4d0d695bb53f9cc77984c181887e4ac6f24f90f Mon Sep 17 00:00:00 2001 From: Johannes Meier Date: Fri, 20 Dec 2024 14:52:50 +0100 Subject: [PATCH 1/2] replaced absolute paths in relative paths in the READMEs --- CHANGELOG.md | 9 +++++++-- README.md | 12 ++++++------ examples/ox/README.md | 2 +- packages/typir-langium/README.md | 4 ++-- packages/typir/README.md | 4 ++-- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ab9dbd..f8a9b46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ We roughly follow the ideas of [semantic versioning](https://semver.org/). Note that the versions "0.x.0" probably will include breaking changes. +## v0.1.2 (December 2024) + +- Replaced absolute paths in READMEs by relative paths, which is a requirement for correct links on NPM + + ## v0.1.1 (December 2024) - Improved the READMEs in the packages `typir` and `typir-langium`. @@ -17,7 +22,7 @@ This is the first official release of Typir. It serves as first version to experiment with Typir and to gather feedback to guide and improve the upcoming versions. We are looking forward to your feedback! - [Linked issues and PRs](https://github.com/TypeFox/typir/milestone/2) -- Core implementations of the following [type-checking services](/packages/typir/src/services/): +- Core implementations of the following [type-checking services](./packages/typir/src/services/): - Assignability - Equality - Conversion (implicit/coercion and explicit/casting) @@ -25,7 +30,7 @@ It serves as first version to experiment with Typir and to gather feedback to gu - Sub-typing - Validation - Caching -- [Predefined types](/packages/typir/src/kinds/) to reuse: +- [Predefined types](./packages/typir/src/kinds/) to reuse: - Primitives - Functions (with overloading) - Classes (nominally typed) diff --git a/README.md b/README.md index 332166a..5b4c2f8 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ This repository contains the following stand-alone applications, which demonstra ## Tiny Typir Example -Both the LOX and OX examples have been created with Langium. Here is a very small example for using Typir with a tiny expression language, which is independent from any language workbench like Langium. We show how to use the Typir API for type checking of Tiny Typir. You can also find the example in the repository, implemented in form of an executable [test case](/packages/typir/test/api-example.test.ts). +Both the LOX and OX examples have been created with Langium. Here is a very small example for using Typir with a tiny expression language, which is independent from any language workbench like Langium. We show how to use the Typir API for type checking of Tiny Typir. You can also find the example in the repository, implemented in form of an executable [test case](./packages/typir/test/api-example.test.ts). Our Tiny Typir language has only a few concepts (all are realized as `AstElement`s), namely numbers (`NumberLiteral`), strings (`StringLiteral`), binary expressions (`BinaryExpression`), variables (`Variable`), and assignments (`AssignmentStatement`). They are implemented in a very simple way, see for example our `BinaryExpression`: ```typescript @@ -74,7 +74,7 @@ class BinaryExpression extends AstElement { } ``` -Feel free to check out the others in the [test code](/packages/typir/test/api-example.test.ts), but a little spoiler: no surprises there. +Feel free to check out the others in the [test code](./packages/typir/test/api-example.test.ts), but a little spoiler: no surprises there. Let's head into setting up the Typir type system and creating the primitive types for our NumberLiteral and StringLiteral, which is a one line of code job each, as we use the Typir's predefined Primitives factory service: @@ -169,8 +169,8 @@ expect(errors2[0].message).toBe("The type 'string' is not assignable to the type Typir is presented in these talks: -- [LangDev'24](https://langdevcon.org/2024/program#26): [Video](https://www.youtube.com/watch?v=CL8EbJYeyTE), [slides](/resources/talks/2024-10-17-LangDev.pdf) (2024-10-17) -- [OCX/EclipseCon'24](https://www.ocxconf.org/event/778b82cc-6834-48a4-a58e-f883c5a7b8c9/agenda?session=23b97df9-0435-4fab-8a01-e0a9cf3e3831&shareLink=true): [Video](https://www.youtube.com/watch?v=WLzXAhcl-aY&list=PLy7t4z5SYNaRRGVdF83feN-_uHLwvGvgw&index=23), [slides](/resources/talks/2024-10-24-EclipseCon.pdf) (2024-10-24) +- [LangDev'24](https://langdevcon.org/2024/program#26): [Video](https://www.youtube.com/watch?v=CL8EbJYeyTE), [slides](./resources/talks/2024-10-17-LangDev.pdf) (2024-10-17) +- [OCX/EclipseCon'24](https://www.ocxconf.org/event/778b82cc-6834-48a4-a58e-f883c5a7b8c9/agenda?session=23b97df9-0435-4fab-8a01-e0a9cf3e3831&shareLink=true): [Video](https://www.youtube.com/watch?v=WLzXAhcl-aY&list=PLy7t4z5SYNaRRGVdF83feN-_uHLwvGvgw&index=23), [slides](./resources/talks/2024-10-24-EclipseCon.pdf) (2024-10-24) ## Roadmap @@ -183,7 +183,7 @@ The roadmap include, among other, these features: - Calculate types, e.g. operators whose return types depend on their current input types - Optimized APIs to register rules for inference and validation -For the released versions of Typir, see the [CHANGELOG.md](/CHANGELOG.md). +For the released versions of Typir, see the [CHANGELOG.md](./CHANGELOG.md). ## Contributing @@ -195,4 +195,4 @@ We also have a release process described in [RELEASE.md](./RELEASE.md). ## License -Typir is fully [MIT licensed](/LICENSE). +Typir is fully [MIT licensed](./LICENSE). diff --git a/examples/ox/README.md b/examples/ox/README.md index 752f6ad..1b0ab42 100644 --- a/examples/ox/README.md +++ b/examples/ox/README.md @@ -1,6 +1,6 @@ # Typir applied to OX -OX is a reduced version of [LOX](/examples/lox/) in order to demonstrate type checking with [Typir](https://typir.org/) for primitives, functions and operators only. +OX is a reduced version of [LOX](../lox/) in order to demonstrate type checking with [Typir](https://typir.org/) for primitives, functions and operators only. For examples written in OX, look at some [collected examples](./examples/) or the [test cases](./test/). diff --git a/packages/typir-langium/README.md b/packages/typir-langium/README.md index e27d969..4b90551 100644 --- a/packages/typir-langium/README.md +++ b/packages/typir-langium/README.md @@ -15,7 +15,7 @@ npm install typir-langium ## Documentation -For an overview about the core features of Typir with a simple application example, see the [root README.md of the Typir project](/README.md). +For an overview about the core features of Typir with a simple application example, see the [root README.md of the Typir project](../../README.md). Important design decision for Typir-Langium: Typir-Langium does not depend on `langium/lsp`, i.e. Typir-Langium can be used even for Langium-based DSLs which don't use LSP. @@ -39,4 +39,4 @@ Look at the examples in the `examples/` folder of the repo ([here](../../example ## License -[MIT License](/LICENSE) +[MIT License](../../LICENSE) diff --git a/packages/typir/README.md b/packages/typir/README.md index a582cef..ef3e521 100644 --- a/packages/typir/README.md +++ b/packages/typir/README.md @@ -15,7 +15,7 @@ npm install typir ## Documentation -For an overview about the core features of Typir with a simple application example, see the [root README.md of the Typir project](/README.md). +For an overview about the core features of Typir with a simple application example, see the [root README.md of the Typir project](../../README.md). Important design decision: Typir is a stand-alone library and has no dependencies to any existing language workbench. @@ -28,4 +28,4 @@ Look at the examples in the `examples` folder of the repo ([here](../../examples ## License -[MIT License](/LICENSE) +[MIT License](../../LICENSE) From 8dcf02410384a5501a4ab41648ee01fc359cb105 Mon Sep 17 00:00:00 2001 From: Johannes Meier Date: Fri, 20 Dec 2024 14:53:04 +0100 Subject: [PATCH 2/2] updated versions to 0.1.2 --- examples/lox/package.json | 4 ++-- examples/ox/package.json | 4 ++-- package-lock.json | 14 +++++++------- packages/typir-langium/package.json | 4 ++-- packages/typir/package.json | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/examples/lox/package.json b/examples/lox/package.json index 1792455..e092403 100644 --- a/examples/lox/package.json +++ b/examples/lox/package.json @@ -1,7 +1,7 @@ { "name": "typir-example-lox", "displayName": "lox", - "version": "0.1.1", + "version": "0.1.2", "private": true, "description": "", "author": { @@ -30,7 +30,7 @@ "dependencies": { "commander": "~12.1.0", "langium": "~3.3.0", - "typir-langium": "~0.1.1", + "typir-langium": "~0.1.2", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1" }, diff --git a/examples/ox/package.json b/examples/ox/package.json index 93cf4a0..c95c16a 100644 --- a/examples/ox/package.json +++ b/examples/ox/package.json @@ -1,7 +1,7 @@ { "name": "typir-example-ox", "displayName": "ox", - "version": "0.1.1", + "version": "0.1.2", "private": true, "description": "", "author": { @@ -30,7 +30,7 @@ "dependencies": { "commander": "~12.1.0", "langium": "~3.3.0", - "typir-langium": "~0.1.1", + "typir-langium": "~0.1.2", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1" }, diff --git a/package-lock.json b/package-lock.json index 7bbcb53..c6a6d19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,12 +36,12 @@ }, "examples/lox": { "name": "typir-example-lox", - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "dependencies": { "commander": "~12.1.0", "langium": "~3.3.0", - "typir-langium": "~0.1.1", + "typir-langium": "~0.1.2", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1" }, @@ -82,12 +82,12 @@ }, "examples/ox": { "name": "typir-example-ox", - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "dependencies": { "commander": "~12.1.0", "langium": "~3.3.0", - "typir-langium": "~0.1.1", + "typir-langium": "~0.1.2", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1" }, @@ -4085,18 +4085,18 @@ } }, "packages/typir": { - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "engines": { "node": ">= 18.0.0" } }, "packages/typir-langium": { - "version": "0.1.1", + "version": "0.1.2", "license": "MIT", "dependencies": { "langium": "~3.3.0", - "typir": "~0.1.1" + "typir": "~0.1.2" }, "engines": { "node": ">= 18.0.0" diff --git a/packages/typir-langium/package.json b/packages/typir-langium/package.json index a76435b..9a6ae7a 100644 --- a/packages/typir-langium/package.json +++ b/packages/typir-langium/package.json @@ -1,6 +1,6 @@ { "name": "typir-langium", - "version": "0.1.1", + "version": "0.1.2", "description": "Typir binding for Langium", "homepage": "https://typir.org", "author": { @@ -49,6 +49,6 @@ "bugs": "https://github.com/TypeFox/typir/issues", "dependencies": { "langium": "~3.3.0", - "typir": "~0.1.1" + "typir": "~0.1.2" } } diff --git a/packages/typir/package.json b/packages/typir/package.json index 22b1161..756b4b0 100644 --- a/packages/typir/package.json +++ b/packages/typir/package.json @@ -1,6 +1,6 @@ { "name": "typir", - "version": "0.1.1", + "version": "0.1.2", "description": "General purpose type checking library", "homepage": "https://typir.org", "author": {