Skip to content

inlinestyle/lifted.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lifted.el Build Status

Functional reactive programming library for Emacs Lisp

Quick Look

This is a rough draft of an FRP library for Emacs Lisp. I'm working from a number of inspirations, primarily ReactiveCocoa and Elm.

(defvar key-signal (lifted:signal-for-key (kbd "C-c s")))

(funcall key-signal
         :map            (lambda (value) (float-time))
         :defer
         :map            (lambda (value) (round value))
         :filter         (lambda (value) (= (% value 2) 0))
         :subscribe-next (lambda (value)
                           (message "subscriber reporting even rounded timestamp: %s" value)))

Chainable Operators

  • lifted:defer
  • lifted:filter
  • lifted:flatten
  • lifted:flatten-map
  • lifted:map
  • lifted:merge

TODO

There's a ton left to do!

  • many more functional operators
  • more diverse deferral options
  • multicasting
  • signal disposal
  • error handling
  • throttling/debouncing
  • sequences & cold signals
  • possibly reducing the number of funcalls
  • cask build
  • getting on MELPA

Acknowledgements

About

Functional reactive programming library for Emacs Lisp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published