Arc Forumnew | comments | leaders | submitlogin
1 point by akkartik 5111 days ago | link | parent

"For the rest of this post, when I refer to "wart" I am referring to wart/Anarki, because Anarki does things in basically the same way."

I'm flattered :) but I think people are about as reluctant to try out my wart as they are to try out your methods.

I was tempted to more aggressively push wart in this forum, but I'm glad I was ruled by my doubts, because wart turns out to have more warts than arc :) Any new idea takes a while to be digested, to try out in various situations.

http://akkartik.name/blog/1451852



1 point by Pauan 5111 days ago | link

I'll note that I like some of the stuff you put into wart, so my reluctance is three-fold:

1) downloading SBCL and wart, and fiddling with it to get it working

2) learning how wart differs from Arc, especially with regards to core functions

3) learning all the nifty tricks that wart has (like :case)

-----

1 point by akkartik 5111 days ago | link

These are great, valid reasons. I wasn't complaining, was I? How do they not apply to your suggestions? I'm still not sure what you would have us do. Say, "yes you're right"? Go off and rebuild arc like you suggest? Why would that then not suffer the problem of 'learning how it differs from old arc'?

-----

1 point by Pauan 5111 days ago | link

Think of a situation where Arc currently throws an error, like when you try to use `apply` on a macro. Current code cannot use apply on a macro, because of the error.

Now let's suppose we fix that, so apply works on macros... nobody needs to "learn" anything, other than "hey, apply works on macros now!" because the changes are completely backwards compatible.

Arc doesn't expose the internal details of it's data types, what I'm proposing is a way to expose them. Existing Arc programs can't be relying on the internal details because Arc programs can't access the internal details.

Thus, message passing is backwards compatible. The only time people would need to learn message passing is if they actually plan on creating a new data type.

So how does implementing message passing differ from wart? It doesn't change the way existing Arc programs are run. Can I take any Arc program, plop it in, and have it work the same in wart? Message passing is backwards compatible with existing Arc programs.

In other words... you could take an existing Arc program, plop it into the new version of Arc (that has message passing), and it should work just fine. Only the low-level details have changed, but the high-level ones remain the same.

-----

1 point by akkartik 5111 days ago | link

"nobody needs to "learn" anything"

They still need to 'learn how it differs from arc' (your words). Unless you convince PG to include methods :)

"Message passing is backwards compatible with existing Arc programs."

Awesome, so nothing's stopping you adding it to anarki.

-----

1 point by Pauan 5111 days ago | link

Yeah, I know, but I was referring more to, "what do I need to learn to get stuff to work in wart". I admit that my terminology was less precise than it probably should have been.

-----

1 point by akkartik 5111 days ago | link

wart's not backwards compatible, but I find its comprehensive unit tests to be useful examples.

-----