HN user

Borkdude

1,857 karma
Posts153
Comments134
View on HN
github.com 20h ago

Show HN: Cljbang.el – A Clojure-like language that runs as Emacs Lisp

Borkdude
4pts1
clojurescript.org 2mo ago

ClojureScript Gets Async/Await

Borkdude
279pts73
blog.michielborkent.nl 5mo ago

Babashka 1.12.215: Revenge of the TUIs

Borkdude
24pts4
www.youtube.com 8mo ago

Build a ClojureScript native desktop app in 5 minutes [video]

Borkdude
3pts0
clojurecivitas.github.io 8mo ago

Building Browser-Native Presentations with Scittle / ClojureScript

Borkdude
2pts0
blog.michielborkent.nl 9mo ago

Reagami: A Reagent-like library in less than 100 lines of Squint CLJS

Borkdude
1pts1
www.youtube.com 9mo ago

Eucalypt: <10kb Reagent UIs with Squint ClojureScript [video]

Borkdude
2pts2
mccormick.cx 9mo ago

I Replaced React and Reagent with 720 Lines of Slop-Coded Squint-Cljs

Borkdude
2pts0
chr15m.github.io 9mo ago

Tiny Reagent-compatible UIs with no React

Borkdude
2pts0
clojurescript.org 1y ago

ClojureScript 1.12.42

Borkdude
195pts42
mastodon.social 1y ago

Nbb can now be used with Deno including jsr: deps

Borkdude
4pts0
blog.michielborkent.nl 1y ago

Babashka Java interop, reflection and type hints

Borkdude
4pts0
albertzak.com 1y ago

Run, Build, and Grow Small Systems Without Leaving Your Text Editor

Borkdude
3pts0
github.com 1y ago

Squint's New Logo

Borkdude
1pts1
squint-cljs.github.io 2y ago

Squint now supports writing JavaScript generator functions

Borkdude
2pts0
squint-cljs.github.io 2y ago

Pinball implemented using Squint, a ClojureScript dialect

Borkdude
137pts25
blog.michielborkent.nl 2y ago

Porting a ClojureScript Project to Squint

Borkdude
2pts0
blog.jakubholy.net 2y ago

Include interactive Clojure/Scrips snippets in a web page with SCI and friends

Borkdude
2pts0
www.bristol.ac.uk 3y ago

Coffee Consumption Unrelated to Alertness

Borkdude
2pts1
clojure.org 3y ago

Clojure 1.12.0-Alpha2

Borkdude
10pts7
github.com 3y ago

Clj-kondo: a static analyzer and linter for Clojure

Borkdude
3pts0
metaredux.com 3y ago

Bad NREPL: Things You Hate About NREPL

Borkdude
3pts2
borkdude.github.io 3y ago

Show HN: Clj2el: Transpile Clojure to Emacs Lisp

Borkdude
3pts0
babashka.org 3y ago

Scittle: Run Clojure in HTML script tags

Borkdude
4pts1
mastodon.social 3y ago

Running 200k threads in babashka, no problem

Borkdude
4pts1
thegeez.net 3y ago

Pinball with Scittle/ClojureScript Made on an Android Phone

Borkdude
2pts0
github.com 3y ago

Electric Clojure – A signals DSL for full-stack web UI

Borkdude
330pts63
www.manning.com 3y ago

Data-Oriented Programming

Borkdude
1pts0
blog.michielborkent.nl 3y ago

Babashka News of January 2023

Borkdude
2pts0
github.com 3y ago

Show HN: Jet (jq for Clojure)

Borkdude
3pts0

This is about using a JS feature without bringing in any additional dependencies like core.async. You don't have to use it and you can still use core.async. This was the most asked for feature in the recent ClojureScript survey.

Author here. This is an experiment to run the Clojure compiler in a GraalVM native-image with Crema enabled. Crema is a new way to dynamically load JVM bytecode in a native-image using an interpreter.

More info about Crema: https://github.com/oracle/graal/issues/11327

I'm also the author of babashka, a native fast-starting scripting tool for Clojure. For me it's interesting to contrast both approaches and learn more about the pros/cons of each.

Author here. Babashka is a native Clojure interpreter for scripting, it starts in ~5-20ms instead of the usual JVM startup. This release adds JLine3 for building TUIs, a completely revamped console REPL, and a bunch of library compatibility improvements. The charm.clj counter example in the post is a single-file script you can run right away to get an idea of the new TUI capabilities. Have fun scripting!

Babashka now has a built-in markdown library. Babashka now also has a built-in HTML parsing library: Jsoup.

Why does bb carry too much baggage? Because it has useful libraries like the above?

The title didn't say compiler, it just said "Google Closure". The article I linked to is very clear that it's about the library.

This is not about maintaining compatibility with a Java version. As you can read in the post, Java 21 will be the minimum required Java version even. It's about the Google Closure Library on which many ClojureScript programs depend.

We are working on restoring that original stability. With this release, you’ll find that quite a few old ClojureScript libraries work again today as well as they did 14 years ago.

ClojureScript is and never was only just for rich web applications. Even in the post React-world, a large portion of the web is (sensibly) still using jQuery. If you need robust DOM manipulation, internationalization, date/time handling, color value manipulation, mathematics, programmatic animation, browser history management, accessibility support, graphics, and much more, all without committing to a framework and without bloating your final JavaScript artifact - ClojureScript is a one stop shop.

Squint's New Logo 2 years ago

Squint is a light-weight alternative to ClojureScript. It's been in the works for 2 years and finally has a logo, designed by Niki Tonsky!

Babashka (https://babashka.org/) example:

    (ns malli
      (:require [babashka.deps :as deps]))

    ;; This adds malli (https://github.com/metosin/malli) to babashka's classpath:
    (deps/add-deps '{:deps {metosin/malli {:mvn/version "0.10.0"}}})

    ;; Now we're able to load malli:
    (require '[malli.core :as malli])

    (prn (malli/validate [:+ :int] [1 2 3])) ;; true

In Clojure, you don't typically type code into the REPL, but write code in a file and then evaluate that code in a REPL connected to your editor. We don't just type into a console window, then reboot for some OS updates and forget about our previous efforts :). Combining this with a static analysis tool / linter like clj-kondo will also help since it will remind you that you removed certain functions, while they may still be there in the REPL.