From 1e85131ada02788971f7128ea3c25888d4d62b69 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Fri, 16 Mar 2018 02:02:52 +0000 Subject: net: Add (net ricketyspace sicp one fortytwo). * net/ricketyspace/sicp/one/fortytwo.scm: New file. --- net/ricketyspace/sicp/one/fortytwo.scm | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 net/ricketyspace/sicp/one/fortytwo.scm (limited to 'net/ricketyspace') diff --git a/net/ricketyspace/sicp/one/fortytwo.scm b/net/ricketyspace/sicp/one/fortytwo.scm new file mode 100644 index 0000000..5742588 --- /dev/null +++ b/net/ricketyspace/sicp/one/fortytwo.scm @@ -0,0 +1,35 @@ +;;;; Under Creative Commons Attribution-ShareAlike 4.0 +;;;; International. See +;;;; . +;;;; +;;;; _____ +;;;; < 42! > +;;;; ----- +;;;; \ __ +;;;; \ (**) +;;;; \ (U ) +;;;; \ /--\ +;;;; __ / \ \ +;;;; U**U\.'@@@@@@`.\ ) +;;;; \__/(@@@@@@@@@@) / +;;;; (@@@@@@@@)(( +;;;; `YY~~~~YY' \\ +;;;; || || >> +;;;; + +(define-module (net ricketyspace sicp one fortytwo) + #:export (sicp-compose inc square)) + +(define (sicp-compose f g) + (lambda (x) (f (g x)))) + +(define (inc x) (1+ x)) +(define (square x) (* x x)) + +;;; GNU Guile REPL + +;;; scheme@(guile-user)> ,use (net ricketyspace sicp one fortytwo) +;;; scheme@(guile-user)> ((sicp-compose square inc) 6) +;;; $21 = 49 +;;; scheme@(guile-user)> ((sicp-compose square inc) 8) +;;; $22 = 81 -- cgit v1.2.3