IRC channel logs

2019-10-14.log

back to list of logs

<daviid>hello, i 'm confused, is it possible to install and use guile 2.2 on win64?
<daviid>if yes, anyone would kindly know and share a mini 'howto'? or point to an existing oe maybe
<nisstyre>daviid: I don't use windows but I expect with the right toolchain you could compile and run it with the Windows Subsystem for Linux
<nisstyre>or cygwin
<nisstyre>you might have to download some shared libraries first
<daviid>nisstyre: i really need a step by step howto
<nisstyre>I don't have one, sorry
<nisstyre>if I used windows I might be able to write one
<nisstyre>you could try compiling it and I'm sure this channel can help with specific problems like "how do I link to this library" or whatever
<daviid>right, i hope someone can help, i have zero knowledge
<nisstyre>maybe look up generic instructions for how to compile stuff on WSL
<nisstyre>then try following the build instructions for Guile 2.2
<daviid>nisstyre: i ned a step by step for guile 2.2, that includes every step ... dowload this, type this, download that, type that ... done. open a terminal and type guile
<nisstyre>fair enough
<nisstyre>what about docker?
<nisstyre>there might be an easier way to do it with that
<nisstyre>I heard docker runs ok on windows
<nisstyre>or you could boot up a virtual machine quite easily
<nisstyre>then you'd just `apt-get install guile` or whatever in ubuntu
<daviid>nisstyre: the person wh asked wanted to run guile in w64, not a vm
<nisstyre>daviid: this couldn't be easier IMO https://hub.docker.com/r/nacyot/scheme-guile/
<daviid>ok let me check
<nisstyre>they would have to get docker for windows installed
<nisstyre>but there are easy instructions for that I'm sure
<nisstyre>I'm testing it right now
<daviid>ah, guile 2.0.9
<nisstyre>yeah but you should be able to fix that
<nisstyre>in the Dockerfile, you'd just change the 4th line https://hub.docker.com/r/nacyot/scheme-guile/dockerfile
<nisstyre>I'll try it
<daviid>nisstyre: wait, it does not sound that easy, seems it runs an ubutu in a 'closed' environmnent ... i am looking a stp by step to istall dependencies than compile guil 2.2 ... on w64
<nisstyre>daviid: yes that's right, docker can't run without some sort of compatibility layer, but it will let you run guile programs at least
<nisstyre>and you can mount volumes and stuff to share data from windows
<nisstyre>it's not as bad as a VM
<daviid>spk121: i see you wrote a series of patches ... wip-mingw-guile-2.2 is this for mingw or mingw64? would you hve such a 'howto' maybe?
<daviid>nisstyre: that is not what i am looking for, but tx
<nisstyre>fair enough
<daviid>i really hjope those who (have to) run guile on w64 can help
<spk121>daviid: those patches allowed me to build a non-threaded 32-bit Guile on Windows 10 using mingw64/msys2. It was for a game jam I did
<daviid>spk121: so if a user installs mingw64/msys2 does it has everything it needs, they can git clone that branch and run the kame danse? sorry, i have no idea about what needs to be installed 'out of mingw64 msys2' before to try to compile
<daviid>that 32bit non-threaded would be a good start
<spk121>Getting MinGW patches into core Guile has historically been difficult. Mark W used to give Eli Z endless notes on his MinGW patches, so I never even tried to push these MinGW patches into core Guile. Though most of my Cygwin patches are in.
<spk121>daviid: well, it "works for me", so, probably. "./configure --without-threads" as I recall
<daviid>i am very confused about mingw, mingw64, cygwin ... than what to install using those ... ?
<daviid>so, a user would install this http://mingw-w64.org/doku.php#tools
<spk121>definitely use mingw-w64.org over mingw, because mingw-w64 has a PacMan package manager to install prerequisites
<spk121>But to be honest, if you've never done this before and you have no background w/MinGW it is going to be a bit complicated
<daviid>spk121: it's not even for me, and i have no access to a w64 machine
<daviid>i think i'll have to rewrite my stuff using kawa
<spk121>daviid: I promised Vladimir Zhbanov that I'd make a new patches for Guile MinGW this week, so when I do, I'll send the instructions to guile-user
<daviid>spk121: ok, from tha above link, what does a user needs to install?
<daviid>cygwin, msys2 o both?
<daviid> http://mingw-w64.org/doku.php/download/msys2 which points to github
<spk121>not cygwin. yes msys2 because you need that to run configure. Then using the package manager, all the usual: autotools gcc make libffi libtool bdwgc libunistring libgmp.
<spk121>I'm just going from memory right now, so I probably won't get it right.
<nisstyre>wow I didn't know mingw shipped pacman with it
<daviid>a guess a user installs this http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20190524.exe
<nisstyre>that's interesting, as someone who has been an Arch user for years
<daviid>spk121: then they would run 'pacman -S autotools' ... 'pacman -S git'
<spk121>daviid: that's how I remember it. It has been a year, so I'm sure I don't have the names of the packages right
<daviid>spk121: ok, tx a lot, if happen to have the complete list of pacman commands somewhere, ping me ... tx
<spk121>daviid: will do. I will send a complete set of instructions to guile-user for Vladimir this week, but, probably not today/tomorrow
<daviid>spk121: ok, many thanks for that!
*daviid secretly hopes one day we have a 64bits with threads running on w64 as well
<bsima>why does (map display '(1 2)) print a list of #(unspecified)
<janneke>daviid: fwiw, i have been using spk121's mingw branch in a guix cross build package
<amz3>bsima: because display return an unspecified value
<lloda>raise could be kill with optional argument or viceversa. Waste of a good name
<heisenberg-25>Hi, is there a library function that does something similar to boost::bind in C++?
<heisenberg-25> https://www.boost.org/doc/libs/1_66_0/libs/bind/doc/html/bind.html
<janneke>heisenberg-25: cut/cute from srfi-26?
<lloda>cut doesn't let you reorder args tho
<heisenberg-25>janneke: Thank you! this is what I was looking for
<lloda>it's funny b/c since C++ got lambdas I don't use bind anymore
<janneke>yeah, lambda would have done/does the job [in c/c++]
<heisenberg-25>lloda: is there a library func to reoder the args? or should I write a wrapper procedure on top of cut to do that?
<lloda>heisenberg-25: nothing standard I believe
<lloda>I think the whole point of cut is to avoid naming the arguments, so if you need to do it might as well just use lambda
*chrislck struggles to understand the meaning/benefit of pair-fold... anyone uses it productively?
<chrislck>cf simple fold
<wingo>i have never used pair-fold
<lloda>I copied this from somewhere
<lloda>(define (pair-map f lis)
<lloda> (reverse! (pair-fold (lambda (a b) (cons (f a) b)) '() lis)))
<lloda>I was using this to run over the segments of a polygon or something
<chrislck>yeah pair-fold seems weird
<lloda>I think it's only useful if you need to do something with the tails
<lloda>for what I did with it I could have used (fold f l (cdr l) etc)
<heisenberg-25>lloda: yeah makes sense.
<chrislck>any realworld example?
<dsmith-work>{appropriate time} Greetings, Guilers
<jcowan>IRC Time: It's morning when you start up in a channel, night when you leave, independent of either your local time or UTC.
<dsmith-work>jcowan: yep
<chrislck>daviid guile-2.2 can absolutely be compiled on windows... after all GnuCash includes it
<chrislck> https://github.com/gnucash/gnucash-on-windows/ may give some clues
<nly>hi
<nly>how can i reset the get-u8 count on a binary port?
<heisenberg-25>does (future proc) in (ice-9 futures) block or return immediate? Basically I want to start threads in a loop
***jao is now known as Guest82573
<nisstyre>does Guile not have immutable hash tables?
<nisstyre>or would I just use an alist