We are in production and we fully agree, this thing should be settled
now.
In fact if it's done within 10 days, that would fit our current plans.
For reasons out of our control we have been postponing an update to
prod., we still
have a window to get this change out.
It's feasible to do the code
The second step could be Lisp to Clojure code translation (Clojure
Programming/Further Reading) and the third could be on Lisp itself
and functional language concepts if the need arises.
Reading Clojure code translates from Lisp is not so much to learn Lisp
concepts but to see how
real problems
Hey David,
do you mean that these concepts are only present in Lisp :))) ?!?!?
Good old interpreted Basic, APL, ... - dynamic global variables,
functions,
assembly languages in general, C, C++, m4, ... - macros not as cute as
Lisp maybe but still macros, some have very sophisticated
In our software, we use uppercase or +name+ as constant names.
Both Java and RUBY use uppercase, I think it's more a matter of taste
what you decide to use.
Ideally it should be obvious by looking at the name that some name is a
constant name.
Both of the above satisfy this criteria.
Luc
On
We chose to keep a naming convention for constants mainly because we are
mixing Java, Ruby
and Clojure in the same system. We have to replicate constants between
the different languages.
We needed a common anchor somehow to keep track of things and be able to
track down
changes.
We typically use
We are trying to get Clojure shared over Terracotta, not just specific
things but the whole Clojure object space
(name spaces, root values, ) except stuff that needs to remain local
(streams, ).
We take an all or nothing approach here, we would to see many Clojure
instances work as a
either have to do so on each JVM, or just restart all of
the clients.
And as I said in my article, I didn't do any work with agents, so
maybe there's a lot missing from my part of the puzzle.
Paul
On Fri, Feb 27, 2009 at 4:37 PM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
We
them removing unwanted classes from the
configuration
and tune the locking strategy as you test things.
Luc
On Fri, 2009-02-27 at 18:05 -0800, Rich Hickey wrote:
On Feb 27, 6:54 pm, Luc Prefontaine lprefonta...@softaddicts.ca
wrote:
Having the ability to redefine a function once for all
to be duplicated every time.
Paul
On Fri, Feb 27, 2009 at 9:55 PM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
You're right Rich,
We all have to agree on the means used to implement this in the Clojure
runtime.
Any code we throw right now has to be somewhat aligned
doing. I don't think it would be
normal usage to be updating the mappings and aliases in a namespace
1,000 times a second.
AtomicReference is also used in Atom and Agent. Those cases may not be
as straight forward.
Paul
On Sat, Feb 28, 2009 at 11:51 AM, Luc Prefontaine
lprefonta
cases may not
be
as straight forward.
Paul
On Sat, Feb 28, 2009 at 11:51 AM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
1) AtomicReference is used in several places. Instead of changing
it, we
.
http://www.meetup.com/The-Bay-Area-Clojure-User-Group/
On Mar 1, 8:37 am, Luc Prefontaine lprefonta...@softaddicts.ca
wrote:
We will go for a TIM. Just looked at the doc and tes that would simplify
our work a lot.
Thank you,
Luc
On Sat, 2009-02-28 at 18:48 -0800
In August, I was also struggling with laziness. As I went along my
learning curve,
I realized that much of this fog in my mind came up because I was still
taking mutability of data and side effects as normal by habit.
I had not spliced my thoughts while toggling between Java and Clojure,
something
Real time is a special application domain. I am not sure that most
people want to work
in this domain (I did for several years with VMS and a power utility).
As for start up time for small utility commands I disagree, this is
something that
could change if we start to use the hardware a bit more
it to
save us time and pain ?
BTW our internal git repositories (hosted on an XServer) respond pretty
fast on our gigabit LAN :)))
but not as fast a starting a REPL :)))
Luc
On Fri, 2009-03-06 at 14:50 -0800, Phil Hagelberg wrote:
Luc Prefontaine lprefonta...@softaddicts.ca writes:
I work
That's the whole idea, if your current coding habits are not efficient
well
changing them involves taking a risk... otherwise everyone would do it.
Humans have a tendency to stay within their comfort zone. Stretching
that bubble takes time. No change however = stagnation and eventually
It depends which SVN release you use. We pulled version 1242 and went to
production with it.
It's used in services running non stop 24/24 7 days a week. No crashes,
no glitches, ...
That's before the lazy branch became the base for all future
developments.
Of course we were expecting some
-0700, Elena wrote:
On Mar 17, 12:43 pm, Luc Prefontaine lprefonta...@softaddicts.ca
wrote:
It depends which SVN release you use. We pulled version 1242 and went to
production with it.
It's used in services running non stop 24/24 7 days a week. No crashes,
no glitches, ...
I didn't mean I
Do we have to know how Oracle deals with concurrency issues internally
in a specific application transaction when coding a database centric
application ?!?!?!
Most of the time, you do not really care about these things. You stick
to a few minimal rules
and that's it. These rules vary a bit
Why not have two behaviours from the same code base ?
There could be a strict mode versus an optimized mode.
That could allow more optimizations at run time while
having a clear trace in the code of these optimizations.
The strict mode would be slower but that should be fine when
testing.
Going
I've been doing intensive dev since 1998 and before that I was doing
both production
support and dev (in these old ages, in production support you had the
right to open
an application and fix it :))).
As others have said, Lisp is quite powerful but the real job
opportunities where
quasi
On Mon, 2009-03-23 at 14:49 -0500, Cosmin Stejerean wrote:
The fact that B is tried once concurrently with A, and is then aborted
and retried is in my opinion the same as transaction B being stuck
waiting on a lock while A is being processed, but I can see how trying
B concurrently with
I was searching for a Java alternative for our medical bus product and
looked at Scala during summer 2008.
I found it was too tied to an object model. The lack of a complete macro
system was in my view also a short coming.
I concluded that it was not a significant departure from Java. I really
Yep, looks like we where the first of hopefully many production
implementations...
It's quite funny, we are expanding the bus logic presently and without
Clojure, I wonder how much effort
and Java code it would have required us.
We store rules in a database (hey Stuart, we really need one !:))),
Aaron, we have been in production with Clojure since January 2009.
We use it to drive a message bus which is asynchronous by nature and
requires high concurrency.
It's been very stable. Our app runs 24hrs a day 7 days a week and is
fully redundant.
As far as getting Clojure resources, we have
Aaron,
We followed the same discipline. However we prefer no to wait too long
to upgrade the run times when an official release comes out
since our code base is growing as time passes by. As far as the missing
stuff, well if it's available in Java, do not hesitate, use it
from Clojure. There will
a) Stability ? Looks pretty fine to me up to now...
b) Getting 1.0 out ? Absolutely needed to increase the level of
acceptance of Clojure. Future releases will have to clearly documented
as to what they fix,
what changes have been done to the language itself and what it may
break in user
This Monday, I got a call from a friend who's working at a large US
company selling chips and scanners for id cards.
They are biding on a large contract for a foreign country and need to
provide printed samples in their
answer to this RFP. The deadline is next week.
The sample ids had to be
We did the reverse (using Spring directly from Clojure) without any
difficulty.
Never thought about creating Clojure beans however.
We had already some code to bootstrap Spring from Java.
Just called it from Clojure.
We wanted to drop Java as much as possible but did not want to loose
some of
Multiple vars can be bound to a single value. A var without a value is
qualified as being unbound.
The variable is your focus point here, you do not care much about the
value itself.
Hard to qualify a value as being unbound, it would not be a value
anymore
So I guess the relationship is
The Clojure run time throws IllegalArgumentException in a lot of
different places. It does also throw RuntimeException
in several places. It traps exceptions generically (catch (Exception e),
catch (Throwable t) ) and may have thrown a RuntimeException back
to upper layers instead of the original\
You get back into Java code and find it cumbersome, clunky, (add your
own) ... and wish you had written it in Clojure in the first place.
Then you realize that this code was written ... before Clojure was born.
Bouhouhou !!
Luc
On Fri, 2009-06-12 at 13:24 +0200, Christophe Grand wrote:
You
We have an HL7 message bus in production since January 2009 mostly
written in Clojure.
It links an Hospital Management System to services like radiology,
labs, ...
It runs in a distributed environment on clusters of several nodes.
Using Clojure we see key things that eases the pain
.
Luc
Now I still did not understand why it was not working when I was calling
the library
On Fri, 2008-10-10 at 02:45 -0700, mritun wrote:
On Oct 10, 1:46 am, Luc Prefontaine [EMAIL PROTECTED]
wrote:
I found a workaround...
I was able to register the driver using
-Djdbc.drivers
Ouf ! I'm not insane, (at least regarding this bug :)))
I just realized that when I explicitly register the driver, there are
now two instances begin added:
Clojure
user= (println (enumeration-seq (. java.sql.DriverManager getDrivers)))
([EMAIL PROTECTED]) ;; No instance registered
nil
user=
Yep, Class/forName does the job.
I like the consistency of the JVM implementations (glup !), I run on
Ubuntu wih:
java version 1.6.0_03
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
I do have the mysql jar file in my classpath
you,
Luc
On Sat, 2008-10-18 at 08:50 -0400, Rich Hickey wrote:
On Fri, Oct 17, 2008 at 8:01 PM, Luc Prefontaine
[EMAIL PROTECTED] wrote:
I am not very far from tackling this issue. In our bus messaging system, we
are using Terracotta with some Java components
and it's a matter of weeks
Montreal prov. of Québec in Canada
Luc Préfontaine
On Fri, 2008-10-17 at 11:53 +0200, Mikael Hall wrote:
I'm from sweden.
Mikael Hall
2008/10/17 Rastislav Kassak [EMAIL PROTECTED]
Hello Clojurians,
I think after 1st year of Clojure life it's good
Debugging presently with JSwat and it works fine. We have extensive
logging (javalog) and use some trace macros
from time to time.
Of course you have to get acquainted with the internal Clojure
representation as shown by the debugger but that's not a big learning
curve.
Presently we use a mix of
A StringBuilder is not a Java String... neither is it a
StringBuffer :)))
user= (string? (.toString (java.lang.StringBuilder. hello)))
true
user=
because:
user= (.getClass (java.lang.StringBuilder. hello))
java.lang.StringBuilder
and
user= (.getClass (.toString (java.lang.StringBuilder.
I never read anywhere in the documentation or in the user group that
Clojure is a Common LISP implementation.
Since it's existence, LISP has not gained a large acceptance in the
commercial market compared to other conventional programming
languages.
I started to use it 28 years ago (UCI Lisp on a
I fully agree with you Konrad.
If Clojure eases up code reading for non-Lispers while not changing the
principles behind then what's the problem ?
As far as breaking the s-expr esthetics... bof, I could not care less.
Easier here means easier to understand for non-Lispers.
They are the ones we
Ha ! Ha ! Ha !
Je sens jean-François que nous nous entendrions pas mal tous les
deux :)))
Disons que je suis habituellement plus raide dans mes emails mais je
n'osais pas :
Ici au Québec on a un organisme qui se pense supérieur à l'Académie
Française et qui s'appelle l'OLF
(Office de la
We use a synchronous layer to JMS queues implemented in Java to hook our
Clojure code to the messaging world.
Two Java classes to implement a consumer and a producer with some common
inheritance are used.
We had already some Java implementation so we just beefed it up a bit to
make more robust.
I use YAML to serialize. I needed a simple way to pass Maps, Lists and
Vector between java, Ruby and Clojure components.
I change the classes of Clojure in the YAML output to java.util.Map,
List and so on to remove dependencies
on Clojure classes while retaining the ability to walk through the
I run Java 6 on Unbuntu with an initial heap size of 500M and a maximum
of 1G.
I never use the default allocations.
$ java -version
java version 1.6.0_03
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
user= (time (nth (repeatedly
I have not yet written thousands of line of parallel code in Clojure (I
am in this learning curve as of now while experimenting with
Terracotta).
However I can compare with other frameworks I've used in the past: ASTs,
Event Flags,... on VMS,
semaphores, condition variables, mutexes, ... in
My two cents...
Comments are worse since Javadoc came to life, up to date or not.
Most of the time they do not describe the behaviour of the class in
depth and you have to get the source code
on your screen.
We replaced quality by quantity. If I want to find the signature of a
function I can
to be adapted to the
languages used today and coders have to show
some willingness to add significant comments to their code. If people
are reluctant to do this then such a tool does not
have any future :
Luc
On Wed, 2008-12-31 at 17:23 -0800, Joseph Jones wrote:
On Dec 31, 2008, at 1:29 PM, Luc
The amount of comments is difficult to balance and yes as you get more
experience, you'd rather cram
as much code lines in a screen shot as possible. 0 comments ? No that's
not good. The other extreme he shows
is also not viable. If maintaining the comments takes as much time as
maintaining the
On Tue, 2009-01-13 at 10:56 -0800, Vincent Foley wrote:
As this is a commercial project, I imagine you are quite limited in
what you can tell us, but I'd love to hear about the issues you faced
during development.
Mostly integration problems with the work flow in the radiology system.
That
user= (time (dot-product vec1 vec2))
Elapsed time: 2646.265984 msecs
114088450
user= (time (inner-product vec1 vec2))
Elapsed time: 5098.085298 msecs
114088450
Java command is:
rlwrap --remember -c -b (){}[],^%0@;:''|\
-f /home/lprefontaine/.clojure/.clj_completions
Hi Stuart,
it might be a good idea to release shell_out.clj in the SVN repository
of clojure-contrib.
I have to deal with two versions of the jar file for clojure-contrib if
I want to use lancet and preserve what I have deployed right now.
My version of clojure is not too far behind yours.
Given
No need for an official release, if shell_out.clj becomes available in
SVN (and any dependencies)
that's fine with me.
I can check the differences with the version I have checked out a few
weeks ago and find the impacts.
I only use sql from contrib intensively in production and I can test
easily
mystery solved
in this disorganized period of my life,
pre/post-production periods are always a bit awkward...
Luc
On Wed, 2009-01-28 at 09:22 +0200, Michael Wood wrote:
On Tue, Jan 27, 2009 at 11:53 PM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
No need for an official release
Paul,
I can understand the concerns about memory footprint if you work in a
restricted environment
(lack of physical memory or other system resources) or if your memory
load is very high.
However, these things are less common these days with the kind of
hardware we can buy
compared to what we
Paul sorry for the mistake, these emails are a pain to follow sometimes,
Keith,
It's up to you if you prefer to slice the Clojure features one by one
down the bone marrow,
as for myself I used a different approach to ramp up with Clojure ASAP
The need to get down to implementation details came
In 2008 I was reviewing options,
we had to move away from Java.
I choose Clojure rather than Scala,
I found Scala quite confusing.
Attempts to pour in FP notions
in an OO language looked too me
as an attempt to transplant a fifth
limb to a four limb made body.
Since then I had a few discussions
I agree entirely with Korny's
statements.
As for concrete examples ?
Hard to enumerate some, I can only
say I agree after more than 30 years
coding in various languages and
finally getting out of Java hell.
When I started there were a variety
of dynamic languages used in the
industry and given
Agree, classes are not simple
structures, they carry internal
mutable state and hidden behaviours.
Compounding mutable objects
creates a huge brittled context were
system state at any given point in
time is untraceable by a normal
human brain except in simplistic
systems.
Now you could create
This depends strictly on your learning speed which I will
not comment here :)
It took me three months full time to start to feel at ease with
Clojure writing production code and I was around 45 years
old at the time.
Learning is never inefficient... when you want to learn.
Luc P
On
Then we have more in common
than you may think :)
I learned Ruby first, went through
Scala which appeared in the same
time frame,
all this to pick up the language of
choice to replace Java and Ruby
which we used to prototype our
product.
All this took around 9 months
including the time to
I would add that you *need* to
write some code to get a feeling
about a new language.
Feature comparisons may help you up
to a certain degree. However deciding about how efficient
you may become using a new language requires you to dive at
least a bit into it. Not all brains are wired the same.
We have a good basis with
versioning.
99% of the time, workers are the
ones accessing the configuration.
They are at the top level.
It happens that they do access
configuration through
the workers service name space.
In fact through a single fn ...
Passing a version number when
pulling out a
I am kind of old school.
To me these things come through
practice...
Which I understand maybe of little
help to you in the immediate
future :)
When I was young we had
many books that had little to
do with the ones mostly
available today.
(Learn xxx in nnn days)
Looks to me that this is the
of haiku :)
On Fri, Dec 27, 2013 at 1:08 PM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
I am kind of old school.
To me these things come through
practice...
Which I understand maybe of little
help to you in the immediate
future :)
--
--
You received
We added this as part of our standard
logging, not only when exceptions
are raised. It does help a lot in prod...
Luc P.
On Dec 27, 2013, at 11:33 PM, guns wrote:
On Fri 27 Dec 2013 at 11:23:22PM -0500, Lee Spector wrote:
On Dec 27, 2013, at 11:18 PM, guns wrote:
(defmacro
I would say use macros to avoid
hiding calls from the go macro
scope.
Luc P.
I recently discovered that parking calls only work if they're directly
contained within a go block. So this works fine:
(defn foo [ch]
(go
(! ch)))
But this:
(defn bar [ch]
(! ch))
(defn foo
You are trying to close a nil
channel.
W/O the code it's all I can say :)
Did you check to make sure
you are not trying to handle nil
as a channel ?
Luc P.
Hi,
I'm getting the following error over and over again in my code, I've tried
adding in some print statement and suddenly the
This lib is a perfect fit here, we create
adapter plugins for databases
of various software suppliers.
Being able to load the queries as
resources is absolutely in line
with how we handle these plugins,
as optional configurable dynamically
loadable components.
Combined with views to return
EDN
Maybe hidden in the go macro
expanded code. I do not have access
to it (iPhone).
You may want to use macroexpand
and grep on the expansion.
Just take your go block
and wrap it in
(macroexpand '(your form))
Don't forget the quote.
Maybe the expansion will
shed some light. Do not panic
on the
Just got your email, I remember
vaguely about this issue maybe when
Tim did is presentation at fhe
Conj.
Or maybe on the mailing list.
You may try what I described
in my previous email and make
your mind about this.
Luc P.
I've changed all of the go blocks to thread and got an exception that
Wrap the read in a try catch just return nil in the catch clause
for this specific exception and wrap it in a function for ease
of use. You might want to throw up any other exceptions and
only catch this one
Luc P.
I should add: this problem arises due to cljs / clojure talking over the
be
{:tag :message
:chan ni}
rather than
nil
On Thu, Jan 16, 2014 at 1:47 AM, Luc Prefontaine
lprefonta...@softaddicts.ca wrote:
Wrap the read in a try catch just return nil in the catch clause
for this specific exception and wrap it in a function for ease
of use. You might want
Your last statement is incomplete.
It all depends on trust. We do eval at
runtime of code and data w/o edn
but we know it comes from a secured
source.
Doing such thing from an unsecured
alien source would potentially look insane. Lets not presume about
the insanity of the designer w/o some
Just joking :)
There are a bunch of golden rules
that violate on a regular basis for
good reasons.
With some satisfaction I have to
confess.
When you have a
muti purpose tool in your hands
that you can bend to almost any
use it's hard to be restrained by
taboos :)
Luc P.
Sorry Luc P.,
I cannot agree with this...
Not at 100% at least.
String manipulations are frequent
enough to mandate some tuning
if the need is obvious.
Looks to me that this is the case here.
Other core fns went through rewrites
to improve performance.
Simplicity has nothing to do with
internal
Use (apply base-fun opts)
Luc P.
I'm trying to define a couple of functions that support the same options,
but return different return types.
I have one function that is the base function that provides the most raw
access, and some other functions that call this base function and do
I would say that guidelines can help but
curiosity is mandatory.
I used to sleep with books on my
bedside table about hardware design,
operating system internals,
io subsystems, networking, ...
I did this for 15 years after I started
to work with computers.
Aside from work related stuff of
In the old days, the principle of locality was prevalent.
Most data allocation was static
or if not contiguous (the stack).
Code was also contiguous being
most of the time statically compiled
on several pages.
Memory was costly, its size remained
reasonable.
Today, data is scattered
everywhere
Compilation is mandatory before
executing anything.
By default when code is loaded it's
executed. That's how a Lisp behaves.
If you want to isolate compilation,
from execution, you can use AOT (ahead of time
compilation).
You would use this to
deliver compiled code w/o source
code, make sure
I have been using Eclipse for the last
10 years roughly. Having a polyglot
project made this choice obvious.
Now that our code base is in Clojure
at 99%, I do not feel tempted by emacs.
May give a try with LightTable
however.
I used to do most of my editing with
emacs in the 1980s, using the
My two cents...
Given that we committed to Clojure to get our product out in production,
it's something
we took into account when we decided to go forward with it. After all we
did not want to change
the core of our product in 5 years... :)))
The way Clojure dev is handled presently is for us a
I like this very much... that's the kind of clever optimizations that
preserves Clojure principles and
can yield significant performance increases. This could also help
dealing with performance critics
in these small mutable languages benchmarks that newbies attempt to
clone in Clojure.
Thank's
A bit of history (or archaeology ?)
We are now back to the old times were we used to struggle about comments
in the code.
When I started coding, code was self-understandable according to the
legend, especially assembly code.
If you could not understand the code without comments, you did not even
-var*,...)
Luc
On Sun, 2009-08-09 at 17:47 +0100, Lauri Pesonen wrote:
2009/8/8 Luc Prefontaine lprefonta...@softaddicts.ca:
I totally agree no comments is not good at all but JavaDoc style comments in
Clojure ? I pray you all, please stay away of it :
I was quite taken by this scheme
Ahem, does it have to be as fast as Java ?
The way I see it, it's the same issue we dealt with languages like
Fortran, Cobol, ...
At some point, the only way to speed programs was to find hot spots and
replaces
these with faster code, mainly written in assembler or another language
suited to
the
C++ has nothing to do with my previous statement. C++ is object
oriented. It's plagued with similar
problems than Java in terms of performance.
I was talking about writing the machine code by hand, not relying on a
compiler's optimizer to do so.
C is a bit better than C++ but if you use a cross
We looked at Scala in summer 2008... we were very tired of data typing
in general and OOP (specifically Java).
We did not find any comfort in Scala regarding these aspects.
Concurrencent processing in Scala did not enthusiast us either.
We wanted a significant code compression factor compared to
Hi guys,
Am I missing something here?
We define SWING listeners with proxies and find that it's already short
in terms of code lines:
(.addMouseListener
(proxy [MouseAdapter] []
(mouseClicked [event]
(if (= 2 (.getClickCount event))
(display-details
It could be handy to have this shortcut implemented as you suggest.
Solving ambiguities may be done through an explicit proxy or with some
meta data to point to the proper
method match.
Luc
On Mon, 2009-08-31 at 19:34 -0700, Timothy Pratley wrote:
If I understand correctly it could be
Hi John,
Clj-record will make its way into production in a couple of weeks.
It's been working flawlessly in high volume tests here.
We added an adapter on our medical message bus to capture historical
census data in messages. It records patient visits, employees dealing
with patients, service
We mainly use macros to create functions to deal with associations,
a bit like ActiveRecord except that it is not yet as dynamic. We do not
use the table meta data to find the associations
and create the finders, etc...
We want eventually to add stuff to clj-record to make it more like
Félicitations Rich :)))
Clojure has now a toe in the biometric market.
A friend called me in August, he needed a quick integration software to
generate data to feed
two slave factories to get id cards and passports printed and wrap a
bunch of tools
to get consequent biometric data to be burned
If the Java layers are not already thread safe, you are facing a real
problem if you just try to layout some Clojure code on top of them...
You would have to be careful about isolating chunks that are thread safe
then look at what's left.
The difficulty then would be to find a way to introduce
Lisp syntax needs some fixing ?
It's not April 1st yet or did I hibernate through winter suddenly ?
I'll run to the window to see if my tulips
are out
:)))
Luc
Sent from my iPod
On Dec 24, 2009, at 1:58 PM, kaveh_shahbazian kaveh.shahbaz...@gmail.com
wrote:
Well; this is a fun
Nothing new has been invented in software for the last 40 years...
Mostly recycling of existing concepts with (sometimes) improvements.
Since most people are not reading about the history of computers and
software they are under the impression that the stuff they deal with
is brand new.
Of
Create a Java package arie under src and move your source file there.
Luc
Sent from my iPod
On 2010-01-04, at 11:16 AM, Arie van Wingerden xapw...@gmail.com
wrote:
Hi,
i am playing with Clojure in the latest version of the
Counterclockwise IDE
and encounter a problem when compiling:
Either would be fine (week/weekend) for me. As for the location, being
in the Montreal area, I am not fan of the west coast...
Travelling by plane these times is painful enough, spending more time
in these flying cans is not my first choice.
If it could be held near a big flight hub
On Sat, 2 Jul 2011 18:26:21 -0700
Mark Engelberg mark.engelb...@gmail.com wrote:
Ideally, I was hoping to start a more in-depth discussion about the
pros and cons of programming in the large in Clojure than just
waxing poetic about Clojure/Lisp's capabilities in the abstract :)
Yes, much of
1 - 100 of 270 matches
Mail list logo