From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: leaky pipelines and Guix Date: Mon, 07 Mar 2016 10:56:33 +0100 Message-ID: <87ziuavcfi.fsf@gnu.org> References: <87egci10tz.fsf@gnu.org> <87vb51hlf3.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35752) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acru5-0008SH-4w for help-guix@gnu.org; Mon, 07 Mar 2016 04:56:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1acru1-0000fG-G4 for help-guix@gnu.org; Mon, 07 Mar 2016 04:56:40 -0500 In-Reply-To: <87vb51hlf3.fsf@gmail.com> (myglc2@gmail.com's message of "Fri, 04 Mar 2016 18:29:20 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org To: myglc2 Cc: help-guix@gnu.org myglc2 skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: [...] >> Perhaps as a first step you could try and write a procedure and a CLI >> around it that simply runs a given pipeline: >> >> $ guix biopipeline foo frog.dna human.dna >> =E2=80=A6 >> /gnu/store/=E2=80=A6-freak.dna >> >> The procedure itself would be along the lines of: >> >> (define (foo-pipeline input1 input2) >> (gexp->derivation "result" >> #~(begin >> (setenv "PATH" "/foo/bar") >> (invoke-make-and-co #$input1 #$input2 >> #$output)))) > > Sidebar: > > - What is "biopipeline" above? A new guix command? Right. Basically I was suggesting implementing the pipeline as a Scheme procedure (=E2=80=98foo-pipeline=E2=80=99 above), and adding a command-line= interface on top of it (=E2=80=98guix biopipeline=E2=80=99.) This means that all inputs and outputs would go through the store, so you would get caching and all that for free. But I now understand that I was slightly off-topic. ;-) Ludo=E2=80=99.