Live data from Hacker News

Atomo, the programmer's programmable programming language

atomo-lang.org

31–37 of 37 posts

Re: Atomo, the programmer's programmable programming language

#31

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?

There is even a conference for languages like this:

Workshop on Self-sustaining Systems (S3)

http://www.hpi.uni-potsdam.de/swa/s3/

The Workshop on Self-sustaining Systems (S3) is a forum for discussion of topics relating to computer systems and languages that are able to bootstrap, implement, modify, and maintain themselves. One property of these systems is that their implementation is based on small but powerful abstractions; examples include (amongst others) Squeak/Smalltalk, COLA, Klein/Self, PyPy/Python, Rubinius/Ruby, and Lisp. Such systems are the engines of their own replacement, giving researchers and developers great power to experiment with, and explore future directions from within, their own small language kernels.

Re: Atomo, the programmer's programmable programming language

#32
Looks cool, but what are the use cases for Atomo? Would be nice if there was a section "Why Atomo", on the website.

More specifically, what prompted the creation of Atomo? Is it only for fun/personal research? Is it a school project? Is there a business problem that Atomo is solving?

(I'm just curious, this is not a "do we need another programing language?" criticism. I always wanted to write my own programming language for fun :)

Re: Atomo, the programmer's programmable programming language

#33
post #5

Earlier quoted context omitted.

http://en.wikipedia.org/wiki/Pattern_matching

Sure, but I'm surprised by the "reversed" notation. Wouldn't it be fib 0 = 1 in Haskell? I just felt that this order works well for pattern matching functions, but not as well in other contexts. No CS background here, by the way; maybe I'm just missing your point.

[deleted]

Re: Atomo, the programmer's programmable programming language

#34

Earlier quoted context omitted.

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...

Come on! by now everybody knows what you're working on! ;-)

Re: Atomo, the programmer's programmable programming language

#35
I love the "Particule" concept, a nice extension of atoms (and a much nicer name than "tuple"). Where is it coming from?

Without going into Prolog, now that you have some pattern matching, maybe you could have some notion of success/failure, like in Icon, this is very expressive. http://en.wikipedia.org/wiki/Icon_(programming_language)

Re: Atomo, the programmer's programmable programming language

#36
Like others have already mentioned it does (at first glance) seem have a passing resemblance to Io (http://iolanguage.com).

Here is the Greeter example in Io:

    Greeter := Object clone

    Greeter new := method (n,
        Greeter clone do (name ::= nil) setName(n)
    )

    Greeter sayHi := method (
        (name .. ": Hi!") println
    )

    Greeter new("Alex") sayHi
Very close. However even though I've tried to make it look identical you can see the differences poking through. And reading through the Atomo docs there are (naturally) other divergences.

I would say that Atomo is probably more closer to Ioke (http://Ioke.org) than Io. The philosophy behind Io is to keep it small & simple. Whereas Ioke is Io + extra syntax, literals, etc baked in.

Worth keeping an eye on Atomo... as is Io & Ioke. For reference here are the other examples in Io:

    File with("out-file") open do (
        write("hello, world!\n")
    )

    fib := method (n,
        if (n == 0, return 1)
        if (n == 1, return 1)
        fib(n - 2) + fib(n - 1)
    )

    list(1, 2, 3) sum
    Range 0 to(5) map(* 2)

Re: Atomo, the programmer's programmable programming language

#37

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?

The Scala compiler's written in Scala.
Post reply on HN