https://github.com/ashmind/SharpLab
.NET language playground
https://github.com/ashmind/SharpLab
Last synced: 29 days ago
JSON representation
.NET language playground
- Host: GitHub
- URL: https://github.com/ashmind/SharpLab
- Owner: ashmind
- License: bsd-2-clause
- Created: 2014-04-07T13:54:07.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2024-06-05T12:39:43.000Z (10 months ago)
- Last Synced: 2024-10-29T15:10:47.097Z (6 months ago)
- Language: C#
- Homepage: https://sharplab.io
- Size: 12.7 MB
- Stars: 2,713
- Watchers: 43
- Forks: 198
- Open Issues: 479
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-starred-test - ashmind/SharpLab - .NET language playground (C# #)
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).