Arc Forumnew | comments | leaders | submit | akkartik's commentslogin
1 point by akkartik 4309 days ago | link | parent | on: Irken: a statically-typed scheme

The repo is a little hard to find, but someone pointed it out on HN: https://github.com/samrushing/irken-compiler

-----

5 points by akkartik 4328 days ago | link | parent | on: Some customization

1. Arc generates html and css from code. Search for "defop news.css" in news.arc and you'll see it.

2 and 3 are more complex and will require custom code. http://hubski.com has both but they've been added over several years as the creator got more fluent with arc. You can ask them what they did.

-----

2 points by irbogard 4326 days ago | link

Great, thanks for the help.

-----


This is great!! Congrats to both of you.

-----

2 points by akkartik 4333 days ago | link | parent | on: What is compiler can compile arc code???

Arguably arc is a compiler to scheme. ac stands for arc compiler I believe. The scheme might be interpreted or JIT-compiled.

-----

2 points by zck 4333 days ago | link

Well, fair enough. At some point, I really need to spend more time with Arc's internals.

-----

2 points by akkartik 4334 days ago | link | parent | on: Download link for arc3.tar is broken

Oh, so arc3.tar is now really arc3.1.tar?

-----

2 points by zck 4334 days ago | link

Yeah, if you try to download http://ycombinator.com/arc/arc3.tar, it results in downloading arc3.1.tar .

-----

2 points by akkartik 4334 days ago | link | parent | on: Download link for arc3.tar is broken

Our informal frontpage since the one here is so out of date: http://arclanguage.github.io

-----


Interesting to compare it to http://readable.sourceforge.net and my http://akkartik.name/post/wart.

-----

2 points by akkartik 4337 days ago | link | parent | on: Awesome Python

We hear about the odd person using it when they come here to ask questions or report bugs (e.g. http://arclanguage.org/item?id=18580). Often we can't tell what they're up to, but the most common impetus seems to be to build a HN-like community for their own interests, such as http://arclanguage.org/item?id=18620, or http://arclanguage.org/item?id=17325.

Googling around, I found it quite easy to find a HN clone called http://firespotting.com at https://github.com/mmccaff/PlacesToPostYourStartup. Another location: http://www.quora.com/Hacker-News/Whats-the-best-way-to-creat.... There's other stacks now to create clones, but many clones still use arc.

The biggest install I know of is http://hubski.com. Perhaps we should keep a list somewhere. But really what we seem to care about here is thinking about alternative stacks. That and helping beginners to programming in general or arc in particular :)

-----


I haven't looked in depth yet, but in general I'm a big fan of superficially/locally ugly solutions :)

-----


How did you bootstrap this repo? I'd love to hear more details, or pointers to specific commits in the history.

-----

3 points by Mitranim 4339 days ago | link

I wrote the original compiler in CoffeeScript, then gradually reimplemented its parts in jisp, concurrently fixing bugs and adding features to the remaining coffee parts. The hardest part to replace was the jisp.coffee to jisp.jisp; at that point I had to stop and rearchitect some parts of the old compiler and implement macros in it to write the new one in a relatively sane way. Using a higher-level JavaScript dialect helped in several ways: it allowed to write less code, challenged me to immediately implement those higher-level features, and helped with understanding and debugging JavaScript (which would have been harder if I wrote in a non-JS language).

Didn’t want to publish an unfinished compiler, so there’s no coffee in the repo history. I don’t actually even have a git history before 0.0.1.

Took three weeks from concept to publish. May have been faster or better if I borrowed technical concepts from other implementations, but I wanted the compiler to be completely original. For instance, it converts jisp code into native JavaScript data structures rather than token trees. Not sure how other similar dialects handle this.

-----

1 point by akkartik 4339 days ago | link

Oh that's too bad. I'm intensely curious about the experience and it's very poorly covered in most places. Guess I'll just have to try it for myself :)

-----

2 points by Mitranim 4339 days ago | link

If you mean the experience of implementing a language, what about wart and anarki? Or did you mean something else.

-----

1 point by akkartik 4339 days ago | link

I meant implementing a language in itself.

(Also, I didn't implement anarki. That's more like a maintenance job..)

-----

4 points by Mitranim 4339 days ago | link

Writing a self-hosted compiler feels a bit like climbing a skyscraper without a safety belt. I usually test each change by immediately having the compiler recompile itself a few times. Back when it was unstable, each time felt like a plunge from a mountaintop, with a jolt of adrenaline. I guess it still does. :D

-----

More