The 2nd edition is now available. It looks pretty good; I’ll be ordering it.
(via comp.lang.scheme)
Stalin Scheme vs OCaml
Dolphin Smalltalk New Website and Lower Price
Dolphin is very nice; good libraries and pleasant to use.
Dolphin Smalltalk has a nice new website and lower price.
Hope those guys keep making it.
Battery drain hose location
While installing the power hookup for the Gerbings coat I managed to dislodge the battery drain hose by lifting up the battery (because I wanted to look at it).
Brooke explained that:
The battery vent/drain hose attaches on the right side (as you sit on the bike) and should go to the same place the gas tank filler neck drain hose and the fuel sender drain hose go to. There’s a bracket down near the right foot peg back in somewhere between/near the swing arm and frame. It should be easy to see with the right side panel off the bike.
He was right. Took off the one-screwed-on side panel and the bracket is right there along with the two other tubes. The drain now faces where it should… the ground.
(via C.O.G.)
Custom display sizes with Remote Desktop Connection
Microsoft’s Remote Desktop Connection is a nice piece of software. Wondering how to configure a desktop size so that it would fit perfectly into rotated monitor, I found the directions hereto be very simple:
To set a custom display resolution in an .rdp file Open the .rdp file in a text editor. Add or change the following settings: desktopwidth:i:<value> desktopheight:i:<value> where <value> is the resolution, such as 1680 or 1050.
The articles goes into detail about other ways to set the values.
Seat cleaning advice
Never clean your seat with Armor All; you will slip around all over on your seat.
I spent 5 hours experiencing this, and after 3 hours (ridden away from home of course) it started getting painful.
The guys on concourstech suggested 303 or F21 instead.
A New Bra
What to do if your Concours has a puddle of gasoline under the tank
If your Concours has a puddle of gasoline under the tank when you go out to start it, don’t. One of the cylinders is probably full of fuel. If you try to start, you will cause hydrolock.
(via C.O.G.)
Enhanced Ocaml Documentation Version 3.12
The Enhanced Ocaml Documentation is provided by Hendrik Tews; basically it visually highlights any difference between the previous and current version of the documentation. Here is how he does it:
I diff the txt versions of the reference manual and change the html version by hand. For the grammar rule index I use a tool and manual editing.
–Hendrik Tews
Wow. What a labor of love. Be sure to give him a hand!
(via Caml-list)
Resources for Learning CamlP4
For an accessible introduction to modern (>= 3.10) Camlp4, you may be interested in Jake Donham’s blog post series “Reading Camlp4” : http://ambassadortothecomputers.blogspot.com/search/label/camlp4
You will also find valuable (though incomplete) information on the camlp4 wiki : http://brion.inria.fr/gallium/index.php/Camlp4
The older version of camlp4 (< 3.10, now called camlp5) also provides a documentation http://caml.inria.fr/pub/docs/tutorial-camlp4/index.html , and you can also use to Martin Jambon’s tutorial
http://martin.jambon.free.fr/extend-ocaml-syntax.html (for the older camlp4).
— bluestorm
You can also see the articles in sequence at
http://ambassadortothecomputers.blogspot.com/p/reading-camlp4.html
which I recommend since later articles depend on earlier material.
— Jake Donham
Shameless self-plug, but I wrote a blog post this summer about my experience figuring out how to do it. I provide a walk-through and explanation of a minimal syntax extension which adds lazy list pattern matching support based on Batteries. The URL:
http://www.elehack.net/michael/blog/2010/06/ocaml-syntax-extension
I do assume a basic knowledge of parsing context-free grammars, but a generic tutorial on parsing with a tool such as Yacc can fill in that gap. The Wikipedia article[1] may also be helpful.
Once you’ve lept the hurdle of figuring out what pieces you need to write and build a syntax extension, the remaining tricky part is to figure out what pieces of the grammar you need to extend to accomplish your objective. For that, I consult the definition of the OCaml parser in Camlp4OCamlParser.ml in the OCaml source tree.
1. http://en.wikipedia.org/wiki/Context-free_grammar
— Michael Ekstrand
If you consider yourself as a n00b, don’t start by camlp4. This is probably the most difficult part of OCaml — and to program camlp4 you need to use OCaml standard syntax (or revised syntax, it depends if you
use antiquotations).
If you still want to follow the hard path, as suggested elsewhere, Jake Donham’s blog posts are very good:
http://ambassadortothecomputers.blogspot.com/p/reading-camlp4.html
Or if you are around, there is a tutorial session at CUFP:
http://cufp.org/conference/sessions/2010/camlp4-and-template-haskell.
(but you need to subscribe).
— Sylvain Le Gall
(via Caml-list)