Skip to content

Esolang-NET/Piet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Esolang.Piet

.NET

Quick Start (Generator)

Write Piet once, call it as a C# method.

using Esolang.Piet;

Console.WriteLine(PietSample.RunToString());

partial class PietSample
{
		[GeneratePietMethod("hello-world.png")]
		public static partial string? RunToString();
}

// output:
// Hello, world!

Add the source image in your project file:

<ItemGroup>
	<PietImage Include="samples\hello-world.png" PietLogicalPath="hello-world.png" />
</ItemGroup>

Generator Guide

For detailed Generator signatures and patterns (string, TextReader, PipeReader, TextWriter, PipeWriter, sync/async returns, byte-sequence returns), see:

For runnable examples including TextReader/PipeReader input, TextWriter/PipeWriter output, and multiple return patterns, see:

Install

dotnet add package Esolang.Piet.Generator
dotnet add package Esolang.Piet.Parser
dotnet add package Esolang.Piet.Processor
dotnet tool install -g dotnet-piet

Choose Package

Want to do Package
Generate C# methods from Piet at compile time Esolang.Piet.Generator
Parse image source into normalized codels Esolang.Piet.Parser
Execute Piet in-process Esolang.Piet.Processor
Run Piet from CLI dotnet-piet

NuGet

Project NuGet Summary
dotnet-piet NuGet: dotnet-piet piet command line utility dotnet-piet command.
Esolang.Piet.Generator NuGet: Esolang.Piet.Generator piet method generator.
Esolang.Piet.Parser NuGet: Esolang.Piet.Parser piet image parser.
Esolang.Piet.Processor NuGet: Esolang.Piet.Processor piet processor.

Framework Support

Project Target frameworks
Esolang.Piet.Generator netstandard2.0
Esolang.Piet.Parser net8.0, net9.0, net10.0, netstandard2.0, netstandard2.1
Esolang.Piet.Processor net8.0, net9.0, net10.0
dotnet-piet net8.0, net9.0, net10.0

Changelog

See also

Note: GIF (.gif) is also supported.

About

A fully‑featured .NET implementation of the Piet esolang, including a high‑performance parser, processor, and source generator.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages