Localized programming language Citrine

Citrine-lang is an open source research project focusing on localized programming for schools.







Download Citrine

How does it work?

HINT: New to programming in general? Check out the Citrine Manual for beginners and experienced programmers.


1. Sentences
Citrine reads programs from top to bottom, from the beginning of a sentence to the end. Each sentence ends with a period.

2. Variables
This is how you declare a variable in Citrine:

>> abc := 123.

3. Messages
You create a program by sending messages to objects (numbers, texts, booleans, sequences, etc.). The general notation is:

<object> <message>.

If the message has arguments, you mix them with the message as follows:

<object> <a>: <argument 1> <b>: <argument 2>

Here, a and b are both part of the same message. If a message consists of just a single character and there is also just one single argument (like with '+ 3') you may omit the colon.

4. Commas
You can chain multiple messages together. If a message has arguments, you must add a comma (,) if you want to send a follow-up message.

5. Tasks
You can group instructions by surrounding them with { and }. This creates a task. You can also send messages to tasks. For example you can send the message '* 3' to repeat a task 3 times.

{ :i ... } * 3.

At the beginning of the task you can add parameters (:i). With <- you return a response from a task. You can extend any object with new tasks by connecting them to a spefic message.

Cover of manual This guide is suitable for both beginners and advanced. Learn programming in a playful way with Citrine!

 

Manual | API

FAQ | Source code

 

How to help translating

Is your native language not yet supported? Or do you see some errors in the translations? Feel free to help us! If you translate the two header files in the tarball below, I will release a new version of Citrine in your language. Download the Citrine translation C-header files.

header files

There is a separate translation form available for the Media Plugin: Translation Kit Media Plugin or on github.

STEP 2: Open the translation files with a plain text editor, replace the English words between the double quotes with your translation.

editor

Notes:

- every translation must be unique, please do not use the same translation twice
- if a word consists of just one character, the transation should also consist of just one character
- if a word consists multiple characters, the translation must also consist of multiple characters (of course the number does not have to be the same)

Please, do not change any of the following character sequences: %s : \n

So if the original text does NOT contain a colon, do not add one. If the original text DOES contain a colon, do not remove that one.

STEP 3: Send the new file to:

gabordemooij at gaborsoftware dot nl.

In your e-mail, please state the name of the language or dialect.

DONE!

Keep an eye on this website as a new Citrine version supporting your language will appear soon!