Scheme playground.
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

1.5 KiB

Interscheme

A pixel graphics and sound playground using SDL2 and chibi-scheme.

WIP.

See also: http://synthcode.com/scheme/chibi/#h3_QuickStart

Build

Requirements:

  • Chibi Scheme
  • SDL2
  • SDL2 Mixer
  • SDL2 GFX

First, build and install chibi-scheme:

git clone https://github.com/ashinn/chibi-scheme.git
cd chibi-scheme
make -j$(nproc)
sudo make install

This will yield libchibi-scheme.so in /usr/local/lib and /usr/local/include/chibi header files. You might need to do ldconfig /usr/local/lib once.

It will also make a scheme REPL called chibi-scheme.

Then, in this here repo:

./build.sh

Run

Edit init.scm to your liking.

./interscheme

Documentation

Interscheme comes with several Scheme functions that are high-level wrappers to SDL functions. This is a complete list of readily-available functions (tagged with “no” or “yes” depending on whether or not the functionality is complete & working or not)

  • Graphical Functions
    • (pixel-put x y #xffffff) ; yes
    • (stroke-line x1 y1 x2 y2 #xffffffff) ; yes
    • (pixel-rect-fill x1 y1 x2 y2 #xffffff) ; yes
    • (pixel-ellipse-fill x1 y1 x2 y2 #xffffff) ; no
    • (get-pixel-value x y) ; no
    • (set-fps n) ; no
  • Audio Functions
    • (play-wav-file "some_file.wav") ; yes
    • (generate-tone frequency duration) ; wip
  • Input Functions
    • (mouse-x) ; yes
    • (mouse-y) ; yes
    • (keyboard) ; yes
    • (mouse-buttons) ; yes
    • (joystick) ; no

Interscheme is documented in more detail in the Reform Handbook.