%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/org/ |
Current File : //usr/local/share/emacs/27.2/lisp/org/ob-haskell.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\"\207" [require ob org-macs comint add-to-list org-babel-tangle-lang-exts ("haskell" . "hs")] 3) (defvar org-babel-default-header-args:haskell '((:padlines . "no"))) (defvar org-babel-haskell-lhs2tex-command "lhs2tex") (defvar org-babel-haskell-eoe "\"org-babel-haskell-eoe\"") (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable org-babel-haskell-compiler funcall function #[0 "\300\207" [#1="ghc"] 1 #1#] "Command used to compile a Haskell source code file into an executable.\nMay be either a command in the path, like \"ghc\" or an absolute\npath name, like \"/usr/local/bin/ghc\". The command can include\na parameter, such as \"ghc -v\"." :group org-babel :package-version (Org "9.4") :type string] 10) #@36 Haskell-specific header arguments. (defconst org-babel-header-args:haskell '(compile . :any) (#$ . 1225)) #@86 This function should only be called by `org-babel-execute:haskell' (fn BODY PARAMS) (defalias 'org-babel-haskell-execute #[514 "\302\303\304\"\305\302\306\"!\307\236A\211\203 \310P\202 \311\312\236A\313\314<\203( \202* C\310#\315\316\236A\206: \317\320\321\322#\320\"\313\314<\203G \202I C\310#\323\324!\325\326\327\330\331!\332\"\333$\216r\211q\210c\210)r\211q\210\334\320\211\320\326%\210*\266\335\336\337 \n\305!&\311\"\210\335P\311\"\211\205M\340!\320\341\203\240 \342\202\241 \343\311\341\344\311##\266\202\262\345\346\236A\347\235?\2052\350\235\204\374 \351\235\204\374 \352\235\204\374 \353\235\204\374 \354\235\204\374 \355\235\204\374 \356\235\204\366 \357\235\204\366 \360\235\204\366 \361\235\203\362\235\204\315\322\"\2022\302\363!\211\323\324!\325\326\327\330\331!\364\"\333$\216r\211q\210c\210)r\211q\210\334\320\211\320\326%\210*\266\365!\262\262\366\367 \236A\370\236A\"\366\371\236A\372\236A\"#\262\207" [org-babel-exeext org-babel-haskell-compiler org-babel-temp-file "Haskell-src-" ".hs" org-babel-process-file-name "Haskell-bin-" :cmdline " " "" :flags mapconcat identity org-babel-read :libs org-entry-get nil "libs" t generate-new-buffer " *temp file*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 write-region org-babel-eval format "%s -o %s %s %s %s" org-remove-indentation replace-regexp-in-string "\\`\\([ ]*\n\\)+" "\\`[ \n ]+" "[ \n ]+\\'" org-babel-reassemble-table :result-params "none" "scalar" "verbatim" "html" "code" "pp" "file" "output" "raw" "org" "drawer" "table" "Haskell-" [buffer-name kill-buffer] org-babel-import-elisp-from-file org-babel-pick-name :colname-names :colnames :rowname-names :rownames] 22 (#$ . 1337)]) #@20 (fn BODY PARAMS) (defalias 'org-babel-interpret-haskell #[514 "\306\307!\210\310\311\312\"\210\313\236A\314\236A\315\316!#\317\"\320B\321!\204, \322\323\"\210\324 \325\326\327\330\331!\332\"\333$\216rq\210\212\334\335C\325\336\337\330\331!\340\"\341\342%\nB\343\344\345p!!b\210`d{\262|\266\343\346\203q \347\202r \350\335\346\351\335##\266\202c\210\352\343\353\"\210c\210\352\343\353\"\210\fb\210\212\354\355!\343\353#\205\236 \354 \343\353#)\204\253 \356\345p!!\210\202\213 \344\345p!!b\210\211c\210\203\325 \357\346\360\361\355 \206\304 \335!#\242\"\203\325 \362\242\326\225\"\240\210\363\242 \")\266\202,\262\364\365\366\364\367\"!\235A\"\370\371\267\202\372\373\366!\360#\202@\202\343\374 \236A\375\235?\205m\376\235\204d\377\235\204d\201@ \235\204d\201A \235\204d\201B \235\204d\201C \235\204d\201D \235\204\\\201E \235\204\\\201F \235\204\\\201G \235\203h\201H \235\204h\202m\201I !\262\262\201J \201K \n\236A\201K \236A\"\201J \201L \236A\201L \f\236A\"#)\207" [comint-preoutput-filter-functions comint-input-filter comint-output-filter-functions org-babel-haskell-eoe comint-last-input-end comint-prompt-regexp require inf-haskell add-hook inferior-haskell-hook #[0 "\302\301!\210\303P\211\207" [haskell-prompt-regexp comint-prompt-regexp make-local-variable "\\|^λ?> "] 2] :session :result-type org-babel-expand-body:generic org-babel-variable-assignments:haskell org-babel-haskell-initiate-session ansi-color-filter-apply org-babel-comint-buffer-livep error "Buffer %s does not exist or has no process" match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 #[257 "\300\207" [nil] 2 "\n\n(fn INPUT)"] "" 257 "\300\211\242P\240\207" [] 4 "\n\n(fn TEXT)" nil process-mark get-buffer-process replace-regexp-in-string "\\`\\([ ]*\n\\)+" "\\`[ \n ]+" "[ \n ]+\\'" comint-send-input t re-search-forward regexp-quote accept-process-output string-match "\n" "[ \n]+" substring split-string mapcar org-strip-quotes reverse org-trim org-babel-reassemble-table #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (output 244 value 254)) mapconcat identity :result-params "none" "scalar" "verbatim" "html" "code" "pp" "file" "output" "raw" "org" "drawer" "table" org-babel-script-escape org-babel-pick-name :colname-names :rowname-names] 18 (#$ . 3127)]) #@52 Execute a block of Haskell code. (fn BODY PARAMS) (defalias 'org-babel-execute:haskell #[514 "\300\236A\301\230\211\204 \302\"\202 \303\"\207" [:compile "yes" org-babel-interpret-haskell org-babel-haskell-execute] 6 (#$ . 5550)]) #@171 Initiate a haskell session. If there is not a current inferior-process-buffer in SESSION then create one. Return the initialized session. (fn &optional SESSION PARAMS) (defalias 'org-babel-haskell-initiate-session #[512 "\300\301!\210\302\303!\206# \304 \305\306\307\310\311!\312\"\313$\216\314 \210\315\316!\210p)\262\207" [require inf-haskell get-buffer "*haskell*" current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 run-haskell sleep-for 0.25] 9 (#$ . 5795)]) #@51 Load BODY into SESSION. (fn SESSION BODY PARAMS) (defalias 'org-babel-load-session:haskell #[771 "\300 \301\302\303\304\305!\306\"\307$\216\310\"\311\312!\313P\314\315!r\211q\210\301\302\316\304\305!\317\"\307$\216c\210\320!\210\321 \210\322 \210*\210\266\202)\207" [current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 org-babel-prep-session:haskell org-babel-temp-file "haskell-load-" ".hs" generate-new-buffer " *temp*" "\301\300!\205 \302\300!\207" [buffer-name kill-buffer] write-file haskell-mode inferior-haskell-load-file] 13 (#$ . 6323)]) #@83 Prepare SESSION according to the header arguments in PARAMS. (fn SESSION PARAMS) (defalias 'org-babel-prep-session:haskell #[514 "\301 \302\303\304\305\306!\307\"\310$\216\311!\312!\204 \313\314\"\210\315 \302\303\316\305\306!\317\"\320$\216rq\210\212\321\322\323\324!\"\210,\210p\262)\207" [comint-input-filter current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 org-babel-haskell-initiate-session org-babel-comint-buffer-livep error "Buffer %s does not exist or has no process" match-data "\301\300\302\"\207" [set-match-data evaporate] 3 #[257 "\300\207" [nil] 2 "\n\n(fn INPUT)"] mapc #[257 "\211c\210\300\301\302\"\207" [comint-send-input nil t] 4 "\n\n(fn LINE)"] org-babel-variable-assignments:haskell] 11 (#$ . 6939)]) #@81 Return list of haskell statements assigning the block's variables. (fn PARAMS) (defalias 'org-babel-variable-assignments:haskell #[257 "\300\301\302!\"\207" [mapcar #[257 "\300\301@\302A!#\207" [format "let %s = %s" org-babel-haskell-var-to-haskell] 6 "\n\n(fn PAIR)"] org-babel--get-vars] 5 (#$ . 7738)]) #@166 Convert an elisp value VAR into a haskell variable. The elisp VAR is converted to a string of haskell source code specifying a variable of the same value. (fn VAR) (defalias 'org-babel-haskell-var-to-haskell #[257 "\211<\203 \300\301\302\303#\304Q\207\305\306\"\207" ["[" mapconcat org-babel-haskell-var-to-haskell ", " "]" format "%S"] 6 (#$ . 8055)]) #@416 Export to a .lhs file with all haskell code blocks escaped. When called with a prefix argument the resulting .lhs file will be exported to a .tex file. This function will create two new files, base-name.lhs and base-name.tex where base-name is the name of the current Org file. Note that all standard Babel literate programming constructs (header arguments, no-web syntax etc...) are ignored. (fn &optional ARG) (defalias 'org-babel-haskell-export-to-lhs #[256 "\303 \304\305\306 !\307\310!\211\311P\312P\313P\312P\314\315!\316\315!\260 \317\320\321!\322\323\324\325\326!\327\"\330$\216r\211q\210\fc\210eb\210\331\f\317\332#\203\233 \333 \322\323\334\325\326!\335\"\336$\216\337\340!G\262)\210\341\333 \322\323\334\325\326!\342\"\336$\216\343\204| \344\345\337\330!\"\203\202 \337\336!\202\207 \346\337\336!!\347Q)\262\332\211#\210\350\323\224\323\225#\210\202? )r\211q\210\351\317\211\317\323%\210*\266\212\352\353!\210\354!\210\317\355\356\"\210)\357\317!\210\360!\210\354!\210eb\210\330y\210\361c\210\331\362\317\332#\203\373 \341\333 \322\323\334\325\326!\363\"\336$\216\346\337\323!!)\262\332\211#\210\202\325 \303 \262\364 \210\357\317!\210)\360!\210\320\321!\322\323\324\325\326!\365\"\330$\216r\211q\210\fc\210)r\211q\210\351\317\211\317\323%\210*\266\204?\354!\202K\366\367\"\210\370!\210\354!\207" [org-babel-haskell-lhs2tex-command org-src-preserve-indentation org-export-copy-to-kill-ring buffer-string "^\\([ ]*\\)#\\+begin_src[ ]haskell*\\(.*\\)[ \n]\\([^ ]*?\\)[ \n][ ]*#\\+end_src.*" file-name-sans-extension buffer-file-name org-babel-temp-file "haskell-" ".org" ".tex" ".lhs" " " org-babel-process-file-name " > " nil generate-new-buffer " *temp file*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 re-search-forward t match-data "\301\300\302\"\207" [set-match-data evaporate] 3 match-string 1 replace-match [set-match-data evaporate] "#+begin_export latex\n\\begin{code}\n" string-match "-i" org-remove-indentation "\n\\end{code}\n#+end_export\n" indent-code-rigidly write-region require ox-latex find-file org-export-to-file latex kill-buffer delete-file "%include polycode.fmt\n" "^[ ]+\\\\begin{code}[^ ]+\\\\end{code}" [set-match-data evaporate] save-buffer [buffer-name kill-buffer] message "running %s" shell-command] 22 (#$ . 8419) "P"]) (provide 'ob-haskell)