Doppl development   iteration #8
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Doppl development iteration #8

  • 125 views
Uploaded on

Doppl is a new programming language that aims providing a natural syntax for implementing parallel algorithms, designing data structures for shared memory applications and automated message passing......

Doppl is a new programming language that aims providing a natural syntax for implementing parallel algorithms, designing data structures for shared memory applications and automated message passing among multiple tasks. The name is an abbreviation of `data oriented parallel programming language`.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
125
On Slideshare
125
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DOPPL Data Oriented Parallel Programming Language Development Diary Iteration #8 Covered Concepts: State Members Diego PERINI Department of Computer Engineering Istanbul Technical University, Turkey 2013-08-28 1
  • 2. Abstract This paper stands for Doppl language development iteration #8. In this paper, state members which are used to create local bindings to simplify in state calculations will be introduced. 1. Rationale Previous iterations did not include any language construct to create temporary bindings which can be used to express complex calculations in terms of multiple expressions. These constructs often appear as local variables in common programming languages. Local variables in Doppl are called state members which are very similar to task members with additional limitations. 2. State Members State members are bindings that can only live within a state. They are allowed to be declared in any part of a state code block. State members are strongly typed like their regular counterparts. Values of state members are discarded when a task changes its state or finish. #State members task(1) StateMembers { data a_task_member = string init: { data a_state_member = string a_state_member = input ++ "n" a_task_member = a_state_member } } Shared state members does not suggest any reasonable form of data semantically and therefore are considered invalid declarations. Instruction bypassing via once members still works on state members, nonetheless one still has to note that those members are still private for each task. 3. Conclusion Iteration #8 introduces state members, local bindings that share the same syntax to create assignable names inside a state. These bindings can only be declared as private. Instruction bypassing is still allowed. 4. Future Concepts Below are the concepts that are likely to be introduced in next iterations. 2
  • 3. ● ● ● ● ● ● ● ● ● ● ● ● ● ● State transition operators Target language of Doppl compilation if conditional, trueness and anonymous states Booths (mutex markers) Primitive Collections and basic collection operators Provision operators Predefined task members Tasks as members Task and data traits Custom data types and defining traits Built-in traits for primitive data types Formatted input and output Message passing Exception states 5. License CC BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/ 3