General

ContextL

ContextL is a CLOS extension for Context-oriented Programming. Currently, there is no documentation available, but you can find a small test case in the distribution and an introduction to ContextL's features in a first overview paper.

The paper says:

We present ContextL,a language extension for the Common Lisp Object System that allows for Context-oriented Programming. It provides means to associate partial class and method definitions with layers and to activate such layers in the control flow of a running program. When a layer is activated, the partial definitions become part of the program until this layer is deactivated. This has the effect that the behavior of a program can be modified according to the context of its use without the need to mention such context dependencies in the affected base program. We illustrate these ideas by describing a way to a)provide different UI views on the same object while b)keeping the conceptual simplicity of OOP that objects know themselves how to behave, in this case how to display themselves. These seemingly contradictory goals can be achieved by separating out class definitions into separate layers instead of separating out the display code into different classes.

Sounds kinda like AOP to me. It intriguings, anyway.

REXX Introduction

A couple of articles worthy of mention that serve as an introduction to REXX. The first article is a general introduction to REXX, while the second one focuses on using REXX to access DB2 databases. Nothing too involved, but I do enjoy accessible introductory articles, no matter the language.

Should Computer Science Get Rid of Protocols?

Two interesting articles by Jaron Lanier on how protocols influence programming

SUN Interviev

If you look at the way we write software, the metaphor of the telegraph wire sending pulses like Morse code has profoundly influenced everything we do. For instance, a variable passed to a function is a simulation of a wire. If you send a message to an object, that's a simulation of a wire.
WHY GORDIAN SOFTWARE HAS CONVINCED ME TO BELIEVE IN THE REALITY OF CATS AND APPLES
If you model information theory on signals going down a wire, you simplify your task in that you only have one point being measured or modified at a time at each end. It's easier to talk about a single point in some ways, and in particular it's easier to come up with mathematical techniques to perform analytic tricks. At the same time, though, you pay by adding complexity at another level, since the only way to give meaning to a single point value in space is time. You end up with information structures spread out over time, which leads to a particular set of ideas about coding schemes in which the sender and receiver have agreed on a temporal syntactical layer in advance.

When to create syntax?

As opposed to procedural abstraction, higher-order functions, etc. Nice answer from Patrick Logan (who was once a member of the LtU team but seems to have forgotten about us...)

Rigour is good for you and feasible: reflections on formal treatments of C and UDP sockets

Not really about PLT, but this paper was mentioned on LtU before, and I believe it is a good reminder to people thinking that "research" means "useless".

Rigour is good for you and feasible: reflections on formal treatments of C and UDP sockets

Language designers give rigorous specifications of language syntax as a matter of course. [...] Rigorous definitions of type systems is less common [...] The situation for behavioural specification is even worse. [...] In the long term, we believe greater rigour is essential in the development of more robust software at all levels; there are many behaviourally subtle aspects of operating systems which could benefit from it, and for which the tools are now available.
Testimonials :-) :
"It would be difficult indeed to get more hard-nosedly pragmatic than C and sockets."
-- Paul Snively

Have scripting languages peaked?

Well, since language popularity seems to be overly emphasized in any discussion on PL, thought the following article on Have scripting languages peaked? would be of interest.

A recent study from Evans Data Corp... The study, published on Thursday, found that the number of people using PHP for development in Europe, Middle East and Africa fell by over 25% last year and that the number of developers who would not evaluate PHP for future product grew by almost 40 percent. Similarly, Perl and Python also saw significant drop-offs in usage and planned usage.
I think of Perl, PHP, Python and Ruby as mainstream programming languages, but it would seem that many consider them to be Strange or Exotic.

ACM Queue: Security Problem Solved?

Buffer overflows are one problem that the world seems to know how to solve, as evidenced by languages such as Java, C#, and Python that are not susceptible to the issue. On the surface, the reason why we still are plagued by the problem is obvious: we still use C, C++, and assembly in a heck of a lot of applications.

Among the things mentioned in this essay: String-handling libraries, Static analysis tools, Cyclone, and zero knowledge protocols.

What happened to all the editors? Is everyone on vaction? ;-)

SISCweb

SISCweb is a framework to facilitate writing stateful Scheme web applications in a J2EE environment.

SISCweb sports an interactive, REPL-based web application development style...

Through the use of continuations, SISCweb does away with the page-centric execution model typical of web applications. Every time a response is sent to the browser, the program execution flow is suspended, to be then resumed from that exact point when the browser submits a request.

Could it be that SISCweb was never mentioned here before? I found no previous discussions, so if you've got something to say about this project, now is your chance...

ILC 2005 Slides and Audio

(via lemonodor)

Slides and audio from some of presentations at the International Lisp Conference are now available online.

Some presentations are of general interest, so take a look even if you aren't into Lisp...

ESL Design

Languages, architectures, and algorithms describes how many of the current DSP designs are done in Matlab and then have to be hand-coded in C type languages. Perhaps it's wishful thinking, but the hope is to have a direct mapping between the higher level design and the RTL.

the EDA industry as a whole is poised to leap to new levels of design abstraction. Commonly referred to as electronic system-level (ESL) design, this design method encompasses both the languages used to represent designs at a very high level of abstraction and the appropriate synthesis technology that can transform these representations into their implementation-level counterparts.
(Somewhat reminiscent of the UML designers who'd like to bypass hand-coding in C++ and Java).

XML feed