- Update to 9.0.
* Racket supports parallel threads. For more information see the new
blog post on the topic.
* Parallel threads can be created using the #:pool argument to
thread creation.
* Threads created with #:keep set to 'results will record their
results for later retrieval with thread-wait.
* The black-box wrapper prevents the optimizing compiler from
optimizing away certain computations entirely. This can be helpful
in ensuring that benchmarks are accurate.
* The decompile-linklet function can map linklets back to
s-expressions.
* When using BC Racket, the processor-count function is changed to
always return the parallel count.
* We now distribute "natipkg" packages for AArch64, useful for
package-build and package-testing infrastructure.
* Check Syntax tracks identifiers more deeply nested in the "origin"
field of syntax objects.
* The math library includes Weibull distributions.
* There are many other repairs and documentation improvements!
OBS-URL: https://build.opensuse.org/request/show/1321446
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/racket?expand=0&rev=38
* Racket supports parallel threads. For more information see the new
blog post on the topic.
* Parallel threads can be created using the #:pool argument to
thread creation.
* Threads created with #:keep set to 'results will record their
results for later retrieval with thread-wait.
* The black-box wrapper prevents the optimizing compiler from
optimizing away certain computations entirely. This can be helpful
in ensuring that benchmarks are accurate.
* The decompile-linklet function can map linklets back to
s-expressions.
* When using BC Racket, the processor-count function is changed to
always return the parallel count.
* We now distribute "natipkg" packages for AArch64, useful for
package-build and package-testing infrastructure.
* Check Syntax tracks identifiers more deeply nested in the "origin"
field of syntax objects.
* The math library includes Weibull distributions.
* There are many other repairs and documentation improvements!
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=101
* racket-fortify.patch
- Update to 8.18.
* The racket-lang.org website no longer distributes Racket BC
bundles, but it includes pre-built bundles for two flavors of ARM
linux, AArch64 and 32-bit ARMv6 VFP.
* XML structures are serializable.
* Scribble's HTML generation conforms better to modern standards.
* Racket uses Unicode 16.0 for character and string operations.
* The redex-check default generation strategy always uses random
generation to supplement the enumerator.
* DrRacket supports the use of shift-tab to go backward to previous
indentation positions.
* The macro stepper supports the string-constants library, allowing
internationalization of the stepper itself.
* The struct form supports #:properties prop-list-expr, making it
more convenient to attach multiple property values to a structure
type.
* Build-system improvements support containers registered at Docker
Hub to build for all platforms that have downloads from the main
Racket download site; improvements also support Unix-style builds
for Mac OS in the style of MacPorts.
* The expt function produces a more accurate result when its first
argument is a flonum and its second argument is an exact integer
that has no equivalent flonum representation than it did in prior
versions.
* TCP ports use SO_KEEPALIVE correctly.
* Unsafe code can use “uninterruptible mode” instead of “atomic
mode” to allow futures to run concurrently while preventing
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=98
* racket-doc.patch
- Update to 8.16. Changes down below:
* Racket has expanded support for immutable and mutable treelists:
- A variety of new treelist utility functions are available:
treelist-filter, treelist-flatten, et cetera.
- The mutable-treelist-prepend! function allows prepending to
mutable treelists.
- Mutable treelists are serializable.
* The serialize-structs module allows the minimization of
dependencies by providing only a handful of core forms.
* The flbit-field function allows access to the binary
representation of IEEE floating-point numbers.
* The top-left search box in the documentation works once more.
* The XML reader is 2-3x faster on inputs with long CDATA and
* comments, and avoids some internal contract checks to obtain a 25%
* speedup on large documents generally.
* The pregexp syntax includes "\X" to match a grapheme cluster),
* following Perl and PCRE.
* The read-json* and write-json* functions allow customization of
the Racket representation of JSON elements, eliminating the need for
a separate "translation" pass.
* Racket has new port I/O functions:
- The open-input-nowhere function creates an empty input port.
- The pipe-port? function makes it possible to determine whether a
port is created by make-pipe.
- The port-file-stat function allows gathering information about the
file that is the source or target of a file-stream port.
* A revised representation of pointers improves the performance of
foreign function calls. As a result, ptr-ref and ptr-set! are
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=93
* Documentation search results are ordered, with visual cues
indicating what their source is (core, main-distribution, etc.).
* DrRacket offers to restore previously open files when starting,
which can be made the default.
* In DrRacket, Picts can be saved by right-clicking.
raco pkg introduces the uninstall command as the opposite of
install. The remove name for this functionality is retained for
compatibility.
* raco pkg improves the handling of --clone and --unclone.
* iOS is a compilation target, distinct from macOS.
* Racket supports falling back to IPv4 during hostname resolution when IPv6 fails.
* Memory allocated using the ffi/unsafe library can be initially zeroed,
using the 'zeroed-atomic and 'zeroed-atomic-interior flags.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=91
* The compiler/demod language integrates demodularization into the
program rather than an external tool. Using the language approach
cooperates with other Racket tools and allows demodularization to be
used on libraries. Additionally, demodularization handles submodules
and can prune definitions, significantly shrinking the size of some
programs.
* The contract-in form enables contracts to be specified in an
importing module.
* The #%declare form supports the #:flatten-requires and
#:unlimited-compile keywords
* Identifiers such as case-λ, match-λ and λ are equivalent to
their Latin-alphabet equivalents (case-lambda, match-lambda, and
lambda) in more contexts, including uses of match.
* The hash-filter function allows the use of a predicate to select a
sub-table of a hash table.
* The module browser can perform filtering on submodules.
* The raco test command-line form respects the
current-test-invocation-directory parameter, and shows well-formed
module paths in its output.
* Racket CS allows the use of in-memory boot files.
* The raco/testing collection brings together a variety of testing-
related functions and forms.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=89
- add mzdyn3m.o which gets built on s390x (possibly replacing mzdyn3m.lo)
This time I even have a successful build :-) (see openSUSE_Factory_zSystems)
As a side note: there is a very long time in the build without any output:
[ 13s] cc -O2 -DZUO_LIB_PATH='"'".././zuo/lib"'"' -o bin/zuo ./zuo/zuo.c
[ 9616s] bin/zuo . all MAKE="/usr/bin/make"
Depending on the load on the mainframe, this time can even be longer, and causes the build to abort because there's no output for a very long time.
From the openSUSE_Factory / s390x build log (which seems to have a shorter timeout of "only" 90 minutes):
[ 12s] cc -O2 -DZUO_LIB_PATH='"'".././zuo/lib"'"' -o bin/zuo ./zuo/zuo.c
[ 5417s] qemu-system-s390x: terminating on signal 15 from pid 99276 (<unknown process>)
If there is a way to make that cc call faster and/or more verbose, please do it ;-)
OBS-URL: https://build.opensuse.org/request/show/1169536
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=86
- Update to 8.13.
- Changes from 8.13:
* The racket/treelist and racket/mutable-treelist libraries provide
list-like containers that support many operations in effectively
constant time, including appending and extracting sub-lists without
mutating the given list. Treelists are implemented as RRB Vectors,
invented by Stucki, Riompf, Ureche, and Bagwell.
* The hash-filter-keys and hash-filter-values functions allow users
to filter hashes using a predicate on either keys or values.
* The vector-extend and vector*-extend functions provide a way to
pre-populate the prefix of a newly allocated vector using the
elements of an existing vector.
* Command-line raco setup, package update, and package installation
use terminal control (when available) to show what they are working
on more compactly and with a progress bar.
* Racket v8.13 uses Unicode 15.1 for character and string
operations.
* Machine-specific cross-module optimization allows improved support for
static generation of foreign-function bindings.
* The scribble/acmart language uses v2.01, which avoids errors
concerning the hyperref package in some latex installations.
- Changes from 8.12:
* The "Die Macht der Abstraktion" language levels are no longer
present, replaced by the "Schreibe dein Programm" language levels
OBS-URL: https://build.opensuse.org/request/show/1176761
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=84