Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
takeoutweight
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
takeoutweight
15y ago
I haven't done any rigorous benchmarking, but I suspect clojure-scheme introduces little overhead above what Gambit requires. I'm able to lean on native Gambit gambit constructs for quite a bit (i.e. Gambit records underpin Clojure deftypes
32.
▲
by
takeoutweight
15y ago
I was running in the JVM Clojure repl (and not timing JVM startup time). But this is just a single microbenchmark of the author's choosing so we are right to be suspicious of it! Does anyone know of a collection of Clojure benchmarks that s
33.
▲
by
takeoutweight
15y ago
ClojureScript is precisely a Clojure-in-Clojure implementation. All the AST analysis and code generation is done by Clojure, not by antlr et al.
34.
▲
by
takeoutweight
15y ago
The problem of assigning a "fun value" to a game is an active area of research. Julian Togelius and Georgios Yannakakis are some of the big names looking at this topic right now. One approach is to use tried-and-true statistical techniques
35.
▲
by
takeoutweight
15y ago
I fear you've missed the thrust of Rich's talk. Functional programming may seem "intricate" because it is unfamiliar, but if you're willing do do a little bit of up-front unlearning of the massively complex (but familiar) tools you're used
36.
▲
by
takeoutweight
15y ago
It really should be logical implication '⇒', shouldn't it.
37.
▲
by
takeoutweight
15y ago
I saw guards mentions in the "notes" but no evidence in the TODO. Does guarded pattern matching work with your compilation strategy?
38.
▲
by
takeoutweight
15y ago
The term that describes what you are referring to is 'partial evaluation'
39.
▲
by
takeoutweight
15y ago
I'm not sure if we share the same notion of supercompilation. The whole point of supercompilation is to speculatively evaluate terms to supply branch-level constraints that propagate through the call graph, enabling program transformations
40.
▲
by
takeoutweight
15y ago
You've described exactly why eval is antithetical to dead code elimination: you must defensively include absolutely every public function in every referenced library, because you do not know beforehand which functions an arbitrary evalled f
41.
▲
by
takeoutweight
15y ago
Supercompilation is the precisely the tool that should not be used for compiling a dynamic language--it relies heavily on static analysis that are simply unfeasible in a dynamic language. eg: anything that touches a dynamically bindable var
42.
▲
by
takeoutweight
15y ago
Forgive me for parroting the thoughts of those smarter than me, but there was an engaging debate on Lambda the Ultimate recently on how terrible JS is as an assembly language: http://lambda-the-ultimate.org/node/4308#comment-66084