From d74a64bbdb73d197b419850747362c4d1afbd44d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 00:32:05 +0000 Subject: [PATCH] deploy: fb5a9799623178161b2f1657591d017c3fcadfb0 --- 404.html | 2 +- assets/js/7e736cac.c2378695.js | 1 - assets/js/7e736cac.cf72ab93.js | 1 + ...{runtime~main.136b170d.js => runtime~main.43281dcb.js} | 2 +- blog.html | 2 +- blog/archive.html | 2 +- blog/authors.html | 2 +- blog/emacs-scheme-regex.html | 2 +- blog/lips-history.html | 2 +- blog/tags.html | 2 +- blog/tags/emacs.html | 2 +- blog/tags/history.html | 2 +- blog/tags/lips.html | 2 +- blog/tags/scheme.html | 2 +- docs/category/introduction-to-scheme.html | 2 +- docs/category/lips-introduction.html | 2 +- docs/intro.html | 2 +- docs/lips/REPL.html | 2 +- docs/lips/SRFI.html | 2 +- docs/lips/embeding-repl.html | 2 +- docs/lips/environments.html | 2 +- docs/lips/extension.html | 2 +- docs/lips/functional-helpers.html | 2 +- docs/lips/intro.html | 2 +- docs/lips/reflection.html | 8 ++++---- docs/lips/sxml.html | 2 +- docs/scheme-intro/continuations.html | 2 +- docs/scheme-intro/core.html | 2 +- docs/scheme-intro/data-types.html | 2 +- docs/scheme-intro/input-output.html | 2 +- docs/scheme-intro/macros.html | 2 +- docs/scheme-intro/next-step.html | 2 +- docs/scheme-intro/streams.html | 2 +- docs/scheme-intro/what-is-lisp.html | 2 +- index.html | 2 +- reference.html | 2 +- screenshooter.html | 2 +- sitemap.xml | 2 +- 38 files changed, 40 insertions(+), 40 deletions(-) delete mode 100644 assets/js/7e736cac.c2378695.js create mode 100644 assets/js/7e736cac.cf72ab93.js rename assets/js/{runtime~main.136b170d.js => runtime~main.43281dcb.js} (98%) diff --git a/404.html b/404.html index c0ca8cf5..bf18e9e4 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | LIPS Scheme - + diff --git a/assets/js/7e736cac.c2378695.js b/assets/js/7e736cac.c2378695.js deleted file mode 100644 index 3b22e904..00000000 --- a/assets/js/7e736cac.c2378695.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[6372],{2591:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"lips/reflection","title":"Reflection","description":"A way to introspect and manipulate LIPS internals","source":"@site/docs/lips/reflection.md","sourceDirName":"lips","slug":"/lips/reflection","permalink":"/docs/lips/reflection","draft":false,"unlisted":false,"editUrl":"https://github.com/LIPS-scheme/lips/tree/master/docs/docs/lips/reflection.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"description":"A way to introspect and manipulate LIPS internals"},"sidebar":"tutorialSidebar","previous":{"title":"Core features","permalink":"/docs/lips/intro"},"next":{"title":"SXML (e.g. for React)","permalink":"/docs/lips/sxml"}}');var t=r(4848),i=r(8453);const c={sidebar_position:2,description:"A way to introspect and manipulate LIPS internals"},l="Reflection",a={},o=[{value:"Numbers",id:"numbers",level:2},{value:"Lists and Pairs",id:"lists-and-pairs",level:2},{value:"Strings",id:"strings",level:2},{value:"Characters",id:"characters",level:2},{value:"Procedures",id:"procedures",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"reflection",children:"Reflection"})}),"\n",(0,t.jsx)(n.p,{children:"You can use standard JavaScript methods to inspect LIPS objects."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Scheme functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"dir"})," - this procedure is inspired by Python function with the same name, it return all properties\nthat you can access on an object. Including those from object prototype and whole chain."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"env"})," - function return everything what is inside current-environment."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"JavaScript functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.keys"})," - this JavaScript method will return all string keys from an object."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.values"})," - return the value of the object."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.entries"})," - this return array of ",(0,t.jsx)(n.code,{children:"[key,value]"})," pairs."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.getOwnPropertySymbols"})," - similar to ",(0,t.jsx)(n.code,{children:"Object.keys"})," but return all symbols"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"numbers",children:"Numbers"}),"\n",(0,t.jsx)(n.p,{children:"You can access internal representation of numbers as JavaScript objects"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((num 1/2+10i))\n (print num.__im__)\n (print num.__re__)\n (print num.__re__.__denom__)\n (print num.__re__.__num__))\n;; ==> 10\n;; ==> 1/2\n;; ==> 2\n;; ==> 1\n"})}),"\n",(0,t.jsx)(n.h2,{id:"lists-and-pairs",children:"Lists and Pairs"}),"\n",(0,t.jsx)(n.p,{children:"You can access Pairs as JavaScript objects:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x '(1 2 3)))\n x.cdr.cdr.car)\n;; ==> 3\n"})}),"\n",(0,t.jsxs)(n.p,{children:["You can also manipulate the list with ",(0,t.jsx)(n.code,{children:"set!"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x '(1 2 3)))\n (set! x.cdr.cdr.cdr x)\n x)\n;; ==> #0=(1 2 3 . #0#)\n"})}),"\n",(0,t.jsx)(n.p,{children:"Above create a cycle. When you you try to display a cycle it's printed using R7RS datum syntax."}),"\n",(0,t.jsx)(n.h2,{id:"strings",children:"Strings"}),"\n",(0,t.jsx)(n.p,{children:"Same as with numbers and list you can access internals of Strings."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(let ((str "hello"))\n (str.__string__.toUpperCase))\n;; ==> "HELLO"\n'})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"__string__"})," property is read only so you can't modify its value:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((str \"hello\"))\n (set! str.__string__ \"world\")\n str)\n;; ==> Cannot assign to read only property '__string__' of object '[object Object]'\n"})}),"\n",(0,t.jsx)(n.h2,{id:"characters",children:"Characters"}),"\n",(0,t.jsx)(n.p,{children:"Similar to string you can access internals of Characters."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x #\\X)) (dir x))\n;; ==> (__char__ constructor toUpperCase toLowerCase toString serialize valueOf)\n"})}),"\n",(0,t.jsxs)(n.p,{children:["the ",(0,t.jsx)(n.code,{children:"__char__"})," property is a string that hold the value of the character."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(let ((x #\\X))\n (write x)\n (newline)\n (write x.__char__)\n (newline))\n;; ==> #\\X\n;; ==> "X"\n'})}),"\n",(0,t.jsx)(n.h2,{id:"procedures",children:"Procedures"}),"\n",(0,t.jsxs)(n.p,{children:["Procedures as described in ",(0,t.jsx)(n.a,{href:"/docs/lips/intro#procedures",children:"Core features"})," are JavaScript functions,\nthey also hold additional properties like ",(0,t.jsx)(n.code,{children:"__code__"})," and ",(0,t.jsx)(n.code,{children:"__doc__"}),". The first property is the live\nsource code of the procedure that you can modify:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(define (repeater x)\n "(repeater value)\n\n Function prints the value 1 time and modifies itself to repeat\n (+ n 1) times on the next call."\n (for-each (lambda () (print x)) (range 1))\n (let ((r (cadr (cdadddr (. repeater \'__code__)))))\n (set-cdr! r (list (+ (cadr r) 1)))))\n'})}),"\n",(0,t.jsx)(n.p,{children:"This procedure modify its source code. Each time you execute this function it will run one more\ntimes."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(print "1")\n(repeater \'hello)\n;; ==> 1\n;; ==> hello\n(print "2")\n(repeater \'hello)\n;; ==> 2\n;; ==> hello\n;; ==> hello\n(print "3")\n(repeater \'hello)\n;; ==> 3\n;; ==> hello\n;; ==> hello\n;; ==> hello\n'})}),"\n",(0,t.jsxs)(n.p,{children:["The first expression of the procedure is a doc string, unless a string is the only expression,\nin that case it's a return value. To access doc string you can use ",(0,t.jsx)(n.code,{children:"help"})," or ",(0,t.jsx)(n.code,{children:"__doc__"}),"."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'repeater.__doc__\n"(repeater value)\n\nFunction prints the value 1 time and modifies itself to repeat\n(+ n 1) times on the next call."\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>l});var s=r(6540);const t={},i=s.createContext(t);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7e736cac.cf72ab93.js b/assets/js/7e736cac.cf72ab93.js new file mode 100644 index 00000000..9efb2998 --- /dev/null +++ b/assets/js/7e736cac.cf72ab93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknew_docs=self.webpackChunknew_docs||[]).push([[6372],{2591:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>c,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"lips/reflection","title":"Reflection","description":"A way to introspect and manipulate LIPS internals","source":"@site/docs/lips/reflection.md","sourceDirName":"lips","slug":"/lips/reflection","permalink":"/docs/lips/reflection","draft":false,"unlisted":false,"editUrl":"https://github.com/LIPS-scheme/lips/tree/master/docs/docs/lips/reflection.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"description":"A way to introspect and manipulate LIPS internals"},"sidebar":"tutorialSidebar","previous":{"title":"Core features","permalink":"/docs/lips/intro"},"next":{"title":"SXML (e.g. for React)","permalink":"/docs/lips/sxml"}}');var t=r(4848),i=r(8453);const c={sidebar_position:2,description:"A way to introspect and manipulate LIPS internals"},l="Reflection",a={},o=[{value:"Numbers",id:"numbers",level:2},{value:"Lists and Pairs",id:"lists-and-pairs",level:2},{value:"Strings",id:"strings",level:2},{value:"Characters",id:"characters",level:2},{value:"Procedures",id:"procedures",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"reflection",children:"Reflection"})}),"\n",(0,t.jsx)(n.p,{children:"You can use standard JavaScript methods to inspect LIPS objects."}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Scheme functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"dir"})," - this procedure is inspired by Python function with the same name, it returns all properties\nthat you can access on an object. Including those from object prototype and whole chain."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"env"})," - function return everything what is inside current-environment."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"JavaScript functions"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.keys"})," - this JavaScript method will return all string keys from an object."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.values"})," - return the value of the object."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.entries"})," - this return array of ",(0,t.jsx)(n.code,{children:"[key,value]"})," pairs."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"Object.getOwnPropertySymbols"})," - similar to ",(0,t.jsx)(n.code,{children:"Object.keys"})," but return all symbols"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"numbers",children:"Numbers"}),"\n",(0,t.jsx)(n.p,{children:"You can access internal representation of numbers as JavaScript objects"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((num 1/2+10i))\n (print num.__im__)\n (print num.__re__)\n (print num.__re__.__denom__)\n (print num.__re__.__num__))\n;; ==> 10\n;; ==> 1/2\n;; ==> 2\n;; ==> 1\n"})}),"\n",(0,t.jsx)(n.h2,{id:"lists-and-pairs",children:"Lists and Pairs"}),"\n",(0,t.jsx)(n.p,{children:"You can access Pairs as JavaScript objects:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x '(1 2 3)))\n x.cdr.cdr.car)\n;; ==> 3\n"})}),"\n",(0,t.jsxs)(n.p,{children:["You can also manipulate the list with ",(0,t.jsx)(n.code,{children:"set!"}),":"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x '(1 2 3)))\n (set! x.cdr.cdr.cdr x)\n x)\n;; ==> #0=(1 2 3 . #0#)\n"})}),"\n",(0,t.jsx)(n.p,{children:"Above create a cycle. When you try to display a cycle it's printed using R7RS datum syntax."}),"\n",(0,t.jsx)(n.h2,{id:"strings",children:"Strings"}),"\n",(0,t.jsx)(n.p,{children:"Same as with numbers and list you can access internals of Strings."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(let ((str "hello"))\n (str.__string__.toUpperCase))\n;; ==> "HELLO"\n'})}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"__string__"})," property is read only so you can't modify its value:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((str \"hello\"))\n (set! str.__string__ \"world\")\n str)\n;; ==> Cannot assign to read only property '__string__' of object '[object Object]'\n"})}),"\n",(0,t.jsx)(n.h2,{id:"characters",children:"Characters"}),"\n",(0,t.jsx)(n.p,{children:"Similar to string you can access internals of Characters."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:"(let ((x #\\X)) (dir x))\n;; ==> (__char__ constructor toUpperCase toLowerCase toString serialize valueOf)\n"})}),"\n",(0,t.jsxs)(n.p,{children:["the ",(0,t.jsx)(n.code,{children:"__char__"})," property is a string that hold the value of the character."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(let ((x #\\X))\n (write x)\n (newline)\n (write x.__char__)\n (newline))\n;; ==> #\\X\n;; ==> "X"\n'})}),"\n",(0,t.jsx)(n.h2,{id:"procedures",children:"Procedures"}),"\n",(0,t.jsxs)(n.p,{children:["As described in ",(0,t.jsx)(n.a,{href:"/docs/lips/intro#procedures",children:"Core features"}),", procedures are JavaScript functions,\nthey also hold additional properties like ",(0,t.jsx)(n.code,{children:"__code__"})," and ",(0,t.jsx)(n.code,{children:"__doc__"}),". The first property is the live\nsource code of the procedure that you can modify:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(define (repeater x)\n "(repeater value)\n\n Function prints the value 1 time and modifies itself to repeat\n (+ n 1) times on the next call."\n (for-each (lambda () (print x)) (range 1))\n (let ((r (cadr (cdadddr (. repeater \'__code__)))))\n (set-cdr! r (list (+ (cadr r) 1)))))\n'})}),"\n",(0,t.jsx)(n.p,{children:"This procedure modify its source code. Each time you execute this function it will run one more\ntimes."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'(print "1")\n(repeater \'hello)\n;; ==> 1\n;; ==> hello\n(print "2")\n(repeater \'hello)\n;; ==> 2\n;; ==> hello\n;; ==> hello\n(print "3")\n(repeater \'hello)\n;; ==> 3\n;; ==> hello\n;; ==> hello\n;; ==> hello\n'})}),"\n",(0,t.jsxs)(n.p,{children:["The first expression of the procedure is a doc string, unless a string is the only expression,\nin that case it's a return value. To access doc string you can use ",(0,t.jsx)(n.code,{children:"help"})," or ",(0,t.jsx)(n.code,{children:"__doc__"}),"."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-scheme",children:'repeater.__doc__\n"(repeater value)\n\nFunction prints the value 1 time and modifies itself to repeat\n(+ n 1) times on the next call."\n'})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>c,x:()=>l});var s=r(6540);const t={},i=s.createContext(t);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.136b170d.js b/assets/js/runtime~main.43281dcb.js similarity index 98% rename from assets/js/runtime~main.136b170d.js rename to assets/js/runtime~main.43281dcb.js index c45912b4..58e43bc4 100644 --- a/assets/js/runtime~main.136b170d.js +++ b/assets/js/runtime~main.43281dcb.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,c,r,f={},b={};function d(e){var a=b[e];if(void 0!==a)return a.exports;var t=b[e]={exports:{}};return f[e].call(t.exports,t,t.exports,d),t.exports}d.m=f,e=[],d.O=(a,t,c,r)=>{if(!t){var f=1/0;for(i=0;i=r)&&Object.keys(d.O).every((e=>d.O[e](t[o])))?t.splice(o--,1):(b=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[t,c,r]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var r=Object.create(null);d.r(r);var f={};a=a||[null,t({}),t([]),t(t)];for(var b=2&c&&e;"object"==typeof b&&!~a.indexOf(b);b=t(b))Object.getOwnPropertyNames(b).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,d.d(r,f),r},d.d=(e,a)=>{for(var t in a)d.o(a,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((a,t)=>(d.f[t](e,a),a)),[])),d.u=e=>"assets/js/"+({360:"b62caabb",478:"840797c7",849:"0058b4c6",1235:"a7456010",1903:"acecf23e",1933:"35ee46b0",2272:"69aa9e93",2301:"6d18ad6b",2711:"9e4087bc",2866:"61d90f5f",3249:"ccc49370",3484:"13a1c259",3789:"726afaaf",3976:"0e384e19",4044:"92fa5ef1",4212:"621db11d",4413:"e511e452",4583:"1df93b7f",4813:"6875c492",5011:"df5a86e1",5742:"aba21aa0",6271:"f724a01c",6365:"c74dcec5",6372:"7e736cac",6440:"3828c8cd",6580:"0522e7aa",6969:"14eb3368",7098:"a7bd4aaa",7209:"f2e31a35",7350:"6878938b",7472:"814f3328",7643:"a6aa9e1f",7915:"c284b67b",8121:"3a2db09e",8130:"f81c1134",8133:"14a48451",8146:"c15d9823",8177:"e1902777",8209:"01a85c17",8401:"17896441",8649:"413466e5",8691:"ab461798",8947:"ef8b811a",9048:"a94703ab",9067:"5ad8d976",9204:"aa178e2b",9263:"d969d8ea",9397:"68243087",9647:"5e95c892",9651:"4f7497d7",9712:"1ba8abbb",9858:"36994c47"}[e]||e)+"."+{195:"8fd6d84d",360:"aa35aa65",416:"39f57a47",478:"c96b5ad6",849:"0f1f0d46",1235:"35651660",1903:"bd6470b3",1933:"8f697f91",2237:"66fcbfbc",2272:"2bf1e156",2301:"27284ffb",2711:"c809fcd6",2866:"91265fd4",3249:"83e04d21",3347:"18dfe3b9",3484:"ce796566",3789:"0a3e15cb",3976:"660f9d11",4044:"d15f09bb",4212:"af8ccb67",4413:"ae4b00d1",4583:"00d19001",4813:"1928affb",5011:"3fa53997",5742:"f5d4ac8d",5929:"afb107d6",6271:"51b5a57e",6365:"c648f275",6372:"c2378695",6440:"6d175597",6580:"9d4051dd",6969:"00347ef4",7098:"8794d1bc",7209:"e4dcaeff",7350:"400083d4",7472:"10db33a4",7643:"a3958393",7915:"3ea8b46c",8121:"c1ec56fd",8130:"ba989b8b",8133:"ddb2c881",8146:"024de278",8158:"848e6959",8177:"a8610025",8209:"5200d571",8401:"42d5ed25",8553:"dfe58b8e",8649:"4bfa6453",8691:"405f8d17",8913:"a77cc8d9",8947:"e6f6be2e",9048:"d90b76ed",9067:"b56915bc",9204:"c464cf32",9263:"47320509",9397:"bd750e75",9647:"4f997d54",9651:"c16406ad",9712:"26884892",9858:"9727f24b"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},r="new-docs:",d.l=(e,a,t,f)=>{if(c[e])c[e].push(a);else{var b,o;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{b.onerror=b.onload=null,clearTimeout(s);var r=c[e];if(delete c[e],b.parentNode&&b.parentNode.removeChild(b),r&&r.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=l.bind(null,b.onerror),b.onload=l.bind(null,b.onload),o&&document.head.appendChild(b)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/",d.gca=function(e){return e={17896441:"8401",68243087:"9397",b62caabb:"360","840797c7":"478","0058b4c6":"849",a7456010:"1235",acecf23e:"1903","35ee46b0":"1933","69aa9e93":"2272","6d18ad6b":"2301","9e4087bc":"2711","61d90f5f":"2866",ccc49370:"3249","13a1c259":"3484","726afaaf":"3789","0e384e19":"3976","92fa5ef1":"4044","621db11d":"4212",e511e452:"4413","1df93b7f":"4583","6875c492":"4813",df5a86e1:"5011",aba21aa0:"5742",f724a01c:"6271",c74dcec5:"6365","7e736cac":"6372","3828c8cd":"6440","0522e7aa":"6580","14eb3368":"6969",a7bd4aaa:"7098",f2e31a35:"7209","6878938b":"7350","814f3328":"7472",a6aa9e1f:"7643",c284b67b:"7915","3a2db09e":"8121",f81c1134:"8130","14a48451":"8133",c15d9823:"8146",e1902777:"8177","01a85c17":"8209","413466e5":"8649",ab461798:"8691",ef8b811a:"8947",a94703ab:"9048","5ad8d976":"9067",aa178e2b:"9204",d969d8ea:"9263","5e95c892":"9647","4f7497d7":"9651","1ba8abbb":"9712","36994c47":"9858"}[e]||e,d.p+d.u(e)},(()=>{var e={5354:0,1869:0};d.f.j=(a,t)=>{var c=d.o(e,a)?e[a]:void 0;if(0!==c)if(c)t.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var r=new Promise(((t,r)=>c=e[a]=[t,r]));t.push(c[2]=r);var f=d.p+d.u(a),b=new Error;d.l(f,(t=>{if(d.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var r=t&&("load"===t.type?"missing":t.type),f=t&&t.target&&t.target.src;b.message="Loading chunk "+a+" failed.\n("+r+": "+f+")",b.name="ChunkLoadError",b.type=r,b.request=f,c[1](b)}}),"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,t)=>{var c,r,f=t[0],b=t[1],o=t[2],n=0;if(f.some((a=>0!==e[a]))){for(c in b)d.o(b,c)&&(d.m[c]=b[c]);if(o)var i=o(d)}for(a&&a(t);n{"use strict";var e,a,t,c,r,f={},b={};function d(e){var a=b[e];if(void 0!==a)return a.exports;var t=b[e]={exports:{}};return f[e].call(t.exports,t,t.exports,d),t.exports}d.m=f,e=[],d.O=(a,t,c,r)=>{if(!t){var f=1/0;for(i=0;i=r)&&Object.keys(d.O).every((e=>d.O[e](t[o])))?t.splice(o--,1):(b=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[t,c,r]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var r=Object.create(null);d.r(r);var f={};a=a||[null,t({}),t([]),t(t)];for(var b=2&c&&e;"object"==typeof b&&!~a.indexOf(b);b=t(b))Object.getOwnPropertyNames(b).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,d.d(r,f),r},d.d=(e,a)=>{for(var t in a)d.o(a,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((a,t)=>(d.f[t](e,a),a)),[])),d.u=e=>"assets/js/"+({360:"b62caabb",478:"840797c7",849:"0058b4c6",1235:"a7456010",1903:"acecf23e",1933:"35ee46b0",2272:"69aa9e93",2301:"6d18ad6b",2711:"9e4087bc",2866:"61d90f5f",3249:"ccc49370",3484:"13a1c259",3789:"726afaaf",3976:"0e384e19",4044:"92fa5ef1",4212:"621db11d",4413:"e511e452",4583:"1df93b7f",4813:"6875c492",5011:"df5a86e1",5742:"aba21aa0",6271:"f724a01c",6365:"c74dcec5",6372:"7e736cac",6440:"3828c8cd",6580:"0522e7aa",6969:"14eb3368",7098:"a7bd4aaa",7209:"f2e31a35",7350:"6878938b",7472:"814f3328",7643:"a6aa9e1f",7915:"c284b67b",8121:"3a2db09e",8130:"f81c1134",8133:"14a48451",8146:"c15d9823",8177:"e1902777",8209:"01a85c17",8401:"17896441",8649:"413466e5",8691:"ab461798",8947:"ef8b811a",9048:"a94703ab",9067:"5ad8d976",9204:"aa178e2b",9263:"d969d8ea",9397:"68243087",9647:"5e95c892",9651:"4f7497d7",9712:"1ba8abbb",9858:"36994c47"}[e]||e)+"."+{195:"8fd6d84d",360:"aa35aa65",416:"39f57a47",478:"c96b5ad6",849:"0f1f0d46",1235:"35651660",1903:"bd6470b3",1933:"8f697f91",2237:"66fcbfbc",2272:"2bf1e156",2301:"27284ffb",2711:"c809fcd6",2866:"91265fd4",3249:"83e04d21",3347:"18dfe3b9",3484:"ce796566",3789:"0a3e15cb",3976:"660f9d11",4044:"d15f09bb",4212:"af8ccb67",4413:"ae4b00d1",4583:"00d19001",4813:"1928affb",5011:"3fa53997",5742:"f5d4ac8d",5929:"afb107d6",6271:"51b5a57e",6365:"c648f275",6372:"cf72ab93",6440:"6d175597",6580:"9d4051dd",6969:"00347ef4",7098:"8794d1bc",7209:"e4dcaeff",7350:"400083d4",7472:"10db33a4",7643:"a3958393",7915:"3ea8b46c",8121:"c1ec56fd",8130:"ba989b8b",8133:"ddb2c881",8146:"024de278",8158:"848e6959",8177:"a8610025",8209:"5200d571",8401:"42d5ed25",8553:"dfe58b8e",8649:"4bfa6453",8691:"405f8d17",8913:"a77cc8d9",8947:"e6f6be2e",9048:"d90b76ed",9067:"b56915bc",9204:"c464cf32",9263:"47320509",9397:"bd750e75",9647:"4f997d54",9651:"c16406ad",9712:"26884892",9858:"9727f24b"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},r="new-docs:",d.l=(e,a,t,f)=>{if(c[e])c[e].push(a);else{var b,o;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{b.onerror=b.onload=null,clearTimeout(s);var r=c[e];if(delete c[e],b.parentNode&&b.parentNode.removeChild(b),r&&r.forEach((e=>e(t))),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=l.bind(null,b.onerror),b.onload=l.bind(null,b.onload),o&&document.head.appendChild(b)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/",d.gca=function(e){return e={17896441:"8401",68243087:"9397",b62caabb:"360","840797c7":"478","0058b4c6":"849",a7456010:"1235",acecf23e:"1903","35ee46b0":"1933","69aa9e93":"2272","6d18ad6b":"2301","9e4087bc":"2711","61d90f5f":"2866",ccc49370:"3249","13a1c259":"3484","726afaaf":"3789","0e384e19":"3976","92fa5ef1":"4044","621db11d":"4212",e511e452:"4413","1df93b7f":"4583","6875c492":"4813",df5a86e1:"5011",aba21aa0:"5742",f724a01c:"6271",c74dcec5:"6365","7e736cac":"6372","3828c8cd":"6440","0522e7aa":"6580","14eb3368":"6969",a7bd4aaa:"7098",f2e31a35:"7209","6878938b":"7350","814f3328":"7472",a6aa9e1f:"7643",c284b67b:"7915","3a2db09e":"8121",f81c1134:"8130","14a48451":"8133",c15d9823:"8146",e1902777:"8177","01a85c17":"8209","413466e5":"8649",ab461798:"8691",ef8b811a:"8947",a94703ab:"9048","5ad8d976":"9067",aa178e2b:"9204",d969d8ea:"9263","5e95c892":"9647","4f7497d7":"9651","1ba8abbb":"9712","36994c47":"9858"}[e]||e,d.p+d.u(e)},(()=>{var e={5354:0,1869:0};d.f.j=(a,t)=>{var c=d.o(e,a)?e[a]:void 0;if(0!==c)if(c)t.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var r=new Promise(((t,r)=>c=e[a]=[t,r]));t.push(c[2]=r);var f=d.p+d.u(a),b=new Error;d.l(f,(t=>{if(d.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var r=t&&("load"===t.type?"missing":t.type),f=t&&t.target&&t.target.src;b.message="Loading chunk "+a+" failed.\n("+r+": "+f+")",b.name="ChunkLoadError",b.type=r,b.request=f,c[1](b)}}),"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,t)=>{var c,r,f=t[0],b=t[1],o=t[2],n=0;if(f.some((a=>0!==e[a]))){for(c in b)d.o(b,c)&&(d.m[c]=b[c]);if(o)var i=o(d)}for(a&&a(t);n Blog | LIPS Scheme - + diff --git a/blog/archive.html b/blog/archive.html index aa3aa9e8..b8a1b9ae 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -4,7 +4,7 @@ Archive | LIPS Scheme - + diff --git a/blog/authors.html b/blog/authors.html index 2105d38c..cf6c19cc 100644 --- a/blog/authors.html +++ b/blog/authors.html @@ -4,7 +4,7 @@ Authors | LIPS Scheme - + diff --git a/blog/emacs-scheme-regex.html b/blog/emacs-scheme-regex.html index 2d18788d..96e9e5af 100644 --- a/blog/emacs-scheme-regex.html +++ b/blog/emacs-scheme-regex.html @@ -4,7 +4,7 @@ Scheme Regex literals in Emacs | LIPS Scheme - + diff --git a/blog/lips-history.html b/blog/lips-history.html index c5fc966d..ab88c941 100644 --- a/blog/lips-history.html +++ b/blog/lips-history.html @@ -4,7 +4,7 @@ LIPS Scheme History | LIPS Scheme - + diff --git a/blog/tags.html b/blog/tags.html index d784b8cb..faa61598 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -4,7 +4,7 @@ Tags | LIPS Scheme - + diff --git a/blog/tags/emacs.html b/blog/tags/emacs.html index ff8bd1bc..e19e643f 100644 --- a/blog/tags/emacs.html +++ b/blog/tags/emacs.html @@ -4,7 +4,7 @@ One post tagged with "emacs" | LIPS Scheme - + diff --git a/blog/tags/history.html b/blog/tags/history.html index b6fc5a6e..aeb0c7fe 100644 --- a/blog/tags/history.html +++ b/blog/tags/history.html @@ -4,7 +4,7 @@ One post tagged with "history" | LIPS Scheme - + diff --git a/blog/tags/lips.html b/blog/tags/lips.html index 5691eac8..3732962c 100644 --- a/blog/tags/lips.html +++ b/blog/tags/lips.html @@ -4,7 +4,7 @@ One post tagged with "lips" | LIPS Scheme - + diff --git a/blog/tags/scheme.html b/blog/tags/scheme.html index 29309b4e..cbe8ddf5 100644 --- a/blog/tags/scheme.html +++ b/blog/tags/scheme.html @@ -4,7 +4,7 @@ 2 posts tagged with "scheme" | LIPS Scheme - + diff --git a/docs/category/introduction-to-scheme.html b/docs/category/introduction-to-scheme.html index cc9982b4..5792b80f 100644 --- a/docs/category/introduction-to-scheme.html +++ b/docs/category/introduction-to-scheme.html @@ -4,7 +4,7 @@ Introduction to Scheme | LIPS Scheme - + diff --git a/docs/category/lips-introduction.html b/docs/category/lips-introduction.html index 38bfd1e4..b72760b4 100644 --- a/docs/category/lips-introduction.html +++ b/docs/category/lips-introduction.html @@ -4,7 +4,7 @@ LIPS introduction | LIPS Scheme - + diff --git a/docs/intro.html b/docs/intro.html index 8ab71c04..12b2754d 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -4,7 +4,7 @@ Getting Started | LIPS Scheme - + diff --git a/docs/lips/REPL.html b/docs/lips/REPL.html index ad152fc4..a8d76e9a 100644 --- a/docs/lips/REPL.html +++ b/docs/lips/REPL.html @@ -4,7 +4,7 @@ REPL | LIPS Scheme - + diff --git a/docs/lips/SRFI.html b/docs/lips/SRFI.html index 89dc63de..71c8d9a8 100644 --- a/docs/lips/SRFI.html +++ b/docs/lips/SRFI.html @@ -4,7 +4,7 @@ SRFI | LIPS Scheme - + diff --git a/docs/lips/embeding-repl.html b/docs/lips/embeding-repl.html index 6c9857a7..7284836e 100644 --- a/docs/lips/embeding-repl.html +++ b/docs/lips/embeding-repl.html @@ -4,7 +4,7 @@ Embedding LIPS REPL | LIPS Scheme - + diff --git a/docs/lips/environments.html b/docs/lips/environments.html index 1e46d8ee..14190e88 100644 --- a/docs/lips/environments.html +++ b/docs/lips/environments.html @@ -4,7 +4,7 @@ Environments | LIPS Scheme - + diff --git a/docs/lips/extension.html b/docs/lips/extension.html index 6a12d41a..573f58ce 100644 --- a/docs/lips/extension.html +++ b/docs/lips/extension.html @@ -4,7 +4,7 @@ Extending LIPS | LIPS Scheme - + diff --git a/docs/lips/functional-helpers.html b/docs/lips/functional-helpers.html index da88c838..f181975a 100644 --- a/docs/lips/functional-helpers.html +++ b/docs/lips/functional-helpers.html @@ -4,7 +4,7 @@ Functional and other utils | LIPS Scheme - + diff --git a/docs/lips/intro.html b/docs/lips/intro.html index 71105762..5e23a6a4 100644 --- a/docs/lips/intro.html +++ b/docs/lips/intro.html @@ -4,7 +4,7 @@ Core features | LIPS Scheme - + diff --git a/docs/lips/reflection.html b/docs/lips/reflection.html index 089c05fc..44af4463 100644 --- a/docs/lips/reflection.html +++ b/docs/lips/reflection.html @@ -4,7 +4,7 @@ Reflection | LIPS Scheme - + @@ -14,7 +14,7 @@
  • Scheme functions

      -
    • dir - this procedure is inspired by Python function with the same name, it return all properties +
    • dir - this procedure is inspired by Python function with the same name, it returns all properties that you can access on an object. Including those from object prototype and whole chain.
    • env - function return everything what is inside current-environment.
    @@ -53,7 +53,7 @@

    Lists and Pa x) ;; ==> #0=(1 2 3 . #0#)
    -

    Above create a cycle. When you you try to display a cycle it's printed using R7RS datum syntax.

    +

    Above create a cycle. When you try to display a cycle it's printed using R7RS datum syntax.

    Strings

    Same as with numbers and list you can access internals of Strings.

    (let ((str "hello"))
    @@ -81,7 +81,7 @@ 

    Characters;; ==> "X"

    Procedures

    -

    Procedures as described in Core features are JavaScript functions, +

    As described in Core features, procedures are JavaScript functions, they also hold additional properties like __code__ and __doc__. The first property is the live source code of the procedure that you can modify:

    (define (repeater x)
    diff --git a/docs/lips/sxml.html b/docs/lips/sxml.html
    index 32ba14d1..d8997d66 100644
    --- a/docs/lips/sxml.html
    +++ b/docs/lips/sxml.html
    @@ -4,7 +4,7 @@
     
     
     SXML (e.g. for React) | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/continuations.html b/docs/scheme-intro/continuations.html
    index 71d493c6..eb2a5ebe 100644
    --- a/docs/scheme-intro/continuations.html
    +++ b/docs/scheme-intro/continuations.html
    @@ -4,7 +4,7 @@
     
     
     Continuations | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/core.html b/docs/scheme-intro/core.html
    index 291ab187..071556aa 100644
    --- a/docs/scheme-intro/core.html
    +++ b/docs/scheme-intro/core.html
    @@ -4,7 +4,7 @@
     
     
     Core of Scheme | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/data-types.html b/docs/scheme-intro/data-types.html
    index 73bcbd47..9ae3c2d4 100644
    --- a/docs/scheme-intro/data-types.html
    +++ b/docs/scheme-intro/data-types.html
    @@ -4,7 +4,7 @@
     
     
     Data Types | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/input-output.html b/docs/scheme-intro/input-output.html
    index 1e9ad099..8b485df8 100644
    --- a/docs/scheme-intro/input-output.html
    +++ b/docs/scheme-intro/input-output.html
    @@ -4,7 +4,7 @@
     
     
     Input and Output | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/macros.html b/docs/scheme-intro/macros.html
    index edc8aa55..d970164b 100644
    --- a/docs/scheme-intro/macros.html
    +++ b/docs/scheme-intro/macros.html
    @@ -4,7 +4,7 @@
     
     
     Macros | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/next-step.html b/docs/scheme-intro/next-step.html
    index 5b9473c5..1b663c3e 100644
    --- a/docs/scheme-intro/next-step.html
    +++ b/docs/scheme-intro/next-step.html
    @@ -4,7 +4,7 @@
     
     
     What Next? | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/streams.html b/docs/scheme-intro/streams.html
    index 982774b7..cf127d11 100644
    --- a/docs/scheme-intro/streams.html
    +++ b/docs/scheme-intro/streams.html
    @@ -4,7 +4,7 @@
     
     
     Streams | LIPS Scheme
    -
    +
     
     
     
    diff --git a/docs/scheme-intro/what-is-lisp.html b/docs/scheme-intro/what-is-lisp.html
    index fa840105..10b510d5 100644
    --- a/docs/scheme-intro/what-is-lisp.html
    +++ b/docs/scheme-intro/what-is-lisp.html
    @@ -4,7 +4,7 @@
     
     
     What is Lisp and Scheme? | LIPS Scheme
    -
    +
     
     
     
    diff --git a/index.html b/index.html
    index c74b67c5..104db529 100644
    --- a/index.html
    +++ b/index.html
    @@ -4,7 +4,7 @@
     
     
     Powerful Scheme interpreter in JavaScript | LIPS Scheme
    -
    +
     
     
     
    diff --git a/reference.html b/reference.html
    index f65367cd..e78a61d4 100644
    --- a/reference.html
    +++ b/reference.html
    @@ -4,7 +4,7 @@
     
     
     Function and Macro Reference | LIPS Scheme
    -
    +
     
     
     
    diff --git a/screenshooter.html b/screenshooter.html
    index ebf24700..016d579f 100644
    --- a/screenshooter.html
    +++ b/screenshooter.html
    @@ -4,7 +4,7 @@
     
     
     Screenshooter | LIPS Scheme
    -
    +
     
     
     
    diff --git a/sitemap.xml b/sitemap.xml
    index ffde8695..ae046055 100644
    --- a/sitemap.xml
    +++ b/sitemap.xml
    @@ -1 +1 @@
    -https://lips.js.org/blogweekly0.5https://lips.js.org/blog/archiveweekly0.5https://lips.js.org/blog/authorsweekly0.5https://lips.js.org/blog/emacs-scheme-regex2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/blog/lips-history2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/blog/tagsweekly0.5https://lips.js.org/blog/tags/emacsweekly0.5https://lips.js.org/blog/tags/historyweekly0.5https://lips.js.org/blog/tags/lipsweekly0.5https://lips.js.org/blog/tags/schemeweekly0.5https://lips.js.org/reference2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/screenshooter2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/category/introduction-to-schemeweekly0.5https://lips.js.org/docs/category/lips-introductionweekly0.5https://lips.js.org/docs/intro2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/embeding-repl2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/environments2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/extension2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/functional-helpers2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/intro2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/reflection2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/REPL2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/SRFI2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/lips/sxml2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/continuations2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/core2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/data-types2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/input-output2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/macros2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/next-step2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/streams2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/docs/scheme-intro/what-is-lisp2024-12-18T00:28:34.000Zweekly0.5https://lips.js.org/2024-12-18T00:28:34.000Zweekly0.5
    \ No newline at end of file
    +https://lips.js.org/blogweekly0.5https://lips.js.org/blog/archiveweekly0.5https://lips.js.org/blog/authorsweekly0.5https://lips.js.org/blog/emacs-scheme-regex2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/blog/lips-history2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/blog/tagsweekly0.5https://lips.js.org/blog/tags/emacsweekly0.5https://lips.js.org/blog/tags/historyweekly0.5https://lips.js.org/blog/tags/lipsweekly0.5https://lips.js.org/blog/tags/schemeweekly0.5https://lips.js.org/reference2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/screenshooter2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/category/introduction-to-schemeweekly0.5https://lips.js.org/docs/category/lips-introductionweekly0.5https://lips.js.org/docs/intro2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/embeding-repl2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/environments2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/extension2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/functional-helpers2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/intro2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/reflection2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/REPL2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/SRFI2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/lips/sxml2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/continuations2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/core2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/data-types2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/input-output2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/macros2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/next-step2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/streams2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/docs/scheme-intro/what-is-lisp2024-12-18T00:30:53.000Zweekly0.5https://lips.js.org/2024-12-18T00:30:53.000Zweekly0.5
    \ No newline at end of file