User loginNavigation |
DSLChickenfootChickenfoot is a tool that puts a programming environment in Firefox so you can write scripts to manipulate web pages and automate web browsing. In Chickenfoot, scripts are written in a superset of Javascript that includes special functions specific to web tasks. Chickenfoot is similar to Greasemonkey, but tries to provide a higher level abstraction of web pages, more appropriate for end-user programming. Take a look at the examples and decide for yourself. G-Men Called on W-Hats for WMVDOne of the cool things about Second Life is that players can create new kinds of objects, by writing small programs in a special scripting language to describe how the objects should behave, and then launching objects into the world. A highly amusing story this is. I guess the correct term for this kind of thing is The law of unintended DSL consequences. Please share similar stories, if you got them. Module Mania: A Type-Safe, Separately Compiled, Extensible InterpreterModule Mania: A Type-Safe, Separately Compiled, Extensible Interpreter
This is an excellent example of how the ML module language doesn't merely provide encapsulation but also strictly adds expressive power. It also demonstrates how a dynamic language (Lua) can be embedded in the statically-typed context of ML. Finally, it demonstrates that none of this need come at the expense of separate compilation or extensibility. Norman Ramsey's work is always highly recommended. By Paul Snively at 2005-12-07 14:58 | DSL | Functional | General | Implementation | Semantics | Theory | Type Theory | login or register to post comments | other blogs | 9001 reads
Software Factories at OOPSLA 2005
See here for some examples/demos from Microsoft.
The papers presented at the International Workshop on Software Factories (held at OOPSLA 2005) are avialable online as well. By Ehud Lamm at 2005-11-09 12:15 | DSL | OOP | Software Engineering | 3 comments | other blogs | 6483 reads
Alloy: A Simple Structural Modeling Language Based on First-Order Logic
Alloy has been mentioned before, but with the recent discussions revolving around IDEs and questions about whether some kinds of checking belong in the language or in the tools surrounding the language, I thought it might be worth revisiting. In fact, it's tempting to suggest that we at LtU adopt a new category for stories: "Lightweight Formal Methods," and that we editors attempt to establish a continuum with respect to stories that fit the category. For example, Pierce makes the observation in TAPL that type systems are a particular kind of lightweight formal method, and that one of their benefits is that they're the only kind that are guaranteed to be used. Alloy falls in the "outside the language proper, but still incremental" category, and somewhere else on the spectrum you have full-blown theorem provers like Twelf, Coq, MetaPRL, et al. Does it make sense to try to unify some of the discussions about the boundary between languages and external tools under this umbrella? By Paul Snively at 2005-10-30 23:58 | DSL | Software Engineering | 4 comments | other blogs | 15835 reads
Multigame A Very High Level Language for Describing Board Games
Multigame - A Very High Level Language for Describing Board Games,
John W. Romein, Henri E. Bal, Dick Grune.
First Annual ASCI Conference, 1995.
Languages with implicit parallelism are easier to program in than those with explicit parallelism, but finding and efficiently exploiting parallelism in general-purpose programming languages by parallelizing compilers is hard. A compiler for a Very High Level Language, designed for a specific application domain, has more knowledge about its application domain and may use this knowledge to generate efficient parallel code without requiring the programmer to deal with explicit parallelism. To investigate this idea, we designed Multigame, a Very High Level Language for describing board games. A Multigame program is a formal description of the rules of a game, from which the Multigame compiler automatically generates a parallel game playing program. An amusing DSL, and an interesting investigation of implicit parallelism. Also see this later paper. It would be nice to find a downloadable implementation, by the way. By Ehud Lamm at 2005-10-19 14:22 | DSL | Fun | Parallel/Distributed | 13 comments | other blogs | 10320 reads
XNHTML
Ning is a new free online service for building and using social applications.
The apps are built using PHP and a simple XML-vocabulary based DSL called XNHTML. As I've been saying for a long time here and elsewhere, it's all about programmability these days, and as the Ning folks realise DSLs are a very good technique for achieving end-user programmability. Seems to me they could have gone the extra mile, and eliminated the need for PHP altogether, but I guess that would be asking for too much... Dynamic typing in OCamlOn many occasions on this site we've discussed embedding a dynamic type checking scheme in a statically typed language using a Univ type. On many of these occasions, it's been suggested that this is an in-principle solution that would never be usable in practice, Turing tar-pit, etc., etc. Well, someone decided to put their money where our mouths are, and now we have Dynaml. I've only briefly looked at the tutorial, but this definitely goes a long way toward demonstrating a plausible Univ embedding of a dynamic type system. Of course, I'd be curious to hear what everyone else thinks... (from the caml weekly news...) Plugging Haskell InAndré Pang, Don Stewart, Sean Seefried, and Manuel M. T. Chakravarty. Plugging Haskell In (pdf). Proceedings of the ACM SIGPLAN Workshop on Haskell, 2004, pp. 10-21.
Two of the authors also have a more recent paper (pdf) describing applications they've built using hs-plugins. By Matthew Morgan at 2005-09-13 02:17 | DSL | Functional | Implementation | login or register to post comments | other blogs | 10278 reads
twill: an extensible scriptlet language for testing web appstwill is a reimplementation of PBP, the "Python Browser Poseur"... The primary use for twill (as with PBP) is to do automated testing of Web applications via a straightforward declarative language. In addition to basic Web crawling, I wanted to be able to extend the language via Python, and I also wanted to be able to record things with maxq. Hence, twill.
|
Browse archives
Active forum topics |
Recent comments
3 weeks 6 hours ago
43 weeks 2 days ago
43 weeks 2 days ago
43 weeks 2 days ago
1 year 13 weeks ago
1 year 17 weeks ago
1 year 19 weeks ago
1 year 19 weeks ago
1 year 21 weeks ago
1 year 26 weeks ago