From d369a6429ee74ece0567904170b1eff5baaee884 Mon Sep 17 00:00:00 2001 From: xushiwei Date: Sun, 7 Jul 2024 15:12:20 +0800 Subject: [PATCH] README --- README.md | 22 +++++++++++++++++----- {_demo => _cmptest}/chansel/chansel.go | 0 2 files changed, 17 insertions(+), 5 deletions(-) rename {_demo => _cmptest}/chansel/chansel.go (100%) diff --git a/README.md b/README.md index 2f9c518b..864c2bae 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,22 @@ llgo - A Go compiler based on LLVM LLGo is a Go compiler based on LLVM in order to better integrate Go with the C ecosystem including Python. It's a subproject of [the Go+ project](https://github.com/goplus/gop). +LLGo aims to expand the boundaries of Go/Go+, providing limitless possibilities such as: + +* Game development +* AI and data science +* WebAssembly +* Embedded development +* ... + +How can these be achieved? + +``` +LLGo := Go + C + Python +``` + +LLGo is compatible with **C and Python** through the language's **Application Binary Interface (ABI)**, while LLGo is compatible with Go through its **syntax (source code)**. + ## C standard libary support @@ -194,11 +210,7 @@ Here are some examples related to them: ## Go syntax support -Most of the Go syntax is already supported. Except for the following, which needs to be improved: - -* map (Very limited support) - -Here are some examples related to Go syntax: +All Go syntax is already supported. Here are some examples: * [concat](_demo/concat/concat.go): define a variadic function * [genints](_demo/genints/genints.go): various forms of closure usage (including C function, recv.method and anonymous function) diff --git a/_demo/chansel/chansel.go b/_cmptest/chansel/chansel.go similarity index 100% rename from _demo/chansel/chansel.go rename to _cmptest/chansel/chansel.go