A programming language built from first principles, practical considerations and a little bit of madness
Tags represent knowledge i.e. something that is neither code nor data. They consist of a string label and a value of any type which must be known at compile time. Tags are used for generics, units, they reduce the number of keywords in the language, and much more.
Indices are XY's way of helping with memory management. They also allow different views at the same data. For example Structures of Arrays can have the same (or at least similar) API as good old Arrays of Structures.
XY has only 4 moving parts: functions, structures, tags, and tons of syntactic sugar. Admittedly some of this parts can get fairly complicated.
XY is not object oriented. Indirection is provided through the use of glorified pointers called callbacks. Calling a function usually gets you what you expect to get.
Code runs on real hardware not in the ether. Any reasonably complicated program has to consider its performance requirements. Throwing hardware at the problem is a waste of money and energy.
`Be Bold` is a mantra at the heart of the language design process. XY is not for everybody and that's OK. It was created to serve its creators in their vision of how software is to be written.
It's an old tradition to name programming languages after letters of the alphabet. Most of latin letters have already been taken so the greek letter Ξ (pronounced /sai/) was chosen.
Because English.
If you are frustrated by available programming languages or just curious about them then you may find XY interesting and useful.
Probably not!
Currently only me.
temp~Fahrenheit'to(Celsius)