
Dao Programming Language - copx
http://daoscript.org/
======
NeoHermit
Author here, I will be happy to answer some questions.

~~~
cju
This reminds me Stanza ([http://lbstanza.org/](http://lbstanza.org/)). Do you
know it and what differences would you point out ?

~~~
NeoHermit
I didn't know it. But according the introduction in its website, the
differences are very easy to spot on: the syntax is obviously different;
Stanza compiles directly to native code, but Dao doesn't; Dao supports class
and inheritance, but Stanza not; concurrency support is also different. The
main similarity seems to be both having optional typing.

------
copx
I mostly submitted this here because Dao looks kinda interesting but I've
never heard anything about it anywhere and thus was reluctant to invest time
in it.

I know that the language has been around for years, though.

Has anyone here every used it?

~~~
Mathnerd314
Haven't used it either (Google suggests nobody but the author is actually
using it seriously), but from a quick look it's basically a virtual machine in
C, so probably competitive with Lua / Squirrel / the other dozen lightweight
embedded scripting languages.

It's probably easiest to just use V8 for any new projects, it's the fastest /
most maintained and the scripting API isn't really that much more complicated.
Plus basically everyone knows JS these days.
[https://github.com/v8/v8/wiki/Getting%20Started%20with%20Emb...](https://github.com/v8/v8/wiki/Getting%20Started%20with%20Embedding)

Although Dao does have good concurrency/async features; V8 isn't really POSIX
thread safe.

Random links which have Dao in them: [http://lambda-the-
ultimate.org/node/2085](http://lambda-the-ultimate.org/node/2085)
[https://github.com/r-lyeh/scriptorium](https://github.com/r-lyeh/scriptorium)
[https://stackoverflow.com/questions/2526300/list-of-lua-
deri...](https://stackoverflow.com/questions/2526300/list-of-lua-derived-vms-
and-languages) [http://lua-
users.org/lists/lua-l/2009-03/msg00137.html](http://lua-
users.org/lists/lua-l/2009-03/msg00137.html)
[https://developers.slashdot.org/story/13/05/29/0225227/dao-a...](https://developers.slashdot.org/story/13/05/29/0225227/dao-
a-new-programming-language-supporting-advanced-features-with-small-runtime)
[http://www.devtopics.com/dao-obscure-programming-language-
of...](http://www.devtopics.com/dao-obscure-programming-language-of-the-
month/)

------
sboselli
It took me a while to realize this is not the DAO from Ethereum, which
incidentally, is such a (negatively) loaded name.

Maybe you should consider changing the name, at very list just so you don't
get dismissed when reading the title alone in any post, newsletter, w/e.

~~~
jefurii
Note: the Chinese word "dao" predates Ethereum by a very long time. I'd be
more worried that it would be difficult to find since the word is so common.

------
rurban
How do I enable the LLVM jit? It doesn't seem to be included in the build
system

~~~
NeoHermit
You will need to clone
[https://github.com/daokoder/DaoJIT](https://github.com/daokoder/DaoJIT), and
place it under dao/modules. Then edit dao/modules/makefile.dao to add:

    
    
      if( DaoMake::IsDir( "DaoJIT" ) ) modules.AddDirectory( "JIT", "DaoJIT" );
    

then it will be included in the building. After building, you can add "-j"
option in the command line to turn on jit.

However, this module has not been tested for some time. It could be broken. It
depends on older versions of LLVM, which is unfortunately not available on my
laptop, so I cannot verify it now.

------
amingilani
This has nothing to do with decentralized autonomous organizations of the
blockchain world. From the page:

 _Dao is a lightweight and optionally typed programming language with many
advanced features. It includes features that can make concurrent programming
very simple. It provides well designed programming interfaces for easy
embedding and extending._

~~~
oddrationale
Yeah, took me a minute to figure that out, too. I thought this was another EVM
language.

------
PrimHelios
This seems really interesting, but it looks kind of dead.

That's a shame, I'd love to get into it.

EDIT: Ignore me

~~~
copx
Where did you get that idea?

[https://github.com/daokoder/dao/](https://github.com/daokoder/dao/) Last
commit was 3 days ago

Project seems relatively active in general:
[https://github.com/daokoder/dao/graphs/commit-
activity](https://github.com/daokoder/dao/graphs/commit-activity)

