Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
chowells
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
77 ms
·
901.
▲
by
chowells
11y ago
Yes, transformers allow you to get it wrong, too. But at least there is a way to get it right with them.
902.
▲
by
chowells
11y ago
Eff has a bigger semantic issue to deal with first. It is only composable for commutative effects. Once you introduce non-commutative effects like throw/catch or nondeterminism, the semantics of a block of code using more than one effe
903.
▲
by
chowells
11y ago
Modern CPUs are already so complex and so fast that I can't imagine the potential speedup would be significant as compared to modern optimized fixed point libraries. Language support is a much bigger issue. Programmers are fundamentall
904.
▲
by
chowells
11y ago
I dispute "often". I honestly can't think of cases other than certain scientific calculations where they are more appropriate than fixed-point numbers. The fact that scientists had so much input on the early design of hardwar
905.
▲
by
chowells
11y ago
I'm willing to bet you've read 10 plain-english perfectly-adequate explanations of monads that explain them fully, and you've rejected them because they don't seem hard enough. A monad is an abstraction pattern that, as
906.
▲
by
chowells
11y ago
All memory access is byte-aligned. That's the definition of "byte". :) Word-aligning, though - that's a different story.
907.
▲
by
chowells
11y ago
Functional programming isn't about eliminating state. You can't write programs without state. Functional programming is about eliminating hidden state changes. State changes are fine! They just aren't allowed to be hidden.
908.
▲
by
chowells
11y ago
Not in a language with decent abstraction capabilities. You end up changing code from looking like: myThing :: Foo -> ProblemDomain Bar myThing f = do x <- subthing1 f y <- subthing2 x 23 return $
909.
▲
by
chowells
11y ago
No, it makes it more flexible (in ways including testability) without adding any cost in understandability.
910.
▲
by
chowells
11y ago
Type systems really shine in apps that you maintain. You avoid writing them by writing shovelware that intends to extract the maximum amount of money in a short term and be replaced by something else in the long term. I don't think tha
911.
▲
by
chowells
11y ago
Always funny to see your own name come up in submissions to a story from 14 years ago..
912.
▲
by
chowells
11y ago
So you're saying code reuse is bad?
913.
▲
by
chowells
11y ago
Why Rust? It doesn't really compete with Go anywhere. Haskell is a much stronger player in the space of high-level, garbage-collected languages. The only thing Rust and Haskell really have in common is not willfully ignoring the las
914.
▲
by
chowells
12y ago
There's a huge amount of unproven (and possibly unprovable) assumption in that statement. There's no evidence the universe is actually continuous rather than discrete at Plank scales. No evidence in either direction, so far as I k
915.
▲
by
chowells
12y ago
I'm pretty sure you've never used a language with a good type system then. You describe a system where you have to keep everything a program is doing that's relevant in your head at once, and when you're forced out of th
916.
▲
by
chowells
12y ago
Callbacks are more or less handled by the continuation monad transformer, `ContT`, if you want to use it.
917.
▲
by
chowells
12y ago
In all honesty, inheritance, classes, the 'static' keyword, and virtual functions are all harder than anything in Haskell. They're all weird ad-hoc concepts without simple underlying mathematical concepts. That's rath
918.
▲
by
chowells
12y ago
What's misleading? It's an article about primitive operations and types in GHC Haskell.
919.
▲
by
chowells
12y ago
I've seen this happen so many times. "We can't use X because it doesn't come with library Y!" And then they point to their favorite alternative to X, and note that it does have library Y, and ignore just how utterl
920.
▲
by
chowells
12y ago
They're unreadable because CDRs aren't an archive mechanism. They break down rather rapidly. Their shelf life is similar to a floppy disk. After 10 years, the odds of being able to read a CDR that wasn't stored in perfect co
921.
▲
by
chowells
12y ago
That slows it down on general-purpose CPUs, but not on special-purpose ASICs. That's the exact opposite of what's desired.
922.
▲
by
chowells
12y ago
Interesting claim that a discussion of Kleisli categories isn't the place to get into a discussion of monads, since they're identical. I do think Kleisli categories are a better way to explain the benefit, though.
923.
▲
by
chowells
12y ago
You can go the opposite direction: Why do only functions get to refer to themselves in their definitions? ones :: [Integer] ones = 1 : ones There. That's valid Haskell. A non-function value whose definition depends on itse
924.
▲
by
chowells
12y ago
The advantage is that types aren't optional. People actually have to respect them.
925.
▲
by
chowells
12y ago
That is, he's using a monadic interface when an applicative interface is better. Facebook's HAXL project is all about this sort of thing.
926.
▲
by
chowells
12y ago
Why would it? You're not constantly trashing your application state, are you?
927.
▲
by
chowells
12y ago
This is fine as an introduction to javascript. It's terrible as an introduction to programming . I really dislike teaching language idiosyncrasies that get in the way of clear expression of logic. And the first few levels are basicall
928.
▲
by
chowells
12y ago
Well, it's a property of basically everything except arrays. So it's more than just "certain specialized data structures".
929.
▲
by
chowells
12y ago
You can compile haskell programs with type errors (in GHC, anway) if you want. They crash when you attempt to execute code that has a type error, but if that's what you want, feel free to use it. It's not something I've ever
930.
▲
by
chowells
12y ago
I've never found a language better suited to quick and dirty prototyping and exploration than Haskell. I was part of a small team that built a core web service from scratch in Haskell. We had no idea what we were doing (feature-wise)
More ›