Arc Forumnew | comments | leaders | submit | jdvolz's commentslogin
2 points by jdvolz 6168 days ago | link | parent | on: Is Arc good for big projects?

What kind of syntax should we use to denote the module? Something like:

(module::function args)

This idea comes from Ruby, though I am not sure it necessarily plays well with the function composition operator (func1:func2). I wouldn't want to use -> or "." because of the concept collisions those would create. Could we just use something that doesn't have a mainstream meaning, like (module#function) or (module>>function)?

-----

1 point by nostrademons 6168 days ago | link

module::function looks good to me. Someone else suggested allowing user-defined syntax characters; this would be a good use-case. It only has to expand into (module 'function), so the implementation is basically trivial.

-----

2 points by cpfr 6168 days ago | link

Why not module:function? Abuse the property that : stands for composition. A more lispy solution of (module function) might also work, and its only an extra character. Though if I were going for an Arc solution, it should probably be (bin fn) or (md fn).

-----

1 point by randallsquared 6166 days ago | link

In case you hadn't noticed, there's a sketch of a module system in the arc-wiki repo that does exactly this, now.

It doesn't solve the problems mentioned in this thread, of course.

-----

2 points by jdvolz 6168 days ago | link | parent | on: Is Arc good for big projects?

I would think that Arc is not yet stable enough to use for large projects. I think that the missing module system is the major concern. I am not so concerned about unstructured data because it can be mitigated with access methods and because if you are properly creating your DSL it should be pretty obvious what is going on. Also, how big of a project would you have to have before you needed enough Arc to make it confusing? The language spec is < 5,000 lines of code.

-----

1 point by carbon 6168 days ago | link

Ok, I can see that access methods is a solution of the problem of self-describeness of a program. Could you tell me if I am right doing it like this:

(get-title book)

(set-title book "New title")

(Book (title "Blabla") (authors ("Tom" "John")) (year 2008) )

Is it the way an expirienced Lisp programmer would do it?

-----


I still can't get Arc working on my windows machine. I got MzScheme 372 installed and it appears to work fine. I downloaded and untared it. I added MzScheme to the path, and put in the standard: mzscheme -m -f as.scm. I got the following error message and I appear to be opening into MzScheme (w/ no Arc). Here's the error message:

"compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (quote nil)

===context=== c:\program files\MzScheme\arc0\ac.scm:915:0: aload1"

What am I missing?

Thanks in advance.

-----

2 points by jdvolz 6169 days ago | link

Okay, sorry, I just found this was covered here:

http://arclanguage.org/item?id=5

-----

4 points by jdvolz 6171 days ago | link | parent | on: Lots of unrelated impressions of Arc

"That's pretty much all Arc can bring to the table at this stage: a throwing out of all the old cruft that was preventing LISP from moving forward." ~ from the article

If Arc can bring excitement back to Lisp I feel that is a much larger accomplishment than any possible technical accomplishment. Already Arc is being tested by hundreds (thousands?) of people playing with it. It's only going to get better as more libraries get implemented and more people use it. I'm actually really excited about the possibility of building something cool in it.

It may be the case that PG has enough juice to actually get a cult following going for Arc. Wouldn't that be awesome? An active community around a decent version of Lisp, does he really need to accomplish more than that?

-----