The REPL prints types automatically: Welcome to Racket v5.3.0.4. -> vector-ref - : (All (a) ((Vectorof a) Integer -> a)) #<procedure:vector-ref> -> (define: x : String "Hello") -> x - : String "Hello" ->
Is this what you had in mind? Vincent At Mon, 30 Apr 2012 22:23:01 +0100, Bikal Gurung wrote: > > [1 <multipart/alternative (7bit)>] > [1.1 <text/plain; ISO-8859-1 (7bit)>] > Sam, > > Is there a function in racket which will - given a name - display the > function/variable signature in the REPL? > > I am thinking about haskell prelude(REPL) that gives me the type signature > when I enter :t <func name> in the repl? > > With Thanks > Bikal > > On Mon, Apr 30, 2012 at 1:48 PM, Sam Tobin-Hochstadt <[email protected]>wrote: > > > On Mon, Apr 30, 2012 at 12:51 AM, Bikal Gurung <[email protected]> wrote: > > > Hi All, > > > > > > I am investigating typed racket. I was wondering if someone could help > > with > > > answering the questions below. > > > > > > 1) Can we mix/import modules written in untyped racket to a module that > > is > > > used typed racket. I have experimented with a few modules using and they > > > seem to work in general but not really sure about the mechanism that > > makes > > > it work. How does racket make the untyped code and typed code work > > together > > > if they do? Is this in a case by case basis, ie. module/library by > > library > > > basis? > > > > Yes, you can mix typed modules and untyped modules in the same > > program. This is one of the most fundamental features of Typed > > Racket. To use a typed module from an untyped module, just require it > > -- contracts are inserted automatically to check the operation. To > > use an untyped module from a typed module, use `require/typed' to > > specify the type. > > > > > 2) What is the canonical racket paradigm? use typed racket or untyped > > > racket? Or is this more an issue of a preference/style? > > > > This is very much an issue of style. I think there are a number of > > advantages of type systems for maintenance, optimization, > > documentation, and organization, so I encourage you to use Typed > > Racket. However, if you use plain Racket, Typed Racket is designed to > > make it easy to switch, a module at a time, when you decide you want > > types. > > > > > 3) Are typed racket programs faster than untyped ones? The documentation > > > says so but I was wondering if there has been any benchmark or study > > being > > > done on this topic. > > > > Yes, Typed Racket has an optimizing compiler (by Vincent St-Amour) > > which uses the type information to make your program go faster. You > > can see some benchmark results in our papers > > http://www.ccs.neu.edu/racket/pubs/padl12-stff.pdf and > > http://www.ccs.neu.edu/racket/pubs/pldi11-thacff.pdf . > > > > > 4) Can typed racket module be used in the context of untyped racket > > module? > > > > Yes, you can just `require` the typed module, and it should work. > > > > > 5) Is there a Hindlye/Milner style type inferencing algorithm for typed > > > racket being worked on? > > > > The Typed Racket type system contains a number of features that go > > beyond what's supported in Hindley/Milner style type systems, and so > > we can't use that inference system. Currently, Typed Racket uses > > local type inference to infer many of the types in your program, but > > we'd like to infer more of them -- this is an ongoing area of > > research. However, inferring all the types in the program, the way > > that ML and Haskell do, is not a goal of Typed Racket -- having type > > annotations there makes the program self-documenting and easier to > > understand, improves type error messages, and supports advanced type > > system features. > > > > Thanks for your interest in Typed Racket, and if you have any more > > questions, please ask. > > -- > > sam th > > [email protected] > > > [1.2 <text/html; ISO-8859-1 (quoted-printable)>] > > [2 <text/plain; us-ascii (7bit)>] > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users

