Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Peaker
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
87 ms
·
751.
▲
by
Peaker
14y ago
I am an experienced and self-proclaimed competent C programmer and I was surprised enough by the "static" feature which I already love -- that I immediately upvoted this, and I'm going to spread this information after testing that it is act
752.
▲
by
Peaker
14y ago
A self-proclaimed expert, one must add.
753.
▲
by
Peaker
14y ago
Did you notice that not all of these corners violated any clause of the standard? I've got quite a bit of experience with C, and I haven't heard of the "static" array size feature before, which seems extremely useful.
754.
▲
by
Peaker
14y ago
mainisusuallyafunction.blogspot.com
755.
▲
by
Peaker
14y ago
It's not any worse than IO in other languages, which is the original topic.
756.
▲
by
Peaker
14y ago
Why? Haskell has excellent performance for IO.
757.
▲
by
Peaker
14y ago
Minor nitpicks: "Monadic types" and "Monadic values" would be better for 4 and 5, because "Monad types" are the type constructors (which are also sometimes named types). And "monad values" is not a term I've ever heard used. Also, values ha
758.
▲
by
Peaker
14y ago
Yeah, they are preemptive (though there had been a long-standing bug where threads that have no allocations don't get preempted, I believe it is fixed now). This is some documentation of the scheduler: http://blog.ezyang.com/2013/01/the-gh
759.
▲
by
Peaker
14y ago
Is that the total output of the sun or just the energy from the Sun that reaches Earth?
760.
▲
by
Peaker
14y ago
Haskell definitely makes it easier. You can use preemptive green threads with almost all the ease of cooperatively multitasked code because of the prevalence of immutability. You get the performance benefits of non-blocking code. The simpli
761.
▲
by
Peaker
14y ago
.) At our workplace, we use preallocation for almost everything. When we do dynamic allocations, typically it is from free-lists from pools that we pre-allocate. Almost all of our allocation/freeing costs are cheap O(1). Pretty much everyth
762.
▲
by
Peaker
14y ago
The frivolous charges of wire fraud, damaging computer systems with wrecklessness, etc.
763.
▲
by
Peaker
14y ago
According to the article, didn't the manifesto claim to legally purchase non-copyrighted material and then distribute it legally? If what Aaron did is legally get non-copyrighted material with the legal intent of distributing it, then there
764.
▲
by
Peaker
14y ago
Your solution isn't a solution, because it is not actually a Makefile. Your shell script and Makefile both need to be run, in the correct order, by a meta build-system. It won't re-generate just the right files when things change. Unless yo
765.
▲
by
Peaker
14y ago
I didn't try the Lua branch, that sounds OK. Though I'd really prefer to use Haskell :) IIRC, the "line too long" was from tup. I think the abstraction may have leaked after specifying the flag and using the setuid tup. But I may be wrong h
766.
▲
by
Peaker
14y ago
Auto-generate script that generates header0.h with #include to header1.h, and header1.h with #include to header2.h, up to N=10. Of course, we don't know before generating the headers exactly what they'll need to #include. And N is determine
767.
▲
by
Peaker
14y ago
Make is simply not up to the job. It make writing correct build systems very difficult (hard to not under-specify dependencies). It does not support auto-generating code and then scanning it for extra build dependencies. It is a crappy tool
768.
▲
by
Peaker
14y ago
> Make has exactly the same behavior with respect to additional dependencies No it doesn't. If I overspecify that foo.o depends on foo.h, and I change foo.h, Make will rebuild foo.o even if it doesn't actually depend on foo.h. Tup won'
769.
▲
by
Peaker
14y ago
Can you should an example Makefile that does this correctly? How do you get make to do a multi-phase build, that generates code, then scans it to add to the dependency tree, then generates more, and so forth?
770.
▲
by
Peaker
14y ago
You dislike his humor, that's fine. Calling it unprofessional is subjective. Some professional environments with great professional output appreciate humor. Also, I am bottlenecked on my build system at my workplace, which takes ~45 seconds
771.
▲
by
Peaker
14y ago
Haskell can definitely take more than 1-2 months to pass the learning curve, especially without a good mentor. You generally shouldn't need to "pull IO through half this module", since you can just lift the large pure part with "fmap" to op
772.
▲
by
Peaker
14y ago
Yeah, though it is not that horrible since tup allows you to over-specify dependencies with very minor ill-effects (less parallelism, but no over-building). My list of short-comings besides that are: * No "run" command on Windows, means if
773.
▲
by
Peaker
14y ago
HM type systems have been providing this benefit (to a greater effect than Go) for ~40 years...
774.
▲
by
Peaker
14y ago
There's just a different set of terms used here. In static typing context, "types" is a lexical construct of subexpressions. In this context, dynamically typed languages are "untyped" or "unityped" (one type for all expressions). In dynamic
775.
▲
by
Peaker
14y ago
Haskell is great at doing much IO. How long did you try to use it?
776.
▲
by
Peaker
14y ago
Lexical scopes capturing variables is more powerful than capturing values. If you want to capture values, that's easy too, with: lambda x, i=i: ...
777.
▲
by
Peaker
14y ago
I think even today, but especially many years ago, my experiences using Java code both in the form of web applets, and in the form of standalone applications has been far from "Just works". It is better these days, but even today Java progr
778.
▲
by
Peaker
14y ago
I'd suggest tup[1] and Shake[2]. [1]: http://gittup.org/tup/ [2]: http://community.haskell.org/~ndm/shake/
779.
▲
by
Peaker
14y ago
I used tup, and it has its shortcomings. I would never prefer Make to tup though, even with its shortcomings. I am now working with Shake, and it seems to be the nicest I've used yet. It is not as robust as tup at verifying there are no und
780.
▲
by
Peaker
14y ago
Adding a single extra phase is not enough, because you need an arbitrary number of phases to recursively build&scan all dependencies.
More ›