User loginNavigation |
Specification and Verification: The Spec# ExperienceMike Barnett, Manuel Fahndrich, K. Rustan M. Leino, Peter Muller, Wolfram Schulte, and Herman Venter, Specification and Verification: The Spec# Experience" Preprint of an article appearing in the June 2011 CACM. CACM tagline: Can a programming language really help programmers write better programs?
Spec# is, in some ways, quite similar to JML+ESC/Java2. But Spec# is a language rather than a set of annotations, which allows it to incorporate features such as a non-null type system and a very tight integration with the IDE. Spec# was previously mentioned on LtU back in 2005. By Allan McInnes at 2011-06-01 06:11 | Implementation | OOP | Software Engineering | 3 comments | other blogs | 14903 reads
Rob Pike: Public Static VoidRob Pike's talk about the motivation for Go is rather fun, but doesn't really break new ground. Most of what he says have been said here many times, from the critic of the verbosity of C++ and Java to the skepticism about dynamic typing. Some small details are perhaps worth arguing with, but in general Pike is one of the good guys -- it's all motherhood and apple pie. So why mention this at all (especially since it is not even breaking news)? Well, what caught my attention was the brief reconstruction of history the Pike presents. While he is perfectly honest about not being interested in history, and merely giving his personal impressions, the description is typical. What bugs me, particularly given the context of this talk, is that the history it totally sanitized. It's the "history of ideas" in the bad sense of the term -- nothing about interests (commercial and otherwise), incentives, marketing, social power, path dependence, any thing. Since we had a few discussions recently about historiography of the field, I thought I'd bring this up (the point is not to target Pike's talk in particular). Now, when you think about Java, for example, it is very clear that the language didn't simply take over because of the reasons Pike marshals. Adoption is itself a process, and one that is worth thinking about. More to the point, I think, is that Java was (a) energetically marketed; and (b) was essentially a commercial venture, aimed at furthering the interests of a company (that is no longer with us...) Somehow I think all this is directly relevant to Go. But of course, it is hard to see Go gaining the success of Java. All this is to say that history is not just "we had a language that did x well, but not y, so we came up with a new language, that did y but z only marginally, so now we are building Go (which compiles real fast, you know) etc. etc." Or put differently, those who do not know history are doomed to repeat it (or some variation of this cliche that is more authentic). Or does this not hold when it comes to PLs? Passing a Language through the Eye of a NeedleRoberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, "Passing a Language through the Eye of a Needle: How the embeddability of Lua impacted its design", ACM Queue vol. 9, no. 5, May 2011.
An interesting discussion of some of the considerations that go into supporting embeddability. The design of a language clearly has an influence over the API it supports, but conversely the design of an API can have a lot of influence over the design of the language. By Allan McInnes at 2011-05-18 05:55 | History | Implementation | Software Engineering | 1 comment | other blogs | 12029 reads
Kleisli Arrows of Outrageous FortuneKleisli Arrows of Outrageous Fortune
I discovered this Googling around in an attempt to find some decent introductory material to Kleisli arrows. This isn't introductory, but it's a good resource. :-) The good introductory material I found was this. By Paul Snively at 2011-05-14 15:19 | Category Theory | Functional | Type Theory | 6 comments | other blogs | 17477 reads
A Larger Decidable Semiuniï¬cation ProblemIn A Larger Decidable Semiuniï¬cation Problem(2007), Brad Lushman and Gordon V. Cormack of University of Waterloo
By James Iry at 2011-05-13 16:12 | General | login or register to post comments | other blogs | 8148 reads
2011 APL Programming Contest is OpenDyalog has the pleasure of announcing the start of the 2011 edition of our International APL Programming Contest. The deadline for submissions this year is August 14th, 2011. The terms and conditions, and the tasks to be solved can be found at: http://www.dyalog.com/contest_2011 The First Prize winner can look forward to US$2,500 plus a round trip travel from anywhere in the world to the Dyalog '11 Conference in Boston Massachusetts, USA, during October 2-5 2011. In addition to the grand prize, second and third prizes will be awarded with US$1,200 and US$600 respectively and a further 20 contestants will receive $100 each. Additionally, the people or organisations that introduce the winning students to the contest will receive the same dollar prizes – and they need not be students to make the introduction. This means that you (or if you prefer, your institution) will receive an amount equal to any prizes won by students that you have referred to the competition. The purpose of the contest is specifically to encourage students and others to investigate APL; the organisers hope that participants will find that exposure to APL broadens their horizons and adds a new tool to their toolbox. A fully featured copy of the latest release of Dyalog APL is available free of charge to students, whether or not they wish to participate in the contest. Students of other disciplines than Computer Science are also encouraged to participate: many of the most successful APL users have backgrounds in other sciences, and have found APL to be a “Tool of Thought†for expressing solutions to problems in a wide variety of fields. Last year, the competition was won by Ryan Tarpine, a computational biologist from Brown University. We would like to thank Ryan again this year, he has been instrumental in designing the 2011 problem set, and as a result we believe that the contest this year has the most interesting (and varied) set of tasks to date. A total of US$12,600 in prize money has been provided by several sponsors, including US-based Fiserv, Italian based APL Italiana, Danish based SimCorp and UK-based Dyalog Ltd., as well as several anonymous individuals and companies. One Pass Real-Time Generational Mark-Sweep Garbage CollectionIn One Pass Real-Time Generational Mark-Sweep Garbage Collection Joe Armstrong and Robert Virding talk about a very simple garbage collector used in Erlang*.
Unfortunately it's very restrictive. In particular even the "hidden" destructive updates used in a call-by-need language are problematic for this kind of collector. * I'm not sure whether the described collector is still used in Erlang. Data Representation SynthesisI was just lucky enough to see Peter Hawkins present a particularly compelling synthesis language: data structure synthesis:
As somebody experimenting with data structure representations, bringing it down to the language level is great! It'll be appearing at PLDI next month. Enso: William Cook's new programming modelWilliam Cook is documenting a new graph based "programming model" on his blog. It seems quite early in development, probably too early to offer qualified comments, but the claimed properties are interesting:
Why I invented Kinetic Rule Language (KRL)?Phil Windley whose blog posts on his startup Kynetx I sometimes mention here, since the company's product is built around a DSL, posted a nice item on reasons for designing a DSL. While partly about why people should go ahead and learn KRL, the post discusses some of the business advantages for building a product around a DSL, and some of the reasons for using and building DSLs that we here take for granted but not everyone else is cognizant of. |
Browse archives
Active forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 days ago
44 weeks 4 days ago
48 weeks 6 days ago
50 weeks 3 days ago
50 weeks 3 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago