Tomo: A statically typed, imperative language that cross-compiles to C [video]
by evakhoury on 1/29/2026, 7:20:15 PM
https://www.youtube.com/watch?v=-vGE0I8RPcc
Comments
by: wavemode
One thing I dislike about the syntax of Tomo is that the return type is annotated inside the parentheses. e.g. this function returns Text:<p><pre><code> func greeting(name:Text, add_exclamation:Bool -> Text)</code></pre>
2/2/2026, 10:50:47 PM
by: president_zippy
Interesting project and all, but why does everybody out to make their own compiled language want to get away from the basic syntax of C so badly? Rust and Golang are the poster children of this, but it seems like every other language implementer feels the same way on matters which are of 99% personal taste and 1% functionality.<p>This is just one microcosm of the general pattern I'm picking on here, but what's up with this obsession with scoping via indentation like Python? It's true that it looks a little more like a todo list someone would write on a sticky note, but I don't think C syntax is the hard part of systems programming or video game programming, which is what the creator of the Tomo language does.<p>It just seems like these kind of design choices needlessly add a barrier to entry for people who want to climb aboard.<p>Then again one must of necessity, have a ferocious "Not Invented Here" streak to go through all the trouble of inventing a new programming language in 2025.
2/2/2026, 10:08:05 PM
by: renox
It's a minor detail but list starting at 1, with -1 being the last élément and 0 being 'none' is weird.. Why did you make this choice instead of 0 for the first élément, -1 for the last one? It would avoid the 0 'trap'.
2/2/2026, 10:44:05 PM
by: jll29
It's a very clever aspiration to devise a new language not as something you hope everyone is going to switch to, but, as the OP states more of a test-bed to demonstrate a bunch of nice features, which you hope other people (that implement mainstream languages) will borrow/steal/copy. For instance, I very much appreciate the automatic parsing of command line arguments (and beyond just strings), which I hope the Rust folks will take over one day. Who would not like to skip all the boiler plate writing, but still offer decent cmd line options? For that reason, I will not compare the current Tomo feature set with any other language (as many other commenters do). But I will say that 150 lines for a complete terminal "snakes" game is pretty cool!<p>It's also smart to facilitate integration with C or other languages that have an abundance of libraries, because it's unlikely that you will create the momentum to rewrite everything in your facorite baby language.
2/2/2026, 7:45:30 PM
by: tines
I like the effort, but this<p>> No polymorphism, generics<p>makes it DOA for me. Also the fact that this is a GC language makes it feel like it's aiming at higher level applications than C.
2/2/2026, 7:06:12 PM
by: az09mugen
TLDW; For those interested in the syntax, here the repo with some examples : <a href="https://github.com/bruce-hill/tomo" rel="nofollow">https://github.com/bruce-hill/tomo</a>
1/31/2026, 11:37:41 AM
by: taylorallred
I like the goals of this language a lot and I've wished something with these goals already existed. But, I'm not sure if this syntax/approach is quite what I want. Really cool project, though!
2/2/2026, 9:02:08 PM
by: az09mugen
Well thought language, I like the concepts.
1/31/2026, 11:46:55 AM
by: IshKebab
Looks like a neat little language. I didn't see anything especially novel that other languages would want to steal though. The CLI parsing stuff is very similar to Typer, or clap_derive. Arbitrary precision integers are in Python (though I wish more scripting languages would do this too). Zig has great C interop.<p>I wish it was an embeddable language like Lua though - there are a gazillion languages that are similar to this that you can use for non-embeddable cases... But there are very very few statically typed embeddable scripting languages. The only ones I know of are Gluon, which leans waaaay too far into the obscure functional stuff for a scripting language... and AngelScript which is just a bit too ancient and Javaesque for me.
2/2/2026, 7:49:38 PM
by: netbioserror
The feature list here has significant overlap with Nim. Maybe we need a website that categorizes languages with feature tags, so we can visualize the overlap!
2/2/2026, 7:09:31 PM