IRC channel logs

2019-09-25.log

back to list of logs

***jao is now known as Guest77378
***jao- is now known as jao
***siel_ is now known as siel
<lispmacs>i am curious if scheme could have "restarts" like common lisp, and if anybody liked that idea.
<jcowan>lispmacs: Yes.
<jcowan> https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/RestartsCowan.md
<jcowan>There's an implementation of an earlier version of this (Riastradh's)
<lispmacs>jcowan: is it possible to clone your repo without using bitbucket?
<lispmacs>without using bitbucket javascript, I mean?
<lispmacs>I tried some hg clone commands from the site documentation but don't seem to have correct permissions
<ecraven>lispmacs: mit scheme *does* have restarts
<ecraven>maybe some other Schemes do too
<lispmacs>ecraven: oh, interesting. Guile is the scheme for me right now, though I sometimes use Racket for some math experiments
<lispmacs>restarts seem like a good idea, though I haven't used them much before
<ecraven>on the repl, they are great
<ecraven>I haven't used them purely programmatically yet
<lispmacs>ecraven: as I understood it, the main thrust behind restarts was to build code that could survive any kinds of exceptions and keep going
<lispmacs>though, you'd have to write a lot of restart cases, I would think, which might get tedious
<lispmacs>anyway, thanks for the info, I'll have to play around with them now that I see they are availablew
<wleslie>ecraven: hg clone https://bitbucket.org/cowan/r7rs-wg1-infra
<rlb>What's the right way to exclude some "core" bindings from a module -- say I want a normal module, but without the (guile) definitions of catch and throw, or at least with them bound to other symbols?
***ng0_ is now known as ng0
<heisenberg-25>civodul: Using the test driver at guile-gcrypt repo gives the following error when running `make check`
<heisenberg-25>In procedure primitive-load-path: Unable to find file "tests/parser-tests.scm" in load path
<heisenberg-25>But there is file in the tests/ dir with the name parser-tests.scm
<jcowan>lispmacs: the site is supposed to be public, I'll try cloning it
<nly>hi
<nly>does anyone use skribilo for creating slides? maybe i can steal, err copy from some examples
<count3rmeasure>anyone here with experience wrestling with pkg-config?
***nckx is now known as bug_bot
***bug_bot is now known as nckx
<roptat>what can I use instead of a chain of (if ... (if ... ( if ...))) statements?
<chrislck>roptat: cond!
<roptat>ah!
<roptat>thanks :)
<chrislck>converting these nested ifs into cond in emacs is a guilty pleasure
<heisenberg-25>hi, what env variables can use to increase the heap size for guile?
<ilyaigpetrov>I don't get the difference between `list a b c` and `cons* a b c` -- could you help, please?
<nly>ilyaigpetrov: (cons* element element1 ... list)
<nly>so, (cons* 3 2 '(1)) -> (3 2 1)
<nly>(list element element1 ...)
<nly>so, (list 3 2 '(1)) -> (3 2 (1))
<nly>you will use cons* when you need to 'append' something to the front of a list.
<ilyaigpetrov>nly: thanks, it starts making sense
<wingo>civodul: weinholt: so, finally getting around to --r6rs. is this sufficient at this point?
<wingo>(define (install-r6rs!)
<wingo> (set! %load-extensions
<wingo> (cons ".guile.sls" (delete ".guile.sls" %load-extensions)))
<wingo> (read-enable 'r6rs-hex-escapes))
<wingo>then i make --r6rs call that function
<wingo>i could also make that put the user in some other environment, other than guile-user, but i think that might not be necessary, as r6rs top-level programs have to start by importing the bindings they use anyway
<wingo>i guess we need to add .sls as well
<civodul>wingo: sounds good to me
<civodul>i thought we had something like --r6rs actually :-)
<wingo>there's --use-srfis or something like that :)
*wingo remembers the GH API and chuckles :)
<wingo>done
<civodul>cool
<wingo>ecraven: i see you ran a new benchmark :) i also see it is without the new guile :)
<civodul>wingo wouldn't overlook such a thing ;-)
<wingo>:)
<wingo>so weinholt has an implementation of r7rs for guile, made out to the public domain in so far as that is possible. do we need assignment, civodul, or can it be ok to import as-is?
<wingo>we would be forking it of course (taking responsibility for it)
<civodul>neat!
<civodul>i think we need assignment
<civodul>well, we'd need to look it up
<wingo> https://gitlab.com/akkuscm/akku-r7rs/tree/master/scheme
<civodul>if it's public domain, maybe we don't, after all
<civodul>because that works in the US
<civodul>oh it's CC0 so it should definitely work
<civodul>without assignment, that is
<wingo>ok :)
<civodul>apparently i type faster than i think today :-)
<wingo>np :)
<wingo>so it will take more time than i have this evening but i think it would be nice to import the r7rs module definitions from akku into guile. mostly it's just re-exportinng things
<wingo>the module names in r7rs are a disjoint set from guile's own module names and the r7rs module names
<wingo>so, fine.
<wingo>probably we import weinholt's r7rs tests as well
<wingo>err
<wingo>i mean foof's i guess
<wingo>anyway copyrights on tests aren't a big issue
<wingo> https://gitlab.com/akkuscm/akku-r7rs/blob/master/tests/test-r7rs.scm