-
-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
We plan to the following changes in the next major version up.
Backward incompatible changes
- Low-level internal representation of flags. (The flags are defined as polymorphic variant in ver 3 or below, but will be implemented as
charbecause BLAS/LAPACK's flags are characters. Overhead of conversion from polymorphic variant intocharwill be removed.)- The type of parameters
?up(for symmetric or triangular matrices) isboolin ver 3,[<A |L |U ] Slap.Common.uplo` in ver 4. - The type of parameters
?diag(for unit or non-unit triangular matrices) is[N |U ]in ver 3,Slap.Common.diagin ver 4. - The type of parameter
uplooflacpyis[L |U ] optionin ver 3,[<A |L |U ] Slap.Common.uplo` in ver 4.
- The type of parameters
- Changing subtyping tricks by phantom types. (The current version uses a subtyping trick for flags, vectors, matrices described at our paper, but polymorphic variant can achieve subtyping more simply. We will adopt the latter.)
- The types of flags in
Slap.Common, and'cnt_or_dscparameters of vectors and matrices will be changed.
- The types of flags in
- Simplification of type parameters of
Slap.Common.trans. ((('m, 'n, 'cnt_or_dsc) mat -> ('n, 'm, 'cnt_or_dsc) mat) transis too long since it has extra type parameter'cnt_or_dsc.(m * 'n -> 'n * 'm) transis much simpler.)- The type of transpose flags in
Slap.Commonand parameters~transwill be changed.
- The type of transpose flags in
- Deprecation of several functions.
Slap.Size.pred_dyn|->Slap.Size.predSlap.Size.fold_left|->Slap.Size.iter_acc- etc.
Backward compatible changes
Perhaps some changes will be contained in ver 4.1 or above.
- Removing extra dynamic checks.
- BLAS/LAPACK functions will be slightly faster.
-noassertoption will be supported by theconfigurescript.
- Introduction of generative existential types by GADTs.
- More lightweight syntax can be used.
- Dynamic checks of equalility/inequality of type-level sizes.
- E.g.,
if_eq : 'n Size.t -> 'm Size.t -> (('n, 'm) eq -> 'a) -> (unit -> 'a) -> 'a
- E.g.,
- More utility functions:
cons,hd,tl, etc. - More LAPACK functions:
laswp,lapmt,gtsv - Sized array module.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels