A .NET shell and scripting language. It is currently unusable as a shell, a little usable as a scripting language. You can also call it ř or Ř.
Documentation for the language is available at rcaron.jan0660.dev.
A simple number guessing game currently looks like this:
// we "open" a .NET namespace with open
open 'System'
// to use a .NET type we start it's name with a '#' and then access it's members with ':'
// from there we access the members of a variable, property or whatever with '.'
// variables don't have to be declared
$number = #Random:Shared.Next(1, 10000)
print 'Guess a number between 1 and 10000'
// 'loop' is a loop that can be exited with 'break'
loop {
#Console:Write('Your guess: ')
$guess = #Int32:Parse(#Console:ReadLine())
// 'print' is a built-in function that prints arguments to the console with a space between them
print 'You guessed:' $guess
// operators look normal
if ($guess < $number) {
print 'Too low'
}
else if ($guess > $number) {
print 'Too high'
}
else {
print 'You guessed it!'
break
}
}
print 'congrats'
Try to find if anything on rcaron.jan0660.dev helps you.
You can start a new GitHub discussion.
This repository contains the following projects:
RCaron
: The language itselfRCaron.Shell
: The RCaron shellRCaron.LibrarySourceGenerator
: A source generator for creating librariesRCaron.LibrarySourceGenerator.Attributes
: Attributes for the source generatorRCaron.AutoCompletion
: Auto completion that powers the language server and the shellRCaron.LanguageServer
: A Language Server Protocol implementationRCaron.Tests
: Unit testsRCaron.FunLibrary
: Experimental stuffRCaron.Benchmarks
: Just a basic benchmark for checking between language versionsRCaron.Jit
: An expression tree compiler for the language, allowing for faster execution at the cost of a slower "dry" runRCaron.Jit.Tests
: Unit tests for the JIT (usesRCaron.Tests
)RCaron.Testing
: Just some testing stuffRcaron.Cli
: A basic command line interface, this is not the main RCaron experience