From 22c9ed85943b0b665c9da80590df64862f812355 Mon Sep 17 00:00:00 2001
From: Ramakrishnan Muthukrishnan <vu3rdd@gmail.com>
Date: Mon, 13 Jun 2011 22:22:13 +0530
Subject: [PATCH] solution to 3.44

---
 src/sicp/ex3_44.rkt | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 src/sicp/ex3_44.rkt

diff --git a/src/sicp/ex3_44.rkt b/src/sicp/ex3_44.rkt
new file mode 100644
index 0000000..7484364
--- /dev/null
+++ b/src/sicp/ex3_44.rkt
@@ -0,0 +1,19 @@
+#lang racket
+
+;; Consider the problem of transferring an amount from one account to
+;; another. Ben Bitdiddle claims that this can be accomplished with the
+;; following procedure, even if there are multiple people concurrently 
+;; transferring money among multiple accounts, using any account 
+;; mechanism that serializes deposit and withdrawal transactions, for 
+;; example, the version of make-account in the text above.
+
+(define (transfer from-account to-account amount)
+  ((from-account 'withdraw) amount)
+  ((to-account 'deposit) amount))
+
+#|
+
+Since withdraw and deposit themselves are 'atomic' (or rather 'safe')
+there is no problem with this routine. 
+
+|#
\ No newline at end of file
-- 
2.45.2