[LLVMdev] Closing in on an initial release of Tart

Talin viridia at gmail.com
Sat Jun 18 22:06:27 PDT 2011


I've been absent from the list for a while due to a number of unexpected
circumstances, including a hard drive failure on my primary desktop machine.
However, the good news is that after 4 years of work, my LLVM-based compiler
is nearing the state where I feel comfortable declaring an official 0.1
release.

The language is called "Tart" and the one line summary is "Tart is to C++ as
Python is to Perl". There's no one big idea that defines Tart, instead there
are hundreds of little ideas, mostly inspired by other languages such as C#,
Python, Scala, and many more. It's intention is to be a general-purpose,
statically-typed language for application developers that are concerned
about performance - I'd like to target computer games and real-time audio
processing as two application areas for which Tart will (eventually) be
well-suited.

Tart's focus is on solving day to day problems with practical solutions,
rather than being an academically "pure" language. It supports a range of
different programming methodologies (OOP, closures, reflection, and template
metaprogramming are some examples), rather than enforcing one particular
vision of software development. At the same time, however, it tries to be
"minimalist", providing a single obvious way of solving the most common
problems, and eliminating language features that don't justify themselves in
terms of improved programmer productivity. To give an example of Tart's
flexibility, all of the core Tart classes - including such fundamental
classes as Object, Array, Exception and String - are written in Tart.

Because this is an 0.1 release, many things are still missing - such as a
complete I/O library. Much documentation still needs to be written. Tart's
garbage collector (which is written in Tart of course!) is not yet capable
of supporting concurrent programming, but there's no serious obstacle that
would prevent it from supporting multiple threads in the future.

Tart currently runs on 64-bit Unix and OS X systems. The compiler and linker
run on 32-bit Linux and OS X systems as well, although there's currently a
bug that causes many of the unit tests to fail. There has been significant
progress made towards getting it running on Windows, but this is still
incomplete. I'd eventually like to get Tart running on small embedded
systems such as Arduino and BeagleBoard.

A working Eclipse plugin for editing Tart source code is available, as is a
TextMate bundle.

Here's where to find more info:

The main project site: http://code.google.com/p/tart/

Developer mailing list: http://groups.google.com/group/tart-dev

Introduction document: http://docs.tart.googlecode.com/hg/intro/index.html

"Taste of tart", an even shorter introduction:
http://code.google.com/p/tart/wiki/TasteOfTart

Generated API docs: http://docs.tart.googlecode.com/hg/api/index.html

Blog: http://machinewords.blogspot.com

I'm open to any suggestions, ideas, patches, or discussion - please join the
tart-dev list if you are interested. (Let's be courteous to the LLVM
developers and not clutter up the llvm-dev mailing list with long
discussions please.)

-- 
-- Talin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110618/223af847/attachment.html>


More information about the llvm-dev mailing list