Sign in with Twitter

Username:

Occasional OCaml programmer

123 Following   4,156 Followers   3,510 Tweets

Joined Twitter 6/21/09


@marius @PLT_cheater And some in-program architectural choices are quite hard to do without the right language features. @marius @PLT_cheater But good languages used well can make choosing good architectures easier. @marius @PLT_cheater I do very much agree with that. @marius @PLT_cheater And unikernels, driven by language level abstractions, might be a better architecture still. @marius @PLT_cheater An interesting example, but note that both on some sense failed on their original mission. @marius @PLT_cheater Agreed. But how well can you do when you get both architecture and language right? I think the effects are addative.Thanks! It's one of my favorite talk to give. https://t.co/VxHRwXzPdb @marius But there are ways of pushing back that boundary without better PLs. That's just one way to do it. (and an… https://t.co/nU9ssEp7T9 @marius That can push back the boundaries of the condition when a piece of software fails under its own weight, una… https://t.co/pw38O4lHYv @marius I think an interesting question is how scale comes into play. Better PLs can simplify building abstractions that help you scale.It appears that my Twitter followers are by and large programming language optimists... @dan_schmidt Of course, if you have bounded staff, making something 3x easier could easily move it from impossible… https://t.co/wbAB141Woq @dan_schmidt Do you have an example in mind? Impossible is a high bar. @chadaustin The idea that it matters more for larger, longer lived, more complex projects very much matches up with my intuitions.But I'm still curious what people imagine the realistic upper bound is.Obviously, it depends: what languages are you moving between? What's the nature of the project and organization?An ill-formed question: what productivity increase could you get from picking a better programming language?The "Caveat Configurator" talk by @pygatea's is now online! https://t.co/kb8SocRSu4 @pygatea's "Caveat Configurator" talk is now online! https://t.co/izrvlHHqEZ
6/23
2017
@ShonFeder The main change is the occasional use of first class modules and sometimes GADTs as type indexed values.Yeah, it was the new comment that made me think it was worth repostingAn oldie but a goodie: a working programmer's guide to type indexed values. https://t.co/78GhhEPGJo
6/18
2017
One could be forgiven for doubting the health and safety of the family environment, based on this fact alone.I just learned that my 10 year old daughter can quickly count to 1023 in binary on her fingers. Kind of amazing to behold. #proudfather
6/11
2017
@jordwalke @bobzhang1988 @let_def @ccrisccris @rgrinb If you're mentioning jbuilder, you might want to mention @dimenix too...
6/10
2017
@jacobmcarthur @argumatronic +1! I think it's going to be an awesome position. And I can report is possible to writ… https://t.co/5Aej4mFWPZ
6/8
2017
@ShriramKMurthi @samth @zeRusski Oh, and what's the interop story with plai-typed? Can I call ordinary Racket functions in some form? @ShriramKMurthi @samth @zeRusski I'll take a look at it. @ShriramKMurthi @samth @zeRusski That's an advantage of both OCaml and Pyret. @ShriramKMurthi @samth @zeRusski Indeed, having a type-system that crosses paradigms is really hard: see Swift, Sca… https://t.co/DAbfpBDFkY @ShriramKMurthi @samth @zeRusski Sure, but there's something fundamental here. It's hard to design a type system co… https://t.co/7c2mJh58tg
6/4
2017
@coreload @msimoni I agree with that. It's just rarely with the trouble. @plragde @samth @ShriramKMurthi @zeRusski I suspect that just some Elm-style work on the error messages would get us pretty far! @coreload @msimoni It seems like it requires a lot of care and discipline to get right, and one mistake creates a security flaw. @coreload @msimoni Do you think that in real circumstances this is anywhere near as effective as GC? @plragde @samth @ShriramKMurthi @zeRusski The difference in TR is that the errors are much harder to grok. I think… https://t.co/ISztpikhsG @plragde @samth @ShriramKMurthi @zeRusski But OCaml-style types worked better than I would have guessed. @plragde @samth @ShriramKMurthi @zeRusski The things that argued for Racket over OCaml are the IDE, the simple synt… https://t.co/uvNqHKz2TB @plragde @samth @ShriramKMurthi @zeRusski Mostly for me. Though I've had a little experience with her using OCaml,… https://t.co/dKvnb5W6JA @samth @ShriramKMurthi @zeRusski I figured it out, but it does make me think TR's not quite ready for teaching. Not… https://t.co/ah0JjvhKqj @samth @ShriramKMurthi @zeRusski In particular, I put a List where I should have put a Listof, and got a contract v… https://t.co/OCnfwSRqsZ @samth @ShriramKMurthi @zeRusski Well, I went and rewrote my little chat-bot framework with TR. Nice, but man, the… https://t.co/uLkEDXSVBC @coreload @msimoni Design by contract can prevent buffer overflows? Indexing bugs? General memory management errors… https://t.co/aTY2rBhuv0 @racket folk: is there a nice, built-in way of constructing structs with keyword arguments? @marius @msimoni After all, here I am, teaching with Racket, not Typed Racket, and not OCaml. @marius @msimoni Agreed. @msimoni But it's odd to claim that making judgments about the relative importance of language features is by its nature illegitimate. @msimoni You're of course welcome to disagree with my judgments! @msimoni There's a huge gap between saying that people's judgments are subjective and saying everything is the same. @msimoni Do you really think all language differences are equally important? Curly-braces vs parens? whitespace-sensitive syntax? @msimoni Lack of GC is directly attributable to a large array of security bugs. I love strong typing, but credit where credit is due. @msimoni Sure. But that doesn't mean there are no more or less important distinctions between languages. @msimoni Little is more certain than the wrongness of writing so many networked applications in C. @msimoni And has horrifying and unnecessary security bugs because of it. @zeRusski But maybe I should give it another shot. It's probably gotten better since I last looked. @zeRusski Perhaps. When I played with Typed Racket, the compiler was crushingly slow, and the types were complex, e… https://t.co/PMSujcItSD @msimoni Yeah, and you can get over not having a GC either. But the cost of going without is higher for some language features than others.I appreciate the simplicity of a type-free world when teaching a 12-year-old. But man, you do lose a lot.Hmm. Starting to code a little MUD engine in Racket, I start missing exhaustive pattern matching and type-checking almost immediately.But the nice thing is that, once she's ready to look at the IO layer, it's really quite simple.My plan is to split up the work at first: I'll do the IO, she'll do the game state handling.Next programming project with my daughter: a telnet based MUD. It's such a simple way to build a multiplayer game.
6/3
2017
@ChiefScientist None in our public code, I'm afraid. @ChiefScientist Turns out, with shared memory and message passing, you can have true parallelism right now! No shared GC'd heap required... @matthewhammer Been reading an old paper of yours for inspiration. Do you feel like the design here panned out? https://t.co/KUHsqvuOc6There's an OCaml Compiler Hacking session in Boston on Tuesday! That other Cambridge can't have all the fun. https://t.co/85UyVfGhQ4
6/2
2017
Good signal-to-noise ratio, a good variety of posts, including some questions from beginners. Plus, people have been really nice.I don't mean to get excited prematurely, but the new https://t.co/NUq2aNhh36-based https://t.co/bf1ueAIXMD seems pretty great.
5/30
2017
Believing in my country doesn't mean assuming we'll be OK. It means believing that what's noble about my country is worth fighting for.
Retweeted by Yaron Minsky
5/29
2017
And yet, I love em.Terminal apps: where you use a portability layer to target one of the many emulators for hardware that hasn't existed for twenty years. @yminsky Me at Jane Street: "oh multicast, like you have a message broadcasting server?", them:"no just UDP", me:"oh right, that's a thing"
Retweeted by Yaron Minsky
5/27
2017
Don't get me wrong: it has its sharp edges. But once you tame it, it makes certain kinds of scaling problems a breezeMost of the technology world seems afraid to use multicast, and under uses it as a result. I think it's a mistake.This is the best thing ever. The video is great, and he's right about the sustain on the monitor. https://t.co/zXltgFhhDc
5/26
2017
The audio is kind of terrible, but here's a @dimenix's talk on Jbuilder: https://t.co/yywZQmS5Po
5/25
2017
ReasonML NYC (New York, NY) | Meetup https://t.co/n1t0trh6BS
Retweeted by Yaron Minsky
5/24
2017
The most impressive bit being that there actually is a manual.And if you don't believe something is different this time, look at the docs: https://t.co/QeC68lbguw
5/23
2017

0