class Ven::Orchestra

Overview

Ven Orchestra is the communication layer between the Ven interpreter infrastructure and the Inquirer infrastructure.

It is the highest abstraction of those currently provided by Ven.

Simply speaking, it interprets expose and distinct statements (although distincts are also interpreted by Inquirer, but in a way that is a bit different).

A composer program is the program that stands in place of X in the following question:

What, and in what order, should I run before X so as to get X up and running.

Their order, as well as files themselves, are managed entirely by Inquirer.

orchestra = Ven::Orchestra.new

puts orchestra.from("1 + 1") # 2

Included Modules

Defined in:

ven/orchestra.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(port = 12879) #

Makes an Orchestra for an Inquirer server running at the given port.


[View source]

Instance Method Detail

def files_for(distinct : Distinct) #

Asks the Inquirer server which files are required to build the given distinct.

Returns an array of filepaths.

Raises ExposeError if failed.


[View source]
def files_for?(distinct : Distinct) #

Asks the Inquirer server which files are required to build the given distinct.

Returns an array of filepaths (empty if failed).


[View source]
def from(source : String, file = "composer", legate = Legate.new, run = true) #

Runs the given source code, which can be found in file, as a composer program.


[View source]

Returns the context hub of this orchestra.


[View source]
def isolated : Bool #

Returns whether this orchestra is running isolated from an Inquirer server.


[View source]
def pool : Array(Ven::Suite::Chunk) #

Returns the chunk pool of this orchestra.


[View source]