Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
yminsky
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
The 13 Virtues of Code Review (with Apologies to Ben Franklin)
(blogs.janestreet.com)
1 points
by
yminsky
12y ago
|
0 comments
62.
▲
If you were teaching a programming course, what language would you teach it in?
(blogs.janestreet.com)
8 points
by
yminsky
12y ago
|
5 comments
63.
▲
A guide to the Jane Street programming interview
(blogs.janestreet.com)
4 points
by
yminsky
12y ago
|
1 comments
64.
▲
What the interns have wrought: RPC_parallel and Core_profiler
(blogs.janestreet.com)
18 points
by
yminsky
12y ago
|
2 comments
65.
▲
The Parable of the Perfect Connection
(blogs.janestreet.com)
50 points
by
yminsky
12y ago
|
4 comments
66.
▲
What's in a name? (on the nature of naming in computer science)
(blogs.janestreet.com)
8 points
by
yminsky
12y ago
|
0 comments
67.
▲
by
yminsky
12y ago
Async and LWT give you lightweight concurrency mechanisms. Libraries like Async.RPC give you lightweight remote invocation, and Async_parallel gives you simple mechanisms for spinning up multiple physical processes and communicating between
68.
▲
by
yminsky
12y ago
For an HTTP server you should use Async or LWT, which are lightweight concurrency libraries. You can handle quite high levels of concurrency with either one. My impression is that people building highly parallel HTTP servers do quite well
69.
▲
by
yminsky
12y ago
For what it's worth, the world has changed since then: Core_kernel (which is the highly portable bits of Core, which is most of it) works on Windows just fine. Indeed, WODI, which is the best windows package manager for OCaml right no
70.
▲
by
yminsky
12y ago
Real World OCaml does indeed cover Core and related libraries, but you can also just read the API documentation: https://ocaml.janestreet.com/ocaml-core/latest/doc/
71.
▲
by
yminsky
12y ago
Unix support is definitely better than Windows. That said, the core language and base libraries are pretty portable. Here's one nice retrospective on a move from Python to OCaml for a program that needed portability to Windows as a f
72.
▲
by
yminsky
12y ago
My experience has been building parallel and distributed programs using multiple runtime instances that communicate via message passing. There are libraries that help automate this, link our own Async_parallel ( https://blogs.jan
73.
▲
by
yminsky
12y ago
It depends on what CS1 really means. I do think cs51 is comparable to CIS120 at Penn, and I think the later is pretty clearly CS1. That said, I find it hard to really figure out what the precise criteria are. It's pretty clear that
74.
▲
by
yminsky
12y ago
The biggest change is OPAM, http://opam.ocaml.org/ , a top-notch package management system that makes installing OCaml packages much easier. Shameless plug: there's also a newish O'Reilly book, Real World OCaml ht
75.
▲
by
yminsky
12y ago
Jane Street makes use of OCaml's built-in metaprogramming facility, camlp4. While these are in some sense "our own extensions", they're wholly shareable without using a hacked version of the compiler, and just because w
76.
▲
by
yminsky
12y ago
I would have thought cs50 is a cs0 course, and cs51 is the cs1. cs50 is the concentrators-and-non-concentrators course that's all flash and fun. What do you think is the cs0 at Harvard? As for your point about Penn's CS120, I gues
77.
▲
by
yminsky
12y ago
(Author of the article here) The stdlib that ships with the compiler is indeed minimal, though it is used for things other than the compiler. It can be used for other projects, but you probably want something more full-featured. Core, and
78.
▲
by
yminsky
12y ago
ML (OCaml and SML) seems to get short shrift in your analysis. CS51 at Harvard is in OCaml. Brown's cs017 is OCaml, Scheme, Scala and Java. Penn's CS120 is OCaml (I think. It definitely used to be, but I can't find the cou
79.
▲
Making "never break the build" scale
(blogs.janestreet.com)
7 points
by
yminsky
12y ago
|
0 comments
80.
▲
Iron out your release process
(blogs.janestreet.com)
1 points
by
yminsky
12y ago
|
0 comments
81.
▲
Scrutinize your code in style
(blogs.janestreet.com)
4 points
by
yminsky
12y ago
|
0 comments
82.
▲
Code review that isn't boring
(blogs.janestreet.com)
11 points
by
yminsky
12y ago
|
2 comments
83.
▲
by
yminsky
12y ago
I think we're pretty clearly the most intense user (most code, most developers using it), but not technically the biggest company using it. Bloomberg and Facebook are examples of bigger companies using it in serious ways.
84.
▲
by
yminsky
12y ago
I don't think this is correct. All pure data structures are threadsafe. It's true that mutable datastructures like the built-in hashtable are not threadsafe. But isn't that the standard tradeoff with threads? Most things
85.
▲
OCaml 4.02: Everything else
(blogs.janestreet.com)
98 points
by
yminsky
12y ago
|
52 comments
86.
▲
Pattern matching and exception handling, Unite
(blogs.janestreet.com)
2 points
by
yminsky
12y ago
|
0 comments
87.
▲
by
yminsky
12y ago
I think Lisp and Scheme have excellent macro systems, which are eminently worth stealing. I don't think OCaml will evolve into them on the type-system level though...
88.
▲
Polymorphism for Beginners
(roscidus.com)
3 points
by
yminsky
13y ago
|
0 comments
89.
▲
by
yminsky
13y ago
Haskell is nice and all, but it's hardly better in every respect. To name a few problems with Haskell relative to OCaml: - pervasive use of laziness makes space utilization hard to reason about - Highly complex runtime (mostly due to
90.
▲
by
yminsky
13y ago
The documentation generation tools are a bit of a mess at the moment. We're working actively with OCaml Labs to improve the tools here, and we expect to have the documentation in a much cleaner and easier to use state (and prettier) b
More ›