Re: Potential Intro clojure projects - libraries and ideas with wow factor
Thanks Mikera and Andrew for the ideas. Some interesting suggestions there. I'll discuss these with my fellow devs. Much appreciated. On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote: Clojure logic programming with core.logic (something akin to a sudoku solver https://gist.github.com/swannodette/3217582 is a good example) or using datomic to have a database with a time machine and datalog for queries might be cool (perhaps visualizing the data in the database at arbitrary times in the past). Both don't really have equivalents in other languages. Other things that are hard to achieve in other languages would involve the immutable data structures, concurrency, and macros. On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote: A handful of developers at the organisation I work at, want to encourage interest in Clojure with the aim of using it in production amongst the organisation's wider developer community (hundreds of developers). We ourselves are Clojure hobbyists. We wanted to do this through a basic project (with few moving parts), so I wanted to get feedback on a couple of aspects: 1. Examples of basic project ideas that would be compelling to fellow developers not familiar with Clojure (e.g. something useful that you can do easily with Clojure that's harder to do in more established languages such as Java) 2. Particular libraries that again had a wow factor towards an objective not easily achievable in more established languages (perhaps related to data analysis, visualisation, or taking advantage of the benefit of lazy evaluation in a novel way as examples). I realise these questions are somewhat open-ended, but just wanted to spark off some ideas for us through bouncing these questions off the google group's members. Thanks for any leads! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
is there a way I can learn clojure with a lot of exercises
Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
Try 4clojure.com On Wed, Apr 16, 2014 at 4:56 PM, Roelof Wobben rwob...@hotmail.com wrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- simple is good http://brucewang.net http://twitter.com/number5 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Helping newcomers get involved in Clojure projects
Even a tutorial on how to read normal stack-traces would be cool to help take an eager beginner from not knowing anything at all to having a good idea. Sometimes you just need that resource to point something out to you: this is the filename. This is the line. etc. And honestly, if 4clojure had like an optional beginner mode, in which each problem was prefaced with a mini-lesson, explaining the functions in question, how they are implemented, use cases and what is unique (or not) about them as regards clojure, half the battle would be won, right there. Although I was personally attracted to Clojure because I saw it as an opportunity to learn many things all at once, Newbs tend to be turned off of a language if they are recommended Go tutorials when they want to study core.async and Java tutorials when they are learning regex for the first time. That said, the aforementioned Go tutorial is really cool as a case study. Have a look :) http://tour.golang.org/ -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
Thanks, Can this site also be good : http://www.braveclojure.com/ Roelof Op woensdag 16 april 2014 09:07:36 UTC+2 schreef Bruce Wang: Try 4clojure.com On Wed, Apr 16, 2014 at 4:56 PM, Roelof Wobben rwo...@hotmail.comjavascript: wrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.comjavascript: Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com javascript: For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com javascript:. For more options, visit https://groups.google.com/d/optout. -- simple is good http://brucewang.net http://twitter.com/number5 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Potential Intro clojure projects - libraries and ideas with wow factor
Can core.logic be used to implement something like http://www.optaplanner.org ? Josh On Wed, Apr 16, 2014 at 9:36 AM, utel umeshtel...@gmail.com wrote: Thanks Mikera and Andrew for the ideas. Some interesting suggestions there. I'll discuss these with my fellow devs. Much appreciated. On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote: Clojure logic programming with core.logic (something akin to a sudoku solver https://gist.github.com/swannodette/3217582 is a good example) or using datomic to have a database with a time machine and datalog for queries might be cool (perhaps visualizing the data in the database at arbitrary times in the past). Both don't really have equivalents in other languages. Other things that are hard to achieve in other languages would involve the immutable data structures, concurrency, and macros. On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote: A handful of developers at the organisation I work at, want to encourage interest in Clojure with the aim of using it in production amongst the organisation's wider developer community (hundreds of developers). We ourselves are Clojure hobbyists. We wanted to do this through a basic project (with few moving parts), so I wanted to get feedback on a couple of aspects: 1. Examples of basic project ideas that would be compelling to fellow developers not familiar with Clojure (e.g. something useful that you can do easily with Clojure that's harder to do in more established languages such as Java) 2. Particular libraries that again had a wow factor towards an objective not easily achievable in more established languages (perhaps related to data analysis, visualisation, or taking advantage of the benefit of lazy evaluation in a novel way as examples). I realise these questions are somewhat open-ended, but just wanted to spark off some ideas for us through bouncing these questions off the google group's members. Thanks for any leads! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
more exercises here http://clojure-euler.wikispaces.com/Problem+001 On Wed, Apr 16, 2014 at 10:53 AM, Roelof Wobben rwob...@hotmail.com wrote: Thanks, Can this site also be good : http://www.braveclojure.com/ Roelof Op woensdag 16 april 2014 09:07:36 UTC+2 schreef Bruce Wang: Try 4clojure.com On Wed, Apr 16, 2014 at 4:56 PM, Roelof Wobben rwo...@hotmail.comwrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- simple is good http://brucewang.net http://twitter.com/number5 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] Gorilla REPL 0.2.0 - all new extensible renderer
On Wednesday, 16 April 2014 06:26:33 UTC+1, Andrew Chambers wrote: Is there a way to rerun the whole notebook top to bottom with a hotkey? Coming soon :-) https://github.com/JonyEpsilon/gorilla-repl/issues/93 Jony -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] Sente - Clojure(Script) + core.async + WebSockets/Ajax
So yeah, I think that exposing a list will get us pretty far. The missing piece, then, would be the ability for a a client to send a connection request for a specific channel. I'll be honest I'm a little hesitant to add any kind of room/subscription facilities to Sente itself... My thinking currently goes: * Far as I can tell (?), this is always _very_ easy to do application-side. * Doing it application-side gives a lot more flexibility. For example, what if you've got multiple servers and want a distributed/db-backed subscription index? * For general hygiene I prefer keeping state (like subscriptions) separate from the comms mechanism itself. Keeping subscription info in Sente makes it tricky to get to if you want to do something unexpected with it. When you control the shape+location of the relevant data/atom(s), you're free to use it and bash on it however you like. Instead, I'd propose to just expose a set of currently-connected uids. You can then intersect that set against any subscription/channel logic you may have. Having said all that, I'm not sure what Socket.IO's rationale was when they chose to bundle subscription semantics into the core API so I might well be missing something... Does that make sense? What do you think? Is your concern more that maintaining your own subscription data will be a nuisance, or that it's difficult to do? Am definitely open to ideas I may not have thought of. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
I suggest read up on Clojure for the Brave and Truehttp://www.braveclojure.comand Clojure from the Ground Uphttp://aphyr.com/posts/301-clojure-from-the-ground-up-welcome, then start on 4clojure's exercises http://www.4clojure.com. I'd recommend it over sites with euler problems, since those are more about finding good algorithms for generic puzzles, while 4clojure gives more insight into Clojure's inner workings and pitfalls. As references use clojure-doc.org for tutorials and clojuredocs.org for core function examples. On Wednesday, April 16, 2014 9:53:06 AM UTC+2, Roelof Wobben wrote: Thanks, Can this site also be good : http://www.braveclojure.com/ Roelof Op woensdag 16 april 2014 09:07:36 UTC+2 schreef Bruce Wang: Try 4clojure.com On Wed, Apr 16, 2014 at 4:56 PM, Roelof Wobben rwo...@hotmail.comwrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- simple is good http://brucewang.net http://twitter.com/number5 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
braveclojure problem ( paste into emacs)
Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
Thanks, At this point Im following the first tutorial. Roelof Op woensdag 16 april 2014 12:45:33 UTC+2 schreef Niels van Klaveren: I suggest read up on Clojure for the Brave and Truehttp://www.braveclojure.comand Clojure from the Ground Uphttp://aphyr.com/posts/301-clojure-from-the-ground-up-welcome, then start on 4clojure's exercises http://www.4clojure.com. I'd recommend it over sites with euler problems, since those are more about finding good algorithms for generic puzzles, while 4clojure gives more insight into Clojure's inner workings and pitfalls. As references use clojure-doc.org for tutorials and clojuredocs.org for core function examples. On Wednesday, April 16, 2014 9:53:06 AM UTC+2, Roelof Wobben wrote: Thanks, Can this site also be good : http://www.braveclojure.com/ Roelof Op woensdag 16 april 2014 09:07:36 UTC+2 schreef Bruce Wang: Try 4clojure.com On Wed, Apr 16, 2014 at 4:56 PM, Roelof Wobben rwo...@hotmail.comwrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- simple is good http://brucewang.net http://twitter.com/number5 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
Try control y google usually returns good results when I search for emacs stuffs. Regards, Kashyap On Wed, Apr 16, 2014 at 4:27 PM, Roelof Wobben rwob...@hotmail.com wrote: Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
On Wed, Apr 16, 2014 at 6:57 AM, Roelof Wobben rwob...@hotmail.com wrote: I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. How you paste text into emacs is somewhat dependent on your configuration. Can you give more details as to your system configuration and emacs version? For instance, I'm on OS X using console Emacs 24.3 and the way I tend to 'paste' things into emacs is by `C-u M-! pbpaste`. -- In Christ, Timmy V. http://blog.twonegatives.com/ http://five.sentenc.es/ -- Spend less time on mail -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
Sorry for the confusion! As Kashyap mentioned, ctrl-y should work. You can also try your normal keyboard binding for pasting (ctrl-v or cmd-v), that might work as well. Also, if Emacs is too difficult to work with, then it's definitely ok to use whatever editor you like most :) Thanks, Daniel On Wednesday, April 16, 2014 6:57:41 AM UTC-4, Roelof Wobben wrote: Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
Op woensdag 16 april 2014 12:57:41 UTC+2 schreef Roelof Wobben: Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
hello, ctrl-y did the job. Roelof Op woensdag 16 april 2014 13:36:44 UTC+2 schreef Daniel Higginbotham: Sorry for the confusion! As Kashyap mentioned, ctrl-y should work. You can also try your normal keyboard binding for pasting (ctrl-v or cmd-v), that might work as well. Also, if Emacs is too difficult to work with, then it's definitely ok to use whatever editor you like most :) Thanks, Daniel On Wednesday, April 16, 2014 6:57:41 AM UTC-4, Roelof Wobben wrote: Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: braveclojure problem ( paste into emacs)
a little cheatsheet with things like that for emacs (you have your C-y to paste there, and other stuff like that) http://sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs8.png Have fun! On Wed, Apr 16, 2014 at 2:12 PM, Roelof Wobben rwob...@hotmail.com wrote: hello, ctrl-y did the job. Roelof Op woensdag 16 april 2014 13:36:44 UTC+2 schreef Daniel Higginbotham: Sorry for the confusion! As Kashyap mentioned, ctrl-y should work. You can also try your normal keyboard binding for pasting (ctrl-v or cmd-v), that might work as well. Also, if Emacs is too difficult to work with, then it's definitely ok to use whatever editor you like most :) Thanks, Daniel On Wednesday, April 16, 2014 6:57:41 AM UTC-4, Roelof Wobben wrote: Hello, I try to learn coljure by using this tutorial: http://www.braveclojure.com Im now at point 7 : http://www.braveclojure.com/basic-emacs/ There I must paste a text into emacs. But as far as I know there is no mentioned how I can paste text into emacs. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
I found this to be very useful http://clojurekoans.com/ Kranthi -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
I did this https://wiki.helsinki.fi/display/clojure2011/Home This appears to be more updated, but I haven't tried it. http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html On Wednesday, April 16, 2014 1:56:07 PM UTC+7, Roelof Wobben wrote: Hello, I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Why I'm giving Clojure a try
Some months ago I decided to learn a new language. In the end, I had to choose between Scala and Clojure and I chose Scala because Clojure was too alien to me. I was looking for a language to write web apps and Scala, with Play 2, seemed like a natural choice to me. The fact that Clojure had many little libraries rather than a few big frameworks didn't help. Then I discovered Single Page Applications (SPAs) and looked into full Javascript SPAs but soon realized that Javascript is an awkward language that should be put out of its misery. I finally decided to give Dart a try because Coffeescript and Typescript were too close to Javascript. Unfortunately Dart didn't impress me. As a language it's not very interesting, especially after having programmed in Scala for a while. Moreover, I was disappointed that it didn't (and still doesn't) solve the callback hell problem. It's true that futures and promises alleviate the problem but that's not enough, IMHO. I think the best solution is the one proposed by Go and I was really impressed when I found out that Clojure managed to implement goroutines by leveraging the power of macros. That single fact is what made me reconsider Clojure. Then I found out about Clojurescript and I was sold. I'm also very impressed by how active Clojure's community is. In this last year things have changed so much! I'm looking forward to trying Pedestal, Om and Hoplon. I think that clojure.async and Clojurescript are the two biggest selling points for Clojure. I hope Clojurescript keeps improving and gets the attention it deserves. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Linked Hash Map/Set
For anybody interested, I manage to improve performance up to ~2x slower than standard hash-map and pushed it to clojars. https://github.com/frankiesardo/linked linked-set is still a bit slow so I'll keep investigating on it. On Tuesday, April 15, 2014 2:31:14 PM UTC+2, Frankie Sardo wrote: Thanks for the pointers Andy. I had a look at the ordered-map and indeed is a smart and fast implementation. However it relies on continuously growing a backing array, filling dissoc-iated values with nil and hoping that at one point the user will call (compact map) to free all the unused positions. In theory my implementation should scale better as it only uses the space that it needs. However after more benchmarking I observed the following: - (assoc with multiple key-vals) does indeed slow down the operations. But calling transient and persistent! only makes things worse with bigger maps (I guess the whole map is copied before making it transient). - There is quite a bottleneck due to querying 'head' and 'tail' on every insertion. I thought the performance of a standard hash-map was definitely better :) I could speed up the assoc performance avoiding the insertion of head and tail inside the delegate-map and keeping those two nodes as class fields. That won't make dissoc better but it seems like a reasonable compromise. Out of curiosity, is anybody using ordered-map in their projects? Since performance is comparable to a standard hash-map I would always prefer to use it for the deterministic ordering of the keys. Makes reproducing and catching bugs/errors easier imho. On Monday, April 14, 2014 10:48:48 PM UTC+2, Andy Fingerhut wrote: You may also want to take a look at the 'ordered' library, intended to achieve a similar affect as you describe of remembering elements in the order they were inserted. I don't know which of the two Github repos below is the current latest one, but it should be one of them: https://github.com/flatland/ordered https://github.com/amalloy/ordered Andy On Mon, Apr 14, 2014 at 12:36 PM, Andy Fingerhut andy.fi...@gmail.comwrote: I don't have time right now to look at the details of your implementation, but can answer at least one of your questions. Clojure's normal PersistentHashMap data structure does create a new object for every key you remove (with dissoc), add, or modify the value for (with assoc). So if a single assoc call is made that adds/changes the values for 5 keys, 5 new PersistentHashMap objects will be created. That can be avoided if you call transient first, then assoc! N times (each time on the result returned by the previous assoc!), then persistent. There the assoc! calls still can create new objects, but they will often simply edit the existing transient data structure in place. These are a bit trickier to implement, so if I were you I would focus on getting the persistent version correct and as fast as you can before worrying about a transient version. Either that, or do not even both creating a transient version at all. Andy On Mon, Apr 14, 2014 at 11:59 AM, Frankie Sardo fran@gmail.comwrote: I'm on a mission to implement an ordered map and set structure for Clojure. Much like LinkedHashMap for Java but as a persistent data structure. The idea is that instead of saving a simple [k v] MapEntry we can save [k v left-node-key right-node-key] plus a global head-node-key to walk through the chains of nodes. Adding a new element creates a new node with a reference on the current tail and the head node and updates the tail and head node to reference the new key in the middle. Removing an element dissociates the selected node and associates the newly updated nodes at the left and the right of the removed one. What puzzles me is the overall performance of this data structure. While Big-O complexity is the same I knew it would be slower due to extra accesses to the inner map, but I expected to be close to the performance of a normal hash-map. Instead insertion is about 5x slower while the removal is 2x slower. So I wonder: is assoc-ing multiple keys at a time generating multiple persistent maps? Or am I doing something blatantly wrong here? However, if somebody'd like to have a look at it I pushed an initial version here https://github.com/frankiesardo/linked. Any help is much appreciated as I'm still a Clojure newbie. -- 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
Re: Why I'm giving Clojure a try
Welcome, Massimiliano! Judging from you name, we seem to share some common cultural background ;) I hope that you'll enjoy learning and using Clojure, and more importantly that you'll reap the advantages that comes from learning and applying its philosophyhttp://www.drdobbs.com/architecture-and-design/the-clojure-philosophy/240150710(even if you can't work with Clojure all the time in your day job). Cheers, Manuel Il giorno mercoledì 16 aprile 2014 14:24:50 UTC+2, Massimiliano Tomassoli ha scritto: Some months ago I decided to learn a new language. In the end, I had to choose between Scala and Clojure and I chose Scala because Clojure was too alien to me. I was looking for a language to write web apps and Scala, with Play 2, seemed like a natural choice to me. The fact that Clojure had many little libraries rather than a few big frameworks didn't help. Then I discovered Single Page Applications (SPAs) and looked into full Javascript SPAs but soon realized that Javascript is an awkward language that should be put out of its misery. I finally decided to give Dart a try because Coffeescript and Typescript were too close to Javascript. Unfortunately Dart didn't impress me. As a language it's not very interesting, especially after having programmed in Scala for a while. Moreover, I was disappointed that it didn't (and still doesn't) solve the callback hell problem. It's true that futures and promises alleviate the problem but that's not enough, IMHO. I think the best solution is the one proposed by Go and I was really impressed when I found out that Clojure managed to implement goroutines by leveraging the power of macros. That single fact is what made me reconsider Clojure. Then I found out about Clojurescript and I was sold. I'm also very impressed by how active Clojure's community is. In this last year things have changed so much! I'm looking forward to trying Pedestal, Om and Hoplon. I think that clojure.async and Clojurescript are the two biggest selling points for Clojure. I hope Clojurescript keeps improving and gets the attention it deserves. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Why I'm giving Clojure a try
Welcome aboard! Fasten your seatbelt, it will be a wild (and exhilarating) ride. I'm still relatively new, but I've learned enough to know that clojure (and clojurescript and Datomic) are what I need to be focusing on. Besides all the other benefits, it's just plain fun. I haven't had this much fun or felt as empowered as a programmer - well, ever. You are spot on about the community as well. It appears to me that the clojure community has made a conscious effort to avoid the mistakes of the LISP communities in the past, and it shows. I think another part of it - for me at least - is that once you discover the power and sheer joy of a better way to solve problems, you just want to share that. BTW, I followed a similar path as you, picking Scala over Clojure for most of the same reasons. But Scala never took with me. I always had the feeling I was headed in the wrong direction with Scala. This was before I started watching Rich Hickey's talks, but I think I just intuitively knew that adding complexity as Scala does was not the solution to our problems. I had been down that road before with numerous technologies (OSGI, reprogramming, model-driven-whatever) and it's the same thing - trying to simplify by adding complexity. To me, that makes about as much sense as trying to spend your way out of debt. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
On Apr 15, 2014, at 11:56 PM, Roelof Wobben rwob...@hotmail.com wrote: I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? I know you said that you want to do exercises, but I have to second the recommendations for Clojure for the Brave and True. Great introduction for somebody who has little to no programming background. http://www.braveclojure.com/ Also as others have said, 4Clojure is exactly what you're asking for (exercises). But I'd start off with Clojure for the Brave and True, and as concepts start to click (or maybe even just before that), start working some of the 4Clojure exercises. -- Charlie Griefer http://charlie.griefer.com Give light, and the darkness will disappear of itself. -- Desiderius Erasmus -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
Op woensdag 16 april 2014 16:43:09 UTC+2 schreef Charlie Griefer: On Apr 15, 2014, at 11:56 PM, Roelof Wobben rwo...@hotmail.comjavascript: wrote: I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? I know you said that you want to do exercises, but I have to second the recommendations for Clojure for the Brave and True. Great introduction for somebody who has little to no programming background. http://www.braveclojure.com/ Also as others have said, 4Clojure is exactly what you're asking for (exercises). But I'd start off with Clojure for the Brave and True, and as concepts start to click (or maybe even just before that), start working some of the 4Clojure exercises. -- Charlie Griefer http://charlie.griefer.comhttp://charlie.griefer.com Give light, and the darkness will disappear of itself. -- Desiderius Erasmus Thanks, What I do now is read the braveclojure book and do the exercises from http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html So I read a lot and I can see how things work. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Need HTTP Client not to verify cert on Heroku
I'm getting this error in a web service call on Heroku with Clojure: SSLPeerUnverifiedException javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated Has anyone figured out how to disable peer authentication with clj-http? I'm running clj-http 0.7.6 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Video] Game development in Clojure (with play-clj)
Jame's tutorial was right on the money and following it I was able to make a comparable version with Skeletor collecting magic gems in a desert. I am interested in leveraging Clojurescript and async for browser-game development, though, and while there is a core.async Dots game tutorial, it goes way over my head. If only there were a proper book that could teach Clojurescript, game development and async all at the same time! http://rigsomelight.com/2013/08/12/clojurescript-core-async-dots-game.html I am exploring the game-query library for javascript and am reading a book about using jquery (can Clojurescript leverage this?) to make games. It's pretty sweet, but really polymorphic and un-Clojurey. By contrast, going through the Pedestal tutorial, it seems you can actually store the entire state of the game in an atom and just repeatedly swap! out that value, frame for frame, by matching it against a map representing changes to the DOM. This seems to make sense, but it feels like we are on a wild frontier with only a few examples to go by. If anyone else has experience with Pedestal, Clojurescript or core.async, as they pertain to game dev, I'd be stoked to hear about your experience. Jesse On Friday, March 28, 2014 2:07:21 AM UTC+9, James Trunk wrote: Hi everyone, I thought some of you might be interested to watch my screencast about game development in Clojure with play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA . Cheers, James -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
I would suggest 4clojure.com for the following reasons: 1. Problems are tuned towards learning idioms of Clojure 2. In many cases problems are tuned towards making you thinking functionally. 3. Once you solve the problem, you get to compare it with some of the other submitters. This point is crucial, since this will help you appreciate how some of the solutions submitted by other members can be so small and elegant. For me learning from the submitted code of other and comparing the though process I went through in coming up with my solution was a big take away. 4. It feels good to be on the first page of top users page, once you solved the 150 odd problems. Cons: 1. A solution to almost all 4Clojure problems is just a google search away. So, stay away from the temptation to look for the answers. You will be surprised with how different your solution would have looked. For further proof, I noticed many of the problems on this site are inspired by this list: http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html So good luck! Guru On Wed, Apr 16, 2014 at 8:19 AM, Roelof Wobben rwob...@hotmail.com wrote: Op woensdag 16 april 2014 16:43:09 UTC+2 schreef Charlie Griefer: On Apr 15, 2014, at 11:56 PM, Roelof Wobben rwo...@hotmail.com wrote: I like to try clojure. I have little or none programming background but I know I learn the best by reading a piece of text and then do exercises about it so I can check if I really understand it. What is then the best way to proceed ? I know you said that you want to do exercises, but I have to second the recommendations for Clojure for the Brave and True. Great introduction for somebody who has little to no programming background. http://www. braveclojure.com/ Also as others have said, 4Clojure is exactly what you're asking for (exercises). But I'd start off with Clojure for the Brave and True, and as concepts start to click (or maybe even just before that), start working some of the 4Clojure exercises. -- Charlie Griefer http://charlie.griefer.comhttp://charlie.griefer.com Give light, and the darkness will disappear of itself. -- Desiderius Erasmus Thanks, What I do now is read the braveclojure book and do the exercises from http://iloveponies.github.io/120-hour-epic-sax-marathon/index.html So I read a lot and I can see how things work. Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
Thank you both for the warm welcome! Right now I'm reading Clojure for the Brave and True. I'm not new to functional programming, but I'm not familiar with LISPy languages. I can see the value of having such a regular syntax (or absence of it) but it takes a while to get comfortable with it. One problem is that I find it difficult to keep track of all the parentheses. What I mean is that it takes me a while to make sure that each parenthesis is in the right place. Maybe I'm a little dysLIPSic. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Video] Game development in Clojure (with play-clj)
Nice video, very cool. Some notes: - you can omit comma ',' in maps {:key value :another value} - can omit contains? in filter: user= (filter :apple? [{:apple? true :x 6} {:apple? true :x 4} {:player? true :x 550}]) ({:apple? true, :x 6} {:apple? true, :x 4}) Thanks again, Eduard On Thursday, March 27, 2014 7:07:21 PM UTC+2, James Trunk wrote: Hi everyone, I thought some of you might be interested to watch my screencast about game development in Clojure with play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA . Cheers, James -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Potential Intro clojure projects - libraries and ideas with wow factor
Probably. Things like OptaPlanner are the big business use-case for logic programming, IIRC. On Wed, Apr 16, 2014 at 1:49 AM, Josh Kamau joshnet2...@gmail.com wrote: Can core.logic be used to implement something like http://www.optaplanner.org ? Josh On Wed, Apr 16, 2014 at 9:36 AM, utel umeshtel...@gmail.com wrote: Thanks Mikera and Andrew for the ideas. Some interesting suggestions there. I'll discuss these with my fellow devs. Much appreciated. On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote: Clojure logic programming with core.logic (something akin to a sudoku solver https://gist.github.com/swannodette/3217582 is a good example) or using datomic to have a database with a time machine and datalog for queries might be cool (perhaps visualizing the data in the database at arbitrary times in the past). Both don't really have equivalents in other languages. Other things that are hard to achieve in other languages would involve the immutable data structures, concurrency, and macros. On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote: A handful of developers at the organisation I work at, want to encourage interest in Clojure with the aim of using it in production amongst the organisation's wider developer community (hundreds of developers). We ourselves are Clojure hobbyists. We wanted to do this through a basic project (with few moving parts), so I wanted to get feedback on a couple of aspects: 1. Examples of basic project ideas that would be compelling to fellow developers not familiar with Clojure (e.g. something useful that you can do easily with Clojure that's harder to do in more established languages such as Java) 2. Particular libraries that again had a wow factor towards an objective not easily achievable in more established languages (perhaps related to data analysis, visualisation, or taking advantage of the benefit of lazy evaluation in a novel way as examples). I realise these questions are somewhat open-ended, but just wanted to spark off some ideas for us through bouncing these questions off the google group's members. Thanks for any leads! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Wed, Apr 16, 2014 at 12:06 PM, Massimiliano Tomassoli kiuhn...@gmail.com wrote: Thank you both for the warm welcome! Right now I'm reading Clojure for the Brave and True. I'm not new to functional programming, but I'm not familiar with LISPy languages. I can see the value of having such a regular syntax (or absence of it) but it takes a while to get comfortable with it. One problem is that I find it difficult to keep track of all the parentheses. What I mean is that it takes me a while to make sure that each parenthesis is in the right place. Maybe I'm a little dysLIPSic. Editor support helps a lot with that. Personally, I consider it requisite for effective editing of Lisp code (of any dialect). I personally use emacs and paredit mode, but of course your preference may be different. Whatever your favorite editor is, if it can be configured to do automatic parenthesis matching, fixing alignment and the like, that will go a long way towards mitigating the parenthesis burden. - Dan C. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Wednesday, April 16, 2014 6:06:57 PM UTC+2, Massimiliano Tomassoli wrote: Thank you both for the warm welcome! Right now I'm reading Clojure for the Brave and True. I'm not new to functional programming, but I'm not familiar with LISPy languages. I can see the value of having such a regular syntax (or absence of it) but it takes a while to get comfortable with it. One problem is that I find it difficult to keep track of all the parentheses. What I mean is that it takes me a while to make sure that each parenthesis is in the right place. Maybe I'm a little dysLIPSic. I meant dysLISPic of course :) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Wednesday, April 16, 2014 6:27:03 PM UTC+2, Dan Cross wrote: On Wed, Apr 16, 2014 at 12:06 PM, Massimiliano Tomassoli kiuh...@gmail.com javascript: wrote: Thank you both for the warm welcome! Right now I'm reading Clojure for the Brave and True. I'm not new to functional programming, but I'm not familiar with LISPy languages. I can see the value of having such a regular syntax (or absence of it) but it takes a while to get comfortable with it. One problem is that I find it difficult to keep track of all the parentheses. What I mean is that it takes me a while to make sure that each parenthesis is in the right place. Maybe I'm a little dysLIPSic. Editor support helps a lot with that. Personally, I consider it requisite for effective editing of Lisp code (of any dialect). I personally use emacs and paredit mode, but of course your preference may be different. Whatever your favorite editor is, if it can be configured to do automatic parenthesis matching, fixing alignment and the like, that will go a long way towards mitigating the parenthesis burden. I'm going to use LightTable which seems to have great support for Clojure. emacs terrifies me :) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
The Cons in iterate's return value
The docstring for iterate says that it returns a lazy sequence, but it returns a Cons wrapped around a LazySeq. This means, for example, that realized? can't be applied to what iterate returns. Is this a problem with the iterate docstring? Or should realized? be applicable to Conses? I assume that there's a good reason that iterate returns a Cons instead of a LazySeq. Clojure 1.6.0 user= (doc iterate) - clojure.core/iterate ([f x]) Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects nil user= (def xs (iterate inc 0)) #'user/xs user= (class xs) clojure.lang.Cons user= (class (rest xs)) clojure.lang.LazySeq user= (realized? (rest xs)) false user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (take 5 xs) (0 1 2 3 4) user= (realized? (rest xs)) true user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (doc realized?) - clojure.core/realized? ([x]) Returns true if a value has been produced for a promise, delay, future or lazy sequence. nil -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
I second Dan Cross's comment. You also need to get used to *reading*standard Lisp code indentation. It's not hard, but it's different from what's common for most languages. Then when your editor reformats your code, you easily can see whether there's something wrong with your parentheses. On Wednesday, April 16, 2014 11:27:03 AM UTC-5, Dan Cross wrote: Editor support helps a lot with that. Personally, I consider it requisite for effective editing of Lisp code (of any dialect). I personally use emacs and paredit mode, but of course your preference may be different. Whatever your favorite editor is, if it can be configured to do automatic parenthesis matching, fixing alignment and the like, that will go a long way towards mitigating the parenthesis burden. - Dan C. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
It's almost cliche to say it, but you really do get used to the parenthesis. Once you do, you won't give it a second thought, and for me at least, it's the other languages that start to look weird with their irregular syntax. And at least one a week I catch myself writing (if ... or (for ... in java, which I have to use for my day job. :( Lighttable is a great environment to start with, and even beyond. I assumed from the beginning I would have to learn emacs at some point, but so far I haven't hit limitations with lighttable that are enough to justify pushing through the pain to learn more emacs. One big advantage of lighttable is screen real estate. I probably work 60% of the time on my MacBook with no external monitor, so screen space is precious. With emacs or sublime, you pretty much need to split your screen and keep a repl in one part. With lighttable, I get the results of eval right next to the code, which is a very efficient way to solve this problem. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
What's harder than parentheses is the fact that any sort of semantics can be hidden under simple words in the call position, and everything looks the same. It changed how I read code, and it took a while to get used to that. I wonder if there's a study somewhere on the ergonomics of lisp. Code density/spread might affect eye-strain, is my experiential hypothesis :-). On Wed, Apr 16, 2014 at 1:25 PM, Mike Haney txmikes...@gmail.com wrote: It's almost cliche to say it, but you really do get used to the parenthesis. Once you do, you won't give it a second thought, and for me at least, it's the other languages that start to look weird with their irregular syntax. And at least one a week I catch myself writing (if ... or (for ... in java, which I have to use for my day job. :( Lighttable is a great environment to start with, and even beyond. I assumed from the beginning I would have to learn emacs at some point, but so far I haven't hit limitations with lighttable that are enough to justify pushing through the pain to learn more emacs. One big advantage of lighttable is screen real estate. I probably work 60% of the time on my MacBook with no external monitor, so screen space is precious. With emacs or sublime, you pretty much need to split your screen and keep a repl in one part. With lighttable, I get the results of eval right next to the code, which is a very efficient way to solve this problem. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Video] Game development in Clojure (with play-clj)
you can omit comma ',' in maps {:key value :another value} In the interest of readability, I usually add commas when I have multiple key-value pairs on the same row. can omit contains? in filter: Cool - thanks for the tip! Also, thanks to everyone else for your comments. :-) Cheers, James On Wednesday, April 16, 2014 6:07:06 PM UTC+2, edbond wrote: Nice video, very cool. Some notes: - you can omit comma ',' in maps {:key value :another value} - can omit contains? in filter: user= (filter :apple? [{:apple? true :x 6} {:apple? true :x 4} {:player? true :x 550}]) ({:apple? true, :x 6} {:apple? true, :x 4}) Thanks again, Eduard On Thursday, March 27, 2014 7:07:21 PM UTC+2, James Trunk wrote: Hi everyone, I thought some of you might be interested to watch my screencast about game development in Clojure with play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA . Cheers, James -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
Syntax-highlighting helps, although not for user-defined functions (at least not in Vim, which is what I use). On Wednesday, April 16, 2014 12:30:45 PM UTC-5, Gary Trakhman wrote: What's harder than parentheses is the fact that any sort of semantics can be hidden under simple words in the call position, and everything looks the same. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Wednesday, April 16, 2014 7:25:54 PM UTC+2, Mike Haney wrote: It's almost cliche to say it, but you really do get used to the parenthesis. Once you do, you won't give it a second thought, and for me at least, it's the other languages that start to look weird with their irregular syntax. And at least one a week I catch myself writing (if ... or (for ... in java, which I have to use for my day job. :( Not only is Java non-Lispy, but it's also imperative. Java and Clojure are like night and day! Lighttable is a great environment to start with, and even beyond. I assumed from the beginning I would have to learn emacs at some point, but so far I haven't hit limitations with lighttable that are enough to justify pushing through the pain to learn more emacs. One big advantage of lighttable is screen real estate. I probably work 60% of the time on my MacBook with no external monitor, so screen space is precious. With emacs or sublime, you pretty much need to split your screen and keep a repl in one part. With lighttable, I get the results of eval right next to the code, which is a very efficient way to solve this problem. The only thing missing in LightTable is debugging. I'm not sure classic debugging (stepping, tracing, etc...) is applicable to Clojure, though. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: The Cons in iterate's return value
this issue on core.typed http://dev.clojure.org/jira/browse/CTYP-96 in particular the comment: This is starting to make me rethink what a clojure.core docstring means exactly by a lazy sequence cheers, Gianluca On Wednesday, April 16, 2014 6:45:01 PM UTC+2, Mars0i wrote: The docstring for iterate says that it returns a lazy sequence, but it returns a Cons wrapped around a LazySeq. This means, for example, that realized? can't be applied to what iterate returns. Is this a problem with the iterate docstring? Or should realized? be applicable to Conses? I assume that there's a good reason that iterate returns a Cons instead of a LazySeq. Clojure 1.6.0 user= (doc iterate) - clojure.core/iterate ([f x]) Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects nil user= (def xs (iterate inc 0)) #'user/xs user= (class xs) clojure.lang.Cons user= (class (rest xs)) clojure.lang.LazySeq user= (realized? (rest xs)) false user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (take 5 xs) (0 1 2 3 4) user= (realized? (rest xs)) true user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (doc realized?) - clojure.core/realized? ([x]) Returns true if a value has been produced for a promise, delay, future or lazy sequence. nil -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Light table
Has anyone tried Light table as a IDE instead of Emacs ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: is there a way I can learn clojure with a lot of exercises
As one who has been immersed in Clojure since the beginning of the year, I'd say use 4Clojure judiciously. For one thing, the format of the exercises adds an extra layer of complexity: Most of the time, you can't just solve the problem, you must solve the problem and then try to figure out how to phrase your solution into the surrounding assertion. For another, a lot of the easy questions are of the category easy, if you already know the answer. The first section of the clojure cheat-sheet ( http://clojure.org/cheatsheet) gives you your basic tools. (A lot of my first weeks were Oh, there's a function for that?) And finally, personally, I find that there's only so many times I can do Fibonaccis and factorials (and all those other Comp Sci exercises that I've never used in a productive program) before I get antsy. After a few weeks of focusing on 4clojure, I realized I couldn't actually write a running program. Then, after a few weeks of playing around with a few dumb programs (but actual programs) I could go back and knock out a lot of 4clojure exercises. But! now I go back and if there's an exercise I can't do, I know it's because there's a hole in my Clojure knowledge, so it's been very good for filling those in. When you start, though, it's all holes. My 2 cents. ===Blake=== -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: The Cons in iterate's return value
Ah so it seems a lazy sequence implements IPending? Thanks, Ambrose On Thu, Apr 17, 2014 at 3:39 AM, gianluca torta giato...@gmail.com wrote: this issue on core.typed http://dev.clojure.org/jira/browse/CTYP-96 in particular the comment: This is starting to make me rethink what a clojure.core docstring means exactly by a lazy sequence cheers, Gianluca On Wednesday, April 16, 2014 6:45:01 PM UTC+2, Mars0i wrote: The docstring for iterate says that it returns a lazy sequence, but it returns a Cons wrapped around a LazySeq. This means, for example, that realized? can't be applied to what iterate returns. Is this a problem with the iterate docstring? Or should realized? be applicable to Conses? I assume that there's a good reason that iterate returns a Cons instead of a LazySeq. Clojure 1.6.0 user= (doc iterate) - clojure.core/iterate ([f x]) Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects nil user= (def xs (iterate inc 0)) #'user/xs user= (class xs) clojure.lang.Cons user= (class (rest xs)) clojure.lang.LazySeq user= (realized? (rest xs)) false user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (take 5 xs) (0 1 2 3 4) user= (realized? (rest xs)) true user= (realized? xs) ClassCastException clojure.lang.Cons cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:6883) user= (doc realized?) - clojure.core/realized? ([x]) Returns true if a value has been produced for a promise, delay, future or lazy sequence. nil -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Light table
Lots of people use it, including me. I don't think it's a bad choice for beginners at all. The conventional wisdom seems to be that you will end up learning emacs eventually if you spend any amount of time doing clojure or lisp, so you might as well learn it from the start. That is definitely the approach taken in the braveclojure book, and he may be right, but I have no regrets starting with lighttable. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: The Cons in iterate's return value
I assume that there's a good reason that iterate returns a Cons instead of a LazySeq. IIUC, this particular case arises because iterate's body is implemented as (cons x (lazy-seq (iterate f (f x rather than (lazy-seq (cons x (iterate f (f x Can anyone comment on whether there's a reason to prefer one over the other? -- John Mastro -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Apr 16, 2014, at 9:42 AM, Massimiliano Tomassoli kiuhn...@gmail.com wrote: I'm going to use LightTable which seems to have great support for Clojure. emacs terrifies me :) I'm using LightTable for all my editing these days - and for ClojureScript it's truly amazing! Welcome to Clojure / ClojureScript! At World Singles, we're just starting down the path of Om / Sente for an internal application. We need something very interactive, and also very malleable. Using core.async for the communication between the client and the server (via Sente) means we can use the same idioms across the whole app which is really nice. Om takes a bit of getting used to but having the decoupling between state, logic, and rendering makes for a very pleasant experience when you're building a component-based UI. With LightTable, you can connect into a browser and just live eval cljs code into your running application which makes experimentation really slick as you evolve the app. We also tend to start a LT-enabled REPL server inside the back end of our apps so you can connect LT to the running server and live eval code into that too. Very productive. I used Emacs for just over two years before switching to LT, BTW (well, after a near 20 year break from Emacs before that). Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) signature.asc Description: Message signed with OpenPGP using GPGMail
Re: is there a way I can learn clojure with a lot of exercises
In my humble experience, the best way to learn a language is to follow your way to learn a language, that means the same way you were already successful with the latest language you learnt. Hopefully in the future CLJ could become the very first language the new generation will learn (today I think it’s python). But at the moment I don’t know anyone which start programming by using CLJ as her/his very first programming language. There should be no reasons why CLJ/CLJS requires you to adopt a different approach from the latest language you learnt. My best mimmo On 16 Apr 2014, at 21:41, blake dsblakewat...@gmail.com wrote: As one who has been immersed in Clojure since the beginning of the year, I'd say use 4Clojure judiciously. For one thing, the format of the exercises adds an extra layer of complexity: Most of the time, you can't just solve the problem, you must solve the problem and then try to figure out how to phrase your solution into the surrounding assertion. For another, a lot of the easy questions are of the category easy, if you already know the answer. The first section of the clojure cheat-sheet (http://clojure.org/cheatsheet) gives you your basic tools. (A lot of my first weeks were Oh, there's a function for that?) And finally, personally, I find that there's only so many times I can do Fibonaccis and factorials (and all those other Comp Sci exercises that I've never used in a productive program) before I get antsy. After a few weeks of focusing on 4clojure, I realized I couldn't actually write a running program. Then, after a few weeks of playing around with a few dumb programs (but actual programs) I could go back and knock out a lot of 4clojure exercises. But! now I go back and if there's an exercise I can't do, I know it's because there's a hole in my Clojure knowledge, so it's been very good for filling those in. When you start, though, it's all holes. My 2 cents. ===Blake=== -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Light table
On Apr 16, 2014, at 12:42 PM, Roelof Wobben rwob...@hotmail.com wrote: Has anyone tried Light table as a IDE instead of Emacs ? Yes. I used Emacs back in the 17.x / 18.x / early 19.x days and then went on to other editors. After a long break, and after starting to use Clojure daily, I went back to Emacs in late 2011 and used it solidly up until LT hit 0.6.0, then switched completely to LT. With Emacs-mode enabled and the Emacs and Paredit plugins, it's fairly Emacs-like although there are definitely some quirks in key bindings and some of the paredit stuff. What I really like about LT is the integrated evaluation of code inline so I can treat a file as a REPL and see the results right there, and if you're doing ClojureScript, the ability to live eval cljs and the embedded browser make for a very smooth workflow. Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Why I'm giving Clojure a try
On 16 Apr 2014, at 23:10, Sean Corfield s...@corfield.org wrote: I used Emacs for just over two years before switching to LT, BTW (well, after a near 20 year break from Emacs before that). which means you stopped to use emacs because of Java like I did 20 years ago? Have you noted that your fingers still remember emacs key-chords? my best mimmo signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Why I'm giving Clojure a try
Hi Massimiliano, You may also want to give ClojureScript or LiveScript (which compiles to JavaScript and run on node.js) a try! LiveScript is quite functional and the callback hell is somewhat eased. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Light table
I think LightTable is a good choice for Clojure beginners, certainly it's much more approachable than Emacs. Other options you might consider are Cursive (based on IntelliJ, at http://cursiveclojure.com) or CounterClockwise (based on Eclipse, at https://code.google.com/p/counterclockwise) which are both pretty newbie-friendly and work much more like standard applications than Emacs. Standard disclaimer: I develop Cursive. On 17 April 2014 09:15, Sean Corfield s...@corfield.org wrote: On Apr 16, 2014, at 12:42 PM, Roelof Wobben rwob...@hotmail.com wrote: Has anyone tried Light table as a IDE instead of Emacs ? Yes. I used Emacs back in the 17.x / 18.x / early 19.x days and then went on to other editors. After a long break, and after starting to use Clojure daily, I went back to Emacs in late 2011 and used it solidly up until LT hit 0.6.0, then switched completely to LT. With Emacs-mode enabled and the Emacs and Paredit plugins, it's fairly Emacs-like although there are definitely some quirks in key bindings and some of the paredit stuff. What I really like about LT is the integrated evaluation of code inline so I can treat a file as a REPL and see the results right there, and if you're doing ClojureScript, the ability to live eval cljs and the embedded browser make for a very smooth workflow. Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ 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/d/optout.
Re: Light table
On Wed, Apr 16, 2014 at 6:01 PM, Colin Fleming colin.mailingl...@gmail.comwrote: Standard disclaimer: I develop Cursive. How's Cursive coming along? The website still says it's only for those who are feeling brave. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
On Apr 16, 2014, at 2:18 PM, Mimmo Cosenza mimmo.cose...@gmail.com wrote: which means you stopped to use emacs because of Java like I did 20 years ago? Yup, that was pretty much why. For a while I was very enamored with Together/J which integrated UML diagramming and Java code editing and actually had full round-tripping of Java classes and UML Class Diagrams (as well as one-way generation of Java from a couple of other UML diagrams). Have you noted that your fingers still remember emacs key-chords? It took a few days to kickstart the memory - and about a week for the pain in my fingers to subside as I re-trained them to use Emacs! :) Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) signature.asc Description: Message signed with OpenPGP using GPGMail
Re: Light table
I use Cursive for my Clojure development and it's great! I'm a big fan. Standard disclaimer: I was already firmly entrenched in Intellij beforehand. Sent from my mobile doohickey On 17/04/2014 11:12 AM, Mark Engelberg mark.engelb...@gmail.com wrote: On Wed, Apr 16, 2014 at 6:01 PM, Colin Fleming colin.mailingl...@gmail.com wrote: Standard disclaimer: I develop Cursive. How's Cursive coming along? The website still says it's only for those who are feeling brave. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Light table
On Thursday, 17 April 2014 03:57:56 UTC+8, Mike Haney wrote: Lots of people use it, including me. I don't think it's a bad choice for beginners at all. The conventional wisdom seems to be that you will end up learning emacs eventually if you spend any amount of time doing clojure or lisp, so you might as well learn it from the start. That is definitely the approach taken in the braveclojure book, and he may be right, but I have no regrets starting with lighttable. As a counter-example to the conventional wisdom, I have never really used Emacs and I've being doing Clojure successfully for around 4 years now. I'm sure Emacs is great for those who have taken the time to master it, but it certainly isn't necessary to be productive in Clojure. I personally use Counterclockwise - this is mainly because I also do a lot of Java work in Eclipse and it makes the polyglot integration much easier if you aren't switching tools all the time. I'm also quite excited about the potential of things like Session or Gorilla-REPL for exploratory / data science work. I like the way that the Clojure ecosystem is developing a lot of innovative, plug-able components and tools that enable different development styles. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: The Cons in iterate's return value
On Thursday, 17 April 2014 04:28:02 UTC+8, John Mastro wrote: I assume that there's a good reason that iterate returns a Cons instead of a LazySeq. IIUC, this particular case arises because iterate's body is implemented as (cons x (lazy-seq (iterate f (f x rather than (lazy-seq (cons x (iterate f (f x Can anyone comment on whether there's a reason to prefer one over the other? The difference is that the former is slightly less lazy - the Cons cell containing x is constructed immediately rather than being deferred as part of the lazy seq. This probably performs slightly better in some circumstances, and since you already have x as a value it probably makes sense to do this eagerly since no arbitrary computation is being done (f doesn't need to be called yet in either case). -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Why I'm giving Clojure a try
Sean - funny, I used Together/J when it first came out, way before Borland bought it. It's been a long time, but I remember being quite enamored with it as well. It was certainly ahead of it's time. Then we switched to Visual Age for Java, which was pretty cool at first. Until it corrupted its workspace and you lost work. And that seemed to happen more the larger the project grew. And eventually it was happening 2-3 times per week for each dev. Man, I hated that tool by the end of that project. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: The Cons in iterate's return value
On Wednesday, April 16, 2014 2:39:24 PM UTC-5, gianluca torta wrote: this issue on core.typed http://dev.clojure.org/jira/browse/CTYP-96http://www.google.com/url?q=http%3A%2F%2Fdev.clojure.org%2Fjira%2Fbrowse%2FCTYP-96sa=Dsntz=1usg=AFQjCNFtiMksWlWr1XT8J0zwKsQ1xvo2jQ in particular the comment: This is starting to make me rethink what a clojure.core docstring means exactly by a lazy sequence Even if we interpreted lazy sequence so that a Cons containing a LazySeq would count as a lazy sequence, making the docstring for iterate correct, the docstring for realized? would be wrong. Thanks for the JIRA reference. That issue was resolved, I gather because it only concerned the return type of iterate itself. Mikera wrote: The difference is that the former ... probably performs slightly better in some circumstances, and since you already have x as a value it probably makes sense to do this eagerly since no arbitrary computation is being done (f doesn't need to be called yet in either case). But then should realized? be able to deal with a Cons containing a LazySeq? (Is this an issue worthy of JIRA? I've never submitted there, and am not sure I know enough to do so. Willing to try to figure it 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/d/optout.
Re: Light table
On Apr 16, 2014, at 10:48 PM, Mikera mike.r.anderson...@gmail.com wrote: On Thursday, 17 April 2014 03:57:56 UTC+8, Mike Haney wrote: The conventional wisdom seems to be that you will end up learning emacs eventually if you spend any amount of time doing clojure or lisp, so you might as well learn it from the start. That is definitely the approach taken in the braveclojure book, and he may be right, but I have no regrets starting with lighttable. As a counter-example to the conventional wisdom, I have never really used Emacs and I've being doing Clojure successfully for around 4 years now. I'm sure Emacs is great for those who have taken the time to master it, but it certainly isn't necessary to be productive in Clojure. I personally use Counterclockwise - this is mainly because I also do a lot of Java work in Eclipse and it makes the polyglot integration much easier if you aren't switching tools all the time. I'm also quite excited about the potential of things like Session or Gorilla-REPL for exploratory / data science work. I like the way that the Clojure ecosystem is developing a lot of innovative, plug-able components and tools that enable different development styles. A different kind of counter-example: I've used emacs a fair bit in my decades of Lisping and now years of Clojuring, but I now too use Counterclockwise. IMHO emacs has tremendous and beautiful power but unnecessarily awful usability characteristics. I hope that some day someone will develop a Clojure environment with the former but without the later, possibly driven by emacs under the hood. -Lee -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.