<story><title>scrapscript.py</title><url>https://bernsteinbear.com/blog/scrapscript/</url></story><parent_chain><item><author>surprisetalk</author><text>I should probably write a longer post about this, but scrapscript is an attempt to fix a lot of the &amp;quot;in-between&amp;quot; problems in software engineering.&lt;p&gt;Instead of working on &amp;quot;real&amp;quot; problems, I find myself battling untyped&amp;#x2F;undocumented YAML&amp;#x2F;JSON configurations, syncing JSON encoders&amp;#x2F;decoders, massaging incompatible dependencies, writing unholy SQL, etc.&lt;p&gt;I obviously don&amp;#x27;t have all the answers, but a system with the following properties seems like a worthwhile pursuit: (1) small enough to be used like JSON yet powerful enough to used like Javascript, (2) cryptographic guarantees that code is compatible over time, (3) a compiler that checks live servers for compatibility before deploying, (4) simple but expressive type system, (5) a package manager that facilitates all of this at a granular level... and so on.&lt;p&gt;On top of all that, I think these properties lend themselves to some grand ambitions like &amp;quot;a new internet&amp;quot; and a &amp;quot;google-docs live coding editor experience&amp;quot;. Maybe I&amp;#x27;m just full of myself though haha&lt;p&gt;scrapscript.py is the first real attempt at making scrapscript a reality, so some folks who feel these pains are getting excited to see some movement on the project.&lt;p&gt;EDIT: Here’s my recent scrapyard demo, if you want to see it in action: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=SngOLU5G1Eg&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=SngOLU5G1Eg&lt;/a&gt;</text></item><item><author>account-5</author><text>Can someone explain what this is? Why it&amp;#x27;s a good thing? What&amp;#x27;s it&amp;#x27;s for? I have to admit based on reading the post I have absolutely no idea.</text></item></parent_chain><comment><author>manifoldgeo</author><text>&amp;gt; I find myself battling untyped&amp;#x2F;undocumented YAML&amp;#x2F;JSON configurations, syncing JSON encoders&amp;#x2F;decoders, massaging incompatible dependencies&lt;p&gt;I feel your pain on having to manage so many dependencies. I write primarily in Python, and the various pip &amp;#x2F; Pipenv &amp;#x2F; pipx &amp;#x2F; PDM &amp;#x2F; Poetry dependency managers drive me pretty crazy. That&amp;#x27;s not even accounting for the multiple Python versions I need!&lt;p&gt;That said, I&amp;#x27;m surprised that you&amp;#x27;re trying to _alleviate_ this by implementing your FP language in Python. The Python ecosystem is full of half-documented config files, incompatible dependency trees, etc.&lt;p&gt;Have you considered implementing it in any other languages after the Python one proves its worth? For example, if the language becomes strong enough, would you consider writing a scrapscript compiler in scrapscript, itself?</text></comment>
<story><title>scrapscript.py</title><url>https://bernsteinbear.com/blog/scrapscript/</url></story><parent_chain><item><author>surprisetalk</author><text>I should probably write a longer post about this, but scrapscript is an attempt to fix a lot of the &amp;quot;in-between&amp;quot; problems in software engineering.&lt;p&gt;Instead of working on &amp;quot;real&amp;quot; problems, I find myself battling untyped&amp;#x2F;undocumented YAML&amp;#x2F;JSON configurations, syncing JSON encoders&amp;#x2F;decoders, massaging incompatible dependencies, writing unholy SQL, etc.&lt;p&gt;I obviously don&amp;#x27;t have all the answers, but a system with the following properties seems like a worthwhile pursuit: (1) small enough to be used like JSON yet powerful enough to used like Javascript, (2) cryptographic guarantees that code is compatible over time, (3) a compiler that checks live servers for compatibility before deploying, (4) simple but expressive type system, (5) a package manager that facilitates all of this at a granular level... and so on.&lt;p&gt;On top of all that, I think these properties lend themselves to some grand ambitions like &amp;quot;a new internet&amp;quot; and a &amp;quot;google-docs live coding editor experience&amp;quot;. Maybe I&amp;#x27;m just full of myself though haha&lt;p&gt;scrapscript.py is the first real attempt at making scrapscript a reality, so some folks who feel these pains are getting excited to see some movement on the project.&lt;p&gt;EDIT: Here’s my recent scrapyard demo, if you want to see it in action: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=SngOLU5G1Eg&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=SngOLU5G1Eg&lt;/a&gt;</text></item><item><author>account-5</author><text>Can someone explain what this is? Why it&amp;#x27;s a good thing? What&amp;#x27;s it&amp;#x27;s for? I have to admit based on reading the post I have absolutely no idea.</text></item></parent_chain><comment><author>mst</author><text>I&amp;#x27;d been kind of interested by &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;yglu.io&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;yglu.io&amp;#x2F;&lt;/a&gt; and now ingy&amp;#x27;s new piece of insanity &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;yamlscript.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;yamlscript.org&amp;#x2F;&lt;/a&gt; - helm appears to let you inject your own script to template charts and I was wondering about trying a wrapper around one of those (because text templating an indentation sensitive language like YAML makes me itch).&lt;p&gt;I think scrapscript is a really interesting idea, mind, this isn&amp;#x27;t a &amp;quot;here&amp;#x27;s an alternative&amp;quot; type comment, it&amp;#x27;s a &amp;quot;here&amp;#x27;s things that I think are neat in a similar way to how I think scrapscript is neat&amp;quot; :)&lt;p&gt;Edit: I forgot something! &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;trout.me.uk&amp;#x2F;lisp&amp;#x2F;termite-r7rs.pdf&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;trout.me.uk&amp;#x2F;lisp&amp;#x2F;termite-r7rs.pdf&lt;/a&gt; is a paper on adding library support to the cross-network (kinda erlangish) termite scheme extensions - and leans heavily on content addressable-ness. Termite itself has gone the way of small lisp projects but I kept this around specifically for the content addressable stuff having been solidly worked out in a language I understood; maybe that&amp;#x27;ll come in handy for ideas for you as well.</text></comment>