From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Christopher Allan Webber Newsgroups: gmane.lisp.guile.devel Subject: Re: Contributions to Guile Date: Mon, 08 Feb 2016 10:17:43 -0800 Message-ID: <87vb5zxe0o.fsf@dustycloud.org> References: <87twlno63d.fsf@gnu.org> <877figyxb2.fsf@dustycloud.org> <87si13k4nn.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1454955489 13386 80.91.229.3 (8 Feb 2016 18:18:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Feb 2016 18:18:09 +0000 (UTC) Cc: guile-devel@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Feb 08 19:17:59 2016 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aSqNq-0007ba-Gf for guile-devel@m.gmane.org; Mon, 08 Feb 2016 19:17:58 +0100 Original-Received: from localhost ([::1]:47525 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSqNp-0000iZ-4c for guile-devel@m.gmane.org; Mon, 08 Feb 2016 13:17:57 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36699) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSqNh-0000hC-Kl for guile-devel@gnu.org; Mon, 08 Feb 2016 13:17:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aSqNd-0001Tf-MV for guile-devel@gnu.org; Mon, 08 Feb 2016 13:17:49 -0500 Original-Received: from dustycloud.org ([50.116.34.160]:55078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSqNd-0001Tb-Hw; Mon, 08 Feb 2016 13:17:45 -0500 Original-Received: from oolong (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id 8B07426676; Mon, 8 Feb 2016 13:17:44 -0500 (EST) User-agent: mu4e 0.9.13; emacs 24.5.1 In-reply-to: <87si13k4nn.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 50.116.34.160 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:18155 Archived-At: Ludovic Court=C3=A8s writes: > Christopher Allan Webber skribis: > >> Chad Albers writes: > > [...] > >>> b. More robust documentation system - texinfo is not the greatest. An= d >>> it's non-trivial to generate any documentation (including texinfo) fo= r >>> modules. >> >> Texinfo is pretty nice to use if you're an emacs user... in fact, if >> you're an emacs user, it's the best documentation reading system in th= e >> world. But not everyone's an emacs user. > > I think Texinfo is OK even if you=E2=80=99re not an Emacs user, no? Es= pecially > with the just-release 6.1 where menus can (finally!) be automatically > generated. If you're not an emacs user, web documentation is all you're looking at probably, so... >> If the html export was nicely themed > > It can be nicely themed. FWIW, Gnulib=E2=80=99s gendocs.sh, which is w= hat most > projects use to export their HTML to gnu.org, now includes a CSS by > default (see as an example.) We can > change this CSS anytime, and in fact, I would love it if someone > talented would come up with improvements! Ok, yeah https://gnu.org/software/guix/manual/html_node/Derivations.html#Derivat= ions does look a lot nicer! I think it could look nicer still; eg, Racket's docs using Scribble and anything using Sphinx tends to seem more nicely themed: https://hy.readthedocs.org/en/latest/tutorial.html https://docs.racket-lang.org/guide/define.html I think maybe the left-hand bar kind of helps, and some tweaks to the coloring might help too. >>> d. An easier build system. I see most projects using autoconf and >>> make. Using build tools designed for the C language presents a higher >>> barrier to those that want to contribute libraries to the guile >>> community. > > FWIW, I think what we=E2=80=99re using now is the easiest build system = *for > users*: ./configure && make && make install. It=E2=80=99s admittedly t= rickier > for developers, but not insurmountable (and someone working on Guile > doesn=E2=80=99t touch it every day either.) Sure, I think the "./configure && make and && make install" interface is awesome. The best! I don't think the interface needs to change; building tooling I can reason about would be nice though. This weekend a newish Guile hacker asked me how I got started with doing packaging for 8sync, and what any of it meant. I didn't *know* what any of it meant. I initially tried to make sure I only put in lines I understood, and I didn't get anything working. Eventually I just copy-pasta'ed from Guix and Sly, and then I got things working, but *why* did it work? And how to debug it if something went wrong? A config dsl might be nice. Maybe instead of M4sh we could have some kind of language that was scsh like but could also compile down to shell representation? I dunno. It would require quite some engineering. Again, I'm not saying I'm likely to build a solution, I'm just not happy with the state of affairs. I understand why in many respects autotools is the best thing in the universe when it comes to packaging. It can also feel like the opposite of that, depending on where you're standing. But maybe it's just my ignorance! - Chris