Re: [Haskell-cafe] Places to write and publish projects that "explain ideas"?
Regarding (1), as far as I'm aware, the requirements are flexible, but the general requirement is "published a paper at a good venue, either journal or conference". This implementation was a hobby project of mine, but I was hoping to be able to justify spending more time on it by finding a venue to publish it at. As for (2), it's mostly expository. The techniques that I am interesting in showing off have no known "simple" implementations as far as I'm aware -- scalar evolution, polyhedral compilation, some kinds of inter-procedural analyses, SSA, etc. do not have simple implementations. Indeed, the goal is to show how to write *optmising* compilers. Most compilers books teach one how to write *a compiler, *while there's a second course usually on compiler optimisation. I don't know of readable, clean implementations of, say, the SSA construction algorithm, or the scalar evolution analysis. Regarding nanopass: I think it makes a lot of sense as a philosophy as a way to architect compilers. However, there are a lot of nice haskell-isms to write compilers which are scattered throughout the literature, as far as I can tell: Hoopl, trees that grow, much of Matt might's work on abstracting abstract interpreters, Scrap-your-boilerplate style techniques, equality saturation, etc. which are all fantastic, but I've never seen them under the same umbrella. So that's a sketch of the general story I want to tell :) Thanks. ~Siddharth On Tue, Dec 25, 2018 at 7:30 PM Richard O'Keefe <raoknz@gmail.com> wrote:
Question 1: what does your department require? The first person to consult is your supervisor. Helping students figure out where to publish is definitely part of a supervisor's job (speaking as a former supervisor of PhD students).
Question 2: what is the TOPIC of your publication? Since you are merely (!) demonstrating known techniques on a toy language, does it really count as work on compilers? Is it software engineering? Is it computer science education? Is the aim to develop something more maintainable? What is the quality metric by which your work should be judged?
Observation: if you haven't already read the "Nanopass" paper, https://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf , you should do so now. http://nanopass.org/ is the associated web site. There is also a mailing list, https://groups.google.com/forum/#!forum/nanopass-framework I think your aims are sufficiently close to theirs for you to have interesting things to say to each other, despite you using Haskell and them having used Scheme.
participants (1)
-
Siddharth Bhat