Yah, I tend to think of type witnesses as actually existing at runtime and phantom types not, but in the union trick, they don't really exist either. So thinking on it some more, seems more of a way of expressing type parameters in the first place, and well, that's what the article was about.
Now I'm wondering what phantom types would look like in C...
A decent part of my job is open source. Our reason for doing it is simple: we would rather have people who are not us do the work instead of us.
On some of our projects this has been a great success. We have some strong outside contributors doing work on our project without us needing to pay them. In some cases, those contributors are from companies that are in direct competition with us.
On other projects we've open sourced, we've had people (including competitors) use, without anyone contributing back.
We have a solution to this. It's called the (L)GPL. If people would stop acting like asking for basic (zero cost) decency in exchange for their gift is tantamount to armed robbery, we could avoid this whole mess.
The GPL doesn't do anything when the project is just used internally by another company.
They never trigger the distribution clauses, and they own the copyrights of all the work being done. So if you NEVER distribute binaries outside your company's walls. The GPL is a giant nothing, for most practical cases.
That's why we're starting to see the AGPL more now. But even then, for INTERNAL applications. It's still a nothing.
The GPL doesn't cure people being greedy. It just changes how they are allowed to be greedy.
It's the flux / resin also found in the solder that causes that. At the typical soldering temperature of 400 °C, lead evaporates 10 million times slower than ice at -40 °C.
Discord locked down the ability of bots to read message contents back in 2022. For bots used in over 100 servers, doing so now requires explicit approval from Discord (in addition to the standard approval the server owner would need to give). For most bots, the rest of the bot API is rich enough for this to not be an issue.
That cuts out a lot of the value for LLM training; and will reduce the blast radius if Discord ever decides to fully pull the plug on message access.
To read message archives or to read messages in realtime? Because I was working on a sideproject that required monitoring the messages in a channel, not just slash commands.
The problem is that once this side effect is in the main version for a while, it becomes a feature whether you admit it or not. Since that is going to happen anyway, you might as well make it official.
The alternative approach is to do what Go did and explicitly randomize iteration order to prevent people from relying on a fixed order in the first place.
> Rabbi Eliezer then said to them: If the halakha is in accordance with my opinion, Heaven will prove it. A Divine Voice emerged from Heaven and said: Why are you differing with Rabbi Eliezer, as the halakha is in accordance with his opinion in every place that he expresses an opinion? Rabbi Yehoshua stood on his feet and said: It is written: “It is not in heaven” (Deuteronomy 30:12). The Gemara asks: What is the relevance of the phrase “It is not in heaven” in this context? Rabbi Yirmeya says: Since the Torah was already given at Mount Sinai, we do not regard a Divine Voice, as You already wrote at Mount Sinai, in the Torah: “After a majority to incline” (Exodus 23:2). Since the majority of Rabbis disagreed with Rabbi Eliezer’s opinion, the halakha is not ruled in accordance with his opinion. The Gemara relates: Years after, Rabbi Natan encountered Elijah the prophet and said to him: What did the Holy One, Blessed be He, do at that time, when Rabbi Yehoshua issued his declaration? Elijah said to him: The Holy One, Blessed be He, smiled and said: My children have triumphed over Me; My children have triumphed over Me.
> Activating an electric switch causes a spark, which is kind of like a fire.
So is walking on a carpet and removing your sweater and almost anything involving fabrics and motion.
Is it really a useful definition of "fire" and "spark"? Most people think of those as different things. Fire implies oxygen, you put out fires with heavy blankets or with nitrogen gas since time immemorial. Sparks, as in tiny plasma discharges, does not require oxygen and can not be put out the same way.
There's an important distinction between "thing that happens even if you don't intend it" and "thing that happens because you intentionally caused it" (and the even more subtle distinction between "beneficial side effect of thing you intended" and "neutral/negative side effect of thing you intended").
And in Jews consider birds to be "meat" because people in the 15th century kept getting confused. The Mosaic law is that the prohibition against mixing milk and meat applies to land animals; not water or sky animals (which each have their own set of rules).
This has been litigated well over a thousand years ago. To put it in modern legal terms, the legitimacy of an Eruv is a super precedent. It is discussed in depth in the Talmud, which is the clearest source of Jewish law.
Even in modern law, courts can and do come up with some fairly peculiar readings at times. Particularly with old laws or the constitution itself which can, at times, be vague at best when applied in a modern context.
The rules that the Eruv is a loophole for do not even come from God. They come from the specific interpretation that has developed about those relatively vague laws.
There is an old "joke" in Judaism that God has no place in interpreting Jewish law. I put joke in quotes because the Oven of Akhnai is itself part of the Talmud and is generally read as establishing that exact principle.
This type of "trick" is foundational to both Judaism and every common law system.
> This type of "trick" is foundational to... every common law system.
Disagree. Courts bend and stretch the law but only up to a point, and the more twisted interpretations tend to get overruled. Precedent is respected but only up to a point. And when people do apply a trick, everyone acknowledges that it's a trick, that they're subverting the will of the original drafters of the law because they think they know better than them.
I don't see why they wouldn't be. Basically all cities allow 3rd parties to run wires as long as they do all of the paperwork and rent the needed right of ways. Normally this is used for things like comm lines; but some inert wire isn't going to cause any issues.
The other religions would just need to care enough to ask, then install and maintain the wire.
I've mostly seen in done in Haskell, but have used it in it Scala as well to simulate type hierarchies not present in the actual type system.
In a way, this union trick is kind of like a phantom type, since the secondary type is never actually used.
reply