{"id":24399646,"url":"https://github.com/open-net-libraries/open.evaluation","last_synced_at":"2025-04-11T18:54:01.089Z","repository":{"id":79496985,"uuid":"79766166","full_name":"Open-NET-Libraries/Open.Evaluation","owner":"Open-NET-Libraries","description":"This set of interfaces and classes can be used to create serializable functions for use with other systems that require a reproducable structure.","archived":false,"fork":false,"pushed_at":"2024-11-22T05:52:14.000Z","size":580,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T03:11:16.499Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Open-NET-Libraries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-01-23T03:25:38.000Z","updated_at":"2024-05-16T02:03:53.000Z","dependencies_parsed_at":"2024-05-29T05:41:24.551Z","dependency_job_id":null,"html_url":"https://github.com/Open-NET-Libraries/Open.Evaluation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Evaluation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Evaluation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Evaluation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Evaluation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-NET-Libraries","download_url":"https://codeload.github.com/Open-NET-Libraries/Open.Evaluation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248464656,"owners_count":21108238,"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":[],"created_at":"2025-01-19T23:50:48.210Z","updated_at":"2025-04-11T18:54:01.066Z","avatar_url":"https://github.com/Open-NET-Libraries.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open.Evaluation\n\nOpen.Evaluation is a framework for constructing and evaluating any hierarchal formula or complex structure.  Typically used for evaluating math or algorithms.\n\nThis set of interfaces and classes can be used to create serializable (human readable) functions for use with other systems that require a reproducable structure.\n\nFor example: Given a specific mathmatical formula (or function), it is possible to not only resolve/evaluate the result given a set of parameters, it is also possible to inspect the formula's structure and see how the values are being used.\n\n## Evaluation Classes\n\n(See Core/EvaluationBase.cs)\n\n### Immutability \n\nThe main idea here is to envorce immutable classes and related sub classes.\nNo changes allowed after construction.  A clone can only be created by 'recreating' or 'reconstructing'.\n\nIt is very important to maintain this since these classes should not change during operation.\n\n### Unidirectional Referencing\n\nTo avoid potential memory problems, all heirarchies should be unidirectional: \"The parent is aware of the children, but the children are unaware of the parent.\"\nThis allows for child sharing and has the potential to signficantly reduce the memory footprint.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-net-libraries%2Fopen.evaluation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-net-libraries%2Fopen.evaluation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-net-libraries%2Fopen.evaluation/lists"}