{"id":13609366,"url":"https://github.com/vorov2/dyalect","last_synced_at":"2025-04-12T20:31:49.079Z","repository":{"id":38456091,"uuid":"180340192","full_name":"vorov2/dyalect","owner":"vorov2","description":"Dyalect is a dynamic programming language for .NET.","archived":false,"fork":false,"pushed_at":"2023-04-08T19:44:54.000Z","size":12794,"stargazers_count":79,"open_issues_count":4,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-07T15:44:40.209Z","etag":null,"topics":["c-sharp","compiler","coroutines","cross-platform","dotnet","dotnet-core","dyalect","interpreter","language","programming-language","scripting","scripting-language","virtual-machine"],"latest_commit_sha":null,"homepage":"","language":"C#","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/vorov2.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}},"created_at":"2019-04-09T10:12:12.000Z","updated_at":"2024-06-03T06:45:41.000Z","dependencies_parsed_at":"2024-04-16T07:48:31.470Z","dependency_job_id":"9336f22e-4ee0-49de-90dd-18a08a95c295","html_url":"https://github.com/vorov2/dyalect","commit_stats":null,"previous_names":[],"tags_count":152,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vorov2%2Fdyalect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vorov2%2Fdyalect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vorov2%2Fdyalect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vorov2%2Fdyalect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vorov2","download_url":"https://codeload.github.com/vorov2/dyalect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248629652,"owners_count":21136284,"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":["c-sharp","compiler","coroutines","cross-platform","dotnet","dotnet-core","dyalect","interpreter","language","programming-language","scripting","scripting-language","virtual-machine"],"created_at":"2024-08-01T19:01:34.371Z","updated_at":"2025-04-12T20:31:48.710Z","avatar_url":"https://github.com/vorov2.png","language":"C#","readme":"[![Build](https://github.com/vorov2/dyalect/actions/workflows/dotnet.yml/badge.svg)](https://github.com/vorov2/dyalect/actions/workflows/dotnet.yml)\n[![Tests](https://img.shields.io/badge/Tests-passing-33CB56?style=flat\u0026logo=pytest\u0026labelColor=2E343A\u0026logoColor=959DA5)](https://github.com/vorov2/dyalect/blob/master/Docs/TestResult.md)\n\n# Dyalect programming language \n\n[![GitHub tag (latest SemVer)](https://img.shields.io/badge/-Download-darkgreen?style=for-the-badge\u0026logo=github)](https://github.com/vorov2/dyalect/releases/latest)\n[![VSCode](https://img.shields.io/badge/-VSCode-blue?style=for-the-badge\u0026logo=Visual+Studio+Code\u0026logoColor=white)](https://marketplace.visualstudio.com/items?itemName=vorov2.dyalect)\n\nDyalect is a dynamic programming language for .NET platform.\nIt is lightweight, fast and modern. Dyalect (or Dy for short)\nsupports Windows, MacOS and Linux.\n\nDy runs on the top of its own high performance virtual machine. It\ncompiles fast and can be used as an embeddable language or as a\nscripting language of your choice. It is also a good language to learn\nprogramming.\n\nDyalect offers modern syntax, inspired by such languages as C#, Swift,\nGo and Rust, first class functions, coroutines, expressive modules,\na dynamic type system with an ability to extend existing types with\nnew methods and much more.\n\nA taste of Dy:\n\n```swift\nfunc fib(n) {\n    func fib(a = 0, b = 1, c) {\n        return a when c is 0\n        fib(b, a + b, c - 1)\n    }\n    fib(c: n)\n}\n\n//Calculate the n-th fibonacci number\nfib(50) \n```\n\nExtending standard types:\n\n```swift\nfunc Float.Pow(n) {\n    var result = 1.0\n\n    for i in 1..n {\n        result *= this\n    } when n \u003e 0\n\n    for i in -1..n {\n        result /= this\n    } when n \u003c 0\n\n    result\n}\n\n20.12.Pow(3) //Output: 8144.865728\n```\n\nAnd a small example with iterators:\n\n```swift\nfunc fetch() { \n    yield \"Hello, world!\"\n    yield 22 * 1.25\n}\n\nfor x in fetch() {\n    print(x)\n}\n```\n\nOutput:\n\n```\nHello, world!\n27.5\n```\n\nDy is shipped with a CLI (command line interface) which can\nhelp you to familiarize yourself with the language.\n\nPlease refer to [wiki](https://github.com/vorov2/dyalect/wiki) for more information.\n\n## Links\n\n* [Quick start guide](https://github.com/vorov2/dyalect/wiki/Language-overview)\n* [SourceForge page](https://sourceforge.net/projects/dyalect/)\n* [Dyalect at RosettaCode](http://rosettacode.org/wiki/Category:Dyalect)\n\n","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvorov2%2Fdyalect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvorov2%2Fdyalect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvorov2%2Fdyalect/lists"}