Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ashmind/SharpLab

.NET language playground
https://github.com/ashmind/SharpLab

Last synced: about 1 month ago
JSON representation

.NET language playground

Lists

README

        

This repository contains source code for https://sharplab.io.

SharpLab is a .NET code playground that shows intermediate steps and results of code compilation.
Some language features are thin wrappers on top of other features -- e.g. `using()` becomes `try/finally`.
SharpLab allows you to see the code as compiler sees it, and get a better understanding of .NET languages.

Recent versions include experimental support for running code, with some limitations.

### Languages

SharpLab supports three source languages:

1. C#
2. Visual Basic
3. F#

Due to complexity of F#'s compiler library, some features might not be available for F#.

### Decompilation/Disassembly

There are currently three targets for decompilation/disassembly:

1. C#
2. IL
3. JIT Asm (Native Asm Code)

Note that VB=>C# disassembly shouldn't be used to convert between languages, as the produced code is intentionally overly verbose.

### Execution

You can use "Run" target to execute your code and see the output.
Execution enables a few nice features such as flow arrows — see here:
https://twitter.com/ashmind/status/894058159223955456.

Execution is intentionally limited, however the limits are continuously improved and corrected.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).