This page is part of the web mail archives of SRFI 112 from before July 7th, 2015. The new archives for SRFI 112 contain all messages, not just those from before July 7th, 2015.
Emmanuel Medernach scripsit:
Yes, that was an irrelevance I shouldn't have brought up.
> I don't think you have to thread it through all your code, we have
> modules don't we ?
> The syslog interface is very similar to a port interface (inBut you'll notice that openlog() does not return anything recognizable
> accordance with "Everything is a file"'s Unix philosophy):
>
> void openlog(const char *ident, int option, int facility);
> void syslog(int priority, const char *format, ...);
> void closelog(void);
as a port, nor does syslog() accept anything like a port (unlike, say,
fprintf). Really, what openlog() does is to override certain parameters
(in the Scheme sense) that syslog() examines; in turn, closelog()
restores the defaults. The names "open" and "close" are very misleading.
> Currying 'syslog' is sufficient to obtain a true port interface :Yes, I suppose that will work. But I wouldn't like to see it a
>
> (syslog-open ident option facility)
> (syslog-get-port priority)
> (syslog-close)
requirement of how to do syslog in Scheme, simply because of making this
API less flexible.
> We digress, but for the sake of WG2, I am sure being able toI've been thinking about that, but I have not been able to come up with a
> create and handle custom ports like with Chicken or Racket's
> 'make-input-port' is a good thing to have.
sufficiently universal and yet usable SPI (service-provider interface) for
such ports. We should move that part of the discussion to scheme-reports
or the WG2 list.