Skip to content
/ bisquay Public

A quixotic compendium of code written in Standard ML

License

Notifications You must be signed in to change notification settings

cannam/bisquay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

13dcffe · Feb 27, 2025
Jun 18, 2022
Oct 22, 2024
May 7, 2021
Nov 7, 2021
Sep 8, 2022
Jun 18, 2022
Sep 8, 2022
Oct 23, 2024
Oct 23, 2024
Feb 26, 2025
Nov 6, 2020
Feb 26, 2025
Oct 22, 2024
Oct 17, 2024
Feb 27, 2025
Feb 17, 2023
Nov 5, 2020
Sep 29, 2021
Oct 17, 2024
Aug 17, 2022
Mar 18, 2021
Aug 17, 2022
Feb 15, 2023

Repository files navigation

Bisquay

A quixotic compendium of code written in the Standard ML programming language. Intended for audio-processing applications, though some parts are more generic.

  • Bisquay is quixotic because SML is not an obvious choice of language for this purpose and there is no existing library of applicable code to build on. It's an epic struggle against an invented adversary.

  • Bisquay is a compendium because this repository contains (almost) no code, just a Repoint manifest that defines a multitude of modules to pull in as subdirectories. Several of these modules are third-party, or were originally written for other purposes, while others (with names beginning bsq) were written specifically for this.

All Bisquay code is licensed under a BSD/MIT or equivalent licence.

Contents

See the file CONTENTS.md for a list of the libraries included, with links to their individual repositories online.

To build

Requires the Meson build system and either MLton or Poly/ML SML compiler (or both).

The default build uses Poly/ML, producing a development build with the quickest compile time and turnaround, using pure SML code only:

  1. Run ./repoint install to bring in all the code
  2. Run meson build and ninja -C build

The output will be a file called bsq_test in the build directory that just runs some unit tests.

For a release-level build with C code via FFI for the fast bits, use the mlton_release build option:

  1. Run ./repoint install to bring in all the code
  2. Run meson build -Dsml_buildtype=mlton_release and ninja -C build

The sml_buildtype Meson option accepts the following values:

  • polyml - the default - pure SML with no additional C/C++ FFI support, compiled using Poly/ML
  • mlton_noffi - pure SML compiled using MLton
  • mlton_debug - SML + C/C++ FFI compiled using MLton with extra debug logging output
  • mlton_profile - SML + C/C++ FFI compiled using MLton with profiling support
  • mlton_release - SML + C/C++ FFI compiled using MLton in release mode

To build the documentation, run meson compile -C build doc after the build directory has been configured; then open doc/index.html in a browser.

Author and copyright

The Bisquay code and the bsq modules were written by Chris Cannam and are Copyright 2020-2022 Particular Programs Ltd, published under the MIT/X11 licence. See the file COPYING for details.

See the individual directories for copyright notes on the other modules.

About

A quixotic compendium of code written in Standard ML

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published