Re: Real World Example

2014-04-11 Thread Alan Moore


 I'm building a fairly large real-world system called Clortex [1], which is 
 a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. As 
 it's a greenfield project, I've chosen to use Clojure components all the 
 way through instead of fitting in with Java-based or .Net-based frameworks. 
 There are good reasons why you should do this if you can, but obviously 
 that doesn't help you directly with your question.


[off topic]

Wow... good thing I read your post... I was just about to do the same thing 
having followed the development of HTM for some time now and finding their 
reference implementation to be somewhat convoluted. I thought Clojure would 
be a better language for it... TBD.

Let me know if/how I can help.

Alan

-- 
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: Real World Example

2014-04-11 Thread Fergal Byrne
Hi Alan,

Thanks for your interest - everywhere I mention this in the Clojure world I
get the same reaction! This is one of the reasons why I settled on Clojure
a couple of months back (Erlang and Elixir were also good choices, but the
Clojure movement has so much energy it was a no-brainer).

I'm in the middle of developing the key algorithms for Clortex, and
exploring a number of approaches at the same time, so the code is a bit of
a tangle in places right now. Once it's a little more stable I'll make it
public.

In the meantime, if you're interested (and know HTM/CLA to some extent),
please send me your github handle offlist and I'll add you as a contributor.

Regards,

Fergal


On Fri, Apr 11, 2014 at 10:03 AM, Alan Moore kahunamo...@gmail.com wrote:

 I'm building a fairly large real-world system called Clortex [1], which is
 a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. As
 it's a greenfield project, I've chosen to use Clojure components all the
 way through instead of fitting in with Java-based or .Net-based frameworks.
 There are good reasons why you should do this if you can, but obviously
 that doesn't help you directly with your question.


 [off topic]

 Wow... good thing I read your post... I was just about to do the same
 thing having followed the development of HTM for some time now and finding
 their reference implementation to be somewhat convoluted. I thought Clojure
 would be a better language for it... TBD.

 Let me know if/how I can help.

 Alan

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




-- 

Fergal Byrne, Brenter IT

Author, Real Machine Intelligence with Clortex and NuPIC
https://leanpub.com/realsmartmachines

http://www.examsupport.iehttp://inbits.com - Better Living through
Thoughtful Technology
http://ie.linkedin.com/in/fergbyrne/
https://github.com/fergalbyrne

e:fergalbyrnedub...@gmail.com t:+353 83 4214179
Formerly of Adnet edi...@adnet.ie http://www.adnet.ie

-- 
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: Real World Example

2014-04-10 Thread Mike Haney
I'm in the early stages of developing a real-world app for a customer that will 
use a full clojure stack.  It's maybe not as sexy as all the social networking 
examples you see, but I think it's more representative of the types of apps 
most people write to satisfy real business needs.

The app is for a service company doing industrial electrical work, and will be 
used to manage jobs, schedule crews, order parts, tie into the accounting 
system for invoicing - typical stuff that every business needs to manage.  It 
will have a web interface as well as mobile, since one of main goals is to 
equip the crews with tablets to use in the field.

It's a big project that I wouldn't even attempt as a side project if it weren't 
for the leverage clojure gives me.

One thing I would like to do is blog about the project as I work on it.  I 
think this would not only be valuable for the community at large, but also 
would help me to vet my design choices based on feedback.

I'm meeting with the customer tomorrow and will bring this up.  I know him 
well, and I expect to get his approval, so hopefully I'll have the blog up in 
the next week or so.

-- 
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: Real World Example

2014-04-10 Thread Anthony Ortiz
Oh that would be very nice!

On Thursday, April 10, 2014 9:22:35 AM UTC-4, Mike Haney wrote:

 I'm in the early stages of developing a real-world app for a customer that 
 will use a full clojure stack.  It's maybe not as sexy as all the social 
 networking examples you see, but I think it's more representative of the 
 types of apps most people write to satisfy real business needs.

 The app is for a service company doing industrial electrical work, and 
 will be used to manage jobs, schedule crews, order parts, tie into the 
 accounting system for invoicing - typical stuff that every business needs 
 to manage.  It will have a web interface as well as mobile, since one of 
 main goals is to equip the crews with tablets to use in the field.

 It's a big project that I wouldn't even attempt as a side project if it 
 weren't for the leverage clojure gives me.

 One thing I would like to do is blog about the project as I work on it.  I 
 think this would not only be valuable for the community at large, but also 
 would help me to vet my design choices based on feedback.

 I'm meeting with the customer tomorrow and will bring this up.  I know him 
 well, and I expect to get his approval, so hopefully I'll have the blog up 
 in the next week or so.



-- 
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: Real World Example

2014-04-10 Thread Marcus Blankenship
Hey Mike, are you doing this as a one-man-show?

On Apr 10, 2014, at 6:22 AM, Mike Haney txmikes...@gmail.com wrote:

 I'm in the early stages of developing a real-world app for a customer that 
 will use a full clojure stack.  It's maybe not as sexy as all the social 
 networking examples you see, but I think it's more representative of the 
 types of apps most people write to satisfy real business needs.
 
 The app is for a service company doing industrial electrical work, and will 
 be used to manage jobs, schedule crews, order parts, tie into the accounting 
 system for invoicing - typical stuff that every business needs to manage.  It 
 will have a web interface as well as mobile, since one of main goals is to 
 equip the crews with tablets to use in the field.
 
 It's a big project that I wouldn't even attempt as a side project if it 
 weren't for the leverage clojure gives me.
 
 One thing I would like to do is blog about the project as I work on it.  I 
 think this would not only be valuable for the community at large, but also 
 would help me to vet my design choices based on feedback.
 
 I'm meeting with the customer tomorrow and will bring this up.  I know him 
 well, and I expect to get his approval, so hopefully I'll have the blog up in 
 the next week or so.
 
 -- 
 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.

Best,
Marcus

Marcus Blankenship
\\\ Problem Solver, Linear Thinker
\\\ 541.805.2736 \ @justzeros \ skype:marcuscreo

-- 
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: Real World Example

2014-04-10 Thread Timothy Washington
I've also had a lot of success with Prismatic's
Schemahttps://github.com/Prismatic/schema/library. I've found it to
be a good middle ground between type hints,
Protocols, etc, and a full blown type system, such as
core.typedhttps://github.com/clojure/core.typed
.


Hth

Tim Washington
Interruptsoftware.com http://interruptsoftware.com


On Wed, Apr 9, 2014 at 7:22 AM, Colin Yates colin.ya...@gmail.com wrote:

 Hi Fergal,

 Thanks for those links.  I started using protocols and defrecords but I
 (maybe mistakenly) got the impression that they were frowned upon.  As it
 turns out, maps (typically with a :type key) and multi methods go a long
 long way, but I still end up with fairly deep nesting of maps.

 Maybe that is the key - deep nesting of maps maybe cries out one object
 [data model] to rule them all and I need to decompose it further.

 Without types almost all the type hints would be either the map of
 sequence interface.  It isn't so much the structure that is obscure, but
 the semantics of what that structure is modelling.

 As I hinted at, I am sure it is because my implementation model is still
 influenced too much by my OO background.

 Onwards and upwards as they say.

 Col


 On Wednesday, 9 April 2014 11:37:52 UTC+1, Fergal Byrne wrote:

 Hi Anthony,




-- 
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: Real World Example

2014-04-10 Thread Mike Haney
Yes, it's just me.  Crazy, right?  Like I said, I wouldn't even have attempted 
it without the productivity gains I've seen since I've started using clojure.

Fortunately, the customer isn't in we need this yesterday mode (a refreshing, 
but rare, circumstance).

-- 
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: Real World Example

2014-04-10 Thread Karsten Schmidt
Hi Anthony, unfortunately I can't point you to actual code examples
(since this was work for a client), but I've got some screenshots 
screenrecordings of a few OpenGL/CL desktop apps written in Clojure.
Both of them don't use Swing for UI, but a custom widget system
sitting straight on OpenGL2+ (each control implemented as VBO):

http://flickr.com/toxi/sets/72157630719227308/

This video gives a brief overview of the web application/cloud
component of this project and was completely developed w/ Clojure (and
some minor JS sprinkling):
https://www.youtube.com/watch?v=WyVI5vnp570

Some more details how this was build (and libs used) are discussed in
this old thread:
https://groups.google.com/d/msg/clojure/Z995K48BZGA/IDSAEm-PKFkJ

So far I haven't been able to properly document the project below yet,
but that too is using the same desktop app setup as the prev project
and am working hard to make time to prepare an open source release of
this (incl. all libs):

https://secure.flickr.com/photos/toxi/sets/72157636665658583/

An animated version of that physics based logo can be seen here
(reload for different letters)
http://resonate.io

Hth! K.

-- 
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: Real World Example

2014-04-09 Thread Colin Yates
Hello back!

We are using Clojure on the JVM as the implementation language for a 
platform that will underpin our applications for the next decade.  It is 
relatively new and so far we have implemented the analysis module which is 
essentially a generic charting engine.  

So far we have 5547 lines of production code (including comments) and 2600 
lines of production code (including comments).

That doesn't sound like much but I can tell you it is replacing a similar, 
but slightly smaller in scope analysis module written in Java which was 
around 40K lines of production code.

Our architecture is Clojure on the back end exporting a number of JSON end 
points.  It is backed by MS SQL using the fantastic 
https://github.com/jkk/honeysql library.

For me, it is a dream coming from Java (and to a much lesser extent Scala), 
but it does have its costs.  Moving from an OO world to an FP world isn't 
easy, particularly in the shapes your solutions end up with.  I am also 
feeling the pain of not having types - everything is a sequence.  This is a 
joy but it also means a whole bunch of information (i.e. type information) 
is lost.  

One of the wins in OO languages is the many number of places to hang 
semantic information - the name of the class, the structure of the class, 
the names of the methods etc.  I also find many more intermediary variables 
in OO where as in Clojure it seems more idiomatic to have pipelines of 
transformation.  I am feeling the lost of static types as I refactor APIs 
particularly.

This is undoubtedly my failing not Clojure's and I just need to absorb more 
good FP paradigms.  Would I give up my emacs and Clojure and paredit 
combination?  Not a chance :).

Col

On Tuesday, 8 April 2014 20:23:06 UTC+1, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank here 
 in NYC and found that they've been using Clojure for their business logic 
 for over a year already and that got me curious, so I find myself on 
 unfamiliar territory learning how to program in a functional language. So 
 far so good, Moxley Stratton's online tutorial combined with Try Clojure 
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm 
 now going through the book 'Programming Clojure'. So far I've seen a lot of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built 
 using Clojure on either the JVM or CLR, something simple that would 
 demonstrate how Clojure fits into the event-driven model on the client-side 
 behind, let's say, WPF, and how it would interact with more Clojure on the 
 service-side via, let's say, WCF. Does anyone know of an example they can 
 direct me to?

 Many thanks!

 Anthony


-- 
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: Real World Example

2014-04-09 Thread Colin Yates
Gah - 5547 production, 2600 of tests.  A lot of that discrepancy is down to 
the very extensive documentation that https://github.com/gdeer81/marginalia 
allows you to write.

Please forgive any other mistakes, working on less than an hours sleep due 
to my lovely kids.

On Wednesday, 9 April 2014 09:14:38 UTC+1, Colin Yates wrote:

 Hello back!

 We are using Clojure on the JVM as the implementation language for a 
 platform that will underpin our applications for the next decade.  It is 
 relatively new and so far we have implemented the analysis module which is 
 essentially a generic charting engine.  

 So far we have 5547 lines of production code (including comments) and 2600 
 lines of production code (including comments).

 That doesn't sound like much but I can tell you it is replacing a similar, 
 but slightly smaller in scope analysis module written in Java which was 
 around 40K lines of production code.

 Our architecture is Clojure on the back end exporting a number of JSON end 
 points.  It is backed by MS SQL using the fantastic 
 https://github.com/jkk/honeysql library.

 For me, it is a dream coming from Java (and to a much lesser extent 
 Scala), but it does have its costs.  Moving from an OO world to an FP world 
 isn't easy, particularly in the shapes your solutions end up with.  I am 
 also feeling the pain of not having types - everything is a sequence.  This 
 is a joy but it also means a whole bunch of information (i.e. type 
 information) is lost.  

 One of the wins in OO languages is the many number of places to hang 
 semantic information - the name of the class, the structure of the class, 
 the names of the methods etc.  I also find many more intermediary variables 
 in OO where as in Clojure it seems more idiomatic to have pipelines of 
 transformation.  I am feeling the lost of static types as I refactor APIs 
 particularly.

 This is undoubtedly my failing not Clojure's and I just need to absorb 
 more good FP paradigms.  Would I give up my emacs and Clojure and paredit 
 combination?  Not a chance :).

 Col

 On Tuesday, 8 April 2014 20:23:06 UTC+1, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank here 
 in NYC and found that they've been using Clojure for their business logic 
 for over a year already and that got me curious, so I find myself on 
 unfamiliar territory learning how to program in a functional language. So 
 far so good, Moxley Stratton's online tutorial combined with Try Clojure 
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm 
 now going through the book 'Programming Clojure'. So far I've seen a lot of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built 
 using Clojure on either the JVM or CLR, something simple that would 
 demonstrate how Clojure fits into the event-driven model on the client-side 
 behind, let's say, WPF, and how it would interact with more Clojure on the 
 service-side via, let's say, WCF. Does anyone know of an example they can 
 direct me to?

 Many thanks!

 Anthony



-- 
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: Real World Example

2014-04-09 Thread Aditya Athalye
Welcome, Anthony. 

I'm not aware of complete applications that fit your requirement, 
however I think you'll find value in the newly-minted Clojure Cookbook 
http://clojure-cookbook.com/ ... many, many examples of real-world 
problems, 
across domains, solved by Clojure practitioners.

All the examples and solutions are available here:
https://github.com/clojure-cookbook/clojure-cookbook

Cheers, and once again, welcome!



On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank here 
 in NYC and found that they've been using Clojure for their business logic 
 for over a year already and that got me curious, so I find myself on 
 unfamiliar territory learning how to program in a functional language. So 
 far so good, Moxley Stratton's online tutorial combined with Try Clojure 
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm 
 now going through the book 'Programming Clojure'. So far I've seen a lot of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built 
 using Clojure on either the JVM or CLR, something simple that would 
 demonstrate how Clojure fits into the event-driven model on the client-side 
 behind, let's say, WPF, and how it would interact with more Clojure on the 
 service-side via, let's say, WCF. Does anyone know of an example they can 
 direct me to?

 Many thanks!

 Anthony


-- 
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: Real World Example

2014-04-09 Thread Fergal Byrne
Hi Anthony,

I'm building a fairly large real-world system called Clortex [1], which is
a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. As
it's a greenfield project, I've chosen to use Clojure components all the
way through instead of fitting in with Java-based or .Net-based frameworks.
There are good reasons why you should do this if you can, but obviously
that doesn't help you directly with your question.

There are many people introducing Clojure as a component in an existing
ecosystem, as Colin explains, but usually this is done deep inside a big
Java or .Net shop, and they're not showing the world the code. One possible
route would be to see if any of the big Java or CLR Open Source apps are
looking at doing some subsystems in Clojure.

Colin,

Great to hear your experiences. I'm no expert, but it's likely that you
could ease much of the pain using protocols, type hints and deftypes or
records. Also, Typed Clojure [3] is definitely worth looking at.

[1] Clortex will be public on Github shortly, see
http://fergalbyrne.github.io for docs, http://inbits.com for blog.
[2] http://numenta.org
[3] https://github.com/clojure/core.typed

Regards,

Fergal Byrne




On Wed, Apr 9, 2014 at 10:18 AM, Aditya Athalye aditya.atha...@gmail.comwrote:

 Welcome, Anthony.

 I'm not aware of complete applications that fit your requirement,
 however I think you'll find value in the newly-minted Clojure Cookbook
 http://clojure-cookbook.com/ ... many, many examples of real-world
 problems,
 across domains, solved by Clojure practitioners.

 All the examples and solutions are available here:
 https://github.com/clojure-cookbook/clojure-cookbook

 Cheers, and once again, welcome!



 On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank here
 in NYC and found that they've been using Clojure for their business logic
 for over a year already and that got me curious, so I find myself on
 unfamiliar territory learning how to program in a functional language. So
 far so good, Moxley Stratton's online tutorial combined with Try Clojure
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm
 now going through the book 'Programming Clojure'. So far I've seen a lot of
 utility/academic examples such as fibonacci but little in the way of an
 actual real-world example of a top-to-bottom desktop application built
 using Clojure on either the JVM or CLR, something simple that would
 demonstrate how Clojure fits into the event-driven model on the client-side
 behind, let's say, WPF, and how it would interact with more Clojure on the
 service-side via, let's say, WCF. Does anyone know of an example they can
 direct me to?

 Many thanks!

 Anthony

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




-- 

Fergal Byrne, Brenter IT

Author, Real Machine Intelligence with Clortex and NuPIC
https://leanpub.com/realsmartmachines

http://www.examsupport.iehttp://inbits.com - Better Living through
Thoughtful Technology
http://ie.linkedin.com/in/fergbyrne/
https://github.com/fergalbyrne

e:fergalbyrnedub...@gmail.com t:+353 83 4214179
Formerly of Adnet edi...@adnet.ie http://www.adnet.ie

-- 
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: Real World Example

2014-04-09 Thread Colin Yates
Hi Fergal,

Thanks for those links.  I started using protocols and defrecords but I 
(maybe mistakenly) got the impression that they were frowned upon.  As it 
turns out, maps (typically with a :type key) and multi methods go a long 
long way, but I still end up with fairly deep nesting of maps.  

Maybe that is the key - deep nesting of maps maybe cries out one object 
[data model] to rule them all and I need to decompose it further.  

Without types almost all the type hints would be either the map of sequence 
interface.  It isn't so much the structure that is obscure, but the 
semantics of what that structure is modelling.

As I hinted at, I am sure it is because my implementation model is still 
influenced too much by my OO background.

Onwards and upwards as they say.

Col


On Wednesday, 9 April 2014 11:37:52 UTC+1, Fergal Byrne wrote:

 Hi Anthony,

 I'm building a fairly large real-world system called Clortex [1], which is 
 a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. As 
 it's a greenfield project, I've chosen to use Clojure components all the 
 way through instead of fitting in with Java-based or .Net-based frameworks. 
 There are good reasons why you should do this if you can, but obviously 
 that doesn't help you directly with your question.

 There are many people introducing Clojure as a component in an existing 
 ecosystem, as Colin explains, but usually this is done deep inside a big 
 Java or .Net shop, and they're not showing the world the code. One possible 
 route would be to see if any of the big Java or CLR Open Source apps are 
 looking at doing some subsystems in Clojure.

 Colin,

 Great to hear your experiences. I'm no expert, but it's likely that you 
 could ease much of the pain using protocols, type hints and deftypes or 
 records. Also, Typed Clojure [3] is definitely worth looking at. 

 [1] Clortex will be public on Github shortly, see 
 http://fergalbyrne.github.io for docs, http://inbits.com for blog.
 [2] http://numenta.org
 [3] https://github.com/clojure/core.typed

 Regards,

 Fergal Byrne




 On Wed, Apr 9, 2014 at 10:18 AM, Aditya Athalye 
 aditya@gmail.comjavascript:
  wrote:

 Welcome, Anthony. 

 I'm not aware of complete applications that fit your requirement, 
 however I think you'll find value in the newly-minted Clojure Cookbook 
 http://clojure-cookbook.com/ ... many, many examples of real-world 
 problems, 
 across domains, solved by Clojure practitioners.

 All the examples and solutions are available here:
 https://github.com/clojure-cookbook/clojure-cookbook

 Cheers, and once again, welcome!



 On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank 
 here in NYC and found that they've been using Clojure for their business 
 logic for over a year already and that got me curious, so I find myself on 
 unfamiliar territory learning how to program in a functional language. So 
 far so good, Moxley Stratton's online tutorial combined with Try Clojure 
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm 
 now going through the book 'Programming Clojure'. So far I've seen a lot of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built 
 using Clojure on either the JVM or CLR, something simple that would 
 demonstrate how Clojure fits into the event-driven model on the client-side 
 behind, let's say, WPF, and how it would interact with more Clojure on the 
 service-side via, let's say, WCF. Does anyone know of an example they can 
 direct me to?

 Many thanks!

 Anthony

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




 -- 

 Fergal Byrne, Brenter IT

 Author, Real Machine Intelligence with Clortex and NuPIC 
 https://leanpub.com/realsmartmachines

 http://www.examsupport.iehttp://inbits.com - Better Living through 
 Thoughtful Technology
 http://ie.linkedin.com/in/fergbyrne/
 https://github.com/fergalbyrne

 e:fergalby...@gmail.com javascript: t:+353 83 4214179
 Formerly of Adnet edi...@adnet.ie javascript: http://www.adnet.ie
  

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group

Re: Real World Example

2014-04-09 Thread Fergal Byrne
Hi Colin,

Cheers. I had exactly the same problem, so I've been trying out a few other
ideas. One is to use datalog (or cascalog etc) and represent objects with
entities and relationships between objects with refs (for datalog). I have
some enormous data structures (2-300m synapses per layer, for example) but
I find that Datomic and datalog are great for modelling really big and
complex structures.

There's a datomic wrapper library called adi [1] which adds a nice map-like
interface on top of datalog. It's perfect for getting your schema right
(you start off with a big map and it automagically does the schema), and
you can do some really long link-following, but I'm not using it
extensively yet (because everything is data, you can use adi for schema
design and some queries, and raw datomic for the rest).

I'll be writing extensively about each library or tool I've used on my blog
(see sig). I'm writing about lein-midje-doc (also by zcaudate) at the
moment, it's just wonderful.

[1] https://github.com/zcaudate/adi

Regards,

Fergal Byrne


On Wed, Apr 9, 2014 at 12:22 PM, Colin Yates colin.ya...@gmail.com wrote:

 Hi Fergal,

 Thanks for those links.  I started using protocols and defrecords but I
 (maybe mistakenly) got the impression that they were frowned upon.  As it
 turns out, maps (typically with a :type key) and multi methods go a long
 long way, but I still end up with fairly deep nesting of maps.

 Maybe that is the key - deep nesting of maps maybe cries out one object
 [data model] to rule them all and I need to decompose it further.

 Without types almost all the type hints would be either the map of
 sequence interface.  It isn't so much the structure that is obscure, but
 the semantics of what that structure is modelling.

 As I hinted at, I am sure it is because my implementation model is still
 influenced too much by my OO background.

 Onwards and upwards as they say.

 Col


 On Wednesday, 9 April 2014 11:37:52 UTC+1, Fergal Byrne wrote:

 Hi Anthony,

 I'm building a fairly large real-world system called Clortex [1], which
 is a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2].
 As it's a greenfield project, I've chosen to use Clojure components all the
 way through instead of fitting in with Java-based or .Net-based frameworks.
 There are good reasons why you should do this if you can, but obviously
 that doesn't help you directly with your question.

 There are many people introducing Clojure as a component in an existing
 ecosystem, as Colin explains, but usually this is done deep inside a big
 Java or .Net shop, and they're not showing the world the code. One possible
 route would be to see if any of the big Java or CLR Open Source apps are
 looking at doing some subsystems in Clojure.

 Colin,

 Great to hear your experiences. I'm no expert, but it's likely that you
 could ease much of the pain using protocols, type hints and deftypes or
 records. Also, Typed Clojure [3] is definitely worth looking at.

 [1] Clortex will be public on Github shortly, see
 http://fergalbyrne.github.io for docs, http://inbits.com for blog.
  [2] http://numenta.org
 [3] https://github.com/clojure/core.typed

 Regards,

 Fergal Byrne




 On Wed, Apr 9, 2014 at 10:18 AM, Aditya Athalye aditya@gmail.comwrote:

 Welcome, Anthony.

 I'm not aware of complete applications that fit your requirement,
 however I think you'll find value in the newly-minted Clojure Cookbook
 http://clojure-cookbook.com/ ... many, many examples of real-world
 problems,
 across domains, solved by Clojure practitioners.

 All the examples and solutions are available here:
 https://github.com/clojure-cookbook/clojure-cookbook

 Cheers, and once again, welcome!



 On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank
 here in NYC and found that they've been using Clojure for their business
 logic for over a year already and that got me curious, so I find myself on
 unfamiliar territory learning how to program in a functional language. So
 far so good, Moxley Stratton's online tutorial combined with Try Clojure
 (the online interpreter) has been very helpful (kudos to you guys!) and I'm
 now going through the book 'Programming Clojure'. So far I've seen a lot of
 utility/academic examples such as fibonacci but little in the way of an
 actual real-world example of a top-to-bottom desktop application built
 using Clojure on either the JVM or CLR, something simple that would
 demonstrate how Clojure fits into the event-driven model on the client-side
 behind, let's say, WPF, and how it would interact with more Clojure on the
 service-side via, let's say, WCF. Does anyone know of an example they can
 direct me to?

 Many thanks!

 Anthony

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

Re: Real World Example

2014-04-09 Thread Colin Yates
lein-midje-doc really does look excellent.  I went with marginalia but if 
that had been around at the time I would have jumped on it without a doubt.

On Wednesday, 9 April 2014 13:20:51 UTC+1, Fergal Byrne wrote:

 Hi Colin,

 Cheers. I had exactly the same problem, so I've been trying out a few 
 other ideas. One is to use datalog (or cascalog etc) and represent 
 objects with entities and relationships between objects with refs (for 
 datalog). I have some enormous data structures (2-300m synapses per layer, 
 for example) but I find that Datomic and datalog are great for modelling 
 really big and complex structures.

 There's a datomic wrapper library called adi [1] which adds a nice 
 map-like interface on top of datalog. It's perfect for getting your schema 
 right (you start off with a big map and it automagically does the schema), 
 and you can do some really long link-following, but I'm not using it 
 extensively yet (because everything is data, you can use adi for schema 
 design and some queries, and raw datomic for the rest).

 I'll be writing extensively about each library or tool I've used on my 
 blog (see sig). I'm writing about lein-midje-doc (also by zcaudate) at the 
 moment, it's just wonderful.

 [1] https://github.com/zcaudate/adi

 Regards,

 Fergal Byrne


 On Wed, Apr 9, 2014 at 12:22 PM, Colin Yates colin...@gmail.comjavascript:
  wrote:

 Hi Fergal,

 Thanks for those links.  I started using protocols and defrecords but I 
 (maybe mistakenly) got the impression that they were frowned upon.  As it 
 turns out, maps (typically with a :type key) and multi methods go a long 
 long way, but I still end up with fairly deep nesting of maps.  

 Maybe that is the key - deep nesting of maps maybe cries out one object 
 [data model] to rule them all and I need to decompose it further.  

 Without types almost all the type hints would be either the map of 
 sequence interface.  It isn't so much the structure that is obscure, but 
 the semantics of what that structure is modelling.

 As I hinted at, I am sure it is because my implementation model is still 
 influenced too much by my OO background.

 Onwards and upwards as they say.

 Col


 On Wednesday, 9 April 2014 11:37:52 UTC+1, Fergal Byrne wrote:

 Hi Anthony,

 I'm building a fairly large real-world system called Clortex [1], which 
 is a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. 
 As it's a greenfield project, I've chosen to use Clojure components all the 
 way through instead of fitting in with Java-based or .Net-based frameworks. 
 There are good reasons why you should do this if you can, but obviously 
 that doesn't help you directly with your question.

 There are many people introducing Clojure as a component in an existing 
 ecosystem, as Colin explains, but usually this is done deep inside a big 
 Java or .Net shop, and they're not showing the world the code. One possible 
 route would be to see if any of the big Java or CLR Open Source apps are 
 looking at doing some subsystems in Clojure.

 Colin,

 Great to hear your experiences. I'm no expert, but it's likely that you 
 could ease much of the pain using protocols, type hints and deftypes or 
 records. Also, Typed Clojure [3] is definitely worth looking at. 

 [1] Clortex will be public on Github shortly, see 
 http://fergalbyrne.github.io for docs, http://inbits.com for blog.
  [2] http://numenta.org
 [3] https://github.com/clojure/core.typed

 Regards,

 Fergal Byrne




 On Wed, Apr 9, 2014 at 10:18 AM, Aditya Athalye aditya@gmail.comwrote:

 Welcome, Anthony. 

 I'm not aware of complete applications that fit your requirement, 
 however I think you'll find value in the newly-minted Clojure Cookbook 
 http://clojure-cookbook.com/ ... many, many examples of real-world 
 problems, 
 across domains, solved by Clojure practitioners.

 All the examples and solutions are available here:
 https://github.com/clojure-cookbook/clojure-cookbook

 Cheers, and once again, welcome!



 On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote:

 Hello world!

 I'm a C# developer who recently went to an interview at a major bank 
 here in NYC and found that they've been using Clojure for their business 
 logic for over a year already and that got me curious, so I find myself 
 on 
 unfamiliar territory learning how to program in a functional language. So 
 far so good, Moxley Stratton's online tutorial combined with Try Clojure 
 (the online interpreter) has been very helpful (kudos to you guys!) and 
 I'm 
 now going through the book 'Programming Clojure'. So far I've seen a lot 
 of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built 
 using Clojure on either the JVM or CLR, something simple that would 
 demonstrate how Clojure fits into the event-driven model on the 
 client-side 
 behind, let's say, WPF, and how it would interact with more

Re: Real World Example

2014-04-09 Thread Fergal Byrne
 to you guys!) and 
 I'm
 now going through the book 'Programming Clojure'. So far I've seen a lot 
 of
 utility/academic examples such as fibonacci but little in the way of an
 actual real-world example of a top-to-bottom desktop application built
 using Clojure on either the JVM or CLR, something simple that would
 demonstrate how Clojure fits into the event-driven model on the 
 client-side
 behind, let's say, WPF, and how it would interact with more Clojure on 
 the
 service-side via, let's say, WCF. Does anyone know of an example they can
 direct me to?

 Many thanks!

 Anthony

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




 --

 Fergal Byrne, Brenter IT

 Author, Real Machine Intelligence with Clortex and NuPIC
 https://leanpub.com/realsmartmachines

 http://www.examsupport.iehttp://inbits.com - Better Living through
 Thoughtful Technology
 http://ie.linkedin.com/in/fergbyrne/
 https://github.com/fergalbyrne

 e:fergalby...@gmail.com t:+353 83 4214179
 Formerly of Adnet edi...@adnet.ie http://www.adnet.ie

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




 --

 Fergal Byrne, Brenter IT

 Author, Real Machine Intelligence with Clortex and NuPIC
 https://leanpub.com/realsmartmachines

 http://www.examsupport.iehttp://inbits.com - Better Living through
 Thoughtful Technology
 http://ie.linkedin.com/in/fergbyrne/
 https://github.com/fergalbyrne

 e:fergalby...@gmail.com t:+353 83 4214179
 Formerly of Adnet edi...@adnet.ie http://www.adnet.ie

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




-- 

Fergal Byrne, Brenter IT

Author, Real Machine Intelligence with Clortex and NuPIC
https://leanpub.com/realsmartmachines

http://www.examsupport.iehttp://inbits.com - Better Living through
Thoughtful Technology
http://ie.linkedin.com/in/fergbyrne/
https://github.com/fergalbyrne

e:fergalbyrnedub...@gmail.com t:+353 83 4214179
Formerly of Adnet edi...@adnet.ie http://www.adnet.ie

-- 
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: Real World Example

2014-04-09 Thread Sean Corfield
And for comparison at World Singles:

Clojure source 101 files 17952 total loc,
1321 fns, 666 of which are private,
203 vars, 8 macros, 29 atoms
Clojure tests 43 files 3790 total loc
Clojure WebDriver tests 14 files 560 total loc

(includes comments / whitespace etc - this is just the output of a simple 
script we run every week to track where we are on migration from our legacy 
code base and growth of our Clojure code)

The atoms are nearly all just caches. We're moving away from private functions.

Sean

On Apr 9, 2014, at 1:17 AM, Colin Yates colin.ya...@gmail.com wrote:

 Gah - 5547 production, 2600 of tests.  A lot of that discrepancy is down to 
 the very extensive documentation that https://github.com/gdeer81/marginalia 
 allows you to write.
 
 Please forgive any other mistakes, working on less than an hours sleep due to 
 my lovely kids.
 
 On Wednesday, 9 April 2014 09:14:38 UTC+1, Colin Yates wrote:
 Hello back!
 
 We are using Clojure on the JVM as the implementation language for a platform 
 that will underpin our applications for the next decade.  It is relatively 
 new and so far we have implemented the analysis module which is essentially a 
 generic charting engine.  
 
 So far we have 5547 lines of production code (including comments) and 2600 
 lines of production code (including comments).
 
 That doesn't sound like much but I can tell you it is replacing a similar, 
 but slightly smaller in scope analysis module written in Java which was 
 around 40K lines of production code.
 
 Our architecture is Clojure on the back end exporting a number of JSON end 
 points.  It is backed by MS SQL using the fantastic 
 https://github.com/jkk/honeysql library.
 
 For me, it is a dream coming from Java (and to a much lesser extent Scala), 
 but it does have its costs.  Moving from an OO world to an FP world isn't 
 easy, particularly in the shapes your solutions end up with.  I am also 
 feeling the pain of not having types - everything is a sequence.  This is a 
 joy but it also means a whole bunch of information (i.e. type information) is 
 lost.  
 
 One of the wins in OO languages is the many number of places to hang semantic 
 information - the name of the class, the structure of the class, the names of 
 the methods etc.  I also find many more intermediary variables in OO where as 
 in Clojure it seems more idiomatic to have pipelines of transformation.  I am 
 feeling the lost of static types as I refactor APIs particularly.
 
 This is undoubtedly my failing not Clojure's and I just need to absorb more 
 good FP paradigms.  Would I give up my emacs and Clojure and paredit 
 combination?  Not a chance :).
 
 Col
 
 On Tuesday, 8 April 2014 20:23:06 UTC+1, Anthony Ortiz wrote:
 Hello world!
 
 I'm a C# developer who recently went to an interview at a major bank here in 
 NYC and found that they've been using Clojure for their business logic for 
 over a year already and that got me curious, so I find myself on unfamiliar 
 territory learning how to program in a functional language. So far so good, 
 Moxley Stratton's online tutorial combined with Try Clojure (the online 
 interpreter) has been very helpful (kudos to you guys!) and I'm now going 
 through the book 'Programming Clojure'. So far I've seen a lot of 
 utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built using 
 Clojure on either the JVM or CLR, something simple that would demonstrate how 
 Clojure fits into the event-driven model on the client-side behind, let's 
 say, WPF, and how it would interact with more Clojure on the service-side 
 via, let's say, WCF. Does anyone know of an example they can direct me to?
 
 Many thanks!
 
 Anthony




signature.asc
Description: Message signed with OpenPGP using GPGMail


Real World Example

2014-04-08 Thread Anthony Ortiz
Hello world!

I'm a C# developer who recently went to an interview at a major bank here 
in NYC and found that they've been using Clojure for their business logic 
for over a year already and that got me curious, so I find myself on 
unfamiliar territory learning how to program in a functional language. So 
far so good, Moxley Stratton's online tutorial combined with Try Clojure 
(the online interpreter) has been very helpful (kudos to you guys!) and I'm 
now going through the book 'Programming Clojure'. So far I've seen a lot of 
utility/academic examples such as fibonacci but little in the way of an 
actual real-world example of a top-to-bottom desktop application built 
using Clojure on either the JVM or CLR, something simple that would 
demonstrate how Clojure fits into the event-driven model on the client-side 
behind, let's say, WPF, and how it would interact with more Clojure on the 
service-side via, let's say, WCF. Does anyone know of an example they can 
direct me to?

Many thanks!

Anthony

-- 
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: Real World Example

2014-04-08 Thread Sean Corfield
On Apr 8, 2014, at 12:23 PM, Anthony Ortiz anthonypa...@gmail.com wrote:
 I'm now going through the book 'Programming Clojure'. So far I've seen a lot 
 of utility/academic examples such as fibonacci but little in the way of an 
 actual real-world example of a top-to-bottom desktop application built using 
 Clojure on either the JVM or CLR

It's been a while since I read Programming Clojure but my sense is that Clojure 
Programming from O'Reilly (Emerick, Casper, Grand) would give you more of what 
you're looking for, and possibly the 2nd Ed of Clojure in Action from Manning 
(don't buy the 1st Ed - it's very out of date and a lot of the examples won't 
run).

Welcome to Clojure!

We're using Clojure for a lot of our application model at World Singles - an 
Internet dating platform - so we're using it to interact with MySQL, MongoDB, 
third party web services, to do data transformation (mostly to/from XML, JSON), 
and so on. We're also using it for the back end of a chat server (built around 
Netty and a Socket.IO server library).

Happy to answer any questions about real world usage either on or off-list!

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

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)





signature.asc
Description: Message signed with OpenPGP using GPGMail