Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Ken Wesson
On Mon, Jan 3, 2011 at 1:25 AM, Sean Corfield  wrote:
> On Sun, Jan 2, 2011 at 7:41 PM, Ken Wesson  wrote:
>> Because from its url it looks like it'll just be the code repository.
>> It doesn't *seem* any more promising as the home page link than the
>> github.com results you tend to get when you search for other
>> Clojure-related material.
>
> Good feedback. Thanx. I guess I'm used to reading wikis on github as
> being the official project home pages but I can see your p.o.v.
>
> I'm a developer so I think it's reasonable to read about developer
> tools on developer sites but I'm getting the sense that a lot of
> people coming to Clojure are not coming from what might be called a
> 'traditional developer' background?
>
>> Lots of people expect a project to have a sourceforge, github, Google
>> Code, or similar page that isn't very end-user friendly because it's
>> targeted at the developers and not the users, plus its own .com or
>> whatever site (e.g., clojure.org) that serves as the home page for the
>> generally interested public (often linking to sourceforge or wherever
>> from the big friendly DOWNLOAD WINDOWS INSTALLER button, though).
>
> Point taken but I find it an interesting distinction given that the
> users of developer tools like CCW are developers :)

Yes, but they are developers of something else, not of CCW itself;
CCW's source code may not interest them very much.

You're interested in the developer-centric pages for projects you're
actually developers on. I would be surprised to find very many coders
very interested in such pages for most of the stuff they just use,
though (or to have time to be!). And if ANYONE starting out using a
new, sizable and complex piece of software doesn't want to start first
as a "normal user" with user-oriented introductory texts,
installers/packages that are turn-key, etc. and *maybe* graduate to
digging deeper into the project's internals, perhaps contributing
patches, etc. *later*. Perhaps *much* later, and time and interest
permitting.

> However, as someone involved with an free open source CFML engine who
> is faced with a large number of Windows developers who expect simple
> click-click-done installers, I think I can understand where you're
> coming from...

Yes. I'm sure they're much more interested in developing their
CFML-using projects than in developing CFML itself. Some (many?) may
be being paid to develop their CFML-using projects, but aren't being
paid to develop CFML itself (though they may wind up contributing to
CFML at some point, especially where doing so may pay dividends later
in making their own project-development easier down the line).

> So if CounterClockWise had its own domain website that pointed to the
> Google repo and the wiki and the Assembla wiki (where all the other
> IDE plugins are documented), you'd be mollified?

Certainly. But it's not about mollifying me; it's about making it
friendlier to the potentially large number of potential new users who
might be put off by not seeing any promising-enough-looking
starting-point in their google results.

The domain's root URL could even just redirect to whichever project
page at code.google.com has the "for-end-users home page" of the
project, so long as the combination of the domain name and the SERP
synopsis made the google hit clearly the starting point for
prospective new users, and the google hit ranked highly (preferably
#1) for reasonably narrowly targeted queries aimed at finding
Counterclockwise's home on the web.

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


Has Clojure Fixed the Social Problem that LISP is Too Powerful?

2011-01-03 Thread Jozef Wagner
Our team works on big EU projects, where there are many technical partners 
from different countries cooperating. Most of our work is about choosing a 
good technology and then about customizing and integrating it into our 
system. Usually SOA, Enterprise Java and semantic web technologies are in 
place.

Many people argue (and my colleagues are among them) that LISP is not 
suitable for such environments (many coders, tests and use cases, have 
to produce explicit designs and specifications e.g. because other team who 
builds on your work is in different country). They say LISP is a hacker 
language for lone warriors, not suited for big teams, where code must be 
understood by many.

See also http://c2.com/cgi/wiki?LispIsTooPowerful , 
http://c2.com/cgi/wiki?SocialProblemsOfLisp and 
http://c2.com/cgi/wiki?HackerLanguage

They are IMO right if by LISP a Common Lisp is meant. But I have a feeling 
(and I want to believe) that Clojure has largely fixed this social problem 
of LISP, just like it has fixed the other big social problems of LISP, 
namely http://c2.com/cgi/wiki?LispUsersAreArrogant :)

My colleagues all know and have been using LISP (in academics), we are an AI 
department after all. How can I explain them that Clojure is also useful 
for enterprise projects and big teams? Or is it not?

Some of my arguments are:
- Clojure has no custom reader macros, makes it easier to read others code
- Protocols and the way clojure handles data helps to explicitly formulate 
specifications and designs
- Fresh syntax which improves readability
- Easy integration with familiar technologies thanks to JVM
- Modern collection types, not just lists

What are your thoughts? How would you argue?

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

Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Laurent PETIT
Ken,

I've followed this thread with interest.

Thanks for rising this issue. It's always interesting to get external
feedback, 'cause it's too easy to forget about those things, once they seem
"evident" for us.

I ackowledge the "visibility" of Counterclockwise is far from being perfect.

However, I'm currently quite satisfied with the situation, given that :
  * "clojure eclipse plugin" in google gives the top position for google
code homepage, and that if you take the time to follow that link (or even
read the extract for the link), you know there's something to look for
there.
  * the getting started page linked from the clojure.org site points to this
site altogether
  * Since Eclipse 3.6 the integrated search engine (maybe unfortunately
named "market place", maybe not) returns Counterclockwise as its top result
when you type "Clojure" in it

But for sure having a proper domain name would be great, as well as a great
web site with a great graphical design as enclojure has, but I'm not
planning right now to spend time on building / buying this.

My guess is rather that the most interesting "cheap next step" could be to
rework the "visibility" of the different "de facto standards"
(Counterclockwise for Eclipse, La Clojure for IntelliJ Idea, Enclojure for
Netbeans, VimClojure for Vim, Clojure mode + swank clojure for emacs) from
the clojure.org website. Currently the link to the assembla web page is
pretty much hidden :

  * one has to go to the "getting started page", and then in the "Editing"
section click the other "getting started" link to the Assembla Page.

My suggestion would be that, acknowledging that easing the access to IDEs is
good for both Clojure adoption and the IDEs :

  * there is a dedicated "IDEs" in the top right box on clojure.org,
currently pointing to the "master wiki page" on Assembla
  * and / or an "IDEs" page in the left menu of clojure.org, with the
content of the "master wiki page" on Assembla (containing links to each
IDE-specific Getting Started instructions)


Now that all this is said, I clearly have the intention, eventually, to have
a domain name for Counterclockwise, as well as a decent website. Now just
doesn't feel the right timing to me, given that resources are limited.

Cheers,

-- 
Laurent

2011/1/1 Ken Wesson 

> I use Enclojure/NetBeans myself, but it occurred to me to check out
> the current state of its Eclipse counterpart.
>
> But I can't find it anywhere. Google returns tons of results, of
> course, but they're all third-party results except the first, which is
> a code.google.com repository. *None* of the top ten results are the
> home page of the plugin; if you're just looking to download the binary
> and use it, or read about it in plain English, you're going to ignore
> the Google Code link, and if you want to get your information from the
> horse's mouth, you'll ignore all of the other hits and then give up.
>
> This is a problem for Counterclockwise, which really should have its
> own web site in the top ten (and preferably at the very top) of a
> Google search for "counterclockwise clojure" (no quotation marks in
> the actual search).
>
> Contrast with the results of searching for "enclojure": the first hit
> is the enclojure.org home page and the next two are other pages at
> enclojure.org. Then the discussion group, hosted by Google. Fifth is
> the source code repository. Third-party content, such as people
> blogging about it, starts around the seventh returned hit, versus the
> second with Counterclockwise with only the repository ranking higher.
>
> In particular, if there is a counterclockwise.org or a
> counterclockwise.com or anything similar it does not show up in the
> top ten.
>
> The situations with swank-clojure and La Clojure are similar to that
> with Counterclockwise, though emacs users are probably just going to
> download the source from the repository and run it anyway and
> apparently IDEA has a plugin repository it can automatically download
> and install plugins from, like NB (and, perhaps, Eclipse). The lack of
> an obvious Google-findable starting point for reading about any of
> these first before installing them or doing something with their
> source code is troubling, regardless.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroup

Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Robert McIntyre
I'll have to admit that when I started out using clojure I was
confused as well with the google code page. It's hard to see "what to
do to get ccw on my eclipse."  A nice, comforting website that looks
like it was designed only for end-users would be helpful I think.
Partly this is eclipse's fault for making it semi-difficult to install
software.  The "front-end" site you're proposing would have made it
easier for me, at least.  If you would like help making a
nice-looking, simple front-end website for the time being I would be
happy to help set up something easy.

Let me know, and thanks for making a great plugin for eclipse.

Sincerely,
--Robert McIntyre

On Mon, Jan 3, 2011 at 3:27 AM, Ken Wesson  wrote:
> On Mon, Jan 3, 2011 at 1:25 AM, Sean Corfield  wrote:
>> On Sun, Jan 2, 2011 at 7:41 PM, Ken Wesson  wrote:
>>> Because from its url it looks like it'll just be the code repository.
>>> It doesn't *seem* any more promising as the home page link than the
>>> github.com results you tend to get when you search for other
>>> Clojure-related material.
>>
>> Good feedback. Thanx. I guess I'm used to reading wikis on github as
>> being the official project home pages but I can see your p.o.v.
>>
>> I'm a developer so I think it's reasonable to read about developer
>> tools on developer sites but I'm getting the sense that a lot of
>> people coming to Clojure are not coming from what might be called a
>> 'traditional developer' background?
>>
>>> Lots of people expect a project to have a sourceforge, github, Google
>>> Code, or similar page that isn't very end-user friendly because it's
>>> targeted at the developers and not the users, plus its own .com or
>>> whatever site (e.g., clojure.org) that serves as the home page for the
>>> generally interested public (often linking to sourceforge or wherever
>>> from the big friendly DOWNLOAD WINDOWS INSTALLER button, though).
>>
>> Point taken but I find it an interesting distinction given that the
>> users of developer tools like CCW are developers :)
>
> Yes, but they are developers of something else, not of CCW itself;
> CCW's source code may not interest them very much.
>
> You're interested in the developer-centric pages for projects you're
> actually developers on. I would be surprised to find very many coders
> very interested in such pages for most of the stuff they just use,
> though (or to have time to be!). And if ANYONE starting out using a
> new, sizable and complex piece of software doesn't want to start first
> as a "normal user" with user-oriented introductory texts,
> installers/packages that are turn-key, etc. and *maybe* graduate to
> digging deeper into the project's internals, perhaps contributing
> patches, etc. *later*. Perhaps *much* later, and time and interest
> permitting.
>
>> However, as someone involved with an free open source CFML engine who
>> is faced with a large number of Windows developers who expect simple
>> click-click-done installers, I think I can understand where you're
>> coming from...
>
> Yes. I'm sure they're much more interested in developing their
> CFML-using projects than in developing CFML itself. Some (many?) may
> be being paid to develop their CFML-using projects, but aren't being
> paid to develop CFML itself (though they may wind up contributing to
> CFML at some point, especially where doing so may pay dividends later
> in making their own project-development easier down the line).
>
>> So if CounterClockWise had its own domain website that pointed to the
>> Google repo and the wiki and the Assembla wiki (where all the other
>> IDE plugins are documented), you'd be mollified?
>
> Certainly. But it's not about mollifying me; it's about making it
> friendlier to the potentially large number of potential new users who
> might be put off by not seeing any promising-enough-looking
> starting-point in their google results.
>
> The domain's root URL could even just redirect to whichever project
> page at code.google.com has the "for-end-users home page" of the
> project, so long as the combination of the domain name and the SERP
> synopsis made the google hit clearly the starting point for
> prospective new users, and the google hit ranked highly (preferably
> #1) for reasonably narrowly targeted queries aimed at finding
> Counterclockwise's home on the web.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your

Re: A Web Server in Clojure

2011-01-03 Thread Remco van 't Veer
Try adding CR to your LF's.  RFC 1945 states:

   HTTP/1.0 defines the octet sequence CR LF as the end-of-line marker
   for all protocol elements except the Entity-Body (see Appendix B for
   tolerant applications). The end-of-line marker within an Entity-Body
   is defined by its associated media type, as described in Section 3.6.


On 2011/01/01 02:40, limux wrote:

> There is no  any error when I access http://127.0.0.1:8080 by browser.
> While with wget, there will be some messages as below:
>
> --2011-01-01 09:22:49--  (try:20)  http://127.0.0.1:8080/
> Connecting to 127.0.0.1:8080... connected.
> HTTP request sent, awaiting response... 200 No headers, assuming HTTP/
> 0.9
> Length: unspecified
> index.html has sprung into existence.
> Giving up.
>
>
> On 1月1日, 上午12时10分, Miki  wrote:
>> Both of these examples work for me (clojure 1.2).
>> Is there an error on the console when you access the site?
>>
>> Also, if this is not a learning exercise, I recommend having a look at
>> Compojure for web development.
>>
>> HTH,
>> --
>> Miki

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


Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Ken Wesson
On Mon, Jan 3, 2011 at 5:26 AM, Laurent PETIT  wrote:
> I ackowledge the "visibility" of Counterclockwise is far from being perfect.
>
> However, I'm currently quite satisfied with the situation, given that :
>   * "clojure eclipse plugin" in google gives the top position for google
> code homepage, and that if you take the time to follow that link (or even
> read the extract for the link), you know there's something to look for
> there.

Well, it does say

"Counterclockwise is an Eclipse plugin helping developers write
Clojure code. Installing Counterclockwise and starting
testing/developing in clojure is ..."

but it also says

"counterclockwise - Project Hosting on Google Code"

"Project Hosting" suggests "this is where counterclockwise's
developers hang out" and it's easy to presume from that context that
the introductory text is part of a very brief blurb and not a more
substantial body of end-user-oriented text. Someone looking for CCW
introductory material, I concede, *is* likely after seeing no other
promising Google hit in the top 10 or 20 to go there hoping that that
introductory blurb is, if not part of something more substantial of
that sort itself, at least the locus of a link or two to such for the
benefit of would-be end-users who blunder into the repository's front
page. :)

> But for sure having a proper domain name would be great, as well as a great
> web site with a great graphical design as enclojure has, but I'm not
> planning right now to spend time on building / buying this.

It's you who manages CCW's web presence then? Huh.

> My suggestion would be that, acknowledging that easing the access to IDEs is
> good for both Clojure adoption and the IDEs :
>
>   * there is a dedicated "IDEs" in the top right box on clojure.org,
> currently pointing to the "master wiki page" on Assembla
>   * and / or an "IDEs" page in the left menu of clojure.org, with the
> content of the "master wiki page" on Assembla (containing links to each
> IDE-specific Getting Started instructions)

Please do remember though that someone dipping his toes into
programming and not already an experienced developer (or even,
perhaps, an experienced commercial-software developer with little
experience in the open-source world) is liable to be intimidated by
any links to assembla, github, and so forth on the general theory that
"that leads to source code, bug trackers, developer mailing lists, and
other complicated stuff and I just want to download this thing in an
executable form and try it out". :)

That's after the first couple of times following links to those sites
in other situations and being faced with a big developer-central page
full of bells and whistles that mostly in turn lead to login prompts
rather than something user-friendly to people not looking to work with
a source code repository and bug tracker at that time.

It seems there's more content at those sites than just such project
control panels, and you and I know that, but I am considering the
likelihood that part of your desired user base probably does not know
that. And in fact newbie programmers are an *important* part of that
user base, perhaps the *most* important.

> Now that all this is said, I clearly have the intention, eventually, to have
> a domain name for Counterclockwise, as well as a decent website. Now just
> doesn't feel the right timing to me, given that resources are limited.

That's okay. Once again, it is not for my own sake so much as for that
of potential new users less knowledgeable about some of these things
that I offered these suggestions.

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


Re: A Web Server in Clojure

2011-01-03 Thread Ken Wesson
2011/1/3 Remco van 't Veer :
> Try adding CR to your LF's.  RFC 1945 states:
>
>   HTTP/1.0 defines the octet sequence CR LF as the end-of-line marker
>   for all protocol elements ...

My God, is nothing exempt from Microsoft's taint? This has the stench
of "concession to stupidly-designed Windows software" written *all
over it*, and yet it presumably comes from the IETF, aka the world's
biggest conglomeration of unixheads in the world, or the W3C, likely
the world's second-largest. :)

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


Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Peter Schuller
> Good feedback. Thanx. I guess I'm used to reading wikis on github as
> being the official project home pages but I can see your p.o.v.

I'm not taking a position specifically for this thread (only sifted
through it, and I haven't had that particular problem with ccw), but
here is another POV:

Ever since Sourceforge became popular and started the project hosting
thing, I have continually been annoyed when (1) people link to and (2)
google results prefer the sf/github/bitbucket/gcode/whatever page
instead of the manually maintained project page.

The reason is that they are essentially boilerplate that waste my
time, if I am not actively knowledgable about the project already.
Since all projects have the same structure, you essentially know
nothing just by looking at the project summary. You have to dig around
a bit to get a feel for whether it's a live, whether you're in the
right place for documentation and whether the community is
"elsewhere".

A similar effect is what you get with projects that use maven to
generate a boilerplate website. You don't know whether it's actually
filled in, and whether it is worth clicking around to find real
information.

A manually maintained project website, even if completely
non-fashionable, on the other hand gives me an instant feel for the
project. News items on the front page indicate liveness, manually
hand-picked links and decided structure hopefully gives a good crash
course/crash intro as to what it is etc.

Again, just another POV. Take it with a grain of salt. But know that
I'm speaking *as a developer*, just not as a developer *of those
things* that I am trying to find/use/read about.

-- 
/ Peter Schuller

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


Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Laurent PETIT
Hi Peter,

2011/1/3 Peter Schuller 

> > Good feedback. Thanx. I guess I'm used to reading wikis on github as
> > being the official project home pages but I can see your p.o.v.
>
> I'm not taking a position specifically for this thread (only sifted
> through it, and I haven't had that particular problem with ccw), but
> here is another POV:
>
> Ever since Sourceforge became popular and started the project hosting
> thing, I have continually been annoyed when (1) people link to and (2)
> google results prefer the sf/github/bitbucket/gcode/whatever page
> instead of the manually maintained project page.
>
> The reason is that they are essentially boilerplate that waste my
> time, if I am not actively knowledgable about the project already.
> Since all projects have the same structure, you essentially know
> nothing just by looking at the project summary. You have to dig around
> a bit to get a feel for whether it's a live, whether you're in the
> right place for documentation and whether the community is
> "elsewhere".
>
> A similar effect is what you get with projects that use maven to
> generate a boilerplate website. You don't know whether it's actually
> filled in, and whether it is worth clicking around to find real
> information.
>
> A manually maintained project website, even if completely
> non-fashionable, on the other hand gives me an instant feel for the
> project. News items on the front page indicate liveness, manually
> hand-picked links and decided structure hopefully gives a good crash
> course/crash intro as to what it is etc.
>

FYI, the main page of ccw is manually maintained and contains up to date
information wrt current plugin status.
That's maybe why you didn't have to /specifically/ complain 'bout ccw itself
;-)


>
> Again, just another POV. Take it with a grain of salt. But know that
> I'm speaking *as a developer*, just not as a developer *of those
> things* that I am trying to find/use/read about.
>
> --
> / Peter Schuller
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

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

Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Laurent PETIT
2011/1/3 Ken Wesson 

>
> > But for sure having a proper domain name would be great, as well as a
> great
> > web site with a great graphical design as enclojure has, but I'm not
> > planning right now to spend time on building / buying this.
>
> It's you who manages CCW's web presence then? Huh.
>

Sorry, I'm not a native english speaker. Would you please explain how I
should interpret "Huh" in this context ?


>
> > My suggestion would be that, acknowledging that easing the access to IDEs
> is
> > good for both Clojure adoption and the IDEs :
> >
> >   * there is a dedicated "IDEs" in the top right box on clojure.org,
> > currently pointing to the "master wiki page" on Assembla
> >   * and / or an "IDEs" page in the left menu of clojure.org, with the
> > content of the "master wiki page" on Assembla (containing links to each
> > IDE-specific Getting Started instructions)
>
> Please do remember though that someone dipping his toes into
> programming and not already an experienced developer (or even,
> perhaps, an experienced commercial-software developer with little
> experience in the open-source world) is liable to be intimidated by
> any links to assembla, github, and so forth on the general theory that
> "that leads to source code, bug trackers, developer mailing lists, and
> other complicated stuff and I just want to download this thing in an
> executable form and try it out". :)
>
> That's after the first couple of times following links to those sites
> in other situations and being faced with a big developer-central page
> full of bells and whistles that mostly in turn lead to login prompts
> rather than something user-friendly to people not looking to work with
> a source code repository and bug tracker at that time.
>
> It seems there's more content at those sites than just such project
> control panels, and you and I know that, but I am considering the
> likelihood that part of your desired user base probably does not know
> that. And in fact newbie programmers are an *important* part of that
> user base, perhaps the *most* important.
>


For the laziest users (or the more effective ones, everything is always a
question of viewpoint ;-), using the eclipse integrated market place is the
@right think to do@ as a first intention, anyway :-p


>
> > Now that all this is said, I clearly have the intention, eventually, to
> have
> > a domain name for Counterclockwise, as well as a decent website. Now just
> > doesn't feel the right timing to me, given that resources are limited.
>
> That's okay. Once again, it is not for my own sake so much as for that
> of potential new users less knowledgeable about some of these things
> that I offered these suggestions.
>
>
Yes, we all want the best for clojure, and that's why I said thank you for
your feedback.

Cheers,

-- 
Laurent

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

Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Michael Froh

On 2011-01-03, at 5:41 AM, Ken Wesson wrote:

> No; as I mentioned in my earlier post, I use NetBeans but thought I'd
> see if there was an alternative out there that equaled or beat that
> yet.

Hi there,

I'm a new to Clojure (having started in late November), and a long-time Eclipse 
user. As such, I consider myself part of "the target audience" that Ken appears 
to find underserved in this case, and hence wanted to throw in my two cents.

My first instinct was to Google "eclipse clojure plugin", the exact same way 
that I've previously Googled "eclipse git plugin", "eclipse scala plugin", etc. 
Then, I click obvious "install-related" links until I find the update site URL. 
I was up and running with counterclockwise in about 10 minutes.

"The Eclipse way" of doing things is pretty arcane for the uninitialized. Once 
you get through the frustration of dealing with the poorly-organized Eclipse 
website and learning the appropriate secret handshakes, it eventually becomes 
usable and "intuitive" (or at least, your mind eventually warps itself to fit 
the Eclipse mould). That this seems so strange to "outsiders" (or indeed that 
non-regular Eclipse users are made to feel like outsiders) is the fault of the 
Eclipse project, in my opinion.

That said, getting started with CCW was totally intuitive, at least for me.

Hope that helps,
Michael

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


Re: osx + clojure + emacs + leiningen blog posts

2011-01-03 Thread Bill Robertson
Hi,

"One thing worth noting about emacs-starter-kit is that it tries to
source a file of your own customizations on startup. This file
defaults to your username.el so the easiest thing to do is create that
file inside of ~/.emacs.d. One thing you really should add to this is
a function to fix the path issues inside of Emacs:"

Is fixing the path related to the information about ~/.emacs.d/
username.el?  If not then I would suggest a new paragraph.  If it is,
then will you please explain how?

Thanks,
Bill Robertson

On Dec 28 2010, 11:31 pm, gaz jones  wrote:
> thanks for the feedback, i will update it tomorrow.
>
> cheers,
> gaz
>
>
>
>
>
>
>
> On Tue, Dec 28, 2010 at 8:44 PM, Phil Hagelberg  wrote:
> > On Dec 28, 2:32 pm, gaz jones  wrote:
> >> i put together a couple of blog posts around how i use clojure + emacs
> >> + leiningen on OSX (but applies to linux too) in the hope it may help
> >> someone get up and running faster:
>
> > Looks good. I should mention that installing the elisp for swank-
> > clojure is actually no longer necessary. Also it's a little more
> > convenient to use C-c C-k instead of C-c C-l to compile the current
> > file.
>
> > It might be nice to link to the Leiningen tutorial for further
> > reference since it goes into more detail:
> >https://github.com/technomancy/leiningen/blob/master/TUTORIAL.md
>
> > very nice,
> > Phil
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with 
> > your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/clojure?hl=en

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


Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Ken Wesson
On Mon, Jan 3, 2011 at 7:50 AM, Laurent PETIT  wrote:
> 2011/1/3 Ken Wesson 
>>
>> > But for sure having a proper domain name would be great, as well as a
>> > great
>> > web site with a great graphical design as enclojure has, but I'm not
>> > planning right now to spend time on building / buying this.
>>
>> It's you who manages CCW's web presence then? Huh.
>
> Sorry, I'm not a native english speaker. Would you please explain how I
> should interpret "Huh" in this context ?

Just a generic expression of mild surprise.

>> It seems there's more content at those sites than just such project
>> control panels, and you and I know that, but I am considering the
>> likelihood that part of your desired user base probably does not know
>> that. And in fact newbie programmers are an *important* part of that
>> user base, perhaps the *most* important.
>
> For the laziest users (or the more effective ones, everything is always a
> question of viewpoint ;-), using the eclipse integrated market place is the
> @right think to do@ as a first intention, anyway :-p

Ah, but that presumes someone already using Eclipse. In the
hypothetical instance of a Clojure developer contemplating switching
from NB, or IDEA, or just starting out and not yet using *any* IDE,
that developer will want to read some introductory information and get
a feel for CCW (from an end-user-of-CCW perspective, not a
developer-of-CCW perspective) before bothering to install Eclipse. IF
they decide CCW's worth trying, THEN they'll install BOTH.

So, the "market place" addresses "how do I get and install the CCW
binary?" from pre-existing Eclipse users; but not "where do I get more
information on which to base a decision among multiple IDEs/plugins?"
from non-Eclipse users. (Eclipse users can, from the sounds of it,
fairly painlessly install CCW and test-drive it, IF that is it is free
in that "market place" rather than paid.)

>> > Now that all this is said, I clearly have the intention, eventually, to
>> > have
>> > a domain name for Counterclockwise, as well as a decent website. Now
>> > just
>> > doesn't feel the right timing to me, given that resources are limited.
>>
>> That's okay. Once again, it is not for my own sake so much as for that
>> of potential new users less knowledgeable about some of these things
>> that I offered these suggestions.
>>
>
> Yes, we all want the best for clojure, and that's why I said thank you for
> your feedback.

You're welcome.

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


Re: The non-Enclojure Clojure plugin homepages are all rather hard to find.

2011-01-03 Thread Peter Schuller
> FYI, the main page of ccw is manually maintained and contains up to date
> information wrt current plugin status.
> That's maybe why you didn't have to /specifically/ complain 'bout ccw itself
> ;-)

Yes, it seems more "obviously maintained" than most :)

-- 
/ Peter Schuller

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


Re: ANN: syntax-rules

2011-01-03 Thread Mark
One of the stmbling blocks I find as a Clojure newbie are syntax
errors working with core library macros.  The error messaeges aren't
always descriptive.  What are the chances that core macros could be
rewriiten using a future version on defsyntax to help with this
problem?

On Jan 2, 11:57 am, Brian Goslinga  wrote:
> I have released version 1.0.0-alpha1 of my syntax-rules 
> library:http://clojars.org/org.clojars.qbg/syntax-rules. This library is also
> on Github:https://github.com/qbg/syntax-rules
>
> This library seeks to address two sources of incidental complexity
> when writing macros in Clojure using defmacro: parsing the macro form
> and checking for syntax errors.  The library provides powerful tools
> for parsing macros with complex syntax (see the wiki for an example of
> parsing deftype). In addition, this library will generate reasonable
> syntax error messages almost for free.
>
> The wiki for this library is located 
> athttps://github.com/qbg/syntax-rules/wiki.
> On the wiki are some simple examples comparing the implementation of
> simple macros from Clojure using defmacro and defsyntax-rules. An
> implementation of defn is provided using defsyntax-rules. As mentioned
> above, there is also an example of parsing deftype using defsyntax-
> rules.
>
> I hope people find this library useful.
>
> Brian

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


Re: a loop gives boxing warning when it shouldn't

2011-01-03 Thread Albert Cardona
2011/1/3 Allen Johnson :
>> I can't see where the variables are boxed into objects. Both the loop
>> and the let declare them as primitives if they are given primitives.
>> Perhaps they are already objects before they reach the inc and dec
>> function calls in the recur, but if so, it's a mystery to me why.
>
> Yeah that is interesting. I'm not sure the _why_ of it but I attempted
> to narrow it down and it looks like it has something to do with nested
> loops and recur. The code below is basically the same thing except the
> first one generates auto-boxing warnings while the latter does not.
> I'd also like to know why this is.
>
> (set! *warn-on-reflection* true)
>
> ;; generates auto-boxing warnings
> (defn example [^long x]
>  (loop [a x]
>    (let [i (loop [k a] k)]
>      (if false (recur i) i
>
> ;; no warnings
> (defn example [^long x]
>  (loop [a x]
>    (let [i (let [k a] k)]
>      (if false (recur i) i



Very nice minimal example. If someone has access for filing bugs to
assembla, could this one please be filed in?


> Also, I couldn't resist giving qsort another attempt. I got a new
> laptop and need to break it in somehow :) So here is a rewritten
> version based on an example in "Introduction to Algorithms" without
> casts.
>
> https://gist.github.com/763139


Nice traditional example, with swap and partition functions. Very
pretty, and readable!

Albert
-- 
http://albert.rierol.net

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


Re: A Web Server in Clojure

2011-01-03 Thread James Reeves
On 3 January 2011 12:30, Ken Wesson  wrote:
> 2011/1/3 Remco van 't Veer :
>> Try adding CR to your LF's.  RFC 1945 states:
>>
>>   HTTP/1.0 defines the octet sequence CR LF as the end-of-line marker
>>   for all protocol elements ...
>
> My God, is nothing exempt from Microsoft's taint? This has the stench
> of "concession to stupidly-designed Windows software" written *all
> over it*

I'm not sure if you're being serious here, but CRLF is the standard in
many old network protocols, such as FTP and SMTP. It's certainly not
because of Windows.

- James

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


Re: osx + clojure + emacs + leiningen blog posts

2011-01-03 Thread gaz jones
nope not related, i can add a paragraph there to avoid confusion.

On Mon, Jan 3, 2011 at 12:44 AM, Bill Robertson
 wrote:
> Hi,
>
> "One thing worth noting about emacs-starter-kit is that it tries to
> source a file of your own customizations on startup. This file
> defaults to your username.el so the easiest thing to do is create that
> file inside of ~/.emacs.d. One thing you really should add to this is
> a function to fix the path issues inside of Emacs:"
>
> Is fixing the path related to the information about ~/.emacs.d/
> username.el?  If not then I would suggest a new paragraph.  If it is,
> then will you please explain how?
>
> Thanks,
> Bill Robertson
>
> On Dec 28 2010, 11:31 pm, gaz jones  wrote:
>> thanks for the feedback, i will update it tomorrow.
>>
>> cheers,
>> gaz
>>
>>
>>
>>
>>
>>
>>
>> On Tue, Dec 28, 2010 at 8:44 PM, Phil Hagelberg  wrote:
>> > On Dec 28, 2:32 pm, gaz jones  wrote:
>> >> i put together a couple of blog posts around how i use clojure + emacs
>> >> + leiningen on OSX (but applies to linux too) in the hope it may help
>> >> someone get up and running faster:
>>
>> > Looks good. I should mention that installing the elisp for swank-
>> > clojure is actually no longer necessary. Also it's a little more
>> > convenient to use C-c C-k instead of C-c C-l to compile the current
>> > file.
>>
>> > It might be nice to link to the Leiningen tutorial for further
>> > reference since it goes into more detail:
>> >https://github.com/technomancy/leiningen/blob/master/TUTORIAL.md
>>
>> > very nice,
>> > Phil
>>
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Clojure" group.
>> > To post to this group, send email to clojure@googlegroups.com
>> > Note that posts from new members are moderated - please be patient with 
>> > your first post.
>> > To unsubscribe from this group, send email to
>> > clojure+unsubscr...@googlegroups.com
>> > For more options, visit this group at
>> >http://groups.google.com/group/clojure?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

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


Re: ANN: syntax-rules

2011-01-03 Thread Brian Goslinga
On Jan 3, 7:44 am, Mark  wrote:
> One of the stmbling blocks I find as a Clojure newbie are syntax
> errors working with core library macros.  The error messaeges aren't
> always descriptive.  What are the chances that core macros could be
> rewriiten using a future version on defsyntax to help with this
> problem?
There would be a bootstrapping problem involved if such a transition
would happen as the macros needed to define the functions and macros
used by the library need to be defined before the library is able to
define other macros. The problem is in theory solvable: use the
current versions as bootstrapping versions then redefine them once
library is usable. However, this solution would involve code
duplication which is not desirable. One could also give up the ability
to bootstrap the language, but IMO that would be worse than the code
duplication.

Brian

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


Re: Compiling dynamically created namespaces, without on-disk source code?

2011-01-03 Thread Stuart Sierra
I mean the JVM bytecode generated by the Clojure compiler is not accessible 
after it has been loaded.  The JVM stores it somewhere, internally, but 
there's no way to get at it.

-Stuart Sierra
clojure.com

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

Re: osx + clojure + emacs + leiningen blog posts

2011-01-03 Thread Neo
Very useful info, really thanks for that. Will try later and give
feedback.

gaz jones wrote:
> oh hi,
>
> i put together a couple of blog posts around how i use clojure + emacs
> + leiningen on OSX (but applies to linux too) in the hope it may help
> someone get up and running faster:
>
> http://blog.gaz-jones.com/post/2486737162/setting-up-clojure-development-on-osx-using-emacs-and
> http://blog.gaz-jones.com/post/2501842155/interactive-clojure-development-in-emacs-with-leiningen
>
> suggestions for improvements / things im doing crazy are welcome!
>
> cheers
> gaz

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


Re: Chunking is making my life more difficult.

2011-01-03 Thread ehanneken
> Four is better than 32, but still.

I found the explanation for this on stackoverflow.com.  Stuart Sierra
wrote,

> This is due to the definition of =, which, when given a sequence of 
> arguments, forces the first 4:

>> (defn =
>>   ;; ... other arities ...
>>   ([x y & more]
>>(if (= x y)
>>  (if (next more)
>>(recur y (first more) (next more))
>>(= y (first more)))
>>  false)))

http://stackoverflow.com/questions/3407876

He also defined an unchunk function to prevent chunking.  For
completeness, I should also mention that Michael Fogus has written a
different function for the same purpose:
http://blog.fogus.me/2010/01/22/de-chunkifying-sequences-in-clojure/

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


Re: a loop gives boxing warning when it shouldn't

2011-01-03 Thread Chouser
On Sat, Jan 1, 2011 at 5:47 PM, Albert Cardona  wrote:
> Hi all,
>
> I'd apreciate help on figuring out why a loop gets number boxing
> warnings, when it shouldn't:
>
> http://clojure.pastebin.com/9uLZqGhy

I just filed this as:
http://dev.clojure.org/jira/browse/CLJ-701

--Chouser
http://joyofclojure.com/

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


ANN: Tom Faulhaber: "Lisp, Functional Programming, and the State of Flow" video available

2011-01-03 Thread Alan Dipert
Hi everyone,

I'm happy to announce that Tom Faulhaber's Conj talk, "Lisp,
Functional Programming, and the State of Flow" is now available on
Clojure's blip.tv page: http://clojure.blip.tv/file/4521022/

As always, other Clojure and Conj videos can be found here:
http://clojure.blip.tv/, and we'll announce when the next video is
available over on Twitter at http://twitter.com/clojure_conj

Thank you, and Happy New Year,
Alan and the Clojure/core team

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


Clojure Newbie trying to represent electrical circuit

2011-01-03 Thread MS
Hi, I'm new to clojure (though I've messed around in scheme a little)
and I'm trying to represent an electrical circuit with "pins" and
"nets" (ie in graph terminology vertices and edges).

I'd like to represent the nets as {:name "net_name" :pins #{pin1 pin2
pin3}} etc.
I'd like to represent each pin as {:name "pin_name" :net the_net :type
pin_type}

I want to query the net for all its attached pins, and to query any
pin to see what net it's attached to.  The problem here is that these
are mutually-referring things.  The net refers to the pins and each
pin refers back to the net.

How do I create these without mutation?  For example I could create
all the pins, then the net, then go back and fill in the net for all
the pins.  I'm still reading through how to implement mutable stuff,
but I have a strong sense this is not the correct implementation.

I thought maybe instead I should represent the circuit by having each
"pin" and each "net" actually be a vertex in the graph, and each graph
edge is a connection between a pin and a net.  If I represent this as
a set of edges, the above then becomes (I'm doing this in analog to
emphasize I don't want a source or destination pin, and I don't
believe I need a directed graph.)

(def p1 {:name "pin1" :impedance 1.0})
(def p2 {:name "pin2" :impedance 1e6})
(def p3 {:name "pin3" :impedance 1e6})
(def n1 {:name "the_net" :type "analog"})

(def circuit
   #{{ :pin p1 :net n1}
  { :pin p2 :net n1}
  { :pin p3 :net n1}} )

I can then use this for all the basic stuff such as seeing which pin
is connected to which net. Connections are easy to create or delete.

For a large circuit however it may be slow to filter through this set
to see what's connected to what for any given query, so perhaps I
could assoc to each pin or net its local connectivity.  This would not
require mutation, only copying the set where each pin or net gets a
new key and list of its local connection.  The drawback here is any
connectivity changes requires going through the affected nets or pins
and updating their local cache.

Any advice mucho appreciated

Thanks
Michael

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


Re: can I force the JIT to be called immediately for certain pieces of code after it starts executing with out waiting for the JVM realize it is necessary....

2011-01-03 Thread Chas Emerick

On Jan 2, 2011, at 9:13 AM, Marek Kubica wrote:

>> But in theory it could be posible to collect run-time data in one run,
>> then JIT code at startup, using that collected data and current
>> procesor architecture.
> 
> Something like this is already used in practice, it is called
> Profile-Guided Optimization (PGO) and available in GCC (but that uses
> AOT, which sounds to me like equivalent to "JIT at startup"). The
> OpenJDK-JVM does not support this and I doubt that it will. Maybe GCJ
> at some time, but as far as I saw, GCJ does not work with Clojure yet.

A while back I was talking with someone from Sun that had done a fair bit of 
work on the client compiler, and this topic came up.  Apparently, its 
implementation (and perhaps presumably that of -server as well?) is such that 
optimized code references memory locations specific to the then-running VM.  It 
would apparently be trivial to dump JITed code, but you'd never be able to load 
that code again.

- Chas

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


Re: Loading JNI

2011-01-03 Thread ax2groin
Hmm, I see that the final draft of my question missed an essential
element, I am using Eclipse.

In any case, I've tried something really basic, and it fails:

(try (System/load "C:\\app/bin/coms.dll") (println "Native code
library failed to load."))

The file is there (I checked with an exists() call). Maybe this is an
eclipse problem, but I can do the same call in Java (in Eclipse) and
have no issues.

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


Re: Loading JNI

2011-01-03 Thread .Bill Smith
Question about your really basic example: it looks as if it will print 
"Native code library failed to load" if System/load succeeds, and otherwise 
will print nothing at all.  Is that what you intended?

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

Re: Has Clojure Fixed the Social Problem that LISP is Too Powerful?

2011-01-03 Thread pavelludiq

On Jan 3, 11:24 am, Jozef Wagner  wrote:
> Some of my arguments are:
> - Clojure has no custom reader macros, makes it easier to read others code
> - Protocols and the way clojure handles data helps to explicitly formulate
> specifications and designs
> - Fresh syntax which improves readability
> - Easy integration with familiar technologies thanks to JVM
> - Modern collection types, not just lists

I've been playing a lot with common lisp these last few months, I'll
just share my oppinion on these points:

- Reader macros. How often are they used in common lisp anyway? And
how many of these uses are abusive or inappropriate? I don't believe
this has such a great impact on clojures popularity.

- Im no expert in neither clojure protocols or CLOS, and I'd love for
someone more knowledgeable to confirm or deny my suspicions, but
aren't clojure protocols a variation on lisp generic functions, made
to fit the jvm better and give better performance? What, other than
absence of inheritance, do they give you over GFs? You can write java-
like code in CLOS, but the way I've been using it is very similar to
the way i use protocols in clojure.

- If by fresh syntax you mean reader support for vectors and hash-
tables, i agree, it's very convenient to have it built in, in common
lisp I'd have to write my own reader macros to do it. And i'd have to
document it, and tell everyone on my team to use it and not to get
confused.

- I don't believe i understand this completely, do you mean library
support? If so, i agree.

- Yes, clojures persistent collections are a huge win, and i miss them
in common lisp, although if I'm a newcomer from java, or any other
language without literal support for hash tables or arrays, or their
persistent versions, common lisp at least doesn't make your life
worse.

In my opinion, and im sure some might disagree, even though clojure
has a lot of technical advantages over other lisp dialects, and is
generally a very well designed language, its popularity is mostly the
result of exceptionally good marketing. Just look at any of Rich
Hickeys talks, he doesn't say "Clojure is an awesome language, with
these awesome features", he says "Here are these hard problems, heres
clojure's solutions".

People have used common lisp in large teams, its not inherently
unsuited for that, it just lacked the right marketing.

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


Re: Boston meetup Jan 11?

2011-01-03 Thread Tim McIver
I just added myself to that Clojure Meetup waiting list so count me
in. Any prospects on a venue yet?

Tim

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


Re: Has Clojure Fixed the Social Problem that LISP is Too Powerful?

2011-01-03 Thread Laurent PETIT
2011/1/3 Jozef Wagner 

> Our team works on big EU projects, where there are many technical partners
> from different countries cooperating. Most of our work is about choosing a
> good technology and then about customizing and integrating it into our
> system. Usually SOA, Enterprise Java and semantic web technologies are in
> place.
>
> Many people argue (and my colleagues are among them) that LISP is not
> suitable for such environments (many coders, tests and use cases, have
> to produce explicit designs and specifications e.g. because other team who
> builds on your work is in different country). They say LISP is a hacker
> language for lone warriors, not suited for big teams, where code must be
> understood by many.
>
> See also http://c2.com/cgi/wiki?LispIsTooPowerful ,
> http://c2.com/cgi/wiki?SocialProblemsOfLisp and
> http://c2.com/cgi/wiki?HackerLanguage
>
> They are IMO right if by LISP a Common Lisp is meant. But I have a feeling
> (and I want to believe) that Clojure has largely fixed this social problem
> of LISP, just like it has fixed the other big social problems of LISP,
> namely http://c2.com/cgi/wiki?LispUsersAreArrogant :)
>
> My colleagues all know and have been using LISP (in academics), we are an
> AI department after all. How can I explain them that Clojure is also useful
> for enterprise projects and big teams? Or is it not?
>
> Some of my arguments are:
> - Clojure has no custom reader macros, makes it easier to read others code
> - Protocols and the way clojure handles data helps to explicitly formulate
> specifications and designs
> - Fresh syntax which improves readability
> - Easy integration with familiar technologies thanks to JVM
> - Modern collection types, not just lists
>
> What are your thoughts? How would you argue?
>
>
Some more arguments for you:
- More opinionated, which has the interesting side effect that some
"idiomatic" clojure can emerge (using immutable as the default, managed ways
to get into the mutable world). "Common Lisp" in this area is more open to
different "styles of programming". Clojure makes one style be easier than
the others.
- It's not just about modern collection types (after all, common lisp has
these built-ins too, hash maps, etc.), it's more the way that Rich placed
the focus on abstractions first. In a nutshell "It is better to have 100
functions operate on one data structure than to have 10 functions operate on
10 data structures." - Alan J. Perlis" versus "It is better to have 100
functions operate on one data abstraction than 10 functions on 10 data
structures." (generally attributed to Rich Hickey).


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

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

Re: Has Clojure Fixed the Social Problem that LISP is Too Powerful?

2011-01-03 Thread Sergey Didenko
Clojure is extremely consise.

IMO it's very beneficial for maintaining a complex codebase and
underestimated in the corporate world.

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

Infinite recursion bug in clojure.lang.Keyword.intern()?

2011-01-03 Thread Eric Tschetter
I started getting StackOverflow exceptions today around
clojure.lang.Keyword (I'm running clojure 1.2.0, but the code doesn't
seem to be different in github master).

It looks like intern is keeping a ConcurrentHashMap of SoftReference
objects.  The problem is that when the SoftReference exists, but the
payload of the SoftReference (the thing you get from .get()) is null,
it tries to call intern again:

public static Keyword intern(Symbol sym){
Util.clearCache(rq, table);
Keyword k = new Keyword(sym);
SoftReference existingRef = table.putIfAbsent(sym, new
SoftReference(k,rq));
if(existingRef == null)
return k;
Keyword existingk = existingRef.get();
if(existingk != null)
return existingk;
//entry died in the interim, do over
return intern(sym);
}

It's counting on Util.clearCache and a ReferenceQueue at rq to clear
out objects that have been GC'd, but the documentation for
SoftReferences says:

"Suppose that the garbage collector determines at a certain point in
time that an object is softly reachable. At that time it may choose to
clear atomically all soft references to that object and all soft
references to any other softly-reachable objects from which that
object is reachable through a chain of strong references. At the same
time or at some later time it will enqueue those newly-cleared soft
references that are registered with reference queues."

This means to me that it is non-deterministic when the VM will enqueue
the reference into the ReferenceQueue, you just know that it will
happen at some point in time.  I'm assuming that my code was in a
state where the Keyword got GC'd, but that hadn't been enqueued in the
ReferenceQueue yet and thus the SoftReference wasn't cleared out of
the Map and it recursed until it got a StackOverflow.

I think a simple fix for this could be to do a "table.remove(sym,
existingRef)" right before the "return intern(sym);".  This would
ensure that the recursive call will succeed and since Util.clearCache
is doing the same call, shouldn't have any adverse side-effects.

--Eric

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


Re: Loading JNI

2011-01-03 Thread ax2groin
Of course not. I mentioned I'm new at this, right?

It seems I was doing that part right before. I'm getting
InvocationTargetException and NoClassDefFoundError, so I tried to work
my way from the start to see if I was missing something (which I
thought was a valid assumption, if exceptions were being swallowed).
My first instinct was that it wasn't loading the libraries correctly.

Or course, I'm still stuck. It clearly sees the classes, because my
import statements aren't throwing ClassNotFoundExceptions. The
exceptions I'm getting are bubbling up out of the JNI, apparently, but
I don't have any idea why. At this point I have ugly looking Clojure
code that looks as Java-like as possible, so that I'm doing the exact
same thing in the exact same order as I do in a Java example, but I
get exceptions when I do it in Clojure.

So, when I get to
(def my-client (Client.))
it throws. BTW, Java equivalent ... Client myClient = new Client();

It feels like something is fundamentally different in a way I cannot
conceive, like Java automatically handles something behind the scenes
and I don't realize it.

Thanks.

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


Re: Clojure Newbie trying to represent electrical circuit

2011-01-03 Thread Ken Wesson
On Mon, Jan 3, 2011 at 1:40 PM, MS <5lvqbw...@sneakemail.com> wrote:
> Hi, I'm new to clojure (though I've messed around in scheme a little)
> and I'm trying to represent an electrical circuit with "pins" and
> "nets" (ie in graph terminology vertices and edges).
>
> I'd like to represent the nets as {:name "net_name" :pins #{pin1 pin2
> pin3}} etc.
> I'd like to represent each pin as {:name "pin_name" :net the_net :type
> pin_type}
>
> I want to query the net for all its attached pins, and to query any
> pin to see what net it's attached to.  The problem here is that these
> are mutually-referring things.  The net refers to the pins and each
> pin refers back to the net.
>
> How do I create these without mutation?

I'd recommend something like this:

{"pin_name1" {:name "pin_name1" :net "net_name1" :type ...}
 "pin_name2" {:name "pin_name2" :net "net_name1" :type ...}
 "pin_name3" {:name "pin_name3" :net "net_name1" :type ...}

{"net_name1" {:name "net_name1"
  :pins #{"pin_name1" "pin_name2" "pin_name3"}}

Each one refers not directly to others, but simply to Strings. Which
can be used to look the others up in the two master hash maps.

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


Re: Clojure Newbie trying to represent electrical circuit

2011-01-03 Thread Miki
You might be interested in reading 
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_sec_3.3.4
(It's in Scheme, but I don't think you'll have hard time to translate).

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

Re: Clojure Newbie trying to represent electrical circuit

2011-01-03 Thread Ken Wesson
On Mon, Jan 3, 2011 at 7:13 PM, Miki  wrote:
> You might be interested in reading
> http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_sec_3.3.4
> (It's in Scheme, but I don't think you'll have hard time to translate).

It looks like this is a mutating approach (which surprises me
somewhat, since it's in Scheme).

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


Re: Clojure Newbie trying to represent electrical circuit

2011-01-03 Thread MS
thanks... actually I have the hardcopy of sicp, but it's buried
someplace.  I was hoping do divine the solution with mostly my own
brain. :)

Michael

On Jan 3, 4:13 pm, Miki  wrote:
> You might be interested in 
> readinghttp://mitpress.mit.edu/sicp/full-text/book/book-Z-H-22.html#%_sec_3.3.4
> (It's in Scheme, but I don't think you'll have hard time to translate).

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


Re: Loading JNI

2011-01-03 Thread .Bill Smith
As far as I know, Clojure doesn't talk straight JNI.  In other words, there 
isn't a Clojure equivalent to the "native" keyword in Java.  (If I'm 
mistaken about that, someone please speak up.)

Nonetheless, Clojure *can* use native libraries.  Your Clojure code can 
interact with a Java wrapper that loads a native library and declares native 
methods.  There's also JNA; if you Google for Clojure and JNA, you'll find 
examples/instructions.

Bill Smith

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

Re: Loading JNI

2011-01-03 Thread Bill Robertson
I would suggest working through simple a example in just java, just so
you can figure out how to get your dlls loaded and then calling them.
Once you work out the configuration/setup kinks I would add clojure on
top of that.

I would also suggest you use jna instead of straight up jni.  If it
fits your use-case it ought to take a lot of the hassle out.

Good luck.

On Jan 3, 5:54 pm, ax2groin  wrote:
> Of course not. I mentioned I'm new at this, right?
>
> It seems I was doing that part right before. I'm getting
> InvocationTargetException and NoClassDefFoundError, so I tried to work
> my way from the start to see if I was missing something (which I
> thought was a valid assumption, if exceptions were being swallowed).
> My first instinct was that it wasn't loading the libraries correctly.
>
> Or course, I'm still stuck. It clearly sees the classes, because my
> import statements aren't throwing ClassNotFoundExceptions. The
> exceptions I'm getting are bubbling up out of the JNI, apparently, but
> I don't have any idea why. At this point I have ugly looking Clojure
> code that looks as Java-like as possible, so that I'm doing the exact
> same thing in the exact same order as I do in a Java example, but I
> get exceptions when I do it in Clojure.
>
> So, when I get to
>     (def my-client (Client.))
> it throws. BTW, Java equivalent ... Client myClient = new Client();
>
> It feels like something is fundamentally different in a way I cannot
> conceive, like Java automatically handles something behind the scenes
> and I don't realize it.
>
> Thanks.

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


Re: osx + clojure + emacs + leiningen blog posts

2011-01-03 Thread Bill Robertson
Yes.  Very helpful.

Thanks Gaz.  Also, thanks to Phil for all of his hard work.

-Bill

On Jan 3, 10:50 am, Neo  wrote:
> Very useful info, really thanks for that. Will try later and give
> feedback.
>
>
>
>
>
>
>
> gaz jones wrote:
> > oh hi,
>
> > i put together a couple of blog posts around how i use clojure + emacs
> > + leiningen on OSX (but applies to linux too) in the hope it may help
> > someone get up and running faster:
>
> >http://blog.gaz-jones.com/post/2486737162/setting-up-clojure-developm...
> >http://blog.gaz-jones.com/post/2501842155/interactive-clojure-develop...
>
> > suggestions for improvements / things im doing crazy are welcome!
>
> > cheers
> > gaz

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


Re: osx + clojure + emacs + leiningen blog posts

2011-01-03 Thread gaz jones
hey, you're welcome. many thanks to phil, his work has made developing
clojure in (and out of) emacs pretty awesome.

btw i also did another small post on creating simple command line apps:

http://blog.gaz-jones.com/post/2528825514/command-line-applications-in-clojure

cheers,
gaz

On Mon, Jan 3, 2011 at 8:38 PM, Bill Robertson
 wrote:
> Yes.  Very helpful.
>
> Thanks Gaz.  Also, thanks to Phil for all of his hard work.
>
> -Bill
>
> On Jan 3, 10:50 am, Neo  wrote:
>> Very useful info, really thanks for that. Will try later and give
>> feedback.
>>
>>
>>
>>
>>
>>
>>
>> gaz jones wrote:
>> > oh hi,
>>
>> > i put together a couple of blog posts around how i use clojure + emacs
>> > + leiningen on OSX (but applies to linux too) in the hope it may help
>> > someone get up and running faster:
>>
>> >http://blog.gaz-jones.com/post/2486737162/setting-up-clojure-developm...
>> >http://blog.gaz-jones.com/post/2501842155/interactive-clojure-develop...
>>
>> > suggestions for improvements / things im doing crazy are welcome!
>>
>> > cheers
>> > gaz
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

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


c.c.sql 1.3.0-SNAPSHOT and lesser JDBC drivers

2011-01-03 Thread Shantanu Kumar
Hi,

I came across this when testing clojure.contrib.sql/insert-values with
JDBC-ODBC bridge driver for MS-Excel files.

c.c.sql/insert-values implementation has changed from 1.2.0 to 1.3.0-
SNAPHOT wherein it uses a PreparedStatement (in 1.3.0-
SNAPSHOT, .prepareStatement) instead of Statement
(1.2.0, .createStatement). In my test this causes to break the use-
case of inserting a new row into an Excel sheet because apparently the
Excel ODBC driver does not support the JDBC PreparedStatement
semantics.

While it has been decided to use PreparedStatement for insert-values,
it might be a good idea to introduce an alternative where the lesser
JDBC drivers can work as well.

Regards,
Shantanu

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


Re: ANN: Tom Faulhaber: "Lisp, Functional Programming, and the State of Flow" video available

2011-01-03 Thread Paul Mooser
Thanks for posting these for those of us that were not able to make it
to the conj!

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