From: Ben Bacarisse <ben.usenet@bsb.me.uk>
Subject: Re: project euler 26
Date: Fri, 08 Sep 2023 22:02:36 +0100 [thread overview]
Message-ID: <87tts4ml8z.fsf@bsb.me.uk> (raw)
In-Reply-To: udedrj$3bt69$1@dont-email.me
"G.B." <bauhaus@notmyhomepage.invalid> writes:
> On 07.09.23 01:32, Ben Bacarisse wrote:
>
>
>> A fix (though it's not really ideal) would be to use function
>> composition here (inventing . as the composition operator):
>
> Hm. A stateful, composed function that needs to be applied
> in a certain way. Is that so different from calling interface
> subprograms of a certain type?
There was nothing stateful (as I understand the term) in either function
being composed.
As to your question, not being an Ada expert I can't answer. I could
not see any fix other than passing a composed function which would, it
seems, have to be written afresh. Is that what your question refers to?
If so, then yes there is a small difference: writing a function (albeit
just a few lines) vs. applying an operator to two already written
functions.
> A wild guess: only "monads" would add substantial toppings
> to the commonalities. Considering the computational powers of
> C++'s "hair-raising template metaprogramming" [14.4], the idea
> of "Ada generics" = "functional style" is probably limited
> in scope.
>
> So, does type composition help?
My turn to guess now: you are not being serious? I see no connection to
monads or type composition. And why bring C++ into it?
Having found the maximum of the function 'Period' over a range 2..999,
you might find yourself a week later wanting the maximum absolute value
of the numbers in an Ordered_Map. And then later the maximum of sine
squared over the elements of 2D array. You might want to have a
resuable "maximum of F over X" function, so I was curious about how
close one could get to this in Ada (or, more accurately, what the
restrictions on X and F might have to be).
--
Ben.
next prev parent reply other threads:[~2023-09-08 21:02 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 9:19 project euler 26 CSYH (QAQ)
2023-09-04 11:06 ` Niklas Holsti
2023-09-04 12:39 ` Dmitry A. Kazakov
2023-09-04 16:01 ` Ben Bacarisse
2023-09-04 19:20 ` Dmitry A. Kazakov
2023-09-04 20:18 ` Ben Bacarisse
2023-09-04 21:00 ` Dmitry A. Kazakov
2023-09-04 23:16 ` Ben Bacarisse
2023-09-05 7:23 ` Dmitry A. Kazakov
2023-09-05 15:18 ` Ben Bacarisse
2023-09-05 17:08 ` Dmitry A. Kazakov
2023-09-06 1:10 ` Ben Bacarisse
2023-09-06 7:06 ` Dmitry A. Kazakov
2023-09-06 15:16 ` Ben Bacarisse
2023-09-06 15:54 ` Dmitry A. Kazakov
2023-09-06 23:32 ` Ben Bacarisse
2023-09-07 9:02 ` Dmitry A. Kazakov
2023-09-08 1:32 ` Ben Bacarisse
2023-09-08 7:23 ` Dmitry A. Kazakov
2023-09-09 0:25 ` Ben Bacarisse
2023-09-09 9:32 ` Dmitry A. Kazakov
2023-09-10 1:20 ` Ben Bacarisse
2023-09-10 8:46 ` Dmitry A. Kazakov
2023-09-10 19:22 ` Ben Bacarisse
2023-09-11 6:53 ` Dmitry A. Kazakov
2023-09-11 16:13 ` Ben Bacarisse
2023-09-12 7:17 ` Dmitry A. Kazakov
2023-09-13 12:24 ` Ben Bacarisse
2023-09-14 6:33 ` Dmitry A. Kazakov
2023-09-14 14:30 ` Ben Bacarisse
2023-09-08 6:09 ` G.B.
2023-09-08 21:02 ` Ben Bacarisse [this message]
2023-09-09 8:13 ` G.B.
2023-09-09 21:04 ` Ben Bacarisse
2023-09-10 9:11 ` Dmitry A. Kazakov
2023-09-05 17:35 ` moi
2023-09-04 14:23 ` Dmitry A. Kazakov
2023-09-07 7:31 ` Francesc Rocher
2023-09-15 9:07 ` CSYH (QAQ)
2023-09-19 7:59 ` comp.lang.ada
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox