Live data from Hacker News

Atomo, the programmer's programmable programming language

atomo-lang.org

11–20 of 37 posts

Re: Atomo, the programmer's programmable programming language

#11
post #10

This looks really cool and reminds me a lot of Io. Speaking of Io, this make me curious about the performance of Atomo. Io while an amazing experiment in expressivity has terrible performance. Does Atomo similarly prioritize expressivity to the detriment of reasonable performance?

Right now, my priority with Atomo is consistency in the design and simplicity in the implementation. It's acting as an incubator for a ton of interesting language features at the moment (both for myself and for Slate), so I haven't made optimization a priority yet as major parts of it are constantly changing. For example, the version on Hackage has a traditional exception system, while the latest darcs changes have r…

Sounds reasonable. So is it possible to mix Haskell in with Atomo to get to the metal so speak? Do you have any examples of this?

Re: Atomo, the programmer's programmable programming language

#12

This looks really cool and reminds me a lot of Io. Speaking of Io, this make me curious about the performance of Atomo. Io while an amazing experiment in expressivity has terrible performance. Does Atomo similarly prioritize expressivity to the detriment of reasonable performance?

It reminds me so much of Io, that I'm a bit disappointed that Io is not mentioned in the "its design is inspired by ..." text at the top of the first page.

Re: Atomo, the programmer's programmable programming language

#13
post #10

Earlier quoted context omitted.

Right now, my priority with Atomo is consistency in the design and simplicity in the implementation. It's acting as an incubator for a ton of interesting language features at the moment (both for myself and for Slate), so I haven't made optimization a priority yet as major parts of it are constantly changing. For example, the version on Hackage has a traditional exception system, while the latest darcs changes have r…

Sounds reasonable. So is it possible to mix Haskell in with Atomo to get to the metal so speak? Do you have any examples of this?

Yes; all of Atomo's kernel is defined using this Haskell DSL. For example, here's Atomo's ports system: http://darcsden.com/alex/atomo/browse/src/Atomo/Kernel/Ports...

I've also written a few wrappers for Haskell libraries over at http://darcsden.com/alex - see http, json, and command.

Basically, you define your methods in Haskell, and call them from Atomo; these methods can be defined as an expression (=:::), a value (=::), or some arbitrary VM action to be executed to yield a value (=:). (Admittedly those operators have gotten a bit silly.)

The definitions use QuasiQuotes for the method pattern, and can use them for expressions as well, though that's not encouraged (operator precedence and macros make it a tricky thing to do at compile time). They look a bit noisy - [$p|x foo: y|] but that'll be fixed come GHC 7, where that pesky $ is removed.

Re: Atomo, the programmer's programmable programming language

#14

This looks really cool and reminds me a lot of Io. Speaking of Io, this make me curious about the performance of Atomo. Io while an amazing experiment in expressivity has terrible performance. Does Atomo similarly prioritize expressivity to the detriment of reasonable performance?

It reminds me so much of Io, that I'm a bit disappointed that Io is not mentioned in the "its design is inspired by ..." text at the top of the first page.

It does mention Slate, among others. After skimming the intro, I was similarly surprised it didn't mention Self, but it was probably more directly influenced by Slate. (Slate and Io were both strongly influenced by Self.)

Re: Atomo, the programmer's programmable programming language

#15

Earlier quoted context omitted.

It reminds me so much of Io, that I'm a bit disappointed that Io is not mentioned in the "its design is inspired by ..." text at the top of the first page.

It does mention Slate, among others. After skimming the intro, I was similarly surprised it didn't mention Self, but it was probably more directly influenced by Slate. (Slate and Io were both strongly influenced by Self.)

Self and Io are both languages that have similar concepts but weren't direct inspiration; in Self's case, it was pure chance (I've never actually used Self), and in Io's case, Slate was a more direct influence. Io didn't have much mindshare, despite being another language I love (but never use).

Re: Atomo, the programmer's programmable programming language

#16

Many bits of Atomo are written in Atomo, including Eco (the package manager), the REPL, and so on... http://darcsden.com/alex/atomo/browse/prelude/

Are there any languages out there that are, or virtually are, written entirely in themselves?

Re: Atomo, the programmer's programmable programming language

#17

Many bits of Atomo are written in Atomo, including Eco (the package manager), the REPL, and so on... http://darcsden.com/alex/atomo/browse/prelude/

Are there any languages out there that are, or virtually are, written entirely in themselves?

Both Ruby and Python have interpreters implemented in themselves.

http://rubini.us/

http://codespeak.net/pypy/dist/pypy/doc/

Re: Atomo, the programmer's programmable programming language

#18

Many bits of Atomo are written in Atomo, including Eco (the package manager), the REPL, and so on... http://darcsden.com/alex/atomo/browse/prelude/

Are there any languages out there that are, or virtually are, written entirely in themselves?

Squeak, for example, has its VM quite literally written in a subset of itself called Slang, which translates to C: http://ftp.squeak.org/docs/OOPSLA.Squeak.html

Also, most Lisps (especially Scheme) have a relatively small core written in C for bootstrapping, and the rest of the language is written in itself.

Re: Atomo, the programmer's programmable programming language

#19

Many bits of Atomo are written in Atomo, including Eco (the package manager), the REPL, and so on... http://darcsden.com/alex/atomo/browse/prelude/

Are there any languages out there that are, or virtually are, written entirely in themselves?

I was interested in Atomo-in-Atomo, because I'm working on CoffeeScript, a language that is written in itself:

http://jashkenas.github.com/coffee-script/documentation/docs...

Post reply on HN