Arc Forumnew | comments | leaders | submit | akkartik's commentslogin
2 points by akkartik 4684 days ago | link | parent | on: Why do old/odd languages appeal to me?

"This would allow robomartin to have his "notation as a tool for thought", while still having another syntax that's easier to understand, for those that want it."

Relevant here is also http://worrydream.com/LearnableProgramming, and the Boxer paper (http://www.soe.berkeley.edu/boxer/20reasons.pdf; I could swear I'd submitted it here before.)

For the past 6 months I've been going to a hackerspace in Oakland every monday evening, and trying to learn how to teach programming to non-programmers. So I've been thinking about this a lot.

-----


I shared this over a year ago (http://www.arclanguage.org/item?id=16117); seems to have switched a few gears since.

-----


Well, we'll give you more constructive criticism. Often of the form, "see here for how I did it" :p

-----


Thanks! Welcome to the club of unofficial forks! Who cares what anybody else agrees with! :)

(I believe the HN codebase expires reply links after 14 days, as a spam control measure.)

-----


Yes, I was phrasing it poorly. I meant that since just reusing the binding sometimes doesn't work, the idiom has evolved to always rebind. Even for non-nil lists, and even for destructive operations that are safe to just operate on like nconc. But I'm not a huge expert on what the idioms are :)

-----


Thanks!

Arc does have similar gotchas with quote: http://arclanguage.org/item?id=10248 (one of my earliest posts on this forum)

-----


Nope, we only find out when you do.

(We here maintain various forks of the last release from 4 years ago: http://github.com/arclanguage)

-----

1 point by hartator 4705 days ago | link

Yeah, I know, seems old though like 2009.

-----

1 point by zck 4705 days ago | link

Yep, that's the last release. It's why I'm so excited for this github repo.

-----


(1) Yes this has occurred to me as well. I think it's pretty much just convenience. Though languages like Kernel and even Common Lisp (with constant need to quote or function-quote) reduce that inconvenience anyway.

Even if you choose to quote names in definers, you still need some irregularity in evaluation policies to build short-circuiting or/and.

(2) Arc is built on racket, and strings in racket (and other schemes?) are interned and so fast to compare just by their address. Lisp choose not to intern strings.

I tend to avoid these complexities and just use 'iso' everywhere. (My language has only an equivalent of iso: https://github.com/akkartik/wart/blob/955497c1ca/045check.wa...)

Past discussions: http://arclanguage.org/item?id=248, http://www.arclanguage.org/item?id=16304

-----

6 points by akkartik 4714 days ago | link | parent | on: Still under development?

I think it's 'meta hackable' in that you can choose what 'hackable' means :) Some people may choose "last release 4 years ago" to mean it's dead. I choose to think 'stable release' doesn't apply to arc. Even PG's versions have the disclaimer "future releases can break anything", which doesn't seem very stable. So I and a few others choose to "break anything" of our own accord :)

'Hackable' isn't black or white, but a question of priorities. SBCL and Racket care about keeping the implementation hackable, but have other higher priorities: it should provide a stable interface that doesn't break user code, it should provide a compiler, it should run programs really fast, it should help teams of people work on large projects, etc. With arc, hackability is the #1 priority. It's a pretty good platform for experimenting with language features, or at least a pretty good forum for discussing language features you build on any platform. But it's not the ideal place if you just want features and don't care how they're built.

-----

2 points by Twoflower 4710 days ago | link

Thanks! :D

-----

3 points by akkartik 4720 days ago | link | parent | on: ACL2

I took a very basic -- and very awesome -- class in grad school from J Moore, one of its creators: http://www.cs.utexas.edu/~moore/classes/cs389r

-----

More