From 2a22116a22f0106fa54a1372e78cb3b80ff7f684 Mon Sep 17 00:00:00 2001 From: Shinya Sato Date: Tue, 2 Aug 2022 20:29:50 +0900 Subject: v0.9.2-1 --- Changelog.md | 29 +++++++++++++++++++++++++++++ README.md | 2 +- src/inpla.y | 6 +++--- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/Changelog.md b/Changelog.md index 9985118..a591c2f 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,34 @@ # Change log +### v0.9.2-1 (released on 2 August 2022) +#### Bux fix +* `%` **for more than 1-arity agents was something wrong**: It was just an implementation error. Now, it works well: + ``` + >>> %Add ~ ((r,100),20); // The `%Add' can abstract arguments of `Add' + (3 interactions, 0.00 sec) + >>> ifce; // The above works as Add(r,100)~2. + r + + Connections: + r ->120 + >>> free ifce; + >>> + ``` + ``` + >>> %Add ~ (arg_pair,20); // We can also give concrete ones later by this bug fix. + (2 interactions, 0.00 sec) + >>> arg_pair~(r,100); + (2 interactions, 0.00 sec) + >>> ifce; + r + + Connections: + r ->120 + + >>> + ``` + + ### v0.9.2 (released on 30 July 2022) #### New Features * **A built-in agent** `Map`: Map function operation is realised by the following definition: diff --git a/README.md b/README.md index fde0cd6..e6bbb67 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.9.2, released on **30 July 2022**. (See [Changelog.md](Changelog.md) for details.) +* The current version is 0.9.2-1 (bugfix), released on **2 August 2022**. (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.8.2-2.png) diff --git a/src/inpla.y b/src/inpla.y index 6053ff1..7e92eb8 100644 --- a/src/inpla.y +++ b/src/inpla.y @@ -22,8 +22,8 @@ // ---------------------------------------------- -#define VERSION "0.9.2" -#define BUILT_DATE "30 July 2022" +#define VERSION "0.9.2-1" +#define BUILT_DATE "2 August 2022" // ------------------------------------------------------------------ @@ -9916,7 +9916,7 @@ loop_agent_a1_a2_this_order: } else { // %foo2 ~ (p,q) --> foo2(p1,p2)~q, (p1,p2)~p VALUE preserved_p = AGENT(a2)->port[0]; - VALUE preserved_q = AGENT(a2)->port[0]; + VALUE preserved_q = AGENT(a2)->port[1]; VALUE tuple = a2; BASIC(a1)->id = percented_id; for(int i=0; i