Re: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-18 Thread Dmitry Groshev
In theory, yes. In practice, it will not scale well.

Here is why: optimal planning is, in general, a problem with at least 
exponential complexity. When you have complexity like this, you can choose 
between two approaches:
1) explore the whole search space, trying very hard to prune and discard as 
much of it as you can as early as you can. This way you will have an 
optimal (in a sense that you will need to define) solution when (if) the 
search will complete. This is called "exhaustive search".
2) find ANY solution (it's generally much easier than to find an optimal 
one) and try to improve it changing bits of it. Repeat a lot of times, just 
in case it wasn't the best solution that can be. This is called "local 
search".
Second approach in general finds worse solutions, but scales better. 
Optaplanner is built around it. On the contrary, in core.logic you will 
need to perform an exhaustive search to find an optimal solution.

However, for a large and complex planning problems you may need to find 
*any* plan that satisfies all constrains, not necessarily an optimal one. 
In this setting, core.logic can be useful to implement planning algorithm 
such as Graphplan. 

On Wednesday, April 16, 2014 12:49:43 PM UTC+4, Josh Kamau wrote:
>
> Can core.logic be used to implement something like 
> http://www.optaplanner.org
>   
> ? 
>
> Josh
>
>
> On Wed, Apr 16, 2014 at 9:36 AM, utel >wrote:
>
>> Thanks Mikera and Andrew for the ideas. Some interesting suggestions 
>> there. I'll discuss these with my fellow devs. Much appreciated.
>>
>>
>> On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote:
>>>
>>> Clojure logic programming with core.logic (something akin to a sudoku 
>>> solver https://gist.github.com/swannodette/3217582 is a good example) 
>>> or using datomic to have a database with a time machine and datalog for 
>>> queries might be cool (perhaps visualizing the data in the database at 
>>> arbitrary times in the past). Both don't really have equivalents in other 
>>> languages. Other things that are hard to achieve in other languages would 
>>> involve the immutable data structures, concurrency, and macros.
>>>
>>>
>>> On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote:

 A handful of developers at the organisation I work at, want to 
 encourage interest in Clojure with the aim of using it in production 
 amongst the organisation's wider developer community (hundreds of 
 developers). We ourselves are Clojure hobbyists.

 We wanted to do this through a basic project (with few moving parts), 
 so I wanted to get feedback on a couple of aspects:
 1. Examples of basic project ideas that would be compelling to fellow 
 developers not familiar with Clojure (e.g. something useful that you can 
 do 
 easily with Clojure that's harder to do in more established languages such 
 as Java)
 2. Particular libraries that again had a wow factor towards an 
 objective not easily achievable in more established languages (perhaps 
 related to data analysis, visualisation, or taking advantage of the 
 benefit 
 of lazy evaluation in a novel way as examples).

 I realise these questions are somewhat open-ended, but just wanted to 
 spark off some ideas for us through bouncing these questions off the 
 google 
 group's members.

 Thanks for any leads!

  -- 
>> 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: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-16 Thread Alex Hammel
Probably. Things like OptaPlanner are the big business use-case for logic
programming, IIRC.


On Wed, Apr 16, 2014 at 1:49 AM, Josh Kamau  wrote:

> Can core.logic be used to implement something like
> http://www.optaplanner.org  ?
>
> Josh
>
>
> On Wed, Apr 16, 2014 at 9:36 AM, utel  wrote:
>
>> Thanks Mikera and Andrew for the ideas. Some interesting suggestions
>> there. I'll discuss these with my fellow devs. Much appreciated.
>>
>>
>> On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote:
>>>
>>> Clojure logic programming with core.logic (something akin to a sudoku
>>> solver https://gist.github.com/swannodette/3217582 is a good example)
>>> or using datomic to have a database with a time machine and datalog for
>>> queries might be cool (perhaps visualizing the data in the database at
>>> arbitrary times in the past). Both don't really have equivalents in other
>>> languages. Other things that are hard to achieve in other languages would
>>> involve the immutable data structures, concurrency, and macros.
>>>
>>>
>>> On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote:

 A handful of developers at the organisation I work at, want to
 encourage interest in Clojure with the aim of using it in production
 amongst the organisation's wider developer community (hundreds of
 developers). We ourselves are Clojure hobbyists.

 We wanted to do this through a basic project (with few moving parts),
 so I wanted to get feedback on a couple of aspects:
 1. Examples of basic project ideas that would be compelling to fellow
 developers not familiar with Clojure (e.g. something useful that you can do
 easily with Clojure that's harder to do in more established languages such
 as Java)
 2. Particular libraries that again had a wow factor towards an
 objective not easily achievable in more established languages (perhaps
 related to data analysis, visualisation, or taking advantage of the benefit
 of lazy evaluation in a novel way as examples).

 I realise these questions are somewhat open-ended, but just wanted to
 spark off some ideas for us through bouncing these questions off the google
 group's members.

 Thanks for any leads!

  --
>> 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: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-16 Thread Josh Kamau
Can core.logic be used to implement something like
http://www.optaplanner.org  ?

Josh


On Wed, Apr 16, 2014 at 9:36 AM, utel  wrote:

> Thanks Mikera and Andrew for the ideas. Some interesting suggestions
> there. I'll discuss these with my fellow devs. Much appreciated.
>
>
> On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote:
>>
>> Clojure logic programming with core.logic (something akin to a sudoku
>> solver https://gist.github.com/swannodette/3217582 is a good example) or
>> using datomic to have a database with a time machine and datalog for
>> queries might be cool (perhaps visualizing the data in the database at
>> arbitrary times in the past). Both don't really have equivalents in other
>> languages. Other things that are hard to achieve in other languages would
>> involve the immutable data structures, concurrency, and macros.
>>
>>
>> On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote:
>>>
>>> A handful of developers at the organisation I work at, want to encourage
>>> interest in Clojure with the aim of using it in production amongst the
>>> organisation's wider developer community (hundreds of developers). We
>>> ourselves are Clojure hobbyists.
>>>
>>> We wanted to do this through a basic project (with few moving parts), so
>>> I wanted to get feedback on a couple of aspects:
>>> 1. Examples of basic project ideas that would be compelling to fellow
>>> developers not familiar with Clojure (e.g. something useful that you can do
>>> easily with Clojure that's harder to do in more established languages such
>>> as Java)
>>> 2. Particular libraries that again had a wow factor towards an objective
>>> not easily achievable in more established languages (perhaps related to
>>> data analysis, visualisation, or taking advantage of the benefit of lazy
>>> evaluation in a novel way as examples).
>>>
>>> I realise these questions are somewhat open-ended, but just wanted to
>>> spark off some ideas for us through bouncing these questions off the google
>>> group's members.
>>>
>>> Thanks for any leads!
>>>
>>>  --
> 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: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-15 Thread utel
Thanks Mikera and Andrew for the ideas. Some interesting suggestions there. 
I'll discuss these with my fellow devs. Much appreciated.


On Tuesday, April 15, 2014 1:14:11 AM UTC+1, Andrew Chambers wrote:
>
> Clojure logic programming with core.logic (something akin to a sudoku 
> solver https://gist.github.com/swannodette/3217582 is a good example) or 
> using datomic to have a database with a time machine and datalog for 
> queries might be cool (perhaps visualizing the data in the database at 
> arbitrary times in the past). Both don't really have equivalents in other 
> languages. Other things that are hard to achieve in other languages would 
> involve the immutable data structures, concurrency, and macros.
>
>
> On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote:
>>
>> A handful of developers at the organisation I work at, want to encourage 
>> interest in Clojure with the aim of using it in production amongst the 
>> organisation's wider developer community (hundreds of developers). We 
>> ourselves are Clojure hobbyists.
>>
>> We wanted to do this through a basic project (with few moving parts), so 
>> I wanted to get feedback on a couple of aspects:
>> 1. Examples of basic project ideas that would be compelling to fellow 
>> developers not familiar with Clojure (e.g. something useful that you can do 
>> easily with Clojure that's harder to do in more established languages such 
>> as Java)
>> 2. Particular libraries that again had a wow factor towards an objective 
>> not easily achievable in more established languages (perhaps related to 
>> data analysis, visualisation, or taking advantage of the benefit of lazy 
>> evaluation in a novel way as examples).
>>
>> I realise these questions are somewhat open-ended, but just wanted to 
>> spark off some ideas for us through bouncing these questions off the google 
>> group's members.
>>
>> Thanks for any leads!
>>
>>

-- 
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: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-14 Thread Andrew Chambers
Clojure logic programming with core.logic (something akin to a sudoku 
solver https://gist.github.com/swannodette/3217582 is a good example) or 
using datomic to have a database with a time machine and datalog for 
queries might be cool (perhaps visualizing the data in the database at 
arbitrary times in the past). Both don't really have equivalents in other 
languages. Other things that are hard to achieve in other languages would 
involve the immutable data structures, concurrency, and macros.


On Monday, April 14, 2014 9:15:31 AM UTC+12, utel wrote:
>
> A handful of developers at the organisation I work at, want to encourage 
> interest in Clojure with the aim of using it in production amongst the 
> organisation's wider developer community (hundreds of developers). We 
> ourselves are Clojure hobbyists.
>
> We wanted to do this through a basic project (with few moving parts), so I 
> wanted to get feedback on a couple of aspects:
> 1. Examples of basic project ideas that would be compelling to fellow 
> developers not familiar with Clojure (e.g. something useful that you can do 
> easily with Clojure that's harder to do in more established languages such 
> as Java)
> 2. Particular libraries that again had a wow factor towards an objective 
> not easily achievable in more established languages (perhaps related to 
> data analysis, visualisation, or taking advantage of the benefit of lazy 
> evaluation in a novel way as examples).
>
> I realise these questions are somewhat open-ended, but just wanted to 
> spark off some ideas for us through bouncing these questions off the google 
> group's members.
>
> Thanks for any leads!
>
>

-- 
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: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-13 Thread Mikera
On Monday, 14 April 2014 05:15:31 UTC+8, utel wrote:
>
> A handful of developers at the organisation I work at, want to encourage 
> interest in Clojure with the aim of using it in production amongst the 
> organisation's wider developer community (hundreds of developers). We 
> ourselves are Clojure hobbyists.
>
> We wanted to do this through a basic project (with few moving parts), so I 
> wanted to get feedback on a couple of aspects:
> 1. Examples of basic project ideas that would be compelling to fellow 
> developers not familiar with Clojure (e.g. something useful that you can do 
> easily with Clojure that's harder to do in more established languages such 
> as Java)
> 2. Particular libraries that again had a wow factor towards an objective 
> not easily achievable in more established languages (perhaps related to 
> data analysis, visualisation, or taking advantage of the benefit of lazy 
> evaluation in a novel way as examples).
>

Disclaimer: Slightly a plug for my own personal projects and interests :-)

There are a lot of great opportunities to get involved around the numerical 
computing space in Clojure, especially if you think that data analysis and 
visualisation counts as a "wow" factor. We welcome open source 
contributions from all perspectives.

In particular:
1. The core.matrix librray / API for array programming 
(see: https://github.com/mikera/core.matrix)
2. The Incanter environment for data science / statistical computing 
(see: http://incanter.org/)

If you are interested in exploring this area further, here are some useful 
links:
- The "Numerical Clojure" google 
group: https://groups.google.com/forum/#!forum/numerical-clojure
- My "Enter The Matrix" talk at the Clojure 
Conj: http://www.youtube.com/watch?v=_h9TLJtjSJo
- "Enter The Matrix" 
slides: http://www.slideshare.net/mikeranderson/2013-1114-enter-thematrix
- Clojure Dojo core.matrix 
repository: https://github.com/clojure-numerics/core.matrix.dojo

The last link includes some fun data analysis examples, using match results 
from the English Premier League hopefully some of these give you a 
taste of the "wow" factor in terms of rapid data processing and very 
efficient coding in an array-programming style.

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


Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-13 Thread utel
A handful of developers at the organisation I work at, want to encourage 
interest in Clojure with the aim of using it in production amongst the 
organisation's wider developer community (hundreds of developers). We 
ourselves are Clojure hobbyists.

We wanted to do this through a basic project (with few moving parts), so I 
wanted to get feedback on a couple of aspects:
1. Examples of basic project ideas that would be compelling to fellow 
developers not familiar with Clojure (e.g. something useful that you can do 
easily with Clojure that's harder to do in more established languages such 
as Java)
2. Particular libraries that again had a wow factor towards an objective 
not easily achievable in more established languages (perhaps related to 
data analysis, visualisation, or taking advantage of the benefit of lazy 
evaluation in a novel way as examples).

I realise these questions are somewhat open-ended, but just wanted to spark 
off some ideas for us through bouncing these questions off the google 
group's members.

Thanks for any leads!

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