Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kthielen
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
17 ms
·
91.
▲
by
kthielen
9y ago
Even with the direct style interpretation, with that code as written, you're going to have as many call frames as list elements. It doesn't really have anything to do with call/cc or even Scheme for that matter.
92.
▲
by
kthielen
9y ago
Maybe an easier way to go is to record it structured up front (it’s already structured in the original application source anyway). This makes it much easier to record efficiently (so you can record more data) and also much easier to query
93.
▲
by
kthielen
9y ago
You know what's faster than having an interpreter for your program that fits entirely in L1 cache? Not having the interpreter at all.
94.
▲
by
kthielen
9y ago
Hi Sam, good to run into you here! :D
95.
▲
by
kthielen
9y ago
You might be interested in hobbes, it's free and open source, and we use it with some very large/complex data sets: https://github.com/Morgan-Stanley/hobbes The PL is a little different (very similar to Haske
96.
▲
by
kthielen
9y ago
FWIW: https://www.cs.princeton.edu/~appel/papers/ssafun.ps
97.
▲
by
kthielen
9y ago
This is a good introduction, and a very useful abstraction. At Morgan Stanley we have built a PL/compiler and tools around a method of logging like this -- logging algebraic data types and live querying out of them with Haskell-like c
98.
▲
by
kthielen
9y ago
I think that this dichotomy can be summarized with the old logical identity: A or B = not(A) implies B Considered as a statement about types, 'A or B' is a variant type over two constructors A/B (this is equivalent to an opti
99.
▲
by
kthielen
9y ago
You must be able to come up with better criticism than that. Number of people who work on the project, time it's been on github, contributors' employers ... these are completely irrelevant to the question of whether this project
100.
▲
by
kthielen
9y ago
Yes I do work on the project at Morgan Stanley. Our group email is hobbes-dev@morganstanley.com and we're pretty responsive on that list (as well as on the github page).
101.
▲
by
kthielen
9y ago
Kx does seem to bully people with threats of lawsuits, not sure how often they actually follow through. hobbes is not a k/q clone, it's much more like Haskell actually. The features that make hobbes especially compelling for its
102.
▲
by
kthielen
9y ago
It’s better in a lot of ways. It has a type system, can produce much better code, can do cross-process compilation (for multi-process IPC). The FFI/binding process is much simpler, there are more options to record precisely-typed dat
103.
▲
by
kthielen
9y ago
How about hobbes?
104.
▲
by
kthielen
9y ago
That's why compensation is lower and companies can hire more generalists to soak up supply ...
105.
▲
by
kthielen
9y ago
The one I linked to in my previous post also produces code that's fast enough to use in the critical path in low-latency trading systems. As you may know, q's "scalar performance" is not great; similar to Scheme or pytho
106.
▲
by
kthielen
9y ago
That's great that your interest produced that result! When I made a K interpreter, Kx threatened to sue me and everyone I had worked for.
107.
▲
by
kthielen
9y ago
https://github.com/Morgan-Stanley/hobbes
108.
▲
by
kthielen
9y ago
This approach to processing real-time and historical data works very well. We use a similar approach at Morgan Stanley and have a PL/compiler for real-time index construction and query processing on top ( https://github.com&
109.
▲
by
kthielen
9y ago
OK, there's now a PR in the queue to allow hobbes to build with LLVM 4.0+. Pending review, it will likely be merged to master soon.
110.
▲
by
kthielen
9y ago
Sure, I guess "record type" makes sense? Basically a record type is a "struct" or a series of values with particular names (the "field names"). A tuple is the same thing, but by convention the "names&quo
111.
▲
by
kthielen
9y ago
I am not aware of that work from Oracle, but it would be interesting to talk with those folks! Our main focus has been x86, although there are interesting alternative platforms.
112.
▲
by
kthielen
9y ago
Nope, that wasn't me. :)
113.
▲
by
kthielen
9y ago
Yes, TREX and Mark Jones's work on qualified types was very influential to this project. I am a big fan of that work. I added a few details in this post below: https://news.ycombinator.com/item?id=14787429 I hope that
114.
▲
by
kthielen
9y ago
Yes, structural typing of records (and variants and recursives) has been very valuable to us. There are a couple of type constraints (ala type class constraints) that make most of this work. There's a constraint that looks like 'r
115.
▲
by
kthielen
9y ago
It's not pure currently, so definitely more like OCaml. We make frequent use of overloaded array comprehensions, which is one form that monad syntax can take. The "do" notation introduced by Haskell isn't supported righ
116.
▲
by
kthielen
9y ago
Doh you're right. We will need to look into LLVM 4.0+ soon.
117.
▲
by
kthielen
9y ago
Thanks, I hope to hear about your experience if/when you look into this (and I'm happy to help in any way I can). :)
118.
▲
by
kthielen
9y ago
I wouldn't summarize it that way. We obviously "free" memory or else our trading systems wouldn't work and we'd be in the news in a bad way. :) Allocation does happen out of a default region and applications that
119.
▲
by
kthielen
9y ago
Strict
120.
▲
by
kthielen
9y ago
Well I have been interested in programming languages for a very long time. I was hired into a group at Morgan Stanley specifically to develop this project. We had some initial use-cases where some internal trading systems could be "h
More ›