Arc Forumnew | comments | leaders | submit | mdemare's commentslogin
1 point by mdemare 6340 days ago | link | parent | on: Poll: What do you NOT want in Arc ?

Access control (public/private) Tons of primitive numeric datatypes (c++) Having both nil and false More than one kind of function (methods, blocks and procs in ruby) Security levels (Java, Ruby)

-----

10 points by mdemare 6341 days ago | link | parent | on: Poll: What would you change in Arc?

People keep saying that it's unicode is a library issue, but it's not! It's a language issue!

If you move unicode to the libraries, you have to move the string type to the libraries too, assuming strings are lists of unicode characters. And if you move the string type to the library, how can you convert a symbol to a string?

That's not an option, so the alternative is that strings are just byte arrays, ignorant of their encoding, and you need libraries to find out what the length of a string is, and you're back in the tar pit where Ruby and PHP were in 1997 and where they pretty much still are today.

I've been down that road before. I know exactly where it ends.

-----

10 points by pg 6341 days ago | link

I agree with you, incidentally. But I don't think it's a language issue you have to think about early on.

-----

3 points by masterponomo 6341 days ago | link

I guess I'm enjoying thinking of characters/strings/whatever in the same way I think of a media stream. I don't reason about media streams in my general programming, but when I need to do so I use a specialized, application-specific library--the language isn't built with any preconceived notion of what music is, or an image, or video. I like a minimal (if even that) built-in notion of what char/text is. I like Arc (so far) and I do hope it avoids premature textualization for a very long time:-)

-----

5 points by mdemare 6341 days ago | link | parent | on: Poll: What would you change in Arc?

I'd like to see a separate parser that can be programmatically modified. So people can use {} for macros, or define custom literals.

Javascript has this notation for hashes with symbol keys: {a: 97, b: 98, c: 99}

Ruby has this notation for lists of strings: %w(monday tuesday wednesday). Ruby also has 5 different ways of writing a string literal, all of which are useful.

These things are not cs-research topics, but they make programming so much more pleasant.

-----

4 points by mdemare 6341 days ago | link | parent | on: Poll: What would you change in Arc?

Why not use = for assignments and == for comparisons? It's what over 90% of programmers are used to (just not lisp programmers).

-----

4 points by mdemare 6342 days ago | link | parent | on: Editing Arc in TextMate...?

So share it with git and let others do your work!

"Whilst Git was created by Linus for managing the Linux project, I get the feeling that Git's raison d'etre was to manage TextMate bundles." http://drnicwilliams.com/2008/02/03/using-git-within-a-team/

-----

1 point by ambition 6152 days ago | link

See also http://arclanguage.org/item?id=7784

-----

1 point by mdemare 6344 days ago | link | parent | on: Two brief ideas

I know very few web frameworks which have Arc's style of implementing user actions, and for good reasons: either you've got a huge memory leak, or links have an expiry date. (I got a deadlink-error while clicking on reply...)

-----

3 points by ivankirigin 6344 days ago | link

I have a hypothesis about bloating memory: it will stop mattering soon. Solid-state non-volatile storage at RAM speeds on a fast bus will allow for terabytes of memory -- and increase with the unimpeded Moore's Law of storage. I know of at least one company, FusionIO, offering this as a product already.

If you can store all but the largest databases in memory, why not use a web framework that doesn't bother with a "real" DB like MySQL? But clearly, I'm talking about memory hungry systems generally, and not memory leaks.

-----

1 point by pg 6343 days ago | link

You can set an explicit expiration or have the links gced fifo. I used the latter in the example (and the reply form), but for something more critical (like YC funding applications) I'd add an explicit expiration. It's only one more token.

-----


Never mind + and *, how should polymorphism work in general? Polymorphism means "several functions with the same name, dispatching on type" which implies some kind of objects.

Arc already supports a Javascript-like OO-system (probably every language with first-class functions does), maybe we should experiment with that? See if we can get Prototype running on Arc?

-----

1 point by are 6345 days ago | link

> Polymorphism means "several functions with the same name, dispatching on type" which implies some kind of objects.

I'm assuming that by "some kind of objects", you mean a user-extensible type system.

You can have multiple dispatch on function arguments (by type or even by instance) without providing user-extensible types, so it's not really "imply". Just sayin'...

-----


Yes, there is a reason. Characters contain a lot of information: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character....

-----

4 points by ryantmulligan 6346 days ago | link

Correct me if I'm wrong, please, but isn't this information required of a string of length 1 anyway?

-----

1 point by mdemare 6346 days ago | link | parent | on: Vim + Arc

ImportError: No module named pexpect

python 2.5 on OSX

-----

1 point by s3graham 6346 days ago | link

Try: easy_install pexpect

-----

1 point by mdemare 6346 days ago | link

easy_install: command not found

-----

3 points by s3graham 6346 days ago | link

Sorry, that sucks. pexpect comes with Python on my platform. I don't have an OSX box to test on.

You can either install easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall#installi...

Or, do a manual install for pexpect if you care enough: http://pexpect.sourceforge.net/

-----


This topic came up earlier: http://arclanguage.org/item?id=218

-----

More