When I try this everything happens as I hoped/expected it would:

(setq Tst '(4 4))
(println '(@A ~Tst @B))
(println (match '(@A ~Tst @B) '(1 2 3 4 4 5 6)))
(println @A)

However when I try to use this to create an arbitrary splitter, like this:

(dm chopStr> (Str)
   (if (lst? Str) Str (chop Str)))

(dm split> (L Subject)
   (use @A @B
      (let (Subject (chopStr> This Subject) L (chopStr> This L))
            (while (match '(@A ~L @B) Subject)
               (link @A)
               (setq Subject @B))
            (link Subject)))))

It isn't working because it seems that ~L returns a NIL, how come and how
can this be circumvented to allow split> to work?


Reply via email to