{"id":21347527,"url":"https://github.com/fulcanelly/salo-lang","last_synced_at":"2025-10-05T02:38:57.639Z","repository":{"id":164957219,"uuid":"306807915","full_name":"fulcanelly/salo-lang","owner":"fulcanelly","description":"salo lang is a my first simple language writen in ruby and created just for fun, I'd say","archived":false,"fork":false,"pushed_at":"2020-11-11T19:26:56.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T16:33:06.566Z","etag":null,"topics":["language","ruby","salo-lang","virtual-machine","vm"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/fulcanelly.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":"2020-10-24T04:50:08.000Z","updated_at":"2023-10-15T01:09:39.000Z","dependencies_parsed_at":"2023-07-07T00:15:24.821Z","dependency_job_id":null,"html_url":"https://github.com/fulcanelly/salo-lang","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/fulcanelly%2Fsalo-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulcanelly%2Fsalo-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulcanelly%2Fsalo-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulcanelly%2Fsalo-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fulcanelly","download_url":"https://codeload.github.com/fulcanelly/salo-lang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822294,"owners_count":20353500,"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":["language","ruby","salo-lang","virtual-machine","vm"],"created_at":"2024-11-22T02:14:29.298Z","updated_at":"2025-10-05T02:38:57.534Z","avatar_url":"https://github.com/fulcanelly.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# salo-lang\n\nsalo lang is a my first simple language writen in ruby and created only for educational purposes\n\nI write It like a training for my future project.\nThe are a lot of things here are taken from ruby and scala.\nActually almost all values in **salo lang** is ruby primitives.\n\n### About implementation\nGrammar of this lang described in LALR.\n~~It executes code using tree-walk interpreter via AST.~~\nIt compiles AST to own stack-based virtual machinde's bytecode and then run it.\nNo any optimizations apply neither at runtime or compile time yet.\nAlso, it have no bindings in scope so it behaves like python from this edge.\n\n### Dependencies\n- [ruby](https://github.com/ruby/ruby)\n- [rly](https://github.com/farcaller/rly)\n\n### How to run \nSimply go to folder with this project and run\n```\nruby src/main.rb \u003cpath to salo program file\u003e\n```\n### Examples \u0026 Tests\nDue of absence of documentation examples would be good way to learn a litle bit about this language.\nYou can find them in `tests` folder.\n\nIt's actually far away from complete and have many problems as you can see from list below\n\n### Todo list\n- [ ] Fix operator precedence\n- [ ] Make modules more flexible \n- [ ] Lambdas, arrays, booleans \n- [ ] Default values in functions\n- [x] Virtual Machine\n- [ ] Documentanion \n\nIt would great if you help with some of these probles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulcanelly%2Fsalo-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffulcanelly%2Fsalo-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulcanelly%2Fsalo-lang/lists"}