Releases: sasagawa888/eisl
Easy-ISLisp Version 5.36
Easy-ISLisp Version 5.36 Release Notes
We are pleased to announce the release of Easy-ISLisp version 5.36. This update includes some minor fixes.
Key Changes
-
Improved Editable REPL: Enhanced the editable REPL to display appropriate messages when parentheses or double quotes are unbalanced. This improvement helps users more easily identify syntax errors.
-
Bug Fixes in Edlis Editor: Fixed a bug related to file end processing in the Edlis editor. This fix should provide a more stable operation.
We continue to welcome bug reports from users. If you have any feedback or requests, please feel free to let us know.
Easy-ISLisp Version 5.35
Easy-ISLisp ver5.35 Release Notes
Release Date: October 10, 2024
This version includes multiple fixes and improvements based on user feedback. Special thanks to Arvyy for providing invaluable test cases, which helped identify and resolve several issues.
Improvements and Fixes
-
Fixes for
undefined-entity-name
andundefined-entity-namespace
A bug related toUNDEF_CLASS
handling caused entities to not be processed correctly. This issue has been resolved by adding the missing handling for undefined entities. -
Correction of Generic Functions Associated with
setf
The behavior of generic functions tied tosetf
has been reviewed and corrected. Certain cases wheresetf
did not behave as expected have been fixed. -
Accurate Operation of Slot Access Functions Triggered by
setf
The issue where slot access functions were not behaving correctly when invoked viasetf
has been addressed. Slot access and assignment now function as expected. -
All Test Cases Passed
After applying the above fixes, all test cases passed successfully, including those provided by Arvyy, ensuring that the fixes meet the expected outcomes.
Future Plans and Community Engagement
These updates were made possible thanks to valuable feedback from the community, and a special thanks goes to Arvyy for the test cases. We continue to welcome bug reports and feature requests to further improve Easy-ISLisp. Your feedback is crucial in making this project more robust and user-friendly. Please continue to share your thoughts and suggestions.
Easy-ISLisp Version 5.33
Easy-ISLisp Ver 5.33 Release Notes
Overview
We are pleased to announce the release of Easy-ISLisp version 3.3. In this version, several issues were identified and fixed while running the portable test cases for ISLisp provided by Mr. Arvyy. Notably, significant bugs were found in the ILOS section, particularly regarding the inheritance of generic functions.
Changes and Fixes
- ILOS Bug Fixes: Resolved issues with the inheritance of generic functions that were not functioning correctly.
- Minor Issue Fixes: Other minor bugs identified during testing have also been addressed.
Testing Progress
The verification tests for OKI-ISLisp are extensive, and while we initially believed that we had cleared them without any significant issues, the recent tests revealed the presence of additional bugs. Although several unresolved issues remain, we believe that releasing this version at this time will contribute to the momentum of ISLisp.
Future Plans
We will consult with expert Dr. Gomi regarding the more subtle issues to seek appropriate solutions. This may take some time, but we will provide updates as progress is made.
Modified Files
- The modified content and unresolved cases have been added to
arvyy.lsp
in theverify
folder.
Conclusion
We hope that this release will enhance Easy-ISLisp and invigorate the ISLisp community. We appreciate your continued support and welcome any feedback or bug reports.
Easy-ISLisp Version 5.31
Easy-ISLisp ver5.31 Release Notes
Release Date: September 15, 2024
This version primarily focuses on bug fixes. While there are no new features, this update includes important corrections, so we recommend all users upgrade.
Bug Fixes
Bignum Calculation Bug Fix: In the Bignum calculation, both NTT (Number Theoretic Transform) and Karatsuba methods were being used. However, an issue was discovered with the Karatsuba method, and as a result, we have decided to stop using it. The NTT method will continue to be used as before.
This bug was reported by GitHub user Prem4, and we quickly addressed it. We extend our gratitude to Prem4 for their valuable feedback.
Request for Bug Reports
We are committed to improving the quality of Easy-ISLisp. If you find any bugs or encounter issues, please report them through GitHub's Issues page. We appreciate your cooperation in making the system better.
Easy-ISLisp Version 5.30
Easy-ISLisp Version 5.30 Release Notes
Overview
We are pleased to announce the release of Easy-ISLisp Version 5.30. This release includes significant improvements to the Edlis editor and the editable REPL, enhancing stability and usability. Future releases will focus solely on bug fixes and maintenance, with no new feature additions. Our objectives, including expansions to parallel features, have been achieved.
Key Changes
Edlis Editor Bug Fixes
Addressed minor bugs in the Edlis editor, resulting in improved stability and usability.
Enhanced Editable REPL
Improved the editable REPL for Easy-ISLisp, offering a more user-friendly and operable environment. Enhancements are based on user feedback, resulting in better REPL functionality.
Future Plans
Regarding Feature Expansion
No further feature expansions will be made; future efforts will focus on bug fixes and maintenance.
The goals, including extensions to parallel features, have been successfully achieved.
Thank You
Thank you for your continued support of Easy-ISLisp over the years. We will continue to provide support and maintenance, and we look forward to serving you in the future.
Easy-ISLisp ver5.25
Release Notes
This update focuses solely on improvements to the Edlis editor. There are no changes to Easy-ISLisp.
Due to the discovery of many bugs in version 5.20, we are urgently releasing version 5.25.
Edlis Overview:
Edlis is almost fully compatible with the Edwin editor used in MIT-Scheme and TI-Scheme. It is also a subset of Emacs.
Key Bindings and Assigned Functions:
CTRL+F move to right in character units → key
CTRL+B move to left in character units ← key
CTRL+P move to up in line ↑ key
CTRL+N move to down in line ↓ key
CTRL+J move to end of line
CTRL+A move begin of line
CTRL+E move to end of line
CTRL+D delete one char Back Space key
CTRL+O return Enter key
CTRL+V display next page Page Down key
ESC V display previous page Page Up key
ESC < goto top page Home key
ESC > goto end page End key
ESC f Move forward in word units
ESC b Move backward in word units
ESC CTRL+F Move forward in S-expressdion units
ESC CTRL+B Move Back in S-expression units
ESC CTRL+N Move forward in list units
ESC CTRL+P Move back in list units
ESC CTRL+U Move up a level in the list structure
ESC STRL+D Move down a level in the list structure
Insert Switch insert-mode and overwrite-mode
TAB insert spaces as lisp indent rule
CTRL+X CTRL+C quit from editor with save
CTRL+X CTRL+Z quit from editor without save
CTRL+X CTRL+F load from file to editor
CTRL+X CTRL+V load from file to editor
CTRL+X CTRL+I insert buffer from file
CTRL+X CTRL+S save file
CTRL+X CTRL+W save file as
CTRL+X CTRL+L save region to file as
CTRL+S search a word forward
CTRL+R search a word backward
CTRL+T replace a word
ESC TAB complete builtin function name
ESC I info of function
ESC ^ mark(or unmark) row for selection
CTRL+K cut one line
CTRL+W cut selection
ESC W save selection
CTRL+Y uncut selection
CTRL+G cancel command
EdLis is dedicated to ISLisp. By placing the cursor on a built-in function and pressing ESC i, a description of the function will be displayed at the bottom line.
EdLis is written in C. It operates smoothly and the core part consists of about 3000 lines of C code. Its small size makes it easy to understand the structure, allowing you to modify it to suit your preferences. For more details, please refer to document/EDLIS.md.
Easy-ISLisp ver5.20
Easy-ISLisp Version 5.20 Release Notes
We are thrilled to announce the release of Easy-ISLisp version 5.20! This release introduces major enhancements, particularly to the edlis editor. Here are the key highlights of this update:
Key Improvements:
- Significant Upgrades to the Edlis Editor:
Enhanced Compatibility with Edwin: We have worked diligently to align Edlis with Edwin, aiming for maximum compatibility. This ensures a smoother transition for users familiar with Edwin and leverages its powerful features.
- Simplified Codebase: The Edlis code has been thoroughly reviewed and simplified. This streamlining makes the codebase cleaner and easier to understand, which facilitates further modifications and improvements.
- Ease of Modification: With a simplified code structure, modifying the Edlis editor at the C language level is now more accessible. This allows for easier customization and extension to meet specific needs or preferences.
-
Bug Fixes and Stability Improvements:
Resolved Issues: Various bugs from previous versions have been addressed, contributing to a more stable and reliable environment.
Enhanced Compatibility: Compatibility issues with certain system configurations and third-party libraries have been fixed. -
Updated Documentation:
Comprehensive Guides: Documentation has been updated to reflect the latest changes, including detailed guides on utilizing the new features of edlis and best practices for coding in Easy-ISLisp.
Getting Started with Easy-ISLisp 5.20
To get started with Easy-ISLisp version 5.20, please download the latest version Github or update your existing installation through the provided update mechanism.
We hope you find the new features and improvements beneficial. As always, we appreciate your feedback and look forward to your continued support.
Happy coding!
Easy-ISLisp ver5.10
Easy-ISLisp ver5.10 Release Notes
July 29, 2024
We are excited to announce the release of Easy-ISLisp version 5.10. This release includes the following improvements and bug fixes:
Improvements
Garbage Collection (GC) Efficiency:
Enhanced memory management optimizations have improved the performance of garbage collection. This results in better throughput and more efficient memory usage during the execution of large programs.
Built-in TCP/IP Functions:
Functions supporting TCP/IP communication have been added to facilitate network programming. This enhancement makes it easier to develop distributed systems and network applications.
Bug Fixes
Several minor bugs have been fixed, leading to improved overall stability.
With this release, Easy-ISLisp becomes an even more powerful and user-friendly development tool. We look forward to your feedback. Thank you for your continued support of Easy-ISLisp.
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.