Twitter | Search | |
Yaron Minsky
Occasional OCaml programmer
5,264
Tweets
157
Following
6,280
Followers
Tweets
Yaron Minsky retweeted
Ranjit Jhala 15h
Do you want to make compiler error messages better? We're doing an analysis of (type) error messages for -- if you have a moment (or 10), we'd love for you to help out by participating! (RT would be most appreciated!)
Reply Retweet Like
Yaron Minsky 21h
Awesome stuff. Great to see these ideas catch on further!
Reply Retweet Like
Yaron Minsky retweeted
Tristan Hume Jul 20
I wrote an article that gives a tour of how different languages implement generics, and how those methods can be extended in different ways into full metaprogramming systems. Includes Go, Rust, Swift, D and more languages.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @trishume
Have you looked at mlton? It does a surprising amount of monomorphization and specialization of polymorphic code, taking advantage of whole program optimization.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
Well, we can talk then!
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
Will you be at icfp?
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
(I do understand that this kind of logic doesn't work in most software organizations, somehow.)
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
Sure. But multicore is not a small amount of work, so if you might want it later, it would be wise to fund it now.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
And if OCaml with events tracked in the type system is your bag, you'll love typed algebraic effects....
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
I have a long list of reasons I'm not excited to do that, but it's probably not the most productive discussion. (Nothing more boring than two almost identical programming languages arguing about which is better.)
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
But if multicore is a priority for you guys, you should see if you can get FB to fund work on it! The foundations are all there, but it needs engineering time. And it's just not our priority, so it's not where our funding goes...
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
We're working on things to make all of that stuff easier to do, but I'm not that excited about shared memory heaps, especially in a language with uncontrolled mutation.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
We do some stuff with shared memory segments for cases where copying is a critical problem. But often, just having zero allocation serialization protocols (like capnp) can make serialization a lot lighter.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @AaronFriel @donsbot
Some special syntax.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @morabbin @donsbot
Do you want something in the lightweight concurrency space (like Async), or for shared parallelism, as in the multicore proposal?
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @donsbot
Another memory-level feature we're starting to think about is unboxed types, which could also be used to reduce memory usage, and to make data more rectangular...
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @donsbot
Interesting. Is this a problem you guys have been running in to at FB? We certainly have seen GC issues in some applications at Jane Street.
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @donsbot
Say more! I'm excited about it, but I don't know what you mean by "strategic".
Reply Retweet Like
Yaron Minsky Jul 20
Replying to @donsbot
We'll see. I'm hoping 4.10, so, later this year. I expect once it's reviewed we'll cherry pick the patch for internal use.
Reply Retweet Like
Yaron Minsky Jul 20
This is a pretty great improvement to OCaml's GC. We've seen 20-30% heap-size reductions. Plus, it fixes some applications that hit pathological behavior in the GC, where fragmentation leads to ever-growing heaps.
Reply Retweet Like