Convert a specific language to Elixir

Is there a way to convert constructs in a specific language to Elixir code ? More specifically I was thinking about how to convert the syntax in this paper to Elixir code.

Please can anybody help ?

It’s a very general question, and you linked to a decent sized paper. I don’t think you can really expect a reply in 15mins…

… but anyway, here goes.

From a very brief glance it looks like an object-oriented language used in the paper. Generally that doesn’t really map too well to Elixir, a functional language and there would almost certainly be no automated conversion.

If you want an answer to a specific question (e.g. please give me some pointers on converting the following algorithm in Java to Elixir ) then you may get a quicker answer.

1 Like

Actually, that it is very much similar to a functional language, which makes use of concurrency, etc… So I think that it it fits pretty good with Elixir.

Well, then, there you have your answer.

More generally, this question is hard to answer, as it is too vague. What do you mean by converting? If you mean “writing a program that does the same thing”, that’s in principle possible with any general purpose programming language, given that you have enough patience. If you mean “transliterating line by line” it might not be.

2 Likes

I mean converting syntax to code to perform the actions required by the presented syntax , executed using Elixir code.

Then I guess the answer is: yes. As of how, that’s a whole other question that requires a deep understanding of the paper.

Thanks a lot. If there are any thoughts on how to actually implement it then feel free to comment.

Sounds like you are looking for some ideas on implementing a transpiler. Here’s one that converts erlang to elixir - probably a little easier as they are conceptually more similar, but it might give you some ideas.

This might also give you some ideas - lexing & parsing a bespoke language in Elixir: https://github.com/fabrik42/writing_an_interpreter_in_elixir

1 Like

Thanks a lot.

1 Like