Skip to content

SirTony/Mond

 
 

Repository files navigation

Mond Logo

Features

Trying it

You can try it in your browser! If you're interested, the backend code for that website is available here.

The Mond REPL in action

Alternatively, the Mond REPL is available as a dotnet tool:

dotnet tool install -g Mond.Repl

Example

const Seq = require("Seq.mnd");

const randomApi =
    "https://www.random.org/decimal-fractions/?num=1&dec=9&col=1&format=plain";

Async.start(seq() {
    // concurrently request for 10 random numbers
    var numberTasks = Seq.range(0, 10)
        |> Seq.select(() -> Http.getAsync(randomApi))
        |> Seq.toArray();

    // wait for all the requests to finish
    var numbers = yield Task.whenAll(numberTasks);

    // parse and sum the numbers
    var total = numbers
        |> Seq.select(s -> Json.deserialize(s))
        |> Seq.aggregate(0, (acc, n) -> acc + n);
        
    printLn("average = {0}".format(total / 10));
});

Async.runToCompletion();

Install

Mond is available on NuGet. To install it, use the following command in the Package Manager Console.

PM> Install-Package Mond

The remote debugger is also available on NuGet.

PM> Install-Package Mond.RemoteDebugger

Syntax highlighting and debugging functionality is provided in Visual Studio Code with the Mond VSCode extension.

Documentation

Please check the wiki for documentation.

Build Status

.NET Mono
Build status Build Status

About

A scripting language for .NET

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.2%
  • TypeScript 3.6%
  • JavaScript 0.2%