unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Arne Babenhauserheide <arne_bab@web.de>
To: Mark H Weaver <mhw@netris.org>
Cc: Guile Devel <guile-devel@gnu.org>
Subject: Re: Wisp as shipped language in Guile?
Date: Fri, 11 Aug 2017 11:04:38 +0200	[thread overview]
Message-ID: <87y3qq79p2.fsf@web.de> (raw)
In-Reply-To: <87a8693gza.fsf@web.de>

[-- Attachment #1: Type: text/plain, Size: 6178 bytes --]

Hi,

Any word on this? We have ecmascript, we have elisp, we have brainfuck,
why not wisp — which is finished and stable and does not require any
non-sexp-scheme code in Guile?

Best wishes,
Arne

Arne Babenhauserheide <arne_bab@web.de> writes:

> Hi Mark,
>
> Mark H Weaver <mhw@netris.org> writes:
>
>>> Essentially this is about making wisp as language part of the
>>> "batteries" of Guile.
>>
>> About 4.5 years ago, I went out on a limb and added SRFI-105 (curly
>> infix expressions) to core Guile.  Even now, I'm of the opinion that
>> judicious use of curly infix could be beneficial for readability, but as
>> far as I can tell, there's been essentially no uptake.  If I'm wrong
>> about that, please let me know.
>
> I’ve been using SRFI-105 quite a bit — not only in Wisp. It helped me in
> reducing the reservations colleagues of mine had against Scheme
> (prefix-comparisons and prefix-math look odd to many people).
>
>> Anyway, regardless of my personal opinion, I think we need to be careful
>> not to add things to Guile that will go unused and merely contribute to
>> its increasing bloat.
>
> Given that language/wisp (as I have it here) is less than half the size
> of language/elisp or language/ecmascript, and will require much less
> maintenance (it is in final form and will automatically benefit from all
> improvements to Scheme proper — different from both elisp and ecmascript
> which need to follow a moving target to keep their utility) and that it
> is less than twice the size of language/brainfuck, I think calling Wisp
> part of bloat isn’t right.
>
>> I think the relevant question is: are a
>> non-trivial number of people likely to use this?  For starters, do you
>> know anyone writing non-trivial amounts of Wisp code other than
>> yourself?  You might expect that to change if we added it to core Guile,
>> but that didn't seem to happen with SRFI-105.
>
> This depends on what you consider non-trivial.
>
> Two weeks ago CalGuixSD said in IRC he’d written the system definition
> for Guix in Wisp. However he had to give up on that, because it would
> have required to install Wisp while he did not have Guix
> yet. (https://gnunet.org/bot/log/guix/2017-05-03).
>
> This is actually what prompted me to write here again: In this usecase
> it acts to facilitate entry into Scheme, because using the language for
> setup is an obvious case where people get put off by the parens at
> first. And different from other notations, going from Wisp to regular
> Scheme is trivial: automatic conversion even keeps the comments.
>
> Using Wisp as system language is among the things people can only do
> when they always have Wisp with Guile — when it’s part of its batteries
> (along with brainfuck, javascript and elisp).
>
>
> Aside from being a good starter, there are domains where I see Wisp as a
> different quality of readability, for example when it comes to text-rich
> formats (I think you know the talk from FOSDEM:
> https://fosdem.org/2017/schedule/event/naturalscriptwritingguile/ ).
>
>
> Finally I see that Wisp is the one project of mine which generates the
> most interest (as estimated by people reading its site — easily twice as
> many as those who have read my Freenet articles (since 2010!) — and from
> people asking how to use it), so I would like to make Wisp easier for
> people to use. It seems that Wisp draws people.
>
>
>> So, unless Wisp is being used by more people than I suspect, my personal
>> take on this is that we should not incorporate Wisp into Guile at this
>> time.
>>
>> On the other hand, if there are sane changes that we can make to Guile
>> that would facilitate adding support for languages like Wisp and
>> SRFI-110 to Guile via external libraries, I would absolutely be in favor
>> of working toward that goal.
>
> The main missing piece I see right now would be the option for
> language/<lang>/spec.scm to automatically add suffixes to
> %load-extensions when switching to a language and removing them when
> switching back (along with a solution for .<ext>.go).
>
> Or providing a mapping from extension to language.
>
> One of these would also be needed for *.el(elisp) and *.js(ecmascript).
>
> However this will not allow using Wisp in the REPL on Guile
> installations without adapting the load path or installing a package
> systemwide.
>
> For usability there is a large difference between
>
> guile --language=wisp
>
> and
>
> guile --language=wisp -L ~/.local/lib/<something>
>
> Also if you’re on a readonly system with Guile but without admin-added
> Wisp, or on a system without internet access, you cannot use Wisp if it
> is not provided by Guile or the admin/system author.
>
>> For example, I've pondered the idea of making the "reader directive"
>> mechanism (e.g. things like #!curly-infix) easily extensible.  For
>> example, we could perhaps arrange for 'read', when encountering "#!FOO"
>> in the input stream, to look for a module named something like (system
>> reader-directives FOO) which would extend the reader as needed.
>>
>> What do you think?
>
> That sounds useful on its own, though it does not resolve the problem of
> having to adjust the load path or needing the permission to install
> systemwide.
>
>> PS: While visiting the web page <http://draketo.de/english/wisp> to
>>     refresh my memory about Wisp details, my browser tried to access
>>     port 8888 on my local machine.  Looking at your site code, I see
>>     that there's an iframe element with
>>     src="http://127.0.0.1:8888/Sone/viewSone.html?sone=[...]", and also
>>     an input element with value="http://127.0.0.1:8888".  You might want
>>     to fix those.
>
> That iframe is for using a Freenet service (Sone) as decentralized
> comment system for websites, so these aren’t mistakes per-se. However
> they got broken by recent security tightening in Freenet, so I actually
> should remove them until I create a stronger system.
>
> Best wishes,
> Arne

-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  parent reply	other threads:[~2017-08-11  9:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-07 20:56 Wisp as shipped language in Guile? Arne Babenhauserheide
2017-05-08  2:34 ` Christopher Allan Webber
2017-05-13  1:52 ` Mark H Weaver
2017-05-13  7:24   ` Panicz Maciej Godek
2017-05-13  9:44     ` Arne Babenhauserheide
2017-05-16 19:27       ` nice option to have Fox
2017-05-18 23:03   ` Wisp as shipped language in Guile? Arne Babenhauserheide
2017-05-19 14:54     ` Wisp for Racket / Dr.Racket ? Fox
2017-05-19 21:06     ` more extensible reader directive, was: Wisp as shipped language in Guile? Arne Babenhauserheide
2017-08-11  9:04     ` Arne Babenhauserheide [this message]
2017-08-11 17:28       ` Nala Ginrut
2017-09-17 19:10         ` Arne Babenhauserheide
2017-09-17 20:28           ` Matt Wette
2017-09-17 23:22             ` Arne Babenhauserheide
2017-09-18  0:24               ` Matt Wette
2017-09-18 19:21                 ` Arne Babenhauserheide
2017-09-19 14:10                 ` Christopher Allan Webber
2017-09-19 23:46                   ` Nala Ginrut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y3qq79p2.fsf@web.de \
    --to=arne_bab@web.de \
    --cc=guile-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).