<div dir="ltr"><div>
I created Pyrlang.

</div><div>Pyrlang implements Erlang network node over TCP 
in Python, it supports OTP 23 last time i checked (other people contributed and made it work).</div><div>Yes probably the best way to access all features of a running Erlang node from another language would be to implement a network node in your language.<br></div><div><br></div><div>Erlport runs as an Erlang port, i.e. standard input/output with a spawned process. This is very different from Pyrlang, also ports may be slow for transferring large data and the transfer can only happen in one stream, but nevertheless it is a valid way to communicate.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 18 Dec 2020 at 12:40, L yrosgi <<a href="mailto:absente@live.cn">absente@live.cn</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div style="overflow-wrap: break-word;" lang="ZH-CN">
<div class="gmail-m_7322907854425652248WordSection1">
<p class="MsoNormal"><span lang="EN-US">For example, if I made a stand-alone programming language named Overlang, then I want:<u></u><u></u></span></p>
<p class="gmail-m_7322907854425652248MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US"><span>1.<span style="font:7pt "Times New Roman"">     
</span></span></span><u></u><span lang="EN-US">the ability that can send a message to an Erlang process and get the result back into the Overlang side<u></u><u></u></span></p>
<p class="gmail-m_7322907854425652248MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US"><span>2.<span style="font:7pt "Times New Roman"">     
</span></span></span><u></u><span lang="EN-US">realtime monitoring for the Erlang VM node<u></u><u></u></span></p>
<p class="gmail-m_7322907854425652248MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US"><span>3.<span style="font:7pt "Times New Roman"">     
</span></span></span><u></u><span lang="EN-US">RPC call <=> erlang function<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">As an Erlang newbie, I have not a complete idea of how should I implement these features. Currently, I just found something like the Pyrlang and the Erlport. They used someway like the EPMD and the Erlang port protocol
 (I am not sure whether they using the same erlang technology so that I pointed out both). However, both of them start from older OTP versions (like OTP 19 in 2016) and the Erlport seems stopped years ago. So I am not sure is it appropriate to use the two projects
 for reference. <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">// Considered the Overlang as a new project, this time we only use the Erlang VM with the OTP version >= 23.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The problem can be summarized in short:<u></u><u></u></span></p>
<p class="gmail-m_7322907854425652248MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US"><span>1.<span style="font:7pt "Times New Roman"">     
</span></span></span><u></u><span lang="EN-US">The way that the Pyrlang or the Erlport used whether the best practice to interop the Erlang VM from the outside<u></u><u></u></span></p>
<p class="gmail-m_7322907854425652248MsoListParagraph" style="margin-left:18pt">
<u></u><span lang="EN-US"><span>2.<span style="font:7pt "Times New Roman"">     
</span></span></span><u></u><span lang="EN-US">If the [EPMD/Erlang port protocol] is the most appropriate way in the past, are there any important changes since the OTP 19?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">L.<u></u><u></u></span></p>
</div>
</div>

</blockquote></div>