public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
* Re: Time for a new release? 3.1.2?
       [not found] <CABgWrqpX6g_iRPj0MOeX6cO4s0j_J6LEiHtedd2WDJwonkimcg@mail.gmail.com>
@ 2022-09-29  4:38 ` Per Bothner
       [not found]   ` <CAPh7weCYhajo9239=A4XsSdpJ+XPwkpFPJujhZRPPVH9atNCUQ@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Per Bothner @ 2022-09-29  4:38 UTC (permalink / raw)
  To: Duncan Mak, kawa mailing list



On 9/28/22 10:53, Duncan Mak via Kawa wrote:
> Hello Per,
> 
> It's been over two years since the last release (3.1.1, 2020-01-16), I
> count 72 commits made to the master branch since then.
> 
> Would it be a good time to make a 3.1.2 release soon?

Might as well call it 3.2.

It would be helpful if someone went through the changes
(using 'git log' and **/ChangeLog) to summarize what has
change in a format suitable for doc/news.texi.

Also make a note of where the manual needs to be updated.

Minor tweaks and bug fixes don't need to be mentioned.

-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Time for a new release? 3.1.2?
       [not found]           ` <CAPh7weCYBBZhC4nX+vbNJJrQrA4DbBo8LRvHHOVupyxWDxENNA@mail.gmail.com>
@ 2023-01-05 21:34             ` Per Bothner
  2023-01-06 12:16               ` Lassi Kortela
  2023-01-08 18:11               ` Sascha Ziemann
  0 siblings, 2 replies; 6+ messages in thread
From: Per Bothner @ 2023-01-05 21:34 UTC (permalink / raw)
  To: Arvydas Silanskas; +Cc: kawa mailing list



On 12/6/22 01:07, Arvydas Silanskas wrote:
> I'd like to bump a question, would we want to add (for the time being considering only red and tangerine) R7RS-large support? I'm fine with doing necessary work as far as human resources go, but I want to know that this is a direction that people agree with.

I think the R7RS-large process is off-track, and is unlikely to reach any useful destination
without a fundamental course-correction. Piling on more and more different-but-similar
libraries is not the way to do a programming language in the 21st century.  Even Common Lisp
realized that different differently-named functions for every useful data-type is not
good language design.

Scheme needs some way to define "interfaces"/"traits" that multiple data-types
can implement. Many Scheme implementations (including Kawa) have that, but a
general portable solution is highly desired.  Without that, there is no point
in piling on more and more libraries for more and more data types.

I am not the only one who feels this way, as you can see from the SRFI/R7RS mailing lists.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Time for a new release? 3.1.2?
  2023-01-05 21:34             ` Per Bothner
@ 2023-01-06 12:16               ` Lassi Kortela
  2023-01-08 18:11               ` Sascha Ziemann
  1 sibling, 0 replies; 6+ messages in thread
From: Lassi Kortela @ 2023-01-06 12:16 UTC (permalink / raw)
  To: Per Bothner, Arvydas Silanskas; +Cc: kawa mailing list

> I think the R7RS-large process is off-track, and is unlikely to reach 
> any useful destination
> without a fundamental course-correction. Piling on more and more 
> different-but-similar
> libraries is not the way to do a programming language in the 21st 
> century.  Even Common Lisp
> realized that different differently-named functions for every useful 
> data-type is not
> good language design.
> 
> Scheme needs some way to define "interfaces"/"traits" that multiple 
> data-types
> can implement. Many Scheme implementations (including Kawa) have that, 
> but a
> general portable solution is highly desired.  Without that, there is no 
> point
> in piling on more and more libraries for more and more data types.
> 
> I am not the only one who feels this way, as you can see from the 
> SRFI/R7RS mailing lists.

Thank you for saying this, Per. Agreed on all counts.

We just had another round of discussions on the SRFI lists. Like the 
earlier ones, it went nowhere. The core group cannot examine its own 
flaws. I'm leaving and starting alternatives.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Time for a new release? 3.1.2?
  2023-01-05 21:34             ` Per Bothner
  2023-01-06 12:16               ` Lassi Kortela
@ 2023-01-08 18:11               ` Sascha Ziemann
  2023-01-09  9:03                 ` Lassi Kortela
  1 sibling, 1 reply; 6+ messages in thread
From: Sascha Ziemann @ 2023-01-08 18:11 UTC (permalink / raw)
  To: kawa mailing list

> Scheme needs some way to define "interfaces"/"traits" that multiple data-types
> can implement. Many Scheme implementations (including Kawa) have that, but a
> general portable solution is highly desired.  Without that, there is no point
> in piling on more and more libraries for more and more data types.

This requires generics and this requires method dispatching.

Many Schemers like to pay the price for dynamic types, but are scared by the
price for dynamic dispatching. I am still astonished why this is the case.
Any ideas?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Time for a new release? 3.1.2?
  2023-01-08 18:11               ` Sascha Ziemann
@ 2023-01-09  9:03                 ` Lassi Kortela
       [not found]                   ` <CAPh7weAPj-zfSRgYLf4dcMAAGekpu8kUoBqbZATpuhXF+cz9VA@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Lassi Kortela @ 2023-01-09  9:03 UTC (permalink / raw)
  To: Sascha Ziemann, kawa mailing list

>> Scheme needs some way to define "interfaces"/"traits" that multiple data-types
>> can implement. Many Scheme implementations (including Kawa) have that, but a
>> general portable solution is highly desired.  Without that, there is no point
>> in piling on more and more libraries for more and more data types.

> This requires generics and this requires method dispatching.
> 
> Many Schemers like to pay the price for dynamic types, but are scared by the
> price for dynamic dispatching. I am still astonished why this is the case.

The efficiency debate can only be settled by profiling and benchmarking.

> Any ideas?

IMHO the right solution is:

- Specify generic collection procedures in RnRS.

- Those procedures MUST handle all the collection types in RnRS.

- The procedures SHOULD also handle extra collection types provided by 
the Scheme implementation (from SRFIs, etc.)

- The implementation MAY support user-defined generic procedures. When 
it does, the standard collection procedures SHOULD be defined using this 
framework so that users can extend them.

The RnRS number procedures are already generic, and work according to 
these principles (e.g. Kawa extends them to support quaternions). This 
approach is simple, flexible, and has stood the test of time.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Time for a new release? 3.1.2?
       [not found]                   ` <CAPh7weAPj-zfSRgYLf4dcMAAGekpu8kUoBqbZATpuhXF+cz9VA@mail.gmail.com>
@ 2023-01-09 10:51                     ` Lassi Kortela
  0 siblings, 0 replies; 6+ messages in thread
From: Lassi Kortela @ 2023-01-09 10:51 UTC (permalink / raw)
  To: Arvydas Silanskas; +Cc: Sascha Ziemann, kawa mailing list

> The way I understand the r7rs-large process, is that it tries to split 
> out low floor difficulty / portable concerns (eg., streams) from high 
> floor difficulty / not-portable concerns (syntax-case, etc), so that 
> implementations could choose to implement some but not all of it, to 
> extent that is feasible

Modularity is the only way forward for RnRS.

> (I wasn't there when it happened, but my 
> understanding of r6rs controversies was mostly to do with implementers 
> getting handed uncompromising burden of implementation requirements). 

The disagreements are about style as well as complexity.

> In that view, it seems sensible to me to have both specific procedures now 
> and plausibly generic procedures later. Also, specific procedures enable 
> more deterministic optimization opportunities. Number system is generic 
> in the standard, but we also have eg. srfi 143 providing non-generic 
> procedures with "allow more efficient implementations" stated as the 
> core reasoning.

Yes. R6RS also added fixnum procedures.

The existing specific procedures have to be kept for backward 
compatibility. Whether new ones should be added is another matter.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-01-09 10:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CABgWrqpX6g_iRPj0MOeX6cO4s0j_J6LEiHtedd2WDJwonkimcg@mail.gmail.com>
2022-09-29  4:38 ` Time for a new release? 3.1.2? Per Bothner
     [not found]   ` <CAPh7weCYhajo9239=A4XsSdpJ+XPwkpFPJujhZRPPVH9atNCUQ@mail.gmail.com>
     [not found]     ` <CAPh7weDFkf=NwWxu-zLGgQPwZk5Hxsjsv4DhqL7QBRAKb8TKHw@mail.gmail.com>
     [not found]       ` <CAPh7weBQ-cw0oJKTSVd_MLQMag8WeT5gzABv+Aoz8M97-spRuA@mail.gmail.com>
     [not found]         ` <CAMHuZZ1V=irui7k8BGgX2s+wULtKAMX1dKpQuwiA+TtennSeYw@mail.gmail.com>
     [not found]           ` <CAPh7weCYBBZhC4nX+vbNJJrQrA4DbBo8LRvHHOVupyxWDxENNA@mail.gmail.com>
2023-01-05 21:34             ` Per Bothner
2023-01-06 12:16               ` Lassi Kortela
2023-01-08 18:11               ` Sascha Ziemann
2023-01-09  9:03                 ` Lassi Kortela
     [not found]                   ` <CAPh7weAPj-zfSRgYLf4dcMAAGekpu8kUoBqbZATpuhXF+cz9VA@mail.gmail.com>
2023-01-09 10:51                     ` Lassi Kortela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).