Dezyne Programming Language

2 months ago (dezyne.org)

That's only the language, I strongly recommend using dedicated VS Code extension that supports graphical tools VS code extension: https://marketplace.visualstudio.com/items?itemName=verum.de... Verum Dezyne binary: https://verum.com/download/ It's a bit confusing but Dezyne - language, command-line version. Verum Dezyne - same + graphical tools

If you need a working example, you can find a simple Cmake/C++ implementation: https://forum.verum.com/t/automatic-lights-a-complex-system-...

If you are stubborn enough you can model even the smallest detail of logic in Dezyne and then use single lines of C++ hand-written code to manipulate IOs: https://bitbucket.org/j0ran/alarmsystem/src/alarmsystem-no-m...

Can anyone proficient with this kind of language comment on how useful it is compared to a more vanilla imperative language? It seems like it's designed for control systems, which is largely about correctly implementing large state machines. Are there problems that are incredibly difficult to manage without a language like dezyne? Outside of control and state machines, are there other domains it excels in?

  • Dezyne runs formal verification under the hood (Model checking), which basically means checking all possible situations that might happen in your code. You can create a requirements/constraint like statements and Dezyne will check is there a scenario where you violate them. Also it makes sure that every single has a correct handler, so no more unexpected timer interrupts.

    It short words - you don't need to write unit tests and target code generates directly from the model

  • every app is big hierarchical state machine. from app using mechanical enginering devices to cenralized perpertual trading orderbook to networked game world state management middleware.

This language reminds me of Eiffel programming language, but more contract/behaviour oriented.

Smells like Swift to me; too much specialization, everything reads like a contract.

  • It's a general-purpose language, it starts to make sense as soon as you rich ~100 possible states in your code, which actually is a small number