[racket] Racket v5.3
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.racine at 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.racine at 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 <samth at ccs.neu.edu>
>> wrote:
>>>
>>>
>>> On Aug 7, 2012 4:34 PM, "Ray Racine" <ray.racine at 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 <eli at 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
samth at ccs.neu.edu