Re: Thoughts on a curly-infix reader macro?

2014-04-04 Thread Michael Fogus
I prefer Unfix -- http://fogus.me/fun/unfix/ ;-) On Fri, Apr 4, 2014 at 12:45 PM, Alex Miller a...@puredanger.com wrote: Incanter supports this with the $= prefix: ($= 7 + 8 - 2 * 6 / 2) http://data-sorcery.org/2010/05/14/infix-math/ Might be worth looking at... On Thursday, April 3,

Re: error in website text

2014-02-26 Thread Michael Fogus
I do believe that the sentence is correct as written. That is, Clojure strives to solve the same kinds of problems that Java is typically used to solve. On Wed, Feb 26, 2014 at 8:58 AM, Janek Warchoł lemniskata.bernoull...@gmail.com wrote: Hello, On clojure.org/rationale there is a sentence

Re: [ANN] clara-rules 0.4 released

2014-02-07 Thread Michael Fogus
The theme of this release is rules as data Yay! Great job Ryan. I look forward to checking out your changes. On Thu, Feb 6, 2014 at 10:15 PM, Ryan Brush rbr...@gmail.com wrote: The 0.4.0 release of Clara is up on Clojars. The github page is at [1]. The theme of this release is rules as

Re: [ANN] Cognitect

2013-09-16 Thread Michael Fogus
Rich and Relevance, This is very exciting news for the Clojure community (and yourselves I'm sure). I for one look forward to seeing how you rock our worlds. On Mon, Sep 16, 2013 at 9:50 AM, Rich Hickey richhic...@gmail.com wrote: I just wanted to let everyone know that Metadata Partners (the

Re: [ANN] Clojure Cheatsheet for Emacs

2013-08-12 Thread Michael Fogus
The number of cheatsheets is growing (this is a good thing IMO) and I wonder if it would be worth aggregating them all under one location? I have my own ClojureScript cheatsheet ( https://github.com/readevalprintlove/clojurescript-cheatsheet) and the CLJS synonyms page

Re: Interest in a Full Featured Clojure Blog Engine

2013-07-18 Thread Michael Fogus
Quick answer: Yes. I'd love to see a legitimate, maintained Clojure-based blogging engine. I have one question: what does composable blogging engine mean? On Thu, Jul 18, 2013 at 10:24 AM, Timothy Washington twash...@gmail.com wrote: Hello, I'm thinking of how to build a composable blogging

Re: Interest in a Full Featured Clojure Blog Engine

2013-07-18 Thread Michael Fogus
/ Bkeeping.com On Thu, Jul 18, 2013 at 10:36 AM, Michael Fogus mefo...@gmail.com wrote: Quick answer: Yes. I'd love to see a legitimate, maintained Clojure-based blogging engine. I have one question: what does composable blogging engine mean? On Thu, Jul 18, 2013 at 10:24 AM, Timothy

Re: [ANN] Clojure/conj tickets on sale at 3pm EST today!

2013-06-11 Thread Michael Fogus
Hi Lynn, Let me know if you have any questions/comments/concerns/ideas I have one question. As someone who has submitted a talk proposal (two rather) I wonder if I should go ahead and sign up for the conference now and work though the reimbursement details later should my talk get accepted. I

Re: Utility libraries and dependency hygiene

2013-05-15 Thread Michael Fogus
take this opportunity to ask everyone to help us avoid the dependency mess that Common Lisp has gotten into, where there are over a dozen such convenience libraries[1]. Are Common Lispers actively suffering under this problem? With the emergence of QuickLisp, CL dependency problems seem to

Re: Clojure/West 2013 videos?

2013-03-25 Thread Michael Fogus
You have no idea what you're talking about. That's never stopped him before. On Mon, Mar 25, 2013 at 9:22 AM, Alex Miller a...@puredanger.com wrote: On Monday, March 25, 2013 12:16:45 AM UTC-5, Sean Grove wrote: I'm sure that having nice videos (which have all been awesome) aren't

Re: *read-eval* vulnerability

2013-01-30 Thread Michael Fogus
RuntimeException EvalReader not allowed when *read-eval* is false. The problem is that the second eval gets (the actual + function 1 2 3) which invokes the right pathway triggering the exception. You can trigger the same exception by: (binding [*read-eval* false] (eval (list + 1 2 3))) People

Re: *read-eval* vulnerability

2013-01-30 Thread Michael Fogus
Although let me say that I agree with false being the default. I'm not saying that is a bad idea, only that we need to be careful if evaling what comes over... but I guess that is obvious and if not then we get what we deserve. ;-) On Wed, Jan 30, 2013 at 12:23 PM, Michael Fogus mefo

Re: Simple FIFO cache for memoize

2013-01-23 Thread Michael Fogus
now I'm confused, which one is the right memoize to use? I'm not sure exactly what you mean, but if you mean which backing cache to use the answer depends on your needs. The core.cache wiki has discussion about the advantages/disadvantages of using one type or another. You can find the

Re: Simple FIFO cache for memoize

2013-01-23 Thread Michael Fogus
Absolutely essential reading. On Wed, Jan 23, 2013 at 6:02 AM, Christophe Grand christo...@cgrand.net wrote: and kotka.de/blog/2010/03/memoize_done_right.html has some intersting discussion on memoization On Wed, Jan 23, 2013 at 9:12 AM, Baishampayan Ghose b.gh...@gmail.com wrote: Take a

Re: Is contributing to clojurescript is intentionally made hard ?

2013-01-20 Thread Michael Fogus
I'll just add a few points: Pull requests are not likely to happen. It's not worth fighting over. However, I think that is a weak excuse for not contributing. If you want to contribute a complex bug fix, then the patch process is trivial by comparison. If you want to contribute doc fixes and

Re: Is contributing to clojurescript is intentionally made hard ?

2013-01-20 Thread Michael Fogus
Please don't ask people to not rehash this discussion. Don't tell them that it is a 'weak reason' for not contributing and 'not worth fighting over'. Well, that's only my opinion. I happen to think it's not worth fighting over so I don't. Rich has put in place a system he's happy with. I

Re: Is contributing to clojurescript is intentionally made hard ?

2013-01-20 Thread Michael Fogus
I'm sorry but given Clojure/core's track record of *actions* (or lack of them, rather) this sounds a bit offensive to people who are not Clojure/core members, Clojure committers or screeners. Adding source annotations to a Github project's source base and starting an IRC channel have nothing

Re: (#({:a %}) :b)

2012-12-14 Thread Michael Fogus
The limitation was only on - but I think that is due for a fix in the next version. On Thu, Dec 13, 2012 at 5:48 PM, JvJ kfjwhee...@gmail.com wrote: Clever, but I always thought - had to take more than one parameter. Maybe that's only for - On Thursday, 13 December 2012 13:35:33 UTC-5,

Re: Understanding clojure.core.cache TTL cache

2012-10-22 Thread Michael Fogus
What I'm missing? First, thanks for trying c.c.cache! The answer to your question is that the TTL cache implementation is non-destructive. The `evict` call returns the cache without the element, but does not remove it from the original cache. -- You received this message because you are

Re: Understanding clojure.core.cache TTL cache

2012-10-22 Thread Michael Fogus
And thank you Mr. Fogus. Don't thank me, Sean did all the hard work. :-) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient

Re: ANN: Minderbinder v0.2.0

2012-10-17 Thread Michael Fogus
Very nice, thanks. Is the intent for this to eventually be as complete as Frink [1] or are you going to keep its scope to time, length and information? Frink is a general purpose programming language, so by default I get that for free via Clojure. ;-) Seriously though, this is in no way meant

Re: parallel alpha-beta pruning possible?

2012-10-16 Thread Michael Fogus
I would probably look at the work that Robert Hyatt has done around parallel search in Crafty. He's published his findings far and wide and may still be active online. He's a wealth of information and fairly nice guy. -- -- http://blog.fogus.me -- http://github.com/fogus -- -- You received

Re: Packaging ClojureScript libraries for use with Leiningen

2012-10-12 Thread Michael Fogus
I've looked at the core.logic packaging, but it wasn't immediately obvious what was happening. I eventually figured it out, but it would be nice to have a roadmap for making cross-language packaging easier, even if the needed pieces were not yet available. -- You received this message because

Re: Interest in Scribble for Clojure?

2012-10-09 Thread Michael Fogus
Any existing solutions or interest in something like this? There are no _public_ solutions as far as I know, although I think it can be done fairly trivially (famous last words) using the existing ClojureScript compiler. I'd love to see it done as an open source project. -- You received this

Re: Regarding Starting Clojure

2012-10-04 Thread Michael Fogus
Here's one approach: Make a github of the code and content that runs the site. People fork and make pull requests. You talked me into it. https://github.com/fogus/www-readevalprintlove-org -- You received this message because you are subscribed to the Google Groups Clojure group. To post to

Re: ANN: a Clojure docs site, and github organization

2012-10-04 Thread Michael Fogus
readevalprintlove looks like a fancy playground so far. You say that as if it's a bad thing. I'm of the opinion that these kinds of efforts should have a low barrier to contribution and be fun. It's difficult to motivate people to perform a thankless task, so it should seem like play as much as

Re: ANN: a Clojure docs site, and github organization

2012-10-04 Thread Michael Fogus
Starting two different projects at the same time with almost the same purpose seems a waste of efforts... Wouldn't it be better for readevalprintlove and clojuredocs to join forces from the beginning? All information should be freely available, so the sharing aspect is present from the start.

Re: Some feedback on clojurescript

2012-09-19 Thread Michael Fogus
Yep. I think ClojureScript's appeal could be much, much broader than it currently is but there are lots of things to iron out first. The least of which is a plan for distribution and development workflow. -- You received this message because you are subscribed to the Google Groups Clojure

Re: edn

2012-09-07 Thread Michael Fogus
Sure. Languages. This is a data format, not a language. Data formats do not exist in a vacuum. They are parsed by languages. Some may have a fine-grained distinction between lists, arrays/vectors and sets and some may not. Why should I not inflate a edn-list into a vector in my language?

Re: edn

2012-09-07 Thread Michael Fogus
Is this too Clojure specific ? I wouldn't say so. By definition the definitions of list, vector/array and set encompass the behavior in question. I think people are getting too wrapped up by the textual representations where the forms (1 2 3) [1 2 3] and #{1 2 3} look fairly similar. By nature

Re: function parameters were working, and now I suddenly get a cast error

2012-08-28 Thread Michael Fogus
The ctor call for ServerSocket should be (ServerSocket. port localhost). -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient

Re: core.cache 0.6.2 is not available from Central

2012-08-08 Thread Michael Fogus
For the record I do not mind (and much prefer) to list the latest stable release in the README. No problem. In this case I made the change, scheduled the release, and went somewhere else. As it turns out the release process is wonky so 0.6.2 has not yet made it out. The previous version is now

Re: core.cache 0.6.2 is not available from Central

2012-08-07 Thread Michael Fogus
core.cache README currently recommends installing 0.6.2: The README predates the push to Maven Central and it looks like the release failed. I will try again, but it'll be a bit before it makes it to Central. -- You received this message because you are subscribed to the Google Groups Clojure

Re: ClojureScript reader and timestamps

2012-08-03 Thread Michael Fogus
The revenge of octal! I believe there is a patch for this on master and I may have gone out in the latest CLJS push. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new

Re: core cache/memoize issue?

2012-07-11 Thread Michael Fogus
Thank you for the report. I have a fix for the LRU/LU caches on my box and will have it out in the next day or so. The core.memoize changes will follow soon after. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: Using core.logic at a lower level

2012-06-29 Thread Michael Fogus
Of course all that machinery exists in core.logic and I think I identified most of it, but those interfaces don't look like they were meant to be used from the outside. I certainly don't want to fix my code with every new release of core.logic. That's why I am looking for something more

Re: clojure.core.cache status?

2012-06-16 Thread Michael Fogus
Great news. Let me know what you find (or don't find). -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first

Re: clojure.core.cache status?

2012-06-15 Thread Michael Fogus
and I'm wondering how stable the APIs are and how close a 0.6.0 release might be? Very very close. In fact, I will cut a release some time today. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: clojure.core.cache status?

2012-06-15 Thread Michael Fogus
Well, I've tried to cut a release today, but the Hudson build is complaining about git connection errors. I will try again later today. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note

Re: Alan Kay talk

2012-04-24 Thread Michael Fogus
In relation to Clojure, are there lessons to learn from the Meta language he mentioned? Does anyone have references to it? I have looked at it a bit, it's called META-II. Some info below: * http://en.wikipedia.org/wiki/META_II * http://www.bayfronttechnologies.com/mc_tutorial.html *

Re: Term rewriting systems implemented in Clojure

2012-04-20 Thread Michael Fogus
I have a bit of a rewrite system built on core.unify at https://github.com/fogus/unifycle, but it's far from comprehensive. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts

Re: clojure url exception

2012-03-19 Thread Michael Fogus
Explanation/clarification added to the ticket. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To

Re: [ANN] mcache 0.2.0 released

2012-02-29 Thread Michael Fogus
 3. Added a core.cache/CacheProtocol implementation This is great news. Thank you for taking the time to do this. I would love to know how core.cache helped and hindered you. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group,

Re: Clojurescript One: distinguishing event sources / multiple widget instances

2012-01-18 Thread Michael Fogus
it might need something like efficient predicate dispatch to scale. It definitely needs something like that. I was hoping you'd be done by now. ;-) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: ANN: core.unify v0.5.2

2012-01-09 Thread Michael Fogus
Yes, but what exactly are these unification binding, subst, and unification functions? This is information that seems a bit odd to include in a set of release notes, but I suppose a link to where such information could be found is warranted. In other words, I'm a developer. I have some

Re: ANN: core.unify v0.5.2

2012-01-09 Thread Michael Fogus
Not really, not with a single fairly generic word like unification. In the amount of time that you spent lecturing me on good library release note practices you could have learned what unification was, read the code, and decided if it filled any of your needs. Hint. My library has very little

Re: ANN: core.unify v0.5.2

2012-01-09 Thread Michael Fogus
unify, but I have no idea where to begin! Having short description and some simple use cases in announce would be great. I do not disagree. Those elements will be in place by the 1.0.0 release (as listed in the planned section). In the meantime, patches welcomed. -- You received this message

Re: ANN: core.unify v0.5.2

2012-01-09 Thread Michael Fogus
You have to pitch people on the potential benefits of downloading your library *before* they click the download link for it, or they mostly never will. Sold. I've learned my lesson. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this

Re: Problem with :pre checks against nil in 1.3.0?

2012-01-09 Thread Michael Fogus
Try to put your :pre entries in a vector, like so: {:pre [(not= 0 (mp k 0))]} -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be

Re: Bug with ClojureScript keyword? function

2012-01-08 Thread Michael Fogus
In the compiled code it looks like the call to keyword? Is happening in both cases. Wires are definitely crossed, but it's unclear where. Are you certain that the ClojureScript shown is the same code that gets compiled? -- You received this message because you are subscribed to the Google

Re: Odd Behavior of lazy-seq

2012-01-08 Thread Michael Fogus
It looks like you're trying to take from the function fibseq2 itself rather than the result of the function call. Try taking fron the invocation of it instead (I.e. put parens around it): -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this

Re: Trying to understand variable capture

2012-01-08 Thread Michael Fogus
The names in the first let only exist at compile time and do not exist when the expanded form eventually runs. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new

Re: Two Slightly Different Versions Using lazy-seq: One works, One doesn't. Why?

2012-01-08 Thread Michael Fogus
See my answer in the other, seemingly identical thread. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first

Re: Clojure list syntax sugar: f(x) notation

2011-12-30 Thread Michael Fogus
Lisp experts don't quite understand It's certainly possible. It wouldn't be the first time that Lispers missed the forest for the trees. However, let's turn it around for a moment and ask another question: why is it that some newcommers year after year think that the choice of this syntax is

Re: Clojure list syntax sugar: f(x) notation

2011-12-29 Thread Michael Fogus
Better yet we can say that function calls and forms always start with a symbol and end with punctuation or some natural delimiter. So we could write things like: defn f [x] println hi! 42; . doseq [e range 10 20] f e; . map fn [x] Math/pow x 2.0, range 10. if even 3? :even :odd.

Re: Clojure Conj extracurricular activities spreadsheet

2011-11-07 Thread Michael Fogus
Organizers, I've added time/room columns. Please fill in your desired values. There is bound to be some overlap, but we're all friends here so I suspect that shifting can be worked out. :-) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to

Re: Clojure Conj extracurricular activities spreadsheet

2011-11-07 Thread Michael Fogus
Well, despite my best efforts I'm unable to edit the spreadsheet. I invited you to edit with the literatesoftware address but unfortunately I do not know how that might work without a Gmail account... apparently not at all. Apologies. I am certain that a BOF schedule board will appear somehow.

Re: Clojure Conj extracurricular activities spreadsheet

2011-11-04 Thread Michael Fogus
Any thoughts about when / where these events can take place? At this point it would be great if a Conj-planning heavyweight could step in and provide some additional ideas... although solutions would be great too. :-) -- You received this message because you are subscribed to the Google

Re: Clojure Conj extracurricular activities spreadsheet

2011-10-26 Thread Michael Fogus
I've given edit rights to organizers and people on this thread, so please feel free to make additions and modifications. :-) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts

Re: Clojure Conj extracurricular activities spreadsheet

2011-10-25 Thread Michael Fogus
We built quite a large list before the internet graffiti started taking over, so if you have an addition then please post it here and it'll be added. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: Rich Hickey: Simple Made Easy from Strange Loop 2011

2011-10-21 Thread Michael Fogus
nil complects non-existence, false, and empty. Let's explore that a little further: * Non-existence - Accessing a local or var that has never been declared * False - (if nil :never-here :but-here) * Empty - (seq []) And maybe there is another? * Not set - (def x) - (:x {:a 1}) But

Re: ClojureScript Mobile BOF at the Clojure/conj?

2011-10-18 Thread Michael Fogus
Anyone from the Clojure/conj org committee While I'm not on the organization committee, I will say that side-events like this would be spectacular. The logistics escape me at the moment, but perhaps spontaneity is the best approach? -- You received this message because you are subscribed to

Re: NodeJS REPL

2011-10-12 Thread Michael Fogus
David's right about :nodejs. Thank you for this contribution. I can't wait to play around with it. If some ideas come to mind I will provide feedback. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: apply func

2011-09-25 Thread Michael Fogus
why inc can't take each element and incr it giving the result  ... 2 3 4 5 thanks in advance apply works as if you were calling the function with the elements of the vector. In other words: (apply inc [1 2 3 4 5) ==is like saying=== (inc 1 2 3 4 5) Which is not what you want. However, the

Re: clojurescript closure problem?

2011-09-22 Thread Michael Fogus
the body of loop in a function to preserve bindings if other fns are discovered that close over them so as to avoid introducing a perf hit. It would be interesting to see if GClosure is smart enough to deal with the naive implementation. I know what I'll experiment on tomorrow. :-) -- You

Re: Downloadable ClojureScript demo?

2011-08-05 Thread Michael Fogus
There is nothing ClojureScript specific as a LabRepl type of learning tool; however, there is a samples directory in the http://github.com/clojure/clojurescript repo with a couple of projects to play with. The ClojureScript ecosystem is in its infacy, but more will come. :-) On Aug 5, 2011 12:39

Re: Interfacing Cljs with external libs.

2011-08-05 Thread Michael Fogus
Well, Showdown is not really a namespace right? It's an object in the global environment. You should be able to grab it via js/Showdown and do all kinds of interopey things to it. On Aug 5, 2011 4:27 PM, Alen Ribic alen.ri...@gmail.com wrote: Thanks Fogus for clearing that up. Would a call

Re: Specialize collection

2011-02-17 Thread Michael Fogus
Is there a better way to specialize an built-in Clojure collection except wrapping - like for example to create a fixed size queue that drops new elements while full ? You can use protocols as in the example at https://gist.github.com/831830 Is this what you were looking for? -- You