Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
l_dopa
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
l_dopa
3y ago
I always assumed this convention was just using "of" in the same sense as function composition. From wikipedia: > The notation g ∘ f is read as "g of f "...
2.
▲
by
l_dopa
6y ago
> Classes as concept, are nothing more than extensible modules If you're talking about ML-style modules, that really can't be farther from the truth, both in theory and how they're used in practice. Modules can be used (am
3.
▲
by
l_dopa
7y ago
That's not entirely accurate. Abstract data types (e.g. ML modules) can also be modeled as existential types and don't have the same problems. I think it's the particular combination of only having nominal typing, only allowi
4.
▲
by
l_dopa
9y ago
One big difference is that java interfaces can't contain member types. They describe the methods of one particular type. Imagine you could define an interface for an entire java package. Another big one is that module types are structu
5.
▲
by
l_dopa
9y ago
Type checking, type abstraction. If you're willing to throw those out, you can "get the same thing" with structs and void pointers.
6.
▲
by
l_dopa
9y ago
Actually, they're the "other side" of products types, which are sometimes called "records" or "structs". Maybe they're occasionally used to solve the same problem, but inheritance is unrelated. Inheri
7.
▲
by
l_dopa
9y ago
This is exactly what higher-order functions do, without the ad-hoc OO junk that's slightly different in every language.
8.
▲
by
l_dopa
10y ago
> I haven't claimed that equational reasoning is limited to pure languages Sorry, I may have read that into your comment. > the code itself needs to be pure But that's also incorrect. Just because you can't replace an e
9.
▲
by
l_dopa
10y ago
This is a really annoying meme in "pop" FP. Equational reasoning isn't limited to "pure" languages. Effectful functions, as you probably are aware, are just functions of type A -> T B.
10.
▲
by
l_dopa
10y ago
You're positing some new notion of complexity, without a definition, where lists are somehow fundamentally different than trees. Sorry, but that kind of claim requires more than just just an appeal to intuitions about how they might be
11.
▲
by
l_dopa
10y ago
Why is the complexity of parsing well-formed states from strings somehow interesting? If you generalize to trees and pick the right alphabet, suddenly every element of your datatype is a well-formed lambda term. It's also unclear if yo
12.
▲
by
l_dopa
10y ago
Languages are not so much a collection of features ... If you want to define objects precisely, even just to have a language spec, they are absolutely made up of sums, products, recursive types, etc. Whatever useful metaphors one mi
13.
▲
by
l_dopa
10y ago
It sounds like we agree that lexically scoped immutable values are easier to understand, either precisely or with fuzzy metaphors. I'm not sure what "ideal" FP is or how it might have a certain "mathematical view of the
14.
▲
by
l_dopa
10y ago
You're still, at some point, simulating the steps of some abstract machine in your head to understand what the debugger is telling you. The simplest case is replacing an expression with its value, given an environment of lexical bindin
15.
▲
by
l_dopa
10y ago
"Pure" functional programming isn't the only alternative. There's plenty of benefit from just using a language with reasonable semantics (e.g. ML) that doesn't force you to contort simple programs into bizarre "
16.
▲
by
l_dopa
10y ago
The problem's not on your end -- a lot of these blogs are just junk, probably the vast majority of ones that fall under "advocacy". As far as I can tell, the author's objection to conditionals is based on a misunderstand
17.
▲
by
l_dopa
10y ago
> The only plausible way to fix a bug in an ANN is to incorporate said bug in the training set My point was not something about manipulating weights directly vs. augmenting the training set. The analogy is roughly, find a misclassificati
18.
▲
by
l_dopa
10y ago
Is knowing, for example, that there's a race triggered by a new optimization in compiler version X that happens under conditions Y and Z really a qualitatively different type of understanding than "the weights are such that the AN
19.
▲
by
l_dopa
10y ago
Assuming you're in some client code that shouldn't rely on the implementation of m, it's an https://en.wikipedia.org/wiki/Abstract_data_type
20.
▲
by
l_dopa
10y ago
You're describing subtyping which, like modularity, does not require inheritance or really any other part of "OOP". I think that supports the article's point that C++, Java, etc. only support certain language features in
21.
▲
by
l_dopa
11y ago
People recognized ~20 years ago that, semantically, SSA is just reinventing lexical scope: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.3...
22.
▲
by
l_dopa
11y ago
That's a very strange interpretation of Rice's theorem. Just because properties of computable functions are undecidable doesn't mean they somehow "can't be described by mathematics". I'm also not sure why
23.
▲
by
l_dopa
11y ago
It was me[1] and I'm afraid you are still mistaken on a number of points: > The truth is that Haskell -- like all programming language -- has made a design choice, which was to bake in correctness proofs based on the Curry-Howard co
24.
▲
by
l_dopa
11y ago
This is exactly why a lot of formal methods work isn't, imho, terribly compelling. Something like http://vst.cs.princeton.edu/ has a much, much stronger case for enabling "100% correct software".
25.
▲
by
l_dopa
11y ago
Yes, we're talking about different things. I took the parent comment to mean that talking narrowly about "FP" as programming with pure functions isn't very useful any more. It may have made sense in the 90s when few wide
26.
▲
by
l_dopa
11y ago
Sorry for the glib answer. I'm not arguing for programming in the pure, untyped lambda calculus. My point was that it's possible to systematically extend (or restrict) the lambda calculus and associated techniques. You can add eff
27.
▲
by
l_dopa
11y ago
> I'd like the "foundation" of CS to give a faithful mathematical description of what computers can and cannot do. Is that too much to ask? http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis &g
28.
▲
by
l_dopa
11y ago
This is a really important point that I'm not sure I've seen before in a discussion about the adoption of FP. You're completely right, but I can't imagine FP language advocates would get very far by leading with the hist
29.
▲
by
l_dopa
11y ago
Ah, thought you were talking about some technical limitation. That's a shame, one would think an alternative to LLVM that is not so C-specific would find more use.
30.
▲
by
l_dopa
11y ago
It's hard to keep adding new instructions to MLRISC! Could you expand on this? Based on the problem statement page, this seems to be the exact problem MLRISC tried to address. Is there something that keeps it from working well in pra
More ›