Updates.
@@ -1351,37 +1351,38 @@ .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") }
.note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } +.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } -.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } +.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } -.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.tip > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23009926' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") }@@ -1393,10 +1394,9 @@ .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") }
.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } -.sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } +.note > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 384 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23264c72' d='M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") } .sidebar > p:first-child:before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath fill='%23555555' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z' /%3E %3C/svg%3E") }@@ -1631,7 +1631,6 @@ <li><a href="#<code>http</code>-Module"><code>http</code> Module</a></li>
<li><a href="#<code>io</code>-Module"><code>io</code> Module</a></li> <li><a href="#<code>math</code>-Module"><code>math</code> Module</a></li> <li><a href="#<code>net</code>-Module"><code>net</code> Module</a></li> - <li><a href="#<code>seq</code>-Module"><code>seq</code> Module</a></li> <li><a href="#<code>stack</code>-Module"><code>stack</code> Module</a></li> <li><a href="#<code>store</code>-Module"><code>store</code> Module</a></li> <li><a href="#<code>sys</code>-Module"><code>sys</code> Module</a></li>@@ -1701,9 +1700,9 @@
<p>You can download one of the following pre-built min binaries:</p> <ul> -<li><a href="https://github.com/h3rald/min/releases/download/v0.44.0/min_v0.44.0_macosx_x64.zip">min v0.44.0 for macOS (x64)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.44.0/min_v0.44.0_windows_x64.zip">min v0.44.0 for Windows (x64)</a></li> -<li><a href="https://github.com/h3rald/min/releases/download/v0.44.0/min_v0.44.0_linux_x64.zip">min v0.44.0 for Linux (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.45.0/min_v0.45.0_macosx_x64.zip">min v0.45.0 for macOS (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.45.0/min_v0.45.0_windows_x64.zip">min v0.45.0 for Windows (x64)</a></li> +<li><a href="https://github.com/h3rald/min/releases/download/v0.45.0/min_v0.45.0_linux_x64.zip">min v0.45.0 for Linux (x64)</a></li> </ul>@@ -1810,7 +1809,7 @@ <h3>Running the min shell<a href="#document-top" title="Go to top"></a></h3>
<p>To start the min shell, run <span class="cmd">min</span> with no arguments. You will be presented with a prompt displaying the path to the current directory:</p> -<div class="min-terminal"><p>min shell v0.44.0 +<div class="min-terminal"><p>min shell v0.45.0 <span class="prompt">[/Users/h3rald/test]$</span></p></div> <p>You can type min code and press <span class="kbd">ENTER</span> to evaluate it immediately:</p>@@ -1906,7 +1905,7 @@
<p>If not, well, here’s how a short min program looks like:</p> <pre><code>; This is a comment -(1 2 3 4 5) (stack.dup *) seq.map +(1 2 3 4 5) (stack.dup *) map #| This is a... ...multiline comment |# </code></pre>@@ -1921,7 +1920,7 @@
<ol> <li>First, a list containing the first five integers is pushed on the stack.</li> <li>Then, another list containing two symbols (<code>stack.dup</code> and <code>*</code>) is pushed on the stack. This constitutes a quoted program which, when executed duplicates the first element on the stack — this is done by <code>stack.dup</code>— and then multiplies — with <code>*</code>— the two elements together.</li> -<li>Finally, the symbol <code>seq.map</code> is pushed on the stack. Map takes a list of elements and a quoted program and applies the program to each element.</li> +<li>Finally, the symbol <code>map</code> is pushed on the stack. Map takes a list of elements and a quoted program and applies the program to each element.</li> </ol>@@ -2000,7 +1999,7 @@ <p>Quotations are the most important thing to understand in min. Besides being the data type used for lists, they are also used to delimit blocks of min code that is not going to be immediately executed.</p>
<p>Consider for example the following min code which returns all the files present in the current folder sorted by name:</p> -<pre><code> sys.pwd sys.ls (fs.type "file" ==) seq.filter '> seq.sort +<pre><code> sys.pwd sys.ls (fs.type "file" ==) filter '> sort </code></pre> <p>The symbol <a href="#min-operator-id-filter">seq.filter</a> takes two quotations as arguments – the first quotation on the stack is applied to all the elements of the second quotation on the stack, to determine which elements of the second quotation will be part of the resulting quotation. This is an example of how quotations can be used both as lists and programs.</p>@@ -2011,9 +2010,9 @@ <ol>
<li>The <code>sys.pwd</code> symbol is pushed on the stack, and it is immediately evaluated to the full path to the current directory.</li> <li>The <code>sys.ls</code> symbol is pushed on the stack, it consumes the string already on the stack and returns a quotation containing all files and directories within the current directory.</li> <li>The quotation <code>(fs.type 'file ==)</code> is pushed on the stack. It is treated exactly like a list of data and it is not evaluated.</li> -<li>The <code>seq.filter</code> symbol is pushed on the stack. This symbol takes two quotations as input, and applies the result of the first quotation on the stack (<code>(fs.type "file" ==)</code>) to all elements of the second quotation of the stack (the list of files and directories), returning a new quotation containing only those elements of the second quotation on the stack that satisfy the result of the first quotation. In this case, it returns a new quotation containing only files.</li> +<li>The <code>filter</code> symbol is pushed on the stack. This symbol takes two quotations as input, and applies the result of the first quotation on the stack (<code>(fs.type "file" ==)</code>) to all elements of the second quotation of the stack (the list of files and directories), returning a new quotation containing only those elements of the second quotation on the stack that satisfy the result of the first quotation. In this case, it returns a new quotation containing only files.</li> <li><code>'></code> is pushed on the stack. The <code>'</code> sigil can be used instead of the <code>quote</code> symbol to quote a single symbol, <code>></code> in this case. In other words, it is instantly evaluated to the quotation <code>(>)</code>.</li> -<li>The symbol <code>seq.sort</code> is pushed on the stack. This symbol, like <code>seq.filter</code>, takes two quotations as input, and applies the first quotation to each element of the second quotation, effectively sorting each element of the second quotation using the predicate expressed by the first quotation. In this case, all files are sorted by name in ascending order.</li> +<li>The symbol <code>sort</code> is pushed on the stack. This symbol, like <code>filter</code>, takes two quotations as input, and applies the first quotation to each element of the second quotation, effectively sorting each element of the second quotation using the predicate expressed by the first quotation. In this case, all files are sorted by name in ascending order.</li> </ol>@@ -2028,12 +2027,12 @@ <p>When a quotation is created, it is treated as data, no matter what it contains: it is placed on the stack, like an integer or a string would. However, unlike other data types, a quotation can be evaluated in certain situations and when it happens its contents are pushed on the stack.</p>
<p>Consider the following program:</p> -<pre><code> (1 2 3 4 5 6 7) (odd?) seq.filter +<pre><code> (1 2 3 4 5 6 7) (odd?) filter </code></pre> <p>This program returns a new quotation containing all odd numbers contained in quotation <code>(1 2 3 4 5 6 7)</code>.</p> -<p>In this case, the second quotation is used to <em>quote</em> the symbol <code>odd?</code> so that instead of being executed immediately, it will be executed by the symbol <code>seq.filter</code> on each element of the first quotation. In this way, we may say that <code>(odd?)</code> is <em>dequoted</em> by the symbol <code>seq.filter</code>.</p> +<p>In this case, the second quotation is used to <em>quote</em> the symbol <code>odd?</code> so that instead of being executed immediately, it will be executed by the symbol <code>filter</code> on each element of the first quotation. In this way, we may say that <code>(odd?)</code> is <em>dequoted</em> by the symbol <code>filter</code>.</p> <p>The symbol <a href="#min-operator-id-dequote">dequote</a> or its alias <code>-></code> can be used to dequote a quotation by pushing all its elements on the main stack. Essentially, this <em>executes</em> the quotation in the current context.</p>@@ -2650,8 +2649,8 @@ (
(fs.size) (stack.pop 0) ) try - ) seq.map - 1 (+) seq.reduce + ) map + 1 (+) reduce </code></pre> <p>This program calculates the size in bytes of all files included in the current directory. Because the <a href="#min-operator-id-size">fs.size</a> symbol throws an error if the argument provided is not a file (for example, if it is a directory), the <code>try</code> symbol is used to remove the error from the stack and push <code>0</code> on the stack instead.</p>@@ -3138,8 +3137,6 @@ <dt><a href="#<code>math</code>-Module">math Module</a></dt>
<dd>Provides many mathematical operators and constants such as trigonometric functions, square root, logarithms, etc.</dd> <dt><a href="#<code>net</code>-Module">net Module</a></dt> <dd>Provides basic supports for sockets (some features are not supported on Windows systems).</dd> -<dt><a href="#<code>seq</code>-Module">seq Module</a></dt> -<dd>Defines operators for quotations, like <code>seq.map</code>, <code>seq.filter</code>, <code>seq.reduce</code>, etc.</dd> <dt><a href="#<code>stack</code>-Module">stack Module</a></dt> <dd>Defines combinators and stack-shufflers like <code>stack.pop</code>, <code>stack.dup</code>, <code>stack.swap</code>, <code>stack.cons</code>, etc.</dd> <dt><a href="#<code>store</code>-Module">store Module</a></dt>@@ -3371,83 +3368,69 @@
<a id="<code>global</code>-Module"></a> <h3><code>global</code> Module<a href="#document-top" title="Go to top"></a></h3> -<p><span class="reference-title">'</span> <span class="sigil"></span></p> +<p><a id="min-operator-id-!="></a> +<span class="reference-title">!=</span></p> -<div class="operator"><p><span class="kwd"> '<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> quotesym</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p>See <a href="#min-operator-id-quotesym">quotesym</a>.</p></div> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is not equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> -<p><span class="reference-title">'</span></p> +<p><span class="reference-title">$</span> <span class="sigil"></span></p> -<div class="operator"><p><span class="kwd"> ' <strong>⇒</strong> quotesym</span></p> +<div class="operator"><p><span class="kwd"> $<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> get-env</span></p> -<p>See <a href="#min-operator-id-quotesym">quotesym</a>.</p></div> +<p>See <a href="#min-operator-id-get-env">get-env</a>.</p></div> -<p><span class="reference-title">:</span> <span class="sigil"></span></p> +<p><span class="reference-title">$</span></p> -<div class="operator"><p><span class="kwd"> :<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> define</span></p> +<div class="operator"><p><span class="kwd"> $ <strong>⇒</strong> get-env</span></p> -<p>See <a href="#min-operator-id-define">define</a>.</p></div> +<p>See <a href="#min-operator-id-get-env">get-env</a>.</p></div> -<p><span class="reference-title">:</span></p> +<p><span class="reference-title">%</span></p> -<div class="operator"><p><span class="kwd"> : <strong>⇒</strong> define</span></p> +<div class="operator"><p><span class="kwd"> % <strong>⇒</strong> interpolate</span></p> -<p>See <a href="#min-operator-id-define">define</a>.</p></div> - -<p><span class="reference-title">::</span></p> - -<div class="operator"><p><span class="kwd"> :: <strong>⇒</strong> operator</span></p> - -<p>See <a href="#min-operator-id-operator">operator</a>.</p></div> - -<p><span class="reference-title">?</span> <span class="sigil"></span></p> - -<div class="operator"><p><span class="kwd"> ?<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> help</span></p> - -<p>See <a href="#min-operator-id-help">help</a>.</p></div> - -<p><span class="reference-title">?</span></p> +<p>See <a href="#min-operator-id-interpolate">interpolate</a>.</p></div> -<div class="operator"><p><span class="kwd"> ? <strong>⇒</strong> help</span></p> - -<p>See <a href="#min-operator-id-help">help</a>.</p></div> - -<p><span class="reference-title">~</span> <span class="sigil"></span></p> +<p><span class="reference-title">&&</span></p> -<div class="operator"><p><span class="kwd"> ~<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> lambda-bind</span></p> +<div class="operator"><p><span class="kwd"> && <strong>⇒</strong> expect-all</span></p> -<p>See <a href="#min-operator-id-lambda-bind">lambda-bind</a>.</p></div> +<p>See <a href="#min-operator-id-expect-all">expect-all</a>.</p></div> -<p><span class="reference-title">~</span></p> +<p><span class="reference-title">'</span> <span class="sigil"></span></p> -<div class="operator"><p><span class="kwd"> ~ <strong>⇒</strong> lambda-bind</span></p> +<div class="operator"><p><span class="kwd"> '<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> quotesym</span></p> -<p>See <a href="#min-operator-id-lambda-bind">lambda-bind</a>.</p></div> +<p>See <a href="#min-operator-id-quotesym">quotesym</a>.</p></div> -<p><span class="reference-title">$</span> <span class="sigil"></span></p> +<p><span class="reference-title">'</span></p> -<div class="operator"><p><span class="kwd"> $<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> get-env</span></p> +<div class="operator"><p><span class="kwd"> ' <strong>⇒</strong> quotesym</span></p> -<p>See <a href="#min-operator-id-get-env">get-env</a>.</p></div> +<p>See <a href="#min-operator-id-quotesym">quotesym</a>.</p></div> -<p><span class="reference-title">$</span></p> +<p><a id="min-operator-id-&ast;"></a> +<span class="reference-title">*</span></p> -<div class="operator"><p><span class="kwd"> $ <strong>⇒</strong> get-env</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> -<p>See <a href="#min-operator-id-get-env">get-env</a>.</p></div> +<p>Multiplies <span class="kwd">num<sub>1</sub></span> by <span class="kwd">num<sub>2</sub></span>.</p></div> -<p><span class="reference-title">@</span> <span class="sigil"></span></p> +<p><a id="min-operator-id-+"></a> +<span class="reference-title">+</span></p> -<div class="operator"><p><span class="kwd"> @<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> bind</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> -<p>See <a href="#min-operator-id-bind">bind</a>.</p></div> +<p>Sums <span class="kwd">num<sub>1</sub></span> and <span class="kwd">num<sub>2</sub></span>.</p></div> -<p><span class="reference-title">@</span></p> +<p><a id="min-operator-id--"></a> +<span class="reference-title">-</span></p> -<div class="operator"><p><span class="kwd"> @ <strong>⇒</strong> bind</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> -<p>See <a href="#min-operator-id-bind">bind</a>.</p></div> +<p>Subtracts <span class="kwd">num<sub>2</sub></span> from <span class="kwd">num<sub>1</sub></span>.</p></div> <p><span class="reference-title">-></span></p>@@ -3455,95 +3438,91 @@ <div class="operator"><p><span class="kwd"> -> <strong>⇒</strong> dequote</span></p>
<p>See <a href="#min-operator-id-dequote">dequote</a>.</p></div> -<p><span class="reference-title">>></span></p> +<p><a id="min-operator-id--inf"></a> +<span class="reference-title">-inf</span></p> -<div class="operator"><p><span class="kwd"> >> <strong>⇒</strong> prefix-dequote</span></p> - -<p>See <a href="#min-operator-id-prefix-dequote">prefix-dequote</a>.</p></div> - -<p><span class="reference-title">><</span></p> +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">num</span></span></p> -<div class="operator"><p><span class="kwd"> >< <strong>⇒</strong> infix-dequote</span></p> +<p>Returns negative infinity.</p></div> -<p>See <a href="#min-operator-id-infix-dequote">infix-dequote</a>.</p></div> +<p><a id="min-operator-id-/"></a> +<span class="reference-title">/</span></p> -<p><span class="reference-title">=></span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> -<div class="operator"><p><span class="kwd"> => <strong>⇒</strong> apply</span></p> +<p>Divides <span class="kwd">num<sub>1</sub></span> by <span class="kwd">num<sub>2</sub></span>.</p></div> -<p>See <a href="#min-operator-id-apply">apply</a>.</p></div> +<p><span class="reference-title">:</span> <span class="sigil"></span></p> -<p><a id="min-operator-id-==&gt;"></a> -<span class="reference-title">==></span></p> +<div class="operator"><p><span class="kwd"> :<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> define</span></p> -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> ∅</span></p> +<p>See <a href="#min-operator-id-define">define</a>.</p></div> -<p>Symbol used to separate input and output values in operator signatures.</p></div> +<p><span class="reference-title">:</span></p> -<p><span class="reference-title">=-=</span></p> +<div class="operator"><p><span class="kwd"> : <strong>⇒</strong> define</span></p> -<div class="operator"><p><span class="kwd"> =-= <strong>⇒</strong> expect-empty-stack</span></p> +<p>See <a href="#min-operator-id-define">define</a>.</p></div> -<p>See <a href="#min-operator-id-expect-empty-stack">expect-empty-stack</a>.</p></div> +<p><span class="reference-title">::</span></p> -<p><span class="reference-title">%</span></p> +<div class="operator"><p><span class="kwd"> :: <strong>⇒</strong> operator</span></p> -<div class="operator"><p><span class="kwd"> % <strong>⇒</strong> interpolate</span></p> +<p>See <a href="#min-operator-id-operator">operator</a>.</p></div> -<p>See <a href="#min-operator-id-interpolate">interpolate</a>.</p></div> +<p><a id="min-operator-id-&lt;"></a> +<span class="reference-title"><</span></p> -<p><span class="reference-title">=%</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<div class="operator"><p><span class="kwd"> =% <strong>⇒</strong> apply-interpolate</span></p> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is smaller than <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p> -<p>See <a href="#min-operator-id-apply-interpolate">apply-interpolate</a>.</p></div> +<div class="note"><p>Note</p> -<p><span class="reference-title">^</span> <span class="sigil"></span></p> +<p>Only comparisons among two numbers or two strings are supported.</p></div></div> -<div class="operator"><p><span class="kwd"> ^<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> lambda</span></p> +<p><a id="min-operator-id-&lt;="></a> +<span class="reference-title"><=</span></p> -<p>See <a href="#min-operator-id-lambda">lambda</a>.</p></div> +<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p><span class="reference-title">^</span></p> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is smaller than or equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p> -<div class="operator"><p><span class="kwd"> ^ <strong>⇒</strong> lambda</span></p> +<div class="note"><p>Note</p> -<p>See <a href="#min-operator-id-lambda">lambda</a>.</p></div> +<p>Only comparisons among two numbers or two strings are supported.</p></div></div> -<p><a id="min-operator-id-+"></a> -<span class="reference-title">+</span></p> +<p><span class="reference-title">=%</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> +<div class="operator"><p><span class="kwd"> =% <strong>⇒</strong> apply-interpolate</span></p> -<p>Sums <span class="kwd">num<sub>1</sub></span> and <span class="kwd">num<sub>2</sub></span>.</p></div> +<p>See <a href="#min-operator-id-apply-interpolate">apply-interpolate</a>.</p></div> -<p><a id="min-operator-id--"></a> -<span class="reference-title">-</span></p> +<p><span class="reference-title">=-=</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> +<div class="operator"><p><span class="kwd"> =-= <strong>⇒</strong> expect-empty-stack</span></p> -<p>Subtracts <span class="kwd">num<sub>2</sub></span> from <span class="kwd">num<sub>1</sub></span>.</p></div> +<p>See <a href="#min-operator-id-expect-empty-stack">expect-empty-stack</a>.</p></div> -<p><a id="min-operator-id--inf"></a> -<span class="reference-title">-inf</span></p> +<p><a id="min-operator-id-=="></a> +<span class="reference-title">==</span></p> -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">num</span></span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p>Returns negative infinity.</p></div> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> -<p><a id="min-operator-id-&ast;"></a> -<span class="reference-title">*</span></p> +<p><a id="min-operator-id-==&gt;"></a> +<span class="reference-title">==></span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> ∅</span></p> -<p>Multiplies <span class="kwd">num<sub>1</sub></span> by <span class="kwd">num<sub>2</sub></span>.</p></div> +<p>Symbol used to separate input and output values in operator signatures.</p></div> -<p><a id="min-operator-id-/"></a> -<span class="reference-title">/</span></p> +<p><span class="reference-title">=></span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">num<sub>1</sub></span> <span class="kwd">num<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">num<sub>3</sub></span></span></p> +<div class="operator"><p><span class="kwd"> => <strong>⇒</strong> apply</span></p> -<p>Divides <span class="kwd">num<sub>1</sub></span> by <span class="kwd">num<sub>2</sub></span>.</p></div> +<p>See <a href="#min-operator-id-apply">apply</a>.</p></div> <p><a id="min-operator-id-&gt;"></a> <span class="reference-title">></span></p>@@ -3556,6 +3535,12 @@ <div class="note"><p>Note</p>
<p>Only comparisons among two numbers or two strings are supported.</p></div></div> +<p><span class="reference-title">><</span></p> + +<div class="operator"><p><span class="kwd"> >< <strong>⇒</strong> infix-dequote</span></p> + +<p>See <a href="#min-operator-id-infix-dequote">infix-dequote</a>.</p></div> + <p><a id="min-operator-id-&gt;="></a> <span class="reference-title">>=</span></p>@@ -3567,53 +3552,54 @@ <div class="note"><p>Note</p>
<p>Only comparisons among two numbers or two strings are supported.</p></div></div> -<p><a id="min-operator-id-&lt;"></a> -<span class="reference-title"><</span></p> +<p><span class="reference-title">>></span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> +<div class="operator"><p><span class="kwd"> >> <strong>⇒</strong> prefix-dequote</span></p> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is smaller than <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p> +<p>See <a href="#min-operator-id-prefix-dequote">prefix-dequote</a>.</p></div> -<div class="note"><p>Note</p> +<p><span class="reference-title">?</span> <span class="sigil"></span></p> -<p>Only comparisons among two numbers or two strings are supported.</p></div></div> +<div class="operator"><p><span class="kwd"> ?<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> help</span></p> -<p><a id="min-operator-id-&lt;="></a> -<span class="reference-title"><=</span></p> +<p>See <a href="#min-operator-id-help">help</a>.</p></div> -<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> +<p><span class="reference-title">?</span></p> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is smaller than or equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p> +<div class="operator"><p><span class="kwd"> ? <strong>⇒</strong> help</span></p> -<div class="note"><p>Note</p> +<p>See <a href="#min-operator-id-help">help</a>.</p></div> -<p>Only comparisons among two numbers or two strings are supported.</p></div></div> +<p><span class="reference-title">@</span> <span class="sigil"></span></p> -<p><a id="min-operator-id-=="></a> -<span class="reference-title">==</span></p> +<div class="operator"><p><span class="kwd"> @<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> bind</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> +<p>See <a href="#min-operator-id-bind">bind</a>.</p></div> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> +<p><span class="reference-title">@</span></p> -<p><a id="min-operator-id-!="></a> -<span class="reference-title">!=</span></p> +<div class="operator"><p><span class="kwd"> @ <strong>⇒</strong> bind</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">a<sub>1</sub></span> <span class="kwd">a<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> +<p>See <a href="#min-operator-id-bind">bind</a>.</p></div> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a<sub>1</sub></span> is not equal to <span class="kwd">a<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> +<p><span class="reference-title">^</span> <span class="sigil"></span></p> -<p><span class="reference-title">||</span></p> +<div class="operator"><p><span class="kwd"> ^<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> lambda</span></p> -<div class="operator"><p><span class="kwd"> || <strong>⇒</strong> expect-any</span></p> +<p>See <a href="#min-operator-id-lambda">lambda</a>.</p></div> -<p>See <a href="#min-operator-id-expect-any">expect-any</a>.</p></div> +<p><span class="reference-title">^</span></p> -<p><span class="reference-title">&&</span></p> +<div class="operator"><p><span class="kwd"> ^ <strong>⇒</strong> lambda</span></p> -<div class="operator"><p><span class="kwd"> && <strong>⇒</strong> expect-all</span></p> +<p>See <a href="#min-operator-id-lambda">lambda</a>.</p></div> + +<p><a id="min-operator-id-all?"></a> +<span class="reference-title">all?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p>See <a href="#min-operator-id-expect-all">expect-all</a>.</p></div> +<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if all elements of <span class="kwd">quot<sub>1</sub></span> satisfy predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> <p><a id="min-operator-id-and"></a> <span class="reference-title">and</span></p>@@ -3621,6 +3607,20 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">bool<sub>1</sub></span> <span class="kwd">bool<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool<sub>3</sub></span></span></p> <p>Returns <span class="kwd">true</span> if <span class="kwd">bool<sub>1</sub></span> is equal to <span class="kwd">bool<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> + +<p><a id="min-operator-id-any?"></a> +<span class="reference-title">any?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if at least one element of <span class="kwd">quot<sub>1</sub></span> satisfies predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> + +<p><a id="min-operator-id-append"></a> +<span class="reference-title">append</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">quot</span> <strong>⇒</strong> (<span class="kwd">a<sub>*</sub></span> <span class="kwd">a</span>)</span></p> + +<p>Returns a new quotation containing the contents of <span class="kwd">quot</span> with <span class="kwd">a</span> appended.</p></div> <p><a id="min-operator-id-apply"></a> <span class="reference-title">apply</span></p>@@ -3727,8 +3727,8 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">int<sub>1</sub></span> <span class="kwd">int<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">int<sub>3</sub></span></span></p>
<p>Computes the bitwise <em>xor</em> of integers <span class="kwd">int<sub>1</sub></span> and <span class="kwd">int<sub>2</sub></span>.</p></div> -<p><a id="min-operator-id-bool"></a> -<span class="reference-title">bool</span></p> +<p><a id="min-operator-id-boolean"></a> +<span class="reference-title">boolean</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p>@@ -3757,13 +3757,6 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p>
<p>Returns a copy of <span class="kwd">'sym</span> with the first character capitalized.</p></div> -<p><a id="min-operator-id-chr"></a> -<span class="reference-title">chr</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Returns the single character <span class="kwd">str</span> obtained by interpreting <span class="kwd">int</span> as an ASCII code.</p></div> - <p><a id="min-operator-id-case"></a> <span class="reference-title">case</span></p>@@ -3790,6 +3783,13 @@ ((true) ("Exactly 3" put!))
) case </code></pre></div></div> +<p><a id="min-operator-id-chr"></a> +<span class="reference-title">chr</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Returns the single character <span class="kwd">str</span> obtained by interpreting <span class="kwd">int</span> as an ASCII code.</p></div> + <p><a id="min-operator-id-compiled?"></a> <span class="reference-title">compiled?</span></p>@@ -3797,6 +3797,20 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Returns <span class="kwd">true</span> if the current program has been compiled.</p></div> +<p><a id="min-operator-id-concat"></a> +<span class="reference-title">concat</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Concatenates <span class="kwd">quot<sub>1</sub></span> with <span class="kwd">quot<sub>2</sub></span>.</p></div> + +<p><a id="min-operator-id-decode-url"></a> +<span class="reference-title">decode-url</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>URL-decodes <span class="kwd">'sym</span>, deconding all URL-encoded characters.</p></div> + <p><a id="min-operator-id-define"></a> <span class="reference-title">define</span></p>@@ -3869,6 +3883,20 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a dictionary, <span class="kwd">false</span> otherwise.</p></div> +<p><a id="min-operator-id-difference"></a> +<span class="reference-title">difference</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Calculates the difference <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(2)</code> on the stack:</p> + +<pre><code>(1 2 "test") ("test" "a" true 1) difference +</code></pre></div></div> + <p><a id="min-operator-id-div"></a> <span class="reference-title">div</span></p>@@ -3876,6 +3904,20 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">int<sub>1</sub></span> <span class="kwd">int<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">int<sub>3</sub></span></span></p>
<p>Divides <span class="kwd">int<sub>1</sub></span> by <span class="kwd">int<sub>2</sub></span> (integer division).</p></div> +<p><a id="min-operator-id-drop"></a> +<span class="reference-title">drop</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the remaining elements after the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>, or an empty quotation if <span class="kwd">int</span> is greater than the length of <span class="kwd">quot<sub>1</sub></span>.</p></div> + +<p><a id="min-operator-id-encode-url"></a> +<span class="reference-title">encode-url</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>URL-encodes <span class="kwd">'sym</span>, encoding all special characters into URL-encoded characters.</p></div> + <p><a id="min-operator-id-escape"></a> <span class="reference-title">escape</span></p>@@ -3950,6 +3992,58 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> ∅</span></p>
<p>Raises an error if the stack is not empty.</p></div> +<p><a id="min-operator-id-filter"></a> +<span class="reference-title">filter</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Returns a new quotation <span class="kwd">quot<sub>3</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> that satisfy predicate <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(2 6 8 12)</code> on the stack:</p> + +<pre><code>(1 37 34 2 6 8 12 21) +(stackdup 20 < stack.swap even? and) filter +</code></pre></div></div> + +<p><a id="min-operator-id-find"></a> +<span class="reference-title">find</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">int</span></span></p> + +<p>Returns the index of the first element within <span class="kwd">quot<sub>1</sub></span> that satisfies predicate <span class="kwd">quot<sub>2</sub></span>, or -1 if no element satisfies it.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>3</code> on the stack:</p> + +<pre><code>(1 2 4 8 16) +(5 >) find +</code></pre></div></div> + +<p><a id="min-operator-id-first"></a> +<span class="reference-title">first</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> + +<p>Returns the first element of <span class="kwd">quot</span>.</p></div> + +<p><a id="min-operator-id-flatten"></a> +<span class="reference-title">flatten</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Flattens all quotations within <span class="kwd">quot<sub>1</sub></span> and returns the resulting sequence <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(1 2 3 4 5 6 7 8)</code> on the stack:</p> + +<pre><code>(1 (2 3 4) 5 (6 7) 8) +flatten +</code></pre></div></div> + <p><a id="min-operator-id-float"></a> <span class="reference-title">float</span></p>@@ -4056,6 +4150,13 @@ <div class="note"><p>Note</p>
<p>At present, only YAML objects containing string values are supported.</p></div></div> +<p><a id="min-operator-id-get"></a> +<span class="reference-title">get</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> + +<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot</span> (zero-based).</p></div> + <p><a id="min-operator-id-gets"></a> <span class="reference-title">gets</span></p>@@ -4070,6 +4171,21 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p>
<p>Returns environment variable <span class="kwd">'sym</span>.</p></div> +<p><a id="min-operator-id-harvest"></a> +<span class="reference-title">harvest</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Creates a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> except for empty quotations.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(1 2 3)</code> on the stack:</p> + +<pre><code>(1 () () () 2 () 3) +harvest +</code></pre></div></div> + <p><a id="min-operator-id-help"></a> <span class="reference-title">help</span></p>@@ -4091,6 +4207,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p>
<p>Imports the a previously-loaded module <span class="kwd">'sym</span>, defining all its symbols in the current scope.</p></div> +<p><a id="min-operator-id-in?"></a> +<span class="reference-title">in?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is contained in <span class="kwd">quot</span>, <span class="kwd">false</span> otherwise.</p></div> + <p><a id="min-operator-id-indent"></a> <span class="reference-title">indent</span></p>@@ -4133,6 +4256,13 @@
<pre><code> (2 + 3 * 5) infix-dequote </code></pre></div></div> +<p><a id="min-operator-id-insert"></a> +<span class="reference-title">insert</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Inserts <span class="kwd">a</span> as the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> + <p><a id="min-operator-id-integer"></a> <span class="reference-title">integer</span></p>@@ -4177,12 +4307,26 @@ <div class="sidebar"><p>Example</p>
<p>The following code (executed in a directory called ‘/Users/h3rald/Development/min’ containing 19 files):</p> -<p><code>"Directory '$1' includes $2 files." (sys.pwd (sys.pwd sys.ls 'fs.file? seq.filter size)) apply interpolate</code></p> +<p><code>"Directory '$1' includes $2 files." (sys.pwd (sys.pwd sys.ls 'fs.file? filter size)) apply interpolate</code></p> <p>produces:</p> <p><code>"Directory '/Users/h3rald/Development/min' includes 19 files."</code></p></div></div> +<p><a id="min-operator-id-intersection"></a> +<span class="reference-title">intersection</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Calculates the intersection <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(1 "test")</code> on the stack:</p> + +<pre><code>(1 2 "test") ("test" "a" true 1) intersection +</code></pre></div></div> + <p><a id="min-operator-id-join"></a> <span class="reference-title">join</span></p>@@ -4205,6 +4349,13 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p> <p>Binds the specified quotation to an existing symbol <span class="kwd">'sym</span> which was previously-set via <code>lambda</code>.</p></div> + +<p><a id="min-operator-id-last"></a> +<span class="reference-title">last</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> + +<p>Returns the last element of <span class="kwd">quot</span>.</p></div> <p><a id="min-operator-id-length"></a> <span class="reference-title">length</span></p>@@ -4295,6 +4446,28 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p>
<p>Returns a copy of <span class="kwd">'sym</span> converted to lowercase.</p></div> +<p><a id="min-operator-id-map"></a> +<span class="reference-title">map</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Returns a new quotation <span class="kwd">quot<sub>3</sub></span> obtained by applying <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span>.</p></div> + +<p><a id="min-operator-id-map-reduce"></a> +<span class="reference-title">map-reduce</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <span class="kwd">quot<sub>3</sub></span> <strong>⇒</strong> <span class="kwd">int</span></span></p> + +<p>Applies <span class="kwd">quot<sub>2</sub></span> (map) to each element of <span class="kwd">quot<sub>1</sub></span> and then applies <span class="kwd">quot<sub>3</sub></span> (reduce) to each successive element of <span class="kwd">quot<sub>1</sub></span>. <span class="kwd">quot<sub>1</sub></span> must have at least one element.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>35</code> on the stack:</p> + +<pre><code>(1 3 5) +(stack.dup *) (+) map-reduce +</code></pre></div></div> + <p><a id="min-operator-id-match?"></a> <span class="reference-title">match?</span></p>@@ -4355,6 +4528,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Returns <span class="kwd">true</span> if <span class="kwd">int</span> is odd, <span class="kwd">false</span> otherwise.</p></div> +<p><a id="min-operator-id-one?"></a> +<span class="reference-title">one?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if only one element of <span class="kwd">quot<sub>1</sub></span> satisfies predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> + <p><a id="min-operator-id-operator"></a> <span class="reference-title">operator</span></p>@@ -4412,6 +4592,13 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">dict</span></span></p>
<p>Returns a dictionary of all options passed to the current program, with their respective values.</p></div> +<p><a id="min-operator-id-or"></a> +<span class="reference-title">or</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">bool<sub>1</sub></span> <span class="kwd">bool<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool<sub>3</sub></span></span></p> + +<p>Returns <span class="kwd">true</span> if <span class="kwd">bool<sub>1</sub></span> or <span class="kwd">bool<sub>2</sub></span> is <span class="kwd">true</span>, <span class="kwd">false</span> otherwise.</p></div> + <p><a id="min-operator-id-ord"></a> <span class="reference-title">ord</span></p>@@ -4440,6 +4627,28 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">dict:url</span></span></p>
<p>Parses the url <span class="kwd">str</span> into its components and stores them into <span class="kwd">dict:url</span>.</p></div> +<p><a id="min-operator-id-partition"></a> +<span class="reference-title">partition</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span> <span class="kwd">quot<sub>4</sub></span></span></p> + +<p>Partitions <span class="kwd">quot<sub>1</sub></span> into two quotations: <span class="kwd">quot<sub>3</sub></span> contains all elements of <span class="kwd">quot<sub>1</sub></span> that satisfy predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">quot<sub>4</sub></span> all the others.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(1 3 5) (2 4 6)</code> on the stack:</p> + +<pre><code>(1 2 3 4 5 6) +(odd?) partition +</code></pre></div></div> + +<p><a id="min-operator-id-pred"></a> +<span class="reference-title">pred</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">int<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">int<sub>2</sub></span></span></p> + +<p>Returns the predecessor of <span class="kwd">int<sub>1</sub></span>.</p></div> + <p><a id="min-operator-id-prefix"></a> <span class="reference-title">prefix</span></p>@@ -4461,27 +4670,19 @@
<pre><code>(* 8 4) prefix-dequote </code></pre></div></div> -<p><a id="min-operator-id-prompt"></a> -<span class="reference-title">prompt</span></p> +<p><a id="min-operator-id-prepend"></a> +<span class="reference-title">prepend</span></p> -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">str</span></span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">quot</span> <strong>⇒</strong> (<span class="kwd">a</span> <span class="kwd">a<sub>*</sub></span>)</span></p> -<p>This symbol is used to configure the prompt of the min shell. By default, it is set to the following quotation:</p> +<p>Returns a new quotation containing the contents of <span class="kwd">quot</span> with <span class="kwd">a</span> prepended.</p></div> -<pre><code>("[$1]$$ " (sys.pwd) => %) -</code></pre></div> +<p><a id="min-operator-id-print"></a> +<span class="reference-title">print</span></p> -<p>{#op</p> +<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> -<p>{#op||or||<span class="kwd">bool<sub>1</sub></span> <span class="kwd">bool<sub>2</sub></span>||<span class="kwd">bool<sub>3</sub></span>|| -Returns <span class="kwd">true</span> if <span class="kwd">bool<sub>1</sub></span> or <span class="kwd">bool<sub>2</sub></span> is <span class="kwd">true</span>, <span class="kwd">false</span> otherwise.#}</p> - -<p><a id="min-operator-id-pred"></a> -<span class="reference-title">pred</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">int<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">int<sub>2</sub></span></span></p> - -<p>Returns the predecessor of <span class="kwd">int<sub>1</sub></span>.</p></div> +<p>Prints <span class="kwd">a</span> to STDOUT.</p></div> <p><a id="min-operator-id-product"></a> <span class="reference-title">product</span></p>@@ -4490,19 +4691,27 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">int</span></span></p>
<p>Returns the product of all items of <span class="kwd">quot</span>. <span class="kwd">quot</span> is a quotation of integers.</p></div> +<p><a id="min-operator-id-prompt"></a> +<span class="reference-title">prompt</span></p> + +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>This symbol is used to configure the prompt of the min shell. By default, it is set to the following quotation:</p> + +<pre><code>("[$1]$$ " (sys.pwd) => %) +</code></pre></div> + +<p>{#op</p> + +<p>{#op||put-env||<span class="kwd">'sym<sub>1</sub></span> <span class="kwd">'sym<sub>2</sub></span>||<span class="kwd">str</span>|| +Sets environment variable <span class="kwd">'sym<sub>2</sub></span> to <span class="kwd">'sym<sub>1</sub></span>. #}</p> + <p><a id="min-operator-id-puts"></a> <span class="reference-title">puts</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> <p>Prints <span class="kwd">a</span> and a new line to STDOUT.</p></div> - -<p><a id="min-operator-id-put-env"></a> -<span class="reference-title">put-env</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym<sub>1</sub></span> <span class="kwd">'sym<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Sets environment variable <span class="kwd">'sym<sub>2</sub></span> to <span class="kwd">'sym<sub>1</sub></span>.</p></div> <p><a id="min-operator-id-quit"></a> <span class="reference-title">quit</span></p>@@ -4518,19 +4727,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a quotation, <span class="kwd">false</span> otherwise.</p></div> -<p><a id="min-operator-id-quoted-symbol?"></a> -<span class="reference-title">quoted-symbol?</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> - -<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a quoted symbol, <span class="kwd">false</span> otherwise.</p></div> - <p><a id="min-operator-id-quote"></a> <span class="reference-title">quote</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> (<span class="kwd">a</span>)</span></p> <p>Wraps <span class="kwd">a</span> in a quotation.</p></div> + +<p><a id="min-operator-id-quote-map"></a> +<span class="reference-title">quote-map</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> obtained by quoting each element of <span class="kwd">quot<sub>1</sub></span>.</p></div> <p><a id="min-operator-id-quotecmd"></a> <span class="reference-title">quotecmd</span></p>@@ -4539,6 +4748,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> (<span class="kwd">sym</span>)</span></p>
<p>Creates a command with the value of <span class="kwd">str</span> and wraps it in a quotation.</p></div> +<p><a id="min-operator-id-quoted-symbol?"></a> +<span class="reference-title">quoted-symbol?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a quoted symbol, <span class="kwd">false</span> otherwise.</p></div> + <p><a id="min-operator-id-quotesym"></a> <span class="reference-title">quotesym</span></p>@@ -4546,6 +4762,20 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> (<span class="kwd">sym</span>)</span></p>
<p>Creates a symbol with the value of <span class="kwd">str</span> and wraps it in a quotation.</p></div> +<p><a id="min-operator-id-raise"></a> +<span class="reference-title">raise</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">dict:error</span> <strong>⇒</strong> ∅</span></p> + +<p>Raises the error specified via the dictionary <span class="kwd">dict:error</span>.</p></div> + +<p><a id="min-operator-id-raw-get"></a> +<span class="reference-title">raw-get</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">dict:rawval</span></span></p> + +<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot</span> (zero-based) wrapped in a <span class="kwd">dict:rawval</span>.</p></div> + <p><a id="min-operator-id-random"></a> <span class="reference-title">random</span></p>@@ -4571,19 +4801,41 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p>
<p>Takes a quotation <span class="kwd">quot<sub>1</sub></span> of two or three integers in the form of <em>start</em>, <em>end</em> and an optional <em>step</em> (1 if not specified) and generates the sequence and returns the resulting quotation of integers <span class="kwd">quot<sub>2</sub></span>.</p></div> -<p><a id="min-operator-id-raise"></a> -<span class="reference-title">raise</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">dict:error</span> <strong>⇒</strong> ∅</span></p> - -<p>Raises the error specified via the dictionary <span class="kwd">dict:error</span>.</p></div> - <p><a id="min-operator-id-raw-args"></a> <span class="reference-title">raw-args</span></p> <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">quot</span></span></p> <p>Returns a list of all arguments and (non-parsed) options passed to the current program.</p></div> + +<p><a id="min-operator-id-reduce"></a> +<span class="reference-title">reduce</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">a<sub>2</sub></span></span></p> + +<p>Combines each successive element of <span class="kwd">quot<sub>1</sub></span> using <span class="kwd">quot<sub>2</sub></span>. On the first iteration, the first two inputs processed by <span class="kwd">quot<sub>2</sub></span> are <span class="kwd">a<sub>1</sub></span> and the first element of <span class="kwd">quot<sub>1</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>120</code> on the stack:</p> + +<pre><code>(1 2 3 4 5) +1 (*) reduce +</code></pre></div></div> + +<p><a id="min-operator-id-reject"></a> +<span class="reference-title">reject</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Returns a new quotatios <span class="kwd">quot<sub>3</sub></span> including all elements of <span class="kwd">quot<sub>1</sub></span> that do not satisfy predicate <span class="kwd">quot<sub>2</sub></span> (i.e. the opposite of <code>filter</code>)</p></div> + +<p><a id="min-operator-id-remove"></a> +<span class="reference-title">remove</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot<sub>1</sub></span> (zero-based), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> <p><a id="min-operator-id-remove-symbol"></a> <span class="reference-title">remove-symbol</span></p>@@ -4662,6 +4914,13 @@ <li>Check for a file named <code>index.min</code> in the <code>$HOME/mmm/my-module/*/index.min</code> folder (globally-installed <a href="/learn-mmm">managed-module</a>). If multiple versions of the same module are present, the first one will be loaded.</li>
</ol> +<p><a id="min-operator-id-rest"></a> +<span class="reference-title">rest</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> quotation except for the first.</p></div> + <p><a id="min-operator-id-return"></a> <span class="reference-title">return</span></p>@@ -4670,6 +4929,13 @@
<p>If used within the body quotation of an operator definition, causes the interpreter to stop pushing further body elements on the stack and start pushing tbe operator output values on the stack.</p></div> <p>If used outside of the body quotation of an operator definition, it raises an exception.</p> + +<p><a id="min-operator-id-reverse"></a> +<span class="reference-title">reverse</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> in reverse order.</p></div> <p><a id="min-operator-id-save-symbol"></a> <span class="reference-title">save-symbol</span></p>@@ -4678,6 +4944,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p>
<p>Saves the contents of symbol <span class="kwd">'sym</span> to the <span class="file">.min_symbols</span> file.</p></div> +<p><a id="min-operator-id-saved-symbols"></a> +<span class="reference-title">saved-symbols</span></p> + +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> (<span class="kwd">str<sub>*</sub></span>)</span></p> + +<p>Returns a quotation containing all symbols saved in the <span class="file">.min_symbols</span> file.</p></div> + <p><a id="min-operator-id-scope"></a> <span class="reference-title">scope</span></p>@@ -4693,13 +4966,6 @@ <p>The following program leaves <code>{(2) :two ;module}</code> on the stack:</p>
<pre><code>{} :myscope (2 :two scope @myscope) -> </code></pre></div></div> - -<p><a id="min-operator-id-saved-symbols"></a> -<span class="reference-title">saved-symbols</span></p> - -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> (<span class="kwd">str<sub>*</sub></span>)</span></p> - -<p>Returns a quotation containing all symbols saved in the <span class="file">.min_symbols</span> file.</p></div> <p><a id="min-operator-id-scope-sigils"></a> <span class="reference-title">scope-sigils</span></p>@@ -4804,12 +5070,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Checks whether <span class="kwd">str</span> is a <a href="https://semver.org">SemVer</a>-compliant version or not.</p></div> -<p><a id="min-operator-id-split"></a> -<span class="reference-title">split</span></p> +<p><a id="min-operator-id-set"></a> +<span class="reference-title">set</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym<sub>1</sub></span> <span class="kwd">'sym<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot</span></span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> -<p>Splits <span class="kwd">'sym<sub>1</sub></span> using separator <span class="kwd">'sym<sub>2</sub></span> (a <a href="https://www.pcre.org/">Perl Compatible Regular Expression</a>) and returns the resulting strings within the quotation <span class="kwd">quot</span>.</p></div> +<p>Sets the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based) to <span class="kwd">a</span>, and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> + +<p><a id="min-operator-id-set-sym"></a> +<span class="reference-title">set-sym</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">'sym</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Sets the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based) to <span class="kwd">'sym</span> (treating it as a symbol), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> <p><a id="min-operator-id-shl"></a> <span class="reference-title">shl</span></p>@@ -4818,6 +5091,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">int<sub>1</sub></span> <span class="kwd">int<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">int<sub>3</sub></span></span></p>
<p>Computes the <em>shift left</em> operation of <span class="kwd">int<sub>1</sub></span> and <span class="kwd">int<sub>2</sub></span>.</p></div> +<p><a id="min-operator-id-shorten"></a> +<span class="reference-title">shorten</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>.</p></div> + <p><a id="min-operator-id-shr"></a> <span class="reference-title">shr</span></p>@@ -4839,6 +5119,42 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> (<span class="kwd">str<sub>*</sub></span>)</span></p>
<p>Returns a list of all sigils defined in the <span class="kwd">global</span> scope.</p></div> +<p><a id="min-operator-id-size"></a> +<span class="reference-title">size</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">int</span></span></p> + +<p>Returns the length of <span class="kwd">quot</span>.</p></div> + +<p><a id="min-operator-id-slice"></a> +<span class="reference-title">slice</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int<sub>1</sub></span> <span class="kwd">int<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> + +<p>Creates a new quotation <span class="kwd">quot<sub>2</sub></span> obtaining by selecting all elements of <span class="kwd">quot<sub>1</sub></span> between indexes <span class="kwd">int<sub>1</sub></span> and <span class="kwd">int<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(3 4 5)</code> on the stack:</p> + +<pre><code>(1 2 3 4 5 6) +2 4 slice +</code></pre></div></div> + +<p><a id="min-operator-id-sort"></a> +<span class="reference-title">sort</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Sorts all elements of <span class="kwd">quot<sub>1</sub></span> according to predicate <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(1 3 5 7 9 13 16)</code> on the stack:</p> + +<pre><code>(1 9 5 13 16 3 7) '> sort +</code></pre></div></div> + <p><a id="min-operator-id-source"></a> <span class="reference-title">source</span></p>@@ -4846,6 +5162,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">quot</span></span></p>
<p>Display the source code of symbol <span class="kwd">'sym</span> (if it has been implemented a <em>min</em> quotation).</p></div> +<p><a id="min-operator-id-split"></a> +<span class="reference-title">split</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym<sub>1</sub></span> <span class="kwd">'sym<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot</span></span></p> + +<p>Splits <span class="kwd">'sym<sub>1</sub></span> using separator <span class="kwd">'sym<sub>2</sub></span> (a <a href="https://www.pcre.org/">Perl Compatible Regular Expression</a>) and returns the resulting strings within the quotation <span class="kwd">quot</span>.</p></div> + <p><a id="min-operator-id-string"></a> <span class="reference-title">string</span></p>@@ -4853,19 +5176,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">str</span></span></p>
<p>Converts <span class="kwd">a</span> to its string representation.</p></div> -<p><a id="min-operator-id-stringlike?"></a> -<span class="reference-title">stringlike?</span></p> +<p><a id="min-operator-id-string?"></a> +<span class="reference-title">string?</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a string or a quoted symbol, <span class="kwd">false</span> otherwise.</p></div> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a string, <span class="kwd">false</span> otherwise.</p></div> -<p><a id="min-operator-id-string?"></a> -<span class="reference-title">string?</span></p> +<p><a id="min-operator-id-stringlike?"></a> +<span class="reference-title">stringlike?</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> -<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a string, <span class="kwd">false</span> otherwise.</p></div> +<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is a string or a quoted symbol, <span class="kwd">false</span> otherwise.</p></div> <p><a id="min-operator-id-strip"></a> <span class="reference-title">strip</span></p>@@ -4902,6 +5225,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">int</span></span></p>
<p>Returns the sum of all items of <span class="kwd">quot</span>. <span class="kwd">quot</span> is a quotation of integers.</p></div> +<p><a id="min-operator-id-symbol-help"></a> +<span class="reference-title">symbol-help</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict:help</span>|<span class="kwd">null</span></span></p> + +<p>Returns the help dictionary for the symbol <span class="kwd">'sym</span>, if available, <span class="kwd">null</span> otherwise.</p></div> + <p><a id="min-operator-id-symbols"></a> <span class="reference-title">symbols</span></p>@@ -4909,12 +5239,26 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> (<span class="kwd">str<sub>*</sub></span>)</span></p>
<p>Returns a list of all symbols defined in the <span class="kwd">global</span> scope.</p></div> -<p><a id="min-operator-id-symbol-help"></a> -<span class="reference-title">symbol-help</span></p> +<p><a id="min-operator-id-symmetric-difference"></a> +<span class="reference-title">symmetric-difference</span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict:help</span>|<span class="kwd">null</span></span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Calculates the symmetric difference <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program leaves <code>(true "a" 2)</code> on the stack:</p> + +<pre><code>(1 2 "test") ("test" "a" true 1) symmetric-difference +</code></pre></div></div> + +<p><a id="min-operator-id-take"></a> +<span class="reference-title">take</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> -<p>Returns the help dictionary for the symbol <span class="kwd">'sym</span>, if available, <span class="kwd">null</span> otherwise.</p></div> +<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>, or <span class="kwd">quot<sub>1</sub></span> itself if <span class="kwd">int</span> is greater than the length of <span class="kwd">quot<sub>1</sub></span>.</p></div> <p><a id="min-operator-id-tap"></a> <span class="reference-title">tap</span></p>@@ -4953,20 +5297,14 @@ <span class="reference-title">times</span></p>
<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">a<sub>*</sub></span></span></p> -<p>Applies the quotation <span class="kwd">quot</span> <span class="kwd">int</span> times. -<a id="min-operator-id-titleize"></a> -<span class="reference-title">titleize</span></p></div> +<p>Applies the quotation <span class="kwd">quot</span> <span class="kwd">int</span> times.</p></div> + +<p><a id="min-operator-id-titleize"></a> +<span class="reference-title">titleize</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> <p>Returns a copy of <span class="kwd">'sym</span> in which the first character of each word is capitalized.</p></div> - -<p><a id="min-operator-id-tokenize"></a> -<span class="reference-title">tokenize</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">quot</span></span></p> - -<p>Parses the min program <span class="kwd">str</span> and returns a quotation <span class="kwd">quot</span> containing dictionaries with a <code>type</code> symbol and a <code>value</code> symbol for each token.</p></div> <p><a id="min-operator-id-to-bin"></a> <span class="reference-title">to-bin</span></p>@@ -5021,6 +5359,13 @@ <div class="note"><p>Note</p>
<p>At present, only <em>min</em> dictionaries containing string values are supported.</p></div></div> +<p><a id="min-operator-id-tokenize"></a> +<span class="reference-title">tokenize</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">quot</span></span></p> + +<p>Parses the min program <span class="kwd">str</span> and returns a quotation <span class="kwd">quot</span> containing dictionaries with a <code>type</code> symbol and a <code>value</code> symbol for each token.</p></div> + <p><a id="min-operator-id-try"></a> <span class="reference-title">try</span></p>@@ -5053,7 +5398,14 @@ <span class="reference-title">type</span></p>
<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> -<p>Returns the type of <span class="kwd">a</span>.</p></div> +<p>Returns the data type of <span class="kwd">a</span>. In cased of typed dictionaries, the type name is prefixed by <code>dict:</code>, e.g. <code>dict:module</code>, <code>dict:socket</code>, etc.</p></div> + +<p><a id="min-operator-id-type?"></a> +<span class="reference-title">type?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Returns <span class="kwd">true</span> if the data type of <span class="kwd">a</span> satisfies the specified type expression <span class="kwd">'sym</span>, <span class="kwd">false</span> otherwise.</p></div> <p><a id="min-operator-id-typealias"></a> <span class="reference-title">typealias</span></p>@@ -5062,12 +5414,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym<sub>1</sub></span> <span class="kwd">'sym<sub>2</sub></span> <strong>⇒</strong> ∅</span></p>
<p>Creates a type alias <span class="kwd">'sym<sub>1</sub></span> for type expression <span class="kwd">'sym<sub>2</sub></span>.</p></div> -<p><a id="min-operator-id-type?"></a> -<span class="reference-title">type?</span></p> +<p><a id="min-operator-id-union"></a> +<span class="reference-title">union</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> + +<p>Calculates the union <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> + +<div class="sidebar"><p>Example</p> -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> +<p>The following program leaves <code>(true 1 "test" "a" 2)</code> on the stack:</p> -<p>Returns <span class="kwd">true</span> if the data type of <span class="kwd">a</span> satisfies the specified type expression <span class="kwd">'sym</span>, <span class="kwd">false</span> otherwise.</p></div> +<pre><code>(1 2 "test") ("test" "a" true 1) union +</code></pre></div></div> <p><a id="min-operator-id-unless"></a> <span class="reference-title">unless</span></p>@@ -5076,19 +5435,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">a<sub>*</sub></span></span></p>
<p>If <span class="kwd"><sub>1</sub></span> evaluates to <span class="kwd">false</span> then evaluates <span class="kwd"><sub>2</sub></span>.</p></div> -<p><a id="min-operator-id-unseal-symbol"></a> -<span class="reference-title">unseal-symbol</span></p> +<p><a id="min-operator-id-unseal-sigil"></a> +<span class="reference-title">unseal-sigil</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p> -<p>Unseals the user-defined symbol <span class="kwd">'sym</span>, so that it can be re-assigned.</p></div> +<p>Unseals sigil <span class="kwd">'sym</span>, so that it can be re-defined (system sigils cannot be unsealed).</p></div> -<p><a id="min-operator-id-unseal-sigil"></a> -<span class="reference-title">unseal-sigil</span></p> +<p><a id="min-operator-id-unseal-symbol"></a> +<span class="reference-title">unseal-symbol</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p> -<p>Unseals sigil <span class="kwd">'sym</span>, so that it can be re-defined (system sigils cannot be unsealed).</p></div> +<p>Unseals the user-defined symbol <span class="kwd">'sym</span>, so that it can be re-assigned.</p></div> <p><a id="min-operator-id-uppercase"></a> <span class="reference-title">uppercase</span></p>@@ -5141,6 +5500,24 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">bool<sub>1</sub></span> <span class="kwd">bool<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool<sub>3</sub></span></span></p>
<p>Returns <span class="kwd">true</span> if <span class="kwd">bool<sub>1</sub></span> and <span class="kwd">bool<sub>2</sub></span> are different, <span class="kwd">false</span> otherwise.</p></div> +<p><span class="reference-title">||</span></p> + +<div class="operator"><p><span class="kwd"> || <strong>⇒</strong> expect-any</span></p> + +<p>See <a href="#min-operator-id-expect-any">expect-any</a>.</p></div> + +<p><span class="reference-title">~</span> <span class="sigil"></span></p> + +<div class="operator"><p><span class="kwd"> ~<span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span> lambda-bind</span></p> + +<p>See <a href="#min-operator-id-lambda-bind">lambda-bind</a>.</p></div> + +<p><span class="reference-title">~</span></p> + +<div class="operator"><p><span class="kwd"> ~ <strong>⇒</strong> lambda-bind</span></p> + +<p>See <a href="#min-operator-id-lambda-bind">lambda-bind</a>.</p></div> + <a id="<code>crypto</code>-Module"></a> <h3><code>crypto</code> Module<a href="#document-top" title="Go to top"></a></h3>@@ -5217,19 +5594,19 @@
<a id="<code>dict</code>-Module"></a> <h3><code>dict</code> Module<a href="#document-top" title="Go to top"></a></h3> -<p><a id="min-operator-id-dup"></a> -<span class="reference-title">dup</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">dict<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">dict<sub>2</sub></span></span></p> - -<p>Returns a copy of <span class="kwd">dict<sub>1</sub></span>.</p></div> - <p><a id="min-operator-id-del"></a> <span class="reference-title">del</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">dict</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict</span></span></p> <p>Removes <span class="kwd">'sym</span> from <span class="kwd">dict<sub>1</sub></span> and returns <span class="kwd">dict<sub>1</sub></span>.</p></div> + +<p><a id="min-operator-id-dup"></a> +<span class="reference-title">dup</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">dict<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">dict<sub>2</sub></span></span></p> + +<p>Returns a copy of <span class="kwd">dict<sub>1</sub></span>.</p></div> <p><a id="min-operator-id-get"></a> <span class="reference-title">get</span></p>@@ -5337,6 +5714,13 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> <p>Returns <span class="kwd">true</span> if <span class="kwd">'sym</span> is an absolute path.</p></div> + +<p><a id="min-operator-id-append"></a> +<span class="reference-title">append</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">str<sub>1</sub></span> <span class="kwd">str<sub>2</sub></span> <strong>⇒</strong> ∅</span></p> + +<p>Appends <span class="kwd">str<sub>1</sub></span> to the end of file <span class="kwd">str<sub>2</sub></span>.</p></div> <p><a id="min-operator-id-atime"></a> <span class="reference-title">atime</span></p>@@ -5352,19 +5736,19 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">flt</span></span></p>
<p>Returns a timestamp corresponding to the time that file/directory <span class="kwd">'sym</span> was created.</p></div> -<p><a id="min-operator-id-dirname"></a> -<span class="reference-title">dirname</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Returns the path of the directory containing path <span class="kwd">'sym</span>.</p></div> - <p><a id="min-operator-id-dir?"></a> <span class="reference-title">dir?</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> <p>Returns <span class="kwd">true</span> if the specified path <span class="kwd">'sym</span> exists and is a directory.</p></div> + +<p><a id="min-operator-id-dirname"></a> +<span class="reference-title">dirname</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Returns the path of the directory containing path <span class="kwd">'sym</span>.</p></div> <p><a id="min-operator-id-exists?"></a> <span class="reference-title">exists?</span></p>@@ -5414,13 +5798,6 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> <p>Joins the strings contained in <span class="kwd">quot</span> with <code>/</code>.</p></div> - -<p><a id="min-operator-id-normalized-path"></a> -<span class="reference-title">normalized-path</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Returns the normalized path to <span class="kwd">'sym</span>.</p></div> <p><a id="min-operator-id-mtime"></a> <span class="reference-title">mtime</span></p>@@ -5429,12 +5806,26 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">flt</span></span></p>
<p>Returns a timestamp corresponding to the time that file/directory <span class="kwd">'sym</span> was last modified.</p></div> +<p><a id="min-operator-id-normalized-path"></a> +<span class="reference-title">normalized-path</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Returns the normalized path to <span class="kwd">'sym</span>.</p></div> + <p><a id="min-operator-id-permissions"></a> <span class="reference-title">permissions</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">int</span></span></p> <p>Returns the Unix permissions (expressed as a three-digit number) of file/directory <span class="kwd">'sym</span>.</p></div> + +<p><a id="min-operator-id-read"></a> +<span class="reference-title">read</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Reads the file <span class="kwd">str</span> and puts its contents on the top of the stack as a string.</p></div> <p><a id="min-operator-id-relative-path"></a> <span class="reference-title">relative-path</span></p>@@ -5506,6 +5897,13 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> <p>Converts all slashes in <span class="kwd">'sym</span> to backslashes.</p></div> + +<p><a id="min-operator-id-write"></a> +<span class="reference-title">write</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">str<sub>1</sub></span> <span class="kwd">str<sub>2</sub></span> <strong>⇒</strong> ∅</span></p> + +<p>Writes <span class="kwd">str<sub>1</sub></span> to the file <span class="kwd">str<sub>2</sub></span>, erasing all its contents first.</p></div> <a id="<code>http</code>-Module"></a> <h3><code>http</code> Module<a href="#document-top" title="Go to top"></a></h3>@@ -5677,33 +6075,12 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">a</span></span></p>
<p>Prints <span class="kwd">a</span> and a new line to STDERR, if logging level is set to <span class="kwd">error</span> or lower.</p></div> -<p><a id="min-operator-id-fappend"></a> -<span class="reference-title">fappend</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">str<sub>1</sub></span> <span class="kwd">str<sub>2</sub></span> <strong>⇒</strong> ∅</span></p> - -<p>Appends <span class="kwd">str<sub>1</sub></span> to the end of file <span class="kwd">str<sub>2</sub></span>.</p></div> - <p><a id="min-operator-id-fatal"></a> <span class="reference-title">fatal</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> <p>Prints <span class="kwd">a</span> and a new line to STDERR, and exists the program with error code <code>100</code>.</p></div> - -<p><a id="min-operator-id-fread"></a> -<span class="reference-title">fread</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">str</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Reads the file <span class="kwd">str</span> and puts its contents on the top of the stack as a string.</p></div> - -<p><a id="min-operator-id-fwrite"></a> -<span class="reference-title">fwrite</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">str<sub>1</sub></span> <span class="kwd">str<sub>2</sub></span> <strong>⇒</strong> ∅</span></p> - -<p>Writes <span class="kwd">str<sub>1</sub></span> to the file <span class="kwd">str<sub>2</sub></span>, erasing all its contents first.</p></div> <p><a id="min-operator-id-getchr"></a> <span class="reference-title">getchr</span></p>@@ -5757,13 +6134,6 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">str</span></span></p>
<p>Reads a line from STDIN displaying * for each typed character, and places it on top of the stack as a string.</p></div> -<p><a id="min-operator-id-print"></a> -<span class="reference-title">print</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> - -<p>Prints <span class="kwd">a</span> to STDOUT.</p></div> - <p><a id="min-operator-id-putchr"></a> <span class="reference-title">putchr</span></p>@@ -5776,13 +6146,6 @@
<div class="operator"><p><span class="kwd"> read <strong>⇒</strong> fread</span></p> <p>See <a href="#min-operator-id-fread">fread</a>.</p></div> - -<p><a id="min-operator-id-type"></a> -<span class="reference-title">type</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Puts the data type of <span class="kwd">a</span> on the stack. In cased of typed dictionaries, the type name is prefixed by <code>dict:</code>, e.g. <code>dict:module</code>, <code>dict:socket</code>, etc.</p></div> <p><a id="min-operator-id-unmapkey"></a> <span class="reference-title">unmapkey</span></p>@@ -6139,367 +6502,6 @@ </ul>
</dd> </dl></div> -<a id="<code>seq</code>-Module"></a> -<h3><code>seq</code> Module<a href="#document-top" title="Go to top"></a></h3> - -<p><a id="min-operator-id-all?"></a> -<span class="reference-title">all?</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> - -<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if all elements of <span class="kwd">quot<sub>1</sub></span> satisfy predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> - -<p><a id="min-operator-id-any?"></a> -<span class="reference-title">any?</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> - -<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if at least one element of <span class="kwd">quot<sub>1</sub></span> satisfies predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> - -<p><a id="min-operator-id-append"></a> -<span class="reference-title">append</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">quot</span> <strong>⇒</strong> (<span class="kwd">a<sub>*</sub></span> <span class="kwd">a</span>)</span></p> - -<p>Returns a new quotation containing the contents of <span class="kwd">quot</span> with <span class="kwd">a</span> appended.</p></div> - -<p><a id="min-operator-id-get"></a> -<span class="reference-title">get</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> - -<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot</span> (zero-based).</p></div> - -<p><a id="min-operator-id-concat"></a> -<span class="reference-title">concat</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Concatenates <span class="kwd">quot<sub>1</sub></span> with <span class="kwd">quot<sub>2</sub></span>.</p></div> - -<p><a id="min-operator-id-difference"></a> -<span class="reference-title">difference</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Calculates the difference <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(2)</code> on the stack:</p> - -<pre><code>(1 2 "test") ("test" "a" true 1) seq.difference -</code></pre></div></div> - -<p><a id="min-operator-id-drop"></a> -<span class="reference-title">drop</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the remaining elements after the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>, or an empty quotation if <span class="kwd">int</span> is greater than the length of <span class="kwd">quot<sub>1</sub></span>.</p></div> - -<p><a id="min-operator-id-filter"></a> -<span class="reference-title">filter</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Returns a new quotation <span class="kwd">quot<sub>3</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> that satisfy predicate <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(2 6 8 12)</code> on the stack:</p> - -<pre><code>(1 37 34 2 6 8 12 21) -(stackdup 20 < stack.swap even? and) seq.filter -</code></pre></div></div> - -<p><a id="min-operator-id-find"></a> -<span class="reference-title">find</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">int</span></span></p> - -<p>Returns the index of the first element within <span class="kwd">quot<sub>1</sub></span> that satisfies predicate <span class="kwd">quot<sub>2</sub></span>, or -1 if no element satisfies it.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>3</code> on the stack:</p> - -<pre><code>(1 2 4 8 16) -(5 >) seq.find -</code></pre></div></div> - -<p><a id="min-operator-id-first"></a> -<span class="reference-title">first</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> - -<p>Returns the first element of <span class="kwd">quot</span>.</p></div> - -<p><a id="min-operator-id-flatten"></a> -<span class="reference-title">flatten</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Flattens all quotations within <span class="kwd">quot<sub>1</sub></span> and returns the resulting sequence <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(1 2 3 4 5 6 7 8)</code> on the stack:</p> - -<pre><code>(1 (2 3 4) 5 (6 7) 8) -seq.flatten -</code></pre></div></div> - -<p><a id="min-operator-id-harvest"></a> -<span class="reference-title">harvest</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Creates a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> except for empty quotations.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(1 2 3)</code> on the stack:</p> - -<pre><code>(1 () () () 2 () 3) -seq.harvest -</code></pre></div></div> - -<p><a id="min-operator-id-in?"></a> -<span class="reference-title">in?</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">a</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> - -<p>Returns <span class="kwd">true</span> if <span class="kwd">a</span> is contained in <span class="kwd">quot</span>, <span class="kwd">false</span> otherwise.</p></div> - -<p><a id="min-operator-id-insert"></a> -<span class="reference-title">insert</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Inserts <span class="kwd">a</span> as the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> - -<p><a id="min-operator-id-intersection"></a> -<span class="reference-title">intersection</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Calculates the intersection <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(1 "test")</code> on the stack:</p> - -<pre><code>(1 2 "test") ("test" "a" true 1) seq.intersection -</code></pre></div></div> - -<p><a id="min-operator-id-last"></a> -<span class="reference-title">last</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">a</span></span></p> - -<p>Returns the last element of <span class="kwd">quot</span>.</p></div> - -<p><a id="min-operator-id-map"></a> -<span class="reference-title">map</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Returns a new quotation <span class="kwd">quot<sub>3</sub></span> obtained by applying <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span>.</p></div> - -<p><a id="min-operator-id-map-reduce"></a> -<span class="reference-title">map-reduce</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <span class="kwd">quot<sub>3</sub></span> <strong>⇒</strong> <span class="kwd">int</span></span></p> - -<p>Applies <span class="kwd">quot<sub>2</sub></span> (map) to each element of <span class="kwd">quot<sub>1</sub></span> and then applies <span class="kwd">quot<sub>3</sub></span> (reduce) to each successive element of <span class="kwd">quot<sub>1</sub></span>. <span class="kwd">quot<sub>1</sub></span> must have at least one element.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>35</code> on the stack:</p> - -<pre><code>(1 3 5) -(stack.dup *) (+) seq.map-reduce -</code></pre></div></div> - -<p><a id="min-operator-id-partition"></a> -<span class="reference-title">partition</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span> <span class="kwd">quot<sub>4</sub></span></span></p> - -<p>Partitions <span class="kwd">quot<sub>1</sub></span> into two quotations: <span class="kwd">quot<sub>3</sub></span> contains all elements of <span class="kwd">quot<sub>1</sub></span> that satisfy predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">quot<sub>4</sub></span> all the others.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(1 3 5) (2 4 6)</code> on the stack:</p> - -<pre><code>(1 2 3 4 5 6) -(odd?) seq.partition -</code></pre></div></div> - -<p><a id="min-operator-id-one?"></a> -<span class="reference-title">one?</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> - -<p>Applies predicate <span class="kwd">quot<sub>2</sub></span> to each element of <span class="kwd">quot<sub>1</sub></span> and returns <span class="kwd">true</span> if only one element of <span class="kwd">quot<sub>1</sub></span> satisfies predicate <span class="kwd">quot<sub>2</sub></span>, <span class="kwd">false</span> otherwise.</p></div> - -<p><a id="min-operator-id-prepend"></a> -<span class="reference-title">prepend</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">a</span> <span class="kwd">quot</span> <strong>⇒</strong> (<span class="kwd">a</span> <span class="kwd">a<sub>*</sub></span>)</span></p> - -<p>Returns a new quotation containing the contents of <span class="kwd">quot</span> with <span class="kwd">a</span> prepended.</p></div> - -<p><a id="min-operator-id-quote-map"></a> -<span class="reference-title">quote-map</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> obtained by quoting each element of <span class="kwd">quot<sub>1</sub></span>.</p></div> - -<p><a id="min-operator-id-raw-get"></a> -<span class="reference-title">raw-get</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">dict:rawval</span></span></p> - -<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot</span> (zero-based) wrapped in a <span class="kwd">dict:rawval</span>.</p></div> - -<p><a id="min-operator-id-reduce"></a> -<span class="reference-title">reduce</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">a<sub>2</sub></span></span></p> - -<p>Combines each successive element of <span class="kwd">quot<sub>1</sub></span> using <span class="kwd">quot<sub>2</sub></span>. On the first iteration, the first two inputs processed by <span class="kwd">quot<sub>2</sub></span> are <span class="kwd">a<sub>1</sub></span> and the first element of <span class="kwd">quot<sub>1</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>120</code> on the stack:</p> - -<pre><code>(1 2 3 4 5) -1 (*) seq.reduce -</code></pre></div></div> - -<p><a id="min-operator-id-reject"></a> -<span class="reference-title">reject</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Returns a new quotatios <span class="kwd">quot<sub>3</sub></span> including all elements of <span class="kwd">quot<sub>1</sub></span> that do not satisfy predicate <span class="kwd">quot<sub>2</sub></span> (i.e. the opposite of <code>filter</code>)</p></div> - -<p><a id="min-operator-id-remove"></a> -<span class="reference-title">remove</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns the <em>n<sup>th</sup></em> element of <span class="kwd">quot<sub>1</sub></span> (zero-based), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> - -<p><a id="min-operator-id-rest"></a> -<span class="reference-title">rest</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> quotation except for the first.</p></div> - -<p><a id="min-operator-id-reverse"></a> -<span class="reference-title">reverse</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a new quotation <span class="kwd">quot<sub>2</sub></span> containing all elements of <span class="kwd">quot<sub>1</sub></span> in reverse order.</p></div> - -<p><a id="min-operator-id-set"></a> -<span class="reference-title">set</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">a</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Sets the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based) to <span class="kwd">a</span>, and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> - -<p><a id="min-operator-id-set-sym"></a> -<span class="reference-title">set-sym</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">'sym</span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Sets the value of the <em>n<sup>th</sup></em> element <span class="kwd">quot<sub>1</sub></span> (zero-based) to <span class="kwd">'sym</span> (treating it as a symbol), and returns the modified copy of the quotation <span class="kwd">quot<sub>2</sub></span>.</p></div> - -<p><a id="min-operator-id-shorten"></a> -<span class="reference-title">shorten</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>.</p></div> - -<p><a id="min-operator-id-size"></a> -<span class="reference-title">size</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot</span> <strong>⇒</strong> <span class="kwd">int</span></span></p> - -<p>Returns the length of <span class="kwd">quot</span>.</p></div> - -<p><a id="min-operator-id-slice"></a> -<span class="reference-title">slice</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int<sub>1</sub></span> <span class="kwd">int<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Creates a new quotation <span class="kwd">quot<sub>2</sub></span> obtaining by selecting all elements of <span class="kwd">quot<sub>1</sub></span> between indexes <span class="kwd">int<sub>1</sub></span> and <span class="kwd">int<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(3 4 5)</code> on the stack:</p> - -<pre><code>(1 2 3 4 5 6) -2 4 seq.slice -</code></pre></div></div> - -<p><a id="min-operator-id-sort"></a> -<span class="reference-title">sort</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Sorts all elements of <span class="kwd">quot<sub>1</sub></span> according to predicate <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(1 3 5 7 9 13 16)</code> on the stack:</p> - -<pre><code>(1 9 5 13 16 3 7) '> seq.sort -</code></pre></div></div> - -<p><a id="min-operator-id-symmetric-difference"></a> -<span class="reference-title">symmetric-difference</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Calculates the symmetric difference <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(true "a" 2)</code> on the stack:</p> - -<pre><code>(1 2 "test") ("test" "a" true 1) seq.symmetric-difference -</code></pre></div></div> - -<p><a id="min-operator-id-take"></a> -<span class="reference-title">take</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">quot<sub>2</sub></span></span></p> - -<p>Returns a quotation <span class="kwd">quot<sub>2</sub></span> containing the first <em>n</em> values of the input quotation <span class="kwd">quot<sub>1</sub></span>, or <span class="kwd">quot<sub>1</sub></span> itself if <span class="kwd">int</span> is greater than the length of <span class="kwd">quot<sub>1</sub></span>.</p></div> - -<p><a id="min-operator-id-union"></a> -<span class="reference-title">union</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">quot<sub>1</sub></span> <span class="kwd">quot<sub>2</sub></span> <strong>⇒</strong> <span class="kwd">quot<sub>3</sub></span></span></p> - -<p>Calculates the union <span class="kwd">quot<sub>3</sub></span> of <span class="kwd">quot<sub>1</sub></span> and <span class="kwd">quot<sub>2</sub></span>.</p> - -<div class="sidebar"><p>Example</p> - -<p>The following program leaves <code>(true 1 "test" "a" 2)</code> on the stack:</p> - -<pre><code>(1 2 "test") ("test" "a" true 1) seq.union -</code></pre></div></div> - <a id="<code>stack</code>-Module"></a> <h3><code>stack</code> Module<a href="#document-top" title="Go to top"></a></h3>@@ -6550,13 +6552,6 @@
<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> (<span class="kwd">a<sub>*</sub></span>)</span></p> <p>Puts a quotation containing the contents of the stack on the stack.</p></div> - -<p><a id="min-operator-id-id"></a> -<span class="reference-title">id</span></p> - -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> ∅</span></p> - -<p>Does nothing.</p></div> <p><a id="min-operator-id-keep"></a> <span class="reference-title">keep</span></p>@@ -6671,6 +6666,13 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">dict:datastore</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict</span></span></p>
<p>Retrieves item <span class="kwd">dict</span> from datastore <span class="kwd">dict:datastore</span>. <span class="kwd">dict</span> is retrieved by specifying <span class="kwd">'sym</span>, which contains the collection containing the item and the item id, separated by a forward slash (/).</p></div> +<p><a id="min-operator-id-has?"></a> +<span class="reference-title">has?</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">dict:datastore</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">bool</span></span></p> + +<p>Returns <span class="kwd">true</span> if <span class="kwd">dict:datastore</span> has a key called <span class="kwd">'sym</span> (which contains the collection containing the item and the item id), <span class="kwd">false</span> otherwise.</p></div> + <p><a id="min-operator-id-init"></a> <span class="reference-title">init</span></p>@@ -6730,6 +6732,13 @@ <div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">bool</span></span></p>
<p>Returns <span class="kwd">true</span> if the program is being run with administrative privileges.</p></div> +<p><a id="min-operator-id-cd"></a> +<span class="reference-title">cd</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p> + +<p>Change the current directory to <span class="kwd">'sym</span>.</p></div> + <p><a id="min-operator-id-chmod"></a> <span class="reference-title">chmod</span></p>@@ -6743,13 +6752,6 @@ <p>The following program makes the file <strong>/tmp/test.txt</strong> readable, writable and executable by its owner, and readable and executable by users of the same group and all other users:</p>
<p><code>"/tmp/test.txt 755 sys.chmod"</code></p></div></div> -<p><a id="min-operator-id-cd"></a> -<span class="reference-title">cd</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> ∅</span></p> - -<p>Change the current directory to <span class="kwd">'sym</span>.</p></div> - <p><a id="min-operator-id-cp"></a> <span class="reference-title">cp</span></p>@@ -6893,34 +6895,6 @@
<a id="<code>time</code>-Module"></a> <h3><code>time</code> Module<a href="#document-top" title="Go to top"></a></h3> -<p><a id="min-operator-id-now"></a> -<span class="reference-title">now</span></p> - -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">flt</span></span></p> - -<p>Returns the current time as Unix timestamp with microseconds.</p></div> - -<p><a id="min-operator-id-stamp"></a> -<span class="reference-title">stamp</span></p> - -<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">int</span></span></p> - -<p>Returns the current time as Unix timestamp.</p></div> - -<p><a id="min-operator-id-info"></a> -<span class="reference-title">info</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">dict:timeinfo</span></span></p> - -<p>Returns a timeinfo dictionary from timestamp <span class="kwd">int</span>.</p></div> - -<p><a id="min-operator-id-to-timestamp"></a> -<span class="reference-title">to-timestamp</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">dict:timeinfo</span> <strong>⇒</strong> <span class="kwd">int</span></span></p> - -<p>Converts the timeinfo dictionary <span class="kwd">dict:timeinfo</span> to the corresponding Unix timestamp.</p></div> - <p><a id="min-operator-id-datetime"></a> <span class="reference-title">datetime</span></p>@@ -6939,46 +6913,36 @@ <div class="tip"><p>Tip</p>
<p>For information on special characters in the format string, see the <a href="https://nim-lang.org/docs/times.html#format,TimeInfo,string">format</a> nim method.</p></div></div> -<a id="<code>xml</code>-Module"></a> -<h3><code>xml</code> Module<a href="#document-top" title="Go to top"></a></h3> - -<p><a id="min-operator-id-from-html"></a> -<span class="reference-title">from-html</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">xml-node</span></span></p> +<p><a id="min-operator-id-info"></a> +<span class="reference-title">info</span></p> -<p>Returns an <span class="kwd">xml-node</span> representing an HTML string (wrapped in a <code><document></code> tag unless a valid HTML document is provided as input).</p></div> +<div class="operator"><p><span class="kwd"> <span class="kwd">int</span> <strong>⇒</strong> <span class="kwd">dict:timeinfo</span></span></p> -<p><a id="min-operator-id-from-xml"></a> -<span class="reference-title">from-xml</span></p> +<p>Returns a timeinfo dictionary from timestamp <span class="kwd">int</span>.</p></div> -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">xml-node</span></span></p> +<p><a id="min-operator-id-now"></a> +<span class="reference-title">now</span></p> -<p>Returns an <span class="kwd">xml-node</span> representing an XML string (element or fragment).</p> +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">flt</span></span></p> -<div class="sidebar"><p>Example</p> +<p>Returns the current time as Unix timestamp with microseconds.</p></div> -<p>The following program:</p> +<p><a id="min-operator-id-stamp"></a> +<span class="reference-title">stamp</span></p> -<pre><code>"<a href='https://min-lang.org'>min web site</a>" from-xml -</code></pre> +<div class="operator"><p><span class="kwd"> ∅ <strong>⇒</strong> <span class="kwd">int</span></span></p> -<p>returns the following:</p> +<p>Returns the current time as Unix timestamp.</p></div> -<pre><code>{ - {"https://min-lang.org" :href} :attributes - ({"min web site" :text}) :children - "a" :tag - ;xml-element -} -</code></pre></div></div> +<p><a id="min-operator-id-to-timestamp"></a> +<span class="reference-title">to-timestamp</span></p> -<p><a id="min-operator-id-to-xml"></a> -<span class="reference-title">to-xml</span></p> +<div class="operator"><p><span class="kwd"> <span class="kwd">dict:timeinfo</span> <strong>⇒</strong> <span class="kwd">int</span></span></p> -<div class="operator"><p><span class="kwd"> <span class="kwd">xml-node</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> +<p>Converts the timeinfo dictionary <span class="kwd">dict:timeinfo</span> to the corresponding Unix timestamp.</p></div> -<p>Returns a <span class="kwd">str</span> representing an XML node.</p></div> +<a id="<code>xml</code>-Module"></a> +<h3><code>xml</code> Module<a href="#document-top" title="Go to top"></a></h3> <p><a id="min-operator-id-cdata"></a> <span class="reference-title">cdata</span></p>@@ -7008,13 +6972,6 @@ <div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict:xml-entity</span></span></p>
<p>Returns a <span class="kwd">dict:xml-entity</span> representing an XML entity.</p></div> -<p><a id="min-operator-id-escape"></a> -<span class="reference-title">escape</span></p> - -<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> - -<p>Converts any <code><</code>, <code>></code>, <code>&</code>, <code>'</code>, and <code>"</code> present in <span class="kwd">'sym</span> into the corresponding XML entities.</p></div> - <p><a id="min-operator-id-entity2utf8"></a> <span class="reference-title">entity2utf8</span></p>@@ -7029,6 +6986,44 @@
<pre><code> "&gt;" xml.entity xml.entity2utf8 puts! </code></pre></div></div> +<p> <a id="min-operator-id-escape"></a> +<span class="reference-title">escape</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Converts any <code><</code>, <code>></code>, <code>&</code>, <code>'</code>, and <code>"</code> present in <span class="kwd">'sym</span> into the corresponding XML entities.</p></div> + +<p><a id="min-operator-id-from-html"></a> +<span class="reference-title">from-html</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">xml-node</span></span></p> + +<p>Returns an <span class="kwd">xml-node</span> representing an HTML string (wrapped in a <code><document></code> tag unless a valid HTML document is provided as input).</p></div> + +<p><a id="min-operator-id-from-xml"></a> +<span class="reference-title">from-xml</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">xml-node</span></span></p> + +<p>Returns an <span class="kwd">xml-node</span> representing an XML string (element or fragment).</p> + +<div class="sidebar"><p>Example</p> + +<p>The following program:</p> + +<pre><code>"<a href='https://min-lang.org'>min web site</a>" from-xml +</code></pre> + +<p>returns the following:</p> + +<pre><code>{ + {"https://min-lang.org" :href} :attributes + ({"min web site" :text}) :children + "a" :tag + ;xml-element +} +</code></pre></div></div> + <p><a id="min-operator-id-query"></a> <span class="reference-title">query</span></p>@@ -7058,8 +7053,8 @@ ;xml-element
} </code></pre></div></div> -<p><a id="min-operator-id-queryall"></a> -<span class="reference-title">queryall</span></p> +<p><a id="min-operator-id-query-all"></a> +<span class="reference-title">query-all</span></p> <div class="operator"><p><span class="kwd"> <span class="kwd">dict:xml-element</span> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict:xml-element</span></span></p>@@ -7099,9 +7094,16 @@
<div class="operator"><p><span class="kwd"> <span class="kwd">'sym</span> <strong>⇒</strong> <span class="kwd">dict:xml-text</span></span></p> <p>Returns a <span class="kwd">dict:xml-text</span> representing an XML text node.</p></div> + +<p><a id="min-operator-id-to-xml"></a> +<span class="reference-title">to-xml</span></p> + +<div class="operator"><p><span class="kwd"> <span class="kwd">xml-node</span> <strong>⇒</strong> <span class="kwd">str</span></span></p> + +<p>Returns a <span class="kwd">str</span> representing an XML node.</p></div> </div> <div id="footer"> - <p><span class="copy"></span> Fabio Cevasco – October 19, 2024</p> + <p><span class="copy"></span> Fabio Cevasco – October 26, 2024</p> <p><span>Powered by</span> <a href="https://h3rald.com/hastyscribe" class="hastyscribe-logo"> <img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='350.755'%20height='102.312'%3E%3Cg%20font-family='Mr%20Bedfort'%20font-size='72'%20font-weight='400'%20letter-spacing='0'%20style='line-height:125%25;-inkscape-font-specification:Mr%20Bedfort'%20word-spacing='0'%3E%3Cpath%20d='m17.352%2044.784-1.296-5.616c-3.552-1.2-7.2-2.52-10.944-3.96-.048%200-.072.024-.072.072.048%201.008%204.152%204.176%2012.312%209.504m6.12-3.24c.96%204.224%201.56%206.96%201.8%208.208%2011.424%206.96%2018.744%2010.464%2021.96%2010.512l-3.888-13.896c-6.432-1.248-13.056-2.856-19.872-4.824M18%204.752l-.288%204.608c0%204.464%201.512%2013.32%204.536%2026.568%206.24%201.92%2012.792%203.576%2019.656%204.968-1.968-7.44-3.408-13.848-4.32-19.224-.912-5.424-1.368-11.208-1.368-17.352.096-.528%201.032-1.368%202.808-2.52C40.848.6%2042.144%200%2042.912%200c.384%200%20.576.264.576.792l-.36%205.04c0%207.776%202.016%2019.872%206.048%2036.288%205.664.864%2010.944%201.368%2015.84%201.512.336%200%20.504.168.504.504%200%20.288-1.056%201.008-3.168%202.16-2.112%201.152-3.36%201.728-3.744%201.728-2.256%200-4.944-.192-8.064-.576l2.808%2010.08c0%20.816-1.704%202.208-5.112%204.176-3.84%200-11.376-3.336-22.608-10.008.48%202.688.768%205.04.864%207.056-.096.096-1.056.576-2.88%201.44-1.824.864-2.856%201.296-3.096%201.296-.624%200-.936-.456-.936-1.368-.432-4.56-1.056-9-1.872-13.32-4.896-3.168-9.072-6.048-12.528-8.64C1.728%2035.52%200%2033.912%200%2033.336c0-.768%201.584-2.088%204.752-3.96l.216-.144c3.264%201.536%206.48%202.88%209.648%204.032-2.736-10.416-4.104-17.496-4.104-21.24%200-1.68.192-3%20.576-3.96.096-.144%201.152-.816%203.168-2.016%202.016-1.2%203.168-1.8%203.456-1.8.192%200%20.288.168.288.504M78.01%2040.104c.144-.288%201.44-.432%203.888-.432%202.496%200%203.744.36%203.744%201.08%200%20.144-.144.432-.432.864-1.68%202.304-2.52%204.704-2.52%207.2%200%202.496.576%204.56%201.728%206.192%201.2%201.584%202.712%202.376%204.536%202.376%202.976%200%206-2.112%209.072-6.336l.504.864c-3.744%205.952-7.872%208.928-12.384%208.928-3.408%200-6.024-1.752-7.848-5.256-.768%201.152-2.016%202.232-3.744%203.24-1.728%201.008-3.36%201.512-4.896%201.512-4.176%200-6.264-1.752-6.264-5.256%200-2.736%201.152-5.592%203.456-8.568%202.352-3.024%204.656-4.536%206.912-4.536.192%200%20.288.072.288.216%200%20.144-.096.312-.288.504-1.008.528-1.872%201.632-2.592%203.312a13.12%2013.12%200%200%200-1.008%205.04c0%203.504%201.344%205.256%204.032%205.256.768%200%201.488-.192%202.16-.576.72-.432%201.152-1.032%201.296-1.8a14.973%2014.973%200%200%201-.936-5.256c0-1.824.072-3.36.216-4.608.384-2.64.744-3.96%201.08-3.96'/%3E%3Cpath%20d='m119.772%2051.048.504.864c-2.016%203.216-4.44%205.664-7.272%207.344-2.832%201.728-5.52%202.592-8.064%202.592-5.136%200-8.544-2.208-10.224-6.624%200-.24.552-1.032%201.656-2.376%201.104-1.344%201.824-2.016%202.16-2.016.384%200%20.6.12.648.36.288%201.536%201.08%203.168%202.376%204.896%201.344%201.728%202.568%202.592%203.672%202.592%201.728%200%202.616-.48%202.664-1.44%200-1.488-1.752-3.744-5.256-6.768-1.296-1.152-2.496-2.616-3.6-4.392-1.056-1.824-1.584-3.696-1.584-5.616%200-.384.072-.648.216-.792%202.112-1.92%203.504-2.88%204.176-2.88.528%200%20.792.408.792%201.224.048%201.776.792%203.624%202.232%205.544%201.488%201.872%202.928%203.672%204.32%205.4%201.44%201.728%202.16%203.456%202.16%205.184%200%201.68-.84%203.192-2.52%204.536%203.936-.096%207.584-2.64%2010.944-7.632'/%3E%3Cpath%20d='M122.633%2024.264c.768%2022.56%204.248%2033.84%2010.44%2033.84%202.64%200%205.808-2.352%209.504-7.056l.504.864c-4.512%206.72-8.832%2010.08-12.96%2010.08-4.08%200-7.392-3.12-9.936-9.36-2.544-6.288-3.888-14.64-4.032-25.056%200%200-.347-5.071%200-4.827.096-3.648.264-5.229.504-8.493%200-.432.216-.72.648-.864%202.88-1.152%204.488-1.728%204.824-1.728.384%200%20.576.216.576.648a165.13%20165.13%200%200%200-.144%206.552'/%3E%3Cpath%20d='M157.87%2082.728c0%203.984%201.176%207.728%203.528%2011.232%202.352%203.504%204.536%205.256%206.552%205.256%201.728%200%202.592-1.536%202.592-4.608%200-2.256-.84-5.712-2.52-10.368a1998.05%201998.05%200%200%200-2.808-7.704%20452.798%20452.798%200%200%201-2.952-8.136c-2.928%204.464-4.392%209.24-4.392%2014.328m15.84%205.544c0%204.704-.792%208.208-2.376%2010.512-1.584%202.352-3.6%203.528-6.048%203.528-3.12%200-6-1.68-8.64-5.04-2.592-3.312-3.888-7.44-3.888-12.384.336-3.408%201.248-6.552%202.736-9.432%201.536-2.88%203.576-5.856%206.12-8.928-1.632-4.464-2.76-7.992-3.384-10.584-2.064%202.64-4.44%203.96-7.128%203.96-2.688%200-5.04-1.368-7.056-4.104-2.016-2.736-3.024-6.672-3.024-11.808%200-.528.384-.888%201.152-1.08%202.304-.48%203.624-.72%203.96-.72.576%200%20.864.288.864.864%200%204.368.984%207.8%202.952%2010.296%201.248%201.536%202.808%202.304%204.68%202.304%201.008%200%202.064-.456%203.168-1.368-.72-3.216-1.08-5.904-1.08-8.064%200-2.208.504-3.816%201.512-4.824%202.064-1.2%203.216-1.8%203.456-1.8.48%200%20.72.36.72%201.08%200%205.232.96%2010.752%202.88%2016.56l1.224%203.816c3.6-3.888%206.336-7.224%208.208-10.008l.504.864c-1.152%201.824-2.208%203.312-3.168%204.464a161.359%20161.359%200%200%201-3.096%203.6%20676.433%20676.433%200%200%201-2.016%202.376c3.504%2010.032%205.424%2015.912%205.76%2017.64.672%203.408%201.008%206.168%201.008%208.28'/%3E%3Cpath%20d='M178.334%2012.888c0%204.608%202.736%208.904%208.208%2012.888%202.544-6.528%203.816-11.712%203.816-15.552%200-1.68-.552-3.24-1.656-4.68-1.104-1.44-2.352-2.16-3.744-2.16-1.344%200-2.568.72-3.672%202.16-1.056%201.44-1.824%202.88-2.304%204.32-.432%201.392-.648%202.4-.648%203.024m-9.36%2046.944c-.336.336-.624.504-.864.504-.384%200-.576-.192-.576-.576%200-.384.096-.696.288-.936%202.16-2.4%204.704-6.024%207.632-10.872a162.099%20162.099%200%200%200%208.064-15.12c-6.144-4.272-9.216-8.64-9.216-13.104%200-2.976.696-6%202.088-9.072%201.44-3.072%203.336-5.616%205.688-7.632%202.4-2.016%204.68-3.024%206.84-3.024%202.208%200%203.696.528%204.464%201.584.816%201.008%201.224%202.496%201.224%204.464%200%203.696-2.232%2010.608-6.696%2020.736%201.584%201.056%203.696%202.352%206.336%203.888a295.464%20295.464%200%200%201%206.84%203.888%2056.857%2056.857%200%200%201%205.76%203.816c3.936%203.024%205.904%206.312%205.904%209.864%200%203.504-1.824%206.792-5.472%209.864-3.648%203.024-7.344%204.536-11.088%204.536-5.904%200-11.16-3.072-15.768-9.216-.528-.72-.792-1.32-.792-1.8%200-.528.6-1.272%201.8-2.232%201.2-1.008%202.136-1.512%202.808-1.512.144%200%20.264.072.36.216%201.296%202.256%203.624%204.656%206.984%207.2%203.36%202.544%206.648%203.816%209.864%203.816%203.984-.288%205.976-2.256%205.976-5.904%200-3.072-1.752-5.952-5.256-8.64-2.592-1.968-5.784-4.032-9.576-6.192-3.792-2.208-6.408-3.792-7.848-4.752-5.808%2012.192-11.064%2020.928-15.768%2026.208M230.382%2041.688c0-1.44-.912-2.16-2.736-2.16-1.824%200-3.336.816-4.536%202.448-1.2%201.632-1.8%203.72-1.8%206.264%200%202.496.96%204.776%202.88%206.84%201.968%202.016%204.896%203.024%208.784%203.024%202.448%200%204.824-.576%207.128-1.728%202.352-1.2%204.344-2.976%205.976-5.328l.504.864c-1.728%203.12-4.392%205.544-7.992%207.272-3.552%201.728-7.152%202.592-10.8%202.592-3.6%200-6.552-.768-8.856-2.304-2.256-1.488-3.384-3.648-3.384-6.48%200-3.6%201.416-7.008%204.248-10.224%202.88-3.216%206.456-4.824%2010.728-4.824%201.488%200%202.592.384%203.312%201.152.72.72%201.08%201.704%201.08%202.952%200%201.2-.432%202.4-1.296%203.6-.864%201.152-1.848%201.728-2.952%201.728-.576%200-1.176-.216-1.8-.648-.576-.48-.864-.864-.864-1.152%200-.336.12-.6.36-.792.24-.24.528-.456.864-.648.768-.384%201.152-1.2%201.152-2.448'/%3E%3Cpath%20d='m251.359%2047.088-1.368-.072c-.48%200-.816.216-1.008.648-.576%201.44-1.488%203.072-2.736%204.896l-.576-.792c.96-1.296%201.704-2.928%202.232-4.896%200-.384-.168-.648-.504-.792-2.16-.72-3.24-2.616-3.24-5.688%200-.672.576-1.296%201.728-1.872%201.152-.624%202.112-.936%202.88-.936.768%200%201.152.336%201.152%201.008%200%203.6%201.68%205.4%205.04%205.4.816%200%201.464-.072%201.944-.216.528-.192.816-.288.864-.288.48%200%20.72.36.72%201.08%200%20.672-.192%201.152-.576%201.44-.336.24-.72.792-1.152%201.656-.432.816-.648%201.776-.648%202.88%200%202.16.624%203.864%201.872%205.112%201.296%201.2%202.88%201.8%204.752%201.8%201.92%200%203.816-.552%205.688-1.656%201.872-1.104%203.504-2.688%204.896-4.752l.504.864c-1.68%202.928-4.008%205.28-6.984%207.056-2.976%201.776-5.64%202.664-7.992%202.664-4.8%200-7.2-2.184-7.2-6.552%200-.816.288-1.92.864-3.312.576-1.392%201.152-2.568%201.728-3.528l.864-1.44c0-.192-.072-.288-.216-.288-1.536.384-2.712.576-3.528.576'/%3E%3Cpath%20d='M273.24%2042.84c-.24%202.016-.36%203.672-.36%204.968%200%204.56.864%208.112%202.592%2010.656%201.776%202.496%203.912%203.744%206.408%203.744%202.544%200%205.064-.888%207.56-2.664%202.496-1.728%204.824-4.272%206.984-7.632l-.504-.864c-3.744%205.136-7.2%207.704-10.368%207.704-2.016%200-3.648-1.08-4.896-3.24-1.248-2.16-1.872-5.088-1.872-8.784%200-1.92.168-3.864.504-5.832%200-.432-.192-.648-.576-.648-.336%200-1.944.576-4.824%201.728-.432.144-.648.432-.648.864m5.976-15.48c.768.816%201.152%201.8%201.152%202.952s-.384%202.136-1.152%202.952c-.72.816-1.608%201.224-2.664%201.224-1.008%200-1.872-.408-2.592-1.224-.72-.816-1.08-1.8-1.08-2.952s.36-2.136%201.08-2.952c.72-.816%201.584-1.224%202.592-1.224%201.056%200%201.944.408%202.664%201.224'/%3E%3Cpath%20d='M310.14%2045.36c-.576%200-.864.576-.864%201.728%200%201.152.456%202.52%201.368%204.104.96%201.536%202.16%202.76%203.6%203.672.048-.24.072-.6.072-1.08%200-2.112-.408-4.032-1.224-5.76-.816-1.776-1.8-2.664-2.952-2.664m-13.464-24.912c0%209.6%201.104%2017.76%203.312%2024.48%202.16-5.904%203.24-13.8%203.24-23.688%200-4.272-.264-7.8-.792-10.584s-1.248-4.176-2.16-4.176c-1.2%200-2.112%201.296-2.736%203.888-.576%202.544-.864%205.904-.864%2010.08m11.448-6.84c0%204.704-.816%2010.32-2.448%2016.848-1.584%206.528-3.312%2011.832-5.184%2015.912%201.488%204.224%203.192%207.488%205.112%209.792%201.92%202.256%203.672%203.384%205.256%203.384s2.64-.984%203.168-2.952c-2.16-.96-4.008-2.496-5.544-4.608-1.488-2.112-2.232-4.224-2.232-6.336%200-1.104.264-1.992.792-2.664.528-.672%201.296-1.008%202.304-1.008%202.496%200%204.416.96%205.76%202.88%201.392%201.872%202.088%204.128%202.088%206.768%200%201.488-.24%202.904-.72%204.248.48.144%201.032.216%201.656.216%202.64%200%204.992-1.68%207.056-5.04l.576.72c-2.16%203.696-4.872%205.544-8.136%205.544-.384%200-.96-.048-1.728-.144-1.68%203.12-4.224%204.68-7.632%204.68-3.936%200-7.536-2.352-10.8-7.056-1.584-2.352-2.856-5.568-3.816-9.648-1.008-4.128-1.512-8.712-1.512-13.752%200-5.04.432-9.6%201.296-13.68.816-4.08%202.064-7.44%203.744-10.08%201.68-2.64%203.6-3.96%205.76-3.96%203.456%200%205.184%203.312%205.184%209.936'/%3E%3Cpath%20d='m332.694%2037.656.072-.936c0-.576-.648-.864-1.944-.864a5.858%205.858%200%200%200-3.528%201.152c-1.008.768-1.512%201.8-1.512%203.096%200%202.304%201.656%203.456%204.968%203.456.528%200%201.056-.072%201.584-.216a5.437%205.437%200%200%201%201.728-.288c.576%200%20.864.192.864.576%200%20.048-.192.168-.576.36-.384.144-.864.384-1.44.72-.528.336-1.08.768-1.656%201.296-1.344%201.248-2.016%202.952-2.016%205.112s.648%203.816%201.944%204.968c1.296%201.104%202.976%201.656%205.04%201.656s4.176-.6%206.336-1.8a14.695%2014.695%200%200%200%205.256-4.896l.504.864c-1.824%203.168-4.368%205.664-7.632%207.488-3.216%201.872-6.168%202.808-8.856%202.808-2.64%200-4.68-.552-6.12-1.656-1.392-1.104-2.088-2.52-2.088-4.248%200-1.776.432-3.408%201.296-4.896.864-1.488%201.608-2.544%202.232-3.168.672-.672%201.152-1.128%201.44-1.368.336-.288.504-.48.504-.576%200-.144-.024-.216-.072-.216-1.536.576-3.024.864-4.464.864-2.544%200-3.816-1.032-3.816-3.096%200-2.784%201.584-5.184%204.752-7.2%203.168-2.016%205.928-3.024%208.28-3.024%202.4%200%203.6.576%203.6%201.728%200%20.72-.384%201.488-1.152%202.304-.768.816-1.464%201.224-2.088%201.224-.96%200-1.44-.408-1.44-1.224'/%3E%3C/g%3E%3Ctext%20xml:space='preserve'%20x='280.368'%20y='13.976'%20font-family='Mr%20Bedfort'%20font-size='40'%20font-weight='400'%20letter-spacing='0'%20style='line-height:125%25;-inkscape-font-specification:Mr%20Bedfort'%20transform='translate(-177.39%20-82.362)'%20word-spacing='0'/%3E%3Cpath%20fill-rule='evenodd'%20d='M99.36%2029.25c-.061-.106.474-.57%201.596-1.31%201.123-.74%202.835-1.75%205.15-2.876%202.313-1.127%205.233-2.365%208.729-3.583%203.496-1.218%207.573-2.41%2012.103-3.567%205.291-1.357%2011.259-2.645%2017.812-3.778%206.554-1.133%2013.693-2.108%2021.297-2.923%2013.686-1.47%2028.926-2.381%2045.127-2.565%207.483-.085%2015.175-.02%2023.015.229%207.834.248%2015.51.67%2022.968%201.25%2014.92%201.156%2028.998%202.957%2041.703%205.435%206.104%201.186%2011.931%202.505%2017.35%204.046%205.42%201.541%2010.433%203.303%2014.965%205.263%204.145%201.79%207.906%203.808%2011.06%206.11%201.442%201.044%202.772%202.171%203.92%203.37%201.146%201.199%202.11%202.469%202.864%203.785a13.434%2013.434%200%200%201%201.512%203.986c.295%201.494.276%202.914.074%204.176a14.011%2014.011%200%200%201-1.3%203.977%2016.406%2016.406%200%200%201-1.587%202.577c-.977%201.305-1.626%201.855-1.732%201.773-.106-.082.333-.802%201.064-2.196a22.47%2022.47%200%200%200%201.191-2.616c.393-1.05.749-2.284.853-3.7a10.664%2010.664%200%200%200-.315-3.59c-.293-1.107-.799-2.24-1.502-3.34-.713-1.123-1.625-2.201-2.717-3.229-1.092-1.027-2.363-2.005-3.75-2.943-3.044-2.044-6.684-3.82-10.755-5.44-4.459-1.771-9.383-3.354-14.721-4.736-5.338-1.383-11.09-2.564-17.15-3.648-12.586-2.244-26.524-3.873-41.336-4.949a561.489%20561.489%200%200%200-22.791-1.181%20602.786%20602.786%200%200%200-22.847-.285c-16.088.1-31.21.836-44.806%202.057-7.56.68-14.646%201.492-21.154%202.44-6.509.95-12.44%202.035-17.714%203.176-4.53.984-8.59%201.971-12.085%202.975a106.17%20106.17%200%200%200-8.788%202.925c-2.358.907-4.145%201.7-5.364%202.228-1.22.527-1.876.783-1.938.677z'/%3E%3C/svg%3E " width="80" height="23" alt="HastyScribe"> </a></p>
@@ -19,7 +19,7 @@
If not, well, here's how a short min program looks like: ; This is a comment - (1 2 3 4 5) (dup *) map + (1 2 3 4 5) (stack.dup *) map This program returns a list containing the square values of the first five integer numbers:@@ -28,7 +28,7 @@
Let's see how it works: 1. First a list containing the first five integer is pushed on the stack. -2. Then, another list containing two symbols (`dup` and `*`) is pushed on the stack. This constitutes a quoted program which, when executed duplicates (`dup`) the first element on the stack and then multiplies (`*`) the two elements together. +2. Then, another list containing two symbols (`stack.dup` and `*`) is pushed on the stack. This constitutes a quoted program which, when executed, duplicates (`stack.dup`) the first element on the stack and then multiplies (`*`) the two elements together. 3. Finally, the symbol `map` is pushed on the stack. Map takes a list of elements and a quoted program and applies the program to each element. Note that: