3 ms·
Eval is well understood in the context of static typing, since the early 90s with Nilsson and Pfenning. So about 20 years now... GHCi is a bytecode interpreter
by dons 14y ago
Eval is well understood in the context of static typing, since the early 90s with Nilsson and Pfenning. So about 20 years now...
GHCi is a bytecode interpreter for Haskell, it supports the full Haskell+GHC type system -- and has very little to do with eval() or your comment.
- dons 14y agoAlso, hbi, the first bytecode interpreter for full Haskell, is 23 years old now... There's no excuse anymore to be ignorant of "modern" static typing - a quarter of a century is long enough.
- akkartik 14y agoI found both your comments exceptionally useful until the last sentence. There's plenty of excuse since it isn't being taught in undergrad computer science courses, etc. As one sample point, I have a PhD from a top-10 US institution. Partially in compilers. I'm motivated everyday to learn about programming. I hack on interpreters in my spare time. A lot. I am utterly 'ignorant of modern static typing'. Setting aside modesty, I'll submit that it isn't my fault.
- dons 14y agoYeah, my comment is really more aimed at the schools that are teaching language design as if it was 1971. And you can always get a copy of TAPL, Types and Programming Languages Benjamin C. Pierce February 1, 2002 ISBN-10: 0262162091 --- And there's a typo above, Nilsson should be "Nielson", as in: "Flemming Nielson and Hanne Riis Nielson. Two-Level Functional Languages. Cambridge University Press, 1992. The Pfenning paper I was thinking of was the S4 stuff: A Modal Analysis of Staged Computation Rowan Davies and Frank Pfenning, 1996
- oddthink 14y agoBy similar logic, quantum field theory is about 40 years old, so really there's no excuse to be ignorant of it, either. I kid, but only somewhat. Relevancy (even if just perceived) and accessibility matter.
- dons 14y agoIf you're a professional in the field of partical physics, there's probably not excuse...
- oddthink 14y agoWell, I went through grad school in astrophysics, and I never really learned it. If I did particle, I would have had to know it cold; then again, those guys don't know anything about magnetohydrodynamics. Presumably, if you're doing type theory, you know it cold. If you're doing crypto or machine learning or computability or databases or (god forbid) are just a working schmo programmer, do you? It's a big world out there. Can't learn everything, although it's fun to try.
- krichman 14y agoI am interested in this topic; eval in the context of static typing. Is there a paper on it?
- mahmud 14y agoStart with Pfenning and Lee: LEAP: A language with eval and polymorphism http://scholar.google.com/scholar?cluster=6986361432559638755 http://scholar.google.com/scholar?cluster=698636143255963875... Pfenning follows that up with more advances, leading up to Staged Computation; various techniques at the intersection of reflection, partial-evaluation and typing. The most recent studies on EVAL in the context of statically-typed languages make use of GADTs.
- krichman 14y agoThank you :)