Show me cool, obscure languages!

View other answers to this thread
Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown · Publish articles on custom domain · Gain readership on day zero · Automatic GitHub backup and more

j's photo

I would be going for ponylang

as you easily can spot it's an actor based language. I am following this language for quite a bit now. Actors are a concept I really do enjoy arxiv.org/vc/arxiv/papers/1008/1008.1459v8... and they built a language around it :D ....

use "collections"

actor Counter
  var _count: U32

  new create() =>
    _count = 0

  be increment() =>
    _count = _count + 1

  be get_and_reset(main: Main) =>
    main.display(_count)
    _count = 0

actor Main
  var _env: Env

  new create(env: Env) =>
    _env = env

    var count: U32 = try env.args(1)?.u32()? else 10 end
    var counter = Counter

    for i in Range[U32](0, count) do
      counter.increment()
    end

    counter.get_and_reset(this)

  be display(result: U32) =>
    _env.out.print(result.string())
Show +2 replies
Mark's photo

Personally I looked into Pony a bit, but thought it was close enough to a mix of Rust and Erlang that I could skip it. It's still one of the more original recent languages though (impractical ones aside).

j's photo

Mark yes on a theoretical level I agree although erlang is not a pure actor model since it has types which are not actors. But I learned that to truly understand something one has to leave the meta level and gets his hands dirty ... I think theory is important but I like to test my theories against reality :).