[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to make GNU Guile more successful

From: Alejandro Sanchez
Subject: Re: How to make GNU Guile more successful
Date: Mon, 6 Mar 2017 00:46:48 +0100

Thank you for you responses, I will try to respond to them all in one email.

> About Emacs + Geiser as the default development environment
Emacs is a power tool. Giving someone Emacs to write a simple script is like 
handing someone a jackhammer to nail plywood together. OK, maybe I’m stretching 
the analogy a bit, but when I think IDE I imagine something that handholds 
people, for the better or worse. Sure, you could offer some sort of 
pre-configured Emacs setup, but what’s the point of that?

This is why I had brought up the Language Server protocol, integrating Scheme 
with an existing IDE allows people to jump right in with whatever tool they are 
familiar with. It should also be less work to write a server or modify Geiser 
to follow the Language Server protocol than to maintain a separate distribution 
of Emacs.

> About the lack of a standard implementation
As Arne Babenhauserheide pointed out, there is no standard implementation of C 
or C++ either, and yet those languages manage just fine. The difference is in 
*what* is undefined. Undefined in C/C++ usually means “do not rely on this, 
demons might fly out of your nose” and you are not supposed to touch it unless 
you really know what your compiler will do. Most of the undefined parts of 
C/C++ can be avoided in a portable way.

Undefined in Scheme before r6rs basically meant “we couldn’t all agree on one 
thing, so whatever”. So you have to pick one implementation and roll with it. 
My understanding is that’s how PLT-Scheme turned into Racket and became its own 
thing. This makes my code completely dependent on the implementation’s 
lifespan, and that’s a commitment that’s hard to sell.

From what I understand, with r6rs and r7rs the voting has been changed from 
unanimous to majory-vote, so this should become less of an issue over time.

> About the syntax
I know about wisp, but that looks like an awkward cross-breed between Python 
and Lisp. Lisp syntax is simply something one needs to get over. For me it 
really clicked when I understood that Lisp syntax is not really a syntax, it’s 
the AST (sort of). Wisp reminds me of those people who use the arrow keys Vim 
and never leave insert-mode, in the end they just have a convoluted Nano. Maybe 
Wisp will help people, I don’t know, but it didn’t do anything for me.

> Closing remark
The question for someone shopping around for languages is: what is the selling 
point for Guile (or Scheme)? Being a programmable programming language sounds 
cool, but what does it let me do? Nothing on Guile's website tells me “look at 
how easy this is to solve in Guile, you cannot do this in other languages”. 
What would that be? I don’t know, I’m just a layman. The topic of the thread is 
“how to make Guile more successful”, and I most of those are technical points, 
so I’m afraid that discussing popularity is all I can contribute.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]