{"id":25932610,"url":"https://github.com/entonio/expressive","last_synced_at":"2026-05-13T02:10:36.253Z","repository":{"id":238177954,"uuid":"785004466","full_name":"entonio/Expressive","owner":"entonio","description":"Model, solve, and simplify mathematical expressions","archived":false,"fork":false,"pushed_at":"2024-07-03T02:45:42.000Z","size":51,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T13:48:08.277Z","etag":null,"topics":["expression","expression-builder","expression-evaluator","expression-parser","expression-solver"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/entonio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-11T01:54:48.000Z","updated_at":"2024-07-03T02:45:41.000Z","dependencies_parsed_at":"2024-06-22T14:15:14.214Z","dependency_job_id":"f2c0e8d1-c020-497f-b6d4-9ea6c51a879a","html_url":"https://github.com/entonio/Expressive","commit_stats":null,"previous_names":["entonio/expressive"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FExpressive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FExpressive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FExpressive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entonio%2FExpressive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/entonio","download_url":"https://codeload.github.com/entonio/Expressive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241763764,"owners_count":20016161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expression","expression-builder","expression-evaluator","expression-parser","expression-solver"],"created_at":"2025-03-04T00:38:34.160Z","updated_at":"2026-05-13T02:10:31.223Z","avatar_url":"https://github.com/entonio.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"Expressive\n==========\n\nThe purpose of this package is to model mathematical expressions.\nExpressions can be entirely numerical or they may contain variables, represented by strings of letters.\n\nThis being Swift, expressions may be written using number and string literals connected using the normal mathematical operators, or they can be parsed from strings, or mixing the two approaches.\n\nThe numerical value of expressions can be calculated by providing a map of values for the variables, if there are any. Values can be numerical, or other expressions.\n\nThis enables a program to treat mathematical formulae as data that can be passed around, read dynamically, or combined.\n\nExpressions can be simplified. This is not an objective transformation, so the result may or may not suit your intent.\nExpressions can provide a notationally correct description of their contents. \n\nGoals of this package:\n- expressiveness\n- ease of use\n- correctness\n\nNot goals:\n- performance\n- completeness of mathematical API\n\nExamples\n========\n\n```swift\nlet VIG: Expression = \"VIG\"\nlet NEX: Expression = \"NEX\"\n\nlet E1 = 16 + VIG + (3 + VIG) * (NEX - 5) / 5\n\nlet E2 = \"16+VIG+(3+VIG)*(NEX-5)/5\" as Expression\n\nlet E3 = \"16 + VIG\" as Expression + \"(3 + VIG) * (NEX - 5) / 5\"\n\nXCTAssertEqual(E1, E2)\nXCTAssertEqual(E1, E3)\n```\n\nLicense\n-------\nExcept where/if otherwise specified, all the files in this package are copyright of the package contributors mentioned in the `NOTICE` file and licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0), which is permissive for business use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentonio%2Fexpressive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fentonio%2Fexpressive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentonio%2Fexpressive/lists"}