Author Archives: lparallel

lparallel-2.1.0 released

added readers kernel-name and kernel-context added restart kill-errors to workers — removes debugger popups attempting to submit a task to an ended kernel now signals an error suicidal calls to kill-tasks inside workers are now permitted

Posted in Uncategorized | Leave a comment

Concurrent Hello World

Below is another example of Concurrent Hello World. The macros receive and run are just 9 lines each, given below the fold. (defpackage :example (:use :cl :node)) (in-package :example) (defun hello (hello-queue world-queue) (receive hello-queue (:say-hello (n) (cond ((plusp n) … Continue reading

Posted in Uncategorized | 4 Comments

lparallel-2.0.0 released

The major version bump is for some incompatible changes, though they are unlikely to cause trouble. keyword arguments to psort besides :key have been replaced with a single :granularity argument; the old arguments are now ignored removed deprecated aliases from … Continue reading

Posted in Uncategorized | Leave a comment

Status update

The latest CLISP and ECL appear close to passing all tests, and may indeed pass on some platforms. I am not aware of any outstanding CL implementation bugs affecting lparallel besides those reported in CLISP and ECL. I am also … Continue reading

Posted in Uncategorized | Leave a comment

lparallel-1.7.0 released

added pdotimes optimized cognate functions and macros when they are called inside worker threads; e.g. pmap in (future (pmap …)) no longer blocks a worker

Posted in Uncategorized | Leave a comment

lparallel-1.6.0 released

added clear-ptree-errors — for resuming after an error added clear-ptree — for recomputing from scratch improved task handling for ptrees :lparallel now in *features* after load defpun no longer transforms pfuncall forms

Posted in Uncategorized | Leave a comment

Auto-kill

When an evaluation fails or is interrupted, it may be convenient to automatically kill tasks created during the evaluation. One use for this might be for debugging a set of long-running tasks. Here is a solution using alexandria’s unwind-protect-case. (defpackage … Continue reading

Posted in Uncategorized | Leave a comment