From 4cd5aa97aa04756ba854e8ad44537b92b0ef3a61 Mon Sep 17 00:00:00 2001 From: brianharvey Date: Thu, 23 Jul 2020 15:08:44 -0700 Subject: [PATCH] Update LIBRARIES --- libraries/LIBRARIES | 52 +++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/libraries/LIBRARIES b/libraries/LIBRARIES index 31ae604e..710b26ef 100644 --- a/libraries/LIBRARIES +++ b/libraries/LIBRARIES @@ -1,31 +1,41 @@ iteration-composition.xml Iteration, composition Traditional loop constructs (while, until, etc.) plus the Lisp "named let" (a generalization of FOR) plus functional iteration (repeated invocation of a function) and function composition. -list-utilities.xml List utilities Some standard functions on lists (append, reverse, etc.) -apl.xml APL primitives Adds features from the APL language supporting hyperblocks. -stream-tools.xml Streams (lazy lists) A variation on the list data type in which each list item aren't computed until it's needed, so you can construct million-item lists without really taking up all that time or memory, or even infinite-sized lists. (A block that reports all the prime numbers is included as an example.) +list-utilities.xml List utilities Some standard functions on lists (reverse, sort, etc.) +colors.xml Colors and Crayons Incorporates the former crayon and set RGB libraries. Implements fair hues (more orange, less green, adds brown) and a linear color scale including grayscale and fair-hue-based shades. +bignumbers.xml ∞ integers, exact rationals, complex The full Scheme numeric tower. "USE BIGNUMS " to enable. +cases.xml Multi-branched conditional Like "switch" in C-like languages or "cond" in Lisp. Thanks to Nathan Dinsmore for inventing the idea of a separate block for each branch! +try-catch.xml Catch errors Run a script; if an error happens, instead of stopping the script with a red halo, run another script to handle the error. Also includes a block to cause an error with a message given as input. Also includes a block to create a script variable and give it a value. +parallel_module.xml Parallelization Run several scripts in parallel and wait until all are done. +Eisenbergification.xml Getters and setters Eisenberg's Law: Anything that can be done from the GUI should be doable from the programming language, and vice versa. +multiline.xml multi-line input In general, text inputs allow only a single line. The MULTILINE block accepts multi-line text input and can be used in text input slots of other blocks. variadic-reporters.xml Variadic reporters Versions of +, x, AND, and OR that take more than two inputs. -httpBlocks.xml Web services access (https) An extended version of the HTTP:// block that allows POST, PUT, and DELETE as well as GET requests, allows using the secure HTTPS protocol, and gives control over headers, etc. -word-sentence.xml Words, sentences One of the big ideas in Logo that they left out of Scratch is thinking of text as structured into words and sentences, rather than just a string of characters. This library brings back that idea. -bar-charts.xml Bar charts from tables Takes a table (typically from a CSV data set) as input and reports a summary of the table grouped by the field in the specified column number. The remaining three inputs are used only if the field values are numbers, in which case they can be grouped into buckets (e.g., decades, centuries, etc.). Those three inputs specify the smallest and largest values of interest and, most importantly, the width of a bucket (10 for decades, 100 for centuries). If the field isn't numeric, leave these three inputs empty or set them to zero. In that case, each string value of the field is its own bucket, and they appear sorted alphabetically. The block reports a new table with three columns. The first column contains the bucket name or smallest number. The second column contains a nonnegative integer that says how many records in the input table fall into this bucket. The third column is a subtable containing the actual records from the original table that fall into the bucket. If your buckets aren't of constant width, or you want to group by some function of more than one field, load the "Frequency Distribution Analysis" library instead. -cases.xml Multi-branched conditional (switch) Like "switch" in C-like languages or "cond" in Lisp. Thanks to Nathan Dinsmore for inventing the idea of a separate block for each branch! -leap-library.xml LEAP Motion controller Report hand positions from LEAP Motion controller (leapmotion.com). +~ ~ +~ ~ +~ ~ +maps_module.xml World Map Add interactive maps to projects textCostumes_module.xml Text Costumes Generate costumes from letters or words of text. -colors.xml Crayons, fair hues, color done right Incorporates the crayon library and the set RGB library. Implements fair hues (more orange, less green, adds brown) and a linear color scale including grayscale and fair-hue-based shades. -setrgb.xml Set RGB or HSV pen color Set or report pen color as RGB (red, green, blue) or HSV (hue, saturation, value). -try-catch.xml Catch errors in a script Run a script; if an error happens, instead of stopping the script with a red halo, run another script to handle the error. Also includes a block to cause an error with a message given as input. Also includes a block to create a script variable and give it a value. -multiline.xml Allow multi-line text input to a block In general, text inputs allow only a single line. The MULTILINE block accepts multi-line text input and can be used in text input slots of other blocks. -Eisenbergification.xml Provide getters and setters for all GUI-controlled global settings Eisenberg's Law: Anything that can be done from the GUI should be doable from the programming language, and vice versa. -bignumbers.xml Infinite precision integers, exact rationals, complex The full Scheme numeric tower. "USE BIGNUMS " to enable. -crayons.xml Provide 100 selected colors to use instead of hue for better selection speech_module.xml Text to speech output text using speech synthesis. animation_module.xml Animation glide, grow and rotate using easing functions. pixel_module.xml Pixels manipulate costumes pixel-wise. audioComp_module.xml Audio Comp analyze, manipulate and generate sound samples. -atomic_HOFs_module.xml "Bigger" Data [EXPERIMENTAL] crunch large lists very fast -frequency_distribution_module.xml Frequency Distribution Analysis [EXPERIMENTAL] analyze data for frequency distribution -maps_module.xml World Map [EXPERIMENTAL] add interactive maps to projects -make-variables.xml Create variables in program Create and manage global/sprite/script variables in a script -json.xml Deal with JSON data Turn JSON strings into lists with the listify block, then retrieve data out of them by using the value at key block. -parallel_module.xml Parallelization Run several scripts in parallel and wait until all are done. +atomic_HOFs_module.xml "Bigger" Data Crunch large lists very fast +frequency_distribution_module.xml Frequency Distribution Analysis Analyze data for frequency distribution +~ ~ +~ ~ +~ ~ +word-sentence.xml Words, sentences One of the big ideas in Logo that they left out of Scratch is thinking of text as structured into words and sentences, rather than just a string of characters. This library brings back that idea. strings.xml String processing Extract substrings of a string in various ways +apl.xml APL primitives Adds features from the APL language supporting hyperblocks. +stream-tools.xml Streams (lazy lists) A variation on the list data type in which each list item aren't computed until it's needed, so you can construct million-item lists without really taking up all that time or memory, or even infinite-sized lists. (A block that reports all the prime numbers is included as an example.) +bar-charts.xml Bar charts Takes a table (typically from a CSV data set) as input and reports a summary of the table grouped by the field in the specified column number. The remaining three inputs are used only if the field values are numbers, in which case they can be grouped into buckets (e.g., decades, centuries, etc.). Those three inputs specify the smallest and largest values of interest and, most importantly, the width of a bucket (10 for decades, 100 for centuries). If the field isn't numeric, leave these three inputs empty or set them to zero. In that case, each string value of the field is its own bucket, and they appear sorted alphabetically. The block reports a new table with three columns. The first column contains the bucket name or smallest number. The second column contains a nonnegative integer that says how many records in the input table fall into this bucket. The third column is a subtable containing the actual records from the original table that fall into the bucket. If your buckets aren't of constant width, or you want to group by some function of more than one field, load the "Frequency Distribution Analysis" library instead. +make-variables.xml Create variables Create and manage global/sprite/script variables in a script +~ ~ +~ ~ +~ ~ +httpBlocks.xml Web services access (https) An extended version of the URL block that allows POST, PUT, and DELETE as well as GET requests, allows using the secure HTTPS protocol, and gives control over headers, etc. +json.xml Deal with JSON data Turn JSON strings into lists with the listify block, then retrieve data out of them by using the value at key block. +~ ~ +~ ~ +~ ~ HummingbirdBlocks.xml Hummingbird robotics Control the Hummingbird robotics kit processor +leap-library.xml LEAP Motion controller Report hand positions from LEAP Motion controller (leapmotion.com).