#+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.42 :END: #+BEGIN_SRC wisp define : factorial n if : zero? n . 1 * n : factorial {n - 1} #+END_SRC ** :B_quote: :PROPERTIES: :BEAMER_env: quote :END: #+latex: \vspace{1.3cm} \begin{center} I love the syntax of Python, \\ but crave the simplicity and power of Lisp. \end{center} * 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 ** :B_columns: :PROPERTIES: :BEAMER_env: columns :END: *** :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 ** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: \vspace{1cm} \footnotesize Many more examples in “From Python to Guile Scheme”: \\ [[http://draketo.de/py2guile][draketo.de/py2guile]] \rightarrow [[http://draketo.de/proj/py2guile/py2guile.pdf][draketo.de/proj/py2guile/py2guile.pdf]] * Applications? * Why try wisp? - Plan B: * Thank you ** Thank you! ** :B_quote: :PROPERTIES: :BEAMER_env: quote :END: »ArneBab's alternate sexp syntax is best I've seen; pythonesque, hides parens but keeps power« — Christopher Webber ** Try wisp [[http://draketo.de/english/wisp][draketo.de/english/wisp]] # Local Variables: # org-latex-minted-options: (("linenos" "false") ("frame" "lines") ("framesep" "6pt") ("fontsize" "\\footnotesize")) # End: