diff options
| author | Shinya Sato <shinnya.sato@gmail.com> | 2024-02-29 20:27:00 +0900 |
|---|---|---|
| committer | Shinya Sato <shinnya.sato@gmail.com> | 2024-02-29 20:27:00 +0900 |
| commit | 0cf73da9ad035089c66d21021a656e4606796c47 (patch) | |
| tree | 5c25e3082b62a87cad88cf2773cb85bb8fe6d288 | |
| parent | f0f8dc40c4f8aae3c6a85d0e8f171a77e7833416 (diff) | |
| download | inpla-0cf73da9ad035089c66d21021a656e4606796c47.tar.gz inpla-0cf73da9ad035089c66d21021a656e4606796c47.zip | |
v0.11.3
| -rw-r--r-- | Changelog.md | 20 | ||||
| -rw-r--r-- | README.md | 8 | ||||
| -rw-r--r-- | src/inpla.y | 10 |
3 files changed, 29 insertions, 9 deletions
diff --git a/Changelog.md b/Changelog.md index db8b8ac..3892706 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,25 @@ # Change log +### v0.11.3 (released on 29 Feb 2024) + +#### Bug Fix + +- **Segmentation fault caused by rules of Int and an agent**: Rules of Int and an agent could cause Segmentation fault error, though rules of an agent and Int were safe: + + ``` + >>> A(r) >< (int x) => r~x; + >>> A(r)~3; + (1 interactions, 0.00 sec) + >>> free ifce; + >>> (int x) >< A(r) => r~x; + >>> A(r)~3; + Segmentation fault + ``` + + This issue has now been resolved. + + + ### v0.11.2 (released on 16 Feb 2024) #### Polished @@ -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.11.2, released on **16 Feb 2024**. (See [Changelog.md](Changelog.md) for details.) +* The current version is 0.11.3, released on **29 Feb 2024**. (See [Changelog.md](Changelog.md) for details.) * The below graph shows speed-up ratio to threads numbers for programs in the following benchmark table.  @@ -291,11 +291,9 @@ Electronic Communications of the EASST, Volume 73: Graph Computation Models - Se ## Related Works -* [Train: Translator of a functional language to interaction nets (Inpla)](https://github.com/inpla/train) -* [High-order Virtual Machine (HVM)](https://github.com/Kindelia/HVM) -* [Language, interpreter and compiler for interaction nets](https://github.com/szeiger/interact) -* [HINet: Interaction Nets in Haskell](http://www.cas.mcmaster.ca/~kahl/Haskell/HINet/) +* [HINet: Interaction Nets in Haskell](http://www.cas.mcmaster.ca/~kahl/Haskell/HINet/) +* [High-order Virtual Machine (HVM)](https://github.com/Kindelia/HVM) diff --git a/src/inpla.y b/src/inpla.y index 26ffe63..27ad535 100644 --- a/src/inpla.y +++ b/src/inpla.y @@ -22,8 +22,8 @@ // ---------------------------------------------- -#define VERSION "0.11.2" -#define BUILT_DATE "16 Feb 2024" +#define VERSION "0.11.3" +#define BUILT_DATE "29 Feb 2024" // ------------------------------------------------------------------ @@ -7803,12 +7803,14 @@ int set_metaR(Ast *ast) { } void set_metaL_as_IntName(Ast *ast) { - CmEnv_set_symbol_as_meta(ast->left->sym, CmEnv.reg_agentL, NB_INTVAR); + // CmEnv_set_symbol_as_meta(ast->left->sym, CmEnv.reg_agentL, NB_INTVAR); + CmEnv_set_symbol_as_meta(ast->left->sym, VM_OFFSET_ANNOTATE_L, NB_INTVAR); } void set_metaR_as_IntName(Ast *ast) { - CmEnv_set_symbol_as_meta(ast->left->sym, CmEnv.reg_agentR, NB_INTVAR); + // CmEnv_set_symbol_as_meta(ast->left->sym, CmEnv.reg_agentR, NB_INTVAR); + CmEnv_set_symbol_as_meta(ast->left->sym, VM_OFFSET_ANNOTATE_L, NB_INTVAR); } |
