Arc Forumnew | comments | leaders | submitlogin
1 point by Pauan 4199 days ago | link | parent

I added in "if":

https://github.com/Pauan/nulan/blob/f7c74bd7d96218622520bbab...

I added in "box" pattern matching:

https://github.com/Pauan/nulan/blob/f7c74bd7d96218622520bbab...

You use it like this:

  (var (box a) (box 5))
And now "a" is 5.

---

"quote" now supports pattern matching:

https://github.com/Pauan/nulan/blob/f7c74bd7d96218622520bbab...

This is what I was talking about: notice how I'm adding custom pattern matching abilities from within Nulan.

Now these both work:

  (var {'a 'b}
       {'a 'b})

  (var ['a a]
       ['a 5])
And combined with the box pattern matching, it's now possible to pattern match on the dynamic environment of vaus:

  (vau (box ['%splice a]) ...)
I also added in support for duplicate symbols in pattern matching:

  (var {a a} {1 1})
But it's a bit wonky right now, and I'll need some time to figure out the best way to fix it.