Live data from Hacker News

Helvetia – A lightweight approach to embed new languages into the host language

scg.unibe.ch

21–30 of 32 posts

Re: Helvetia – A lightweight approach to embed new languages into the host language

#21
post #20

Earlier quoted context omitted.

We decided on the name because in Switzerland there are 4 official languages spoken and written; but all the infrastructure is shared (the promise of the tool). Helvetia is an alternate name for Switzerland: https://en.wikipedia.org/wiki/Name_of_Switzerland#Helvetia .

With regard to the product, it could be a hint at mercenary times. Once upon a time it was possible for any army to employ Swiss mercenaries in their rows. Not that I, as an engineer, approve that it's generally a good idea to unite more technologies than absolutely necessary in the same project.

Oh wait, "languages" in the title are natural languages!

I haven't realized that typing the above comment. :D

Re: Helvetia – A lightweight approach to embed new languages into the host language

#22
post #19
post #7

I am the author of Helvetia, feel free to ask me anything!

Can you add a link to a downloadable pdf of the presentation? The js thingy doesn't seem to work on most browsers :/

https://www.lukas-renggli.ch/dropbox/embedding-languages.pdf is a direct link to the presentation, but the slides might be hard to understand by themselves. https://www.youtube.com/watch?v=KXPv7vRb9jg is the video of the thesis presentation and http://scg.unibe.ch/archive/phd/renggli-phd.pdf is the thesis document itself.

Re: Helvetia – A lightweight approach to embed new languages into the host language

#24

Earlier quoted context omitted.

How did you decide on the name? I feel like it’s interesting but too easily confused with Helvetica, which could get annoying

We decided on the name because in Switzerland there are 4 official languages spoken and written; but all the infrastructure is shared (the promise of the tool). Helvetia is an alternate name for Switzerland: https://en.wikipedia.org/wiki/Name_of_Switzerland#Helvetia .

Asking as someone with a very shallow familiarity with Scandinavian languages: is there any connection to the Norwegian 'helvete', often translated to English as 'Hell'?

EDIT: Adding this since I found it after asking https://en.wikipedia.org/wiki/Talk%3AHell,_Norway

Answer seems to be "probably not"

Re: Helvetia – A lightweight approach to embed new languages into the host language

#25
post #7

I am the author of Helvetia, feel free to ask me anything!

One of the most productive periods of my life was in the late 90s writing C++ code and being able to embed an optimized asm block in the middle of the code when high performance was needed for blitters (note the Output Operands and Input Operands sections):

https://wiki.osdev.org/Inline_Assembly

The power of this is that the compiler did the work of connecting variables from the two environments so we didn't have to write glue code.

There have been countless times where I've thought to myself "this would be trivial in another language". Can you write some kind of general purpose "embedder" that lets us use Javascript in C++, or PHP in Javascript even (PHP is simultaneously the best and worst language I've ever used). Maybe Swift or Kotlin or even Rust in Javascript. Stuff like that?

Re: Helvetia – A lightweight approach to embed new languages into the host language

#28
post #7

I am the author of Helvetia, feel free to ask me anything!

One of the most productive periods of my life was in the late 90s writing C++ code and being able to embed an optimized asm block in the middle of the code when high performance was needed for blitters (note the Output Operands and Input Operands sections): https://wiki.osdev.org/Inline_Assembly The power of this is that the compiler did the work of connecting variables from the two environments so we didn't have to…

Yeah, had a similar experience with Turbo Pascal: it was a really cool to mix Pascal and assembler methods in the same file. Tools (debugger) were kind of broken though. In my thesis I propose to model the different languages as first-class elements that can be imported like a library and that do not only affect the compiler but also all other developer tools like syntax highlighting, formatters, auto-completion, debuggers, data viewers, etc.

Re: Helvetia – A lightweight approach to embed new languages into the host language

#29
post #27
post #7

I am the author of Helvetia, feel free to ask me anything!

Any thoughts on OMeta? Or do you consider it to be completely different in terms of goals?

OMeta is great to develop programming languages and I took some inspiration from it. At the time though, it did not allow dynamic language composition and did not have integration with developer tools. Though, I believe that some of these things could well be built on top of OMeta.

Re: Helvetia – A lightweight approach to embed new languages into the host language

#30

Earlier quoted context omitted.

Sorry, I am no longer working at the university that is hosting the content. Please look at the cached site: http://webcache.googleusercontent.com/search?q=cache:6rmlBNh...

Did they take it down since OP posted the link?

No, looks like there are too many people trying to access the site at the same time :-)
Post reply on HN