Re: LoL which style for Clojure

2013-03-23 Thread Marko Topolnik
What if there's some computation in there, but such that should be 
performed at compile time? I still prefer the outside let whenever I want 
to make dead sure it's not getting reallocated on each call. If there was 
some well-specified and easily understood guarantee (for example, like the 
one Java has for compile-time constants), only then I would prefer the 
inner let.

On Friday, March 22, 2013 8:05:10 PM UTC+1, Laurent PETIT wrote:
>
>
> 2013/3/22 jamieorc >
>
>> Curious which style is preferred in Clojure and why:
>>
>> (defn f1 [] 
>>   (let [x {:foo 1 :bar 2 :baz 3}] 
>> (keys x))) 
>>
>> (let [x {:foo 1 :bar 2 :baz 3}] 
>>   (defn f2 [] 
>> (keys x)))
>>
>
> In either case, AFAIK, the compiler will recognize {:foo 1 :bar 2 :baz 3} 
> as constant and will only create it once when compiling.
>
> First version is preferred.
>  
>
>>
>> Cheers,
>>
>> Jamie
>>
>> -- 
>> -- 
>> 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/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: Macro for bailout-style programming

2013-03-23 Thread Gary Verhaegen
I've recently had a need for something like that in my own code. The
"real" solution to that problem in the functional programming world is
known as the maybe monad. Since I just needed a quick and dirty
solution and I have not wrapped my head around monads yet, here's what
I did :

(defmacro maybe->
  "Sort of like a maybe monad, but without a monad. Takes an initial value and
   a list of functions with their arguments, and returns the result of applying
   each function to the result of the preceding one as long as there is no nil
   value. Returns nil if there ever is a nil in the chain of values."
  [init & fns]
  (reduce (fn [acc [op & args]]
`(if-not (nil? ~acc)
   (~op ~acc ~@args)))
  init fns))

I did not have a need for "as->"-like functionality.

On 23 March 2013 05:54, Mikera  wrote:
> You can get quite a long way with just "if-let" "and" and "or" to express
> the bailout logic.
>
> Examples I find myself using all the time:
>
> ;; fallback / default values
> (or (maybe-make-value) (make-fallback-value) (error "this shouldn't
> happen!"))
>
> ;; bailout with nil return (assumes you are running operations for side
> effects, and nil return means failure)
> (and (operation1) (operation2) (operation3) :success)
>
> ;; let a value, with potential defaults
> (if-let [value (or passed-value (try-to-find-default-value))] )
>
> Apart from that, I found myself writing a few macros to allow early bailouts
> from computations. My favourite currently is the "and-as->" macro, which
> works like this:
>
> (and-as-> (some-initial-value-expression) symbol
>   (do-something-with symbol)
>   (some-thing-else symbol)
>   (reduce some-fn symbol some-seq))
>
> At each step, symbol is rebound to the result of the expression (like
> "as->") unless the result is nil, in which case the whole expression bails
> out and returns nil. So it is like a cross between "and" as "as->".
>
>
>
> On Saturday, 23 March 2013 11:19:28 UTC+8, Russell Mull wrote:
>>
>> Hi Clojurians,
>>
>> I'm relatively new to the language and am trying to get used to its
>> idioms. One thing I'm accustomed to doing in things like java and C# is
>> checking values for validity and then bailing out early if they don't make
>> sense. For example, without this idiom in java you might do:
>>
>> Object doSomething() {
>>
>> Integer a = someComputation();
>> if(a != null) {
>> Integer b = anotherComputation(a, 42);
>> if(b != null && b.intValue() >= 0) {
>> return a / b;
>> }
>> else {
>> return null;
>> }
>> }
>> else {
>> return null;
>> }
>> }
>>
>> ... which is really only desirable if you believe in the "one exit point"
>> school of imperative programming. It is of course much better to do this:
>> Object doSomething() {
>> Integer a = someComputation();
>> if(a == null) { return null; }
>>
>> Integer b = anotherComputation(a, 42);
>> if(b == null || b.intValue == 0) { return null; }
>>
>> return a / b;
>> }
>>
>>
>>
>> ... which is much more literate. In Clojure, I have to write what is
>> effectively the first form:
>>
>> (let [a (some-computation)]
>>   (if (nil? a)
>> nil
>> (let [b (another-computation a 42)]
>>   (if (or (nil? b) (= b 0))
>> nil
>> (/ a b)
>>
>> While more concise, it suffers the same readability problems as the first
>> java version. I can easily imagine a macro to support this idiom:
>>
>> (let-check [a (some-computation)
>> :check (nil? a) nil
>> b (another-computation a 42)
>> :check (or (nil? b) (< b 0)) nil]
>>   (/ a b))
>>
>>
>> Which leads me to my question: does such a construct already exist? Or
>> perhaps am I doing it wrong? I've googled around for this, but I'm not
>> exactly sure what it's called.
>>
>> Cheers,
>>
>> Russell
>
> --
> --
> 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 thi

Call for Papers: Commercial Users of Functional Programming

2013-03-23 Thread Michael Sperber


 COMMERCIAL USERS OF FUNCTIONAL PROGRAMMING 2013
  CUFP 2013
   http://cufp.org/conference
CALL FOR PRESENTATIONS
 Boston, MA, United States
  Sep 22-24
Talk Proposal Submission Deadline 29 June 2013
  Co-located with ICFP 2013
 Sponsored by SIGPLAN

The annual CUFP workshop is a place where people can see how others
are using functional programming to solve real world problems; where
practitioners meet and collaborate; where language designers and users
can share ideas about the future of their favorite language; and where
one can learn practical techniques and approaches for putting
functional programming to work.

Giving a CUFP Talk
==

If you have experience using functional languages in a practical
setting, we invite you to submit a proposal to give a talk at the
workshop. We are looking for both experience reports and
in-depth technical talks.

Experience reports are typically 25 minutes long (but negotiable), and
aim to inform participants about how functional programming plays out
in real-world applications, focusing especially on lessons learned and
insights gained. Experience reports don't need to be highly technical;
reflections on the commercial, management, or software engineering
aspects are, if anything, more important.

Technical talks are also 25 minutes long (also negotiable), and should
focus on teaching the audience something about a particular technique
or methodology, from the point of view of someone who has seen it play
out in practice. These talks could cover anything from techniques for
building functional concurrent applications, to managing dynamic
reconfigurations, to design recipes for using types effectively in
large-scale applications. While these talks will often be based on a
particular language, they should be accessible to a broad range of
programmers.

If you are interested in offering a talk, or nominating someone to do
so, fill out the following form:

  https://www.surveymonkey.com/s/TGNXYLL

There will be a short scribes report of the presentations and
discussions but not of the details of individual talks, as the meeting
is intended to be more a discussion forum than a technical
interchange. You do not need to submit a paper, just a proposal for
your talk! Note that we will need all presenters to register for the
CUFP workshop and travel to Boston at their own expense.

Program Committee
=

Marius Eriksen (Twitter, Inc.), co-chair
Mike Sperber (Active Group), co-chair
Mary Sheeran (Chalmers)
Andres Löh (Well-Typed)
Thomas Gazagnaire (OCamlPro)
Steve Vinoski (Basho)
Jorge Ortiz (Foursquare, Inc.)
Blake Matheny (Tumblr, Inc.)
Simon Marlow (Facebook, Inc.)

More information


For more information on CUFP, including videos of presentations from
previous years, take a look at the CUFP website at
http://cufp.org. Note that presenters, like other attendees, will need
to register for the event. Presentations will be video taped and
presenters will be expected to sign an ACM copyright release
form. Acceptance and rejection letters will be sent out by July 16th.

Guidance on giving a great CUFP talk


Focus on the interesting bits: Think about what will distinguish your
talk, and what will engage the audience, and focus there. There are a
number of places to look for those interesting bits.

Setting: FP is pretty well established in some areas, including
formal verification, financial processing and server-side
web-services. An unusual setting can be a source of interest. If
you're deploying FP-based mobile UIs or building servers on oil
rigs, then the challenges of that scenario are worth focusing
on. Did FP help or hinder in adapting to the setting?

Technology: The CUFP audience is hungry to learn about how FP
techniques work in practice. What design patterns have you
applied, and to what areas? Did you use functional reactive
programming for user interfaces, or DSLs for playing chess, or
fault-tolerant actors for large scale geological data processing? 
Teach us something about the techniques you used, and why we
should consider using them ourselves.

Getting things done: How did you deal with large software
development in the absence of a myriad of pre-existing support
that are often expected in larger commercial environments (IDEs,
coverage tools, debuggers, profilers) and without larger, proven
bodies of libraries? Did you hit any brick walls that required
support from the community?

Don't just be a cheerleader: It's easy to write a rah-rah talk
about how well FP worked for you, but CUFP is more interesting
when the talks also spend time on what doesn't work. Even when the

Re: LoL which style for Clojure

2013-03-23 Thread Thomas Heller
Just out of curiosity, does it have to be a function?

(def data {:foo 1 :bar 2 :baz 3})
(def data-keys (keys data))

If one item is constant the other probably is too?

Cheers,
/thomas

On Friday, March 22, 2013 7:59:43 PM UTC+1, jamieorc wrote:
>
> Curious which style is preferred in Clojure and why:
>
> (defn f1 [] 
>   (let [x {:foo 1 :bar 2 :baz 3}] 
> (keys x))) 
>
> (let [x {:foo 1 :bar 2 :baz 3}] 
>   (defn f2 [] 
> (keys x)))
>
> Cheers,
>
> Jamie
>

-- 
-- 
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-03-23 Thread Geraldo Lopes de Souza


On Mar 21, 1:29 pm, 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

That's unfortunate

> 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
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: Macro for bailout-style programming

2013-03-23 Thread John D. Hume
Your maybe-> does almost the same thing as Clojure 1.5's some-> but without
support for naked fns (like `(some-> 1 inc)`). It also evaluates each
"step" but the last twice (once for the `if`, once when inserted after
`op`).

If you don't want to switch to some->, I'd recommend you use when-let to
avoid the double evaluation.


On Mar 23, 2013 4:12 AM, "Gary Verhaegen"  wrote:

> I've recently had a need for something like that in my own code. The
> "real" solution to that problem in the functional programming world is
> known as the maybe monad. Since I just needed a quick and dirty
> solution and I have not wrapped my head around monads yet, here's what
> I did :
>
> (defmacro maybe->
>   "Sort of like a maybe monad, but without a monad. Takes an initial value
> and
>a list of functions with their arguments, and returns the result of
> applying
>each function to the result of the preceding one as long as there is no
> nil
>value. Returns nil if there ever is a nil in the chain of values."
>   [init & fns]
>   (reduce (fn [acc [op & args]]
> `(if-not (nil? ~acc)
>(~op ~acc ~@args)))
>   init fns))
>
> I did not have a need for "as->"-like functionality.
>

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




let-timed macro...any suggestions/corrections?

2013-03-23 Thread Jim - FooBar();
Can anyone see anything wrong with this little macro? It comes pretty 
handy to me when I want to time each an every expression in a let 
statement...


(defmacro let-timed
  [bindings & code]
  (let [parts(partition 2 bindings)
names   (map first parts)
results   (map #(list 'time (second %)) parts)] ;;don't time at 
compile-time, just build the timing expression for later use

`(let ~(vec (interleave names results)) ;;the new bindings
   ~@code)))


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.




Coding while running the program

2013-03-23 Thread Oskar Kvist
Hi!

I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch coding 
on Minecraft while the game was running, and of course seeing the changes 
in the running program. He used some kind of debug mode in his IDE (I don't 
really know which IDE). I want to make a game, and I want to to also be 
able to code while the program is running. I know this sort of thing is 
common in Lisps, so even without that IDE's debug mode it should be 
possible. Is there anything in particular that I need to do or look out for 
in order to make it work? Are there some JVM settings I should use? Does 
anyone know how that debug mode works? I kind of understand how it can be 
done with a plain repl, but I don't wanna miss out on anything that would 
make it easier. Any kind of insight is very appreciated.

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Yves S. Garret
If you want to make a game, then make a game.  Don't worry about looking
"cool" about it.  You don't need to have some feature to make something
entertaining :) .

I'm making a game with a tool called GameMaker.  Not as full-featured or
powerful as with a programming language?  Sure, but then I want to first
have a game under my belt, then I'll worry about looking cool in the process
:) .

On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist  wrote:

> Hi!
>
> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch
> coding on Minecraft while the game was running, and of course seeing the
> changes in the running program. He used some kind of debug mode in his IDE
> (I don't really know which IDE). I want to make a game, and I want to to
> also be able to code while the program is running. I know this sort of
> thing is common in Lisps, so even without that IDE's debug mode it should
> be possible. Is there anything in particular that I need to do or look out
> for in order to make it work? Are there some JVM settings I should use?
> Does anyone know how that debug mode works? I kind of understand how it can
> be done with a plain repl, but I don't wanna miss out on anything that
> would make it easier. Any kind of insight is very appreciated.
>
> --
> --
> 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: Coding while running the program

2013-03-23 Thread George Oliver


On Saturday, March 23, 2013 7:22:14 AM UTC-7, Oskar Kvist wrote:
>
> Hi!
>
> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch 
> coding on Minecraft while the game was running, and of course seeing the 
> changes in the running program. He used some kind of debug mode in his IDE 
> (I don't really know which IDE). I want to make a game, and I want to to 
> also be able to code while the program is running. 
>

I think Notch uses Eclipse, which allows you to hot load (reload) code on 
the fly (and I believe tweak state in the debugger but I haven't done 
that). Funny you should post this, I just watched a video yesterday that 
you might like to see, 

http://vimeo.com/14709925

He's using Emacs in that video. Eclipse has the Counterclockwise plugin for 
Clojure if you prefer. I definitely would recommend using something like 
those over a plain REPL. See also this SO 
answer, http://stackoverflow.com/a/5119355/216798 . 

You shouldn't have to mess with JVM settings but there are a few things to 
keep in mind doing interactive development. However it's probably best to 
get started with the links above and then come back here with specific 
questions. 



 

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Mayank Jain
Nice. Thanks for sharing.


On Sat, Mar 23, 2013 at 9:15 PM, George Oliver wrote:

>
>
> On Saturday, March 23, 2013 7:22:14 AM UTC-7, Oskar Kvist wrote:
>>
>> Hi!
>>
>> I saw this video 
>> http://www.youtube.com/**watch?v=BES9EKK4Aw4of
>>  Notch coding on Minecraft while the game was running, and of course
>> seeing the changes in the running program. He used some kind of debug mode
>> in his IDE (I don't really know which IDE). I want to make a game, and I
>> want to to also be able to code while the program is running.
>>
>
> I think Notch uses Eclipse, which allows you to hot load (reload) code on
> the fly (and I believe tweak state in the debugger but I haven't done
> that). Funny you should post this, I just watched a video yesterday that
> you might like to see,
>
> http://vimeo.com/14709925
>
> He's using Emacs in that video. Eclipse has the Counterclockwise plugin
> for Clojure if you prefer. I definitely would recommend using something
> like those over a plain REPL. See also this SO answer,
> http://stackoverflow.com/a/5119355/216798 .
>
> You shouldn't have to mess with JVM settings but there are a few things to
> keep in mind doing interactive development. However it's probably best to
> get started with the links above and then come back here with specific
> questions.
>
>
>
>
>
> --
> --
> 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.
>
>
>



-- 
Regards,
Mayank.

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Oskar Kvist
It's not about looking cool, it's about saving time.

Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:
>
> If you want to make a game, then make a game.  Don't worry about looking
> "cool" about it.  You don't need to have some feature to make something
> entertaining :) .
>
> I'm making a game with a tool called GameMaker.  Not as full-featured or
> powerful as with a programming language?  Sure, but then I want to first
> have a game under my belt, then I'll worry about looking cool in the 
> process
> :) .
>
> On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist 
> > wrote:
>
>> Hi!
>>
>> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch 
>> coding on Minecraft while the game was running, and of course seeing the 
>> changes in the running program. He used some kind of debug mode in his IDE 
>> (I don't really know which IDE). I want to make a game, and I want to to 
>> also be able to code while the program is running. I know this sort of 
>> thing is common in Lisps, so even without that IDE's debug mode it should 
>> be possible. Is there anything in particular that I need to do or look out 
>> for in order to make it work? Are there some JVM settings I should use? 
>> Does anyone know how that debug mode works? I kind of understand how it can 
>> be done with a plain repl, but I don't wanna miss out on anything that 
>> would make it easier. Any kind of insight is very appreciated.
>>
>> -- 
>> -- 
>> 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/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: Native library not found after upgrade to leiningen 2.0

2013-03-23 Thread Dave Snowdon
Thanks James, Karsten

That works thanks! 

I then found that I needed to use "mvn deploy:deploy-file" to get the jar 
into my local repo instead of "mvn install:install-file" otherwise maven 
didn't create the necessary supporting files and I got a "no supported 
algorithms found" error when I ran "lein deps"

cheers

Dave

On Friday, March 22, 2013 9:13:16 AM UTC, Karsten Schmidt wrote:
>
> You can see the actual path used by doing this in the repl: 
> (System/getProperty "java.library.path") 
>
> I found it best to wrap native libs in a jar with this internal structure: 
>
> /META-INF/MANIFEST.MF 
> /native/linux/x86 
> /native/linux/x86_64 
> /native/macosx/x86 
> /native/macosx/x86_64 
> /native/windows/x86 
> /native/windows/x86_64 
>
> Then deploy the jar to your repo and refer to it as normal from 
> project.clj, no need to set native path manually... 
>
> On 22 March 2013 02:17, xumingmingv > 
> wrote: 
> > Have a look at this: 
> > 
> http://nakkaya.com/2010/04/05/managing-native-dependencies-with-leiningen/ 
> > 
> > 在 2013-3-22,上午6:55,Dave Snowdon > 写道: 
> > 
> > I just upgraded from leiningen version 1.5.2 to 2.0.0 and noticed that 
> the 
> > native library path no longer seems to be set correctly. 
> > 
> > Here is my project file: 
> > 
> > (defproject naojure "0.1.0-SNAPSHOT" 
> >   :description "Clojure wrapper for Aldebaran Robotics java NAOQI 
> binding. 
> > Depends on the Aldebaran jar file being installed in a local repo and 
> the 
> > shared library being in the dynamic library load path" 
> >   :url "https://github.com/davesnowdon/naojure"; 
> >   :repositories {"local" ~(str (.toURI (java.io.File. 
> "maven_repository")))} 
> >   :native-path "native" 
> >   :dependencies [[org.clojure/clojure "1.4.0"] [com.aldebaran/jnaoqi 
> > "1.14.0"]]) 
> > 
> > The native library is in a folder "native" at the top-level of the 
> project 
> > and the corresponding jar in a local repo also contained within the 
> > leiningen project. 
> > 
> > If I run lein1 repl (I renamed the old leiningen script before 
> upgrading) 
> > then I can create instances of native classes from the repl, If I run 
> lein 
> > repl (leiningen 2.0.0) then I get the following error: 
> > 
> > CompilerException java.lang.UnsatisfiedLinkError: no jnaoqi in 
> > java.library.path, compiling:(NO_SOURCE_PATH:1) 
> > 
> > Here are the exact values reported by lein version (running on Linux - 
> > Fedora Core 14) 
> > Leiningen 1.5.2 on Java 1.6.0_20 OpenJDK 64-Bit Server VM 
> > & 
> > Leiningen 2.0.0 on Java 1.6.0_20 OpenJDK 64-Bit Server VM 
> > 
> > I've looked online for issues related to leiningen and native path 
> handling 
> > but the bugs I found all related to leiningen 1 and have been supposedly 
> > fixed. 
> > 
> > Can anyone suggest why the native library is not being located? 
> > 
> > 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 
> > 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/groups/opt_out. 
> > 
> > 
> > 
> > 
> > -- 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Clojure" group. 
> > To post to this group, send email to clo...@googlegroups.com 
> > Note that posts from new members are moderated - please be patient with 
> your 
> > first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com  
> > For more options, visit this group at 
> > http://groups.google.com/group/clojure?hl=en 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Clojure" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to clojure+u...@googlegroups.com . 
> > For more options, visit https://groups.google.com/groups/opt_out. 
> > 
> > 
>
>
>
> -- 
> Karsten Schmidt 
> http://postspectacular.com | http://toxiclibs.org | http://toxi.co.uk 
>

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

Re: Coding while running the program

2013-03-23 Thread Wujek Srujek
I have no idea what the guy uses, neither am I a big fan of Eclipse as a
tool for anything, but the one tool I do use on a daily basis is JRebel. It
is basically a very smart classloader that observes the filesystem for
newly compiled classes / copied resources (that happens on save in Eclipse,
for example) and replaces them. This works orders of magnitude better than
hot swap. Note: I am in no way associated with zeroturnaround (makers of
jrebel), I am just a very satisfied user.


On Sat, Mar 23, 2013 at 5:20 PM, Oskar Kvist  wrote:

> It's not about looking cool, it's about saving time.
>
> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:
>>
>> If you want to make a game, then make a game.  Don't worry about looking
>> "cool" about it.  You don't need to have some feature to make something
>> entertaining :) .
>>
>> I'm making a game with a tool called GameMaker.  Not as full-featured or
>> powerful as with a programming language?  Sure, but then I want to first
>> have a game under my belt, then I'll worry about looking cool in the
>> process
>> :) .
>>
>> On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist  wrote:
>>
>>> Hi!
>>>
>>> I saw this video 
>>> http://www.youtube.com/**watch?v=BES9EKK4Aw4of
>>>  Notch coding on Minecraft while the game was running, and of course
>>> seeing the changes in the running program. He used some kind of debug mode
>>> in his IDE (I don't really know which IDE). I want to make a game, and I
>>> want to to also be able to code while the program is running. I know this
>>> sort of thing is common in Lisps, so even without that IDE's debug mode it
>>> should be possible. Is there anything in particular that I need to do or
>>> look out for in order to make it work? Are there some JVM settings I should
>>> use? Does anyone know how that debug mode works? I kind of understand how
>>> it can be done with a plain repl, but I don't wanna miss out on anything
>>> that would make it easier. Any kind of insight is very appreciated.
>>>
>>> --
>>> --
>>> 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/**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: LoL which style for Clojure

2013-03-23 Thread Ben Wolfson
On Sat, Mar 23, 2013 at 4:16 AM, Thomas Heller  wrote:
> Just out of curiosity, does it have to be a function?
>
> (def data {:foo 1 :bar 2 :baz 3})
> (def data-keys (keys data))
>
> If one item is constant the other probably is too?

In this case, yes, but it's easy to imagine cases where neither is a constant.

-- 
Ben Wolfson
"Human kind has used its intelligence to vary the flavour of drinks,
which may be sweet, aromatic, fermented or spirit-based. ... Family
and social life also offer numerous other occasions to consume drinks
for pleasure." [Larousse, "Drink" entry]

-- 
-- 
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 1.5.0 fails on sample project

2013-03-23 Thread Mayank Jain
Cool. Thanks.


On Sat, Mar 23, 2013 at 12:26 PM, Michael Klishin <
michael.s.klis...@gmail.com> wrote:

>
> 2013/3/23 Mayank Jain 
>
>> Note: Sample app works on 1.4.0 but fails on 1.5.1 as well with same
>> error output.
>
>
> lein-swank is no longer maintained and hasn't been updated for 1.5. Please
> switch to nrepl.el,
> you will like it.
> --
> 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.
>
>
>



-- 
Regards,
Mayank.

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Yves S. Garret
Yes, but are you saving time with this?  What types of games do you want to
make?
RTS?  FPS?  RPG?  What's the platform that you're targeting?  No offense,
but I've
seen a lot of people like this (me including :) ), who want to learn
technology X for...
wait for it... to make games or something else that's fun.

Look, I'm not trying to be mean, but unless you have a specific goal in
mind, then
this new feature is a waste of time :) .

On Sat, Mar 23, 2013 at 12:20 PM, Oskar Kvist  wrote:

> It's not about looking cool, it's about saving time.
>
> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:
>>
>> If you want to make a game, then make a game.  Don't worry about looking
>> "cool" about it.  You don't need to have some feature to make something
>> entertaining :) .
>>
>> I'm making a game with a tool called GameMaker.  Not as full-featured or
>> powerful as with a programming language?  Sure, but then I want to first
>> have a game under my belt, then I'll worry about looking cool in the
>> process
>> :) .
>>
>> On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist  wrote:
>>
>>> Hi!
>>>
>>> I saw this video 
>>> http://www.youtube.com/**watch?v=BES9EKK4Aw4of
>>>  Notch coding on Minecraft while the game was running, and of course
>>> seeing the changes in the running program. He used some kind of debug mode
>>> in his IDE (I don't really know which IDE). I want to make a game, and I
>>> want to to also be able to code while the program is running. I know this
>>> sort of thing is common in Lisps, so even without that IDE's debug mode it
>>> should be possible. Is there anything in particular that I need to do or
>>> look out for in order to make it work? Are there some JVM settings I should
>>> use? Does anyone know how that debug mode works? I kind of understand how
>>> it can be done with a plain repl, but I don't wanna miss out on anything
>>> that would make it easier. Any kind of insight is very appreciated.
>>>
>>> --
>>> --
>>> 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/**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: let-timed macro...any suggestions/corrections?

2013-03-23 Thread Emanuel Rylke
On Saturday, March 23, 2013 2:09:02 PM UTC+1, Jim foo.bar wrote:
>
> (defmacro let-timed  

   [bindings & code] 
>
I would write that as [bindings & body] which is also recommended by 
http://dev.clojure.org/display/design/Library+Coding+Standards

>(let [parts(partition 2 bindings) 
>  names   (map first parts) 
>  results   (map #(list 'time (second %)) parts)] ;;don't time at 
> compile-time, just build the timing expression for later use  

 `(let ~(vec (interleave names results)) ;;the new bindings

I would write that as `(let [~@(interleave names results)]

> ~@code))) 
>

I personally prefer to not give intermediate values a name when they are 
only used in one place because it makes it easier to see that these values 
are only used in one place, but your mileage may vary. (Suggestive names 
can help readability, but in the end you have to read and understand what 
they refer to anyway)

-- 
-- 
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: Coding while running the program

2013-03-23 Thread George Oliver
Also, I forgot to mention this, 

http://www.lighttable.com/


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




Re: Coding while running the program

2013-03-23 Thread Mikera
I coded a large proportion of my "7 day Roguelike" Alchemy ( 
https://github.com/mikera/alchemy ) while the game was running.

Tools I used were Eclipse, Clojure and the Counterclockwise plugin. No 
special JVM settings required: Clojure is quite happy to reload and 
recompile code on demand on any JVM.

The basic strategy was:

 - Launch a REPL
 - Run the game (I set up a convenience function(launch) that would run a 
fresh instance of the game in a new window whenever needed)
 - Test / play the game
 - Whenever necessary, write code to modify or query the running game at 
the REPL and run this live
 - If I needed to reload any code from the editor into the running game, 
press CTRL-ALT-L (useful whenever I coded a new feature in the regular 
editor and wanted to test it out)


On Saturday, 23 March 2013 22:22:14 UTC+8, Oskar Kvist wrote:
>
> Hi!
>
> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch 
> coding on Minecraft while the game was running, and of course seeing the 
> changes in the running program. He used some kind of debug mode in his IDE 
> (I don't really know which IDE). I want to make a game, and I want to to 
> also be able to code while the program is running. I know this sort of 
> thing is common in Lisps, so even without that IDE's debug mode it should 
> be possible. Is there anything in particular that I need to do or look out 
> for in order to make it work? Are there some JVM settings I should use? 
> Does anyone know how that debug mode works? I kind of understand how it can 
> be done with a plain repl, but I don't wanna miss out on anything that 
> would make it easier. Any kind of insight is very appreciated.
>

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Oskar Kvist
John: I don't really understand why you say it's a waste of time. Speeding 
up the feedback cycle seems great to me.

Thanks to everyone who has contributed to this thread so far!

On Saturday, March 23, 2013 7:48:28 PM UTC+1, John Smith wrote:
>
> Yes, but are you saving time with this?  What types of games do you want 
> to make?
> RTS?  FPS?  RPG?  What's the platform that you're targeting?  No offense, 
> but I've
> seen a lot of people like this (me including :) ), who want to learn 
> technology X for...
> wait for it... to make games or something else that's fun.
>
> Look, I'm not trying to be mean, but unless you have a specific goal in 
> mind, then
> this new feature is a waste of time :) .
>
> On Sat, Mar 23, 2013 at 12:20 PM, Oskar Kvist 
> > wrote:
>
>> It's not about looking cool, it's about saving time.
>>
>> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:
>>>
>>> If you want to make a game, then make a game.  Don't worry about looking
>>> "cool" about it.  You don't need to have some feature to make something
>>> entertaining :) .
>>>
>>> I'm making a game with a tool called GameMaker.  Not as full-featured or
>>> powerful as with a programming language?  Sure, but then I want to first
>>> have a game under my belt, then I'll worry about looking cool in the 
>>> process
>>> :) .
>>>
>>> On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist wrote:
>>>
 Hi!

 I saw this video 
 http://www.youtube.com/**watch?v=BES9EKK4Aw4of
  Notch coding on Minecraft while the game was running, and of course 
 seeing the changes in the running program. He used some kind of debug mode 
 in his IDE (I don't really know which IDE). I want to make a game, and I 
 want to to also be able to code while the program is running. I know this 
 sort of thing is common in Lisps, so even without that IDE's debug mode it 
 should be possible. Is there anything in particular that I need to do or 
 look out for in order to make it work? Are there some JVM settings I 
 should 
 use? Does anyone know how that debug mode works? I kind of understand how 
 it can be done with a plain repl, but I don't wanna miss out on anything 
 that would make it easier. Any kind of insight is very appreciated.

 -- 
 -- 
 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/**groups/opt_out
 .
  
  

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

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




In Emacs Org mode, how to round-trip Clojure code edits?

2013-03-23 Thread Matching Socks
I've got clojure-mode and nrepl installed, but I skipped Slime.  From the 
org-mode sample page, http://orgmode.org/manual/Literal-examples.html, I 
copied

 #+BEGIN_SRC emacs-lisp
   (defun org-xor (a b)
  "Exclusive or."
  (if a (not b) b))
 #+END_SRC

where you type C-c ' (is that org-edit-src-code?) to open a temporary, 
emacs-lisp buffer for civilized editing of the code snippet, and when 
you're done you type the same keys again to store the edited code back into 
the org-mode buffer.  It works great.

If I change "emacs-lisp" to "clojure", it opens a pleasant Clojure-mode 
buffer, but the second key sequence does not pop the edited code back into 
the org buffer.  Instead, it elicits the message "C-c ' is undefined".

This is Emacs 24.2.1, which includes org 7.8.11, to which I added 
clojure-mode 2.0.0.

?

-- 
-- 
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: Coding while running the program

2013-03-23 Thread Adrian Tillman
What you're seeing is a feature of game   
Engines that have a scripting engine. With this type of architecture you can 
separate the game content from the game engine itself. This allows you to 
change the game without recompiling the entire engine unnecessarily.


On Mar 23, 2013, at 5:06 PM, Oskar Kvist  wrote:

> John: I don't really understand why you say it's a waste of time. Speeding up 
> the feedback cycle seems great to me.
> 
> Thanks to everyone who has contributed to this thread so far!
> 
> On Saturday, March 23, 2013 7:48:28 PM UTC+1, John Smith wrote:
>> 
>> Yes, but are you saving time with this?  What types of games do you want to 
>> make?
>> RTS?  FPS?  RPG?  What's the platform that you're targeting?  No offense, 
>> but I've
>> seen a lot of people like this (me including :) ), who want to learn 
>> technology X for...
>> wait for it... to make games or something else that's fun.
>> 
>> Look, I'm not trying to be mean, but unless you have a specific goal in 
>> mind, then
>> this new feature is a waste of time :) .
>> 
>> On Sat, Mar 23, 2013 at 12:20 PM, Oskar Kvist  wrote:
>>> It's not about looking cool, it's about saving time.
>>> 
>>> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:
 
 If you want to make a game, then make a game.  Don't worry about looking
 "cool" about it.  You don't need to have some feature to make something
 entertaining :) .
 
 I'm making a game with a tool called GameMaker.  Not as full-featured or
 powerful as with a programming language?  Sure, but then I want to first
 have a game under my belt, then I'll worry about looking cool in the 
 process
 :) .
 
 On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist  wrote:
> Hi!
> 
> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch 
> coding on Minecraft while the game was running, and of course seeing the 
> changes in the running program. He used some kind of debug mode in his 
> IDE (I don't really know which IDE). I want to make a game, and I want to 
> to also be able to code while the program is running. I know this sort of 
> thing is common in Lisps, so even without that IDE's debug mode it should 
> be possible. Is there anything in particular that I need to do or look 
> out for in order to make it work? Are there some JVM settings I should 
> use? Does anyone know how that debug mode works? I kind of understand how 
> it can be done with a plain repl, but I don't wanna miss out on anything 
> that would make it easier. Any kind of insight is very appreciated.
> -- 
> -- 
> 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/groups/opt_out.
>>> -- 
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
> 
> -- 
> -- 
> 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 y

Re: Coding while running the program

2013-03-23 Thread Yves S. Garret
The only thing that I've seen do what you describe successfully is Erlang
(it's called hot-swapping the code and no, it's not easy to implement :) ,
a worthy project nontheless)... and as Adrian Tillman suggests, it's most
likely Notch isn't working on the gaming engine directly, but rather on a
subset of the software.

On Sat, Mar 23, 2013 at 5:06 PM, Oskar Kvist  wrote:

> John: I don't really understand why you say it's a waste of time. Speeding
> up the feedback cycle seems great to me.
>
> Thanks to everyone who has contributed to this thread so far!
>
>
> On Saturday, March 23, 2013 7:48:28 PM UTC+1, John Smith wrote:
>
>> Yes, but are you saving time with this?  What types of games do you want
>> to make?
>> RTS?  FPS?  RPG?  What's the platform that you're targeting?  No offense,
>> but I've
>> seen a lot of people like this (me including :) ), who want to learn
>> technology X for...
>> wait for it... to make games or something else that's fun.
>>
>> Look, I'm not trying to be mean, but unless you have a specific goal in
>> mind, then
>> this new feature is a waste of time :) .
>>
>> On Sat, Mar 23, 2013 at 12:20 PM, Oskar Kvist  wrote:
>>
>>> It's not about looking cool, it's about saving time.
>>>
>>> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:

 If you want to make a game, then make a game.  Don't worry about looking
 "cool" about it.  You don't need to have some feature to make something
 entertaining :) .

 I'm making a game with a tool called GameMaker.  Not as full-featured or
 powerful as with a programming language?  Sure, but then I want to first
 have a game under my belt, then I'll worry about looking cool in the
 process
 :) .

 On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist wrote:

> Hi!
>
> I saw this video 
> http://www.youtube.com/**w**atch?v=BES9EKK4Aw4of
>  Notch coding on Minecraft while the game was running, and of course
> seeing the changes in the running program. He used some kind of debug mode
> in his IDE (I don't really know which IDE). I want to make a game, and I
> want to to also be able to code while the program is running. I know this
> sort of thing is common in Lisps, so even without that IDE's debug mode it
> should be possible. Is there anything in particular that I need to do or
> look out for in order to make it work? Are there some JVM settings I 
> should
> use? Does anyone know how that debug mode works? I kind of understand how
> it can be done with a plain repl, but I don't wanna miss out on anything
> that would make it easier. Any kind of insight is very appreciated.
>
> --
> --
> 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/**grou**ps/opt_out
> .
>
>
>

  --
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@**googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/**group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@**googlegroups.com.
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out
>>> .
>>>
>>>
>>>
>>
>>  --
> --
> 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: Coding while running the program

2013-03-23 Thread Niels van Klaveren
Doing stuff like you describe was one of Cris Granger's inspirations for 
making Light Table.
See http://www.chris-granger.com/2012/02/26/connecting-to-your-creation/

However, most of this is doable with a REPL, as Mikera already noted. For 
Clojure/Clojurescript, redefining functions in running code is not a 
feature, it's part of the language.

On Saturday, March 23, 2013 10:06:34 PM UTC+1, Oskar Kvist wrote:
>
> John: I don't really understand why you say it's a waste of time. Speeding 
> up the feedback cycle seems great to me.
>
> Thanks to everyone who has contributed to this thread so far!
>
> On Saturday, March 23, 2013 7:48:28 PM UTC+1, John Smith wrote:
>>
>> Yes, but are you saving time with this?  What types of games do you want 
>> to make?
>> RTS?  FPS?  RPG?  What's the platform that you're targeting?  No offense, 
>> but I've
>> seen a lot of people like this (me including :) ), who want to learn 
>> technology X for...
>> wait for it... to make games or something else that's fun.
>>
>> Look, I'm not trying to be mean, but unless you have a specific goal in 
>> mind, then
>> this new feature is a waste of time :) .
>>
>> On Sat, Mar 23, 2013 at 12:20 PM, Oskar Kvist  wrote:
>>
>>> It's not about looking cool, it's about saving time.
>>>
>>> Den lördagen den 23:e mars 2013 kl. 16:03:19 UTC+1 skrev John Smith:

 If you want to make a game, then make a game.  Don't worry about looking
 "cool" about it.  You don't need to have some feature to make something
 entertaining :) .

 I'm making a game with a tool called GameMaker.  Not as full-featured or
 powerful as with a programming language?  Sure, but then I want to first
 have a game under my belt, then I'll worry about looking cool in the 
 process
 :) .

 On Sat, Mar 23, 2013 at 10:22 AM, Oskar Kvist wrote:

> Hi!
>
> I saw this video 
> http://www.youtube.com/**watch?v=BES9EKK4Aw4of
>  Notch coding on Minecraft while the game was running, and of course 
> seeing the changes in the running program. He used some kind of debug 
> mode 
> in his IDE (I don't really know which IDE). I want to make a game, and I 
> want to to also be able to code while the program is running. I know this 
> sort of thing is common in Lisps, so even without that IDE's debug mode 
> it 
> should be possible. Is there anything in particular that I need to do or 
> look out for in order to make it work? Are there some JVM settings I 
> should 
> use? Does anyone know how that debug mode works? I kind of understand how 
> it can be done with a plain repl, but I don't wanna miss out on anything 
> that would make it easier. Any kind of insight is very appreciated.
>
> -- 
> -- 
> 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/**groups/opt_out
> .
>  
>  
>

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

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

Testing gmane please ignore

2013-03-23 Thread John Holland
This is just a test of  the gmane gateway please ignore.

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




Test please ignore

2013-03-23 Thread John Holland
testing gmane interface

-- 
-- 
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: Macro for bailout-style programming

2013-03-23 Thread Evan Gamble
The let? macro addresses such 
situations: https://github.com/egamble/let-else

-- 
-- 
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] Pedestal Application Framework

2013-03-23 Thread Sean Corfield
Contributor Agreements were available for signing at Clojure/West so
I'm guessing it will be under the same process as Clojure itself...

On Fri, Mar 22, 2013 at 9:04 AM, Michael Klishin
 wrote:
>
> 2013/3/22 Alex Redinton 
>>
>> Please let us know what you think!
>
>
> Will Pedestal accept pull requests?
>
>
> --
> 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.
>
>



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




Re: Coding while running the program

2013-03-23 Thread Rob Lachlan
Ring offers functionality for automatic reloading if you happen to be 
developing a  web app.  

See here:
https://github.com/mmcgrana/ring/wiki/Interactive-Development

On Saturday, March 23, 2013 7:22:14 AM UTC-7, Oskar Kvist wrote:
>
> Hi!
>
> I saw this video http://www.youtube.com/watch?v=BES9EKK4Aw4 of Notch 
> coding on Minecraft while the game was running, and of course seeing the 
> changes in the running program. He used some kind of debug mode in his IDE 
> (I don't really know which IDE). I want to make a game, and I want to to 
> also be able to code while the program is running. I know this sort of 
> thing is common in Lisps, so even without that IDE's debug mode it should 
> be possible. Is there anything in particular that I need to do or look out 
> for in order to make it work? Are there some JVM settings I should use? 
> Does anyone know how that debug mode works? I kind of understand how it can 
> be done with a plain repl, but I don't wanna miss out on anything that 
> would make it easier. Any kind of insight is very appreciated.
>

-- 
-- 
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 Korny Sietsma
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"  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 wrote:
>>
>>> 2013/3/22 Daniel Glauser 
>>>
 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 )
 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**DEs
>>>
>>> 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 wrote:
>
>> 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.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 Wedn

Re: Refactoring tools

2013-03-23 Thread Alex Baranosky
Korny,

Slamhound does some of what you're talking about, but not as an editor
extension, https://github.com/technomancy/slamhound

On Sat, Mar 23, 2013 at 6:58 PM, Korny Sietsma  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"  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 wrote:
>>>
 2013/3/22 Daniel Glauser 

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

 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 wrote:
>>
>>> 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.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)
>>>

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  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"  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 wrote:
>>>
 2013/3/22 Daniel Glauser 

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

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

Re: Refactoring tools

2013-03-23 Thread Korny Sietsma
Awesome - great stuff!  (pity no pony though)

- Korny


On 24 March 2013 13:01, Alex Baranosky wrote:

> Korny,
>
> Slamhound does some of what you're talking about, but not as an editor
> extension, https://github.com/technomancy/slamhound
>
>
> On Sat, Mar 23, 2013 at 6:58 PM, Korny Sietsma  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"  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 wrote:

> 2013/3/22 Daniel Glauser 
>
>> 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)
>> 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**DEs
>
> 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 wrote:
>>>
 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.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 lik

Re: let-timed macro...any suggestions/corrections?

2013-03-23 Thread Stephen Compall
On Sat, 2013-03-23 at 13:09 +, Jim - FooBar(); wrote:
>  results   (map #(list 'time (second %)) parts)] ;;don't time at 
> compile-time, just build the timing expression for later use

(let [time 4]
  (let-timed [what 8]
(+ time what)))

This expression should evaluate to 12.

-- 
Stephen Compall
"^aCollection allSatisfy: [:each | aCondition]": less is better than


-- 
-- 
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] Pedestal Application Framework

2013-03-23 Thread Michael Klishin
2013/3/24 Sean Corfield 

> Contributor Agreements were available for signing at Clojure/West so
> I'm guessing it will be under the same process as Clojure itself...
>

They have electronic CA:
http://pedestal.io/#contribute

My question is about pull requests, not the CA.
-- 
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.