Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

poke @ Savannah: GNU poke 5.0 released

Дата публикации: 17-08-2026 08:51:27

I am happy to announce a new major release of GNU poke, version 5.0.
GNU poke 5.0 release is now available at
https://ftp.gnu.o ... e/poke-5.0.tar.gz
The tarball is signed and you can get the PGP signature at
https://ftp.gnu.o ... ke-5.0.tar.gz.sig
  GNU poke (http://www.j ... rch.net/poke) is an interactive, extensible
  editor for binary data.  Not limited to editing basic entities such
  as bits and bytes, it provides a full-fledged procedural,
  interactive programming language designed to describe data
  structures and to operate on them.
I'd like to thank everyone who contributed to this release through code,
documentation, or testing.
What is new in this release:
User interface updates
Now hyperlink server can bind to a user-specified port for listening to
commands (-p, --hserver-port).
Poke Language updates
Floating-point arithmetic is now supported on uint<32>/uint<64> types.
  uint<32> will be interpreted as a single-precision floating-point number
  and uint<64> will be interpreted as a double-precision floating-point
  number as defined per the IEEE 754 standard.
  The following expressions are now supported:
    - Addition:       a .+  b
    - Subtraction:    a .-  b
    - Multiplication: a .*  b
    - Division:       a ./  b
    - Ceil-devision:  a ./^ b
    - Exponentiation: a .** b
    - Remainder:      a .%  b
    - Post-increment: a.++
    - Pre-increment:  .++a
    - Post-decrement: a.--
    - Pre-decrement:  .--a
    - Negation:      .-a
    - Less-than:                a .<  b
    - Less-than-or-equal-to:    a .<= b
    - Greater-than:             a .>  b
    - Greater-than-or-equal-to: a .>= b
    - Equal-to:                 a .== b
    - Not-equal-to:             a .!= b
Poke Runtime updates
Thanks to the great work of David Faust, poke now supports reactive IO
  spaces!  Extent of a PVM value mapped in a given IO space will be tracked
  and values will be re-mapped only if a write happens in their extent; which
  is a big performance win for read-intense programs.
A bunch of undefined behavior (UB) releated to left-shifts has been fixed.
Improved human-readable message of E_conv exception when verifying
  length/size of an array with dynamic bound(s) to help the user to
  understand the mistake.
Poke compiler updates
Now poke can properly handle writes to nested integral struct/unions
  fields.  Previously write to nested fields of integral structs did not
  materialize in IO space.
Standard Poke Library updates
Closure's pretty printer now adds closure's name (identifier) to output.
Two new functions to calculate square root of single and double precision
  floating point numbers: sqrtf and sqrtd.
  They accept uint<32> and uint<64> respectively as the IEEE 754 single and
  double precision floating-point numbers.
libpoke updates
Version of DSO is bumped to 2.0.0, and from this release onward, we try
  to not break the ABI, and bump the version components according to the
  libtool's recommendation (when needed).
To be able to keep the ABI backward-compatibility promise, all public APIs
  are now accepting either pk_compiler or pk_val.  This is the first step
  toward removing global state from libpoke to be able to have multiple
  instances of libpoke in a single process (and also to be able to accomplish
  thread-safety). We're not there yet, but we'll be there some day (hopefully
  soon)!
IO subsystem updates
IOS_F_TRUNCATE has been re-introduced (it was removed after release of
  poke 1.0 by the rationale that it's not that useful of a flag.  Turns
  out it's quite useful to start from an empty file when assembling binary
  files from scratch using poke.
Pickles updates
Improved ustar pickle and add tests.  Method get_last_mod_time has been
  fixed and the following methods has been added:
  get_{file,owner_user,group}_name.
Improved time pickle to print date and time properly (zero-padded), and
  also add ptime_str function to get date/time information as a string.
Platform supports
We tried to improve MinGW compilation situation by importing more Gnulib
  modules, but we still cannot have poke executable for MinGW platform.
  Help is very much appreciated in this area!
Documentation updates
Thanks to people who actually read the reference manual, this release
  includes a bunch of corrections to the documentation! Cheers to them!
Happy poking!
Mohammad-Reza Nabipoor

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1poke @ Savannah: GNU poke 4.90 pre-release is available08.0310-08-2026
2libc @ Savannah: The GNU C Library version 2.44 is now available03.4427-07-2026
3cssc @ Savannah: CSSC-1.5.0 released06.305-07-2026
4sed @ Savannah: sed-4.10 released [stable]09.0222-04-2026
5libtool @ Savannah: libtool-2.6.2 released [stable]03.9616-07-2026
6Amin Bandali: Free software activities in May 2026011.901-06-2026
7findutils @ Savannah: GNU findutils 4.11.0 released05.4711-07-2026
8cssc @ Savannah: CSSC-1.5.0-rc3 is released08.7817-06-2026
9GNU Hurd development blog: 2026-q209.1803-07-2026
10libtool @ Savannah: libtool-2.6.1 released [beta]07.0504-06-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 7.27. Источник: planet.gnu.org.