Re: Cyclic namespace dependencies!

2016-12-30 Thread Nathan Davis
On Friday, December 30, 2016 at 10:13:49 AM UTC-6, Mars0i wrote: > > I love Clojure. But: My number one complaint about it is that the > compiler won't allow cyclic namespace dependencies. I am not a > compiler-writer, but as far as I can tell the only reason for this > restriction is ... ph

[ANN] pulley.thread-local 0.1.0

2016-10-04 Thread Nathan Davis
The result is an atom-like interface for thread-local bindings. Due to the simplicity of the project, I decided to experiment with Literate Programming. All the code is contained within Readme.org. Feedback / advice on this structure (and other areas of the project too) are definitely welcome.

Re: Joy of Clojure : Backward running lisp ??

2016-06-27 Thread Nathan Davis
One common problem we deal with in programming goes like this: I have certain inputs. I desire a certain output. What function (or combination of functions) will give me the desired output? Since a relation makes no distinction between "inputs" and "outputs", relational programming is one way

Re: reader conditional not handling defmacro?

2016-05-27 Thread Nathan Davis
Alex, On the Dev list, you mentioned you had discussed this several times with Rich and others, but were unable to reach concensus. May I ask what the hangup is (i.e., what reservations / objections were expressed) and what other options came out of those discussions? Nathan Davis On Friday

Re: reader conditional not handling defmacro?

2016-05-26 Thread Nathan Davis
that *compiler-target* would act as a predicate, indicating whether a particular "feature" is available for the target platform. Then if a macro needs to be expanded in a certain way for certain platforms, it can just consult *compiler-target*. Anyway, that's my 2-cents. Nathan

Re: Avoiding nested ifs...

2016-05-26 Thread Nathan Davis
a function but from any point in the computation -- all you need to do is have access to the continuation at that point. And since pulley.cps makes continuations first-class objects, you can bind them to variables (including dynamic vars), pass/return them to/from functions, etc. Hopefully this

[ANN] pulley.cps 0.2.2

2016-05-09 Thread Nathan Davis
ically, (fn* [<...>] <...>) forms are now transformed properly, so e.g. (delay <...>) now works. Thank you for your feedback and support! Nathan Davis -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send emai

Extending namespace loading

2015-10-28 Thread Nathan Davis
ions be considered useful, or does it unnecessarily complicate namespace loading? Any alternative designs you feel would be better? Nathan Davis -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroup

Re: [ANN] Clojure 1.8.0-beta2

2015-10-28 Thread Nathan Davis
On Wednesday, October 28, 2015 at 9:57:54 AM UTC-5, Alex Miller wrote: > > > On Tuesday, October 27, 2015 at 9:02:49 PM UTC-5, Nathan Davis wrote: >> >> Or better yet, is there any interest in providing an interface to hook >> into the namespace loading process, so

Re: [ANN] Clojure 1.8.0-beta2

2015-10-27 Thread Nathan Davis
Or better yet, is there any interest in providing an interface to hook into the namespace loading process, so that monkey-patches are not necessary? Nathan Davis On Tuesday, October 27, 2015 at 6:47:21 PM UTC-5, Ambrose Bonnaire-Sergeant wrote: > > I've been monkey-patching `clojur

[ANN] pulley.cps 0.2.1

2015-10-27 Thread Nathan Davis
Hi everyone, I'm pleased to annouce the release of pulley.cps <https://github.com/positronic-solutions/pulley.cps> version 0.2.1. This is a bugfix release that fixes a couple bugs related to dynamic vars and def forms. Nathan Davis -- You received this message because you are su

Re: Library suggestions requested for clojure-toolbox.com

2015-10-06 Thread Nathan Davis
pulley.cps: https://github.com/positronic-solutions/pulley.cps On Monday, October 5, 2015 at 2:41:11 PM UTC-5, James Reeves wrote: > > If you've written or know about a Clojure or ClojureScript library, and > it's not already on clojure-toolbox.com , > I'd like t

Re: 'seq' performance for 'empty?' compared to 'count'. And where's !=?

2015-10-01 Thread Nathan Davis
nce is empty without potentially realizing its head, please let the Clojure community know! I'm not saying having an explicit 'empty' method is a bad idea, but I'm not sure the current situation is as bad as you think. Nathan Davis -- You received this message because you

Re: Lazy deserialization / reserialization, aatree release 0.3.0

2015-10-01 Thread Nathan Davis
there aren't any examples on using the library. I think adding a few examples (with perhaps a little explanation of what is happening under the covers) would go a long way. Nathan Davis On Thursday, October 1, 2015 at 4:22:48 PM UTC-5, William la Forge wrote: > > Sorry for my bad la

Re: Lazy deserialization / reserialization, aatree release 0.3.0

2015-10-01 Thread Nathan Davis
> This is where I get confused. Are aatrees persistent structures (in the functional programming sense, like Clojure's data structures) whose values cannot be changed (although their internal representation ("form") may change), or are they mutable? If they are persistent,

Re: Lazy deserialization / reserialization, aatree release 0.3.0

2015-10-01 Thread Nathan Davis
structure compatible with Clojure maps. But then you say that serializing "updates" is done incrementally. Could you elaborate on this? Do you mean that the new copy to be serialized is basically diff'd agaist the old version, and just the difference is serialized? Thanks,

Re: functions that operate on map_entry?

2015-09-25 Thread Nathan Davis
Try key and val: user=> (doc key) - clojure.core/key ([e]) Returns the key of the map entry. nil user=> (doc val) - clojure.core/val ([e]) Returns the value in the map entry. nil user=> On Friday, September 25, 2015 at 3:32:51 PM UTC-5, Fenton

Re: [ANN] Release of pulley.cps 0.2.0

2015-09-22 Thread Nathan Davis
Thanks, Francesco. I'll definitely take a look at those resources. Nathan Davis On Tuesday, September 22, 2015 at 4:31:07 PM UTC-5, Francesco Bellomi wrote: > > Thanks for taking the time to write such a detailed answer, I really > appreciated it. > > Delimited continuati

Re: [ANN] Release of pulley.cps 0.2.0

2015-09-22 Thread Nathan Davis
perform on the CPS code that it wasn't able to do on the *loop* verion. On OpenJDK 8, the CPS code is consistently slower in all cases (though, as expected, the slow-down decreases as n increases). > thanks, > Francesco > > > > > On Monday, September 21, 2015 at 9:24:20

[ANN] Release of pulley.cps 0.2.0

2015-09-21 Thread Nathan Davis
g run-time library. The main feature of this release is the addition of exception support — you can now use try, throw, and catch just like you would in regular Clojure code. There are various other enhancements as well, mostly to support the exception code, as documented in the changelog. N

Re: [ANN] Introducing pulley.cps

2015-02-24 Thread Nathan Davis
ess many complex iterative processes in a recursive, functional, manner while retaining space efficiency. Some people find this more natural than iterative alternatives, such as state machines. Again, this can be done by hand, but is very tedious. Nathan Davis On Tue, Feb 24, 2015 at 3:03 AM, Vladi

[ANN] Introducing pulley.cps

2015-02-19 Thread Nathan Davis
ive things a try. I greatly treasure your feedback, including bug reports and if you have trouble navigating the documentation. Have fun, Nathan Davis -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to c

Re: Attempt at rethrow macro

2013-04-03 Thread Nathan Davis
the resulting body in a "do" form. Does this violate separation between the macro expander and the compiler? Are there states that can not be reached (i.e., the pre-expanded code is semantically different than the non-expanded code), no matter how we implement our expande