Re: Neanderhal 0.8.0 released - includes Windows build

2016-10-09 Thread Dragan Djuric
Thank you for reporting broken links. They are fixed now. Anyway, it was 
broken only on the news release page, everything worked ok from anywhere 
else on the web site. Regarding the tutorials and docs, just follow the 
main page or the links in the menu.

On Monday, October 10, 2016 at 1:55:32 AM UTC+2, Sungjin Chun wrote:
>
> Hi, 
>
> First, thank you for your great library.
> Second, the tutorial link 
> http://neanderthal.uncomplicate.org/articles/news/articles/getting_started.html
>  
> in the release
> page is missing.
> Third, I'd tried to test some simple linear algebra code of my own such as 
> inverting matrix, however, I cannot figure
> out how to do this with neanderthal. Are there any docs on this simple 
> subjects?
>
> On Monday, October 10, 2016 at 1:40:19 AM UTC+9, Dragan Djuric wrote:
>>
>> Windows users should not feel left out from high-performance computing 
>> experience in Clojure. Neanderthal now comes ready for Linux, OS X, AND 
>> Windows, on all CPUs and AMD, Nvidia, and Intel GPUs!
>>
>> Greatest thanks go to Dejan Dosic (https://github.com/ddosic), who 
>> wrestled Windows peculiarities and found how to install GNU toolchain 
>> properly to make ATLAS build smooth on Windows.
>>
>> http://neanderthal.uncomplicate.org/articles/news/release-0.8.0.html
>>
>

-- 
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/d/optout.


[?] cljs-devtools vs. dirac DevTools

2016-10-09 Thread Philos Kim
Could anyone explain the difference between cljs-devtools and dirac 
DevTools?

And which one to use when?

https://github.com/binaryage/cljs-devtools

https://github.com/binaryage/dirac

Many thanks in advance.

-- 
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/d/optout.


Re: Neanderhal 0.8.0 released - includes Windows build

2016-10-09 Thread Sungjin Chun
Hi, 

First, thank you for your great library.
Second, the tutorial link 
http://neanderthal.uncomplicate.org/articles/news/articles/getting_started.html 
in the release
page is missing.
Third, I'd tried to test some simple linear algebra code of my own such as 
inverting matrix, however, I cannot figure
out how to do this with neanderthal. Are there any docs on this simple 
subjects?

On Monday, October 10, 2016 at 1:40:19 AM UTC+9, Dragan Djuric wrote:
>
> Windows users should not feel left out from high-performance computing 
> experience in Clojure. Neanderthal now comes ready for Linux, OS X, AND 
> Windows, on all CPUs and AMD, Nvidia, and Intel GPUs!
>
> Greatest thanks go to Dejan Dosic (https://github.com/ddosic), who 
> wrestled Windows peculiarities and found how to install GNU toolchain 
> properly to make ATLAS build smooth on Windows.
>
> http://neanderthal.uncomplicate.org/articles/news/release-0.8.0.html
>

-- 
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/d/optout.


Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-09 Thread Zach Oakes
I'll look into it. It looks like it's probably a dependency conflict. I'm 
using clojail to prevent the instaREPL from taking too long to run. It's 
using pretty old dependencies so I'll probably just fork and update it so 
this issue goes away.

On Sunday, October 9, 2016 at 2:21:54 PM UTC-4, Hari Krishnan wrote:
>
> Thanks for creating an editor like this.  I may have a good use case..
>>>
>>
> I followed the  updated instructions, and I am getting this error.  I am 
> on [org.clojure/clojure "1.8.0"]
>
> [2016-10-09 11:16:00,994][DEBUG][org.jboss.logging] Logging Provider: 
> org.jboss.logging.Log4jLoggerProvider
> Exception in thread "main" java.lang.IllegalAccessError: flatten-all does 
> not exist, compiling:(clojail/core.clj:1:1)
> at clojure.lang.Compiler.load(Compiler.java:7391)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:421)
> at eval_soup.core$eval42846$loading__5569__auto42847.invoke(core.clj:1)
> at eval_soup.core$eval42846.invokeStatic(core.clj:1)
> at eval_soup.core$eval42846.invoke(core.clj:1)
> at clojure.lang.Compiler.eval(Compiler.java:6927)
> at clojure.lang.Compiler.eval(Compiler.java:6916)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:1096)
> at 
> nightlight.core$eval42840$loading__5569__auto42841.invoke(core.clj:1)
> at nightlight.core$eval42840.invokeStatic(core.clj:1)
> at nightlight.core$eval42840.invoke(core.clj:1)
> at clojure.lang.Compiler.eval(Compiler.java:6927)
> at clojure.lang.Compiler.eval(Compiler.java:6916)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at user$eval42836.invokeStatic(form-init3168806215743400634.clj:1)
> at user$eval42836.invoke(form-init3168806215743400634.clj:1)
> at clojure.lang.Compiler.eval(Compi

Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-09 Thread Hari Krishnan

>
> Thanks for creating an editor like this.  I may have a good use case..
>>
>
I followed the  updated instructions, and I am getting this error.  I am on 
[org.clojure/clojure 
"1.8.0"]

[2016-10-09 11:16:00,994][DEBUG][org.jboss.logging] Logging Provider: 
org.jboss.logging.Log4jLoggerProvider
Exception in thread "main" java.lang.IllegalAccessError: flatten-all does 
not exist, compiling:(clojail/core.clj:1:1)
at clojure.lang.Compiler.load(Compiler.java:7391)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$require.invokeStatic(core.clj:5796)
at clojure.core$require.doInvoke(core.clj:5796)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at eval_soup.core$eval42846$loading__5569__auto42847.invoke(core.clj:1)
at eval_soup.core$eval42846.invokeStatic(core.clj:1)
at eval_soup.core$eval42846.invoke(core.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6916)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$require.invokeStatic(core.clj:5796)
at clojure.core$require.doInvoke(core.clj:5796)
at clojure.lang.RestFn.invoke(RestFn.java:1096)
at nightlight.core$eval42840$loading__5569__auto42841.invoke(core.clj:1)
at nightlight.core$eval42840.invokeStatic(core.clj:1)
at nightlight.core$eval42840.invoke(core.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6916)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$require.invokeStatic(core.clj:5796)
at clojure.core$require.doInvoke(core.clj:5796)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval42836.invokeStatic(form-init3168806215743400634.clj:1)
at user$eval42836.invoke(form-init3168806215743400634.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6927)
at clojure.lang.Compiler.eval(Compiler.java:6916)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.Compiler.loadFile(Compiler.java:7317)
at clojure.main$load_script.invokeStatic(main.clj:275)
at clojure.main$init_opt.invokeStatic(main.clj:277)
at clojure.main$init_opt.invoke(main.clj:277)
at clojure.main$initialize.invokeStatic(main.clj:308)
at clojure.main$null_opt.invokeStatic(main.clj:342)
at clojure.main$null_opt.invoke(main.clj:339)
at clojure.main$main.i

[ANN] Advenjure 0.3.0 - Interactive fiction in the terminal and the browser

2016-10-09 Thread Facundo Olano
Hi! I just released version 0.3.0 of the Advenjure engine for interactive
fiction games. The new version compiles both to Clojure and ClojureScript,
so the game can run in the terminal and the browser.

GitHub: https://github.com/facundoolano/advenjure
Clojars: https://clojars.org/advenjure
Leiningen: [advenjure "0.3.0"]

Live example: https://facundoolano.github.io/advenjure

Thanks,
Facundo.

-- 
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/d/optout.


Neanderhal 0.8.0 released - includes Windows build

2016-10-09 Thread Dragan Djuric
Windows users should not feel left out from high-performance computing 
experience in Clojure. Neanderthal now comes ready for Linux, OS X, AND 
Windows, on all CPUs and AMD, Nvidia, and Intel GPUs!

Greatest thanks go to Dejan Dosic (https://github.com/ddosic), who wrestled 
Windows peculiarities and found how to install GNU toolchain properly to 
make ATLAS build smooth on Windows.

http://neanderthal.uncomplicate.org/articles/news/release-0.8.0.html

-- 
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/d/optout.


Re: [ANN] Nightlight, an embedded editor for Clojure

2016-10-09 Thread Zach Oakes
And thanks to Shantanu Kumar there is already a Leiningen plugin! I 
updated the website to reflect that. That should make it much nicer to use 
in lein projects.

On Saturday, October 8, 2016 at 10:03:58 PM UTC-4, Zach Oakes wrote:
>
> Just when you thought I was done with my weird obsession with making 
> projects that start with “night”, I went and made another. This one is 
> called Nightlight, and it’s a Clojure editor with a unique twist: it is 
> meant to run *inside* your project, giving it direct access to the state of 
> your program. This might end up being a great idea, or an embarrassingly 
> stupid one.
>
> Website: https://sekao.net/nightlight/
>
> Github: https://github.com/oakes/Nightlight
>
> I’ve only been working on this for a few weeks. To explain the idea, I’ll 
> channel Uncle Bob and give it to you in the form of a socratic dialog 
> between myself (Z1) and myself from two weeks ago (Z2):
>
> Z2: Nightcode has a lot of crippling limitations. It has no code 
> completion, for starters. Its instaREPL is a toy, because it only works 
> with clojure core. Forget about refactoring support.
>
> Z1: It’s almost as if these are caused by the same core issue.
>
> Z2: Yeah almost. Anyway where was I...
>
> Z1: No, they actually are. Traditional editors and IDEs have the same 
> basic design -- they are standalone programs, so they have to use all sorts 
> of complicated maneuvers to understand your project. It’s a huge source of 
> complexity.
>
> Z2: What’s the alternative?
>
> Z1: Imagine completely reversing the relationship. Instead of an external 
> tool enveloping and running your program, what if your program ran your 
> development tool? What if they lived in the same process? Your editor would 
> have direct access to the state of your program, opening the doors to all 
> sorts of interactivity.
>
> Z2: So what’s the alternative?
>
> Z1: Are you serious? I just explained it.
>
> Z2: Right. Genius! Nobody has thought of this before.
>
> Z1: Plenty of people have, but for the most part those tools are not 
> mainstream. Various Lisp and Smalltalk tools blurred those lines. For 
> example, DrRacket can run your code in the same Racket instance that it is 
> running in.
>
> Z2: Doesn’t this mean if you crash your program, you crash your editor?
>
> Z1: Yeah...don’t do that.
>
> Z2: Got it. How do we build it? Should we just shoehorn Nightcode into 
> some kind of build task, so it pops up every time you start developing a 
> project?
>
> Z1: That would be pretty obnoxious, which I realize makes the idea more 
> appealing to you. But consider this: if it was a totally browser-based 
> editor, we could just run a little web server inside your project and the 
> user could interact with it via a browser.
>
> Z2: That sounds like a lot of work.
>
> Z1: Not really. Nightcode’s editor is already browser-based, so we just 
> need to make the rest of the interface. It should only take about a month, 
> or even less if a large hurricane happens to slam your city in the near 
> future, giving you nothing else to do but code and drink beer.
>
> Z2: Hah yeah that’s not going to happen.
>

-- 
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/d/optout.


Clojure advent calendar: call for contributions

2016-10-09 Thread James Laver
Hi all,

In the model of http://perladvent.org/2015/ and many other "let's look at a 
programming shiny every day" projects, I thought I'd try to do a clojure 
advent this year. The overall theme for this year is planned to be a 
showcase libraries available on clojars, so every day we'll do something 
practical/fun/astonishing/elegant with a library or two from clojars.

If you're interested in contributing a day, please let me know offlist. Let 
your imagination run wild and let's get some people wanting clojure books 
for christmas!

Cheers,
James

-- 
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/d/optout.


Re: newbee mystery

2016-10-09 Thread Colin Yates
I wouldn't say it is different, only that the REPL is doing an extra
step (printing) which forces the evaluation of that lazy sequence. As
James mentions, your code can force the evaluation of a lazy sequence
using doseq or dorun.

Lazy sequences are great when you get used to them but they can trip
people up, particularly in the fact that often a fn will return a lazy
seq which is then processed into another lazy seq which is then
processed into another lazy seq etc. etc. Finally it is evaluated and
an exception is thrown, and whilst the stack trace will contain the
call site that threw the exception it may be far away from the fn that
actually evaluates the seq.

You might also want to ensure that your REPL has a sensible value for
*print-length* (https://clojuredocs.org/clojure.core/*print-length*)
which stops the REPL evaluating the entire lazy sequence.

Without it, (range) will do nothing in your code but will blow up your
REPL :-).

On 9 October 2016 at 03:29, Phil Virgo  wrote:
> Thanks James.  So the repl behaves differently from some compiled code -
> good to know!
>
> I don't yet know about the "safe" issues "read-eval".  This came with the
> little template built by lein.  But I'll read up on it.
>
> On Saturday, October 8, 2016 at 10:11:29 PM UTC-4, James Reeves wrote:
>>
>>
>>
>> On 9 October 2016 at 03:00, Phil Virgo  wrote:
>>>
>>> WHY?
>>>
>>> The following prints 1/n 2/n 3/n fine in the repl
>>>
>>> (for [f [1 2 3]] (println f))
>>>
>>> But does nothing in this lein project (the "Hello World???" does print)
>>>
>>> (ns slide.core
>>>   (:gen-class))
>>>
>>> (defn -main
>>>   [& args]
>>>   ;; work around dangerous default behaviour in Clojure
>>>   (alter-var-root #'*read-eval* (constantly false))
>>> (for [f [1 2 3]] (println f))
>>>   (println "Hello, World??"))
>>
>>
>> The "for" macro is lazy. It only evaluates the items in the list when it's
>> consumed. You want the "doseq" macro instead, which is used for
>> side-effects.
>>
>> Incidentally, setting *read-eval* to false doesn't make clojure.core/read
>> safe. You should always consider clojure.core/read to be unsafe for use with
>> data from sources you don't control. Instead use something like
>> clojure.edn/read, which is designed to be safe.
>>
>> - James
>
> --
> 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/d/optout.

-- 
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/d/optout.