{"id":21289305,"url":"https://github.com/agnivchtj/scala-interpreter","last_synced_at":"2026-08-02T00:31:24.505Z","repository":{"id":102959630,"uuid":"326020110","full_name":"agnivchtj/Scala-Interpreter","owner":"agnivchtj","description":"Built a definitional interpreter that parses, desugars and interprets the value of a core-language expression.","archived":false,"fork":false,"pushed_at":"2021-01-01T19:30:59.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T15:45:26.281Z","etag":null,"topics":["abstract-syntax-tree","desugarer","functional-programming","interpreter","parser","s-expressions","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agnivchtj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-01-01T17:02:24.000Z","updated_at":"2025-02-13T13:56:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"73f83fca-d5e5-4903-8162-801dc512eddb","html_url":"https://github.com/agnivchtj/Scala-Interpreter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agnivchtj/Scala-Interpreter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agnivchtj%2FScala-Interpreter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agnivchtj%2FScala-Interpreter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agnivchtj%2FScala-Interpreter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agnivchtj%2FScala-Interpreter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agnivchtj","download_url":"https://codeload.github.com/agnivchtj/Scala-Interpreter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agnivchtj%2FScala-Interpreter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009072,"owners_count":26084549,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["abstract-syntax-tree","desugarer","functional-programming","interpreter","parser","s-expressions","scala"],"created_at":"2024-11-21T12:38:37.839Z","updated_at":"2025-10-11T22:34:02.751Z","avatar_url":"https://github.com/agnivchtj.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scala Interpreter\n\nConcepts of programming languages can be implemented using a definitional interpreter approach in Scala, including case classes, pattern matching and recursive functions.\nA definitional interpreter is a program that interprets an abstract syntax tree representation of a program and computes its value. This allows us to examine the formal semantics of programming languages and makes explicit the mechanisms behind language constructs, including the abstractions of such mechanisms, without requiring more theoretical machinery than a basic functional language. \nScala provides features for algebraic data type definition, pattern matching and immutable data types that can be applied to programming language parsing and interpretation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagnivchtj%2Fscala-interpreter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagnivchtj%2Fscala-interpreter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagnivchtj%2Fscala-interpreter/lists"}