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
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