IRC channel logs

2015-06-09.log

back to list of logs

<davexunit>hmm, can't get guile-ssh to work
<ijp>hmm, I see. I was mishandling $callk for the "label not in scope" case
<ijp>tomorrow, er, today, I should be able to get case-lambda working, but I'm done for today
<davexunit>how do I pipe input to a guile process to evaluate?
*davexunit tries to pipe input guile-ssh channel to be read by another program
<davexunit>blah, word salad.
<davexunit>trying to pipe input to a shell command run on a remote machine with guile-ssh
***petercom1and is now known as petercommand
<artyom-poptsov>sneek: later tell davexunit Hi. Could you please give me an example of the code that is using Guile-SSH?
<sneek>Okay.
<artyom-poptsov>sneek: botsnack
<sneek>:)
<artyom-poptsov>sneek: later tell davexunit Ah, it seems that you're trying to use REPL through a Guile-SSH channel. Take a look on 'wip-distributed-forms' branch in the Guile-SSH repository. Here's an example of what is already possible to do: https://gist.github.com/artyom-poptsov/62d9c0135a987d47eae8 (though the code is not stable yet)
***michel_mno_afk is now known as michel_mno
<amz3>I fiddling with bytevectors (again!) and I have this strange error:
<amz3>scheme@(guile-user) [1]> (bytevector-u64-native-ref #u64(40429728 140220) 1)
<amz3>$6 = 13546827679130609896
<amz3>s/error/output
<amz3>refering the first element works
<amz3>scheme@(guile-user) [1]> (bytevector-u64-native-ref #u64(40429728 140220) 0)
<amz3>$7 = 40429728
<lloda>bytevectors are indexed by the byte, so
<lloda>scheme@(guile-user)> (bytevector-s64-native-ref #s64(40429728 140220) 8)
<lloda>$1 = 140220
<lloda>
<lloda>use array-ref if you want to deal with typed data
<amz3>thx, that it
<amz3>I can use array-ref with bytevectors?
<amz3>looks like yes
<amz3>I really should read the manual for real
<amz3>I'm working with dynamic ffi
<amz3>I'm trying to retrieve a function pointer located in structure
<amz3>and it works
<amz3>yes!
<amz3>done :)
<amz3>I need to write a nice API to do that because right now, my code is... complicated.
<amz3>somewhat
<amz3>there is a lib for that I think? what's its name already?
<paroneayea>hello, *!
<davexunit>hey paroneayea
<sneek>davexunit, you have 1 message.
<sneek>davexunit, artyom-poptsov says: Hi. Could you please give me an example of the code that is using Guile-SSH?
<davexunit>artyom-poptsov: hey there! I'm trying to figure out how to pipe input from my local host to a remote process.
<davexunit>I managed to get a successful connection, execute "uname", and read the output
<davexunit>just like in the example in the manual
<davexunit>but now I want to pipe input into the remote process for processing
<artyom-poptsov>Probably you might find it helpful -- take a look on 'wip-distributed-forms' branch in the Guile-SSH repository. Here's an example of what is already possible to do: https://gist.github.com/artyom-poptsov/62d9c0135a987d47eae8 (though the code is not stable yet)
<davexunit>artyom-poptsov: what is this code doing?
<davexunit>and does this mean that the released version of guile-ssh can't do what I would like?
<artyom-poptsov>Well, it connects to 3 remote REPLs and evaluating some expressions.
<davexunit>oh
<davexunit>well, I'll stop this project then.
<civodul>artyom-poptsov: this is wonderful!
<davexunit>you already have it covered.
<artyom-poptsov>Probably.
<davexunit>yeah
<davexunit>moving on to something else now.
<artyom-poptsov>Also there is an implementation of SSH port forwarding on the master branch, In fact, I'm using SSH tunnels to connect to REPLs.
<davexunit>very cool
<artyom-poptsov>Thanks.
<civodul>there's a whole team of people doing exciting stuff in various areas!
<artyom-poptsov>civodul: By the way, there's now 'call-with-ssh-forward' in (ssh tunnel) on the master that makes it possble to use Guile-RPC upon SSH.
<civodul>woow, neat!
<civodul>sounds like it's about time to revive that wip-guile-ssh branch in Guix
<davexunit>I look forward to being able to use the guix APIs remotely
<davexunit>I could do things like see which version of a package I'm using across all of my systems.
<davexunit>I wonder if this would also be useful for implementing a video game client/server with sly.
<dsmith-work>Tuesday Greetings, Guilers
<ArneBab_>is there an existing procedure for applying a function to each combination of elements from two (or several) lists?
<ijp>mapping over a cross product? no.
<ArneBab_>damn… well, can’t be too hard to write.
<ijp>I have a list comprehension macro if you'd prefer
<ijp> http://shift-reset.com/blog/2013/1/20/Deriving%20Optimal%20List%20Comprehensions/ has two versions
<ArneBab_>ijp: it sounds pretty tongue in cheek to cite books from 1985 and 1987 for implementing “modern features” ☺
<ijp>erlang does
<ijp>the standard ref for compiling pattern matching is from 85 too
<ArneBab_>it’s strange that it took so long for that to spread widely…
<mark_weaver>ArneBab_: SRFI-42 (Eager Comprehensions) is well suited for that, and it is included in Guile.
*mark_weaver goes afk
<ijp>ArneBab_: well, take mapreduce. basically all the ideas in that have been around since the 80s
<ArneBab_>mark_weaver: ah, yes. thanks!
<ijp>I could give a talk called "phil wadler invented mapreduce"
<ArneBab_>
<amz3>the reference paper in multi-version concurrency control is from the '80s.
<ijp>ideas generally take time to spread
<amz3>not just spread, but also improve upon those ideas. More recent papers about the subject are more specific. Papers that explain the /current/ way do to it are difficult to find
<amz3>I don't have access to any private library so maybe they are other formulas for MVCC
<amz3>private libraries are a joke, last year France payed money to be able to have access to its own papers
<ArneBab_>:(
<ijp>okay, case-lambda has compiled
<ArneBab_>yay!
<ArneBab_>ijp: do you already work with cps2 from wingo?
<ijp>I'm still using cps rather than cps2, but I think I'm going to switch now that I have case-lambda working
<ijp>the cps2 representation may fix an issue I had yesterday, but I'll need to rewrite the inlining code I had
<paroneayea>ijp: btw <ijp> mark_weaver: not really, I just don't see much use for gdbm in new software
<paroneayea>I've been looking into database options for guile, there aren't many well developed... for my purposes, gdbm seemed a decent prototyping tool
<paroneayea>but what would you recommend? :)
<ArneBab_>ijp: nice!
<ijp>I usually use guile-sqlite
<ArneBab_>ijp: what is your planned deliverable?
<ArneBab_>ijp: do you have a set of guile programs which should then run in the browser?
<ijp> http://shift-reset.com/pastes/caselambda.html
<ArneBab_>that actually does not look that bad (as code)
<ijp>once you get rid of some of those { foo; } blocks it's pretty okay
<ijp>ArneBab_: I've been writing a bunch of small test programs
<ArneBab_>something which could be put on the guile website? (maybe with a button to execute it)
***michel_mno is now known as michel_mno_afk
<ijp>so, once I do prompts, I *should* be able to compile boot-9