lists in enclosed expression
Per Bothner
(13 May 2013 20:19 UTC)
|
Re: lists in enclosed expression
John Cowan
(13 May 2013 22:25 UTC)
|
Re: lists in enclosed expression
Per Bothner
(13 May 2013 22:43 UTC)
|
Re: lists in enclosed expression
John Cowan
(13 May 2013 22:59 UTC)
|
Re: lists in enclosed expression
Per Bothner
(21 May 2013 00:40 UTC)
|
Re: lists in enclosed expression
John Cowan
(21 May 2013 02:02 UTC)
|
Re: lists in enclosed expression Per Bothner (22 May 2013 20:58 UTC)
|
Re: lists in enclosed expression Per Bothner 22 May 2013 20:58 UTC
On 05/20/2013 07:02 PM, John Cowan wrote: >> Another issue is the interaction with format specifiers. > > I personally detest these: I much prefer Alex Shinn's fmt library > <http://synthcode.com/scheme/fmt> and hope it becomes the formatting > solution for R7RS-large. Much cleaner, more Schemey, and easier to > extend coherently. A fmt-style facility might also integrate pretty well with SRFI-10[789]: &{abc&[<format> ...]xyz} where the currently constructed string is the output destination. Studying the fmt document, some possible variants suggest themselves: * Instead of a format closure being a one-argument function taking a format-state, it could be a zero-argument function that uses a parameter for the current state, and returns a string. This could be simpler and more flexible. For example: Initially there could be a "null" format state, so the format just evaluates to a string. Such zero-argument functions may also be easier to understand for some. * Instead of zero-argument functions, each format is a promise, evaluated when needed. * Maybe generally use parameters more. Maybe use macros more. E.g. fmt is a syntatic sugar for a parameterize, and the <format> are just simple string expressions evaluated in that context, * Possibly use keyword arguments - if the language supports them. Some of the format functions take a long list of parameters, and using kewords might help. * If fmt were a macro (instead of a function) if could introduce into the body scope short (single-letter or double-letter) abbreviations for format functions. For example credit, only introduce these abbreviations in the "function position", while evaluating arguments in the normal scope. Anyway this is off-topic. Just suggesting that while fmt is an elegant idea, variations of the idea might worth considering, when the time comes. -- --Per Bothner xxxxxx@bothner.com http://per.bothner.com/