Releases: sasagawa888/eisl
Easy-ISLisp ver5.00
Easy-ISLisp Version 5.0 Release Notes
We are excited to announce the release of Easy-ISLisp version 5.0! This major update brings several new features, improvements, and bug fixes. Here’s a detailed overview of what’s new in this version:
New Features
Parallel Functions
Easy-ISLisp now includes a comprehensive set of parallel functions to enhance multi-process, multi-thread, and distributed computing capabilities. Here is a summary of the new parallel functions:
Multi-Process Functions
(mp-create n): Create n processes.
(mp-call fun a1 .. an): Apply fun with arguments in multi-process.
(mp-exec s1 ... sn): Execute a sequence of forms in multi-process.
(mp-part sw s1 ... sn): Execute partial sequence of forms in multi-process.
(mp-let forms body): Bind variables and execute body in multi-process.
(mp-eval n exp): Evaluate expression in the n-th child Lisp process.
(mp-report str): Display string on parent terminal.
(mp-close): Close all processes.
Multi-Thread Functions
(mt-create n): Create n threads.
(mt-call fun a1 .. an): Apply fun with arguments in multi-thread.
(mt-exec s1 ... sn): Execute a sequence of forms in multi-thread.
(mt-let forms body): Bind variables and execute body in multi-thread.
(mt-lock s1 ... sn): Execute forms with mutex in multi-thread.
(mt-close): Close all threads.
Distributed Process Functions
(dp-create n): Create n distributed processes.
(dp-call fun a1 .. an): Apply fun with arguments in distributed process.
(dp-exec s1 ... sn): Execute a sequence of forms in distributed process.
(dp-let forms body): Bind variables and execute body in distributed process.
(dp-part sw s1 ... sn): Execute partial sequence of forms in distributed process.
(dp-report str): Display string on parent terminal.
(dp-eval n exp): Evaluate expression in the n-th child Lisp process.
(dp-transfer fn): transfer file to all child lisp.
(dp-compile fn): compile file in parent and all child Lisp.
(dp-load fn): load file in parent and all child Lisp.
(dp-close): Close all distributed processes.
Improvements
Enhanced stability and performance of the Lisp interpreter and compiler.
Improved TCP/IP message transmission ensuring messages of a certain length are successfully communicated.
Revised communication protocol between parent and child Lisp processes to ensure efficient error handling and reporting.
Documentation
Updated and organized documentation for all functions, including detailed descriptions and usage examples. See PARA.md PARA1,md PARA2.md
Acknowledgements
We thank all contributors and users for their valuable feedback and support. Special thanks to the former and current Interlisp-D developer for their insights and comments regarding network capabilities and message-passing systems.
How to Update
To update to Easy-ISLisp version 5.0, follow the installation instructions in the updated README.md
We hope you enjoy the new features and improvements in Easy-ISLisp version 5.0. Your feedback is always welcome!
Happy LISPing!
Easy-ISLisp ver4.00
Easy-ISLisp ver4.0 Release Notes
Release Date: 2024-06-14
Overview
We are thrilled to announce the release of Easy-ISLisp ver4.0! This version introduces enhanced parallel processing capabilities, making it easier and more efficient to perform parallel computations using both multi-process and multi-threaded approaches.
New Features
Enhanced Parallel Processing:
Multi-Process Support: Each process operates in its own memory space, reducing the risk of memory leaks and improving stability.
Multi-Threaded Support: Lightweight context switching and shared memory within the same process, leading to improved performance for certain tasks.
User-Friendly parallel syntax:
Syntax for parallel computations, allowing learners to easily take advantage of parallel processing without extensive configuration.
Performance Improvements:
Significant speed enhancements for computationally intensive tasks.
Optimized algorithms for better resource utilization.
Bug Fixes
Fixed thread contention in previous versions.
Known Issues
Some parallel features are not available on macOS.
Installation
Pull the source from our github.
Follow the on-screen instructions to complete the installation.
Additional Resources
Easy-ISLisp ver3.95
Easy-ISLisp ver3.95
Fixed some bugs.
Added mp-part syntax for multi process.
Easy-ISLisp ver3.90
Easy-ISLisp ver3.90
Add multi process parallel see document/PARA.md
Change multi thread parallel. see document/PARA1.md
rename function
pcall -> mt-call
pexec -> mt-exec
plet -> mt-let
plock -> mt-lock
Easy-ISLisp ver3.72
Easy-ISLisp version3.72
We fixed some bugs.
Easy-ISLisp ver3.70
Easy-ISLisp ver3.70
We fixed some bugs.
Easy-ISLisp ver3.60
I released version 3.6. We have made some bug fixes. There are no feature extensions
Easy-ISLisp ver3.50
We have released Easy-ISLisp ver3.50.
We fixed several bugs, reduced compilation-time warnings,
and renamed the embedded function "delay" on Raspberry Pi to "delay-seconds
Easy-ISLisp ver3.45
With the release of version 3.45, we have achieved a preliminary completion of the parallel processing functionality. For reasons why parallel acceleration is not supported on Intel and AMD CPUs, please refer to the document 'PARA.md'. With this version, Easy-ISLisp has achieved its initial objectives. Subsequent updates will focus on minor changes such as bug fixes. Enjoy computations with Easy-ISLisp!
Easy-ISLisp ver3.40
Easy-ISLisp ver3.40
We have improved the parallel function. see ./document/PARA.md
Fixed bugs in the example. see ./example/+.lsp