#+title: # ^ no title page, but title on the slides #+LATEX: \title{wisp} #+LaTeX_CLASS: beamer #+LaTeX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Boadilla #+options: toc:nil * Wisp #+latex: \vspace{1.3cm} ** :B_columns: :PROPERTIES: :BEAMER_env: columns :END: *** :BMCOL: :PROPERTIES: :BEAMER_col: 0.45 :END: #+BEGIN_SRC wisp define : factorial n if : zero? n . 1 * n : factorial {n - 1} #+END_SRC ** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: #+latex: \vspace{1.5cm} I love the syntax of Python, but crave the simplicity and power of Lisp. * Why wisp? ** :PROPERTIES: :BEAMER_act: <2-2> :END: \centering \Large \textyen Hello World!\pounds ** :PROPERTIES: :BEAMER_act: <3-4> :END: \centering \Large Hello World! ** :PROPERTIES: :BEAMER_act: <1-1> :END: \centering \Large (Hello World!) ** Notes :B_quote: :PROPERTIES: :BEAMER_act: <4-4> :BEAMER_env: quote :END: - The first and last letter are important for word recognition¹ - 70% of the lines in the Guile scheme source start with a paren \Rightarrow noise \footnotesize ¹: Though not all-important. See \\ [[http://www.mrc-cbu.cam.ac.uk/people/matt.davis/cmabridge/][www.mrc-cbu.cam.ac.uk/people/matt.davis/cmabridge/]] * The most common letters: a strength of Lisp and Scheme ** \centering \Huge =.,":'_#?!;= ** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: \centering /The most common non-letter, non-math characters in prose¹/ \vspace{0.3cm} ** \centering \Huge =()= ** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: \centering /The most common paired characters¹/ ** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: \vspace{0.5cm} \raggedright \footnotesize ¹: From letter distributions in newspapers, see: \\ [[https://bitbucket.org/ArneBab/evolve-keyboard-layout/src/tip/1-gramme.arne.txt][bitbucket.org/ArneBab/evolve-keyboard-layout/src/tip/1-gramme.arne.txt]] * Wisp ** :BMCOL: :PROPERTIES: :BEAMER_col: 0.48 :END: #+BEGIN_SRC wisp define : factorial n if : zero? n . 1 * n : factorial {n - 1} #+END_SRC ** :BMCOL: :PROPERTIES: :BEAMER_col: 0.48 :END: #+BEGIN_SRC wisp (define (factorial n) (if (zero? n) 1 (* n (factorial {n - 1})))) #+END_SRC