archives

Tools for (PhD) Researching

(Sorry that this is a bit off-topic...)

I'm not talking about programming tools. Instead, I need something to organize my research progress. I learnt the hard way while I was doing my Masters that when I didn't keep track of my ideas and progress on a day-to-day basis, the task of thesis-writing became almost undoable at a later stage. That convinces me I need some "tool" to build the core of my thesis on a day-to-day basis.

I can be on a very wrong track, but what I currently have in mind is a personal wiki (e.g. based on Mediawiki) which allows me to have rich cross-referencing of ideas. Come to think about it, i think what i need are:

- a place to keep a journal
- a place to keep track of all the bios and allow me to add annotations/comments/thoughts
- something allows me to keep track of branches of new ideas and backtracking.

Any suggestions?

Compiling with Continuations, Continued

Compiling with Continuations, Continued, Andrew Kennedy. ICFP 2007.

We present a series of CPS-based intermediate languages suitable for functional language compilation, arguing that they have practical benefits over direct-style languages based on A-normal form (ANF) or monads. Inlining of functions demonstrates the benefits most clearly: in ANF-based languages, inlining involves a renormalization step that rearranges let expressions and possibly introduces a new ‘join point’ function, and in monadic languages, commuting conversions must be applied; in contrast, inlining in our CPS language is a simple substitution of variables for variables.

We present a contification transformation implemented by simple rewrites on the intermediate language. Exceptions are modelled using so-called ‘double-barrelled’ CPS. Subtyping on exception constructors then gives a very straightforward effect analysis for exceptions. We also show how a graph-based representation of CPS terms can be implemented extremely efficiently, with linear-time term simplification.