IRC channel logs
2016-08-01.log
back to list of logs
<daviid>cmhobbs: anyway, it is not normal, if you successfully compiled installed guile-gnome, that the (gnome-2) module is not present in (%global-site-dir) <daviid>cmhobbs: installing guile-gnome is a piece of cake, imo, not a mess :) <daviid>going afk for a bit, ping me if you still face problems <cmhobbs>davexunit: guile-gtk was the mess. guile-gnome was pretty straightforward (via the readme, anyway). i'll try from the site instructions <djcb>i'd like my c program to start the guile-shell (that part works), but also with a bit of guile run before the user gets to the repl <djcb>is there some nicer(?) way than manipulating the argv passed to scm_boot_guile? <Sleep_Walker>can I set something so guile will silently update existing *.go file when it exists already but is older than *.scm source? :) <random-nick>if you mean for autocompilation, guile already checks for old cache entries <ArneBab_>wingo: I get compile errors with 2.1.3: ;;; ERROR: Throw to key `match-error' with args `("match" "no matching pattern" #<cps (kargs () () (continue 1829 (prompt #t 3882 1827)))>)'. <nalaginrut>ArneBab_: wingo I can get similar exception with (while #t (continue)), it's fine in 2.0 <nalaginrut>this bug prevent me to implement 'continue' in for loop as extension syntax of guile-lua <Sleep_Walker>random-nick: yes, I was asking, if it can check silently :) <random-nick>Sleep_Walker: it does check but only in the autocompilation cache <random-nick>Sleep_Walker: if it's older than the source it recompiles <brendyn>When is guile scheduled to take over the world? <davexunit>ruste: I see that you're on the HN front page. congrats! <ruste>davexunit: Thanks! I think I've got another project coming along that may do well too! <brendyn>I got some good practice with Emacs today. Is Guile with Emacs expected to succeed one day or is it to overwhelming of a project/ <wingo>i think it will succeed but it's a bit contingent at this point <brendyn>wingo: Are you someone that does everything in Emacs? <ruste>wingo: You're doing a fine job of that. Your work brought me here! <ruste>Oh, thought we were talking about guile. blah, emacs. <brendyn>What does success look like for guile <brendyn>Does wingo intend to pull a Racket and deviate from RnRS? <brendyn>I saw you were in disagreement about some R7RS things I didn't understand. <wingo>i think success looks like growth :) growth in user base and growth of the language to incorporate the strengths of ML, erlang, racket, clojure, etc <wingo>regarding rnrs there is for better or for worse no such thing; the revisions relate to each other but do not describe the same language <brendyn>I'm trying to learn but it's so painful to figure anything out. So many basic things there are command-line tools for that I can't figure out in scheme. <ruste>It does. To be honest, I tried and failed to get into scheme a few times before it stuck. <ruste>I still learn new things ever day. <wingo>guile will probably not deviate from r5rs. probably with r6rs we will remain mostly compatible and actually ever-more compatible <davexunit>guile has my become my go-to language for any problem when I can choose the language the solution is written in <wingo>but probably we also add a --r6rs flag <wingo>but we will probably not implement r7rs-small by default unless the --r7rs flag is passed <ruste>wingo: That sounds similar to what racket is doing with it's language features. <ruste>Where you just put the language you'll be using at the top of the file. <wingo>ruste: yeah. i tried to float the idea of #lang in guile a couple years ago but it didn't stick; maybe it could work now ;) <wingo>i really like the #lang mechanism <ruste>I kind of like that, especially if more languages are going to be implemented on top of the guile vm. <brendyn>I don't really understand the difference between Racket & Guile philosophy-wise <wingo>brendyn: me neither :) we are in the same space in many ways. <brendyn>It seems that everyone writes their own Scheme implementation <brendyn>I was looking for a Scheme->Javascript the other day and found about 30 implementations, all from 2013 or before <wingo>racket isn't a scheme any more, it's more of a programming language programming language -- which i think is a great aspiration for guile too <wingo>in some ways they have better support for embedding programming languages though. in some ways guile does things differently and perhaps better? dunno <wingo>anyway, better to see racket and guile as siblings that are less in competition with each other than the world of non-schemey-people <wingo>in some alternate universe, rms blessed mzscheme instead of scm :P <brendyn>Sure, it's just as a greedy customer, I'd like everyone working together on a common project than fragmented. <wingo>dunno. i have never written any racket on purpose. i am going to soon tho just to see how it is <wingo>i read a lot of their code and papers of course :) <wingo>davexunit: works for clojure tho ;) <dsmith-work>ijp: About lua. ISTR something about it needing a peg parser? <davexunit>I dunno, I just like Guile. Racket is cool, too, but I'll stick with Guile. <davexunit>there are some significant differences between the two in philosophy <brendyn>Any recommendations for learning more guile? My issue is I never have personal coding projects to work on <davexunit>I believe someone in the Racket world once said "the top-level is dead" <davexunit>alluding to Racket being more in the "static" camp than Guile <davexunit>which I think leads to differences in how a Racket REPL works vs. a Guile REPL <brendyn>Or my ideas are too difficult. I'd like to learn how to write some kind of learning algorithm to parse Chinese into words, and then map them onto English words/phrases to make a word-for-word/phrase kind of translator <ruste>I know when I was first starting out the biggest selling point for guile in my mind was that it just worked the way I expected it to. <brendyn>I don't have any expectations to begin with <ruste>The next biggest one was that it was minimal and small compared to racket. It didn't come with its own IDE. <ruste>brendyn: I'm talking more about being able to run things at the command line like guile stuff.scm <ruste>And having a directory that it looks for modules in. <ruste>I had a heck of a time trying to get common lisp to work the way I expected. <brendyn>I thought it was quite bizarre getting guile scripts working <ruste>brendyn: To each his own. :) <brendyn>Having to do #!/usr/bin/guile \\ --no-auto-compile -e main -s !# <ruste>brendyn: If you're looking for projects to work on you should look at project euler to learn or maybe adding library bindings for guile to common libraries. <ruste>brendyn: For linking to libraries? <ruste>davexunit has done some good ones. <ruste>Another major selling point for me on guile. The FFI is really really easy to use and you don't need to write any C. <wingo>did anyone have thoughts on kaction's declarative FFI module submitted to guile-devel recently? <ruste>wingo: Having only glanced at the documentation patch I like it. <wingo>i haven't looked at it seriously yet <ruste>The symbols for denoting types feel a bit common lispy though. <ruste>I'd just have regular symbols like 'long, 'string etc or I'd have #:string #:long <ruste>That would feel more guiley to me. <ruste>The :: for return type feels pretty natural to me though. <paroneayea>wingo: I'm back in guile network application hacking again <paroneayea>so I probably will look at the stuff you've done with the guile and async stuff later this week <wingo>i have been thinking about it too, there are some more features that guile needs... <wingo>like if you have a nonblocking socket-backed port that gets gc'd, guile shouldn't try to flush writes on it <wingo>and guile should somehow remove auxiliary information from the user-space scheduler when an fd is closed, either via an explicit close-port invocation or via gc <wingo>with epoll, closing an fd automatically removes it from the epoll set <wingo>but there is still an auxiliary structure listing what fibers are waiting on what port, i guess <ruste>Strangely specific quit message that. <quigonjinn>What function should I apply to a list, to evaluate to null? <quigonjinn>I have a list, with a random number of elements, and I need to get a list with none <dsmith-work>scheme@(guile-user) [1]> (apply (lambda () '()) the-list) <dsmith-work>scheme@(guile-user)> (apply (lambda x '()) the-list) <defanor>(looks like it does not, just asking to be sure) <jmd>defanor: FYI there is G-Golf - But it is rather immature at the moment. <galex-713>ah ok I thought they said guile-gtk like the gtk module from guile-gnome <defanor>mark_weaver: apparently that's what i need, then. thanks <paroneayea>wingo: you were the one who wrote most of the current web modules' design right? I've always been curious on the rationale for separating "request" and "request-body" as two separate objects/arguments being passed around <ruste>wingo: I'm also interested in the web modules. How would one go about implementing https support for them? You could pretty easily link to an outside library, but that would add a dependency for guile. The only way I can think to do it is to write a separate package with bindings to ssl and point users to that. It seem useful enough that it should come with the web modules though...