{"id":23029675,"url":"https://github.com/antononcube/raku-dsl-shared","last_synced_at":"2025-08-14T12:34:41.298Z","repository":{"id":60238197,"uuid":"280916206","full_name":"antononcube/Raku-DSL-Shared","owner":"antononcube","description":"Raku package for DSL shared utilities and grammar roles.","archived":false,"fork":false,"pushed_at":"2024-08-06T21:46:31.000Z","size":874,"stargazers_count":1,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-07T15:19:49.195Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antononcube.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":"2020-07-19T17:29:20.000Z","updated_at":"2024-08-06T21:46:34.000Z","dependencies_parsed_at":"2024-04-09T19:32:01.475Z","dependency_job_id":"9badc86c-b11f-4bed-a2c2-fe02f3799595","html_url":"https://github.com/antononcube/Raku-DSL-Shared","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/antononcube%2FRaku-DSL-Shared","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Shared/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Shared/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Shared/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antononcube","download_url":"https://codeload.github.com/antononcube/Raku-DSL-Shared/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229827651,"owners_count":18130395,"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":"2024-12-15T14:16:42.732Z","updated_at":"2024-12-15T14:16:43.401Z","avatar_url":"https://github.com/antononcube.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raku DSL::Shared\n\nThis repository provides a Raku package for shared utilities and (grammar) roles \nfor family of packages that translate Domains Specific Languages (DSLs) into executable\nprogramming languages code. (Also natural languages.)\n\nPreliminary versions of the code in this repository can be found in the GitHub repository [AAr1].\n\nThe initial, \"core\" packages that use \"DSL::Shared\" are:\n\n- [\"DSL::English::ClassificationWorkflows\"](https://github.com/antononcube/Raku-DSL-English-ClassificationWorkflows), [AAp4]\n\n- [\"DSL::English::DataQueryWorkflows\"](https://github.com/antononcube/Raku-DSL-English-DataQueryWorkflows), [AAp5]\n\n- [\"DSL::English::LatentSemanticAnalysisWorkflows\"](https://github.com/antononcube/Raku-DSL-English-LatentSemanticAnalysisWorkflows), [AAp6]\n\n- [\"DSL::English::QuantileRegressionWorkflows\"](https://github.com/antononcube/Raku-DSL-English-QuantileRegressionWorkflows), [AAp7]\n\n- [\"DSL::English::RecommenderWorkflows\"](https://github.com/antononcube/Raku-DSL-English-RecommenderWorkflows), [AAp8]\n\nThe package \"DSL::Bulgarian\", [AAp1], extends the English grammar based DSLs by providing \nBulgarian language *tokens* that correspond to the English tokens. \n\n------\n\n## Installation\n\nZef ecosystem:\n\n```shell\nzef install DSL::Shared\n```\n\nGitHub :\n\n```shell\nzef install https://github.com/antononcube/Raku-DSL-Shared.git\n```\n\n-------\n\n## Roles to share\n\nOne of the main reason for making this package is to encapsulate and easily share grammar roles for making DSL translators.\n\nHere is a list:\n\n- Error handling role\n\n- Common English terms and phrases role used in workflows from Machine Learning, Data Science, or Scientific Computing\n\n- Predicate specification role\n\n- List management commands role\n\n- User on-boarding role\n\n- Time intervals specifications role\n\n- Entity names parsing role\n\n-------\n\n## Utilities to share\n\nThe package provides several different types of utilities for making DSL translators.\n\n- Fuzzy matching functions\n\n- DSL meta-specifications processing functions\n\n- Universal command processing\n\n- Resource access class and role\n\n*Remark:* Initial versions of the Finite State Machine classes were part of this package.\nThose classes were moved to \"DSL::FiniteStateMachines\", [AAp9]. Those initial versions are \nkept here since they are referenced in presentations.  \n\n-------\n\n## Examples\n\nThe examples in the directory [./examples](./examples) show the different roles provided by the package\nand how they can be utilized in different DSL commands.\n\n-------\n\n## References\n\n### Packages\n\n[AAp1] Anton Antonov,\n[DSL::Bulgarian Raku package](https://github.com/antononcube/Raku-DSL-Bulgarian),\n(2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp2] Anton Antonov,\n[Lingua::NumericWordForms, Raku project](https://github.com/antononcube/Raku-Lingua-NumericWordForms)\n(2021-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp3] Anton Antonov,\n[Grammar::TokenProcessing, Raku project](https://github.com/antononcube/Raku-Grammar-TokenProcessing)\n(2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp4] Anton Antonov,\n[DSL::English::ClassificationWorkflows, Raku package](https://github.com/antononcube/Raku-DSL-General-ClassificationWorkflows),\n(2018-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp5] Anton Antonov,\n[DSL::English::DataQueryWorkflows, Raku package](https://github.com/antononcube/Raku-DSL-English-DataQueryWorkflows),\n(2020-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp6] Anton Antonov,\n[DSL::English::LatentSemanticAnalysisWorkflows, Raku package](https://github.com/antononcube/Raku-DSL-General-LatentSemanticAnalysisWorkflows),\n(2018-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp7] Anton Antonov,\n[DSL::English::QuantileRegressionWorkflows, Raku package](https://github.com/antononcube/Raku-DSL-General-QuantileRegressionWorkflows),\n(2018-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp8] Anton Antonov,\n[DSL::English::RecommenderWorkflows, Raku package](https://github.com/antononcube/Raku-DSL-General-RecommenderWorkflows),\n(2018-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAp9] Anton Antonov,\n[DSL::FiniteStateMachines, Raku package](https://github.com/antononcube/Raku-DSL-FiniteStateMachines),\n(2021-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[NLp1] Nick Logan,\n[Text::Levenshtein::Damerau, Raku project](https://github.com/ugexe/Perl6-Text--Levenshtein--Damerau)\n(2016),\n[GitHub/ugexe](https://github.com/ugexe).\n\n### Repositories\n\n[AAr1] Anton Antonov,\n[Conversational Agents at GitHub](https://github.com/antononcube/ConversationalAgents),\n(2018-2022),\n[GitHub/antononcube](https://github.com/antononcube).\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-shared","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantononcube%2Fraku-dsl-shared","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-shared/lists"}