News for hackers. Stuff that matters.
Re:Ivory: an embedded domain-specific language for safer sys... by gmueckl on Sunday March 18, 2018 @04:31PM (#16614140)
I have not dug into this, but I am curious: how would you write multiple interacting, concurrent, timing-sensitive tasks with this? I am thinking about things like multiple complex protocol stacks on top of different interrupt driven I/o ports (uart, I2C, SPI) in parallel with a main application that is supervised by a watchdog.
Re:Ivory: an embedded domain-specific language for safer sys... by dennisdamenace on Sunday March 18, 2018 @05:25PM (#16614452)
https://ivorylang.org/tower-overview.html

> The Tower Language is an eDSL for composing Ivory programs into real-time systems. Tower programs specify communication channels, tasks, and signal handlers, and generate Ivory code which implements scheduling and communication for real-time operating systems.

Re:Ivory: an embedded domain-specific language for safer sys... by gmueckl on Sunday March 18, 2018 @06:50PM (#16614966)
Interesting! This seems to be in very early development. I do not fully understamd the simple example, but somehow the basic idea and delarative nature feels promising to me. I do not have a good enough understanding of this. I fear that a single central declaration of all the tasks and communication channels might get unwieldy for a system with realistic complexity.
Re:Ivory: an embedded domain-specific language for safer sys... by kd0amg on Sunday March 18, 2018 @04:54PM (#16614269)
The landing page is a bit disappointing in that regard. I'd rather see example programs for listening on a socket or setting up a piped parent/child pair than computing Fibonacci numbers. I guess the fib_loop example at least demonstrates that mutable state is readily accessible (not what you'd necessarily expect in a Haskell eDSL), but I think for a domain-specific language it would be better salesmanship to demonstrate a domain-related task.