|Subject:||Re: Wisp as shipped language in Guile?|
|Date:||Sat, 12 Aug 2017 01:28:47 +0800|
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?
Arne Babenhauserheide <address@hidden> writes:
> Hi Mark,
> Mark H Weaver <address@hidden> 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/
> 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
> 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:
> 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
>> 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
> For usability there is a large difference between
> guile --language=wisp
> 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
>> PS: While visiting the web page <http://draketo.de/english/
>> 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="" href="http://127.0.0.1:8888/Sone/viewSone.html?sone=[...]" rel="noreferrer" target="_blank">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,
heißt politisch sein
ohne es zu merken
|[Prev in Thread]||Current Thread||[Next in Thread]|