Arc Forumnew | comments | leaders | submitlogin
1 point by shlomif 5991 days ago | link | parent

(no c) indeed does what I want, but I find its name counter-intuitive and not psychologically sound. Saying (if (no x)) does not sound as natural as (if (not x). I could define not by saying

  (= not no)
Or:

  (def (not x) (no x))
Etc. I recall searching for not in the arc sources and getting nothing because "no" was used instead. It's "not" in Perl 5, Ruby, etc. - not "no", so I assumed Graham would use it, but he didn't.

Regarding the tests - I can integrate them into my own test suite, but I only accept code that is under the MIT X11 licence, so I may not be able to copy-paste code like that. (I still don't know what licence the original Arc code is under).

Regarding your suggestion for implementation/version declaration, this seems interesting and is supported in TAP using TODO and SKIP tests, but will naturally require more logic and complexity.



1 point by conanite 5990 days ago | link

see "copyright" in Arc distribution:

  This software is copyright (c) Paul Graham and Robert Morris.  Permission to use it is granted under the Perl Foundations's Artistic License 2.0.
Rainbow, ditto. In any case, you would need to adapt my tests to fit your framework, so it wouldn't exactly be copy-paste.

-----

1 point by absz 5991 days ago | link

The reason it's called no is that that is, in fact, what you're asking: the value representing false is the empty list, so there is (no c) there.

I'm not convinced I like the choice, but it is consistent, and does make sense.

-----