[Grace-core] Minigrace in the browser

Michael Homer mwh at ecs.vuw.ac.nz
Sat Jul 2 14:46:55 PDT 2011


On Sun, Jul 3, 2011 at 9:24 AM, Kim Bruce <kim at cs.pomona.edu> wrote:
> I suggest that there be a separate folder for each implementation, and within that, one for typed and one for untyped programs.  For example, we currently require some gratuitous "()" in our implementation, though we hope to get rid of them soon.  Of course I hope that by the end of the summer, we can have a single syntax for each of the typed and untyped versions of the language.
>
> We'll try to get something into the repository by the end of next week, though we may still have superfluous "()" at that time.
>
I've been keeping my implementation-specific tests separate from ones
that should run anywhere (eventually). I would prefer a single shared
repository of "things that I should make work" to several of things
that may or may not run. Typed/untyped might be a necessary
distinction still - perhaps all the tests should have a version each
way where that makes sense. At least on my end type annotations should
parse fine, they're just ignored, but going in the other direction is
a problem.

My current tests are structured as a single directory of numbered test
files and corresponding golden output: 030-operatoroverload.test.gc
should produce 030-operatoroverload.out. Tests for compile-time errors
are named .fail.test.gc. The test harness is just a shell script that
loops through them all and compares the results. The test cases have
no boilerplate and just execute the top-level code in them.

> I think it would also be helpful for each implementor to have a specification of the grammar that they are implementing in the repository.  That should help make it a bit clearer where the differences are (and hence where we need to direct our attention).
I will try to sketch out a grammar describing what's implemented. I've
just been building out the parser as required so far.

On the file extension, I have been using .gc so far, but I don't have
any particular commitment to it. Presumably there's no desire for 8.3
filename compatibility (or shorter), so .grace works and is clear.
-Michael


More information about the Grace-core mailing list