From 1d1bc875f1233838c123b46341e6c594e6cf5e57 Mon Sep 17 00:00:00 2001 From: Shinya Sato Date: Sun, 15 Mar 2026 19:08:05 +0900 Subject: v0.13.1 --- Changelog.md | 8 ++++++++ Gentle_introduction_Inpla.md | 4 ++-- README.md | 15 +++++---------- src/inpla.y | 4 ++-- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Changelog.md b/Changelog.md index d78be84..3b6a564 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,13 @@ # Change log +### v0.13.1 (released on 15 March 2026) + +#### Polished + +- **Improved the parsing method for lists**: My naive code for list parsing, which took O(n^2), has been improved to O(n) by [Daniel-Zaripov](https://github.com/Danil-Zaripov). Really good! + + + ### v0.13.0-2 (released on 12 September 2024) #### Polished diff --git a/Gentle_introduction_Inpla.md b/Gentle_introduction_Inpla.md index 5156e31..bd31326 100644 --- a/Gentle_introduction_Inpla.md +++ b/Gentle_introduction_Inpla.md @@ -412,7 +412,7 @@ It is possible to have attributes as calculation results of arithmetic operation ::= '=' ``` -The symbol of addition, subtraction, multiplication, division, modulo are `+`, `-`, `*`, `/` and `%`, respectively. Relational operations `==`, `!=` `<`, `<=`, `>` and `>=` return 1 for True, 0 for False. Logical operations Not `!` (`not`), And `&&` (`and`) and Or `||` (`or`) are also available where only `0` is regarded as False. +The symbol of addition, subtraction, multiplication, division, modulo are `+`, `-`, `*`, `/` and `%`, respectively. Relational operations `==`, `!=`, `<`, `<=`, `>` and `>=` return 1 for True, 0 for False. Logical operations Not `!` (`not`), And `&&` (`and`) and Or `||` (`or`) are also available where only `0` is regarded as False. * Example: an expression using `where`: @@ -764,7 +764,7 @@ In interaction rule definitions, we can specify how active pair agents are reuse (r, foo(r)) >< (result, s) -->* foo(result)~s. // where the following rule has been defined as a built-in: - // (a1,a2) ><> (b1,b2) => a1~b1, a2~b2. + // (a1,a2) >< (b1,b2) => a1~b1, a2~b2. ``` * **Map function operation**: So, the map function operation can be realised by a built-in `Map` agent with the following already defined rules: ``` diff --git a/README.md b/README.md index df75ca2..c6e1aa5 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you write programs for sequential execution, it works also in multi-threaded parallel execution. Each thread is managed on each CPU-core with POSIX-thread library. -* The current version is 0.13.0-2, released on **12 September 2024**. (See [Changelog.md](Changelog.md) for details.) +* The current version is 0.13.1, released on **15 March 2026**. (See [Changelog.md](Changelog.md) for details.) * The below graph shows speed-up ratio to threads numbers for programs in the following benchmark table. ![speedup-ratio](pic/benchmark_reuse_v0.13.0.png) @@ -267,13 +267,14 @@ Inpla is a multi-threaded parallel interpreter of interaction nets. Once you wri [Gentle_introduction_Inpla.md](Gentle_introduction_Inpla.md) explains how to make programs in Inpla step by step. Please look it over! - ## Updates See [Changelog.md](Changelog.md) for details. + + ## Publications * [1] Ian Mackie, Shinya Sato, [*In-place Graph Rewriting with Interaction Nets*](https://arxiv.org/abs/1609.03641), TERMGRAPH 2016, EPTCS 225, pp.15-24, 2016. @@ -291,16 +292,10 @@ Electronic Communications of the EASST, Volume 73: Graph Computation Models - Se ## Related Work +* [Train: Translator of a functional language to interaction nets (Inpla notation)](https://github.com/inpla/train) * [High-order Virtual Machine (HVM)](https://github.com/Kindelia/HVM) -* [HINet: Interaction Nets in Haskell](http://www.cas.mcmaster.ca/~kahl/Haskell/HINet/) -* [A Rust-Based Interaction Combinator Runtime](https://github.com/Gadersd/ic) * [Language, interpreter and compiler for interaction nets](https://github.com/szeiger/interact) -* [Interaction Nets in OCaml](https://github.com/nikolaushuber/ocaml_inets) -* [ingpu - an experimental GPU-based interaction nets evaluator](https://github.com/euschn/ingpu) - -#### My repository - -- [Train: Translator of a functional language to interaction nets (Inpla notation)](https://github.com/inpla/train) +* [HINet: Interaction Nets in Haskell](http://www.cas.mcmaster.ca/~kahl/Haskell/HINet/) diff --git a/src/inpla.y b/src/inpla.y index bc612f7..f0f9c82 100644 --- a/src/inpla.y +++ b/src/inpla.y @@ -22,8 +22,8 @@ // ---------------------------------------------- -#define VERSION "0.13.0-2" -#define BUILT_DATE "12 September 2024" +#define VERSION "0.13.1" +#define BUILT_DATE "15 March 2026" // ------------------------------------------------------------------ -- cgit v1.2.3