User loginNavigation |
archivesMethod inlining as a macro systemHi folks, you might be interested in the blog entry I just wrote, where I talk about the impact of refactoring IDE's on coding style: Method inlining as a macro system What do you think? By skybrian at 2005-07-17 01:03 | LtU Forum | login or register to post comments | other blogs | 5750 reads
Esolang ExtravaganzaI was just wondering what some of LTU readers' favorite esolangs to mess around with are... There are so many to choose from and so few that are actually implemented. My personal favorite is Brainfuck, coupled with the Brainfuck.NET compiler; it's a great way to keep oneself occupied. What is your favorite esolang? A Plan for PugsAnyway. So, I ordered a bunch of books online including TaPL and ATTaPL so I could learn more about mysterious things like Category Theory and Type Inference and Curry-Howard Correspondence. A rather amusing interview about Pugs, the Perl 6 implementation written in Haskell. By Ehud Lamm at 2005-07-17 10:06 | Functional | Implementation | login or register to post comments | other blogs | 4969 reads
Automatic type inference via partial evaluation
Automatic type inference via partial evaluation. Aaron Tomb, Cormac Flanagan. PPDP’05.
Type checking and type inference are fundamentally similar problems. However, the algorithms for performing the two operations, on the same type system, often differ significantly. The type checker is typically a straightforward encoding of the original type rules. For many systems, type inference is performed using a two-phase, constraint-based algorithm.We present an approach that, given the original type rules written as clauses in a logic programming language, automatically generates an efficient, two-phase, constraint-based type inference algorithm. Our approach works by partially evaluating the type checking rules with respect to the target program to yield a set of constraints suitable for input to an external constraint solver. This approach avoids the need to manually develop and verify a separate type inference algorithm, and is ideal for experimentation with and rapid prototyping of novel type systems. Also somewhat relevant to the discussions here about type checking as abstract interpretation. By Ehud Lamm at 2005-07-17 10:55 | Logic/Declarative | Meta-Programming | Type Theory | 4 comments | other blogs | 8248 reads
Abstract interpretation for constraint handling rules
Abstract interpretation for constraint handling rules. Tom Schrijvers, Peter J. Stuckey, Gregory J. Duck. PPDP’05
Program analysis is essential for the optimized compilation of Constraint Handling Rules (CHRs) as well as the inference of behavioral properties such as confluence and termination. Up to now all program analyses for CHRs have been developed in an ad hoc fashion.In this work we bring the general program analysis methodology of abstract interpretation to CHRs: we formulate an abstract interpretation framework over the call-based operational semantics of CHRs. The abstract interpretation framework is non-obvious since it needs to handle the highly non-deterministic execution of CHRs. The use of the framework is illustrated with two instantiations: the CHR-specific late storage analysis and the more generally known groundness analysis. In addition, we discuss optimizations based on these analyses and present experimental results. I haven't read this paper carefully yet, but since the authors claim it is the first published account of abstract interpretation for CHRs, I decided to mention it here anyway. By Ehud Lamm at 2005-07-17 11:45 | Logic/Declarative | Meta-Programming | login or register to post comments | other blogs | 5373 reads
A Concurrent Lambda Calculus with FuturesA Concurrent Lambda Calculus with Futures
To all the fans of Mozart and especially Stockhausen :-) By Andris Birkmanis at 2005-07-17 14:05 | Functional | Lambda Calculus | login or register to post comments | other blogs | 6417 reads
|
Browse archivesActive forum topics |
Recent comments
22 weeks 3 hours ago
22 weeks 7 hours ago
22 weeks 7 hours ago
44 weeks 1 day ago
48 weeks 3 days ago
50 weeks 15 hours ago
50 weeks 15 hours ago
1 year 4 days ago
1 year 5 weeks ago
1 year 5 weeks ago