User loginNavigation |
Ghosts of Unix Past: a historical search for design patternsNot strictly PLT-related, but Neil Brown has contributed an amazing series of articles to Linux Weekly News:
By Manuel J. Simoni at 2010-12-05 04:12 | Software Engineering | 6 comments | other blogs | 30243 reads
Haskell Researchers Announce Discovery of Industry Programmer Who Gives a ShitI actually found this to be rather funny. Automatic Staged CompilationAutomatic Staged Compilation, doctoral dissertation of Matthai Philipose:
I haven't read through it all yet, but after a cursory skim it certainly looks interesting. By naasking at 2010-11-29 19:36 | Implementation | Theory | login or register to post comments | other blogs | 8113 reads
Pure and Declarative Syntax Definition: Paradise Lost and Regained, Onward 2010Pure and Declarative Syntax Definition: Paradise Lost and Regained by Lennart C. L. Kats, Eelco Visser, Guido Wachsmuth from Delft
I haven't compared this version with the Onward 2010 version, but they look essentially the same. It seems timely to post this paper, considering the other recent story Yacc is dead. There is not a whole lot to argue against in this paper, since we all "know" the other approaches aren't as elegant and only resort to them for specific reasons such as efficiency. Yet, this is the first paper I know of that tries to state the argument to software engineers. For example, the Dragon Book, in every single edition, effectively brushes these topics aside. In particular, the Dragon Book does not even mention scannerless parsing as a technique, and instead only explains the "advantages" of using a scanner. Unfortunately, the authors of this paper don't consider other design proposals, either, such as Van Wyk's context-aware scanners from GPCE 2007. It is examples like these that made me wish the paper was a bit more robust in its analysis; the examples seem focused on the author's previous work. If you are not familiar with the author's previous work in this area, the paper covers it in the references. It includes Martin Bravenboer's work on modular Eclipse IDE support for AspectJ. By Z-Bo at 2010-11-29 17:19 | Critiques | DSL | History | Implementation | Software Engineering | 16 comments | other blogs | 15331 reads
Yacc is deadIn Yacc is dead (2010) Matthew Might and David Darais of the University of Utah, Salt Lake City...
It seems every problem in computer science can be solved with either one more level of indirection or a derivative. By James Iry at 2010-11-29 03:48 | Implementation | Theory | 28 comments | other blogs | 46318 reads
The Triumph of Types: Principia Mathematica's Impact on Computer Science
The Triumph of Types: Principia Mathematica's Impact on Computer Science. Robert L. Constable
The role the ideas of Principia Mathematica played in type theory in programming languages is often alluded to in our discussions, making this contribution to a meeting celebrating the hundredth anniversary of Whitehead-and-Russell's opus provocative. To get your juices going here is a quote from page 3:
...I will discuss later our efforts at Cornell to create one such type theory, Computational Type Theory (CTT), very closely related to two others, the Calculus of Inductive Constructions (CIC) implemented in the Coq prover and widely used, and Intuitionistic Type Theory (ITT) implemented in the Alf and Agda provers. All three of these efforts, but especially CTT and ITT, were strongly influenced by Principia and the work of Bishop presented in his book Foundations of Constructive Analysis. Seven Languages in Seven WeeksI don't remember seeing this book discussed here: Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce A. Tate. It seems very a very LtU kind of thing. If you read it, do share your opinion. A Preliminary Survey on Functional Programming
A Preliminary Survey on Functional Programming. Caitlin Sadowski and Daan Leijen
Functional programming has had a profound impact on the development of mainstream languages such as C# or Java. We wanted to get a better sense of developer’s perceptions of functional programming, and also better understand which functional programming concepts are useful to developers. This paper reports the results of a preliminary survey on this topic. The survey was sent to 100 programmers working at Microsoft, 19 responded, and of these only 14 were familiar with the term functional programming. I will refrain from snarky remarks. Directly Reflective Meta-ProgrammingI was recently pointed to the following fascinating paper:
Meta-programming without any encoding at all. The only minor drawback that I can see is that this language is untyped - and designing a type system for it would be extremely challenging. Generative Type Abstraction and Type-level ComputationGenerative Type Abstraction and Type-level Computation (Extended Version), by Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, Steve Zdancewic:
Type-level computation is becoming more common and more elaborate, thanks to recent extensions such as type families. Other non-parametric features allow the developer to reason about the concrete types used in a computation. Unfortunately, something as simple as a type-based dispatch can be unsound when combined with coercion lifting. This paper solves the tensions between these two useful features using a kind system extended with "roles". In fact, this isn't the first time coercion lifting has caused trouble. In capability security terminology, coercion lifting is a "rights amplification" operation, and there are previously known examples of seemingly innocuous coercion lifting across an abstraction/implementation boundary resulting in Confused Deputies. There's no discussion of this connection in the paper, and the paper cannot solve the problem discussed at that link, which exposes a much deeper issue than confusing parametric/non-parametric contexts. |
Browse archives
Active forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 4 days ago
22 weeks 4 days ago
44 weeks 5 days ago
49 weeks 3 hours ago
50 weeks 4 days ago
50 weeks 4 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago