GithubHelp home page GithubHelp logo

saku's Introduction

Проект заброшен. Единственное интересное это набросок скриптового языка.

Saku

Saku - прототип программы для параллельных вычислений.

Настройка

После запуска Saku выбирите подходящую из доступных в системе платформ. Для получения списка платформ используйте команду kernel, а для смены платформы функцию set_platform():

>>> kernel
// ...
Список доступных платформ:
 --> [0] Runtime Platform
     [1] OpenCL 2.0: Intel(R) Core(TM) i3-4330 CPU @ 3.50GHz

>>> set_platform(1)

Выбранная платформа будет использоваться как целевая для всех вычислений.

Если какое-либо устройство отсутствует в списке доступных платформ, то проверьте наличие установленного драйвера CUDA/OpenCL.

Синтаксис

Команды

Saku содержит набор комманд для вывода разнообразной информации. Для выполнения команды достаточно указать её имя:

>>> help
// вывод справочной информации

Команды не меняют состояние системы и используются только для вывода.

Выражения

Любой ввод, который не содержит в себе наименование какой-либо из команд, является выражением. Выражения состоят из операций выполнения (вызов функций) или присваивания (вызов функции с последующей записью результата в переменную).

Прежде чем приступить к синтаксису выражений стоит рассмотреть основные типы объектов.

Типы объектов

Saku поддерживает три базовых типа, объекты которых можно создать просто указав их значения в естественном виде.

Действительные числа:

>>> 3.14

Строки:

>>> "Привет мир"

Перечисления:

>>> 3, 4, 5, "Строка"

Объекты других типов создаются через специальные функции. К примеру: объект типа "файл" создаётся вызовом функции file() с указанием пути в качестве единственного аргумента:

>>> file("data/image.png")

Таковых конструирующих функций и ассоциируемых с ними типов существует множество. Получить полный список поддерживаемых типов вы можете с помощью команды "help".

Переменные

Переменная это ссылка на некоторый объект. Для создания новой переменной достаточно указать её имя и присвоить ей некоторое значение:

>>> pi = 3.14

Вывести значение переменной можно через указание её имени:

>>> pi
3.14

Созданные переменные храняться в вычислительном ядре. Для получения списка всех переменных используйте команду "variables":

>>> variables

Переменная может хранить в себе объект совершенно любого типа и принимать новые значения не ограничено от того, какого типа объект она хранила изначально:

>>> x = 3.14
>>> x = file("data/image.png")

При присваении значений одной переменной другой, выполняется копирование:

>>> a = 5
>>> b = a
>>> a = 6
>>> b
5

Для получения типа переменной можно использовать либо команду "variables", либо специальную функцию typeof():

>>> typeof(x)
"number"
>>> typeof("Петя")
"string"

saku's People

Contributors

vadimgush avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.