Changeset 39114 in project
- Timestamp:
- 11/05/20 20:25:58 (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wiki/eggref/5/srfi-173
r39113 r39114 1 *SRFI 173: Hooks2 **Abstract1 = SRFI 173: Hooks 2 == Abstract 3 3 This library describes a mechanism known as hooks. Hooks are a certain kind of extension point in a program that allows interleaving the execution of arbitrary code with the execution of the program without introducing any coupling between the two. 4 4 5 5 For more information see: [[https://srfi.schemers.org/srfi-173/srfi-173.html|SRFI 173: Hooks]] 6 **Rationale6 == Rationale 7 7 The use of hooks is pervasive in GNU Emacs and many other programs that offer some "plugin" mechanism that is built on top a facility similar to what this library offers. 8 8 9 9 While building programs, there is a need to offer extension points to allow the user to extend and customize the execution of the program in way that avoids coupling. This library wants to help with that. 10 **Specification10 == Specification 11 11 This specification describes one disjoint type called hook. 12 12 … … 67 67 68 68 In a Scheme with invokable objects, hooks can invoked directly. 69 **Implementation Notes69 == Implementation Notes 70 70 The reference implementation from SRFI-173 was used verbatim, with the exception of a single call to =assume= from [[https://srfi.schemers.org/srfi-145/srfi-145.html|SRFI 145]], which was replaced with =assert=. 71 **Acknowledgements71 == Acknowledgements 72 72 This specification is based on the GNU Guile module called [[https://www.gnu.org/software/guile/manual/html_node/Hooks.html#Hooks|hook]]. 73 **Author73 == Author 74 74 The SRFI-173 library author is Amirouche Boubekki. It was ported to Chicken by Sergey Goldgaber. 75 **Copyright75 == Copyright 76 76 Copyright © Amirouche Boubekki (2019). 77 77 … … 81 81 82 82 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 83 **Version history84 ***0.183 == Version history 84 === 0.1 85 85 Ported to Chicken 5.2.0
Note: See TracChangeset
for help on using the changeset viewer.