commit 9c76e34142ef9e78950f62a955b20dbcb150bdb2 Author: Sergiu Ivanov Date: Thu Dec 17 20:45:26 2020 +0100 Start the package. diff --git a/info.rkt b/info.rkt new file mode 100644 index 0000000..ba63668 --- /dev/null +++ b/info.rkt @@ -0,0 +1,5 @@ +#lang info + +(define collection "typed-compose") +(define deps '("base")) +(define scribblings '(("typed-compose.scrbl" ()))) diff --git a/typed-compose.rkt b/typed-compose.rkt new file mode 100644 index 0000000..0f75fea --- /dev/null +++ b/typed-compose.rkt @@ -0,0 +1,6 @@ +#lang typed/racket + +(require (for-syntax syntax/parse)) + +(module+ test + (require typed/rackunit)) diff --git a/typed-compose.scrbl b/typed-compose.scrbl new file mode 100644 index 0000000..170404b --- /dev/null +++ b/typed-compose.scrbl @@ -0,0 +1,14 @@ +#lang scribble/manual + +@(require scribble/example racket/sandbox + (for-label racket/base "typed-compose.rkt" + (only-in typed/racket/base + -> compose))) + +@title{Utilies for composing functions in Typed Racket} + +Typed Racket's @racket[compose] only takes two arguments, because in general it +is difficult to specify that the return types and the argument types should be +the same for two successive functions in the argument list. This package +defines some further utilities to allow @racket[compose]-ing more than two +functions more comfortable in Typed Racket.