Hi all,
I have created a prototype of a new language for DCI programming,
forked from Kotlin (it's still a work-in-progress). I'm sure there
are many different opinions in this group about where and how much
to rely on AI, but I think we could all agree that it's very
useful for prototyping, which is what I did here (I haven't even
reviewed the code yet). Having said that, obviously I would not
recommend using this language in production, but my hope is that
one day it could be built more robustly and become suitable for
production.
I'm calling the language "Menta", short for mental models:
https://github.com/mbrowne/menta
See some examples:
https://github.com/mbrowne/menta/tree/main/docs/examples
And try it out here:
https://codesandbox.io/p/devbox/menta-demo-54hjfz
(It seems that you have to fork the sandbox before you can run your own commands in the terminal...if anyone knows otherwise, please let me know.)
For documentation, see the main readme, differences from Kotlin, and FAQ.
The main reason I chose Kotlin was for the compiler infrastructure, libraries, and all the targets it already supports. I haven't tried building a GUI with it yet, but thanks to Kotlin Multiplatform, in theory it should be possible to write a GUI app that works on desktop, web (both JS and web assembly), Android, and iOS (via Kotlin native). Working with native libraries via Kotlin native is also possible.
Here are some highlights:
Some to-do items and open areas of investigation:
The only thing I feel strongly about maintaining from Kotlin is support for JVM as a target, but I was focused mainly on OO and DCI and I didn't feel much need to touch the rest of the language, which has some pretty nice functional programming features for example. But if anyone has suggestions on something inherited from Kotlin that should really be changed, let me know.
Let me know what you think!
Thanks,
Matt
--
You received this message because you are subscribed to the Google Groups "object-composition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to object-composit...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/object-composition/7348306f-ff4d-4d42-980b-9b40bc0d7ef3%40gmail.com.