Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sullyj3
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
sullyj3
5y ago
There are many things I like about Idris 2. I think I'll be more inclined to take it seriously as a practical language once it has the equivalent of Hackage, hoogle, and cabal. Right now I can't even read the standard library docs
62.
▲
by
sullyj3
5y ago
It could be interesting to have an `Unsafe` convenience module that is imported by default in the repl, but not in source files. Maybe that would be too confusing for beginners though.
63.
▲
by
sullyj3
5y ago
Yep, type checking clearly can't be decidable, since the type system is turing complete. Imo inference is a bit overrated anyway. I find annotations to be very useful. There's a series of steps here: - "Static type annotation
64.
▲
by
sullyj3
5y ago
The fact that nobody wants to learn or use regex is a pretty strong indicator that it's not a very good language. I think we've largely settled on it as matter of historical contingency rather than because it has any particular me
65.
▲
by
sullyj3
5y ago
> by Bongcloudmaster (BM) Andrew Fabbro Brilliant
66.
▲
by
sullyj3
5y ago
It's not supposed to be good procedural code, it's supposed to be illustrative of the fact that a lot of code which people are used to seeing in procedural languages, which only involves assigning to a variable once, can be transl
67.
▲
by
sullyj3
5y ago
From that same paragraph: > That said, there are ways of dealing with this in languages like Python, they're just a little more verbose and you don't get the compiler checking that you've exhaustively handled all cases, fo
68.
▲
by
sullyj3
5y ago
A cynicism filter?
69.
▲
by
sullyj3
5y ago
> Using long sequences of poorly-labeled, nested arrow function returns is great fun until you have the task of deciphering someone else's. Something like that would be considered bad Haskell code, yes. Haskell is designed from the
70.
▲
by
sullyj3
5y ago
Mostly because it takes a lot of patience and dedication to get to a productive level. It's a bit like vim - steep learning curve, but fantastic to use once you know what you're doing.
71.
▲
by
sullyj3
5y ago
Yes, a significant chunk of Haskell code usually does end up living in whatever monad (the context that represents IO computations) the app is using. This doesn't negate the advantages of tracking effectful code in the type system, and
72.
▲
by
sullyj3
5y ago
Seems like premature abstraction to me. It's not difficult to make that change if you need it. In any case, I'm really struggling to envisage a scenario where you would need them to be classes - why couldn't a more automatic
73.
▲
by
sullyj3
5y ago
Side note: - I don't understand why classes are needed here. instead of procedure = [ CreateSSHKeypairStep(), GitCommitStep(), WaitForBuildStep(), RetrieveUserEmailStep(), SendPrivateKeySt
74.
▲
by
sullyj3
5y ago
But... why? Why is important that people use the technically correct name rather than the more convenient one that's in common use already?
75.
▲
by
sullyj3
5y ago
I don't know about other wms, but in i3, floating a window is just a matter of pressing super+space. Moving it around and resizing is very ergonomic as well, it's just super+left click drag and right click drag respectively. The r
76.
▲
by
sullyj3
5y ago
Rust is a language nobody uses?
77.
▲
by
sullyj3
5y ago
We should offload this responsibility to our tools as much as we possibly can. https://blog.codinghorror.com/falling-into-the-pit-of-succes...
78.
▲
by
sullyj3
5y ago
I think they're right that it would be too foreign to python to be a good addition, but this really just goes to show that expression oriented languages, as opposed to statement oriented ones, are the way to go.
79.
▲
by
sullyj3
5y ago
Having a bug caused by mutable state occur inside a "lambda function" really throws into relief what a misnomer that is.
80.
▲
by
sullyj3
5y ago
Having written Haskell for a few years, the concepts are kind of interchangeable in my mind. I think of recursion as being basically a loop, and a loop as basically the same thing as recursion. To the point where it seems natural to me to n
81.
▲
by
sullyj3
5y ago
It depends on the domain. In performance critical code, I agree that it usually makes sense to use an imperative language. However, not all code is performance critical. Also note none of this is to say that fp is inherently incapable of hi
82.
▲
by
sullyj3
5y ago
There are tradeoffs to writing functional code in langauges designed primarily for imperatively. Another comment mentioned efficiency. Another is that in a pure language, you can look at a function and know for a fact that nothing you'
83.
▲
by
sullyj3
5y ago
This is why every time this stuff comes up I plug the haskell flow package. Imo, it should be in the prelude. https://hackage.haskell.org/package/flow-1.0.22/docs/Flow.ht...
84.
▲
by
sullyj3
5y ago
Just above the gif: > Customizable cursor height (see :h NvuiCaretExtendTop and :h NvuiCaretExtendBottom) Ex. :NvuiCaretExtendTop 200, :NvuiCaretExtendBottom 100 (see below)
85.
▲
by
sullyj3
5y ago
Title could probably use a (2006)
86.
▲
by
sullyj3
5y ago
Uh.. what? There isn't even a concept of mutation in lambda calculus.
87.
▲
by
sullyj3
5y ago
I find in practice that even though I don't have to write the transformers myself, `lift`ing and `unlift`ing things is a pain in the ass. Once you try a proper algebraic effect system, it's hard to feel like transformers are an ad
88.
▲
by
sullyj3
5y ago
It has compile time programming designed to subsume those features. So eg a generic struct becomes instead a compile time function that takes a type and returns a struct
89.
▲
by
sullyj3
5y ago
I mean, monads famously don't compose - you have to write a bunch of monad transformers.
90.
▲
by
sullyj3
5y ago
Unison has an algebraic effect system, under the name "abilities" https://www.unisonweb.org/docs/abilities/
More ›