⚠️ UNDER DEVELOPMENT 〜 HANDLE WITH CARE
Howl is a symbolic notation engine. Currently, Howl enables C# development using the Cosmo notation.
C# conversion:
bool IsEscapedDoubleQuoteInString(string x, int i){
if (suffix != "\"" || x[i] != '"') return false;
bool esc = false;
while (--i > 0){
if (x[i] != '\\') break;
else esc = !esc;
}
return esc;
}
This repository comprehends the core library and the command line interface (CLI). If you are looking for the Unity 3D integration, visit active-logic/uta.
Howl is free for personal use. Over one seat, enterprise users owe a cup of joe, payable on ko-fi.
Howl is fair source. Read the terms.
export
command is intended for build pipelines.The CLI is a work in progress. Feedback is desired, and improvements are inevitable.
.Net Core 3.1 is a prerequisite (Linux: will be installed if not present)
MacOS/Linux (you may be prompted for your admin/user password)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/active-logic/howl/master/setup)"
Running Docker? Start with apt-get update -qq && apt-get install -qq curl
Windows (run as administrator)
. { iwr -useb https://raw.githubusercontent.com/active-logic/howl/master/setup.ps1 } | iex
Atom and the language-howl extension are used to edit Howl sources.
Typing Howl source is via snippets. Mostly, said snippets appear as you type regular C#; exceptions are listed here.
Assume a SRC
directory containing *.howl source files. Then...
howl export SRC DST
...shall generate *.cs sources; directory structure is preserved; the content of DST
(if any) is fully overwritten.
Generally, the CLI assumes the following structure:
PROJECT/
src/
Greetings.howl
...
test/
While PROJECT
may be anything you like, most commands assume src
and test
.
A greetings program:
○ Greetings{
∘ ┈ Main(ㄹ[] args){
🐰 "Hi there";
}
}
With Atom and language-howl, notations are availed via literate snippets (type class
→ get ○
).
A few commands you may run:
cd PROJECT
howl run . # build and run a console application
howl test . # run tests (via NUnit)
howl publish . # generate an executable.
Want the full list? Try howl