Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-22

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:12 Mouq joined #perl6
00:12 Mouq r: 「works already?」
00:12 camelia rakudo-parrot 41cd5e, rakudo-jvm 41cd5e, rakudo-moar 41cd5e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Bogus statementâ�¤at /tmp/tmpfile:1â�¤------> [32m<BOL>[33mâ��[31mï½¢works already?ï½£[0mâ�¤    expecting any of:â�¤        statement listâ�¤  â€¦Â»
00:13 Mouq Oh, I understand that roast commit, ok
00:13 Mouq ++lue :)
00:16 lue Not a very hard fix, just need to update everything, and then spectest the before and after :)
00:19 dalek nqp/moar-conc: b918e81 | jnthn++ | src/vm/jvm/ (5 files):
00:19 dalek nqp/moar-conc: Add ReentrantMutex REPR and lock/unlock ops on JVM
00:19 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/b918e8178d
00:19 TimToady I presume we still have to be careful about putting big codepoints into CORE directly
00:20 jnthn TimToady: Probably, but (in theory) Moar and JVM aren't vulnerable...
00:20 TimToady Moar deals with it by slowing down all strings instead?  :P
00:21 jnthn TimToady: Well, Moar used to have a simple immutable string model, then diakopter++ added ropes, which didn't actually work properly and so are flattened away immediately after creation as a hack, which is SLOW. :/
00:22 jnthn TimToady: At this point, I dunno what's going to happen there. The code is macro'd to the point of being a bloody nuisance to debug. :(
00:23 jnthn Not one of the bits of the codebase I'm happy with.
00:24 lue jnthn: I suppose there isn't an easy way to switch back to simple immutable in the meantime, is there?
00:24 jnthn lue: Not easily.
00:25 jnthn I just need to throw some time at understanding what's there and working out a way forward with it.
00:30 dalek rakudo/moar-conc: 9afc8c3 | jnthn++ | src/vm/jvm/core/Lock.pm:
00:30 dalek rakudo/moar-conc: Use ReentrantMutex REPR and new ops for Lock.
00:30 dalek rakudo/moar-conc:
00:30 dalek rakudo/moar-conc: Means it is no longer tied to the JVM.
00:30 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/9afc8c3585
00:30 dalek rakudo/moar-conc: 89ff343 | jnthn++ | / (3 files):
00:30 dalek rakudo/moar-conc: Move Lock.pm out of src/vm, now it's VM-generic.
00:30 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/89ff343f39
00:36 dalek roast: ef25233 | coke++ | S12-class/augment-supersede.t:
00:36 dalek roast: add test for RT #117165
00:36 dalek roast: review: https://github.com/perl6/roast/commit/ef2523311d
00:36 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=117165
00:41 pippo jnthn: does Configure.pl for MoarVM check for presence of libreadline?
00:42 jnthn pippo: Doesn't look like it
00:44 pippo on my box it does not seem detecting it. Is it trying to compile a test program to detect libredline? Does it include linking to libncurses?
00:44 colomon joined #perl6
00:45 jnthn pippo: It simply isn't looking for it right now and always using the bundled linenoise instead.
00:45 jnthn pippo: So I guess the problem on Linux is with that...
00:47 pippo I have used --use-libreadline and added linking to include libncurses and it works!
00:47 jnthn Oh...
00:47 pippo I have used perl Configure.pl --use-libreadline and added linking to include libncurses and it works!
00:47 jnthn Nice :)
00:48 jnthn yeah, I see it is in there...
00:48 jnthn OK, so it doesn't probe for it, but you can configure it.
00:49 pippo yes! but you have to add linking to libncurses afterwards manuallly. At least on my box.
00:50 jnthn Oh. Wouldn't it be libreadline, though?
00:50 pippo both. On my box libreadline requires also libncurses dont know why.
00:51 geekosaur because libncurses includes the low level terminal routines
00:51 jnthn geekosaur: Is that typical/normal? So if you link against one you should always link against the other?
00:51 geekosaur they dropped the separate libtinfo years ago
00:52 jnthn geekosaur: Uh, to phrase it better, if you like to libreadline you should always link to libncurses too?
00:52 geekosaur typical for ncurses systems, yes. if using bsd or original sysv curses (which probably only means commercial unixes) then it'd be libtermcap, libtermlib, or libtinfo
00:53 geekosaur but on a syste, with ncurses, ncurses subsumes the old low level libraries
00:53 [Coke] huh. where is rakudo's STD.pm ?
00:54 geekosaur (and on at least some System Vs, libcurses is preferred with libtinfo only there for backward compat and a symlink to libcurses)
00:54 lue [Coke]: src/Perl6/Grammar.nqp ?
00:56 pippo jnthn: sorry the configure param is --use-readline and not --use-libreadline. Good night!
00:56 pippo left #perl6
00:56 geekosaur so, upshot: except on some (mostly older) commercial unixes, readline uses curses/ncurses for the low level terminal stuff. you may well not even care about supporting those older ones
00:57 jnthn geekosaur: OK, thanks.
00:57 geekosaur since they're at least 10 years behind current standards (I think both POSIX and the last X/Open standard specced curses as holding the former terminfo library)
00:58 [Coke] lue++
00:59 geekosaur heck, I think SVR2 was the last release where terminfo was separate from curses, it was merged by SVR3.1 with only a compat symlink left. does anyone really care about anything pre-SVR4?
01:05 timotimo jnthn: do you think i could do the same jvm-interop-to-REPR-plus-op for "the next thing" if i looked at your code?
01:06 jnthn timotimo: Hmm, depends which one we make the next thing I guess :)
01:07 hoelzro I found some oddness with the compiled URI on MoarVM
01:07 hoelzro 'need URI::DefaultPort; URI::DefaultPort::scheme_port("https")' works fine
01:08 hoelzro *unless* you 'use URI' in that script
01:10 jnthn hoelzro: Urgh.
01:10 hoelzro if I remove the 'need URI::DefaultPort' in URI.pm, it works
01:11 hoelzro I'll try to create a minimal example
01:11 hoelzro there's no RT ticket for this, is there?
01:11 timotimo jnthn: i'd leave that up to you. or you tell me which one would be the easiest ;)
01:12 hoelzro I'm guessing that it's something with the %default_port hash being loaded twice?
01:12 timotimo jnthn: on the other hand, i'm going to go full-on sleep-deprivation mode this weekend :P
01:15 jnthn timotimo: Does that mean you're going to sleep a lot, or a little?
01:15 jnthn timotimo: Semaphore is easiest one I think
01:15 jnthn timotimo: You can follow same pattern as for lock
01:15 timotimo little, probably ;)
01:20 timotimo jnthn: how do i best get the initial number of slots into the semaphore?
01:20 timotimo i don't think i can give allocate more parameters, aye?
01:20 hoelzro jnthn, timotimo: here's a minimal example for the URI module
01:21 timotimo oh, you're hunting a crash
01:21 hoelzro https://rt.perl.org/Ticket/Display.html?id=121298
01:21 timotimo ?
01:21 hoelzro it's that "cannot invoke null object" issue that I saw with URI
01:21 hoelzro I reduced it to a simple example and attached it to the ticket
01:21 timotimo oh, ok
01:22 timotimo thank you. i don't have the smarts to look into it right now
01:22 hoelzro it looks like two loads messes up a module-level data structure
01:22 hoelzro no rush =)
01:23 timotimo jnthn: since set_int is used to preallocate lists to a given size, should allocate set null for the semaphore and set_int should create the actual semaphore with the given number?
01:24 timotimo set_elems, actually
01:25 hoelzro family time &
01:25 tgt joined #perl6
01:25 daniel-s_ joined #perl6
01:26 jnthn timotimo: No, overloading those feels odd
01:26 jnthn timotimo: Well, set_int could work in which case you nqp::box_i(1, SemaphoreType) :)
01:28 jnthn timotimo: I've just been looking at the libuv semaphore API and how we use them in Promise and...hmm.
01:29 timotimo jnthn: not even set_elems?
01:29 jnthn timotimo: set_elems is worse than set_int... :)
01:29 jnthn I think I can live with set_int being used for it
01:30 daniel-s__ joined #perl6
01:30 jnthn The problem is that Promise relies on being able to post a big value to the semaphore
01:30 jnthn Whihc libuv's API doesn't let you do.
01:33 jnthn pthreads defines a post_sem_multiple
01:35 timotimo why would it post a big value to the semaphore?
01:36 berekuk joined #perl6
01:36 jnthn timotimo: When you .result on a Promise that ain't done yet, it tries to acquire the semaphore
01:36 jnthn timotimo: It posts a big value 'cus it doesn't know how many times that has been done.
01:37 timotimo d'oh %)
01:38 jnthn Anyway, seems on OSX the semaphore API doesn't have an equivalent of that.
01:38 timotimo so really we want an event instead
01:38 jnthn "event"? :)
01:38 timotimo er
01:38 timotimo "condition variable"?
01:38 timotimo the one where any amount of things wait and one signals
01:38 jnthn Yeah. That may be the best way.
01:38 timotimo so why am i trying to implement a semaphore right now? :)
01:38 jnthn Right.
01:39 jnthn Semaphores are used elsewhere, iirc
01:39 jnthn Yeah, thread pool uses them too
01:39 timotimo OK
01:39 timotimo it won't get us further to promises, though, just to 100% ;)
01:39 timotimo ah well.
01:42 jnthn Well, we need the scheduler before we can have promises
01:42 timotimo the ops for the semaphore go into rakudo, rather than nqp?
01:43 jnthn No, NQP
01:44 jnthn Use moar-conc branch
01:44 timotimo OK
01:44 timotimo ah yes indeed
01:44 timotimo i didn't look correctly
01:45 dalek nqp/moar-conc: bd253e0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
01:45 dalek nqp/moar-conc: Map lock and unlock ops on MoarVM.
01:45 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/bd253e09af
01:45 dalek rakudo/moar-conc: c8d8475 | jnthn++ | tools/build/Makefile-Moar.in:
01:45 dalek rakudo/moar-conc: Add Lock.pm to Rakudo Moar build.
01:45 dalek rakudo/moar-conc:
01:45 dalek rakudo/moar-conc: With this we pass S17-concurrency/lock.t under Moar.
01:45 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/c8d84755a5
01:46 TimToady \o/ here too :)
01:47 timotimo should i use lock and unlock for semaphores or rather have ops "verhogen" and "proberen"?
01:48 jnthn uh...neither? :)
01:48 timotimo semacquire and semrelease?
01:48 jnthn I like those more.
01:48 jnthn They're not the traditional terms.
01:48 timotimo ok
01:48 timotimo java has "acquire" and "release"
01:48 jnthn Yeah.
01:48 timotimo i think the ones that are traditional are post and something else
01:49 jnthn wait
01:49 timotimo maybe sempost and semwait
01:49 timotimo but not post and wait
01:49 skids Every time I read a pthread manual page I despair at how much gets sacrificed for portability to platforms that don't implement it.
01:49 jnthn Could do those. I think acquire and release are better names though.
01:50 timotimo without "sem"?
01:50 jnthn with :)
01:50 jnthn semacquire and semrelease
01:51 timotimo thanks
01:51 jnthn The scheduler is a pretty fearsome porting job...
01:51 jnthn Well, ThreadPoolScheduler
01:52 timotimo :(
01:53 TimToady found a workaround for the overeager for bug: gather for @primes xx * -> $factor { ... }
01:53 jnthn o.O
01:53 jnthn Wow
01:54 jnthn timotimo: Well, scheduler takes care of a lot of hard things so other places don't have to.
01:55 dalek rakudo/moar-conc: 5b0b70d | jnthn++ | tools/build/Makefile-Moar.in:
01:55 dalek rakudo/moar-conc: Add Scheduler role to the build.
01:55 dalek rakudo/moar-conc:
01:55 dalek rakudo/moar-conc: Doesn't contain anything JVM-specific already.
01:55 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/5b0b70db05
01:57 jnthn timotimo: We'll need semtryacquire also
01:57 timotimo where do i get ExceptionHandling from? o_O
01:58 timotimo i thought for every symbol there is there should be an import line
01:58 jnthn org.perl6.nqp.runtime.ExceptionHandling
01:58 berekuk joined #perl6
01:58 timotimo weird, i didn't see that :|
01:59 timotimo is it legitimate to call it SemaphoreRepr?
01:59 timotimo because java seems to complain about importing Semaphore and then declaring a class called Semaphore :)
01:59 jnthn Yeah, it will... :S
02:00 jnthn I think you'll just have to fully qualify its one
02:00 jnthn Oh
02:00 timotimo hm, ok
02:00 jnthn Actually, on JVM the REPR's string name isn't actually the class name
02:00 jnthn See REPRRegistry.java
02:00 klapperl_ joined #perl6
02:00 jnthn So yeah, you can get away with that.
02:00 timotimo right
02:00 timotimo i saw that
02:00 timotimo that's why i asked :)
02:01 timotimo oh, i think i made it work
02:02 jnthn Timers are going to be kinda fun...
02:02 timotimo how should i best handle the InterruptedException? use acquireUninterruptable instead or just dieInternal when i get interrupted?
02:03 jnthn The latter is probably more sociable
02:03 timotimo good
02:04 timotimo oh, i need to box a bool for that
02:04 timotimo probably an int instead
02:04 timotimo then i'd have to pass in an Int SMO, right?
02:07 timotimo or just use BOOTint from the tc?
02:09 berekuk joined #perl6
02:10 timotimo jnthn: can you wait another night for the semaphore code?
02:11 jnthn timotimo: Box a bool for what?
02:11 jnthn timotimo: Sure; gonna go sleep in a moment
02:11 timotimo the return value of tryacquire
02:13 FROGGS_ joined #perl6
02:13 timotimo gnite!
02:13 dalek nqp/moar-conc: 9264434 | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nqp/ (4 files):
02:13 dalek nqp/moar-conc: beginning of a semaphore instantce
02:13 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/92644346d5
02:13 jnthn Oh, just have the op return a long, and mark it as $RT_INT in the ops file
02:13 jnthn (Compiler.nqp I mean)
02:15 Sqirrel joined #perl6
02:16 jnthn 'night, #perl6
02:16 TimToady o/
02:32 colomon joined #perl6
02:38 berekuk joined #perl6
02:59 klapperl joined #perl6
03:11 berekuk joined #perl6
03:18 mtj_ joined #perl6
03:38 kurahaupo_mobile joined #perl6
03:43 colomon joined #perl6
03:50 dalek rakudo/nom: 7b43e38 | Mouq++ | src/Perl6/ (2 files):
03:50 dalek rakudo/nom: Abbreviated Pod blocks can't have configurations
03:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b43e38e3a
03:50 Mouq joined #perl6
04:05 fridim_ joined #perl6
04:15 xenoterracide joined #perl6
04:58 lue Running make -j3 spectest, the wallclock seconds in order of parrot, jvm, moar:  13505, 11311, 3723  :)
05:46 hoverboard joined #perl6
05:51 rurban joined #perl6
06:04 Mouq joined #perl6
06:08 rhr joined #perl6
06:18 darutoko joined #perl6
06:32 dalek roast: 0265e51 | lue++ | S26-documentation/09-configuration.t:
06:32 dalek roast: [S26-documentation] Change abbreviated to paragraph
06:32 dalek roast:
06:32 dalek roast: Abbreviated can't take config options, which is what's being tested
06:32 dalek roast: here, so change it to paragraph.
06:32 dalek roast: review: https://github.com/perl6/roast/commit/0265e5194f
06:32 dalek roast: d97551f | lue++ | S12-class/augment-supersede.t:
06:32 dalek roast: Merge branch 'master' of https://github.com/perl6/roast
06:32 dalek roast: review: https://github.com/perl6/roast/commit/d97551f038
06:34 SamuraiJack joined #perl6
06:38 daniel-s__ joined #perl6
06:44 dalek rakudo/nom: 8b435d3 | lue++ | src/Perl6/ (2 files):
06:44 dalek rakudo/nom: Add support for short-form Q strings.
06:44 dalek rakudo/nom:
06:44 dalek rakudo/nom: You should now be able to type out your Q-based strings as 「...」,
06:44 dalek rakudo/nom: similar to '...' and "...".
06:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8b435d3860
06:44 dalek rakudo/nom: 44f3569 | lue++ | .gitignore:
06:44 dalek rakudo/nom: Add missing perl6-debug-p to .gitignore
06:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/44f3569651
06:44 dalek rakudo/nom: bfe22c4 | lue++ | / (2 files):
06:44 dalek rakudo/nom: Fix localtest targets
06:44 dalek rakudo/nom:
06:46 lue ? I think dalek got caught on something.
06:51 dalek roast: 4f3dfd4 | lue++ | S02-literals/quoting-unicode.t:
06:51 dalek roast: Unfudge test for 「...」
06:51 dalek roast: review: https://github.com/perl6/roast/commit/4f3dfd42ff
07:26 daniel-s__ joined #perl6
07:48 kst joined #perl6
07:53 Mouq joined #perl6
07:56 berekuk joined #perl6
08:08 virtualsue joined #perl6
08:17 kivutar joined #perl6
08:28 sqirrel_ joined #perl6
08:34 raydiak colomon++ # your idea that my mysterious test failure might be a precompilation bug was absolutely correct
08:35 telex joined #perl6
08:36 raydiak FROGGS_: ^ found the cause of my test failure :P
08:39 FROGGS_ raydiak: that was my guess too... we'd just need to golf it down so we know what breaks when precomp'd
08:39 FROGGS_ p: say 「...」
08:39 camelia rakudo-parrot bfe22c: OUTPUT«...␤»
08:40 FROGGS_ that is interesting
08:41 rindolf joined #perl6
08:42 raydiak forgot I was running panda install with jvm, and ran panda-test with moar, thus my "why doesn't it break with panda-test" confusion
08:43 FROGGS_ raydiak: that is what my S11 implementation is supposed to solve
08:43 raydiak ?
08:43 FROGGS_ you will automatically get the -m/-j/-p suffix when installing a binary/script
08:43 FROGGS_ so there would be a panda-test-j, that will always delegate to perl6-j
08:44 raydiak that sounds handy
08:54 kurahaupo_mobile joined #perl6
08:58 FROGGS_ hoelzro / colomon: there?
08:59 FROGGS_ raydiak: this might even be your issue: https://rt.perl.org/Ticket/Display.html?id=121298
09:00 kurahaupo_mobile joined #perl6
09:02 raydiak FROGGS_: looking
09:09 bjz joined #perl6
09:09 raydiak hmmm...I can check to see if the things being passed as params are defined then, so I know if it's the same problem
09:09 raydiak or better yet, I'll try precompiling this test as a jar and running it again...if this works under jvm, it must not be my problem
09:10 bjz_ joined #perl6
09:14 raydiak also broken under jvm, so it could be my issue...still investigating
09:19 raydiak eh? when not logged in I can view the ticket but when logged in I get "No permission to display that ticket"?
09:21 FROGGS_ O.o
09:23 raydiak haha I get the weirdest obstacles lately...was just gonna add "also broken under jvm"
09:26 raydiak my problem looks different, though...like it's not seeing the overloaded infix:<+>
09:36 raydiak will finish pinning this down when I can think better...tis late; g'night FROGGS++ and #perl6 o/
09:36 berekuk joined #perl6
09:37 masak antenoon, #perl6
09:37 yoleaux 21 Feb 2014 21:24Z <raiph> masak: I filed #121296; plz lemme know if I could have done better
09:37 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121296
09:38 masak raiph: looks very good to me.
09:44 timotimo i'll fix the return type of the tryalloc right away
09:47 dalek nqp/moar-conc: 326d6dc | (Timo Paulssen)++ | src/vm/jvm/ (2 files):
09:47 dalek nqp/moar-conc: have semtryacquire return an INT, map sem{{try,}acquire,release}
09:47 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/326d6dc223
10:04 klapperl_ joined #perl6
10:29 espadrine joined #perl6
10:30 espadrine left #perl6
10:32 timotimo and now the rakudo part
10:36 dmol joined #perl6
10:39 timotimo jnthn: is it really box_i or box_I?
10:39 * timotimo would try, but has to build nqp first
10:40 jnthn timotimo: box_i; box_I = bigint.
10:41 timotimo good
10:41 timotimo i'll leave the Promise.pm to have the jvm interop for semaphore for now, aye?
10:41 jnthn Yeah
10:42 jnthn We may want to spec and make semaphores available too.
10:43 jnthn Not because I want people to use them day to day, just because I want folks to be able to build new concurrency abstractions as the whole industry learns better ways to do things.
10:43 timotimo sure. this is work in a branch so far, so i'll get it to work and then worry about making it perfect
10:43 jnthn Sure :)
10:57 timotimo we need some adjustments so that we can somehow run the individual spectests with just make without being required for the parrot build to work
10:57 timotimo because right now parrot won't touch the Semaphore due to an unknown repr :P
10:58 jnthn timotimo: They are marked # jvm right now
10:58 jnthn timotimo: I suggest we add # conc
10:58 jnthn timotimo: And pass --conc to the harness for JVM/Moar.
10:59 timotimo that's not what i mean :)
11:00 timotimo the **/*.t ruel in the makefile depends on P_HARNESS_WITH_FUDGE or something
11:00 timotimo that P_ is what i meant
11:00 timotimo jnthn: how do you feel about AtomicInteger getting its own REPR?
11:01 berekuk joined #perl6
11:01 jnthn timotimo: It shouldn't.
11:02 timotimo that's right :)
11:02 timotimo but how do e differentiate if "make t/spec/foo/bar.t" means "do it with parrot" or whatever?
11:02 jnthn Oh, no idea
11:02 jnthn I never use that :)
11:03 timotimo should the method for tryAcquire have that same capitalization in perl6 as it does in java?
11:03 jnthn No
11:03 jnthn nqp::semtryacquire
11:03 timotimo i've given Semaphore a method to do that
11:07 jnthn ?
11:08 jnthn Oh, you mean at Perl 6 level?
11:08 jnthn Should be try_acquire there most probably...
11:08 timotimo good
11:08 jnthn Though really it doesn't matter what we call it; TimToady++ will spring up with a better name anyway. :D
11:08 timotimo This representation can not unbox to a native int   - that's what i get for my tryacquire ... huh
11:09 timotimo oh, i may need to recompile nqp perhaps?
11:09 timotimo nope :|
11:09 jnthn Unbox? Hm
11:10 jnthn Don't know we should be trying to do that.
11:10 timotimo yeah, i'm not sure what's causing the error
11:10 timotimo i'll try to golf it and see if that gives me any insight
11:11 timotimo ./perl6-j -e 'Semaphore.new(1).tryAcquire()'
11:11 timotimo that triggers it already
11:14 jnthn .tell hoelzro I think https://rt.perl.org//Public​/Bug/Display.html?id=119877 is fixed - please can you check?
11:14 yoleaux jnthn: I'll pass your message to hoelzro.
11:14 timotimo should i just push it to see what you think?
11:16 Rotwang joined #perl6
11:16 jnthn timotimo: Yeah, that may be the easiest way.
11:18 dalek rakudo/moar-conc: 51fb614 | (Timo Paulssen)++ | / (3 files):
11:18 dalek rakudo/moar-conc: first (nonworking) draft of Semaphore class
11:18 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/51fb614af6
11:18 timotimo there we go. good luck :)
11:19 timotimo oh, is that from "int $permits"?
11:20 jnthn timotimo: Hmm, I'm thinking the problem may not be in that code
11:20 jnthn Moment
11:21 jnthn QAST::OperationsJAST.map_clas​slib_core_op('semtryacquire', $TYPE_OPS, 'semtryacquire', [$RT_INT], $RT_OBJ, :tc);
11:21 jnthn There you are.
11:21 jnthn The thing in the square brackets are the op argument types
11:21 jnthn And the one to the right is the result type.
11:21 timotimo oooooh
11:21 timotimo haha :)
11:22 jnthn So your tryacquire is an i -> o op, not an o -> i one like you wanted :)
11:22 timotimo thanks
11:22 jnthn np :)
11:22 timotimo i'm kinda groggy >_
11:22 timotimo >_<
11:29 jnthn Maybe it's the low-sleep thing ;)
11:29 timotimo the amount fo sleep was sufficient, i think
11:29 timotimo but it was a mattress that was much softer than i'm used to and a pillow that was much smaller than i'm used to
11:30 timotimo well, it was a bit bigger, but it compressed much moar
11:30 jnthn ah
11:33 timotimo i should have seen that the stuff in the [ ] is the arguments, because that's a list and a list can also hold multiple things
11:33 timotimo unlike a retur nvalue, which is usually one thing
11:33 timotimo even if it's a list
11:35 dalek nqp/moar-conc: 00e4d36 | (Timo Paulssen)++ | src/vm/jvm/QAST/Compiler.nqp:
11:35 dalek nqp/moar-conc: confused returnval and argument types
11:35 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/00e4d36ea7
11:36 timotimo jnthn: the test file scheduler.t doesn't seem to terminate after the 55th test
11:37 jnthn timotimo: On JVM?
11:37 jnthn timotimo: Did you fudge it?
11:37 timotimo i didn't :(
11:37 jnthn oh, it's no fudge marks.
11:37 timotimo that would be it.
11:38 timotimo right, no fudge marks
11:38 jnthn timotimo: Did it terminate before your changes?
11:38 jnthn It does here...
11:38 timotimo didn't test :P
11:38 beastd joined #perl6
11:40 timotimo takes so long :(
11:40 timotimo i really liked the quick turnaround times on moarvm during development
11:41 timotimo i should probably support acquiring and try-acquiring more than 1 permit, right?
11:41 timotimo even though that's not needed yet
11:41 Zaydon joined #perl6
11:42 jnthn timotimo: No, don't add those
11:42 jnthn timotimo: They're not portably available.
11:42 timotimo oh, ok
11:42 timotimo that's good then
11:42 jnthn Well, it's not good, but it's how it is...
11:45 timotimo it does not terminate without my changes
11:47 jnthn Um.
11:48 * jnthn tries it
11:49 jnthn uh, once I have a JVM build...
11:51 timotimo that could take a while, aye :)
11:52 jnthn nah, 'tis done
11:55 timotimo the next thing we're going to see are mappings for the semaphore ops in nqp?
11:56 virtualsue joined #perl6
11:58 Ven next thing to do is build a jvm in perl6, I guess :)
11:58 jnthn timotimo: Feel free to add those, I don't have them here yet.
11:59 Ven you'd get the best perfs ever
12:00 Ven (that really seems like an interesting research project though)
12:01 jnthn timotimo: Hmm. I get the exit hang too when running the test solo, but not under the eval server. Huh...
12:11 pdcawley joined #perl6
12:17 timotimo jnthn: huh.
12:18 timotimo because the thread the test starts lives past the single program and reaches the 10000 seconds timeout? perhaps?
12:18 timotimo jnthn: i'll map them
12:19 kshannon joined #perl6
12:19 jnthn timotimo: Yeah, but they should be background/daemon threads, meaning they don't block termination.
12:20 timotimo ah, huh
12:20 jnthn timotimo: I'll have to dig a bit deeper on it.
12:21 jnthn timotimo: Currently researching/planning for the concurrent blocking queue thing we need for channels and the scheduler.
12:22 timotimo aye, that does sound good :)
12:23 berekuk joined #perl6
12:27 Timbus hm. i just stumbled into this today: http://rosettacode.org/wiki/Luhn_t​est_of_credit_card_numbers#Perl_6
12:28 Timbus and surely this is wrong:  my $s1 = [+] @digits[0,2...@digits.end];
12:28 Timbus the sequence, that is
12:30 jnthn timotimo: Yeah. I think I'll go for a 2-lock approach (separate head/tail locks) for now. That's what the JVM one is doing (turns out JVM one's source is public domain :))
12:31 Timbus m: my @a = <0 9 8 7>; say @a[0,2...@a.end];
12:31 camelia rakudo-moar bfe22c: OUTPUT«(timeout)»
12:33 Timbus m: my @a = <0 9 8 7>; say @a[0,2...*];
12:33 camelia rakudo-moar bfe22c: OUTPUT«0 8␤»
12:33 Timbus oh.
12:35 jnthn m: my @a = <0 9 8 7>; say @a[0,2...+@a];
12:35 camelia rakudo-moar bfe22c: OUTPUT«0 8 (Any)␤»
12:35 jnthn m: my @a = <0 9 8 7>; say @a[0,2...^+@a];
12:35 camelia rakudo-moar bfe22c: OUTPUT«0 8␤»
12:35 jnthn That may be better.
12:38 berekuk_ joined #perl6
12:38 tgt joined #perl6
12:40 timotimo i might need to write a test file for semaphores to ensure that the moarvm implementation is even right
12:41 jnthn We need one anyway.
12:41 Timbus m: my @a = <0 9 8 7>; say @a[1,3...^+@a];
12:41 camelia rakudo-moar bfe22c: OUTPUT«(timeout)»
12:42 jnthn Timbus: The ending condition has to be met exactly
12:42 jnthn Can put a code block there with a comparison op
12:43 timotimo i'm surprised ...* doesn't actually infiniloop; ... should interpret * manually, should it not?
12:43 timotimo m: say (0,2...*)[^50]
12:43 camelia rakudo-moar bfe22c: OUTPUT«0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98␤»
12:43 timotimo m: say (0,1...20)[(0,2...*)[^10]]
12:43 camelia rakudo-moar bfe22c: OUTPUT«0 2 4 6 8 10 12 14 16 18␤»
12:43 timotimo interesting
12:44 timotimo i'm not sure i understand.
12:45 JimmyZ libuv has a good queue.h file but it's without lock
12:45 Timbus at a guess its a whatevercode block inside the [], not a whatever being passed to the seq
12:46 timotimo Timbus: i know how the whatevercode generation code looks like :)
12:47 timotimo in my mental model, it shouldn't know about that there's a [ ] around it at the point where it encounters the ... operater
12:48 Timbus i think i follow you. after it's been given the size it.. huh.  why doesnt it infiniloop
12:49 Timbus m: my @a = <0 9 8 7>; say @a[1,3...*];
12:49 camelia rakudo-moar bfe22c: OUTPUT«9 7␤»
12:50 Timbus well im going to use that then. because: @a[1,3...^*>=@a] this is bad and i feel bad
12:58 jnthn JimmyZ: I don't see anything showing that's threadsafe, though. Plus it's not, afaict, public API.
13:01 JimmyZ oh, yeah, I didn't realize it's not public API
13:02 JimmyZ btw, will we need rwlock?
13:02 jnthn Don't think so.
13:31 hugme joined #perl6
13:34 dalek nqp/moar-conc: cd2f5c7 | (Timo Paulssen)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
13:34 dalek nqp/moar-conc: map semacquire, semtryacquire and semrelease on moar
13:34 dalek nqp/moar-conc: review: https://github.com/perl6/nqp/commit/cd2f5c7406
13:38 hoelzro good * #perl6
13:38 yoleaux 11:14Z <jnthn> hoelzro: I think https://rt.perl.org//Public​/Bug/Display.html?id=119877 is fixed - please can you check?
13:39 hoelzro jnthn: thanks, I'll check
13:42 timotimo jnthn: would a test file for semaphores help you/us? should it be a spectest or an nqp test?
13:45 jnthn timotimo: Since we're adding a user-visible Semaphore class, should be spectest.
13:46 jnthn timotimo: It warrants an S17 addition to.
13:46 jnthn *too
13:47 hoelzro timotimo, jnthn: did either of you get a chance to look at that multiple import moar bug I reported last night?
13:47 hoelzro https://rt.perl.org/Ticket/Display.html?id=121298
13:50 jnthn hoelzro: No, but got it open in a browser tab here. It's on my "to do soon" list
13:50 hoelzro ok, cool
13:51 hoelzro it was late when I reported it, so I wanted to make sure one of you had seen it =)
13:53 timotimo hoelzro: i did not get to it :(
13:53 timotimo but thank you kindly for golfing it
13:53 hoelzro np, it was interesting
13:55 timotimo i'll write a bit for the semaphore
13:55 timotimo the same kind of "use higher level instead if you can, but if you really, really, really need it, take this"
13:56 timotimo actually, time to attend a presentation
13:56 jnthn "Typically you should acquire a higher level solution; this is just a release valve." :P
14:02 timotimo :)
14:06 hoverboard joined #perl6
14:06 * timotimo puts lock and semaphore under a common section
14:07 jnthn wfm
14:11 xinming joined #perl6
14:11 timotimo do i need a code example to spice up the text or will an explanation of the operations suffice?
14:12 timotimo i'll also write that acquiring and releasing multiple permits at once is not supported on all backends, so will not be offered
14:14 JimmyZ Do we need AtomicInteger repr too?
14:14 dalek specs: 7f3f23c | (Timo Paulssen)++ | S17-concurrency.pod:
14:14 dalek specs: semaphore spec draft
14:14 dalek specs: review: https://github.com/perl6/specs/commit/7f3f23c8ee
14:15 timotimo JimmyZ: i asked it already and got no answer :P
14:15 JimmyZ :/
14:15 timotimo jnthn: there seems to be public interest in this :P
14:16 jnthn 10:59 <timotimo> jnthn: how do you feel about AtomicInteger getting its own REPR?
14:16 jnthn 11:00 <jnthn> timotimo: It shouldn't.
14:17 jnthn :P
14:17 timotimo oh
14:17 timotimo thank you! i didn't see that
14:17 jnthn ;)
14:17 jnthn We'll get rid of it for now by doing a lock, and later we'll add CAS primitives.
14:17 JimmyZ I didn't see the Q&A :P
14:18 jnthn np :)
14:18 beastd|2 joined #perl6
14:19 JimmyZ I'm just thinking how to do CAS ...
14:19 [Sno]_ joined #perl6
14:20 jnthn JimmyZ: Needs rather careful design, as it needs to co-opt REPRs too...
14:20 beastd|3 joined #perl6
14:20 timotimo we'll be able to atomically CAS any P6opaque?
14:21 hoelzro jnthn: thanks, it's fixed
14:21 jnthn timotimo: Not sure at present. I need to look at where the boundaries lie on JVM.
14:22 kst` joined #perl6
14:22 FROGGS__ joined #perl6
14:22 takesako___ joined #perl6
14:23 darutoko- joined #perl6
14:23 Yappo__________6 joined #perl6
14:23 flussenc1 joined #perl6
14:23 avuserow3 joined #perl6
14:23 LordVorp joined #perl6
14:23 rhr joined #perl6
14:24 Sqirrel_ joined #perl6
14:24 PerlPilot joined #perl6
14:24 bonsaikitten joined #perl6
14:24 skids1 joined #perl6
14:25 bjz joined #perl6
14:25 daniel-s__ joined #perl6
14:25 integral joined #perl6
14:25 integral joined #perl6
14:26 risou_awy joined #perl6
14:26 Ulti_ joined #perl6
14:26 tadzik joined #perl6
14:26 d4l3k_ joined #perl6
14:26 tokuhirom_ joined #perl6
14:27 Timbus joined #perl6
14:28 Alina-malina joined #perl6
14:28 Exodist joined #perl6
14:28 Zaydon_ joined #perl6
14:28 d4l3k_ nqp/moar-conc: 7e9f1f0 | jnthn++ | src/vm/jvm/ (5 files):
14:28 d4l3k_ nqp/moar-conc: Add concurrent blocking queue REPR, queuepoll op.
14:28 d4l3k_ nqp/moar-conc:
14:28 d4l3k_ nqp/moar-conc: The rest of the operations you can do on it are comfortably provided
14:28 d4l3k_ nqp/moar-conc: by existing REPR operations.
14:28 d4l3k_ nqp/moar-conc: review: https://github.com/perl6/nqp/commit/7e9f1f08de
14:34 timotimo joined #perl6
14:37 yakudza joined #perl6
14:39 Yappo__________6 joined #perl6
14:39 16WAAS17J joined #perl6
14:48 mtj_ joined #perl6
14:49 cosimo joined #perl6
14:49 hugme joined #perl6
14:49 breinbaas joined #perl6
14:50 tgt joined #perl6
14:50 mtk joined #perl6
14:50 [Sno] joined #perl6
14:50 Vlavv joined #perl6
14:50 mavcunha joined #perl6
14:50 Tene joined #perl6
14:50 Tene joined #perl6
14:50 eternaleye joined #perl6
14:50 yeltzooo joined #perl6
14:51 synopsebot joined #perl6
14:51 robinsmidsrod joined #perl6
14:51 telex joined #perl6
14:51 berekuk joined #perl6
14:51 dalek rakudo/moar-conc: 00bea53 | jnthn++ | src/vm/jvm/core/Channel.pm:
14:51 dalek rakudo/moar-conc: Switch Channel to use ConcBlockingQueue REPR.
14:51 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/00bea5302a
14:51 dalek rakudo/moar-conc: 91db1ed | jnthn++ | / (3 files):
14:51 dalek rakudo/moar-conc: Channel is now not JVM-specific; more to src/core.
14:51 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/91db1ed124
14:51 dalek rakudo/moar-conc: 0059a35 | jnthn++ | src/vm/jvm/core/ThreadPoolScheduler.pm:
14:51 itz joined #perl6
14:51 dalek rakudo/moar-conc: Switch ThreadPoolScheduler to ConcBlockingQueue.
14:51 dalek rakudo/moar-conc:
14:51 dalek rakudo/moar-conc: Still a number of JVM-specific things to go in the scheduler, however.
14:51 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/0059a355dc
14:52 gfldex joined #perl6
15:03 ilbot3 joined #perl6
15:03 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
15:03 hugme joined #perl6
15:03 itz joined #perl6
15:03 Vlavv joined #perl6
15:03 eiro joined #perl6
15:03 lee_ joined #perl6
15:04 FOAD joined #perl6
15:04 eternaleye joined #perl6
15:04 synopsebot joined #perl6
15:04 sjohnson joined #perl6
15:04 cooper joined #perl6
15:04 raydiak_ joined #perl6
15:05 revdiablo joined #perl6
15:05 rjbs joined #perl6
15:05 d^_^b joined #perl6
15:06 d^_^b joined #perl6
15:06 sunnavy joined #perl6
15:06 [Coke] joined #perl6
15:08 renormalist joined #perl6
15:08 erkan joined #perl6
15:08 huf joined #perl6
15:08 __sri joined #perl6
15:08 zamolxes joined #perl6
15:09 Ulti joined #perl6
15:11 breinbaas joined #perl6
15:12 rurban joined #perl6
15:12 zakharyas joined #perl6
15:13 16WAAS17J joined #perl6
15:13 pochi joined #perl6
15:18 lizmat joined #perl6
15:18 Nei_ joined #perl6
15:20 ilbot3 joined #perl6
15:20 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
15:20 Nei joined #perl6
15:24 cxreg joined #perl6
15:27 silug__ joined #perl6
15:27 hugme joined #perl6
15:29 ilbot3 joined #perl6
15:29 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
15:29 berekuk_ joined #perl6
15:29 itz_ joined #perl6
15:30 eternaleye joined #perl6
15:30 Celelibi joined #perl6
15:30 perigrin joined #perl6
15:30 yakudzo joined #perl6
15:31 cooper_ joined #perl6
15:31 sjohnson1 joined #perl6
15:31 mtj_ joined #perl6
15:31 mattp__ joined #perl6
15:31 felher joined #perl6
15:31 apejens joined #perl6
15:31 ivan`` joined #perl6
15:33 masak__ joined #perl6
15:33 segomos joined #perl6
15:34 JimmyZ joined #perl6
15:34 Alina-malina joined #perl6
15:34 masak__ wow. that was some netsplit.
15:34 breinbaas joined #perl6
15:36 masak joined #perl6
15:36 SHODAN joined #perl6
15:36 bjz joined #perl6
15:36 vendethiel joined #perl6
15:36 ingy1 joined #perl6
15:36 stevan_ joined #perl6
15:36 berekuk joined #perl6
15:36 xfix joined #perl6
15:37 darutoko joined #perl6
15:37 cibs joined #perl6
15:37 sftp_ joined #perl6
15:37 TimToady one of those days you read both backlogs to make sure you didn't miss something in the netsplits
15:37 Ulti joined #perl6
15:59 ilbot3 joined #perl6
15:59 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
16:00 sunnavy joined #perl6
16:05 ivan`` joined #perl6
16:05 Psyche^ joined #perl6
16:07 crazedpsyc joined #perl6
16:07 synopsebot joined #perl6
16:08 Rotwang joined #perl6
16:08 itz joined #perl6
16:08 crazedpsyc joined #perl6
16:09 gtodd joined #perl6
16:11 mtk joined #perl6
17:34 ilbot3 joined #perl6
17:34 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
17:34 nwc10 joined #perl6
17:35 revdiablo joined #perl6
17:38 cxreg joined #perl6
17:38 sunnavy joined #perl6
17:38 retupmoca joined #perl6
17:41 ilbot3 joined #perl6
17:41 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
17:47 yakudza joined #perl6
17:47 itz joined #perl6
17:48 lee joined #perl6
17:48 telex joined #perl6
17:48 stevan_ joined #perl6
17:48 Tene joined #perl6
17:48 revdiablo joined #perl6
17:49 perigrin joined #perl6
17:49 SHODAN joined #perl6
17:49 ribasushi joined #perl6
17:49 sunnavy joined #perl6
17:49 Mouq p6: /\#/
18:15 ilbot3 joined #perl6
18:15 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
18:16 segomos joined #perl6
18:16 JimmyZ joined #perl6
18:17 salv0 joined #perl6
18:17 colomon joined #perl6
18:17 retupmoca joined #perl6
18:17 Psyche^ joined #perl6
18:18 FOAD joined #perl6
18:18 dalek nqp: 8aab212 | Mouq++ | src/QRegex/P6Regex/Grammar.nqp:
18:18 dalek nqp: Make unspace-in-regex error message more helpful
18:18 dalek nqp: review: https://github.com/perl6/nqp/commit/8aab2120a1
19:58 ilbot3 joined #perl6
19:58 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
19:59 xinming joined #perl6
20:21 ilbot3 joined #perl6
20:21 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
20:23 djanatyn joined #perl6
20:23 lestrrat joined #perl6
21:12 ilbot3 joined #perl6
21:12 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
21:23 Adriaaan joined #perl6
21:30 dalek rakudo-star-daily: a71a0b1 | coke++ | log/ (5 files):
21:30 dalek rakudo-star-daily: today (automated commit)
21:30 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/a71a0b15bc
21:30 dalek perl6-roast-data: d4f2138 | coke++ | / (6 files):
21:30 dalek perl6-roast-data: today (automated commit)
21:30 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/d4f213846c
21:34 arnsholt joined #perl6
21:36 xenoterracide joined #perl6
21:39 dmol joined #perl6
22:00 Mouq r: say (set <a b c>)<d>
22:00 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«False␤»
22:00 Mouq r: say (bag <a b c>)<d>
22:00 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«0␤»
22:01 Mouq r: say Bag.new-fp(a => 0)<a>:exists
22:01 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«False␤»
22:01 Mouq r: say (BagHash.new<a> = 0)<a>:exists
22:01 camelia rakudo-moar b2b333: OUTPUT«Invocant requires a type object, but an object instance was passed␤  in method exists_key at src/gen/m-CORE.setting:1494␤  in block  at src/gen/m-CORE.setting:1996␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2532␤  in sub postcircumfix:<…»
22:01 camelia ..rakudo-jvm b2b333: OUTPUT«False␤»
22:01 camelia ..rakudo-parrot b2b333: OUTPUT«Invocant requires a type object, but an object instance was passed␤  in method exists_key at gen/parrot/CORE.setting:1498␤  in block  at gen/parrot/CORE.setting:2000␤  in sub postcircumfix:<{ }> at gen/parrot/CORE.setting:2536␤  in sub postcircum…»
22:02 Mouq r: say ((my$=BagHash.new)<a> = 0)<a>:exists
22:02 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay ((my$=BagHash[33mâ��[31m.new)<a> = 0)<a>:exists[0mâ�¤    expecting any of:â�¤        s…»
22:02 Mouq r: say ((my$ =BagHash.new)<a> = 0)<a>:exists
22:02 camelia rakudo-moar b2b333: OUTPUT«Invocant requires a type object, but an object instance was passed␤  in method exists_key at src/gen/m-CORE.setting:1494␤  in block  at src/gen/m-CORE.setting:1996␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2532␤  in sub postcircumfix:<…»
22:02 camelia ..rakudo-jvm b2b333: OUTPUT«False␤»
22:02 camelia ..rakudo-parrot b2b333: OUTPUT«Invocant requires a type object, but an object instance was passed␤  in method exists_key at gen/parrot/CORE.setting:1498␤  in block  at gen/parrot/CORE.setting:2000␤  in sub postcircumfix:<{ }> at gen/parrot/CORE.setting:2536␤  in sub postcircum…»
22:02 Mouq good job JVM?
22:05 bjz joined #perl6
22:05 timotimo joined #perl6
22:05 pnu_ joined #perl6
22:05 ruoso_ joined #perl6
22:05 sftp_ joined #perl6
22:05 Celelibi joined #perl6
22:05 Guest6000 joined #perl6
22:05 __sri joined #perl6
22:05 zamolxes joined #perl6
22:10 pippo left #perl6
22:14 lue Sometimes I wish the versioning of perl6 for modules, in ~/.perl6, wasn't so granular; if I find myself updating rakudo a lot, I have to reinstall panda and modules a lot :(
22:16 pippo_ joined #perl6
22:22 itz joined #perl6
22:24 ivan`` joined #perl6
22:28 crazedpsyc joined #perl6
22:32 pippo /help say
22:34 berekuk joined #perl6
22:34 Mouq pippo: http://doc.perl6.org/routine/say ;P
22:35 pippo Mouq: sorry for the spamming. I was asking chatzilla help on the say command. It was not perl6's help.
22:36 pippo Mouq: I do not know why it echoed on the chat.
22:36 pippo :-)
22:38 Mouq pippo: I know :)
22:38 pippo :-))
22:40 pippo Mouq: have you got perl6-j on your box and few minutes to do a test?
22:40 Guest6000 joined #perl6
22:40 geekosaur accidentally doubled the / ? some clients will send that to the channel
22:41 pippo geekosaur: I think so.
22:43 pippo On my Linux box when I use the perl6-j REPL I have a strange behavior.
22:44 pippo I start with "my $s = "Helloooooooo"; $s ~~ s/o+/o/; say $s;" and it returns "Hello". which is correct.
22:45 pippo Then I  type "$s = "Helloooooooo"; $s ~~ s/o+/o/; say $s;" and I get "Helloooooooo" ?
22:46 pippo The strange fact is that it happens only when I use the perl6-j REPL.
22:48 Mouq r: my $s = "Helloooooooo"; $s ~~ s/o+/o/; say $s; do { $s = "Helloooooooo"; $s ~~ s/o+/o/; say $s; }
22:48 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«Hello␤Hello␤»
22:48 Mouq r: my $s = "Helloooooooo"; $s ~~ s/o+/o/; say $s; do { my $s = "Helloooooooo"; $s ~~ s/o+/o/; say $s; }
22:48 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«Hello␤Hello␤»
22:49 lue Any idea why spurt() sets u+x and the sticky bit ?
22:50 TimToady oct vs dec confusion?
22:51 Nei left #perl6
22:52 pippo Mouq: I tried your line on the REPL after I restarted it and it correctly gives "Hello" "Hello". But when afterwards I type a new command line it will not work anymore.
22:53 pippo Mouq: I think you have to have a perl6-j installed to check what I am saying. Anyway it is not a problem. I was just curious if it was only my box (or me :-))
22:58 Mouq pippo: I need to rebuild my perl6-j, but sure, I'll check
23:01 pippo Thank you Mouq!
23:07 berekuk joined #perl6
23:13 Mouq pippo: Bug re-created
23:18 araujo joined #perl6
23:23 * Mouq has no idea what the problem is
23:23 pippo Mouq: Thank you! It was not me :-)
23:28 Mouq r: Buf ~~ Blob
23:28 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: ( no output )
23:28 Mouq r: say Buf ~~ Blob
23:28 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«True␤»
23:31 Mouq lue: pod_vvi should probably eat "=encoding utf8\n"
23:31 lue Mouq: true, I remember thinking about that :)
23:32 lue I'm worried pod_vvi is suddenly taking on a hackish appearance because I'm trying to make it Just Work™ on the synopses. The formatting codes are also a bit of the mess, partially due to NYI stuff.
23:33 Mouq lue: I would love if **{} worked :| I don't have any direction for how to make it work though
23:34 lue Usually I'd jump to EVAL, but that would in this case look something like <?{EVAL("/atom**{$0.chars}/")}> if I bothered
23:34 jeffreykegler joined #perl6
23:35 * lue would love it for "use of uninitialized value of type Any in string context" to be a useful error message on perl6-m :/
23:36 Mouq lue: I could make it parse :D but I think something has to be changed with regex ASTs to make it work and for me that's a http://media.giphy.com/med​ia/3d6fRYza2OfE4/giphy.gif
23:36 lue It can already be parsed though, at least far enough for a custom error :)
23:37 go|dfish joined #perl6
23:38 labster joined #perl6
23:38 lue I wonder if how <?{}> works could be adapted for **{} ...
23:40 rurban1 joined #perl6
23:41 Mouq <?{}> has its own :rxtype...
23:41 ilogger2 joined #perl6
23:43 Mouq lue: What I mean is that <?{}> can put the AST of its contents into the tree. Quantifiers work by creating a partial AST node with how many repetitions it allows as named params, and then whatever it's quantifying injects itself into that node
23:44 Mouq lue: So the way things are now, AFAIK you'd have to get **{}'s compile time value
23:44 Mouq or something
23:44 Mouq :/
23:45 lue Hrm, compile time won't cut it, 'cos you could always use bare ** for those :)
23:45 Mouq r: =for pod :test(1+12)␤content␤␤say $=pod.perl
23:45 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ("test" => "1+12").hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("content")))))␤»
23:46 Mouq lue: Yeah, I didn't think so
23:46 Mouq lue: So something would have to be restructured
23:46 erkan joined #perl6
23:46 bjz joined #perl6
23:46 timotimo joined #perl6
23:46 pnu_ joined #perl6
23:46 ruoso_ joined #perl6
23:46 sftp_ joined #perl6
23:46 Celelibi joined #perl6
23:46 __sri joined #perl6
23:46 zamolxes joined #perl6
23:46 lue I wonder if **{} would require a retooling of how quantifiers work, or a separate node type
23:47 Mouq also see
23:47 Mouq r: say "a b c" ~~ /:s(True) \w +/
23:47 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«Nil␤»
23:47 Mouq r: say "a b c" ~~ /:s \w +/
23:47 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«「a b c」␤␤»
23:49 Mouq (although that's partially an issue with the way the grammar handles :s)
23:49 Mouq n: say "a b c" ~~ /:s(True) \w +/
23:49 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Action method mod_arg not yet implemented at /tmp/Lpz5NyMx2P line 1:â�¤------> [32msay "a b c" ~~ /:s(True)[33mâ��[31m \w +/[0mâ�¤â�¤Unhandled exception: Cannot parse number: (True)â�¤  at /home/p6eval/niecza/bo…»
23:50 Mouq std: say "a b c" ~~ /:s(True) \w +/
23:50 camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
23:56 bnebheni joined #perl6

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

Perl 6 | Reference Documentation | Rakudo