#12224: Language as parent / Word as element
-----------------------------------------------------------------+----------
       Reporter:  vdelecroix                                     |         
Owner:  vdelecroix
           Type:  enhancement                                    |        
Status:  new       
       Priority:  major                                          |     
Milestone:  sage-5.6  
      Component:  combinatorics                                  |    
Resolution:            
       Keywords:  word, language, symbolic dynamics              |   Work 
issues:            
Report Upstream:  N/A                                            |     
Reviewers:            
        Authors:  Vincent Delecroix                              |     Merged 
in:            
   Dependencies:  #8920, #12230, #12518, #13778, #13956, #13957  |      
Stopgaps:            
-----------------------------------------------------------------+----------
Description changed by slabbe:

Old description:

> This ticket is a prerequisite to further development in the combinatorics
> of words and symbolic dynamical systems (adic language, SFT, ...). It
> concerns the implementation of a class "Language" (= graded set of words)
> as a Parent and a class "Word" as Element.
>
> Three categories are created: Languages, FactorialLanguages and Shifts
> that gather several methods of finite and infinite words. For speed
> reason there are base Cython classes for
>  * finite word (in sage.combinat.words.finite_word)
>  * infinite word (in sage.combinat.words.infinite_word)
>  * language (in sage.combinat.languages.language)
>
> Every implementation must inherit from the class above (it is check in
> the TestSuite of the related categories).
>
> The previous code of Word is dispatched between the ElementMethods of the
> category and the Cython class FiniteWord. The choice has been made for
> sake of optimization.
>

> see also: #12225, #12227
>
> To import and apply all patches do
> {{{
> cd SAGE_ROOT/devel/YOUR_BRANCH
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/8920/trac_8920-alphabet.patch
> hg qpush
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/12466/trac_12466-ss.patch
> hg qpushhg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/12230/trac_12230-growing_letters-ss.patch
> hg qpush
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/12230/trac_12230-growing_letters-review-vd.patch
> hg qpush
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/13956/trac_13956-shift_argument.patch
> hg qpush
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/13957/trac_13957-catch_value_error.patch
> hg qpush
> hg qimport http://trac.sagemath.org/sage_trac/raw-
> attachment/ticket/12224/trac_12224-language.patch
> hg qpush
> }}}

New description:

 This ticket is a prerequisite to further development in the combinatorics
 of words and symbolic dynamical systems (adic language, SFT, ...). It
 concerns the implementation of a class "Language" (= graded set of words)
 as a Parent and a class "Word" as Element.

 Three categories are created: Languages, FactorialLanguages and Shifts
 that gather several methods of finite and infinite words. For speed reason
 there are base Cython classes for
  * finite word (in sage.combinat.words.finite_word)
  * infinite word (in sage.combinat.words.infinite_word)
  * language (in sage.combinat.languages.language)

 Every implementation must inherit from the class above (it is check in the
 TestSuite of the related categories).

 The previous code of Word is dispatched between the ElementMethods of the
 category and the Cython class FiniteWord. The choice has been made for
 sake of optimization.


 see also: #12225, #12227

 To import and apply all patches do
 {{{
 cd SAGE_ROOT/devel/YOUR_BRANCH
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/8920/trac_8920-alphabet.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/12466/trac_12466-ss.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/12230/trac_12230-growing_letters-ss.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/12230/trac_12230-growing_letters-review-vd.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/13956/trac_13956-shift_argument.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/13957/trac_13957-catch_value_error.patch
 hg qpush
 hg qimport http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/12224/trac_12224-language.patch
 hg qpush
 }}}

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12224#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to