develooper Front page | perl.perl5.porters | Postings from November 2016

Re: [perl #129961] [PATCH] Remove some compiler hoops to jumpthrough for EBCDIC

Thread Previous | Thread Next
Aaron Crane
November 27, 2016 18:42
Re: [perl #129961] [PATCH] Remove some compiler hoops to jumpthrough for EBCDIC
Message ID:
Andy Lester via RT <> wrote:
>> By coding it the way it was, I made it easier to read, and hence
>> maintain, and I knew it would compile on both types of machines
> That was my intent, too, to make it easier to follow for the programmer by encapsulating the EBCDIC-only variables within the ifdef blocks.

(Apologies for the delay in this response; I meant to follow up on
this ticket some weeks ago, but doing so apparently slipped my mind.)

My own view is that the net consequence of this change is to make it
harder rather than easier to follow the logic in question. My biggest
concerns relate to code structured like this:

#ifdef EBCDIC
                    if (convert_unicode) {
                    { … }

This sort of code interleaves conditionals written in two very
different languages. Correctly construing the meaning of this code for
all paths requires a mental dance that effectively reimplements the
various translation phases of a C compiler.

I'm also aware that we have a lot of code with the sort of structure
in question (and, indeed, some of it is  even harder to follow than
this example), but I'd strongly prefer simplifying what we already
have, rather than letting these structures proliferate. I think the
best course of action would be to revert
11327fa125f019cb46cfadd1fcec077cbcb8e41f (though I regret saying so,
because I know that you submitted this patch in a good-faith attempt
to improve Perl).

Aaron Crane **

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About