Lambda the Ultimate

inactiveTopic Two New Microsoft Languages - AsmL and Pan
started 6/12/2002; 5:46:36 AM - last post 6/18/2002; 6:03:41 AM
Dan Shappir - Two New Microsoft Languages - AsmL and Pan  blueArrow
6/12/2002; 5:46:36 AM (reads: 1017, responses: 7)
Two New Microsoft Languages - AsmL and Pan

AsmL is the Abstract State Machine Language. It is an executable specification language based on the theory of Abstract State Machines. AsmL allows you to test incomplete code due to it being executable on the fly.


Pan is an experimental embedded language and compiler for image synthesis and manipulation, based on principles from functional programming.

Looks like some more interesting stuff coming out of Microsoft Research.

Posted to general by Dan Shappir on 6/12/02; 5:47:21 AM

andrew cooke - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/12/2002; 5:08:38 PM (reads: 959, responses: 0)
pan has been around a while (don't know about asml) and i wrote something similar (but slower) in haskell (pan uses compilation in c (iirc) for speed). it's called pancito (a chilean spanish joke) and available at

one reason i wrote it was that using pan was a bit frustrating - it wasn't clear to me (a newbie haskell programmer) what was extension and what not and i'd bump into things (maybe it was only a single thing - it's a long time ago) that appeared possible but didn't work because of the way the dsl was implemented.

i'm saying this not to criticise pan - which is really neat - but because it seems worth mentioning that embedded languages can have problems (or, at least, are not always idiot proof).

ps sorry - for some weird reason my isp won't serve ps files at the moment, so only the pdf links on that page work.

Patrick Logan - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/13/2002; 10:08:26 AM (reads: 882, responses: 0)
AsmL is a little disappointing in its scope as a research project. Other research projects as well as commercial tools in the state machine modeling area address concurrency.

Given so much software these days is at a minimum client/server not to mention some combination of N-Tier, peer-to-peer, etc. As a research project from the largest software company in the world, my initial impression is that this is an unambitous "so what".

When I read the documenation in more detail I hope to be more pleasantly surprised.

If the intent is more expository, I would suggest the book: Concurrency: State Models and Java Programs which is easier to understand, more detailed, and has concurrency at its heart. For the student, it also is based on a more modern, simpler language and environment than C++ and VS6.

Frank Atanassow - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/13/2002; 11:47:16 AM (reads: 869, responses: 0)
As a research project from the largest software company in the world, my initial impression is that this is an unambitous "so what".

I have not looked at AsmL, so I can't say anything about its scope or worth, but I wanted to comment on your reference to Microsoft here, since it echoes the sorts of remarks I often see about MS Research projects. This is not a flame; I just want to correct a possible misunderstanding: I get the feeling that many programmers think that MS Research is some sort of spawning ground for new MS products, or is somehow intimately related to the rest of MS's franchise, but I feel sure that this is false.

Well, I don't work at MS, so I can't so for sure, but I know (directly or indirectly) some of the people who work at MS Research, and am familiar with several of the projects there, and I get the very strong feeling that the facility there is quite independent from the commercial side of MS, and that the researchers have roughly as much autonomy there as they would at a university or other grant-sponsored institute. Indeed, the researchers I'm familiar with there are all people who come from an academic background, and the character and focus of their research has not changed much (a fact which I am very happy about) since joining MSR, except that they tend to support Microsoft products better---and that is nothing to complain about, I think, even though I am no great fan of MS myself.

So, if you are expecting MS Researchers to lay the groundwork for the next generation of Windows or "The Road Ahead" according to MS, then I think you've got the wrong impression. They are just a research lab, which happens to be funded by MS. The same sort of thing holds for Lucent (formerly AT&T Bell), and other prominent commercially sponsored R&D centers. I do not doubt that there are R&D labs which are much more specialized and focused on particular commercial niches, but I don't think MSR is one of them.

Edgar Datalspiel - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/13/2002; 1:23:19 PM (reads: 873, responses: 0)
I don't know how much this community follows abstract state machines (ASM's), so this may be a bit redundant. My impression of the whole field is something along the lines of a chained set of if/elif clauses that operate on a global namespace that represents the "abstract state" of the machine. While this is not a very interesting programming paradigm, I was more interested in ASM's as a means to provide a formal specification of a language's semantics (and many researchers have published both informal and formal ASM specifications for various languages.) The clearing house for ASM research is

As far as MSR being independent from MS, there are several examples where this is false. While I suspect the full link has yet to be revealed, I think that the development tools for .NET were fueled by proprietary results achieved by the intentional programming group (of course I may just be buying into the hype of a research group that has only published what amounts to a manifesto over six years.) Furthermore, AsmL is documented as being applied by Microsoft for testing and validation work. I suspect that AsmL may have not been made publically available if another research group had not provided an independent (and therefore competative) ASM specification language. ( I know nothing makes me want to share results more than competition for attention and prestige.

Patrick Logan - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/13/2002; 2:29:40 PM (reads: 871, responses: 1)
I just don't know what is the research component of this work. It all seems pretty well established already, unless they are doing some new kind of model checking. I could not readily determine that at first glance.

Given other R&D as well as product efforts are doing model checking of concurrent systems, the sequential aspect of this work is even more puzzling.

What's the value added aspect of this work? Or is it just that it works for C++/VS6 that makes it of interest to Microsoft?

Why would a Java or Perl programmer be interested in this work in particular?

andrew cooke - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/13/2002; 5:24:10 PM (reads: 931, responses: 0)
"the idea of exploiting the syntactic form of a program to extract a finite automaton for test case generation is certainly not new [refs]. the main novelty of our approach, compared to previous work, is that the specificatons we are dealing with (asm programs) are executable and exploiting this fact plays a key role in the algorithm for extracting the finite automaton."

from one of the papers on that page.

andrew cooke - Re: Two New Microsoft Languages - AsmL and Pan  blueArrow
6/18/2002; 6:03:41 AM (reads: 828, responses: 0)
I think the comment at shows MS in a different light to some of the posts above.