top | item 44013201

The Dezyne Programming Language

56 points| aulisius | 9 months ago |dezyne.org

11 comments

order

karkob|9 months ago

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

gotoeleven|9 months ago

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?

karkob|9 months ago

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

rtpg|9 months ago

Sounds like formal verification is built into the language, which sounds nice for people who care!

Given this is spitting out C++ code, it could be that the ideal way of using this is to write your state machines with this, then use the output in a more traditional setup.

https://dezyne.org/dezyne/manual/dezyne/dezyne.html#Formal-V...

dlahoda|9 months ago

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.

az09mugen|9 months ago

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

codr7|9 months ago

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

karkob|9 months ago

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

sitkack|9 months ago

> everything reads like a contract.

Sounds like plan! Sign me up.