-
Notifications
You must be signed in to change notification settings - Fork 17
/
mstack.elc
27 lines (22 loc) · 3.42 KB
/
mstack.elc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
;ELC
;;; Compiled by toups@deluge on Tue Aug 30 14:21:42 2011
;;; from file /home/toups/elisp/utils/mstack.el
;;; in Emacs version 23.2.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\207" [require monads utils] 2)
(defalias 'get-options #[(options) "A\207" [options] 1])
(defalias 'options\? #[(mb-options) "<\205 @\301=\207" [mb-options Options] 2])
(defalias 'list->options #[(lst) "\301B\207" [lst Options] 2])
(defalias 'options-bind #[(v f) "\303!\304\305\306\303\n\" \"!)\207" [v options f get-options list->options mapcat comp] 5])
#@57 Options monad - just window dressing on the list monad.
(defvar options-monad (tbl! :m-bind 'options-bind :m-return #[(v) "\302\301JC!)\207" [v #1=#:--cl-v-- list->options] 2]) (#$ . 900))
(defalias 'fpush #[(x stack) " B\207" [x stack] 2])
(defalias 'fdrop #[(stack) "A\207" [stack] 1])
(defalias 'mfpush #[(mitems mstack) "\303\304\" \n\"\207" [options-monad mitems mstack m-lift-into2 fpush] 3])
(defalias 'mfdrop #[(mstack) "\302\303\" !\207" [options-monad mstack m-lift-into1 fdrop] 3])
(byte-code "\306\307\310\311\"!\210\312 \313\"\314 !\204 \315\316!\210\317\320!\211\205\"