Chicken-scheme

From UVOO Tech Wiki
Jump to navigation Jump to search

Tools

Command line tools are written in chicken scheme.

Why Chicken Scheme?

  1. Need to create small unix friendly tools.
  2. Need good cross-platform support for filesystem, http, etc.
  3. Alpheus and Justin like Lisp.

From FAQ

  • CHICKEN is portable because it generates C code that runs on a large number of platforms.
  • CHICKEN is extensible, since its code generation scheme and runtime system/garbage collector fits neatly into a C environment.
  • CHICKEN offers better performance than nearly all interpreter based implementations, but still provides full Scheme semantics.

Eggs

To install eggs:

chicken-install {egg name}

Egg Index

Install

Debian

To install chicken on debian:

sudo apt install chicken

Windows

MinGW-w64

Windows requires mingw-w64 for csc and for building itself. This is a one time installation

Direct link

The direct link comes from the listing titled "MinGW-W64-builds" on this page:

Mingw-w64

Note: You must use mingw-w64, classic mingw does not work (Justin tried).

It is recommended to use mingw-w64 in place of mingw32 as the mingw32 project is no longer as actively maintained. Reference

Building Chicken

To install chicken on windows, download a tarball

unpack the tarball

tar -xzf chicken-4.13.0.tar.gz
mingw32-make PLATFORM=mingw ARCH=x86-64 PREFIX=c:/chicken
mingw32-make PLATFORM=mingw ARCH=x86-64 PREFIX=c:/chicken install

Reference

Note that the build process generates a chicken-defaults.h and chicken-config.h based on the system configuation. If the build fails you may have to erase these to have it regenerate.

Then add C:\chicken\bin to the users' path. (My Computer -> Properties -> Advanced Settings -> Enviornmental variables)

Our Windows Server

You can get into the server and setup tunneling for VNC by typing:

ssh -p 39089 cryptofex@vip1.pyr8.io -L 5900:localhost:5900

Talk to Justin for the password.

vim and nano are installed. exit can be used to logoff.

With SSH running you can use a VNC client such as tiger-vncviewr. The VNC password is admin.