// 1. Overview of Scheme
(* 5 8) // ==> 40
// 2.1 Identifiers
// Extended alphabetic characters may be used within identifiers as if they were letters. The following are extended alphabetic characters:
-
- . * / < = > ! ? : $ % _ & ~ ^
-- flocking. | |
-- | |
engine.name = 'PolyPerc' | |
local function to_hz(note) | |
local exp = (note - 21) / 12 | |
return 27.5 * 2^exp | |
end |
( | |
~engine=NornsProto.spawn('glut') { |engine| | |
var nvoices = 7; | |
var pg; | |
var effect; | |
var buffers; | |
var voices; | |
var mixBus; | |
var phases; |
( | |
Norns.spawn('glut') { |engine| | |
var nvoices = 7; | |
var pg; | |
var effect; | |
var buffers; | |
var voices; | |
var mixBus; | |
var phases; |
( | |
var imgui_prev; | |
var imgui = (); | |
var ui_begin = { | |
ui_clear.value; // TODO: perhaps possible to fix via property? | |
imgui.inside_item = nil; | |
Pen.font = imgui.font; |
( | |
~engine = Norns.spawn('glut') { |engine| | |
var nvoices = 7; | |
var pg; | |
var effect; | |
var buffers; | |
var voices; | |
var mixBus; | |
var phases; |
( | |
var nvoices = 7; | |
var pg; | |
var effect; | |
var buffers; | |
var voices; | |
var mixBus; | |
var phases; | |
var levels; |
( | |
var nvoices = 7; | |
var pg; | |
var effect; | |
var buffers; | |
var voices; | |
var mixBus; | |
var phases; | |
var levels; |
-- an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. | |
--[[ | |
]] | |
--[[ | |
inspiration: | |
https://norvig.com/lispy.html | |
scheme r4rs @ https://people.csail.mit.edu/jaffer/r4rs_toc.html |
// 1. Overview of Scheme
(* 5 8) // ==> 40
// 2.1 Identifiers
// Extended alphabetic characters may be used within identifiers as if they were letters. The following are extended alphabetic characters:
( // an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
/* TODO: assoc / assv / assq TODO TODO: (sc only) suspicion that slow ss_* functions has performance penalty - check by testing parsed statements in define_non_prim_standard_procedures TODO: (sc only) for clarity, use .value() over .() */
/*