316 karma · joined March 28, 2011
This is a great educational project as the code is short and to the point.
For my parsing code: https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast... I'm using a combinator parser library. This code both parses and builds the AST in one pass.
The AST unsurprisingly looks like LISP code, here's an example AST https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast...
After that, all that's left is calling LLVM C API through JNA: https://github.com/jasonjckn/llvm-clojure-bindings/blob/mast...
One advantage of using LLVM is you can leverage the C Standard Library from your code. In the example program, I forward declare 'cos' and 'printf', and LLVM takes care of linking the functions.
LLVM also supports JIT compilation, so you could do some really cool stuff.
Stay tuned for the next compiler I'm working on which will compile the majority of Java 2.0 to x86.
I'll open source this 2nd compiler project in a couple months. This will really show the power of Clojure as David said.
There's a lot of conflation between dominance and selfishness. These two traits can look very similar at a shallow level, but are completely othorgonal.
Pure selfishness is when you act without concern for others to your own benefit. Dominance is the desire to win in competitions, demonstrate power and/or independence over others.
I've definitely met many kind, bold, dominant people in the start-up world. These people can both simultaneously piss people off, and go wayyy out of their way to help you.
If your goal is to build a large business network, then -probabilistically- more jobs is better than fewer. By virtues of UW CO-OP, whenever I meet someone new in silicon valley, very frequently we have mutual friends.
I think one of the main skills that young people bring is relentless execution and incredible thirst for learning. Especially when you pair these skills with the investment team who bring tons of experience, it seems to be a winning combination for the 100x ROIs.
Just because Tesla is still alive today, doesn't mean he was lucky. When you look at all the events that took place in between 2002-2008: + Having to sell cars during the 2008 depression + extreme difficulty finding investment + millions in sunk costs on inventory which they threw out (under the first CEO) + going through a divorce war during the IPO. + hiring a designer which started a competing company These events don't seem very lucky.
If you're building a website, in Python/Django, you pass in your request handler function using first class functions. In java, you inherit from the request handler class, and override the method.
JsonTools loads and dumps are pure functions. In java, josn.org, there's a class for each JSON type that you interact with.
That being said, I can also think of many Python libraries that use classes.
I don't have a tutorial for Snake3D, but there's quite a bit out there for Clojure + OpenGL: