uliska / lilyponds-scheme Goto Github PK
View Code? Open in Web Editor NEWUnderstanding Scheme in LilyPond, web-book
Understanding Scheme in LilyPond, web-book
https://scheme-book.ursliska.de/scheme/lists/iteration.html "later chapter"
The last section on https://scheme-book.ursliska.de/scheme/conditionals/cond.html was reported to be unclear by a reader.
MkDocs compiles a file site/search/search_index.json
, which obviously powers the search widget.
However, since the book is split into a main and multiple subbooks, the search functionality only works for the current bookpart. This is not intuitive and not useful, I want the search box to work across the whole book.
Solution: add a script that is run at the end of build.sh
.
I'm on Ubuntu 20.04 using a Chrome browser (87) and I don't see any LilyPond syntax highlighting on any of the pages. I only knew that I was supposed to see it because at one point to said, "... as you can see from the syntax lighting."
From a private discussion:
Random numbers in Scheme are only random if you initialize them to some "outside" value, e.g. the current time. This has been discussed just a few days ago: https://lists.gnu.org/archive/html/lilypond-user/2020-01/msg00496.html
Probably I should do so in the example because otherwise there's no practical use for the function.I read but it did not help. I tried using this (set! random-state (random-state-from-platform)) in a couple of places. I got 61 or nothing
Well, it seems David's explanation was less useful than I thought.
I don't know what random-state-from-platform
is, and I get an error from this.
The full documentation is at https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Random.html#Random, and there you can find the explanation and an example for seed->random-state
which David referenced.
You need to call that procedure with "something that isn't the same every time", for example with
\version "2.19.82"
#(set! *random-state*
(seed->random-state
(cdr (gettimeofday))))
#(display (random 100))
While this isn't really documented (shame on Guile!) it seems seed->random-state
expects a string but auto-converts numbers to that. So it is possible to use one of the parts of the current time pair to seed the random state and get a different number in every run.
I think this should be described somewhere. Maybe a section with "various topics"?
The page https://scheme-book.ursliska.de/scheme/alists/index.html does not exists (and it should). It should probably be inserted into the Scheme book under "Compound Data Type" between "List and Pairs" and "Vectors".
#((lambda var-list
(display (car var-list))
(newline)
(length var-list))
'one 'two 'three 'four)
should be:
((lambda var-list
(display (car var-list))
(newline)
(display (length var-list)))
'one 'two 'three 'four)
The following pages are only stubs. I opened this issue just so we will know where to find them.
https://scheme-book.ursliska.de/scheme/loops/recursion.html
https://scheme-book.ursliska.de/scheme/loops/do-while.html
In the example on https://github.com/uliska/lilyponds-scheme/blob/master/scheme/docs/conditionals/cond.md the random
procedure is not seeded, so the result is always 61
, which is both confusing and actually makes the example moot.
See https://lists.gnu.org/archive/html/lilypond-user/2020-01/msg00496.html and update the example.
In the Scheme book, under Concepts / Binding and Variables / Top Level Bindings there is a link pointing to https://scheme-book.ursliska.de/scheme/defining-procedures.html. This page doesn't exist.
On this page (https://scheme-book.ursliska.de/scheme/alists/retrieving.html) at the bottom of the section on Different return targets, the link for conditionals is broken (either the link points to the wrong page or the page does not exists at all).
In https://scheme-book.ursliska.de/scheme/alists/modifying.html, under Adding an Entry, the bindings link is broken. Maybe it should point here: https://scheme-book.ursliska.de/scheme/binding/README.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.