Crazazy [hey hi! :D]
- 0 Posts
- 5 Comments
Crazazy [hey hi! :D]@feddit.nlto
TechTakes@awful.systems•The whole internet loves Kagi, a lovely paid search engine that can find things! *5 seconds later* We regret to inform you the CEO is an unhinged narcissist who will harangue you in emailEnglish
19·2 years agothat wasn’t my intention
Ironically, by saying that you’re just doing The Thing again
Crazazy [hey hi! :D]@feddit.nlto
TechTakes@awful.systems•The whole internet loves Kagi, a lovely paid search engine that can find things! *5 seconds later* We regret to inform you the CEO is an unhinged narcissist who will harangue you in emailEnglish
23·2 years agoShort for Just Asking Questions. Where people ask loaded questions that act as a veneer to their actual statements. If you want to accuse them of the fact they are talking shit, they’ll say they’re “just skeptical” and “asking questions”
Crazazy [hey hi! :D]@feddit.nlto
Programming@programming.dev•Which programming language is hard to understand?
1·2 years agoAlright as someone who likes Haskell and has dabbled in unison before, I believe I can answer all these questions for you:
- Why is
helloWorldthere twice?
It is common in languages like haskell and ocaml to first mention the type of a function, so in this case:
- the type of
helloWorldis'{IO, Exception} (). That is it’s type signature (important for later) - the implementation of
helloWorldis\_ -> println "Hello, World!"
- What’s the
'for? - What are the
()for?
Here is where I have to get into the nitty gritty of how unison actually works. Unison has what programming language researchers call an effect system. The type signature of
helloWorldindicates that it can perform theIOandExceptiontypes of side effects, and these need to be handled. (in this case, they are handled by the compiler, but other types of side effects can be handled by the programmer themselves)
However, for reasons Unison does not like dealing with eagerly evaluated non-function values with side effects. For this reason, there is'. Essentially, what it does is turn a value into a function that accepts()as it’s argument. We could therefore say that the type signature ofhelloWorldis also() -> {IO, Exception} (). The last()indicates that, next to it’sIOandExceptionside effects, it also returns()as a value. This is because, in functional programming languages, all functions need to return values (or run infinitely, but that is for another topic)Now I’ve been used to functional programming for quite a while now, so things that seem natural to me can be absolutely woozy for anyone not used to this paradigm. So if anything still feels vague to you feel free to comment
- Why is
I don’t know how well this fits here, but, well I don’t know where else to post nixos drama. So without further ado:
NixOS drama
Quick introduction: nix is package manager that allows you to reproducibly build any piece of software. It has been exploding in popularity over the past few years and has gotten to the point of receiving commercial endorsement. It has also received endorsement from more controversial companies, and this is where issues start to brew
A few days ago, after the success of an open letter condemning nixcons sponsorship of Anduril, a new open letter showed up. This time it discusses the creator of nix, Eelco Dolstra, and how he is becoming detrimental towards the goals of the nix community. The letter is not quite as well received as the anti-anduril letter, mostly because of its padded length and aggressive tone. I think delroth captures my personal feelings towards this letter.
Furthermore, Eelco has dropped a response, which ends in him suggesting users to move away from the community-run nix foundation and towards his consulting company, Determinate Systems. Needless to say I don’t like this call towards division at all.
Now I haven’t don’t a particularly deep analysis of this whole drama, since I’m basically merely a user and not all that active in the development of nix. Here is a link for if you want to get more details from someone who did go more in depth dissecting both articles