{"id":16444800,"url":"https://github.com/plokhotnyuk/expression-evaluator","last_synced_at":"2025-10-04T16:43:24.090Z","repository":{"id":39851532,"uuid":"185921844","full_name":"plokhotnyuk/expression-evaluator","owner":"plokhotnyuk","description":"Compile-time expression evaluation for Scala 2","archived":false,"fork":false,"pushed_at":"2025-03-06T05:49:26.000Z","size":165,"stargazers_count":15,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T21:43:34.372Z","etag":null,"topics":["compile-time","eval","expression-evaluator","macro","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","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/plokhotnyuk.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":"2019-05-10T05:04:13.000Z","updated_at":"2025-03-06T05:49:29.000Z","dependencies_parsed_at":"2023-02-16T01:31:25.552Z","dependency_job_id":"c893b3ea-5e69-4300-920c-ad6a365a70f5","html_url":"https://github.com/plokhotnyuk/expression-evaluator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plokhotnyuk%2Fexpression-evaluator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plokhotnyuk%2Fexpression-evaluator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plokhotnyuk%2Fexpression-evaluator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plokhotnyuk%2Fexpression-evaluator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plokhotnyuk","download_url":"https://codeload.github.com/plokhotnyuk/expression-evaluator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745624,"owners_count":20503042,"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":["compile-time","eval","expression-evaluator","macro","scala"],"created_at":"2024-10-11T09:26:50.121Z","updated_at":"2025-10-04T16:43:19.030Z","avatar_url":"https://github.com/plokhotnyuk.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expression Evaluator\n\n[![Actions Build](https://github.com/plokhotnyuk/expression-evaluator/workflows/build/badge.svg)](https://github.com/plokhotnyuk/expression-evaluator/actions)\n[![Scala Steward](https://img.shields.io/badge/Scala_Steward-helping-brightgreen.svg?style=flat\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org)\n[![Maven Central](https://img.shields.io/badge/maven--central-0.1.3-blue.svg)](https://search.maven.org/search?q=com.github.plokhotnyuk.expression-evaluator)\n\nCompile-time expression evaluation for Scala\n\n## How to use\n\nAdd the library with a \"provided\" scope to your dependencies list:\n\n```sbt\nlibraryDependencies ++= Seq(\n  \"com.github.plokhotnyuk.expression-evaluator\" %% \"expression-evaluator\" % \"0.1.3\" % Provided // required only in compile-time\n)\n```\n\nGenerate expression results for primitives, strings, `BigInt`, `java.time.ZoneId`, `java.time.ZoneOffset`, and arrays of\nthem:\n    \n```scala\nimport com.github.plokhotnyuk.expression_evaluator._\n\nobject Constants {\n  val x = eval(10 * 10 * 10)\n  val xs = eval((1 to 3).toArray)\n}\n```\n\nTo see generated code for expression results\n\n```sbt\nscalacOptions ++= Seq(\"-Xmacro-settings:print-expr-results\")\n```\n\n## How to contribute\n\n### Build and test\n\nTo compile, run tests, check coverage, and check binary compatibility for different Scala versions use a command:\n\n```sh\nsbt clean +coverage +test +coverageReport +mimaReportBinaryIssues\n```\n\nBEWARE: expression-evaluator is included into [Scala Community Build](https://github.com/scala/community-builds)\nfor 2.11.x, 2.12.x, and 2.13.x versions of Scala.\n\n### Publish locally\n\nPublish to the local Ivy repo:\n\n```sh\nsbt +publishLocal\n```\n\nPublish to the local Maven repo:\n\n```sh\nsbt +publishM2\n```\n\n### Release\n\nFor version numbering use [Recommended Versioning Scheme](http://docs.scala-lang.org/overviews/core/binary-compatibility-for-library-authors.html#recommended-versioning-scheme)\nthat is used in the Scala ecosystem.\n\nDouble check binary and source compatibility (including behavior) and run `release` command (credentials required):\n\n```sh\nsbt release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplokhotnyuk%2Fexpression-evaluator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplokhotnyuk%2Fexpression-evaluator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplokhotnyuk%2Fexpression-evaluator/lists"}