IRC channel logs
2015-04-01.log
back to list of logs
<zacts>how may I create a self executing guile source code file? <zacts>if possible I prefer not to launch one from a #!/bin/bash <zacts>I can't seem to get #!/usr/bin/guile to work for me either though <zacts>I have some really simple C tools I've written for myself, and I'm reimplemented them in scheme <zacts>but I want to move like hello.scm -> ~/bin/hello for example <zacts>and be able to just type 'hello', rather than 'guile -s ~/bin/hello' <zacts>(I must have missed that somehow, when I searched the doc) <zacts>although, I was kind of in a hurry about to go somewhere at the time <mark_weaver>it takes some time to learn your way around the guile manual <paroneayea>it's a great manual, but it's pretty different than most texinfo layout from the frontpage's ToC at least <paroneayea>there's room for improvement... if it had more tutorial stuff, it'd be even better! but I do like it quite a bit :) <ArneBab>paroneayea: that reminds me that I wanted to link to that wisp so people can find it if they stumble over my site while searching for it… done now ☺ <ArneBab># Thanks to exec, the following lines <ArneBab>^ I hope this does not count as flooding <ArneBab>zacts: one advantage of that is that you can adjust the PATH to select a different guile. <ArneBab>for example this here automatically adds the path of the parent-directory of the script file to the search path of guile: exec guile -L $(dirname $(dirname $(realpath "$0"))) --language=wisp -e '(@@ (examples ensemble-estimation) main)' -s "$0" "$@" <ArneBab>zacts: … I just realized that I missed your “I don’t want to defer to bash” line… sorry <zacts>ArneBab: heh, yeah that's ok <zacts>the only reason I didn't want to defer to bash is that for some of my scripts I want more efficient startup times <zacts>(and the only reason it's noticable is that a few of my scripts just do a bunch of (display ...) to the screen) <zacts>I notice a split second lag sometimes <zacts>but shell deferring sounds really useful! <zacts>I guess I should share a tip with you that I just discovered, perhaps you know of it. <zacts>ArneBab: I now use 'less +F' rather than 'tail -f' for log files <zacts>'less +f' let's you pause and grep, and then unpause while it's displaying a live log file <ArneBab>zacts: from my tests, bash deferring costs about 6ms startup time - but the variance rises (from 2.4ms to 4.6ms) <ArneBab>so >15% of your calls could take more than 10ms longer than with the meta-trick. <ArneBab>using another shell than bash might reduce that cost (I guess that it’s due to file accesses). <ArneBab>zacts: with /bin/dash instead of /bin/sh in the header, I cannot distinguish the shell-deferring from the env anymore. <ArneBab>(this is on my work-machine, not at home, that’s why it’s faster) <zacts>yeah /bin/sh is symlinked to /bin/bash on my system <zacts>I would change /bin/sh to another shell, like mksh or dash, but it stops my system from being able to boot (Slackware64 for now until I can replace it with Guix or Dragora) <civodul>ArneBab: for the comparison to be fair, one must make sure each shell loads the same amount of extra functionality <ArneBab>civodul: not for this test: it’s only a single feature test. <ArneBab>civodul: sh --noprofile seems to have the same properties. <ArneBab>civodul: and /bin/sh should already launch bash in sh-compatibility mmode <ArneBab>civodul: I re-did the test, and dash only saved 0.5ms… <ArneBab>(on average in 1000 tests, with a standard deviation of 2.5) <wleslie>in ~400 cases, the test completed before they began <ArneBab>wleslie: it *saved* 0.5ms - dash still took 17ms <ArneBab>I also updated py2guile (to be uploaded): that also contains the min-max range for the tests <davexunit>first someone forks SLIME and names it Sly (the name of my game engine), and now this <taylanub>isn't it fairly normal sexprs with few non-conventional extensions? <davexunit>and at least in real clojure, you *have* to use [] instead of () in certain cases *taylanub is too ignorant -- ceases judgement <davexunit>ugh, why did Clojure have to be the Lisp that finally got mainstream adoption? <davexunit>and every other Lisp gives you an FFI for all of the C libraries... <ArneBab>maybe add that people talk about clojure on conferences <davexunit>because it got more adoption somehow, that's why <unknown_lamer>random chance, it's like when there was a bit of a common lisp revival <ArneBab>kawa says it has an “incomplete tutorial” <ArneBab>clojure people talk a lot about cool new immutable datastructures <davexunit>I guess I just get extra frustrated because I like Scheme an order of magnitude more than any other Lisp I've ever tried <davexunit>and it never gets the recognition it deserves, unless John Carmack tweets about it or something. <davexunit>I just wish that you didn't have to target Java programmers to make something successful <ArneBab>nowadays it also targets .NET and Javascript… <ArneBab>which means: Everybody except for GNU/Linux system programming. <ota>ArneBab, tnx for Clojure link <ArneBab>davexunit: I think guile suffers from not being available effortlessly for non-GNU systems <ArneBab>if you create a product, every system you do not support costs you a disproportionate number of users <ArneBab>I cannot give the guile programs I write to windows using friends (90% of my friends). <davexunit>ArneBab: partly I agree, and partly I say "fuck windows" <ArneBab>davexunit: essentially I’m limited to writing programs for myself and for web servers. <davexunit>it runs on real operating systems (gnu/linux bsd os x etc.) <ArneBab>davexunit: are there guile packages for OSX? <paroneayea>guile suffers from some things which are all fixable <ArneBab>(or rather: a simple way to package a guile program as app?) <ArneBab>paroneayea: yes, but it’s work. And the clojure people seem to have focussed on that thankless work <davexunit>as a nasty ball of all the dependencies? no thanks. <ArneBab>davexunit: exactly as that: What all the normal users want <ArneBab>something I can put on the app-store <ArneBab>it would be a program which people can keep using when they switch to something freer <ArneBab>I’d define “easy to ship” as “there’s a script in the guile distribution. Call it to create a release for every platform.” <davexunit>that problem is outside of guile's purview, IMO *wingo would like a way to statically compile an app to a binary <wingo>just dynamically linking to libc and such things <wingo>all scheme source text included, all compiled scheme included, etc *mario-goulart hands wingo a machine with 128GB of RAM <ArneBab>davexunit: it doesn’t matter where the way to ship to Windows users is defined. That’s an implementation detail. But if that doesn’t exist (or takes more than a short look on the website), then most people cannot ship to Windows. <ArneBab>or at least not in a way which 90% of users will accept. <wingo>i think such a thing shouldn't take more than what a guile process takes already <ArneBab>davexunit: question: What would guile have to provide to make it possible to write the next skype (or jitsi) in guile? <wingo>which is mostly read-only and so shareable, at least among different instances of the app <davexunit>ArneBab: I don't see guile itself missing anything. <ArneBab>On the Guile website I see lots of potential, but few solutions. <davexunit>community-wise, we need gtk bindings that are in good shape and stuff <ArneBab>davexunit: I do: I thought about porting a game I wrote in Python to guile. Then I realized that I would not be able to give it to any of my friends. <ArneBab>even less the visitors of my website. <ArneBab>(this isn’t a change, by the way: Currently it doesn’t run conveniently on non-Linux either: The Python porting story is also not that great) <davexunit>I know there's lots to do, but this idea that Guile isn't suitable for, IMO, bad software distribution practices doesn't convince me. <davexunit>of course, I'm certainly interested in native compilation, unboxed flonum operations, etc. <ArneBab>the problem I see is that most users rely on these practices, and we cannot change the users without giving them cool applications. <davexunit>and even a statically compiled guile, to displace tinyscheme in the Hurd project. <ArneBab>nowadays there’s android, built on free software, and it doesn’t have guile, so I could not ship a program there. <paroneayea>I think the following things could put guile light years ahead: <ArneBab>but I understand that all the things I’m complaining about are *hard*, even though they look easy <ArneBab>Python didn’t get the shipping story right during the last decade, even though multiple teams tried <davexunit>ArneBab: built on free software, but users only use the proprietary stuff on top. <paroneayea> - a more modern, friendly looking website, something that doesn't give the impression that Guile merely emerged from RMS' forehead somewhere in the late 1990s. There's a ton going on in Guile, tons of things for modern users, and users don't know! <ArneBab>davexunit: that’s not true. There’s quite a bit of free software. It’s just that the proprietary software often delivers the features users want. <paroneayea> - alias all the srfi modules to more useful names <paroneayea> - do outreach to developers encouraging new ones to come in and try things out <paroneayea>that means guile community members talking at usergroups, etc, trying to get talks into conferences <ArneBab>paroneayea: and fix lilypond, texmax and gnucash. That these do not work with guile 2.x is a desaster PR wise. <paroneayea> - get more basic building block libraries in a good state (a json library people agree on, database binding system like sqlalchemy, some kind of templating system, a web framework) and get them packaged for main distros <paroneayea>in the interim we should get guix packaged for main distros maybe <davexunit>I would like to talk about Guile/Guix at conferences sometime <taylanub>paroneayea: AFAIK all existing Guile developers (which aren't that many) have their hands full. maybe you can cook up patches for these recommendations and send them to the ML? :-) <paroneayea>taylanub: I will be taking some months off, I might be able to help in some ways, though I have a feeling that I don't know enough to muck with guile internals on some things :) <ArneBab>davexunit: I think one of the main things holding up free software is that the free software devs don’t sell their software. Our package managers are lightyears ahead of appstores, but they lack one crucial feature: An easy way to pay. <paroneayea>but it also helps to have guile leaders agree that these are priorities and announce that they are and call for help :) <davexunit>guile-json is good enough, despite my disagreements with it's implementation <paroneayea>the call for help thing is really important I think <ArneBab>I think most of the parts of guile are good enough, but I agree on the tutorial: It’s hard to find how to do stuff. <ArneBab>we can do all that, but we don’t say so. <paroneayea>ArneBab: I already knew several lisps and I had a hard time diving in <paroneayea>it's so easy to get running and doing cool things fast <paroneayea>with guile you can start doing cool computer science'y things fast ;) <ArneBab>I only knew emacs lisp, and I stumbled a lot. I only managed to get in due to the great help from wingo, mark_weaver and others. <davexunit>a database abstraction is needed, but hard to do well. <paroneayea>and actually not even that, you can do cool computer sciencey things faster than most computer sciencey things elsewhere <ArneBab>I think it would already help a lot to have a list with good practices <paroneayea>but not faster than doing actually useful things like, users writing utilities for themselves in python <wingo>1+ regarding racket; they do so many great things that a first-order approximation of "what would be better for guile" is "what is racket doing" :-) <paroneayea>I'm not sure what that would look like for guile :) <ArneBab>not list all the strings functions, but list the conventional (and good and fast) way to do string manipulation <davexunit>I write all of my personal utilities in guile <ArneBab>paroneayea: similar, but more like a tutorial. <davexunit>so, an official tutorial on the website would be a good start? <wingo>the other thing i would look at, and look hard at, is node and specifically npm <wingo>npm enables loads of things to happen in js-land <paroneayea>davexunit: yeah I know you do, and that inspires me! but I think getting from "opening the guile manual" to "writing utilities for yourself" is not a clear transition for new guilers <wingo>you can disagree with the form of the thing while also recognizing what it contributes :) <paroneayea>as someone who's done lots of language packaging, I used to be very up on it <wingo>in the case of npm what it's really about is enabling people to work together <wingo>which is something we're not great at in guile :) <ArneBab>npm and pypi and such make it easy to work together without interacting a lot. <paroneayea>davexunit: cwebber@earlgrey:~$ apt-cache search guile | grep guile | wc -l <paroneayea>only 18 really-obviously-guile packages in debian <davexunit>debian is notoriously difficult to package for, so I'm not stepping up for that one. <ArneBab>this could be circumvented by an easy to access guildhall. And that would work for all distros. And it would be a good base to create a standard packaging script (package <guildhall name> → deb/ebuild/rpm/guix) <davexunit>sorry for my grumpiness this morning. it's one of those days when you realize your industry sucks and you'll never do anything you actually want to do for real money. <paroneayea>having "a good base for creating standard packaging" would be great <wingo>for me the usual reason to be bashful about guile is speed, so i'm working on that. <paroneayea>wingo: as a cpython user I'd say: you don't have a lot to worry about :) <paroneayea>I partly bring this stuff up because I introduced tsyesika to Guile, and she started to get into it <wingo>davexunit: not sure about that :) <wingo>however! given the choice between e.g. ruby and guile the obvious choice is ruby because of ecosystem, newbie on-boarding material, large community, etc <Tsyesika>paroneayea: i need to find time to do more scheme <paroneayea>and I think we shared that we both had the experience looking at the guile site and assuming that it was just some legacy, dust accumulating gnu project, and that was the wrong impression <davexunit>wingo: I'll certainly take your word for it since you actually know what goes into fast interpreters/compilers <wingo>if guile is really quite fast it can make people more motivated to build those things <wingo>paroneayea: that's an incredibly important data point! <paroneayea>contrast with Hy, which I think has had more adoption recently than Guile and is *way worse* (and I say that as a Hy contributor) <bipt>it's interesting how much web design influences people's perceptions. i've heard similar comments about texinfo html manuals <paroneayea>and the page immediately guides you how to get started <paroneayea>and actually I really like info, but I agree that texinfo html output is terrible looking. Yes, lilypond is a great example that it could look better <paroneayea>we need a better default and for all gnu projects to use it. <ArneBab>so, to list what we had: modern website, modern docs¹, tutorial², alias srfi and ice-9 modules, racket-like intro, easy to find basic building block libraries (json, database, templating, web framework, game framework, ...), give talks, easy to use guildhall. <davexunit>paroneayea: civodul proposed a better default and karl berry rejected it without discussion <taylanub>maybe we can beg Luis Felipe to make a neat website and doc theme for us. I could even throw some money in their direction, having seen their work on GuixSD artwork. :-) <ArneBab>davexunit: you’re doing the FSF websites nowadays, right? <paroneayea>davexunit: yeah that's still dated but much nicer <paroneayea>taylanub: I suspect given talks with john that the FSF would be willing to be a fiscal sponsor for raising some funds for that <paroneayea>but he's expressed interest to me before in doing more fiscal sponsorship <davexunit>it's hard not to get depressed about gnu when the folks at the top don't want to change <paroneayea>taylanub: commissioning luis felipe to make a website would be great <ArneBab>davexunit: any chance to allow you to do some paid work to make the guile website look as modern as the clojure one? <ArneBab>paroneayea: just making a design isn’t enough: all the links have to keep working. <davexunit>I could ask but it would surely be denied because there's too much other work to do on FSF stuff. <civodul>davexunit: progress is being made on that CSS topic, though :-) <paroneayea>I think commissioining someone else, like luis felipe, is a great idea. *wingo catches up again :) <paroneayea>we would need to know how the website is put together <bipt>speaking of websites and people working together...would anyone else be interested in a guile wiki? (i have hosting and a domain i could use for one) <davexunit>luis might do it free of charge, as he's done for guix <paroneayea>davexunit: he might! though I think doing a whole website is extra work <bipt>possibly. i didn't know if gnu had a wiki-farm or not <davexunit>but it seems weird to rely on a third party host <paroneayea>davexunit just wants to volunteer for more sysadmin tasks ;) <wingo>paroneayea: sounds like a great idea to me <wingo>the current site is built using spit and bailing wire <wingo>it is horrific inside that cvs repo :) <paroneayea>wingo: so, as guile (co?-)bdfn (benevolent dictator for now?), how would you feel about seeing if the FSF is willing to be the fiscal sponsor of that <wingo>paroneayea: definitely co-, as ludo and mark are also maintainers <bipt>well, i was considering setting up an unofficial one on my own initiative, but gnu-approved hosting would be better <wingo>and "maintainer" is probably better than anything involving "dictator" :) <paroneayea>I don't think ludo is on here right now right? I forget his username. <mario-goulart>On the CHICKEN land we have this kind of discussions pretty frequently and we usually conclude that "we need more and better libraries". Maybe CHICKEN's context is a bit different from Guile's in some aspects, but I think that conclusion still applies, to some extent. We have gone through basically all things discussed here: speed, better sites, wiki, deployment, donations, marketing etc. Many times. Again, not sure it is applicable <mario-goulart>to Guile, but I thought I should share the experience with CHICKEN. <wingo>paroneayea: regarding a funding drive: i think it's a great idea, i'm happy to provide support/endorsement, but a bit overloaded atm and so would be delighted to delegate :) <paroneayea>wingo: mark_weaver: civodul: I have to have a call with John soon about MediaGoblin fiscal sponsorship stuff soon anyway. Should I bring it up there? <wingo>paroneayea: that would be great, thank you! <paroneayea>wingo: I think we don't have to do a full blown crowdfunding campaign <wingo>mario-goulart: interesting, thanks for the info <paroneayea>just setting up a donate link, and asking everyone to pitch in to funding an overhaul <wingo>y'all are doing better on that front, given eggs <paroneayea>wingo: I think you making a blogpost would help, you have a good readership base esp syndicated to planet gnome and stuff <wingo>paroneayea: yes, very happy to do that <mario-goulart>Still hard to get things done as easily as with mainstream languagens. <wingo>i have some posts ideas queued up too <civodul>paroneayea: the message should be that people are hosting their web site elsewhere because gnu.org is stalled, and that this is bad for GNU <paroneayea>civodul: yeah, well... I think we shouldn't message it in a way that makes gnu.org look bad (even if the state is bad) <paroneayea>but more that "we want the rest of the world to see how awesome guile is so we want to make a dedicated, modern website!" <paroneayea>but I agree that behind the scenes, that's partly it ;) <paroneayea>would they be willing to volunteer to reach out and see if they're willing to work on the design, and Cc: me on the email? <civodul>paroneayea: yes sure, the idea must be expressed positively and i'm sure we can count on you for that ;-) <paroneayea>if not I can do it but spreading around some of this is helpful, as I'm in crunch mode myself :) <paroneayea>so here's the deal, if I haven't reported back on this in 2 weeks <paroneayea>I'm going to start rolling on the talking to john thing <paroneayea>if someone wants to reach out to luis felipe that would be great, otherwise I can do it <wingo>i will try to help as i can but your energy is really great, thank you :) <civodul>paroneayea: we could talk to Luis when they're around, but maybe once you've heard from johns? <paroneayea>wingo: mark_weaver: civodul: I'd also like to write up "an action plan for guile" blogpost, mostly talking about what we talked about in here today, but I'll run it by you all first. It seems like #guile mostly had consensus on priorities though! <wingo>bipt: i have never had much success with wikis, but maybe it could work :) *paroneayea actually likes that aesthetic but does not advocate for it! <ArneBab>I think a good way to check what’s to do is to look at what we need to write a tutorial: get guile 2.x (currently: get the tarball - means we cannot get it into distros), run the first program (works well), test the REPL (mostly works: document the most useful ,X commands), do a small task easily (srfi-??, I can explain (ice-9 cool-feature), but not “check info for right SRFI, hope you got the right one, ask in IRC if there’s something <ArneBab>better”), share your tool (guildhall, since distros are out of question), ... <ArneBab>I think that would actually be enough for a short Guile tutorial. <taylanub>something explaining how to use the debugger would be great, for those not accustomed to gdb. <taylanub>also, is there a shortcut for something like ',bt #:full? #t #:width 9999'? <ArneBab>On related news: py2guile is almost ready. I got an offer from the freenet maintainer to help improve it. I want to share the source under GPL while also selling it as PDF+epub+mobi+print for all those who don’t want to build it from source. <ArneBab>taylanub: I’d love to read a tutorial just on debugging in guile! <ArneBab>the first blocker I see in the tutorial are the aliases for SRFIs <ArneBab>how would one go about creating these? <davexunit>because the module's name is tied to it's source file name <mark_weaver>I don't see why those aliases should be a blocker to create a tutorial. <ArneBab>so I’d create new modules which use the SRFIs <ArneBab>it would also be possible to write down all SRFIs instead <davexunit>yeah, a tutorial could be done without them for sure. <davexunit>srfi-1 is probably the only one a tutorial would even need to touch upon <mark_weaver>a guile tutorial should teach people the more widely accepted conventions of how to write guile programs, not some non-standard thing that one of us personally prefers <davexunit>things like "prefer match over car/cdr/cadr/etc." <ArneBab>(just to get that out of the way: note that I do *not* think that a guile tutorial should use wisp) <mark_weaver>I'm not sure I can easily list the conventions, and maybe that's too strong a statement to make. <ArneBab>I think documentation of those conventions is badly missing: Just call them best practices. <davexunit>perhaps a mailing list thread can gather some conventions used for the scheme code in guile core? <davexunit>if the comaintainers state a thing or two thay they think is an accepted convention, we can go from there. <mark_weaver>I guess I'm just saying that inventing new module names for a tutorial is a bad idea, IMO. <ArneBab>mark_weaver: it wouldn’t be only for the tutorial. <davexunit>so some of the stuff in here could be adapted <ArneBab>it’s from the problems paroneayea identifierd. <mark_weaver>the reason that SRFIs are numbered instead of named is that *anyone* can create a SRFI and finalize it <mark_weaver>there's no filtering process except in what implementors end up implementing and what users decide to use <ArneBab>that’s clear, but it doesn’t mean that guile cannot make them easier to use by giving them easy names. <paroneayea>mark_weaver: yes, that's true, but I think it's hard for users to understand and remember those <mark_weaver>so e.g. we end up with multiple versions of the same basic concept <paroneayea>I think wingo said guile's import system can handle aliases right? <ArneBab>I have a hard time remembering what SRFI provides what I need <paroneayea>right now it feels like I'm importing robot serial numbers <ArneBab>something like (use-modules (srfi list)) would make it much easier. <paroneayea>srfi-11 and srfi-42, get ready to roll out from the ice-9 robocenter <ArneBab>mark_weaver: that’s a problem in itself: For guile users, guile developers should decide which one of these is canonical. <ArneBab>(which one is most suited for guile programs) <mark_weaver>the guile community decided on many "canonical" modules in the past that are now quite undesirable <davexunit>ArneBab: that's assuming we support the "one way to do it" approach <paroneayea>and also, I think ice-9 aliased to "guile" would make a lot more sense <mark_weaver>a nice name, except that it was a bad API and now we have a much better and more popular stream library (srfi srfi-41) <ArneBab>davexunit: there will always be more than one way to do it. The question is: How do I as new user find out which way to try first. <paroneayea>so say that (guile streams) is deprecated in favor of (srfi streams) ;) <mark_weaver>regarding ice-9 -> guile, we could use that opportunity to make a new 'guile' namespace that doesn't have so much old garbage in it <ArneBab>(or as experienced user who starts into a new domain) <paroneayea>and I think guile having more than one way to do it is a huge feature <paroneayea>but it's overwhelming to newcomers; analysis paralysis <mark_weaver>in other words, I'd rather make (guile ...) a namespace for more modern, carefully selected, well designed modules <paroneayea>also, guile-json or some variant thereof should be part of guile itself, just sayin' :) <ArneBab>how much effort would it be, and is it possible to estimate an ETA? <mark_weaver>btw, note that there's another stream library called SRFI-40 <mark_weaver>and it turned out to have flaws, so now there's SRFI-41 <davexunit>paroneayea: since we have sxml modules already, an sjson module might be nice. :) <mark_weaver>if they had assigned SRFI-40 the name "streams", then SRFI-41 would have needed a different name. <paroneayea>sometimes it turns out there's a new, preferred module <paroneayea>there's some variant of naming and the old module's docs redirect you to the new one, not unlike what happens in guile's manual already <ArneBab>mark_weaver: I do not disagree with the SRFI process. I just think, guile could create the aliases for established stuff. <mark_weaver>if we assign them names, then we have to be *very* careful that they are the right thing (TM) for the foreseeable future. <paroneayea>mark_weaver: I have an answer to the guile ice-9 alias vs redo thing ;) <paroneayea>it's making me feel more confident and excited about guile stuff than I already am! <mark_weaver>although I am raising some difficulties with some of the suggestions, I also agree that there are serious problems and that we should try to address them. <paroneayea>serious problems... or serious opportunities??!! ;D <ArneBab>it’s making me want to write a tutorial on guile (after finishing py2guile, hopefully next week) <ArneBab>To get a focus for a tutorial: For which users would guile already be one of the best tools? <paroneayea>ArneBab: I might be able to help some, I wrote most of the Hy tutorial, and people seem to think it's okay :) <davexunit>I should write a simple guile web dev tutorial <mark_weaver>davexunit: you would be a great person to do that! :) <davexunit>I've written a couple web applications in guile now so... <paroneayea>btw I emailed John to ask about the funding thing <davexunit>can dive into guile-json, (ice-9 match), etc. <ArneBab>and the dry PR thoughts say “a tutorial on web dev with guile written by one of the GNU website maintainers would carry lots of credibility” <paroneayea>Guile's been around for a long time, but I think programming languages can grow in popularity later in their existence <paroneayea>haskell's exponential growth lately is proof of that <taylanub>Python isn't exactly young either, is it? <ArneBab>they usually need lots of time to hatch <davexunit>Ruby had been around for 10 years before it caught on <ArneBab>I looked at the Python code swarm: For the first 3 years Guide wrote it completely alone, then some people joined in and 2000 it took off <paroneayea>taylanub: yeah, not young, close to the same time! though I think it grew popular faster than haskell did <paroneayea>haskell took nearly 20 years to grow an audience <mark_weaver>guile-json should use association lists instead of hash tables <paroneayea>#guile is a great community, honestly the friendliest language community I've been in <davexunit>we discussed that awhile ago, and you suggested I write a brand new library that does that. <mark_weaver>this is an example of the problem with names, if they can be grabbed by the first comer. <ArneBab>I’d like to try my hand at a new-user tutorial: starting from “get the tarball”. Thanks to py2guile I have all the tooling at hand to get writing at once. <paroneayea>there's exciting stuff you can see happening between sly, guilemacs, guix, and some other things <davexunit>mark_weaver: I think maybe such a module could be part of guile core, like the SXML stuff is <paroneayea>and the language is now actually really awesome from an insfrastructure standpoint thanks to the compiler tower stuff being pretty neat and seemingly easy to explore <mark_weaver>you can either have module names that are very carefully assigned to well-designed APIs that have been tested in the real world <paroneayea>I say, not having explored it (but I have read nala's article!) *taylanub sees enormous potential in Guix and Guile-Emacs re. making Guile popular <ArneBab>mark_weaver: Python solves that by introducing new packages: urllib, urllib2 <mark_weaver>or you can have numbers that are assigned freely without so much care <ArneBab>mark_weaver: or you can have both: start with numbers and once it’s proven itself assign a name <mark_weaver>or I suppose you can have names that are prefixed by the author of the module or something <ArneBab>which problems are those which guile is best suited to solve? <paroneayea>eventually python libraries *outside* of python have become sometimes more popular than those in (eg requests is more popular than urllib(2) now) <davexunit>mark_weaver: would you be supportive of a (sjson) module that made it's way to guile-devel? <paroneayea>that took a long time for pypi setuptools and etc to mature <paroneayea>in 2005 django was proudly advertising that it didn't require anything but the stdlib <paroneayea>but now the django devs want to break their stuff into smaller packages and depend on more stuff <paroneayea>something similar would have to happen with guildhall, and more packaging into distros <ArneBab>that’s ease of installation (get into a market) as opposed to easy of reuse (get more people to use your proven stuff) *paroneayea is secretly procrastinating on doing the contracting he needs to do today by talking excitedly in here about guile's future! <paroneayea>hey everyone who participated in this: thanks for doing so *ArneBab does the same - has to create a presentation which has to be held on tuesday next week - and from tomorrow till tuesday I’ll be AFK <paroneayea>I think we have a bad reputation (sometimes deserved, sometimes not) in gnu where sometimes people think we're resistant to change, and it's good to prove guile reacting in the opposite way in #guile <bipt>sometimes you can teach an old wildebeest new tricks <ArneBab>I’ve been wanting for years to test the documentation writing guide from steve losh for a real project which already has the work-intensive parts in place (i.e. the api reference) <davexunit>I guess this is a good time to ask: good technical writing resources? <davexunit>civodul just quit, but he is quite good at technical writing <taylanub>I seem to remember ArneBab having a link for tips on good documentation <wingo>mark_weaver: to be fair many things like (ice-9 streams) are just legacy garbage from the 90s :) <wingo>if we try again we're sure to do a better job *wingo quite a bit back in the backlog, but if i get down to the end without typing i'll forget what i had to say <wingo>so apologies in advance for saying things that were prolly addressed :P <ArneBab>wingo: which will be good for 10 years and become legacy garbage in 2030 - but the alternative to doing stuff which will be superceded by something better is doing nothing (and thereby stopping people from learning and creating something better) ☺ *wingo also mentions "zooko's triangle" <wingo>i.e. names can be two of unique, memorable, decentralized <wingo>though the srfi process manages to only pick one :) <davexunit>I took a technical writing class in college, but the lessons learned haven't stayed in my brain. <paroneayea>I don't think tutorials need "technical writing" training <paroneayea>but some of the best tutorials are engaging in that they mix technical information with a casual style <ArneBab>paroneayea: yes - the better I get at writing, the more I’m in awe of the people who are really good at it <paroneayea>and actually trying to take a technical writing approach can make this boring <paroneayea>I'm not going to see where but I've seen this in conflict in a project I've been in before <paroneayea>and I learn, for tutorials, in the friendly engaging style. <paroneayea>the whole point of the thing is to get people excited and feel like they're enjoying picking things up <paroneayea>a good tutorial should try to ease things so as to not trigger "imposter syndrome overflow" <ArneBab>and it needs to be solid enough that core developers feel confident in referencing it. <davexunit>ideally, this tutorial would be on the guile website <davexunit>resolving whatever issues the maintainers have with it <b4283>ArneBab: great to know there's py2guile that you mentioned it <ArneBab>b4283: I finished polishing the first 50 pages (pending review), but I still have ~40 to go to get it into a shape where I am happy with it. <ArneBab>and I have a full autotools toolchain in place for generating the “object files” <ArneBab>from emacs org-mode to PDF+epub+mobi+source_tarball