{"id":14991125,"url":"https://github.com/srgaabriel/selene","last_synced_at":"2026-03-06T04:30:17.126Z","repository":{"id":251441324,"uuid":"837425380","full_name":"SrGaabriel/selene","owner":"SrGaabriel","description":"🍂｜Selene is a statically-typed, imperative and procedural programming language compiled to LLVM IR. The language of tranquil and serenity.","archived":true,"fork":false,"pushed_at":"2025-02-16T23:56:46.000Z","size":21482,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"backend-refactor","last_synced_at":"2025-02-17T00:25:22.201Z","etag":null,"topics":["ast-parser","build-tool","compiler","gradle","jvm","kotlin","kotlin-jvm","kotlin-native","llvm","llvm-ir","multiplatform","programming-language","programming-language-development","selene"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/SrGaabriel.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-08-03T00:38:48.000Z","updated_at":"2025-02-16T23:56:56.000Z","dependencies_parsed_at":"2024-09-14T13:46:27.277Z","dependency_job_id":"72ef8695-0e0c-4ec3-af43-2baae932934e","html_url":"https://github.com/SrGaabriel/selene","commit_stats":{"total_commits":125,"total_committers":1,"mean_commits":125.0,"dds":0.0,"last_synced_commit":"6c6613eb96e362a393301f239e2255b544f76433"},"previous_names":["srgaabriel/gwydino","srgaabriel/selene","srgaabriel/gwydion"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrGaabriel%2Fselene","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrGaabriel%2Fselene/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrGaabriel%2Fselene/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrGaabriel%2Fselene/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SrGaabriel","download_url":"https://codeload.github.com/SrGaabriel/selene/tar.gz/refs/heads/backend-refactor","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239892059,"owners_count":19714246,"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":["ast-parser","build-tool","compiler","gradle","jvm","kotlin","kotlin-jvm","kotlin-native","llvm","llvm-ir","multiplatform","programming-language","programming-language-development","selene"],"created_at":"2024-09-24T14:21:31.327Z","updated_at":"2026-03-06T04:30:17.055Z","avatar_url":"https://github.com/SrGaabriel.png","language":"Kotlin","readme":"# 🍂 selene\n\n---\n\nMy first programming langauge I made to learn more about PL design. Most probably won't be finished in favor of [soma](https://github.com/SrGaabriel/soma) or [seren](https://github.com/SrGaabriel/seren)!\n\n---\n\n# Examples (from main branch)\n\nBasic input/output: \n```go\nfunc main () {\n    check_typed();\n}\n\nfunc check_if_typed_apple(reading: string) {\n    variable := \"apple\";\n    if reading == variable {\n        println(\"You typed 'apple'\");\n    } else {\n        println(\"You didn't type 'apple'.\");\n        check_typed();\n    }\n}\n\nfunc check_typed() {\n    println(\"\");\n    printf(\"Type something: \");\n\n    reading := readln();\n    println(\"You typed $reading\");\n\n    check_if_typed_apple(reading);\n}\n```\n\nStructs:\n```go\ndata Point(\n    x: int32,\n    y: int32,\n    signed: bool\n);\n\nfunc main() {\n    mut point := new_point();\n    print_point(point);\n    change_point(point);\n    print_point(point);\n}\n\nfunc new_point() :: Point {\n    return @Point(100, 400, true);\n}\n\nfunc change_point(point: mut Point) {\n    point.x = 200;\n    point.y = 800;\n    point.signed = false;\n}\n\nfunc print_point(point: Point) {\n    println(point.x);\n    println(point.y);\n    println(point.signed);\n}\n```\n\nTraits:\n```golang\ndata Map(\n    foo: int32,\n    remainder: int32\n)\n\ntrait Fooable(\n    new(foo: int32) :: Map,\n    fooat(self) :: int32\n)\n\nmake Map into Fooable {\n    func new(foo: int32) :: Map {\n        return @Map(foo, 42);\n    }\n\n    func fooat(self) :: int32 {\n        return self.foo;\n    }\n}\n\nfunc main() {\n    println(\"Hello, World!\");\n\n    new := Map@new(4);\n    println(new.fooat());\n\n    map := @Map(42, 64);\n    println(map.fooat());\n\n    new2 := map.new(8);\n    println(new2.fooat());\n}\n```\n\nLambdas:\n```golang\nfunc callback(value: int32, scope: lambda(int32) -\u003e int32) {\n    result := scope(value);\n    println(result);\n}\n\nfunc main() {\n    println(\"Hello, World!\");\n    callback(2, lambda|x: int32| x + 12);\n    callback(4, lambda|x: int32| x + 24);\n    callback(8, lambda|x: int32| x + 36);\n}\n```\n\n---\n\n# Brand\n\nThe icon of the language is a leaf. The theme color is #f05133.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrgaabriel%2Fselene","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrgaabriel%2Fselene","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrgaabriel%2Fselene/lists"}