Madis
unread,Oct 8, 2015, 12:37:25 PM10/8/15Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to yeti...@googlegroups.com
This is mostly bug-fix release, only significant update is JDK1.8 support.
There is also half-done reference manual now, that is meant to define the
language syntax and semantics. This release would have been 1.0, if the
manual had been finished, but it seems wrong to call it 1.0 without really
documenting the language. The so-called short introduction doesn't go into
details in all language parts, as it is intended to be easily readable
tutorial, and is also long enough. I had hoped to finish the reference
manual long ago, but writing it has been a bigger task than anticipated,
and having a child seems to be really detrimental to programming language
development as hobby. So the 0.9.9.1 is released now, to have the bug
fixes and JDK1.8 support in release.
The language feature freeze continues, as focusing on the reference manual
is the only way to get it actually done. Small bugfixes and additions to
standard library are welcome, as they shouldn't break existing code nor
require much effort.
The bottom line is that Yeti is not dead, even if it's development is
slow. It is quite nice language and useful tool, especially if you need
JVM.
One future plan is introducing lisp macrodef style macros after 1.0
release (AST transformers written as full-featured Yeti code). This seems
to be a feature that would give most flexibility to anyone wanting to
implement their pet feature without actually touching the compiler. It
also should be quite simple in the compiler - the idea is to borrow the !
suffix notation used in Rust to denote macro invocation (on functions
imported from loaded module). The compiler would then just invoke the
(precompiled) function and give internal AST wrapped into Yeti types as
it's argument (opaque types probably help here), and receive new AST part
that will replace the macro invocation in the source.