Sign in with Twitter

Username:

Occasional OCaml programmer

114 Following   3,684 Followers   2,575 Tweets

Joined Twitter 6/21/09


Bringing typed, modular macros to OCaml https://t.co/Xlke9ram7v @ocamllabs https://t.co/wegEOfIVs4
Retweeted by Yaron Minsky @cadepalmae @ocamllabs exciting stuff!
11/21
2016
@trishume It sounds like Reviewable is trying to do the right thing. I wonder how they avoid ddiffs. How else to deal with conflicts? @trishume "Even across multiple commits, merging, or rebasing. In beautiful, responsive, one- or two-column diffs." @trishume History browsing is definitely a hole in Iron. It's doable in principle, but we just haven't had time to do it right. @trishume I suspect I prefer the emacs integration of Iron to the web-ui, but I do wish we had a better story for side-by-side diffs. @trishume But I'm curious what you prefer about Reviewable's UI. Having a mini-forum associated with each feature is surely nice. @trishume The ddiffs (and more generally, the principled approach to reviewing diffs over patch evolution) seems like a fundamental feature.The high end is higher, and moves faster than ever. But we also have more unsophisticated programmers using OCaml.This is why Merlin is important to us at Jane Street now. We have a wider range of sophistication in our programmer base.Good tooling can increase the accessibility of advanced features. Type throwback, autocompletion, and good error reporting especially.It requires taste and restraint to make choices that do a good job of serving both audiences.But these things are helpful for more experienced users. And those very users are often the ones designing the environment for everyone.Every clever new idiom, every syntax extension, every use of an advanced language feature, is a tax on unsophisticated users.One of the challenges of designing a good dev environment is keeping things simple, while serving experienced users well. @trishume also, Iron's constraints on merge flow prevent various bad merge cases from coming up. No more criss-cross merges! @trishume the fundamental improvement is making review possible in these contexts.
11/18
2016
@avsm @jordwalke @OpenMirage but it does make crosscutting changes easier. @avsm @jordwalke @OpenMirage that doesn't prevent the individual libraries from being packaged and used independently. @avsm @jordwalke @OpenMirage monorepos don't have to be closed source. You could imagine having a mirage repo that brings the 8 together. @avsm @OpenMirage and all you need to do to partake in our tooling for this is to switch to Mercurial! @avsm @OpenMirage Yes! Precisely. That works pretty excellently in our experience. @avsm @OpenMirage our open source release process breaks up our internal monorepo into little repos for export to GitHub. @avsm @OpenMirage though we solve multi-repo problems mostly by not having them. @henridf https://t.co/shKASrCi0NNone if which is to deny the many nice things about existing tooling for git, including GitHub as well as tools like magit...It's a shame, though: Iron's model for rebases, stable branches, and chains of features is considerably more principled.That said, it's not especially realistic. Iron is currently hg-only, and I don't think anyone is poised to add git support.Sometimes, I think OCaml compiler development would be a lot cleaner if it was done using Iron instead of GitHub.
11/16
2016
Well written code written wth a good type system tends to snap into place with a surprisingly small number of tests.Testing and types aren't really at odds: types reduce the number of unexpected corner cases, effectively amplifying the power of tests.
11/15
2016
It’s not hard to not have null pointers in your language. When designing it, don’t put null pointers in the language.
Retweeted by Yaron Minsky
11/10
2016
OCaml has ruined me for other languages' type systems :( I'm in swift, like "oh it's so close, but..."
Retweeted by Yaron MinskyThanks to all the campaign-trail reporters who upended their lives for a year and a half to do often thankless work for the rest of us.
Retweeted by Yaron Minsky
11/8
2016
A fun "where are they now" piece, about a woman I'd never heard of. Need to watch more kung fu movies... https://t.co/tkP18PtSMr
11/6
2016
@lucasdicioccio More like monadic libraries eating stack traces.Incremental is great for writing readable rendering code with lots of algorithmic optimizations. But it makes profiling a lot harder.It's fun seeing interns learning to refactor in OCaml; the pleasant surprise that the code worked right out of the gate is gratifying.
11/3
2016
My talk on Python best practices is now outdated. Nowadays my most important Python best practice is to use OCaml. https://t.co/a0sknKz5cI
Retweeted by Yaron Minsky
11/2
2016
Exciting new work (just accepted to POPL) on building an ML like language on top of subtyping: https://t.co/36nT6oX6bO
11/1
2016
With permission, here's my friend Ilana winning Halloween last night. She went as a... ... ... Statistical model. https://t.co/Z7DTrxoEoF
Retweeted by Yaron Minsky @jordwalke doesn't neovim have a proper ffi, that would allow one to hook in with other languages?Fun train competition: one kid trying to solve puzzles by hand, one trying to write a solver! https://t.co/5xVOsis4td
10/30
2016
@e813482a818dafc @fbOpenSource we do!
10/29
2016
@jacobmcarthur I now think the answer to my question is: maximum sarcasm!I'm unsure as to exactly what level of sarcasm I should read this at... https://t.co/mF0ZiZza63Some notes on the keynote I gave at CUFP, along with an index to the individual sections: https://t.co/JTzTJJr1mzI wonder how much Big Emacs paid Apple to get rid of the escape key. They'll stop at nothing in their war on vi.
Retweeted by Yaron Minsky
10/27
2016
@natefoster @p4org @barefootnetwork I must admit, the barefootnetwork vision is pretty inspiring... @natefoster @p4org @barefootnetwork I'm excited about p4. Is it going to get variants in the end?Such an approach might let you apply SDN to bigger, more diverse, real world networks. /endBut I suspect there's a path that starts with ad hoc configs and adds centralization, testing, simulation, and config-gen, gradually. /9Which is not too say that better languages for the bottom layer aren't helpful. They are. /8And I suspect new languages like p4 aren't required either. Much good could be done on top of legacy configuration languages. /7Good idea or bad, a controller that is actively involved in packet handling isn't required to build better tools for programming networks /6With that approach, you could migrate a real network towards centralized control and better programmatic tools. /5In that world, your control controls only configs, and there's no centralized piece that sees network traffic /4Another approach is to work backwards, finding good ways of managing collections of configurations of switches as they currently exist /3In particular, it seems like the limitations of openflow have caused people to put too much functionality into controllers. /2I don't know enough about networks to really say this, but I've come to think that the traditional academic approach to SDN is wrongheaded. @andrenth I'd stay with core for now. We hope to have a more polished story by year end.
10/25
2016
@EJ96 thanks! It's been a fun visit.
10/24
2016
@samth The places that surprise me are those that do spend real effort on quality, but don't include static types in their toolset @samth But the solutions to the former problem seem to me more economic and legal than technical. @samth But if you do have the budget, I think high quality type systems are great bang for your buck. @samth His point that, types or not, you're kind of dead if you don't have budget to spend on quality seems dead on. @das_kube And pure code that requires setting up complex dependencies is painful to test. @das_kube I find it's more about complexity than purity. Impure code that's simple to set up is easy to test, including via property tests. @samth that sounds like a fair analysis.The part I'm least convinced about is property based testing. It's useful, for sure, but probably the least common idiom I use for testing.The point about having good build times is interesting, though I do think it depends on the nature of the project.I don't agree with everything here, but it's a thoughtful post on the limits of static types. https://t.co/AdDveuExRN
10/23
2016
@andreymokhov maybe the lesson is that build rules are close to a fixed cost, only growing slowly as the codebase grows. @andreymokhov that's striking! And that's just ghc. That makes me feel a little better, given that we're building many hundreds of projects. @laczoka @Araxis sadly, need something for Unix, and that works on the command line. @yurug partially. It doesn't look like it can be used outsider of git, unfortunately. And it looks like it only partially ignores whitespace
10/22
2016
Ideally it would also be able to ignore line breaks...Hey twitterverse: does anyone know if there's a whitespace-insensitive merge program out there?It's worth noting that the 10k is just the general rules. Per-project jbuild files are not included.
10/21
2016
X

0