IRC channel logs

2017-12-01.log

back to list of logs

<daviid`>sneek: later tell mistnim actually, I recommend you to keep guix and remove the guile version you have on you debian, then try again ... be sure to purge guile, not just uninstall it: 'aptitude purge guile'
<sneek>Okay.
<daviid`> sneek: later tell mistnim the guix approach is alot safer i the long run, and worth spend some time to make it work now ... also becuse the team is working on a new release, and that will hold the latest guile stable-2.2, which will boost your guile-cv experience by a couple of order of magnitudes
<sneek>Will do.
<daviid`>wingo: it would really be cool if you could look at and update/integrate lloda patch so raised exceptions do not try to print very long (to huge) lists, arrays, and srfi srfi-4 bytevectors...
<daviid`>wingo: and then to have a parameter, %use-truncated-print or something like that, so users can ask guile to use it, for both the repl and raised exacpetions, wether together or separately... if these too could be in the next release, that would be awesome!
<daviid`>till this happen, guile-cv is literally unusable (refering to users, not myself, lloda and other advanced users and/or developers ...)
<daviid`>wingo: here is lloda patch I'm talking about: http://git.savannah.gnu.org/cgit/guile.git/commit/?h=wip-exception-truncate&id=aa731e0c36650ddd8acb193b1dd23cd9a0fc15e4
<mwette>wingo: +1 to not printing long bytevectors
<dustyweb>hi
<dustyweb>is there any way to define an object type that is not itself a procedure, but which can be called as a procedure?
<dustyweb>either in GOOPS or srfi-9 or really anything
<dustyweb>I thought there was but now I can't recall it
<dustyweb>something like python's __call__ special method
<davexunit>dustyweb: yes there is something
<davexunit>I haven't used it though...
<davexunit>the manual has something to say about it somewhere
<dustyweb>davexunit: there's kind of the inverse I know of, with procedure properties
<dustyweb>where a procedure can have properties... and I guess I could construct it from there, but I'd rather do the reverse
<dustyweb>have a structure which itself can be a procedure
<davexunit>goops uses this feature somehow
<dustyweb>oh really?
<davexunit>yeah
<davexunit>accessors
<dustyweb>davexunit: for which thing... generics?
<dustyweb>oh
<dustyweb>accessors
<davexunit>also that
<dustyweb>time to look at goops.scm
<dustyweb>oh yeah
<dustyweb>ok there's an applicable objects thing in here...
<dustyweb>ACTION looks more
<davexunit>yeah
<dustyweb>oh
<dustyweb>vtable-flag-applicable-vtable
<dustyweb>weird!
<davexunit>I feel like there is something else
<davexunit>some easier interface to this
<davexunit>but I'm having a hard time hunting it down
<dustyweb>maybe I should email the list
<dustyweb>seems like that's on the right track though
<davexunit>yeah on the right track
<dustyweb>oh huh
<dustyweb>I figured out how to do it in GOOPS
<dustyweb>it's mildly gnarly
<dustyweb> http://dpaste.com/10J3TPM
<davexunit>I was about to mention <applicable-struct>
<davexunit>that's what I was thinking of
<davexunit>looks like there just isn't a nice high-level interface fo rit
<davexunit>for it*
<dustyweb>hm ok! At least it's something :)
<ftknox>Anybody have a simple example of how to use gnutls-guile to make HTTPS requests? I read at https://www.gnu.org/software/guile/manual/html_node/Web-Client.html#Web-Client that this was the proper way to do HTTPS requests, but the link is broken.
<dustyweb>davexunit: thanks for the help :)
<dustyweb>I'm glad GOOPS could give me something to work with
<str1ngs>ftknox: http-get should be a goods starting point. is that link still broken for you?
<ftknox>str1ngs: So I can make non TLS/SSL requests just fine, but the API I want to interact with is only available over an HTTPS connection
<ftknox>the link that is broken is https://www.gnu.org/software/guile/manual/gnutls-guile/Guile-Preparations.html#Guile-Preparations
<str1ngs>it should inherently use gnu tls if https is requested. If I'm reading this right
<ftknox>hmm. Let me try again, maybe I'm just doing something dumb
<str1ngs>I think guile-tls is only needed if guile is not built with tls support. I could be reading that wrong though
<str1ngs>hmmm or maybe not, I guess it might use ffi
<str1ngs>ftknox: does your distro or OS provide a gnutls-guile package?
<ftknox>str1ngs: I'm using Debian Jessie. I'll check the repos
<str1ngs>debian generally has good guile package support IIRC
<ftknox>str1ngs: Yeah, there is a guile-gnutls package that I have already installed
<davexunit>dustyweb: np :)
<str1ngs>ftknox: do you get a tls exception?
<ftknox>str1ngs: no, I get a 400 response from the server of "You're speaking plain HTTP to an SSL-enabled server port.<br />\\n Instead use the HTTPS scheme to access this URL, please."
<str1ngs>and url is "https://foo.bar" ?
<ftknox>str1ngs: yep - three line POC at http://dpaste.com/2CHFCSV
<str1ngs>it should try to use guile tls if you pass https scheme
<ftknox>str1ngs: okay, I'll do some more digging. Maybe I've got something misconfigured somewhere
<str1ngs>what version of guile?
<str1ngs>I'm getting similar results as you with guile 2.0
<str1ngs>my distro does not provide 2.2 guile tls package. so hard to test for 2.2
<ftknox>str1ngs: I'm using guile 2.0.11
<str1ngs>that could be why. IIRC the docs you linked would be for 2.2
<ftknox>oh geez. Okay, I'll work on getting a newer guile on my machine
<ftknox>thanks for all your help strings!
<str1ngs>but guile 2.2 might have tls support built in
<str1ngs>does this link work for you https://gnutls.org/manual/gnutls-guile.html#Guile-Preparations
<ftknox>str1ngs: yes. I can see that link, and I get meaningful output from running (gnutls-version)
<str1ngs> https://www.gnu.org/software/guile/docs/docs-2.0/guile-ref/Web-Client.html#Web-Client
<str1ngs>does not have the same documentation
<str1ngs>I suspect, you'll want to use guile 2.2 for https scheme support
<ftknox>str1ngs: correct. Thanks for that! Happy hacking!
<ftknox>now I really need my kids to go to bed so I can monkey with this :)
<str1ngs>I'm not 100% sure though. I may need to build guile tls manually to test this.
<ftknox>str1ngs: let me try out guile 2.2 and see if that works, and I'll let you know what I find
<str1ngs>where are the source package for gnutls-guile
<str1ngs>or is it part of gnutls
<str1ngs>yes this is confusing.
<str1ngs>I think gnutls guile is configured through gnutls
<str1ngs>hmmpf gnutls seems to only look for guile-snarf and guile-config. does not find guile-snarf2.2
<wingo>moin
<wingo>ACTION going to try to make a guile release today
<civodul>hello wingo!
<civodul>\\o/
<wingo>morning civodul :)
<wingo>did you get a chance to see if the recent changes to guile improved guix pull time?
<civodul>no, not yet
<civodul>i'll give it a try
<wingo>i measure a 100% speedup at -O1 for that generated test file
<civodul>BTW note that python.scm has been shrunk significantly recently
<wingo>that's probably a good thing regardless. i am testing tho on that generated allocate-struct / struct-set! case you had tho
<civodul>ah, good
<wingo>civodul: i am thinking of punting on the gnulib update, wdyt
<civodul>yeah it's safer to leave it for later i guess
<civodul>and we haven't seen any issue with the current snapshot
<civodul>on my emit-bytecode bench (which compiles the big CPS), i get 22s instead of 54s
<wingo>that's better
<wingo>is that with -O1 or default options?
<civodul>and 1.0G of heap instead of 1.4G
<civodul>that's with %lightweight-optimizations as in (guix build compile), which corresponds to -O1 AIUI
<wingo>ACTION nod
<civodul>that is, only peval is enabled
<civodul>which doesn't matter anyway because i'm just looking at emit-bytecode :-)
<wingo>ah, heh right
<wingo>hmm, that means you miss out on the cps conversion improvments, no?
<wingo>or does your test do cps conversion inside the benchmark
<civodul>probably, so i guess i'm only seeing the slot allocation improvements?
<wingo>jsut wondering if you were reading in cps from disk, something you transformed before
<civodul>the test only times emit-bytecode
<civodul>lemme try
<wingo>if the cps is newly transformed then you are also seeing the benefits there; there should be fewer conts, fewer terms, etc
<wingo>that's the real benefit of the cps conversion improvements: the result is a smaller term than before.
<civodul>oh, ok
<civodul>so yeah, this is not a representative bench
<wingo>you are reading in some pre-transformed cps from disk?
<civodul>yes
<wingo>ah
<wingo>good
<wingo>curious to see improvements with a newly transformed file :)
<civodul>i'm trying "guild compile -O1 python.scm"
<wingo>now that python.scm is not as long as it was, it's a less good benchmark, but yeah
<wingo>anyway closer to the result we want :)
<wingo>note that i just pushed one more incremental improvement an hour ago or so
<wingo>should shave off another 5-10% depending on the file
<civodul>that goes from 43s to 17s, which is nice :-)
<wingo>it is a good improvement, even if not yet nice :)
<civodul>hehe
<civodul>i pulled minutes ago so i should have the latest and greatest
<wingo>great
<wingo>well, maybe this will stave off angry guix users for a while
<wingo>and developers ;)
<civodul>:-)
<wingo>any idea about memory for the python.scm compilation? i guess those numbers are harder to get
<civodul>yes, that's what i was trying to get
<civodul>maxresident reported by time(1) goes from 700M to 326M, and that seems to match what i see in 'top'
<civodul>(again "guild compile -O1 python.scm")
<wingo>that's good too
<civodul>yep
<civodul>presumably that's largely because the CPS graph has fewer nodes, right?
<wingo>yes
<civodul>nice
<wingo>also because of not computing SCCs in slot allocation for the big wrapper function
<wingo>but mostly because of reduced graph size
<civodul>yes
<civodul>that's the "Avoid generating arity-adapting continuations if not needed" commit, right?
<civodul>which reduces the graph size
<wingo>civodul: that one and the following one, yes
<civodul>oh i was missing the following one
<civodul>ok, i'll see after lunch :-)
<wingo>:-)
<wingo>ACTION builds tarball
<wingo>distcheck is a lot less painful given prebuilt :P
<wingo>yarrrrrr
<wingo>guile-2.2.3/build-aux/ltmain.sh:#!/gnu/store/58nhnjff2yahyxa1yjh2m8k93fb955z5-bash-4.4.12/bin/sh
<wingo>error: store file names embedded in the distribution
<wingo>happened again, wtf
<wingo>how is still a thing in guix???
<wingo>=============================================
<wingo>guile-2.2.3 archives ready for distribution:
<wingo>guile-2.2.3.tar.gz
<wingo>guile-2.2.3.tar.lz
<wingo>guile-2.2.3.tar.xz
<wingo>=============================================
<wingo>what i don't know is if savannah has my new gpg key
<stis>sneek where is buggs
<stis>neek botsnack
<stis>sneek botsnack
<sneek>:)
<stis>sneek: where is bugs
<stis>hey wingo: I found a compiler bug I think for 2.2. How do I report it?
<stis>GNU Guile 2.2.2.5-96c9
<stis>neek: buggs
<stis>sneek: buggs
<stis>sneek: where is bugs
<stis>found it :)
<wingo>stis: mail to bug-guile@gnu.org
<stis>done, a bug that might interest you as it is for 2.2 and is a seams to be a compiler bug if not already fixed
<civodul>wingo: woohoo!
<wingo>civodul: just updated my gpg key on savannah, am trying to upload again
<wingo>otherwise the web site is updated, i just need to send a mail to the list once the files are there
<civodul>wingo: the FTP upload procedure is disconnected from Savannah
<civodul>info "(maintain) Automated Upload Registration"
<wingo>i thought the gpg keys on savannah were used to verify the uploads?
<civodul>it seems not
<civodul>"Should you later have to update your GPG key, you'll have to re-submit it to both Savannah and <ftp-upload@gnu.org>, as these systems are not connected."
<civodul>
<wingo>ah
<civodul>hopefully that'll be quick as it's daytime now in Boston
<wingo>humm, no response yet :P
***ftknox_ is now known as ftknox
<civodul>bah, that's frustrating
<wingo>i can put the tarball somewhere if you need to get guix builds going
<wingo> https://wingolog.org/priv/guile-2.2.3.tar.xz and https://wingolog.org/priv/guile-2.2.3.tar.xz.sig
<wingo>i could of course upload using a signature from the revoked key but that would not be good :)
<civodul>indeed :-)
<civodul>we can at least upgrade in core-updates
<civodul>for master we have to check
<civodul>well we can at least provide the new version in addition to 2.2.2, and update entirely later
<civodul>ACTION builds on master
<wingo>i am in the process of uploading .gz and .lz files to that same place, but i guess guix will just take the .xz
<civodul>yes
<wingo>bah still no response
<civodul>it's built! \\o/
<civodul>phase `build' succeeded after 3640.8 seconds
<civodul>that's ~1 hours, whereas it used to be ~3 hours on the same laptop i think
<civodul>at least according to a comment i left in (gnu packages guile) :-)
<wingo>civodul: that sounds promising :)
<civodul>yup
<civodul>ACTION feels good today :-)
<wingo>hahaha :)
<wingo>oh good the sysadmins are taking care of the key issue
<civodul>neat
<jamesrichardson>Hello, I would like to use sqlite from guile. I see there is a guile-sqlite3 and a guile-dbd-sqlite. Is one or the other considered more stable/feature complete?
<jamesrichardson>Both are in guix, neither are in Debian.
<civodul>jamesrichardson: i'd suggest guile-sqlite3, which has received more attention i think
<jamesrichardson>Thanks. I'll start with that one.
<wingo>uploading tarball, woo
<wingo>woo it's happening
<civodul>yay!
<wingo>release all done!
<civodul>wingo: thanks & congrats! :-)
<wingo>it is a relief :)
<civodul> https://www.gnu.org/software/guile/news/gnu-guile-223-released.html \\o/
<dsmith-work>Happy Friday, Guilers!!
<wigust_>\\o/ https://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob_plain;f=NEWS;hb=edd97279350cf0da7f2cf662a4c1dc50cbe079a1
***u_l-lap is now known as unknown_lamer
<civodul>there are two uses of %fresh-auto-compile in Guix, and both were lucky that fresh-auto-compilation didn't happen
<bavier>how about that patch to update guile's "download" page?
<ftknox>str1ngs: So I moved to Debian Sid and guile 2.2, then rebuilt gnutls and now I get a new error from the POC that I shared last night
<ftknox>str1ngs: nevermind, I had a dumb typo. tl;dr: moving to guile 2.2 fixed my TLS issue!!
<cmaloney> https://www.gnu.org/software/guile/download/ <- May the site be updated? :)
<str1ngs>ftknox: that's good to know. I had an issue manually building gnutls with guile 2.2
<str1ngs>autotool find /bin/guile which is 2.0 it won't find guile-snarf2.2 for w/e reason.
<ftknox>str1ngs: odd.
<ftknox>now I just need to figure out how to add an Authorization header to my request and I'll be all set
<str1ngs>I'll need to revisit this guile-snarf issue at some point. Since I have a personal project that has similar issues discovering what guile-snarf to use.
<janneke>yay, guile-2.2.3 \\o/
<ftknox>got it working!! woo hoo!!
<str1ngs>nice
<manumanumanu>Neat! Any release notes? C