Rohansi / Mond

A scripting language for .NET Core

Home Page:https://mond.rohan.dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mond Logo

Features

Trying it

You can try it in your browser!

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

Build status

About

A scripting language for .NET Core

https://mond.rohan.dev/

License:MIT License


Languages

Language:C# 68.1%Language:JavaScript 27.8%Language:TypeScript 2.5%Language:CSS 1.1%Language:HTML 0.4%