Erlang 1.0.0

Additional Details

This was an elaborate April Fools joke, and whilst the code *does work*, if you want to play, then pull it off Github and do it from there, it is not to be used in any serious capacity.

dotnet add package Erlang --version 1.0.0                
NuGet\Install-Package Erlang -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Erlang" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Erlang --version 1.0.0                
#r "nuget: Erlang, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Erlang as a Cake Addin
#addin nuget:?package=Erlang&version=1.0.0

// Install Erlang as a Cake Tool
#tool nuget:?package=Erlang&version=1.0.0                

Erlang.NET

Hosting .NET code in the Erlang VM? Sure can do!

Getting started

In dotnet

Create a dotnet library project using .NET 5.0, and add a reference to the package 'Erlang' (Found on Nuget).

dotnet add package Erlang --version 1.0.0

Define an entry point for your Erlang Application, the simplest one would be a single function returning a single value.

  using Erlang;

namespace Acme {
  public class HelloWorld : IApp {
    public Object Start() {
      return "Hello World";
    }
  }
}

In Erlang

  • Add erlang.net to your rebar.config, master will do just fine
{deps, [
  {dotnet, {git, "http://github.com/robashton/erlang.net", {branch, "master"}}},
]}.

  • Add 'dotnet' to the list of applications to start in your app.src
  {applications, [
                  kernel,
                  stdlib,
                  dotnet
                 ]},

And now, from Erlang, we can invoke that application by writing the following line of code

  { ok, Result } = dotnet:run_app_from_assembly("path/to/MyAssembly.dll", "Acme.HelloWorld");
  io:format(user, "Result: ~p~n", [ Result ]);
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.