Math::Symbolic::Custom man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Math::Symbolic::CustomUser Contributed Perl DocumentaMath::Symbolic::Custom(3)

NAME
       Math::Symbolic::Custom - Aggregate class for tree tests and
       transformations

SYNOPSIS
	 # Extending the class:
	 package Math::Symbolic::Custom::MyTransformations;
	 use Math::Symbolic::Custom::Base;
	 BEGIN {*import = \&Math::Symbolic::Custom::Base::aggregate_import}

	 our $Aggregate_Export = [qw/apply_transformation1 .../];
	 sub apply_transformation1 {
	    # ...
	 }
	 # ...

	 # Using the custom class:
	 use Math::Symbolic;
	 use Math::Symbolic::Custom::MyTransformations;

	 # later...
	 $tree->apply_transformation1();
	 $tree->mod_transformation2();
	 die unless $tree->is_type1();
	 die unless $tree->test_condition1();
	 die if $tree->contains_something1();
	 print $tree->to_latex();

DESCRIPTION
       This is an aggregate class for all custom modification, transformation,
       testing and output extensions for Math::Symbolic trees.	Some default
       transformations and tests are implemented in the
       Math::Symbolic::Custom::DefaultMods and
       Math::Symbolic::Custom::DefaultTests packages, default output routines
       in Math::Symbolic::Custom::DefaultDumpers which are automatically
       loaded by the Math::Symbolic::Custom class.

       Math::Symbolic::Custom imports all constants from
       Math::Symbolic::ExportConstants

   EXPORT
       None by default.

EXTENDING THE MODULE
       In order to extend the functionality of Math::Symbolic, you have to go
       through the following steps: (also see the synopsis in this document.)

       ·   Choose an appropriate namespace in the Math::Symbolic::Custom::*
	   hierarchy or if you desparately wish, somewhere else.

       ·   Create a new module (probably using "h2xs -AX MODULENAME") and put
	   the following lines of code in it:

	     # To make sure we're cooperating with Math::Symbolic's idea of
	     # method delegation.
	     use Math::Symbolic::Custom::Base;
	     BEGIN {*import = \&Math::Symbolic::Custom::Base::aggregate_import}

	     our $Aggregate_Export = [
	       # Put the list of method names to be exported.
	     /];

       ·   Think well about the naming of your exported methods. Answer the
	   following questions:

	   Does the name start with 'is_', 'test_', 'mod_', 'apply_',
	   'contains_', or 'to_'?  If not, find a suitable name that does.

	   Does the name clash with any of the methods exported by
	   Math::Symbolic::Custom::DefaultTests,
	   Math::Symbolic::Custom::DefaultMods, or
	   Math::Symbolic::Custom::DefaultDumpers?  If so, please consider
	   choosing a different name.

	   Does the name map to the idea behind the method prefix ('is_',
	   ...)?  Only methods starting with one of the prefixes listed above
	   can be delegated. Any others will never be called. The idea behind
	   delegating methods with several prefixes is to provide for a
	   reasonable choice for naming methods. 'is_' and 'contains_' are
	   meant to be used for accurate tests like "is_constant". 'test_' is
	   meant for all tests that either make use of heuristics or can't be
	   fitted into either 'is_' or 'contains_'. The prefixes 'mod_' and
	   'apply_' are meant for use with methods that modify the
	   Math::Symbolic tree.	 Finally, the prefix 'to_' is meant to be used
	   with conversion and output methods like 'to_latex' or 'to_string'.
	   (Though as of version 0.122, to_string is implemented in the core
	   Math::Symbolic modules.)

       ·   Make sure you document exactly what your methods do. Do they modify
	   the Math::Symbolic tree in-place or do they clone using the new()
	   constructor and return a copy? Make sure you mention the behaviour
	   in the docs.

       ·   Consider packaging your extensions as a CPAN distribution to help
	   others in their development with Math::Symbolic. If you think the
	   extensions are generic enough to be a worthwhile addition to the
	   core distribution, try sending your extensions to the
	   Math::Symbolic developers mailing list instead.

       ·   Load your extension module after loading the Math::Symbolic module.

       ·   Start using your custom enhancements as methods to the
	   Math::Symbolic trees (any term types).

       ·   Send bug reports and feedback to the Math::Symbolic support mailing
	   list.

AUTHOR
       Please send feedback, bug reports, and support requests to the
       Math::Symbolic support mailing list: math-symbolic-support at lists dot
       sourceforge dot net. Please consider letting us know how you use
       Math::Symbolic. Thank you.

       If you're interested in helping with the development or extending the
       module's functionality, please contact the developers' mailing list:
       math-symbolic-develop at lists dot sourceforge dot net.

       List of contributors:

	 Steffen MA~Xller, symbolic-module at steffen-mueller dot net
	 Stray Toaster, mwk at users dot sourceforge dot net
	 Oliver EbenhA~Xh

SEE ALSO
       New versions of this module can be found on http://steffen-mueller.net
       or CPAN. The module development takes place on Sourceforge at
       http://sourceforge.net/projects/math-symbolic/

       Math::Symbolic::Custom::Base Math::Symbolic::Custom::DefaultTests
       Math::Symbolic::Custom::DefaultMods
       Math::Symbolic::Custom::DefaultDumpers

       Math::Symbolic

perl v5.14.1			  2011-07-26	     Math::Symbolic::Custom(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net