1,767 karma · joined September 29, 2015
However, these two facts put together mean that date-keyed associative arrays are always ordered from earliest to latest, and for reasons that I've forgotten, it was at least at one point inefficient to use the MUMPS facilities for reverse traversal of the associative arrays.
The solution? Defining another date format, which is `121531 - $d` where `$d` is a value in the standard MUMPS date representation. This was then used instead of or alongside the standard representation for indexing associative arrays.
Practically, this was a huge hazard for code correctness as you needed to be absolutely sure of which format the date number was in. This additionally marks Monday, September 27, 2173 as the festive occasion of date sorting doomsday, as it is the date on which the secondary format would cross over into negative values and probably start causing all kinds of subtle bugs throughout the system. Let's hope we will have moved on to better systems by then!
I'm not sure about other frameworks, but in PyTorch, I think it's fair to say that while graphs are implicit in the sense that they are dynamically constructed at runtime (as opposed to statically defined at compilation time as with TF), they are not implicit in the sense that they are not directly represented by PyTorch's data structures: PyTorch does store the computational graph. After a backward pass, you can ask each Tensor in the graph, for example, for its associated Node: https://pytorch.org/docs/stable/autograd.html#autograd-graph
I suppose what's at the heart of this, more than anything, is that Datalog has a near-trivial syntax that can transparently be accommodated by two simple data structures: lists and hash tables. Not so with SQL, whose COBOL-y nature obscures its syntax and makes it less straightforward to represent in everyday data structures.
* Orokaiva (Trans–New Guinea): digit-tally system https://lingweb.eva.mpg.de/channumerals/Orokaiva.htm
* Fas (Fas): binary system (base 2) https://lingweb.eva.mpg.de/channumerals/Momu-Fas.htm
* Pazeh (Austronesian): quinary (base 5) https://lingweb.eva.mpg.de/channumerals/Pazeh.htm
* Amis (Austronesian): decimal (base 10) https://lingweb.eva.mpg.de/channumerals/Amis.htm
* Ron (Afro-Asiatic, Chadic): duodecimal (base 12) https://lingweb.eva.mpg.de/channumerals/Ron-Chadic.htm
* Barapasi (East Geelvink Bay): vigesimal (base 20) https://lingweb.eva.mpg.de/channumerals/Barapasi.htm
* Meyah (East Bird Head-Sentani): mixed-quinary/vigesimal https://lingweb.eva.mpg.de/channumerals/Meyah.htm
[1]: https://linguistics.stackexchange.com/questions/2652/which-m...
This has been solved now--there's a blessed CLJS solution[1][2] as well as a third-party compiler with NPM support[3] which many prefer.
[1]: https://clojurescript.org/news/2017-07-12-clojurescript-is-n...
What do you feel is missing? Certainly there are options (something as frameworky as Fulcro, something as barebones as a React wrapper like Reagent), so there must be some itch you can't scratch?
Spelling is different from other domains of education like mathematics, however: an explanation of "correct spelling" is not to be found in natural law, but rather in a Katamari ball of historical contingencies of chance, intervention, and everything in between. (Why'd we keep the _-ough_ in words like _through_? What if the Simplified Spelling Board had succeeded in its aims and totally reformed English spellings? What if Scots, not the English, had had linguistic dominion over the United States? Etc.) Moreover, in large part because "correct spelling" is derived from one very peculiar and privileged variety of English that not everyone speaks, your ease of access to correct spelling is going to be facilitated or hindered by facts about your SES, race, and ethnicity.
This is why I don't really care when I see a spelling error anywhere, unless genuine confusion results, or stakes are high enough that adherence to a rigid standard must be maintained. In many ways, nothing is gained from imparting it to a small child compared to something like basic arithmetic. And moreover, in some contexts I think it's not unfair to call an evaluative insistence on standardized spelling a vehicle for linguistic and therefore ethnic chauvinism.
I understand your original reaction--having proper spelling is a display of fitness to teach, in the same way that, say, having won some Kaggle tournaments is a display of fitness to do data science. But spelling is a rather peculiar thing to insist on, and I'd have been much more interested if the teachers had been writing out multiplication tables on sandwich boards. Spelling is sociologically thorny, and there are bigger fish to fry.
Most suspicious in my mind is the core presupposition (not a contention, a presupposition--the article doesn't even argue for it!) that rich people will step up to the opportunity to fulfill their noble obligation to give more to the less wealthy. Having known some pretty stingy wealthy people (and some very generous blue-collar people), it's not obvious to me that this is true.
So like you say, your experience as an "end user" makes it seem like it's just one data structure at least in interface, though in implementation it's actually doing some performance optimization stuff which, I think I'm willing to grudgingly grant to the author, does make performance harder to reason about in principle. Though in my (very unserious) experience, I think I've enjoyed languages that take a possibly incomplete stab at getting performance right over ones that draw a line leaving it entirely out of scope and declare victory.
I'll equivocate a little and share that I have been bitten by these internals before, though the fault was mine: one time, I was unwittingly relying on an implementation detail of PersistentArrayMaps, which is that they preserve insertion order. PersistentHashMaps don't, and my code was mysteriously breaking when number of keys grew beyond 16 until several hours later I learned much of what I've just shared above.
[1]: https://www.javadoc.io/static/org.clojure/clojure/1.10.1/clo...
[2]: https://stackoverflow.com/questions/16516176/what-is-the-dif...
[3]: https://github.com/clojure/clojure/blob/5ffe3833508495ca7c63...
Rather, I think this is just some ambiguity about what the "few minutes" are for.
Can you give an example? As a medium user of Clojure I struggle to think of anything in the core that could rightly be considered a "bug" and fits this description.
OK, but on that timescale virtually nothing about climate change or environmental issues matters. On the scale of millions of years, life on Earth will continue in some way or another. But what's important is how much suffering will be endured in the potentially cataclysmic coming 100 years, and plastics hold great potential for harm on that timescale.