find . -name '*.log' -delete3,487 karma · joined May 5, 2016
Topics of Interest:
Compilers
Programming Languages
Functional Programming
Optimal Lambda Reduction find . -name '*.log' -deleteAt a science fiction convention, a woman said to me, "Dr. Asimov, I have just finished your book Childhood's End. I liked it, but I didn't think it was as good as your other books."
Maintaining a straight and solemn face (with an enormous effort), I said, "Yes, ma'am. I was frightfully disappointed in that book, which I thought was quite inferior. I therefore insisted it appear under the pseudonym of Arthur C. Clarke, Jr."
[0] https://en.wikipedia.org/wiki/Isaac_Asimov
[0] http://investpost.org/mutual-funds/group-invests-5-million-t...
Here's the abstract.
Stefan Mandel is the man who won the lottery 14 times. He never disclosed the recipe he called combinatorial condensation, which enabled him to hit the Romanian lottery jackpot in the early phase of his betting career. Combinatorial condensation is frequently mixed up with another strategy known as buying the pot, which Stefan Mandel was pursuing later on. On occasion, he dropped a few hints on combinatorial condensation. The hints are applied in this work to narrow down and assess his initial recipe. The underlying theory resembles what a weekend mathematician, as he once referred to himself, may have encountered in the 1960s. Calculations indicate that he took residual risks that his method might fail. Residual risks explain why he changed his strategy from combinatorial condensation to buying the pot. The cardinality of the (15, 6, 6, 5)- and (49, 6, 6, 5)-lottery schemes shows that Stefan Mandel probably wasn't aware of lottery designs. First concepts on such topics had been available at that time, but coherent theories on combinatorial designs took off only in later decades, triggered by growing computing power, and eventually triggered by Stefan Mandel's publicity and successes in the field. But, as the comparison with actual covering designs reveals, Stefan Mandel most likely pioneered in constructing a (15, 6, 5)-covering design many years before others published about it, which he applied in the Romanian lottery.
[0] https://en.wikipedia.org/wiki/PRIMOS
[1] https://en.wikipedia.org/wiki/Livermore_Time_Sharing_System
[2] https://webhome.weizmann.ac.il/home/fhlevins/RTF/RTF-TOC.htm...
[0] https://en.wikipedia.org/wiki/International_auxiliary_langua...
[0] https://www.artima.com/articles/the-trouble-with-checked-exc...
The Republic of Minerva[0] is a good example of this. Some libertarians built an artificial island on a reef and the neighboring country of Tonga annexed it.
my_func({.arg1 = val1, .arg2 = val2});[0] https://clang.llvm.org/docs/LanguageExtensions.html#builtin-...
[0] https://en.wikipedia.org/wiki/Document_management_system
The reason is historical and reflects a flaw in the POSIX standards process, in my opinion, one that hopefully won't be repeated in the future. I finally tracked down why this insane behavior was standardized by the POSIX committee by talking to long-time BSD hacker and POSIX standards committee member Kirk McKusick (he of the BSD daemon artwork). As he recalls, AT&T brought the current behavior to the standards committee as a proposal for byte-range locking, as this was how their current code implementation worked. The committee asked other ISVs if this was how locking should be done. The ISVs who cared about byte range locking were the large database vendors such as Oracle, Sybase and Informix (at the time). All of these companies did their own byte range locking within their own applications, none of them depended on or needed the underlying operating system to provide locking services for them. So their unanimous answer was "we don't care". In the absence of any strong negative feedback on a proposal, the committee added it "as-is", and took as the desired behavior the specifics of the first implementation, the brain-dead one from AT&T.
[0] https://www.samba.org/samba/news/articles/low_point/tale_two...
[0] https://en.wikipedia.org/wiki/BCPL
[1] https://en.wikipedia.org/wiki/BLISS
[2] https://en.wikipedia.org/wiki/Forth_(programming_language)
[0] https://jvns.ca/blog/2020/10/26/ninja--a-simple-way-to-do-bu...
OCaml types are complex enough that monomorphization like Rust or C++ is impossible, so everything is boxed.
[0] https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg001...
You take a chestnut, and you hook the ice pick. You wait until nobody is in the kitchen, and then one kid presses down on the pilot-light button so that a long delicate blue finger of flame comes out, and the other kid puts the ice pick in the flame until it is red-hot. When it is, he bores a hole in the chestnut. You do as many as you can until somebody comes and asks you what you are doing, and then, according to your standing in the family, that day, you either plead, argue, or say, “Oh, jeez,” and slink away.
Alexia Massalin's Synthesis[0] (pdf) operating system did JIT-like optimizations for system calls. Here's a LWN article[1] with a summary. Anyone who's interested in operating systems should read this thesis.
HP's Dynamo[2] runtime optimizer did JIT-like optimizations on PA-RISC binaries; it was released in 2000. DynamoRIO[3] is an open source descendant. Also, DEC had a similar tool for the Alpha, but I've forgotten the name.
[0] https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&d...
[1] https://lwn.net/Articles/270081/