Lisp : building a list

  1. Mentz114

    Mentz114 4,525
    Gold Member

    I'm a lisp novice, so naturally I've got into a mess trying to do something that would be elementary in a procedural language. I want to return this list

    ( ( a SIMP) ( (MLIST SIMP) x ) (MLIST SIMP) y ) )

    from a func where x,y are args passed to the function. x and y are atoms.

    (list '( a SIMP) '( (MLIST SIMP) x ) '(MLIST SIMP) y ) )
    does not fail but obviously x and y are unevaluated.

    (list '( a SIMP) ( ('MLIST 'SIMP) x ) ('MLIST 'SIMP) y ) )
    complains about an unbound datum.

    I tried to delete this thread but I couldn't. A solution is

    (setq lo (list '(MLIST SIMP) x))
    (setq hi (list '(MLIST SIMP) y))
    (setq res (list '(a SIMP) lo hi ))
    Last edited: Feb 14, 2012
  2. jcsd
Know someone interested in this topic? Share this thead via email, Google+, Twitter, or Facebook

Have something to add?

Draft saved Draft deleted