

PG: Arc Likely To Be Open-Sourced This Winter - kirubakaran
http://news.ycombinator.com/item?id=98297

======
rms
I hope someone makes a framework for Arc called de Triomphe.

~~~
kirubakaran
Arc Based Webapps etc ;)

    
    
      ArcAde       - Retro Games
      ArcAne       - Obfsktd Programs
      ArcHer       - Dating Website
      ArcHetype    - PDF Generation Tool
      ArcHegonium  - Porn website for hardcore mosses & ferns freaks
      ArcHipallium - Image recognition framework
      ArcHosaur    - 'Enterprise' apps
      ArcHlute     - Anywhere.fm competitor
    

Thanks: <http://InstantWordSearch.com/>

~~~
Alex3917
Arc compiler: NOAH

~~~
Alex3917
And the tutorial: Arc in 40 days and 40 nights.

------
vikram
The sooner the better. I bet a few people here would want to help out. With
the documentation and the like.

~~~
kirubakaran
People would want to do their startups in Arc too. So, yeah, sooner the
better.

~~~
mcxx
So you're waiting for Arc to start your startup?

~~~
kirubakaran
Now that you put it this way, I may have to invent a new reason.

~~~
nose
use 'inspiration'

~~~
kirubakaran
First comment? Welcome to YC Hacker News!

------
palish
Note that Paul did not say that Arc will be open-sourced this Winter, just
that he hopes it will. That's a big difference. So much of a difference that
this headline seems Reddit-ready.

~~~
pg
I meant I was planning to, unless there's some disaster. I'm working on it
now. Anyone have any preference for licenses? BSD? Or should I not have asked
that...

~~~
irrelative
i'll take the bait :-) why not just public domain it?

~~~
pg
If someone publishes a bug fix, or finds a cleaner way of doing something, I'd
like to be able to incorporate it without being accused of having stolen their
IP. That's the main thing.

~~~
soundsop
BSD license allows you to re-use fixes of others (assuming they also release
their fix under BSD), but it does not compel them them to reveal their fix if
they distribute only a binary.

GPLv2 requires modified _public_ distributions to also be under GPLv2, so you
could both see the fix/change and use it (in the sense that you won't be
infringing on copyright).

GPLv3 adds patent protection, so someone adding a fix/change that they have
also patented explicitly grants a license for that patent.

I think GPLv3 is the most comprehensive way to keep fixes/changes of others
available for reuse.

~~~
dag
If you use the GPL you will want to add a lisp-specific preamble such as is
found in the LLGPL (<http://opensource.franz.com/preamble.html>).

------
noahlt
Does 'this winter' mean eg February, or eg December?

~~~
lst
It depends on being optimist/pessimist.

I'm realist, so I predict: this spring (to be clear: there's only one in
2008).

~~~
hadley
There are two! One in the northern hemisphere and one in the southern.

------
mrtron
Is this an example of setting a timeline for your users to force yourself to
stick to that timeline?

------
ph0rque
PG, any thoughts on when the documents for startups will be open-sourced
(<http://news.ycombinator.com/item?id=62998>)?

------
Hexstream
Feature Request: Why not have the "new" comments in a thread visually distinct
from the "old" ones?

When there's a big thread like that I'd like to check the new comments but I
can't be bothered to read again the 64 comments I read earlier to find the 8
new ones.

------
nobodysbusiness
You could dual-license Arc, like Gambit Scheme does. I believe Gambit uses
Apache 2.0 and LGPL 2.1. I hope that the open-sourcing of the language won't
cause it to become too stable and end its evolution, like what happened with
Java. I think languages should have a breaking-reverse-compatibility release
scheduled every five years.

I guess this announcement puts an end to my plan to read everything PG has
written about Arc and then write my own implementation.

------
jimbokun
Well, that just complicates my "language to learn this year" decision.

Last year was Common Lisp. I was planning on doing Python this year. Then
recently Scala has been looking very interesting, with the functional/static
thing with not bad performance and access to the whole Java stack (I program
Java at my job).

Now Arc might be a possibility. At this rate, it will be December and I'll
still be trying to decide.

~~~
euccastro
Choosing Python would leave you 49 weeks left to learn something else this
year. That's discounting the two weeks you've been taking to decide.

~~~
jimbokun
Touche. :)

I think you're right. I already found a task for Python to do, spent a couple
weeks (off and on) refining it, and at the end I seemed to have used all of
the prominent features of Python somewhere in that script. At the end of that,
I had this vague feeling that I now "knew" Python and wasn't sure what was
left to learn.

So, you are confirming my vague feeling and I can now move on to Scala and
decide whether or not to switch to Arc once it emerges. :)

~~~
SwellJoe
Since you're feeling cocky, have a look at the Zope/Plone source. You'll
almost certainly realize you don't know Python (and possibly that you don't
actually want to).

~~~
ivankirigin
There is a difference between a language and its common idioms. "Generator
expressions" is a good phrase to test how much people know. For example:
<http://norvig.com/sudoku.html>

Python can definitely fit in your head, as far as the language. Reading lots
of code is a good way to learn the idioms.

~~~
SwellJoe
I wasn't actually referring to the usual Python idioms, but if you're
unfamiliar with Zope/Plone, you can be forgiven for not knowing that. The Zope
developers (and to a lesser degree Plone) don't actually seem to like Python,
and so they've reinvented many common language features and libraries. Partly
this is historical...the Python that Zope was originally written in didn't
have most of those features or the standard library that exists today. It's
one of the problems of developing a large codebase in a language that is still
in rapid flux and doesn't mind throwing out backward compatibility (my Perl
code written before Zope existed still runs on modern Perl, while practically
none of my Python code from 1.5 through 2.2 runs today unmodified).

But, regardless of the very sound reasons for it to be the way it is, it's a
very intimidating codebase, and a really good case study in the "reinvent
everything" mindset. (It's quite powerful, and I've worked with several of the
guys who built it, as I did contract work for Zope Corp for a few years, and I
have the utmost respect for their talent and intellect. They're some of the
smartest developers I've ever met. But it's not quite like anything else I've
ever seen when it comes to having a learning cliff, even with some pre-
existing Python knowledge.)

~~~
ivankirigin
Yah, I assumed they were doing something fancy, not knowing what they actually
are doing.

I'm told a great place to read good code, both Python and C, is to read the
code that makes Python.

~~~
tjr
Yes, C is another good example. The language is fairly small, and it's not
terribly difficult to learn the language itself and write your own programs.
But to be able to look at an arbitrary piece of C code and understand all of
the implications is another matter entirely.

This is true of any language to some degree, although some are worse than
others, and if the code was purposefully written in some non-traditional way
it can be even harder.

~~~
ivankirigin
It is most certainly not true about C++.

~~~
tjr
Touche'; I should have grouped my sentences differently. C++ is not a small,
easy-to-learn language.

~~~
ivankirigin
I'm reminded of Duff's Device <http://en.wikipedia.org/wiki/Duff%27s_device>

    
    
      send(to, from, count)
      register short *to, *from;
      register count;
      {
        register n = (count + 7) / 8;
        switch (count % 8) {
        case 0: do { *to = *from++;
        case 7:      *to = *from++;
        case 6:      *to = *from++;
        case 5:      *to = *from++;
        case 4:      *to = *from++;
        case 3:      *to = *from++;
        case 2:      *to = *from++;
        case 1:      *to = *from++;
                   } while (--n > 0);
        }
      }

------
zandorg
I have a Lisp success story. I wrote a decompiler in C++, building cruft on
top of cruft, until it became too unwieldy (c.70,000 lines), so I rewrote it
from the ground up in Lisp. Now it's 20,000 lines, far more elegant, and works
a heck of a lot better.

However, I did experience a certain amount of burnout on this - I haven't
written anything nearly as extensive since (eg, no more than 1000 lines of
Lisp).

------
kraemate
just clarifying, does this mean that it will be released by March 2008, or is
it going to be november?

------
vlad
pg has said in an earlier post that he likes designing his own custom
languages to fit a particular need. I'm interested to hear what the tagline
for Arc will be.

~~~
corentin
The language's language?

------
mojuba
Just curious, what language is it written in?

~~~
ijoshua
mzscheme (PLT)

<http://news.ycombinator.com/item?id=11994>

------
__
Totally overhyped language! Why isn't anyone paying attention to Lintel, my
new dialect of COBOL?

------
imsteve
But it's already open-sourced for all those who are coding in it now?;)

------
eru
Finally. ;)

