# 认识 Kelyra

Kelyra 是一门仍在成长的编译型语言。它用清晰的函数、类与模块组织代码，同时允许你靠近系统接口，也能将一部分 Kelyra 函数编译为 GPU 着色器。

如果你第一次来到这里，建议先完成[第一个程序](./getting-started.md)，再按需要查阅[语言参考](/reference/syntax.md)。文档中的“当前支持”只描述仓库中已有实现；未来方向会明确标记。

## 一眼看看代码

下面是仓库里真实存在的标准库示例。`@main` 指定程序入口，`import` 引入模块，`std.io` 提供输出函数。

```kelyra
import std.io;

@main
pub fn main() -> i32 {
  std.io.print("answer = ");
  std.io.print_int(42);
  std.io.newline();
  let line: [256]u8;
  std.io.read_line(&line[0], 256);
  std.io.println((&line[0]) as *c.char);
  return 0;
}
```
这个示例还会读取一行输入。如果你只想确认编译器工作，可以先运行[更小的入口示例](./getting-started.md#编译并运行)。

## 能做什么

| 方向 | 当前状态 |
| --- | --- |
| 普通程序 | 原生目标文件与可执行文件，Kelp 项目管理器 |
| 语言组织 | 模块、类、接口、泛型类、函数和方法重载 |
| 系统编程 | 指针、切片、C 头文件导入、外部函数与链接库声明 |
| 图形 | Windows 上的窗口与 DX12 示例；Kelyra Shader 可输出 DXIL 和 SPIR-V |
| 编辑工具 | Kide 编辑器扩展和语言服务相关工具 |

::: tip 正在成长
完整 HLSL 能力、跨平台 UI 后端等仍在演进中。图形页面会把已验证的功能和当前限制写在一起。
:::

## 从哪里继续

- 想动手：从[安装与第一个程序](./getting-started.md)开始。
- 想查语法：打开[语法速览](/reference/syntax.md)。
- 想探索标准库：去[标准库概览](/library/overview.md)。
