Live data from Hacker News

Umka: A statically typed embeddable scripting language

github.com

1–10 of 22 posts

Re: Umka: A statically typed embeddable scripting language

#2
This is great as a research project, but if I needed something like this to be embedded in an existing project, I'd just go with Yaegi [1] instead of going with something that is similar to golang, but not. Having all the golang ecosystem and tooling is a huge advantage as well.

[1] https://github.com/traefik/yaegi

Re: Umka: A statically typed embeddable scripting language

#3
post #2

This is great as a research project, but if I needed something like this to be embedded in an existing project, I'd just go with Yaegi [1] instead of going with something that is similar to golang, but not. Having all the golang ecosystem and tooling is a huge advantage as well. [1] https://github.com/traefik/yaegi

Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be.

Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples....

Yaegi and Umka are two different things.

Edit: of course you can have a golang program that uses yaegi to execute your arbitrary script, and call into it this msin program from C. But how effective is it?

Re: Umka: A statically typed embeddable scripting language

#5
post #2

This is great as a research project, but if I needed something like this to be embedded in an existing project, I'd just go with Yaegi [1] instead of going with something that is similar to golang, but not. Having all the golang ecosystem and tooling is a huge advantage as well. [1] https://github.com/traefik/yaegi

Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be. Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples... . Yaegi and Umka are two different things. Edit: of course you can have a gola…

> Yaegi and Umka are two different things.

From the looks of it not really. They're language implementations designed for embedded use. The only difference in design is that Umka is in C and Yaegi is in Go.

But yes it's true that it's easier to call into C libraries than it is to call into Go libraries. But you can call into Go libraries from other languages.

Re: Umka: A statically typed embeddable scripting language

#6

Earlier quoted context omitted.

Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be. Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples... . Yaegi and Umka are two different things. Edit: of course you can have a gola…

> Yaegi and Umka are two different things. From the looks of it not really. They're language implementations designed for embedded use. The only difference in design is that Umka is in C and Yaegi is in Go. But yes it's true that it's easier to call into C libraries than it is to call into Go libraries. But you can call into Go libraries from other languages.

> But you can call into Go libraries from other languages.

Yes. But it’s far from “embedded”. You can compile golang to a shared library. But that’s still far from “embedded”. Hence my question: how practical is it, really.

Re: Umka: A statically typed embeddable scripting language

#7
post #2

This is great as a research project, but if I needed something like this to be embedded in an existing project, I'd just go with Yaegi [1] instead of going with something that is similar to golang, but not. Having all the golang ecosystem and tooling is a huge advantage as well. [1] https://github.com/traefik/yaegi

> Having all the golang ecosystem and tooling is a huge advantage as well.

I can see that as currently the umka tooling is pretty lacking.

Re: Umka: A statically typed embeddable scripting language

#8
post #2

This is great as a research project, but if I needed something like this to be embedded in an existing project, I'd just go with Yaegi [1] instead of going with something that is similar to golang, but not. Having all the golang ecosystem and tooling is a huge advantage as well. [1] https://github.com/traefik/yaegi

Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be. Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples... . Yaegi and Umka are two different things. Edit: of course you can have a gola…

Yaegi has a cli and repl [1].

[1] https://github.com/traefik/yaegi#as-a-command-line-interpret...

Re: Umka: A statically typed embeddable scripting language

#9
post #8

Earlier quoted context omitted.

Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be. Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples... . Yaegi and Umka are two different things. Edit: of course you can have a gola…

Yaegi has a cli and repl [1]. [1] https://github.com/traefik/yaegi#as-a-command-line-interpret...

Yes. And? It’s not like you’d embed that in a C program.

Yaegi was built with a very narrow use case: golang plugins for Traefik proxy. It’s a golang library for evaluating golang code. That’s it. You can go through the hoops of calling from C into a golang program that then evals some other golang code via Yaegi but that’s probably not going to be the most efficient way of doing it and it’s far from embedded. So yeah, if you have an existing golang program and needs scripts with everything what golang offers, go for Yaegi.

Umka solves a different problem.

Re: Umka: A statically typed embeddable scripting language

#10
post #8

Earlier quoted context omitted.

Yaegi has a cli and repl [1]. [1] https://github.com/traefik/yaegi#as-a-command-line-interpret...

Yes. And? It’s not like you’d embed that in a C program. Yaegi was built with a very narrow use case: golang plugins for Traefik proxy. It’s a golang library for evaluating golang code. That’s it. You can go through the hoops of calling from C into a golang program that then evals some other golang code via Yaegi but that’s probably not going to be the most efficient way of doing it and it’s far from embedded. So yea…

> Umka solves a different problem.

And my point is that I don't get what problem a golang-like language that can be called from c solves exactly. Why not just write the code in c?

If you aren't going to write in c, then you might as well write in golang or rust or some other higher level language that has a whole suite of tooling, supporting libraries, documentation, community and ide support. If the end benefit is just some scripting language... heck... what's wrong with a system() call to bash?

Like I said, neat research project, but if I came into a company to work on a project and this was tossed in my lap, I'd probably walk away.

Post reply on HN