Liking cljdoc? Tell your friends :D

brain

An event looping abstraction to be used as the driving loop for a game engine, Elmish frontend, etc.

Important Links

builds.sr.ht status - ci.yml

Usage

Add the net.clojars.jamesaorson/brain Clojars project

Release

Clojars Project - Release

Latest

Clojars Project - Latest

Leiningen/Boot

[net.clojars.jamesaorson/brain "x.x.x"]

Clojure CLI/deps.edn

net.clojars.jamesaorson/brain {:mvn/version "x.x.x"}

Example

The minimal main program would be as follows

(ns examples.minimal.main
  (:require [net.clojars.jamesaorson.brain.core :refer (spark)]))

(defn msg-handler [{}] [false {}])

(defn -main
  [& _args]
  (spark {:msg-handler msg-handler}))

(-main)

Gradle

implementation("net.clojars.jamesaorson:brain:0.0.1")

Maven

<dependency>
  <groupId>net.clojars.jamesaorson</groupId>
  <artifactId>brain</artifactId>
  <version>0.0.1</version>
</dependency>

Examples

Refer to main.clj for an ever-evolving, documenting example project, meant to demonstrate every feature of the engine simultaneously.

Over time, this will lead to the most wild and insane application you can imagine.

Please help to make it so.

Additional examples will come to live in their namesake

Local Development

Local Development - Setup

The first thing to do is to install babashka so all other scripts work

Setup Babashka

Install babashka

./scripts/install_babashka.bash

Setup Brew

On Linux, this is also referred to as linuxbrew

./scripts/install_brew.bb

Setup Clojure

Using brew:

./scripts/install_clojure.brew.bb

or, if on Linux, directly using the install script:

./scripts/install_clojure.linux.bb

Setup Leiningen

You can install leiningen using our script

./scripts/install_leiningen.manual.bb

Or you can install leiningen for your platform

For Debian/Ubuntu

sudo apt-get install -y leiningen

For MacOS or if using brew

brew install leiningen

Or using our script

Setup jq

For Debian/Ubuntu:

sudo apt-get install -y jq

For MacOS:

brew install jq

Local Development - Lint

./scripts/lint.bb

Local Development - Build

./scripts/build.bb

Local Development - Run

./scripts/run.bb

Local Development - Test

./scripts/test.bb

Local Development - Submitting a PR

Simply click this link, and follow the instructions here to create a patchset, sending the patchset email to the following for the brain mailing list: ~jamesaorson/brain@lists.sr.ht

Can you improve this documentation?Edit on sourcehut

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close