Code Monkey home page Code Monkey logo

etoilefoundation's Introduction

EtoileFoundation

Maintainers : Quentin Mathe [email protected], David Chisnall Authors : David Chisnall, Quentin Mathe, Uli Kusterer, Yen-Ju Chen, Eric Wasylishen License : Modified BSD License Version : 0.6

Build Status

EtoileFoundation is the core framework for all Etoile projects, providing numerous convenience methods on top of the OpenStep foundation and significantly better support for reflection. Here is a summary of some the interesting features:

  • mirror-based reflection (work-in-progress)
  • mixins and traits
  • prototypes
  • double-dispatch
  • collection class protocol and additions
  • UUID
  • convenient macros such as FOREACH
  • dynamic C array
  • metamodel
  • UTI
  • generic history model
  • socket
  • stack trace recording

Note: Restartable exceptions are not available in this release.

Two sub-frameworks are bundled with it:

  • EtoileThread which allows objects to transparently be run in a separate thread.
  • EtoileXML which is a light-weight and tolerant XML parsing framework whose main ability is to handle truncated and not well-formed XML documents. For example, with XML streams used by the XMPP protocol, the XML is received in fragments.

Warning: EtoileThread is not available in this release.

Build and Install

Read INSTALL.Cocoa or INSTALL.GNUstep documents.

Mac OS X and iOS support

EtoileFoundation is supported on Mac OS X (10.6 or higher) and iOS (5 or higher), minus the parts that only work with the GNUstep runtime (prototypes, restartable exceptions and some introspection stuff).

An Xcode project is bundled to build both EtoileFoundation and EtoileXML on Mac OS X, and EtoileFoundation on iOS.

Note: EtoileXML is unsupported on iOS presently. For now, ETSocket and NSData(ETHash) are also missing on iOS, because the system doesn't include the OpenSSL library.

NSObject+Prototypes.m, NSBlocks.m and CArray.m are not compiled on Mac OS X.

ETSocket.m, ETStackTraceRecorder.m, NSData+Hash.m, NSObject+Prototypes.m, NSBlocks.m and CArray.m are not compiled on iOS.

Warning: Xcode 4.6 or higher is required to build these projects.

Developer Notes

If you want to use classes from EtoileThread or EtoileXML, their headers must be imported explicitly and EtoileThread or EtoileXML must be linked explicitly. EtoileFoundation doesn't link them.

Unlike EtoileThread which has no dependency, EtoileXML depends on EtoileFoundation and links it.

EtoileThread (not available)

See the README in the EtoileThread subdirectory.

EtoileXML

See the README in the EtoileXML subdirectory.

etoilefoundation's People

Contributors

qmathe avatar davidchisnall avatar ericwa avatar ngrewe avatar becken avatar gnoack avatar alessandrosangiuliano avatar chris-armstrong avatar andyprice avatar mathk avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.