after so many years, I think I cleared my vew on what #guile is missing
Guile is missing a proper development experience
The only IDE available, based on Emacs, is so brutally hard to set up that very few people are actually able to set it up
And even with that set up, you still lack a bird eye view of what's in your namespace/module
Contrast that with Pharo/Smalltalk
and is in fact hostile to the uninitiated n tech and science
Again, take Smalltalk/Pharo
Or, thake this blog post about REPL driven programming
Do you feel that the experience provided by Guile holds up to that definition of REPL driven programming ?
this is what I called "cultural debt"
There's technical debt and there's cultural debt
I doubt the Guile community ever questioned themselves about who was the potential targed to become a Guile user
And a lot of assumptions ended up being embedded in Guile without having beng questioned ever
I understand that this may sound harsh to Guile people
I don't mean to be harsh
In fact Guile is a very generous effort and it's quite elegant in many ways
I just feel that this discussion should be made
This is not meant as a jaccuse
It's meant as a reflection
I'd be happy to be able to contribute something to the Guile/Guix community
I'd be happy to see Guile thrive, more than it does today (which is not much)
scheme is a very powerful way in understanding mathematics and how math is general
In fact I had never understood the relationship between the induction principle and the definition of functions commonly used in calculus, until I saw those functions defined in scheme as recursive/iterative functions
And then you get to use that for general purpose programming
That's powerful !
so kudos to the Guile community for being so stubborn all these years
That is another stallmanism, maybe this one is better than the cluelessness about elitism
In fact, because of such stubborness, not only Gule is still here but it's being used for Guix, which is another very generous/ambition effort
@abbienormal I think there are several reasons why guile exist:
1. Stallman and GNU project likes lisp-like languages (see Emacs Thesis)
2. There is no scripting language licensed under gnu gpl (most of them are licensed under bsd-like)
3. The main idea was to embed guile to make applications (like elisp in emacs), where you can redefine behavior, but as we can see this approach not often used.
@abbienormal I somewhat disagree with your assessment. While Scheme has its roots in academia, the most successful implementation, Racket, is also the most academic one in terms of papers written about it. Yet it has the most comprehensive documentation and an IDE. But that IDE does intentionally not behave like a Smalltalk or CL system, out of concerns that this may confuse beginners. So I don't believe academic qualities are inherently detrimental to success or usability.
So why is it that Racket still does better than Guile? I suspect it's the networking effects and project leadership that drew way more people towards it. A similar effect can be seen with Pharo. Both projects announce releases involving many people, whereas projects like Guile have far less people contributing to them at a slower rate.
Regarding your observation of Scheme implementations assuming you know everything you need beforehand, yes, that may be a consequence of minimalism. I don't recommend Scheme to beginners for that reason. It's the guiding principle for much of it and in combination with chronically understaffed projects, I don't see it changing any time soon.
That same minimalism makes it hard to provide that CL/Smalltalk experience. Even efforts like Geiser are inherently limited because portable socket access is not there.
you're right, academia doesn't necessarily imply any of that
In fact, Smalltalk is rooted in academia
But Racket and Smalltalk are exceptions
Aren't they ?
So, ok, it's not the academia, it's _most_ of the academia
As for minimalism, I fell it's an excuse
Advancing on understaffing, they go for minimalism, that feeds a set of problems
But why do you take understaffing for granted ?
Why don't you look at exceptions ?
maybe exceptions weren't there ?
Then why don't you envision anythng else, as Racket did ?
Because you take a set of axioms as a given you don't question
That's a cultural work and avoiding that is cultural debt, in my view
@abbienormal Looking at exceptions is misleading due to survivorship bias. Seeking to emulate them is another classic fallacy of confusing correlation with causation. Imitating the habits of millionaires doesn't make you rich, only miserable.
There are a few studies attempting to quantify the amount of solo projects compared to successful ones, here's one from 2013: https://redmonk.com/dberkholz/2013/04/22/the-size-of-open-source-communities-and-its-impact-upon-activity-licensing-and-hosting/. I expect the ratio to continue to grow beyond 80/20 because there is a lot less friction in jumping from a small to a popular project than the other way around.
There is only so much you can do as a single person and the balkanization of Scheme by design does not help. There is a lot less fragmentation in the Smalltalk world for several reasons. Today the Scheme world is into standardizing R7RS-large which will set the implementations interested into that even further back (5-10 years), whereas the Smalltalk world has one defacto VM to use and most of the community is working on improving Pharo.
Yes, there are cultural problems, but I don't believe the solution is investing effort in the 80% that are lacking, especially if what you envision to happen is at odds with the very design of these projects. Better invest the effort into a project that aligns with your goals.
@abbienormal I don't know, I'm not knowledgeable about Guile specifically. I've adjusted my expectations and am happy to contribute to other implementations here and there. It's a gift-based economy and fits my recreational needs.
For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).