A web-based (r)ead (e)val (p)rint (l)oop (REPL) for the C# language. This tool was created for evaluating LINQ queries/closures on arbitrary data sets, and playing with Roslyn is fun.
To try it out: sharpy.herokuapp.com
To use the API for your own purposes: sharpy.apphb.com
- git
###For the execution service:
- Windows
- .NET Framework 4.5 or higher
- Visual Studio 2012 or higher with Nuget support
###For the web application:
- Node JS (latest)
###Get latest sources
cd path/to/desired/home
git clone [email protected]:wbennett/sharpy.git
- Build solution (solution will automatically pull required packages)
- Navigate to target directory
- Run with desired options
cd (project directory)/sharpy/bin/Release/
#yay server is now running
./sharpy -s http://localhost:4001/
The web service is running in apphost mode, ready to accept requests.
- Get latest packages using
npm
- Configure the settings to point where the Execution Service is running.
- Run web application with node
cd (project directory)/SharpNet.Presentation/sharpy
# need to edit (project directory)/config/environment.js to point to the web service
npm update
node app.js
##Usage ####(after execution service and web application are running)
-
Go to http://localhost:4000/
-
Use the help to show some more features
-
Assign variables
-
Offend the compiler
-
Try doing something silly
-
Create an arbitrary collection
-
Do something LINQy with the collection
-
Create a complex type
- Package everything nicely
- Make portable with mono (roslyn is open source)
- syntax highlighting
- tab completion
- syntax completion
- semantic completion
- support re-sharper (JK :P )
- Web Framework: geddyjs.org
- Compiler Framework: Roslyn
- jQuery terminal plugin: jq-console
- Service Framework: ServiceStack