{"id":26088968,"url":"https://github.com/fernandothedev/farpyscript","last_synced_at":"2026-02-16T20:03:10.370Z","repository":{"id":275235049,"uuid":"925486528","full_name":"FernandoTheDev/farpyscript","owner":"FernandoTheDev","description":"FarpyScript is an experimental, interpreted scripting language designed with two goals in mind: security as a core principle and pure programming enjoyment.","archived":false,"fork":false,"pushed_at":"2025-03-02T13:48:06.000Z","size":39160,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T04:54:51.497Z","etag":null,"topics":["brasil","deno","experimental","programming-language","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FernandoTheDev.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,"zenodo":null}},"created_at":"2025-02-01T01:28:48.000Z","updated_at":"2025-02-18T17:23:27.000Z","dependencies_parsed_at":"2025-03-02T14:36:27.618Z","dependency_job_id":null,"html_url":"https://github.com/FernandoTheDev/farpyscript","commit_stats":null,"previous_names":["fernandothedev/farpyscript"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/FernandoTheDev/farpyscript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoTheDev%2Ffarpyscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoTheDev%2Ffarpyscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoTheDev%2Ffarpyscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoTheDev%2Ffarpyscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FernandoTheDev","download_url":"https://codeload.github.com/FernandoTheDev/farpyscript/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FernandoTheDev%2Ffarpyscript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29516942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["brasil","deno","experimental","programming-language","typescript"],"created_at":"2025-03-09T08:44:46.754Z","updated_at":"2026-02-16T20:03:10.334Z","avatar_url":"https://github.com/FernandoTheDev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FarpyScript\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"/images/logo.png\" width=\"300\" height=\"300\"\u003e\n\u003c/div\u003e\n\n[![Version](https://img.shields.io/badge/version-0.0.1-blue.svg)](https://github.com/your-username/farpyscript)\n\nFarpyScript is an experimental interpreted programming language focused on security, developed as an open-source educational project.\n\n## Current Version\n\n- **Version**: 0.0.1  \n- **Status**: Early development  \n- **Last update**: 16/02/2025 | 02/16/2025\n\n## Overview\n\nFarpyScript was born out of curiosity about the inner workings of programming languages. The project aims to provide hands-on experience in interpreter development, being built completely from scratch.\n\nPartially inspired by the [guide-to-interpreters-series](https://github.com/tlaceby/guide-to-interpreters-series) project, FarpyScript implements a recursive descent parser, ideal for educational purposes and small-scale projects.\n\n## Instalation\n\n```bash\ngit clone https://github.com/FernandoTheDev/farpyscript\ncd farpyscript\n```\n\nRepl:\n\n```bash\ndeno run -A main.ts\n```\n\nFile:\n\n```bash\ndeno run -A main.ts \u003cFILE\u003e.fscript\n```\n\nIn the future, binary with path will come\n\n## Development Status\n\n### Implemented ✅\n\n- Lexer (Lexical Analyzer)  \n- Verbose error handling system  \n- Parser (Syntax Analyzer)\n- Type System  \n  - Mutable and immutable variables  \n  - Strong typing  \n  - Variable redeclaration\n- Language Features  \n  - Function declaration and calls  \n  - Recursion  \n  - Control flow structures (if)  \n- Built-in constants  \n\n### In Progress 🚧 \n  \n- Type System  \n  - Complex types (objects, arrays, vectors)  \n- Language Features  \n  - Control flow structures (for, while, try/catch)  \n- Native Libraries  \n  - I/O  \n  - Math  \n  - HTTP  \n\n## Architecture\n\nThe interpreter follows a recursive descent parser architecture, chosen for its:  \n\n- Simplicity of implementation  \n- Ease of understanding  \n- Suitability for educational purposes  \n\n## How to Contribute\n\nYour contributions are welcome! To contribute:  \n\n1. Fork the repository  \n2. Create a branch for your feature (`git checkout -b feature/NewFeature`)  \n3. Commit your changes (`git commit -m 'Add new feature'`)  \n4. Push to the branch (`git push origin feature/NewFeature`)  \n5. Open a Pull Request  \n\nAll PRs will be reviewed by the main maintainer (fernandothedev).  \n\n## License\n\nMIT License\n\n``` \nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n---\n\n📝 **Note**: This is an experimental project under active development. Contributions and feedback are always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandothedev%2Ffarpyscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandothedev%2Ffarpyscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandothedev%2Ffarpyscript/lists"}