Patrick R. Michaud wrote:

It's also worth noting that I created an alternative script
"create_language.pl" that already handles these (and provides
a more complete configuration environment a-la what Rakudo uses).

Mmmm... I saw that, and wondered why you created a separate script. But, a diff between the two shows that you made extensive changes (though it appears you did start with a copy of mk_language_shell.pl), so I thought perhaps you made a new script to avoid a deprecation notice for the old script. create_language.pl is also a clearer name for the tool.

I also noticed some nice aspects of mk_language_shell.pl that create_language.pl doesn't support, like only generating a very simple shell by default (so the developer isn't swamped with a load of infrastructure they don't understand), adding things like the dynamic PMC and dynamic ops makefiles when requested by a command-line option. mk_language_shell.pl also uses the gen_makefile.pl script which is better than manually substituting on makefiles. And create_language.pl still uses dynpmc.pl and dynoplibs.pl which are deprecated (because they can never work with an installed Parrot). And mk_language_shell.pl's version of gen-parrot creates a local *installed* parrot instance which is a better direction for languages to be heading (doing language development with a dependency on the Parrot build tree tends to encourage mistakes that make the language uninstallable). And mk_language_shell.pl's t/harness supports the bindir argument, necessary to run tests on an installed parrot.

On the flip side, create_language.pl uses a .HLL for the language, which is a good default. It also appears to have some updates to the PGE/PCT interfaces, which would likely be generally useful.

The two scripts could be merged in to a single best practices language shell generator, if things like the gen-parrot, "search for parrot_config", and "generate executable" features could be turned off by default, to be enabled by a command-line option.

Allison
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to