They typically have a railing around them. The circumstances of this incident are unknown beyond a small set of details. The report indicates that the person who fell was wearing a life vest, it is likely they were doing work around the pool beyond the normal safety barriers.
Ada programs tend to define types of the problem to be solved. The compiler then adapts the low-level type to match what is requested. Rust programs tend to rely on low-level types.
That may not be clear, so two examples may help:
Ada programmers prefer to specify integer types in terms of the ranges of values they may take and/or the precision of floating-point types in terms of digits. I ended up doing this at least once, where on Day 23 I specified a floating-point type in terms of the number of digits it should reproduce accurately: Digits 18. The compiler automatically chose the most appropriate machine type for that.
Ada arrays don't have to start from 0, nor even do they have to be indexed by integers. An example of this appears below.
By contrast, the Rust programs I've seen tend to specify types in terms of low-level, machine types. Thus, I tried to address the same problem using an f64. In this particular case, there were repercussions, but usually that works fine as long as you know what the machine types can do. You can index Rust types with non-integers, but it takes quite a bit more work than Ada.
> By contrast, the Rust programs I've seen tend to specify types in terms of low-level, machine types.
This seems to be an artifact of the domain that Rust is currently being used in. I don't think it's anathema to Rust to evolve to be able to add some of these features. char indexed arrays are something I've used a lot (most via `char c - 'a'`\, but native support for it would be nice).
F'77 added arbitrary lower bounds on arrays, including explicit-shaped and assumed-shaped dummy arrays. It is a useful and portable feature, though somewhat confusing to newcomers when they try to pass an array with non-default lower bounds as an actual argument and they don't work as one would expect.
F'90 added arbitrary lower bounds on assumed-shape dummy arrays, as well as on allocatables and pointers. Still pretty portable, though more confusing cases were added. F'2003 then added automatic (re)allocation of allocatables, and the results continue to astonish users. And only two compilers get them right, so they're not portable, either.
Ada's array indexing is part of its type system. Fortran's is not (for variables).
> "The only humane form of execution…is nitrogen asphyxiation"
Alabama executed a man with nitrogen in January 2025.
> "Despite state claims that it would be a painless death, witnesses reported Mr. Smith shook, convulsed, writhed, and gasped for minutes until he was pronounced dead at least 22 minutes after the execution began, though just how long it took is unknown since Alabama closed the execution curtain before the official time of death."
> The only humane form of execution (if there is such a thing) is nitrogen asphyxiation,
It was the original argument for the guillotine (which have been in use in France until the abolition of death penalty), but it didn't account for malfunctions which could get very dirty very fast …
From what I have seen from split-brain experiments, I am of the belief that by vocalizing our thoughts, we are more fully engaging both hemispheres of our brain through the auditory pathway in addition to the Corpus Callosum.
Pictures tell me that the language area is dominant in a single hemisphere, mostly the left side, with motoric stuff and thinking about words in the front (Broca's area) and hearing in the back (Wernicke's area).
So you may have to use the SLI bridge again just to make sense of what the other side is hearing.
reply