guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: a GUIX_PACKAGE_PATH / modules puzzle


From: Nils Gillmann
Subject: Re: a GUIX_PACKAGE_PATH / modules puzzle
Date: Thu, 3 May 2018 08:30:33 +0000

Chris Marusich transcribed 2.3K bytes:
> Nils Gillmann <address@hidden> writes:
> 
> > Anyways, in which section of the guile Manual would I find "pk"? I've
> > done surprisingly little debugging with Guile itself so far.
> 
> Unfortunately, pk isn't (yet?) documented.  It apparently stands for
> "peek stuff".  It prints and returns the value passed to it.  It's a
> useful little shortcut for printing values.

Okay, thanks.

> Here are some simple
> examples of how to use it:
> 
> --8<---------------cut here---------------start------------->8---
> scheme@(guile-user)> (pk "hello")
> 
> ;;; ("hello")
> $1 = "hello"
> scheme@(guile-user)> (pk (list 1 2 3))
> 
> ;;; ((1 2 3))
> $2 = (1 2 3)
> scheme@(guile-user)> (define (1+ n) (+ 1 (pk n)))
> scheme@(guile-user)> (1+ 2)
> 
> ;;; (2)
> $3 = 3
> scheme@(guile-user)> pk
> $4 = #<procedure peek stuff>
> --8<---------------cut here---------------end--------------->8---
> 
> Note that pk does not print out all values when a procedure returns
> multiple values, but it is still quite handy:
> 
> --8<---------------cut here---------------start------------->8---
> scheme@(guile-user)> (pk (values 1 2))
> 
> ;;; (1)
> $5 = 1
> --8<---------------cut here---------------end--------------->8---
> 
> I hope that helps!

Seems like in the case of using (system) it doesn't do anything, I'll
try guile interaction with Guix tonight.

> By the way, if you feel like taking a trip down the rabbit hole, here is
> the answer to the somewhat unrelated question of "why did pk only print
> the first value?"
> 
> https://lists.gnu.org/archive/html/guile-user/2017-06/msg00043.html
> 
> -- 
> Chris


Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]