comp.lang.ada
 help / color / mirror / Atom feed
* Advent of Code day 2
@ 2020-12-02 22:47 Stephen Leake
  2020-12-02 23:45 ` John Perry
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Leake @ 2020-12-02 22:47 UTC (permalink / raw)


This is an example of the customer problem spec not being complete; in
the example, all the letter positions are single digit, so my first
draft assumed that, which made finding the values trivial. But then the
real input has 1 or 2 digit numbers.

Handling that took me a while; first I had to actually understand the
semantics of Ada.Strings.Index (Source, Set, Test); "the smallest index
satisfying the test" does _not_ produce a span of characters matching
the test; I should have used Gnatcoll.regexp.

Then I found an indent bug in the development version of emacs ada-mode,
which I took a detour to fix. Which is one reason to do this contest;
writing Ada code is a good way to find bugs in ada-mode. (just out of
curiosity; what development environments are you all using?)

Then for the second puzzle, the fact that Ada String slices _don't_ have
first index 1 confused things; I ended up writing a Slide function to
keep the logic simpler.

Finally got it right.

I was hoping to use 'Reduce in the sled rental count, but GNAT Community
2020 -gnat2020 -gnatX doesn't support that. I did use @, which I like a
lot.

-- 
-- Stephe

Written from unceded ancestral homelands of the Huichiun, an Ohlone
people,for which I pay Shuumi Land Tax

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

end of thread, other threads:[~2020-12-03 11:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-02 22:47 Advent of Code day 2 Stephen Leake
2020-12-02 23:45 ` John Perry
2020-12-03 11:52   ` Stephen Leake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox