Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
willtim
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
96 ms
·
961.
▲
by
willtim
10y ago
It was before my time, but ALGOL used ":=" long before BASIC existed. The point is that academics have repeatedly not used "=" for assignment for successive new languages over many decades. Clearly they care, even if you
962.
▲
by
willtim
10y ago
I wasn't arguing against imperative semantics. I was trying to point out that Python abuses notation and conflates paradigms; and so perhaps may not be the best teaching language. Both Haskell and OCaml make very good imperative langua
963.
▲
by
willtim
10y ago
I never said mutating a variable is confusing. I said repurposing the equality operator is potentially confusing, especially for children. Pascal used ":=" to mean assignment, long before Python existed.
964.
▲
by
willtim
10y ago
I learnt BBC Basic before my high-school algebra and was certainly confused by the different meanings. Don't concern yourself with tail recursion if you are still learning FP, it's just an optimisation, nothing to do with seman
965.
▲
by
willtim
10y ago
The syntax is trying to look friendly and familiar, but ultimately it's an abuse of a standard mathematical notation that has meant something else for hundreds of years. The original meaning, an equality relation, is still being taught
966.
▲
by
willtim
10y ago
Haskell and OCaml are also 90's languages. The rise of Python at the expense of safer, typed, faster, more principled languages makes me very sad for the state of our industry. I do not even believe it is the best choice for teaching p
967.
▲
by
willtim
10y ago
I've been using ZFS on Linux for the past year on a home server. It has worked beautifully and is very simple to use. More importantly it is considered stable. I would certainly not trust btrfs with my data, it simply isn't finish
968.
▲
by
willtim
10y ago
So Dart hasn't really incorporated any lessons from 20 years of Java, has it? Google's answer to Tony Hoare's billion-dollar mistake is... "The Elvis operator"?
969.
▲
by
willtim
10y ago
I'm not sure I like your clothing analogy, it implies that Haskell deliverables are somehow restricted in functionality, which isn't true. The "style" that Haskell prohibits is hiding side-effects and mutable state behin
970.
▲
by
willtim
10y ago
I disagree. Languages like Haskell are much less tolerant of terrible code, which is a large part of the reason why beginners struggle with it. I work with other peoples Haskell code daily; and some of this code has been written by domain e
971.
▲
by
willtim
10y ago
I wasn't suggesting they have a performance impact for this particular project. I'm asking why choose C++ for Thrill if you want essentially non-deterministic automatic memory management and lambdas. Performing e.g. map fusion as
972.
▲
by
willtim
10y ago
The JVM was obviously never designed for functional programming. I would like to see something like Thrill built in Haskell or OCaml, both of which generate efficient native code, support unboxed arrays and have metaprogramming/staging
973.
▲
by
willtim
10y ago
The Actor Model is imperative. The "send" command is updating state as a side-effect, just like POKE from my old ZX81.
974.
▲
by
willtim
10y ago
AOP is just a modern take on the joke COMEFROM instruction from 1971. It is not a programming paradigm.
975.
▲
by
willtim
10y ago
AFAIK no one uses Objects in OCaml as the module system is sufficiently powerful. The Mirage project is a good example of using OCaml module functors to specialise components.
976.
▲
by
willtim
10y ago
F# uses .NET classes and objects for a module system, so your use of Objects for "services" is not surprising. An OCaml programmer is much less likely to miss Objects and DI frameworks, as OCaml has a powerful module system (i.e.
977.
▲
by
willtim
10y ago
Most mainstream languages don't even have sum types, but have to encode them via other means (enums, tags, inheritance). They are not necessarily the best choice for modelling data, just your preferred choice.
978.
▲
by
willtim
10y ago
Yes and Ethereum's imperative approach didn't work out so well. There many FP shops looking at Blockchain. E.g. IOHK which are using Haskell.
979.
▲
by
willtim
10y ago
Agreed. Objects for everything results in code that is riddled with hidden mutable state and side-effects (state is not encapsulated). It's impossible to reason globally about such systems, even before threads are added. Objects can
980.
▲
by
willtim
10y ago
There's not enough detail here to really comment. I can say that Haskell has the best software transactional memory implementation out there, thanks to purity and controlled side-effects. Haskell's explicit handling of state also
981.
▲
by
willtim
10y ago
Yes I think Snap empowers the app vendor at the expense of the sysadmin. I think Nix is a much better approach for servers.
982.
▲
by
willtim
10y ago
Didn't Snap appear first? Why is FlatPak not an example of NIH?
983.
▲
by
willtim
10y ago
What exactly do you mean by "OO SOA structure at the high level"? Do you mean essentially a function from a document to a result? If so, then what exactly is object-oriented about it? I'm no expert on industry lingo, but &quo
984.
▲
by
willtim
10y ago
C# is also multi-paradigm, or certainly well on its way, as it gets more and more functional features. F# needs to be functional-first.
985.
▲
by
willtim
10y ago
If you want "OO aspects", you can use C#. F# should focus on being a functional language. Features like currying exist for a reason.
986.
▲
by
willtim
10y ago
Striking a balance? It's the Innovator's Dilemma!
987.
▲
by
willtim
10y ago
My wife's Mac has had numerous issues with updates and upgrades and third party software. In comparison, my NixOS machines update flawlessly, as expected from a stateless OS. But that's also just an anecdote :)
988.
▲
by
willtim
10y ago
> you don't have to be afraid an OS update will make your laptop unbootable. That's not true. Apple's yearly OS upgrades can and do brick machines. At least with Ubuntu, I'd stand a good chance of diagnosing and fixin
989.
▲
by
willtim
10y ago
You cannot make sweeping statements like that. Yes the Mac stuff can be convenient, but in no way is it better than all free alternatives. For example, despite the shallow learning curve, in our house, time machine was both unreliable and p
990.
▲
by
willtim
10y ago
I like to think of paper as immutable storage. All my mistakes remind me how safe my jottings are versus the average note taking software effort. I do use org-mode and git at work, but even then will often capture to paper.
More ›