| bio | website | jelv.is |
|---|---|---|
| location | Berkeley, CA | |
| age | 20 | |
| visits | member for | 2 years, 6 months |
| seen | Jun 16 at 3:31 | |
| stats | profile views | 117 |
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 summer, I'm going to be a tech intern at Jane Street Capital, brazenly using OCaml in the real world.
I am always happy to chat: my email is tikhon@jelv.is
GitHub: http://github.com/TikhonJelvis
Website: http://jelv.is
|
Jun 15 |
comment |
When is it a good time to reason about performance in Haskell? @MasonWheeler: He's most likely talking about asymptotic complexity. The constant factors are an implementation issue. Moreover, even if both programs terminate, the non-strict one could do significantly less work: consider all even [1..1e10] for both a strict and a lazy version of all. The compiler also has more leeway for choosing the order of evaluation in a language like Haskell with things like loop fusion. |
|
Apr 24 |
comment |
Why does Haskell have built-in “if/then/else” instead of defining it as a simple library function? I don't think the inlining is an actual issue. My understanding is that GHC is already exceptionally good at inlining small functions, because it's just such a common pattern in Haskell. |
|
Apr 15 |
answered | Resources for improving your comprehension of recursion? |
|
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 |