Companies using DSLs with Functional Programming Languages

One of the questions that has been lingering in the back of my mind for a long time is “When should a company use a DSL?”. My stock answer has always been “When it makes sense.”
Perhaps a better way is to answer that question is to look at how companies are actually using them today, rather then to simply guess!
Have a look at the “case studies” section in this presentation on ContractML to see how companies are using DSLs today.
(via cufp)

Why mathematics is not fun (when it should be!)

One man’s lament.
(thanks jfm)
Addendum: 8/6/8
On vacation, I re-read this, and wanted to share some interesting bits:

  • p5. Mathematics is the art of explanation.
  • p6. Math is not about following directions, it is about making new ones.
  • p7. It isn’t doing anyone any good having vague memories of formulas and clear memories of hating them.
  • p11. Teaching is not about information. It’s about having an honest intellectual relationship with your students. Teaching means openness and honesty, an ability to share excitement, and a love of learning.
  • p21. Mathematics is about removing obstacles to our intuition, and keeping things simple.

Scheme in the Real-time CG Content Production

If you try to pin down Schemers to a particular stereotype, you will fail; they are just too diverse a bunch.

Take Shiro Kawai’s website. He’s got some great resources on that page. Dig in deeper and have a look at his paper Gluing Things Together – Scheme in the Real-time CG Content Production.

The short story is that

Square USA R&D Team had been developing an in-house real-time rendering engine in a project called Dancer, and we adopted Scheme as an embedded scripting language.

Here is how they used it:

  1. As a File Format
  2. As a Debugging tool
  3. For Rapid Prototyping
  4. For Authoring

There are a lot, and I mean a lot of really interesting bits about how the tackled the problems they were facing.

The best part: you don’t have to be a computer graphics buff to have a heck of a good time reading this paper. Enjoy!