[Top][All Lists]

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

Re: How to make GNU Guile more successful

From: Jan Wedekind
Subject: Re: How to make GNU Guile more successful
Date: Sun, 05 Mar 2017 11:57:20 +0000
User-agent: K-9 Mail for Android

According to Alan Kay's research, the future might be a lot of domain specific 
mini languages. I.e. languages tomorrow are going to be like libraries today. 
Guile supports custom languages which makes it future proof at least to some 

Myself, I am using Scheme because of it's unique metaprogramming facilities 
(Scheme macros) and GNU Guile because it has multiple-dispatch object oriented 
programming (unlike Racket). Also Guild's native interface with the Boehm 
Garbage Collector is quite easy to use.

On 5. März 2017 03:09:54 GMT+00:00, Erik Edrosa <address@hidden> wrote:
>On 03/04/2017 06:41 PM, Alejandro Sanchez wrote:
>> If I may add my two cents as a Scheme layman: the question is not so
>much about making Guile more popular, but about making Scheme itself
>more popular.
>> One big reason for Python’s popularity is something I haven’t seen
>mentioned in this thread so far: if you know pseudocode you basically
>know Python already. Of course this is hyperbolic, there are a lot of
>finer details to Python, but the superficial simplicity of Python makes
>you think you already know the language and that you can get started
>right away. By the time you encounter the more arcane aspects of Python
>you have already invested enough time into it that you will put up with
>learning something new.
>> Scheme on the other hand is weird; weird in a good way, but still
>weird. For me the reason for picking up Scheme was working my way
>through SICP, but even before that I had heard of the Lisp family.
>Every time I tried to find out what the fuss was about Lisp all I could
>find was nebulous concepts like “it’s a programmable programming
>language” without explaining what that even meant and why I would ever
>want to use it.
>> Of course once I got over the weird parentheses and I understood why
>they are actually a beneficial aspect I liked it. Yet, even after
>getting into Scheme there are problems. The r5rs standard is pretty
>limited, and so every implementation does its own thing. There was not
>even a standard module system until r6rs. Unfortunately r6rs never got
>fully adopted by any of the major implementations, so we are back to
>where we were with r5rs more or less. r7rs-small looks like it could
>finally fill in the most glaring gaps, and r7rs-large is still nowhere
>> All this is very frustrating, and getting into a new language is a
>long-term commitment to learn something new. When faced with Python,
>Ruby, JavaScript, Lua and Scheme, it’s easy to go with the flow and
>just use what everyone else is using.
>> I think someone here mentioned the lack of a proper Scheme IDE, other
>than Dr. Racket for Racket. I don’t use IDEs anymore, but I can see how
>that can be a problem for other people who only want to do intermediate
>scripting rather than write entire applications. Writing a full IDE
>would be quite a lot of work, so perhaps integrating with existing IDEs
>would be better. Think something like Geiser for programs other than
>Emacs. There is the “language server protocol" by Microsoft, the idea
>is to have a standardised protocol that can be supported by a language
>server and an editor application.
>> I know it’s Microsoft, but this is just a specification. With this
>protocol one would write a Scheme server that receives instructions
>form the editor via RPC and sends the result back to the server via RPC
>as well. This would allow using the same Scheme server regardless of
>the editor (Emacs, Vim, Neovim, Eclipse, …). I had wanted to write
>something like this for Neovim myself, but I don’t know enough of
>Scheme yet.
>> I hope these ramblings of mine offer something useful from an
>outsider perspective to you guys.
>I think one issue when you want to compare languages like Python to
>Scheme is that these languages are dominated by a single
>Python, Ruby, Go, Rust, Clojure, and many others have a single dominate
>implementation. The compatibility of libraries isn't something devs
>usually have to worry about (except for breaking changes in the
>like Python 2 to Python 3). I agree with how r5rs standard is pretty
>limited, languages with multiple implementations tend to have pretty
>large standards so that these implementations are somewhat compatible.
>am liking the direction of r7rs and I hope it will bring scheme
>implementations closer together. Probably the other option for scheme
>would be for everyone to get behind a single implementation like Chez
>Of course that isn't the only thing needed to make Scheme or Guile more
>popular. I believe a programming language needs a somewhat unique and
>powerful library or framework, an awesome application to show off the
>power of the language, good tooling, and some luck.
>The language server protocol is pretty cool and I would like to see a
>lisp implement it. An IDE for a lisp obviously needs to implement more
>features to be useful, I believe being able to easily interact with a
>REPL is one of those.

Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

reply via email to

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