Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Twisol
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
66 ms
·
631.
▲
by
Twisol
6y ago
> In my practice of FP, it tends to force me to make state explicit and and available. Ha, I think I get what you mean. The state that you do have is generally called out more visibly. I do think that's a product of defaulting to st
632.
▲
by
Twisol
6y ago
> I have yet to encounter a single mutable variable. > However, it is constantly poking at a database, and different modules communicate with each other asynchronously over a message queue. I think you found your mutable variables...
633.
▲
by
Twisol
6y ago
> Sure this paper introduces the concept of modules in software back when modules were non-existent. No... that's not correct. The very first non-clerical page quotes from a textbook discussing modular systems, and Parnas himself no
634.
▲
by
Twisol
6y ago
> I haven't found anything specifically on the organization of software modules so as far as I know none exists. Parnas (1971) is seminal on this topic. https://apps.dtic.mil/sti/pdfs/AD0773837.pdf
635.
▲
by
Twisol
6y ago
Personally, I'm nursing a thesis that the study of concurrency is fertile ground for a formalization of modular design. Where parallelism is the optimization of a software system by running parts of it simultaneously, concurrency has m
636.
▲
by
Twisol
6y ago
Aside from the context of this thread, you've really eloquently put into words something I've started to believe over the last few years. Please never delete this comment ;) I'm sure to bookmark it. > It is the observation
637.
▲
by
Twisol
6y ago
> I disagree with you and you've made a mistake. You're the one under the illusion. I'll explain. This is a very effective way to make the other party in a debate not wish to continue. I respect that you have strong opinio
638.
▲
by
Twisol
6y ago
> Your complaints about the words "architecture" and "design" sound like a cached rant. To be completely fair, my notes were similarly cached, and it was a little poor of me not to respond more directly to the substan
639.
▲
by
Twisol
6y ago
> the resulting non-answer people come up with is: "Depends on your use-case." > We are dealing with computers here: virtual idealized worlds ripe for systematic formalism. I disagree with the premise. Generally, computers a
640.
▲
by
Twisol
6y ago
To put it pithily, when "the problem has moved on from the solution", a rewrite might make sense. What I mean is that the existing software has existed for long enough, without incremental upkeep and rework, that the problem it wa
641.
▲
by
Twisol
6y ago
For what it's worth, I read this less as "dismissal" and more as a statement of orthogonality. Novelty is neither positively nor negatively correlated with learning; in other words, if your goal is to learn, novelty simply do
642.
▲
by
Twisol
6y ago
XAR, perchance? https://github.com/facebookincubator/xar
643.
▲
by
Twisol
6y ago
"Language acquisition" is quite different from "no accent". My manager is a non-native speaker of English, but the only way you can tell is by his accent -- he's perfectly fluent, both in construction and in comphre
644.
▲
by
Twisol
6y ago
Bicycles are also an excellent means of going from point A to point B, and they're quite a bit simpler than a car. Internal combustion engines are useful for other tasks, such as powering a generator. We shouldn't confuse the task
645.
▲
by
Twisol
6y ago
I'm probably a bit of an outlier, but I do find it more readable to use type parameters instead of concrete types. If the type is opaque, I know the only ways to get or use values of that type are whatever explicit means the specifier
646.
▲
by
Twisol
6y ago
> Allow me to question the "almost" in "almost nothing". Java generics are famously unreified, at runtime it's exactly the same. On the other hand, decaying <T> to Object (rather than monomorphizing as C++
647.
▲
by
Twisol
6y ago
I'll take "nerd", but there's nothing wrong with a group of 50 year old ladies discussing this on Facebook, either.
648.
▲
by
Twisol
6y ago
"BFD" here means "big f#$%ing deal", not "b??? factorization domain".
649.
▲
by
Twisol
6y ago
>> etc John Backus, who can hardly be considered lesser than any of the others on this cherry-picked list, used his Turing Award lecture to rally for functional programming: http://www.thocp.net/biographies/papers
650.
▲
by
Twisol
6y ago
The lazy collections are an interesting case, because as you build up a stack of transformations, the type itself grows in ways beyond simple A -> B type substitutions. That's a really good example of a case better served by GATs th
651.
▲
by
Twisol
6y ago
> What's missing is implementing Functor for `Option` (the "unapplied" option, without a type parameter), in such a way that it is evident in from the trait implementation that if you pass an Option to `fmap`, then you get
652.
▲
by
Twisol
6y ago
> if A is a subtype of B then List[A] should be considered a subtype of List[B] Well, careful -- I'm sure you know this by your name, but the naive treatment of Java's native array type as A[] <: B[] when A <: B leads to
653.
▲
by
Twisol
6y ago
Even in Java, I'm rather sick of passing around types with `<X, Y, ?, ?>` with two honest-to-goodness generic types and two actually-chosen-by-the-implementation generic types. There's no good way in Java to hide those visib
654.
▲
by
Twisol
6y ago
In principle, the ingredient you need for that use case is "existential types". I suspect GATs let you define existential types -- after all, the selling point is that the trait defines some type, and you can't rely on what t
655.
▲
by
Twisol
6y ago
CRUD apps can be done well or poorly, just like any other product. In some ways, the difference might just be in tolerance for poor design in business outcomes. But it's not the case that every CRUD app must be god-awful. Gread develop
656.
▲
by
Twisol
6y ago
BitBucket's documentation shows similar tabs -- is this not what you see? https://confluence.atlassian.com/bitbucketserver/review-and-... The section on "View a single commit within a pull request" shows
657.
▲
by
Twisol
6y ago
I can only speak from using GitHub (which I'm not overall very happy with anyway), but PRs on my team can recommend review either "by file" or "by commit", with a very strong preference for the latter. "By file
658.
▲
by
Twisol
6y ago
Ooooh, yes, I remember talking about this article with a coworker some months ago. > we are greatly constrained by the [metaphors] used to describe the problem. Linguistic relativity might be controversial, but this, I feel, is a "c
659.
▲
by
Twisol
6y ago
(Joke well taken!) Category theory was founded on topics like algebraic topology, so there's actually a rich framework of analogies to draw on between the two topics. The problem is, most of us aren't algebraic topologists. I want
660.
▲
by
Twisol
6y ago
> we often focus on how x is analogous to y, but skip over the part where we think about how x is not like y. Yes! Regardless of whether Djikstra is 100% right or wrong about "radical novelty", software engineering is relativ
More ›