Programming with OCaml's Local Mode | OCaml Unboxed

  Рет қаралды 1,546

Jane Street

Jane Street

Күн бұрын

Пікірлер: 8
@huge_letters
@huge_letters 5 ай бұрын
thanks for the series :) still hard to wrap my head around most of the concepts, probably will once I get to actually use this but was very interesting to watch
@12332a
@12332a 4 ай бұрын
Heyy can u plzz tell me that a B.E Cse graduate can apply in jane street or not..
@bjzaba
@bjzaba 4 ай бұрын
Great series, thank you, this feature is very exciting! It would be nice to get some clarification on what modes are compared to modalities (this came up in passing when talking about the global field). I was thinking this whole video series that "modes" were a Jane Street-ism for "modality". I had felt it was a little bit unfortunate, as there is already a notion of "mode" in logic programming which is in relation to how the parameters of a predicate can be instantiated. If you're familiar with bidirectional typing, this is the same as how you can mark parts of the typing judgements as inputs or outputs - I even think some authors refer to these as modes as well.
@RichardEisenberg-JS
@RichardEisenberg-JS 4 ай бұрын
Yes, there are lots of different uses of the terminology out there. I don't particularly defend our choices, but instead I acknowledge that I think any choice of term would have thrown off some potential learners. As for modality vs mode: We use modality to mean a function from mode to mode. Suppose we have a record r at mode m whose type has a field x with a modality f. Then an access of r.x is at mode f(m). The `global` modality is the constant function that always returns `global`. But we have imagined other modalities that actually depend on their argument.
@bjzaba
@bjzaba 4 ай бұрын
@@RichardEisenberg-JS Cool, thanks for the explanation! Yeah figuring out terminology for new things is definitely hard, and I don’t envy the compromises you have to make. There's always going to be people confused or frustrated and it's hard to predict that in the future - it could be fine, or it could be grumbled about for years, and there's only so many words to choose. Anyway, thanks again for your work and your efforts in explaining this stuff, it's greatly appreciated!
@moazzammoriani1656
@moazzammoriani1656 4 ай бұрын
Thank you for this series! I'm curious about the speedup and performance gains that modal types offer. Are there any benchmarks currently available?
@RichardEisenberg-JS
@RichardEisenberg-JS 4 ай бұрын
I don't have benchmarks to report. Part of the problem with benchmarks is that it's hard to make any that are not misleading. That is, I bet I could get an arbitrary percentage speedup by switching to locals, if I have the freedom to write my own program, so writing my own program is not a good way to address this. I could use existing programs, but because using locals well requires some annotations, those programs would have to be edited. How much should we edit? Now that locals exist, we might be able to make large restructuring to a program that will make it clearer without losing performance.... but how does the benchmark take that into account? I'm not trying to say that these problems don't have solutions, just that "measure the perf improvement" is never quite as easy as it sounds. Incidentally, the biggest place within Jane Street that makes use of locals isn't around performance improvement, but is instead around code improvement. That is, there are some applications with performance requirements. Previous to locals, those applications used other techniques to meet their needs. Now with locals, programs can be written more idiomatically (making them easier to maintain), all without losing performance. So the biggest win -- maintainability -- is even harder to measure.
@ps-eo3rr
@ps-eo3rr 3 ай бұрын
Hey give me an interview I'm pretty good. Software developer. Thought I'd ask. Why not, you know
OCaml's New Proposed "include functor" Syntax | OCaml Unboxed
8:07
Why OCaml
1:06:40
Jane Street
Рет қаралды 122 М.
Being Competent With Coding Is More Fun
11:13
TheVimeagen
Рет қаралды 115 М.
Master the python logging module
9:30
Timnology
Рет қаралды 2,2 М.
System Jitter and Where to Find It: A Whack-a-Mole Experience
27:17
A Jane Street Trading Mock Interview with Graham and Andrea
25:43
Jane Street
Рет қаралды 304 М.
wtf is “the stack” ?
8:03
Low Level
Рет қаралды 110 М.
Regions with OCaml's Local Types | OCaml Unboxed
11:28
Jane Street
Рет қаралды 1 М.
Writing an interpreter... in OCaml?!?
17:10
TJ DeVries
Рет қаралды 40 М.
uv: An Extremely Fast Python Package Manager
40:34
Jane Street
Рет қаралды 43 М.
How is this Website so fast!?
13:39
Wes Bos
Рет қаралды 1 МЛН