Arc Forumnew | comments | leaders | submit | shlomif's commentslogin

I forgot to note that one can use what I wrote as a checklist for how well their project fares (including Arc or this forum).

-----


(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 6053 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 6053 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.

-----

2 points by shlomif 6106 days ago | link | parent | on: How do I Run a Program?

"It might also be nice to have this feature in as.scm."

I added this feature to as.scm in git-wiki/Anarki about two days ago.

-----


Thanks!

I applied the following patch eventually:

{{{{{{{{{ ((pair? x) - (map (lambda (x) (ac-qq1 level x env)) x)) + (let ((t (lambda (f) (ac-qq1 level (f x) env)))) + (cons (t car) (t cdr)))) }}}}}}}}}

-----

2 points by eds 6106 days ago | link

By the way, what is with the "{{{{{{{{{" and "<<<<<<<<" in your posts? (You can mark text as code by indenting it.)

-----

3 points by mec 6106 days ago | link

To use the auto code format add 2 newlines and the code indented by two spaces;

  like this

-----

2 points by shlomif 6106 days ago | link

Hi! Thanks for the tip.

I normally use "{{{" and "<<<<" as delimiteres in a plaintext . But obviously it doesn't work very well here, so I'll keep in mind to use indentation instead.

Thanks again.

-----

3 points by shlomif 6106 days ago | link | parent | on: Arc with vim

I started adapting the syntax/filetype/indent vim configuration files of Scheme to Arc. You can find what I have so far in the git Arc-wiki under extras/vim:

* http://git.nex-3.com/arc-wiki.git

* git://nex-3.com/arc-wiki.git

Everyone can commit there so I'd be happy if you can resume work on what is present there.

Regards,

        Shlomi Fish

-----

2 points by tokipin 6104 days ago | link

how do i make it so that it automatically sets the lang as Arc when i open an arc file?

-----

3 points by wxin 6101 days ago | link

Just add following line to your ~/.vimrc.

   au bufnewfile,bufread	*.arc 	set ft=arc

-----

1 point by treef 6105 days ago | link

i also stuck the vi script i picked up earlier on the forum it - it can execute expressions or full file when you press f5 or f6 in a different window that is running arc that is started by python that is piped from vim.

-----