Re: Clojure Poll 09/2008
On Wed, Sep 10, 2008 at 2:40 PM, Rich Hickey <[EMAIL PROTECTED]> wrote: > What are you doing with Clojure? 1. Using it as a prototyping language for information extraction and NLP applications. 2. Using it to replace Python for data munging. 3. Using it to provide a REPL into a large IE system that is written in Java. My hope is to, in the future, use it as an implementation language in the apps we're working on, in addition to Java. Unfortunately only a few of us speak Lisp, so wide adoption is difficult (we have enough problems finding competent Java developers!) > What 3 features would you most like to see added next? Better error messages, if possible. However, I have yet to come across a case where I could suss what was going wrong from the messages the current release emits. The documentation is pretty good, but I've found myself digging around for things and trying to look things up when reading other people's code but not having luck picking apart some of the reader shortcuts. -tree -- Tom Emerson [EMAIL PROTECTED] http://www.dreamersrealm.net/~tree --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
2008/9/16 Chouser <[EMAIL PROTECTED]> > > On Tue, Sep 16, 2008 at 4:49 AM, Alexander Kjeldaas > <[EMAIL PROTECTED]> wrote: > > > > 2. Clojure states that it has good support for list comprehensions. > > Maybe I'm misunderstanding list comprehensions, but I'm not completely > > happy. I want a way to have destructuring work on the sequence, not > > on the individual element. In CL you have (loop for i in '(1 2 3) ...) > > as well as (loop for i on '(1 2 3) ...). How is the one-liner to > > create a lazy sliding window over a sequence in Clojure? > > There are many functions that operate on sequences which are not built > into Clojure's "for" macro. Perhaps you want partition: > > user=> (partition 3 1 (range 5)) > ((0 1 2) (1 2 3) (2 3 4)) > > This could then be destructured with for if you want: > > user=> (for [[a b c] (partition 3 1 (range 5))] (- c a)) > (2 2 2) > Yes that's what I was looking for. I made my own function to do that which was unfortunate. Maybe some tooling would have helped me solve the problem I was facing. I think the issue is that when I am programming in a language where you have lots of small functions that you need to compose, you need good tools to find the functions that can usefully be composed. As a beginner, you don't know the name of the functions either (and since a sliding window is not a partition, I don't think it was unexpected that I missed that function). I would like to have a tool that indexed all forms and calculated prob(form_x given the current form context). So when I write "(for [[a b c] _)" and my cursor is at position "_", the tool would inform me that 60% of users have a variable in that position, but 10% use a form starting with (partition...) in that position. If there was a meta-section with usage examples, those could be weighted higher than library code usage. > > 3. The Clojure coding style sets a bad precedent wrt commenting. > > Using Clojure professionally means you need comments. The > > (comment ...) form, although theoretically elegant just doesn't look > > good. There is not a single comment in boot.clj. Is this a > > coincidence? > > Besides (comment ...) there is also ; and documentation strings stored > as meta-data attached to function vars. boot.clj has all but the > first of these. The comment about comments was possibly premature criticism. I just think the style used in boot.clj is too terse. Clojure is a dynamic language and not using comments while using single-letter variable names is extra work on the reader. Some examples of short variable names: m in defn, c in cast, ks in dissoc and disj, e in key and val, fs in comp, 'v' in test. awaits uses agents while send send-off agent-errors etc uses a. Alexander --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Tue, Sep 16, 2008 at 7:13 PM, Allen Rohner <[EMAIL PROTECTED]> wrote: > > There is one weakness with the comment macro; the Reader has to be > happy with the body of the comment. Including things like # in the > comment body can upset the reader and cause your file to not compile. Yeah, that counts. Thanks! - J. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> > 2) Balanced-boundary (non-EOL-terminated) comments. Whether the syntax > > is #| ... |# (á là Common Lisp) or /* ... */ (C- and Java-like) or > > something else, I don't much care, but I think both line-terminated and > > balanced comments are called for. Likewise, whether balanced-boundary > > comments nest or not is not a key concern of mine, though it might be > > nice if they did, for a change. > > Are you aware of the (comment ...) macro? Is there any benefit to balanced > comments that the macro doesn't provide? There is one weakness with the comment macro; the Reader has to be happy with the body of the comment. Including things like # in the comment body can upset the reader and cause your file to not compile. Allen --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Tue, Sep 16, 2008 at 4:45 PM, Randall R Schulz <[EMAIL PROTECTED]> wrote: > I'd like to add: > > 2) Balanced-boundary (non-EOL-terminated) comments. Whether the syntax > is #| ... |# (á là Common Lisp) or /* ... */ (C- and Java-like) or > something else, I don't much care, but I think both line-terminated and > balanced comments are called for. Likewise, whether balanced-boundary > comments nest or not is not a key concern of mine, though it might be > nice if they did, for a change. Are you aware of the (comment ...) macro? Is there any benefit to balanced comments that the macro doesn't provide? - J. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Wednesday 10 September 2008 13:39, Randall R Schulz wrote: > On Wednesday 10 September 2008 11:40, Rich Hickey wrote: > > As we rapidly approach 500 members on the group (!) I thought it > > would be a good time to conduct another poll: > > > > > > What are you doing with Clojure? > > Tinkering. Contemplating an extensibility mechanism for my theorem > prover. > > > What 3 features would you most like to see added next? > > The only thing that would really help unblock me is: > > 1) Programmable reader macros á là Common Lisp. I'd like to add: 2) Balanced-boundary (non-EOL-terminated) comments. Whether the syntax is #| ... |# (á là Common Lisp) or /* ... */ (C- and Java-like) or something else, I don't much care, but I think both line-terminated and balanced comments are called for. Likewise, whether balanced-boundary comments nest or not is not a key concern of mine, though it might be nice if they did, for a change. Randall Schulz --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Tue, Sep 16, 2008 at 4:49 AM, Alexander Kjeldaas <[EMAIL PROTECTED]> wrote: > > 2. Clojure states that it has good support for list comprehensions. > Maybe I'm misunderstanding list comprehensions, but I'm not completely > happy. I want a way to have destructuring work on the sequence, not > on the individual element. In CL you have (loop for i in '(1 2 3) ...) > as well as (loop for i on '(1 2 3) ...). How is the one-liner to > create a lazy sliding window over a sequence in Clojure? There are many functions that operate on sequences which are not built into Clojure's "for" macro. Perhaps you want partition: user=> (partition 3 1 (range 5)) ((0 1 2) (1 2 3) (2 3 4)) This could then be destructured with for if you want: user=> (for [[a b c] (partition 3 1 (range 5))] (- c a)) (2 2 2) > 3. The Clojure coding style sets a bad precedent wrt commenting. > Using Clojure professionally means you need comments. The > (comment ...) form, although theoretically elegant just doesn't look > good. There is not a single comment in boot.clj. Is this a > coincidence? Besides (comment ...) there is also ; and documentation strings stored as meta-data attached to function vars. boot.clj has all but the first of these. --Chouser --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 10, 8:40 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > What are you doing with Clojure? > I'm doing useless stuff with Clojure. > What 3 features would you most like to see added next? > >From my 2 hour experience with Clojure I want these features: 1. Better error messages with helpful suggestions and a pointer to a "wiki" for each error. The wiki should have a reddit-system with the most "popular" problems related to an error. A snapshot of the error- wiki could be included in Clojure. 2. Clojure states that it has good support for list comprehensions. Maybe I'm misunderstanding list comprehensions, but I'm not completely happy. I want a way to have destructuring work on the sequence, not on the individual element. In CL you have (loop for i in '(1 2 3) ...) as well as (loop for i on '(1 2 3) ...). How is the one-liner to create a lazy sliding window over a sequence in Clojure? 3. The Clojure coding style sets a bad precedent wrt commenting. Using Clojure professionally means you need comments. The (comment ...) form, although theoretically elegant just doesn't look good. There is not a single comment in boot.clj. Is this a coincidence? 4. Preconditions/postconditions/invariants. I like them, and I don't see them in Clojure. 5. Please document that "everybody" is using the svn/git versions of the code and that you are wasting your time if you download the distribution and try to get it to work in emacs. People using Clojure will have no problems using the svn version, but it is annoying to have to figure it out by searching through Google Groups. Alexander --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 10, 2008, at 11:40 AM, Rich Hickey wrote: > > What are you doing with Clojure? Nothing at the moment. I wrote a knowledgebase engine inspired by the Cyc project, and I also wrote part of a web application in Compojure that lets users create web forms. > What 3 features would you most like to see added next? 1. I love the language. Nothing to add there. 2. Like many others said, better error reporting. 3. The documentation is not well suited for the masses who are not well-versed in Lisp dialects or functional programming. It's more like marketing material for those who have already spent a some quality time in that world, and are curious to see how this new kid on the block compares. I think it does a great job at selling the language to those people, but the newbies are left behind. To help newbies, the documentation needs to be reorganized, more introductory text needs to be written, many more examples need to be shown. Moxley --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? I work in a fairly conservative environment where they probably wouldn't approve of my using a language in an alpha state, much less a variant of Lisp! But since I love the language and the interactive environment with Emacs, I decided it's easier to beg forgiveness than ask permission. 1. Wrote a Clojure service that runs on remote thin clients. It receives Clojure forms that instruct it to download and cache PDF templates, dynamically fill in form data, overlay logos, etc.., then print the resulting PDF. 2. I also use it for prototyping and experimentation. > What 3 features would you most like to see added next? 1. I agree that better stack trace/error information would be nice. Not really features, but... 2. More thorough documentation and examples: For instance: how to profile your code and decide where you should use type hints. 3. Can't think of #3. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? I'm trying to write a DSL for molecular dynamics analysis (with partial success). Users will be able to compose complex properties from basic info such as bond lengths/angles, position, velocity, etc. I'd like to add regression and integrate it with a 3d viewer eventually. With some modification, this could allow users to generate coordinates for complex structures (i.e. bio stuff like dna). --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 10, 2008, at 2:40 PM, Rich Hickey wrote: > > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > What are you doing with Clojure? > Building a system for defining and manipulating movement of rigid limbs. That involves various geometry and algebra sorts of things. Starting to look at options for simple 3d visualization (similar to Matlab) from the REPL. Also planning on using Clojure for the next version of a data organization app involving link analysis and machine learning. > > What 3 features would you most like to see added next? > There are various tools and resources that I'd like, but the only language feature is user-defined reader macros. Thanks for Clojure. > > > Thanks, > > Rich > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Fri, Sep 12, 2008 at 5:11 PM, Mike Hinchey <[EMAIL PROTECTED]> wrote: > Line and position for compile errors, including in the repl. Like this? user=> (def foo yoink) java.lang.Exception: Unable to resolve symbol: yoink in this context clojure.lang.Compiler$CompilerException: NO_SOURCE_FILE:97: Unable to resolve symbol: yoink in this context The key part being: NO_SOURCE_FILE:97 Obviously there's no source file at the repl, but this was apparently the 97th line I've entered in this repl. --Chouser --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Testing java code using emacs/slime and a remote swank repl. I'm also looking to so some semantic web and rdf work, so I'm hoping to hear from others that have already started this type of work with clojure. > What 3 features would you most like to see added next? Similar to what someone else mentioned, the CL #. read-macro to evaluate an expression before macroexpansion. (But not a dot.) Just an idea, but it could be useful to have the STM and a DB transaction tied together so they commit atomically. Line and position for compile errors, including in the repl. -Mike --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Doing: learning, deciding whether clojure is appropriate for my company projects Would like: 1) up to date documentation. Online docs are so far behind SVN it's not funny. Yes yes, SVN is not release, but in the beginning stages of the project as it is things happen very fast and sticking with release is shooting yourself in the foot. 2) more examples in online docs, especially where there are no examples at all. 3) more syntax tricks, like defining partials with arbitrary argument positions. Otherwise, clojure is already good, because it's lispy, does macros and talks with java. On Sep 10, 2:40 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > What are you doing with Clojure? > > What 3 features would you most like to see added next? > > Thanks, > > Rich --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Still learning, will try to use it in a production app soon. > What 3 features would you most like to see added next? I just took a look at the contrib section, and realized that a summary of what is available is nowhere to be found (or at least not easy enough). I _knew_ something like html-format had to exist, but it took me a bit too much googling to find it. (Maybe in the wiki?) Also, like someone said above, there is a big increase in learning curve steepness when you go from learning the language to actually using it. Clojure.org is very good for learning, but I'd like to see some more advanced tutorials around. The wiki is great, but more is better. The third wish is an aye for better error messages. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Still learning the language ... trying some java library integration (jboss-JBPM, jboss-drools, apache Camel, Restlet, Freemind) > What 3 features would you most like to see added next? 1) clearer error messages 2) JSON reader form (very close to clojure 's map and array) for easy Apache Sling or Apache CouchDB interactions --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 11, 4:29 pm, James Reeves <[EMAIL PROTECTED]> wrote: > On Sep 10, 7:40 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > > > What are you doing with Clojure? > > Working on Compojure, a library/framework for developing web > applications. > > > What 3 features would you most like to see added next? > > 1. Perhaps some standard multimethods could be defined? I often find > myself writing constructor functions for structs: > > (defstruct revision > :content > :timestamp) > > (defn create-revision > [content] > (struct revision content (new java.util.Date))) > > But there isn't a standard naming convention for what to call the > constructor, so users wouldn't know whether it was new-revision, > construct-revision, create-revision or whatever. It would be nice if > there was a multimethod with a standard name that could be overridden. > Maybe something like: > > (defmulti create #(first %&)) > > (defmethod create revision > [type content] > (struct type content (new java.util.Date))) > > 2. Clojure's inbuilt data structure syntax for vectors, sets and hash- > maps is very useful, but the disadvantage to this extra syntax is that > it is currently very difficult to manipulate blocks of Clojure code > without altering the containing data type. Traditional lisps that only > use S-exprs do not have this problem. > > For instance, I can easily create a small function to transform a tree > of sequences so that the contents of each sequence are reversed: > > (defn postfix > [code] > (if (seq? code) > (map postfix (reverse code)) > code)) > > But once you start trying to parse sequences within maps and vectors, > you run into problems. When you apply "map" to a vector, your vector > gets turned into a sequence, so your code is no longer valid. It would > be nice if there were a function that would enable you to iterate over > the items in a tree of Clojure code, without affecting the data type > of lists and hash-maps and so forth. > This can be done generically using empty, like this: (defn map-same [f coll] (into (empty coll) (map f coll))) (map-same inc [1 2 3 4]) -> [2 3 4 5] (map-same (fn [[k v]] [k (inc v)]) {:a 1 :b 2 :c 3 :d 4}) -> {:c 4, :d 5, :a 2, :b 3 Rich --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
I am currently spending all my spare time developing a website in Python/Django as I felt I needed to learn about a popular existing web framework before attempting to experiment with new ideas in Clojure. As such I haven't been working with Clojure directly for some time but I hope to return to it very soon! Cheers, Paul Drummond --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Thu, Sep 11, 2008 at 11:52 AM, Allen Rohner <[EMAIL PROTECTED]> wrote: > I already voted, but I agree with this. Having a standard way to run > clojure scripts from a command line would be very useful. One could trivially take the command-line generated by the shell magick and put it into a simple shell script that lets you invoke Clojure on the named script and arguments, couldn't you? % clojure foo.clj bar baz qux would run foo.clj and pass the arguments. Seems to me this is easier (and cleaner) than coming up with some way of support shebang. -tree -- Tom Emerson [EMAIL PROTECTED] http://www.dreamersrealm.net/~tree --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Yes - I know. And there is 'println' also... The full mini-language provided by format is much more powerful ... [1]> (format nil "~{[~{~a~^:~}]~^~&~}" '((1 2 3)(7 8 9))) "[1:2:3] [7:8:9]" [2]> (format nil "~r" 123456) "one hundred and twenty-three thousand, four hundred and fifty-six" [3]> But, this is really just a 'nice to have' ... Regards, Apurva - Original Message - From: "Stuart Sierra" <[EMAIL PROTECTED]> To: "Clojure" Sent: Thursday, September 11, 2008 7:22:39 PM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi Subject: Re: Clojure Poll 09/2008 On Sep 11, 1:18 am, Apurva Sharan <[EMAIL PROTECTED]> wrote: > 3) Equivalent of 'format' macro. This would be really helpful in debugging. There is a "printf" in recent Clojure SVN. -Stuart --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 11, 8:32 am, "Paul Stadig" <[EMAIL PROTECTED]> wrote: > I have a stupid idea as well (related to reader macros). Is there any > way we can get the reader to not have problems with > "#!/usr/bin/clojure" as the first line? > > This would allow simple and standard use of Clojure in a script file. > Or perhaps a solution (other than mucking with the reader) is to have > clojure.lang.Script ignore the first line if it is the shebang? > > I mean this is cool (in a really geeky way) > > #^:shebang '[ > exec java -cp "$HOME/src/clj/clojure/clojure.jar" clojure.lang.Script > "$0" -- "$@" > ] > > But its not standard, nor is it simple to remember, and if you have a > bin script that does stuff like read a Clojure rc file, or set the > classpath, or something you either lose that functionality, or you > have to basically try to duplicate the bin script at the top of every > clojure script. Additionally, if you want to hard code the path for > security like so > > #^:shebang '[ > exec /usr/bin/java -cp "$HOME/src/clj/clojure/clojure.jar" > clojure.lang.Script "$0" -- "$@" > ] > > Clojure has issues with it. > I already voted, but I agree with this. Having a standard way to run clojure scripts from a command line would be very useful. Allen --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Sep 11, 1:18 am, Apurva Sharan <[EMAIL PROTECTED]> wrote: > 3) Equivalent of 'format' macro. This would be really helpful in debugging. There is a "printf" in recent Clojure SVN. -Stuart --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
I have a stupid idea as well (related to reader macros). Is there any way we can get the reader to not have problems with "#!/usr/bin/clojure" as the first line? This would allow simple and standard use of Clojure in a script file. Or perhaps a solution (other than mucking with the reader) is to have clojure.lang.Script ignore the first line if it is the shebang? I mean this is cool (in a really geeky way) #^:shebang '[ exec java -cp "$HOME/src/clj/clojure/clojure.jar" clojure.lang.Script "$0" -- "$@" ] But its not standard, nor is it simple to remember, and if you have a bin script that does stuff like read a Clojure rc file, or set the classpath, or something you either lose that functionality, or you have to basically try to duplicate the bin script at the top of every clojure script. Additionally, if you want to hard code the path for security like so #^:shebang '[ exec /usr/bin/java -cp "$HOME/src/clj/clojure/clojure.jar" clojure.lang.Script "$0" -- "$@" ] Clojure has issues with it. Low priority, but still useful. Paul On Thu, Sep 11, 2008 at 9:20 AM, noahr <[EMAIL PROTECTED]> wrote: > > Another (possibly stupid) idea: > > Have some prefix-character to allow you to have the argument to a > macro be evaluated (sorta like a function), and its resulting data > structure given to the macro instead. I realize the whole point of > macros is that the arguments ARENT evaluated, but would it be useful > to selectively turn that off for specific arguments in specific calls > to the macro?? > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Another (possibly stupid) idea: Have some prefix-character to allow you to have the argument to a macro be evaluated (sorta like a function), and its resulting data structure given to the macro instead. I realize the whole point of macros is that the arguments ARENT evaluated, but would it be useful to selectively turn that off for specific arguments in specific calls to the macro?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Thu, Sep 11, 2008 at 3:23 AM, hoeck <[EMAIL PROTECTED]> wrote: > > Funny, had this idea too and know playing with an implementation of > relational algebra in clojure. I'm using clojures hashmaps for indexes > and vectors to represent the tuples. For conditions, I am using > functions returning true on matching vectors and for creating > conditions i use a macro. It's fun but hard to get right. Sounds similar to clojure.set: (doseq [n v] (ns-publics (find-ns 'clojure.set)) (print-doc v)) --Chouser --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On 10 Sep., 21:28, Allen Rohner <[EMAIL PROTECTED]> wrote: > Finally, not that I'm asking you or anyone else to build this, I'm > just throwing this out there to see if anyone else is thinking along > the same lines as me :-). I think it would be really cool to build a > database in Clojure. SQL the language sucks, and the overhead of > sending SQL strings to a remote process and having it compile the > command sucks. Funny, had this idea too and know playing with an implementation of relational algebra in clojure. I'm using clojures hashmaps for indexes and vectors to represent the tuples. For conditions, I am using functions returning true on matching vectors and for creating conditions i use a macro. It's fun but hard to get right. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On 9/11/08, jim <[EMAIL PROTECTED]> wrote: > > What I'm doing? > > Learning functional programming concepts (monads, monad transformers, > arrows) > Learning logic programming concepts. > Implementing state machine, parsing and relational algebra/calculus > libraries. > HTML, Javascript and CSS generators. > Writing a net server framework; have an HTTP server and most of an > SMTP. > > What I'd like to see? > > A package repository like CPAN coupled with something like ASDF. Yes, this is another great feature in ruby - gems. I'm not sure about ASDF, just know it's something similar for CL. IMHO, it's really important to have packaging system. > > > Jim > > > On Sep 10, 1:40 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > > > As we rapidly approach 500 members on the group (!) I thought it would > > be a good time to conduct another poll: > > > > What are you doing with Clojure? > > > > What 3 features would you most like to see added next? > > > > Thanks, > > > > Rich > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Still learning the language in my spare time :) > What 3 features would you most like to see added next? 1) Like most people, more specific error messages. Error messages that point out the faulty sub-expression would be helpful. 2) Packaging infrastructure similar to ASDF. 3) Equivalent of 'format' macro. This would be really helpful in debugging. Regards, Apurva - Original Message - From: "Rich Hickey" <[EMAIL PROTECTED]> To: "Clojure" Sent: Thursday, September 11, 2008 12:10:05 AM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi Subject: Clojure Poll 09/2008 As we rapidly approach 500 members on the group (!) I thought it would be a good time to conduct another poll: What are you doing with Clojure? What 3 features would you most like to see added next? Thanks, Rich --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
What I'm doing? Learning functional programming concepts (monads, monad transformers, arrows) Learning logic programming concepts. Implementing state machine, parsing and relational algebra/calculus libraries. HTML, Javascript and CSS generators. Writing a net server framework; have an HTTP server and most of an SMTP. What I'd like to see? A package repository like CPAN coupled with something like ASDF. Jim On Sep 10, 1:40 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > What are you doing with Clojure? > > What 3 features would you most like to see added next? > > Thanks, > > Rich --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Wednesday 10 September 2008 16:15, Shawn Hoover wrote: > ... > >1. A native executable would be preferred to launching with java > or a batch file (on Windows, especially, where you're always left > with an extra Y/N prompt after you Ctrl-c out of the REPL). Explore the difference between the "java.exe" and "javap.exe" launchers for the Windows JVM. And, of course, if you want a proper interactive environment on Windows, Cygwin is scarcely optional. The rough edges between its POSIX environment and the native Windows one are minor, mostly a matter of the file name and PATH (-like) variable syntaxes. Those can be papered over (even generically) with BASH or other shell scripting. > ... > > --Shawn Randall Schulz --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Wed, Sep 10, 2008 at 11:40 AM, Rich Hickey <[EMAIL PROTECTED]> wrote: > > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > > What are you doing with Clojure? > Exploring Lisp and Clojure's functional approach and concurrency tools. I appreciate the reasoned principles of the language and the well-thought-out API, and I'm looking for ways to introduce Clojure into my professional work. What 3 features would you most like to see added next? > It's tough to pick at the language itself because there's already a lot to wrap one's head around. One thing that's a little challenging coming from C/C#/Ruby worlds is dealing with Java startup and code loading. 1. A native executable would be preferred to launching with java or a batch file (on Windows, especially, where you're always left with an extra Y/N prompt after you Ctrl-c out of the REPL). 2. Documented canonical approaches to dealing with the classpath for loading other Java and Clojure code. If someone posts a .clj file on the web and you just want to try it, what's the best move? If you want to package and use clojure.contrib in an app you deploy, how does that affect your directory structure, namespace declarations, and installer? 3. Any creative options for those not already on the Java platform to integrate with Clojure. Maybe this is a non-goal since the tight integration is one of Clojure's strengths, and maybe Clojure is best for those on Java or starting from scratch, but the language is useful enough I'd like to consider how to integrate with existing code in other environments. IKVM.NET does work, but the 8 second startup time is prohibitive for interactive command line use. --Shawn --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Some simple web stuff, nothing exciting so far. What 3 features would you most like to see added next? 1. Better error messages. 2. Better error messages. 3. Better error messages :-) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
total n00b still, here. if chances come up to speed-up the compiler (e.g. would something like Scala's fsc be something one could create for Clojure?), i'd never say no to such changes. :-) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> 1. Not a good way to READ from a string, (read (PushbackReader. (StringReader. my-string))) > I've noticed functions can only refer to those previously defined, so you > couldnt have 2 that depend on one another This is because symbols are looked up at compile time. So what you can do is (def f) (defn g [x] (+ 1 (f x))) (defn f [x] (if (= x 0) 0 (g (- x 1))) (g 4) => 4 It would be fairly easy to whip up a macro that handles this more neatly: (def-rec f g (defn g [x] (+ 1 (f x))) (defn f [x] (* x x))) > What are you doing with Clojure? Writing a scriptable notetaking app for my tablet, as all the existing apps turn it into a very expensive pad of paper. mzscheme has a neat module system ( http://docs.plt-scheme.org/guide/units.html ) that handles mutual and cyclic dependencies between modules. I'm slowly porting this to clojure, the only real difficulty being fitting it in neatly with the namespace system. > What 3 features would you most like to see added next? I'll echo better compiler errors. The runtime error reporting is pretty good but the compile time errors are useless. I'd also like to control how my datastructures are printed, maybe by making print a multimethod dispatching on something like (or (:type ^obj) (class obj)). I think thats fairly vital for building new abstractions on top of the existing types. And eventually I would like a contract library, to help me get off the static typing crack. I may have a shot at it when I've finished my current side 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> What are you doing with Clojure? Nothing yet, still learning. > > What 3 features would you most like to see added next? > > Just two I can think of: 1) a persistent priority queue 2) a persistent deque, modeled perhaps on Haskell's Data.Sequence. Thanks, Jack --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Hi, Am 10.09.2008 um 20:40 schrieb Rich Hickey: What are you doing with Clojure? At home mostly pet projects to learn different aspects of programming: - lazy-map started as closure became a proxy and will finally end up in Java. => Java to Clojure Interface - parser (parser combinator library) to experiment with functional programming. (this also goes somehow into the DSL direction) - (planned) a simple pop3 server to work with multiple threads At work: - a DSL which "compiles" to Excel and Powerpoint to get rid of Office - a GUI for previously mentioned DSL What 3 features would you most like to see added next? 1. More informative error messages. From .clj files it's relatively easy to get the line of the failure and start guessing. But from the Repl it's pretty hard to figure out sometimes, what the problem in Compiler$AnalyzeSeq: bla blub is. 2. A compiler. :) 3. Whatever you do: Keep Clojure simple and clean. (4. clojure.contrib.lib is already contained. :)) You do a really good job here! :) Thank you. Also chapeau for the Clojure community! It's very helpful and newbie friendly. It's really fun to be around here in these exciting times. One doesn't get the chance to experience the development of such a nice language from the very beginning that often. Sincerely Meikel smime.p7s Description: S/MIME cryptographic signature
Re: Clojure Poll 09/2008
On Wednesday 10 September 2008 11:40, Rich Hickey wrote: > As we rapidly approach 500 members on the group (!) I thought it > would be a good time to conduct another poll: > > > What are you doing with Clojure? Tinkering. Contemplating an extensibility mechanism for my theorem prover. > What 3 features would you most like to see added next? The only thing that would really help unblock me is: 1) Programmable reader macros á là Common Lisp. > Thanks, > > Rich Randall Schulz --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On Wed, Sep 10, 2008 at 12:40 PM, Rich Hickey <[EMAIL PROTECTED]> wrote: > > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > > What are you doing with Clojure? For now, java scripting. I love Clojure and LFE (Lisp Flavoured Erlang) for the same reason. Both give a Lisp front end to great VMs whose native languages are a bit lacking. > What 3 features would you most like to see added next? Can't think of anything in Clojure per se. There ought to be more examples (cookbook like snippets) 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
I use Clojure for informal scripting and for testing Java code. Bill --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Hi, On Wed, Sep 10, 2008 at 2:40 PM, Rich Hickey <[EMAIL PROTECTED]> wrote: > What are you doing with Clojure? > Currently I'm working on writing extensions to JSF (JavaServer Faces) that allow seamless use from Clojure. One offshoot of this is to experiment with a browser-based Clojure IDE. > > What 3 features would you most like to see added next? > 1. I'll have to echo the request for better errors. In particular it seems there are a number of cases where we get a clojure.lang.Compiler$CompilerException but no message about why it was thrown. 2. Is it possible for the Clojure map types to implement java.util.Map? Obviously the mutable parts of the interface wouldn't work, but those are all defined as optional operations. Beyond that it is hard for me to think of language features that are missing. It already has a fantastic set of data structures which provides a very solid foundation I am at a loss for specific features to ask for. /mike. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
Yeah, CQL (Clojure Query Language) is that data manipulation example I was mentioning. :) On 9/10/08, Allen Rohner <[EMAIL PROTECTED]> wrote: > > > > What are you doing with Clojure? > > > A webapp using compojure + statistics ( bayes probability, > clustering ) > > > > What 3 features would you most like to see added next? > > > 1. friendlier compiler error messages > 2. better stack traces (maybe a "clojure-only" mode that only prints > the lines in the stack trace that are clojure files (or non-clojure > compiler files). Then have a verbose setting that includes the path > through the compiler. When in verbose mode, not have java print > "here's some of the stack, and 100 other lines that I'm not going to > show you" > > Finally, not that I'm asking you or anyone else to build this, I'm > just throwing this out there to see if anyone else is thinking along > the same lines as me :-). I think it would be really cool to build a > database in Clojure. SQL the language sucks, and the overhead of > sending SQL strings to a remote process and having it compile the > command sucks. Allow the database to live inside the user process (for > small datasets), and make the interface the same whether the DB is in- > processs or an external process. > > Start out simple, with just a b-tree library and a serializing data > structures library. Clojure already supports transactions and thread > isolation. In the future, build a query language (lisp DSL of course!) > and add support for remote eval i.e. send an sexp over a socket to a > remote JVM. > > > Allen > > > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
One possibility would be to come up with a wrapper around SleepyCat's Java DBD implementation... basically it is providing the low-level features you mention on top of which one could build a bunch of different things. On Wed, Sep 10, 2008 at 3:28 PM, Allen Rohner <[EMAIL PROTECTED]> wrote: > > > > What are you doing with Clojure? > > A webapp using compojure + statistics ( bayes probability, > clustering ) > > > What 3 features would you most like to see added next? > > 1. friendlier compiler error messages > 2. better stack traces (maybe a "clojure-only" mode that only prints > the lines in the stack trace that are clojure files (or non-clojure > compiler files). Then have a verbose setting that includes the path > through the compiler. When in verbose mode, not have java print > "here's some of the stack, and 100 other lines that I'm not going to > show you" > > Finally, not that I'm asking you or anyone else to build this, I'm > just throwing this out there to see if anyone else is thinking along > the same lines as me :-). I think it would be really cool to build a > database in Clojure. SQL the language sucks, and the overhead of > sending SQL strings to a remote process and having it compile the > command sucks. Allow the database to live inside the user process (for > small datasets), and make the interface the same whether the DB is in- > processs or an external process. > > Start out simple, with just a b-tree library and a serializing data > structures library. Clojure already supports transactions and thread > isolation. In the future, build a query language (lisp DSL of course!) > and add support for remote eval i.e. send an sexp over a socket to a > remote JVM. > > Allen > > > > > -- Tom Emerson [EMAIL PROTECTED] http://www.dreamersrealm.net/~tree --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
> There are many subtle nuances that have to > be understood, and many things you initially try to do are the 'wrong > way' etc. request-to-all from this newbie: pretty please add even succinct notes about those things to the wiki. somewhere consistent, so other newbies can find them. > 2) > Any advances in the error handling / reporting would be greatly > beneficial. Sometimes you see in the nasty stacktrace the actual > 'problem' or 'clojure line of text' that is the culprit, but many > times you do not. This can be kept in check with super-incremental word! sincerely. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
I'm actually building a production application with it for the company where I work, which is quite exciting. (Until my permission to do so gets revoked, of course). That's also why I'll no doubt be spamming the list with so many questions :p The application will be of the server-side message dispatch variety, being the controller piece between a bunch of incoming and outgoing messages and protocols that 'do things' (UI eents, payment processes, turning on/off services, etc etc) I haven't yet used the language enough for me to consider my own 'wishlist' of any merit, since I have so many newbie-obstacles to overcome (but am just now getting to the point where I can actually get stuff done). I will send some items later though as they occur to me and seem decent. There is a real advantage to working on a real project, in that it makes you need to do real things, whether the tools are there or not. Two things that do stand out to me still are: 1) Lack of good 'newbie' information. (This isn't really what you asked for, nor do I need it as much now as I did) This isn't a knock against the language of course, but will hinder its general acceptance. In particular I've found that while the learning curve for understanding the basic ideas is low, the curve for actually doing stuff in practice is steep. There are many subtle nuances that have to be understood, and many things you initially try to do are the 'wrong way' etc. And I was a lisp lover *before* I started. Once you make it through this initial period it really starts to click, but I'm afraid many would-be newcomers will quit after struggling to get parenthesis just right or seeing a cryptic error. 2) Any advances in the error handling / reporting would be greatly beneficial. Sometimes you see in the nasty stacktrace the actual 'problem' or 'clojure line of text' that is the culprit, but many times you do not. This can be kept in check with super-incremental development, which is a good idea anyway, because you just know that the last 'whatever u did' broke it, regardless of what it says. But I would suggest in general better means to tie error messages to actual errors in clojure text, though I realize that is probably quite difficult to do. Some *possibilities* for new language features (not necessarily my top list): 1. Not a good way to READ from a string, I hit this as working on an REPL loop that feeds from a stream. In particular this would be needed if you wanted to do some string parsing / alteration BEFORE the EVAL (for example, adding the parenthesis automatically to the edges). I agree working with the data structures directly as opposed to strings is better when possible, but when the data is dynamic and incoming you dont have that option. But I realize this has been brought up before, and also you could read from a reader from a string, etc. On a similar note, I suspect being able to convert between data structures and string representations of those structures, might allow for some neat unanticipated tricks to be performed. This just seems to be a natural & easy thing to provide since the language is already reflective and dynamic by nature. 2. Would there be any need for more reflective type operations? Like 'what file am I in' (which I would have already used, but just as a reload-convenience feature), or perhaps 'what higher level functions am I in', etc. I haven't really hit a need for these yet, and I suspect the lispy nature of it all already mitigates this a bit, but again seems like it might be easy to provide. 3. I'm curious about several of the cool lispy things that did NOT make it in, though I understand some of these have been discussed already, and there are good reasons or jvm obstacles for it. In particular I am thinking of the lisp error handling retry stuff, and continuations (we dont have those, right?). I have personal experience with neither, however, so can't comment much. Also, aren't there several types of macros in lisp, reader macros, and others? You said something about the read table not being accessible in the api docs, so naturally that made me wonder what cool things could be done if it were.. 4. I also wonder if there will be language problems as applications scale larger, with many different files and namespaces. I've noticed functions can only refer to those previously defined, so you couldnt have 2 that depend on one another. Again, unsure if this is needed, but it stood out to me. Also it seems I need to specifically load each file from other files, as opposed to some sort of directory / package mechanism. I'm wondering how that will scale on a large project, and what about the case where multiple files each have the same dependent, etc, like C++ includes. 5. On a minor note, and in a recent thread posting, I hit the case of needing to specifically bind and re-set the namespace because i was doing an EVAL in a separate thread. It seems a default of retaining the default namespace that the E
Re: Clojure Poll 09/2008
> What are you doing with Clojure? A webapp using compojure + statistics ( bayes probability, clustering ) > What 3 features would you most like to see added next? 1. friendlier compiler error messages 2. better stack traces (maybe a "clojure-only" mode that only prints the lines in the stack trace that are clojure files (or non-clojure compiler files). Then have a verbose setting that includes the path through the compiler. When in verbose mode, not have java print "here's some of the stack, and 100 other lines that I'm not going to show you" Finally, not that I'm asking you or anyone else to build this, I'm just throwing this out there to see if anyone else is thinking along the same lines as me :-). I think it would be really cool to build a database in Clojure. SQL the language sucks, and the overhead of sending SQL strings to a remote process and having it compile the command sucks. Allow the database to live inside the user process (for small datasets), and make the interface the same whether the DB is in- processs or an external process. Start out simple, with just a b-tree library and a serializing data structures library. Clojure already supports transactions and thread isolation. In the future, build a query language (lisp DSL of course!) and add support for remote eval i.e. send an sexp over a socket to a remote JVM. Allen --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Poll 09/2008
On 9/10/08, Rich Hickey <[EMAIL PROTECTED]> wrote: > > As we rapidly approach 500 members on the group (!) I thought it would > be a good time to conduct another poll: > > > What are you doing with Clojure? Nothing ATM, not enough time. :) > > > What 3 features would you most like to see added next? 1> Simple easy-to-use but powerfull instant web application framework like rails back in 2005(?). One tarball with included web/app server, shell scripts and default configuration. 2> Eye catching screencast intro showing fast blog/wiki/whatever application build-up from scratch. 3> TextMate macros, maybe I'll finally buy it if it will have clojure support. :) I know, these are not clojure features but some framework build on clojure, but in fact, (1) and (2) were the issues which introduced me into ruby. I knew there is some ruby and it's just another python/perl/etc. 10 min screencast changed my experience in programming languages, even I didn't know the term "DSL". And clojure is much more powerfull as ruby, IMHO. Excuse me, if there are already such packages and screencasts for any clojure based web framework out there. I'm not able to read all mails in this list. :) PS> It could be any other interesting domain, not just web framework. Swing, data manipulation, distributed/concurrent computing, SOA orchestration. Here especially I'm searching for lightweight ESB/BPEL alternative instead of enterprise solutions. It's just these web things are very popular now and easy to understand for most people. > > > > Thanks, > > Rich > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---