New reference implementation
taylanbayirli@xxxxxx
(29 Aug 2015 17:38 UTC)
|
Re: New reference implementation Per Bothner (29 Aug 2015 20:23 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(29 Aug 2015 21:38 UTC)
|
Re: New reference implementation
Per Bothner
(30 Aug 2015 09:20 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(30 Aug 2015 10:45 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(31 Aug 2015 21:22 UTC)
|
Re: New reference implementation
Per Bothner
(31 Aug 2015 22:11 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(01 Sep 2015 08:44 UTC)
|
Re: New reference implementation
Per Bothner
(01 Sep 2015 10:44 UTC)
|
Re: New reference implementation
John Cowan
(30 Aug 2015 01:24 UTC)
|
Re: New reference implementation
Arthur A. Gleckler
(30 Aug 2015 04:35 UTC)
|
Re: New reference implementation
John Cowan
(30 Aug 2015 17:10 UTC)
|
Re: New reference implementation
Per Bothner
(30 Aug 2015 05:06 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(30 Aug 2015 08:06 UTC)
|
Re: New reference implementation
Per Bothner
(30 Aug 2015 08:25 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(30 Aug 2015 08:49 UTC)
|
Re: New reference implementation
Per Bothner
(30 Aug 2015 09:33 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(30 Aug 2015 12:35 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(22 Sep 2015 21:27 UTC)
|
Re: New reference implementation
Per Bothner
(24 Sep 2015 00:25 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(24 Sep 2015 08:26 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(26 Sep 2015 11:49 UTC)
|
Re: New reference implementation
Per Bothner
(28 Sep 2015 17:47 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(28 Sep 2015 19:54 UTC)
|
Re: New reference implementation
Per Bothner
(02 Oct 2015 06:07 UTC)
|
Re: New reference implementation
Per Bothner
(02 Oct 2015 06:36 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(02 Oct 2015 09:39 UTC)
|
Re: New reference implementation
Per Bothner
(06 Oct 2015 21:13 UTC)
|
Re: New reference implementation
taylanbayirli@xxxxxx
(07 Oct 2015 09:17 UTC)
|
(1) When you contact the author of some code, you will not endear yourself or win friends by starting by explain that his/her code is "over-complicated", "inconsistent", "wrong", and buggy. That is not a smart way to start the conversation, unless your goal is to piss him/her off. (2) Most maintainers like for each fix or re-write to be submitted separately, with separate justification. A mega-patch with a lot of unrelated changes is hard to evaluate. A complete re-write even more so. I suggest you read: http://people.redhat.com/rjones/how-to-supply-code-to-open-source-projects/ (3) If the code is non-idiomatic or over-complicated there might be reasons for that. It's a good idea to ask about those reasons before trying to simplify the code. Specifically, the code was written to be maximally portable, only requiring R%RS plus SRFI-0, while also supporting useful optional features, enabled by cond-expand. Some aspects / reasons for the complexity: (a) define-record-type was not in R5RS, so could not be assumed when the code was originally written in 2005. In 2015 it may be reasonable to simplify the code by assuming define-record-type is available. (b) There is no standard module system we can reasonably assume. That is still the case. (c) R5RS has no standard exception handling mechanism. At this point it might be reasonable to assume a common subset of the R6RS/R7RS exceptions. (4) > One might say that the best way to move forward is identify the actual > bugs in it and solve them, not touching the rest so as not to introduce > any new possible bugs. Yep. > But for the time being, I have little motivation to go that route. It's > mentally straining for me to go through this type of code. I wish to > allocate my time and energy to other things. That is your choice. It is also my choice to reject your submission. (5) > - It doesn't attempt to record line numbers itself, since test > expressions are named anyhow (the expression itself is printed when > the name is omitted), so I think it's an insignificant feature.up I disagree. Expecting people to come with a unique name for each test adds a needless hurdle to test-suite development. In many work-flows such a name is just useless noise. In other words, reporting line number of tests (especially failing tests) is a valuable feature. > - The output it prints by default is arguably nicer. Perhaps. But it's a change, and one that needs to be justified. I'm used to the current output, and I like it. > - It doesn't litter your working directory with a log file you didn't > ask for and which contains no more than the standard output. However, in my implementation the log file contains a lot more information than standard output. It is very useful in my experience. > It's only been tested moderately by me but I'm going to go on a limb and > say that I'm more confident in its overall bug-free-ness than the old > implementation, because clean code goes a long way. The innocence and optimism of the young ... As a general rule, old well-tested ugly code has fewer bugs than clean freshly-written code. > The promised list of issues for if you say no, and just want to fix them > in the existing implementation: I will look at these more closely. > In my opinion, most of these bugs could have been avoided if the style > of the code were more disciplined and simple such that it puts less > cognitive load on the programmer. See (1) above. -- --Per Bothner xxxxxx@bothner.com http://per.bothner.com/