Re: Destructuring 'let'

2015-01-02 Thread Alexander Burger
On Thu, Jan 01, 2015 at 10:46:44AM +0100, Alexander Burger wrote:
> You can use '@' as a placeholder to ignore parts of a pattern:
> 
>(let (((A . @) @ @ D) '((1 2 3) (4 5 6) 7 8 9))
>   (trail T) )
>-> (A 1 D 8)
> 
> '@' is not bound to the matching values and thus saves stack space.

Please note that I changed '@' to 'NIL' for "don't care" positions.

The above example should now be written as

   (let (((A . NIL) NIL NIL D) '((1 2 3) (4 5 6) 7 8 9))
  (trail T) )
   -> (A 1 D 8)

or, in the equivalent form,

   (let (((A) NIL NIL D) '((1 2 3) (4 5 6) 7 8 9))
  (trail T) )
   -> (A 1 D 8)

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Bug building on Hurd (trivial fix?)

2015-01-02 Thread Rowan Thorpe
A long while ago I bookmarked this build failure of picolisp on Debian
hurd-i386:

 https://buildd.debian.org/status/package.php?p=picolisp
 
and it looks like an OS-independent issue, and seems to be trivially fixable,
according to:

 https://www.gnu.org/software/hurd/hurd/porting/guidelines.html 
 - under "Undefined bits/confname.h macros (PIPE_BUF, ...)"

(albeit requiring context-dependent ifdefs). Since I saw the issue I haven't
had time to setup a Hurd build environment to actually write and test a
patch. Rather than putting it off for another year, or writing a "best guess"
patch and opening it as a bug-with-patch on the Debian BTS, I figured it is
simpler and faster to post about it here - so if anyone else finds the time,
and if the fix really is that simple, it can help all users more quickly.

-- 
Rowan Thorpe
PGP fingerprint:
 BB0A 0787 C0EE BDD8 7F97  3D30 49F2 13A5 265D CCBD

"There is a great difference between worry and concern. A worried person sees
a problem, and a concerned person solves a problem."
 - Harold Stephens
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe