Re: CLJS-in-CLJS; building ClojureScript from source; and stuff

2015-01-19 Thread Francis Avila
You will probably have more luck getting help in the Clojurescript group.

The clojurescript-in-clojurescript project you found is defunct. In the 
meantime normal Clojurescript has gotten much closer to being self-hosted 
and work towards that end is probably best done on Clojurescript itself 
instead of a work. This page outlines the work 
remaining: 
https://github.com/clojure/clojurescript/wiki/Bootstrapping-the-Compiler 
It's still not an insignificant amount of work.

However, are you really sure you can't keep a jvm around for compiling 
clojurescript? Sure it'd be nice if it were self-hosted, but I think people 
exaggerate how necessary it is.

If it really is an absolute requirement, consider WISP 
https://github.com/Gozala/wisp which is clojure-ish and hosted on js, but 
does *not* have clojure's fancy immutable data structures. (Those data 
structures are at least 80% of the reason to use Clojure IMO.) You can use 
other JS libraries to get them back, but they won't be native to WISP. E.g. 
immutable-js from facebook, or mori (which is really clojurescript compiled 
as a js library, hah!)

scripts/compile is a red herring. You need script/bootstrap. Read here to 
get started: https://github.com/clojure/clojurescript/wiki/Quick-Start

The clojurescript wiki in general is a good place to get 
oriented. https://github.com/clojure/clojurescript/wiki


On Saturday, January 17, 2015 at 7:13:04 PM UTC-6, Adam Avramov wrote:
>
> I'm working on a multimedia framework targeting Node.js (and, at some 
> point in the future, sooner rather than later, browsers). Since I need the 
> homoiconicity of a Lisp for my intended feature set, ClojureScript is 
> pretty much my only option -- and it's a very enjoyable language anyway. 
> I'm using this version of ClojureScript 
> , which seems to be the most 
> recent one; yet, apparently, it is still massively outdated. For example, 
> namespaces and module imports don't seem to work (as far as I can tell 
> anyway), leaving me to resort to reading each file with (eval-print) or 
> similar. I'd like to devote some effort towards bringing 
> ClojureScript-in-ClojureScript up to date, however I'm a bit confused. 
> Honestly I'm at a complete loss about where to start. I can't even seem to 
> build the code from the master branch of the clojure/clojurescript repo 
>  (scripts/compile fails by a 
> NullPointerException in compiler.clj). Can I please have a few pointers on 
> doing things right?
>

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


project.clj dependencies auto-update

2015-01-19 Thread Nikita Beloglazov
TL;DR if you have clojure project on github you can setup Hatnik 
 to update dependencies by pull request once new 
versions are available

Hatnik is a project we started at ClojureCup. It allows you to subscribe to 
any libraries and perform certain actions once new versions are available. 
Recently we've added build file support meaning that now you can specify 
github repo or URL to project.clj and we will extract libraries from it. 
How to setup:

   1. Go to http://hatnik.com and login.
   2. Click "Add project".
   3. Enter project name (any text you want, this is not github repo name).
   4. Enter build file, it can be either user/repo or full URL. If you 
   specify user/repo, we assume there is a project.clj file in root directory.
   5. Select action type. By default it is "Email": you'll get email 
   notifications once new version of a dependency has been released. You might 
   want to switch to pull request. 
   6. Click "Create". It may take some time to process your project.clj 
   file. After it is done you should see all dependencies displayed along with 
   their latest versions.
   7. Forget about Hatnik until a dependency has been updated. Then you'll 
   see pull request waiting for your approval.

Hatnik is especially nice when you have tests and CI integrated with 
github. This way you can see whether pull request breaks your project or 
not almost immediately without any efforts and merge it if everything is 
ok! Note: currently Hatnik doesn't open initial pull request that updates 
all deps to latest versions. It will open pull request next time a 
dependency is released. To perform this initial update you can use 
lein-ancient  plugin or don't do 
anything and let Hatnik update deps as they're released. 
Hatnik is an open source project and you can find it on (surprise, 
surprise) github: https://github.com/nbeloglazov/hatnik Idea is similar to 
Artifact 
Listener , VersionEye 
, Jarkeeper , but 
Hatnik can not only notify you about deps changes but can also help you to 
update them. 

If you find bugs or have some ideas how to impove Hatnik, please create an 
issue on github. Future plans are to support more build file formats 
(pom.xml, build.sbt, Gemfile and others), support libraries from other 
languages (ruby, js, python), improve UI. If you're interested in helping 
with development, please send me a short email or open issue with your idea 
so we can discuss it.

Thanks,
Nikita

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


An analysis of Clojure open-source codebase

2015-01-19 Thread zirkonit
Just a fun project in my downtime – analysis of Clojure open-source code, 
with REPL snippets used in an accompanying Github repo.

What other analysis could be done to this code, what would be of the most 
illustrative use to the community?

http://zirkonit.svbtle.com/clojure-opensource-code-metrics

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


New Functional Programming Job Opportunities

2015-01-19 Thread Functional Jobs
Here are some functional programming job opportunities that were posted

recently:



Front-end developer - JavaScript at IB5k

http://functionaljobs.com/jobs/8777-front-end-developer-javascript-at-ib5k



Cheers,

Sean Murphy

FunctionalJobs.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: Dynamically creating defrecord

2015-01-19 Thread Sven Richter
Thank you all for your answers and insights. As it often turns out, I don't 
need them. Clara rules also exposes other ways to pass data into rules.

Best Regards,
Sven

On Sunday, January 18, 2015 at 3:34:17 AM UTC+1, Sean Corfield wrote:
>
> On Jan 17, 2015, at 3:04 PM, Matching Socks  > wrote: 
> > And defstruct has not been deprecated in the API documentation. 
>
> Technically true but when you see comments like these out there it’s 
> reasonable to assume that structs should be avoided: 
>
> "We intentionally omit ... struct-maps, which are deprecated" 
> -- Prismatic Engineering Practices 
> -- 
> https://github.com/Prismatic/eng-practices/blob/master/clojure/20130926-data-representation.md#data-types
>  
>
> "I consider structs to be effectively deprecated so I don't use them at 
> all." 
> -- Alex Miller 
> -- 
> http://stackoverflow.com/questions/4575170/where-should-i-use-defrecord-in-clojure/4576143#4576143
>  
>
> "Incidentally, unless you need to stick to Clojure 1.1, you might want to 
> use 1.2's defrecord in preference to defstruct -- in fact, the latter is 
> deprecated in 1.2." 
> -- Michał Marczyk 
> -- 
> http://stackoverflow.com/questions/4288360/clojures-macro-define-a-binding-whose-name-is-composed-from-an-argument/4288738#4288738
>  
>
> 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) 
>
>
>
>

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


Real time stuartsierra/component system visualisations

2015-01-19 Thread JUAN ANTONIO Ruz
Hi folks,

just sharing here [milesian/system-diagrams 
] a tool to get real time 
system visualisations of your internal protocol calls in 
stuartsierra/component based systems 

You can find a couple of snapshots and instructions to use it in your 
current system here: 
https://github.com/milesian/system-diagrams

** Pay attention that all changes and dependencies required in your current 
project only are necessaries in dev mode. So you don't need to change 
anything in /src folder and all dependencies are added in :profiles :dev 
:dependencies

** Due that it's stuartsierra/component based you can use it with your 
juxt/modular  or danielsz/system 
 apps too

Hope it was useful
Juan 

http://tangrammer.github.io/

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