From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] Guile-SSH 0.8.0 released Date: Tue, 01 Sep 2015 14:08:17 +0200 Message-ID: <87io7uqr4e.fsf@gnu.org> References: <87fv40f00k.fsf@elephant.savannah> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1441109334 14957 80.91.229.3 (1 Sep 2015 12:08:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 1 Sep 2015 12:08:54 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Sep 01 14:08:45 2015 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZWkMn-0006ac-4q for guile-user@m.gmane.org; Tue, 01 Sep 2015 14:08:45 +0200 Original-Received: from localhost ([::1]:53568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWkMn-0004SY-IY for guile-user@m.gmane.org; Tue, 01 Sep 2015 08:08:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWkMd-0004SO-W2 for guile-user@gnu.org; Tue, 01 Sep 2015 08:08:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZWkMZ-0007L8-Rv for guile-user@gnu.org; Tue, 01 Sep 2015 08:08:35 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:53988) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWkMZ-0007KR-Kk for guile-user@gnu.org; Tue, 01 Sep 2015 08:08:31 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZWkMV-0006Sd-A6 for guile-user@gnu.org; Tue, 01 Sep 2015 14:08:27 +0200 Original-Received: from pluto.bordeaux.inria.fr ([193.50.110.57]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 01 Sep 2015 14:08:27 +0200 Original-Received: from ludo by pluto.bordeaux.inria.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 01 Sep 2015 14:08:27 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 52 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: pluto.bordeaux.inria.fr X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 15 Fructidor an 223 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x3D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cancel-Lock: sha1:a3O6TADqCWIpTN79LjUyTG0ktzM= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11974 Archived-At: Hi! Artyom Poptsov skribis: > * Changes in version 0.8.0 (2015-08-04) > ** Implement port forwarding > ** Add distributed forms > ** Require libssh 0.6.4 or 0.6.5 > ** New module: (ssh tunnel) > The module provides hi-level procedures for SSH tunneling. > ** New module: (ssh dist) > The module provides distributed forms of 'map' and 'eval', as well as > remote REPL (RREPL) implementation. > ** New module: (ssh dist job) > Low-level API for distributed jobs. > ** New module: (ssh dist node) Maybe this went unnoticed, but these are really awesome features! A couple of comments on ‘with-ssh’. I think the manual should explicitly remind people that the REPL server must already be running on the remote machine. I wonder if it would make sense to offer an alternate option where the calling machine invokes ‘guile’ on the remote side and talks to it on stdin; this could simplify some use cases. WDYT? I tried something along the lines of the example that’s in the manual: (let ((session (make-session #:user "ludo" #:host "xxx"))) (connect! session) (userauth-agent! session) (with-ssh (make-node session) (use-modules (ice-9 q)) (list 1 2 3))) This returns the 4 values, including '(1 2 3) as expected. However, this: (let ((session (make-session #:user "ludo" #:host "xxx"))) (connect! session) (userauth-agent! session) (with-ssh (make-node session) (use-modules (ice-9 ftw)) (scandir "/"))) returns only two values, the language and the module. Am I missing something? Thanks, Ludo’.