#+title: Why Wisp?
#+options: num:nil toc:nil
# Export as s5 presentation. See http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html
#+BEGIN_SRC elisp :exports none
(require 'ox-s5)
#+END_SRC
* Elegance
#+html: <br />
** *.,":'_#?!;*
/The most common non-letter, non-math characters in prose/
** *()*
/The most common paired characters/
(From letter distributions in newspapers)
* On Words
#+BEGIN_SRC elisp :exports results :results results raw
(defun shuffle-wordcontent (string)
(interactive)
(let ((strings (split-string string)))
(substring
(apply 'concat
(loop for s in strings
collect (if (< (length s) 4)
(concat s " ")
(concat (substring s 0 1)
(apply 'concat
(mapcar 'string
(shuffle-vector
(string-to-vector
(substring s 1 -1)))))
(substring s -1)
" "))))
0 -1)))
(concat "*" (setq why-wisp-text-scheme-has (shuffle-wordcontent "Scheme follows a minimalist design philosophy")) "*")
#+END_SRC
#+RESULTS:
*Shcmee fowlols a malisimint dsegin plhpoihosy*
- /Defocus a bit/
- /Can you see the meaning?/
* Scheme for Newcomers
#+BEGIN_SRC elisp :exports results :results results raw
(concat "*€" (combine-and-quote-strings (split-string why-wisp-text-scheme-has) " €") (apply 'concat (loop for word in (split-string why-wisp-text-scheme-has) collect "¥") ) "*")
#+END_SRC
#+RESULTS:
*€Shcmee €fowlols €a €malisimint €dsegin €plhpoihosy¥¥¥¥¥¥*
- /Try it again/
- /Do you see how much harder it got?/
- /€ and ¥ escape your existing filters/
* Summary
1. Lisp uses the most common non-letter characters.
2. The first and last characters are important for text-recognition.
* On Wisp
#+BEGIN_SRC wisp
define : hello
let
: greeting "Hello ~A!\n"
whom "Scheme"
format #t greeting whom
#+END_SRC