Here are some answers for questions you probably haven’t asked for.

Why is it called Ya?

  • Several reasons. At first I wanted to call this language Yo due to using Yoneda lemma for syntax. Some people use a kana as notation. In Ya we also have contravariant version of this operator which is called ya. So I decided to use Cyrillic letter Я (pronounced as ya) that means me or I in many Slavic languages.

Which problems Ya supposed to solve?

  • Make everything to be composable. I’m trying to push to another limit of expressiveness/usability ratio.

  • Make control flow predictable, easy to support and refactor using effects. You can actually see how exactly I’m doing it on these use cases.

  • Try to live without any incapsulation - make all internals to be reveal. I do not want to hide anything from other developers - they are smart enough to not tell them what to do.

How can I use it?

  • You can include libraries from Ya ecosystem into your Haskell project, install a special font on your machine and enjoy (or suffer, depends on how you perceive coding experience).