[racket-dev] submodules

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Fri Mar 9 17:58:11 EST 2012

I just pushed...

- module**

Like module* but combines multiple occurrences of the same submodule
name into one module*

- when-testing

An abbreviation of module** with the name test and the #f language

- raco test

Finds all the files in a directory and requires their test module

I like the name 'raco test'; I'm meh on 'when-testing', I didn't want
to clash with eli-tester/test or something, but I think whatever we go
with (and I think there should be such a convenience macro) should be
similar to what happens with main; I don't know a better name for
module**. I thought of something using an @ to suggest the splicing,
but didn't like anything when I tried it.

Jay

On Fri, Mar 9, 2012 at 11:56 AM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
> I'll pushed an improved version of the test macro shortly.
>
> Jay
>
> On Fri, Mar 9, 2012 at 11:04 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>> At Wed, 7 Mar 2012 10:14:35 -0700, Matthew Flatt wrote:
>>> I've added "submodules" to a version of Racket labeled v5.2.900.1
>>
>> Submodules are now pushed to the Racket git repo.
>>
>>
>> I haven't yet added a syntactic form to simplify
>>
>>  (module* main #f
>>   ....)
>>
>> My first idea was `main', as in
>>
>>  (main
>>   ....)
>>
>> but that seems too quiet and likely to create collisions. (It does
>> create a collision in part of the contract library, which imports
>> `racket/base' for syntax and defines a for-syntax `main' function.)
>>
>> Jon suggests `submodule':
>>
>>  (submodule main
>>   ...)
>>
>> This suggestion has the advantage of replacing all `(module* .... #f
>> ....)' combinations, and mostly I like this direction. However,
>> `submodule' would be only one way to define a "submodule", while
>> `submod' in a module path corresponds to "submodule" in the more
>> general sense. It could be that `submodule' is on the right path and
>> other terminology should change, or maybe there's a more specific word
>> to use for a `(module* .... #f ....)' replacement instead of `submodule'.
>>
>> _________________________
>>  Racket Developers list:
>>  http://lists.racket-lang.org/dev
>
>
>
> --
> Jay McCarthy <jay at cs.byu.edu>
> Assistant Professor / Brigham Young University
> http://faculty.cs.byu.edu/~jay
>
> "The glory of God is Intelligence" - D&C 93



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93


Posted on the dev mailing list.