User loginNavigation |
Wirth SymposiumCelebrating Niklaus Wirth's 80th Birthday, 20th Feb 2014.
We celebrated Niklaus Wirth's 80th birthday at ETH Zürich with talks by Vint Cerf, Hans Eberlé, Michael Franz, Bertrand Meyer, Carroll Morgan, Martin Odersky, Clemens Szyperski, and Kathleen Jensen. Wirth himself gave a talk about his recent port of Oberon onto a low-cost Xilinx FPGA with a CPU of his own design. The webpage includes videos of the presentations. Determinism Is Not Enough: Making Parallel Programs Reliable with Stable MultithreadingJunfeng Yang, Heming Cui, Jingyue Wu, Yang Tang, and Gang Hu, "Determinism Is Not Enough: Making Parallel Programs Reliable with Stable Multithreading", Communications of the ACM, Vol. 57 No. 3, Pages 58-69.
The link above is to a publicly available pre-print of the article that appeared in the most recent CACM. The CACM article is a summary of work by Junfeng Yang's research group. Additional papers related to this research can be found at http://www.cs.columbia.edu/~junfeng/ By Allan McInnes at 2014-02-27 20:10 | Implementation | Parallel/Distributed | 22 comments | other blogs | 19144 reads
Jeeves
From what I gather, Jeeves takes Aspect Oriented approach to privacy. This is of course not a new idea. I presume that many of the classic problems with AOP would apply to Jeeves. Likewise, using information flow analysis for handling privacy policies is not an new idea. Combining the two, however, seems like a smart move. Putting the enforcement at the run-time level makes this sound more practical than other ideas I have heard before. Still, I personally think that specifying privacy policies at the end-user level and clarifying the concept of privacy at the normative, legal and conceptual levels are more pressing concerns. Indeed, come to think of it: I don't really recall a privacy breach that was caused by a simple information flow bug. Privacy expectations are broken on purpose by many companies and major data breaches occur when big databases are shared (recall the Netflix Prize thing). Given this, I assume the major use-case is for Apps, maybe even as a technology that someone like Apple could use to enforce the compliance of third-party Apps to their privacy policies. I haven't looked too closely, so comments from more informed people are welcome. Jeeves is implemented as an embedded DSL in Scala and Python. By Ehud Lamm at 2014-02-26 18:33 | DSL | Scala | Software Engineering | 7 comments | other blogs | 10554 reads
The marriage of bisimulations and Kripke logical relations
CK Hur, D Dreyer, G Neis, V Vafeiadis (POPL 2012). The marriage of bisimulations and Kripke logical relations.
There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages---that is, languages that combine features like higher-order functions, recursive types, abstract types, and general mutable references. Two of the most prominent types of techniques to have emerged are bisimulations and Kripke logical relations (KLRs). While both approaches are powerful, their complementary advantages have led us and other researchers to wonder whether there is an essential tradeoff between them. Furthermore, both approaches seem to suffer from fundamental limitations if one is interested in scaling them to inter-language reasoning.I understand the paper as offering an extension to bisimulation that handles the notion of hidden transitions properly and so allows a generalisation of KLRs to any systems that can be treated using bisimulations. Applications to verified compilation are mentioned, and everything has been validated in Coq. And the Academy Award goes to... a literate programMatt Pharr, Greg Humphreys, and Pat Hanrahan have recently been given an Academy Award for Technical Achievement, for the book Physically Based Rendering. This is the first time the award has been given to a book and (more relevant to LtU) the first time a literate program has won an Academy Award. By Tess Foley at 2014-01-23 22:52 | LtU Forum | login or register to post comments | other blogs | 23338 reads
POPL 2014 proceedings available freely for allThe proceedings can be downloaded from the POPL webpage. I find this extremely exciting (not only because I didn't get funds to attend POPL this year). To my knowledge, this is the first time that this is done in POPL/ICFP/PLDI; electronic proceedings were previously only delivered to attendees, with an explicit request not to share them. I am not sure what is the reasoning that make which people decide to do it this year, or not to do it before. I hope that the proceedings will remain available after the conference (next week), and that this idea will be adopted for the years to come. Multiple Dispatch as Dispatch on TuplesMultiple Dispatch as Dispatch on Tuples, by Gary T. Leavens and Todd D. Millstein:
Multimethods and multiple dispatch has been discussed numerous times here on LtU. While the theory has been fully fleshed out to the point of supporting full-fledged type systems for multiple dispatch, there has always remained a conceptual disconnect between multimethods and the OO model, namely that methods are supposed to be messages sends to objects with privileged access to that object's internal state. Multimethods would seem to violate encapsulation inherent to objects, and don't fit with the conceptual messaging model. This paper goes some way to solving that disconnect, as multiple dispatch is simply single dispatch on a distinct, primitive class type which is predicated on N other class types and thus supporting N-ary dispatch. This multiple dispatch support can also be retrofitted to an existing single-dispatch languages without violating its existing dispatch model. Oral History of Adele GoldbergInteresting and wide-ranging interview with Adele Goldberg from Computer History
Another Oral History interview with her by IEEE Global History Network
PuzzleScriptI haven't seen this discussed here yet: http://www.puzzlescript.net/ It is an HTML5-based puzzle game engine that uses a simple language for patterns and substitutions to describe game rules. For example (taken from their introduction), the basic block-pushing logic of a Sokoban game can be given as: [ > Player | Crate ] -> [ > Player | > Crate ]
This line says that when the engine sees the pattern to the left of Rules are matched and applied iteratively at each step (i.e., when the player acts), until there are no more matches, and then movement takes place. There are mechanisms for influencing the order in which rules are run, and for forcing subsets of the rules to be iterated. By default, rules apply to both rows and columns, but horizontal- or vertical-only rules can be created. It is an interesting example of a very narrowly-focused DSL, based on a (relatively) uncommon model of computation. It's also very fun to play with! Backpack: Retrofitting Haskell with a Module System, at last
By gasche at 2014-01-05 16:59 | Type Theory | login or register to post comments | other blogs | 12726 reads
|
Browse archives
Active forum topics |
Recent comments
3 weeks 2 days ago
3 weeks 5 days ago
9 weeks 41 min ago
9 weeks 20 hours ago
21 weeks 1 day ago
21 weeks 2 days ago
21 weeks 3 days ago
21 weeks 3 days ago
22 weeks 1 day ago
22 weeks 1 day ago