Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jose_zap
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
61.
▲
by
jose_zap
6y ago
You can also use Haskell with the Strict pragma enabled for your own code if laziness is a concern.
62.
▲
by
jose_zap
6y ago
Interestingly, in this paper, Haskell displays a negative correlation in defect rate
63.
▲
by
jose_zap
6y ago
Some real world examples with links: - A safe streaming library where effects are guaranteed to only be performed once: https://www.tweag.io/blog/2018-06-21-linear-streams/ - Efficient zero-copy network communicat
64.
▲
by
jose_zap
6y ago
There is ghci for Haskell. It’ included in the default installation
65.
▲
by
jose_zap
6y ago
Has anyone used this in production? How is the performance of IHP like?
66.
▲
by
jose_zap
6y ago
Looks like it is packaged as .rpm at least https://pkgs.org/download/hadolint
67.
▲
by
jose_zap
6y ago
Hadolint, a docker file linter checks for most of those best practices https://github.com/hadolint/hadolint
68.
▲
Use Hacktoberfest to Learn Haskell
(github.com)
4 points
by
jose_zap
6y ago
|
0 comments
69.
▲
by
jose_zap
6y ago
I find this article a nice counterpoint to “it is difficult to reason about performance in Haskell”. A person who had never programmed in the language, found all the tools and resources to implement an algorithm from a reference and make it
70.
▲
Optimizing Ray Tracing in Haskell
(medium.com)
127 points
by
jose_zap
6y ago
|
37 comments
71.
▲
by
jose_zap
6y ago
This is a project that wants to execute on this idea, but using beaches instead of croplands https://projectvesta.org/
72.
▲
by
jose_zap
6y ago
I agree, there is no point in trying to change their behavior, we can at best understand them and offer alternatives
73.
▲
by
jose_zap
6y ago
I would personally have trouble naming all of the pieces in the flushing mechanism and being able to put y them together if I asked someone to buy them for me. That’s seems to be the same for many people I know.
74.
▲
by
jose_zap
6y ago
Ask him to explain in full detail how the flushing mechanism of a WC works. Then ask him if he uses any alternative solution he understands better. I think it is quite common, even for people who want to understand things at a fundamental l
75.
▲
by
jose_zap
6y ago
Yeah, I understand what you mean, sorry if I created confusion. My point is that the claim that it makes it difficult to reason about is misguided in most cases because there is an easy way to estimate the upper bound of any function if you
76.
▲
by
jose_zap
6y ago
That’s because full laziness is actually an optimization strategy that Haskell uses to make programs faster. You are completely right about laziness being a big plus for composing functions.
77.
▲
by
jose_zap
6y ago
It is definitely not harder to reason about time. I don’t think you will find many haskellers agreeing with this.
78.
▲
by
jose_zap
6y ago
In your g(f(x)) composition example you said that g would be filtering out eveery other record, that could only make thiings faster, not slower. Could you formulate an example where the composition would be asymptotically slower only for la
79.
▲
by
jose_zap
6y ago
No, that was my point exactly. It is the same in both a strict and non-strict language. Not because the language is strict, it makes infinite loops or infinite data structures more obvious to debug or understand. In Haskell it would have be
80.
▲
by
jose_zap
6y ago
You can check the Ghcide and the (early work in progress but very usable) haskell-language-server projects. They implement the language server protocol and add ide-like functionality for Haskell to any editor that support the protocol like
81.
▲
by
jose_zap
6y ago
Just an anecdote, but once introduced an infinite loop in a golang program by forgetting to decrement a value inside some retry logic. The effects were only visible in production, as it was the only environment where the error condition hap
82.
▲
by
jose_zap
6y ago
Well, you would tackle the problem in the same way you do in a strict program. If both functions take the same time in isolation, it would make sense to review both functions performance to improve the whole. How is that difficult to reason
83.
▲
by
jose_zap
6y ago
There is the -XStrict language pragma that makes everything strict.
84.
▲
by
jose_zap
6y ago
And how is that more difficult to reason about? The asymptotical performance is exactly the same for strict and non-strict languages. The performance can only be at most f + g. It may take less time in a lazy language, how is that difficu
85.
▲
by
jose_zap
6y ago
Hmm, wouldn't this be the same as an infinite loop in any programming language? How do you solve an infinite loop in python for instance? How would you solve an iterator in java producing infinite values? If anything, the performance o
86.
▲
by
jose_zap
6y ago
I believe this is a Haskell meme in hacker news. There is some truth to it, though. The meme is only relevant for memory allocations. In a lazy language you don’t always know what memory the runtime is holding on to as you haven’t consumed
87.
▲
by
jose_zap
6y ago
I don’t think that’s right. In a lazy language that function will also take the sum of f + g times. If anything, in a lazy language it may take less time, but never more than the sum of both. How is it that you cannot reason about the perfo
88.
▲
Simple Haskell Is Best Haskell
(medium.com)
1 points
by
jose_zap
6y ago
|
0 comments
89.
▲
Is Haskell a Bad Choice?
(blog.bojo.wtf)
3 points
by
jose_zap
7y ago
|
0 comments
90.
▲
by
jose_zap
7y ago
One interesting thing that I can see there is that the current excess for many countries seem to be no worse so far from a larger excess in the early weeks of 2017. Another very surprising thing is to see no excess mortality in Sweden, a co
More ›