./lang/racket, Scheme-based dialect of Lisp

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 9.3, Package name: racket-9.3, Maintainer: pkgsrc-users

Racket (formerly PLT Scheme) is a specific dialect of the Lisp
language based on the Scheme branch of the Lisp family.

It is suitable for implementation tasks ranging from scripting
to application development, including GUIs, web services, etc.
It includes programming environment, a virtual machine with
a just-in-time compiler, tools for creating stand-alone
executables, web server, extensive libraries, documentation
for both beginners and experts, and more. It supports the
creation of new programming languages through a rich, expressive
syntax system.


Required to run:
[sysutils/desktop-file-utils] [graphics/png] [graphics/cairo] [graphics/jpeg] [devel/pango]

Required to build:
[pkgtools/x11-links] [x11/xcb-proto] [pkgtools/cwrappers] [x11/xorgproto]

Master sites: (Expand)

Filesize: 33973.037 KB

Version history: (Expand)


CVS history: (Expand)


   2026-08-17 15:27:14 by Kevin Bloom | Files touched by this commit (3) | Package updated
Log message:
racket: update to 9.3

- The raco setup command can generate markdown documentation, using
  the --doc-markdown option.
- The "#lang" teaching languages (BSL, …, ISL+; plus DeinProgram)
  have reached parity with the ones chosen using the Language dialog,
  and are the recommended choice.
- DrRacket’s background expansion disables errortrace annotations,
  for faster syntax checking.
- The raco pkg install command includes new options that provide more
  install-time configuration flexibility: --adjacent-deps, --destdir,
  and --attach, and a refined --skip-installed.
- The ffi/unsafe/runtime-lib library provides a define-runtime-lib
  mechanism similar to define-runtime-path, allowing location of
  libraries located relative to a source file.
- The prompt-tag/c contract generator no longer performs checking on
  call/cc when the #:call/cc option is not present.
- The impersonate-prompt-tag function takes an additional argument
  that allows checking and update of results for composable
  continuations.
- The error-syntax->srcloc-handler parameter provides control over
  the mapping from syntactic forms to source locations for error
  handling.
- Uses of (tcp-listen 0) will retry when it fails with “address in
  use”.
- The racket/base module requires fewer internal modules and
  instantiations.
- The file/zip package provides a new mechanism for greatly increased
  control over zip file generation, allowing in-memory file sources
  and per-file compression control.
   2026-06-11 09:18:01 by Thomas Klausner | Files touched by this commit (788)
Log message:
gtk3: bump PKGREVISION for wayland option default change

Recursive bump to hopefully fix bulk build fallout due to the
unversioned change.
   2026-06-01 03:09:26 by Kevin Bloom | Files touched by this commit (3) | Package updated
Log message:
racket: update to 9.2

- The match form checks that when non-linear patterns (patterns
  where the same variable is used multiple times) are used with ...,
  the two parts of the matched value actually are equal. Additionally,
  match rejects non-linear patterns where one use of the variable is
  used with ... and another is not. This repair could cause existing
  code to fail.

- Typed Racket types for the asin and acos procedures correctly
  handle situations where the function produces a complex number,
  avoiding unsound results that were previously possible. This repair
  could cause existing code to fail at compile time.

- The #%foreign-inline core syntactic form provides unsafe access
  to facilities provided at the linklet layer by a Racket
  implementation. This means that any code that handles all core
  forms by enumeration will need to be updated.

- Unicode 17.0 is used for character and string operations.

- This release includes internal support for a more static
  foreign interface (to be used in a future package).

- The terminal-file-position function counts bytes written to ports
  connected to a terminal, such as stdin and stderr.

- Cross-phase persistent modules allow more types of quoted data.

- The implementations of member, memw, when, unless, let/ec, and
  cond are rewritten to use only racket/kernel syntax

- The impersonator-property-predicate-procedure? function identifies
  procedures created by make-impersonator-property.

- In Typed Racket, polymorphic struct types are printed using type
  arguments (e.g., (Array Byte)) rather than exposing an internal
  representation.

- The stepper-display of numbers better matches the language
  settings.

- Scribble documents that do not use the Racket-manual style get
  an initial-scale of 1.0, instead of the manual style-0.8, but
  this can be configured using the initial-scale property.

- By default, margin notes appear inline for narrow displays in
  all styles, not just in the Racket-manual style.

- Big-bang programs distributed as .dmg files correctly handle the
  close-on-stop feature.

- There are many other repairs and documentation improvements!
   2026-02-27 04:23:10 by Kevin Bloom | Files touched by this commit (3) | Package updated
Log message:
racket: update to 9.1

- Documentation organization and navigation can be specialized by
  language family, to allow users to interact with documentation in a
  way that is tailored to that language family. This is currently used
  by Rhombus.
- The `for` form and its variants accept an `#:on-length-mismatch`
  specifier. 3.18 Iterations and Comprehensions: for, for/list, ...
- DrRacket improves the GUI for choosing color schemes.
- DrRacket has curved syntax arrows. The degree of curvature indicates
  the relative left- or right-displacement of the arrow's target.
- DrRacket's "Insert Large Letters" uses characters that match the
  comment syntax of the buffer's language, making it useful (and fun!)
  in Rhombus.
- The `exn-classify-errno` maps network and filesystem error numbers
  on various platforms to posix-standard symbols, to enable more
  portable code. 10.2 Exceptions
- The behavior of Racket BC on certain character operations (most
  notably `eq?`)  is changed to match that of Racket CS, with a small
  performance penalty for these operations for BC programs. 19
  Performance 1.5 Implementations
- The `make-struct-type` procedure can inherit the current inspector
  using a `'current` flag. This is the default behavior, but there are
  situations in which it's not possible to refer to the current
  inspector. 5.2 Creating Structure Types
- Bundle configurations can better control the conventions for
  locating shared object files with the `--enable-sofind=3D<conv>`
  flags.
- The `system-type` function can report on platform and
  shared-object-library conventions with new flags. 15.8 Environment
  and Runtime Information
- The `openssl/legacy` library makes it possible to access OpenSSL's
  built-in "legacy" provider, to get access to insecure and outdated
  algorithms. OpenSSL: Secure Communication
- Typed Racket improves expected type propagation for keyword argument
  functions.
- There are many other repairs and documentation improvements!
   2026-01-27 09:41:10 by Thomas Klausner | Files touched by this commit (1344)
Log message:
*: recursive bump for removal of cairo's xcb option
   2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525)
Log message:
*: recursive bump for icu 78.1
   2025-12-29 02:55:27 by Kevin Bloom | Files touched by this commit (6) | Package updated
Log message:
racket: update to 9.0

- Supports parallel threads
  - 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
   2025-10-23 22:40:24 by Thomas Klausner | Files touched by this commit (2999)
Log message:
*: recursive bump for pcre2

Running an old binary against the new pcre doesn't work:
/usr/pkg/lib/libpcre2-8.so.0: version PCRE2_10.47 required by \ 
/usr/pkg/lib/libglib-2.0.so.0 not defined