On 16 November 2012 01:25, Mark Engelberg <mark.engelb...@gmail.com> wrote:

> On Thu, Nov 15, 2012 at 5:17 PM, Alan Malloy <a...@malloys.org> wrote:
>
>> The primary point of let-> is that you can insert it into an existing ->
>> pipeline.
>>
>>
> That makes sense.
>
It does - thanks for the clarification.

So is let-> intended to be *never* used outside of ->? If so, can an
argument be made for enforcing its use within -> to avoid (as far as I'm
aware) introducing a 'new' (value first, name second, no destructuring
support) binding syntax into core?  Despite it being more verbose, I'd
rather read (-> 42 (let-> meaning-of-life (inc))) than (let-> 42
meaning-of-life (inc)).

And on destructuring - the closest I can get with keeping compatibility
with existing -> forms would be

(-> {:foo 1}
  (let-> {:keys [foo] :as x}
    (assoc x :bar :foo)))

The pro is that you get the power of destructuring.  The con is that this
would be the first occurrence of destructuring from outside of an explicit
binding form.
-- 
*Alex Nixon*

Software Engineer | SwiftKey

*a...@swiftkey.net** | http://www.swiftkey.net/*

++++++
WINNER - MOST INNOVATIVE MOBILE
APP<http://www.swiftkey.net/swiftkey-wins-most-innovative-app-at-mwc>
 - GSMA GLOBAL MOBILE AWARDS 2012

Head office: 91-95 Southwark Bridge Road, London, SE1 0AX TouchType is a
limited company registered in England and Wales, number 06671487.
Registered office: 91-95 Southwark Bridge Road, London, SE1 0AX

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to