* ob-term
** Serial term to ulisp
** Serial term to ulisp
** Serial term to ulisp
#+header: :create '(ob-term-serial-term "/dev/ttyACM0" 9600)
#+header: :session /dev/ttyACM0
#+header: :session /dev/ttyACM0
#+header: :session /dev/ttyACM0
#+header: :pause 0.2
#+begin_src term:lisp
  (defun sq (x) (* x x))
  (sq 3)
#+end_src

** Bash shell in term-mode
#+header: :create '(ob-term-term "bash")
#+header: :session *term-bash*
** Bash shell in term-mode
#+header: :create '(ob-term-term "bash")
#+header: :session *term-bash*
** Bash shell in term-mode
#+header: :create '(ob-term-term "bash")
#+header: :session *term-bash*
#+begin_src term:sh :results silent
  PS1="$ "
#+end_src

#+header: :session *term-bash*
#+header: :session *term-bash*
#+header: :session *term-bash*
#+begin_src term:sh
  date
  sleep 1
  date
#+end_src

** Ghci in term-mode
** Ghci in term-mode
** Ghci in term-mode
#+header: :create '(ob-term-term "ghci")
#+header: :session *term-ghci*
#+header: :session *term-ghci*
#+header: :session *term-ghci*
#+begin_src term:haskell
  3 * 3
  4 + 7
#+end_src

#+header: :create '(ob-term-shell "bash" "*shell*")
** A shell in comint-mode
#+header: :create '(ob-term-comint "bash")
#+header: :session *comint-bash*
** A shell in comint-mode
#+header: :create '(ob-term-comint "bash")
#+header: :session *comint-bash*
** A shell in comint-mode
#+header: :create '(ob-term-comint "bash")
#+header: :session *comint-bash*
#+begin_src term:sh :results silent
  PS1=""
  echo ""
#+end_src

** ghci in comint-mode
#+header: :create '(ob-term-shell "ghci")
#+header: :buffer *ghci*
#+begin_src term:haskell
  3 * 3
  4 + 7
#+end_src

#+header: :session *comint-bash*
#+header: :session *comint-bash*
#+header: :session *comint-bash*
#+begin_src term:sh
  date
  sleep 3
  date
#+end_src

** ghci in comint-mode
#+header: :create '(ob-term-shell "ghci")
#+header: :buffer *ghci*
#+begin_src term:haskell
  3 * 3
  4 + 7
  pwd
#+end_src

#+header: :session *comint-bash*
#+begin_src term:sh :dir /var/
  pwd
#+end_src

** Ghci in comint-mode
#+header: :create '(ob-term-comint "ghci")
#+header: :session *comint-ghci*
#+begin_src term:haskell :results silent
** Ghci in comint-mode
#+header: :create '(ob-term-comint "ghci")
#+header: :session *comint-ghci*
#+begin_src term:haskell :results silent
** Ghci in comint-mode
#+header: :create '(ob-term-comint "ghci")
#+header: :session *comint-ghci*
#+begin_src term:haskell :results silent
  :set prompt ""
  putStrLn ""
#+end_src

#+header: :session *comint-ghci*
#+header: :session *comint-ghci*
#+header: :session *comint-ghci*
#+begin_src term:haskell
  3 * 3
  4 + 7
#+end_src

** Windows Subsystem for Linux (wsl) bash in comint-mode
#+header: :create '(ob-term-comint "wsl" "bash")
#+header: :session *comint-wsl-bash*
#+begin_src term:haskell :results silent
  PS1=""
  echo ""
#+end_src

#+header: :session *comint-wsl-bash*
#+begin_src term:haskell
  uname -a
#+end_src

** Windows Subsystem for Linux (wsl) bash in comint-mode
#+header: :create '(ob-term-comint "wsl" "bash")
#+header: :session *comint-wsl-bash*
#+begin_src term:sh :results silent
  PS1=""
  echo ""
#+end_src

#+header: :session *comint-wsl-bash*
#+begin_src term:sh
  uname -a
#+end_src

** Windows Subsystem for Linux (wsl) bash in comint-mode
#+header: :create '(ob-term-comint "wsl" "bash")
#+header: :session *comint-wsl-bash*
#+begin_src term:sh :results silent
  PS1=""
  echo ""
#+end_src

#+header: :session *comint-wsl-bash*
#+begin_src term:sh
  uname -a
#+end_src