;ELC   
;;; Compiled
;;; in Emacs version 24.5.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!\210\303\304\305\"\207" [require ob comint add-to-list org-babel-tangle-lang-exts ("ocaml" . "ml")] 3)
(defvar org-babel-default-header-args:ocaml nil)
(defvar org-babel-ocaml-eoe-indicator "\"org-babel-ocaml-eoe\";;")
(defvar org-babel-ocaml-eoe-output "org-babel-ocaml-eoe")
#@47 Name of the command for executing Ocaml code.
(custom-declare-variable 'org-babel-ocaml-command "ocaml" '(#$ . 721) :version "24.4" :package-version '(Org . "8.0") :group 'org-babel :type 'string)
#@43 Execute a block of Ocaml code with Babel.
(defalias 'org-babel-execute:ocaml #[(body params) "\306\307\310\311\"\"\312\n\313!#\314\315\316\"A\"\317\f!\204$ \320\321\f\"\210\322 \323\216r\fq\210\324@\325A\326BBB\327\211CD\330\331p!!b\210`dE\211FE{CFE|\210*\332!\333GQc\210\334 \210Hb\210\212\335\336I!\327\337#\205{ \335J\327\337#)\204\210 \340\331p!!\210\202e \330\331p!!b\210Cc\210\203\261 \341\342\343\344\336\206\241 \325!#A\"\203\261 A\345\225\327OD\346AJ\".D\336I!\327KL\347\327\306\350\306\351\352D!\"\"\"*@M\351M!D\315\353\"AN\341\354D\"O\355\356D\"P\355\357D\"Q\355\360D\"R\361NS\362S\235?\205\212\363S\235\204X\364S\235\204X\365S\235\204X\366S\235\204X\367S\235\204X\370S\235\204X\371S\235\204Q\372S\235\204Q\373S\235\204Q\374S\235\203u\375S\235\204u\364N\235\203dD\202\212\371N\235\203pP\202\212D\202\212R\203\210Q\203\210\376RQ\"\202\212D)\377\315\201T \"A\315\201U \"A\"\377\315\201V \"A\315\201W \"A\"#.\207" [params vars body full-body session save-match-data-internal mapcar cdr org-babel-get-header :var org-babel-expand-body:generic org-babel-variable-assignments:ocaml org-babel-prep-session:ocaml assoc :session org-babel-comint-buffer-livep error "Buffer %s does not exist or has no process" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) #[(input) "\300\207" [nil] 1] "" #[(text) "	P\211\207" [string-buffer text] 2] nil process-mark get-buffer-process org-babel-chomp ";;\n" tuareg-interactive-send-input re-search-forward regexp-quote t accept-process-output string-match replace-regexp-in-string "\n" "[\n]+" 0 split-string delq #[(line) "\203 \303	\207\304\n	\"\205 \305\303\207" [out line re nil string-match t] 3] org-babel-trim reverse :result-params "\\(\\(.*\n\\)*\\)[^:\n]+ : \\([^=\n]+\\) =\\(\n\\| \\)\\(.+\\)$" match-string 1 3 5 org-babel-reassemble-table "none" "scalar" "verbatim" "html" "code" "pp" "file" "output" "raw" "org" "drawer" "table" org-babel-ocaml-parse-output org-babel-pick-name comint-input-filter string-buffer comint-output-filter-functions dangling-text raw end start org-babel-ocaml-eoe-indicator comint-last-input-end org-babel-ocaml-eoe-output comint-prompt-regexp out re clean result-params parsed output type value #1=#:--params :colname-names :colnames :rowname-names :rownames] 9 (#$ . 924)])
#@62 Prepare SESSION according to the header arguments in PARAMS.
(defalias 'org-babel-prep-session:ocaml #[(session params) "\304\305!\210\306\230\204 \307\230\204 ;\203 \202 	\310 \311\216\312\313!\203- \313!\210\2020 \314 \210*\315	!)\207" [session tuareg-interactive-buffer-name #1=#:wconfig org-babel-ocaml-command require tuareg "none" "default" current-window-configuration ((set-window-configuration #1#)) fboundp tuareg-run-process-if-needed tuareg-run-caml get-buffer] 2 (#$ . 3346)])
#@66 Return list of ocaml statements assigning the block's variables.
(defalias 'org-babel-variable-assignments:ocaml #[(params) "\301\302\301\303\304\305\"\"\"\207" [params mapcar #[(pair) "\301\302@\303A!#\207" [pair format "let %s = %s;;" org-babel-ocaml-elisp-to-ocaml] 5] cdr org-babel-get-header :var] 7 (#$ . 3853)])
#@55 Return a string of ocaml code which evaluates to VAL.
(defalias 'org-babel-ocaml-elisp-to-ocaml #[(val) "<\203 \301\302\303\304#\305Q\207\306\307\"\207" [val "[|" mapconcat org-babel-ocaml-elisp-to-ocaml "; " "|]" format "%S"] 5 (#$ . 4181)])
#@83 Parse VALUE of type TYPE.
VALUE and TYPE are string output from an ocaml process.
(defalias 'org-babel-ocaml-parse-output #[(value type) "\302\230\203\n \303	!\207\304\230\204 \305\230\203 \306	!\207\307\310\"\203% \311	!\207\307\312\"\2030 \313	!\207\314\315\"\210	\207" [type value "string" org-babel-read "int" "float" string-to-number string-match "list" org-babel-ocaml-read-list "array" org-babel-ocaml-read-array message "don't recognize type %s"] 3 (#$ . 4434)])
#@168 Convert RESULTS into an elisp table or string.
If the results look like a table, then convert them into an
Emacs-lisp table, otherwise return the results as a string.
(defalias 'org-babel-ocaml-read-list #[(results) "\301\302\303\304#!\207" [results org-babel-script-escape replace-regexp-in-string ";" ","] 5 (#$ . 4920)])
#@168 Convert RESULTS into an elisp table or string.
If the results look like a table, then convert them into an
Emacs-lisp table, otherwise return the results as a string.
(defalias 'org-babel-ocaml-read-array #[(results) "\301\302\303\304\302\305\306\302\307\310###!\207" [results org-babel-script-escape replace-regexp-in-string "\\[|" "[" "|\\]" "]" "; " ","] 11 (#$ . 5252)])
(provide 'ob-ocaml)
