Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.
/ darkmatter Public archive

The notebook-style Common Lisp environment

Notifications You must be signed in to change notification settings

tamamu/darkmatter

Repository files navigation

Darkmatter

Screen Shot

Requirement

Installation

See also Installation Guide for Roswell.

Install the requirements and Roswell.

# for macOS
$ brew install libev roswell

# for Ubuntu/Debian
$ apt-get install libev-dev
# and build roswell from source!

# for Arch Linux
$ yaourt -S libev roswell

Add the PATH in the initialization file (such as ~/.bashrc) to use darkm command later.

export PATH=$PATH:~/.roswell/bin

Install Darkmatter.

$ ros install tamamu/darkmatter

Usage

Darkmatter starts from current directory.

# change the current directory to the one starting Darkmatter from
$ cd ~/path/to/root-directory

# start Darkmatter
$ darkm
# Open localhost:8888/browse/file.lisp in your browser!

Symbols

*current-directory*
;; The path where the file exists

(enable-infix-syntax)
;; #f(#f(9 + 8 * 2) / 5)

(runtask init-form &body body)
;; Run asynchronous alertable task.
;; The result of body will be alerted finally.

  (checkpoint tmp-form kill-form)
  ;; You can use this form only in runtask.
  ;; If the task should kill, then kill-form will be alerted; otherwise tmp-form will be alerted.

How To Make Plugin

You can regist plugin with config file ($HOME/.darkmatter.conf) to add plugin file paths.
See example.

See also examples, examples/plugtest.lisp or plot.lisp and LispPlot.js.

See Also

  • Clack - Web application environment for Common Lisp
  • Ace - The High Performance Code Editor for the Web
  • marked - A markdown parser and compiler
  • KaTeX - Fast math typesetting for the web
  • d3 - Data visualizing library for the web
  • Font Awesome - The iconic font and CSS toolkit

Author

Copyright

Copyright (c) 2017 Eddie (tamamu.1r1s@gmail.com)

License

Licensed under the MIT License.