[plt-scheme] Can I abuse with quasi...quotes?

From: Jos Koot (jos.koot at telefonica.net)
Date: Wed Jul 18 20:25:48 EDT 2007

Since I don't know what your goals are, the following may be irrelevant to you.
Anyway, macros and language defining modules can also help a lot for formula 
manipulation.
Jos Koot

----- Original Message ----- 
From: "Paulo J. Matos" <pocm at soton.ac.uk>
To: "mzscheme Mailing List" <plt-scheme at list.cs.brown.edu>
Sent: Thursday, July 19, 2007 12:21 AM
Subject: [plt-scheme] Can I abuse with quasi...quotes?


> Hi all,
>
> I've been working a lot with propositional logic formulas where the
> operator is prefixed, like:
> '(and x1 (or x2 x3) (<=> x4 (not x1)))
>
> Now, to build formulas I'm using quasiquote and sometimes even abusing it.
> For example, given two list of variables of equal length. I do the
> following to create an assertion of equivalence between them:
> `(and ,@(map (lambda (var1 var2) `(<=> ,var1 ,var2)) varlst1 varlst2))
>
> I don't really understand what happens inside with ,@ and , but I keep
> wondering if this is better:
> (cons 'and (map (lambda (var1 var2) (list '<=> var1 var2)) varlst1 varlst2))
>
> I don't know if it matter but for the record, I don't use list
> mutation, so is this better than the first form?
> Is there a better form?
>
> Cheers,
>
> -- 
> Paulo Jorge Matos - pocm at soton.ac.uk
> http://www.personal.soton.ac.uk/pocm
> PhD Student @ ECS
> University of Southampton, UK
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> 



Posted on the users mailing list.