Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-03-29

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 geekosaur (pipes are the only things I see that care)
00:00 MasterDuke ah, now i get what you mean
00:02 timotimo why would you build a function that always returns false instead of just using a null pointer for that?
00:02 geekosaur because you do that once at setup instead of having to test every time you want to use it
00:03 geekosaur which is to say, the same crash is prob ably lurking in other code paths that don't checl
00:03 geekosaur urgh, typing...
00:04 travis-ci joined #moarvm
00:04 travis-ci MoarVM build canceled. Samantha McVey 'Get travis to build fake i686 builds and build all branches'
00:04 travis-ci https://travis-ci.org/samcv/MoarVM/builds/216151343 https://github.com/samcv/MoarVM/compare/0acc5dad1833...a52c5f2074f5
00:04 travis-ci left #moarvm
00:05 geekosaur ...in fact MVM_io_is_tty() has that same bug :)
00:06 MasterDuke it looks to me like is_tty is only over called by MVM_io_is_tty
00:06 MasterDuke *ever
00:07 geekosaur oh wait, that is that function
00:07 geekosaur ok, if it's only got the one entry point then you can change it there
00:07 geekosaur I do wonder why it's abstracted that way, but oh well
00:08 * geekosaur had to haul the ticket back up and ... oh right, it's talking about that
00:08 geekosaur in any case you either need the false-returning stub or you need to make sure is_tty is not NULL
00:08 geekosaur but you also need to verify that introspection is not NULL
00:08 MasterDuke running a rakudo spectest with the added is_tty NULL check
00:09 MasterDuke in addition to the introspection check
00:09 samcv travis-ci why you cancel my builds :(
00:09 MasterDuke but somewhat relatedly, what about https://github.com/MoarVM/MoarVM/blob/master/src/io/io.c#L53
00:10 MasterDuke i don't see native_descriptor in any of the introspections
00:10 samcv i would like a way to cross compile moarvm. maybe there is one already? would like to add that to our test matrix
00:11 geekosaur it's there, in the thing I quoted earlier it's mvm_fileno
00:11 MasterDuke so how does native_descriptor map to mvm_fileno
00:12 geekosaur samcv, you hit the time limit on the build
00:13 geekosaur MasterDuke, https://github.com/MoarVM/MoarVM/blob/master/src/io/io.h#L98
00:13 MasterDuke geekosaur++
00:13 geekosaur had to dig it up on github, I've been tooling through my local checkout :)
00:16 MasterDuke yep, been switching back and forth myself
00:18 travis-ci joined #moarvm
00:18 travis-ci MoarVM build canceled. Samantha McVey 'Get travis to build fake i686 builds and build all branches'
00:18 travis-ci https://travis-ci.org/samcv/MoarVM/builds/216151343 https://github.com/samcv/MoarVM/compare/0acc5dad1833...a52c5f2074f5
00:18 travis-ci left #moarvm
00:19 samcv ahhh dammit
00:19 samcv 3 minutes and it cancels the build
00:20 Geth ¦ MoarVM: MasterDuke17++ created pull request #568: Add a check that introspection->is_tty is not NULL
00:20 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/568
00:21 MasterDuke timotimo++, geekosaur++
00:39 travis-ci joined #moarvm
00:39 travis-ci MoarVM build passed. Samantha McVey 'Put back travis somewhat'
00:39 travis-ci https://travis-ci.org/samcv/MoarVM/builds/216160202 https://github.com/samcv/MoarVM/compare/a52c5f2074f5...bfd96482c5d4
00:39 travis-ci left #moarvm
00:46 samcv i think this is the correct thing to do for this nursury compilier warning
00:46 samcv https://github.com/samcv/MoarVM/commit/7b05e591cdd58b7903ee2eda6eab0b77dabb73dd
00:46 samcv if anybody wants to tell me otherwise. I think i have done the righ thing here. unless there's something I don't know about why that char * was added
00:47 samcv full explaination is in commit description
00:48 geekosaur many compilers won';t let you do ops on (void *)
00:49 geekosaur and IIRC the C standard guarantees (char *) to have maximal alignment compatibility
00:50 geekosaur hm, actually I'm not sure it can do that because it still permits PDP10s where ... uh
00:50 geekosaur so, hm. this is a screw case of sorts but casting to (char *) is least incorrect here
00:51 samcv why can we not compare void *'s?
00:51 samcv they have no forced alignment so are the least restrictive type
00:51 geekosaur actually it;s not the comparison /per se/, it's the subtraction that is illegal because pointer subtraction is by the size of the pointed-to thing and for (void *) that is 0
00:51 samcv so casting as (char *) could theoretically change something on some machine somewhere
00:52 geekosaur and yes, casting to (char *) will break on PDP10s and the like because they need to use sub-word addressing (words are 36 bits. you don't want to know.)
00:53 geekosaur but afaik the last PDP10 was shut down over a decade ago :)
00:56 geekosaur anyway some compilers will warn you and pretend (void *) is (char *) (on any hardware created since, uh, 1980 or so that is valid) if you add/subtract with a (void *), but others will throw errors
00:56 geekosaur so you;re trading one warning/possible error for another. you *can't* do this 100% portably --- and you probably shouldn't expect to, given it's a virtual machine implementation
00:58 samcv ok so we actually want to multiply the size of an int times a void *
00:58 geekosaur (moarvm would need to rethink a number of of its implementation decisions, and probably take a significant performance hit, to be portable to machines like that. not worth it.)
00:59 samcv err subtract
01:02 MasterDuke samcv: slight change in subject again, but have you seen this file raschipi linked over in #perl a while ago? http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
01:02 samcv hmm. will look at in a sec brb
01:02 geekosaur like I said, you will get at least a warning either way. your version is an error in some compilers. the current one works on every machine anyone will care about, given that moarvm is not currently portable to machines on which it won't work anyway
01:03 geekosaur (in fact C on those machines has some odd behaviors, because the standard says sizeof (char) == 1 always and that's not compatible with DEC-style sub-word addressing.)
01:05 geekosaur ...which is why that cast discussed earlier is necessary per the standard, in fact. pointers behave very differently on such architectures.
01:06 timotimo so will we just be using intptr (or is it intptr_t?) for this?
01:06 timotimo or what?
01:07 geekosaur hm. intptr_t is probably the most correct one
01:07 geekosaur the advantage of the current code is it should fail compile on weird architectures. intptr_t will succeed and have weird behavior
01:08 geekosaur (or succeed and the "weird behavior" is your memory arena is 4x larger than you thought it would be, depending on how the C compiler implements (char *))
01:10 geekosaur basically this is one of those places where the C standard shows cracks; its approach to old-style architectures is "we made it legal, but good luck doing something sane"
01:11 geekosaur so if all you care about is silence every warning, intptr_t is the way to go. but make sure you prevent building on any architecture that doesn't use 8-bit directly addressable bytes, because it will silently do the wrong thing because you shut off the warnings that there is no right thing.
01:11 samcv also would it be good to not have those be void *'s? the structs
01:11 samcv i mean they point to actual values yes?
01:12 samcv reading comments in threadcontext.h now
01:17 samcv geekosaur, in my tests i get the same result for subtracting numbers from void * as i do from (char *) void*
01:18 geekosaur yes, you will with gcc or clang. probably not with msvc, that is one that throws a compile error
01:18 samcv but the right side is void *? so it can compare int * > void *?
01:18 geekosaur you won;'t get wrong results unless you happen to have a working 12/18/36-bit DEC in your basement
01:19 samcv or it's the subtraction riht?
01:19 samcv not the > symbol?
01:19 geekosaur [29 00:51:55] <geekosaur> actually it;s not the comparison /per se/, it's the subtraction that is illegal because pointer subtraction is by the size of the pointed-to thing and for (void *) that is 0
01:19 geekosaur [29 00:56:14] <geekosaur> anyway some compilers will warn you and pretend (void *) is (char *) (on any hardware created since, uh, 1980 or so that is valid) if you add/subtract with a (void *), but others will throw errors
01:20 geekosaur gcc and clang will let you get away with it (in gcc I think you need -Weverything for that warning); clang will likely always warn about it being non-standard-compliant to add/subtract from a (void *)
01:20 samcv kk thanks
01:22 samcv geekosaur, would you support simpifying it with less parens? https://github.com/samcv/MoarVM/commit/6523b48a5dcf1a529bd8fdabf96d3a018da90ee3
01:25 geekosaur I was thinking about that. I'd be fine with it but many people do get confused about the relative precedence of casts vs. member access
01:26 geekosaur (that said, one of those two sets was clearly superstitious parens :)
01:27 samcv yeah
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:39 benchable6 joined #moarvm
03:29 committable6 joined #moarvm
05:22 samcv geekosaur, there's always the Enterprise™ solution to supresing errors https://github.com/samcv/MoarVM/commit/dd9062d947582b5b9caa416e4dba2fadb8ece74e
05:23 samcv not sure what/if the error code is in MSVC, but that's one option for errors we know are fine. obv the macros wouldn't be in that file. i have no opinion on using them or not
06:05 domidumont joined #moarvm
06:05 brrt joined #moarvm
06:11 domidumont joined #moarvm
06:14 brrt .tell timotimo you can't do arithmetic with void pointers legally
06:14 yoleaux2 brrt: I'll pass your message to timotimo.
06:14 samcv hey brrt :)
06:14 brrt hey samvc
06:14 brrt samcv
06:14 samcv brrt, is that because it could cross byte lines?
06:14 brrt no
06:15 samcv because void * is the least restrictive pointer type
06:15 geekosaur because pointer arithmetic needs to know the size of the thing pointed to, and (void *) does not have a size
06:15 brrt it's because the C compiler spec likes to leave things undefined, and C compiler writers bounce on every opportunity to screw you
06:15 geekosaur 'p + 1' for some pointer p advances by sizeof *p, not by 1 byte
06:15 brrt or so the rust evangelism taskforce tells me
06:15 samcv ah kk geekosaur
06:16 geekosaur but what is the size of (void)?
06:16 samcv very true
06:16 brrt Everything; and the monk was enlightened
06:16 samcv so a short pointer will advance how much?
06:16 brrt 2 bytes
06:17 brrt but it's not possible to have a pointer 'between' byte lines
06:17 brrt a byte is by definition the smallest addressable unit of storage
06:17 geekosaur so (void *) arithmetic is meaningless. as I mentioned earlier, some compilers will fudge this and assume (char *) behavior, but this is not blessed by the standard
06:17 brrt (a byte *doesn't* have to be 8 bits wide, though)
06:17 samcv yeah
06:18 brrt and some clang / llvm developer will use that as a 'gotcha' and screw you
06:18 samcv :P
06:18 geekosaur actually that's not 100% true; the C standard has specific hacks in it so DEC minis and mainframes could do char addressing using subword addressing modes
06:19 geekosaur like, a 36-bit PDP10 word can be sub-addressed in multiples of 3 bits
06:19 brrt i had no idea
06:19 brrt how on earth
06:19 samcv magic
06:19 samcv that's actually interesting. but i'm sure there's some very real reason for it
06:19 geekosaur special addressing modes in the CPU
06:20 geekosaur so, when emulating IBM-style (that is, byte) addressibility, one specifies a 9-bit subword and thereby gets 4 addressable subwords from a 36-bit word.
06:21 brrt right
06:21 geekosaur (if you've ever noticed the "tenex" command in FTP, it's about telling a remote PDP10 server to do that and then mask off the top bit to pretend to be octets. if you didn't do this, you got garbage from a file transfer because of the mismatch)
06:23 samcv so it's like this? `size_bar foo; foo + X` is really `foo + sizeof(size_bar) * X`
06:23 samcv err and foo is a pointer
06:23 samcv should have said `size_bar *foo`
06:24 geekosaur foo + X = (char *) foo + X * sizeof *foo
06:24 geekosaur roughly
06:24 geekosaur (also casting back, derp)
06:24 geekosaur so you can add 1 (or x++, or whatever) to get the next element of an array regardless of what the size of an array element is
06:25 samcv and it advances by sizeof for that thing
06:25 samcv will nail that to my brain
06:26 geekosaur (and yes, moarvm has had a few bugs from forgetting that; I diagnosed one of them a few months ago :)
06:26 samcv heh
06:27 samcv thinking of changing this size_t index to MVMStringIndex https://github.com/MoarVM/MoarVM/blame/master/src/strings/ops.c#L232
06:27 samcv looks like 4 years ago that line was added (with the size_t)
06:28 samcv is there any reason it shouldn't be changed to MVMStringIndex (MVMuint32 btw)
06:30 samcv unless maybe it's faster to index++ in a loop? i'm not sure
06:31 geekosaur size_t suggests to me that something from libc is being invoked at some point
06:34 geekosaur uhhhh
06:35 geekosaur so it's size_t in callers but MVMint64 in MVM_string_substrings_equal_nocheck
06:35 samcv yeah
06:35 geekosaur this seems problematic on non-64-bit
06:35 samcv i don't like it
06:36 geekosaur likewise the lack of casting when it uses memcmp() which will expect size_t
06:36 geekosaur (this is also why MVMuint* is not the right answer)
06:37 samcv in MVM_string_substrings_equal_nocheck ?
06:37 geekosaur yes
06:37 samcv ok. sorry did i link you to line 201
06:37 samcv yeah that could be problematic.
06:37 geekosaur yes, I went digging further since that's where the index gets used
06:39 samcv I more want to change it here https://github.com/MoarVM/MoarVM/pull/565/files#diff-0cb6ca157d7b79b7d7e5ace869130f8cR658 because it doesn't use memcmp
06:40 brrt joined #moarvm
06:41 brrt correct
06:41 samcv MVM_string_equal_at_ignore_case gets a MVMint64 and i am thinking about casting that to a MVMStringIndex
06:41 samcv and then in the place i want to make sure it's inlined it already uses MVMStringINdex
06:41 geekosaur again, needs thought on 32-bit since MVMStringIndex is MVMuint32
06:42 geekosaur this whole thing is rife with 32/64 bit confusion :(
06:42 samcv will MVMuint32 perform differently on 32bit?
06:42 geekosaur it'll be faster since a 32 bit CPU can't do 64 bit math directly
06:43 samcv yeah
06:43 samcv so MVMStringIndex is fine then right?
06:43 samcv since it's 32bit uint
06:43 geekosaur but my worry is not speed, it's correctness. if something is declared 32-bit and then you use it with a 64-bit value, it could conceivably with large enough strings become negative
06:43 samcv it's a uint though so it can't get negative
06:44 samcv or do you mean when it gets casted?
06:44 geekosaur it can still be truncated though
06:44 samcv yes but a truncated 64bit number can never be negative for a uint32
06:44 geekosaur sigh
06:44 samcv which is part of the reason uint32 seems apealing
06:44 geekosaur I should not have said negative, I should have just pointed out the truncation
06:44 samcv yeah
06:44 geekosaur the point is you do not get what you think, you can get something different
06:45 samcv what would you like to happen?
06:45 samcv have a check for high values and have it throw or just return negatory?
06:45 geekosaur and if you do this on a big-endian CPU then it gets worse because something can use the wrong half of a 64-bit value as the 32-bit value
06:45 samcv i wasn't sure how to handle this
06:45 samcv ah very true
06:46 geekosaur I think string ops need to decide whether they are using 32 or 64 bit indexes, first off, and use them consistently.
06:46 samcv i agree
06:46 geekosaur (I don't think 64 bit makes sense for a string offset on current hardware. But if everything consistently uses MVMStringIndex then changing it is just adjusting that typedef.)
06:47 samcv yeah
06:47 geekosaur ...but then you have the library routines that want size_t, and if that's smaller than MVMStringIndex then you have problems again
06:48 geekosaur so either you provide your own versions of memset/memcpy/memcmp etc., or you fix MVMStringIndex to size_t
06:48 samcv and then check bounds? and assume we don't run on anything under 32bit?
06:48 geekosaur yes (and checking bounds has repeatedly been a problem...)
06:49 geekosaur I would not bother with <32 bit, I would be surprised if perl6 even worked on such systems
06:50 geekosaur unless someone wants to rewrite moar to use huge memory model in 16 bit mode --- uhhh, best just to declare such systems unsupported
06:50 geekosaur huge memory model = huge pain in the tuchis
06:52 geekosaur (and, er, not much in the way of actual memory protection, so bugs = corrupting someone *else's* memory)
06:54 geekosaur (80286 did have some memory protection, just nowhere near sufficient. 80386 introduced actual memory protection. non-Intel 16-bit CPUs generally didn't even have as much memory protection as the 80286 did; you could write to any memory at any time)
06:55 samcv intel chips today even have all kinds of modes like real mode and protected mode etc. very interesting how much really old modes the cpu can still be put in
06:55 geekosaur high end xeons don't have the pre-80386 modes any more, iirc
06:56 samcv nice
06:57 geekosaur that's part of what pushed industry support for UEFI boot, which can boot in 386+ mode unlike the old BIOS that had to boot in real mode
06:57 samcv geekosaur, regarding MVM_STATIC_INLINE what return type should i return for optimum chance of getting inlined
06:57 samcv the most performance sensitive spot it's just in a while loop with if (myfunction)
06:57 samcv so how can i make sure it gets inlined on 32 bit as well as 64
06:58 samcv or should i not bother and just keep it as MVMint64. it really only returns 1 or 0, so it's just a binary return value
06:58 samcv i would think it would be `int` type, but you probably know better than I do
07:00 geekosaur I'd use int for that. 64-bit return value on a 32-bit CPU probably won't inline since it's got to do hackery to return it (iirc it ends up passing a secret pointer to write the return value to)
07:12 samcv it's my birthday today.
07:12 samcv reminds me i need to back up my hard drive
07:44 brrt happy birthday!
07:44 brrt (also, not seeing the relation with hard drive backups, but anyway)
07:48 samcv well it reminded me i haven't done it in a while
07:49 samcv not sure why, but it did
08:01 zakharyas joined #moarvm
09:20 praisethemoon joined #moarvm
09:20 praisethemoon hello
09:21 brrt hi praisethemoon
09:21 brrt what's up
09:21 brrt what can we help with :-)
09:21 praisethemoon oh wow ^^ thanks for the great welcome
09:22 praisethemoon I would like to know if I can target moarvm from my yet to finish language
09:24 nwc10 "Yes", but I don't know how hard it would turn out to be, or if anyone else has done it yet. (I certainly haven't). I think that there are examples of starting PHP and Ruby as part of the course documentation for https://github.com/edumentab/rakudo-and-nqp-internals-course
09:25 nwc10 one would need to write parts of the backend in NQP
09:25 brrt what nwc10 said
09:25 nwc10 and that is the limit of what I know.
09:25 brrt can i ask what kind of language you are writing and what features made you think of using MoarVM?
09:26 praisethemoon well, my language is more like java, statically typed, object oriented, but with more functional aspects
09:27 praisethemoon well I just heard of moarvm from reddit, https://www.reddit.com/r/Compilers/comments/5oj92y/langagevm_target_for_implementing_a_a_garbage/dckwv1t/
09:28 praisethemoon And I thought I would investigate a little bit
09:28 praisethemoon Honestly, I never wrote a perl line in my life :(
09:28 praisethemoon but there seems to be a lot vms for it, parrot, and here is moarvm
09:32 praisethemoon oh sorry, got wrong reddit permalink ^^ but it's the last comment on that thread
09:34 praisethemoon reading through the docs, honestly, this seems to be a great project!
09:34 praisethemoon You guys are doing an awesome job :)
09:42 domidumont joined #moarvm
09:46 domidumont1 joined #moarvm
10:11 brrt sorry, was on lunch for the moment
10:11 brrt so
10:12 brrt MoarVM can probably accomodate your language well enough
10:13 brrt … and if you'd write a more-or-less static language it could, probably, perform decently
10:13 brrt however, compared to the JVM or the CLR, it will not be fast
10:16 praisethemoon brrt, hope you had a good meal :3
10:16 timotimo yo
10:16 yoleaux2 06:14Z <brrt> timotimo: you can't do arithmetic with void pointers legally
10:16 praisethemoon Why wouldn't it be fast?
10:16 brrt it's not nearly as mature as either of these platforms
10:16 brrt and it assumes a high degree of polymorphism, so it implements a bunch of safeguards
10:20 timotimo what safeguards is spesh unable to throw out?
10:31 jnthn timotimo: Where to start... :-)
10:31 jnthn Though type checks of assignments into containers is probably the biggest one :)
10:31 jnthn From a "Perl 6 impact" point of view
10:35 timotimo ah, mhm
10:35 timotimo last night while trying to fall asleep i thought "we should totally teach the fast path binder to invoke 'where' clauses from the signature"
10:35 jnthn There's surely other bits too :)
10:35 jnthn It does? :)
10:36 timotimo that's cool
10:48 praisethemoon ahh I see brrt, how I'm sure it does not consume as much memory as the JVM x)
10:49 brrt that's possible, yes
10:49 timotimo nqp doesn't use a lot of memory
10:49 praisethemoon frankly I don't want to target jvm neither clr, i want something different
10:50 Zoffix praisethemoon: IIRC you can set JVM to use a different gc method. By default it uses ram for speed or somesuch
10:50 timotimo if you target nqp, you're getting jvm for free. and also javascript, partially
10:50 praisethemoon experimentation is innovation \o/
11:13 vendethiel joined #moarvm
11:14 Geth ¦ MoarVM: b4a8919ccf | (Timo Paulssen)++ | src/6model/reprs/P6opaque.c
11:14 Geth ¦ MoarVM: mention debug_name in errors about uncomposed repr
11:14 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b4a8919ccf
11:34 domidumont joined #moarvm
11:46 domidumont1 joined #moarvm
11:49 praisethemoon joined #moarvm
11:49 praisethemoon yo!*
11:50 brrt hi again :-)
11:50 brrt (or is that not what you meant? kind of difficult to tell on irc)
11:55 praisethemoon oh yes it is ^^
11:56 praisethemoon Yo is like "hey" in japanese
12:00 Zoffix So all the rappers sing in Japanese? And here I thought...
12:00 praisethemoon ahh xd
12:00 praisethemoon Don't know about that :3
12:05 AlexDaniel joined #moarvm
12:07 praisethemoon brrt, can I pm you?
12:07 brrt well, you can, but i'm under no obligation to respond :-)
12:07 brrt why?
12:08 brrt or in other words, sure, go ahead
12:23 timotimo but there's also "ooooooi" in japanese
12:33 praisethemoon timotimo, oh yes, a cute way to say hey
12:34 timotimo last time i saw it was in breath of the wild :P
12:34 timotimo .. and before that in Wind Waker :D
12:37 praisethemoon ahh, yeah since zelda characters never talk x)
12:37 timotimo breath of the wild has voiced cutscenes now
12:37 praisethemoon Really?
12:38 brrt (timotimo has Breath of the Wild? :-o)
12:39 praisethemoon Brb
13:13 praisethemoon joined #moarvm
14:08 AlexDaniel joined #moarvm
14:36 AlexDaniel joined #moarvm
14:46 brrt joined #moarvm
15:10 brrt joined #moarvm
15:33 praisethemoon joined #moarvm
15:33 praisethemoon joined #moarvm
15:46 domidumont joined #moarvm
17:52 praisethemoon joined #moarvm
18:18 praisethemoon_ joined #moarvm
18:18 praisethemoon__ joined #moarvm
18:46 samcv jnthn, how 2 crosscompile MVM for 32 bit on a 64bit machine? also dunno if you want to quickly check out the eqatic refactor, zhuomingliang has given me an approval after i made some changes, but you may want to check it quickly https://github.com/MoarVM/MoarVM/pull/565
18:49 jnthn samcv: Will be able to take a look soonish :)
18:49 jnthn (20 mins or so)
18:49 samcv kk :)
18:49 jnthn No idea about doing 32-bit build on 64-bit; I know with MSVC you just have a different toolchain set up in the environment
18:50 jnthn But I suspect you mean on Linux :)
18:53 samcv yes
18:54 samcv i tried using the Configure script but then at the end it gave me problems during linking
18:54 samcv well i also inserted `-m32` into the Makefile to make sure it made 32 bit builds
18:57 Geth ¦ MoarVM: samcv++ created pull request #569: Fix Various Compiler Warnings     Explicitly cast as (const MVMuint*) in utf8_c8.c     Fix another compiler warning in src/moar.c     Make if statement in adjust_nursery() more readable     Fix warning in VMArray.c     Fix compiler warnings using PRIu64 for three more files     Fix compiler warnings from moar.c and heapsnapshot.c (PRIu64)     Use PRIu64 in fprintf's to fix compiler warning RE incorrect types
18:57 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/569
18:57 samcv wow it put that all in the title. sad
19:14 jnthn Phew, now I can take a look :)
19:15 samcv yay
19:21 Geth ¦ MoarVM: d5621160ce | (Daniel Green)++ | src/io/io.c
19:21 Geth ¦ MoarVM: Add a check that introspection->is_tty is not NULL
19:21 Geth ¦ MoarVM:
19:21 Geth ¦ MoarVM: Since it is for pipes. Fixes MoarVM issue #561
19:21 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d5621160ce
19:21 Geth ¦ MoarVM: 5ee5dcc331 | (Jonathan Worthington)++ | src/io/io.c
19:21 Geth ¦ MoarVM: Merge pull request #568 from MasterDuke17/fix_SEGV_in_is_tty_check
19:21 Geth ¦ MoarVM:
19:21 Geth ¦ MoarVM: Add a check that introspection->is_tty is not NULL
19:21 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/5ee5dcc331
19:24 jnthn samcv++
19:24 jnthn Done reviewing :)
19:25 samcv great. made indent change. after travis i'll merge it :-)
19:26 jnthn :)
19:26 jnthn Thanks, nice improvement :)
19:35 praisethemoon joined #moarvm
19:35 praisethemoon joined #moarvm
19:44 timotimo travis isn't doing anything at the momend :<
19:44 timotimo "We stopped accepting new builds because of an issue with our logs DB."
19:48 samcv ah
19:48 samcv rude
19:50 timotimo what does the db think it's doing?
19:50 samcv 'emergency database maintainance' doesn't sound very reasuring
19:52 timotimo We are resuming build processing. New build logs should appear, but recent build logs may be unavailable until further notice.
19:52 timotimo so that's nice
19:52 samcv yay
19:54 timotimo you could probably stop #1895 as it's been quickly superceded by #1896?
19:54 samcv so 1.5 hours of downtime = how many projects cpu hours and how much backlog
19:54 timotimo *all* of the backlog
19:55 samcv what is 1895. our PR numbers and issue numbers don't go up that high
19:55 samcv oh build number?
19:55 timotimo it's the same PR
19:55 timotimo https://travis-ci.org/MoarVM/MoarVM/pull_requests here
19:56 samcv kk will cancel outdated ones
19:57 * samcv is jelous since rakudo's is building :| but ours isn't
19:58 timotimo pff, damn those rakudo folk
20:04 samcv maybe travis jobs go in the order of the number of 🌟's your project has
20:05 timotimo oh look, your compiler warning pr is building
20:06 samcv yay
20:06 samcv we need more stars to get higher on this list https://github.com/showcases/programming-languages?s=stars
20:10 timotimo that crystal lang thing came out of absolutely nowhere from my perspective
20:10 timotimo and how the hell is python so far down on that list?
20:20 samcv idk. maybe it doesn't excite people very much
20:20 samcv oh that's the repo for “cpython” not python
20:20 samcv or is that python. idk i'm not a python programmer
20:22 timotimo that's the reference implementation
20:22 timotimo almost everybody universally uses that
20:47 Geth ¦ MoarVM/update_libatomic_ops: 4b9f6da1be | (Timo Paulssen)++ | 40 files
20:47 Geth ¦ MoarVM/update_libatomic_ops: bring in latest libatomic_ops changes
20:47 Geth ¦ MoarVM/update_libatomic_ops:
20:47 Geth ¦ MoarVM/update_libatomic_ops: from ivmai/libatomic_ops
20:47 Geth ¦ MoarVM/update_libatomic_ops: b7014e65d87c407b69ce1cc372c05939fa99c188
20:47 Geth ¦ MoarVM/update_libatomic_ops: review: https://github.com/MoarVM/MoarVM/commit/4b9f6da1be
20:47 timotimo when's the last time we updated our libuv submodule?
20:48 samcv is there a newer release?
20:48 samcv looks like we have 2015.12.15, Version 1.8.0 (Stable)
20:49 samcv version 1.11 is out
20:49 timotimo sounds like we'll want to explore getting that pulled in
20:49 timotimo or maybe 1.10? is that how they make stable releases?
20:49 timotimo even/odd?
20:49 samcv i have 1.11 and have compiled with that before
20:49 samcv and it worked fine
20:50 timotimo we have like 2 weeks until release, right?
20:50 samcv yep
20:50 samcv now is good as time as any
20:51 timotimo oh no ...
20:51 samcv left #moarvm
20:53 samcv joined #moarvm
20:53 samcv oops how did that happen
20:53 samcv wonder if there's a way to make ZNC not actually leave a channel if it accidently closes the tab
20:54 timotimo znc has tabs?
20:54 samcv no. my local client
20:54 timotimo ah
20:54 timotimo write a little proxy that filters out /part
20:57 samcv there may be a plugin that just lets my client leave the room but then gives me the scrollback when i rejoin or whatever
20:58 timotimo ah, perhaps
21:04 AlexDaniel joined #moarvm
21:05 timotimo dinner time \o/
21:08 samcv yum
21:14 evalable6 joined #moarvm
21:14 mst joined #moarvm
21:14 mst joined #moarvm
21:27 ZofBot joined #moarvm
21:30 mst joined #moarvm
21:37 Geth ¦ MoarVM/master: 8 commits pushed by (Samantha McVey)++
21:37 Geth ¦ MoarVM/master: 63b9a63d7b | Use PRIu64 in fprintf's to fix compiler warning RE incorrect types
21:37 Geth ¦ MoarVM/master: 891049d045 | Fix compiler warnings from moar.c and heapsnapshot.c (PRIu64)
21:37 Geth ¦ MoarVM/master: 0acc5dad18 | Fix compiler warnings using PRIu64 for three more files
21:37 Geth ¦ MoarVM/master: 3a433d4848 | Fix warning in VMArray.c
21:37 Geth ¦ MoarVM/master: 8be688b91e | Make if statement in adjust_nursery() more readable
21:37 Geth ¦ MoarVM/master: 90717d845e | Fix another compiler warning in src/moar.c
21:37 Geth ¦ MoarVM/master: ccfa519a17 | Explicitly cast as (const MVMuint*) in utf8_c8.c
21:37 Geth ¦ MoarVM/master: 7f196a3dd5 | Merge pull request #569 from samcv/PRIu2
21:37 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/5ee5dcc331...7f196a3dd5
21:52 mst joined #moarvm
21:52 mst joined #moarvm
22:17 Voldenet joined #moarvm
22:17 Voldenet joined #moarvm
22:35 mst joined #moarvm
22:35 mst joined #moarvm
22:44 mst joined #moarvm
22:44 mst joined #moarvm
22:56 mst joined #moarvm
23:01 samcv timotimo,  https://github.com/MoarVM/MoarVM/commit/b4a8919ccf498048519260b2ff1b128d0dfc6763#diff-542913847ab027f019cf84e9b47df9c1R1150
23:02 samcv are you aware of this mistake in your commit
23:04 Geth ¦ MoarVM/master: 7 commits pushed by (Samantha McVey)++
23:04 Geth ¦ MoarVM/master: 24eabc752b | Add a cast to suppress a compiler warning in strings/ops.c
23:04 Geth ¦ MoarVM/master: cb132414e8 | Factor code from equal_at_ignore_case for use in index_ignore_case
23:04 Geth ¦ MoarVM/master: dba0a3c4c0 | Start using index_ignore_case loop introduced by the prev. commit
23:04 Geth ¦ MoarVM/master: b9104537ce | Integrate the new internal loop with MVM_string_equal_at_ignore_case
23:04 Geth ¦ MoarVM/master: 44587d5285 | :i Move needle_fc into MVMROOT and remove MVMROOT for needle_fc 2x
23:04 Geth ¦ MoarVM/master: 0731e1ab7c | Remove some unused variables, minor changes to comments, fix an indent
23:04 Geth ¦ MoarVM/master: a93f1ba31e | Merge pull request #565 from samcv/STRING
23:04 Geth ¦ MoarVM/master: review: https://github.com/MoarVM/MoarVM/compare/7f196a3dd5...a93f1ba31e
23:09 mst joined #moarvm
23:17 mst joined #moarvm
23:18 mst joined #moarvm
23:22 mst joined #moarvm
23:23 mst joined #moarvm
23:25 Voldenet joined #moarvm
23:26 Voldenet joined #moarvm
23:33 timotimo uh oh
23:33 timotimo ouchies, good catch
23:34 samcv timotimo, how do i trigger those debug name errors
23:34 samcv in perl 6 code i mean.
23:35 timotimo m: my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); my $a = $foo.new;
23:35 camelia rakudo-moar 5aebaf: OUTPUT: «No such method 'new' for invocant of type 'Heyooo'␤  in block <unit> at <tmp> line 1␤␤»
23:35 timotimo m: my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); my $a = nqp::create($foo);
23:35 camelia rakudo-moar 5aebaf: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤Could not find nqp::create, did you forget 'use nqp;' ?␤at <tmp>:1␤------> name<Heyooo>); my $a = nqp::create($foo)⏏;␤»
23:35 timotimo m: use nqp; my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); my $a = nqp::create($foo);
23:35 camelia rakudo-moar 5aebaf: OUTPUT: «Cannot assign a null value to a Perl 6 scalar␤  in block <unit> at <tmp> line 1␤␤»
23:36 timotimo m: use nqp; my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); $foo.add_parent(Any); my $a = nqp::create($foo);
23:36 camelia rakudo-moar 5aebaf: OUTPUT: «No such method 'add_parent' for invocant of type 'Heyooo'␤  in block <unit> at <tmp> line 1␤␤»
23:37 timotimo m: use nqp; my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); $foo.^add_parent(Any); my $a = nqp::create($foo);
23:37 camelia rakudo-moar 5aebaf: OUTPUT: «Cannot assign a null value to a Perl 6 scalar␤  in block <unit> at <tmp> line 1␤␤»
23:37 timotimo hm
23:38 timotimo m: use nqp; my $foo = Metamodel::ClassHOW.new_type(:name<Heyooo>); $foo.^add_parent(Any); $foo.^compose; my $a = nqp::create($foo);
23:38 camelia rakudo-moar 5aebaf: OUTPUT: «Cannot assign a null value to a Perl 6 scalar␤  in block <unit> at <tmp> line 1␤␤»
23:38 timotimo oh
23:38 timotimo m: use nqp; my Mu $foo := Metamodel::ClassHOW.new_type(:name<Heyooo>); $foo.^add_parent(Any); $foo.^compose; my $a = nqp::create($foo);
23:38 camelia rakudo-moar 5aebaf: ( no output )
23:38 timotimo m: use nqp; my Mu $foo := Metamodel::ClassHOW.new_type(:name<Heyooo>); $foo.^add_parent(Any); my $a = nqp::create($foo);
23:38 camelia rakudo-moar 5aebaf: OUTPUT: «P6opaque: must compose before allocating␤  in block <unit> at <tmp> line 1␤␤»
23:38 timotimo there we go
23:38 timotimo see Metamodel/Naming.nqp to see how debug_name gets set
23:38 timotimo it's nqp::setdebugtypename
23:40 Geth ¦ MoarVM: f39f60567b | (Timo Paulssen)++ | src/6model/reprs/P6opaque.c
23:40 Geth ¦ MoarVM: thanks to ven++ for spotting this missing argument
23:40 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/f39f60567b
23:41 timotimo i find it kind of hard to keep up with github notifications
23:42 timotimo https://imgur.com/a/E5OPd
23:42 Zoffix jesus
23:43 mst joined #moarvm
23:43 timotimo i can't use this feature
23:43 Zoffix Mine: http://i.imgur.com/XLg2iPw.png
23:44 Zoffix Just go to repos you don't care about and click "Watch -> Not Watching"
23:53 geekosaur joined #moarvm
23:54 timotimo i have too many repos
23:54 timotimo i'm down to 3.17k
23:55 samcv hah

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary