31 comments

[ 2.6 ms ] story [ 69.3 ms ] thread
Do I understand corectly that this is mostly about syntax transformation? Wouldn't that be quite error-prone or inefficient due to subtle or not so subtle differences between languages?
I suspect that's why there are three paths to take - but I think hearing the explanation that it comes along with would help a lot to clarify things.

EDIT: I found this YouTube video from 2011 - and the source code has not been updated since 2012. I wonder if there are any newer projects inspired by it?

https://www.youtube.com/watch?v=EuQ73eYum14

Swiss, and their original naming of things :D
"Helvetia" is how I pronounced Helvetica for a long time as a kid, until someone pointed out to me that there was a c in there.
Agree here. People are very proud, national symbols everywhere, local dialects thrive. So why not!
I am the author of Helvetia, feel free to ask me anything!
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.
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

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"

"Helvete" comes from Old Norse helvíti, a combination of hel (death, also the land of the dead and the goddess Hel) + víti (punishment).
how can this be applied to other languages?
Maybe you want to fix your server, it is down. https://downforeveryoneorjustme.com/scg.unibe.ch
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?

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.
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.
This is relevant to the rabbit hole I have been going down this afternoon. Time to see if these two can be combined.

Like many other scripting languages, Web Prolog lacks some of the capabilities of general purpose programming languages, such as file I/O, access to the OS and a foreign language interface, but since a Prolog Web node is implemented on top of a general purpose programming language it should be straightforward to delegate the need for such operations to this language. A programmer wishing to implement an application that needs to perform e.g. file I/O needs to be knowledgeable in the host language. For some nodes, it probably makes sense to offer an interface between Web Prolog and the host language. In the case of SWI-Prolog, such an interface is obviously already there.

Torbj¨orn Lager (2018, June 18). Web Prolog and the Programmable Web. Retrieved from: https://github.com/Web-Prolog/swi-web-prolog/raw/master/book...