RCaron.LibrarySourceGenerator.Attributes 0.1.1

dotnet add package RCaron.LibrarySourceGenerator.Attributes --version 0.1.1                
NuGet\Install-Package RCaron.LibrarySourceGenerator.Attributes -Version 0.1.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RCaron.LibrarySourceGenerator.Attributes" Version="0.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RCaron.LibrarySourceGenerator.Attributes --version 0.1.1                
#r "nuget: RCaron.LibrarySourceGenerator.Attributes, 0.1.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RCaron.LibrarySourceGenerator.Attributes as a Cake Addin
#addin nuget:?package=RCaron.LibrarySourceGenerator.Attributes&version=0.1.1

// Install RCaron.LibrarySourceGenerator.Attributes as a Cake Tool
#tool nuget:?package=RCaron.LibrarySourceGenerator.Attributes&version=0.1.1                

RCaron

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'

Getting started

See the documentation site.

Getting help

Try to find if anything on rcaron.jan0660.dev helps you.

You can start a new GitHub discussion.

Structure of this repository

This repository contains the following projects:

  • RCaron: The language itself
  • RCaron.Shell: The RCaron shell
  • RCaron.LibrarySourceGenerator: A source generator for creating libraries
  • RCaron.LibrarySourceGenerator.Attributes: Attributes for the source generator
  • RCaron.AutoCompletion: Auto completion that powers the language server and the shell
  • RCaron.LanguageServer: A Language Server Protocol implementation
  • RCaron.Tests: Unit tests
  • RCaron.FunLibrary: Experimental stuff
  • RCaron.Benchmarks: Just a basic benchmark for checking between language versions
  • RCaron.Jit: An expression tree compiler for the language, allowing for faster execution at the cost of a slower "dry" run
  • RCaron.Jit.Tests: Unit tests for the JIT (uses RCaron.Tests)
  • RCaron.Testing: Just some testing stuff
  • Rcaron.Cli: A basic command line interface, this is not the main RCaron experience
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on RCaron.LibrarySourceGenerator.Attributes:

Package Downloads
RCaron.LibrarySourceGenerator

Source generator for creating RCaron modules.

RCaron.AutoCompletion

Library for RCaron autocompletion.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.1 158 8/12/2024
0.1.0 287 4/28/2023
0.1.0-preview1 215 4/24/2023