@apg That's a whole other angle that concatenative languages do really well: evaluation order is precisely static order.
I am still quite enamored with it. Here's a little demo of a stack-based concatenative language where function calls have isolated stacks: https://archive.org/details/akkartik-2min-2020-12-06
I _do_ have some ideas for how to make Joy, well, more Jubilant, but time has not been on my side to get something worthy of release.
Even still, the versions I have are all interpreted.
> Still looking to invent that HLL with Forth simplicity..
@apg I reluctantly concluded this is not possible. Forth's expressiveness and implementation simplicity is intimately tied to its low-level nature. For example, any sort of type-checking would make it as complex as Lisp or so.
(Repeating myself from several posts on Lobste.rs, I ended up instead building a statement-oriented notation that maps to machine code and is as memory-safe as Rust: http://akkartik.name/akkartik-convivial-20200607.pdf)
Part of me is thinking that, if I really wanted to make a splash in the open/homebrew computing scene, I should implement my own take on the Canon Cat.
Or, perhaps put another way, to go forward with a worse-is-better approach to implementing a humane interface (Jeff Raskin's book, concept, and idea for what would have come next after the Canon Cat).
re: Very low power personal computing, a thread
- Look up human information. Wikipedia. Textbooks. Charts. Howto videos.
- Consume art. Music. Movies.
- Talk to people without regard to geography.
- Ways to slice and dice all of the above (since it's a lot of stuff)
- Create things for others to consume.
Very low power personal computing, a thread
@kelbot What sorts of programs do you tend to want to write? I've been reflecting on what sorts of things computers are actually good for, and have a hard time coming up with examples. So I'm curious what utility looks like to you.
@ndpi @s_ol One reason we tend to notice scope creep more in software is the distribution of costs over time. When you deal with hardware every action has some non-trivial up-front cost, so you're just less likely to create something like a screwdriver-hammer combination. With software there's almost no cost up front, and costs slowly add up over time. Particularly if you're unwilling to write off sunk costs.
Been learning a lot from building Ferro. A few highlights:
- I actually like test driven development, and I feel a lot better about my software when I do it
- Writing UI libraries is not trivial
- “Pull” workflows are a lot better than building things from bottom to top
- Object oriented programming and I are making peace with each other
- The hardest part is defining what you want precisely enough to describe it to a computer
- Invest in tooling for yourself but don’t get sidetracked by tools
@eris Yeah I'm not a mathematician so I too only hazily glimpsed what they were getting at. But I found the examples evocative:
* A set is a very weak mathematical object by itself, the power of set theory comes from the set axioms. It’s the axioms where the abstraction lies, and not in the sets.
* The true abstraction of ℤ is the fact that the ring (ℤ, +, *) exists.
I interpret "Abstraction is all about semantics" as "ADTs need theorems". Just modularity doesn't manage complexity.
@stman Sorry, I was excerpting words from someone else. Reading the source in full will likely be more useful than any explanation I try to provide.
@newt I've been saying for a while that we live in the pre-abstraction era when it comes to software.
"Programmers do not understand the difference between an abstraction and a wrapper and a generalization. Abstractions are powerful; generalization or wrapping without abstraction is _taking power away_."
"When I buy a book, I want to go to a book store and ask for the book I want. With nix I have to go to a printing press and provide instructions for printing the book I want. This is insanity. This is not progress."
"When Martin Luther contemplated how to get the Bible directly to end-users, he first considered teaching Latin to Germans. Then he considered translating the Bible to German. Both were difficult prospects; German had regional dialects. Luther chose to "fix up" German by restructuring it to be able to handle philosophical and religious discourse.
"Martin Luther was a great UI designer. He understood that you have to start where end-users are before helping them grow."
@cstanhope Yes, that was the uncomfortable limit of science I ended up at as well. We can't really practice science at scale until we're able to bring people to its limits by talking to experts on demand (because any point of trust in experts can now be weaponized by "experts" who tell you to drink horse manure or whatever). Which doesn't scale. (But maybe it could scale with software models that people can query? That's vaguely what I've been trying to take tiny baby steps towards with Mu.)
"Even if it didn't work, the fact that someone could have designed a vaccine, and contracted a company to manufacture that vaccine in June 2020 for under $5k is fucking profound — and that is what I felt people needed to know."
"At The Odin, we sell kits to teach people how to do hands-on molecular biology and genetic engineering in their homes. This is our mission: we believe everyone has a right to learn about and practice science.."
@neauoire I described Swarm to a friend and they recommended Retrograde. And OMG it's short and perfect.
Promiscuous dependencies are the root of all evil.
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.