Arc Forumnew | comments | leaders | submit | cpfr's commentslogin
1 point by cpfr 6074 days ago | link | parent | on: IDEA: Loading remote files

Network transparent code is a good thing. A related tool that this can work off is live code loading and communication.

-----

2 points by cpfr 6151 days ago | link | parent | on: Modules : a proposition

There needs to be a mechanism of merging modules together. Without this modules that import modules are going to end up with very nasty long names. Being able to give a module a nickname is handy.

-----

2 points by cpfr 6151 days ago | link | parent | on: Docstrings: a contrarian view

almkglor that documentation is beautiful

-----

2 points by almkglor 6151 days ago | link

The full documentation is available on arc-wiki.git. Wanna make a guess on who did most of the documentation?

-----

1 point by pau 6151 days ago | link

I am really sorry I gave the impression that I was critisizing your work... my apologies.

-----

1 point by almkglor 6151 days ago | link

Err, sorry, but that's not what I meant. Just tooting my own horn ^^. In any case, the documentation can be improved. I did most of that while I was sick, and I'm not 100% sure it's correct - there may be subtle uses that I haven't documented. Also, the docs are far from complete - there are a huge bunch of functions without decent "see also" links. And I've only completed arc.arc yet, still haven't had time to do srv.arc, html.arc, app.arc, and prompt.arc

-----


1. How do you enforce real/effective uid? What prevents this from being overwritten?

2. What prevents a user from saving and serialzing a dangerous thunk for later use? How do you expire?

3. How do you keep which functions are dangerous? What prevents due to lack of foresight unnecessary security breaches?

4. What stops others from getting around these by dipping under Arc and these primitives?

These are hard questions and unless they are answered the security the system provides is merely a ruse.

-----

2 points by cpfr 6165 days ago | link | parent | on: Escaping to mzscheme

Yea, we figured people would like to have scheme at their side. It certainly squashes the whole "Arc needs a standard library" talk.

-----

2 points by cpfr 6166 days ago | link | parent | on: nifty :

I think this is exactly what pg was thinking with : . I had a similar moment with rev:range

-----

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

The big problem is def and =s update a global symbol table. They are not like Scheme and define. If def obeyed local scoping rules and could be shadowed, the problem is shadowing has to be done explicitly. That is why this is painful and unwieldy. Ultimately, this needs to be fixed or Arc will be needlessly crippled.

-----

2 points by cpfr 6168 days ago | link | parent | on: List of Arc Functions and Macros

Would you be able to add some of this work as docstrings? If not, would it be alright if I integrated it as such?

-----

1 point by shiro 6168 days ago | link

No problem at all. It's just a wiki so you can also put new stuff there.

-----

1 point by cpfr 6169 days ago | link | parent | on: List of Arc Functions and Macros

How would I be able to start adding documentation to some of those functions and macros?

-----

1 point by dmdavis 6168 days ago | link

I'm not sure yet. I wrote a script that generates all the code from the .arc files, so it would be tricky to throw the docs in there. What may be best would be to use the docstrings that someone has added once they become part of the main release, and I'll change my script to grab those?

-----

1 point by ryantmulligan 6168 days ago | link

I think the best way would be to use that docstrings patch and then just pull the docstrings.

-----

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

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 6167 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.

-----

More