Re: [ANN] task a.1

2018-01-25 Thread Devin Walters
A coworker of mine recently pointed me at this, and I think it's quite
cool. I don't have any specific feedback, but wanted to say I'm following
along with the development and plan to give it a whirl on a hobby project.

Thanks Léo!

On Fri, Nov 10, 2017 at 11:35 AM, Léo Noel  wrote:

> Hi fellow clojurians,
>
> I just released the first alpha of task : https://github.com/leonoel/task
> Task is a specification and toolkit to define and compose generic
> computations in clojure.
> I would appreciate any feedback on this project, be it about definitions,
> design, or even on the relevance of such an initiative.
>
> Thanks !
>
> --
> 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/d/optout.
>

-- 
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/d/optout.


Re: any? in clojure 1.9.0 alpha

2016-11-07 Thread Devin Walters
The more I've thought about it, the more I've resigned myself to the fact that 
any? is the only rational choice. We have `some?`, `some`, `not-any?`, and 
`any?`. There's no resolving the asymmetry without breaking code, and it's 
undeniably true that `any?` reads nicely in the context of specs. I don't think 
I've seen a post mentioning `some?` yet, which surprised me a bit. "Fixing" the 
symmetry of all of this is more than a single name. It is a collection of names 
dating back to 1.0, IIRC. I don't disagree that it would be nice if we could go 
back in time, but generally I think "let it go" is good advice. As an aside, 
the dissonance is more or less consistent. It reminds me a little of 
https://en.m.wikipedia.org/wiki/Multistability.

Perhaps there'll be some liberties taken in 2.0?

Time will tell, but for now I'll echo Alex's suggestion to drop it. This 
particular ship sailed years ago, IMO.

'(Devin Walters)

> On Nov 7, 2016, at 10:23 PM, Mars0i <marsh...@logical.net> wrote:
> 
> 
>> Personally I think "any?" and "some?" are aptly named, and that it's the 
>> older "not-any?" and "some" functions that mess things up.
> 
> I can understand the intuition that "not-any?" and "some" are the oddballs, 
> but "Are there any Xs?" and "Are there some Xs?" are true in exactly the same 
> situations.  Or to remove the predicate, since that's what "some" and 
> "not-any?" use: "Is there anything in this thing?" and "Is there something in 
> this thing?" are true in the same situations.  So if some? is aptly named, 
> then any? is not.  (Maybe "anything?" or "something?" would have been better 
> names for some?.)
>  
>> Maybe if Clojure were being designed from scratch again, we'd have something 
>> like "has" and "not-has?", but it's too late to change common function names 
>> now.
> 
> Yeah--too late.
> 
> As well as some still uncommon ones.
> Like "any?".
> :-)
> -- 
> 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/d/optout.

-- 
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/d/optout.


Re: [ANN] Clojure 1.9.0-alpha5

2016-06-08 Thread Devin Walters (devn)
Any chance of `named?` making the cut in 1.9? I see it's used in the 
implementation of clojure.spec.

On Tuesday, June 7, 2016 at 12:38:34 PM UTC-5, Alex Miller wrote:
>
> Clojure 1.9.0-alpha5 is now available.
>
> Try it via
>
> - Download:
>  https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0-alpha5 
> 
> - Leiningen: [org.clojure/clojure "1.9.0-alpha5"]
>
> 1.9.0-alpha4 includes the following changes since 1.9.0-alpha4:
>
> Fixes:
> - doc was printing "Spec" when none existed
> - fix ? explain
>
> New predicates in core (all also now have built-in generator support in 
> spec):
> - seqable?
> - boolean?
> - long?, pos-long?, neg-long?, nat-long?
> - double?, bigdec?
> - ident?, simple-ident?, qualified-ident?
> - simple-symbol?, qualified-symbol?
> - simple-keyword?, qualified-keyword?
> - bytes? (for byte[])
> - indexed?
> - inst? (and new inst-ms)
> - uuid?
> - uri?
>
> New in spec:
> - unform - given a spec and a conformed value, returns the unconformed 
> value
> - New preds: long-in-range?, inst-in-range?
> - New specs (with gen support): long-in, inst-in, double-in
>

-- 
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/d/optout.


Re: [ANN] Elements of Clojure

2016-03-18 Thread Devin Walters
Zach,

The first chapter was a joy to read, and the writing style compliments the
topic being discussed perfectly. I very much look forward to reading more
as soon as it becomes available.

On Fri, Mar 18, 2016 at 7:58 PM, Mike Rodriguez  wrote:

> Read it and like it so far!
>
> --
> 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/d/optout.
>

-- 
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/d/optout.


Re: [ANN] fudje - unit testing library vaguely resembling midje, but with less 'calories'

2016-01-27 Thread Devin Walters
Based on the way I've been using midje and the way I use clojure.test, I
really appreciate the middle path fudje has chosen. I don't think the DSL
underneath has caused any confusion, and the team I'm working with is
composed of seasoned Clojure programmers who have never used midje before.
Anecdotal as it may be, I would be remiss not to mention it.

The readability of most tests in midje far exceed the clojure.test
equivalent. So, I guess I would be wary of throwing the baby out with the
bathwater for purity's sake in fudje. No snark intended, but I am
unconvinced that a test suite _isn't_ the place for a DSL.

Aside: `(is (= (foo x) bar))` is a bummer. `(foo x) => bar` is bell clear.
I can't even begin to count the number of times I've seen test vs actual in
reverse order. Just sayin'.

On Wed, Jan 27, 2016 at 6:19 PM, Timothy Baldridge 
wrote:

> Thanks for taking the time to reply.
>
> Yes, let me clarify what I mean by DSL. Let's say I in my code somewhere
> say:
>
> (println (just 42))
>
> What is printed in my repl is an instance of the JustChecker type. Calling
> (just ...) doesn't do anything on its own, it constructs am Abstract Syntax
> Tree (AST) of sorts that represents how a checker should check something in
> the future. If we crack open the code inside JustChecker we see a method
> call (diff-similar ...) that's the "eval" function of your DSL, or mini
> language.
>
> And therein likes the problem with DSLs they often have "non" clojure
> semantics that are only valid inside a given context (a test runner for
> example). So it becomes very hard to know where I'm allowed to use Clojure
> constructs (map, filter, doseq, etc.) and where I'm in a DSL land where
> only certain forms are supported. DSLs have their place, I'm just
> unconvinced that a test suite is one of them.
>
> Timothy
>
> On Wed, Jan 27, 2016 at 4:55 PM, dimitris  wrote:
>
>> Hi again Timothy,
>>
>> I just got what you meant! by DSL you mean the 'free-floating' checkers
>> right? You mean that you'd prefer to see the checkers as `assert-expr`
>> extensions so they are recognizable by `is` yes? I'm not entirely opposed
>> to that but that would mean one `is` per assertion, which sounds
>> cumbersome. I will contemplate this idea of an alternate api where `is`
>> recognises individual checker symbols and if the idea matures i might
>> include it as a separate namepace in fudje...Thanks again! :)
>>
>> Regards,
>> dimitris
>>
>> On 27/01/16 23:40, dimitris wrote:
>>
>> Hi Timothy,
>>
>> Many thanks for taking the time to look into fudje...It is nowhere near
>> as mature as midje but I find it pretty neat and a pleasure to work with so
>> far (apart from the 'multimock' workaround perhaps). Also, many thanks for
>> your feedback...It seems you have misunderstood the purpose of sweet.clj
>> though...The sole purpose of that file is to help you auto-migrate your
>> existing midje code to fudje (which is much closer to clojure.test). If you
>> don't have any existing midje tests, then there is no reason to ever look
>> at fudje/sweet.clj. You need to `require` it if you want to use the
>> checker-stuff, but other than that, noone forces you to use `fact` or
>> `tabular`, and in fact it would be weird if one did. These are purely there
>> to support automatic rewrite. It has worked for us nicely where i
>> work...For the most part changing the ns declaration is enough to
>> 'un-midje' an entire namespace (some limitations exist of course). I hope
>> that is clearer now...fudje introduces no new syntax, other than the `=>`
>> which IMO nicely/visually separates the mock-outs from the mock-ins (i
>> think that was a good decision made by midje in the first place and kept
>> it).
>>
>> Now, your other point, i actually understand, and believe it or not, i
>> agree! for example at work we've talked this through and we're only opting
>> in for this stuff when it's actually adding value - not for every single
>> test case. I'll admit that example is a bit contrived and not very
>> welcoming, but i was sort of trying to cram as much stuff as possible in
>> the tests (where the demos are from). Actual usage of fudje almost never
>> looks like that cryptic, and if it does it mostly has to do with checker
>> abuse rather than new syntax. Your little snippet actually tests less stuff
>> with more code, and of course, no mocks, but I do get the point that 'more
>> code' isn't actually a problem when the code is clearer. :) I'm with you on
>> this one
>>
>> I guess at the end of the day if i want to support arbitrarily nesting
>> checkers, there will always be a possibility for some very ugly code. apart
>> from the `=>` symbol, which BTW can be anything you like as it's never
>> evaluated, I don't see where you get the DSL impression from. fudje was
>> specifically designed top to bottom to be as less sugary as possible (even
>> though fudge is very very sugary!). :)
>>
>> Kind regards,
>> dimitris

Re: Clojars maintenance this weekend

2015-12-16 Thread Devin Walters
Thanks for the heads up, and for the work you're doing. It is much
appreciated.
On Wed, Dec 16, 2015 at 4:31 PM Toby Crawley  wrote:

> This weekend I'll be taking clojars.org down to migrate to a larger
> instance to gain more disk space. The process should take about 45
> minutes, but I'm blocking out a two hour window just in case. During
> the migration period, the repo will be completely unavailable.
>
> The migration will start at Sunday, December 20, 2015 2:00 AM UTC
> and last for up to two hours. To see what that time that is in your
> TZ, visit:
>
>
> https://www.timeanddate.com/worldclock/fixedtime.html?iso=20151220T02=2
>
> I'll announce the start and end of the maintenance on the Clojars
> twitter account (https://twitter.com/clojars).
>
> Let me know if you have any issues or questions.
>
> - Toby
>
> --
> 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/d/optout.
>

-- 
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/d/optout.


Re: Clojure community organisation

2015-12-11 Thread Devin Walters
This initiative seems overdue by a couple years. I would like to offer some
non-trivial portion of my time. Is there anywhere people could donate to
ensure this becomes a valuable and positive community reality?

On Thu, Dec 10, 2015 at 4:38 PM Alex Miller  wrote:

> I don't think we have any official position on it, but I can respond to
> various items that have been mentioned above in the thread:
>
> 1) Google Summer of Code - we (Cognitect) are again acting as a receiver
> of stipends and distributor of travel funds this year but would happily let
> another org do that instead.  Cognitect currently provides free tickets for
> GSOC students to attend once conference in the year following their
> participation, and we would be happy to continue doing so.
>
> 2) clojure.org / documentation - we are very far along in the process of
> open sourcing the content on http://clojure.org. All of the content for
> the new version of the site is available at
> http://github.com/clojure/clojure-site and open for contributions via
> pull request. There are a bunch of issues there with things to do if you
> want to help. I am spending most of my time right now finalizing the
> staging/deployment/ci infrastructure for that and it is inching ever closer
> to being ready to go live as the real site.
>
> 3) CLAs, github, jira, confluence, hudson - Cognitect does not have plans
> to give up control of these sites. Community members have rights to access
> these sites already. I have spent a fair amount of time moving towards
> hosted cloud versions of some of these in the last couple months - the work
> involved is ... painful. Once clojure.org is live, I plan to put these
> back on priority list.
>
> 4) Conferences - Cognitect has no plans to give up the organization of the
> three Clojure conferences we run (Clojure/Conj, Clojure/West, and
> EuroClojure). Other people or organizations are of course welcome and
> encouraged to create their own events - we already have great ones like
> ClojureEx, clojureD, ClojuTre, Clojure Remote, etc.
>
> 5) Clojars - seems to have had a pretty successful time in seeking
> sponsors for their ongoing support, which is great! This is a community
> resource and I'm glad to see the community supporting it.
>
> 6) ClojureBridge - now has the ability to receive funds (go donate!) and
> manage things via the Bridge Foundry.
>
> Given all that, it's not clear to me what role a Clojure community
> organization would play. I think figuring out the goal is obviously the
> important part.
>
>
>
> On Thursday, December 10, 2015 at 2:36:06 PM UTC-6, Daniel Compton wrote:
>
>> Hi Alex
>>
>> Following up on this, is there anything else you can share?
>>
>> Thanks, Daniel.
>>
> --
> 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/d/optout.
>

-- 
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/d/optout.


Re: [ANN] Afterglow 0.1.0, an open-source live-coding Clojure environment for light shows

2015-07-21 Thread Devin Walters
Great logo, and stellar work. Thanks so much for your contribution.
On Sun, Jul 19, 2015 at 10:09 PM James Elliott brunch...@gmail.com wrote:

 I just released version 0.1.0 of Afterglow so that other interested people
 can start exploring it. I simply cannot believe I have been able to create
 a system like this in a couple of months, after being inspired by the
 example of Overtone. Thank you, Clojure community, for making software
 development so powerful and so much fun again!

 Interested parties can find the repository here:
 https://github.com/brunchboy/afterglow

 From the online manual:

 Afterglow is a lighting controller designed to support live coding
 https://en.wikipedia.org/wiki/Live_coding, written in Clojure
 http://clojure.org/, intended to enable people to produce spectacular
 and highly customizable light shows using modern stage and effect lighting,
 and which are related in deep ways to the phrasing of music being played.
 (Its creator http://deepsymmetry.org/ is a DJ and producer of light
 and laser shows by avocation.) Currently, the lighting effects
 https://github.com/brunchboy/afterglow/blob/master/doc/effects.adoc#effects
  and fixture definitions
 https://github.com/brunchboy/afterglow/blob/master/doc/fixture_definitions.adoc#fixture-definitions
  are
 written and organized through Clojure code, so you will either need to
 learn Clojure or work with a Clojure programmer to create new ones, but
 they are controlled through MIDI control surfaces or Open Sound Control, so
 once they are set up, there is great flexibility in how you can perform
 them.

 Someday a user interface for building shows and fixture definitions may
 be created, either within Afterglow, or as a companion project, but that is
 not currently planned. For now the focus is on building rich user
 interfaces for controlling shows, such as the Ableton Push mapping
 https://github.com/brunchboy/afterglow/blob/master/doc/mapping_sync.adoc#using-ableton-push
  and web interface
 https://github.com/brunchboy/afterglow/blob/master/doc/README.adoc#the-embedded-web-interface,
 while using the concise expressive power of Clojure for writing the fixture
 definitions, effects, and cues.

 Afterglow communicates with the lighting hardware using the Open
 Lighting Architecture https://www.openlighting.org/ola/, so it
 supports a wide variety of communication methods and interfaces.
 Information about installing OLA
 https://github.com/brunchboy/afterglow#installation is included in the
 project README https://github.com/brunchboy/afterglow.


  --
 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/d/optout.


-- 
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/d/optout.


Re: How to implement a distributed and concurrent system in Clojure?

2015-07-19 Thread Devin Walters
http://docs.paralleluniverse.co/pulsar/ is out there. I can't say I've used
it in anger, but I did enjoy experimenting with it.
On Sun, Jul 19, 2015 at 11:24 AM Colin Yates colin.ya...@gmail.com wrote:

 I don’t have anything to add at that scale, but I wanted to echo Stuart’s
 comment about the serialisability of EDN. Moving EDN between the front and
 back tiers  on our app has cut down a bunch of boilerplate. That principle
 can scale across machines as well.

 On 19 Jul 2015, at 16:54, Stuart Sierra the.stuart.sie...@gmail.com
 wrote:

 Absolutely would use again. But I'm biased towards Clojure already. :)
 –S

 On Sunday, July 19, 2015 09goral wrote:

 Thanks Stuart for your answer, it is very helpfull. Would you choose
 Clojure again ?

 2015-07-19 17:13 GMT+02:00 Stuart Sierra:


 This is an old thread, but it showed up in my Google Groups so I figured
 I would give an answer.

 I have worked on fairly large (10-50 machines) distributed systems
 written entirely in Clojure


 --
 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/d/optout.

  --
 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/d/optout.


-- 
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/d/optout.


Re: contains? on String

2015-05-12 Thread Devin Walters
Ignoring some of the conversation here to point out that what you want is:
(.contains foo f)

On Tue, May 12, 2015 at 4:04 PM, Michael Gardner gardne...@gmail.com
wrote:

 On May 12, 2015, at 3:28 PM, Fluid Dynamics a2093...@trbvm.com wrote:
  Strings and arrays support constant-time access by index.

 Yes, but why should that mean that contains? should work on Strings?
 Because it can doesn't seem compelling to me. In discussions about
 contains?, one often hears that it works on associative containers, which
 is supported by the use of the word key in its docstring. Vectors are
 indeed associative, but Strings aren't (at least according to
 associative?), which is why this seems like a strange feature to me.

 --
 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/d/optout.


-- 
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/d/optout.


Re: any?

2015-04-25 Thread Devin Walters
I think Ambrose is getting at what the original poster is after. I've
written this a number of times, but seem to recall doing something like
`(def any? (complement not-any?))`, though I'd need to go back and look.

`not-any?` is just `(comp not some)` under the covers, so I guess I'm not
sure why `any?` would be out of bounds in core.

Cheers,
Devin

On Sat, Apr 25, 2015 at 8:56 PM, Ambrose Bonnaire-Sergeant 
abonnaireserge...@gmail.com wrote:

 Do you mean any? as in

 (defn any? [p c]
   (boolean (seq (filter? p c

 Thanks,
 Ambrose

 On Sat, Apr 25, 2015 at 9:43 PM, Timothy Baldridge tbaldri...@gmail.com
 wrote:

 bleh, hit reply too fast. Or also returns the first true value, so (or
 false nil 42) returns 42.

 I guess I don't see when I'd use 'any?'

 On Sat, Apr 25, 2015 at 7:42 PM, Timothy Baldridge tbaldri...@gmail.com
 wrote:

 But it's not really like `or

 On Sat, Apr 25, 2015 at 7:32 PM, coltnz colin.tay...@gmail.com wrote:

 Any reason why we don't have `any?`. Googled without much luck.
 Trivially done as `comp boolean some` not doubt, but I know I use it
 more than not-any at least.
 It's particularly useful as a composable `or`.


  --
 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/d/optout.




 --
 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)




 --
 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/d/optout.


  --
 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/d/optout.


-- 
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/d/optout.


Re: Generating .clj files with content

2015-04-09 Thread Devin Walters
To Leon's point above, that looks like:

12345678910111213

(require '[clojure.pprint :as pp])

(pp/with-pprint-dispatch pp/code-dispatch
  (pp/pprint
(read-string (defn foo [xs] (apply str (reverse (str (apply +
(for [y (filter (fn [x] (= x 1)) xs)] (inc y))

=
nil
(defn foo [xs]
  (apply
str
(reverse
  (str (apply + (for [y (filter (fn [x] (= x 1)) xs)] (inc y)))


On Thu, Apr 9, 2015 at 2:34 PM, Leon Grapenthin grapenthinl...@gmail.com
wrote:

 You can use
 https://clojure.github.io/clojure/clojure.pprint-api.html#clojure.pprint/with-pprint-dispatch
 with
 https://clojure.github.io/clojure/clojure.pprint-api.html#clojure.pprint/code-dispatch
 to achieve that.

 On Wednesday, April 8, 2015 at 8:14:02 PM UTC+2, Sven Richter wrote:

 Hi,

 @Tassilo Thank you. Your example works nicely the way I imagined it.

 However, I want to generate human readable code and I want line breaks
 and nice formatting and things. I will also try a templating language.
 lein-template uses moustache or something. I will see how that works out.

 Thanks everyone for your suggestions,
 Sven

 Am Mittwoch, 8. April 2015 19:25:23 UTC+2 schrieb James Reeves:

 On 8 April 2015 at 14:20, Sven Richter sve...@googlemail.com wrote:

 I want to create clojure source files with some code and a namespace
 and everything else what is useful for some source code.
 What I am looking for is a templating language for clojure code, is
 there something like this already? What would be the most idiomatic way to
 do that besides just writing strings into a file?


 What's the purpose? If it's just to generate some Clojure code that will
 never be read by a human, then you can use Clojure's backtick syntax with
 the pr-str function. If it's to generate human-readable code, then you're
 probably best using a text templating language.

 You may also want to look at Leiningen templates or lein-generate.

 - James

  --
 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/d/optout.


-- 
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/d/optout.


Re: On Testing

2014-11-01 Thread Devin Walters
http://jakemccrary.com/blog/2014/06/22/comparing-clojure-testing-libraries-output/
 has some good examples. I'm currently using humane-test-output. It's worked 
nicely for me.

'(Devin Walters)

 On Nov 1, 2014, at 7:00 PM, Alex Miller a...@puredanger.com wrote:
 
 Additionally, I think it would be helpful to enumerate example (failing) 
 tests and their output by current clojure.test.
 
 
 On Saturday, November 1, 2014 1:58:32 PM UTC-5, Alex Miller wrote:
 It would be great if someone could enumerate more explicitly what better 
 test output means. What are the specific problems in the current test output 
 reporting?
 Similar problem list for test runner might be useful.
 
 Discussion here is fine but ultimately needs to land on a design wiki page.
 
 I am happy to do what I can to move this through a process toward inclusion 
 in a release.
 
 
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: {ANN} defun: A beautiful macro to define clojure functions with pattern match.

2014-09-22 Thread Devin Walters
I didn't read it that way.

 On Sep 14, 2014, at 7:45 AM, adrian.med...@mail.yu.edu wrote:
 
 Friendly advice: when you describe anything you create with adjectives like 
 beautiful, it comes off as unnecessarily arrogant to native English speakers.
 
 Adrian
 
 On Sunday, September 14, 2014 2:47:28 AM UTC-4, dennis wrote:
 
 Hi , i am pleased to introduce defun: a beautiful macro to define clojure 
 functions with pattern match.
 
 Some examples:
 
 (defun say-hi
   ([:dennis] Hi,good morning, dennis.)
   ([:catty] Hi, catty, what time is it?)
   ([:green] Hi,green, what a good day!)
   ([other] (str Say hi to  other)))
 
 (say-hi :dennis)
 ;;  Hi,good morning, dennis.
 (say-hi :catty)
 ;;  Hi, catty, what time is it?
 (say-hi :green)
 ;;  Hi,green, what a good day!
 (say-hi someone)
 ;;  Say hi to someone
 
 Recursive function? It's all right:
 
 (defun count-down
   ([0] (println Reach zero!))
   ([n] (println n)
  (recur (dec n
 (defun fib
 ([0] 0)
 ([1] 1)
 ([n] (+ (fib (- n 1)) (fib (- n 2)
 
 
 Guard functions? it's all right:
 
 (defun valid-geopoint?
 ([(_ :guard #(and ( % -180) ( % 180)))
   (_ :guard #(and ( % -90) ( % 90)))] true)
 ([_ _] false))
 
 (valid-geopoint? 30 30)
 ;; true
 (valid-geopoint? -181 30)
 ;; false
 
 It's really cool,all the magic are from core.match, much more details please 
 see 
 https://github.com/killme2008/defun
 
 
 -- 
 庄晓丹 
 Email:killm...@gmail.com xzh...@avos.com
 Site:   http://fnil.net
 Twitter:  @killme2008
 
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: [ANN] CrossClj, a tool for cross-referencing the clojure ecosystem

2014-06-12 Thread Devin Walters
You may be right about the union of all of these sites being difficult to 
harmonize editorially, but I will stubbornly continue to dream of that 
tool/explorer anyhow. :)

As for open source, no big deal if you don't ultimately decide to make your 
code available. You seem to know the drill, and no you don't come off as 
arrogant. To each their own.

Cheers,
'(Devin Walters)

 On Jun 12, 2014, at 6:05, Francesco Bellomi francesco.bell...@gmail.com 
 wrote:
 
 Hi Devin,
 
 I'm a strong believer in contributing to the community. CrossClj is my first 
 attempt to contribute to the clojure community, and I hope to do more in the 
 future, even in source code form. 
 
 At the moment, I don't feel like it's the right time to release the source 
 code: it's a sort of personal playground on a series of themes I'm interested 
 in (like static code analysis), and I'd like to figure out where it's headed, 
 with the freedom to steer it into opinionated directions, whereas starting a 
 community effort around it (like you suggest) would require a different 
 *kind* of engagement
 
 The sites you mentioned are all fantastic contributions (the way I hope 
 CrossClj will be), but I'm not sure whether they need (or would be better) to 
 be unified. They have, so to speak, different editorial voices, and I think 
 this diversity is a value. For sure, I am favourable to integrate them (where 
 appropriate) by linking their content and using their APIs, and I welcome 
 them if they feel to do the same with CrossClj.
 I think it's the same for all other language communities.
 
 I really value all feedback, but I have my rationales.
 
 I hope I don't sound arrogant: as a contemporary IT practitioner, I'm totally 
 aware that I'm a dwarf standing on the shoulders of open-sourced giants, and 
 that there are a lot of positive network effects; still, I don't feel I have 
 a moral obligation to rush into releasing everything I do. 
 
 thanks for your ideas, and I hope we will do something together in the future.
 
 Francesco
 
 
 
 
 On Thursday, June 12, 2014 3:23:31 AM UTC+2, Devin Walters (devn) wrote:
 Thanks for the reply Francesco. I know you said the code needs clean up and 
 all, but FWIW I haven't seen any project where that wasn't the case. I'd 
 encourage you to put it up on github. I for one would be interested in 
 contributing. I want to merge GetClojure, crossclj, clojuredocs, 
 clojuresphere, Clojars, and Clojure-doc into a one stop shop for all things 
 Clojure. All of the pieces have been worked out separately. With a little 
 bit of collaboration I think those of us interested in these sorts of 
 projects could build something really fantastic for the community.
 
 @Francesco  @All: Drop me a private email if you'd be interested in 
 discussing working on something like this. I'll set up a google hangout and 
 we can get together and talk about it. Think of the songs they'll write 
 about us if we succeed! :)
 
 Cheers,
 '(Devin Walters)
 
 On Jun 11, 2014, at 18:05, Francesco Bellomi francesc...@gmail.com wrote:
 
 Devin,
 
 On Wednesday, June 11, 2014 6:25:13 PM UTC+2, Devin Walters (devn) wrote:
 A few nitpicks:
 
 Thanks for your feedback; I really appreciate any opinion or suggestion, 
 especially related to the UI
  
  
 - I find the usability to be a bit difficult in some places. For instance, 
 search results and specific function pages feel kind of cluttered.
 
 I understand that. I was trying to cram as much info as possible, and I was 
 too lazy to write some basic pagination facility. I think that the problem 
 is especially relevant when you have a lot of results. 
  
 - What does Some other projects... mean? Are they related to the 
 function I'm viewing, or are they just random projects?
 
 Totally random. I was trying to enable/facilitate some serendipitous 
 exploration.
  
 - It's not clear what kind of interaction is being encouraged by adding 
 the Google+ comments box. Maybe a slightly longer up-front explanation 
 about how you envision people using the site would be useful to people 
 trying it out?
 
 I agree with you, comments are not well-integrated and not really usable 
 right now, and it's not clear if (or how) they fit in the current iteration 
 of the project.
 I was inspired by clojuredocs.org commenting system, which I think is 
 really useful, but I don't have a clear answer right now on how it's 
 possible to bootstrap some kind of community activity around CrossClj. 
 Maybe it's a viable and good idea, maybe not.
  
 
 Finally, maybe you already explained this somewhere, so forgive me if I'm 
 adding noise, but are you using tools.analyze, codeq, etc. to do this? If 
 not, I'd be interested in hearing more about how you built it.
 
 It's not much complicated: for each namespace in each project, 
 tools.analyzer.* produces an AST that resolves var occurrences (definitions 
 and applications) in the source code into their fully namespace-qualified 
 vars; pomegranate resolves

Re: Clojure on iOS devices - Swift as a host?

2014-06-12 Thread Devin Walters
Very helpful info Mike, thank you.

I'll fire up Xcode this weekend, give what you're saying a try, and report back.

Thanks!
'(Devin Walters)

 On Jun 12, 2014, at 8:14, Mike Fikes mikefi...@me.com wrote:
 
 Hi Devin,
 
 A great place to start is 
 http://web.cecs.pdx.edu/~cpinera/javascriptcore-integration-with-clojurescript-in-ios.html
  (some slight modifications are required to get that blog post examples 
 working with the latest, but it's not that hard).
 
 Another great resource is the WWDC 2013 video on JavaScriptCore.
 
 Once you have a sample project up and running, then you are “cooking with 
 fire.” Roughly the workflow involves editing ClojureScript (I use Cursive in 
 IntelliJ, but any IDE would do) where the results of lein cljsbuild auto are 
 being consumed in a “sibling” Xcode workspace. Make a change to 
 ClojureScript, rebuild your Xcode app, observe the change in behavior, repeat.
 
 Debugging is nearly impossible, so I rely heavily on logging, and on 
 producing lots of pure functions that can be independently verified in a 
 REPL. So the first thing you would want to do is set up things do that when 
 you call a logging function in your ClojureScript, it is routed to iOS and 
 logged in the console.
 
 To avoid needing to add lots of new JSExport methods for new functionality, I 
 take the approach of writing some plumbing code that can work with the UI by 
 referencing UIComponents via their “tag” integer, which I manually set in IB 
 and then call a “bind!” function in ClojureScript to set up the needed 
 interactions.
 
 For example, I might have a (def text-field (atom {})) and then in an init 
 method marked ^:export that takes a view argument, I do (bind! text-field 
 view 1), where the literal 1 is the tag for a text field in IB. I've written 
 bind to call into Objective C and register for notifications on that tag, 
 setting things so that, for example, whenever the text changes, it calls back 
 into ClojureScript executing a function that ends up calling (swap! text-view 
 assoc :text updated-text).
 
 You can take a similar approach to have button tap events drop a message into 
 a core.async channel, and associated plumbing to bind a UI button to the 
 channel.
 
 The end result is that you can essentially write what would normally be view 
 controller code in ClojureScript.
 
 A lot of the above (especially the code fragments) are from memory—ask if 
 you'd like more elaboration. But in the end, it's simpler and less elaborate 
 than you might initially think.
 
 - Mike
 
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: Given a CSV file, how do I take the values in each row and convert it into a map?

2014-06-12 Thread Devin Walters
I tend to do this: 

(require '[clojure.data.csv :as csv])
(require '[clojure.java.io :as io])
(require '[clojure.walk :as walk])

(let [[header rows] (- my.csv
io/file
io/reader
csv/read-csv)]
  (map #(- (zipmap header %)
(walk/keywordize-keys))
   rows))


= ({:a foo :b bar} {:a baz :b buzz} ...)

Cheers,
-- 
Devin Walters


On Thursday, June 12, 2014 at 4:38 PM, Marc Limotte wrote:

 See 
 https://github.com/clojure-cookbook/clojure-cookbook/blob/master/04_local-io/4-20_read-write-csv.asciidoc
 
 Which will give you a seq of the values for each row.  To get Maps, try this:
 
 (def headers [colA colB ...])
 (map (partial zipmap headers) result-of-read-csv)
 
 If your headers are the first line in your CSV, then use (first 
 result-of-read-csv) to get the headers and (rest ...) for the data.
 
 
 
 
 On Thu, Jun 12, 2014 at 5:17 PM, Shelley Tong shelleytong1...@gmail.com 
 (mailto:shelleytong1...@gmail.com) wrote:
  kinda like a key value pair for each row 
  
  -- 
  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 
  (mailto: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 
  (mailto:clojure%2bunsubscr...@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 
  (mailto:clojure+unsubscr...@googlegroups.com).
  For more options, visit https://groups.google.com/d/optout.
 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto:clojure+unsubscr...@googlegroups.com).
 For more options, visit https://groups.google.com/d/optout.

-- 
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/d/optout.


Re: [ANN] CrossClj, a tool for cross-referencing the clojure ecosystem

2014-06-11 Thread Devin Walters
I stumbled upon CrossClj before it was released due to some Google results that 
started showing up. 

A few nitpicks: 
- I find the usability to be a bit difficult in some places. For instance, 
search results and specific function pages feel kind of cluttered.
- What does Some other projects... mean? Are they related to the function I'm 
viewing, or are they just random projects?
- It's not clear what kind of interaction is being encouraged by adding the 
Google+ comments box. Maybe a slightly longer up-front explanation about how 
you envision people using the site would be useful to people trying it out?

Finally, maybe you already explained this somewhere, so forgive me if I'm 
adding noise, but are you using tools.analyze, codeq, etc. to do this? If not, 
I'd be interested in hearing more about how you built it. 

Thanks for building this. I look forward to playing around with it.

Cheers,
-- 
Devin Walters


On Wednesday, June 11, 2014 at 10:53 AM, Mike Haney wrote:

 Very cool. Is there a public REST api?
 
 I ask because I'm thinking a lighttable plugin that uses this to search for 
 dependencies and automatically add them to project.clj would be pretty easy 
 to write and quite useful. Yes, I could use clojars directly, but this would 
 allow more options in the future.
 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto:clojure+unsubscr...@googlegroups.com).
 For more options, visit https://groups.google.com/d/optout.
 
 


-- 
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/d/optout.


Re: [ANN] CrossClj, a tool for cross-referencing the clojure ecosystem

2014-06-11 Thread Devin Walters
Thanks for the reply Francesco. I know you said the code needs clean up and 
all, but FWIW I haven't seen any project where that wasn't the case. I'd 
encourage you to put it up on github. I for one would be interested in 
contributing. I want to merge GetClojure, crossclj, clojuredocs, clojuresphere, 
Clojars, and Clojure-doc into a one stop shop for all things Clojure. All of 
the pieces have been worked out separately. With a little bit of collaboration 
I think those of us interested in these sorts of projects could build something 
really fantastic for the community.

@Francesco  @All: Drop me a private email if you'd be interested in 
discussing working on something like this. I'll set up a google hangout and we 
can get together and talk about it. Think of the songs they'll write about us 
if we succeed! :)

Cheers,
'(Devin Walters)

 On Jun 11, 2014, at 18:05, Francesco Bellomi francesco.bell...@gmail.com 
 wrote:
 
 Devin,
 
 On Wednesday, June 11, 2014 6:25:13 PM UTC+2, Devin Walters (devn) wrote:
 A few nitpicks:
 
 Thanks for your feedback; I really appreciate any opinion or suggestion, 
 especially related to the UI
  
  
 - I find the usability to be a bit difficult in some places. For instance, 
 search results and specific function pages feel kind of cluttered.
 
 I understand that. I was trying to cram as much info as possible, and I was 
 too lazy to write some basic pagination facility. I think that the problem is 
 especially relevant when you have a lot of results. 
  
 - What does Some other projects... mean? Are they related to the function 
 I'm viewing, or are they just random projects?
 
 Totally random. I was trying to enable/facilitate some serendipitous 
 exploration.
  
 - It's not clear what kind of interaction is being encouraged by adding the 
 Google+ comments box. Maybe a slightly longer up-front explanation about how 
 you envision people using the site would be useful to people trying it out?
 
 I agree with you, comments are not well-integrated and not really usable 
 right now, and it's not clear if (or how) they fit in the current iteration 
 of the project.
 I was inspired by clojuredocs.org commenting system, which I think is really 
 useful, but I don't have a clear answer right now on how it's possible to 
 bootstrap some kind of community activity around CrossClj. Maybe it's a 
 viable and good idea, maybe not.
  
 
 Finally, maybe you already explained this somewhere, so forgive me if I'm 
 adding noise, but are you using tools.analyze, codeq, etc. to do this? If 
 not, I'd be interested in hearing more about how you built it.
 
 It's not much complicated: for each namespace in each project, 
 tools.analyzer.* produces an AST that resolves var occurrences (definitions 
 and applications) in the source code into their fully namespace-qualified 
 vars; pomegranate resolves namespaces into their fully qualified artifacts 
 (in terms of maven coordinates). The combination of the two generates a 
 coherent addressing space that is used to generate the hyperlinks. Actual 
 links are positioned in the source code using the metadata in the AST.
 Lucene is used to maintain the inverse index (ie. var definition - var 
 application).
 Of course namespaces need to be macroexpanded and fully evaluated, which 
 causes a lot of funny side effects ;-) 
 
 Hope this helps, feel free to ask for more details
 
 Francesco
 
 
 
  
 
 Thanks for building this. I look forward to playing around with it.
 
 Cheers,
 -- 
 Devin Walters
 
 On Wednesday, June 11, 2014 at 10:53 AM, Mike Haney wrote:
 
 Very cool. Is there a public REST api?
 
 I ask because I'm thinking a lighttable plugin that uses this to search for 
 dependencies and automatically add them to project.clj would be pretty easy 
 to write and quite useful. Yes, I could use clojars directly, but this 
 would allow more options in the future.
 
 --
 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
 ---
 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/d/optout.
 
 -- 
 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

Re: Instaparse - thank you!

2014-06-11 Thread Devin Walters
I think it's annularly understood that Mark is the bee's knees. Thanks for the 
fantastic, well-documented instaparse. It's saved me a *lot* of time to date, 
and it taught me a lot about parsers.

Honorable mention to Sean Corfield for starting this thread and being such a 
model member of the community for what is shaping up to be the better part of a 
decade. Crazy, but true.

Oh yeah, and all of you reading this. It's extremely exciting (and lucrative) 
to me to see all of my ranty Clojure is the future! bets paying off. :) 
Rhetorical question: How cool is it to be a part of this whole Clojure thing?

Best Regards,
'(Devin Walters)

 On Jun 11, 2014, at 20:25, Scott Thoman sc...@thoman.org wrote:
 
 +1 !
 
 I'm about to use it in a production deployment.  It has been a pleasure to 
 use!
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: Clojure on iOS devices - Swift as a host?

2014-06-11 Thread Devin Walters
If I had a small fortune I would pay you to sit down and show me how this 
business you're talking about works. Sounds really cool. Is doing this kind if 
thing documented well anywhere? I'd love to see some code and your workflow.

'(Devin Walters)

 On Jun 11, 2014, at 15:30, Mike Fikes mikefi...@me.com wrote:
 
 While Gal's approach of ditching IB is fine, I still use it, but bind UI 
 components to atoms in ClojureScript. Once that is done, you have a lot of 
 power at your disposal on the ClojureScript side of the JavaScriptCore 
 bridge: With atom watchers you can react to UI state changes, feed them 
 through core.async channels if you'd like to create FRP-like solutions, etc. 
 You can create macros as needed to simplify any complexities that arise with 
 the fact that iOS is on the other side of that bridge. You can nearly have 
 your cake and eat it too :)
 
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: [ANN] core.async (and more) video tutorials

2014-05-28 Thread Devin Walters
Forgive me if I just missed it, but do you have the code from the videos 
somewhere? I was toying with the pipeline example and kept feeling like it'd 
be nice to just grab the source.

Thanks,
'(Devin Walters)

 On May 27, 2014, at 12:55, Timothy Baldridge tbaldri...@gmail.com wrote:
 
 Thanks for all the suggestions.
 
 1) Yes, there seems to be an issue with downloading free videos. From what 
 I'm seeing in the admin settings I only have the option for paid and 
 downloadable and free. Free disables the downloading. I'll contact 
 PivotShare and see if they can change that. 
 
 2) Sounds like a good idea to split vertical. I'll give it a try in the next 
 video
 
 3) yes, I plan on uploading more logic tutorials. The next should be out 
 tonight, after that maybe once a week? I'd like to focus on core.async, but 
 having a range of topics is nice for breaking up the pace a bit. 
 
 Thanks again, 
 
 Timothy Baldridge
 
 
 On Tue, May 27, 2014 at 4:22 AM, Ivan Ryakhov meridiago...@gmail.com wrote:
 Greate work, Tim! 
 My advice is to split the screen by vertical but not horisontal. Your code 
 are not so wide and there is a lot of empty space on the right side.
 I think it would be useful to place a REPL to the right side of the screen 
 to obtain a vast space for code and REPL ineractions.
 What about 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/d/optout.
 
 
 
 -- 
 “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/d/optout.

-- 
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/d/optout.


Re: [ANN] core.async (and more) video tutorials

2014-05-21 Thread Devin Walters
Awesome! Thanks Tim!

'(Devin Walters)

 On May 21, 2014, at 17:32, Timothy Baldridge tbaldri...@gmail.com wrote:
 
 From time to time I get asked to do more writing on core.async, and I've come 
 to the realization that try as I might, I'm not a writer. However I recently 
 started a set of video tutorials I'm making available today.
 
 The videos average about 12min in length and focus on a single topic. 
 Currently I have 5 videos on core.async completed and two on logic 
 programming. I plan on expanding both series over time. My plans are to 
 release 2-3 videos a week but that may change over time. 
 
 At any rate, the videos are available here 
 (https://tbaldridge.pivotshare.com/). Yes, there is a small charge for the 
 majority of the videos, but think of it as a way to prod me to make more 
 tutorials. 
 
 Thanks! And hopefully this will be useful to some. 
 
 Timothy Baldridge
 -- 
 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/d/optout.

-- 
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/d/optout.


Re: How did you learn Clojure?

2014-03-20 Thread Devin Walters
Shameless self-promotion: http://GetClojure.com is something I wrote to 
hopefully help people learn Clojure. One of the primary methods I used for 
learning Clojure was to do problems, like the ones Alex mentioned, read source, 
and ask questions in irc. The last one is important IMO and it's the reason why 
I wanted to make something like GetClojure. The expressions you search for are 
all taken from the irc channel and run through a sandbox so you can see what 
the value and output is. This lets you investigate interesting ways other 
people have chosen to use the language, and saves you some of the back and 
forth you might encounter on irc.

All of that being said, you still need to be able to reason about what you're 
doing, so in general I recommend it as a get unstuck sometimes tool. There 
are some hidden gems in there though, if you go to the last page of results for 
a search term and work backwards. (hint: search for map, go to the last page, 
and work backwards from there for a bit) You can also find interesting 
destructuring examples by searching for 'let AND :or', and so on.

Anyway, hope it's of use to you or anyone else dropping in on this thread.

Happy Clojuring,
'(Devin Walters)

 On Mar 20, 2014, at 22:23, Marcus Blankenship mar...@creoagency.com wrote:
 
 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm 
 stumped on a few, and simply looking up the answer often isn't helpful...  Is 
 there a clojure-noobs list?
 
 Sent from my iPhone
 
 On Mar 20, 2014, at 8:11 PM, Alex Miller a...@puredanger.com wrote:
 
 Hi Marcus, 
 
 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually 
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice problems
 
 Clojure for Web Development from Pragmatic Press is a new Clojure book 
 that is a little more focused on a problem domain and build a web app.
 
 Hope that helps...
 Alex Miller
 
 On Thursday, March 20, 2014 8:08:41 PM UTC-5, Marcus Blankenship wrote:
 Hi Folks, 
 
 I'm a post technical PM who's fascinated by Clojure, and want to learn it, 
 but am having a hard time without a real project to work on. It's 
 actually excited me so much I'm considering hanging up my PM hat and diving 
 back in the programmer pool again! 
 
 My problem appears to be 1) focus, and 2) fear. Focus because I can't (yet) 
 earn a living on a clojure project, so it must be done during off hours. 
 Fear because it's harder and more different than the old OO languages I've 
 used in the past. 
 
 So I'm curious: how did you learn Clojure well enough to be proficient with 
 it, or how are you working on learning it? 
 
 Anyone else facing the focus + fear dilemma? 
 
 Sent from my iPhone
 
 -- 
 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/d/optout.
 -- 
 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/d/optout.

-- 
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

Re: Latest web framework for clojure

2014-03-01 Thread Devin Walters
Have you checked out Http://hoplon.io?

'(Devin Walters)

 On Feb 28, 2014, at 12:55, Daniel doubleagen...@gmail.com wrote:
 
 Long story short.  You should be learning Pedestal, but the app component is 
 on pause at the moment.  My advice is to learn pedestal-service and Om. 
 When Pedestal-app gets going again, learning Om will have given you a good 
 context for transitioning to Pedestal 100%.
 
 -- 
 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.


Re: Clojure / polyglot position at OpinionLab in Chicago

2014-02-24 Thread Devin Walters
It seems like this comes up with many of the job posts. Perhaps we should have 
some guidelines around what details should be provided in the average job post 
to cut down on some of the noise that follows. Do we have anything like that 
for the list already?

In any event, I am really encouraged by the number of Clojure positions that 
are popping up. There have been a noticeable number of opportunities in the 
last few months. I would be interested to know the numbers on job posts to the 
ML over time. It seems like there's been a noticeable uptick in the last 6 
months.

My guess is within the next year and a half you'll start to see more 
opportunities in your general region.

Best wishes,
'(Devin Walters)
Sent via Apple Newton

 On Feb 24, 2014, at 19:00, John Jacobsen eigenhom...@gmail.com wrote:
 
   Lots of people on this list are not based in Chicago or US. Will remote 
  candidates be considered?
 
 I checked; apparently not, sorry to say.
 
 
 On Monday, February 24, 2014 1:28:10 PM UTC-6, Michael Klishin wrote:
 
 2014-02-24 22:47 GMT+04:00 John Jacobsen eigen...@gmail.com:
 Though I'm fairly new here I'm happy to answer questions or forward them to 
 the appropriate place.
 
 Lots of people on this list are not based in Chicago or US. Will remote 
 candidates be considered?
 
 
 -- 
 MK
 
 http://github.com/michaelklishin
 http://twitter.com/michaelklishin
 
 -- 
 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.


Re: [GSoC]: We made it! Clojure is a Google Summer of Code 2014 menoring organisation

2014-02-24 Thread Devin Walters
If past years are evidence at all, thank you to the people who made this happen.

On that note, I'm interested in helping mentor. I worry a bit about 
availability, but would happy to be a backup or pair on mentorship if that's 
a possibility. In short, let us all know what we can do to help.

Thanks!
'(Devin Walters)

 On Feb 24, 2014, at 19:02, Mikera mike.r.anderson...@gmail.com wrote:
 
 Congratulations! 
 
 Well done to everyone who helped make this happen.
 
 On Tuesday, 25 February 2014 03:06:24 UTC+8, Daniel Solano Gómez wrote:
 Hello, all, 
 
 I am happy to report that Clojure has been accepted as a Google Summer 
 of Code 2014 mentoring organisation.  I'd like to thank everyone who 
 gave us ideas for our Project Ideas [1] page, and a special thanks to 
 Ambrose Bonnaire-Sargeant and Alex Miller for volunteering to help 
 administer the program. 
 
 
 
 What now? 
 = 
 
 The student application period will be from the 10th to the 21st of 
 March.  Between now and then, it is time for students to start working 
 on proposals, meeting with mentors, and getting feedback from the 
 community. 
 
 If you are interested in being a mentor on your project, feel free to 
 post your project to the Project Ideas page or announce it on your 
 project's mailing list.  Also, please sign up on Melange [2] and 
 register to be a mentor for Clojure. 
 
 Once the student application period ends, the administrators and mentors 
 will rate each student's proposal and ask for slots from Google.  Google 
 will give us some number of slots, and we will choose the top n proposal 
 to be this year's Clojure GSoC students. 
 
 I look forward to seeing what kind of great work our students will be 
 able to achieve this year. 
 
 Sincerely, 
 
 Daniel 
 
 
 [1]: http://dev.clojure.org/display/community/Project+Ideas 
 [2]: http://www.google-melange.com/gsoc/homepage/google/gsoc2014 
 
 -- 
 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.


Re: [ANN] Gorilla REPL initial release (0.1.2)

2014-02-19 Thread Devin Walters
I've spent a bit of time with Julia lately and I found the Julia notebook via 
ipython to be really nice.

I really appreciate all the work you've put into this and am looking forward to 
trying it out!

Great announcement, btw. It's nice to have clear action items to go along with 
the announcement. You made a screencast too! Rally!

Cheers,
'(Devin Walters)

 On Feb 19, 2014, at 15:23, Jony Hudson jonyepsi...@gmail.com wrote:
 
 Hi All,
 
  I'm pleased to announce the first release of Gorilla REPL, a rich REPL in 
 the notebook style:
 
 https://github.com/JonyEpsilon/gorilla-repl
 
 From the README:
 
 You can think of it like a pretty REPL that can plot graphs, or you can 
 think of it as an editor for rich documents that can contain interactive 
 Clojure code, graphs, table, notes, LaTeX formulae. Whatever works for you! 
 One of the main aims is to make it lightweight enough that you can use it 
 day-to-day instead of the command-line REPL, but also offer the power to 
 perform and document complex data analysis and modelling tasks. Above all 
 else, Gorilla tries not to dictate your workflow, but rather to fit in to the 
 way you like to work, hopefully putting a bit more power to your elbow.
 
 You might like to take a look at a video introduction that shows what it does 
 better than my poor prose describes it:
 
 https://vimeo.com/87118206
 
 I hope you like it and find it useful. In particular I really hope it fits in 
 to your workflow, and if not it would be great to know why. Bear in mind it 
 is very new and hasn't had a lot of testing, so caveat evaluator. In 
 particular:
 
 * I've done very limited testing other than on Safari on Mac. I've checked 
 that it works in most of the major browsers on Windows and Mac, but that's 
 about it!
 
 * At the moment you can only open one window otherwise it breaks (silently!). 
 I'd love some help on the bug that's blocking this from someone who 
 understands nREPL better than me. 
 https://github.com/JonyEpsilon/gorilla-repl/issues/10
 
 * It relies on an internet connection at the moment, at least until it caches 
 various fonts. Need to get in touch with someone at clojars about size 
 limitations.
 
 
 I think there's a lot still to be done, and there are some areas that would 
 really benefit from feedback from clojure developers more experienced than 
 me. Directions I'd love to see explored:
 
 * More work on plotting. Still very green, and much could be improved.
 
 * Incanter integration. If I've understood correctly, Incanter can generate 
 SVG, so shouldn't be too difficult.
 
 * Content-types. Currently values are tagged to indicate they should be 
 rendered specially by the front-end. Is this the right way to do it? What 
 about tagged literals?
 
 * UI as a value. There's a lot that could be done with custom rendering of 
 values. Mathematica is particularly impressive in this regard, and it would 
 be interesting to think where this could go with clojure. I know Kovas Boguta 
 has thought about this a lot.
 
 * Clojurescript! I think this is a _really_ interesting one. I'd love to see 
 a pure-client-version that uses a clojurescript REPL server in a web-worker 
 or similar. I came to write Gorilla through thinking about this angle 
 originally, having previously messed around with javascript based data 
 analysis in the browser (see http://monkeycruncher.org - cute idea, but 
 no-one wants to use js to analyse their data!). In my opinion there's some 
 really important work to be done on opening up analysis - I'd love to publish 
 scientific papers not with a snapshot of my analysis, but with my real, 
 living, breathing analysis in them. And I love to do it on an open, 
 ubiquitous platform :-)
 
 Anyway, let me know what you think. Comments, issues and pull requests all 
 very, very welcome ;-)
 
 
 Jony
 -- 
 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

Re: why Clojure/Lisp is so fast

2014-02-18 Thread Devin Walters
You need to use the lein plugin for no.disassemble, not the dependency. The 
README explains how.

Cheers,
'(Devin Walters)

 On Feb 18, 2014, at 23:16, Andy C andy.coolw...@gmail.com wrote:
 
 Thanks for the insight and link to http://benchmarksgame.alioth.debian.org . 
 
 WRT dynamically typed languages, I have some 5 years experience with Python 
 circa 2.4ish timeframe. I remember that a practical raw speed was not that 
 bad, but still was in average like 10 times slower from C++. Good enough 
 though. We used it along with Twisted to run some performance tests of 
 certain closed source messaging system. I was okay until we started playing 
 with threads/GIL. For obvious reasons it was very taxing and is not even 
 remotely comparable with modern reactive kind of architectures and STM.
 
 I remember someone presented me how common lisp can disassemble compiled code 
 in fly - very impressive it was. Not only the possibility but the quality of 
 a generated machine code as well. Following that experience I ended up trying 
 https://github.com/gtrak/no.disassemble with no beginners luck :-( with first 
 steps with lein ... Any idea what went wrong?
 
 $ cat project.clj 
 (defproject my-project myREPL
   :dependencies [[nodisassemble 0.1.2]])
 
 $ lein repl
 nREPL server started on port 62154 on host 127.0.0.1
 REPL-y 0.3.0
 Clojure 1.4.0
 Docs: (doc function-name-here)
   (find-doc part-of-name-here)
   Source: (source function-name-here)
  Javadoc: (javadoc java-object-or-class-here)
 Exit: Control+D or (exit) or (quit)
  Results: Stored in vars *1, *2, *3, an exception in *e
 
 user= (require 'no.disassemble)
 nil
 user= (in-ns 'no.disassemble)
 #Namespace no.disassemble
 no.disassemble= (println (disassemble (fn [])))
 java.lang.NullPointerException
 at 
 org.eclipse.jdt.internal.core.util.ClassFileStruct.u4At(ClassFileStruct.java:61)
 at 
 org.eclipse.jdt.internal.core.util.ClassFileReader.init(ClassFileReader.java:76)
 
 Andy
 -- 
 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.


Re: Is there a prettify command in emacs for clojure?

2014-02-07 Thread Devin Walters
This is something I stole from Phil Hagelberg's starter kit. 

It doesn't work all the time, and in some cases might do some things you don't 
particularly want, but I still use it:

(defun untabify-buffer ()
  (interactive)
  (untabify (point-min) (point-max)))

(defun indent-buffer ()
  (interactive)
  (indent-region (point-min) (point-max)))

(defun cleanup-buffer ()
  perform a bunch of operations on the whitespace content of a buffer
  (interactive)
  (indent-buffer)
  (untabify-buffer)
  (delete-trailing-whitespace))


(global-set-key (kbd C-c n) 'cleanup-buffer)

The other thing you can do is mark the region you want to clean up and hit TAB. 
It does most of what you want. 

Cheers,
-- 
Devin Walters


On Friday, February 7, 2014 at 4:20 PM, Taylor Sando wrote:

 Let us say you had this:
 
 (defn create-new-canvas-text [inputs]  
   (let [{text-selected-id :new} (dataflow/old-and-new inputs [:design :params 
 :text :selected-id])
 {text-params :new} (dataflow/old-and-new inputs [:design :params 
 :text])
 text-value (:value text-params)
 
 ]
 ;; When there is no previous selected id and there is now non-empty text 
 in the params text
 ;; it means that a new canvas text entry should occur
 (when
 (and (nil? text-selected-id) (not (empty? text-value)))
   ;; Get the previous text entries in canvas
   ;; Create a new key, which will become selected-id
   ;; Add the new text entries into canvas
 (let [{prev-text :new} (dataflow/old-and-new inputs 
 [:design :canvas :text])
   old-keys (keys prev-text)
 new-id (if (seq old-keys) (inc (apply max (keys old-keys))) 0)
 new-text (assoc old-keys new-id (select-keys text-params 
 [:value]))]
 [
  ^:input {msg/topic [:design :params :text :selected-id] msg/type 
 :set-value :value new-id}
  ^:input {msg/topic [:design :canvas :text] msg/type :set-value 
 :value new-text}]))
 
 
 )
 
   )
 
 Is there a way to get it into this:
 
 (defn create-new-canvas-text [inputs]  
   (let [{text-selected-id :new} (dataflow/old-and-new inputs [:design :params 
 :text :selected-id])
 {text-params :new} (dataflow/old-and-new inputs [:design :params 
 :text])
 text-value (:value text-params)]
 ;; When there is no previous selected id and there is now non-empty text 
 in the params text
 ;; it means that a new canvas text entry should occur
 (when (and (nil? text-selected-id) (not (empty? text-value)))
   ;; Get the previous text entries in canvas
   ;; Create a new key, which will become selected-id
   ;; Add the new text entries into canvas
   (let [{prev-text :new} (dataflow/old-and-new inputs [:design :canvas 
 :text])
 old-keys (keys prev-text)
 new-id (if (seq old-keys) (inc (apply max (keys old-keys))) 0)
 new-text (assoc old-keys new-id (select-keys text-params 
 [:value]))]
 [^:input {msg/topic [:design :params :text :selected-id] msg/type 
 :set-value :value new-id}
  ^:input {msg/topic [:design :canvas :text] msg/type :set-value 
 :value new-text}]
 
 
 
 Seems like it would be a combination of indent-sexp, and then identifying 
 unnecessary white space and deleting 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.


Re: ANN: clojure-objc

2014-01-25 Thread Devin Walters
(inc #'your/idea)

I performance related questions similar to Tim, but I think having some good 
getting started material might give me a way to start testing the boundaries 
myself.

Cheers,
'(Devin Walters)

 On Jan 25, 2014, at 17:31, PublicFarley publicfar...@gmail.com wrote:
 
 I'm utterly shocked by the lack of posts and questions about this very cool 
 variation of the Clojure compiler. Think people Develop iOS apps in 
 Clojure! Awesome and fun. I suggest that the author and his team try to see 
 if you can present at ClojureWest. Need to get the word out.
 
 Anyway, quick question to the OP. Can you post an example where you subclass 
 UIViewController and throw up a simple UIView with say a button and delegate 
 method that gets called on button click. Would love to see where and how you 
 do your 'release' calls as well.
 
 I think a simple example like above would give people some understanding on 
 how to really start digging in to clojure-objc.
 
 - PublicFarley
 
 On Friday, January 24, 2014 1:37:01 AM UTC-5, Gal Dolber wrote:
 clojure-objc is a clojure compiler that generates java(instead of bytecode) 
 and uses j2objc(https://code.google.com/p/j2objc/) to translate it to objc.
 
 Goals
  * Write iOS and MacOS apps in clojure
  * Future proof: new features on clojure should be easy to add 
  * Distribute clojure-objc libs using maven
  * Pure clojure libs should 'just work' (if they only use the jre emulated 
 classes)
  * ObjC dynamic interop
  * Run tests in the jvm (with no ObjC interop)
  
 For more information:
 https://github.com/galdolber/clojure-objc
 
 Lein plugin:
 https://github.com/galdolber/lein-objcbuild
 
 Sample project:
 https://github.com/galdolber/clojure-objc-sample
 
 -- 
 -- 
 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.


Re: Security implications of code is data/data is code

2014-01-21 Thread Devin Walters
I would go one step further and say that homoiconicity actually is an 
improvement. There are a dozen ways to shell out in ruby. The syntax is more 
complex on a number of fronts. Cleansing user input in Clojure is simpler. 
Clojure's regularity makes it much simpler to cleanse.

In addition: the jvm is not without its security vulnerabilities, but sand 
boxing on the jvm vs ruby (for instance) is a completely different animal. See 
clojail and other Clojure sand boxing efforts. Compare with other languages.

I ran hundreds of thousands, maybe even millions at this point, of 
s-expressions I found while parsing the logs of the Clojure irc channel in a 
sandbox without fear. (http://GetClojure.org) It's surprising how simple it is 
to tune out potentially naughty user behavior. There were many clever attempts 
at breaking out of the box, but they had no chance against a properly 
constructed whitelist and java security policy.

I've even run them without some of the safety nets in a vm and monitored 
network, io, and potential dos vectors. With a very simple sanitizer you can 
stop a sizable portion of mischievous behavior.

I don't want to downplay what you're saying. We should pay attention to this 
kind of thing. Right now though I would be more concerned about deploy target 
and vm security issues than reading clever user input. Other languages provide 
excess amounts of syntax that makes it difficult to know everything that ought 
to be sanitized. Clojure makes it rather simple IMO. ( =  goes a long way.

2c,
'(Devin Walters)

 On Jan 22, 2014, at 0:14, John Wiseman jjwise...@gmail.com wrote:
 
 I don't think homoiconicity is the issue, except in a very indirect way.
 
 Note that Common Lisp does have a rather annoying, insecure default that did 
 allow the kind of attack you're talking about:  *read-eval* defaults to T, 
 which enables the #. reader macro, which can be used to execute code when 
 reading input.  This could have been bad news at a nuclear weapons labs.
 
 But note that code written in Ruby, PHP, Perl and just about every language 
 has had basically the exact same sort of vulnerability at some point.  It's 
 not homoiconicity that makes it possible (or likely), it's having an 
 interpreter or compiler available.
 
 
 
 On Tue, Jan 21, 2014 at 9:10 PM, Luc Prefontaine 
 lprefonta...@softaddicts.ca wrote:
 Your last statement is incomplete.
 
 It all depends on trust. We do eval at
 runtime of code and data w/o edn
 but we know it comes from a secured
 source.
 
 Doing such thing from an unsecured
 alien source would potentially look insane. Lets not presume about
 the insanity of the designer w/o some deeper analysis :)))
 
 Luc P.
 
  Hi Daniel,
 
  I'm not an expert in security but AFAIK this is not a problem. Every user
  input is a string and you chose how to parse it. There is a edn reader that
  is safe, but you can use specific parsers depending on the input. Of course
  if you read and eval the string anything could happen, but nobody would do
  that.
 
  Best,
  mynomoto
 
  On Tuesday, January 21, 2014 10:22:11 PM UTC-2, Daniel Compton wrote:
  
   I've been thinking for a while about what the security implications are
   for a homoiconic language like Clojure where code is data and data is 
   code.
   What protections do you have against malicious input being automatically
   evaluated by the reader? It seems like every user input would be a 
   possible
   case of 'Clojure injection'. Is this an issue or am I missing something
   really obvious here?
  
   Thanks, Daniel.
  
 
  --
  --
  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.
 
 --
 Luc Prefontainelprefonta...@softaddicts.ca sent by ibisMail!
 
 --
 --
 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

Re: Is Clojure right for me?

2013-12-25 Thread Devin Walters
http://hoplon.io/#/home/ 
http://caribou.github.io/caribou/docs/outline.html

-- 
Devin Walters


On Thursday, December 26, 2013 at 12:26 AM, tao wrote:

 http://pedestal.io/
 http://www.luminusweb.net/
 
 
 -- 
 tao
 Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
 
 
 On Thursday, December 26, 2013 at 5:06 AM, Massimiliano Tomassoli wrote:
 
  Hi,
  I'm not sure if Clojure is the right language for me. I'd like to use 
  Clojure mainly for web development but I don't know if it's already mature 
  enough to be productive. For instance, Scala has Play, Groovy has Grails, 
  etc... If I'm not wrong, Clojure doesn't have a well-established framework 
  for web development. I'm intrigued by Clojure because I like functional 
  programming, but I need to be productive and, alas, I don't have time to 
  learn Clojure just for my pleasure.
  -- 
  -- 
  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 
  (mailto: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 
  (mailto: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 
  (mailto: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 
 (mailto: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 
 (mailto: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 
 (mailto: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.


Re: ANNOUNCE: Cognitect is sponsoring CinC contrib libraries

2013-12-06 Thread Devin Walters
This is great news. Congratulations and many thanks to Cognitect for making it 
possible!

'(Devin Walters)

On Dec 5, 2013, at 14:42, Nicola Mometto brobro...@gmail.com wrote:

 
 I'm happy to announce that after Ambrose BS commissioned me to continue
 working on my CinC libraries as part of his typed-clojure campaign
 (http://www.indiegogo.com/projects/typed-clojure), Cognitect
 (http://cognitect.com/) offered me sponsorship for my work on CinC
 contrib libraries.
 
 The libraries I'm referring to with CinC libraries are:
 * tools.analyzer: https://github.com/clojure/tools.analyzer
 * tools.analyzer.jvm: https://github.com/clojure/tools.analyzer.jvm
 * tools.emitter.jvm: https://github.com/clojure/tools.emitter.jvm
 
 
 I want to thanks Justin Gehtland and Tim Baldridge that helped this
 happen and Alex Miller for his prompt help in setting up the JIRA and
 Hudson workflows.
 
 Thanks again to Ambrose BS and a bit unrelately I want to thanks Andy
 Fingerhut who lately has been a great help to me, trying out
 tools.analyzer[.jvm] and reporting bugs along the way.
 
 Thanks,
 Nicola Mometto (Bronsa)
 
 -- 
 -- 
 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.


Re: [ANN] Cognitect

2013-09-19 Thread Devin Walters
Congratulations. *pops a bottle if champagne*

BTW, the new site looks great.

Cheers,
'(Devin Walters)

On Sep 17, 2013, at 3:01 AM, Mikera mike.r.anderson...@gmail.com wrote:

 Congrats on the new venture - wishing you the best of luck!
 
 On Monday, 16 September 2013 21:50:46 UTC+8, Rich Hickey wrote:
 
 I just wanted to let everyone know that Metadata Partners (the company 
 behind Datomic) and I have merged with Relevance, Inc., to form Cognitect, 
 Inc. This merger is great for Clojure, adding considerable resources and 
 stability to its development and support, including new enterprise support 
 offerings and reinvigorated community support. (You should read the hiring 
 of Alex Miller as the first example of the latter). 
 
 I hope the availability of enterprise support for the entire platform makes 
 it easier for people to introduce Clojure into their organizations. 
 
 This is a very exciting time for Clojure and the platform and ecosystem 
 surrounding it. You can find out more at: 
 
 http://cognitect.com 
 
 Thanks, 
 
 Rich
 
 -- 
 -- 
 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.


Re: [ANN] clojuretip.herokuapp.com

2013-09-07 Thread Devin Walters
As long as you're passing links on the site, check out GetClojure.org. I need 
to add a little about section to the top, but it's a thingy I made to view 
Clojure examples I've gathered. Green means input, green is value, pink is 
output. If you don't wanna add it, no big deal.

Cheers,
'(Devin Walters)

On Sep 7, 2013, at 12:09 PM, Steven Degutis sbdegu...@gmail.com wrote:

 Yesterday in #clojure:
 
 TimMc To get your random API learnin' of the day, just run: (- 
 clojure.core quote the-ns ns-publics seq rand-nth val meta ((juxt :name 
 :doc)) (map println) dorun)
 
 Awesome, right? So I put a lil web wrapper around it and uploaded it to 
 clojuretip.herokuapp.com and https://github.com/sdegutis/clojuretip.
 
 -Steven
 -- 
 -- 
 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.


Re: Why is clojure so powerful?

2013-09-04 Thread Devin Walters
Battle-tested libraries are nice, and Java has a lot of them. Clojure 
programmers can use all of them with relative ease. I recently tried 
Erlang/Elixir and was disappointed in the library ecosystem.

Another answer to why Clojure is powerful is the company it keeps. The people 
who work on Clojure and its ecosystem (libraries, build tools, blog posts, 
screencasts, podcasts, conferences, etc.) are a wonderful group of people who 
have never ceased to amaze me. The creativity, engineering, and generosity. In 
my life I've seldom been a part of such a vibrant and inspiring community.

I struggle to tap this into my phone without more evidence to support it, but 
it seems to me that Lisps just seem to attract the right kind of people. Take 
that on faith or not at all, but I struggle to find a better explanation. The 
technical explanations are all well and good, but It's the people, stupid. 
seems like the best answer I can come up with.

On Sep 4, 2013, at 4:32 PM, Tomislav Tomšić toms...@gmail.com wrote:

 I suspect, there are numerous possible ways to answer that question. One can 
 ignore it, others would care to offer superficial, no it isn't, but I 
 guess, few would answer, it is because clojure is the member of the Lisp 
 family of programming languages. Which immediately invites predictable 
 question.
 
 Why is Lisp so powerful?
 I guesstimate, there are three possible responses on that question. One is to 
 ignore it, second one is to take it as encouragement for further inquiry, and 
 the third one is to say something along the following lines: “It is because 
 of the lists, dummy. Lisp is built on lists.”
 
 Very well then, why are lists so powerful?
 
 Yes, there is answer(s), but as I hope we all know, every answer opens the 
 door for new questions and problems. In other words, we have an, hopefully 
 clear and self-understandable, answer to why is Lisp so powerful, but we are 
 now facing numerous, previously unimaginable choices and opportunities to 
 improve Lisp further, which is the reason why I am putting this message here, 
 in the group dedicated to the new and continually improving member of Lisp 
 programming family.
 
 I hope to solve and clarify as many as I can, but it demands time and other 
 resources, which is why I decided to put answer(s) and reasons for them in a 
 book. It is called “Arrogance of Abstraction”, and it is available through 
 Amazon. Amazon allows, even encourages authors, to put an effort to contact 
 audience. In other words, it will be available for free download from Amazon 
 at following days this month: 2013-09-08 and 2013-09-13. I haven't decided 
 yet at what other days will be available for download. If you have an advice, 
 feel free to put it here.
 
 Thank you for your patience
 Tomislav Tomsic
 -- 
 -- 
 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.


Re: ANN clojure.trace.tools 0.7.6

2013-08-23 Thread Devin Walters
Assuming you meant clojure.tools.trace: https://github.com/clojure/tools.trace, 
right?

On Friday, August 23, 2013 at 1:20 PM, Softaddicts wrote:

 Hi all,
 
 release 0.7.6 is out. It fixes crashes when trace-form(s) encounters a
 throwable without a string based constructor.
 
 This made Clojure asserts crash the tracing tool but other Java throwables 
 could 
 also make trace-form(s) crash.
 
 When doable more information is returned for these odd cases if a
 message string can be provided somehow in the cloned throwable.
 
 Otherwise, no tracing output is generated.
 
 This follows a report from a non contributor about the assert crash but the 
 code
 fix now covers all cases to make sure that the tracing tool remains
 unobtrusive.
 
 Available from Maven in the usual fashion.
 
 Comments/questions welcomed as usual.
 
 Luc P.
 
 --
 Softaddictslprefonta...@softaddicts.ca (mailto:lprefonta...@softaddicts.ca) 
 sent by ibisMail from my ipad!
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.


Re: [ANN] Clojure Cheatsheet for Emacs

2013-08-12 Thread Devin Walters
Could you clarify: Why is that a good goal?

'(Devin Walters)

On Aug 12, 2013, at 12:09 PM, Rostislav Svoboda rostislav.svob...@gmail.com 
wrote:

  The number of cheatsheets is growing (this is a good thing IMO)
 
 It's not about having one brilliant cheatsheet. The ultimate goal is to get 
 rid off them all.
 -- 
 -- 
 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.




Re: Do you like the Clojure syntax?

2013-08-12 Thread Devin Walters
I have to echo previous sentiments. I'm not going to fill out the survey 
because as it currently stands, it seems like it's begging for a conclusion 
that satisfies the author.

I'd like to see more targeted questions w/r/t syntax. But there again, I think 
this kind of question is highly subjective, and likely to provide a narrow view 
of what people *actually* care about in Clojure: writing great programs, being 
inspired to dig deeper, realizing creative potential, etc.

'(Devin Walters)

On Aug 12, 2013, at 7:21 PM, Ramesh ramesh10dul...@gmail.com wrote:

 Great points here!
 
 I think once someone is comfortable with Clojure, Scala will be more 
 disgusting than Java. This is because, Scala has such great adornments, 
 ironically aspiring toward simplification.
 
 -ramesh
 
 
 On Mon, Aug 12, 2013 at 7:58 AM, David Pollak feeder.of.the.be...@gmail.com 
 wrote:
 A couple of quick reactions...
 
 The survey itself is too flat. It's like asking do you like red or 
 green? Well... I like green on my walls, but I like red on my ties.
 
 Scala has macros and a much richer syntax (although doing anything like 
 core.async with Scala macros might be like putting tabsco on an open cut... 
 just sayin') so I don't think the syntax and the macro stuff is a one-to-one 
 mapping.
 
 People learn to work with a variety of syntaxes and are successful with 
 them. Java and C++ have viscously awful syntax, yet they are very popular 
 and most users of the languages don't notice. Both C and Lisp model an 
 abstract computer and have syntax that reflects the computer that they model 
 and to my mind, that helps the user of each language grok the abstract 
 computer they are programming.
 
 I'd like a two-way mapping between a Clojure and an Excel-like formula 
 language. That way people could write one-liner Clojure functions in a 
 syntax that non-programmers are already comfortable with. I'm noodling with 
 something like that right now.
 
 I think Jay and Colin are saying something very, very important: Clojure 
 feels uncomfortable until it feels very comfortable and then there's no 
 going back. I am not yet comfortable with Clojure's syntax, but I totally 
 appreciate it. But I'm doing work in Scala, Java, and Clojure all for pay 
 all in the same week every week... and bouncing among all three makes 
 getting comfortable with Clojure a little slow. Further, I fear (deeply... 
 in my bones) that once I am comfortable with Clojure, doing Scala will be as 
 disgusting as doing Java is after 7 years of Scala. :-(
 
 
 
 On Mon, Aug 12, 2013 at 12:52 AM, Răzvan Rotaru razvan.rot...@gmail.com 
 wrote:
 Hi,
 
 I'm curious about the general opinion on the Clojure syntax, whether people 
 actually like it or just use it because it provides macros. So I would like 
 to ask you to participate in a poll. Thank You.
 
 Here's the link:
 https://docs.google.com/forms/d/1GSgfkeThpUYlgFVzhhNIgA1JbTilu6S9eudq_Sbxl34/viewform
 
 Răzvan
 -- 
 -- 
 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.
 
 
 
 -- 
 Telegram, Simply Beautiful CMS https://telegr.am
 Lift, the simply functional web framework http://liftweb.net
 Follow me: http://twitter.com/dpp
 Blog: http://goodstuff.im
 
 -- 
 -- 
 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

Re: [ANN] Clojure Cheatsheet for Emacs

2013-08-12 Thread Devin Walters
If I could plug into a machine and say I know kung-fu I would agree with you, 
but that is simply not reality. Steps which allow learners to rely less on 
cheatsheets over time are important, but curiously, cheatsheets are one of 
those steps.

'(Devin Walters)

On Aug 12, 2013, at 7:31 PM, Rostislav Svoboda rostislav.svob...@gmail.com 
wrote:

 What would we like to have is a language easy to learn without any
 need for a cheatsheet.
 
 On 13 August 2013 02:10, Devin Walters dev...@gmail.com wrote:
 Could you clarify: Why is that a good goal?
 
 '(Devin Walters)
 
 On Aug 12, 2013, at 12:09 PM, Rostislav Svoboda
 rostislav.svob...@gmail.com wrote:
 
 The number of cheatsheets is growing (this is a good thing IMO)
 
 It's not about having one brilliant cheatsheet. The ultimate goal is to get
 rid off them all.
 
 --
 --
 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.
 
 

-- 
-- 
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.




Re: apply inc

2013-08-11 Thread Devin Walters
Is there an implicit question there? If so, does this 
(https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/IFn.java) 
help?

'(Devin Walters)

On Aug 10, 2013, at 10:55 PM, drclj deepikaro...@gmail.com wrote:

 Thanks everyone, in the apply function source code I see
 
 ([^clojure.lang.IFn f args]
  (. f (applyTo (seq args
 
 
 
 Seems the (applyTo (seq args)) returns arg parameters,
 
 And the f is invoked only once:
 
 (. f args)
 
 
 
 
 
 
 -- 
 -- 
 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.




Re: core.async

2013-07-07 Thread Devin Walters
Interesting post. Thanks Cedric.

'(Devin Walters)

On Jul 6, 2013, at 6:59 PM, Cedric Greevey cgree...@gmail.com wrote:

 The obvious approach is to use a future or other thread as an intermediary 
 between the blocking I/O read and a channel, then use ! on the channel in a 
 go; something like:
 
 (go
   (let [c (chan)]
 (future (!! c (my-blocking-io-read some-stream)))
 (let [thingy (! c)
   (do-something-with thingy
 
 The channel can then be used in alts! and what-not as well, if you want to 
 react to any of several possible next things, only one of which is the I/O 
 read completing and returning a value.
 
 This *does* suggest making a small async.io library that provides a 
 nonblocking read operation that returns a channel, and maybe other related 
 facilities, such as a line-chan that pops line after line from the input I/O 
 source when read from, byte-chan (for binary files), edn-chan (top level edn 
 forms read from input), etc.
 
 
 
 On Sat, Jul 6, 2013 at 3:23 PM, dennis zhuang killme2...@gmail.com wrote:
 It's so cool,great job!
 But i don't find any way to do io blocking operations such as socket.read in 
 'go'.
 Is there a roadmap to make alts! working with java NIO selector that waits 
 on socket channels?
 Then we can read/write data with socket/file channel in go without blocking.
 Thanks,it's really awesome!
 
 
 
 
 2013/7/1 David Pollak dpollak...@gmail.com
 Thanks!
 
 
 On Mon, Jul 1, 2013 at 8:13 AM, Sean Corfield seancorfi...@gmail.com 
 wrote:
 On Sun, Jun 30, 2013 at 4:42 PM, David Pollak dpollak...@gmail.com wrote:
  Looking forward to it
  being published (even as SNAPSHOT) in a Maven repo.
 
 It's accessible like this:
 
 (defproject async 0.1.0-SNAPSHOT
   :description FIXME: write description
   :url http://example.com/FIXME;
   :license {:name Eclipse Public License
 :url http://www.eclipse.org/legal/epl-v10.html}
   :repositories {sonatype-oss-public
 https://oss.sonatype.org/content/groups/public/}
   :dependencies [[org.clojure/clojure 1.5.1]
  [org.clojure/core.async 0.1.0-SNAPSHOT]])
 --
 Sean A Corfield -- (904) 302-SEAN
 An Architect's View -- http://corfield.org/
 World Singles, LLC. -- http://worldsingles.com/
 
 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)
 
 --
 --
 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.
 
 
 
 -- 
 庄晓丹 
 Email:killme2...@gmail.com xzhu...@avos.com
 Site:   http://fnil.net
 Twitter:  @killme2008
 
 
 -- 
 -- 
 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

Re: What the hell is this???

2013-06-30 Thread Devin Walters
Context would help.

On Jun 30, 2013, at 12:46 AM, Cedric Greevey cgree...@gmail.com wrote:

 I'm not sure if this is a bug in clooj or in Clojure itself:
 
 
 Evaluating file...CompilerException java.lang.ClassFormatError: Unknown 
 constant tag 117 in class file [redacted]/core$eval215, 
 compiling:(NO_SOURCE_PATH:156:1034) 
 
 
 What *is* certain is that nothing I type into the source code should be able 
 to cause ClassFormatError. So the bug isn't mine.
 
 Now, someone tell me how to fix 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.
  
  

-- 
-- 
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.




Re: [ANN] lein-pedantic is now deprecated

2013-05-31 Thread Devin Walters
I stopped using it for a week and discovered I won't stay sane for long without 
it. Big (inc) to you.

On Friday, May 31, 2013 at 7:55 AM, Stuart Sierra wrote:

 Hi Nelson, thanks for making lein-pedantic. It has been useful to us. Happy 
 to see it built in to Leiningen!
 -S
 
 
 On Wednesday, May 29, 2013 9:25:22 PM UTC-4, Nelson Morris wrote:
  Good news everybody! As of leiningen 2.2.0 using `lein deps :tree` will 
  perform version checks and version range detection. Therefore, I have 
  deprecated lein-pedantic.  I appreciate all of the users of the plugin that 
  found it useful.
  
  I believe there are two pieces of functionality that do not currently have 
  a replacement:
  1) ability to fail the task when a bad dependency resolution happens
  2) exact instructions of what to place in project.clj to make things work
  
  If you are interested in these, please let me know here, and I'll see about 
  adding them in a future leiningen release. 
  
  -
  Nelson Morris
  
  
 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




[ANN] getclojure.org

2013-05-16 Thread Devin Walters
Hey All,  

I put this ( http://getclojure.org ) together and wanted to share it with all 
of you. It's a nifty way to search for example usage of clojure. It's far less 
curated than ClojureDocs, so you may pick up some interesting ideas by simply 
browsing.

It supports boolean queries like: comp AND juxt and will let you search for 
- (but you must quote it).

If you're interested in contributing: https://github.com/devn/getclojure is the 
place to do it.  

Thanks,
--  
{:∂evin :√valters}

-- 
-- 
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.




Re: [ANN] getclojure.org

2013-05-16 Thread Devin Walters
At the moment, yes. The docstrings are not pretty, but in the end I decided 
that seeing the literal \n was better than pretty printing captured output.  

That being said, I'm not strongly opposed to changing it (patches welcome), but 
right now I think not pretty printing output is good in the 80-90% case.  

Cheers,
--  
{:∂evin :√valters}


On Thursday, May 16, 2013 at 8:18 PM, atkaaz wrote:

 Hi!
 http://getclojure.org/search?q=fixturenum=0
 is it supposed to show the \n inline? it's a bit uncomfy to have to read 
 those on one line
  
  
 On Fri, May 17, 2013 at 4:12 AM, Devin Walters dev...@gmail.com 
 (mailto:dev...@gmail.com) wrote:
  Hey All,  
   
  I put this ( http://getclojure.org ) together and wanted to share it with 
  all of you. It's a nifty way to search for example usage of clojure. It's 
  far less curated than ClojureDocs, so you may pick up some interesting 
  ideas by simply browsing.  
   
  It supports boolean queries like: comp AND juxt and will let you search 
  for - (but you must quote it).
   
  If you're interested in contributing: https://github.com/devn/getclojure is 
  the place to do it.  
   
  Thanks,
  --  
  {:∂evin :√valters}
   
  --  
  --  
  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 
  (mailto: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 
  (mailto:clojure%2bunsubscr...@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 
  (mailto:clojure%2bunsubscr...@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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: [ANN] getclojure.org

2013-05-16 Thread Devin Walters
Not difficult, feel free to submit an issue on the repo.  

Thanks,
--  
{:∂evin :√valters}


On Thursday, May 16, 2013 at 8:32 PM, atkaaz wrote:

 Ok fair enough. I was wondering however how hard would it be to add a button 
 maybe? or a var to the url? (or a button which adds the var to the url - not 
 sure how these are called) which would switch between the default(as it is 
 now) and the pretty printed output (for all the results not just one of them)
  
  
 On Fri, May 17, 2013 at 4:28 AM, Devin Walters dev...@gmail.com 
 (mailto:dev...@gmail.com) wrote:
  At the moment, yes. The docstrings are not pretty, but in the end I decided 
  that seeing the literal \n was better than pretty printing captured output. 
   
   
  That being said, I'm not strongly opposed to changing it (patches welcome), 
  but right now I think not pretty printing output is good in the 80-90% 
  case.  
   
  Cheers,
  --  
  {:∂evin :√valters}
   
   
  On Thursday, May 16, 2013 at 8:18 PM, atkaaz wrote:
   
   Hi!
   http://getclojure.org/search?q=fixturenum=0
   is it supposed to show the \n inline? it's a bit uncomfy to have to read 
   those on one line


   On Fri, May 17, 2013 at 4:12 AM, Devin Walters dev...@gmail.com 
   (mailto:dev...@gmail.com) wrote:
Hey All,  
 
I put this ( http://getclojure.org ) together and wanted to share it 
with all of you. It's a nifty way to search for example usage of 
clojure. It's far less curated than ClojureDocs, so you may pick up 
some interesting ideas by simply browsing.  
 
It supports boolean queries like: comp AND juxt and will let you 
search for - (but you must quote it).
 
If you're interested in contributing: 
https://github.com/devn/getclojure is the place to do it.  
 
Thanks,
--  
{:∂evin :√valters}
 
--  
--  
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 
(mailto: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 
(mailto:clojure%2bunsubscr...@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 
(mailto:clojure%2bunsubscr...@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 
   (mailto: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 
   (mailto: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 
   (mailto: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 
  (mailto: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 
  (mailto:clojure%2bunsubscr...@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 
  (mailto:clojure%2bunsubscr...@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 
 (mailto: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 
 (mailto:clojure+unsubscr...@googlegroups.com

Re: [ANN] getclojure.org

2013-05-16 Thread Devin Walters
Thanks for trying it out!

One hint to people trying it out would be to not put too much stock into the 
first page of results. The plan is to add user ratings to augment search 
results in a meaningful way. At the moment searching for comp will give you 
the most relevant examples like: (comp comp comp comp comp comp), which is 
far from idiomatic or useful. Once ratings are added and weighted appropriately 
the first page of results should start to turn into a more 
idiomatic/instructive stew.  

Cheers,
--  
{:∂evin :√valters}


On Thursday, May 16, 2013 at 9:55 PM, Leon Talbot wrote:

 This project is actually very useful for learning clojure one (or two!) 
 function at a time. Thanks a lot!  
  
 --  
 --  
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: [ANN] getclojure.org

2013-05-16 Thread Devin Walters
IRC logs from the last 5 years and clojuredocs' DB. The examples were run 
through a sandbox against 1.5.1.  

--  
{:∂evin :√valters}


On Thursday, May 16, 2013 at 10:36 PM, Mark Engelberg wrote:

 Where is it getting the examples from?
 --  
 --  
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: [ANN] getclojure.org

2013-05-16 Thread Devin Walters
There are some tweaks required on the analyzer/filter/tokenizer to allow 
certain queries. I wish Michael Klishin of ClojureWerkz fame was here to take a 
peek and offer his elasticsearch advice. ;)  

--  
{:∂evin :√valters}


On Thursday, May 16, 2013 at 10:39 PM, atkaaz wrote:

 nevermind :) it acts the same as - even when -\\
 so I don't know what I was talking about :D
  
  
 On Fri, May 17, 2013 at 6:37 AM, atkaaz atk...@gmail.com 
 (mailto:atk...@gmail.com) wrote:
  like http://getclojure.org/search?q=-\%3E\%3Enum=0 
  (http://getclojure.org/search?q=-%5C%3E%5C%3Enum=0)
   
   
  On Fri, May 17, 2013 at 6:36 AM, Ramesh ramesh10dul...@gmail.com 
  (mailto:ramesh10dul...@gmail.com) wrote:
   Looks like - is not supported. I quoted it!

   http://getclojure.org/search?q=%22-%3E%22num=0

   -ramesh


   On Thu, May 16, 2013 at 6:12 PM, Devin Walters dev...@gmail.com 
   (mailto:dev...@gmail.com) wrote:
Hey All,  
 
I put this ( http://getclojure.org ) together and wanted to share it 
with all of you. It's a nifty way to search for example usage of 
clojure. It's far less curated than ClojureDocs, so you may pick up 
some interesting ideas by simply browsing.  
 
It supports boolean queries like: comp AND juxt and will let you 
search for - (but you must quote it).
 
If you're interested in contributing: 
https://github.com/devn/getclojure is the place to do it.  
 
Thanks,
--  
{:∂evin :√valters}
 
--  
--  
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 
(mailto: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 
(mailto:clojure%2bunsubscr...@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 
(mailto:clojure%2bunsubscr...@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 
   (mailto: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 
   (mailto:clojure%2bunsubscr...@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 
   (mailto:clojure%2bunsubscr...@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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: Utility libraries and dependency hygiene

2013-05-15 Thread Devin Walters
I must admit that I haven't read every response in this thread but my gut 
feeling is that a lot of the I just need a couple of functions situations 
would be mitigated by making non-core devs feel more welcome to suggesting and 
contributing modular contrib ideas. I hate to bring up process because I think 
there is more discussion to be had that is valuable and completely unrelated. I 
know why we have new contrib, but old contrib seemed to inspire smaller 
contributions.
—
Sent via Mobile

On Wed, May 15, 2013 at 6:58 PM, Stuart Sierra m...@stuartsierra.com
wrote:

 On Thu, May 16, 2013 at 8:51 AM, Laurent PETIT laurent.pe...@gmail.comwrote:
 How is the advice of each library re-creating for itself little
 utility functions, again and again, going to address the specific
 concern of made it hard to read code written by anyone else ?

 If the functions are in the same file or project they're easier to find
 when you're browsing the code.
 -S
 -- 
 -- 
 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.




Re: [OT] Re: More idiomatic way to use map like this?

2013-05-04 Thread Devin Walters
I don't think that it's productive to discuss idiomatic code and performance in 
the same breath.

People do all sorts of nasty stuff when trying to squeeze performance juice out 
of their code. In my experience it's rare to see performance-related idioms 
beyond the obvious language-level constructs like type hints and indeed 
loop/recur. When serious performance concerns come into play, idioms are often 
broken via the use of clever tricks.

In the case of loop/recur I think I agree with Tim, Alex, and company.

What you're bringing up is a special case, so to your question I would respond 
with a question: What makes a context-specific performance-related concern 
idiomatic? My guess is very little.

In summary I would say that loop/recur is idiomatic when there is a serious, 
verifiable performance concern, but the overarching idiom is to prefer reduce 
as it's more consistent with Clojure's philosophy and design. Loop/recur is 
kind of like swearing. Reduce is typical conversation.  

2c,
--  
{:∂evin :√valters}


On Saturday, May 4, 2013 at 2:43 PM, Cedric Greevey wrote:

 What about the times when one simply must use loop/recur for performance 
 reasons? Although, one thought I had on that was to write a functional 
 version, and if it's a performance bottleneck, write a loop/recur version and 
 call the latter in performance-critical areas, but also have tests that check 
 that both versions have the same semantics.
  
  
 On Sat, May 4, 2013 at 1:54 AM, Alex Baranosky alexander.barano...@gmail.com 
 (mailto:alexander.barano...@gmail.com) wrote:
  I concur with Timothy's assessment.  Really well stated and illustrated use 
  of reduce with a named reduce function.  
   
   
  On Fri, May 3, 2013 at 10:52 PM, Timothy Baldridge tbaldri...@gmail.com 
  (mailto:tbaldri...@gmail.com) wrote:
   In general, loop/recur shouldn't be considered idiomatic, IMO. Instead, 
   try for a more functional style:


   due = 100
   cards = cards.map do |card|
   card.applied_balance = max(0, due - card.balance)
   due -= card.applied_balance

   becomes (untested):

   (defn apply-balance-1 [{:keys [due] :as accum} [card-id balance]]
 (let [applied (max (- due balance))]
   (- accum  
(assoc-in [:applied card-id] applied)
(assoc-in [:due] due


   (reduce apply-balance-1
   {:due 100}
   {:card-id-1 4404.00
:card-id-2 3020.00
etc})

   Often I have found that using reduce forces me to break functions into 
   several parts. If I used loop/recur, normally the function prelude, 
   postlude and loop block are all smashed into a single function. With 
   reduce + a do-step-1 function (as seen above) we can more easily reason 
   about what is happening. The code is then easier to test as well, as we 
   can test the calculations apart from the loop logic.  

   When I'm performing Clojure code reviews, I often consider loop/recur to 
   be a code smell.  

   Timothy
 



   On Fri, May 3, 2013 at 3:53 PM, Armando Blancas abm221...@gmail.com 
   (mailto:abm221...@gmail.com) wrote:
On Friday, May 3, 2013 1:15:24 PM UTC-7, Robert Pitts wrote:
 Armando was a good citizen and sent along a plain-text version as 
 well – 
 https://groups.google.com/group/clojure/msg/6aae8287bc55d436?dmode=sourceoutput=gplainnoredirect
 
 
That must have been Google Groups doing the right thing... nice feature.
 
--  
--  
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 
(mailto: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 
(mailto:clojure%2bunsubscr...@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 
(mailto:clojure%2bunsubscr...@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 
   (mailto:clojure@googlegroups.com)
   Note that posts from new members are moderated - please be patient with 
   your first post.
   To 

Re: emacs - how to wean me off the family of Java IDEs

2013-05-02 Thread Devin Walters
I agree with you, but personally found that the starter-kit wasn't as divergent 
from the norm as emacs-live and didn't have as many strong opinions. My big 
complaint is really just the rebinding of C-h. It's important for newcomers to 
be able to use that to learn about bindings and so on that are custom. I 
basically just learned how to use the help commands and then extracted the 
portions of the starter kit I wanted over time.
—
Sent via Mobile

On Thu, May 2, 2013 at 11:17 AM, Phil Hagelberg p...@hagelb.org wrote:

 Devin Walters writes:
 Voicing strong disagreement with using emacs-live as a starting
 point. One reason: They rebind a bunch of default emacs bindings,
 which is just fine by me, but C-h to a newcomer is important, and IIRC
 they rebound it.

 I think Phil's emacs-starter-kit modules/packages are a better place to 
 start.
 Eh; even the Starter Kit does way too much. It's a common problem with
 newcomers who pull in these huge packages that bundle lots of unrelated
 functionality together; it's difficult to debug when things don't work
 right since you can't tell where a specific piece of functionality comes
 from.
 These days I recommend pulling in small specific packages for the
 things you want rather than a one-size-fits-all config. It means a
 little more reading and exploring up front, but it pays off in the end.
 I spun off the bare minimum from the Starter Kit into a small, focused,
 actually-documented package called better-defaults.el that might be a
 good starting place:
 https://github.com/technomancy/better-defaults
 I plan on doing more work around documenting useful packages in the
 future along with putting together some kind of high-level ecosystem
 guide, but haven't gotten to it yet. In the mean time, reading the
 source for the Starter Kit can be illuminating, even if you don't use it
 outright.
 -Phil

-- 
-- 
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.




Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Devin Walters
I wasn't able to reproduce: 

nREPL server started on port 64767
REPL-y 0.1.0-beta10
Clojure 1.5.1
...
user= (let [v :#abc]
#_= nil)
nil
user=



-- 
'(Devin Walters)


On Wednesday, May 1, 2013 at 9:22 AM, Dave Sann wrote:

 I came across the following...
 
 ;; = ok;
 (let [v :abc] nil) 
 
 ;; = ok;
 (let [v :abc] 
 nil) 
 
 ;; = ok;
 (let [v :#abc] nil) 
 
 ;; = fail;
 (let [v :#abc] 
 nil) 
 
 
 
 $ lein repl
 nREPL server started on port 33719
 REPL-y 0.1.10
 Clojure 1.5.1
 ...
 
 user= ;; = ok;
 
 user= (let [v :abc] nil) 
 nil
 user= 
 
 user= ;; = ok;
 
 user= (let [v :abc] 
 #_= nil) 
 nil
 user= 
 
 user= ;; = ok;
 
 user= (let [v :#abc] nil) 
 nil
 user= 
 
 user= 
 
 user= ;; = fail;
 
 user= (let [v :#abc] 
 RuntimeException EOF while reading, starting at line 1 
 clojure.lang.Util.runtimeException (Util.java:219)
 
 user= nil) 
 nil
 RuntimeException Unmatched delimiter: ) clojure.lang.Util.runtimeException 
 (Util.java:219)
 
 user= 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: Clojure for Beginners eBook

2013-05-01 Thread Devin Walters
Philosophy mixed with action is the ticket. Godel, Escher, Bach is what I'm 
talking about. 

I'd be happy to receive updates. 

Cheers,
-- 
'(Devin Walters)


On Wednesday, May 1, 2013 at 7:40 PM, Asim Jalis wrote:

 I am planning to write a practical Clojure ebook for beginners, if there is 
 an interest in this. 
 
 If you want to get updates when it is finalized drop me an email. 
 
 The goal will be to help people get productive in Clojure quickly, and start 
 using it to solve real-world problems.
 
 I have taught this as a hands-on course and the ebook would be a way to get 
 this to more people. 
 
 My current thought is to cover these topics:
 
 - How to set up a Clojure project
 - Using the REPL and Lein
 - Clojure Data Structures
 - Sequences and Functional Programming
 - Destructuring
 - Threading Operators
 - Java Interop
 - Macros
 - Concurrency Primitives
 - Creating Command Line Apps
 - Creating Web App
 - Deploying Web Apps on Heroku
 
 Any thoughts or feedback would be great.
 
 Thanks.
 
 Asim 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Devin Walters
Voicing strong disagreement with using emacs-live as a starting point. One 
reason: They rebind a bunch of default emacs bindings, which is just fine by 
me, but C-h to a newcomer is important, and IIRC they rebound it.

I think Phil's emacs-starter-kit modules/packages are a better place to start.


On Wednesday, January 16, 2013 at 9:24 AM, Jay Fields wrote:

 emacs-live is a pretty great starting point. It's the
 'whole-kitchen-sink', but it's great for finding out what you don't
 know.
  
 emacs-rocks videos are good (and short)
  
 I also put off learning it until late last year, and I'm not
 completely converted. I *love* it and would be very unhappy if I
 didn't have it.
  
 I missed the project explorer at first, until I figured out that I can
 C-x C-f and just start typing, and emacs will fuzzy match what I might
 be looking for, including files in directories other than current.
  
 On Wed, Jan 16, 2013 at 10:01 AM, Colin Yates colin.ya...@gmail.com 
 (mailto:colin.ya...@gmail.com) wrote:
  Thanks Alex.
   
  Charlie - I hear you. You are right to (very gently) point out that I
  should embrace new idioms. Boy it is hard though :). I have to say that I
  too found it much less of a shock then I thought. I am very familiar with
  Linux and shell scripts so I had that skillset already which I think helps
  the with the paradigm shift.
   
  I accept your (implicit) challenge - let's continue without a project
  explorer :)
   
   
  On 16 January 2013 14:42, Charlie Griefer charlie.grie...@gmail.com 
  (mailto:charlie.grie...@gmail.com) wrote:


   On Jan 16, 2013, at 7:29 AM, Colin Yates colin.ya...@gmail.com 
   (mailto:colin.ya...@gmail.com) wrote:

   Hi all,

   After 15 off years of using IDEs I am making the jump into Emacs. I have
   read http://dev.clojure.org/display/doc/Getting+Started+with+Emacs and
   https://github.com/technomancy/emacs-starter-kit and I am just at the 
   point
   where I have stopped yelling at paredit and starting to appreciate its
   point.

   My current major stumbling block though is navigating my project. Whilst
   (I expect) the density and sane namespacing capabilities of Clojure to
   significantly reduce the number of files, that isn't true of everything. 
   In
   particular, ExtJS encourages you to follow the one file per class. You
   don't have to but eventually you will have more than a handful of files
   regardless.

   So my questions:
   - is there a decent project explorer. I really miss the tree on the
   left, editor on the right layout
   - is there a decent JS and clojure autocompletion aware plugin
   - other than paredit, nrepl and clojure-mode (and the excellent
   coffee-mode for coffeescript), what other plugins should I install


   Hi Colin:

   No real answers, but I wanted to chime in to say that I'm in the same
   spot. I had been putting off using Emacs until I felt I was ready, but
   then came to realize that the choice to use Emacs is like the choice to 
   have
   kids. If you wait until you're ready, you'll never do it.

   This is week 2 and it's definitely getting better, altho truth be told it
   wasn't nearly as bad last week as I expected it would be. Been working on
   the desktop with a cheat sheet constantly open on my laptop next to me.

   I also miss the project explorer. I'm used to working with multiple files
   at once, having them open in tabs, and being able to easily switch back 
   and
   forth between any of them. I've definitely found that to be a bit jarring 
   in
   Emacs, but trust that at some point I'll get used to the Emacs way 
   versus
   trying to find a plugin to provide a project explorer. I have to remind
   myself that all of the files that I'm working with are there, they're just
   not immediately visible. M-x B will let me go thru the list of files open 
   in
   buffers, even if those buffers aren't visible. It's different, but that's
   where the trust comes in :)

   The biggest issue I find with the lack of a project explorer is when I
   don't know what directory a particular file is in. Emacs provides great
   autocompletion when you're navigating to a particular file in the
   minibuffer, but that presumes you know exactly where the file is.

   I suppose there's always the option of opening a dired buffer (M-x dired)
   or even a shell (M-x shell). That's still not as easy or visual as a
   directory tree, but I think the big issue is that Emacs is really all 
   about
   keeping your hands on the (proper) keys. A shell at least lets you 
   continue
   to type your way around your directory structure to locate a file. A
   directory tree/project explorer would likely require grabbing the mouse 
   and
   clicking down into various directories. It's what we're used to, yes… but
   it's not really, um… idiomatic Emacs :D

   --
   Charlie Griefer
   http://charlie.griefer.com

   Give light, and the darkness will disappear 

Re: [GSoC] Clojure refactoring library and integration in Counterclockwise

2013-04-18 Thread Devin Walters
A few more: 

- Slamhound https://github.com/technomancy/slamhound
- Eastwood https://github.com/jonase/eastwood
- Here's an emacs lisp refactoring mode: 
https://github.com/magnars/clj-refactor.el
- This one is out of date but maybe useful to you: 
https://github.com/joodie/clojure-refactoring

-- 
'(Devin Walters)


On Thursday, April 18, 2013 at 11:54 AM, Malcolm Sparks wrote:

 Michael, 
 
 There are some pre-existing libraries that could give you a headstart in this 
 work :-
 
 tools.reader - can help you parse Clojure source - 
 https://github.com/clojure/tools.reader
 
 tools.namespace can help you parse and manage graphs of namespaces - 
 https://github.com/clojure/tools.namespace
 
 tools.analyzer can help you resolve symbols - 
 https://github.com/clojure/jvm.tools.analyzer
 
 kibit - can help you detect non-idiomatic code - 
 https://github.com/jonase/kibit
 
 Each of these is in active development but you should consider using them in 
 their current state if you can.
 
 Regards,
 
 Malcolm
 
 
 
 
 
 On Thursday, 18 April 2013 07:52:57 UTC+1, Mikera wrote:
  On Tuesday, 9 April 2013 00:05:35 UTC+8, michael holzer wrote:
   
   And now to the part that will be hopefully of broader interest for every 
   Clojure user: 
   What do you expect from a refactoring library or from an IDE providing 
   refactoring tools? 
  
  
  There are a bunch of operations that would be very useful to support: 
  rename var, fix namespace aliases etc. all the usual stuff.
  
  But more important than the actual refactoring operations are IMHO the 
  warnings that the IDE provides. Refactoring activity often causes you to 
  break previously true assumptions (e.g. changing the arity of a function by 
  adding a new parameter, or changing the type of a parameter). Automatically 
  detecting these and providing a warning would be a huge boost to 
  productivity: Otherwise you will only detect the problem when something 
  fails at runtime / test time and you might get left with a particularly 
  nasty stack trace to debug.
  
  I wrote a bit more on this topic in an old blog post you may find 
  interesting:
  http://clojurefun.wordpress.com/2012/09/06/something-i-still-love-about-java/
  
  Apart from that, I think there is some interesting Clojure specific 
  refactoring you might do, e.g. warn on unidiomatic style and offer 
  conversion to a better alternative. I'm thinking of things like:
  
  (let [a (some-condition)] (if a (do ...)))
  = 
  (when-let [a (some-condition)] ..)
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-04-12 Thread Devin Walters
Hi Navgeet,


I'm glad you found codeq-playground helpful. It looks like you've found Rich 
Morin's wiki. Did you also see his codeq-cookbook project?


When you said analysis I had something else in mind: check out 
https://github.com/clojure/jvm.tools.analyzer


I wonder about how that could be used to
add more queryable information during
analysis. At the very least it might spawn
new questions to answer.


I'd also suggest checking out things like
kibit. I have no idea where that will take
you, but I'd be surprised if there aren't some
interesting applications for core.logic.


Clojail is the last one I'll mention. Could some
kind of automated runtime evaluation based on
analysis yield some interesting results?


Just brainstorming here, but best wishes.


Devn
—
Sent via Mobile

On Fri, Apr 12, 2013 at 3:41 PM, Navgeet Agrawal
navgeet.agra...@gmail.com wrote:

 Hi all, I came up across the project idea for a Program analysis suite 
 based on Codeq [1] a week ago and have been working on it since.
 The idea appealed to me instantly, since I had just started to look into 
 program analysis possibilities, and analysing a (or many) repository's 
 version history is a novel approach in itself.
 I have already gone through Datomic, codeq and codeq-playground [2], and I 
 fully understand codeq's schema and the current clojure analyzer. Regarding 
 my experience with clojure, I have been reading through Deuce's [3] source 
 code since a month or two, and I have some experience with Ruby aside from 
 the usual C and C++.
 I am currently going through all of the pages under [4] and there are a lot 
 of ideas suggested there. I am not sure how many of those ideas are 
 suitable for implementation in a program analysis suite, since many of them 
 are about harvesting documentation and metadata from a repository.
 As far as the current clojure analyzer is concerned, I understand that all 
 it does is to harvest the names and sources of all `def` and `ns` forms. 
 While it is possible to analyze furthur and create a tree of codeqs, with 
 leaves consisting of symbols, I am not sure what leverage it provides 
 against getting a diff of a function between two commits.
 Thanks, looking forward to your suggestions.
 [1]: 
 http://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-ProgramanalysissuitebasedonRichHickeysCodeq
 [2]: 
 https://github.com/devn/codeq-playground/blob/master/src/com/thinkslate/codeq_playground/core.clj
 [3]: https://github.com/hraberg/deuce
 [4]: http://wiki.cfcl.com/bin/view/Projects/Codeq
 Navgeet Agrawal
 https://github.com/Navgeet
 -- 
 -- 
 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.




Re: Clojure/West 2013 videos?

2013-04-05 Thread Devin Walters
Responding to this thread only because it seems like the annual roll-call 
thread where we all band together to fight the evils of our world/mailing 
list/internet. I would like to share with you all a story that was passed down 
to me by my great grandfather.

*pulls out his lute and begins to strum*

When I was not more than twelve years of age
I happened upon an ancient scroll

On this tattered parchment I did find
An enchanting parable

It told of the lives of the brave and the mighty

Their silver tongues, their dashing
Their jewel-encrusted goblets flecked with the finest gold

But the text ended most peculiarly, just as for centuries it had been foretold
At the bottom lay a lonely line written, using quill and ink, in bold...

To the finder of this relic, to the scanner of this scroll, we implore you, 
dearest reader: Please Don't Feed The Trolls.

fin.

Now, go tell your children that story and make it stick. Steven Pinker claims 
in his most recent book that we're living in the most civilized era in human 
history. I want to BCC him on this thread and get reaction shot. Perhaps a 
working theory might be that while more people are literate, they think 
commensurately less about what they write and publish.

Oh, and Alex, could we get those videos faster? I am *really* close to proving 
P=NP and solving the banking and energy crises, but wouldn't you know it: My 
research is largely based off of Clojure/west videos. Imagine the whole world 
singing in harmony to the announcement of Javelin and Pedestal. The fate of the 
world rests in your hands!

Seriously though, thanks Alex for everything you do and have done for the 
Clojure community. Lambda Jam looks like it's going to be a great time. Thanks 
for the keeping the midwest Curry.

'∂√v


On Friday, April 5, 2013 at 8:22 PM, Mark wrote:

 Geraldo,
  
 Did you read this thread - including the one from Rich, and also the one 
 below it about patience and little kids?
  
 On Friday, April 5, 2013 6:04:59 PM UTC-5, Geraldo Lopes de Souza wrote:
  14 days from your post and no infoq clojurewest content :(
   
  On Thursday, March 21, 2013 1:29:04 PM UTC-3, Ben Mabey wrote:
   On 3/21/13 10:08 AM, John Gabriele wrote:  
Are there any videos available of the talks recently given at 
Clojure/West?  
 
Is there a central location where these will most likely be found at 
some point?  
 
   Alex can confirm this but my guess is that they will be released on  
   infoq slowly over time.  This is how Strangeloop and the first  
   ClojureWest conference was done.  I wish infoq would publish all of them  
   at once but I understand why they want to let them trickle out (so they  
   always have fresh content).  They tend to release the keynotes first.  

   -Ben  
 --  
 --  
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: Refactoring tools

2013-03-23 Thread Devin Walters
Slamhound does some of what you're looking for.
—
Sent via Mobile

On Sat, Mar 23, 2013 at 8:59 PM, Korny Sietsma ko...@sietsma.com wrote:

 I'd also love something to optimise the ns form - I'm regularly doing
 tasks by hand that could in theory be automated; adding a new
 not-yet-imported library can be quite tedious, it'd be great to be able to
 type (defdb and be able to hit a key combo to add a new :require entry.
  A generalised organise imports would also be nice, to remove unused
 imports, convert :use to :require, turn :refer :all into :as and the
 like.
 Oh, and a pony!  Can I have a pony, too?  :)
 - Korny
 On 23 Mar 2013 14:30, Russell Mull russell.m...@gmail.com wrote:
 I find myself doing that a lot by hand, a tool to help would be very
 useful. Some others that I've thought of are:

 - change between (fn [x] ...) and #(...)
 - pull sexp up to let, or introduce a new let (like introduce variable in
 java et. al)


 On Saturday, March 23, 2013 10:42:10 AM UTC+9, Alex Baranosky wrote:

 I'd really like to see a way to factor to code that uses -/- and back
 again.

 On Fri, Mar 22, 2013 at 12:01 PM, Laurent PETIT lauren...@gmail.comwrote:

 2013/3/22 Daniel Glauser dangl...@gmail.com

 I feel your pain, would love to see some Clojure refactorings. I had
 started working on the 1.3 branch of clojure-refactoring trying to bring 
 it
 up to speed. I met with Tony (the original author of clojure-refactoring)
 and Phil H. at Clojure/West. Tony was very adamant that we ditch his code
 and start over. Currently I'm doing some experimenting with sjacket (
 https://github.com/cgrand/**sjacket https://github.com/cgrand/sjacket)
 trying to see if we could make that work for renaming. Once I'm confident
 that direction will work I'm happy to throw some code up on Github. If
 someone beats me to it then I'd like to contribute to their project.

 I just created a #clojure-refactoring channel up on Freenode to make it
 easier to collaborate. We can rename the node once a name emerges for a 
 new
 project.


 Please note that I've also created a project entry for the Google Summer
 Of Code for this : creating refactoring library + integration of it into
 Counterclockwise : http://dev.clojure.org/**display/community/Project+**
 Ideas#ProjectIdeas-**RefactoringfeatureforCCWotherI**DEshttp://dev.clojure.org/display/community/Project+Ideas#ProjectIdeas-RefactoringfeatureforCCWotherIDEs

 I think writing a refactoring library with more than one client in mind
 (e.g. a command line client as well as an IDE client) is interesting
 because it will help shape its API (for instance, an IDE client will
 usually want to offer a view of the modifications to be applied, thus
 refactoring can have a review step).

 Cheers,

 --
 Laurent



 On Thursday, March 21, 2013 12:12:42 AM UTC-6, Akhil Wali wrote:

 A fairly new project for refactoring Clojure is clj-refactor.el.
 Not too much functionality yet, but supplements clojure-refactoring
 pretty well.
 clj-refactor.el will later interop with nRepl, or that's the plan I
 heard.

 That aside (and I know I'm being redundant), refactoring any Lisp is a
 snap with paredit-mode.
 It doesn't do stuff like renaming a function or exracting a var, but
 I've had some success in making these operations as interactive 
 functions.



 On Thu, Mar 21, 2013 at 8:11 AM, Devin Walters dev...@gmail.comwrote:

 Yeah it sort of bums me out that clojure-refactoring has been in the
 ditch.

 There are a number of tasks to get this back into a good state. The
 plan right now is to take tests (which were mostly failing and using
 outdated dependencies) from the old-test directory and get them passing
 under Midje. Then, get it to play nicely with nrepl and update any elisp
 that needs updating to bring back the clojure-refactoring minor mode.

 If anyone wants to help resurrect this project: https://github.com/**
 de**vn/clojure-refactoring/tree/**cl**ojure-1.5https://github.com/devn/clojure-refactoring/tree/clojure-1.5
  your
 help would be appreciated. I created a new branch and started
 bringing old failing tests over. Feel free to drop me a pull request. 
 Big,
 sweeping commits and tiny typo commits are both equally welcome.

 On Wednesday, March 20, 2013 at 8:22 PM, Dave Kincaid wrote:

 Thanks. It looks like nothing has happened on that in a year and it
 appears to require slime/swank. But it's a start I guess if there isn't
 anything else.

 On Wednesday, March 20, 2013 6:13:30 PM UTC-7, Devin Walters (devn)
 wrote:

  I don't think much has happened with it recently, but I used to use
 https://github.com/joodie/**clojure-refactoringhttps://github.com/joodie/clojure-refactoring
 .

 --
 '(Devin Walters)
 Sent from my Motorola RAZR V3 (Matte Black)

 On Wednesday, March 20, 2013 at 8:05 PM, Dave Kincaid wrote:

 I'm wondering if there are any refactoring tools around for working
 with Clojure projects in Emacs. There seems to be all kinds of other 
 tools
 except for refactoring. I'm

Re: Refactoring tools

2013-03-20 Thread Devin Walters
I don't think much has happened with it recently, but I used to use 
https://github.com/joodie/clojure-refactoring.

-- 
'(Devin Walters)
Sent from my Motorola RAZR V3 (Matte Black)


On Wednesday, March 20, 2013 at 8:05 PM, Dave Kincaid wrote:

 I'm wondering if there are any refactoring tools around for working with 
 Clojure projects in Emacs. There seems to be all kinds of other tools except 
 for refactoring. I'm really looking for simple things like ways to easily 
 rename variables, functions, namespaces, etc. That seems to be the most 
 common thing I'm trying to do. Are there any tools out there to make it 
 easier?
 
 Thanks,
 
 Dave 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: Refactoring tools

2013-03-20 Thread Devin Walters
Yeah it sort of bums me out that clojure-refactoring has been in the ditch.

There are a number of tasks to get this back into a good state. The plan right 
now is to take tests (which were mostly failing and using outdated 
dependencies) from the old-test directory and get them passing under Midje. 
Then, get it to play nicely with nrepl and update any elisp that needs updating 
to bring back the clojure-refactoring minor mode.

If anyone wants to help resurrect this project: 
https://github.com/devn/clojure-refactoring/tree/clojure-1.5 your help would be 
appreciated. I created a new branch and started bringing old failing tests 
over. Feel free to drop me a pull request. Big, sweeping commits and tiny typo 
commits are both equally welcome. 

On Wednesday, March 20, 2013 at 8:22 PM, Dave Kincaid wrote:

 Thanks. It looks like nothing has happened on that in a year and it appears 
 to require slime/swank. But it's a start I guess if there isn't anything else.
 
 On Wednesday, March 20, 2013 6:13:30 PM UTC-7, Devin Walters (devn) wrote:
  I don't think much has happened with it recently, but I used to use 
  https://github.com/joodie/clojure-refactoring.
  
  -- 
  '(Devin Walters)
  Sent from my Motorola RAZR V3 (Matte Black)
  
  
  On Wednesday, March 20, 2013 at 8:05 PM, Dave Kincaid wrote:
  
   I'm wondering if there are any refactoring tools around for working with 
   Clojure projects in Emacs. There seems to be all kinds of other tools 
   except for refactoring. I'm really looking for simple things like ways to 
   easily rename variables, functions, namespaces, etc. That seems to be the 
   most common thing I'm trying to do. Are there any tools out there to make 
   it easier?
   
   Thanks,
   
   Dave 
   
   -- 
   -- 
   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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: What's the point of - ?

2013-03-11 Thread Devin Walters
Consistency in any code base matters, so if you're going to thread, thread in 
similar scenarios.

For me it's kind of like coffee. It's an acquired taste.

'(Devin Walters)

On Mar 11, 2013, at 10:14 AM, Jim foo.bar jimpil1...@gmail.com wrote:

 On 11/03/13 15:08, Dave Kincaid wrote:
 I'm with you. I don't like it personally. Every time I come across it 
 reading code I have to stop and think about what exactly it does.
 
 I didn't use to like it either but after coding rubik's cube I've come to 
 appreciate it more...imagine this:
 
 
 (- cube
   (rotate-left)
   (rotate-up)
   ...
   ...
   ...
   ...
   ...
 )
 
 In other words when you have serious nesting of similar actions, then it does 
 read a lot cleaner...now, having said that, you will find in several Clojure 
 books the same thing without any serious nesting (e.g: (- m :some-key (+ 
 1))). I guess for such occasions it is purely a mater of taste...
 
 Jim
 
 -- 
 -- 
 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.




Re: be.clojure.org: a humble question.

2013-03-11 Thread Devin Walters
One exists here: http://dev.clojure.org/display/community/Clojure+User+Groups 

Cheers,
-- 
'(Devin Walters)


On Monday, March 11, 2013 at 4:19 PM, Rich Morin wrote:

 On Mar 11, 2013, at 14:00, Thomas Goossens wrote:
  In Belgium we are starting up de first Belgian clojure user group. ...
  
  We would like to create a website that will be all about clojure in
  Belgium: meetups, jobs, stories. But we also need a domain name.
  
  So I was wondering whether I could very humbly ask whether it would
  possible to use be.clojure.org (http://be.clojure.org) for this purpose.
  
 
 
 Regardless of how the naming issue works out, I'd like to see a wiki
 page that lists and/or maps all local groups. Where should that be?
 
 -r
 
 -- 
 http://www.cfcl.com/rdm Rich Morin
 http://www.cfcl.com/rdm/resume r...@cfcl.com (mailto:r...@cfcl.com)
 http://www.cfcl.com/rdm/weblog +1 650-873-7841
 
 Software system design, development, and documentation
 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: Improving visibility of clojure-doc.org

2013-03-11 Thread Devin Walters
I assume this has been discussed to death already, but isn't there some way 
to get clojure-doc and clojuredocs to live under the same umbrella?

Another idea I'd like to throw out there:
I have the domains getclojure.org/com. Since clojure-doc.org is all about 
getting clojure, it seems like it might be an appropriate home for 
clojure-doc. At the very least it would kill some of the ambiguity between 
clojuredocs and clojure-doc.

Something to think about,
Devin

On Wednesday, February 27, 2013 12:06:46 PM UTC-6, Michael Klishin wrote:

 Started in October 2012, http://clojure-doc.org is a pretty extensive
 community documentation effort. It covers Clojure, its ecosystem
 and tools and has two key goals:

  * We produce beginner-friendly content
  * It is dead easy to join and help

 Even though recently that hasn't been
 as much activity as in the past, it is not abandoned and continues
 to accumulate useful, beginner-friendly material.

 We constantly get praises from newcomers to Clojure who discover
 clojure-doc.org. Unfortunately, it does not appear even in top 10
 in Google for clojure docs or clojure documentation and
 many community members are not aware of it.

 In part it is less visible because we no longer actively post
 progress reports. Things have settled down and most of changes
 now are small edits and improvements all over the place. It is
 a bit pointless to post progress reports more often than
 once a month or so.

 So I'd like to start a discussion about what can be done about it.
 The community (we have 40 contributors) has worked very hard
 on clojure-doc.org and I'd like to see high profile resources
 (namly clojure.org and leiningen.org) link to it. What would
 it take to convince clojure.org maintainers to do so?

 There are still guides left ot be written (macros, gen-class),
 but overall, I'd say there is no better source of freely available,
 beginner-friendly, hackable (no Clojure CA, everything is developed
 on GitHub [1], content is in Markdown) documentation. All it needs
 is some linking and promotion love.

 One way to help would be to start a campaign such as Mozilla's
 Promote JS [docs]. Unfortunately, unlike Mozilla key contributors
 behind clojure-doc.org largely lack graphic and Web design skills,
 so replicating that campaing is probably not an option.

 Do you have any ideas about how we can make clojure-doc.org more
 visible? Do you know who can help with getting a link from clojure.org?
 Do you think clojure-doc.org is not good enough to be the blessed
 open source documentation resource? Please post your suggestions
 and concerns.

 Improving CDS visibility will benefit the entire community plus all the 
 people who will join it in the future. Most of the work is already done,
 it just needs to be promoted better.

 Thanks you.


 1. https://github.com/clojuredocs/cds

 -- 
 MK

 http://github.com/michaelklishin
 http://twitter.com/michaelklishin
  

-- 
-- 
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.




Problem with Code Dispatch for Anonymous Functions?

2013-03-10 Thread Devin Walters
Could anyone help me understand why the following code is breaking? 

(require '[clojure.pprint :refer [with-pprint-dispatch code-dispatch pprint]])
(with-pprint-dispatch code-dispatch (pprint (read-string (^:once fn* [x] x

IllegalArgumentException Don't know how to create ISeq from: 
clojure.lang.Symbol clojure.lang.RT.seqFrom (RT.java:505)
#(

The #( is not a typo. It starts to print and then fails. Looking at the code, 
it looks like there's an issue here:
(defn- pprint-anon-func [alis]
  (let [args (second alis)
nlis (first (rest (rest alis)))]
(if (vector? args)
  (binding [*symbol-map* (if (= 1 (count args)) 
   {(first args) %}
   (into {} 
 (map 
  #(vector %1 (str \% %2)) 
  args 
  (range 1 (inc (count args))]
((formatter-out ~#(~;~@{~w~^ ~_~}~;)~:) nlis))
  (pprint-simple-code-list alis



I squinted at it for a bit, but I'm not sure what's up. Anyone have any ideas?

Thanks,
-- 
'(Devin Walters)

-- 
-- 
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.




Re: :use an entire namespace full of protocols or stick with :require?

2013-03-10 Thread Devin Walters
I switched to just using (:require) with :as and :refer unless there's a really 
good reason to use :use. It stops me from accidentally making the mistake of 
dropping [my.ns.core :as foo] into a growing (ns (:use …)) form.  

--  
'(Devin Walters)


On Sunday, March 10, 2013 at 3:03 PM, Jonathan Fischer Friberg wrote:

 I would say using :require :as is in almost all cases better.
 However, I think :use is preferred if almost everything done
 in the current namespace depends on the used namespace.
 Though, no more than one namespace should ever be imported
 with :use in the same namespace.
  
 In your case I think it's acceptable to :use the namespace with
 protocols - but no more. Also, :use :only is to be avoided almost
 as much as :use. I tend to use :use :only for common functions
 that are not in core. clojure.java.io/resource 
 (http://clojure.java.io/resource) being the most common
 one.
  
 Jonathan
  
  
 On Sun, Mar 10, 2013 at 1:40 PM, Alex Baranosky 
 alexander.barano...@gmail.com (mailto:alexander.barano...@gmail.com) wrote:
  From experience in your case (300+) I'd use require/as with a small prefer 
  like p/ .
   
   
  On Sun, Mar 10, 2013 at 5:10 AM, Jim - FooBar(); jimpil1...@gmail.com 
  (mailto:jimpil1...@gmail.com) wrote:
   On 10/03/13 12:03, Marko Topolnik wrote:
I came to prefer one-letter prefix for a common ns over no prefix at 
all. Once you get accustomed to it, prefixless fns start looking 
wrong, and the overhead of two chars is something we can live with.
   yes I agree with you 100%...this is my approach as well for 'useful' 
   namespaces...for example a hypothetical utilities.clj is good if it's 
   aliased uniformly across namespaces as 'ut'...do you do the same with 
   your abstractions? do you always alias your protocols.clj? my question is 
   specific to protocols as they will only be used in a couple of places, 
   mainly in the 'concretions' namespace...to be honest, at the moment I'm 
   using :refer :all simply because I'd need the characters 'pro/' more than 
   300 times in that namespace...it would actually make readability worse in 
   my opinion...


   Jim

   --  
   --  
   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 
   (mailto: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 
   (mailto:clojure%2bunsubscr...@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 
   (mailto:clojure%2bunsubscr...@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 
  (mailto: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 
  (mailto:clojure%2bunsubscr...@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 
  (mailto:clojure%2bunsubscr...@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 
 (mailto: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 
 (mailto: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 
 (mailto: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

Re: Problem with Code Dispatch for Anonymous Functions?

2013-03-10 Thread Devin Walters
After discussing with a couple of folks in IRC (big thank you to hyPiRion for 
his help), I opened a ticket to address this bug here: 
http://dev.clojure.org/jira/browse/CLJ-1181 

Long story short, ((formatter-out ~#(~;~@{~w~^ ~_~}~;)~:) nlis) expects 
nlis to be a sequence, but in the case of (^:once fn* [x] x) it is a symbol.

Thanks,
-- 
'(Devin Walters)


On Sunday, March 10, 2013 at 3:36 PM, Devin Walters wrote:

 Could anyone help me understand why the following code is breaking? 
 
 (require '[clojure.pprint :refer [with-pprint-dispatch code-dispatch pprint]])
 (with-pprint-dispatch code-dispatch (pprint (read-string (^:once fn* [x] 
 x
 
 IllegalArgumentException Don't know how to create ISeq from: 
 clojure.lang.Symbol clojure.lang.RT.seqFrom (RT.java:505)
 #(
 
 The #( is not a typo. It starts to print and then fails. Looking at the 
 code, it looks like there's an issue here:
 (defn- pprint-anon-func [alis]
   (let [args (second alis)
 nlis (first (rest (rest alis)))]
 (if (vector? args)
   (binding [*symbol-map* (if (= 1 (count args)) 
{(first args) %}
(into {} 
  (map 
   #(vector %1 (str \% %2)) 
   args 
   (range 1 (inc (count args))]
 ((formatter-out ~#(~;~@{~w~^ ~_~}~;)~:) nlis))
   (pprint-simple-code-list alis
 
 
 
 I squinted at it for a bit, but I'm not sure what's up. Anyone have any ideas?
 
 Thanks,
 -- 
 '(Devin Walters)
 

-- 
-- 
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.




Re: [ANN] Complete authentication app using Compojure and lib-noir

2013-03-08 Thread Devin Walters
Double that. Thanks Xavi! 

-- 
'(Devin Walters)


On Friday, March 8, 2013 at 11:15 AM, Paul deGrandis wrote:

 Cool!  Thanks for building a nice example app.
 
 Paul
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: [ANN] Javelin, spreadsheet-like FRP for ClojureScript

2013-02-20 Thread Devin Walters
Surprised this hasn't gotten more attention. Well done. Looking forward to 
using this on future projects.

'(Devin Walters)

On Feb 20, 2013, at 1:33 AM, Alan Dipert a...@dipert.org wrote:

 Hi all,
 We recently released a ClojureScript library for FRP called Javelin.  Links 
 of interest: 
 
 * Release announcement: 
 http://tailrecursion.com/blog/2013/02/15/introducing-javelin-an-frp-library-for-clojurescript/
 * Demos (more on the way): http://tailrecursion.com/~alan/javelin-demos/
 * GitHub project: https://github.com/tailrecursion/javelin
 
 In a nutshell, Javelin is an abstract spreadsheet that encourages working 
 with concrete values instead of abstract event streams a la FRP.  It supports 
 discrete propagation, which most FRP implementations provide as the event 
 stream, via the ability to toggle cells between discrete/continuous 
 propagation modes.  Cell mutation semantics are those of ClojureScript atoms.
 
 We have ported Javelin's core to a ref-based Clojure implementation capable 
 of parallel propagation and hope to release it soon.  Among other things, our 
 hope is to use it to process Prismatic graph [1] -compatible workflows 
 reactively.  If you are using graph or flow [2] and are interested in 
 reactive processing, and wouldn't mind helping us with performance testing, 
 drop me a line. 
 
 Thanks for giving Javelin a look! I look forward to your feedback and 
 collaboration.
 
 Alan
 
 1. https://github.com/Prismatic/plumbing
 2. https://github.com/stuartsierra/flow
 
 
 
 
 -- 
 -- 
 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.




Re: [ANN] Javelin, spreadsheet-like FRP for ClojureScript

2013-02-20 Thread Devin Walters
I think Alan provided more than enough info in his announcement. FRP 
(Functional Reactive Programming) is a pretty well-known acronym 'round these 
parts, and the links he provides go a long way toward giving context to FRP 
beginners. 

In any event, I'm going to go ahead and assume TLA refers to the Textile Labour 
Association.


On Wednesday, February 20, 2013 at 7:17 PM, Rich Morin wrote:

 On Feb 20, 2013, at 1:33 AM, Alan Dipert wrote:
   We recently released a ClojureScript library for FRP ...
  
 
 
 
 On Feb 20, 2013, at 17:02, Devin Walters wrote:
  Surprised this hasn't gotten more attention. Well done.
  Looking forward to using this on future projects.
  
 
 
 Indeed. I'm a big fan of FRP:
 
 Fibre-reinforced plastic (FRP) (also fibre-reinforced polymer)
 is a composite material made of a polymer matrix reinforced with
 fibres. The fibres are usually glass, carbon, basalt or aramid,
 although other fibres such as paper or wood or asbestos have
 been sometimes used. The polymer is usually an epoxy, vinylester
 or polyester thermosetting plastic, and phenol formaldehyde
 resins are still in use. FRPs are commonly used in the aerospace,
 automotive, marine, and construction industries.
 
 -- http://en.wikipedia.org/wiki/Fibre-reinforced_plastic
 
 Knowing that I can use it from Clojure will certainly influence
 my design plans for upcoming projects. Seriously, folks, please
 add a (brief) explanation of TLAs and such in your announcements.
 
 -r
 
 -- 
 http://www.cfcl.com/rdm Rich Morin
 http://www.cfcl.com/rdm/resume r...@cfcl.com (mailto:r...@cfcl.com)
 http://www.cfcl.com/rdm/weblog +1 650-873-7841
 
 Software system design, development, and documentation
 
 
 -- 
 -- 
 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 
 (mailto: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 
 (mailto: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 
 (mailto: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.




Re: ANN Titanium, a Clojure library on top of Titan

2013-02-11 Thread Devin Walters
Another day, another great clojurewerkz library. Well done, gents. *golf clap*

'(Devin Walters)

On Feb 11, 2013, at 11:37 AM, Michael Klishin michael.s.klis...@gmail.com 
wrote:

 Titanium [1] is a Clojure graph library that is built on top of  Titan [2].
 It combines a Clojure-friendly API and graph processing DSL with the power of 
 Titan.
 
 Full announcement and more details:
 http://blog.clojurewerkz.org/blog/2013/02/11/introducing-titanium/
 
 1. http://titanium.clojurewerkz.org
 2. http://thinkaurelius.github.com/titan/
 -- 
 MK
 
 http://github.com/michaelklishin
 http://twitter.com/michaelklishin
 -- 
 -- 
 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.




Re: Clojure + Web Services + Web Sockets

2013-02-11 Thread Devin Walters
Check out browserchannel: http://thegeez.net/2012/04/03/why_browserchannel.html

Cheers,
'(Devin Walters)

On Feb 11, 2013, at 5:22 PM, Bob Hutchison hutch-li...@recursive.ca wrote:

 
 On 2013-02-11, at 6:12 PM, Ryan T. arekand...@gmail.com wrote:
 
 Unless someone has to suggest something better, it seems that the best way 
 to achieve what i want is to use aleph which allows you to initialize it 
 with a wrapped ring handler. 
 
 You might have a look at http://http-kit.org/ 
 
 Cheers,
 Bob
 
 
 If you have more details on the issue or alternatives I would love to hear 
 about them.
 
 On Tuesday, February 12, 2013 12:54:53 AM UTC+2, Ryan T. wrote:
 
 Hello,
 
 I am trying to figure out how to setup my clojure project in order to be 
 able to serve both normal http requests which will return json and also 
 handle requests over websockets. Is it possible to do both and listen on 
 same port? or do i need two separate projects? or ?
 
 I did find this but from what I read Webbit is not the best solution for 
 what I need. I was hoping to be able to build my clojure project and use 
 jetty in development and tomcat on production.
 
 Thank you for your time
 
 
 -- 
 -- 
 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.




Re: Can't use Clojure 1.5 with emacs and swank

2013-02-11 Thread Devin Walters
That's definitely the issue. Switch to nrepl or see if there's an updated 
swank-clojure. I switched and it took some getting used to and hackery to get 
it working like my swank setup did, but I think it was worth it.

'(Devin Walters)

On Feb 11, 2013, at 5:01 PM, David Nolen dnolen.li...@gmail.com wrote:

 I'm not sure if swank-clojure has been patched for 1.5, I believe the line  
 column information changes might have broken things.
 
 nrepl.el works pretty well as a replacement and development seems to be 
 moving along pretty quickly.
 
 David 
 
 
 On Mon, Feb 11, 2013 at 5:53 PM, JvJ kfjwhee...@gmail.com wrote:
 I added 1.5.0-beta13 to my lein project file, and now I get something like 
 this when I try M-x clojure-jack-in
 
 
  signal(error (Could not start swank server: ...etc...
 
 
 Does anyone know what I should do about this?
 
 Thanks.
 -- 
 -- 
 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.




Re: Looking for testimonials and feedback on ClojureWerkz projects

2013-01-25 Thread Devin Walters
Without a doubt the best documented effort in the Clojure community to-date. 
Specifically, my experience with elastisch. Thanks for your work. It's a huge 
step in the right direction.

'(Devin Walters)

On Jan 25, 2013, at 7:55 PM, Michael Klishin michael.s.klis...@gmail.com 
wrote:

 We are looking for testimonials and general feedback about
 ClojureWerkz (http://clojurewerkz.org) projects. So if you use
 one of our libraries (Monger, Elastisch, Langohr, Welle, Neocons, anything), 
 please consider telling us a bit about what you use
 it for, what is great and what sucks.
 
 More information on our blog:
 http://blog.clojurewerkz.org/blog/2013/01/26/how-do-you-use-clojurewerkz-projects/
 
 Thank you!
 -- 
 MK
 
 http://github.com/michaelklishin
 http://twitter.com/michaelklishin
 -- 
 -- 
 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 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




Re: [ANN] Formative - render, parse, and validate web forms

2013-01-16 Thread Devin Walters
Looks interesting, and well-documented. I will give this a try on my next 
project.

Thanks!


On Wednesday, January 16, 2013 at 10:31 AM, Justin Kramer wrote:

 So I went ahead and implemented the first solution I mentioned: the default 
 renderer now groups fields into fieldsets, split by :heading and :submit 
 fields. Each fieldset has a class that you can target with css/js. You can 
 see the result in the demo - http://formative-demo.herokuapp.com/.
  
 Justin
  
 On Wednesday, January 16, 2013 8:35:54 AM UTC-5, hutch wrote:
   
  This is *really* interesting! I'll have a look at this more closely over 
  the next couple of days, but, really, the timing could not be better… you 
  might have just tipped a project I'm working on over to Clojure :-)
   
  It looks as though you've not put any kind of 'structure' on the fields… 
  they are 'flat'. For example, I don't see fieldsets. One of my projects has 
  its forms in two parts, the input fields which scroll (and have fieldsets) 
  and a second part that consists of things like the submit and cancel 
  buttons. The second part is pulled into a sidebar and fixed on the page 
  (doesn't scroll with the rest of the fields). These forms can be a bit long 
  (but they are a lot more usable than you'd think), so there's also an index 
  in the sidebar that on click moves the scrollable part to make the 
  corresponding fields come into view. In my current project these indexed 
  things aren't fieldsets but they could be. Alternatively, some other kind 
  of grouping structure could be used. Or possibly just a new field type that 
  created an index entry… I'll have a muck about and see what I can come up 
  with.
   
  Cheers,
  Bob
   

   Justin


   --  
   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 post to this group, send email to clojure@googlegroups.com 
 (mailto: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 
 (mailto: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 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

Re: Convincing employer to go for Clojure

2013-01-07 Thread Devin Walters
You say an employer without saying our employer. Without a doubt, a *team* 
must be convinced of Clojure first. 

Assuming your team is convinced, then my argument is this: You will attract 
better, smarter people by shifting your company toward Clojure. Avoiding it is 
comfortable, but ignoring it will set you back on talent. That's the strongest 
argument IMO. It's not just about the benefits of using Clojure; it's the cost 
of not choosing it when good developers are in short supply.

Anecdote: I attend a fair number of user groups in my area, and one thing is 
for certain: I'd sign off on hiring, with rare exception, the men and women 
I've met at Clojure user groups. I can't currently say the same for most other 
communities I'm involved with. They're a hungry, open-minded, and talented 
bunch.

Cliche: Wasting developer time is expensive, but wasting developer passion is 
unforgivable. 

Pragmatism: Anyway, don't ask for permission. If your team is on board with 
Clojure and your team does good work in it, then skip the approval process and 
get to programming. If everyone leaves the company tomorrow, your employer will 
be better off hiring Clojure programmers than they will be hiring .NET 
programmers. Passionate people make the world go 'round.

Cheers,
-- 
'(Devin Walters)


On Monday, January 7, 2013 at 5:02 PM, David Jacobs wrote:

 Hey guys,
 
 As someone who's written Clojure for a couple of years now, I would love to 
 convince my new company to build our platform using Clojure from the start. 
 Clojure is certainly a possibility for our small team, but a few questions 
 will have to be answered before I can convince everyone that Clojure is worth 
 using:
 
 1. Would it be harder to hire if we built our apps with Clojure? More 
 specifically: Hiring for people who know about or already love Clojure/FP is 
 certainly a nice filter for talent, but is it too stringent of a filter? What 
 percentage of the Clojure community wants to code Clojure professionally but 
 isn't right now? Do we have metrics on that?
 
 2. What are good examples of complex domains that have been tackled with 
 Clojure web apps and API layers?
 
 3. What major road blocks have teams discovered at the edges of Clojure 
 (keeping in mind that perhaps several of these problems could be solved using 
 native Java calls)?
 
 What other tips do you have for convincing an employer that Clojure makes 
 good business sense? (Of course I've already told them about domain-tailored 
 abstractions, containing complexity, the ease of data manipulation with a 
 functional language, etc.)
 
 Best,
 David
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: How to structure a Clojure day for noobs?

2012-12-16 Thread Devin Walters
I think showing people how metadata works usually makes people start dreaming, 
and exposes them to docstrings and arglists which I think is crucial to 
self-directed learning.

So, I think I'd show them: (doc ...), and then show how that is metadata, and 
for quicker folks you could show how to add metadata, use ns-publics which 
means introducing var-quote, etc.

There's a lot in that exercise that's exciting IMHO. If you want help 
organizing something like that ping me privately.

Cheers,
'(Devin Walters)

On Dec 16, 2012, at 2:44 PM, Marko Topolnik marko.topol...@gmail.com wrote:

 
 My plan was to do something like this:
 
 First half of the day
 
 1. install Leiningen and learn the basics
 2. get everyone an editing environment, with the option of using either 
 Emacs, IntelliJ, or Eclipse
 3. teach the basics and let everyone follow along in their own environment
 
 Second half of the day
 
 Either: solve a smaller problem, like Game of Life, Langton's ant, or 
 something similar
 or: just build a Compojure web app, and incrementally improve this, and have 
 it deployed in CloudBees or Heroku
 
 Given this choice I'd go with the web app because it 
 has greater impact (a publicly visible app) and 
 doesn't involve the dullness of desktop GUI 
 There are a few basic things that I think they need to see:
 how do I get started
 how is code modularized and packaged
 how can it be deployed and executed
 how does Java interop work
 how do I handle the regular problems I have previously used for-loops to solve
 Quite a good plan. Of course, don't forget the REPL :) 
 -- 
 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 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

Re: Is There A Way To Exit ClojureScript REPL

2012-12-10 Thread Devin Walters
Have you tried :cljs/quit ? 

Cheers,
-- 
'(Devin Walters)


On Monday, December 10, 2012 at 3:23 PM, Asim Jalis wrote:

 Is there a way to exit the ClojureScript REPL? None of these worked: Ctrl-D, 
 exit. (exit 1), quit, (quit 1). So eventually I killed the window. 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: with-open and line-seq

2012-10-27 Thread Devin Walters
Yeah, `read-lines` is what I was referring to. 

-- 
Devin Walters


On Friday, October 26, 2012 at 9:10 PM, Andy Fingerhut wrote:

 Devin, did you mean read-line from the old clojure.contrib.io 
 (http://clojure.contrib.io)?
 
 http://clojuredocs.org/clojure_contrib/clojure.contrib.io/read-lines
 
 Click the + symbol next to Source to see source code, also available here:
 
 https://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L302
 
 Andy
 
 On Oct 26, 2012, at 5:23 PM, Devin Walters wrote:
 
  I usually wind up with the line-seq from old contrib. Could you be more 
  clear about what isn't satisfying about that? For me it usually boils down 
  to: it's unsatisfying that core line-seq doesn't do that by default.
  
  '(Devin Walters)
  
  On Oct 26, 2012, at 6:45 PM, Dave Ray dave...@gmail.com 
  (mailto:dave...@gmail.com) wrote:
  
   Hi,
   
   At work I've had a few conversations about treating files, especially
   large ones, as seqs of lines. In particular, the apparent conflict
   between using clojure.core/with-open to ensure a file is closed
   appropriately, and clojure.core/line-seq as a generic sequence of
   lines which may be consumed by code that has no idea it's coming from
   a file. I've been told [1] that C# solves this problem because the
   IEnumerator interface is disposable so it's possible to clean up the
   underlying file, even if it's been wrapped in several layers of
   enumerators... and that since Clojure doesn't do this, it's flawed :)
   
   Thoughs? I'm aware of the custom seq that closes the file when the
   end is reached hack, but that doesn't seem very satisfying. How do
   others process large files in Clojure? Just make sure that the
   sequence is totally consumed within with-open? Just don't worry about
   closing files?
   
   Cheers,
   
   Dave
   
   
   [1] My C# experience is limited to a few days of writing example code
   for the C# bindings of a product's API. :)
   
   -- 
   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 
   (mailto: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 
   (mailto: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 post to this group, send email to clojure@googlegroups.com 
  (mailto: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 
  (mailto: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 post to this group, send email to clojure@googlegroups.com 
 (mailto: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 
 (mailto: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 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

Re: with-open and line-seq

2012-10-26 Thread Devin Walters
I usually wind up with the line-seq from old contrib. Could you be more clear 
about what isn't satisfying about that? For me it usually boils down to: it's 
unsatisfying that core line-seq doesn't do that by default.

'(Devin Walters)

On Oct 26, 2012, at 6:45 PM, Dave Ray dave...@gmail.com wrote:

 Hi,
 
 At work I've had a few conversations about treating files, especially
 large ones, as seqs of lines. In particular, the apparent conflict
 between using clojure.core/with-open to ensure a file is closed
 appropriately, and clojure.core/line-seq as a generic sequence of
 lines which may be consumed by code that has no idea it's coming from
 a file. I've been told [1] that C# solves this problem because the
 IEnumerator interface is disposable so it's possible to clean up the
 underlying file, even if it's been wrapped in several layers of
 enumerators... and that since Clojure doesn't do this, it's flawed :)
 
 Thoughs? I'm aware of the custom seq that closes the file when the
 end is reached hack, but that doesn't seem very satisfying. How do
 others process large files in Clojure? Just make sure that the
 sequence is totally consumed within with-open? Just don't worry about
 closing files?
 
 Cheers,
 
 Dave
 
 
 [1] My C# experience is limited to a few days of writing example code
 for the C# bindings of a product's API. :)
 
 -- 
 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 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


Re: math

2012-10-09 Thread Devin Walters
As long as we're talking about docs lately, I would like to underscore that the 
transition to modular contrib is still confusing to newcomers. Sorry to hijack 
the OP's thread, but I think this needs to be dealt with. Suggestions on how to 
make this more visible or negate the need for understanding altogether?

'(Devin Walters)

On Oct 9, 2012, at 9:44 PM, Mark Engelberg mark.engelb...@gmail.com wrote:

 https://github.com/clojure/math.numeric-tower
 [org.clojure/math.numeric-tower 0.0.1]
 
 
 
 
 On Tue, Oct 9, 2012 at 7:38 PM, Brian Craft craft.br...@gmail.com wrote:
 I need some basic math functions, e.g. floor. I see there are some in 
 contrib, but I'm unable to figure out the status of contrib. Seems like it's 
 deprecated, or in transition, or something? 
 -- 
 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 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 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

Re: A Performance Comparison of SBCL Clojure

2012-09-07 Thread Devin Walters
+1 -- Andy, thanks.


On Friday, September 7, 2012 at 11:32 AM, Stuart Sierra wrote:

 Just wanted to say thanks for putting in all the work on the shootout 
 programs, Andy.
 
 On Friday, September 7, 2012 1:12:44 AM UTC-7, Andy Fingerhut wrote:
  All Clojure programs within 4x the run time of the
  corresponding Java programs, averaging around 2.5x the run
  time of Java.
 
 
 That's pretty darn good.
 
  Lesson I've learned: If you've got an inner loop of your
  program that you really really need to run faster, code it
  in Java, C, or even assembler. Use profiling tools to find
  those spots, rather than guessing where you think they
  might be. 
 
 
 Agreed.
 
 -S
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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


Re: slurp on over slow HTTP crashes clojure?

2012-07-19 Thread Devin Walters
I've had this issue when the network I was on was way overloaded. It seems like 
it might be nice to have it at least fail gracefully. IIRC I switched to using 
the http lib. It seems like at the very least a graceful failure from slurp 
would be an improvement.

Cheers,
'(Devin Walters)

On Jul 18, 2012, at 11:14 AM, the80srobot a...@ingenious.cz wrote:

 Hello,
 
 I apologize if this isn't the right place to post this.
 
 I've seen slurp exhibit some very strange behavior when querying a particular 
 URL at certain times of day - it seems that a call to slurp as such:
 
 (slurp http://support.clean-mx.de/clean-mx/viruses.php?limit=0,150;)
 
 will crash clojure if that site is particularly slow to load. Downloading the 
 same URL using curl succeeds eventually and the download is just over 2 MB, 
 which shouldn't cause Java to run out of memory, but nevertheless that is 
 what seems to be happening, as the following is sometimes thrown before the 
 REPL dies:
 
 Exception in thread Thread-12 java.lang.OutOfMemoryError: Java heap space
 Bye for now!
 
 I haven't been able to recreate this issue with other URLs. I realize this 
 isn't much to go on, but has anyone else encountered this problem before?
 
 -Adam
 -- 
 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 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

Re: Reducers

2012-06-27 Thread Devin Walters
Christian: Thank you for asking for additional reading material.
Nicolas: Thank you for providing additional reading material.


On Thursday, May 10, 2012 at 7:02 AM, nicolas.o...@gmail.com wrote:

 I can describe the background to understand my last email.
 
 From the programming point of view, I have been told since yesterday
 that what I explained has already been explained better in Stream
 Fusion From Lists to Streams to Nothing at All from Coutts
 Leschinskiy and Stewart:
 
 metagraph.org/papers/stream_fusion.pdf 
 (http://metagraph.org/papers/stream_fusion.pdf)
 
 The article is very clear if you can get used to the strange Haskell
 syntax and its lack of brackets.
 
 off-topic
 From the cultural/theoritical point of view, there is quite well
 understood link between data-structures and
 some categorical structures.
 ( I try stay informal and put fancy names and link to definitions
 inside brackets )
 
 Types of finite recursive data structures (think of a list) are
 defined by being the smallest solution to an
 equation like List = 1 + Any x List. Here 1 means the type that
 contains only nil, Any means the type of anything, x corresponds to a
 pair and + to a choice. So this reads: a list is either nil or a pair
 of anything and another list.
 Being the smallest solution means that it contains only finite 
 data-structures.
 ( http://en.wikipedia.org/wiki/Initial_algebra )
 
 An element of such a type is characterised by how they can be reduced/folded.
 ( http://en.wikipedia.org/wiki/Catamorphism )
 fold: forall A, List - ((1 + Any x Acc) - Acc) - Acc
 Meaning that there is a one to one mapping between lists and functions of 
 type:
 forall Acc, ((1 + Any x Acc) - Acc) - Acc
 This is the type of #(reduce _ l): you give it a function that takes
 either no arguments and give you
 an initial Accumulator or take an element of the list and and the last
 Accumulator and returns a new Accumulator, and it returns the last
 Accumulators.
 
 This one to one correspondence can be seen as (reduce _ l) in one
 direction and #(_ (fn [p] (and p (apply cons p))) in the other
 direction.
 
 This definition of lists (as functions) has been used in programming
 languages without data constructors.
 ( System F for example, http://en.wikipedia.org/wiki/System_F ).
 
 If you look to infinite data structures, like Streams, they are the
 biggest solutions of similar equations:
 Stream = 1 + Any x Stream (if you accept a Stream can finish early)
 
 They are dual (which means you invert all arrows in all definitions) to Lists.
 ( see Final Coalgebra in http://en.wikipedia.org/wiki/Initial_algebra )
 
 A stream is characterised as how it is unfolded/generated.
 unfold : forall B, (B - 1 + Any x B) - B - Stream
 (See how the arrows are reversed with respect to fold)
 And so they are in one to one correspondence with :
 exists Seed, (Seed x (Seed - 1 + Any x Seed))
 
 Which means any Stream can be defined as a Seed, of a given type Seed
 that you can choose freely,
 and a way to grow from the seed, a function grow that takes a Seed and
 tells you:
 - either that the Stream is finished
 - or the first element of the Stream and the Seed for the rest of the Stream.
 
 For example the stream of even natural numbers can be seen as the seed
 0 together with a function
 grow = (fn [ seed ] [ seed (+ seed 2) ]), saying that first element
 is equal to the seed and the rest of the stream
 is the one defined by a seed = seed + 2 .
 
 A very good paper showing this style of programming, and more, is :
 
 http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf
 /off-topic
 
 Sorry for the long off-topic.
 
 Best regards,
 
 Nicolas.
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: General subsequence function

2012-06-27 Thread Devin Walters
Warren,

I would ask myself (quite seriously, no snark intended) whether or not a 
fixation on ordered collections or sub-collections woven throughout a program 
(as you seem to be describing) is a language feature, or the responsibility of 
the programmer.

Larry, Ulises, and Michael have all offered options. It seems that they had no 
problem defining this sort of thing on their own; No macros involved or 
anything. Your assertion that it is ugly is wildly subjective and 
superficial. Moreover, it has been pointed out (and I agree) that behavior like 
this is rare. If this is common, one would expect other people on the list to 
agree, or at the very least make additional suggestions to nudge the idea 
along. I'm not seeing that in this thread.

Doesn't that shake your confidence in this being a language-level feature of 
Clojure? If not, what does? 

'(Devin Walters)


On Wednesday, June 27, 2012 at 7:35 PM, Warren Lynn wrote:

 
 Again, everything I wrote here is in my view. (think of :injection (In my 
 view)).
 
 Thanks. I am certainly sure it is doable with Clojure, as you just did it. 
 The unpleasant thing is Clojure does not provide a built-in function for that 
 (which might be much more efficient), and the sequence abstraction is less 
 of a abstraction if I still need to keep a watchful eye what is the 
 underlying concrete type with functions like into. The unfortunate thing is 
 this has nothing to do with whether the language is functional or not. Adding 
 a subseqx like what you did into the language, or let into always return 
 results in the same order won't change the fact that Clojure is functional. 
 What we see seems just like unnecessary nuance. 
 
 On the other hand, those nuances are not beyond fix. Maybe next version 
 Clojure will have a function similar to subseqx. Although changing into 
 will break compatibility, we can add another function. But the bigger the 
 code base out in the wild, the more difficult it will be.
 
 I like Lisp in general but it frustrated me (before also with Common Lisp) 
 that it seems Lispers often claim the language can help you fly higher while 
 in reality it actually makes your walking more difficult. Even it can help 
 you fly higher, that will still turn off many people because we walk much 
 more than fly. And there is no REAL reason that you need to walk slower when 
 trying to fly higher. All those nuances are self imposed without any true 
 substantial reason.
 
 Again, just my views and feelings. No scientific proofs of any. Still, I am 
 glad that at least there is one more Lisp to play with (and put my hope on).
 
 On Wednesday, June 27, 2012 5:51:57 PM UTC-4, Larry Travis wrote:
  Something like this will give you what you want:
  
   (defn subseqx
[s start end]  
  (cond
(instance? clojure.lang.IPersistentVector s)
(subvec s start end)
  
(instance? java.lang.String s)
(subs s start end)
  
:else
(let [slice (drop start (take end s))]
  (cond
   (instance? clojure.lang.IPersistentList s)
   (apply list slice)
  
   (instance? clojure.lang.PersistentTreeSet s)
   (apply sorted-set slice)
  
   (instance? clojure.lang.PersistentTreeMap s)
   (apply sorted-map (concat slice))
  
   :else
   slice
  
  And you can add conditions for other kinds of ordered collections if and 
  when a need arises.  This is neither simple nor pretty, but an advantage of 
  no-side-effects functional programming is that when you call a pure 
  function you don't need to worry about how simple or pretty might be its 
  internal details.
--Larry
  
  On 6/27/12 3:24 PM, Warren Lynn wrote:
   Thanks, but this does not keep the concrete type.
   
   On Wednesday, June 27, 2012 3:42:25 PM UTC-4, Ulises wrote: 
 I'd forgotten that 'into adds things in the default place for 
 whatever type you're using, hence the reversal on lists. I'm not sure 
 if there's a simple way to get the same type out again while 
 preserving order. 

How about: 

(defn sub-seq [start end coll] 
  (take (- end start) (drop start coll))) 

U 
   -- 
   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 
   (mailto: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 
   (mailto: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 post to this group, send email to clojure@googlegroups.com 
 (mailto:clojure

Re: How to speed up Clojure Training for New Recruitment

2012-06-18 Thread Devin Walters
Start a meetup group. The people who show up more than a few times with no up 
front promise of a job opportunity will likely be the kind of people you want 
to hire. (Don't tell recruiters that though, please.) In addition, it gives you 
an opportunity to talk to potential hires in a relaxed setting without a lot of 
the BS that normally goes along with a formal recruiting process. 

Cheers,
'(Devin Walters)


On Monday, June 18, 2012 at 10:22 AM, Jay Fields wrote:

 
 
 On Mon, Jun 18, 2012 at 3:11 AM, Murtaza Husain 
 murtaza.hus...@sevenolives.com (mailto:murtaza.hus...@sevenolives.com) 
 wrote:
  Hi,
  
  Just wanted to get pointers on how do you manage the training of recruits. 
  It is difficult to find clojure talent, and we are located in India, where 
  it is close to impossible. Also the non availability of talent becomes a 
  hard sell to management too while introducing clojure projects. How can the 
  learning curve, and training time be reduced for new recruits ? Also how do 
  you pitch it to the management ? 
  
 I'd read this for inspiration on how to talk to mgmt. Perhaps I'd even 
 suggest they read it. http://www.paulgraham.com/avg.html 
 Related: http://www.paulgraham.com/icad.html
 
 As far as actually finding people, I'd look in the Ruby community. Many of 
 those people are fine with functional style and not too attached to a 
 specific language. And, do what Bill recommended. 
 
 Cheers, Jay 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: Let over Lambda

2012-05-18 Thread Devin Walters
I just started reading LoL. Sometimes I find myself blushing at how the author 
presents the material, but what I've read so far is pretty good. 

'(Devin Walters)


On Friday, May 18, 2012 at 4:11 AM, nicolas.o...@gmail.com wrote:

 LoL is a good book. Very entertaining, even if part of the content is 
 debatable.
 (It is a very opiniated book)
 Reading it after On Lisp could be a good idea, as there are a few
 references from LoL to On Lisp.
 http://www.paulgraham.com/onlisp.html
 
 The book is definitely a good read, makes you think a lot, and the
 chapter about Forth is very different from any Lisp book. (Because it
 is partly about Forth)
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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


Re: ANN: Kibit-mode, a minor mode for Emacs

2012-05-18 Thread Devin Walters
That would be fantastic.  

I took a stab at updating it awhile back. The maintainer pointed out some more 
important fixes he wanted to make before taking some of my requests IIRC. So 
looking back at closed issues might be worth your while.

Tangent: Clojure-refactoring as a service would be great. Go to the website, 
drop your form in, click a radio button to make it thread-first, submit and 
blammo: refactoring for everyone. I always thought the more annoying issue was 
that I needed to include it on every project as a dev-dependency, and that I 
couldn't give this tool to people who were using vim. Food for thought.  

Cheers,
'(Devin Walters)


On Friday, May 18, 2012 at 1:18 PM, Vinzent wrote:

 It'd be interesting to ressurect clojure-refactoring 
 (http://clojure-refactoring) project and merge it with kibit-mode.
  
 суббота, 19 мая 2012 г., 0:05:29 UTC+6 пользователь Alex Redinton написал:
  Hello friends,  
   
  Today I decided to hack together a simple learning tool that mashes  
  Jonas Enlund's sweet kibit tool (http://github.com/jonase/kibit) with  
  Emacs to ease its use on your Clojure projects. You can find my work  
  at http://github.com/aredington/kibit-mode  
   
  Right now this is just a reporting tool that will tell you if kibit  
  has found any suggestions for improving your code, and helps you tie  
  back kibits feedback to your code. Some things I think would be  
  interesting to improve upon:  
   
  Provide a persistent process that communicates with Emacs  
  intelligently to reduce the feedback cycle  
  Analyze the formatting of the target sexpr and the improvement sexpr  
  to do interactive replacement for the user  
  An optional auto-improve mode that feeds sexprs one at a time to kibit  
  and replaces them with improved versions as you complete them  
  A mechanism to flag a suggestion as permanently ignored by kibit so an  
  invalid suggestion won't generate noise  
   
  I hope you get a chance to play with this tool and that you find it  
  useful  
   
  -Alex  
  
 --  
 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 
 (mailto: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 
 (mailto: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 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

Re: what is js/ in clojurescript?

2012-05-03 Thread Devin Walters
Some additional information if you're interested:
http://dev.clojure.org/jira/browse/CLJS-89 
http://dev.clojure.org/display/design/Unified+ClojureScript+and+Clojure+field+access+syntax

'(Devin Walters)


On Thursday, May 3, 2012 at 10:47 AM, David Nolen wrote:

 I would not rely on this behavior. Follow Clojure's property access 
 conventions.
 
 David 
 
 On Thursday, May 3, 2012, Rob wrote:
  Hi,
  
  Syntax like this doesn't work in normal Clojure, right?
  
  js/document.body.style
  
  It just did in a ClojureScript repl. Is there something magic about js/ ? 
  What is it? 
  
  thanks,
  Rob
  
  -- 
  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 post to this group, send email to clojure@googlegroups.com 
 (mailto: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 
 (mailto: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 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


Re: What are some examples of good Clojure/Java interop libraries?

2012-04-23 Thread Devin Walters
clojure-opennlp has been around for awhile: 

On Github:
https://github.com/dakrone/clojure-opennlp
http://dakrone.github.com/clojure-opennlp/

A couple of blog posts:
http://writequit.org/blog/?p=365
http://writequit.org/blog/?p=351

Add it to your project:
http://clojars.org/search?q=opennlp

Happy Clojuring,
'(Devin Walters)


On Monday, April 23, 2012 at 8:58 PM, James Thornton wrote:

 I am in the process of learning Clojure, and I want to play around with the 
 MIT Java WordNet library (http://projects.csail.mit.edu/jwi/) to familiarize 
 myself with Clojure idioms.
 
 What are some examples of idiomatic Clojure/Java interop libraries that I can 
 study?
 
 Thanks.
 
 - James
 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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


Re: Twitter api?

2012-04-20 Thread Devin Walters
I've been using twitter-api FWIW. 

'(Devin Walters)


On Friday, April 20, 2012 at 1:16 PM, Pooya Razavian wrote:

 I've used clojure-twitter. Worked as advertised and very smooth. I was 
 curious if anyone tired using the spring social framework.
 
 On Friday, April 20, 2012 6:09:07 PM UTC+1, melipone wrote:
  I see twitter-api and clojure-twitter in clojars. Which one do you use?
 
 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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


Re: [ANN] clojure-py 0.2 released

2012-04-10 Thread Devin Walters
Thanks for this. I've been enjoying reading the clojure-py code side-by-side 
with Clojure proper. 

'(Devin Walters)


On Monday, April 9, 2012 at 9:57 PM, Timothy Baldridge wrote:

 And it's always good to give links with a project release:
 
 Source:
 
 https://github.com/halgari/clojure-py
 
 Also via easy_install:
 
 easy_install clojure-py
 
 Timothy Baldridge
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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


Re: Where to post job ad

2012-03-30 Thread Devin Walters
On Friday, March 30, 2012 at 7:35 AM, David Jagoe wrote:
 G'day everyone
 I am increasingly relying on clojure and plan to use clojureclr and 
 clojurescript in production too. I will soon need to hire a clojure developer 
 and was hoping that someone could suggest a good place to post a job ad. I've 
 never seen a job posted here but I would like to reach the community.
 
 

Try meetup.com and look for Clojure and/or Lispish groups. Contact them with 
details. I would be happy to put the word out in our group. Feel free to pass 
me details.

Best of Luck, 
 Thanks
 David 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: kibit is to Clojure what SOUL is to Smalltalk

2012-03-30 Thread Devin Walters
Nice find. 

Thanks,
'(Devin Walters)


On Friday, March 30, 2012 at 2:58 PM, David Nolen wrote:

 http://soft.vub.ac.be/SOUL/
 
 This project is worth looking at for directions that kibit might want to go. 
 It's also a good resource for cool ideas on how to leverage core.logic - 
 miniKanren was designed from the get go to manipulate Lisp source. 
 
 David 
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: Alternate set literal syntax?

2012-03-28 Thread Devin Walters


'(Devin Walters)


On Tuesday, March 27, 2012 at 8:54 PM, Cedric Greevey wrote:

 On Tue, Mar 27, 2012 at 3:05 PM, Herwig Hochleitner
 hhochleit...@gmail.com (mailto:hhochleit...@gmail.com) wrote:
  2012/3/26 Cedric Greevey cgree...@gmail.com (mailto:cgree...@gmail.com):
   (comp {:k1 5 :k2 6}), that is not used in production whereas (comp 
   {:k1 5 :k2 6}) (note spacing) is used in production but isn't broken.
   
  
  
  (comp {:k1 5 :k2 6}) _is_ used in Production,
 
 Without a space right after the ? Where? What is your evidence?
 
Without even showing a page of code using said new syntax, let alone
make an effort to enumerate cases where it would break.

   
   
   I did in fact make such an effort, which should also have been clear
   from an earlier post.
   
  
  
  Not in your initial post and none of the latter ones, as far as I saw
  while skimming.
  
 
 
 If you're not very good at skimming without missing important points,
 just set aside some time at some point and read it thoroughly.
 
Furthermore you don't seem to recognize the gravity of those issues
   
   The only issue arguably possessing substantial gravity is the
   oddly-spaced (comp {:k1 5 :k2 6}) and similar.
   
  
  
  That statement is arguably wrong.
 
 And I am arguably a butterfly dreaming I'm a man. But it's a
 hypothesis of no real practical import.
 
  - Hacking a second pass into the compiler (the single pass compiler is
  a feature)
  
 
 
 Avoided by {...} (or [...]).
 
  - Breaking existing conventions
 
 I disagree that adding a syntax (without removing #{}) is breaking a
 convention. On the other hand, allowing sets to be specified with a
 symmetric delimiter pair arguably is UNbreaking a convention.
 
  - Dual end tokens (the reason i chose lisp is, that I don't want to
  bother with foo.bar(); note the _);_ ). Yes, this makes a difference
  when you edit your program.
  
 
 
 But you don't mind dual start tokens, or you'd object to #{. Seems
 you're being fairly arbitrary there.
 
  Lisp is about prefix notation.
 
 I don't see what bearing this has. Moreover, Lisp is many things to
 many people. Others would say Lisp is about lambdas; still others,
 that Lisp is about macros; and of course many would say Lisp is about
 list processing.
 
  - Adding duplicate reader syntax (the only other place we've done that
  is #^, which is deprecated and where nobody liked the original syntax,
  esp. in combo with type hinting) (the other examples you gave, e.g.
  deref vs @ were the reader macro vs the form into which it gets
  translated)
  
 
 
 Duplicate syntax is duplicate syntax. Your reader vs. other
 distinction is an artificial one.
 
  - Introducing a new reader table (i.e. a prefix character that
  switches the reader mode) for '{', '', or whichever you choose. right
  now the '#' is the only reader table and it is an important visual
  indicator for here, the reader inserts a datatype determined by the
  next character [or few characters, since we have tagged literals])
  
 
 
 And this is just plain wrong. There must be a reader table for the
 default case as well as a secondary one activated for the next token
 by #. Also, there's nothing inherently icky about adding one more.
 Furthermore, the notion that # indicates here, the reader inserts a
 datatype determined by what's next is ... a simplification, at best.
 #^, though deprecated, still exists and attaches metadata rather than
 deciding a datatype. #_ comments out the following form rather than
 deciding a datatype (and can't really be interpreted as making what
 follows some sort of do nothing datatype; (two-arg-fn 1 #_2 3) won't
 throw bad arity). #' suppresses lookup of a var's contents, so the
 form is the var itself instead of whatever's inside it. In fact, #{,
 #, and arguably #( are the ones that do specify a datatype, and do
 not outnumber the others.
 
   I offer(ed) my ideas for free.
  
  Yes you can _offer_ them for free. Which doesn't mean we can
  _implement_ them for free.
  
 
 
 Nobody claimed otherwise. You, on the other hand, erroneously implied
 that I was charging or costing you money.
 
  Also, getting your idea implemented is
  valued very highly in this community, even if you get no money.
  
 
 
 How is that relevant to the question of price? In fact by your own
 admission (even if you get no money) it's orthogonal to the question
 of price, and therefore *not* relevant.
 
   Are you implying that you think I don't have a coherent view?
  
  I only implied that you didn't _demonstrate_ it (please read)
 
 Now you're implying that I lack reading comprehension skills. Please
 stop being gratuitously insulting and rude. And please stop implying
 things about me that are untrue.
 
   Because such an implication would be both factually false and an insulting
   public mischaracterization of me, perpetrated without provocation.
   
  
  
  But the fact that you didn't even consider implementation complexity

Re: Alternate set literal syntax?

2012-03-28 Thread Devin Walters
On Wednesday, March 28, 2012 at 12:58 PM, Timothy Baldridge wrote:
 Let's take a step back and look at this idea from a new user's view.
 The way I see it, whatever we do, we'll have to explain to users how
 to create sets. Hashmaps, and vectors follow (roughly) the JSON/Python
 syntax:
  
 vector = [1 2 3 4]
 map = {1 2 3 4}
  
 So how to these languages represent sets?
  
 Python does it via extra syntax sugar:
  
 set = {foo, bar}
 map = {foo: bar, foo2 : bar2}
  
 I think the thing we have to keep in mind is that I can't think of a
 single other language that has set literals.  
  
  

Good point, but I disagree with the suggestion that because other languages 
don't have a set literal we shouldn't have one either. I like having the 
literal, FWIW. It makes sets feel like a more natural datastructure to use 
throughout the language. I've seen people write all sorts of crazy methods and 
functions to do what sets give you for free in other languages before they 
realized oh right, this should probably be a set. Keeping sets front and 
center with a literal promotes their use in general. I think that's a Good 
Thing™. In other languages I sometimes feel like they're an afterthought, and 
using them feels like they're somehow foreign. As in I often find myself 
thinking: Where's my set literal? Why am I not writing this in Clojure? ;)
 So whatever we come up
 with will be a bit bizzare to new users. So let's look at the options
 given above:
  
 {{foo}} ;; looks like a hash of a hash
 {foo} ;; could work, but no other form in all of clojure has two
 forms at the end.
 #{foo} ;; not exactly pretty
  
 My thoughts are this...who actually uses the literal hash set? In the
 thousands of lines of Clojure code I've written a hash set once. So my
 first reaction is why have a literal at all? Why not use:
  
  

That's surprising to me. You never use something like this?
(map #{:fred :bob :ted} [:fred :bob])

Would you use:
(into (hash-set) [1 2 2 3])
(reduce conj (hash-set) [1 2 2 3])

Instead of:
(into #{} [1 2 2 3])
(reduce conj #{} [1 2 2 3])

To my eye, the empty set is a fairly common occurrence and that seems to be how 
#{} gets used the most. The set literal also seem fairly abundant in test code. 
Contrived example: (= (map inc #{1 2 3}) '(2 3 4))  This finding is based on a 
rushed `ack -aui #{` of popular projects I'd consider to be idiomatic 
clojure. So take my research with a grain of salt.

(sorted-set), (sorted-map), and (array-map) make more sense to me to call 
without args (sorted-set) or with args (sorted-set 1 2 2 3) over introducing a 
literal.

We have: '(), [], {}, #{}

No one seems to be dumbfounded by '(). I suppose one could imagine something 
nasty like $1 2 3$ being proposed for a single character set wrapper, but 
blech. No thank you. I rather like #{} and wouldn't be shy about introducing it 
to a beginner.
 On top of that, lets say we do want a literal syntax...if we have to
 teach some bizarre syntax that people will rarely use...what's the big
 difference between #{} and {} ?
  
 If we want to actually go back to the original lisps, they didn't have
 any special syntax at all, besides the quote literal. This isn't
 ruby/python/C#. If something can be implemented without syntactic
 sugar, most times it should be. So my question for Cedric is...why all
 the fuss about set? Why not just use (set [foo, bar]) it's clean,
 and makes plenty of sense to newbies.
  
 Timothy
  
 --  
 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 
 (mailto: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 
 (mailto: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 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

Re: Alternate set literal syntax?

2012-03-26 Thread Devin Walters
Agree with Herwig 100%. This conversation has been interesting to me only 
insofar as I've discovered *more* problems with the initial proposal than I 
think I would have found by myself.

'(Devin Walters)


On Monday, March 26, 2012 at 1:12 PM, Herwig Hochleitner wrote:

 So to summarize:
 
 You suggest to
 
 a) Break expressions like (comp {:k1 5 :k2 6}) or {{:foo 5} 4} which
 are legal and therefore used in production; when challenged you
 propose additional workarounds that take a whole page to even
 informally describe
 b) Introduce the completely new notational convention of requiring
 multiple closing tokens for one form; a set
 
 Without even showing a page of code using said new syntax, let alone
 make an effort to enumerate cases where it would break.
 
 Furthermore you don't seem to recognize the gravity of those issues
 and just keep focusing on hypothetical benefits, like a salesman.
 We won't buy ideas before you can make us accept them. You can only
 make us even consider accepting your ideas by demonstrating a coherent
 view of the involved issues.
 You can also do that by soliciting feedback to points you haven't
 fully thought out. Just ignoring or trying to outweigh them with
 promised benefits certainly won't help.
 /rant
 
 Also this isn't bikeshedding, since syntax stability and orthogonality
 of the language core aren't the proverbial bike shed but the very
 power plant in lisp (and every usable language [by my definition of
 usable])
 
 So without calling any names, let me conclude with
 
 *plonk*
 
 -- 
 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 
 (mailto: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 
 (mailto: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 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

Re: Clojure cheatsheet with tooltips (alpha)

2012-03-26 Thread Devin Walters
Ah, I was thinking the reverse: (clojure.string/split (name :foo-bar) #-)  

But yes, you might be right. I guess the only thing I'd say is that the 
structure as it currently exists is sort of a bear. It just feels too big, 
like there's a more modular solution, but maybe it's not necessary?  

'(Devin Walters)


On Monday, March 26, 2012 at 2:12 PM, Andy Fingerhut wrote:

 It might be straightforward to write a bit of Clojure code that takes the 
 first structure and transforms it into the second.  Discarding information 
 you don't want is usually easier than adding information that isn't there.
  
 Strings could be manipulated to remove characters that are illegal in 
 keywords, and change spaces to dashes, and then call keyword on it, e.g.
  
 user= (keyword (str primitives - numbers))
 :primitives-numbers
  
 Andy
  
 On Mar 26, 2012, at 11:47 AM, Devin Walters wrote:
  This is slightly off-topic, but I wanted to discuss the structure of the 
  cheatsheet.  
   
  I would like to turn the cheatsheet into a more queryable document than it 
  currently is and allow for it to be a dependency via clojars. 
  cheatsheet-structure has a lot of the display logic for various output 
  formats which doesn't seem relevant to simply getting information out of a 
  specific section or subsection. It seems like the raw data should be 
  separate from the display logic: for instance, instead of…
   
  [:column
[:box green
 :section Primitives
 :subsection Numbers
 :table [[Arithmetic :cmds '[+ - …]]]
]
  ]
   
  It should be possible to have a simple map somewhere:
   
  (def primitives
{:primitives {:children [:numbers, :strings, …], :column? true},
 :primitives-numbers {:title Numbers, :children [:arithmetic, …], 
  :box-color blue},
 :numbers-arithmetic {:title Arithmetic, :commands '[+ - …]}})
   
  With a function that does something like:
   
  (into-output-structure primitives) = [:column [:box blue :section 
  Primitives :subsection Numbers :table [[Arithmetic :cmds '[+ - …]]]
   
  Long story short, I've been staring at this for a bit, and I'm wondering if 
  there are any strong feelings about how to make the cheatsheet more of a 
  modular, queryable structure than it currently is.  
   
  Cheers,
  '(Devin Walters)
   
   
  On Monday, March 26, 2012 at 4:35 AM, mnicky wrote:
   
   Seems that the text of cl-format overflows the right edge of the tooltip: 
   http://i.imgur.com/B0ljt.png (tested in FF, Opera, Chrome)

   On Monday, March 26, 2012 11:12:50 AM UTC+2, Andy Fingerhut wrote:
I've replaced this test page [1] with another one.  The one I posted on 
March 24 has been overwritten.  The version at [2] that does not use 
JavaScript, but only the title attribute on anchors, is still there as 
it was yesterday.
[1] 
http://homepage.mac.com/​jafingerhut/files/cheatsheet-​clj-1.3.0-v1.4-tooltips/​cheatsheet-full.html
 
(http://homepage.mac.com/jafingerhut/files/cheatsheet-clj-1.3.0-v1.4-tooltips/cheatsheet-full.html)
[2] 
http://homepage.mac.com/​jafingerhut/files/cheatsheet-​clj-1.3.0-v1.4-tooltips/​cheatsheet-title-attribute.​html
 
(http://homepage.mac.com/jafingerhut/files/cheatsheet-clj-1.3.0-v1.4-tooltips/cheatsheet-title-attribute.html)
The new version of [1] uses different JavaScript for the tooltips, 
simplified so that the tips always appear above or below the link being 
tipped.  This made it easier to ensure the tip always appears within 
the bounds of the window.  The only exceptions I am aware of where the 
tip can go out of the window boundaries is if your window is so narrow 
( 600 pixels or so) that the tip doesn't fit in the width of the 
window at all, or too short vertically.
It should also eliminate the bouncing problem that the old one had, 
and I have made the tips completely opaque, not partially transparent.
It still probably won't work well with Android browsers with 
touchscreens.  I don't know what could be done about that.  I did try 
it on Safari on my iPhone, and found that on a single tap on a link, it 
showed the tooltip, and it required a second tap on the same link for 
the browser to follow the link.  I like that behavior.
Take it for another spin if you had issues with it before.
All necessary files to generate these pages, including my modified 
jQuery TipTip plugin, are here:
https://github.com/​jafingerhut/clojure-​cheatsheets 
(https://github.com/jafingerhut/clojure-cheatsheets)
Andy
 
On Mar 24, 2012, at 3:15 AM, Andy Fingerhut wrote:
 There are still some problems with this, but it is ready for 
 experimental use, at least.  Alex, please don't put this on 
 clojure.org (http://clojure.org/) -- it ain't ready yet.
  
 http://homepage.mac.com/​jafingerhut/files/cheatsheet-​clj-1.3.0-v1.4-tooltips/​cheatsheet-full.html
  
 (http://homepage.mac.com/jafingerhut

  1   2   >