Great! 

The Clojure eco system is really fast paced

Ronen

On Friday, February 15, 2013 9:30:19 AM UTC+2, Ambrose Bonnaire-Sergeant 
wrote:
>
> Jonas already has another project which uses analyze 
> https://github.com/jonase/eastwood
>
> On Fri, Feb 15, 2013 at 12:19 PM, ronen <nar...@gmail.com <javascript:>>wrote:
>
>>
>> It looks as if https://github.com/jonase/kibit/ is a lint/check style 
>> tool that only reads the source code, this limits its utilization:
>>
>> "Kibit 
>> reads<http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/read>
>>  source 
>> code without any macro expansion or evaluation. A macro can therefor easily 
>> invalidate a rule. Also, kibit will not know if the symbol + in the form (+ 
>> x 1) actually refers to a local or to a function in a namespace other 
>> than clojure.core. Expect some false positives."
>>
>> So there is a place for an AST based one (more similar to findbugs I 
>> guess)
>>
>> On Wednesday, February 13, 2013 9:21:52 AM UTC+2, Ambrose 
>> Bonnaire-Sergeant wrote:
>>
>>> IMO that's the job of a "linter"-style tool, which can be written easily 
>>> with `analyze`.
>>>
>>> On Tue, Feb 12, 2013 at 11:58 PM, Michael Wood <esio...@gmail.com>wrote:
>>>
>>>> It might be useful, though, to be able to enable warnings for shadowed
>>>> variables.
>>>>
>>>> On 12 February 2013 17:38, Timothy Baldridge <tbald...@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 <esio...@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
>>>> >>> > <abonnair...@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....@gmail.com>
>>>>
>>>> >>> >> wrote:
>>>> >>> >>>
>>>> >>> >>> What is a hygienic AST?
>>>> >>> >>>
>>>> >>> >>> Thanks
>>>> >>> >>> k
>>>> >>> >>>
>>>> >>> >>>
>>>> >>> >>> On Sun, Feb 10, 2013 at 10:45 PM, Ambrose Bonnaire-Sergeant
>>>> >>> >>> <abonnair...@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<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 clo...@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+u...@**googlegroups.com
>>>>
>>>> >>> >>> > For more options, visit this group at
>>>> >>> >>> > http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >>> >>> > For more options, visit https://groups.google.com/**
>>>> groups/opt_out <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 clo...@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+u...@**googlegroups.com
>>>>
>>>> >>> >>> For more options, visit this group at
>>>> >>> >>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >>> >>> For more options, visit https://groups.google.com/**
>>>> groups/opt_out <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 clo...@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+u...@**googlegroups.com
>>>>
>>>> >>> >> For more options, visit this group at
>>>> >>> >> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >>> >> For more options, visit https://groups.google.com/**
>>>> groups/opt_out <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 clo...@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+u...@**googlegroups.com
>>>>
>>>> >>> > For more options, visit this group at
>>>> >>> > http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >>> > For more options, visit https://groups.google.com/**
>>>> groups/opt_out <https://groups.google.com/groups/opt_out>.
>>>> >>> >
>>>> >>> >
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> --
>>>> >>> Michael Wood <esio...@gmail.com>
>>>>
>>>> >>>
>>>> >>> --
>>>> >>> --
>>>> >>> You received this message because you are subscribed to the Google
>>>> >>> Groups "Clojure" group.
>>>> >>> To post to this group, send email to clo...@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+u...@**googlegroups.com
>>>>
>>>> >>> For more options, visit this group at
>>>> >>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >>> For more options, visit 
>>>> >>> https://groups.google.com/**groups/opt_out<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 clo...@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+u...@**googlegroups.com
>>>>
>>>> >> For more options, visit this group at
>>>> >> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> >> For more options, visit 
>>>> >> https://groups.google.com/**groups/opt_out<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 clo...@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+u...@**googlegroups.com
>>>>
>>>> > For more options, visit this group at
>>>> > http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> > For more options, visit 
>>>> > https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Michael Wood <esio...@gmail.com>
>>>>
>>>>
>>>> --
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@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+u...@**googlegroups.com
>>>>
>>>> For more options, visit this group at
>>>> http://groups.google.com/**group/clojure?hl=en<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+u...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<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 clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> 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+u...@googlegroups.com <javascript:>.
>> 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.


Reply via email to