IRC channel logs
2015-11-06.log
back to list of logs
<solrize>guile 2.1.1 prints "copyright 1995-2014" banner instead of 2015 <solrize>wingo your estimate was spot on, that build took about 7 hours on quad core arm scaleway <solrize>so about 230% utilization, not that bad i guess <tennix>a quick question: if i use guile in my program, can i make my program MIT license <davexunit>though it's always good clarify which MIT license ;) <davexunit>people typically mean either the Expat or X11 license. <tennix>When creating a new repo on GitHub, there's an option to select a license to initialize the repo <davexunit>I recommend one of the flavors of the GPL, personally. <davexunit>ACTION almost has a working websocket server <davexunit>websocket handshake works, now to actually send/receive data <tennix>are you the creator of artanis framework? <amz3>I'm was wondering about your http server <amz3>because I need a server for my database <amz3>I mean I'm thinking about making a server infrastructure for guile-wiredtiger <amz3>nalaginrut: is you server prefork? <nalaginrut>amz3: if you just need a simple http server, I suggest you use guile inner server <nalaginrut>amz3: before Artanis 0.2, there's no difference ;-P <amz3>because I think I need prefork <nalaginrut>it's possible to write the plugin based on Artanis, of course it's 0.3+... <nalaginrut>amz3: you can do that yourself, just like send static file, or some exceptional checks <nalaginrut>amz3: the new server core is in wip-server-core branch, but I have no time for it at present <amz3>it's an optimisation that I though would be easy to get <amz3>I'll a closer look at guile web server <amz3>based on the descrription it's a prefork server <amz3>I mean it recycle threads at least <amz3>it doesn't use thread at all! <nalaginrut>amz3: it's green thread, so I feel so strange you mentioned prefork ;-D <amz3>i don't think it's green thread <amz3>you mean your implemenetation? <amz3>because there is no use of continuations <amz3>so how would green be implemented without call/cc ? <amz3>I'm not sure what the poll-set does in http/server.scm:http-read <nalaginrut>amz3: it use prompts, which is actually delimited continuations <csed>Is there a function in Guile that returns a random element from a list? Wrote one, but it'd probably be better if I used a built-in one. <civodul>csed: yes, this is the 1.8 documentation, things are different in 2.0 <csed>nalaginrut: The latter one is basically what I did. Cheers. <csed>civodul: Thanks, I'll take a look. <amz3>nalaginrut: i was reading guile server, not artanis server <nalaginrut>amz3: artanis server is guile server, before v0.2 <amz3>together we can write GNU google with artanis overnight <artyom-poptsov>amz3: I suppose we should name this search engine as "Gnoogle". ;-) <amz3>We should choose another goal, otherwise we can be accused of copying, which is silly but nonetheless... <nalaginrut>well, I may release it today, or tomorrow, just need to finish MVC in manual <amz3>what about earth software system, it has nothing to do with Goodle, right? <m0li>Guilers hello, I would like a suggestion please. I am beginner in Lisp, You recommend me read once SICP? <taylan>m0li: yeah SICP is a really great book <m0li>thanks you taylan!, im beginner no problem? <remi`bd>the first parts of the book are accessible <remi`bd>everything is detailed, explained, very pedagogically <turbopape>I didn't read it (yet) myself, but it may be too long. <turbopape>I would suggest going through the little schemer, much lighter. <m0li>remi`bd, thanks! go now to SICP <turbopape>SICP is more about algorithms (along with Lisp) <remi`bd>the first chapters of the SICP are really general <remi`bd>Scheme is heavily used, but only as a simple language to illustrate their message <m0li>thanks guys, and I start with SICP, thank you for your recommendations :) <mbuf>m0li, you might want to read HTDP as well <mbuf>m0li, and do the course on Systematic Program Design <amz3>it's not meant to be comprehensive, but instead get you started and hopefully get the schemey spirit along the way... <amz3>there is a follow up called "forward" <m0li>oh thanks guys are very nice. thank you very much for your help, I'm watching the tutorial amz3 :) <amz3>don't hesitate to ask questions <turbopape>Hi, I am interested in helping in Guile development, but I got lost in the git repo... Where I can find a good starting point to understand the code tree ? <davexunit>turbopape: the "libguile" directory contains the C code, the "module" directory contains the Scheme code. <davexunit>I recommend spending more time looking at Scheme code. <davexunit>the way to find stuff to help with is to use Guile for awhile. you will surely run into something and go "gee I wish there was a way to X" <turbopape>indeed, that's what I will surely do. I'll implement something than I'll wander through the code... <davexunit>like right now I'm trying to implement the websocket protocol, because no one else has done it yet. <remi`bd>davexunit: CL’s hunchentoot as implemented it from a while, in case you’re looking for another lisp implementation of websocks <davexunit>the spec is pretty easy to read and simple, so I'm just having a go without other implementations to reference. <davexunit>now I need to read/write frames and respond to ping control frames so I can get a web browser to hold a connection open to my server <amz3>davexunit: what are you using it for? <nilg>where to easily look for a function in Guile's core and standard libraries? <davexunit>and, at the Guile REPL, you can search through imported symbols via the ",apropos" meta-command <nilg>thanks amz3. Does that include all library functions? I'm looking for something called all or every, but can't find it... <davexunit>nilg: 'any' and 'every' are available in SRFI-1 <nilg>I've just found it, thanks! <lloda>,a name will show only info about imported names <lloda>however, if you use (use-modules (texinfo reflection)) <lloda>(help name) will give you information about name in modules not yet loaded <amz3>add (use-modules (texinfo reflection)) to ~/.guile file <amz3>it use textinfo as input like the name suggest ;) <davexunit>does it load every single module into memory and rip out the docstrings? <wingo>i guess it gets loaded modules that haven't been imported <lloda>it only works with the modules that come with Guile, so I think that information is part of the install <amz3>it use resolve-interface defined in boot-9 which rely on resolve-module <amz3>really I don't know, it's not defined per-se in reflection.scm as a (define (help name) ...) <lloda>it hooks into (help) through add-value-help-handler! & friends <amz3>add-name-help-handler! has the signature i'm interested in <amz3>I mean that it leads to a `define-macro help` that runs thing, but still can't find the answer <wingo>what are you looking for amz3 <amz3>I am looking for how the help command help find the documentation of procedures that are not imported yet <amz3>it seems like `help-doc` in ice-9/session.scm goes through all exported symbols <amz3>first time I see a recursive fold <wingo>the module folder will traverse the module tree <wingo>though they might not be imported <wingo>p sure it won't load things that haven't been loaded tho <amz3>so help-doc is really the interesting procedure though there is the help macro which is the entry point, which allows to query for documentation of objects you already imported <drdanmaku>wow, the new guile site is really good, great work :) <amz3>drdanmaku: I'm not happy, the robots are not big enough, also they don't speak globbish <ArneBab_>amz3: could you add “apply” to your tutorial? Using that was a pretty important step for me — for example realizing that (sum list) is just (apply '+ list). <ArneBab_>amz3: maybe after (cdr (list apples donuts chai)): “if you want to get the sum of a list, you can apply the function: (apply + (list apples donuts chai)) is equivalent to (+ apples donuts chai) <amz3>I was wondering how to do it <ArneBab_>amz3: note that my first example of apply was wrong (apply '+ …) ← wrong ' there <ArneBab_>lloda: that’s the error — good to see that you caught it! <davexunit>daviid is the person to ask about guile-gnome stuff, but he's not in the channel right now. <davexunit>so I'm afraid I can't tell, but contacting daviid via the guile-gnome mailing list or waiting for him to appear in the channel (as he does frequently) will get you some direction. <amz3>cosarara: if daviid doesn't show up, send message on the mailling list :) <daviid>cosarara: hello! you need to install gcc 4.9, guile-gnome won't compile using gcc 5.2 <cosarara>daviid: will it be hard to make it work with gcc 5.2? do you know what the incompatibility is? <daviid>cosarara: actually I don't know :) for the time beeing, you'll have to use gcc 4.9 <davexunit>ACTION got the first test case done for reading websocket frames over lunch <codemac>question - are there any walkthrough/guides, tools, starter repos, etc for starting a new guile project using guile, gnu autotools and gplv3? I'm just copy pasta-ing other people's repos and I feel I need to learn a bit more about what I'm doing. <davexunit>codemac: we don't have anything like that. it would be *really good* to have something to point to. <davexunit>I proposed a tool on the mailing list that would generate project boilerplate automatically <codemac>:) I'm literally using your haunt repo right now haha! <davexunit>I want to add a new subcommand to 'guild' called 'guild init' <davexunit>that would create a new project directory with the minimal autotools boilerplate to get started with. <davexunit>'guild compile' is what makefiles and such use to compile guild code <davexunit>and it's trivial to add new subcommands to it <mouldysammich>Yes, a project generation command for guild does sound useful. <rekado>cestdiego: guix discussions are usually next door at #guix. (I'm using GuixSD.) <cestdiego>so with the new Guile are we closer to Guile Emacs? <nalaginrut>well, it's morning, I need to sleep, I have other work to do today <nalaginrut>but the mail still doesn't exist in our mailing-list, seems I can't announce it on HN/reddit now