thy
On Wed, Jun 23, 2010 at 3:26 PM, Daniel Werner
wrote:
> On Jun 22, 7:57 pm, Timothy Baldridge wrote:
>> system it uses. Has anyone tried marrying the two system systems to
>> create a truly persistent data primitive where any "updates" to a map
>> is written t
"1. a string/text type"
*cough * Erlang *cough *
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 po
that what you mean? Is Erlang a good or bad example of this?
>
> On Jun 27, 1:11 pm, Timothy Baldridge wrote:
>> "1. a string/text type"
>>
>> *cough * Erlang *cough *
>>
--
You received this message because you are subscribed to the Google
Groups
Okay, I have a fairly complex app I'm thinking of converting to
clojure as a way to learn how clojure works. Here's how the basic
structure of the app works:
1) Load a SVG (XML) file and parse it into a format usable by the
program (convert strings to numbers, etc)
2) Persist the in-memory version
> Most architectures are made to execute a lot of times the same instruction
> on a different block of data.
> You can have if...then...else... in your GPU programs, but every processor
> will execute both branchs (with a tag saying wether
> or not it is *really* executing it or not)
This is kindo
don't care much about 1.2 features like defrecord. What
> I care about is start-up speed, ease of embeddability, and Visual
> Studio integration (not Intellisense, just AOT'ing .clj files).
+1 for all of that
That paragraph basically explains why I haven't started using clojur
Personally I'd like to see it in a .zip of assemblies. GAC can make it
a bit hard to copy around...90% of my 3rd party assemblies, I just
throw in a folder and reference in VC# where they get copied into the
build directory.
Unfortunately, I haven't gotten ClojureCLR to compile, so I can't
speak t
Greetings,
While reading up on Clojure's to Java interfacing, I thought it might
be helpful to see how the clojure code appears to the JVM. Does
clojure compile the source directly to JVM bytecode? If not, is there
a way we can get the Java output for a given clojure source file?
Specifically, I'm
While examining the Clojure source I came across this line in the
EmptyList class:
public boolean equals(Object o) {
return (o instanceof Sequential || o instanceof List) &&
RT.seq(o) == null;
}
What's up with the RT.seq(o) == null? Why don't we do this instead:
public boolea
>It checks the value against memory. If it's
>the same, commit data store changes. If not, retry after refreshing
>memory with the current contents of the store.
May I suggest we take a page from the CouchDB book here? In addition
to having a "id" each ref also has a revision id. Let's say the i
Probably so the list can be compared to anything and thus o may not
> implement Seqable, like:
> user=> (.equals '() nil)
> false
>
> On Sep 1, 4:14 pm, Timothy Baldridge wrote:
>> While examining the Clojure source I came across this line in the
>> EmptyList clas
First of all, MonoDevelop should be able to load the .sln
As far as XNA...last I heard XNA did not have any support for emit,
and as such is incapable of running any sort of jit code. Basically
all .NET code has to be ahead-of-time compiled to run a XBOX via XNA.
It's the same limitation that Iron
> Is this still a problem if you compile everything ahead of time? I
> noticed that if I make a jar with leiningen my clj files are included
> in the jar but I assumed that it was just part of some dogma that I
> should share my source code.
Actually I think it's a bit worse than that. LISP treat
highly advanced JIT like the JVM provides, I'm not
sure it's exactly a requirement for an acceptable Clojure variant.
Timothy Baldridge
[1] http://www.software-lab.de/radical.pdf
On Thu, Sep 23, 2010 at 9:27 AM, Wilson MacGyver wrote:
> On xbox, you can't alter running cod
> By the way, I have submitted several Clojure programs to the web site, and am
> happy to hear of someone else interested in finding faster Clojure programs
> for those problems. I definitely do not wish to discourage your efforts. I
> ask these questions because I'd like to help you get to a
> Just downloaded the CLR version of clojure and are experiencing a
> pretty awkward boot up time of the ClojureMain.exe (~10 sec)
> I've tried to ngen the exe and it's dependencies but without any luck.
> Compiling and Running from within VS2010 it takes approximately the
> same...
Sadly, I thin
Notice it says "can't recur from within a catch". So throw the
try/catch into it's own function and return nil if the try fails. Then
throw a if statement to continue the loop only if the function return
nil.
Timothy
On Thu, Mar 17, 2011 at 8:49 PM, Fiel Cabral
wrote:
> Hello Clojure users,
> T
> I'm open to suggestions on improving this. In particular, more
> detailed profiling information would be of interest.
Hrm...we have some fairly detailed profilers through my work, so I'll
have to fire it up over lunch and see what I get.
timothy
--
You received this message because you are s
> Hrm...we have some fairly detailed profilers through my work, so I'll
> have to fire it up over lunch and see what I get.
Yeah, I'm starting to think dmiller is correct. I went over the
performance traces several times, and it really seems to all revolve
around LoadAssembly, and the time it ta
>From what I'm reading about some IronPython tests, it sounds like the
.NET x64 JIT is much slower in startup times. Are we all running 64
bit?
Timothy
> No signed assemblies.
>
> What got you below the reported JIT activity into the real problem?
--
You received this message because you are su
After you have lein installed, give La Clojure a try. It's the best
IDE plugin I've found, and runs with InteliJ. You can do
lein pom
And lein will create a project file for you that you can open with La Clojure.
Timothy
On Wed, Mar 23, 2011 at 7:25 AM, Stefan Sigurdsson wrote:
> On Wed, Mar 2
On Wed, Mar 23, 2011 at 8:11 AM, ultranewb wrote:
> I'll be damned - this worked. Really, there needs to be some
> prominent, easily-accessible guides for just dumb, ultra-basic stuff
> like this. I'm talking guides that assume the user has no knowledge
> of anything except "programming" and "ed
> No I did not, because I didn't go the Eclipse route; rather, I tried
> NetBeans and Emacs.
That was my experience as well. I have tried many Eclipse based IDEs
and they all were slow, buggy, and utterly worthless. So I didn't even
try to touch Eclipse.
Emacs is...wellemacs. Sorry, but when
> I didn't have much trouble getting things running. Is
> the CLASSPATH really so much different to the PYTHONPATH,
> LD_LIBRARY_PATH or even the plain old PATH itself?
No, it's not that much different, except python is a bit more smart
about how things are setup. For instance, if you startup scri
> Any recommendations on a NoSQL database to use with clojure? I am
> experimenting if it will fit my project better than a SQL db and have
> no real experience with them.
I highly recommend couchdb via the clutch clojure lib. It's fast, and
works well. CouchDB is very easy to setup and learn. An
> Either way, I said that I would download and try this Eclipse thing in
> the next few days, and I will. I don't have high hopes for it,
> because I've already "been there, done that" with these other big,
> glamorous IDEs, but I'll do my due diligence and give it a shot. If
> I'm a betting in V
I know it's a bit OT, but I'm looking for a (cheaper) copy of Lisp in
Small Pieces. I want to start reading up on LISP compilers, for some
optimizations I'm working on for Clojure. Unfortunately this book
seems to be the ultimate book to read for LISP compiler writers, but
also it seems to be insan
In a test game engine I developed, I simply used maps and created a
sort of "duck" typing. It actually worked quite well. For instance,
each entity would have a :physics-update function:
((:physics-update entity) entity timespan)
It ended up working very well. I had a few thousand entities, all
u
I'm trying out some protocol code. Here's what I'm trying:
(defprotocol AFirst
(first [s]))
this blows up with :
(defprotocol AFirst (first [f]))
Warning: protocol #'foo/AFirst is overwriting function first
WARNING: first already refers to: #'clojure.core/first in namespace:
foo, being replaced
On Thu, Apr 14, 2011 at 2:03 PM, mark skilbeck
wrote:
> Still doesn't work for me. Same error as Alfredo.
Worked great for me with Win 7, FF4
Want to highlight anything you did in the game? I'm interested in any
use of agents, etc that you used.
Timothy
--
“One of the main causes of the fall o
> There is a free (nagging) demo, but I assure you kittens will purr just
for
> you if you support Clojure Atlas' future development with your purchase.
You know it's nice, the search is pretty cool. But it takes me longer to go
and search, or to chase little (i) symbols around than it does to act
On Tue, May 3, 2011 at 2:28 PM, Jeffrey Schwab wrote:
> Boo. Keep the paywall. Don't make me look at ads. And for the record,
> you're not paying for information, but rather to have the information
> presented in a particular way.
>
>
Well I think it's more of the case that with a paywall you'l
On Tue, May 10, 2011 at 10:26 AM, Jonathan Fischer Friberg <
odysso...@gmail.com> wrote:
> "How do I actually just load code w/o evaluating it?"
> mostly when you want something like this, you want a macro. Manipulating
> code is also done within macros.
>
Yeah, I would consider the whole code-i
the function should be
used.
Timothy Baldridge
--
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
firs
So let me see if I can help out with this. In classic lisp, when you
define a function it would take this syntax:
(defn name (arg1 arg2)
body)
The only problem with this approach is that sometimes it is hard to
figure out what is part of the body and what is the argument lists.
Clojure so
> I disagree. This is a subject of religious debates that I don't want to get
> into in detail, but FWIW this educator thinks that Lisp is a >perfectly
> defensible first language and that Clojure can serve the purpose quite well
> as long as installation and tooling doesn't make it ?unnecessari
> I love Clojure ,but Clojure sucks a lot of memory and that frustrates
> me !
I seriously doubt the memory bloat is due to the immutable structures.
During a fast inner loop that is allocating tons of structures, you
may see a little memory bloat, but that's only until the GC catches
up. I'm pre
On Fri, Jul 8, 2011 at 3:02 PM, Timothy Baldridge wrote:
>> I love Clojure ,but Clojure sucks a lot of memory and that frustrates
>> me !
In addition to all this, remember that GC's don't instantly free
memory. So if for a instance memory balloons up to 300MB, many times
There's allot here I really like. This could end up being "the" IDE
for clojure newbies. I agree though, lein integration would be
awesome. One of my biggest complaints against larger IDE's is trying
to get them to look at the lein classpaths. Getting the same result in
my repl as I get by doing "l
I don't know if it has been mentioned yet, but I'm not getting
error-output in the REPL. If I type
(println foo)
then do CTRL+E
I see the REPL spit out the lines I entered, then nothing...
Some sort of error feedback would be nice.
Timothy
--
You received this message because you are subscri
Java HotSpot 1.6.0_24 64-bit Server VM
Windows 7 Professional 64bit
Timothy
--
“One of the main causes of the fall of the Roman Empire was
that–lacking zero–they had no way to indicate successful termination
of their C programs.”
(Robert Firth)
--
You received this message because you are subs
Is there a documented way to get ClojureScript working on Windows?
While I'm familiar with Linux, and use it in several server
environments, all my development is on Windows, so I don't really have
access to a Linux box for development.
Timothy
--
“One of the main causes of the fall of the Roman
> So, you could use ClojureScript and jQuery to write a snappy little
> demo and prove to everyone the value of that approach. I'm sure I'm
> not the only one that would be interested in seeing such a demo.
>
I think Rich's point in his talk is good to re-iterate here. Is jQuery
cool? Yes! I would
So I've hit an issue with the ClojureScript compiler memory
requirements several times now. The command line arguments in use for
both the compiler and the repl are thus:
-Xmx2G -Xms2G -Xmn256m
So basically this requires 2GB of memory right off the bat to even run
the compiler. Now I'm not intere
> Oh I will be washing my hands and be gone for sure, as coding and
> making things better is precisely what I offered in my OP, which was
> taken as a "threat" and I was told to start a "separate mailing list"
> for it; perhaps this community welcomes folks who don't know any
> better than to be i
> Why does it have to be so complicated to use libraries?
I used to think it was hard until I read up on lein. Can't get much
simpler than clojars and lein:
http://clojars.org/
http://alexott.net/en/clojure/ClojureLein.html
Now I'm starting to think that I actually like the lein method over
pyth
I'm looking into using clojurescript on our website. However, we have
several external js libraries that we need to access from
ClojureScript. Is there a way to execute javascript code from
ClojureScript and not have the function names resolved at compile
time?
Basically I want to do:
(foo "test"
So I used to think the stacktraces from Clojure were a bit
cryptichow do I deal with ClojureScript compile errors? For
instance:
bin/cljsc ~/projects/WebSite/src/WebSite/CLJS > ~/test.js
Exception in thread "main" java.lang.UnsupportedOperationException:
nth not supported on this type: Symbol
> Would it be possible to look at you project source?
Sure this is all the source I currently have written:
;:mode=clojure:
(ns lib.dom-helpers
(:require [goog.dom :as dom]
[goog.dom.classes :as classes]))
(defn find-node [search]
(if (keyword? search)
> Is what I am trying to do possible?
Even if you can, I don't think you want to. This sort of thing would
basically remove the immutable nature of Clojure. Instead I would
recommend using a atom...
Timothy
--
You received this message because you are subscribed to the Google
Groups "Clojure" g
> My code calls a function in 3rd party library A, which in turn calls a
> function in 3rd party library B. The lib B function uses blacklisted Java
> classes, causing my app to crash when lib A calls it. I would like to
> replace that function with a safe version, so that lib A is forced to use
> I've gotten into these over the last week, and I've got to say, Chris is
> doing a very nice job on these frameworks. They are really turning into a
> nicely integrated offering to develop Clojure and ClojureScript web apps.
So...I've been wanting to get into using Cljs recently for a project
I
> Will clojure-py allow us to write our own VM's using clojure?
TL/DR: yes
Long version: RPython simply is a restriction on what bytecodes can do
in a given set of branches in a python program. So the cool thing
about RPython is, you define a main(argv[]) function, and then point
the PyPy transla
>> I have some set of algorithms that needs such-and-such operations to
be as fast as possible. Can I create a VM that is tailored for that?
Yes, this is basically what PyPy does for Regexes, they have a custom
regex engine that has "can_enter_jit" in it. So basically what you get
is a jitted rege
> Is that a good way to go? I couldn't find much documentation about how to
> create full immutable application.
> I understand I'm mixing functional and OO principles, I hope I'm not to
> wrong about it.
I've done more or less this exact thing in C# before. What I've found
to be most useful, is t
>>Let's also say you receive update to specific point every few milliseconds,
>>so each update will create a new point and will set the point inside the
>>persistent vector and the new vector will now be stored inside a member
>>variable?
Correct. In my situation, I imported the entire Clojure-
>Is this design choice intended for some reason?
Maybe you should try using a Hashmap?
https://github.com/clojure/clojurescript/blob/master/src/cljs/cljs/core.cljs#L2322
--
“One of the main causes of the fall of the Roman Empire was
that–lacking zero–they had no way to indicate successful term
> Initially, the java aspect is a bit daunting. However, I don't believe you
> need to know java in order to take advantage of all the java interop
> features of clojure.
So as a background, before I give my two cents. I'm a C# developer by
trade, and feel very comfortable with .NET. I also have q
> On the other hand, Lisp letting you update things on the fly is also
> of obvious value to an MMORPG, which tends to involve adding and
> tweaking stuff from time to time but you really don't want to take the
> game servers down, ever, if you can avoid it.
That's also a major feature of Erlang.
Bringing this back on topic, I watched the video. Wow! was it worth
it. This guy has some pretty mind-blowing demos. I highly recommend
this, I'm going to have to sit down soon and code up a clone of his
"binary search tree" demo.
Timothy
--
You received this message because you are subscribed t
> Not sure how many people have seen this, looks interesting though:
>
> https://github.com/halgari/clojure-py
The core.clj file is probably the best way to get an idea of how
clojure-py differs and is similar to clojure:
https://github.com/halgari/clojure-py/blob/master/clojure/core.clj
Currentl
>>How is performance looking so far?
On CPython...well about as good as CPython is comared to Java. On PyPy
however, we're pretty close to Clojure. Currently on a factorial
example, clojure-jvm runs in about 15 sec. On clojure-py it's about 24
sec. But there's always room for more optimization.
> On a similar note, are you using Python's approach to characters (they are
> simply a string of length 1)?
Yes, that's exactly what we're doing. As an aside note, the fact that
Python is so dynamic allows us to do some really interesting things
with sequences:
https://github.com/halgari/clojure
> I don't think you're supposed to use spaces in keywords.
Using spaces in keywords is completely valid, as is using spaces in
symbols. You just have to be aware that there may be times when you
can't represent them in a literal form. pr-str could be extended to do
this though:
(pr-str :foo)
":f
> "Symbols begin with a non-numeric character and can contain alphanumeric
> characters and *, +, !, -, _, and ? ... Keywords are like symbols ..."
But this is the documentation for the reader...not necessarily for
symbols/keywords.
My argument is that clojure in no way validates the input to (sy
>> If so, how ?
>>
I think Python may be easier for you, but it's not simpler than
Clojure. Simplicity is the strength of Clojure.
http://www.infoq.com/presentations/Simple-Made-Easy
I can learn a new syntax almost overnight (last night I started
writing Dart code for the first time after googling
Support for bindings
defprotocol and defmulti
defrecord
full support for pr-str
---
Thank you for all the interest we've received from the Clojure and
Python communities. We look forward to seeing this project grow.
Timothy Baldridge (halgari)
--
You received this message because you are subscr
>Congrat's on the release! I am getting the following error on my
>Macbook (running 64-bit Lion, Python 2.7.1) when trying to run "sudo
>easy_install clojure-py":
I've seen this once before, in Linux, I'll open a bug for it and see
if we can get it ironed out.
Timothy
--
You received this messa
It seems to be a packaging issue. As an aside note, if you do a github
checkout then run
python setup.py install
it seems to work just fine. But I'll look into this issue as well.
Timothy
2012/3/8 Daniel Janus :
> I'm seeing it on Arch Linux as well, using both pip2 and easy_install-2.7.
>
> Th
instant start-up times.
Timothy
On Thu, Mar 8, 2012 at 6:36 AM, Laurent PETIT wrote:
> Amazing!
>
> What startup time performance improvements do you see for eg using
> this platform for shell scripts-like stuff ?
>
> Le 8 mars 2012 à 04:42, Timothy Baldridge a écrit :
&g
> What's the plan for ratios and characters? I assume they're still on
> the TODO list? (Maybe Issue 17 covers the ratios?)
Yeah, I need to run a few more tests, but I'm thinking of somehow
layering libgmp ontop of Python in order to implement ratios.
The lispreader needs to be fixed to handle
It looks to be a bug with where the script is saving the history file.
We have a bug report for it
https://github.com/halgari/clojure-py/issues/41 and we'll look into
it. Thanks!
Timothy
On Thu, Mar 8, 2012 at 1:11 PM, Shantanu Kumar wrote:
>
>
> On Mar 8, 7:22 pm, Timothy Ba
> This has been a fascinating discussion, thanks to everyone involved.
So I've been lurking on this thread for some time, and thought I'd go
and offer my two cents on the topic. While writing clojure-py, I've
been in the unique situation of having to decide which language
features will be implemen
>
> Why wouldn't Python fractions work as ratios?
Actually Python fractions would work perfectly. And the decimal class
in Python should be included as well.
Thanks for pointing these libraries out to me!
Timothy
--
You received this message because you are subscribed to the Google
Groups "Clo
> I'm seeing a RPython test in the examples. Can Clojure-Py emit RPython code
> from my Clojure code? If so, that'd be really great we could go Clojure ->
> RPython -> C -> Native
>
> I guess it probably isn't since I imagine that laziness uses generators
> which aren't well supported under RPython
> I had just read the
> native compiler proposal and wanted to point out that
> cola(pepi/id/fonc/maru) gives you a lot of infrastructure for a native
> compiler for a dynamic language. Compiler construction is hard enough as it
> is.
I'd just like to jump in here and mention that you might want t
Let's take a step back and look at this idea from a new user's view.
The way I see it, whatever we do, we'll have to explain to users how
to create sets. Hashmaps, and vectors follow (roughly) the JSON/Python
syntax:
vector = [1 2 3 4]
map = {1 2 3 4}
So how to these languages represent sets?
Py
>>is there a use case behind apply being lazy when Clojure is otherwise a
>>strictly evaluating language
In clojure-py we have to pass vararg arguments as tuples. So it ends
up a lot like
(to-tuple (concat args seqarg))
I always saw the seq argument in IFn as a crutch to get around the "we
have
> That's surprising to me. You never use something like this?
> (map #{:fred :bob :ted} [:fred :bob])
I think it's more that most of what I work with is either seq like,
vectors, or has some sort of key->value relationship. Most of the time
if I need a set of unique keys, I also need sets of data
"May be delayed"
But I don't think they ever are:
user=> (def oddseq (map #(do (print %) %) (range 30)))
#'user/oddseq
user=> (defn foo [& args] 'd)
#'user/foo
user=> (apply foo oddseq)
01234567891011121314151617181920212223242526272829d
user=> (def oddseq (map #(do (print %) %) (range 1)))
#'
"not-unreasonable because otherwise people
will acquire a negative opinion of me."
On the contrary...I find that people who admit that their "cool idea
after further thought probably isn't so cool" garner better respect
from the community at large.
Just my $0.02...
Timothy
--
You received this
fn* is a compiler intrinsic...it's pretty low-level, it doesn't
support destructuring,. So instead, core.clj creates a macro called fn
that adds all this other functionality and eventually spits out the
fn* in a format the compiler wants. Basically it's set up this way so
that you can write the maj
I would probably say that in questions like this, it's best to do it
the way Clojure on the JVM does it. ClojureScript is still pretty
immature, so using it as a reference standard is going to be
troublesome. This is the approach clojure-py is taking. Consider
Clojure-jvm to be the reference spec,
> Can I apply to be a mentor now?
>
Ditto...I've done a fair amount of research on running clojure on
alternative platforms (C++, LLVM, python), so I feel I'd be up to
mentoring on any of the compiler projects (linter, func/cola,
optimizer, etc.). But I didn't know we still needed mentors until no
>>Feeling a bit slow...
It's not just you...the GSOC site is really poorly designed IMO. It
took me close to 5 minutes of clicking around to finally find the area
to sign up/select projects for mentoring.
Timothy
--
You received this message because you are subscribed to the Google
Groups "Cloj
this project
the past few weeks. It's exciting to see the clojure-py community
continue to grow!
Timothy Baldridge
--
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 t
And it's always good to give links with a project release:
Source:
https://github.com/halgari/clojure-py
Also via easy_install:
easy_install clojure-py
Timothy Baldridge
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to t
new
platform, he would need only to find existing platform overrides, and
create new entries.
Thoughts?
Timothy Baldridge
--
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 p
>> First thing which comes to mind is to use metadata for this purpose.
>> Something like
>>
>> (defn ^{:platform :jvm} to-string [x] ...)
>
What we need is even more defined then that, however, Consider this
snippet from core.match:
(ns clojure.core.match
(:refer-clojure :exclude [compile])
I'm starting to like the hybrid approach as well. We could create a
new version of "require" that's a conditional load:
(cond-require {:platform :jvm :version 7} 'core.platform.jvm.mymodule)
(cond-require {:platform :clr :version 4.5} 'core.platform.clr.mymodule)
With a single modification to cor
If you AOT compile the ClojureCLR code, will it still depend on Reflection.Emit?
Timothy
On Thu, Apr 19, 2012 at 11:10 AM, David Jagoe wrote:
> Ok, thanks David.
>
> On 19 April 2012 15:53, dmiller wrote:
>> I believe that Reflection.Emit is not available in .Net Compact Framework.
>> This is
Try
lein pom
On Apr 20, 2012 1:29 PM, "Murtaza Husain"
wrote:
> Hi,
>
> Is there any way to convert project.clj to pom.xml.
>
> I was looking at jelastic which is a cloud provider for java, and they
> allow deploying projects from git repos which are compatible with maven 3.
> It will download t
/www.infoq.com/presentations/Building-Highly-Available-Systems-in-Erlang
Here he goes into the details about how Erlang has limitless
scalability and infinite reliability.
At any rate, these are the ideas I'm attempting to implement in
Clojure-Py, we'll see where it goes.
Timothy Baldridge
> So clojure's STM does not fall under the "general purpose" category with
> terrible preformance he was referring to?
This is correct. Clojure has very few ways of modifying global state.
99% of your clojure code should be immutable. Immutable data does not
need to be protected by a STM. In that
d.
I see this all as being a major boon to anyone looking to port Clojure
to a different platform. Hopefully at this point we could start
looking at what it would take to port Clojure to LLVM and CUDA.
Thoughts from the ClojureScript, clojure-gambit, GSOC people?
Timothy Baldridge (halagri)
--
Y
There seems to be a few steps involved in this from, what I'm seeing.
>From what I'm seeing of the source, there's two files I'll be dealing with
closure.clj -- defines functions for looking up info about libraries,
functions, etc.
compiler.clj -- actually defines the compiler
To start with, I'm
> Logically the interface between the analyzer and the emitter is data
> (maps, etc) which can be serialized as json or some platform specific
> representation. Then all you need to do is write an emitter on your
> platform of choice that can emit code for the data.
>
> So for Python:
> 1. run the
> I can certainly imagine cases where the analyzer might want
> reflection on types etc of the given platform, but I think that is
> really an optimization, trading off compile/analyzer time reflection
> for runtime reflection. That platform reflective information would be
> provided by something
> Why can't it port to Python? You have can have an instance with a method
> toString right?
The python version of that code (at least in clojure-py) would be this:
(defn as-str [x] (py/str x))
So my point is that some platforms may define toString, other define
str and still others (CLR) define
>the point of the analysis step is to generate a richer (more verbose)
>set of information about the code, there is a lot of information you
>would like to have when compiling (for example, for some platforms it
>would be nice to know at the start of a function what locals exist in
>the that functi
601 - 700 of 834 matches
Mail list logo