Motty
原生桌面 SSH 工作台:终端、SFTP/SCP、端口转发、VNC 与 RDP 远程桌面、AI 助手都在一个窗口里。Go 编写,没有 Electron,空闲时保持安静。免费开源,支持 macOS、Windows 和 Linux。
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Irken is a statically-typed, simplified variant of Scheme. Or... a lisp-like variant of ML, depending on your point of view. If you're not familiar with either family of languages, Irken is a strongly typed, compiled language with a lisp-like syntax extensible with macros. It uses type inference along with a powerful type system to give you the speed of a compiled language with high-level data types and a higher degree of safety than languages like C/C++.
202611: Native backends, and a new bootstrap.
-arm, -amd, -rv), in addition to C and bytecode.
the LLVM backend is gone.make bootstrap builds a native compiler, using the VM only once;
on an M2 Pro mac mini it takes about 40 seconds.test/ (python3 util/test.py).Tested on:
20180829: Merged the FFI branch in.
This includes a lot of work:
genffi uses a full C parser to generate an interface file.20170329: Merged the bytecode backend and VM.
This has been tested on four platforms:
https://dark.nightmare.com/rushing/irken/irken/lang.html
The best way to get familiar with the language is to read the source code in the 'self' directory, and browse over the files in "tests".
apt install libffi-dev. Fedora: dnf install libffi-devel.pkg install libffi.apt install libsodium-dev zlib1g-dev, pkg install libsodium,
or brew install libsodium). Without them, the bootstrap just skips
their interfaces.Irken is written in itself, so you need to bootstrap it using a pre-compiled bytecode image.
Just run make bootstrap:
$ make bootstrap
It uses clang if it can find it, otherwise cc. To choose:
$ CC=gcc make bootstrap
It starts by printing the host, OS, git commit and compiler, then the time at each step. It does the following:
The compiler itself only needs C's libc and stdio (see lib/base.scm), so nothing platform-specific has to be generated before step 1.
You end up with two compilers: self/irken, which has only this
machine's native backend (and is the quickest to rebuild while working
on the compiler), and self/compile, which has them all.
$ python3 util/test.py
runs the suite in test/ with every backend this machine can run (C,
bytecode, and the native one), and should end with no failures: a few
known bugs are marked as expected failures. See test/README.md.
Note: It is not possible to compile with optimization off, because this disables the tail call optimization that Irken relies on - otherwise the stack will overflow instantly.
$ python util/install.py
This will install support files into /usr/local/lib/irken and the binary as /usr/local/bin/irken.
If you want to use a different prefix (like /usr), edit util/install.py and self/context.scm, and
rebuild self/compile before installing:
$ self/compile self/compile.scm
Here's a sample - create a random ASCII maze:
$ irken demo/maze/maze.scm
$ demo/maze/maze 20 10 -ascii
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗