From: Alex Shinn <[EMAIL PROTECTED]> Subject: Re: [Chicken-users] ditching syntax-case modules for the utf8 egg Date: Sat, 15 Mar 2008 02:36:45 +0900
> >>>>> "Tobia" == Tobia Conforto <[EMAIL PROTECTED]> writes: > > Tobia> Alex Shinn wrote: > >> I'm considering changing the utf8 egg to no longer > >> use syntax-case modules, so that it would work like > >> the numbers egg. > >> > >> The way this would work is that, naturally, if you > >> wanted to use utf8 semantics you'd just (use utf8), > >> this time with no need for syntax-case and nothing to > >> import. > >> > >> External modules, by default, would integrate > >> standard string procedures and not be affected. > >> However, if you wanted to make an extension > >> optionally work with utf8 semantics you could compile > >> it with (declare (not usual-integrations)) > > Tobia> This seems very straightforward and natural. > Tobia> What are the disadvantages, if any? (except for > Tobia> compatibility, aka. tremendous breakage as Felix > Tobia> put it) > > Tobia> I mean, what does the syntax-case module system > Tobia> gives us with regard to the utf8 egg that the > Tobia> proposed, numbers-like system wouldn't allow? > Tobia> Why was it done like that in the first place? > > When it was originally written, it would indeed have > incurred tremendous breakage, because most string operations > were not inlined. It really wasn't even a consideration. > > When Felix says it would incur tremendous breakage now, I > believe he's referring to the fact that people who are > currently using utf8 are all writing: > > (use utf8) > (import utf8) > > and now they'll have to remove the import line from their > existing code. Since we've just gone 3.0, now seems like > the ideal time to induce such breakage though. > Alex, what happens if I pass string operators as first class values? These don't get inlined. What happens now? cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
