Re: asm-based clojure yet?

2013-06-03 Thread Aaron
If you use ngen, it won't be so bad: 
http://clojureclr.blogspot.com/2011/12/using-ngen-to-improve-clojureclr.html

On Friday, May 24, 2013 6:29:24 AM UTC-4, atkaaz wrote:

 making a note that (on my system, win7 64bit btw) clojureclr startup time 
 is about (at least)10 seconds.
 tested both Clojure.Main.exe and Clojure.Compile.exe  from package 
 clojure-clr-1.4.1-Debug-4.0.zip

 I might be looking into Haskell which seems to have like 2 sec(max) 
 startup time, and the hello world .exe file is 1,132,640 bytes (big but 
 depends only on kerner32/user32/msvcrt/wsock32  .dll files)




 On Fri, May 17, 2013 at 2:10 PM, atkaaz atk...@gmail.com javascript:wrote:

 Ok, weird question: is there some clojure port on assembler yet? Even 
 if(/especially if) it doesn't have jvm/java/javalibs support

 Or should I just check https://github.com/clojure/clojure-clr ?

 I'm mainly interested in low memory footprint and fast startup times 
 (does clojure-clr have that?)




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




Re: asm-based clojure yet?

2013-06-03 Thread Aaron
I'll throw in my own work in progress as a low-footprint target of Clojure: 
https://github.com/aaronc/c-in-clj. It's not an attempt to compile Clojure 
code to C, but rather a way to write C code efficiently from Clojure that 
can be dynamically invoked from Clojure.

On Friday, May 17, 2013 7:49:08 AM UTC-4, Gary Trakhman wrote:

 I think these qualify as low-footprint clojures:

 https://github.com/clojure/clojurescript on node..
 https://github.com/takeoutweight/clojure-scheme compiles to native
 https://github.com/halgari/mjolnir llvm targets.


 On Fri, May 17, 2013 at 7:10 AM, atkaaz atk...@gmail.com javascript:wrote:

 Ok, weird question: is there some clojure port on assembler yet? Even 
 if(/especially if) it doesn't have jvm/java/javalibs support

 Or should I just check https://github.com/clojure/clojure-clr ?

 I'm mainly interested in low memory footprint and fast startup times 
 (does clojure-clr have that?)

 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




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




Re: asm-based clojure yet?

2013-05-24 Thread atkaaz
making a note that (on my system, win7 64bit btw) clojureclr startup time
is about (at least)10 seconds.
tested both Clojure.Main.exe and Clojure.Compile.exe  from package
clojure-clr-1.4.1-Debug-4.0.zip

I might be looking into Haskell which seems to have like 2 sec(max) startup
time, and the hello world .exe file is 1,132,640 bytes (big but depends
only on kerner32/user32/msvcrt/wsock32  .dll files)




On Fri, May 17, 2013 at 2:10 PM, atkaaz atk...@gmail.com wrote:

 Ok, weird question: is there some clojure port on assembler yet? Even
 if(/especially if) it doesn't have jvm/java/javalibs support

 Or should I just check https://github.com/clojure/clojure-clr ?

 I'm mainly interested in low memory footprint and fast startup times (does
 clojure-clr have that?)


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




Re: asm-based clojure yet?

2013-05-24 Thread atkaaz
for comparison an uberjar run [1] of a hello world program takes 2 seconds
(2.2 sec) on clojure 1.5.1 and Leiningen 2.2.0-SNAPSHOT on Java 1.7.0_17
Java HotSpot(TM) 64-Bit Server VM


[1] java -jar newproj1-0.1.0-SNAPSHOT-standalone.jar


On Fri, May 24, 2013 at 1:29 PM, atkaaz atk...@gmail.com wrote:

 making a note that (on my system, win7 64bit btw) clojureclr startup time
 is about (at least)10 seconds.
 tested both Clojure.Main.exe and Clojure.Compile.exe  from package
 clojure-clr-1.4.1-Debug-4.0.zip

 I might be looking into Haskell which seems to have like 2 sec(max)
 startup time, and the hello world .exe file is 1,132,640 bytes (big but
 depends only on kerner32/user32/msvcrt/wsock32  .dll files)




 On Fri, May 17, 2013 at 2:10 PM, atkaaz atk...@gmail.com wrote:

 Ok, weird question: is there some clojure port on assembler yet? Even
 if(/especially if) it doesn't have jvm/java/javalibs support

 Or should I just check https://github.com/clojure/clojure-clr ?

 I'm mainly interested in low memory footprint and fast startup times
 (does clojure-clr have that?)




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




Re: asm-based clojure yet?

2013-05-22 Thread Julian
One more thought on the broader ideas of LISPy languages and ASM. One of 
the versions of Crash Bandicoot was developed in Game Oriented Assembly 
LISP (GOAL) - which was a common LISP DSL that generated assembler. 

I recalled this today because Michael Fogus tweeted about it:
https://twitter.com/fogus/status/336865798628966400

If you're a hobbyist dabbling in this space then you might find reading 
about it interesting and inspiring:
http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp
http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

JG

On Sunday, 19 May 2013 01:49:43 UTC+10, Gary Trakhman wrote:

 It's hard to really appreciate java and clojure until you actually write 
 some C/C++ or ASM.. I have some minor experience with that stuff, and it 
 still haunts me from time to time. 

 Sometimes we make tradeoffs without knowing we did.  By choosing a 
 language, or having the choice made for us, we accept a set of abstractions 
 as our bottom level of thinking for a problem-space.  Only old-timers and 
 people that make a point to care about low-level stuff will notice the 
 implications of what they're doing along the abstraction stack.  People 
 with ingrained habits just won't find it easy to think functionally, but 
 I'm young and irreverent, so it doesn't bother me :-).

 C++ is fun because of all the bolted-on kludges that 'mitigate' these 
 problems.  You can use operator-overloading on pointer operations to 
 perform automatic reference counting, deallocating objects when things that 
 point to them go out of scope, but I think implementing a PersistentHashMap 
 this way would be very difficult.  Also, pretty sure it can't handle cycles.

 I guess the point is, I appreciate any effort to understand such issues, 
 it's been a useful thing for me to know in the 0.05% of time that knowledge 
 is needed.

 But, people who don't know just won't be able to get past those problems. 
  And, you generally can't easily find a _really_ full-stack guy to glance 
 at it for you when it would be useful to have one.

 On Sat, May 18, 2013 at 11:24 AM, atkaaz atk...@gmail.com 
 javascript:wrote:

 your comment caused me to be reading this 
 http://prog21.dadgum.com/134.html
   (at least)


 On Sat, May 18, 2013 at 6:17 PM, Gary Trakhman 
 gary.t...@gmail.comjavascript:
  wrote:

 Immutability, persistence, closures without a serious garbage collector 
 sounds hard.


 On Sat, May 18, 2013 at 1:09 AM, atkaaz atk...@gmail.com 
 javascript:wrote:

 Thanks very much everyone! I'm looking into all of those, but currently 
 planning to read Julian's pdf. I didn't want to say anything until I had 
 something definite, but just letting y'all know that I'm considering each 
 recommendation.


 On Sat, May 18, 2013 at 7:12 AM, Julian julian...@gmail.comjavascript:
  wrote:

 If you had a hobbyist interest in representing S-expressions in 
 assembler - then you could take a look at the tutorial written by 
 Abdulaziz 
 Ghuloum called Compilers: Backend to Frontend and Back to Front Again. 
 It 
 used to be available here: 
 http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I 
 grabbed another copy and put it here: 
 https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data 
 structures, I don't recommend trying to implement them in ASM. 

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus: 
  Ok, weird question: is there some clojure port on assembler yet? 
 Even 
  if(/especially if) it doesn't have jvm/java/javalibs support 
  
  Or should I just check 
  https://github.com/clojure/**clojure-clrhttps://github.com/clojure/clojure-clr?
   
  
  I'm mainly interested in low memory footprint and fast startup 
 times (does 
  clojure-clr have that?) 

 You may want to check out ClojureScript, too. ClojureScript programs 
 leveraging nodejs for host interop have fast startup times: 

 
 https://github.com/clojure/**clojurescript/wikihttps://github.com/clojure/clojurescript/wiki
  

 -- 
 --**--**- 

 a l a n   d.   s a l e w s k i   sale...@att.net 
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588 
 --**--**- 


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

Re: asm-based clojure yet?

2013-05-22 Thread atkaaz
thank you very much, my search has lead me to seeking a lisp that could
compile to machine code (mainly because i cannot accept the 20-22 sec `lein
repl` startup time and eclipse/ccw memory consumptions - so I was hoping
for something fast even though the cost is portability and all else)


On Wed, May 22, 2013 at 3:10 PM, Julian juliangam...@gmail.com wrote:

 One more thought on the broader ideas of LISPy languages and ASM. One of
 the versions of Crash Bandicoot was developed in Game Oriented Assembly
 LISP (GOAL) - which was a common LISP DSL that generated assembler.

 I recalled this today because Michael Fogus tweeted about it:
 https://twitter.com/fogus/status/336865798628966400

 If you're a hobbyist dabbling in this space then you might find reading
 about it interesting and inspiring:
 http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

 http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

 JG


 On Sunday, 19 May 2013 01:49:43 UTC+10, Gary Trakhman wrote:

 It's hard to really appreciate java and clojure until you actually write
 some C/C++ or ASM.. I have some minor experience with that stuff, and it
 still haunts me from time to time.

 Sometimes we make tradeoffs without knowing we did.  By choosing a
 language, or having the choice made for us, we accept a set of abstractions
 as our bottom level of thinking for a problem-space.  Only old-timers and
 people that make a point to care about low-level stuff will notice the
 implications of what they're doing along the abstraction stack.  People
 with ingrained habits just won't find it easy to think functionally, but
 I'm young and irreverent, so it doesn't bother me :-).

 C++ is fun because of all the bolted-on kludges that 'mitigate' these
 problems.  You can use operator-overloading on pointer operations to
 perform automatic reference counting, deallocating objects when things that
 point to them go out of scope, but I think implementing a PersistentHashMap
 this way would be very difficult.  Also, pretty sure it can't handle cycles.

 I guess the point is, I appreciate any effort to understand such issues,
 it's been a useful thing for me to know in the 0.05% of time that knowledge
 is needed.

 But, people who don't know just won't be able to get past those problems.
  And, you generally can't easily find a _really_ full-stack guy to glance
 at it for you when it would be useful to have one.

 On Sat, May 18, 2013 at 11:24 AM, atkaaz atk...@gmail.com wrote:

 your comment caused me to be reading this http://prog21.dadgum.com/134.*
 *html http://prog21.dadgum.com/134.html
   (at least)


 On Sat, May 18, 2013 at 6:17 PM, Gary Trakhman gary.t...@gmail.comwrote:

 Immutability, persistence, closures without a serious garbage collector
 sounds hard.


 On Sat, May 18, 2013 at 1:09 AM, atkaaz atk...@gmail.com wrote:

 Thanks very much everyone! I'm looking into all of those, but
 currently planning to read Julian's pdf. I didn't want to say anything
 until I had something definite, but just letting y'all know that I'm
 considering each recommendation.


 On Sat, May 18, 2013 at 7:12 AM, Julian julian...@gmail.com wrote:

 If you had a hobbyist interest in representing S-expressions in
 assembler - then you could take a look at the tutorial written by 
 Abdulaziz
 Ghuloum called Compilers: Backend to Frontend and Back to Front Again. 
 It
 used to be available here: http://www.cs.indiana.**
 edu/~aghuloum/compilers-**tutorial-2006-09-16.pdfhttp://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I
 grabbed another copy and put it here: https://sites.google.**
 com/site/juliangamble/Home/**Compilers%20Tutorial%202006-**
 09-16.pdf?attredirects=0d=1https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data
 structures, I don't recommend trying to implement them in ASM.

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
  Ok, weird question: is there some clojure port on assembler yet?
 Even
  if(/especially if) it doesn't have jvm/java/javalibs support
 
  Or should I just check 
  https://github.com/clojure/**clo**jure-clrhttps://github.com/clojure/clojure-clr?
 
  I'm mainly interested in low memory footprint and fast startup
 times (does
  clojure-clr have that?)

 You may want to check out ClojureScript, too. ClojureScript programs
 leveraging nodejs for host interop have fast startup times:

 
 https://github.com/clojure/**clo**jurescript/wikihttps://github.com/clojure/clojurescript/wiki

 --
 -----

 a l a n   d.   s a l e w s k i   sale...@att.net
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
 

Re: asm-based clojure yet?

2013-05-22 Thread Mikera
On Wednesday, 22 May 2013 20:35:01 UTC+8, atkaaz wrote:

 thank you very much, my search has lead me to seeking a lisp that could 
 compile to machine code (mainly because i cannot accept the 20-22 sec `lein 
 repl` startup time and eclipse/ccw memory consumptions - so I was hoping 
 for something fast even though the cost is portability and all else)


The above strikes me as a slightly odd statement. Eclipse/CCW or lein repl 
startup times should be irrelevant because you should only be incurring 
them once, when starting a development session. Sure, Eclipse eats memory 
too, but again this is only a development time issue and your dev machine 
should have plenty, right?

In production, running the packaged .jar file should be pretty quick and 
much more lightweight. JVM startup is less than 0.1sec nowadays, so you can 
get a splash screen or basic GUI up in front of a user almost immediately. 
That only leaves the time required to compile and initialise Clojure itself 
and your application code - maybe 5 secs or so for a reasonably sized app. 
If you are smart you can do quite a lot of work lazily / in the background 
so the user doesn't even notice

I can certainly see some uses for a Clojure-to-assembler compiler, but only 
in very specialised areas (embedded devices, realtime systems etc.). For 
general purpose application development I think it's probably going to be 
more trouble than it is worth.
 

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




Re: asm-based clojure yet?

2013-05-22 Thread atkaaz
Looks like I forgot to enable the paging file (windows virtual memory was
disabled) and that is why my eclipse/firefox would crash when running out
of memory  and also had much eclipse.ini memory allocated -Xms228m -Xmx712m
; and because of all these I was unable to start repl most of the time in
ccw due to not enough memory(it said), so due to your comment (thank you),
I've fixed those and set -Xms128m -Xmx512m but will probably go back to 712
(it's ok now since I've the paging file); but the memory total is like
3.5gig since 512 is eaten by video card memory.

So now at least I can run them without running out of memory all the time
:) but they still use quite a lot and I found myself having to run lein
commands (like lein test) and restarting repls enough times for it to make
me want something else - but I am an odd ball, so it's not something
everyone else will do.

Honestly I really want a system where things are more accessible,
unfortunately I can't explain this (i'll try if u really want me to) for
example I really enjoyed the F3 in eclipse on java source code which would
do Go to Definition/Declaration (of this identifier), and also the find all
calls to this method in this project and the refactoring... this kind of
connectivity I'd expect to be in the system (from what I've read some Lisp
machines(?) or the lisp lang on some machines really have that was it
Genera ? and some read about Dynamic Windows  but I also remember something
vaguely about ruby - haven't used it though). In a more broader way, I want
to be able to explore/deduce the system without having to jump through
hoops like googling for information about it, when in fact I already have
it running on my system, why not just explore its construction live while
it's running, visualize all its connections (like in a graph)

I like this clojure lang because it gets me closer to the way I want things
to be, but it feels all so disconnected like I can't feel that when writing
some code I can just easily F3 on a symbol and see where else it was used
or even defined(sometimes this works in ccw btw ie. for clojure core code)


So far, I'm thinking maybe code something from assembler level up (maybe
even not requiring garbage collector but still not using explicit mem
allocations like malloc) so it will eventually become a replacement for
whatever I use for text editor, and if it does the way I think it will, I
can then store all kinds of information and advance it even to the next
level... but there's all these barrier with transactions and locks but this
functional programming idea might be pretty good to apply(even though I
envisioned a system where everything would be global(ly accessible)
restrictions can still apply in dependency style like A depends on B and C
depends on B, so if I want to change B then the way A and C depend on B
have to be satisfied before the change can occur or that change will have
to include changes to A and/or C also).


Sorry for the rant, it's just that i feel lost so far(and not very
knowledgeable). I just imagine how awesome it would be to can explore a
system (PC+OS+java+clojure+some window+some text+some word on it) of which
say you know nothing of, from a point (any point you choose) and be able to
understand it and see how everything interconnects to everything else (no
data/level/layer stripped just like the .exe is without the sourcecode for
example), because everything you need is there, visually explorable(maybe
graph like) and even changeable, if you just need to know exactly how is
some word(or even a pixel) on the screen connected to everything else for
example you could dig in - I don't know how it would look and how to
implement that so far, but i know I want it, and apparently I'm reluctant
to accepting the status quo even though that's the only way to get there :/
It can still be fast even though all the debug info (so to speak) and
source code is tagged/connected to the binary code/offsets  I imagine.





On Wed, May 22, 2013 at 6:51 PM, Mikera mike.r.anderson...@gmail.comwrote:

 On Wednesday, 22 May 2013 20:35:01 UTC+8, atkaaz wrote:

 thank you very much, my search has lead me to seeking a lisp that could
 compile to machine code (mainly because i cannot accept the 20-22 sec `lein
 repl` startup time and eclipse/ccw memory consumptions - so I was hoping
 for something fast even though the cost is portability and all else)


 The above strikes me as a slightly odd statement. Eclipse/CCW or lein repl
 startup times should be irrelevant because you should only be incurring
 them once, when starting a development session. Sure, Eclipse eats memory
 too, but again this is only a development time issue and your dev machine
 should have plenty, right?

 In production, running the packaged .jar file should be pretty quick and
 much more lightweight. JVM startup is less than 0.1sec nowadays, so you can
 get a splash screen or basic GUI up in front of a user almost immediately.
 That only leaves 

Re: asm-based clojure yet?

2013-05-22 Thread Gary Trakhman
emacs does this navigation stuff.. M-. and M-, . For uses of a function,
try grep -R or rgrep.


On Wed, May 22, 2013 at 1:30 PM, atkaaz atk...@gmail.com wrote:

 Looks like I forgot to enable the paging file (windows virtual memory was
 disabled) and that is why my eclipse/firefox would crash when running out
 of memory  and also had much eclipse.ini memory allocated -Xms228m -Xmx712m
 ; and because of all these I was unable to start repl most of the time in
 ccw due to not enough memory(it said), so due to your comment (thank you),
 I've fixed those and set -Xms128m -Xmx512m but will probably go back to 712
 (it's ok now since I've the paging file); but the memory total is like
 3.5gig since 512 is eaten by video card memory.

 So now at least I can run them without running out of memory all the time
 :) but they still use quite a lot and I found myself having to run lein
 commands (like lein test) and restarting repls enough times for it to make
 me want something else - but I am an odd ball, so it's not something
 everyone else will do.

 Honestly I really want a system where things are more accessible,
 unfortunately I can't explain this (i'll try if u really want me to) for
 example I really enjoyed the F3 in eclipse on java source code which would
 do Go to Definition/Declaration (of this identifier), and also the find all
 calls to this method in this project and the refactoring... this kind of
 connectivity I'd expect to be in the system (from what I've read some Lisp
 machines(?) or the lisp lang on some machines really have that was it
 Genera ? and some read about Dynamic Windows  but I also remember something
 vaguely about ruby - haven't used it though). In a more broader way, I want
 to be able to explore/deduce the system without having to jump through
 hoops like googling for information about it, when in fact I already have
 it running on my system, why not just explore its construction live while
 it's running, visualize all its connections (like in a graph)

 I like this clojure lang because it gets me closer to the way I want
 things to be, but it feels all so disconnected like I can't feel that when
 writing some code I can just easily F3 on a symbol and see where else it
 was used or even defined(sometimes this works in ccw btw ie. for clojure
 core code)


 So far, I'm thinking maybe code something from assembler level up (maybe
 even not requiring garbage collector but still not using explicit mem
 allocations like malloc) so it will eventually become a replacement for
 whatever I use for text editor, and if it does the way I think it will, I
 can then store all kinds of information and advance it even to the next
 level... but there's all these barrier with transactions and locks but this
 functional programming idea might be pretty good to apply(even though I
 envisioned a system where everything would be global(ly accessible)
 restrictions can still apply in dependency style like A depends on B and C
 depends on B, so if I want to change B then the way A and C depend on B
 have to be satisfied before the change can occur or that change will have
 to include changes to A and/or C also).


 Sorry for the rant, it's just that i feel lost so far(and not very
 knowledgeable). I just imagine how awesome it would be to can explore a
 system (PC+OS+java+clojure+some window+some text+some word on it) of which
 say you know nothing of, from a point (any point you choose) and be able to
 understand it and see how everything interconnects to everything else (no
 data/level/layer stripped just like the .exe is without the sourcecode for
 example), because everything you need is there, visually explorable(maybe
 graph like) and even changeable, if you just need to know exactly how is
 some word(or even a pixel) on the screen connected to everything else for
 example you could dig in - I don't know how it would look and how to
 implement that so far, but i know I want it, and apparently I'm reluctant
 to accepting the status quo even though that's the only way to get there :/
 It can still be fast even though all the debug info (so to speak) and
 source code is tagged/connected to the binary code/offsets  I imagine.





 On Wed, May 22, 2013 at 6:51 PM, Mikera mike.r.anderson...@gmail.comwrote:

 On Wednesday, 22 May 2013 20:35:01 UTC+8, atkaaz wrote:

 thank you very much, my search has lead me to seeking a lisp that could
 compile to machine code (mainly because i cannot accept the 20-22 sec `lein
 repl` startup time and eclipse/ccw memory consumptions - so I was hoping
 for something fast even though the cost is portability and all else)


 The above strikes me as a slightly odd statement. Eclipse/CCW or lein
 repl startup times should be irrelevant because you should only be
 incurring them once, when starting a development session. Sure, Eclipse
 eats memory too, but again this is only a development time issue and your
 dev machine should have plenty, right?

 In production, running the 

Re: asm-based clojure yet?

2013-05-22 Thread atkaaz
I don't know about the emacs stuff, but I consider the latter to be a
nice workaround/hack :)


On Wed, May 22, 2013 at 8:35 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 emacs does this navigation stuff.. M-. and M-, . For uses of a function,
 try grep -R or rgrep.


 On Wed, May 22, 2013 at 1:30 PM, atkaaz atk...@gmail.com wrote:

 Looks like I forgot to enable the paging file (windows virtual memory was
 disabled) and that is why my eclipse/firefox would crash when running out
 of memory  and also had much eclipse.ini memory allocated -Xms228m -Xmx712m
 ; and because of all these I was unable to start repl most of the time in
 ccw due to not enough memory(it said), so due to your comment (thank you),
 I've fixed those and set -Xms128m -Xmx512m but will probably go back to 712
 (it's ok now since I've the paging file); but the memory total is like
 3.5gig since 512 is eaten by video card memory.

 So now at least I can run them without running out of memory all the time
 :) but they still use quite a lot and I found myself having to run lein
 commands (like lein test) and restarting repls enough times for it to make
 me want something else - but I am an odd ball, so it's not something
 everyone else will do.

 Honestly I really want a system where things are more accessible,
 unfortunately I can't explain this (i'll try if u really want me to) for
 example I really enjoyed the F3 in eclipse on java source code which would
 do Go to Definition/Declaration (of this identifier), and also the find all
 calls to this method in this project and the refactoring... this kind of
 connectivity I'd expect to be in the system (from what I've read some Lisp
 machines(?) or the lisp lang on some machines really have that was it
 Genera ? and some read about Dynamic Windows  but I also remember something
 vaguely about ruby - haven't used it though). In a more broader way, I want
 to be able to explore/deduce the system without having to jump through
 hoops like googling for information about it, when in fact I already have
 it running on my system, why not just explore its construction live while
 it's running, visualize all its connections (like in a graph)

 I like this clojure lang because it gets me closer to the way I want
 things to be, but it feels all so disconnected like I can't feel that when
 writing some code I can just easily F3 on a symbol and see where else it
 was used or even defined(sometimes this works in ccw btw ie. for clojure
 core code)


 So far, I'm thinking maybe code something from assembler level up (maybe
 even not requiring garbage collector but still not using explicit mem
 allocations like malloc) so it will eventually become a replacement for
 whatever I use for text editor, and if it does the way I think it will, I
 can then store all kinds of information and advance it even to the next
 level... but there's all these barrier with transactions and locks but this
 functional programming idea might be pretty good to apply(even though I
 envisioned a system where everything would be global(ly accessible)
 restrictions can still apply in dependency style like A depends on B and C
 depends on B, so if I want to change B then the way A and C depend on B
 have to be satisfied before the change can occur or that change will have
 to include changes to A and/or C also).


 Sorry for the rant, it's just that i feel lost so far(and not very
 knowledgeable). I just imagine how awesome it would be to can explore a
 system (PC+OS+java+clojure+some window+some text+some word on it) of which
 say you know nothing of, from a point (any point you choose) and be able to
 understand it and see how everything interconnects to everything else (no
 data/level/layer stripped just like the .exe is without the sourcecode for
 example), because everything you need is there, visually explorable(maybe
 graph like) and even changeable, if you just need to know exactly how is
 some word(or even a pixel) on the screen connected to everything else for
 example you could dig in - I don't know how it would look and how to
 implement that so far, but i know I want it, and apparently I'm reluctant
 to accepting the status quo even though that's the only way to get there :/
 It can still be fast even though all the debug info (so to speak) and
 source code is tagged/connected to the binary code/offsets  I imagine.





 On Wed, May 22, 2013 at 6:51 PM, Mikera mike.r.anderson...@gmail.comwrote:

 On Wednesday, 22 May 2013 20:35:01 UTC+8, atkaaz wrote:

 thank you very much, my search has lead me to seeking a lisp that could
 compile to machine code (mainly because i cannot accept the 20-22 sec `lein
 repl` startup time and eclipse/ccw memory consumptions - so I was hoping
 for something fast even though the cost is portability and all else)


 The above strikes me as a slightly odd statement. Eclipse/CCW or lein
 repl startup times should be irrelevant because you should only be
 incurring them once, when starting a 

Re: asm-based clojure yet?

2013-05-18 Thread Gary Trakhman
Immutability, persistence, closures without a serious garbage collector
sounds hard.


On Sat, May 18, 2013 at 1:09 AM, atkaaz atk...@gmail.com wrote:

 Thanks very much everyone! I'm looking into all of those, but currently
 planning to read Julian's pdf. I didn't want to say anything until I had
 something definite, but just letting y'all know that I'm considering each
 recommendation.


 On Sat, May 18, 2013 at 7:12 AM, Julian juliangam...@gmail.com wrote:

 If you had a hobbyist interest in representing S-expressions in assembler
 - then you could take a look at the tutorial written by Abdulaziz Ghuloum
 called Compilers: Backend to Frontend and Back to Front Again. It used to
 be available here:
 http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I
 grabbed another copy and put it here:
 https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data
 structures, I don't recommend trying to implement them in ASM.

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
  Ok, weird question: is there some clojure port on assembler yet? Even
  if(/especially if) it doesn't have jvm/java/javalibs support
 
  Or should I just check 
  https://github.com/clojure/**clojure-clrhttps://github.com/clojure/clojure-clr?
 
  I'm mainly interested in low memory footprint and fast startup times
 (does
  clojure-clr have that?)

 You may want to check out ClojureScript, too. ClojureScript programs
 leveraging nodejs for host interop have fast startup times:

 
 https://github.com/clojure/**clojurescript/wikihttps://github.com/clojure/clojurescript/wiki

 --
 --**--**-
 a l a n   d.   s a l e w s k i   sale...@att.net
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
 --**--**-

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




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




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




Re: asm-based clojure yet?

2013-05-18 Thread atkaaz
your comment caused me to be reading this http://prog21.dadgum.com/134.html
  (at least)


On Sat, May 18, 2013 at 6:17 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 Immutability, persistence, closures without a serious garbage collector
 sounds hard.


 On Sat, May 18, 2013 at 1:09 AM, atkaaz atk...@gmail.com wrote:

 Thanks very much everyone! I'm looking into all of those, but currently
 planning to read Julian's pdf. I didn't want to say anything until I had
 something definite, but just letting y'all know that I'm considering each
 recommendation.


 On Sat, May 18, 2013 at 7:12 AM, Julian juliangam...@gmail.com wrote:

 If you had a hobbyist interest in representing S-expressions in
 assembler - then you could take a look at the tutorial written by Abdulaziz
 Ghuloum called Compilers: Backend to Frontend and Back to Front Again. It
 used to be available here:
 http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I
 grabbed another copy and put it here:
 https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data
 structures, I don't recommend trying to implement them in ASM.

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
  Ok, weird question: is there some clojure port on assembler yet? Even
  if(/especially if) it doesn't have jvm/java/javalibs support
 
  Or should I just check 
  https://github.com/clojure/**clojure-clrhttps://github.com/clojure/clojure-clr?
 
  I'm mainly interested in low memory footprint and fast startup times
 (does
  clojure-clr have that?)

 You may want to check out ClojureScript, too. ClojureScript programs
 leveraging nodejs for host interop have fast startup times:

 
 https://github.com/clojure/**clojurescript/wikihttps://github.com/clojure/clojurescript/wiki

 --
 --**--**-
 a l a n   d.   s a l e w s k i   sale...@att.net
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
 --**--**-

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




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




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




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

Re: asm-based clojure yet?

2013-05-18 Thread Gary Trakhman
It's hard to really appreciate java and clojure until you actually write
some C/C++ or ASM.. I have some minor experience with that stuff, and it
still haunts me from time to time.

Sometimes we make tradeoffs without knowing we did.  By choosing a
language, or having the choice made for us, we accept a set of abstractions
as our bottom level of thinking for a problem-space.  Only old-timers and
people that make a point to care about low-level stuff will notice the
implications of what they're doing along the abstraction stack.  People
with ingrained habits just won't find it easy to think functionally, but
I'm young and irreverent, so it doesn't bother me :-).

C++ is fun because of all the bolted-on kludges that 'mitigate' these
problems.  You can use operator-overloading on pointer operations to
perform automatic reference counting, deallocating objects when things that
point to them go out of scope, but I think implementing a PersistentHashMap
this way would be very difficult.  Also, pretty sure it can't handle cycles.

I guess the point is, I appreciate any effort to understand such issues,
it's been a useful thing for me to know in the 0.05% of time that knowledge
is needed.

But, people who don't know just won't be able to get past those problems.
 And, you generally can't easily find a _really_ full-stack guy to glance
at it for you when it would be useful to have one.

On Sat, May 18, 2013 at 11:24 AM, atkaaz atk...@gmail.com wrote:

 your comment caused me to be reading this
 http://prog21.dadgum.com/134.html
   (at least)


 On Sat, May 18, 2013 at 6:17 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 Immutability, persistence, closures without a serious garbage collector
 sounds hard.


 On Sat, May 18, 2013 at 1:09 AM, atkaaz atk...@gmail.com wrote:

 Thanks very much everyone! I'm looking into all of those, but currently
 planning to read Julian's pdf. I didn't want to say anything until I had
 something definite, but just letting y'all know that I'm considering each
 recommendation.


 On Sat, May 18, 2013 at 7:12 AM, Julian juliangam...@gmail.com wrote:

 If you had a hobbyist interest in representing S-expressions in
 assembler - then you could take a look at the tutorial written by Abdulaziz
 Ghuloum called Compilers: Backend to Frontend and Back to Front Again. It
 used to be available here:
 http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I
 grabbed another copy and put it here:
 https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data
 structures, I don't recommend trying to implement them in ASM.

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
  Ok, weird question: is there some clojure port on assembler yet?
 Even
  if(/especially if) it doesn't have jvm/java/javalibs support
 
  Or should I just check 
  https://github.com/clojure/**clojure-clrhttps://github.com/clojure/clojure-clr?
 
  I'm mainly interested in low memory footprint and fast startup times
 (does
  clojure-clr have that?)

 You may want to check out ClojureScript, too. ClojureScript programs
 leveraging nodejs for host interop have fast startup times:

 
 https://github.com/clojure/**clojurescript/wikihttps://github.com/clojure/clojurescript/wiki

 --
 --**--**-
 a l a n   d.   s a l e w s k i   sale...@att.net
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
 --**--**-

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




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

asm-based clojure yet?

2013-05-17 Thread atkaaz
Ok, weird question: is there some clojure port on assembler yet? Even
if(/especially if) it doesn't have jvm/java/javalibs support

Or should I just check https://github.com/clojure/clojure-clr ?

I'm mainly interested in low memory footprint and fast startup times (does
clojure-clr have that?)

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




Re: asm-based clojure yet?

2013-05-17 Thread Gary Trakhman
I think these qualify as low-footprint clojures:

https://github.com/clojure/clojurescript on node..
https://github.com/takeoutweight/clojure-scheme compiles to native
https://github.com/halgari/mjolnir llvm targets.


On Fri, May 17, 2013 at 7:10 AM, atkaaz atk...@gmail.com wrote:

 Ok, weird question: is there some clojure port on assembler yet? Even
 if(/especially if) it doesn't have jvm/java/javalibs support

 Or should I just check https://github.com/clojure/clojure-clr ?

 I'm mainly interested in low memory footprint and fast startup times (does
 clojure-clr have that?)

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




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




Re: asm-based clojure yet?

2013-05-17 Thread Alan D. Salewski
On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
 Ok, weird question: is there some clojure port on assembler yet? Even
 if(/especially if) it doesn't have jvm/java/javalibs support
 
 Or should I just check https://github.com/clojure/clojure-clr ?
 
 I'm mainly interested in low memory footprint and fast startup times (does
 clojure-clr have that?)

You may want to check out ClojureScript, too. ClojureScript programs
leveraging nodejs for host interop have fast startup times:

https://github.com/clojure/clojurescript/wiki

-- 
-
a l a n   d.   s a l e w s k i   salew...@att.net
1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
-

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




Re: asm-based clojure yet?

2013-05-17 Thread Julian
If you had a hobbyist interest in representing S-expressions in assembler - 
then you could take a look at the tutorial written by Abdulaziz Ghuloum 
called Compilers: Backend to Frontend and Back to Front Again. It used to 
be available 
here: http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

I don't know if it available anywhere else on the internet - but I grabbed 
another copy and put it 
here: 
https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

For a more serious representation of Clojure's persistent data structures, 
I don't recommend trying to implement them in ASM. 

Cheers
Julian

On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus: 
  Ok, weird question: is there some clojure port on assembler yet? Even 
  if(/especially if) it doesn't have jvm/java/javalibs support 
  
  Or should I just check https://github.com/clojure/clojure-clr ? 
  
  I'm mainly interested in low memory footprint and fast startup times 
 (does 
  clojure-clr have that?) 

 You may want to check out ClojureScript, too. ClojureScript programs 
 leveraging nodejs for host interop have fast startup times: 

 https://github.com/clojure/clojurescript/wiki 

 -- 
 - 
 a l a n   d.   s a l e w s k i   sale...@att.netjavascript: 
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588 
 - 


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




Re: asm-based clojure yet?

2013-05-17 Thread atkaaz
Thanks very much everyone! I'm looking into all of those, but currently
planning to read Julian's pdf. I didn't want to say anything until I had
something definite, but just letting y'all know that I'm considering each
recommendation.


On Sat, May 18, 2013 at 7:12 AM, Julian juliangam...@gmail.com wrote:

 If you had a hobbyist interest in representing S-expressions in assembler
 - then you could take a look at the tutorial written by Abdulaziz Ghuloum
 called Compilers: Backend to Frontend and Back to Front Again. It used to
 be available here:
 http://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf

 I don't know if it available anywhere else on the internet - but I grabbed
 another copy and put it here:
 https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0d=1

 For a more serious representation of Clojure's persistent data structures,
 I don't recommend trying to implement them in ASM.

 Cheers
 Julian


 On Friday, 17 May 2013 22:06:45 UTC+10, Alan D. Salewski wrote:

 On Fri, May 17, 2013 at 02:10:02PM +0300, atkaaz spake thus:
  Ok, weird question: is there some clojure port on assembler yet? Even
  if(/especially if) it doesn't have jvm/java/javalibs support
 
  Or should I just check 
  https://github.com/clojure/**clojure-clrhttps://github.com/clojure/clojure-clr?
 
  I'm mainly interested in low memory footprint and fast startup times
 (does
  clojure-clr have that?)

 You may want to check out ClojureScript, too. ClojureScript programs
 leveraging nodejs for host interop have fast startup times:

 
 https://github.com/clojure/**clojurescript/wikihttps://github.com/clojure/clojurescript/wiki

 --
 --**--**-
 a l a n   d.   s a l e w s k i   sale...@att.net
 1024D/FA2C3588 EDFA 195F EDF1 0933 1002  6396 7C92 5CB3 FA2C 3588
 --**--**-

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




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