When you first start studying functional programming, one of the things that people will ask you is “So; have you learned lambda calculus (TLC)?”.
The fact is that while you don’t need to learn TLC to learn about functional programming; you ought too study the TLC at some point.
In this great LtU thread on “where to get started with studying programming language theory”, Anton van Straaten posted a comment referencing two posts on the PLT discussion list detailing a plan on what you should study when it comes to TLC and the texts that you should use to facilitate those studies.
Author: grant
Enhanced Emacs Support for Editing and Running Scheme Code
Neil Van Dyke is a hacker, researcher, Emacs wiz, blogger, and producer of numerous of Scheme libraries. One of his packages, Quack is of particular interest to Emacs using Schemers.
Addendum: 8/1/8
New feature: compile mode can navigate from PLT setup-plt errors.
Composing Functions with Scheme
In the PLT thread [‘complement'[?] of map] Stephen de Gabriel asked if there was a function that would take any number of functions, and an argument, and then apply the first function to the argument, and apply the second function to the result of the first, and so on.
In PLT Scheme, the function is called ‘compose’. Compose:
Returns a procedure that composes the given functions, applying the last f first and the first f last. The composed functions can consume and produce any number of values, as long as each function produces as many values as the preceding function consumes.
I asked if this was typical FP style, and Noel replied that it is so common that compose is an infix operation in Haskell and ML, as far as he could recall.
Here is an example (from the thread) of how it works using the “Pretty Big” language:
(define pam
(lambda (datum . proc-list)
((apply compose proc-list) datum)))
(pam
2
(lambda (n) (/ n 7))
(lambda (n) (- n 3))
(lambda (n) (+ n 10))
(lambda (n) (* n 7)))
> 3
Assembly and Lisp
What is the connection? Find out here.
C Sharp and Lisp
Maybe one reason why people love C# so much is that it was influenced by Lisp?
Stranger things have happened.
R6RS can complete with Common Lisp?
R6RS is the new language specification for Scheme. The goal is to provide programming features that folks need for programming “in the large”.
Can it compete with Common Lisp? I don’t think so. I like to think of R6RS as an experiment.
I might be right; I might be wrong.
It is never too late
It is never too late to make that change you wish to see
Catch elisp bugs with the compiler
Juan Garcia has a post on reducing elisp bugs using the byte-code compiler.
init style configuration
This article explains how to configure init rather than .emacs style configuration.
Emacs Lisp as a scripting language
Here is a great article about using Elisp as a scripting language.