Language Selection

English French German Italian Portuguese Spanish

GNU Guile 2.9.9 Released [beta]

Filed under
GNU

We are pleased to announce GNU Guile release 2.9.9.  This is the ninfth
and probably final pre-release of what will eventually become the 3.0
release series.

Compared to the current stable series (2.2.x), the future Guile 3.0 adds
support for just-in-time native code generation, speeding up all Guile
programs.  See the NEWS extract at the end of the mail for full details.

Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a number
of bugs.

The current plan is to make a 3.0.0 final release on 17 January 2020.
If there's nothing wrong with this prerelease, 3.0.0 will be essentially
identical to 2.9.9.  With that in mind, please test and make sure the
release works on your platform!  Please send any build reports (success
or failure) to address@hidden, along with platform details.  You
can file a bug by sending mail to address@hidden.

The Guile web page is located at http://gnu.org/software/guile/, and
among other things, it contains a copy of the Guile manual and pointers
to more resources.

Guile is an implementation of the Scheme programming language, packaged
for use in a wide variety of environments.  In addition to implementing
the R5RS, R6RS, and R7RS Scheme standards, Guile includes a module
system, full access to POSIX system calls, networking support, multiple
threads, dynamic linking, a foreign function call interface, powerful
string processing, and HTTP client and server implementations.

Guile can run interactively, as a script interpreter, and as a Scheme
compiler to VM bytecode.  It is also packaged as a library so that
applications can easily incorporate a complete Scheme interpreter/VM.
An application can use Guile as an extension language, a clean and
powerful configuration language, or as multi-purpose "glue" to connect
primitives provided by the application.  It is easy to call Scheme code
>From C code and vice versa.  Applications can add new functions, data
types, control structures, and even syntax to Guile, to create a
domain-specific language tailored to the task at hand.

Read more

Also: GNU Guile 2.9.9 (beta) released

More in Tux Machines

AMD: Ryzen, AMDGPU and More

  • ASUS TUF Laptops With Ryzen Are Now Patched To Stop Overheating On Linux

    The AMD Ryzen Linux laptop experience continues improving albeit quite tardy on some elements of the support. In addition to the AMD Sensor Fusion Hub driver finally being released and current/voltage reporting for Zen CPUs on Linux, another step forward in Ryzen mobile support is a fix for ASUS TUF laptops with these processors.

  • AMD Sends In A Bunch Of Fixes For Linux 5.6 Along With Pollock Support

    After already several rounds of feature work queued in DRM-Next for Linux 5.6, AMD has submitted a final batch of feature work for this next kernel as it concerns their AMDGPU graphics driver. While Linux 5.6's merge window isn't opening until around the start of February, with RC6 having come, it effectively marks an end to the feature window of DRM-Next for targeting the next kernel. AMD's final pull request is mostly centered on fixes plus a few other extras and also enabling AMD Pollock display/graphics support for that forthcoming hardware.

  • The AMD Ryzen Thermal / Power Linux Reporting Improvements Working Well - V2 Up For Testing

    A few days ago I reported on AMD's "k10temp" Linux kernel driver finally seeing the ability to report CCD temperatures and CPU current/voltage readings as a big improvement to this hardware monitoring driver. The work hasn't yet been queued for inclusion into the mainline kernel, but initial testing is working well and a second revision to the patches has been sent out. Linux HWMON maintainer Guenter Roeck who spearheaded this work independent of AMD sent out the "v2" k10temp driver improvements on Saturday. This allows core complex tie temperature reporting for Zen 2 CPUs and allows current and voltage reporting for Ryzen CPUs. While this information has long been available to Windows users, sadly it's not been the case for Linux at least as far as mainline drivers go -- the out-of-tree Zenpower driver and other third-party attempts have been available but nothing mainline.

Intel's OSPray 2.0 Ray-Tracing Engine Released

An area where Intel continues striking with rhythm and near perfection is on the open-source software front with their countless speedy and useful open-source innovations that often go unmatched as well as timely hardware support. Out this weekend is their OSPray 2.0 release for this damn impressive ray-tracing engine. OSPray 2.0 is out as their latest big upgrade to this open-source ray-tracing engine that supports photo-realistic global illumination, MPI for exploiting large system performance, volume rendering, and is all open-source software. OSPray 2.0 is another big advancement for this project that is part of Intel's growing oneAPI tool-kit. Read more

Mozilla Leftovers

  • webcompat.com: Project belt-on.

    So last week, on Friday (Japanese time), I woke up with a website being half disabled and then completely disabled. We had been banned by GitHub because of illegal content we failed to flag early enough. And GitHub did what they should do. Oh… and last but not least… mike asked me what Belt-on meant. I guess so let's make it more explicit.

  • Units of Measure in Rust with Refinement Types

    Years ago, Andrew Kennedy published a foundational paper about a type checker for units of measure, and later implemented it for F#. To this day, F# is the only mainstream programming language which provides first class support to make sure that you will not accidentally confuse meters and feet, euros and dollars, but that you can still convert between watts·hours and joules.

  • This post focuses on the work I accomplished as part of the Treeherder team during the last half of last year.

    The Taskcluster team requested that we stop ingesting tasks from the taskcluster-treeherder service and instead use the official Taskcluster Pulse exchanges (see work in bug 1395254). This required rewriting their code from Javascript to Python and integrate it into the Treeherder project. This needed to be accomplished by July since the Taskcluster migration would leave the service in an old set up without much support. Integrating this service into Treeherder gives us more control over all Pulse messages getting into our ingestion pipeline without an intermediary service. The project was accomplished ahead of the timeline. The impact is that the Taskcluster team had one less system to worry about ahead of their GCP migration.

Python Programming Leftovers

  • The tiniest of Python templating engines

    In someone else's project (which they'll doubtless tell you about themselves when it?s done) I needed a tiny Python templating engine. That is: I wanted to be able to say, here is a template string, please substitute a bunch of variables into it. Now, Python already does this, in about thirty different ways, and str.format or string.Template do most of it as built-in.

  • How to set a variable in Django template
  • Why ASGI is Replacing WSGI in Django

    When I first learnt about how to deploy my Django website. I took the easy route which was deploying it on Heroku. There's literally tons of tutorial on how the process of deploying it work. Heck, there was even a book about the benefits of deploying Django using Heroku. Soon in my own work, I needed to deploy my own Django project. It was working well for a bundled development grade web server. I thought to myself, why not find a better way on a production-grade web server. Instead of just a miserable default web server that is not production-grade. My journey in searching on deploying Django started for me. Which if you look at multiple tutorial references they still suggest the use of Heroku or Digital Ocean.

  • Weekly Python StackOverflow Report: (ccxi) stackoverflow python report
  • Understand predicate pushdown on row group level in Parquet with pyarrow and python

    We are using the NY Taxi Dataset throughout this blog post because it is a real world dataset, has a reasonable size and some nice properties like different datatypes and includes some messy data (like all real world data engineering problems).