
Show HN: Teal – a serverless VM and programming language - rmhsilva
https://www.condense9.com/
======
rmhsilva
Hey HN! This is what I've been working on for the last 6 months. I'd love your
feedback!

The current goal is to build data pipelines really fast and operate them
really well, but I'm also interested to see how far the VM abstraction can be
pushed. What would "soft infrastructure" look like?

~~~
gitgud
Really cool idea! My only notes would be it's not clear at first glance what
this language provides.

A _serverless language_ doesn't really explain what it is, I mean JS, Python,
Java etc.. all run in serverless environments.

But after reading more it seems similar to Erlang, as each function can be
deployed to other systems and invoked as if it were a local function... <\-
this is what you want to emphasise.

I would suggest adding a graphical flow chart on how this works (maybe like
this [https://i.imgur.com/fJHyJni.png](https://i.imgur.com/fJHyJni.png)).
Perhaps a comparison of how regular programs invoke functions, compared to how
Teal invokes functions (showing scalability and parallel computing).

> _" Why should I learn a new language?... Because it'll give you a new way to
> think about cloud software."_

This is not a good reason. If you want people to learn a random language, you
need to demonstrate the reasons _why_ it's better! At first glance it seems
crazy to have no interoperability with another language/package manager.

Anyway, sorry if I sound critical, I think there's real potential in this idea
and am excited to see more development for Teal!

~~~
rmhsilva
Thanks, that's great feedback!

\- "serverless language". Fair point; I'm still working on how to describe it.
I'm trying to get across the idea that it's a language for describing
serverless applications (rather than a language that runs _in_ a serverless
env).

\- flow charts: working on it

\- new language: you're right, that section is pretty cringy

~~~
mncharity
There's a current lobsters thread on language rationales[1], and HN thread on
Racket's new website[2].

[1]
[https://lobste.rs/s/6bphbw/fennel_programming_language_ratio...](https://lobste.rs/s/6bphbw/fennel_programming_language_rationale)
[2]
[https://news.ycombinator.com/item?id=24285767](https://news.ycombinator.com/item?id=24285767)

~~~
rmhsilva
Those are great, thanks for sharing.

------
pull_my_finger
There is actually another language going by that name currently[1]. It's a
typed version of Lua. Typed Lua -> TL -> Teal.

[1] - [https://github.com/teal-language/tl](https://github.com/teal-
language/tl)

~~~
gary_0
If you're naming something public, you gotta Google it first. This should be
common sense nowadays. Searching for "teal language" brings up the Typed Lua
one, _and_ a domain-specific language. So the name is taken twice already.

~~~
rmhsilva
You're totally right. It's much easier to name something without thinking
about it - my bad!

------
smaddox
Looks like a very promising alternative to things like Apache Airflow.

~~~
rmhsilva
Great to hear you think so -- that's exactly where it's aimed. I'd love to
chat more if you're free some time
([https://www.linkedin.com/in/rmhsilva/](https://www.linkedin.com/in/rmhsilva/)).

------
mfateev
Look at temporal.io. It already implements the same idea, but without
requiring a new programming language. You can write workflows in Python, Go
and Java and soon many other languages.

It doesn't even require await/async style programming. You can make a
synchronous call which can take a few days to complete without any problems.
And in case of any failures the state of all threads and local variables is
automatically restored.

~~~
jslakro
Actually, from documentation it seems the project has a focus only in java and
Go

~~~
mfateev
Ruby, Python and .NET are being contributed by the community.

------
scott31
> Right now, Teal can call Python functions directly. There are plans to
> support Javascript, and possibly other languages (C/C++, etc).

Just remove the second sentence, it is just fluff and reduces user trust. Your
'plans' don't mean anything to me as a user

~~~
rmhsilva
One of the FAQs is - can I use it with JS? Does including this sentence not
demonstrate the intention to serve a community wider than just Python?

~~~
samatman
Better to underpromise, and overdeliver, than vice versa.

~~~
rmhsilva
Fair point.

