chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-hackers] [PATCH] Moving some things from library.scm and eval.s


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

Attachment: 0001-Move-lo-level-hash-tables-to-the-internal-unit-modul.patch
Description: Text Data

Attachment: 0002-Move-time-macro-helper-procedures-to-chicken.interna.patch
Description: Text Data

Attachment: 0003-Remove-sys-nodups-move-take-drop-right-into-chicken..patch
Description: Text Data

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]