2,865 reputation
1015
bio website jelv.is
location Berkeley, CA
age 21
visits member for 3 years, 7 months
seen Jul 8 at 17:40

I am a student interested in programming languages, functional programming, program synthesis, type theory, universal algebra and startups (not necessarily in that order!). In the near future, I want to combine as many of these as possible.

I am currently an undergraduate researcher at the Berkeley ParLab, working on program synthesis. This past summer, I was a tech intern at Jane Street Capital, brazenly using OCaml in the real world. Right now, I'm leading a meetup group about type theory; you can see the slides here or just show up to the next on if you live near SF ;).

I am always happy to chat: my email is tikhon@jelv.is

GitHub: http://github.com/TikhonJelvis

Website: http://jelv.is


Mar
20
comment What's the next level of abstraction?
"Duck typing" (at least as you describe) is not really novel or limited to dynamically typed languages; it's been around for a long time in statically typed languages as "structural sub-typing", best seen in OCaml.
Mar
20
comment What's the next level of abstraction?
FRP is great, but it deals with a fairly specific sort of programming (namely reactive programming). It is not very good for modelling other sorts of programs. However, the more general sort of programming it represents--writing your code in terms of algebras--is a good candidate for a new level of abstraction.
Mar
19
comment CoffeeScript and Named Functions
@WinstonEwert: It matters because CoffeeScript is so close to JavaScript. After all, the "golden rule" is: "It's just JavaScript".
Mar
19
comment CoffeeScript and Named Functions
@skizeey: Good points, thanks.
Mar
19
revised CoffeeScript and Named Functions
added 233 characters in body
Mar
19
answered CoffeeScript and Named Functions
Feb
18
awarded  Caucus
Feb
16
comment How does if/else work internally in all programming languages?
I think that "simplifying" by limiting your discussion to C-like languages is a disservice, especially to beginners: it's very useful to know about alternatives and we should encourage people to explore other options.
Feb
12
comment Inspirational software for end-users written in Haskell?
@quant_dev: I'm not quite sure what you mean with that comment, partly because this question did get closed, but largely because this site does not seem biased towards FP at all.
Feb
9
answered Erlang/Haskell web service to server files
Feb
5
comment What's the progress on Haskell records?
The other issue is that if you add a new record system, you can either get rid of the current one, which would be a breaking change, or have two record systems simultaneously, which would be a mess. I think the a.b issue is less important because A.b already means something different from A . b (thanks to the module system). Sure it's a breaking change, but it's not a particularly bad one.
Feb
5
comment What's a good math textbook to have on my desk while studying Haskell?
It's not necessary, but it's fun and it can help. At the very least, I didn't need any category theory for the "how" of Haskell, but learning the basics really helped me with the "why".
Feb
4
awarded  Good Answer
Feb
4
comment What is the advantage of currying?
I've never had problems like that: GHC, at the very least, is very good in that regard. The compiler always catches that sort of issue, and has good error messages for this error as well.
Feb
3
comment What is the advantage of currying?
While the motivation here is theoretical, I think simplicity is almost always a practical advantage as well. Not worrying about multi-argument functions makes my life easier when I program, just as it would if I was working with semantics.
Feb
2
comment What is the advantage of currying?
@Giorgio: Yeah.
Feb
2
awarded  Nice Answer
Feb
1
revised What is the advantage of currying?
added 12 characters in body
Feb
1
comment How do programming languages benefit from being based on English?
@DavidThornley: Some languages, like Haskell, give identifiers starting with upper and lower case letters different roles. Others, like Java, should do that because that's what happens in practice anyhow. (That said, Haskell fully supports Unicode and figures out what role a character plays by its Unicode class.)
Feb
1
answered What is the advantage of currying?