From eli at barzilay.org Wed Jan 21 02:09:25 2009 From: eli at barzilay.org (Eli Barzilay) Date: Wed Jan 21 02:10:55 2009 Subject: [PLT announcement] PLT Scheme v4.1.4 Message-ID: <200901210709.n0L79PFc021851@winooski.ccs.neu.edu> PLT Scheme version 4.1.4 is now available from http://plt-scheme.org/ * New libraries include `scheme/package' (for nestable static modules) and `ffi/objc' (support for Objective-C). * New teaching support includes a "universe.ss" teachpack for connecting "worlds" over a network. * Redex now supports automatic test-case generation. Specify a predicate that should hold of your reduction system, and Redex will attempt to falsify it. See 'redex-check' in the manual for more details. * Improvements to the run-time system include better and more reliable memory-limit tracking, function contracts that preserve tail recursion in many cases, native debugging backtraces on x86_64, and performance improvements. * Improved libraries include enhancements to `scheme/sandbox', better handling of zero-sized matches by `regexp-split' and friends, an `equal<%>' interface for specifying equality on class instances (and more general support for attaching properties to interfaces), equality (via `equal<%>') for image objects, and refinements to `scheme/foreign' to support atomic operations and function-pointer conversions. [Note that mirror sites can take a while to catch up with the new downloads.] Feedback Welcome, -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From eli at barzilay.org Sun Mar 22 01:04:29 2009 From: eli at barzilay.org (Eli Barzilay) Date: Sun Mar 22 01:08:31 2009 Subject: [PLT announcement] PLT Scheme v4.1.5 Message-ID: PLT Scheme version 4.1.5 is now available from http://plt-scheme.org/ * Web Server: - new URL-based dispatching library `web-server/dispatch', - customizable continuation serialization policies for the stateless web language `web-server/stuffers', - abstraction of serve/servlet to build simpler dispatchers `web-server/servlet-env', - HTTP Digest authentication support `web-server/http/digest-auth', - built-in cookie support in `web-server/http/cookie' and `web-server/http/cookie-parse', - highlighting and pretty-printing of errors in Xexpr constructions, - load control dispatcher for limit concurrent sessions `web-server/dispatchers/limit'. * Scribble: - Literate programming is now available using the new `scribble/lp' language. - A new `at-exp' language makes it convenient to use the scribble reader's @-expressions for general code. - The `scribble/text' preprocessor language has been extended to deal with indentation and other formatting issues. - The "scribble" command-line tool accepts a `--pdf' flag to render PDFs (via pdflatex). * DrScheme now provides feedback when PLaneT downloads and installs new packages. * Units & Contracts: - Elements of unit signatures can now be associated with contracts via the `contracted' signature form. - A contract combinator for units, `unit/c', has been added. - The new `with-contract' form provides a nestable submodule contract boundary, protecting a group of definitions from the surrounding code with contracts. - The `define/contract' form has been reworked and new define forms have been added: `define-struct/contract' and `define-unit/contract'. * Language levels and teachpacks from the DeinProgramm project for the German textbook "Die Macht der Abstraktion" by Herbert Klaeren and Michael Sperber have been added. * Misc: - Typed Scheme now comes with several more pre-wrapped libraries, found in the `typed' collection. - The `xml' and `html' collections are now contracted. - Binding parsing in net/cgi now interacts with `net/uri-codec's configuration parameters. - DrScheme captures logging output. - Check syntax: it is now possible to tack arrows crossing the currently selected text. - New `bitwise-bit-field' function. * The usual pile of bugfixes. (Notable: `scheme/package' works, `deflate' compression fixed, DrScheme language dialog issue resolved, `match' fixes, Windows networking, and much more.) [Note that mirror sites can take a while to catch up with the new downloads.] Feedback Welcome, -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From eli at barzilay.org Mon Jun 1 14:24:45 2009 From: eli at barzilay.org (Eli Barzilay) Date: Mon Jun 1 14:31:24 2009 Subject: [PLT announcement] PLT Scheme v4.2 Message-ID: PLT Scheme version 4.2 is now available from http://plt-scheme.org/ Internally, this version includes a conversion from C++ to Scheme for part of the GUI toolbox --- specifically, 25k lines of code that implement the general text and pasteboard editor. This conversion is a start on a larger reimplementation of the GUI toolbox. Although we believe that this change will help make PLT Scheme better in the long run, we must expect bugs in the short term due to porting errors. Users should therefore be aware of the change, even though the new implementation is meant to behave the same as previous versions. * A new statistical profiler is now available; see the "profiler" manual for more information. Currently, the profiler supports only textual output, but future plans include a GUI interface and DrScheme integration. * The `world' teachpack is now deprecated. Its replacement `universe' has a new interface that uses strings instead of symbols and characters. * Web-server: Native continuations in the stateless servlet language support capturing continuations from untransformed contexts; soft state library for stateless servlets. * DrScheme's Stepper can now jump to a selected program expression. * New in `scheme/base': `hash-has-key?', `hash-ref!', `in-sequences', `in-cycle'. New in `scheme': `count', `make-list' (from `scheme/list'), `const' (from `scheme/function'). * Some performance improvements, including faster start-up for small programs. The latter is a result of delaying module invocations at higher phases (compile time, meta-compile time, etc.) until compilation is demanded at the next lower phase; this on-demand instantiation is per-phase, as opposed to per-module within a phase. [Note that mirror sites can take a while to catch up with the new downloads.] Feedback Welcome, -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://www.barzilay.org/ Maze is Life! From eli at barzilay.org Thu Jul 30 08:06:45 2009 From: eli at barzilay.org (Eli Barzilay) Date: Thu Jul 30 08:13:18 2009 Subject: [PLT announcement] PLT Scheme v4.2.1 Message-ID: PLT Scheme version 4.2.1 is now available from http://plt-scheme.org/ * This is the last release that includes ProfessorJ. As of the next release, Kathy Gray who created and maintained the Professor will move the code to planet and maintain only at a minimal level. * Typed Scheme 2.0 extends the type system significantly, making it more expressive. For example, predicates applied to selectors, such as (number? (car x)), are meaningful to the type system. * Faster installation of Planet packages that trigger install of other Planet packages, because the documentation index is updated only once after a group of packages is installed. * The `syntax/parse' library provides macro writers with an enhanced syntax pattern matcher that reports errors based on the patterns' declared classes of syntax. * Identifier mappings following the v4 dictionary interface and naming conventions are available from the `syntax/id-table' library. * Redex: added `define-relation' and generalized patterns that appear in "where" clauses to use the full Redex pattern matcher. (This is a backwards incompatible change, but one often requested; see the Redex release notes for details.) * The Web Server's serializable closures are now available for other purposes through the web-server/lang/serial-lambda library. * Teachpacks: small changes to universe portion of the "universe.ss" API, plus the addition of a form for launching many (communicating) worlds simultaneously. Bug fixes concerning conversion to strings. * It is now possible to create custom scribble readers with a command characters different than `@', see `make-at-reader/inside' and `make-at-reader' * Note: this is likely to be the last release that includes a solaris distribution. If you need these builds, or if you have access to a (Sparc) Solaris machine than can be used in PLT builds, then please let me know. [Note that mirror sites can take a while to catch up with the new downloads.] Feedback Welcome, -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! From eli at barzilay.org Sun Oct 4 16:16:17 2009 From: eli at barzilay.org (Eli Barzilay) Date: Sun Oct 4 16:22:03 2009 Subject: [PLT announcement] PLT Scheme v4.2.2 Message-ID: PLT Scheme version 4.2.2 is now available from http://plt-scheme.org/ * DrScheme now, by default, compiles all of the files that are loaded when it runs a program and saves the compiled files in the filesystem. This should lead to faster load times (not faster runtimes) since it avoids re-compiling files whose dependencies have not changed. * New Scribble libraries and documentation make it easier to get started with Scribble, especially for uses other than PLT documentation. DrScheme now has better indentation and syntax coloring support for Scribble languages (and generally all @-exp based languages). * The new `syntax/keyword' library provides support for macros with keyword options. A new quick start guide has been added to the documentation for the `syntax/parse' library. * Added support for abstract contracts via the #:exists keywords. This is an experiment to add support for data hiding to the contract system. * Added `in-producer': a sequence expression makes it easy to iterate over producer functions (e.g., `read'). A new `scheme/generator' library creates generators that can use a (parameterized) yield function. * HtDP langs: several primitives now consume 0 and 1 arguments in ISL (and up), including `append', `+' and `*'. In addition, `make-list' was added to the primitives. * The API to Universe has a number of new constructs. All Universe programs should run unchanged. The most important change is the addition of `animate' as an alternative name for `run-simulation'. In addition, adding the clause `(state true)' to a world description now pretty-prints the state of the world into a separate canvas. * A number of changes were made to the DeinProgramm / DMdA language levels: The `check-property' and `contract' forms were added, `define-record-procedures-parametric' has changed. See the documentation for details. * The test engine in the HtDP languages no longer warns programmers when the Definitions window has no tests. * ProfessorJ (and related code) is no longer included in the PLT distributions. It may re-appear in the future as a PLaneT package. [Note that mirror sites can take a while to catch up with the new downloads.] Feedback Welcome, -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life!