Tags: Leaflet Distribution Business PlanAnimal Abuse EssayEssay On Helping PoorPolitical Science Research PaperMy Math Homework OnlineLegalizing Marijuana Pros And Cons EssaysEssay Narrative SpmData Analysis Part Of ThesisAction Research Proposal Format
Sorensen, Andrew Carl There is a long history of experimental and exploratory programming supported by systems that expose interaction through a programming language interface.These live programming systems enable software developers to create, extend, and modify the behaviour of executing software by changing source code without perceptual breaks for recompilation.
Implementations which want to optimise by using different internal representations must do extensive copying to provide the same interface.
This then limits the performance of the C extensions in those implementations.
At least partially, the difficulty arises from not applying the state of the art in programming-languages research to systems programming.
I therefore describe the design and implementation of Deca, a systems language based on modern PL principles.
One way that the community has worked around the limitations of existing Ruby implementations is to write extension modules in the C programming language.
These are statically compiled and then dynamically linked into the Ruby implementation.
There's some more discussion of Deca over at Hacker News.
People who write Ruby programs want to use metaprogramming. But in existing implementations of Ruby, metaprogramming is slow.
It provides a high performance implementation of Ruby’s dynamic features, at the same time as providing a high performance implementation of C extensions.
The implementation provides a high level of compatibility with existing Ruby implementations and does not limit the available features in order to achieve high performance.