[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Convert (some) core units to modules
From: |
Daniel Leslie |
Subject: |
Re: [Chicken-hackers] [PATCH] Convert (some) core units to modules |
Date: |
Sat, 14 Feb 2015 14:50:28 -0800 |
Sounds good!
Slightly apropos, has there been any discussion regarding creating a
transition document for moving from Chicken 4 to 5? It sounds like there's
bound to be changes that are going to require updating a fair number of eggs.
-Dan
Sent from my BlackBerry 10 smartphone.
Original Message
From: Evan Hanson
Sent: Saturday, February 14, 2015 2:36 PM
To: address@hidden
Subject: [Chicken-hackers] [PATCH] Convert (some) core units to modules
Hi hackers,
I've converted some of the core units into modules, as a small step toward
simplifying the way libraries are loaded. In doing so, I've also namespaced
them under "chicken" per the CHICKEN 5 roadmap and various ML discussions. The
following are included in this patch:
- data-structures -> chicken.data-structures
- extras -> chicken.extras
- files -> chicken.files
- foreign -> chicken.foreign [1]
- irregex -> chicken.irregex
- lolevel -> chicken.lolevel
- ports -> chicken.ports
- posix -> chicken.posix
- tcp -> chicken.tcp
- utils -> chicken.utils
This change is *mostly* backwards compatible, as only import module names have
changed -- unit and library names have stayed the same, for now -- and aliases
have been put in place so that e.g. `(use extras)` will still Just Work. What
isn't backwards-compatible is that the units that were implicitly available in
interpreted code before (data-structures, extras, ports) must now be explicitly
imported. I think this is a win, as it matches compiled behavior.
I haven't updated any c-platform rewrites, as it sounds like their fate is up
for discussion.
Although not all units are finished, I'm putting this forward now in order to
avoid diverging too much from the chicken-5 branch and causing too many
conflicts with the other work that's going on. The attached patch is the
current delta from chicken-5...chicken-5-unit-modules, but that branch contains
reasonably well-defined commits so I'd like to preserve the history, as has
been suggested on other patches.
Cheers,
Evan
[1]: This is currently just a renaming; it's still a primitive module.