Skip to content

Data model

mmaness edited this page Oct 5, 2011 · 6 revisions

Technically, all data in a Survenity survey is stored as objects. But Survenity is not an object-oriented language and does not currently supports features which allow for method creation or even method calls. This also means that currently all objects in Survenity are immutable since you can do no modification of the objects in the current implementation. Note that immutability does not mean you cannot change what identifiers / variables point to, but you cannot directly modify the actual object.

Numbers

Numbers are provided in both integer and decimal forms. These are created via integer and decimal literals. Numbers are immutable and do not change value once created. Integers have no inherent maximum value, but are constrained by system memory. Decimal objects are not floating point numbers, instead a representation is used which mimics expected results from "human math." The expected behavior for the precision of decimals (number of digits to show) are not specified at the moment.

Ordered Sets

Finite ordered sets are supported in Survenity. Currently two different ordered set types are provided

String

A string is an ordered sequence of characters (ASCII is guaranteed to work, Unicode may work).

List / Array

A list or array is an ordered sequence of objects. All objects in a list do not have to be of the same type. Survenity currently supports lists made up of numbers, string, and/or other lists.

Integer List

An integer list is a list which only consists of integers.

Callable Types

Callable types are types which support the creation of questions and choice experiments. In the future, Survenity may support calls for user-defined functions, classes, and methods.


Go back to Survenity Language Reference

Home | JULIE Intro | Getting Started with JULIE | JULIE References | JULIE Development | Survenity Language