Skip to content

alex-gutev/live-cells-cl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Live Cells CL

Caution

This software is still in beta, and will likely experience rapid changes before the first official release.

Live-Cells-CL is a library that adds reactive programming to lisp. The functionality of the library is ported from Live Cells for Dart.

Examples

Note

This section contains examples demonstrating the main features of the library. Head to the documentation, for a short tutorial.

Cells (reactive containers for data) are defined using DEFCELL

(defcell first-name "John")
(defcell last-name "Smith")

Cells can be defined using arbitrary expressions that reference other cells:

(defcell full-name
  (format nil "~a ~a" first-name last-name))

Cells are observed with LIVE:

(live
  (format t "Hello ~a~%" full-name))

Changing the value of a cell, using SETF, results in the live block being run:

For example changing the values of FIRST-NAME and LAST-NAME:

(setf first-name "Jane")
(setf last-name "Doe")

results in the following being printed:

Hello Jane Smith
Hello Jane Doe

If you'd like to learn more head over to the documentation.

About

A reactive programming library for Lisp

Resources

License

Stars

Watchers

Forks

Packages

No packages published