Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 16:29 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(10 Sep 2020 16:34 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Duy Nguyen
(10 Sep 2020 16:42 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Lassi Kortela
(10 Sep 2020 16:57 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Duy Nguyen
(10 Sep 2020 17:09 UTC)
|
Re: Remove file descriptors completely from srfi-170? Lassi Kortela (10 Sep 2020 17:21 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Duy Nguyen
(10 Sep 2020 17:35 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(10 Sep 2020 17:37 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 17:36 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Duy Nguyen
(10 Sep 2020 17:51 UTC)
|
Re: Remove file descriptors completely from srfi-170?
John Cowan
(10 Sep 2020 18:11 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Duy Nguyen
(10 Sep 2020 18:49 UTC)
|
Re: Remove file descriptors completely from srfi-170?
John Cowan
(10 Sep 2020 18:52 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 19:02 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Lassi Kortela
(10 Sep 2020 19:12 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(10 Sep 2020 19:08 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Lassi Kortela
(10 Sep 2020 19:16 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 19:23 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(10 Sep 2020 19:28 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Shiro Kawai
(10 Sep 2020 19:58 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(10 Sep 2020 20:02 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Shiro Kawai
(10 Sep 2020 20:13 UTC)
|
Re: Remove file descriptors completely from srfi-170?
John Cowan
(10 Sep 2020 20:19 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 20:49 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(11 Sep 2020 13:20 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(11 Sep 2020 14:04 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(11 Sep 2020 14:56 UTC)
|
Re: Remove file descriptors completely from srfi-170?
John Cowan
(11 Sep 2020 15:32 UTC)
|
Re: Remove file descriptors completely from srfi-170?
John Cowan
(10 Sep 2020 20:18 UTC)
|
Re: Remove file descriptors completely from srfi-170?
Marc Nieper-Wißkirchen
(11 Sep 2020 13:50 UTC)
|
R7RS scope & yearly editions
Lassi Kortela
(11 Sep 2020 14:10 UTC)
|
Re: R7RS scope & yearly editions
Marc Nieper-Wißkirchen
(11 Sep 2020 14:22 UTC)
|
Re: R7RS scope & yearly editions
Lassi Kortela
(11 Sep 2020 14:26 UTC)
|
Re: R7RS scope & yearly editions
hga@xxxxxx
(11 Sep 2020 14:31 UTC)
|
Re: R7RS scope & yearly editions
Marc Nieper-Wißkirchen
(11 Sep 2020 14:48 UTC)
|
Re: R7RS scope & yearly editions & language interop
Lassi Kortela
(11 Sep 2020 15:20 UTC)
|
Re: R7RS scope & yearly editions & language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 15:28 UTC)
|
Re: R7RS scope & yearly editions & language interop
John Cowan
(11 Sep 2020 17:11 UTC)
|
Language interop
Lassi Kortela
(11 Sep 2020 17:55 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 18:04 UTC)
|
Re: Language interop
Lassi Kortela
(11 Sep 2020 18:14 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 18:28 UTC)
|
Re: Language interop
hga@xxxxxx
(11 Sep 2020 18:51 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 20:29 UTC)
|
Re: Language interop
hga@xxxxxx
(11 Sep 2020 21:00 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(12 Sep 2020 07:26 UTC)
|
Re: Language interop
Lassi Kortela
(11 Sep 2020 19:18 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 20:38 UTC)
|
Re: Language interop
John Cowan
(11 Sep 2020 20:51 UTC)
|
Re: Language interop
hga@xxxxxx
(11 Sep 2020 18:30 UTC)
|
Re: Language interop
John Cowan
(11 Sep 2020 19:46 UTC)
|
Re: Language interop
Marc Nieper-Wißkirchen
(11 Sep 2020 20:15 UTC)
|
Re: Language interop
John Cowan
(11 Sep 2020 19:42 UTC)
|
Re: R7RS scope & yearly editions
hga@xxxxxx
(11 Sep 2020 15:35 UTC)
|
Re: R7RS scope & yearly editions
Marc Nieper-Wißkirchen
(11 Sep 2020 15:56 UTC)
|
Re: R7RS scope & yearly editions & syntax debates are so 1980
Lassi Kortela
(11 Sep 2020 16:36 UTC)
|
Re: R7RS scope & yearly editions & syntax debates are so 1980
John Cowan
(11 Sep 2020 17:02 UTC)
|
Interlisp and structural code editing
Lassi Kortela
(11 Sep 2020 17:45 UTC)
|
Re: Interlisp and structural code editing
John Cowan
(11 Sep 2020 20:16 UTC)
|
Re: R7RS scope & yearly editions
John Cowan
(11 Sep 2020 16:57 UTC)
|
Re: R7RS scope & yearly editions
Marc Nieper-Wißkirchen
(11 Sep 2020 17:23 UTC)
|
Re: R7RS scope & yearly editions
John Cowan
(11 Sep 2020 20:31 UTC)
|
Re: R7RS scope & yearly editions
Arthur A. Gleckler
(12 Sep 2020 17:39 UTC)
|
Re: R7RS scope & yearly editions
John Cowan
(11 Sep 2020 16:39 UTC)
|
Re: R7RS scope & yearly editions
Marc Nieper-Wißkirchen
(11 Sep 2020 17:01 UTC)
|
Re: R7RS scope & yearly editions
Lassi Kortela
(11 Sep 2020 17:15 UTC)
|
Re: Remove file descriptors completely from srfi-170?
hga@xxxxxx
(10 Sep 2020 18:40 UTC)
|
> If you want to write portable programs, using an implementation > specific way to get fd is a non-starter. How fds are managed by each > implementation may be different, complicates the problem more if > you're leaning towards cond-expand. Writing such a program based on > SRFI 170 does not make it portable. Providing more SRFIs that cover > those use cases [1] does. Right, I forgot that some Schemes do some magic to try to maintain 1:1 correspondence between open ports and fd's. IMHO that's an impossible goal. The abstraction is going to be hugely complex and leak like a sieve. It should be understood that any code turning ports into fd numbers or vice versa is operating on an "I know what I'm doing, and if it breaks I get to keep both pieces" basis. Most of SRFI 170 is less treacherous than that, but it's already low-level-ish in parts. For example, SRFI 170 uses the OS current-directory instead of the Scheme thread's current-directory parameter (against repeated cautions from a few of us, but maybe that ship has sailed). Using the OS CWD in Scheme is low-level business. > The opposite may be true in Scheme because ports feel "native" while > fds are actually a strange thing with edge cases (that led to the dup > thingy in srfi 170). Ports definitely feel native, but they are not at all simple. They are one of the most complex abstractions in Scheme. How is buffering done? Has the port been flushed? Is another port using the same underlying fd? When will the port be garbage-collected, and what happens when it is? Does the port have separate read and write ends, and are those closed separately or at the same time? In C, stdio FILE* handles feel comfortable to newbies, but experts feel more comfortable with raw file descriptors. The latter make it easier to answer questions like "what kind of buffering am I using?" and "how much memory is this port taking". > And once you get an native FD you are likely tied to a specific > platform, losing portability that those GUI toolkits provide. You face > a shortcoming of the GUI toolkit. You bring it up to discuss a way > forward. Then you may get a new API that's guaranteed to work in a new > version, without going down to native API. Waiting for a new design of a library API is not practical when writing applications. You solve the immediate problem in a way that works only for your application and then move on. Inability to access the native handle can result in things like having to rewrite an entire GUI widget from scratch when the library provides a widget that almost does what you want but you can't customize it since you can't reach the handle. I imagine there are similar scenarios having to do with file descriptors.