Skip to content
/ MTools Public

Object Oriented Programming in Mathematica 10+

License

Notifications You must be signed in to change notification settings

faysou/MTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MTools

release v1.0.1 Semantic Versioning license MIT Mathematica 10.0

The main contribution of MTools is to allow object oriented programming in Mathematica in a very natural way .

The package also contains:

  • Generic classes for manipulating trees of objects and displaying them
  • Automatic interface generation for displaying and editing objects
  • Functions for doing asynchronous evaluation easily using parallel kernels (MSync)
  • Tools for accessing Couchbase, serializing and deserializing objects.

Usage example

You can find usage examples on the Wolfram Community site and in the answer to "Once more on object orientation..." question on Mathematica Stack Exchange.

More examples will be added in the MTools.nb notebook located in the MTools package.

Installation

Manual installation

  1. Download the latest released MTools.zip file.

  2. Extract the downloaded MTools.zip file to any directory which is on the Mathematica $Path, e.g. to one obtained by evaluating FileNameJoin[{$UserBaseDirectory,"Applications"}].

  3. To load the package evaluate: Needs["MTools`"]

Compatibility

This package requires Mathematica 10 and above, as it makes extensive use of Association.

Bugs and requests

If you find any bugs or have feature requests please create an issue on GitHub.

Contributing

Feel free to fork and send pull requests.

All contributions are welcome!

License

This package is released under The MIT License.

Attribution

I used as template the README of the ClasslessObjects project.

I used the following contributions posted by people on Mathematica StackExchange for some functions in the Utils.m package:

Versioning

Releases of this package will be numbered using Semantic Versioning guidelines.