Skip to content
Dyalect is a dynamic programming language for .NET Core
C# Other
  1. C# 99.3%
  2. Other 0.7%
Branch: master
Clone or download
Latest commit 194f217 Aug 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
Binaries Add project files. Apr 9, 2019
Common Close #253, WIP #49 Aug 16, 2019
Docs Runtime error messages are redesigned. Aug 16, 2019
Dyalect.Console Runtime error messages are redesigned. Aug 16, 2019
Dyalect.Library Close #248 Aug 8, 2019
Dyalect Runtime error messages are redesigned. Aug 16, 2019
.gitattributes Add .gitignore and .gitattributes. Apr 9, 2019
.gitignore Add .gitignore and .gitattributes. Apr 9, 2019
Dyalect.sln Added an ability to run tests from interactive console May 15, 2019
LICENSE Create LICENSE Apr 17, 2019
README.md Update README.md Aug 5, 2019

README.md

Dyalect GitHub tag (latest SemVer)

Build status AppVeyor tests

Dyalect is a dynamic programming language for .NET Core platform. It is lightweight, fast and modern. Dyalect (or Dy for short) is written in C# and has zero dependencies except for standard .NET Core libraries, which means that it can seamlessly run on Windows, MacOS and Linux. Moreover you can use the same binaries on any of these platforms!

Dy doesn't utilize DLR nor does it compile to IL (.NET assembly). Instead it runs on the top of its own high performance virtual machine. It compiles fast and can be used as an embeddable language or as a scripting language of your choice. It is also a good language to learn programming.

Dyalect offers modern syntax, inspired by such languages as C#, Swift, Go and Rust, first class functions, coroutines, expressive modules, a dynamic type system with an ability to extend existing types with new functions and much more.

A taste of Dy:

func fib(n) {
    if n < 2 {
        return n
    }
    fib(n - 1) + fib(n - 2)
}

//Calculate the n-th fibonacci number
fib(11)

And a small example with iterators (coroutines):

func fetch() { 
    yield 22 * 1.25
    yield "Hello, world!"
    yield (1,2,3)
    yield true  
}

for x in fetch() {
    print(x)
}

Outputs:

27.5
Hello, world!
(1, 2, 3)
true

Dy is shipped with a crossplatform interactive console which can help you to familiarize yourself with the language.

The project is still in early development, however you can already download the binaries or study existing code.

Please refer to wiki for more information.

Links

You can’t perform that action at this time.