7 ms·
Show HN: Teal – a serverless VM and programming language
- mfateev 6y agoLook 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.
- smaddox 6y agoLooks like a very promising alternative to things like Apache Airflow.
- mfateev 6y agoLook at temporal.io. Many of the companies use it to replace Airflow. Disclaimer: I'm tech lead of the project.
- rmhsilva 6y agoGreat 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/).
- rmhsilva 6y agoHey 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?
- mshockwave 6y agoCool project! But what is the killer feature of this language? I'm aware that it's kind of DSL for serverless environment, but a DSL without outstanding features over other languages won't attract much attention IMAO. For instance from the example put on the front page I didn't feel it much cleaner / shorter to write serverless app using this language over Python or Node.js. If it's performance, do you have any numbers to support it?
- rmhsilva 6y agoThe killer feature isn't the language; it's the virtual machine abstraction, which lets us stop thinking about the underlying infrastructure and therefore build stuff faster and have simple performance/observability/cost metrics (because the application logic is fully and formally described, rather than spread across many services/infrastructure). Does that explanation make sense? From a dev point of view, it's this: The ability to take business-logic "units" in Python, and quickly connect them into larger programs/workflows that run on Lambda. So the language features aren't particularly interesting - it's not meant to replace Python. But it can do things that are hard/awkward using just Python.
- gitgud 6y agoReally 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!
- pull_my_finger 6y agoThere 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 6y agoIf 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 6y agoYou're totally right. It's much easier to name something without thinking about it - my bad!
- rmhsilva 6y agoYeah - my bad - will rename this week.
- scott31 6y ago> 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