-
Notifications
You must be signed in to change notification settings - Fork 17
/
monad-stream.elc
82 lines (76 loc) · 8.01 KB
/
monad-stream.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
;ELC
;;; Compiled by toups@deluge on Fri Apr 8 14:29:37 2011
;;; from file /home/toups/elisp/utils/monad-stream.el
;;; in Emacs version 23.1.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19.29")))
(error "`monad-stream.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'monads)
(defalias 'stream-case-names #[(sub-form) "@\207" [sub-form] 1])
(defalias 'stream-case-one #[(sub-form stream) "\303!\304\305\306\nD\307\310\nDDED\311 @\312\nDDCA)BBD\207" [sub-form names stream stream-case-names not and pair\? functionp cdr let car] 6])
(defalias 'stream-case-more #[(sub-form stream) "\305!A\306\307\n@\310DD\n\211A@)\311DDD *BBD\207" [sub-form body names stream x stream-case-names t let car cdr] 7])
(defalias 'stream-case '(macro . #[(expr on-zero on-one on-more) "\305\306!\307 DC\310\311D\nD\312\"\313\f\"FE)\207" [stream expr on-zero on-one on-more gensym "stream" let cond not stream-case-one stream-case-more] 8]))
(defalias 'stream-cdr #[(stream) "\211\204 \304 \202( \305 !\203 \306 A!\204 @\210\304\202( @ A\n *)\207" [stream #1=#:stream65771 f a nil pair\? functionp] 3])
(defalias 'mk-stream '(macro . #[(car expr) "\302\303\304 BBE\207" [car expr cons lambda nil] 5]))
(defalias 'choice '(macro . #[(a f) "\302 E\207" [a f cons] 3]))
(defalias 'transform-binder #[(binder) "9\203 \211D\207<\203# G\301U\203 @\211D\207G\302U\205&