Content deleted Content added
Floralcreek (talk | contribs) m Updated latest version; fixed filename extension Tags: Visual edit Mobile edit Mobile web edit |
→Syntax: grammatical number; notation |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 20:
}}
'''Citrine''' is a general-purpose [[programming language]] for [[Cross-platform|
==Syntax==
Citrine has a very limited syntax
* {{code|Nil}}
Line 33:
* <code>{ ...params.. ...block of code... }</code>
The code block literal uses a ''pipe'' symbol ⟨|⟩ to separate the parameters from the logic
parameters, the backslash should be used instead
Citrine only supports full-line comments,
A Citrine program is basically a sequence of messages sent to objects. For instance, to determine whether 5 is an even number, the message 'even?' is sent to the number 5.
Line 44:
</syntaxhighlight>
This is called a ''unary'' message, because it takes no arguments. A ''binary'' message is always a single UTF-8 character; this differs from Smalltalk, where there is a fixed set of binary messages. Here is an example:
<syntaxhighlight lang="smalltalk">
Line 50:
</syntaxhighlight>
Here a binary message '+' is sent to number 6, with the argument of
<syntaxhighlight lang="smalltalk">
Line 56:
</syntaxhighlight>
<syntaxhighlight lang="smalltalk">
Line 77:
</syntaxhighlight>
To break out of a loop in Citrine, one
<syntaxhighlight lang="smalltalk">
Line 87:
==Pipelines==
Unlike Smalltalk, Citrine has no semi-colon to send a message to the original receiver. Instead, Citrine has a comma token ',' used to chain keyword messages,
<syntaxhighlight lang="smalltalk">
Line 94:
==Prototypes==
The biggest difference from Smalltalk is the use of prototypes. Citrine does not have a concept of a class,
<syntaxhighlight lang="smalltalk">
Line 100:
</syntaxhighlight>
This object can be made to respond to messages by ordering the object to listen to events
<syntaxhighlight lang="smalltalk">
|