timotimo it appears that get_bigint gets a pointer-pointer sometimes and a single-pointer at other times from the get_boxed_ref fucntion 00:04
function*
i should do a comparison of the address against likely heap positions and if it seems to be a pointer-pointer, deallocate once more! 00:06
that's a totally sensible thing to do!
i think i fixed it now >_> 00:07
yeah, it works now 00:08
but i don't know why i had to do that
this is a foundation upon which i can start working with littlebigints 00:10
now i know why it was wrong 00:20
so there's something
japhb__ Knowing why it's wrong is a big thing! 01:10
timotimo :) 01:21
indeed it is
i fear i'll have to endure lots and lots and lots of pain while implementing little_big_int
japhb__ But just think of the upside! :-) 01:39
timotimo that's right 01:46
01:50 ggoebel1113 joined
timotimo i think we may already win a crapton of memory just by reducing the "how much data to allocate for a fresh mp_int" 01:51
down from 32 longs to ... 4 longs for example?
01:58 jnap joined
timotimo yeah, -DMP_LOW_MEM already makes a measurable difference to even -e "say 1" 02:06
not terribly big, but still measurable
nope, not actually measurable. 02:21
er, hold on
i built another one with LOW_MEM
diakopter timotimo: what are you doing awake :) 02:22
timotimo yeah, i'm going to bed right now.
gnite
diakopter o/////
03:17 tokuhirom joined
ingy hi diakopter 04:15
04:21 jnap joined 05:22 jnap joined 05:50 krunen joined 06:06 TimToady joined 06:23 jnap joined 06:39 PerlJam joined 06:40 lee__ joined 06:45 lue joined 06:46 woolfy joined 07:27 TimToady1 joined 07:59 FROGGS joined 08:24 jnap joined 09:25 jnap joined 10:26 jnap joined 10:41 FROGGS joined 11:01 diakopter joined 11:27 jnap joined 12:20 odc joined 12:23 JimmyZ joined 12:27 jnap joined
nwc10 I have a git submodules question, which will involve a *lot* of swearing soon. :-( 12:36
How come Confgure.pl keeps insisting on winding 3rdparty/libuv back to commit 3e054c36294f9d8fc197c9d1b715ea2db334f6bf (Sept 3rd)
which breaks the build
and contradicts the commit I can see in history which says that the correct commit is 666aa2f0683dc8b80954c01e5799d476e4068350 12:37
diakopter did you git submodule update to update it? or update it from within?
(I found it makes a difference :S) 12:38
nwc10 I tried from within 12:40
in which case, they seem to be a FUCKING STUPID thing.
OK, if I cherry-pick the commit which did the update (ee5a5bd1e4695bc96f9040f4582bc9f2499fe370) then it works 12:42
*but* I don't see that commit in the log for the directory
timotimo as far as i know, you cd to the submodule, checkout the commit you want, cd outwards, git add the submodule and git commit the result 12:45
and then it should DTRT
nwc10 no, somewhat confused (oops, I have 3 checkouts) but I do have to cherry-pick that commit 12:46
so there is something fucked up here
timotimo bleh. the task of setting up little_big_int is very daunting
it'll most probably be a big chunk of work and in the middle, nothing will work :(
nwc10 ah shit, I see. I have a cherry-picked commit locally that also unwinds that. Gah. 12:47
this stuff is painful
right, because if I check out a different branch, the submodules don't update, but are now different, and git add will suck them in 12:48
timotimo maybe we should switch over to subtree merges at some point :\ 12:49
nwc10 FUCK FUCK FUCK FUCK I can't unwind this with git rebase -i 12:55
even when I can see what I need to do
this is really blood stupid. 12:56
bloody. I can't type.
timotimo git rebase -i is nothing more than an automatic application of a series of git cherry-pick operations 12:58
plus it can squash commits into single commits
if you can conceive it, you can achieve it! 12:59
nwc10 yes, I did eventually work out which part of this was PEBKAC 13:02
but I still don't *like* the submodules 13:03
timotimo yeah, submodules should be amazing and simple and convenient in theory
but somehow they end up being super obnoxious
13:28 jnap joined
diakopter nwc10++ # persistence 13:32
13:33 dalek joined
tadzik everybody seems to hate submodules 13:42
moritz I mostly hate them because support for them in most git commands is lousy 13:56
tadzik I wonder if subtrees are old enough so we can start using them 14:02
they're supposed to be less painful
diakopter ingy made a subcommand that is supposed to be best of both worlds
I don't remember what its called
FROGGS T'Pol? 14:06
ohh no, that was a sub commander :o)
diakopter *snort 14:07
FROGGS sneeze* 14:08
14:18 jnap joined
masak tadzik: it always seemed to me that the 'git submodule' command is rather OK, but the essential complexity of submodules is quite horrible. 15:25
tadzik: basically, you start asking non-obvious questions of the form "how do submodules interact with feature X" for various values of X, and before you know it, sweat is breaking out on your forehead. 15:26
tadzik heh, yeah
masak backlogs and finds this to be the cause of nwc10's swearing 15:29
nwc10: I don't know if this helps, but ISTR that the submodule commit information is stored in two places: one is in the appropriate tree object, and one is in the .gitmodules file. 15:30
nwc10: but my memory is fuzzy, so don't take my word for it. then again, that may help.
timotimo the .gitmodules only stores where to clone the commit from 15:40
iirc
hoelzro FROGGS: did you finish impl'ing openpipe? 16:15
I ended up not bringing my laptop to FOSDEM, so I didn't get to work on it at all =(
FROGGS hoelzro: irclog.perlgeek.de/moarvm/2014-02-03#i_8226084 16:16
hoelzro: no worries :o) 16:17
hoelzro ah ha
damn, I was hoping to get my first feature into Moar =/
oh well
the best code is the code you don't have to write, right? =P
FROGGS so we can write to a pipe, but not read from it
hoelzro oh, really?
I had it the other way
FROGGS hoelzro: I have not committed yet :O)
hoelzro by our powers combined...
I have a party to go to tonight, but I think I have tomorrow to hack on stuff 16:18
and I'm going to a Perl hackathon this weekend; most/all of my time there will be on P6
FROGGS hoelzro: but you used unix's pipe(), and I think we should use lib_uv's stuff
cool!
hoelzro right, I looked into that
libuv's pipe isn't really a pipe
I mean, it *can* be
FROGGS the reading-from-a-pipe thing is very weird (when you apply my gist) 16:19
hoelzro but there was some oddness working with them
timotimo it's just sockets, no?
hoelzro timotimo: I think on Unix it's impl'd as a socket pair
FROGGS if I'd know how I would test it on windows 16:20
(reading from a child process)
err, writing too
FROGGS is totally bamboozled by all these buttons and knobs 16:23
timotimo mhm 16:25
i'm not feeling up to the task of little big ints right now :( 16:33
i'll work on ADT instead i guess 16:34
FROGGS I know that feeling 16:35
labels... *shudder*
timotimo :|
FROGGS .oO( SHUDDER: ) 16:37
timotimo :D
jnthn evneing o/ 17:16
timotimo hey jnthn :) 17:17
jnthn survived a busy day's teaching 17:19
timotimo does the evening hold some hacking? :3 17:20
jnthn uh... 17:21
...one of my colleagues is in town. And he likes curry and beer every bit as much as me. So I fear not. 17:22
Will have time agian soon, though.
Can hack tomorrow evening after the train home....and probably a bit on Thursday too :) 17:23
timotimo that's fair enough :)
jnthn My first half of next week is weird. I either have teaching in Oslo or teaching on Goteborg or nothing and I still don't actually know. :) 17:24
moritz recommends teaching nothing in Oslo to stundents from Goteborg 17:27
jnthn :P 17:29
17:32 benabik joined 17:49 Util joined 18:17 FROGGS joined
ingy tadzik, moritz, diakopter, masak: github.com/ingydotnet/git-subrepo#readme 18:38
moritz ingy: is that basically infrastructure for the subtree merge strategy? 18:40
FROGGS umm, I can read from a pipe now 18:49
ingy moritz: bbiab 18:50
FROGGS MVMObject * MVM_file_openpipe(MVMThreadContext *tc, MVMString *cmd, MVMString *cwd, MVMObject *env, MVMString *err_path) 18:52
does somebody know what the err_path is supposed to be?
that openpipe op really is weird, there is no way I can tell it to open a :rp or :wp (or even :rwp) 18:53
jnthn: ping 18:58
moritz I don't think pipes can be :rwp 18:59
I mean, pipes are unidirectional
(not sure about named pipes, but I don't think they are handled with the same syscalls) 19:00
FROGGS moritz: but what if I want to: $fh = "wc".IO.open(:r, :w, p:); say $fh.print("hello world") ? 19:01
moritz FROGGS: then you need to open two pipes
FROGGS it would be about two pipes internally (or two streams in case of libuv)
would be more like: $fh = "wc".IO.open(:r, :w, p:); $fh.print("hello world"); say $fh.get 19:02
but either way, the current openpipe op has no option about the direction(s) 19:03
and then the next question: how do you do Capture::Tiny in perl6? 19:04
I can open two pipes, one for stdout and one for stderr... but how do we present this to perl6 land? 19:05
FROGGS reads perlcabal.org/syn/S32/IO.html#IO%3A%3APipe 19:07
so: my ($r, $w) = open("/usr/bin/wc", :r, :w, :p).pair( :err(...) ) ? 19:12
moritz maybe we really want my $handle = run('wc', :pipein, :pipeout); $handle.in.say: 'A line'; $handle.in.clone; 19:14
s/clone/close/
FROGGS it is definitely more about run() then open(), aye 19:15
but then again, I do like :r :w :p
stderr does not fit in there sadly 19:16
moritz it fits nicely into run
FROGGS troo
p: say IO::Pipe
camelia rakudo-parrot 44ab3c: OUTPUT«Could not find symbol '&Pipe'␤ in method <anon> at gen/parrot/CORE.setting:12232␤ in any at gen/parrot/Metamodel.nqp:2693␤ in any find_method_fallback at gen/parrot/Metamodel.nqp:2681␤ in any find_method at gen/parrot/Metamodel.nqp:948␤ i…»
FROGGS k
moritz and .run really needs to return an object anyway
FROGGS run('wc', :in, :out, :err) ==> IO::Pipe 19:17
what about redirection?
run('wc', :in, :out, :err(:out)) ? 19:18
I almost like it 19:21
my $word-count = run('wc', :in, :out, :err(:out)); $word-count.in.say: "hooray!"; say $word-count.out.lines; $word-count.close 19:24
I am not sure about the close...
should I call it on .in? or this way which calls it on .in/.out/.err? 19:25
19:33 TimToady joined
FROGGS qx/qqx does work now too 20:09
nwc10 moritz: IIRC pipes are official unidrectional, but at least something (BSD, so is that everything now) used socketpair() behind the scenes, so pipe were actually bidirectional 20:11
FROGGS: yay
I can haz Moar Star?
FROGGS libuv does not use anonymous pipes... it is a (tcp?) stream or so 20:12
but I don't really are as long as it works cross platform
dalek arVM/wip-openpipe: 67a0f6f | (Tobias Leich)++ | src/ (6 files):
implement openpipe, hoelzro++
20:14
FROGGS moritz: if we rename IO::Pipe.from/.to to IO::Pipe.in/.out/.err the we can hand that type back for run(Str, :in, :out) *as well as* open(Str, :r, :p) 20:23
moritz / TimToady: is that a bad idea?
IO::Pipe.get could then be an alias to IO::Pipe.in.get
etc
print/say would default to .out instead of .err 20:24
20:32 jnap joined
FROGGS if there is no intervention until tomorrow evening I'll change openpipe to my needs 21:01
diakopter on windows it uses anonymous pipes I thought 21:02
FROGGS nikhilm.github.io/uvbook/processes.html#pipes 21:04
Pipes
libuv’s uv_pipe_t structure is slightly confusing to Unix programmers, because it immediately conjures up | and pipe(7). But uv_pipe_t is not related to anonymous pipes, rather it has two uses:
[...]
diakopter: is there a command line utility on windows that reads from stdin? 21:05
diakopter and does what with it
FROGGS I just wanna tets that I can print to it
wc on linux is nice for testing 21:06
diakopter maybe copy con? :S
FROGGS I'll find something :o)
23:31 jnap joined 23:32 lizmat joined