From stamourv at eecs.northwestern.edu Fri Jan 20 17:39:06 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Fri, 20 Jan 2017 16:39:06 -0600 Subject: [Racket announcement] Announcing (seventh RacketCon) Message-ID: Racketeers, (seventh RacketCon) will be held on October 7th, followed by Racketeer Office Hours on October 8th. This year, RacketCon will be in Seattle, WA, with support from the Racket group at the University of Washington. RacketCon is a yearly event where members of the Racket community get together, featuring talks and demos about the things you do with Racket. Racketeer Office Hours is a new event that we're trying out this year. It is a free-form day for Racketeers to get together and collaborate on ongoing projects, start new ones, and get help and advice from other members of the community. Registration is not open yet, but we'll let you know when it is. See you in Seattle! Vincent St-Amour, Matthew Butterick, and Matthew Flatt with help from Emina Torlak and Amanda Robles at UW From stamourv at eecs.northwestern.edu Tue Jan 24 16:05:15 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Tue, 24 Jan 2017 15:05:15 -0600 Subject: [Racket announcement] Racket v6.8 Message-ID: Racket version 6.8 is now available from http://racket-lang.org/ - Racket sports a new logo, courtesy of Matthew Butterick. - MacBook Pro laptops with touch bars are supported. - Support for FreeBSD on PowerPC. - Initial support for GTK3 on Wayland is available. GL contexts, GC blits, and dialog placement currently do not work. - The macro stepper provides a command-line interface via the `raco macro-stepper` command. - Typed Racket more efficiently represents and computes types and propositions, resulting in faster type checking for many programs. For more details, see this blog post by Andrew Kent: https://pnwamk.github.io/blog/2017/01/08/some-changes-in-typed-racket-v6-8/ - The bytecode optimizer can reduce more expressions of the form `(equal? x y)` to `(eqv? x y)` or `(eq? x y)` when the type of `x` or `y` is known. - The bytecode optimizer avoids dropping stack frames in some reductions. This provides better stack traces for errors when errotrace is enabled. - The bytecode compiler detects more optimization opportunities, including when variables always hold a boolean value. In particular in expressions like `(or (symbol? x) (something))`, the optimizations avoid the creation of an intermediate variable to store the result of `(symbol? x)`. - The `syntax` form preserves syntax properties on all template pieces. - The `scribble/html/extra` module provides renderers for HTML elements that are part of the WHATWG HTML standard but not part of the `scribble/html` language by default (e.g., `map`, `time`, `video`). - The DeinProgramm teaching languages support pattern matching using the `match` form. - In the DeinProgramm languages, `define-record-procedures` supports specifying signatures as part of the form, instantly enabling properties quantifying over such records. The following people contributed to this release: Aleksej Saushev, Alex Knauth, Alexander Hedges, Alexander Shopov, Alexis King, Andrew Kent, Asumu Takikawa, Ben Greenman, Celeste Hollenbeck, Craig Allen, Don March, Georges Dup?ron, Gustavo Massaccesi, James Bornholt, Jay McCarthy, Jerry James, John Clements, Juan Francisco Cantero Hurtado, Leandro Facchinetti, Leif Andersen, Matthew Butterick, Matthew Flatt, Matthias Felleisen, Max New, Mike Sperber, Phil Nguyen, Reid D McKenzie, Reuben Thomas, Robby Findler, Ryan Culpepper, Sam Tobin-Hochstadt, Shu-Hung You, Spencer Florence, Stephen Chang, Tim Brown, Tony Garnock-Jones, Vincent St-Amour, WarGrey Gyoudmon Ju, and William G Hatch. Feedback Welcome From stamourv at eecs.northwestern.edu Thu Apr 27 16:48:21 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Thu, 27 Apr 2017 15:48:21 -0500 Subject: [Racket announcement] Racket v6.9 Message-ID: Racket version 6.9 is now available from http://racket-lang.org/ --- Security Announcement: A security vulnerability in the `racket/sandbox` library and Typed Racket allowed malicious Typed Racket code to escape the sandbox. This vulnerability has been fixed in Racket version 6.9. Anyone using `racket/sandbox` to execute untrustworthy code with access to Typed Racket should upgrade to version 6.9 immediately. While this known vulnerability has been eliminated, it is possible that similar errors in other installed collections could also be exploited, although we are not currently aware of any existing vulnerabilities. We recommend that if you use the Racket sandbox to execute untrustworthy Racket code, you should also employ additional operating system or virtual machine level protections. The documentation for `racket/sandbox` has been updated to list recommended security practices for using the library. Thanks to Scott Moore for identifying this vulnerability. --- - The official package catalog Web site is revised to have a new user experience. - The Northwestern snapshot site keeps weekly snapshots going up to 12 weeks into the past. Those provide a middle ground for users who want access to new features earlier than stable releases, but want less churn than nightly builds. - DrRacket provides a refactoring tool to remove unused requires in modules. - DrRacket's #lang-line customization support works better with buggy (i.e., in development) languages. - The web server's cookie libraries, including "id cookie" authentication, support RFC 6265. - The `db` library supports PostgreSQL's UUID type. - The `raco` command lists matching commands when passed an ambiguous command prefix. - The bytecode compiler detects more optimization opportunities for structure operations. - Scribble can produce output via XeLaTeX as an alternative to LaTeX. - Scribble supports the `acmart` LaTeX style, for use with ACM publications. - Scribble supports the use of CJK characters in tags. --- The following people contributed to this release: Alex Knauth, Alexander Shopov, Alexis King, Andrew Kent, Asumu Takikawa, Ben Greenman, Daniel Feltey, David Van Horn, Georges Dup?ron, Greg Hendershott, Gustavo Massaccesi, Ingo Blechschmidt, James Bornholt, James Whang, Jay McCarthy, Jeff Shelley, John Clements, Jordan Johnson, Leandro Facchinetti, Leif Andersen, Marc Burns, Matthew Butterick, Matthew Eric Bassett, Matthew Flatt, Matthias Felleisen, Michael Myers, Mike Sperber, Philip McGrath, Philippe Meunier, Robby Findler, Royall Spence, Ryan Culpepper, Sam Caldwell, Sam Tobin-Hochstadt, Shu-Hung You, Spencer Florence, Stephen Chang, Tony Garnock-Jones, Vincent St-Amour, WarGrey Gyoudmon Ju, Wei Tang, and William G Hatch. Feedback Welcome From stamourv at eecs.northwestern.edu Mon Jul 31 17:00:42 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Mon, 31 Jul 2017 16:00:42 -0500 Subject: [Racket announcement] Racket v6.10 Message-ID: Racket version 6.10 is now available from http://racket-lang.org/ Note: Graphical Racket programs such as DrRacket are affected by a bug in the Windows 10 Creators update which can lead to blue screens and require reboots. We are aware of the issue, and have mitigated it in DrRacket, which reduces the incidence of crashes. Microsoft has diagnosed the issue and will release a fix in a future Windows update. Additional details are available here: https://github.com/racket/racket/issues/1671 * Internally, Racket's intermediate compatibility layer over operating-system facilities has been moved into its own library, "rktio", so it can be used in future Racket implementations. This change should be transparent, but the refactoring moves code that has many compiler and OS dependencies, so we expect a new glitch or two in less-common build and execution environments. Please report problems at https://github.com/racket/racket/issues . * Racket supports cross-compilation of executables in more cases, including executables that depend on packages for foreign libraries. * The `struct` form supports an `#:authentic` annotation to declare that chaperones and impersonators are never allowed on instances of the declared structure type. This annotation is intended for use on a library's internal data structures, where it won't interfere with contracts or other forms of extension at a library's interface. It can sometimes provide a small performance boost. * RackUnit adds `nested-info` and `string-info` to grant custom checks more control over the display and layout of check failure info. * The `raco test` command provides the `++arg` and `++args` flags to pass arguments to tested programs. * Typed Racket has types for immutable, mutable, and weak hashtables; in other words the type `(HashTable K V)` is a union `(U (Immutable-HashTable K V) (Mutable-HashTable K V) (Weak-HashTable K V))`. Standard library functions may have more specific return types. For example, `hash-set` has type `(-> (HashTable K V) K V (Immutable-HashTable K V))`. When an immutable hashtable flows from untyped code to typed code, Typed Racket may use a flat contract to verify its type (provided the table's key and value types are flat). * The Typed Racket Optimizer is disabled in untrusted contexts (e.g., sandboxes). This prevents unsoundness in the Typed Racket type system from being used to get access to unsafe operations. * Racket's internal runtime adds a `scheme_atexit` procedure with identical behavior as `atexit` defined in libc. The following people contributed to this release: Alex Knauth, Alexander McLin, Alexis King, Andrew Kent, Ben Greenman, Ben Noordhuis, Carlo Dapor, Conor Finegan, Daniel Feltey, Ethan Estrada, Georges Dup?ron, Gary F. Baumgartner, Gianluca Ciccarelli, Gustavo Massaccesi, Harold Carr, Jack Firth, Jay McCarthy, John Clements, Kimball Germane, Leandro Facchinetti, Lehi Toskin, Leif Andersen, Matthew Butterick, Matthew Flatt, Matthias Felleisen, Michael Orlitzky, Milo Turner, Mohsen Keyhani, Philip McGrath, Robby Findler, Rob Bassi, Ryan Culpepper, Sam Caldwell, Sam Tobin-Hochstadt, Scott Moore, Spencer Florence, Stephen Chang, Stephen De Gabrielle, Vincent St-Amour, WarGrey Gyoudmon Ju, and William J. Bowman. Feedback Welcome From stamourv at eecs.northwestern.edu Tue Sep 12 17:43:29 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Tue, 12 Sep 2017 16:43:29 -0500 Subject: [Racket announcement] Racket v6.10.1 Message-ID: Racket version 6.10.1 is now available from http://racket-lang.org/ Version 6.10.1 patches the recent v6.10 release in three small ways: * On Linux, corrects a mishandling of file-stream ports that can block on input or output (such as pipes between processes), where closing a blocked port may cause a port that's opened later to be incorrectly reported as blocked. * On Windows, corrects a crash in the handling of symbolic links. * On all platforms, corrects the peer-side results from `tcp-addresses`. Feedback Welcome From stamourv at eecs.northwestern.edu Mon Oct 30 19:03:31 2017 From: stamourv at eecs.northwestern.edu (Vincent St-Amour) Date: Mon, 30 Oct 2017 18:03:31 -0500 Subject: [Racket announcement] Racket v6.11 Message-ID: Racket version 6.11 is now available from http://racket-lang.org/ * Typed Racket supports refinement types and dependent function types. Previously an experimental feature, refinement types allow types to describe more interesting properties of values, especially integers. For example, this type shows that the `max` function always produces a number at least as big as its inputs: `(-> [x : Integer] [y : Integer] (Refine [z : Integer] (and (>= z x) (>= z y))))` * DrRacket's Program Contour is significantly more efficient; using it no longer hurts DrRacket's interactivity. * The `web-server/formlets` library produces formlets that are serializable, facilitating dynamic uses of formlets in stateless #lang web-server servlets. The new `web-server/formlets/stateless` and `web-server/formlets/unsafe` libraries provide additional support with the same API. * The `db` library supports the Cassandra database. The following people contributed to this release: Alex Knauth, Andrew Gwozdziewycz, Andrew Kent, Asumu Takikawa, Ben Greenman, Ben Noordhuis, Carlo Dapor, Daniel Feltey, David Christiansen, David Van Horn, Eric Dobson, Gustavo Massaccesi, Harold Carr, Jack Firth, Jay McCarthy, Jeannie Tran, Jens Axel S?gaard, jgreco, John Clements, Jordan Johnson, Justin Slepak, Leandro Facchinetti, Leif Andersen, Matthew Butterick, Matthew Flatt, Matthias Felleisen, Michael Ballantyne, Milo Turner, Nadeem Abdul Hamid, Philip McGrath, rain, Robby Findler, Royall Spence, Ryan Culpepper, Ryan Davis, Sam Tobin-Hochstadt, Shu-Hung You, Spencer Florence, Stephen Chang, Vincent St-Amour, WarGrey Gyoudmon Ju, and Weng Shiwei. Feedback Welcome