Skip to content
Maxime edited this page Mar 30, 2022 · 9 revisions

Welcome to the Catrina wiki!

This wiki is split into a few parts:

Getting Started

Tooling

Releases

You can grab the executable in the releases section of this repo, or use the gh cli tool to download it.

gh release download --repo HiiGHoVuTi/Catrina --pattern "*linux*"

replace linux with windows or macos if needed

you might need to chmod +x the file

Manual Building

You can build the rina executable on any system supporting either cabal or nix. First, clone the project from the home repo

git clone https://github.com/HiiGHoVuTi/Catrina
cd Catrina

Nix

Nix will take care of any requirement you might need !

nix-build

You will find the executable in ./result/bin/rina/, you can now add it wherever you want. You can also install it on the system:

nix-build -i

Cabal

Cabal can install the executable for you, and will most likely work too.

cabal install

Editor support

For now, editor support is very limited, but we will work on a language server at some point.

Vim

In ./tools/vim there is a syntax file you can add to your ~/.vim/syntax / ~/.config/nvim/syntax that gives you syntax highlighting with set syntax=rina.

Using the REPL

with the rina executable in path, you can use the REPL (comes with prettier colours):

$ rina repl
Rina> "hello world !"
"hello world !"
Rina> 1 + 1
2
Rina> { name = "Catrina", last_name = unknown. }
{ last_name = unknown., name = "Catrina" }
Rina> { name = "Catrina", feeling = "love" } .feeling
"love"
Rina> :q
Thanks for using Rina 

Interpreting files

rina can interpret (and soon compile) files ending in .rina.

$ echo "ar Base main : {} -> {} = \"Hello from rina !\" stdout" > main.rina
$ rina interpret main.rina
"Hello from rina !"

Cheatsheet

In case you forget some elements of the syntax of language patterns, we made you a cheatsheet

Tour

Here's a small language tour if you want to catch up to speed.

Documentation

The documentation for the catrina standard library will appear as it is made !

News

January 2022

This is a new start for Catrina ! The language is born recently and basic features are being added.

  • Primitives
  • Sum and Products
  • a REPL and interpreter

learn more about the basics on the tour