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] >
____________________ Racket Users list: http://lists.racket-lang.org/users

