archives

Polyglot and Nested Inheritance

Polyglot is a compiler front end framework for building Java language extensions that doesn't seem to have been mentioned here.

Amongst the extensions is an implementation of nested inheritance which, I admit, I don't completely get. There's a discussion (moderately critical) of the paper in the context of OCaml that starts here.

This caught my eye while scanning the latest Caml Weekly News - a useful summary of the (rather high volume) (O)Caml list.

ANN: Harmonia-Mode Program Analysis Plug-in for XEmacs

Professor Susan L. Graham and the members of the Harmonia Research
Group at the University of California, Berkeley, announce the second
release of Harmonia-Mode, an XEmacs plug-in that provides
language-based services to the programmer while editing code. These
services include semantic search-and-replace, structural navigation,
structural undo, hypertext annotations, syntax highlighting and
auto-indentation. Harmonia's analyses are based on incremental lexing
(flex-based) and incremental parsing (GLR-based) technologies developed
by Graham and her graduate students.

This second release of Harmonia improves our previous support for Java,
C, Scheme and Cool (a language used in UC Berkeley's CS164 compiler
course), and adds support for Titanium (a high-performance parallel
dialect of Java created by the Titanium research group here at
Berkeley: http://www.cs.berkeley.edu/Research/Projects/titanium ).
Improvements to the Java language support include support for Java
1.4.2, an updated constant-propagation algorithm to better discover
compile-time constants, and general bug fixes. Harmonia runs on Solaris
9, Linux (Debian distribution and all other Linux distros), and new to
this release, MacOS X 10.3.

This release represents the second publicly available demonstration of
our project. Our next release will make the source code publicly
available to enable members of the community to build language-aware
programming tools with the Harmonia framework.

If you are interested in trying it out, please go to
http://harmonia.cs.berkeley.edu/harmonia/projects/harmonia-mode/doc/index.html
to see what it's all about.

Please report any feedback you have to the Harmonia group at
harmonia-bugs@sequoia.cs.berkeley.edu .

Thanks!

-- The Harmonia Research Group

Adding Optional Static Typing to Python

Link: Guido van Rossum broaches the subject of type tagging for Python.

Optional static typing has long been requested as a Python feature. It's been studied in depth before (e.g. on the type-sig) but has proven too hard for even a PEP to appear. In this post I'm putting together my latest thoughts on some issues, without necessarily hoping to solve all problems.

Static vs. dynamic is a never-ending thread in most PL discussions these days. But designing a type system is a *hard* task, one which I'm not sure doesn't require from a ground on up approach. But it would be nice if you could choose to work your way into, though most of the Smalltalk crowd will inform us that Strongtalk never did quite catch on.


(accompanying discussion forum)

ANN: YARD Parser

I just posted to SourceForge.net the YARD parser which is a public-domain generic recursive-descent parser for C++ which is available for dwonload at SourceForge.net, documentation is also available at http://yard-parser.sf.net. The YARD parser is intended primarily to be used as lexical analyzer and syntax parser, but it is a very general purpose library. The release includes a partial XML grammar and parser. The YARD parser is intended as a simpler alternative to the boost::spirit library. Any questions or comments are welcome.