Blame | Last modification | View Log | Download | RSS feed
R-ObjC branch---------------This is a branch of R where all R objects are at the same timeObjective-C objects. This means that any R object can respond to ObjCmessages.The reason for this branch is to experiment with new features, typesand approaches in R. The use of the Objective-C architecture allowsus to plug-in different evaluators for different objects, change thesemantics, memory model etc. easily.This branch is not targetted at real-life use, instead it is a part ofthe Aleph project to develop and test new ideas for statisticalcomputing. (Basically the overhead buys flecibility but not speed).* What is the major difference?All SEXPs in this branch have an additional pointer (before theregular SEXP header) which points to the ObjC class (Class isa). Thisallows ObjC dispatch in addition to the regular R facilities.- public class definitions are in include/RObjC.h- implementations are currently in src/main/objc.m but that islikely to change (into separate .m files)* Why Objective-C?Objective-C is dynamic, has introspection/reflection, has very littleoverhead and the way objects are implemented allows a verynon-intrusive adaptation of existing objects into ObjC objects.* Next goals- add hooks in the evaluator and primitives to dispatch to ObjC whennecessarySimon Urbanek 10/2007