PackageTrack
Sign in Get early access

function_tree

A simple library for parsing strings into callable function-trees.

0.9.1 5.2K downloads/mo #3792 most downloaded on pub.dev ram6ler/function-tree

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Release timing varies

gaps range from 3 weeks to 1.4 years

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

15 releases · first in 2017

0 releases in the last 12 months

see the full history below

Release timeline

15 releases · Sep 2017 to Dec 2023
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 15
  1. 0.9.1 03 Dec 2023
    Release notes
    • Added the ability to create symbolic derivatives from single variable functions where they are well defined. Early versions had numeric differentiation (and integration), but these were removed in later versions as not being part of the focused use case. (I'm not sure whether symbolic derivatives will stay either — they're still experimental.) These can be accessed through the methods SingleVariableFunction.derivative and MultiVariableFunction.partial. The resulting trees are often unnecessarily large for now; tree pruning to come if the trees are to stay!
    Open source →
  2. 0.9.0 09 Sep 2023
    Release notes
    • Incorporated Dart 3 features.
    • More resilient to repeated negation / confirmation.
    • Added a representation method on trees to show structure.
    • Added a toString representation of nodes and function trees.
    • Cleaned up the code base to be easier to read and to better match the dart.dev recommendations.
    • Interpreter shakes out some unnecessary components, such as parentheses surrounding constants, while generating tree.
    Open source →
  3. 0.8.13 25 Jun 2022
    Release notes
    • Allow unary + or - to directly follow the *, /, ^ or % operators.
    Open source →
  4. 0.8.12 12 Apr 2021
    Release notes
    • Parse numbers as doubles instead of nums to prevents common use case issues with large integers.
    Open source →
  5. 0.8.11 09 Mar 2021
    Release notes
    • Oh dear! This time with debug mode off!
    Open source →
  6. 0.8.1 09 Mar 2021
    Release notes
    • Fixed unary sign bug that treated expressions like -a+b as -(a+b). Wow!
    Open source →
  7. 0.8.0-dev.1 24 Feb 2021 pre-release
    Release notes
    • Added null safety!
    • String interpolation appears even slower than before, but the generated function trees are still pretty efficient (once generated, within an order of magnitude of native Dart math library functions).
    Open source →
  8. 0.7.0 18 Feb 2021
    Release notes
    • Added functionality for two-parameter functions, log, nrt and pow in response to a feature request.
    Open source →
  9. 0.6.0 23 Apr 2020
    Release notes
    • Important bug fix: differences
    Open source →
  10. 0.5.0 05 Jan 2020
    Release notes
    • Dusted out some cobwebs.
    • Renamed FunctionTree MultiVariableFunction and FunctionOfX SingleVariableFunction, which is more expressive.
    • Removed zero, derivative and integral estimates, which I feel were tangential.
    Open source →
  11. 0.2.6 04 Aug 2018
    Release notes

    Fixed ambiguity issue: if the user chooses a variable name in an expression that happens to be a special constant name (such as 'e'), the parser will take occurrences in the expression to mean that the variable.

    Open source →
  12. 0.2.5 03 Aug 2018
    Release notes
    • Marked as ready for Dart 2.
    • dartfmt-ed some of the files.
    • Added support for the % operator.
    • Added support for floor, ceil and round.
    • Added come timing comparisons between evaluating native Dart functions, function tree instances and repeated string parsing in test/.
    Open source →
  13. 0.2.0 30 Jul 2018
    Release notes
    • Re-wrote the parsing engine: code much cleaner and easier to read.
    • Cleared out deprecated dart:math constants.
    • Updated code for Dart 2.
    • Added support for abs.
    Open source →
  14. 0.1.1 02 Oct 2017
    Release notes
    • Basic numerical differentiation.
    • Basic numerical integration (Simpson).
    • Basic zero-finding (Newton).
    • Very much proof of concept.
    Open source →
  15. 0.1.0 24 Sep 2017
    Release notes
    • Initial version, proof of concept.
    • Very little checking of input at this stage.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive