Re: [ANN] Clojure 1.10 has been released!

2018-12-17 Thread Alex Miller
Here's a bit longer writeup on the error message changes, not exhaustive 
but should give you more of the intent...

http://insideclojure.org/2018/12/17/errors/


On Monday, December 17, 2018 at 11:30:01 AM UTC-6, Alex Miller wrote:
>
> Clojure 1.10 focuses on two major areas: improved error reporting and Java 
> compatibility.
>
>
> Error reporting at the REPL now categorizes 
>  errors 
> based on their phase of execution (read, macroexpand, compile, etc). Errors 
> carry additional information about location and context as data, and 
> present phase-specific error messages with better location reporting. This 
> functionality is built into the clojure.main REPL, but the functionality is 
> also available to other REPLs and tools with the ability to use and/or 
> modify the data to produce better error messages.
>
>
> Clojure 1.10 now requires Java 8 or above and has been updated 
> particularly for compatibility with Java 8 and Java 11. Changes included 
> bytecode-related bug fixes, removed use of deprecated APIs, and updates 
> related to the module system introduced in Java 9.
>
>
> See the change log 
> 
>  
> for a complete list of all fixes, enhancements, and new features in Clojure 
> 1.10.
>
>
> Thanks to all of the community members who contributed patches to Clojure 
> 1.10 (first time contributors in bold):
>
>
>- 
> *Alexander Kiel *
>- *Ben Bader*
>- Bruce Adams
>- *Cezary Kosko*
>- Erik Assum
>- *Eugene Kostenko*
>- Ghadi Shayban
>- *Gijs Stuurman*
>- Jozef Wagner
>- 
> *Kwang Yul Seo *
>- *Matthew Gilliard*
>- Michał Marczyk
>- Nicola Mometto
>- Nikita Prokopov
>- 
> *Sean Corfield *
>- *Sebastien Martel*
>- Shogo Ohta
>- Stuart Sierra
>
>

-- 
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: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread Laurens Van Houtven
Hi,

On Mon, Dec 17, 2018 at 3:46 PM  wrote:

> Laurens Van Houtven, good ideas, but then I'd also have to write some code
> to catch documents that got lost when a process died while trying to fetch
> a document from S3. If I simply check every 15 minutes, and grab everything
> that has not already been stored in the database, then I automatically
> fetch documents that were dropped due to error. It seems simple. In my
> current case, there is no penalty for fetching the same document twice, but
> it is important that we avoid missing a document.
>

I'm not sure why that makes my suggestions not work: you  create a
CloudWatch Event that just fires every 15 minutes :-) Heck, you can write
one that fires on S3 write, and then another that fires on cloudwatch
errors for when that process dies :-) But I'd probably just use a
CloudWatch event that fires every 15 minute sand run your code as an ECS
Fargate job.

lvh


>
>
> On Monday, December 17, 2018 at 2:59:22 PM UTC-5, Laurens Van Houtven
> wrote:
>>
>> Honestly I'd use CloudWatch Timed Events to kick off a Lambda or ECS
>> Fargate job (which of course you can write in Clojure) assuming you're
>> using AWS yourself anyway. If you don't care about batching maybe even just
>> attach a Lambda to the write-to-S3 bucket itself instead of checking every
>> 15m?
>>
>> If you want to do it in-process, my tool of choice is ztellman's
>> manifold:
>> https://github.com/ztellman/manifold/blob/d67a8c1b9f1268c094895d70dbbf146521f5774b/src/manifold/time.clj
>>
>> On Mon, Dec 17, 2018 at 1:54 PM  wrote:
>>
>>> I'm coming back to Clojure development after a year away. This is a fast
>>> moving community and it is hard to keep up when one is not working on it
>>> full time. I'm dusting off some code I wrote 2 years ago, and trying to
>>> bring all the dependencies up to their current versions.
>>>
>>> I have a function that fetches files from an AWS S3 bucket, every 15
>>> minutes. I had previously used the at-at library for this:
>>>
>>> https://github.com/overtone/at-at
>>>
>>> But at-at has not been updated in 6 years, so I assume it is abandoned.
>>> I have two questions about this:
>>>
>>> 1.) how else do Clojure programmers usually call recurring
>>> functionality?
>>>
>>> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a
>>> fundamental level, how does at-at work? I know that if a function calls
>>> itself recurringly, on the JVM, one eventually gets stackoverflow. So how
>>> does at-at make its magic work?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@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+u...@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+u...@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.
>

-- 
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.


[ANN] Insn 0.4.0 - Functional JVM bytecode generation for Clojure

2018-12-17 Thread jgpc42
Insn (github link ) provides a 
data-oriented abstraction over the ASM  bytecode 
generation library, the same library that Clojure uses for bytecode 
emission.

Some of the new features since 0.3.0:

   - Constant Dynamic support.
   - ASM upgraded to 7.0.

Additional information is available via the docs 
 or wiki 
. The full changelog is available here 
.

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Michael Glaesemann



> On 2018–12–17, at 17:12, Sean Corfield  wrote:
> 
> I'm not touching it until Sean Corfield has it running in production ;)
>  
> We have a mix of RC3 and RC4 in production right now. Clojure 1.10 “gold” is 
> already on QA so it’ll go to production in the next few days 
>  
> And, yeah, this was the first release of Clojure itself that I got a patch 
> into… and it was just a backport of a patch from the ASM Java code, so it 
> wasn’t really even my contribution!

Thanks, Sean :)

Michael Glaesemann
grzm seespotcode net



-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Sean Corfield
I'm not touching it until Sean Corfield has it running in production ;)

We have a mix of RC3 and RC4 in production right now. Clojure 1.10 “gold” is 
already on QA so it’ll go to production in the next few days 

And, yeah, this was the first release of Clojure itself that I got a patch 
into… and it was just a backport of a patch from the ASM Java code, so it 
wasn’t really even my contribution!

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood


From: clojure@googlegroups.com  on behalf of 
peterhul...@gmail.com 
Sent: Monday, December 17, 2018 12:55:24 PM
To: Clojure
Subject: Re: [ANN] Clojure 1.10 has been released!

On Monday, 17 December 2018 17:30:01 UTC, Alex Miller wrote:

Clojure 1.10 focuses on two major areas: improved error reporting and Java 
compatibility.


I'm not touching it until Sean Corfield has it running in production ;)

Seriously, well done everyone and thank you!


--
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.


Re: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread Adam Clements
I think iirc that at-at uses scheduledexecutor and is a very simple and
stable library which only does one thing, but does it well and has no
feature requests. I wrote schejulure which does a very similar job but with
cron style time specifications rather than periodic and haven't touched it
for years because it just works and even though it's used in production
nobody has found any issues or needed it to do anything it doesn't already
do. I think the same is probably true of at-at.

Adam

On Mon, 17 Dec 2018, 9:46 pm  James Reeves, that does sound like the right way to go. I'll do that.
>
>
> On Monday, December 17, 2018 at 3:31:01 PM UTC-5, James Reeves wrote:
>>
>>
>> I'd use an executor:
>>
>>   (ns example.main
>> (:import [java.util.concurrent Executors TimeUnit]))
>>
>>   (def scheduler
>> (Executors/newScheduledThreadPool 32))
>>
>>   (defn fetch-files []
>> (println "Fetching files...))
>>
>>   (defn -main []
>> (.scheduleAtFixedRate scheduler ^Runnable fetch-files 15 15
>> TimeUnit/MINUTES))
>>
>> On Mon, 17 Dec 2018 at 20:14,  wrote:
>>
>>> I'm coming back to Clojure development after a year away. This is a fast
>>> moving community and it is hard to keep up when one is not working on it
>>> full time. I'm dusting off some code I wrote 2 years ago, and trying to
>>> bring all the dependencies up to their current versions.
>>>
>>> I have a function that fetches files from an AWS S3 bucket, every 15
>>> minutes. I had previously used the at-at library for this:
>>>
>>> https://github.com/overtone/at-at
>>>
>>> But at-at has not been updated in 6 years, so I assume it is abandoned.
>>> I have two questions about this:
>>>
>>> 1.) how else do Clojure programmers usually call recurring
>>> functionality?
>>>
>>> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a
>>> fundamental level, how does at-at work? I know that if a function calls
>>> itself recurringly, on the JVM, one eventually gets stackoverflow. So how
>>> does at-at make its magic work?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>> --
>> James Reeves
>> booleanknot.com
>>
> --
> 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.


Re: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread lawrence . krubner
Laurens Van Houtven, good ideas, but then I'd also have to write some code 
to catch documents that got lost when a process died while trying to fetch 
a document from S3. If I simply check every 15 minutes, and grab everything 
that has not already been stored in the database, then I automatically 
fetch documents that were dropped due to error. It seems simple. In my 
current case, there is no penalty for fetching the same document twice, but 
it is important that we avoid missing a document. 



On Monday, December 17, 2018 at 2:59:22 PM UTC-5, Laurens Van Houtven wrote:
>
> Honestly I'd use CloudWatch Timed Events to kick off a Lambda or ECS 
> Fargate job (which of course you can write in Clojure) assuming you're 
> using AWS yourself anyway. If you don't care about batching maybe even just 
> attach a Lambda to the write-to-S3 bucket itself instead of checking every 
> 15m?
>
> If you want to do it in-process, my tool of choice is ztellman's manifold: 
> https://github.com/ztellman/manifold/blob/d67a8c1b9f1268c094895d70dbbf146521f5774b/src/manifold/time.clj
>
> On Mon, Dec 17, 2018 at 1:54 PM > 
> wrote:
>
>> I'm coming back to Clojure development after a year away. This is a fast 
>> moving community and it is hard to keep up when one is not working on it 
>> full time. I'm dusting off some code I wrote 2 years ago, and trying to 
>> bring all the dependencies up to their current versions. 
>>
>> I have a function that fetches files from an AWS S3 bucket, every 15 
>> minutes. I had previously used the at-at library for this:
>>
>> https://github.com/overtone/at-at
>>
>> But at-at has not been updated in 6 years, so I assume it is abandoned. I 
>> have two questions about this:
>>
>> 1.) how else do Clojure programmers usually call recurring functionality? 
>>
>> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a 
>> fundamental level, how does at-at work? I know that if a function calls 
>> itself recurringly, on the JVM, one eventually gets stackoverflow. So how 
>> does at-at make its magic work? 
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@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.


Re: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread lawrence . krubner
James Reeves, that does sound like the right way to go. I'll do that. 


On Monday, December 17, 2018 at 3:31:01 PM UTC-5, James Reeves wrote:
>
>
> I'd use an executor:
>
>   (ns example.main
> (:import [java.util.concurrent Executors TimeUnit]))
>
>   (def scheduler
> (Executors/newScheduledThreadPool 32))
>
>   (defn fetch-files []
> (println "Fetching files...))
>
>   (defn -main []
> (.scheduleAtFixedRate scheduler ^Runnable fetch-files 15 15 
> TimeUnit/MINUTES))
>
> On Mon, 17 Dec 2018 at 20:14, > wrote:
>
>> I'm coming back to Clojure development after a year away. This is a fast 
>> moving community and it is hard to keep up when one is not working on it 
>> full time. I'm dusting off some code I wrote 2 years ago, and trying to 
>> bring all the dependencies up to their current versions. 
>>
>> I have a function that fetches files from an AWS S3 bucket, every 15 
>> minutes. I had previously used the at-at library for this:
>>
>> https://github.com/overtone/at-at
>>
>> But at-at has not been updated in 6 years, so I assume it is abandoned. I 
>> have two questions about this:
>>
>> 1.) how else do Clojure programmers usually call recurring functionality? 
>>
>> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a 
>> fundamental level, how does at-at work? I know that if a function calls 
>> itself recurringly, on the JVM, one eventually gets stackoverflow. So how 
>> does at-at make its magic work? 
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> -- 
> James Reeves
> booleanknot.com
>

-- 
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.


[ANN] better-cond 2.0.2

2018-12-17 Thread Mark Engelberg
https://github.com/engelberg/better-cond

better-cond allows for :let bindings inside of cond, as well as a handful
of other goodies that provide for clearer, more readable code by minimizing
"rightward drift".

With the release of Clojure 1.10, I took this opportunity to bump the
dependencies and provide a non-snapshot release.

-- 
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] Oz 1.4.0 - Interactive data visualizations and scientific documents with Vega/Vega-Lite

2018-12-17 Thread Christopher Small
Good catch! The examples page was split up into separate pages for Vega vs 
Vega-Lite, and I just updated the README to reflect this.

Thanks for taking a look and letting me know!

Chris


On Monday, December 17, 2018 at 12:45:34 PM UTC-8, Colin Yates wrote:
>
> Looks great! The link to examples (https://vega.github.io/examples) 404s.
>
> Sent from my iPhone
>
> On 17 Dec 2018, at 20:41, Christopher Small  > wrote:
>
>
> Greetings!
>
> I'm happy to announce today the release of Oz 1.4.0.
>
> https://github.com/metasoarous/oz
>
> If you're on the Slack #datascience channel, you may have already caught 
> wind of some earlier versions. But in the interest of introducing it more 
> broadly, I'm posting an overview here for those of you who aren't familiar. 
> If you *are* familiar, you may still wish to scroll down to the bottom as 
> there are some new features available in the latest release.
>
>
> *Vega & Vega-Lite*
>
> Oz is based on the fantastic Vega & Vega-Lite data visualization JS 
> libraries, and so to really understand what Oz has to offer, it's best to 
> start here. Vega & Vega-Lite are based on the seminal Grammar of Graphics, 
> an approach to data visualization which emphasizes writing declarative 
> descriptions of how properties of data should translate to aesthetic 
> attributes of a visualization. This approach guided the design of the R's 
> popular ggplot2 library, and has since influenced numerous libraries in 
> other languages.
>
> Vega & Vega-Lite take this vision further in two important ways:
>
>1. In Vega & Vega-Lite, data visualizations are described using *pure 
>data*. This makes it more declarative, and confers all the benefits we 
>know and love about data-driven programming in Clojure. For instance, you 
>can send a chunk of Vega or Vega-Lite data over the wire from one program 
>to another effortlessly (as Oz does), and load it up in another process 
>without having to worry about the security concerns of executing someone 
>else's code. The bottom line is that Vega & Vega-Lite are philosophically 
>and technically compatible with "the Clojure way" (IT'S. JUST. DATA.).
>2. Vega & Vega-Lite take the Grammar of Graphics one step further by 
>introducing a Grammar of Interaction. You can declaratively describe the 
>addition of controls (dropdowns, checkboxes, etc) and interactive 
>properties of the visualization itself (click, hover, etc), and use the 
>data from these interactions to inform other parts of a visualization. For 
>example, you might highlight a set of points in one part of a 
>visualization, and display summary statistics about that selection in 
>another. This is facilitated in part by a general purpose dataflow 
> language 
>as part of the greater spec.
>
> Vega itself is highly customizable and flexible, but somewhat verbose and 
> not suitable for day to day visualization tasks. Vega-Lite steps in as a 
> somewhat higher level and more automated flavor which itself compiles down 
> to Vega. I have been using them together for a better part of a year now, 
> and can say without reservation that they are amazing. For years I've 
> longed for a ggplot2 from Clojure, and at long last I've found something 
> that to my surprise has not only matched, but truly surpassed the standard 
> bearer. In short, I'm sold.
>
> If you want to get a better sense of Vega, and Vega-Lite in particular, 
> I'd recommend this great talk from the creators at the Interactive Data Lab 
> at the University of Washington in Seattle: 
> https://www.youtube.com/watch?v=9uaHRWj04D4
>
> If you're interested in a (mostly) more philosophical look at Vega & 
> Vega-Lite, and their connections to Clojure philosophy, I did a little talk 
> at a local Clojure meetup which you may find interesting: 
> https://www.youtube.com/watch?v=hXq5Bb40zZY=815s
>
>
> *Oz*
>
> Oz itself is a very small and focused library, as most of the work falls 
> on Vega & Vega-Lite. It offers the following features:
>
>- A REPL API for for pushing vega and vega-lite data to a browser 
>window over websockets, for REPL-based data science workflows
>- Client side vega and vega-lite Reagent components, for more dynamic 
>usage from ClojureScript apps
>- A grammar for composing Vega & Vega-Lite together in the context of 
>html as hiccup, for document and dashboard generation
>- Plot/document publishing/sharing features via GitHub gists, the 
>IDL's live vega editor , and the new 
>http://ozviz.io
>
> The last two features in particular are where Oz really brings some 
> interesting value to the table beyond the role of a minimal wrapper. I have 
> found the ability to create and quickly share visualizations and scientific 
> documents from the comfort of my favorite text editor and REPL a godsend. 
> While the first several years of my programming experience were in notebook 
> 

Re: [ANN] Clojure 1.10 has been released!

2018-12-17 Thread Alex Miller


On Monday, December 17, 2018 at 2:55:24 PM UTC-6, peter...@gmail.com wrote:
>
> On Monday, 17 December 2018 17:30:01 UTC, Alex Miller wrote:
>>
>> Clojure 1.10 focuses on two major areas: improved error reporting and 
>> Java compatibility.
>>
>>
>> I'm not touching it until Sean Corfield has it running in production ;)
>


TRUTH 

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread peterhull90
On Monday, 17 December 2018 17:30:01 UTC, Alex Miller wrote:
>
> Clojure 1.10 focuses on two major areas: improved error reporting and Java 
> compatibility.
>
>
> I'm not touching it until Sean Corfield has it running in production ;)

Seriously, well done everyone and thank you!

-- 
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] Oz 1.4.0 - Interactive data visualizations and scientific documents with Vega/Vega-Lite

2018-12-17 Thread Colin Yates
Looks great! The link to examples (https://vega.github.io/examples) 404s.

Sent from my iPhone

> On 17 Dec 2018, at 20:41, Christopher Small  wrote:
> 
> 
> Greetings!
> 
> I'm happy to announce today the release of Oz 1.4.0.
> 
> https://github.com/metasoarous/oz
> 
> If you're on the Slack #datascience channel, you may have already caught wind 
> of some earlier versions. But in the interest of introducing it more broadly, 
> I'm posting an overview here for those of you who aren't familiar. If you are 
> familiar, you may still wish to scroll down to the bottom as there are some 
> new features available in the latest release.
> 
> 
> Vega & Vega-Lite
> 
> Oz is based on the fantastic Vega & Vega-Lite data visualization JS 
> libraries, and so to really understand what Oz has to offer, it's best to 
> start here. Vega & Vega-Lite are based on the seminal Grammar of Graphics, an 
> approach to data visualization which emphasizes writing declarative 
> descriptions of how properties of data should translate to aesthetic 
> attributes of a visualization. This approach guided the design of the R's 
> popular ggplot2 library, and has since influenced numerous libraries in other 
> languages.
> 
> Vega & Vega-Lite take this vision further in two important ways:
> In Vega & Vega-Lite, data visualizations are described using pure data. This 
> makes it more declarative, and confers all the benefits we know and love 
> about data-driven programming in Clojure. For instance, you can send a chunk 
> of Vega or Vega-Lite data over the wire from one program to another 
> effortlessly (as Oz does), and load it up in another process without having 
> to worry about the security concerns of executing someone else's code. The 
> bottom line is that Vega & Vega-Lite are philosophically and technically 
> compatible with "the Clojure way" (IT'S. JUST. DATA.).
> Vega & Vega-Lite take the Grammar of Graphics one step further by introducing 
> a Grammar of Interaction. You can declaratively describe the addition of 
> controls (dropdowns, checkboxes, etc) and interactive properties of the 
> visualization itself (click, hover, etc), and use the data from these 
> interactions to inform other parts of a visualization. For example, you might 
> highlight a set of points in one part of a visualization, and display summary 
> statistics about that selection in another. This is facilitated in part by a 
> general purpose dataflow language as part of the greater spec.
> Vega itself is highly customizable and flexible, but somewhat verbose and not 
> suitable for day to day visualization tasks. Vega-Lite steps in as a somewhat 
> higher level and more automated flavor which itself compiles down to Vega. I 
> have been using them together for a better part of a year now, and can say 
> without reservation that they are amazing. For years I've longed for a 
> ggplot2 from Clojure, and at long last I've found something that to my 
> surprise has not only matched, but truly surpassed the standard bearer. In 
> short, I'm sold.
> 
> If you want to get a better sense of Vega, and Vega-Lite in particular, I'd 
> recommend this great talk from the creators at the Interactive Data Lab at 
> the University of Washington in Seattle: 
> https://www.youtube.com/watch?v=9uaHRWj04D4
> 
> If you're interested in a (mostly) more philosophical look at Vega & 
> Vega-Lite, and their connections to Clojure philosophy, I did a little talk 
> at a local Clojure meetup which you may find interesting: 
> https://www.youtube.com/watch?v=hXq5Bb40zZY=815s
> 
> 
> Oz
> 
> Oz itself is a very small and focused library, as most of the work falls on 
> Vega & Vega-Lite. It offers the following features:
> A REPL API for for pushing vega and vega-lite data to a browser window over 
> websockets, for REPL-based data science workflows
> Client side vega and vega-lite Reagent components, for more dynamic usage 
> from ClojureScript apps
> A grammar for composing Vega & Vega-Lite together in the context of html as 
> hiccup, for document and dashboard generation
> Plot/document publishing/sharing features via GitHub gists, the IDL's live 
> vega editor, and the new http://ozviz.io
> The last two features in particular are where Oz really brings some 
> interesting value to the table beyond the role of a minimal wrapper. I have 
> found the ability to create and quickly share visualizations and scientific 
> documents from the comfort of my favorite text editor and REPL a godsend. 
> While the first several years of my programming experience were in notebook 
> environments (Mathematica, MATLAB, Sage, etc), I now find the experience of 
> writing and executing code from a web application a burden. Part of my goal 
> with Oz was to create a viable alternative to this workflow, and so far I've 
> been very pleased. The last piece to this now in place (the ability to share 
> hiccup+vega documents via http://ozviz.io), I'm excited to put this work out 
> more broadly 

[ANN] Oz 1.4.0 - Interactive data visualizations and scientific documents with Vega/Vega-Lite

2018-12-17 Thread Christopher Small

Greetings!

I'm happy to announce today the release of Oz 1.4.0.

https://github.com/metasoarous/oz

If you're on the Slack #datascience channel, you may have already caught 
wind of some earlier versions. But in the interest of introducing it more 
broadly, I'm posting an overview here for those of you who aren't familiar. 
If you *are* familiar, you may still wish to scroll down to the bottom as 
there are some new features available in the latest release.


*Vega & Vega-Lite*

Oz is based on the fantastic Vega & Vega-Lite data visualization JS 
libraries, and so to really understand what Oz has to offer, it's best to 
start here. Vega & Vega-Lite are based on the seminal Grammar of Graphics, 
an approach to data visualization which emphasizes writing declarative 
descriptions of how properties of data should translate to aesthetic 
attributes of a visualization. This approach guided the design of the R's 
popular ggplot2 library, and has since influenced numerous libraries in 
other languages.

Vega & Vega-Lite take this vision further in two important ways:

   1. In Vega & Vega-Lite, data visualizations are described using *pure 
   data*. This makes it more declarative, and confers all the benefits we 
   know and love about data-driven programming in Clojure. For instance, you 
   can send a chunk of Vega or Vega-Lite data over the wire from one program 
   to another effortlessly (as Oz does), and load it up in another process 
   without having to worry about the security concerns of executing someone 
   else's code. The bottom line is that Vega & Vega-Lite are philosophically 
   and technically compatible with "the Clojure way" (IT'S. JUST. DATA.).
   2. Vega & Vega-Lite take the Grammar of Graphics one step further by 
   introducing a Grammar of Interaction. You can declaratively describe the 
   addition of controls (dropdowns, checkboxes, etc) and interactive 
   properties of the visualization itself (click, hover, etc), and use the 
   data from these interactions to inform other parts of a visualization. For 
   example, you might highlight a set of points in one part of a 
   visualization, and display summary statistics about that selection in 
   another. This is facilitated in part by a general purpose dataflow language 
   as part of the greater spec.

Vega itself is highly customizable and flexible, but somewhat verbose and 
not suitable for day to day visualization tasks. Vega-Lite steps in as a 
somewhat higher level and more automated flavor which itself compiles down 
to Vega. I have been using them together for a better part of a year now, 
and can say without reservation that they are amazing. For years I've 
longed for a ggplot2 from Clojure, and at long last I've found something 
that to my surprise has not only matched, but truly surpassed the standard 
bearer. In short, I'm sold.

If you want to get a better sense of Vega, and Vega-Lite in particular, I'd 
recommend this great talk from the creators at the Interactive Data Lab at 
the University of Washington in Seattle: 
https://www.youtube.com/watch?v=9uaHRWj04D4

If you're interested in a (mostly) more philosophical look at Vega & 
Vega-Lite, and their connections to Clojure philosophy, I did a little talk 
at a local Clojure meetup which you may find interesting: 
https://www.youtube.com/watch?v=hXq5Bb40zZY=815s


*Oz*

Oz itself is a very small and focused library, as most of the work falls on 
Vega & Vega-Lite. It offers the following features:

   - A REPL API for for pushing vega and vega-lite data to a browser window 
   over websockets, for REPL-based data science workflows
   - Client side vega and vega-lite Reagent components, for more dynamic 
   usage from ClojureScript apps
   - A grammar for composing Vega & Vega-Lite together in the context of 
   html as hiccup, for document and dashboard generation
   - Plot/document publishing/sharing features via GitHub gists, the IDL's 
   live vega editor , and the new 
   http://ozviz.io

The last two features in particular are where Oz really brings some 
interesting value to the table beyond the role of a minimal wrapper. I have 
found the ability to create and quickly share visualizations and scientific 
documents from the comfort of my favorite text editor and REPL a godsend. 
While the first several years of my programming experience were in notebook 
environments (Mathematica, MATLAB, Sage, etc), I now find the experience of 
writing and executing code from a web application a burden. Part of my goal 
with Oz was to create a viable alternative to this workflow, and so far 
I've been very pleased. The last piece to this now in place (the ability to 
share hiccup+vega documents via http://ozviz.io), I'm excited to put this 
work out more broadly and hear what the community thinks about this 
approach to the creation and sharing of scientific documents.

There are some other updates and improvements which those of you familiar 

Re: [ANN] Clojure 1.10 has been released!

2018-12-17 Thread Mark Engelberg
I'm excited by the new improvements.  Thanks!

On Mon, Dec 17, 2018 at 12:29 PM Tom Connors  wrote:

> Thanks a bunch to everyone involved. Your work is greatly appreciated!
>
> On Monday, December 17, 2018 at 12:30:01 PM UTC-5, Alex Miller wrote:
>>
>> Clojure 1.10 focuses on two major areas: improved error reporting and
>> Java compatibility.
>>
>>
>> Error reporting at the REPL now categorizes
>>  errors
>> based on their phase of execution (read, macroexpand, compile, etc). Errors
>> carry additional information about location and context as data, and
>> present phase-specific error messages with better location reporting. This
>> functionality is built into the clojure.main REPL, but the functionality is
>> also available to other REPLs and tools with the ability to use and/or
>> modify the data to produce better error messages.
>>
>>
>> Clojure 1.10 now requires Java 8 or above and has been updated
>> particularly for compatibility with Java 8 and Java 11. Changes included
>> bytecode-related bug fixes, removed use of deprecated APIs, and updates
>> related to the module system introduced in Java 9.
>>
>>
>> See the change log
>> 
>> for a complete list of all fixes, enhancements, and new features in Clojure
>> 1.10.
>>
>>
>> Thanks to all of the community members who contributed patches to Clojure
>> 1.10 (first time contributors in bold):
>>
>>
>>-
>> *Alexander Kiel *
>>- *Ben Bader*
>>- Bruce Adams
>>- *Cezary Kosko*
>>- Erik Assum
>>- *Eugene Kostenko*
>>- Ghadi Shayban
>>- *Gijs Stuurman*
>>- Jozef Wagner
>>-
>> *Kwang Yul Seo *
>>- *Matthew Gilliard*
>>- Michał Marczyk
>>- Nicola Mometto
>>- Nikita Prokopov
>>-
>> *Sean Corfield *
>>- *Sebastien Martel*
>>- Shogo Ohta
>>- Stuart Sierra
>>
>> --
> 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.


Re: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread James Reeves
I'd use an executor:

  (ns example.main
(:import [java.util.concurrent Executors TimeUnit]))

  (def scheduler
(Executors/newScheduledThreadPool 32))

  (defn fetch-files []
(println "Fetching files...))

  (defn -main []
(.scheduleAtFixedRate scheduler ^Runnable fetch-files 15 15
TimeUnit/MINUTES))

On Mon, 17 Dec 2018 at 20:14,  wrote:

> I'm coming back to Clojure development after a year away. This is a fast
> moving community and it is hard to keep up when one is not working on it
> full time. I'm dusting off some code I wrote 2 years ago, and trying to
> bring all the dependencies up to their current versions.
>
> I have a function that fetches files from an AWS S3 bucket, every 15
> minutes. I had previously used the at-at library for this:
>
> https://github.com/overtone/at-at
>
> But at-at has not been updated in 6 years, so I assume it is abandoned. I
> have two questions about this:
>
> 1.) how else do Clojure programmers usually call recurring functionality?
>
> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a
> fundamental level, how does at-at work? I know that if a function calls
> itself recurringly, on the JVM, one eventually gets stackoverflow. So how
> does at-at make its magic work?
>
> --
> 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.
>


-- 
James Reeves
booleanknot.com

-- 
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: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread Tim Visher
On Mon, Dec 17, 2018 at 2:54 PM  wrote:

> But at-at has not been updated in 6 years, so I assume it is abandoned. I
> have two questions about this:
>

A common bit of wisdom here in the Clojure community is that time since
last update is not always (or even often) a sign of abandonment but instead
of stability. If there are many and recent open issues on at-at then maybe
it's been abandoned. Or it could just be stable.

Disclaimer, I don't know much about at-at.

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Tom Connors
Thanks a bunch to everyone involved. Your work is greatly appreciated!

On Monday, December 17, 2018 at 12:30:01 PM UTC-5, Alex Miller wrote:
>
> Clojure 1.10 focuses on two major areas: improved error reporting and Java 
> compatibility.
>
>
> Error reporting at the REPL now categorizes 
>  errors 
> based on their phase of execution (read, macroexpand, compile, etc). Errors 
> carry additional information about location and context as data, and 
> present phase-specific error messages with better location reporting. This 
> functionality is built into the clojure.main REPL, but the functionality is 
> also available to other REPLs and tools with the ability to use and/or 
> modify the data to produce better error messages.
>
>
> Clojure 1.10 now requires Java 8 or above and has been updated 
> particularly for compatibility with Java 8 and Java 11. Changes included 
> bytecode-related bug fixes, removed use of deprecated APIs, and updates 
> related to the module system introduced in Java 9.
>
>
> See the change log 
> 
>  
> for a complete list of all fixes, enhancements, and new features in Clojure 
> 1.10.
>
>
> Thanks to all of the community members who contributed patches to Clojure 
> 1.10 (first time contributors in bold):
>
>
>- 
> *Alexander Kiel *
>- *Ben Bader*
>- Bruce Adams
>- *Cezary Kosko*
>- Erik Assum
>- *Eugene Kostenko*
>- Ghadi Shayban
>- *Gijs Stuurman*
>- Jozef Wagner
>- 
> *Kwang Yul Seo *
>- *Matthew Gilliard*
>- Michał Marczyk
>- Nicola Mometto
>- Nikita Prokopov
>- 
> *Sean Corfield *
>- *Sebastien Martel*
>- Shogo Ohta
>- Stuart Sierra
>
>

-- 
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: What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread Laurens Van Houtven
Honestly I'd use CloudWatch Timed Events to kick off a Lambda or ECS
Fargate job (which of course you can write in Clojure) assuming you're
using AWS yourself anyway. If you don't care about batching maybe even just
attach a Lambda to the write-to-S3 bucket itself instead of checking every
15m?

If you want to do it in-process, my tool of choice is ztellman's manifold:
https://github.com/ztellman/manifold/blob/d67a8c1b9f1268c094895d70dbbf146521f5774b/src/manifold/time.clj

On Mon, Dec 17, 2018 at 1:54 PM  wrote:

> I'm coming back to Clojure development after a year away. This is a fast
> moving community and it is hard to keep up when one is not working on it
> full time. I'm dusting off some code I wrote 2 years ago, and trying to
> bring all the dependencies up to their current versions.
>
> I have a function that fetches files from an AWS S3 bucket, every 15
> minutes. I had previously used the at-at library for this:
>
> https://github.com/overtone/at-at
>
> But at-at has not been updated in 6 years, so I assume it is abandoned. I
> have two questions about this:
>
> 1.) how else do Clojure programmers usually call recurring functionality?
>
> 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a
> fundamental level, how does at-at work? I know that if a function calls
> itself recurringly, on the JVM, one eventually gets stackoverflow. So how
> does at-at make its magic work?
>
> --
> 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.


What do Clojure developers use for recurring functions, other than at-at

2018-12-17 Thread lawrence . krubner
I'm coming back to Clojure development after a year away. This is a fast 
moving community and it is hard to keep up when one is not working on it 
full time. I'm dusting off some code I wrote 2 years ago, and trying to 
bring all the dependencies up to their current versions. 

I have a function that fetches files from an AWS S3 bucket, every 15 
minutes. I had previously used the at-at library for this:

https://github.com/overtone/at-at

But at-at has not been updated in 6 years, so I assume it is abandoned. I 
have two questions about this:

1.) how else do Clojure programmers usually call recurring functionality? 

2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a 
fundamental level, how does at-at work? I know that if a function calls 
itself recurringly, on the JVM, one eventually gets stackoverflow. So how 
does at-at make its magic work? 

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Alex Miller
Sean is a prolific contributor to the Clojure ecosystem, but afaict this 
was first commit in Clojure itself! And an important one too - really a fix 
in the vendored ASM lib after we upgraded.

On Monday, December 17, 2018 at 11:55:18 AM UTC-6, Erik Assum wrote:
>
> Congratulations!
>
> Sean Corfield, first time contributor? I would never have guessed. 
>
> Erik. 
> -- 
> i farta
>

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Jozef Wagner
Congratulations!

Jozef

On Monday, December 17, 2018 at 6:30:01 PM UTC+1, Alex Miller wrote:
>
> Clojure 1.10 focuses on two major areas: improved error reporting and Java 
> compatibility.
>
>
> Error reporting at the REPL now categorizes 
>  errors 
> based on their phase of execution (read, macroexpand, compile, etc). Errors 
> carry additional information about location and context as data, and 
> present phase-specific error messages with better location reporting. This 
> functionality is built into the clojure.main REPL, but the functionality is 
> also available to other REPLs and tools with the ability to use and/or 
> modify the data to produce better error messages.
>
>
> Clojure 1.10 now requires Java 8 or above and has been updated 
> particularly for compatibility with Java 8 and Java 11. Changes included 
> bytecode-related bug fixes, removed use of deprecated APIs, and updates 
> related to the module system introduced in Java 9.
>
>
> See the change log 
> 
>  
> for a complete list of all fixes, enhancements, and new features in Clojure 
> 1.10.
>
>
> Thanks to all of the community members who contributed patches to Clojure 
> 1.10 (first time contributors in bold):
>
>
>- 
> *Alexander Kiel *
>- *Ben Bader*
>- Bruce Adams
>- *Cezary Kosko*
>- Erik Assum
>- *Eugene Kostenko*
>- Ghadi Shayban
>- *Gijs Stuurman*
>- Jozef Wagner
>- 
> *Kwang Yul Seo *
>- *Matthew Gilliard*
>- Michał Marczyk
>- Nicola Mometto
>- Nikita Prokopov
>- 
> *Sean Corfield *
>- *Sebastien Martel*
>- Shogo Ohta
>- Stuart Sierra
>
>

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Bo Yao
Congratulations and thanks to all contributors!

On Mon, Dec 17, 2018, 12:55 PM Erik Assum  Congratulations!
>
> Sean Corfield, first time contributor? I would never have guessed.
>
> Erik.
> --
> i farta
>
> 17. des. 2018 kl. 21:30 skrev Alex Miller  >:
>
> Clojure 1.10 focuses on two major areas: improved error reporting and Java
> compatibility.
>
>
> Error reporting at the REPL now categorizes
>  errors
> based on their phase of execution (read, macroexpand, compile, etc). Errors
> carry additional information about location and context as data, and
> present phase-specific error messages with better location reporting. This
> functionality is built into the clojure.main REPL, but the functionality is
> also available to other REPLs and tools with the ability to use and/or
> modify the data to produce better error messages.
>
>
> Clojure 1.10 now requires Java 8 or above and has been updated
> particularly for compatibility with Java 8 and Java 11. Changes included
> bytecode-related bug fixes, removed use of deprecated APIs, and updates
> related to the module system introduced in Java 9.
>
>
> See the change log
> 
> for a complete list of all fixes, enhancements, and new features in Clojure
> 1.10.
>
>
> Thanks to all of the community members who contributed patches to Clojure
> 1.10 (first time contributors in bold):
>
>
>-
> *Alexander Kiel *
>- *Ben Bader*
>- Bruce Adams
>- *Cezary Kosko*
>- Erik Assum
>- *Eugene Kostenko*
>- Ghadi Shayban
>- *Gijs Stuurman*
>- Jozef Wagner
>-
> *Kwang Yul Seo *
>- *Matthew Gilliard*
>- Michał Marczyk
>- Nicola Mometto
>- Nikita Prokopov
>-
> *Sean Corfield *
>- *Sebastien Martel*
>- Shogo Ohta
>- Stuart Sierra
>
> --
> 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.
>

-- 
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] Clojure 1.10 has been released!

2018-12-17 Thread Erik Assum
Congratulations!

Sean Corfield, first time contributor? I would never have guessed. 

Erik. 
-- 
i farta

> 17. des. 2018 kl. 21:30 skrev Alex Miller :
> 
> Clojure 1.10 focuses on two major areas: improved error reporting and Java 
> compatibility.
> 
> 
> 
> Error reporting at the REPL now categorizes errors based on their phase of 
> execution (read, macroexpand, compile, etc). Errors carry additional 
> information about location and context as data, and present phase-specific 
> error messages with better location reporting. This functionality is built 
> into the clojure.main REPL, but the functionality is also available to other 
> REPLs and tools with the ability to use and/or modify the data to produce 
> better error messages.
> 
> 
> 
> Clojure 1.10 now requires Java 8 or above and has been updated particularly 
> for compatibility with Java 8 and Java 11. Changes included bytecode-related 
> bug fixes, removed use of deprecated APIs, and updates related to the module 
> system introduced in Java 9.
> 
> 
> 
> See the change log for a complete list of all fixes, enhancements, and new 
> features in Clojure 1.10.
> 
> 
> 
> Thanks to all of the community members who contributed patches to Clojure 
> 1.10 (first time contributors in bold):
> 
> Alexander Kiel
> Ben Bader
> Bruce Adams
> Cezary Kosko
> Erik Assum
> Eugene Kostenko
> Ghadi Shayban
> Gijs Stuurman
> Jozef Wagner
> Kwang Yul Seo
> Matthew Gilliard
> Michał Marczyk
> Nicola Mometto
> Nikita Prokopov
> Sean Corfield
> Sebastien Martel
> Shogo Ohta
> Stuart Sierra
> -- 
> 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.


Re: [ANN] Clojure 1.10 has been released!

2018-12-17 Thread James Reeves
My thanks to everyone involved. I'm looking forward to trying this out.

On Mon, 17 Dec 2018 at 17:30, Alex Miller 
wrote:

> Clojure 1.10 focuses on two major areas: improved error reporting and Java
> compatibility.
>
>
> Error reporting at the REPL now categorizes
>  errors
> based on their phase of execution (read, macroexpand, compile, etc). Errors
> carry additional information about location and context as data, and
> present phase-specific error messages with better location reporting. This
> functionality is built into the clojure.main REPL, but the functionality is
> also available to other REPLs and tools with the ability to use and/or
> modify the data to produce better error messages.
>
>
> Clojure 1.10 now requires Java 8 or above and has been updated
> particularly for compatibility with Java 8 and Java 11. Changes included
> bytecode-related bug fixes, removed use of deprecated APIs, and updates
> related to the module system introduced in Java 9.
>
>
> See the change log
> 
> for a complete list of all fixes, enhancements, and new features in Clojure
> 1.10.
>
>
> Thanks to all of the community members who contributed patches to Clojure
> 1.10 (first time contributors in bold):
>
>
>-
> *Alexander Kiel *
>- *Ben Bader*
>- Bruce Adams
>- *Cezary Kosko*
>- Erik Assum
>- *Eugene Kostenko*
>- Ghadi Shayban
>- *Gijs Stuurman*
>- Jozef Wagner
>-
> *Kwang Yul Seo *
>- *Matthew Gilliard*
>- Michał Marczyk
>- Nicola Mometto
>- Nikita Prokopov
>-
> *Sean Corfield *
>- *Sebastien Martel*
>- Shogo Ohta
>- Stuart Sierra
>
> --
> 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.
>


-- 
James Reeves
booleanknot.com

-- 
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.


[ANN] Clojure 1.10 has been released!

2018-12-17 Thread Alex Miller


Clojure 1.10 focuses on two major areas: improved error reporting and Java 
compatibility.


Error reporting at the REPL now categorizes 
 errors based 
on their phase of execution (read, macroexpand, compile, etc). Errors carry 
additional information about location and context as data, and present 
phase-specific error messages with better location reporting. This 
functionality is built into the clojure.main REPL, but the functionality is 
also available to other REPLs and tools with the ability to use and/or 
modify the data to produce better error messages.


Clojure 1.10 now requires Java 8 or above and has been updated particularly 
for compatibility with Java 8 and Java 11. Changes included 
bytecode-related bug fixes, removed use of deprecated APIs, and updates 
related to the module system introduced in Java 9.


See the change log 

 
for a complete list of all fixes, enhancements, and new features in Clojure 
1.10.


Thanks to all of the community members who contributed patches to Clojure 
1.10 (first time contributors in bold):


   - 
*Alexander Kiel *
   - *Ben Bader*
   - Bruce Adams
   - *Cezary Kosko*
   - Erik Assum
   - *Eugene Kostenko*
   - Ghadi Shayban
   - *Gijs Stuurman*
   - Jozef Wagner
   - 
*Kwang Yul Seo *
   - *Matthew Gilliard*
   - Michał Marczyk
   - Nicola Mometto
   - Nikita Prokopov
   - 
*Sean Corfield *
   - *Sebastien Martel*
   - Shogo Ohta
   - Stuart Sierra
   

-- 
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.


[ANN] amalloy/ring-buffer 1.3.0

2018-12-17 Thread Bruno Bonacci
Hi,

a new version of  *amalloy/ring-buffer* (*1.3.0*) is available on Clojars (
https://clojars.org/amalloy/ring-buffer/versions/1.3.0)

with the following changes:


   - *amalloy/ring-buffer* github project is now transferred to  
   *clj-commons/ring-buffer* (https://github.com/clj-commons/ring-buffer)
   - Fixed incompatibility with Java11 (
   https://github.com/clj-commons/ring-buffer/pull/11)
   - added `*nth*` indexing for random access lookups (
   https://github.com/clj-commons/ring-buffer/pull/9), credit:* Pedro 
   Martins - @pjago*


please note that:
CLJ Commons  is a community-led project to 
build up the supporting infrastructure around Clojure to make it a better 
experience for people new to Clojure, as well as existing Clojurists, like 
maintaining open-source projects that, for any reason, the author cannot 
maintain, check https://clj-commons.org/.

bye,
Bruno

-- 
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.