User loginNavigation |
HistoryAvi Bryant: Ruby IS-A SmalltalkA short audio presentation (Avi speaks for less than ten minutes, I guess), about the lessons the Ruby community should learn from Smalltalk. It's mainly about turtles-all-the-way-down, but Self (fast VMs), GemStone (transactional distributed persistence), Seaside (web frameworks) are also mentioned briefly. By Ehud Lamm at 2007-12-12 03:59 | History | Implementation | OOP | Ruby | 39 comments | other blogs | 22765 reads
On the origins of Bisimulation, Coinduction, and Fixed PointsDavide Sangiorgi, On the origins of Bisimulation, Coinduction, and Fixed Points.
There is a wealth of interesting information in this paper. Alas, it is not very easy to read, and the exposition can be improved. So this is not for beginners or outsiders, but if you are familiar with the topic the historical discussion will be of interest. Gödel, Nagel, minds and machines Solomon Feferman. Gödel, Nagel, minds and machines. Ernest Nagel Lecture, Columbia University, Sept. 27, 2007.
This is not directly PLT related, and more philosophical than what we usually discuss on LtU, but I think it will be of interest to some members of the community. While the historical details are interesting, I am not sure I agree with the analysis. It would be interesting to here what others make of this. To make this item slightly more relevant to LtU, let me point out that both the LC and category theory are mentioned (although they are really discussed only in the references). By Ehud Lamm at 2007-10-25 23:46 | General | History | Lambda Calculus | 62 comments | other blogs | 18257 reads
R6RS ValidatedR6RS has been ratified, with approximately 2/3rds of voters in favour. HOPL-III: Statecharts in the MakingAnother HOPL-III paper: Statecharts in the Making: A Personal Account by David Harel. This paper reads much different than most of the others, as the author admits to being mostly an accidental PL designer - backing into it from a mathematical perspective.
The Statecharts language arose from the domain of avionics and real-time state modeling. The author's main goal was to turn what were visual doodles into executable models - finite-state-automata. Both UML and Rhapsody use parts of the Statecharts engine. The paper provides a good background for the subject of visual programming languages - a topic that periodically crops up on LtU. I found the emphasis on topology, as opposed to geometry, as the mathematical basis of visual programming to be of interest (though perhaps obvious to those who are more familiar with the subject):
Provides a nice refutation for the recent brouhaha of those who think math is irrelevant for process modeling - a solid mathematical foundation is even more critical for languages that concentrate on expression in unique fashions. HOPL-III: Modula-2 and OberonNiklaus Wirth discusses two of his Pascal successor languages in the HOPL-III paper on Modula-2 and Oberon. This is an account of the development of the languages Modula-2 and Oberon. Together with their ancestors ALGOL 60 and Pascal they form a family called Algol-like languages. Pascal (1970) reflected the ideas of Structured Programming, Modula-2 (1979) added those of modular system design, and Oberon (1988) catered to the object-oriented style. Thus they mirror the essential programming paradigms of the past decades. Here the major language properties are outlined, followed by an account of the respective implementation efforts. The conditions and the environments are elucidated, in which the languages were created. We point out that simplicity of design was the most essential, guiding principle. Clarity of concepts, economy of features, efficiency and reliability of implementations were its consequences.The main influence on these languages were the Xerox Parc languages of Mesa and Cedar (which were Pascal derivatives). Mesa and Modula-2 explored modules, while Cedar and Oberon were concerned with the entire operating system experience. As Wirth states a couple of times in the paper, his main goal was to teach programming concepts, using language design to further that end, but with an eye for use in non-academic settings. He frowns on the design of modern PLs, with its lack of resource constraints and kitchen-sink approaches - expressing concern that it makes it hard to teach structured programming. He also expresses concern that operating systems are no longer a subject of research, much less integration with PL design. C++ Historical Sources ArchiveSeeing as we just had a lively discussion of Stroustrup’s HOPL paper, it's more than appropriate to mention another great resource courtesy of Paul McJones: The C++ Historical Sources Archive. Among the treasures are the source code of the Cfront releases, but there's much more there so go take a peek. By Ehud Lamm at 2007-06-12 11:38 | History | login or register to post comments | other blogs | 6931 reads
HOPL III: Evolving a language in and for the real world: C++ 1991-2006Yet another in the series of draft papers for HOPL-III. This one from Bjarne Stroustrup on Evolving a language in and for the real world: C++ 1991-2006. The paper starts the discussion at the point in time where his 1994 Design and Evolution book ended (which coincides with about the last time I used C++ on a professional basis - meaning I got some insight into what I missed out on for the last dozen years).
Given the period of time covered, generics and the STL are the major highights of the paper. Lots of political discussion (the parts on Sun and Microsoft are mostly obvious, but it's amusing to see Bjarne speak out on the subjects). Much like the Design and Evolution book, this paper is worth a read by anyone interested in PL design, no matter their particular take on C++. Bjarne provides valuable insight on the forces that shape PLs, as well as providing constructive criticism. Personally I found the discussion on C++0x the most interesting, as it reveals the issues that C++ is trying to overcome as well as the direction the language is headed. I've been tinkering with Boost of late, trying to figure out the FP facilities, but without much luck. Similar to C#3.0 and Java1.7, C++0x is proposing lambdas and a limited form of type inference for variables. But that's a minor addendum, as the paper makes clear that optional GC, concurrency and more thorough libraries are the major aspects to be addressed. HOPL-III: The Development of the Emerald Programming LanguageAnother draft entry for HOPL-III about the The Development of the Emerald Programming Language by Andrew P. Black, Norman Hutchinson, Eric Jul and Henry M. Levy.
Worth a read for those interested in PL research topics which are still in play. Emerald explored a number of topics including distributed programming in the presence of failure; Mobile objects; Active objects; structural typing (as opposed to nominal); Static typing in the presence of open programming (shades of the ongoing work in Alice ML); Parametirized types. All of this while having performance as a top priority. By Chris Rathman at 2007-04-13 03:42 | History | login or register to post comments | other blogs | 10410 reads
Gilad Bracha on tuples
Not surprisingly, Gilad thinks that tuples are great. |
Browse archives
Active forum topics |
Recent comments
4 weeks 1 day ago
4 weeks 2 days ago
4 weeks 3 days ago
4 weeks 3 days ago
5 weeks 1 day ago
5 weeks 2 days ago
5 weeks 2 days ago
8 weeks 2 days ago
9 weeks 1 day ago
9 weeks 1 day ago