Posts Tagged ‘FrTime’
Paper accepted.
Good news received last week:
Dear Mr. Francisco Sant’Anna,
I am pleased to confirm that your paper “LuaGravity, a Reactive Language
Based on Implicit Invocation” has been accepted for presentation and
publication at SBLP 2009.
All papers went through a rigorous reviewing process by the program
committee. Out of 30 research papers and 3 tutorials submitted, 12
papers and 1 tutorial were accepted.
Please make sure that in the preparation of the final paper you
carefully address the reviewers’ comments. Additionally, at least one
author is required to register in the conference for your paper to
appear in the proceedings.
Congratulations again on having your paper accepted. We look forward to
seeing you in Gramado!
Reviewer’s comments already addressed and final version submitted! One reviewer in particular pointed several constructive observations, which we took very seriously in the final version.
Follows the abstract for the paper:
The reactive programming paradigm covers a wide range of applications, such as
games and multimedia systems.
Mainstream languages do not offer proper support for reactive programming,
lacking language-level primitives that focus on synchronism and interactions
within application parts.
We propose an imperative reactive language, called LuaGravity, based on
unconventional implicit invocation mechanisms.
LuaGravity allows dataflow programming, sequential imperative execution, and
deterministic use of shared-memory.
With this work, we intend to unite the essential features of reactive languages
while keeping a convenient imperative style of programming.
SBLP [1] is the main Brazilian congress on programming languages. This year it will be held in Gramado on August 18-21.
[1] http://sblp2009.ucpel.tche.br/
Some graphical examples
The following are two graphical applications written in LuaGravity with respective videos and source codes.
The first example shows some flying rectangles whose size and speed increase as they get closer to the screen base.
Follows the source code:
for i=1, 15
do
local r = screen:add(
Rect {
_fill = {r=255,g=200,b=100},
x = screen.dx()/2 + S(math.random(-15,15)),
})
local v = 1 + r.y^1.3/(screen.y()+screen.dy())
r.y = S(math.random(1,15)*v)
local dim = 1 + r.y/5
r.dx = dim
r.dy = dim
end
The second example shows the mouse cursor surrounded by orbiting rectangles.
The orbit radius may be changed explicitly.
It’s based on an example found in the FrTime distribution.
Follows the source code:
local secs = S(1)
local sin = L(math.sin)
local cos = L(math.cos)
local C = 2/3 * math.pi
radius = 50
size = 20
for i=1, 3
do
screen:add(
Rect {
_fill = {r=255,g=0,b=0},
x = (mouse.x + radius * sin(secs+C*i)) - size/2,
dx = size,
y = (mouse.y + radius * cos(secs+C*i)) - size/2,
dy = size,
})
end