ookdatnog
Joined 10 years ago
Joined 10 years ago
Take sorting a list for example. The spec is quite short.
- for all xs: xs is a permutation of sort(xs)
- for all xs: sorted(sort(xs))
Where we can define "xs is a permutation of ys" as "for each x in xs: occurrences(x, xs) = occurrences(x, ys)"
And "sorted(l)" as "forall xs, x, y, ys: (l = xs ++ [x, y] ++ ys) => x < y".
A straightforward bubble or insertion sort would perhaps be considered as simple or simpler than this spec. But the sorting algorithms in, say, standard libraries, tend to be significantly more complex than this spec.
> The cache coherency protocol is one of the hardest parts of a modern CPU to make both fast and correct. Most of the complexity involved comes from supporting a language in which data is expected to be both shared and mutable as a matter of course.
I feel like we live in a world where everyone works very hard to pretend that C is our best low-level language, when in reality an APL-like purely functional array language would be a better candidate.
---
Thought experiment: Suppose a dear loved one is brutally murdered by a relative of the current democratically elected leader (imagine a hypothetical leader, country, etc). Through various extralegal manipulations, the leader ensures that the murderer is not convicted (evidence disappears, jurors are appointed in a fishy way, the judge turns out to be a family member of the murderer, ...) and you notice that none of the usual paths of recourse work. Perhaps you go to the press, but his supporters just dismiss this as a smear campaign. Crucially, this leader is very popular, their party controls the legislative and has appointed judges for years.
Following the reasoning in your post, which I think can be summarized as "the legislative and judicial branches, which are legitimately elected/appointed, chose not to stop him, therefore the separation of powers is not violated and this is how a democracy is supposed to work", the leader's actions do not constitute a violation of the separation of powers, and this incident does not demonstrate that this country's democracy is unhealthy.
---
I hope you agree that this conclusion is wrong, yet it follows inexorably from the argument you have made (because the sole precondition, that the other branches are legitimately elected/appointed, is satisfied). So we must conclude that there is a mistake in your argument, and I think it originates in the conflation of two of the core features of liberal democracy -- that is (a) leaders are elected and (b) there is a separation of powers. You are essentially saying that (b) holds because (a) holds, but it is important to remember that (a) and (b)are independent features that sometimes oppose each other: it is by design that the system (especially the judiciary) can overrule the majority of the population, at least for some time.
So the question of "are the judiciary and legislative branches effectively enforcing the separation of powers" is not actually related to whether these branches are legitimately appointed/elected, but to whether they are independent. By this I mean that they play their constitutionally prescribed role even if at times this is unpopular. For example, the judiciary's job is to enforce the law. In the thought experiment, they are not independent from the executive, and that is a deep system failure: they should enforce the law (convict the murderer) even if the (popular and legitimate) executive disagrees.
For example, the law is crystal clear wrt who has the authority to enact tariffs on foreign nations. The President cannot legally do this as the Constitution vests the power to raise taxes in Congress; reasonable people cannot disagree about this. Congress has granted him emergency powers on the basis of a fentanyl crisis at the Mexican border; the scope of these emergency powers clearly does not include imposing tariffs on, say, Australia. Again, there is no room for interpretation here, this is all crystal clear. The fact that the tariffs haven't been effectively struck down yet is a clear failure of the separation of powers, because the law is so clear. The popularity of the president or his policy is completely irrelevant to the question of whether he should be stopped by the courts.
The main reason this needs to exist is to make sure that, indeed, the next election is a free and fair election. If the separation of powers does not hold, then there is nothing stopping the executive from manipulating the election and hollowing out democracy. This has happened many times in history, and it is exactly what people (rightfully, I believe) fear about the Trump presidency.
- Fundamentalists never hijacked the FSF, they founded it: Stallman is about as fundamentalist as possible about free software.
- In the case of the FSF, the fundamentalists are absolutely walking the walk, both in terms of contributing software, and in terms of going out of their way to not use proprietary software.
Genuine question: is this something we know from evidence, or an assumption? I vaguely recall having read that comparison between skeletal remains of early farmers and hunter-gatherers indicated that the latter had a better diet, but I'm not sure if I'm remembering correctly or how much that observation generalizes.
https://hackage.haskell.org/package/effectful#what-about-mtl
1. Initially there was no way to do effects in Haskell, everything was pure.
2. Then it was realized that IO can be modeled with monads, so the IO type and do notation were added.
3. Gradual realization that monads can be used to also constrain effects, ie you can construct a type of "stateful computations" that can read and write to a specific state, but not touch other states or write to disk or something.
4. Monad transformers are invented, which allow stacking monads on top of eachother to support multiple effects. Together with type classes, this gets us pretty close to extensible effects (the approach used in Flix, if I understand it correctly). So for example you can express that your function needs to write to a log and may exit early with an error message with the constraints `(MonadWriter w m, MonadError e m) => ... -> m resultType`, and you can then use monad transformers to build a stack that provides both of these effects.
5. Monad transformers have some issues though: they affect performance significantly and the interaction between effects is tricky to reason about. So an alternative is sought and found in extensible effects. The initial proposals were, iirc, based on free monads, but those aren't great for performance either, so ever since there has been a whole zoo of different effects and handlers implementations that all make different trade-offs and compromises, of which I think the `effectful` library is now the de facto default, and I think what it offers is quite similar to the Flix language's effect system (I'm not sure on what finer points it differs).
This has absolutely started happening, albeit not yet on a large-scale, systematic basis. Mahmoud Khalil [0] resided in the US legally when he was detained with the intention to deport.
One might be tempted to blame a lack of media attention, but I don't think that's it. For example in the US, the Snowden revelations attracted tons and tons of media attention, yet it never became a major topic in elections, as far as I'm aware. No politician's career was ended over it, and neither did new politicians rise based on a platform of privacy-awareness. No one talks about mass surveillance today. No one cares. There is no reason to believe that the situation is different in Europe.
Where are you getting this from? As far as I'm aware biologists, practicing or not, are not particularly concerned with the study of human behavior.