Tags: molodiuc/racket
Tags
Racket 6.2.1 Version 6.2.1 patches the recent v6.2 release in three small ways: * For the How to Design Programs teaching languages, DrRacket offers an option to use the old style for printing the constants `true`, `false`, and `empty` instead of `#true`, `#false`, and `'()`. * The teaching languages come with some additional functions to match the August 2015 stable release of HtDP 2nd edition. * A repair to the compiler avoids an infinite loop at compile time for certain expressions that should loop forever at run time.
Racket v6.2 With this release we are taking a major step forward to get our user community even more involved than in the past. Over the past six months, we have re-organized the Racket code base into a small core code repo and many other package repos, all found on github. If you have time and if you wish to get involved, please take a look at the github repos and find your favorite places to learn, fix, and enhance our world. The core repo is at https://github.com/plt/racket, and the package repos are listed at https://github.com/racket/. core repo * The package manager supports a direct references to Git repositories via "git://[...]", "http://[...].git", and "https://[...].git" URLs. (Previously, only references to GitHub were supported.) * A `--clone` option for `raco pkg install` or `raco pkg update` facilitates Git-based package development. If a package X has a Git repository source, installing and updating the package pulls from the repository in a read-only mode. Using `raco pkg update --clone X` switches the local installation to a repository checkout that is suitable for modifying the package implementation, issuing pull requests, pushing changes, and so on. Using `raco pkg update --lookup X` switches the package back to the default installation mode. drracket * Its on-line check syntax works with graphical content. * Increased availability of DrRacket's blueboxes, including method and constructor information. * The "Open Require Path" menu item supports ".." in relative pathnames. data * Added data/enumerate, a library that supports efficient enumeration of data structures redex * Its redex-check facility uses data (in addition to random) enumeration to try to find counter-examples. * Its generate-term function accepts additional arguments to return the "i"-th member of a pattern using data/enumerate (meaning it efficiently supports very large values of "i"). * The examples collection includes Launchbury's 1993 big-step lazy semantics. htdp * 2htdp/image's polygon may be built out of bezier curves instead of just straight lines (see the docs for "pulled-point"). * 2htdp/abstraction is a teachpack for instructors and students who wish to use for/* loops, match, define-type and type-cases in ISL and ISL+. * 2htdp/universe programs can be exported using DrRacket's executable creation mechanism and they behave properly when run independently. typed-racket * Typed Racket in DrRacket displays tooltips that show the types of expressions. Tooltips are also displayed for type errors. * Typed Racket loads generated contracts only when needed. This reduces memory use and startup time for Typed Racket programs. * Typed Racket has improved support for prefab structures, future semaphores, and async channels. * Typed Racket understands when two different variables refer to the same thing, and updates types accordingly. This particularly improves the type checking of macros such as `match`.
Racket v6.1.1 * The MAC OS X YOSEMITE compatibility problems are fixed. We bundled a patched Pango text-drawing library with Racket. * The WINDOWS [32-bit] releases fixes the window-update crashes. We bundled a patched Cairo drawing library with Racket. * TYPED RACKET closes two safety holes in the exception system. The revised type system restricts `raise' to send only instances of the `exn' structure type and flat data to handlers. It also checks exception handlers properly. NOTE: Previously well-typed programs may fail to typecheck. * TYPED RACKET'S typed regions support casts and predicates. * 2HTDP/IMAGE'S notion of equality ignores an image's baseline. * The PACKAGE MANAGER supports a binary library installation mode, which allows users to install packages without source or documentation. Use the `--binary-lib' option with `raco pkg install'. * The new DRRACKET-TOOL-LIB package factors out parts of DrRacket's IDE so that they can be reused with other editors, such as Emacs. * The COMPILER'S use-before-defined analysis has been repaired for certain forms of nested `letrec', some `let' forms, and some uses of `set!' or `with-continuation-mark'. * The COMPILER performs additional bytecode optimizations. Thanks to Gustavo Massaccesi. * The CML library comes with a new `replace-evt' event constructor. Thanks to Jan Dvořák. * REDEX'S benchmark suite comes with a description of the benchmark programs. * REDEX'S metafunctions can be typeset using the "large left brace" notation for conditionals. * The CONTRACT library comes with an improved `contract-stronger?'. Its error messages note that the contract itself might be wrong. * The GUI library is DPI-aware on Windows. * The OPENSSL library supports Server Name Indication for servers. Thanks to Jay Kominek. * The SYNTAX/PARSE library allows the definition of new pattern forms via pattern expanders, similar to match expanders. Thanks to Alex Knauth. * OpenGL on Linux no longer depends on libgtkgl, and core profiles are supported (see `set-legacy?'). * The TEACHING LANGUAGES' unit test framework supports `check-satisfied', a construct for checking whether a result satisfies a predicate, e.g.: (check-satisfied (sort l) sorted?)
PreviousNext