Vision

Dok Melody is a (utopistic) programming environment, where the source code of the application, the compiler, the development environment, and the community are first class citizens.

Dok Melody will be composed of:

  • the Dok programming language;
  • the Doknil knowledge-base language, for linking the various parts of a project;
  • the Dokwork IDE;
  • the Dok Melody federation of servers for sharing information about libraries and frameworks;
  • the released libraries, frameworks and domain specific languages (DSL);

Dok is a layered programming language. The source code can be annotated, analyzed and transformed in an iterative way, maintaining a link between the different versions. The compiler can be extended with new analysis and transformation pass, and it can support nested DSL. A system is created iterating layers of annotated specifications, from higher-level to lower-level. Source code in Dok can “branch”, i.e. from the same higher-level source code, the programmer can derive different lower-level versions of the same code.

Dokwork IDE supports live-programming and it can be extended with new way for viewing and navigating data. Like in Smalltalk, it is part of the system, and it can be customized.

Dokwork simplifies also the collaboration between users of the same group and the interaction between hierarchies of different groups. Users have control on which information export and import.

In an hypothetical future, Dok Melody will manage donations and transparent revenue sharing, between the maintainers of libraries and frameworks.

Mission

  • develop Dok Melody, or at least a proof of concept, before the end of 2023;
  • being sure that the source code can be used in commercial projects, but at the same time it will remain forever OSS and upgradable from users (i.e. using the LGPL license and if available, in future, a sort of Affero LGPL license);
  • reusing, whenever possible, already created technologies under the hood, but following the Dok Melody paradigm in the visible and actionable parts;
  • using, whenever possible, federated and distributed tools for its development, following the philosophy of Dok Melody;

Status

This project is currently (and probably for the foreseeable future) in design/development/vaporware phase.

You can follow the Blog / Devlog for remaining informed about the progress.

Contacts

Actively used

Installed but not yet actively used

Used but in embarassing state