Skip to content
/ feel Public
forked from kulics/koral

An open source cross-platform programming language focused on efficiency.

License

Notifications You must be signed in to change notification settings

FrankHB/feel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Feel Programming Language

Feel is an open source programming language focused on efficiency. It can help you easily build cross-platform software.

With well-designed grammar rules, this language can effectively reduce the burden of reading and writing, allowing you to focus on solving problems.

This is the main source code repository for Feel. It contains the compiler, and documentation.

Warning: This language is still in the experimental stage and cannot meet the production requirements.

警告:这个语言目前还处于实验阶段,还未能满足生产要求。

Key Features

  • The moderm gramar, which is easy to distinguish.
  • Automatic memory management.
  • Generic.
  • Multi-paradigm programming.
  • Cross-platform.
  • Unicode.
  • Multiple backends, support C # / Go / JavaScript / Kotlin.
  • LLVM will be supported soon.

Getting Started

Quick Preview

main : (->) {
    print("Hello, world!")
    greetings : get_greetings("love k!")
    @ [index]value : greetings {
        ? index : 0 {
            print(value)
        } 1 {
            print(value + ", 世界!")
        } _ {
            print(value + ", world!")
        }
    }
}

get_greetings : (first str -> result []str) {
    <- first + {"你好"; "Hola"; "Bonjour"
                "Ciao"; "こんにちは"; "안녕하세요"
                "Cześć"; "Olá"; "Здравствуйте"
                "Chào bạn"}
}

Roadmap

  1. 2017.07 ~ 2018.03
    1. Design grammar.
    2. Achieve the C# compiler.
  2. 2018.03 ~ 2020.01
    1. Achieve self-compilation.
    2. Include standard library.
    3. Improve grammar to achieve grammatical stability.
  3. 2020.01 ~ 2021.12
    1. Write some projects using Feel.
    2. Compile to more languages, including Go/Kotlin/JavaScript/LLVM.
    3. Improved compilation capabilities and support for language server protocols.

Compare

Compare with C#, Go, Kotlin, Swift, Python. Read detail from Here.

Source Code

C#

Go

JavaScript (not yet)

Kotlin

About

An open source cross-platform programming language focused on efficiency.

Resources

License

Stars

Watchers

Forks

Packages

No packages published