Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nbouscal
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
30 ms
·
241.
▲
by
nbouscal
13y ago
Both of those examples obviously have very little to do with the quality of the language used, and everything to do with the ecosystems that were built around them.
242.
▲
Calif. man denies he's Bitcoin inventor
(america.aljazeera.com)
2 points
by
nbouscal
13y ago
|
0 comments
243.
▲
by
nbouscal
13y ago
We have mostly the same principles but have come to different conclusions. The semantics of midnight are indeed what is important here, but midnight does not qualify as a zero. Zero implies identity for some addition, and there is no additi
244.
▲
by
nbouscal
13y ago
I understand the distinction between the two ways of writing the conditional. The point is that the documented way is surprising, and as far as I can tell everyone agrees that it is wrong. It's really not a matter of making the origina
245.
▲
by
nbouscal
13y ago
Would you intentionally introduce language features that break functionality for people who don't follow style guidelines? I certainly hope not. The real problem with your argument is that the poorly-styled code of people who haven
246.
▲
by
nbouscal
13y ago
It's not a matter of taste when it breaks functionality.
247.
▲
by
nbouscal
13y ago
I really don't think there is a good argument. Any time saved in writing the code is inevitably repaid in debugging it.
248.
▲
by
nbouscal
13y ago
If I understand the argument there correctly, the responder is saying: Nobody should ever use this functionality, instead they should always check that the date is not None. So, we should leave this broken, because we don't want to bre
249.
▲
by
nbouscal
13y ago
The plausible reason has been explained by pc like half a dozen times in this thread. Checkout is not the only option. You can build a form from scratch if you want customizability. Stripe is presenting developers with two options: one wher
250.
▲
by
nbouscal
13y ago
The vast majority of working mathematicians work in set-theoretic foundations, in which numbers are sets.
251.
▲
by
nbouscal
13y ago
It wasn't stopped, it's just way, way harder than one would naively expect. Russell continued to work on it by developing type theory, which was later carried on by people like Alonzo Church and Per Martin-Löf. This led not just t
252.
▲
by
nbouscal
13y ago
This is a good example of how being correct is completely irrelevant if you can't communicate it well. That said, I still maintain that you're thoroughly misunderstanding the position the OP was arguing for.
253.
▲
by
nbouscal
13y ago
You misread the article. He is not recommending that students solve every exercise; he's recommending the exact opposite.
254.
▲
by
nbouscal
13y ago
I think it can in theory, but the reason it hasn't been done in practice is basically that mathematics is too damn big. Look at Whitehead and Russell's original attempt to do basically exactly what you're asking for: it took
255.
▲
by
nbouscal
13y ago
Then just define them! The entire subject is about linear transformations on vector spaces. The biggest problem with linear algebra as its taught today is that students uniformly come out with an understanding that linear algebra is about
256.
▲
by
nbouscal
13y ago
You're assuming that difficulty is a single constant, which is definitely not the case. The real state of things is that Haskell is more difficult than Ruby to get really good at, but the actual work of developing things in Ruby is muc
257.
▲
by
nbouscal
13y ago
My take on why monoids seem to be thought of as concatenation in the Haskell community is that the other simple examples run into some difficulty with the way the type class system is set up. Specifically, the example you used requires a ne
258.
▲
by
nbouscal
13y ago
If you don't have a six month emergency fund, regardless of whether or not you're a freelancer, one of your top priorities should be building a six month emergency fund.
259.
▲
by
nbouscal
13y ago
I don't think they're quite as different as you think, but, it sounds like we agree. Two different ways of doing the same thing. To me, being different from what most people in software engineering are used to really doesn't
260.
▲
by
nbouscal
13y ago
Certainly wasn't intended to be a personal attack. I'm not claiming that I don't test my ideas, I'm claiming that I do so in a different way. Rather than testing ideas by running the program, I test my ideas by type chec
261.
▲
by
nbouscal
13y ago
I think the only reason you think not being able to run a program that doesn't type check is a problem is because you are used to a workflow in which running a program is how you test your ideas. The workflow used to explore ideas whil
262.
▲
by
nbouscal
13y ago
The assembly optimizations come for free, in a sense, because what is really being optimized with the extra work is composability. Assembly time isn't all that important, but composability is absolutely essential. Regarding things that
263.
▲
by
nbouscal
13y ago
Have you played with Haskell at all? Partial combinations aren't a problem. Partial application is extremely well-supported. The goal of a type system is that the only combinations that don't work are broken combinations. Haskell
264.
▲
by
nbouscal
13y ago
I think the better analogy is: all the parts are brightly colored, and if you try to put a red part in a blue hole the compiler won't let you. Okay I guess that's not really an analogy anymore, but, you get the point.
265.
▲
by
nbouscal
13y ago
I think you misunderstood the article. He knows exactly what the components allow him to accomplish, he just doesn't know how exactly they work or any of the math behind them. This is directly analogous to the situation in every other
266.
▲
by
nbouscal
13y ago
If you don't know functional programming, of course you won't be able to understand functional code at a glance. You wouldn't expect someone who doesn't know imperative programming to intuitively understand imperative co
267.
▲
by
nbouscal
13y ago
I'm amazed nobody else has mentioned this. Everyone's talking about how this is such a dark pattern, but the interface clearly shows the distinction between the two interactions.
268.
▲
by
nbouscal
13y ago
One way of doing it would be to use a record type, one part of which would be the list of players. This is analogous to the composition strategy in OO. You could then manipulate values of that record type using lenses. The important questio
269.
▲
by
nbouscal
13y ago
As another mentioned, GHC is a good example. Another one that might be a bit better to look at is xmonad. It's only a little over 1kLOC and is a fully functional window manager.
270.
▲
by
nbouscal
13y ago
They're weak evidence. If the first half of a comment is valuable it's probably worth reading the rest. And yes, username is strong evidence. I read every comment I see from patio11, for example.
More ›