3 ms·
Not my thesis by verdict of my supervisors -- I am now on my third attempt at a thesis. (attempt 2 was http://cglab.ca/~abeinges/blah/too-many-lists/book/ http
by Gankro 11y ago
Not my thesis by verdict of my supervisors -- I am now on my third attempt at a thesis.
(attempt 2 was http://cglab.ca/~abeinges/blah/too-many-lists/book/ http://cglab.ca/~abeinges/blah/too-many-lists/book/)
- zeckalpha 11y agoAcademic or Mozilla supervisors?
- aturon 11y agoAcademic. The Mozilla supervisors (i.e. me) were very enthusiastic about the Rustonomicon being the thesis. But I think that what Gankro's working on now is even more exciting! But I'll let him talk about that...
- samth 11y agoI think the claims about linked lists there are rather oversold, especially the parts about functional languages. First, linked lists are common, useful, and efficient in languages such as Racket or Ocaml. I'd really want to see performance results before accepting your claims. Second, Haskell is really not limited in the way you say. You can write all the programs you'd write in an imperative language if you're willing to have IO in your type.
- aturon 11y agoHe does say "There are usually escape hatches, but at some limit you're just writing procedural code again."
- aturon 11y agoRegarding performance, one thing to keep in mind is that all of the languages you mention use GC, which can help with cache locality issues. In Rust, of course, the situation is different. Gankro also addresses the common and useful idioms you see in most functional languages through corresponding vector-centric functions on the Rust side. (Scala is perhaps a reasonable midpoint.) That all said, I too would love to see some substantiation of the performance intuitions here.
- Gankro 11y agoIt's still a bit of a draft document (still missing the last chapter, for one). Happy to change stuff based on proof. That's one of the more dubious ones for sure.
- samth 11y agoI think one of the problems here is that the discussion of how bad linked lists are switches back and forth between taking about Rust specifically and linked lists generally. Also, I think performance claims, especially ones as strong as the ones in that document, should be avoided without substantiation.