[Haskell-cafe] Compilers: Why do we need a core language?
carette at mcmaster.ca
Fri Nov 23 14:43:17 CET 2012
On 22/11/2012 7:37 PM, Richard O'Keefe wrote:
> On 23/11/2012, at 1:56 AM, Jacques Carette wrote:
>> Actually, here I disagree. It might be much 'easier' for the
>> programmers to do it for a small core language, but it may turn out
>> to be much, much less effective. I 'discovered' this when
>> (co-)writing a partial evaluator for Maple: we actually made our
>> internal language *larger*, so that we could encode more invariants
>> syntactically. This ended up making our jobs considerably easier,
>> because we did not have to work so hard on doing fancy analyses to
>> recover information that would otherwise have been completely
>> obvious. Yes, there were a lot more cases, but each case was
>> relatively easy; the alternative was a small number of extremely
>> difficult cases.
> I don't think we do disagree. We are talking about the same thing:
> ``not hav[ing] to work so hard on doing fancy analyses''.
> The key point is that an (abstract) syntax *designed for the compiler*
> and a syntax *designed for programmers* have to satisfy different
> design goals and constraints; there's no reason they should be the same.
I must have mis-interpreted what you said then. We definitely agree on
this key point.
More information about the Haskell-Cafe