+1 Swing with caveats
Will Swing itself continue to receive serious backing from Oracle?
Will they get JavaFX to do everything Swing can and then deprecate
Swing (if not officially then in practice?) It really depends on
Netbeans. All the L&F issues and other minor ones got attention when
Sun bega
Ah, thank you - I still shy away from looking into Richs sources, but
here it helps: Ratio doesn't have getter for numerator and denominator
- they are just public ;-)
Being final thats okay of course.
So. Whether this helps, I dont know too. I still dont have the lever,
but now I have a point to
Hi,
I got a very basic question about the concept of "special form". What
is correct, multiple selections allowed:
[ ] A special form is what can be implemented by a macro.
[ ] Every macro gives a special form.
[ ] Only a macro that doesn't evaluate some of its arguments gives a
special form
Sina K. Heshmati wrote:
> Meikel Brandmeyer wrote:
>> Am 30.05.2010 um 16:39 schrieb Sina K. Heshmati:
>>
> I'll later try to see if I can export datatypes from within a closure.
The atomic 'state' doesn't seem to be visible to the datatype methods. The
question is why?
(defprotocol prot-a
(op
Hi,
On May 31, 9:37 am, "Sina K. Heshmati" wrote:
> The atomic 'state' doesn't seem to be visible to the datatype methods. The
> question is why?
>
> (defprotocol prot-a
> (op-a [self x y]))
>
> (let [state (atom 10)]
> (deftype t-a [member]
> prot-a
> (op-a [self x y]
> (+ (.
Is that let expression helps?
(let [word (*cfg* :word)]
(filter #(= word %) [ "tom" "eat" ]))
or this is exactly the same
(filter #(= (*cfg* :word) %) [ "tom" "eat" ])
note that *cfg* is a thread binded hash map
--
You received this message because you are subscribed to the Google
Groups "
On 31 May 2010, at 09:35, alux wrote:
I got a very basic question about the concept of "special form". What
is correct, multiple selections allowed:
[ ] A special form is what can be implemented by a macro.
Wrong. You cannot implement a Lisp-like language with just macros and
functions. At
On 31 May 2010, at 10:28, Michael Jaaka wrote:
Is that let expression helps?
(let [word (*cfg* :word)]
(filter #(= word %) [ "tom" "eat" ]))
or this is exactly the same
(filter #(= (*cfg* :word) %) [ "tom" "eat" ])
note that *cfg* is a thread binded hash map
The two expressions are equiva
On May 31, 10:35 am, alux wrote:
> [ ] A special form is what can be implemented by a macro.
That depends. My understanding is that a special form is something
that is "fundamental" to the language, that the evaluator handles as a
special case. That is, they need to be implemented in the compil
Hi,
On May 31, 10:43 am, Konrad Hinsen wrote:
> The two expressions are equivalent. However, there is a difference
> when you use let outside of a function definition:
I disagree. The two expressions are not equivalent and you actually
provide the explanation, why they are not. The defn does
"Meikel Brandmeyer" said:
> On May 31, 9:37 am, "Sina K. Heshmati" wrote:
>
>> The atomic 'state' doesn't seem to be visible to the datatype methods. The
>> question is why?
>>
>> (defprotocol prot-a
>> (op-a [self x y]))
>>
>> (let [state (atom 10)]
>> (deftype t-a [member]
>> prot-a
>>
Hi,
On May 31, 10:58 am, "Sina K. Heshmati" wrote:
> foo.datatype-01 => (reset! state 13)
^^^
Again: of course you can! You are in the same namespace! In Clojure
the "unit" is a namespace and not a type. If you want this level
privateness you have to use one namespace per type. Ho
Hello Konrad, many thanks, that clarifies it!
So, in "A special form is always built in, and cannot be implemented
in the language itself." the first part is true, the second is not.
Like most lisps have a bilt in list-reverse for speed reasons.
In that case, this build in thing is a special form
We would definitely be interested in using something like this for
Project Overtone. (http://project-overtone.org) We have already
migrated from directly using Swing with the built-in Java interop, to
creating a thin layer of clojure functions to trim out the boiler
plate, to now wishing we had so
On 31 May 2010, at 11:08, alux wrote:
Hello Konrad, many thanks, that clarifies it!
So, in "A special form is always built in, and cannot be implemented
in the language itself." the first part is true, the second is not.
Like most lisps have a bilt in list-reverse for speed reasons.
In that cas
On 31 May 2010, at 10:53, Meikel Brandmeyer wrote:
The two expressions are equivalent. However, there is a difference
when you use let outside of a function definition:
I disagree. The two expressions are not equivalent and you actually
provide the explanation, why they are not. The defn does
Hello,
I would like to make that eval see context of the caller block.
In the example:
(defn my-if [a b c]
(let [z (name (gensym)) t (symbol (str z "true")) f (symbol (str z
"false")) ]
(def t (fn[] b))
(def f (fn[] c))
(def mycond (boolean
Thanks, I just wanted to know if keyword hashmap is evaluated on each time.
You have answered my question. Thanks again.
--
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
"alux" said:
> I got a very basic question about the concept of "special form". What
> is correct, multiple selections allowed:
>
> [ ] A special form is what can be implemented by a macro.
Wrong. Macros cannot remove the need for special-forms, at least not in a real
interpreter. In a metaci
"Sina K. Heshmati" said:
> "alux" said:
>
>> I got a very basic question about the concept of "special form". What
>> is correct, multiple selections allowed:
>>
>> [ ] A special form is what can be implemented by a macro.
>
> Wrong. Macros cannot remove the need for special-forms, at least no
On May 31, 12:03 pm, Michael Jaaka
wrote:
> Hello,
>
> I would like to make that eval see context of the caller block.
> In the example:
>
> (defn my-if [a b c]
> (let [z (name (gensym)) t (symbol (str z "true")) f (symbol (str z
> "false")) ]
> (def t (fn[] b))
>
Well, this is just an example.
I need to refer to global vars from eval.
One solution is to define these vars in eval form,
but I would like to omit that step.
On 31 Maj, 12:53, Joost wrote:
> On May 31, 12:03 pm, Michael Jaaka
> wrote:
>
> > Hello,
>
> > I would like to make that eval see conte
On May 31, 1:11 pm, Michael Jaaka
wrote:
> Well, this is just an example.
> I need to refer to global vars from eval.
You can do that already:
user> (def bla "foo bar")
#'user/bla
user> bla
"foo bar"
user> (eval 'bla)
"foo bar"
user>
It's just not a good idea.
--
You received this message be
Hmmm, I have just missed on thing.
The problems comes when evaluation is in another thread.
(defn sleep[n] (Thread/sleep n))
(future
(eval (load-string "((fn[] (sleep 100) (println \"wowo\")) )") ))
The solution is:
(defn sleep[n] (Thread/sleep n))
(let [a (get-thread-bindings) ]
(future
(wi
"Meikel Brandmeyer" said:
> On May 31, 10:58 am, "Sina K. Heshmati" wrote:
>
>> foo.datatype-01 => (reset! state 13)
> ^^^
>
> Again: of course you can! You are in the same namespace! In Clojure
> the "unit" is a namespace and not a type. If you want this level
> privateness you h
Hi,
On May 31, 1:46 pm, "Sina K. Heshmati" wrote:
> Here's my concern:
>
> - My program (A) is running.
> - B is running on the same VM.
> - B accesses the state of A.
> - B alters the state of A in an inconsistent way
> e.g. whenever the internal state x changes, the
> internal state y also
I'd like to have clojure *not* `(load x)` where x is at least:
clojure.zip, clojure.xml, clojure.set
when starting clojure up. I didn't really find any place in the
clojure code where I could do that except remove the entire subsystem
from the ant build.xml.
Anyone knows how to solve this? Is there
Problem solved, see below.
Meikel Brandmeyer wrote:
> On May 31, 1:46 pm, "Sina K. Heshmati" wrote:
>
>> Here's my concern:
>>
>> - My program (A) is running.
>> - B is running on the same VM.
>> - B accesses the state of A.
>> - B alters the state of A in an inconsistent way
>> e.g. whenever
+1 for swing
On Thu, May 27, 2010 at 8:48 PM, Luke VanderHart
wrote:
> My side project is a fairly complex GUI application written in
> Clojure. Recently, I've become irritated with using Java interop for
> everything. It's not that Clojure doesn't have nice java interop - it
> does. It's just th
In fact, keywords are not symbols. So thats why you were wrong.
You can read about in on the page http://clojure.org/lisps
--
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 f
Hi,
On May 31, 3:15 pm, "Sina K. Heshmati" wrote:
> True but my main concern is security of a running application.
> It could very well be that B is just a bunch of interactions,
> in which case B can enter A's namespace.
??? I'm not sure I understand. How can B "enter" the namespace
of A? If y
in case, you want to abstract over swing ...
there is this guy from germany: Karsten Lentzsch. he is author of
http://www.jgoodies.com/ and has incredible knowledge about swing
and esp. in abstracting over swing.
He knows all the strongs and weaknesses of swing and beeing involved
in http://www.j
Hi all,
I made a little extension for google chrome. It allows to start try-
clojure REPL via clicking on toolbar button. Also it grabs selected
text and evaluates it in REPL.
Feel free to comment, report bugs and suggestions.
/Sergey
--
You received this message because you are subscribed t
On 31 May 2010 06:12, Zak Wilson wrote:
> The trouble with pmap is that it only works well with a slow function
> and a short sequence. In trivial tests, it seems to be best if the
> sequence has as many elements as you do cores.
>
> I've been experimenting with things that are like pmap, but work
On 31 May 2010 07:48, alux wrote:
> Hello Glen, good hint. Problem and solution reproduced ;-)
Yes, it looks like Clojure's (comment ...) form requires the contents
of the comment to be syntactically correct Clojure forms. As Glen
says, forward slashes seem to work - although personally, I dislik
Hi,
I've started learn Clojure. While I am writing some functions I was
getting the java.lang.Boolean cannot be cast to clojure.lang.IFn. I
was wondering if somebody could help me to move on:
; for testing
(def sudoku ( sorted-map '[1 1] '(98) '[1 2] '(123) '[2 1] '(56789)
'[2 2] '(456)))
(def val
+1 swing. Even if the resulting applications are as ugly as sin, a
working, idiomatic implementation gives us a reference point from
which to dream up better futures.
On Sun, May 30, 2010 at 10:38 PM, Antony Blakey wrote:
>
> On 31/05/2010, at 2:27 PM, James Cunningham wrote:
>
>>
>>
>> On May 30
Let the best decider of a GUI toolkit be based on pragmatism and
design philosophy.
To that end Swing wins.
Clojure runs on JVM and takes advantage of anything Java that it does
not provide for in a Lispy way.
Swing is just another one of those things automatically there, which
can have a nice la
Makes sense.
--
Paul Hobbs
On Sat, May 29, 2010 at 11:51 PM, Eugen Dück wrote:
> Paul,
>
> I already gave a minimal example of the code it makes simpler, i.e.
> work in the first place:
>
> (apply interleave some-colls)
>
> I ran into this a couple of times, and wrote my own variant of
> interl
On 2010/05/31 14:25, MHOOO wrote:
> I'd like to have clojure *not* `(load x)` where x is at least:
> clojure.zip, clojure.xml, clojure.set
> when starting clojure up. I didn't really find any place in the
> clojure code where I could do that except remove the entire subsystem
> from the ant build.
Maybe Clojure uses the term "special form" differently than Common
Lisp does, but here's how to think of "special form" in the Common
Lisp sense.
A form that is *NOT* a special form like (F A B C D ...) will either
evaluate:
1. (SYMBOL-FUNCTION F), then A, B, C, D, ... in order from left-to-
righ
That was interesting.
One more Q.
What determines whether special forms can be used in functions eg you
can't def a variable in a fn.
Is it there some rule or is it special form specific depending on
(a) the intended use of the special form
(b) the mechanics of getting the compiler to use the sp
On May 31, 4:35 pm, Quzanti wrote:
> That was interesting.
>
> One more Q.
>
> What determines whether special forms can be used in functions eg you
> can't def a variable in a fn.
You can:
user> (defn fun [v] (def my-v v))
user> (fun 'a)
user> my-v
a
user> (fun 'b)
user> my-v
b
I'm not aware
On May 31, 2:11 pm, garyk wrote:
> Hi,
> I've started learn Clojure. While I am writing some functions I was
> getting the java.lang.Boolean cannot be cast to clojure.lang.IFn. I
> was wondering if somebody could help me to move on:
>
> ; for testing
> (def sudoku ( sorted-map '[1 1] '(98) '[1 2]
Oh, and you code throws "clojure.lang.PersistentVector cannot be cast
to java.lang.Number
[Thrown class java.lang.ClassCastException]" for me.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.
We are willing to put some time into this at our end.
We are in the process of replacing our Java desktop apps by Clojure apps.
Removing Java code is a mid-term goal that we want to keep in our scope
as we move on.
Anything to reduce code size is a welcomed.
How and when do we start this ?
Luc P
On Mon, May 31, 2010 at 14:11, garyk wrote:
> Hi,
> I've started learn Clojure. While I am writing some functions I was
> getting the java.lang.Boolean cannot be cast to clojure.lang.IFn. I
> was wondering if somebody could help me to move on:
>
> ; for testing
> (def sudoku ( sorted-map '[1 1] '(
Meikel Brandmeyer wrote:
> On May 31, 3:15 pm, "Sina K. Heshmati" wrote:
>
>> True but my main concern is security of a running application.
>> It could very well be that B is just a bunch of interactions,
>> in which case B can enter A's namespace.
>
> ??? I'm not sure I understand. How can B "
Number of CPUs + 2 is what pmap uses, and I assumed the idea was to
keep all the CPUs busy in the event that one finishes before the
others. I wrote it before I did testing with npmap. Since reading your
last post, I did a bit of testing with modified versions of zpmap and
found that it isn't makin
Are you sure that always works?
I think I am misunderstanding Halloway's Taxonomy of Macro's chapter
defstruct is written as a macro and Stuart then comments
"This macro looks so simple that you may be tempted to try to write it
as a function. You won't be able to because def is a special form.
Hi people!
Nice explanation, about the difference of "special form" in Clojure, vs
other Lisp.
I remember (Queinnec Lisp?):
lambda: to make "normal functions"
mlambda: to make "macros" (something that produce a form, and then, evaluate
that result)
flambda: spread, non evaluation of parameters
n
On Fri, May 28, 2010 at 12:20 PM, Rubén Béjar wrote:
> Hi again,
>
> I have tried a few more things:
>
> I have done the same in Java but using an array
> of Integers, instead of an array of ints. It just takes
> 78 ms. (more than 16, still far less than 4 secs).
>
> I have also tried with an up
On Sun, May 30, 2010 at 3:49 PM, Rubén Béjar wrote:
>
> is not very precise with that short periods of time) and in Clojure the
> 2000x2000 CA
> is updated in 98 secs some times and up to 150 s. other times (the 500x500
> was 4 secs),
When numbers fluctuate like that I'm pretty sure you're hitt
Hi,
On Mon, May 31, 2010 at 07:34:24AM +0200, Sina K. Heshmati wrote:
> > (defn make-module
> > []
> > (let [state (atom 0)
> > say-hello (fn [] (println "Hello"))
> > public-op (fn [x y] (+ @state x y))]
> > (fn [op]
> > (case op
> > :hello say-hello
> >
Hi,
On Mon, May 31, 2010 at 10:21:14AM -0700, Quzanti wrote:
> Are you sure that always works?
>
> I think I am misunderstanding Halloway's Taxonomy of Macro's chapter
>
> defstruct is written as a macro and Stuart then comments
>
> "This macro looks so simple that you may be tempted to try to
On May 31, 7:54 pm, Meikel Brandmeyer wrote:
> It works sometimes. Of course you can redef a Var via function.
>
> (defn foo [y] (def x y))
> (foo 5)
>
> However, you cannot define arbitrary Vars.
>
> (defn bar [x y] (def x y))
> (bar 'c 5)
True, but that's more a question of the interface provid
On May 31, 8:14 pm, Joost wrote:
>
> True, but that's more a question of the interface provided by def. The
> real problem is that if you want to access the vars defined by that
> function anywhere else, they need to be defined (if not initialized)
> before you can compile the code. Meaning you ei
So I don't understand if there any way do it. I'm really curious about
it.
--
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
On May 31, 12:18 am, alux wrote:
> Ah, thank you - I still shy away from looking into Richs sources, but
> here it helps: Ratio doesn't have getter for numerator and denominator
> - they are just public ;-)
Ha! A blindspot due to writing idiomatic java for far too long.
>
> Being final thats
Missing link
https://chrome.google.com/extensions/detail/lhmgejcdhmollecbianopflcfdaennle
;)
On 31 май, 16:04, sergey-miryanov wrote:
> Hi all,
>
> I made a little extension for google chrome. It allows to start try-
> clojure REPL via clicking on toolbar button. Also it grabs selected
> text a
I was wondering which tutorial I should use to get started with
compojure on google app engine. There seem to be a bunch of them but
they target old versions or slightly old versions. Which one should I
use?
--
You received this message because you are subscribed to the Google
Groups "Clojure" gr
On May 30, 12:51 am, Eugen Dück wrote:
> How often do you do:
> (+ 5)
> or
> (* 3)
>
> ? But you might have used something like
> (apply + coll)
> or
> (reduce + coll)
>
> and under certain circumstances your coll might have had only one
> element.
This is a good line of reasoning. Let's add an e
On May 31, 10:07 pm, Daniel Werner
wrote:
> quantitative logic
That should have been "quantification logic".
--
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 membe
Yep, know that, been there ;-))
On 31 Mai, 21:39, ataggart wrote:
> On May 31, 12:18 am, alux wrote:
>
> > Ah, thank you - I still shy away from looking into Richs sources, but
> > here it helps: Ratio doesn't have getter for numerator and denominator
> > - they are just public ;-)
>
> Ha! A bli
Hi Аркадий,
I started another thread about the difference between special form and
macros today - and got told that it is not possible to overwrite a
special form.
Regards, alux
On 31 Mai, 21:15, "Ark. Rost" wrote:
> So I don't understand if there any way do it. I'm really curious about
> it.
Hi Meikel,
Meikel Brandmeyer wrote:
> On Mon, May 31, 2010 at 07:34:24AM +0200, Sina K. Heshmati wrote:
>
>> > (defn make-module
>> > []
>> > (let [state (atom 0)
>> > say-hello (fn [] (println "Hello"))
>> > public-op (fn [x y] (+ @state x y))]
>> > (fn [op]
>> > (
try-clojure.org seems to redirect to http://blog.licenser.net/ ??
On Mon, May 31, 2010 at 11:22 AM, sergey-miryanov
wrote:
> Missing link
> https://chrome.google.com/extensions/detail/lhmgejcdhmollecbianopflcfdaennle
> ;)
>
> On 31 май, 16:04, sergey-miryanov wrote:
>> Hi all,
>>
>> I made a l
Also the extension did not seem to work reliably on Chrome 5.0.375.55
beta on Mac OS X. Sometimes clicking the button did not open the
popup, sometimes it opened it blank. In most cases it spun up CPU to
near 100%. Only once did it open with the REPL on www.try-clojure.org
- but it is a cool idea!
The problem is known and in work, the background is that not all of the DNS
entries can be configured directly a request with the DNS provider (which also
hosts my blog) is already filed so I can't say how long this takes :).
Best regards,
Heinz N. Gies aka Licenser
On Jun 1, 2010, at 1:28 , Sea
Good to know. I'll reinstall it and look forward to using it once DNS
has propagated (if that's what's causing the problems with the
extension)...
On Mon, May 31, 2010 at 4:41 PM, Heinz N. Gies wrote:
> The problem is known and in work, the background is that not all of the DNS
> entries can be
Now that would be a fantastic topic for one of Sean Devlin's Full Disclojure
videocasts!!!
(just a subtle hint from a Full Disclojure fan...;-) )
-Frank.
On May 31, 2010, at 12:33 PM, Zitterbewegung wrote:
> I was wondering which tutorial I should use to get started with
> compojure on google
Hi!
Here it is:
(reduce + '()) gives 0
(reductions + '()) gives java.lang.IllegalArgumentException: Don't
know how to create ISeq from: java.lang.Integer
So reductions not always returns a sequence of intermediate values of
the reduction.
Thanks!
--
You received this message because you are
Hi!
I created a new project using 'lein new " and then
modified the project.clj file to look like this -
(defproject datastructures "1.0.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]
I've been using Swing. But, one thing to consider is that many (most?)
big applications use extension libraries such as JIDE (https://jide-
oss.dev.java.net/), SwingX (https://swingx.dev.java.net/) or Flamingo
(https://flamingo.dev.java.net/). They contain extra widgets that have
their own extra AP
Hi,
this is already filed:
http://www.assembla.com/spaces/clojure/tickets/362-incorrect-result-of-reductions-for-empty-input-sequences
Sincerely
Meikel
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@goog
Hi,
On Jun 1, 4:16 am, looselytyped wrote:
> For some reason, the 'show' function from clojure.contrib.repl-utils
> does not work. In fact the only completions I get when trying to get
> to repl-* are
>
> clojure.contrib.repl-ln
> clojure.contrib.repl_ln
Did you (require 'clojure.contrib.repl-l
Looks like a bug in reductions? The lazy-seq macro expects something
the implements ISeq, but the result of (+) is 0. Not sure if this is
the right fix, but it works.
(defn reductions
"Returns a lazy seq of the intermediate values of the reduction (as
per reduce) of coll by f, starting with
to achieve something a bit "thicker" that could insulate the user from
Java classes completely. The user wouldn't even have to know Swing or
handle JObjects or worry about the event thread... In other words, it
wouldn't be a wrapper API for Swing, but a Clojure GUI api that,
coincidentally, is /
@Richard
>> 1. In case coll is a LazySeq why does (seq coll) realize its first
>> element? I thought seq just did a type conversion and all of list,
>> vector .. etc implemented Seqable or something.
> Because seq is defined as returning nil for an empty sequence. The
> only way to find that out
79 matches
Mail list logo