From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61538 invoked by alias); 18 May 2017 22:58:52 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 61523 invoked by uid 89); 18 May 2017 22:58:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Feedback, Hx-languages-length:1351, scanned X-HELO: mail-io0-f174.google.com Received: from mail-io0-f174.google.com (HELO mail-io0-f174.google.com) (209.85.223.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 18 May 2017 22:58:50 +0000 Received: by mail-io0-f174.google.com with SMTP id k91so38043205ioi.1 for ; Thu, 18 May 2017 15:58:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ppeeLGMjx+9+lLzKAatsX+52lcERlT040shKTYtAy/4=; b=Vjq487PUn7L13q4GxJaVU5pphpJPdzYXlo+Lebq36zSVFMCuqPv8SJb3NpgthavD5Q GQlLJUeNKDAXWPVn6OH/SAr3NA9sD1e0M00bgqjmjfEkB2SLVtB7S573oIQ/LZh0zU7b ElhCaFZqXFLfjByo6OA60PyT4AWnQ0LAfWfWHM1pQFKIxcyD7DlzakDNQHp0ATFwtjMY nqWPveE4GRoQfLN0NJPPP9euHOgFjxGrAIV6sA/ZroKRQRx+98OWYjoZy6dT8wxclF3c O/ttBc5xLxR+o22H79Q8YImf8vJiKQ34M2gQsr+O+vpUCRh0e8Ewdw9ZwMaPU7GXSXtt N/0A== X-Gm-Message-State: AODbwcCOL6K8GvNrWY0GopIFUUO/8qSJAtgkSBzQAIxaViJ0CWHbuhTr nrac0UFITxY/NNpOMOx/lBIb5WZXyg== X-Received: by 10.107.205.71 with SMTP id d68mr6918663iog.155.1495148331802; Thu, 18 May 2017 15:58:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.17.193 with HTTP; Thu, 18 May 2017 15:58:51 -0700 (PDT) In-Reply-To: References: From: Andrea Bernardini Date: Thu, 18 May 2017 22:58:00 -0000 Message-ID: Subject: Re: list comprehension patterns To: Per Bothner Cc: Kawa mailing list Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2017-q2/txt/msg00070.txt.bz2 Quite interesting article, I found some minor typos/issues * Where you say Kawa-specific "|" do you mean Kawa-specific "!" ? * There is a repetition in this sentence "A "scan context" is is an expression" * "and then result sequence is "spliced" into its context." You meant "and the result"? * Another repetition and the sentence is not completely clear "When in the scope of two more more distinct scan variables then are scanned "in parallel"" * I think what you call outer join should be called Cartesian product or cross join Regarding the hypothetical filtering syntax (! [a ...] A #!if (P a)) what about using one of 'when', the first is inspired by the single branch if in Racket (where the 'if' keyword is replaced by when). (! [a ...] A when (P a)) Also 'where' or 'on' could be possibilities. The ellipsis syntax is nice, however when more scan patterns are nested together can be confusing, have you considered using two dots instead of three #|kawa:31|# (define (fun2 [[x ..] ..] [y ..]) #|.....32|# [[(+ x y) ..] ..]) just thoughts Cheers, Andrea On 17 May 2017 at 18:00, Per Bothner wrote: > I posted a new blog article: > http://per.bothner.com/blog/2017/list-comprehension-patterns/ > > Feedback welcome. > -- > --Per Bothner > per@bothner.com http://per.bothner.com/