Below you will find pages that utilize the taxonomy term “Dsl”
Archive
Code Generation and Vendor Lock-In
When you build a code generator you have two basic options:
Generate code to be read, complemented and possibly modified by humans Generate code purely as a convenient intermediate step toward bytecode/machine code compilation The first approach seems to be the most common. It is the most pragmatic option. “Hey, I keep writing the same code over and over, can’t I simply generate part of it and make minor adjustments by hand?
Archive
Spoofax Talk
For the past month or two I’ve been working on mobl, a DSL for the mobile domain. It is the first larger DSL to be developed completely using Spoofax/IMP (site is down at the moment, due to a power outage at the TU Delft). Spoofax is our new tool for developing domain-specific languages complete with Eclipse plug-ins. It’s based on SDF and Stratego and the Eclipse and Java integration makes it a much more user-friendly and nicer experience, both for the language’s users and their developers.
Archive
Using Screen Estate
One of the more interesting UI features that the iPad exposes is its use of screen orientation. A good example of this is in the e-mail application. In Portrait mode your screen is long and narrow, so you see one e-mail. This is convenient for reading longer pieces of text:
However, when you’re more in a browsing mode “let’s see what e-mail we got today”, you flip the device around and get a view with a message list on the left and e-mail at the right:
Archive
Task Switching and Open Development on the Apple iPad
In case you missed it, Apple launched the iPad yesterday. Essentially it’s a beautiful looking giant iPod Touch running the iPhone/iPod OS, slightly adapted to take better advantage of the bigger 10" screen. It’s available at a remarkably (for Apply, and the hardware you get) low price starting at $499. Not only does it look like a bigger iPod and runs its software, it also comes with the usual suspects: an App Store, synchronization through iTunes etc.
Archive
On Asynchronous Programming
MSDN:
Asynchronous programming clearly has performance benefits, as mentioned in the explanation I just quoted. What I have complained about before is the programming model that follows from it. In Javascript this becomes painfully clear. In Javascript you do not have threading (although it’s coming), therefore, anything that is not going to be instantaneous, needs to be executed asynchronously or it will freeze the browser. The typical example of this is Ajax (Asynchronous Javascript and XML, a term that is way too general, when you think of it), but you get the same things when you start interacting with local databases.
Archive
Let’s Build a DSL: Platform Research
Now that we decided on a domain and target platform of our DSL, it is time to explore our target platform. Although I have used HTML, CSS and Javascript for many years, I never looked that seriously into the possibilities of especially CSS and Javascript. To help me with that I’ve been reading a few books:
Javascript: The Good Parts, excellent book about Javascript, helping you avoid all that bad parts * jQuery in Action, good book about jQuery
Archive
The Point of WebDSL
Jay asks in the comments:
Good questions!
WebDSL was started about 3 years ago by Eelco Visser as an exercise the the design and implementation of domain-specific languages. His focus up to then had been on parsing and meta-programming, but it was time to focus on a new domain: the web. When he started Eelco had never built a web application. He investigated a number of Java frameworks as a basis and eventually decided to use JBoss Seam as a target.
Archive
On Language Design: My Problem With ClojureQL
Update: Since this post, ClojureQL has been completely redesigned, my criticism in this post no longer applies. You can find more information about the new ClojureQL on its new website.
Every programming language comes with a certain syntax, a certain feel for what feels like native use of that syntax, and the semantics of the syntax. Escapes and mixing with a completely different feeling language are generally not a good idea.
Archive
Models are Programs
I hate the term modeling, it sounds so pretentious. Yuck.
That’s great. That reminds me of some other tool that I use that does something similar. What was it… it translates my C++ code into loads of machine instructions, which I had to write myself before. That’s right, it’s a compiler.
So how did you say this is any different?
Your MDSD consultant will never admit it, since he gets to charge so much because he’s one of the few that knows about this “emerging technology”, so I will tell you instead: modeling is just a fancy pants word for programming.
Archive
When Scala DSLs Fail
The hot new contender in the space of interal DSLs (domain-specific languages as libraries) is Scala. Scala is, as is implied by its name, a language that is designed to scale from small one-off scripts to large enterprise applications. It is a statically typed language, and in many ways can be seen as a successor to Java. It also compiles to JVM bytecode. Similar to Ruby, Scala has a flexible syntax, which makes it an interesting choice to develop internal DSLs for (like Ruby on Rails).