Subject: CVS commit: pkgsrc/lang
From: Aleksej Saushev
Date: 2016-10-25 19:37:41
Message id: 20161025173741.52B67FBD2@cvs.NetBSD.org

Log Message:
Update to Racket 6.6

Changes in Racket 6.6

- The new Macro Profiler command-line tool (`raco macro-profiler`) shows
  how macros contribute to the final expanded code size of a program.

- Typed Racket supports intersection types. This allows the type system
  to track more information, and for programmers to express more precise
  types.

- Typed Racket produces up to 4x smaller compiled files compared with
  Racket 6.5, reducing the size of the Racket distribution by 50M.

- Typed Racket issues warnings in cases where the contract generated for
  `Any` was not strict enough in the past. These warnings will become
  errors in a future release. Warnings are enabled via View -> Show Log
  in DrRacket, and shown by default on command-line Racket.

- Typed Racket enforces uses of `cast` more correctly, by checking both
  the "casted-to" and "casted-from" types. Previously, only \ 
the former
  were checked. In some cases, this will produce contract errors in
  programs that did not have errors before.

- `syntax-parse` raises an error when an ellipsis pattern has an empty
  match rather than diverging, and it logs a warning when it statically
  detects a nullable pattern, such as `((~seq) ...)`. In the next version
  of Racket, it will reject the pattern instead, and it will remove
  special handling that currently makes some uses of such patterns
  terminate.

- `htdp/dir`: The `create-dir` function delivers data information for
  files in a new field. The domain of its functions are backwards
  compatible.

Changes in Racket 6.5

- Typed Racket and the racket/contract library generate code with lower
  overhead, speeding up typed/untyped interaction in a number of gradual
  typing programs we studied.

- Macros written using `syntax-parse` automatically emit more accurate
  error messages.

- The contract profiler captures costs from more contract combinators,
  including all those in the main distribution.

- Hash table and set iteration, via both existing and new non-generic
  sequences, is more performant, up to twice as fast on microbenchmarks.

- The Racket optimizer detects many more optimization opportunities,
  including when variables always hold numbers.

- The `db` library supports multi-result statements in MySQL.

- The `net/dns` library supports SRV records.

- The `racket/unix-socket` library supports listen and accept operations.

Files:
RevisionActionfile
1.51modifypkgsrc/lang/racket/Makefile
1.16modifypkgsrc/lang/racket/PLIST
1.20modifypkgsrc/lang/racket/distinfo
1.28modifypkgsrc/lang/racket-textual/Makefile
1.15modifypkgsrc/lang/racket-textual/PLIST
1.19modifypkgsrc/lang/racket-textual/distinfo