foolang
所属分类:collect
开发工具:Smalltalk
文件大小:0KB
下载次数:0
上传日期:2023-06-17 14:33:21
上 传 者:
sh-1993
说明: 一种玩具编程语言。,
(A toy programming language.,)
文件列表:
CODE_OF_CONDUCT.md (771, 2023-06-17)
CONTRIBUTING.md (2398, 2023-06-17)
Cargo.lock (12502, 2023-06-17)
Cargo.toml (759, 2023-06-17)
LICENSE (1090, 2023-06-17)
Makefile (4107, 2023-06-17)
build.sh (4710, 2023-06-17)
c/ (0, 2023-06-17)
c/ext.h (185, 2023-06-17)
c/foo.h (7435, 2023-06-17)
c/main.c (40445, 2023-06-17)
c/mark-and-sweep.c (12529, 2023-06-17)
c/mark-and-sweep.h (760, 2023-06-17)
c/random.c (5087, 2023-06-17)
c/system.h (1459, 2023-06-17)
c/system_unix.c (6966, 2023-06-17)
c/system_windows.c (10181, 2023-06-17)
c/test_system.c (493, 2023-06-17)
data/ (0, 2023-06-17)
data/1001-character-line.txt (1002, 2023-06-17)
data/132-bytes.txt (132, 2023-06-17)
data/empty.txt (0, 2023-06-17)
data/lorem_ipsum.txt (446, 2023-06-17)
debug.sh (699, 2023-06-17)
docs/ (0, 2023-06-17)
docs/.nojekyll (0, 2023-06-17)
docs/Arrays.md (4228, 2023-06-17)
docs/Booleans.md (1134, 2023-06-17)
docs/CNAME (11, 2023-06-17)
docs/Comprehensions.md (160, 2023-06-17)
... ...
# Foolang
![CI](https://github.com/nikodemus/foolang/workflows/CI/badge.svg) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
**_This is a toy language implemented by a single person—use for quiet enjoyment only._**
See https://foolang.org for syntax, design notes, etc. This README is a
smaller version of the main page there.
See [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute.
You'll be the first. :)
## About
Foolang is a Smalltalk-inspired language that, like all new languages, has
somewhat _optimistic aspirations_:
- **_Elegance and power of Smalltalk and Self:_** Smalltalk/Objective-C -like
syntax, deep object orientation, late binding, interactive development.
- **_Performance of C++:_** AOT compilation to native code, support for early
binding so that the compiler can do its thing, low-level datatypes and
operations when you need them for performance.
- **_Fault tolerance of Erlang:_** Actor-model, isolated heaps, and supervisors.
No undefined behaviour. No deadlocks, or memory errors or races.
- **_Multiplatform Citizen of the Web:_** WASM is a supported target in addition
to Windows, MacOS, Linux, and BSDs.
**_"Are we there yet?"_**
:rofl:
Syntax is still going to change, WASM isn't supported, BSDs might work but
aren't tested, early binding support isn't quite there, compiler is a
work-in-progress trivial transpiler, actors and continuations haven't even been
started, there is no interactive development environment to speak of, etc.
## Hello World
``` foolang
class Main {}
direct method run: command in: system
system output println: "Hello world"!
end
```
## Repository Organization
In rough order of interest:
```
foo/ Foolang code, including prelude, self hosting, tests, and examples
src/ Rust code for the bootstrap interpreter
docs/ Markdown files for the https://foolang.org website
elisp/ Emacs mode for Foolang
c/ Scaffolding for transpiled-to-C code
tests/ Rust code for integration tests
ext/ External C code included in the runtime, like dtoa.c.
```
近期下载者:
相关文件:
收藏者: