• R/O
  • HTTP
  • SSH
  • HTTPS

Repository summary

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Nix flake for RPython interpreters


Recent Commits RSS

Rev. Time Author Message
e0d54da 2024-06-06 13:57:37 Corbin main master regiux: Stub out binary ops. The provided addition op wo...
72d1f1b 2024-06-06 13:24:06 Corbin regiux: Add string literals. There's some future work to...
741ecbc 2024-06-05 00:06:13 Corbin Switch over to PyPy bootstrap. It's faster overall -- 30...
f528ed9 2024-06-02 13:21:41 Corbin bf: Correctly compile empty loops. They are used as comm...
801ef89 2024-06-02 12:19:53 Corbin bf: Recognize two-destination scale-and-add operations. ...
04f13a7 2024-05-25 11:28:14 Corbin regiux: Implement Booleans and if-expressions.
00d1378 2024-05-24 17:10:55 Corbin Add Pixie. Also do a bunch of required fixups. Pixie doe...
7b37723 2024-05-24 16:11:57 Corbin Uniformly build all three PyPys from a single file. We n...
1530ce8 2024-05-15 11:09:37 Corbin reguix: Wire up basic inherits.
784b438 2024-05-15 09:47:55 Corbin reguix: Implement builtin attrset and application. I had...

Branches

Name Rev. Time Author Message
main e0d54da 2024-06-06 13:57:37 Corbin regiux: Stub out binary ops...
master e0d54da 2024-06-06 13:57:37 Corbin regiux: Stub out binary ops...

README.md

Nix flake for RPython packages

This flake offers implementations of the following languages:

Language Attribute
Brainfuck bf
DIVSPL divspl
LR35902 "Game Boy" pygirl
Nix regiux
Pixie pixie
Prolog pyrolog
Python 2.7 pypy2
Python 3.10 pypy3
Ruby topaz

And its helpers are used by the following flakes:

Language Downstream
Monte typhon

These implementations have one thing in common: they are written with RPython, a restricted subset of Python 2.7 which is amenable to static analysis. Using the RPython toolchain, they may be translated to efficient native interpreters with optional JIT functionality.

Features

This flake supports fifteen different systems covering all supported upstream system configurations. If PyPy officially supports a system, then this flake should support it as well.

This flake bootstraps RPython semi-independently of nixpkgs. It uses stdenv to build a CPython for Python 2.7, then uses CPython to build PyPy for Python 2.7 with minimal dependencies. This PyPy is then used to run RPython for all other builds.

Limitations

This flake does not support cross-compilation. This may be a permanent restriction, since RPython generally translates binaries for its build system only.

Contributions

There is not yet a contribution workflow; contact Corbin directly to send patches or pull requests. Individual interpreters can be added to collaborative organizations on forges; inquire for details.