Tuesday May 23rd
Simple 2D Rendering
The Day Before LambdaConf
Man, everyone is excited. You can feel the excitement on Twitter. We’re a rowdy, eclectic bunch…functional programmers. We’re all excited to meet up with friends who are like family.
You can tell, because people are being a bit more productive in the days leading up to LambdaConf. Pretty funny. A lot of contributions to Github in Racket, Haskell, PureScript, and Immutable JS :)
I’ve never been to Boulder before
- There is excitement because I’m going to a new place. Also, I have class the night before, so I go home, do laundry, pack and then head to the airport tomorrow.
I may miss PureScript conf
- But we have a pretty good PureScript group where I’m located. So I’m not too worried, even though it would have been nice to learn a bit.
I got through learning to make a simple 2D Renderer today
Here are some pics
Also -> Compilers
My Dragon book showed up in the mail last night. So I spent until midnight reading about Compilers and how they’re made. My dream would be to build one in C++. That would probably take me a lifetime.
Basically, I was reading up on Preprocessors, lexers and parsers. It’s fascinating stuff! And then you add things like syntax highlighting if you wanted, or showing which elements are bound together. So far, there are typical tree structures for evaluations of things like numbers.
A concept -> Parsers
So a parser could be depth-first in terms of its parsing. This means it would traverse from the bottom of the tree and make its way upwards, when evaluating operations.
Two common terms are backtracking (see my N-Queens post) and Recursive Descent parsing.
It’s interesting to think of how a compiler evaluates not just strings, but numbers and in what order. I think that languages such as Racket, Lisp and Clojure are particularly helpful when thinking about this sort of stuff.
LaTeX as a language
- Interestingly, the book talks about TeX, as made by Knuth. It’s interesting because I really like LaTeX, but I’ve never thought of it that way before. But it makes sense; you’re giving the compiler clues, such as ‘math mode’ vs normal mode, such as the backslash or dollar sign, so that it knows how to process your inputs. Does your language interpret whitespace, and how? Very interesting! Knuth actually wrote TeX in PASCAL.
Officially doing Advanced C++ for Fall. It’s the class I should have taken before taking the class I’m taking now, but it’s okay. My goal is just to do as much C++ as possible.
I may want to do Assembly after that (we have about three courses), but it may be the same semester as the one in which I’d like to do an internship at JPL. So we’ll see.
Things to get done
- I have homework to do
Also have to contribute to the board online
I may be late on this one, but I’d prefer to understand it fully rather than just do it just because.
- I also plan to spend time in the break in-between just writing a lot of C++.
- I subscribe to Brilliant.org. Someone alluded to Pick’s Theorem for solving a puzzle.