|
From: | Peter Bex |
Subject: | [Chicken-hackers] [PATCH] Moving some things from library.scm and eval.scm to internal.scm |
Date: | Sun, 30 Apr 2017 18:32:13 +0200 |
User-agent: | Mutt/1.5.23 (2014-03-12) |
Hi all, I am struggling with the chicken.eval module. I've considered renaming it to chicken.load, but then we still need to do something with "eval" and the whole support machinery that it requires. In any case, while pondering what to do with it, I noticed that the lo-level hash table support that is used throughout the codebase is defined in eval.scm, of all places, and eval.scm itself never uses this! So, I thought we could make eval a bit more self-contained by moving the hash table stuff into chicken.internal. While I was at it, getting rid of the ##sys# prefix seemed like a good idea as well. I also noticed that the (time) macro uses stuff from library.scm which is used nowhere else, and this also goes for the helper ##sys#take-right and ##sys#drop-right as well as ##sys#del and ##sys#nodups, so I removed those from library.scm as well. The only slightly iffy thing is that mini-srfi-1.scm has all the SRFI-1 procedures (even unused ones?), but take-right and drop-right are not in there, and in chicken.internal instead. I don't know how to clean that up yet: these two procedures need to be exported in some module, because syntax-rules expands into calls to them. This also means they can't be inlined, which was the whole point of mini-srfi-1 anyway. So I guess the post-patch situation qualifies as "okay, but surprising". Cheers, Peter
0001-Move-lo-level-hash-tables-to-the-internal-unit-modul.patch
Description: Text Data
0002-Move-time-macro-helper-procedures-to-chicken.interna.patch
Description: Text Data
0003-Remove-sys-nodups-move-take-drop-right-into-chicken..patch
Description: Text Data
signature.asc
Description: Digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |