But have y’all seen this? <https://scrapscript.org...
# thinking-together
g
But have y’all seen this? https://scrapscript.org/ This is my kind of thinking.
t
Author here! Let me know if you have any questions 🙂 Just hit another major milestone this week and I'm expecting to open up the repo in Jan
a
I haven’t seen it, but I like it. I can’t think of a project to try with it offhand, though. How will I know when I have an idea that would make a good scrapscript project?
m
Reminds me of Unison ... could you compare and contrast?
t
How will I know when I have an idea that would make a good scrapscript project?
Going to be a while before people are building projects with it haha. For the foreseeable future, it's likely going to sit somewhere between zsh and wolfram language. And then hopefully something like flash/geocities 🙂 I'll try to put out frequent demos once it's usable
Reminds me of Unison ... could you compare and contrast?
Yes! Both projects are functional languages that use content addressability. Main difference is goals: • unison focuses on building software with novel team collaboration and distributed systems • scrapscript focuses on being a good global package manager and messaging format... that also might be a good general-purpose programming language one day haha
m
Could you imagine writing something similar-ish to scrapscript as a Unison library?
t
After talking to paul chiusano about it a few years ago, it didn't seem like there was really enough overlap Haven't really kept up with the project though, so maybe things have changed
o
Oh, my language used to have "text" instead of "string" aswell. But after a long time, I felt I didn't want to use my "strangeness" budget on old and proven name. So.. why text?
t
More than anything, I think I'm most interested in how non-programmers might interact with this language one day. And much like SQL, when you're thinking about non-programmers, you start to choose some non-standard naming conventions 🙂
I just wrote a really long essay on why I think many of the on-ramps into engineering are broken. I'd love to rekindle some of the hypercard/flash/myspace/geocities magic of yore
d
I think I'd need to be more of a historian to really understand what exactly the "magic of yore" encompassed — even though I miss it a lot myself! — but one complicating factor is how much more complicated systems have gotten, for good reasons. A few examples: • desktop apps and web pages once could be written assuming a fixed window size in many cases, much simpler than making a UI that scales from a phone to a 6K display • ASCII is much simpler than Unicode • anything without a network is much simpler than something with one — security is so much easier if you don't have the world at your door It's fascinating to me that Decker chose to ignore so many modern bits — color, Unicode, scaling UI — and ended up with something that I think captures some of that magic. …and, yet, I haven't built anything with it, either.
Linking one of my points to your essay — one of the reasons that software projects keep needing maintenance and aren't finished is because of the network and security requirements.
t
wow, this is the first time i've seen decker, and i've been desparately searching for something like it for a long time!! thank you thank you
k
Scrapscript looks interesting to me, if only for the overlap with an idea I have been toying with myself: a language defined in terms of IPFS data blocks, i.e. linked CBOR. @Taylor Troesh You mention IPFS but it looks like you don't actually use it, right? I see hashes that are not IPFS CIDs. Any reason for rolling your own? Building on IPFS would give you data exchange with the wide world, which I think it worth having. How does scrapscript interact with the rest of the computing universe? How can I write code that works on my address book or my e-mail, for example? It looks like all inputs have to be in scrapscript syntax.
g
Decker?
d
t
Any reason for rolling your own? Building on IPFS would give you data exchange with the wide world, which I think it worth having.
Scrapscript is storage-agnostic, so theoretically somebody could host a scrapyard on top of ipfs, filecoin, whatever. But I don't want to bite off too much at once, so I think we should start with a simple centralized kv store I've also tried to make it namespace agnostic, so theoretically, you should be able to use ipns for scrapnames too! There are a few more tricky bits there, but the concept definitely works.
How does scrapscript interact with the rest of the computing universe? How can I write code that works on my address book or my e-mail, for example? It looks like all inputs have to be in scrapscript syntax.
Scrapscript is just like any other programming language, so not very e-mail friendly haha. Open to ideas though
k
Scrapscript is just like any other programming language, so not very e-mail friendly haha. Open to ideas though
If Scrapscript does networking, you can implement the IMAP protocol. If Scrapscript can read local files, you can delegate IMAP to an external tool such as isync. In both cases you need a MIME parser. Just like with any other programming languages. So in the end, my question comes down to whether Scrapscript has access to local files and to network protocols.
t
oh sorry i misunderstood what you were asking. yes, you will be able to access local files and network through the cli