It might be useful, though, to be able to enable warnings for shadowed
variables.

On 12 February 2013 17:38, Timothy Baldridge <tbaldri...@gmail.com> wrote:
> This sort of pattern is used quite a lot in clojure (even in core):
>
> (let [data (if (string? data) (read-string data) data)
>       data (if (string? (first data)) (first data) (next data))
>       data (if (string? (first data)) (first data) (next data))]
>      data)
>
> Throwing exceptions on overridden variable names would not only break
> Clojure code, but also is very "non-lispy".
>
> Timothy
>
>
>
> On Tue, Feb 12, 2013 at 6:31 AM, AtKaaZ <atk...@gmail.com> wrote:
>>
>> it makes sense to not throw now that I think about it, when using "_"
>> instead of "a"
>> I'm also thinking of cases like:
>> => (let [a 1]
>>      (let [b 2 a 3]
>>        (println a b)))
>> 3 2
>> nil
>>
>> is there something that would let me know I'm overwriting "a" ? I figure
>> if something like this would slip by would be tough to track down
>>
>>
>> On Tue, Feb 12, 2013 at 1:46 PM, Michael Wood <esiot...@gmail.com> wrote:
>>>
>>> On 12 February 2013 12:28, AtKaaZ <atk...@gmail.com> wrote:
>>> > what would this do:
>>> >
>>> > (let [a 1, a 2] a)
>>> > becomes:
>>> > (let [a 1, a123 2] a)
>>> > or
>>> > (let [a 1, a123 2] a123)
>>> > or
>>> > exception[I prefer]
>>>
>>> It would be the second option, i.e.:
>>>
>>> (let [a 1, a123 2] a123)
>>>
>>> The original code is valid, so it would not throw an exception.
>>>
>>> > On Tue, Feb 12, 2013 at 7:10 AM, Ambrose Bonnaire-Sergeant
>>> > <abonnaireserge...@gmail.com> wrote:
>>> >>
>>> >> Processing a hygienic AST relieves the burden of worrying about
>>> >> shadowing
>>> >> of locals.
>>> >>
>>> >> Wherever a binding would normally be shadowed, it is instead renamed
>>> >> to a
>>> >> local binding currently not in scope.
>>> >>
>>> >> eg. (let [a 1, a a] a)
>>> >>
>>> >> becomes
>>> >>
>>> >> (let [a 1, a123 a] a123)
>>> >>
>>> >> It can be useful for those processing Clojure's analysis results.
>>> >>
>>> >> Thanks,
>>> >> Ambrose
>>> >>
>>> >>
>>> >> On Tue, Feb 12, 2013 at 1:54 AM, kovas boguta <kovas.bog...@gmail.com>
>>> >> wrote:
>>> >>>
>>> >>> What is a hygienic AST?
>>> >>>
>>> >>> Thanks
>>> >>> k
>>> >>>
>>> >>>
>>> >>> On Sun, Feb 10, 2013 at 10:45 PM, Ambrose Bonnaire-Sergeant
>>> >>> <abonnaireserge...@gmail.com> wrote:
>>> >>> > Hi everyone,
>>> >>> >
>>> >>> > Happy to release analyze 0.3.0 with new hygienic code
>>> >>> > transformation
>>> >>> > capabilities.
>>> >>> >
>>> >>> > [analyze "0.3.0"]
>>> >>> >
>>> >>> > In a line:
>>> >>> >
>>> >>> > analyze.hygienic=> (-> (ast (let [a 1 a a b a a a] a)) ast-hy
>>> >>> > emit-hy)
>>> >>> > ((fn* ([] (let* [a 1 a2921 a b a2921 a2922 a2921] a2922))))
>>> >>> >
>>> >>> > Hygienic AST's have enabled large performance boosts in core.typed.
>>> >>> > I'm
>>> >>> > excited to see how it could
>>> >>> > be as useful to others.
>>> >>> >
>>> >>> > Note: "hygienic" AST's (those transformed with
>>> >>> > `analyze.hygienic/ast-hy` can
>>> >>> > be printed normally with `analyze.emit-form/emit-form`, and
>>> >>> > hygienically
>>> >>> > with `analyze.hygienic/emit-hy`.
>>> >>> >
>>> >>> > https://github.com/frenchy64/analyze
>>> >>> >
>>> >>> > Thanks,
>>> >>> > Ambrose
>>> >>> >
>>> >>> > --
>>> >>> > --
>>> >>> > 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
>>> >>> > ---
>>> >>> > You received this message because you are subscribed to the Google
>>> >>> > Groups
>>> >>> > "Clojure" group.
>>> >>> > To unsubscribe from this group and stop receiving emails from it,
>>> >>> > send
>>> >>> > an
>>> >>> > email to clojure+unsubscr...@googlegroups.com.
>>> >>> > For more options, visit https://groups.google.com/groups/opt_out.
>>> >>> >
>>> >>> >
>>> >>>
>>> >>> --
>>> >>> --
>>> >>> 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
>>> >>> ---
>>> >>> You received this message because you are subscribed to the Google
>>> >>> Groups
>>> >>> "Clojure" group.
>>> >>> To unsubscribe from this group and stop receiving emails from it,
>>> >>> send an
>>> >>> email to clojure+unsubscr...@googlegroups.com.
>>> >>> For more options, visit https://groups.google.com/groups/opt_out.
>>> >>>
>>> >>>
>>> >>
>>> >> --
>>> >> --
>>> >> 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
>>> >> ---
>>> >> You received this message because you are subscribed to the Google
>>> >> Groups
>>> >> "Clojure" group.
>>> >> To unsubscribe from this group and stop receiving emails from it, send
>>> >> an
>>> >> email to clojure+unsubscr...@googlegroups.com.
>>> >> For more options, visit https://groups.google.com/groups/opt_out.
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > Please correct me if I'm wrong or incomplete,
>>> > even if you think I'll subconsciously hate it.
>>> >
>>> > --
>>> > --
>>> > 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
>>> > ---
>>> > You received this message because you are subscribed to the Google
>>> > Groups
>>> > "Clojure" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> > an
>>> > email to clojure+unsubscr...@googlegroups.com.
>>> > For more options, visit https://groups.google.com/groups/opt_out.
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Michael Wood <esiot...@gmail.com>
>>>
>>> --
>>> --
>>> 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
>>> ---
>>> You received this message because you are subscribed to the Google Groups
>>> "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>
>>
>>
>> --
>> Please correct me if I'm wrong or incomplete,
>> even if you think I'll subconsciously hate it.
>>
>> --
>> --
>> 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
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
>
>
> --
> “One of the main causes of the fall of the Roman Empire was that–lacking
> zero–they had no way to indicate successful termination of their C
> programs.”
> (Robert Firth)
>
> --
> --
> 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
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



-- 
Michael Wood <esiot...@gmail.com>

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to