(if (condition? data)
(FF x1 x2 xNEW x3 x4)
(f x1 x2 x3 x4))
The result of one of them is returned.
rac
On Apr 30, 2011, at 1:16 AM, nikhil wrote:
> Ok. Here's what I am trying to do.
>
> I am parsing incoming racket code and generating back racket code.
>
> In my case, I have an incoming function which takes 4 arguments and I need to
> generate a function which takes in 5 args when a condition satisfies, if not
> then the original 4 args .
>
> Something like,
>
> Input-->
> (f x1 x2 x3 x4)
>
> Output-->
> (FF x1 x2 xNEW x3 x4)
>
> --------------------------------------------------
>
> (define (parse-func exp)
> (cond
> ............
>
> [(f? exp)
> `(FF
> ,x1
> ,x2
> ,(if (condition?)
> xNEW)
>
> ,x3
> ,x4)]
>
> (The above is just pseudo-code) As shown above, when the if condition fails I
> just want 4 args. But a default #<void> is passed instead when used with
> cond.
>
> I am new to racket and functional programing in general, so I am not able to
> express my problem very accurately :(
> Hope the above example is clear enough to explain what I am doing.
>
>
>
> On Sat, Apr 30, 2011 at 7:00 AM, Neil Van Dyke <[email protected]> wrote:
> nikhil wrote at 04/30/2011 02:52 AM:
>
> Basically, I dont want to execute an else stmt or return multiple values. I
> just want to return "stmt1" if condition satisfies and dont do anything if
> false. No returning #<void> or anything.
>
> An expression always produces at least one value, even if the value is the
> void value. (Usually, a REPL will hide a returned void value from you, but a
> void value is still being returned, which can be confusing.)
>
> If you can show *why* you don't want to produce *any* value, then people can
> show you different ways to write that code.
>
> --
> http://www.neilvandyke.org/
>
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
_________________________________________________
For list-related administrative tasks:
http://lists.racket-lang.org/listinfo/users