Advanced file port operations: please review.
John Cowan
(01 Nov 2019 23:01 UTC)
|
Re: Advanced file port operations: please review.
hga@xxxxxx
(02 Nov 2019 00:14 UTC)
|
Re: Advanced file port operations: please review.
John Cowan
(02 Nov 2019 02:19 UTC)
|
Re: Advanced file port operations: please review.
hga@xxxxxx
(02 Nov 2019 15:43 UTC)
|
Re: Advanced file port operations: please review.
John Cowan
(02 Nov 2019 18:15 UTC)
|
SRFI 177 as a dependency for keywords in other places
Lassi Kortela
(02 Nov 2019 23:00 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places Marc Nieper-Wißkirchen (03 Nov 2019 08:33 UTC)
|
Keyword arguments in R7RS-large and SRFIs
Lassi Kortela
(03 Nov 2019 09:16 UTC)
|
Re: Keyword arguments in R7RS-large and SRFIs
Amirouche Boubekki
(03 Nov 2019 14:28 UTC)
|
Re: Keyword arguments in R7RS-large and SRFIs
Lassi Kortela
(03 Nov 2019 15:53 UTC)
|
Re: Keyword arguments in R7RS-large and SRFIs
John Cowan
(03 Nov 2019 19:30 UTC)
|
How and Why keyword arguments are useful or harmful?
Amirouche Boubekki
(03 Nov 2019 20:11 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Amirouche Boubekki
(03 Nov 2019 20:14 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Lassi Kortela
(03 Nov 2019 20:26 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Lassi Kortela
(03 Nov 2019 20:30 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
John Cowan
(03 Nov 2019 22:08 UTC)
|
R7RS-large keyowrds
Lassi Kortela
(03 Nov 2019 22:18 UTC)
|
Re: R7RS-large keyowrds
John Cowan
(03 Nov 2019 22:29 UTC)
|
Re: R7RS-large keyowrds
Lassi Kortela
(03 Nov 2019 22:34 UTC)
|
Re: R7RS-large keyowrds
Marc Nieper-Wißkirchen
(06 Nov 2019 10:49 UTC)
|
Re: R7RS-large keyowrds
John Cowan
(06 Nov 2019 17:49 UTC)
|
Re: R7RS-large keyowrds
Marc Nieper-Wißkirchen
(06 Nov 2019 18:08 UTC)
|
Re: R7RS-large keyowrds
John Cowan
(06 Nov 2019 18:10 UTC)
|
Re: R7RS-large keyowrds
Marc Feeley
(06 Nov 2019 18:16 UTC)
|
Re: R7RS-large keyowrds
Marc Nieper-Wißkirchen
(06 Nov 2019 18:17 UTC)
|
Re: R7RS-large keyowrds
John Cowan
(06 Nov 2019 20:23 UTC)
|
Re: R7RS-large keyowrds
Marc Nieper-Wißkirchen
(06 Nov 2019 18:16 UTC)
|
Re: R7RS-large keyowrds
Marc Feeley
(06 Nov 2019 17:59 UTC)
|
Re: R7RS-large keyowrds
Lassi Kortela
(09 Nov 2019 12:29 UTC)
|
Re: R7RS-large keyowrds
Marc Nieper-Wißkirchen
(09 Nov 2019 12:53 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Amirouche Boubekki
(04 Nov 2019 03:31 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Amirouche Boubekki
(04 Nov 2019 04:10 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
John Cowan
(03 Nov 2019 23:52 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Amirouche Boubekki
(04 Nov 2019 03:43 UTC)
|
Re: How and Why keyword arguments are useful or harmful?
Marc Nieper-Wißkirchen
(06 Nov 2019 13:25 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
John Cowan
(03 Nov 2019 21:32 UTC)
|
When is a feature necessary
Lassi Kortela
(03 Nov 2019 22:06 UTC)
|
Re: When is a feature necessary
Lassi Kortela
(03 Nov 2019 22:13 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
Marc Nieper-Wißkirchen
(06 Nov 2019 10:21 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
John Cowan
(09 Nov 2019 03:30 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
Lassi Kortela
(09 Nov 2019 11:55 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
Marc Nieper-Wißkirchen
(09 Nov 2019 13:40 UTC)
|
Re: SRFI 177 as a dependency for keywords in other places
Marc Nieper-Wißkirchen
(09 Nov 2019 13:13 UTC)
|
Re: Advanced file port operations: please review.
Shiro Kawai
(02 Nov 2019 10:15 UTC)
|
Re: Advanced file port operations: please review.
John Cowan
(02 Nov 2019 14:36 UTC)
|
Port settings
Lassi Kortela
(02 Nov 2019 10:28 UTC)
|
Re: Port settings
John Cowan
(02 Nov 2019 14:00 UTC)
|
Re: Port settings
Lassi Kortela
(02 Nov 2019 14:13 UTC)
|
SRFI 177 has been advertised that it offers a portable way to extend an API while retaining compatibility. This is different to designing an API from scratch using keyword arguments. I strongly suggest not to do this for any API that is for inclusion into R7RS-large. So far, 100% of what goes into R7RS-large gets along without keyword arguments. Either positional optional arguments are used (e.g. by "hash-table-update!" in SRFI 125) or distinct procedure names are used (e.g. "set-filter" and "set-copy" in SRFI 133, which could have been made into one procedure "set-copy" through a "#:filter" keyword argument). If we change the general design of APIs along the way, the resulting R7RS-large standard may look more than we want like a Lisp ball of mud than like a Scheme snowball. (I'm not arguing against using SRFI 177 to implement an API. But new APIs definitely do not need keywords, even not to be pretty.) Marc Am So., 3. Nov. 2019 um 00:00 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>: > > > Adding open-file to SRFI 170 with keywords is a no-brainer, I think: we'll > > say that 170 depends on 177, and rig the ballot so that a vote for 170 is a > > vote for 177 as well. I did this with 128 in the Red Edition; it's > > appropriate whenever a SRFI's interface, as opposed to its implementation, > > depends on another SRFI. > > Interesting. > > I wonder how SRFI 177 dependencies should be declared. I intended it to > have just the macros. The macros implement keyword argument semantics > that are basically independent of the API in the SRFI. But since the API > surface is very small with only 2 macros, maybe it does no harm to have > the SRFI itself as a dependency for some things. > > > What to do about the R[567]RS procedures is more difficult. Because of > > call/kw they aren't just drop-in replacements as I had originally intended. > > I think the simplest thing is to make the fdes->port functions > > keyword-based. > > SRFI 177 is deliberately designed so that keyword lambdas can be called > like ordinary lambdas when no keywords are given to them. > > So for example a keyword lambda: > > (call-with-output-file string proc [settings-as-keyword-arguments]) > > Can always be called as > > (call-with-output-file string proc) > > just like RnRS `call-with-output-file`. > > Only if you want to give some keywords, do you need to use `call/kw`: > > (call/kw call-with-output-file string proc :exclusive #t) > > Of course, if you know you only need to support a particular Scheme > implementation and it has native keywords, you could leave out the call/kw. > > The advantage of full compatibility with native `lambda` really becomes > apparent in scenarios like this RnRS interoperability thing.