[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
C++ declaration style programming?
From: |
Han-Wen Nienhuys |
Subject: |
C++ declaration style programming? |
Date: |
Tue, 20 Jan 2004 23:17:34 +0100 |
Hi there,
I just realized that one of the things that I dislike about Scheme is
that my habit of naming intermediate results (which I inherited from
C++) leads to deep nesting.
Usually in C++, I do
int var1 = something ();
int var2 = something (var1);
int var3 = something (var1, var2);
etc.
in Scheme, this translates quite well to (let* ) :
(let*
((var1 (something))
(var2 (something var1))
(var3 (something var1 var2)))
.. )
However, it doesn't work so well when I mix commands with
declarations, eg.
int var1 = something ();
var1 += 2;
int var2 = something (var1);
var2 += var1;
int var3 = something (var1, var2);
etc.
I would like to have some macro, where I can write the Scheme analogon
like
(begin-let*
(def var1 (something))
(set! var1 (+ var1 2))
(def var2 (something var1))
(set! var2 (+ var2 var1))
(def var3 (something var1 var2))
... )
This can presumably be done by writing a macro begin-let* that expands
the statement list in a suitably nested let*
However, I was wondering whether there exists a standard library
syntax mechanism that lets me write code in this fashion.
--
Han-Wen Nienhuys | address@hidden | http://www.xs4all.nl/~hanwen
- C++ declaration style programming?,
Han-Wen Nienhuys <=
- Re: C++ declaration style programming?, Viktor Pavlenko, 2004/01/20
- Re: C++ declaration style programming?, Issac Trotts, 2004/01/20
- Re: C++ declaration style programming?, Lynn Winebarger, 2004/01/21
- Re: C++ declaration style programming?, Stephen Compall, 2004/01/21
- Re: C++ declaration style programming?, Keith Wright, 2004/01/21