Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
withoutboats3
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
61.
▲
by
withoutboats3
2y ago
This comment is idiotic.
62.
▲
by
withoutboats3
2y ago
This is a great quote and sadly true. What text is this from?
63.
▲
by
withoutboats3
2y ago
This remark isn't relevant to the subject under discussion. You're talking about the fact that Rust's lifetime analysis was initially a simple lexical check, and has evolved toward properly understanding control flow beyond j
64.
▲
by
withoutboats3
2y ago
I'm suspicious about the truth of this claim. I don't think bidirectional typechecking is the problem in itself: the problem trying to do type inference when you have some extremely flexible operator overloading, subtyping, and li
65.
▲
by
withoutboats3
2y ago
Also my thought. It's very interesting how the designers of this language, presumably unaware of algebraic effects, write about it as if it a terrible joke when this is actually one of the trendiest ideas in PL.
66.
▲
by
withoutboats3
2y ago
Yea, I think its fair to say that Hoare was actually arguing for something like "value semantics," because he saw all the problems that references cause. But I would claim you can't actually implement a realistic system witho
67.
▲
by
withoutboats3
2y ago
This comment is pedantic but not relevant, the grandparent comment was right. If the vector is reallocated to a new location in memory (either because it uses malloc or because realloc can't grow the existing allocation and must alloca
68.
▲
by
withoutboats3
2y ago
Halfway through your comment I was going to say you were wrong, that ASTs aren't self-referential and that you can easily allocate them in a single block using a bump allocator, but then obviously you say so yourself in the second part
69.
▲
by
withoutboats3
2y ago
The problem here isn't with the concept of Streams (which are good) but with specifically the "buffered stream" APIs provided by the futures crate (i.e. the buffered and buffer_unordered methods). Their lack of concurrency wi
70.
▲
by
withoutboats3
2y ago
I'm assuming your language has types which don't have default values because default values for every type are a billion dollar mistake that no modern language should have.
71.
▲
by
withoutboats3
2y ago
My reference point is Rust because I've worked on or in Rust for most of the past decade, but I think the relevance of Rust for programming language design more broadly is that it is the most well-typed widely deployed imperative pro
72.
▲
by
withoutboats3
2y ago
The difference of this and an effect handler fwiw is that it doesn't handle it totally - it handles the divergence effect but then produces a partial function.
73.
▲
by
withoutboats3
3y ago
That is his claim, but he is lying.
74.
▲
by
withoutboats3
3y ago
You are not reading the claim wrong, but the claim is a lie. We did not add async/await to Rust because it was popular but because it was the right solution for Rust. If you actually read my post that this liar linked to, you will find
75.
▲
by
withoutboats3
3y ago
This comment is a lie.
76.
▲
by
withoutboats3
3y ago
This is a lie. Async/await was developed to support systems that need to use non-blocking IO for performance reasons, not to appeal to JS programmers.
77.
▲
by
withoutboats3
3y ago
Every word you've written is false, slanderous and idiotic. You are quoting a post in which I explain at length why async/await was the right fit for Rust technically. You are either illiterate or malignant. Despite your evident i
78.
▲
by
withoutboats3
3y ago
Rust shipped async/await before C++ (Rust in 2019, C++ in 2020). C++'s version is not memory safe.
79.
▲
by
withoutboats3
3y ago
The design in Eric Holk's post that I link has that property because it has an `on_cancel` combinator to add a future to run when another future is cancelled (and anticipates the problem of then cancelling that future and so on); that
80.
▲
by
withoutboats3
3y ago
I liked the first sentence or two of your comment but I quickly stopped following. Any concurrency model has tightly coupled & specific semantics about scheduling and cancellation: that's what a concurrency model is meant to provid
81.
▲
by
withoutboats3
3y ago
Sure, we did that in 2016 when we first created the Future abstraction: http://aturon.github.io/blog/2016/08/11/futures/
82.
▲
by
withoutboats3
3y ago
Setting aside the issue of delays (I agree with that; this is why I started blogging about async Rust again even though I am no longer part of the project), Rust cannot solve the problem except with async because of its prior commitment to
83.
▲
by
withoutboats3
3y ago
I cannot follow your comment. Being automatically cancellable is part of the value proposition of the future abstraction: it lets you abandon unnecessary work automatically. This post is about a limitation on cancellation (cancellation itse
84.
▲
by
withoutboats3
3y ago
The issue isn't contravariance but that higher ranked lifetimes can't have subtyping relations between them in rustc's implementation, so the fn pointer type is treated as a more general type than it is. This user is still wr
85.
▲
by
withoutboats3
3y ago
I use a markdown static site generator with a custom layout and CSS. Currently I use hugo, but I don't like it and I'm re-writing my site with zola when I have the time. The ASCII flow charts are made in vim, they're just cod
86.
▲
by
withoutboats3
3y ago
This comment is really not relevant to my post, but its a work in progress. Async closures were just added to the nightly compiler, and their author wrote an async iterator combinator library here: https://github.com/compile
87.
▲
by
withoutboats3
3y ago
They laid off hundreds of staff while they were massively in the black. If your thesis is that Firefox was doomed whatever Mozilla did, and so it's fine to lay off staff and build a warchest to support a post-browser advocacy foundatio
88.
▲
by
withoutboats3
3y ago
Her salary began increasing in the late 2010s, when the annual revenue was already around 500 million. Her salary did not grow in step with revenue, her salary grew after revenue stopped increasing & market share had long been declining
89.
▲
by
withoutboats3
3y ago
You need stackful coroutines or continuations (which become really just a kind of growable stack) if you want recursive functions. This is a limitation of Rust’s design.
90.
▲
by
withoutboats3
3y ago
This is interesting and makes sense. It's worth mentioning that the original use of structured concurrency (by Sustrik) was really about dealing with the problem of cancellation-friendly virtual threads: https://250bpm.com&#
More ›