Reproducible Research, Literate Programming and Inter-Language Programming with Babel

Babel is about letting many different languages work together. Programming languages live in blocks inside natural language Org-mode documents. A piece of data may pass from a table to a Python code block, then maybe move on to an R code block, and finally end up embedded as a value in the middle of a paragraph or possibly pass through a gnuplot code block and end up as a plot embedded in the document.

My current approach is to use multiple languages, build scripts, intermediate files to share data, and finally weave it together inside of LaTeX. The babel way looks intriguing, with excellent support (via Emacs modes) for numerous languages. Very exciting.

2014-02-14

This paper might pique your interest.

CB750F: Day 35: Totally Idle

Left unable to bench sync the butterfly valves, I finally pulled the bolt out only to find that it was in clearly bad shape. When the nut reaches a certain point, it just won’t go any further. On my carbs, the nut is threaded, and so too is the mounting point on the rod (that the butterfly valves attach to). Running the nut up and down the bolt (viced in) cleaned it up, but when it goes through the rod it gets “screwed up” again. Looking closely you can see the rough edge after going through the mount point on the rod.
20130516_182613
20130516_182622
20130516_183131
20130516_183136
20130516_183230
20130516_185031
20130516_190744
20130516_201522
20130516_201918
Kind of a funny way to end the semester, but knowing that it will get repaired “right” makes me feel pretty happy. On the way out noticed a nice placard on the door, too.
20130516_205436

ISLISP

The ISLISP programming language is a member of the Lisp family of programming languages. It attempts to bridge the gap between the various incompatible members of the Lisp family of languages (most notably Common Lisp, Eulisp, LeLisp, and Scheme) by focusing on standardizing those areas of widespread agreement. It is a small language, closer to the size of Scheme than to Common Lisp, for example.
The most recent change to the specification occurred in 2007.
The design of ISLISP had these design goals:

  • Compatible with existing Lisp dialects where feasible.
  • Provide basic functionality.
  • Object-oriented.
  • Designed with extensibility in mind.
  • Gives priority to industrial needs over academic needs.
  • Promotes efficient implementations and applications.

(via islisp.info)
John Cowan mentioned it on scheme-reports, so I was curious.