Re: Fully lazy sequences are coming - feedback wanted!

2009-02-16 Thread Luc Prefontaine
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

Re: how to learn clojure ?

2009-02-19 Thread Luc Prefontaine
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

Re: how to learn clojure ?

2009-02-19 Thread Luc Prefontaine
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

Re: Clojure Naming Conventions

2009-02-21 Thread Luc Prefontaine
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

Re: Clojure Naming Conventions

2009-02-21 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-02-27 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-02-27 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-02-27 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-02-28 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-02-28 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-03-01 Thread Luc Prefontaine
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

Re: Clojure + Terracotta = Yeah, Baby!

2009-03-01 Thread Luc Prefontaine
. 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

Re: Laziness madness

2009-03-02 Thread Luc Prefontaine
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

Re: What is Clojure NOT good for?

2009-03-06 Thread Luc Prefontaine
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

Re: What is Clojure NOT good for?

2009-03-06 Thread Luc Prefontaine
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

Re: What is Clojure NOT good for?

2009-03-10 Thread Luc Prefontaine
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

Re: I got to use Clojure at work today !!!

2009-03-17 Thread Luc Prefontaine
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

Re: I got to use Clojure at work today !!!

2009-03-17 Thread Luc Prefontaine
-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

Re: Clojure STM and deadlocks

2009-03-17 Thread Luc Prefontaine
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

Re: Slash mystery

2009-03-19 Thread Luc Prefontaine
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

Re: March 20th 2009 Rich Hickey Appreciation Day!

2009-03-21 Thread Luc Prefontaine
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

Re: STM and useful concurrency

2009-03-23 Thread Luc Prefontaine
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

Re: Scala vs Clojure

2009-03-31 Thread Luc Prefontaine
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

Re: A large Clojure deployment

2009-04-08 Thread Luc Prefontaine
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 !:))),

Re: Is Clojure production ready?

2009-04-16 Thread Luc Prefontaine
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

Re: Is Clojure production ready?

2009-04-16 Thread Luc Prefontaine
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

Re: The Path to 1.0

2009-04-17 Thread Luc Prefontaine
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

Clojure to the rescue....

2009-05-22 Thread Luc Prefontaine
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

Re: Spring and Clojure

2009-06-03 Thread Luc Prefontaine
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

Re: Silly question from Programming Clojure

2009-06-04 Thread Luc Prefontaine
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

Re: catching exception error

2009-06-11 Thread Luc Prefontaine
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\

Re: You know you've been writing too much Clojure when...

2009-06-12 Thread Luc Prefontaine
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

Re: What are people using Clojure for?

2009-06-18 Thread Luc Prefontaine
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

Re: Casting java arguments...

2008-10-14 Thread Luc Prefontaine
. 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

Re: Casting java arguments...

2008-10-16 Thread Luc Prefontaine
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=

Re: Casting java arguments...

2008-10-16 Thread Luc Prefontaine
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

Re: Clojure + Terracotta

2008-10-18 Thread Luc Prefontaine
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

Re: offtopic - where are you come from? (poll)

2008-10-20 Thread Luc Prefontaine
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

Re: Using a Java Debugger with Clojure

2008-10-29 Thread Luc Prefontaine
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

Re: (string?) bug

2008-11-08 Thread Luc Prefontaine
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.

Re: Clojure for LISP programmers....

2008-11-16 Thread Luc Prefontaine
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

Re: Clojure for LISP programmers....

2008-11-17 Thread Luc Prefontaine
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

Re: French translation of the Clojure rationale

2008-11-23 Thread Luc Prefontaine
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

Re: JMS and Clojure?

2008-11-24 Thread Luc Prefontaine
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.

Re: Serializing Clojure objects

2008-12-02 Thread Luc Prefontaine
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

Re: memory issue with nth

2008-12-06 Thread Luc Prefontaine
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

Re: How to encapsulate local state in closures

2008-12-31 Thread Luc Prefontaine
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

Re: making code readable

2008-12-31 Thread Luc Prefontaine
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

Re: making code readable

2008-12-31 Thread Luc Prefontaine
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

Re: making code readable

2009-01-01 Thread Luc Prefontaine
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

Re: Clojure now running in production

2009-01-13 Thread Luc Prefontaine
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

Re: Parallel inner product

2009-01-26 Thread Luc Prefontaine
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

Re: lancet can now build itself!

2009-01-27 Thread Luc Prefontaine
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

Re: lancet can now build itself!

2009-01-27 Thread Luc Prefontaine
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

Re: lancet can now build itself!

2009-01-27 Thread Luc Prefontaine
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

Re: Memory Consumption of Large Sequences

2009-02-02 Thread Luc Prefontaine
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

Re: Memory Consumption of Large Sequences

2009-02-02 Thread Luc Prefontaine
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

Re: Is Clojure more functional then Scala?

2013-12-16 Thread Luc Prefontaine
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

Re: How to go about 'proving' why dynamically typed languages are better.

2013-12-23 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-26 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-26 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-27 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-27 Thread Luc Prefontaine
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.

Re: Namespaces [was Re: Is Clojure right for me?]

2013-12-27 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-27 Thread Luc Prefontaine
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

Re: Is Clojure right for me?

2013-12-27 Thread Luc Prefontaine
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

Re: In your opinion, what's the best, and what's the worst aspects of using Clojure?

2013-12-30 Thread Luc Prefontaine
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

Re: core.async - extracting code from a go block

2013-12-31 Thread Luc Prefontaine
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

Re: clojure.core.async java.lang.IllegalArgumentException

2014-01-07 Thread Luc Prefontaine
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

Re: [ANN] Yesql 0.3.0 - Clojure SQL queries rethought.

2014-01-07 Thread Luc Prefontaine
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

Re: clojure.core.async java.lang.IllegalArgumentException

2014-01-07 Thread Luc Prefontaine
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

Re: clojure.core.async java.lang.IllegalArgumentException

2014-01-07 Thread Luc Prefontaine
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

Re: clojure.edn/read-string exceptions = nil

2014-01-16 Thread Luc Prefontaine
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

Re: clojure.edn/read-string exceptions = nil

2014-01-16 Thread Luc Prefontaine
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

Re: Security implications of code is data/data is code

2014-01-21 Thread Luc Prefontaine
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

Re: Security implications of code is data/data is code

2014-01-22 Thread Luc Prefontaine
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.,

Re: Clojure performance question

2014-03-02 Thread Luc Prefontaine
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

Re: Sharing optional arguments among functions

2014-03-17 Thread Luc Prefontaine
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

Re: STM and persistent data structures performance on mutli-core archs

2014-03-17 Thread Luc Prefontaine
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

Re: STM and persistent data structures performance on mutli-core archs

2014-03-17 Thread Luc Prefontaine
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

Re: Clojure compiletime vs runtime

2014-04-15 Thread Luc Prefontaine
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

Re: Light table

2014-04-17 Thread Luc Prefontaine
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

Re: Clojure without Rich Hickey

2009-08-03 Thread Luc Prefontaine
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

Re: Transient Data Structures

2009-08-05 Thread Luc Prefontaine
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

Re: Clojure as a First Language

2009-08-07 Thread Luc Prefontaine
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

Re: Commenting Code (Was: Re: Clojure as a First Language)

2009-08-10 Thread Luc Prefontaine
-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

Re: Can Clojure be as fast as Java?

2009-08-11 Thread Luc Prefontaine
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

Re: Can Clojure be as fast as Java?

2009-08-11 Thread Luc Prefontaine
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

Re: clojure vs scala

2009-08-26 Thread Luc Prefontaine
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

Re: Easily add a Java Listener

2009-08-31 Thread Luc Prefontaine
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

Re: Easily add a Java Listener

2009-08-31 Thread Luc Prefontaine
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

Clj-record

2009-09-01 Thread Luc Prefontaine
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

Re: Modeling Data Associations in Clojure?

2009-09-14 Thread Luc Prefontaine
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

Re: Clojure is two!

2009-10-22 Thread Luc Prefontaine
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

Re: Clojure in a big Java solution

2009-10-23 Thread Luc Prefontaine
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

Re: Fixing Lisp

2009-12-24 Thread Luc Prefontaine
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

Re: Language similarities

2009-12-29 Thread Luc Prefontaine
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

Re: Counterclockwise problem when compiling

2010-01-04 Thread Luc Prefontaine
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:

Re: Clojure Conference Poll

2010-01-22 Thread Luc Prefontaine
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

Re: Clojure for large programs

2011-07-02 Thread Luc Prefontaine
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   2   3   >