6 releases (3 breaking)

0.11.1 Sep 14, 2024
0.11.0 Jul 20, 2024
0.10.0 Dec 27, 2022
0.9.0 Jun 6, 2022
0.8.0 Nov 11, 2021

#1130 in Development tools


Used in endbasic

Apache-2.0

1.5MB
31K SLoC

The EndBASIC programming language - REPL

Crates.io Docs.rs

EndBASIC is an interpreter for a BASIC-like language and is inspired by Amstrad's Locomotive BASIC 1.1 and Microsoft's QuickBASIC 4.5. Like the former, EndBASIC intends to provide an interactive environment that seamlessly merges coding with immediate visual feedback. Like the latter, EndBASIC offers higher-level programming constructs and strong typing.

EndBASIC offers a simplified and restricted environment to learn the foundations of programming and focuses on features that can quickly reward the programmer. These features include things like a built-in text editor, commands to render graphics, and commands to interact with the hardware of a Raspberry Pi. Implementing this kind of features has priority over others such as performance or a much richer language.

EndBASIC is written in Rust and runs both on the web and locally on a variety of operating systems and platforms, including macOS, Windows, and Linux.

EndBASIC is free software under the Apache 2.0 License.

What's in this crate?

endbasic-repl provides logic that is specific to the REPL and that is shared by all frontends to EndBASIC. This includes features like:

  • AUTOEXEC.BAS support.
  • Built-in demo programs.
  • Common console initialization.
  • Interactive full-screen editor.

Dependencies

~2.9–4MB
~70K SLoC