Welcome Guest [Log In] [Register]
Add Reply
Arc; A new Lisp dialect
Topic Started: Feb 15 2008, 09:39 PM (1,872 Views)
Jesin
Member Avatar
The Small Fish
[ * ]
Arc, a new dialect of Lisp, has come out recently. It fixes a huge number of problems with other Lisps, while at the same time staying Lispy. It's still unstable in the sense that future changes are almost guaranteed to break anything you write in the current version of Arc. No, it probably isn't as great as everyone says it is, but it's not as bad as it will likely seem in a few months.

Before you start discussing what looks good and bad about Arc, learn about what it means to be Lispy (and macros. Especially macros). Of course Lisp looks bad if you try to think about it in C, C++, Java, and so on. Yes, there are Lisps that try to look like ALGOL-based languages (C, C++, Java, etc).; Dylan is a prime example. Unfortunately, in trying to look less Lispy, Dylan lost its Lispiness. Writing macros in Dylan feels unnatural, and macros are Lisp's primary advantage over other languages.

Also, the most important part of Arc's design philosophy is that it is designed for smart programmers. In short:
Should programmers really be allowe-YES!
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Yay, more Lisp. Good thing I am not writing Lisp anymore.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
Jesin
Member Avatar
The Small Fish
[ * ]
techwizrd
Feb 17 2008, 02:27 PM
Yay, more Lisp. Good thing I am not writing Lisp anymore.
Why knot?
Offline Profile Quote Post Goto Top
 
BobTheFerret
Member Avatar
It's The End Of The World As We Know It
[ *  * ]
Jesin
Feb 17 2008, 04:11 PM
Why knot?
How else are you going to attach two ropes to each other?

[oh, I may end up calling both y'all posters up the page if something doesn't get worked out o'er email fast for (IRL thing I'm sure you both know what I'm talking about)]
Edited by BobTheFerret, Feb 17 2008, 07:06 PM.
It is dark. You are likely to be eaten by a grue.
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
You know, you should leave IRL notices to the PM system...

Anyway, I don't program Lisp anymore because I have no concrete need. In the days I of my prolific Emacs use, I did, but not anymore. I don't need one program to act like my OS, though I never liked [tt]vim[/tt] at all.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
Jesin
Member Avatar
The Small Fish
[ * ]
techwizrd
Feb 17 2008, 08:38 PM
You know, you should leave IRL notices to the PM system...

Anyway, I don't program Lisp anymore because I have no concrete need. In the days I of my prolific Emacs use, I did, but not anymore. I don't need one program to act like my OS, though I never liked [tt]vim[/tt] at all.
I agree with line 1. Ferret, why do you keep posting about that in the forum?

As for not programming Lisp anymore, Arc is different from other Lisps. It keeps macros and some other good things, but PG worries very little about backwards compatibility with Scheme or CL.

For a while I was worried about some of the abbreviations and syntax, and it was starting to feel vaguely Perlish. Then I figured out that the shortcuts are only for things that will be used a lot. Also, replacing lambda with fn is a smart move whether or not you're abbreviating. Whereas lambda refers to the Greek symbol often used for the same operation, fn is more job-descriptive.
You're not going to forget abbreviations for things you use all the time. If you try to abbreviate everything, you lose the meaning, but most of the abbrevations are just things like print -> pr, println -> prn, define -> def, and macro -> mac.

Then there's the syntax. Just things like:
Code:
 
(foo:bar baz:qux) ; means
(foo (bar (compoze baz qux))) ; roughly means
(foo (bar (fn args (baz (apply qux args)))))
and this:
Code:
 
[foo _ bar] ; means
(fn (_) (foo _ bar))

But then, I'm off track. Why do you not like Lisp? Emacs is not the only use for Lisp in the same way that Blender is not the only use for Python.
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
Jesin
Feb 18 2008, 01:02 PM
Why do you not like Lisp? Emacs is not the only use for Lisp in the same way that Blender is not the only use for Python.
Oh, it's not that I don't like Lisp, I just have no need to use it anymore. I deal mostly with game programming, GUI programming, and server programming. I don't see where Lisp is overly helpful anywhere there.

Python on the there hand is useful for full-fledged applications, servers, popular GUI toolkits like wxWidgets, Tcl/TK, GTK, and Qt.

I agree Emacs is very good, especially if I am on some forsaken Windows/Mac machine, but I prefer to use the much smaller and entirely more useful SciTE or Nano. On KDE, I have KDevelop, while on GNOME, I have Geany and some other programs (like Glade or Anjuta). As for subversion support, I have always been wary of Emacs' subversion and prefer to do subversion through the terminal or through a graphical tool like kdesvn.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
Jesin
Member Avatar
The Small Fish
[ * ]
Arc is useful for something. Paul Graham is developing web-apps in it as the language develops to make sure it becomes and stays usable for real-world applications. For example, the Arc forum is written in Arc, as is Hacker News.
Offline Profile Quote Post Goto Top
 
BobTheFerret
Member Avatar
It's The End Of The World As We Know It
[ *  * ]
Dude, Techy... Why are you so out of it?

Nano comes by default on Mac OS X. And I haven't tried, but I have no doubt that SciTE would run with a recompile.
It is dark. You are likely to be eaten by a grue.
Offline Profile Quote Post Goto Top
 
techwizrd
Member Avatar
Magister ex Machina
[ *  *  * ]
BobTheFerret
Feb 18 2008, 09:00 PM
Dude, Techy... Why are you so out of it?

Nano comes by default on Mac OS X. And I haven't tried, but I have no doubt that SciTE would run with a recompile.
What am I out of? I know that nano is included by default. In fact, most people already have it if they aren't using Windows. SciTE is just useful because it is small, supports a number of languages, has tabs, and did I mention cross-platform? I am pretty sure it would run without a doubt on OSX. I just like it when I have to code on Windows or on a lightly-equipped yet-still-graphical Linux distro (read as Xubuntu, Puppy Linux, and especially DSL). SciTE is slightly under 2 megabytes as a linked Windows executable and even smaller on my Linux box. If I have to do editing from a terminal, then I use ed or nano, otherwise SciTE is my all purpose editor.
My DeviantArt user page Please comment and add me to your favorites!
Posted Image
Offline Profile Quote Post Goto Top
 
BobTheFerret
Member Avatar
It's The End Of The World As We Know It
[ *  * ]
techwizrd
Feb 18 2008, 06:38 PM
I agree Emacs is very good, especially if I am on some forsaken Windows/Mac machine, but I prefer to use the much smaller and entirely more useful SciTE or Nano.
Doesn't sound like you know nano comes by default.
It is dark. You are likely to be eaten by a grue.
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Programming · Next Topic »
Add Reply