Yes, this ought to work, but it doesn't. You can have typed submodules in typed modules, though:
#lang typed/racket (define: x : Integer 1) (module+ main (displayln x)) I'll look into why your original program doesn't work. Sam On Tue, Aug 7, 2012 at 6:03 PM, Ray Racine <ray.rac...@gmail.com> wrote: > Looks like I'm still missing something. > Built off of GIT master. About Racket shows. > Welcome to DrRacket, version 5.3.0.17--2012-08-07(c03daba7/d/list) > > ==== > #lang typed/racket > > (module zoo typed/racket > (provide tiger) > > (: tiger String) > (define tiger "Tony")) > > (require 'zoo) > > tiger > ==== > > . . ../../usr/local/racket/collects/typed-racket/env/env-req.rkt:9:4: > standard-module-name-resolver: contract violation > expected: module-path? > given: '(submod (submod 'anonymous-module zoo) #%type-decl) > > > On Tue, Aug 7, 2012 at 5:13 PM, Ray Racine <ray.rac...@gmail.com> wrote: >> >> My bad. Let me try them (submodules) again. Must have been one of my >> between the chair and the keyboard phenomena. >> >> On Tue, Aug 7, 2012 at 5:06 PM, Sam Tobin-Hochstadt <sa...@ccs.neu.edu> >> wrote: >>> >>> >>> On Aug 7, 2012 4:34 PM, "Ray Racine" <ray.rac...@gmail.com> wrote: >>> > >>> > Nice release guys. >>> > >>> > DrRacket is buttery smooth and looks nicer than ever. Emacs withdrawal >>> > symptoms almost gone when Racket coding. Though the left hand stills >>> > tends >>> > to spontaneously break out into an organ Fugue every now and then. >>> > >>> > Need to play with racket/generic and #:methods combined with TR >>> > structs:. Possibilities abound. >>> > >>> > TR support for submodules didn't make it this release? Hopefully soon. >>> >>> Typed Racket fully supports submodules in version 5.3. >>> >>> > >>> > Ray >>> > >>> > On Tue, Aug 7, 2012 at 9:39 AM, Eli Barzilay <e...@barzilay.org> wrote: >>> >> >>> >> Racket version 5.3 is now available from >>> >> >>> >> http://racket-lang.org/ >>> >> >>> >> * Submodules are nested module declarations that can be loaded and >>> >> run independently from the enclosing module. For an overview of >>> >> submodules, see >>> >> >>> >> http://blog.racket-lang.org/2012/06/submodules.html >>> >> >>> >> * The futures visualizer is a graphical profiling tool for parallel >>> >> programs using futures. The tool shows a detailed execution >>> >> timeline depicting the migration of futures between threads, and >>> >> gives detailed information about each runtime synchronization that >>> >> occurred during program execution. In addition, `would-be-future' >>> >> is a special type of future that always executes sequentially and >>> >> records all potential barricades a regular future would encounter. >>> >> >>> >> * Optimization Coach (formerly Performance Report) reports >>> >> information about Racket's inlining optimizations. Optimization >>> >> Coach can be launched in any language through the View menu. >>> >> >>> >> * The new `images/flomap' library defines floating-point bitmaps and >>> >> fast image processing operations on them. It is written in Typed >>> >> Racket, so Typed Racket code may use it without the cost of >>> >> contract checks. >>> >> >>> >> * The new `json' library supports parsing and generating JSON. >>> >> (Originally based on Dave Herman's planet library.) >>> >> >>> >> * `racket/string' is extended with a set of simplified string >>> >> manipulation functions that are more convenient than using >>> >> regexps. `regexp-match*' and friends can now be used with new >>> >> keyword arguments to return specific matched regexp group/s and >>> >> gaps between matches. >>> >> >>> >> * The new `racket/generic' library allows generic function >>> >> definitions, which dispatch to methods added to a structure type >>> >> via the new `#:methods' keyword. >>> >> >>> >> * The `class' form supports declaring a method abstract. An >>> >> abstract method prevents a class from being instantiated unless it >>> >> is overridden. >>> >> >>> >> * The contract library comes with support for interfaces, generics, >>> >> prompts, continuation-marks, and structs. >>> >> >>> >> * Most error messages use a new multi-line format that is more >>> >> consistent with contract errors and accommodates more information. >>> >> >>> >> * Typed Racket supports function definitions with keyword arguments; >>> >> the startup time of Typed Racket programs has been sharply >>> >> reduced. >>> >> >>> >> * The new `ffi/com' library replaces MysterX; a compatibility >>> >> `mysterx' library remains, but without ActiveX support. The new >>> >> `ffi/unsafe/com' library offers a more primitive and direct way to >>> >> use COM classes and methods. >>> >> >>> >> * There is now a very complete completion code for zsh. It is not >>> >> included in the distribution though; get it at http://goo.gl/DU8JK >>> >> (This script and the bash completions will be included in the >>> >> standard installers in future versions.) >>> >> >>> >> --- DEPRECATION ---------------------------------------------------- >>> >> >>> >> Effective this release: >>> >> >>> >> - The `tex2page' and `combinator-parser' libraries have been moved >>> >> from the Racket distribution to PLaneT: >>> >> >>> >> (require (planet plt/tex2page)) >>> >> (require (planet plt/combinator-parser)) >>> >> >>> >> The following has been deprecated and will be removed in the >>> >> January 2013 release: >>> >> >>> >> - the `planet' command-line tool; use `raco planet' instead. >>> >> >>> >> The following has been deprecated and will be removed in the >>> >> August 2013 release: >>> >> >>> >> - the `mzlib/class100' library; use `racket/class' instead. >>> >> >>> >> Feedback Welcome, >>> >> -- >>> >> ((lambda (x) (x x)) (lambda (x) (x x))) Eli >>> >> Barzilay: >>> >> http://barzilay.org/ Maze is >>> >> Life! >>> >> ____________________ >>> >> Racket Users list: >>> >> http://lists.racket-lang.org/users >>> > >>> > >>> > >>> > ____________________ >>> > Racket Users list: >>> > http://lists.racket-lang.org/users >>> > >> >> > -- sam th sa...@ccs.neu.edu ____________________ Racket Users list: http://lists.racket-lang.org/users