[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Split r6rs-ports.c according to module boundaries
From: |
Andreas Rottmann |
Subject: |
Re: [PATCH] Split r6rs-ports.c according to module boundaries |
Date: |
Sat, 30 Nov 2013 15:54:55 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Mark H Weaver <address@hidden> writes:
> Hi Andreas,
>
> This new patch has a very serious problem, which was not obvious at
> first glance. We've made some significant improvements to r6rs-ports.c
> since you first introduced this patch, and this new patch would
> effectively undo all of them. It's a good thing I took the time to
> check. Please be more careful.
>
Thanks for taking a look and sorry for being sloppy; I'd have expected
merge conflicts in this case when updating the patch; for some reason
topgit updated the patch without any conflicts. Since you raise
concerns whether this patch really makes sense on a fundamental level,
let's figure out this question before going into specifics.
> I confess I'm not entirely clear on why this module is being split. It
> seems to me that this whole thing is the R6RS ports API. Can you help
> me understand the reason for this split?
>
I've split it to match the two Scheme modules that already existed:
(ice-9 binary-ports) and (rnrs io ports). The latter does a private
import (via '@@') of '%make-transcoded-port' defined in the former in
the implementation of 'transcoded-port'.
I'd like to get rid of that invocation of '@@', but perhaps splitting
the C code is misguided, and it would be better to instead move the
implementation of 'transcoded-port' to (ice-9 binary-ports), along with
the rest of the transcoder API, i.e. place the implementation of all
these identifiers in (ice-9 binary-ports):
eol-style native-eol-style error-handling-mode make-transcoder
transcoder-codec transcoder-eol-style transcoder-error-handling-mode
native-transcoder latin-1-codec utf-8-codec utf-16-codec
Thoughts?
--
Andreas Rottmann -- <http://rotty.xx.vu/>