Posts about Clojure
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qkej/styles/communityIcon_vrvz3no0vgy31.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2fwo/styles/communityIcon_1bqa1ibfp8q11.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qh35/styles/communityIcon_fcn8xxv97ui11.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_5pvnat/styles/communityIcon_1gl8tek768d81.jpg?format=pjpg&s=28637ad33cdc29aaf46e237af7da2d7225f30d34)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qhwu/styles/communityIcon_mmfure0qstba1.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2soszt/styles/communityIcon_b3gq056slq751.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_37w2j/styles/communityIcon_v82f2kcg52y41.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qh36/styles/communityIcon_b3usb2hbvbe11.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2sa9t/styles/communityIcon_qoguxcjcs5541.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qh37/styles/communityIcon_kge80txqeqf11.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qhd7/styles/communityIcon_tzuj58g8ax451.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_282yb7/styles/communityIcon_cg8qcjie9kx31.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2vcmg/styles/communityIcon_m82y2oswyui31.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qhqx/styles/communityIcon_9lpgb9pf6xh01.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://b.thumbs.redditmedia.com/kdpwcOKjcwwPBGcNxl3B7b2Ta6_DMnmYeoo8qpvRL4U.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2s7lj/styles/communityIcon_pjg3ktzyju771.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qh21/styles/communityIcon_j7mbcq6jkt691.png)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_3b3wa/styles/communityIcon_0nmatgey4z2a1.jpg?format=pjpg&s=e10f4db377b6aeea73c763003b7cac6839617378)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2qi41/styles/communityIcon_tkz1n0r0j8k81.jpg?format=pjpg&s=ce0f3f4d46a70ae07335985c6999eb53389bcd51)
![Subreddit Icon](http://web.archive.org./web/20230520005655im_/https://styles.redditmedia.com/t5_2rc7j/styles/communityIcon_wy4riduoe9k11.png)
On Mac OS Ventura I have Clojure installed in $HOME/bin/clojure. According to the Clojure website (https://clojure.org/releases/tools) Clojure and Clojure Tools are in separate sections but the URL I use to download and install Clojure (https://download.clojure.org/install/clojure-tools-1.11.1.1267.tar.gz) references Clojure Tools. To complicate matters one of bb, nbb or neil (I forget which) compalins if Tools is not in $HOME/.deps.clj/ but the resulting directory structure doesn't resemble the tools directory under $HOME/bin/clojure. So, are Tools separate from Clojure itself?
From: https://sched.co/1LhoH
Lingy brings to Perl what Clojure did for Java. Immutable data, functional programming, simple concurrency and the genius of Lisp.
In this talk, Ingy döt Net (inventor of the YAML data language) will teach you how to program in Perl using Lingy, a new hosted programming language that is a Perl implementation of Clojure (a Lisp hosted by Java and the JVM). "Hosted" means that Lingy can use Perl modules, and normal Perl code can use modules written in Lingy.
Clojure was designed to make Java programming not suck. It's a Lisp dialect that feels as dynamic as Perl, but JIT compiles to JVM bytecode, making it very performant. It's a very practical language that is both ways compatible with anything written in Java. Among other things, it supports functional programming and makes concurrent programming simple.
Lingy attempts to do the same things for Perl. It feels dynamic but it JIT compiles to LLVM bytecode. This means you can very easily write "XS speed" programs and modules that use CPAN modules in Lingy. You can also publish Lingy modules to CPAN as easily as pure Perl ones.
If writing code in Lisp isn't your style, you'll also learn about YAMLScript, a new programming language that is really just an alternate syntax transpiled to Lingy. This is not just Lingy expressions expressed in YAML. YAMLScript programs are indeed valid YAML, but in a style that looks and feels more like Perl or Python imperative ones. This means you can do real programming in YAML. Yes, you can write a YAML parser in YAML!
You'll also learn how to write Perl tests in YAML with Test::More::YAMLScript. They work just like Perl .t files and can be run with prove or yath.
One pain point of REPL driven development is that even if it is possible to change an application while it is running, if you want to experiment with a new library it is need to add a new dependency to your project and restart the REPL to use it, possibly breaking your flow.
Fortunately a new set of functions to alleviate this pain are in the works and ready to be tested since Clojure 1.12.0-alpha2:
add-lib: Given a lib that is not yet on the repl classpath, make it available by downloading the library if necessary and adding it to the classloader.
add-libs: Given lib-coords, a map of lib to coord, will resolve all transitive deps for the libs together and add them to the repl classpath, unlike separate calls to add-lib.
sync-deps: Calls add-libs with any libs present in deps.edn but not yet present on the classpath.
This time the content of the post will be available on my site, please let me know it is a deal breaker! It that is the case, I'll replicate it here.
Looking forward your feedback!