Skip to content

Functional Reactive Programming Framework (under construction)

License

Notifications You must be signed in to change notification settings

lifesdk/Blaze.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blaze

Build Status

Purpose

  • Implement data transparency like R Studio but production-ready and structurized.
  • Automate pipelines by predefining procedures.
  • Build a framework that helps project refactoring.

Intro

A functional reactive programming framework.

Usage

# Explicit function definitions

struct Row
	Timestamp::Float64
	Value::Float64
	Bias::Float64
	end
function SomeSpider()::Vector{Row}
	# ...
	return [ Row(time(), 1.0, 0.1), Row(time(), 2.0, 0.2) ]
	end
function SomeAnalysis(v::Vector{Row})::Vector{Float64}
	return map(x->x.Value + x.Bias, v)
	end
function OtherFactors(v::Vector{Row})::Vector{Float64}
	return map(x->x.Bias, v)
	end
function Sumarrize(value_mean::Vector{Float64}, factors::Vector{Float64})::Float64
	return sum( value_mean .- factors )
	end



# Register network

using Blaze
Blaze.RegisterNeuron("/root/spider", SomeSpider, [], "node description here")
Blaze.RegisterNeuron("/analysis/1", SomeAnalysis, ["/root/spider"], "<- unique path name, handler function, input params")
Blaze.RegisterNeuron("/analysis/2", OtherFactors, ["/root/spider"], "length(input_names) == number of input params of handler function")
Blaze.RegisterNeuron("/output", Sumarrize, ["/analysis/1", "/analysis/2"], "pass input params in order")



# Runtime

#Blaze.Trigger("/root/spider") # shall be triggered by CRON
Blaze.AutoTrigger()            # equivalent; trigger all expired motivation; async
Blaze.ExecuteRevision()        # optional; idempotent; synchronous
@show Blaze.View("/output")    # just for REPL
# 3.0

Todos

  1. Structurized visualization.
  2. Topology structure display in command line.
  3. Simple HTTP interface.

Issues

About

Functional Reactive Programming Framework (under construction)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages