Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-05-07

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:20 BenGoldberg joined #perl6
00:30 [Coke] huh. looks like I might have had some stray rakudo.jvm build processes laying around on the daily test box. might explain why today's build ran OOM.
00:34 plobsing joined #perl6
00:44 [Coke] looks like. hopefully next run, all 3 will work.
00:52 colomon [Coke]++
00:56 dayangkun_ joined #perl6
01:00 rurban joined #perl6
01:09 Su-Shee_ joined #perl6
01:45 klapperl joined #perl6
01:46 ilbot3 joined #perl6
01:46 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!
01:51 colomon m: say "132".chars
01:51 camelia rakudo-moar 1a28ed: OUTPUT«3␤»
01:51 colomon m: say 132.chars
01:51 camelia rakudo-moar 1a28ed: OUTPUT«3␤»
02:01 thou joined #perl6
02:18 colomon Perl6::Tracer?
02:19 colomon Hmmm, interestingly low tech solution there.
02:24 rurban joined #perl6
02:24 donaldh joined #perl6
02:30 grondilu joined #perl6
02:30 grondilu r: END BEGIN say "A"; say "B"; BEGIN END say "C";
02:30 camelia rakudo-{parrot,jvm,moar} 1a28ed: OUTPUT«A␤B␤C␤»
02:32 jnap joined #perl6
02:39 fhelmberger joined #perl6
02:42 bjz joined #perl6
02:51 hoverboard joined #perl6
03:10 thou joined #perl6
03:33 jnap joined #perl6
03:36 Alula joined #perl6
03:38 lvfjf joined #perl6
03:50 kurahaupo joined #perl6
03:53 rurban joined #perl6
04:10 SamuraiJack joined #perl6
04:21 anaeem1 joined #perl6
04:25 SamuraiJack_ joined #perl6
04:32 cooper joined #perl6
04:34 jnap joined #perl6
04:40 dwoldrich joined #perl6
04:46 molaf joined #perl6
04:50 hoelzro joined #perl6
04:55 kaleem joined #perl6
05:01 denis_boyun joined #perl6
05:22 nwc10 http://fwierzbicki.blogspot.co.at/20​14/05/jython-27-beta2-released.html
05:23 nwc10 although [hard to explain this in polite words] system won't actually show you any content without JavaScript enabled
05:23 nwc10 the basic content plain text - why so many levels of stupid?
05:25 nwc10 oh yes, JS needed from two seemingly unrelated domains
05:26 xiaomiao ah, blarghspot
05:26 nwc10 "…you will see that we are about to have a report from the hairdressers fire development subcommittee today. "
05:26 nwc10 etc
05:26 xiaomiao they still have a CSS fuckup that covers the first ~20 lines of text
05:26 kaare_ joined #perl6
05:27 xiaomiao nwc10: I guess the URL contains all the interesting stuff anyway
05:27 nwc10 xiaomiao: yes. that's an excellent summary
05:27 nwc10 also, it doesn't seen to be mentioned on jython.org yet
05:28 xiaomiao the best part about all that JS is that it slows down page load times to at best ~15sec for me, if I were to allow everything
05:29 xiaomiao a static html dump would be a lot more useful
05:31 FROGGS joined #perl6
05:33 [Sno] joined #perl6
05:34 jnap joined #perl6
05:43 grondilu std: say q{[foo] bar} ~~ / '[' ~ ']' .* /;
05:43 camelia std ec3d853: OUTPUT«ok 00:01 125m␤»
05:43 grondilu r: say q{[foo] bar} ~~ / '[' ~ ']' .* /;
05:43 camelia rakudo-jvm 1a28ed: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤  in any FAILGOAL at gen/jvm/stage2/QRegex.nqp:1146␤  in method ACCEPTS at gen/jvm/CORE.setting:13026␤  in block  at /tmp/tmpfile:1␤␤»
05:43 camelia ..rakudo-moar 1a28ed: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤  in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1146␤  in method ACCEPTS at src/gen/m-CORE.setting:13083␤  in block  at /tmp/tmpfile:1␤␤»
05:43 camelia ..rakudo-parrot 1a28ed: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤  in any FAILGOAL at gen/parrot/stage2/QRegex.nqp:1143␤  in regex  at /tmp/tmpfile:1␤  in method ACCEPTS at gen/parrot/CORE.setting:13049␤  in method ACCEPTS at gen/parrot/CORE.setting:794…»
05:44 grondilu n: say q{[foo] bar} ~~ / '[' ~ ']' .* /;
05:44 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to parse anonymous regex␤Couldn't find final ']'; gave up␤  at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2962 (Cursor.FAILGOAL @ 6) ␤  at /tmp/pRPpFHh7x…»
05:44 grondilu :/
05:44 TimToady the final ']' is a hard requirement, not something to backtrack from
05:46 TimToady it's hard to produce the correct error message otherwise
05:46 * grondilu doesn't understand
05:46 rurban joined #perl6
05:47 TimToady you can't commit to an error message without a commit point
05:48 TimToady so this is optimized for writing grammars where the inner expression naturally excludes the terminator
05:48 TimToady and you can always write '[' .* ']' to mean the other thing
05:49 TimToady but when a .* is backtracking, it doesn't know what caused it to backtrack
05:49 TimToady and if it doesn't know, it can't tell the user what is missing
05:51 grondilu ok
05:51 TimToady '[' ~ ']' <thing> is really shorthand for '[' <thing> [ '[' || <.panic: "Couldn't find '['> ]
05:52 TimToady er, find ']' rather
05:55 Woodi morning ! :)
05:56 SamuraiJack_ joined #perl6
06:00 Woodi installing star usualy was like: unpack, cd parrot && install, cd ../nqp && install, cd .., configure && install. but 2014.14 requires additional: cd rakudo configure && cd .. && make && make install   it gives me .moarvm modules files
06:05 TimToady I just did: perl Configure.pl --backend=parrot,jvm,moar --gen-parrot --gen-moar, then 'make' and 'make install' like it said in the README, and it seems to have worked fine
06:06 TimToady though, oddly, the perl6 in the top dir was parrot's while the perl6 in the bin dir was java's
06:06 TimToady (and I really wanted it to be moar's, oh well)
06:08 masak morning, #perl6
06:10 TimToady o/
06:28 masak vaskozl_:
06:28 masak $ (echo "line one"; echo "line two") | perl6 -pe '$_ ~= "!"'
06:28 masak line one!
06:28 masak line two!
06:28 masak oh, I was talking to a stale backlog -- sorry ;)
06:29 masak anyway, I disagree that this behavior sucks. it feels like a very sane default to me.
06:34 berekuk joined #perl6
06:34 benabik joined #perl6
06:35 jnap joined #perl6
06:42 masak r: 0x0123456789abcdef.perl.say
06:42 camelia rakudo-moar 1a28ed: OUTPUT«81985529216486896␤»
06:42 camelia ..rakudo-{parrot,jvm} 1a28ed: OUTPUT«81985529216486895␤»
06:42 masak skids: is that one rakudobug-submitted?
06:44 darutoko joined #perl6
06:47 rurban joined #perl6
06:50 FROGGS joined #perl6
06:51 FROGGS Woodi: you should get a nice message including examples when you run 'Configure.PL' in latest star without the --backends option
06:52 FROGGS Woodi: so, best is to not cd into parrot at all, but let Configure.PL do this for you
06:53 zakharyas joined #perl6
06:54 FROGGS r: say $*EXECUTABLE; say $*EXECUTABLE_NAME
06:54 camelia rakudo-jvm 1a28ed: OUTPUT«IO::Path</home/p6eval/raku​do-inst-2/bin/perl6-j>␤perl6-j␤»
06:54 camelia ..rakudo-parrot 1a28ed: OUTPUT«IO::Path</home/p6eval/rakudo-inst/​bin/perl6-p>␤./rakudo-inst/bin/perl6-p␤»
06:54 camelia ..rakudo-moar 1a28ed: OUTPUT«IO::Path</home/p6eval/rak​udo-inst/bin/perl6-m>␤perl6-m␤»
06:54 rurban joined #perl6
06:55 Woodi I trying to use Perl6 software like normal software so I never use --gen-*. VM is one piece and probably rest are too... so why making it different from apache, etc ?
06:55 masak in preparing code examples and demos for the Python course, I was impressed by many things. but when I got to looping over lines, and I had to manually chomp off the newline, I went "man, that's so primitive".
06:55 domidumont joined #perl6
06:56 masak it doesn't get better by Python basically only having .rstrip for this. which is wrong for two reasons: (a) what if I want to get rid of the newline but keep other (horizontal) whitespace around? (b) that 'r' in 'rstrip' is not very considerate of RTL languages.
06:57 Woodi and configure in star top dir didn't generate rakudo/Makefile
06:57 FROGGS Woodi: before 2014.04 the configure script assumed that there is only parrot out there, which is not true anymore
06:57 FROGGS Woodi: so instead of start running and building something that the user might not want, it asks you for details
06:57 FROGGS Woodi: I don't see any problems with that
06:58 kaleem joined #perl6
06:58 FROGGS for normal configure scripts you also have options like: --with-tls and --no-tls
06:58 Woodi do --gen assumes install into ./install ?
06:58 FROGGS we just don't have a default for --backends
06:59 FROGGS --gen has nothing todo with --prefix, no
06:59 Woodi I thinked it was before
06:59 FROGGS no
06:59 FROGGS if you omit --prefix, it defaults to ./install
07:00 FROGGS I think when MoarVM is more and more mature, it might be the default for star (for one because it builds within a fraction of the others)
07:01 Woodi so I probably need just --prefix and --backend switches
07:01 FROGGS but we need to get rid of another 80% of the precomp bugs and need to get concurrency stable
07:01 FROGGS Woodi: no, you need the --gen-moar --gen-parrot also I think
07:02 Woodi --gen-usually was for cloning from github...
07:02 FROGGS because otherwise it assumes that these are already built, and complains otehrwise
07:02 FROGGS --gen will only clone when the requested revision is not already there as a folder
07:02 FROGGS which is never true for star
07:03 FROGGS so,  perl Configure.pl --backends=moar,jvm,parrot --gen-moar --gen-parrot  is all you need
07:03 FROGGS (until we decide to set defaults)
07:04 FROGGS but then you probably get moar only
07:04 FROGGS at least, that is my gut feeling
07:04 Woodi ah, right. so I still like to install them manually :)
07:04 FROGGS that is still an option :o)
07:05 thou if moar and nqp are in your PATH and recent enough, you won't need --gen-*
07:06 FROGGS either PATH or --prefix (or ./install/bin/* is prefix wasn't set)
07:06 thou yeah
07:06 FROGGS at least that is what it *should* do
07:06 Woodi actually PATH-way do not work... I instal into /opt/somewhere and link to /opt/bin and nqp do not see moar
07:07 FROGGS Woodi: can't you override PATH during build-time?
07:08 Woodi hmm, override ? I'm forced to specify --prefix...
07:09 Woodi parrot-nqp and -rakudo detect corectly, with moar I need to use --prefix for everything
07:09 FROGGS yes, but to find moar you could do: PATH="/path/to/moar/bin/:$PATH" your-build-script.sh
07:09 Woodi horror...
07:10 FROGGS but I don't know the details, so there might be an opportunity to fix something about your issues withing moar/nqp/rakudo's build scripts
07:10 Woodi I have correct PATH setup in .bashrc (probably) :)
07:11 Woodi FROGGS: actually I comfortably cloned 'perl Configure.pl --prefix=/opt/lib/graft/star-201404 --backend=moar' + \n in few subdirs and everything installed correctly :)
07:12 FROGGS okay :o)
07:12 Woodi then links to /opt/bin and can use Perl6 :)
07:14 xiaomiao mmh, I do like having a package manager take care of all those weird details ... :)
07:15 masak r: 0x0123456789abcdef.perl.say
07:15 camelia rakudo-moar 1a28ed: OUTPUT«81985529216486896␤»
07:15 camelia ..rakudo-{parrot,jvm} 1a28ed: OUTPUT«81985529216486895␤»
07:15 * masak submits rakudobug
07:25 rindolf joined #perl6
07:28 kaare_ joined #perl6
07:36 jnap joined #perl6
07:49 kaare_ joined #perl6
07:55 rurban joined #perl6
08:12 moritz n: 0x0123456789abcdef.perl.say
08:13 camelia niecza v24-109-g48a8de3: OUTPUT«81985529216486895␤»
08:13 moritz r: say 81985529216486896 - 81985529216486895
08:13 camelia rakudo-{parrot,jvm} 1a28ed: OUTPUT«1␤»
08:13 camelia ..rakudo-moar 1a28ed: OUTPUT«0␤»
08:13 moritz at least moar is consistent :-)
08:14 moritz m: say 81985529216486896 * 2
08:14 camelia rakudo-moar 1a28ed: OUTPUT«163971058432973792␤»
08:14 kaare__ joined #perl6
08:17 virtualsue joined #perl6
08:18 igorsutton joined #perl6
08:18 dalek rakudo/nom: 8574c4f | (Tobias Leich)++ | / (2 files):
08:18 dalek rakudo/nom: obtain execname from runner scripts for jvm too
08:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8574c4fe69
08:21 sergot hi o/ !
08:27 masak ooh, Crockford++ wants to introduce the infix:<~> concatenation operator into JavaScript. http://www.techtalkshub.com/douglas​-crockford-way-forward-javascript/
08:27 masak I wonder where he got that symbol from? :>
08:28 beastd joined #perl6
08:29 beastd joined #perl6
08:29 nwc10 :-)
08:30 nwc10 that's one measure of success - people are now stealing stuff
08:31 vendethiel good thing crockford can't exactly do what he wants, though
08:33 vendethiel but yep, we know where that's coming from (C of course)
08:33 vendethiel (C has far too many string manipulation operators, while we're at it :P)
08:34 vendethiel optional static type checking ? he's probably better just writing a p6-js backend :p
08:34 tadzik um, ~ doesn't concat strings in C
08:34 tadzik frankly, nothing concats strings in C
08:35 vendethiel that's the joke
08:35 tadzik oh :)
08:35 tadzik I'll go get a coffee
08:36 masak not concating strings with an operator is the least of C's string-related problems.
08:36 vendethiel maybe that's because C doesn't have strings :p
08:37 jnap joined #perl6
08:37 * masak .oO( "arrays of bytes ought to be enough for everyone" )
08:38 vendethiel I actually think C++ is getting a string::split function in C++14 or C++17 ! (need to check C++1y) This is revolutionary
08:41 tadzik I didn't even write "goan get a coffee", as I usually do. What a morning
08:41 tadzik starting from a broken metro/underground/subway
08:42 masak dang, all three of them broken at the same time? :P
08:42 denis_boyun_ joined #perl6
08:43 vendethiel .oO( not worth the hassle having them all )
08:44 tadzik heh, I wish we had more than one. Or, today, even one :D
08:45 xiaomiao I find such transportation quite convenient
08:45 xiaomiao as long as they don't collide and the escalators don't spontaneously reverse direction
08:48 vendethiel (and as long people don't pull the emergency stop thingie or even suicide ...)
08:50 tadzik yeah, that sucks
08:51 dmol joined #perl6
08:54 fhelmberger joined #perl6
08:56 rurban joined #perl6
08:57 aindilis joined #perl6
08:58 dalek doc: 9cc0b14 | (Tobias Leich)++ | lib/variables.pod:
08:58 dalek doc: document $*EXECUTABLE and note caveats of $*EXECUTABLE_NAME
08:58 dalek doc: review: https://github.com/perl6/doc/commit/9cc0b143d2
09:01 FROGGS hmmmm, p-clean wipes dynext/*.so, which also cleans up dynext/libperl6_ops_moar.so :(
09:02 xfix joined #perl6
09:05 dalek rakudo/nom: a64b6df | (Tobias Leich)++ | tools/build/Makefile-Parrot.in:
09:05 dalek rakudo/nom: p-clean should only clean up its own libs
09:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a64b6dfdd8
09:06 FROGGS ~/dev/rakudo/t$ perl6-p -e 'say $*EXECUTABLE; say $*EXECUTABLE_NAME'
09:06 FROGGS IO::Path</home/froggs/dev/rakudo/t/perl6-p>
09:06 FROGGS perl6-p
09:06 FROGGS okay, that one wants fixing
09:21 spider-mario joined #perl6
09:23 pecastro joined #perl6
09:33 anaeem1__ joined #perl6
09:37 jnap joined #perl6
09:42 zakharyas1 joined #perl6
09:53 Alina-malina joined #perl6
09:57 rurban joined #perl6
10:24 Alina-malina joined #perl6
10:27 lizmat good *, #perl6!
10:31 sjn m: good *; #perl6
10:31 camelia rakudo-moar a64b6d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/HcLFpOz0xzâ�¤Undeclared routine:â�¤    good used at line 1â�¤â�¤Â»
10:32 sjn aw :/
10:32 sjn m: *.good;
10:32 camelia rakudo-moar a64b6d: ( no output )
10:37 Alina-malina joined #perl6
10:38 jnap joined #perl6
10:43 kivutar joined #perl6
10:47 colomon *.good indeed
10:49 * lizmat has been wondering about pragma's and the interaction with S11's use auth/ver capabilities
10:49 Alina-malina joined #perl6
10:49 lizmat feels to me that conflating pragma's and "use" is so 20th century
10:50 * FROGGS wonders now also
10:50 cibs joined #perl6
10:50 lizmat do we want pragma's to also have auth/ver ?
10:50 FROGGS hmmm
10:50 FROGGS dunno
10:51 FROGGS when they are moduleish, perhaps
10:51 FROGGS I mean, the one pragma we have atm is just a module with a lowercase name
10:52 lizmat and which is faulty, really (assuming you're referring to "use lib" )
10:52 Alina-malina joined #perl6
10:52 lizmat the other is of course "use MONKEYTYPING"
10:52 FROGGS why is it faulty?
10:52 rindolf joined #perl6
10:52 lizmat because it's influence isn't scoped
10:52 lizmat *its
10:53 FROGGS ahh
10:53 FROGGS well, that is doable
10:53 lizmat sure...   :-)
10:54 lizmat however, I'm starting to lean towards "pragma {}" being a first class citizen
10:54 lizmat like module / class / grammar
10:54 FROGGS hmmm
10:54 FROGGS does it have another behaviour?
10:55 FROGGS or other defaults?
10:55 lizmat well, something like:
10:56 lizmat pragma { switch-on { code to switch on pragma } switch-off { code to switch off pragma } }
10:56 FROGGS ahh, the support for 'no something'
10:56 lizmat when invoked, e.g. with "override strict"
10:57 lizmat yes
10:57 lizmat but without the "no"  :-)
10:57 FROGGS why?
10:57 lizmat I would think "no" is to short hufmann coded for something so special
10:57 lizmat "override strict"
10:57 FROGGS O.o
10:58 FROGGS override in what way?
10:58 lizmat like "no strict" in perl 5
10:58 lizmat "ensure strict" as the opposite
10:58 FROGGS yeah, but override does not mean to turn something *off*
10:58 chenryn joined #perl6
10:59 FROGGS I'd like to keep 'use'
10:59 lizmat why?
11:00 FROGGS I do not like to see other keywords that have an (almost) identical meaning
11:00 FROGGS since lib.pm is just a module
11:01 rurban joined #perl6
11:02 lizmat but that's you projecting the implementation   :-)
11:02 lizmat use lib happens to be a pragma (at least in my book)
11:03 lizmat that happens to be implemented using library loading code
11:07 lizmat actually, maybe "lib" should be loaded always already
11:07 FROGGS well yeah, that is the thing about pragmas... these might be already 'loaded' and you just tweak them lexically
11:07 lizmat so we don't need to search for it (which may depend on how what a previous incantation of "use lib" has done)
11:08 FROGGS but still, do we need extra keywords?
11:08 lizmat well, we need a decision on that soonish
11:08 lizmat atm, pragma's are underdeveloped in Perl 6
11:08 lizmat and changes in that area would be relatively painless
11:09 avar joined #perl6
11:09 avar joined #perl6
11:09 FROGGS question is: do we want to disallow that ppl write their own pragmas?
11:09 moritz absolutely not
11:09 lizmat let me just stop this for now, and just state that using "use" for pragma smells to me
11:09 FROGGS because then: use lib:auth<FROGGS> ... won't be possible anymore
11:09 lizmat indeed, people should be able to use their own pragma's
11:09 FROGGS and when we do not want to disallow that, then pragmas are just lowercased modules
11:09 lizmat *make
11:10 FROGGS and I'm more a fan of unifying things than splitting things that are similar enough
11:10 FROGGS because these tends to be more powerful if combined
11:11 FROGGS you should only split things that do not work well together or are confusing
11:12 lizmat "or are confusing"  it's that part that I'm worried about
11:14 lizmat anyway, "use" in Perl 6 is fundamentally different from "use" in Perl 5 because of auth/ver and its scopedness
11:15 lizmat and sometimes we don't realize yet how different, is my feeling
11:15 FROGGS but lets say we keep auth/var for pragmas also, and these are meant to be scoped like modules usages... where is the difference?
11:15 FROGGS (within P6, not to P5)
11:16 FROGGS if we had a clear break in behaviour, than I'd fully agree, but I do not see something yet
11:16 lizmat well, pragma's generally wouldn't export things
11:16 lizmat would they?
11:16 FROGGS hmmm
11:16 FROGGS 'warnings' could
11:17 lizmat what would "use warnings" export ?
11:17 FROGGS something like %*WARNINGS_CATS ?
11:17 FROGGS that say something about the en-/disabled categories
11:18 FROGGS 'use vars' would export things :P
11:18 lizmat that again feels to me like abusing the "use" tool to create pragma functionality
11:19 FROGGS perhaps I don't know what a 'pragma functionality' is
11:19 lizmat but maybe we should stop this discussion now and see if masak, moritz, TimToady want to chime in
11:19 FROGGS yes :o)
11:19 lizmat no strict
11:19 lizmat it's a signal to the compiler
11:26 domidumont joined #perl6
11:31 mr- joined #perl6
11:32 FROGGS sure, there are things that need to interact very close to the compiler
11:33 mr- left #perl6
11:34 lvfjf joined #perl6
11:36 telex joined #perl6
11:39 jnap joined #perl6
11:41 domidumont joined #perl6
11:43 dalek roast: 61c0b71 | (Elizabeth Mattijsen)++ | S17-supply/interval.t:
11:43 dalek roast: Add tests for Supply.interval
11:43 dalek roast: review: https://github.com/perl6/roast/commit/61c0b71358
11:43 dalek rakudo/nom: ebca0e8 | (Elizabeth Mattijsen)++ | t/spectest.data:
11:43 dalek rakudo/nom: Make sure we test Supply.interval
11:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebca0e8aba
11:49 masak watching that Crockford video.
11:49 masak he has an interesting thesis: mainstream languages like JavaScript, Python, and Ruby got FP not because people asked for it, but because the language designers got that FP is good.
11:51 moritz well, js had it from the start
11:51 moritz (afaict)
11:51 moritz and Guido doens't seem to be a huge FP fan to me (from a distance)
11:55 timotimo aye, he's said things that weren't especially positive about fp in the past, i think
11:55 timotimo or at least done
12:02 rurban joined #perl6
12:04 masak moritz: JS had it from 1999, according to that talk. I don't know what Crockford considers to be the watershed moment, but that's four years in.
12:04 masak also from a distance, I have the feeling Guido values FP (at least in the form of list comprehensions, map, and filter), but he values simplicity/on-ramps more.
12:07 colomon wow, DateTime::TimeZone is ludicrously slow to build under JVM.
12:14 vendethiel Guido liking functinal? I think I read him say that fold was too advanced to put it in python's stdlib ?
12:16 tadzik not sure if guido, but doesn't some pep un-recommend lambda becuase it's complicated?
12:17 tadzik s/un-recommend/discourage/
12:19 masak vendethiel: these days, you have to 'from functools import reduce', which I think is fine. 'reduce' does come a distant third after 'map' and 'filter'.
12:20 vendethiel well, anyway, I really seem to disagree with crockford on that point. lambdas aren't even related to "functional programming", they're useful for a hundred times more things
12:22 moritz vendethiel: most people already consider function objects (or the ability to pass code around) "functional programming"
12:22 vendethiel I also think I disagree on that naming. I don't think you're "passing code around" -- that's what a macros does
12:22 moritz in that sense, lambdas are importint
12:22 vendethiel s/naming/terminology
12:23 moritz well, more like "code references" than "code"
12:23 timotimo what's wrong with "higher-order functions"?
12:23 tadzik nothing, we love them
12:23 tadzik (ha ha)
12:23 timotimo :)
12:23 colomon timotimo: they're elitist.
12:23 vendethiel oooh
12:23 timotimo ooooh snap :)
12:24 moritz hipster-order functions
12:24 timotimo :D
12:24 masak highbrow functions
12:24 timotimo did you see "devops against humanity"?
12:24 moritz nope
12:24 timotimo but Cards Against Humanity rings a bell?
12:25 * masak hasn't seen any devops *for* humanity :P
12:25 colomon see back 17 minutes ago when I complained about how slow compiling DateTime::TimeZone was in JVM?  It's still ongoing on my *fast* linux box.
12:25 moritz timotimo: only from hearsay
12:25 timotimo ah
12:25 colomon CAH is awesome
12:25 timotimo i didn't know how CAH works about a week ago
12:25 tadzik I'd welcome any CAH-alike that I can buy/print myself in PL :)
12:26 timotimo https://github.com/bridgetkromhout​/devops-against-humanity/blob/mast​er/cards-DevOpsAgainstHumanity.csv - pretty funny :3
12:26 * colomon is not just saying that because it has provided gifts for his wife for two or three times a year…  ;)
12:26 tadzik I just searched for them on our ebay equivalent, and I got some board games, some computer games and an album full of pictures from Auschwitz-Birkenau
12:26 colomon tadzik: pretty sure you can print CAH yourself.
12:26 tadzik oh!
12:26 timotimo yeah, the license allows for it
12:26 tadzik indeed, free download
12:26 timotimo iirc anyway.
12:26 tadzik colomon++
12:26 colomon tadzik: http://cardsagainsthumanity.com/ "download for free"
12:27 colomon there's also a Polish translation, it looks like.
12:27 colomon (again, downloadable for free)
12:27 tadzik I prefer things untranslated usually
12:28 colomon yeah, figured that but just wanted to mention it.
12:28 tadzik the only people I play games with that don't know english are my parents, and I think in that case I'
12:29 tadzik * I'll settle for Scrabble
12:29 tadzik (stupid return key)
12:29 * colomon has refused to play CAH with his parents and in-laws.
12:31 tadzik hmm, printing 31 pages would be like $0.5 in a xero point nearby
12:34 FROGGS (Douglas Crockford)++ # WAT
12:38 tadzik I just glanced at a Linux magazine in a kitchen, and I read something about a ruby IRC bot that uses a similar system for matching queries that Dancer/Bailador uses for matching URLs
12:38 tadzik that sounds like the matching-thingy that Bailador has may want to be exposed as a module, and we can add something over our Net::IRC thingy to show that off
12:38 tadzik and I could rewrite a dinner bot in Perl 6 and thus use Perl 6 in production
12:40 vendethiel .oO( Tonight, we dine in perl 6 ! )
12:40 jnap joined #perl6
12:40 tadzik exactly
12:40 tadzik ah, but we'd need SSL and all
12:40 tadzik I'll do that in august then
12:40 FROGGS TLS!
12:41 * colomon has been building DateTime::TimeZone on JVM for 34+ minutes now...
12:42 colomon and it's done!
12:42 masak colomon: hitting memory limits?
12:43 colomon masak: … not of the machine, but maybe of JVM?  But I'm assuming it's the effect of compiling so many small files.
12:44 masak oh!
12:44 * Woodi is a bit shocked hearing about introducing 'no strict' in v6...  pragma "no my" going ? ;)
12:44 masak yes, that could very well be it.
12:45 masak Woodi: 'no my'? never heard of it.
12:45 Alina-malina joined #perl6
12:45 Woodi masak: just imagined it, low probability as I was told sometime before :)
12:47 masak Woodi: I'm not even sure what it is you're proposing. do you want to rename the 'no strict;' directive to 'no my;' ?
12:48 masak 'no strict;' has the advantage that it is what it says on the tin. you don't have to be strict anymore, so you don't have to use 'my'. you *can* if you want to.
12:48 masak 'no my;' sounds like "you can't use 'my'". which is not what that directive does.
12:49 vendethiel WTB no p5 :)
12:50 Woodi but why allowing to drop 'my' ? what a reason ?
12:51 [Coke] I imagine 'no my' would be more strict no strict.
12:51 [Coke] but it would probably be "no strict :my";
12:52 Woodi [Coke]: in my imagination it was like "my is allowed to be > /dev/nulled" :)
12:52 masak Woodi: just the other day someone requested the feature for one-liners.
12:53 Woodi oki
12:53 masak Woodi: it's just that in Perl 6 (and newer Perl 5s, I hear), the default is strict *on*, not strict *off*.
12:53 masak people can opt out of strictness if they feel it's in the way of them whipping something up.
12:53 skids joined #perl6
12:55 vendethiel `no undefined`
12:55 Woodi so how varibles will be located ? declared on first sight ?
12:59 xinming joined #perl6
13:05 LLamaRider joined #perl6
13:07 masak Woodi: you mean with an implicit 'my' declaration? no, I don't think that's gonna fly.
13:07 FROGGS Woodi: exactly
13:08 masak that would be very surprising in the case of `{ ... $x ... } ... $x`
13:08 FROGGS I think my hacky patch made them implicitly our scoped
13:08 masak our scope could work.
13:08 masak that's how Perl 5 does it.
13:08 masak but I seem to recall our scope is a bit more restrictive in Perl 6.
13:09 FROGGS here is the hack for anybody interested: https://gist.github.com/FR​OGGS/6f8989611659551dae1f
13:11 guru joined #perl6
13:12 masak FROGGS++
13:12 spider-mario Rakudo Star appears to build more backends than asked for
13:12 spider-mario I called Configure.pl with --backends=parrot but it still builds the MoarVM backend
13:16 yakudza joined #perl6
13:18 dalek specs: 0b2e726 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
13:18 dalek specs: Preliminary spec of Supply.classify
13:18 dalek specs: review: https://github.com/perl6/specs/commit/0b2e726e55
13:21 FROGGS spider-mario: hummm... do you have nqp-m or moar in PATH by any chance?
13:26 rurban joined #perl6
13:29 jnap joined #perl6
13:32 Woodi m: grammar G { token TOP { \w+ 'a' } }; say G.parse("kota");
13:32 camelia rakudo-moar ebca0e: OUTPUT«(Any)␤»
13:33 tadzik you need backtracking
13:33 Woodi why ?
13:33 tadzik because + is greedy
13:33 tadzik it eats the 'a' too
13:33 Woodi lol :)
13:33 FROGGS m: grammar G { token TOP { \w+? 'a' } }; say G.parse("kota");
13:33 camelia rakudo-moar ebca0e: OUTPUT«「kota」␤␤»
13:33 Woodi stupid me
13:34 Woodi m: grammar G { token TOP { \w+ ':' } }; say G.parse("kota.");
13:34 camelia rakudo-moar ebca0e: OUTPUT«(Any)␤»
13:34 Woodi m: grammar G { token TOP { \w+ '.' } }; say G.parse("kota.");
13:34 camelia rakudo-moar ebca0e: OUTPUT«「kota.」␤␤»
13:34 timotimo alternatively you can also do +? to be non-greedy
13:42 ivanshmakov joined #perl6
13:45 btyler joined #perl6
13:45 schogen joined #perl6
13:53 benabik joined #perl6
13:55 anaeem1 joined #perl6
13:56 treehug88 joined #perl6
14:01 Ven joined #perl6
14:02 lichtkind joined #perl6
14:02 lichtkind_ joined #perl6
14:04 lichtkind may I ask why the JVM port of rakudo is released now?
14:04 masak m: grammar G { token TOP { \w+! 'a' } }; say G.parse("kota");
14:04 camelia rakudo-moar ebca0e: OUTPUT«「kota」␤␤»
14:05 masak FROGGS, Woodi: greediness as such isn't the problem, but if you say 'token', then quantifiers (by default) don't backtrack.
14:06 colomon lichtkind: huh?
14:07 [Coke] lichtkind: do you mean "why do we have a JVM port?"
14:07 lichtkind colomon: http://rakudo.org/2014/05/05/anno​unce-rakudo-star-release-2014-04/
14:07 [Coke] or "why did we release it in Rakudo Star?"
14:08 tadzik or "why now"? :)
14:08 lichtkind now i heard from jntht in kiev that it already had been so far
14:08 [Coke] that's the compiler.
14:08 lichtkind I saw little progress on that front so I ask if i have overlooked something
14:08 [Coke] ^^ that's Rakudo Star, the compiler+modules.
14:08 lichtkind sure
14:08 lichtkind but why its included now
14:08 colomon "along with experimental support for the JVM backend (some module tests fail)."
14:08 [Coke] why not?
14:09 colomon probably easier to include it than exclude it, would be my guess.
14:09 [Coke] I don't understand the thrust of your question. can you elaborate?
14:09 lichtkind it could be included  half a year ago
14:09 lichtkind I skaed if there is a reason to do it now
14:09 [Coke] why did we wait so long, then?
14:10 [Coke] Rakudo * was parrot only. adding all backends was easier than adding only one additional backend.
14:10 [Coke] even if one of them doesn't quite run all the modules yet.
14:10 colomon while at the same time, adding other backends was a good bit of work
14:10 lichtkind yes ,i know
14:10 nwc10 JVM didn't support nativecall, hence a chunk of the Star modules didn't work
14:10 colomon so there was no good reason to add JVM before it was ready
14:10 nwc10 that was, I think, the bigger reason why no-one did the other code work
14:11 lichtkind ah so now nativecall works on jvm?
14:11 nwc10 lichtkind: I believe "mostly"
14:11 nwc10 I don't know for sure
14:11 nwc10 exactly how mostly
14:11 tadzik it passes the tests
14:11 tadzik works with bugs :)
14:11 tadzik I mean, I found one
14:11 tadzik and I sucessfully released two products that ran on JVM+NativeCall with no problems :)
14:15 masak \o/
14:15 xenoterracide joined #perl6
14:16 timotimo hw much money you makin'? :)
14:18 tadzik nobody signed up for Steroids' Commercial Support yet :P
14:19 moritz tadzik: well, you could offer enterprise features, like LDAP/ActiveDirectory integration :-)
14:19 tadzik heheh
14:20 tadzik as soon as I can actually distribute these without asking people to install rakudo I may put something on Steam Greenlight, just to be the first one to have a Linux Exclusive in there :P
14:21 timotimo haha, ouch :)
14:21 tadzik it will probably have HW requirements simlar to Black Annex
14:22 timotimo that's the qbasic thing, right?
14:22 spider-mario camelia: tell FROGGS yes, I do have nqp-m in my PATH (actually, I even have perl6-m)
14:22 tadzik yeah
14:22 spider-mario (that’s how the bot works, right?)
14:22 tadzik it requires a mouse, a VGA graphics card and a 2GHz+ CPU
14:22 moritz spider-mario: no, camelia only evals code
14:23 spider-mario oh, ok
14:23 moritz .tell spider-mario maybe like this
14:23 yoleaux moritz: I'll pass your message to spider-mario.
14:23 timotimo m: sleep 3600; say "froggs, here's a message for you"
14:23 tadzik :D
14:23 camelia rakudo-moar ebca0e: OUTPUT«(timeout)»
14:23 moritz timotimo++ # but you need to do that asynchronously :-)
14:23 spider-mario thanks. :)
14:23 yoleaux 14:23Z <moritz> spider-mario: maybe like this
14:24 timotimo m: Promise.in(3600).then({ say "hi" })
14:24 camelia rakudo-moar ebca0e: ( no output )
14:24 timotimo not quite.
14:24 tadzik just wait an hour...
14:24 spider-mario .tell FROGGS yes, I do have nqp-m in my PATH (actually, I even have perl6-m)
14:24 yoleaux spider-mario: I'll pass your message to FROGGS.
14:24 donaldh joined #perl6
14:25 tadzik FROGGS++ # handling panda things
14:26 masak is there a way to say "if there are any promises that haven't triggered yet, wait for them" ?
14:26 tadzik await {} ?
14:26 tadzik ah, but like, globally
14:28 moritz masak: considering that not all promises are tied to concurrent execution somehow, that could be a very bad idea, IMHO
14:28 timotimo so you essentially want a non-app-lifetime-thread to handle your stuff?
14:28 tadzik what if you waited for them in a different thread? :o
14:28 JimmyZ m: Promise.in(60).then({say "hello"})
14:28 camelia rakudo-moar ebca0e: ( no output )
14:29 moritz m: Promise.in(2).then({say "hello"})
14:29 camelia rakudo-moar ebca0e: ( no output )
14:29 raiph joined #perl6
14:30 moritz m: Promise.in(2).then({say "hello"}).result
14:30 camelia rakudo-moar ebca0e: OUTPUT«hello␤»
14:30 JimmyZ m: Promise.in(60).then({say "hello"}).result
14:30 spider-mario wow, the startup time of Rakudo on Parrot is way better than it used to be
14:30 shevy joined #perl6
14:30 camelia rakudo-moar ebca0e: OUTPUT«(timeout)»
14:31 tobiasvl joined #perl6
14:32 timotimo may very well be
14:32 JimmyZ looks like it eats my cpu by above code
14:32 schogen p6: $*SCHEDULER.cue: :every(2), {say "hello"}
14:32 masak moritz: yes, you are right.
14:32 timotimo we've got lexical variables transformed into locals and blocks merged into each other, i'm sure that'll improve startpu time a little, too
14:32 camelia rakudo-moar ebca0e: ( no output )
14:32 camelia ..rakudo-jvm ebca0e: OUTPUT«(timeout)»
14:32 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method cue in type Any␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤  a…»
14:32 camelia ..rakudo-parrot ebca0e: OUTPUT«Dynamic variable $*SCHEDULER not found␤  in method <anon> at gen/parrot/CORE.setting:12682␤  in any  at gen/parrot/Metamodel.nqp:2710␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2698␤  in any find_method at gen/parrot/Metamodel.nqp:…»
14:32 masak moritz: next question: if I have a promise that I want to wait for, how do I do that?
14:33 masak oh, that's await {}, got it. :)
14:33 masak m: await Promise.in(6).then({ say "hi" })
14:33 timotimo yeah, await or .result
14:33 camelia rakudo-moar ebca0e: OUTPUT«hi␤»
14:33 masak \o/
14:34 masak m: await Promise.in(60).then({ say "(timeout)" })
14:34 camelia rakudo-moar ebca0e: OUTPUT«(timeout)»
14:34 masak \o/
14:34 timotimo oh you troll :)
14:34 masak that may be, but look how *fast* it responded!
14:35 masak though I notice that the final newline is somehow missing...
14:35 timotimo well, that's weird
14:36 masak no, it *isn't*. you already correctly identified me as a troll.
14:37 timotimo is the timeout on camelia only ~15 seconds?
14:37 masak m: say "(no output)"
14:37 camelia rakudo-moar ebca0e: OUTPUT«(no output)␤»
14:37 masak m: print "(no output)"
14:37 camelia rakudo-moar ebca0e: OUTPUT«(no output)»
14:37 masak m: print "OUTPUT«(no output)»"
14:38 camelia rakudo-moar ebca0e: OUTPUT«OUTPUT«(no output)»»
14:38 moritz masak: or, .result, as I used above
14:38 masak right.
14:40 * moritz feels pretty helpless in front of a p5 function with 2k lines that needs to be refactored
14:40 Ven a 2k lines function ? Really
14:41 FROGGS joined #perl6
14:41 timotimo hopefully there are at least a hundred lines of comments in there.
14:43 FROGGS well, it could be worse, really
14:43 yoleaux 14:24Z <spider-mario> FROGGS: yes, I do have nqp-m in my PATH (actually, I even have perl6-m)
14:43 FROGGS spider-mario: hmmm, okay, that might trigger it... I'll look into it when I have time
14:43 timotimo spider-mario: have you seen the startup times of moarvm yet? :)
14:44 spider-mario yes, it’s pretty good. :)
14:44 spider-mario but it seems parrot is on par now
14:44 spider-mario (pun not intended)
14:44 spider-mario (but still appreciated)
14:45 moritz Ven: yes, hysterically grown
14:45 timotimo oh, wow. it is?
14:45 timotimo i need to check that out mysel
14:45 timotimo myself
14:45 integral joined #perl6
14:46 timotimo something seems wrong with my local perl6-p
14:46 timotimo it's taking way longer than it should to compile the setting
14:46 timotimo oh ... well it isn't infinilooping at least
14:47 spider-mario oh wait, perl6 is actually perl6-m
14:47 spider-mario my bad
14:47 spider-mario (I did find it strange…)
14:47 FROGGS :o)
14:47 timotimo oh, all right
14:47 FROGGS perl6-p's startup time is usually twice as long as perl6-m's
14:47 spider-mario perl6-p is about twice as slow as perl6-m
14:48 FROGGS yeah
14:48 timotimo hmm. we're above 100megabytes of maxrss for a simple "say 1" on moarvm
14:48 timotimo i'm guessing that's due to the new classes and functions in the setting
14:49 timotimo still way below 1/2 the memory usage of perl6-p
14:49 * FROGGS .oO( and what if you "say 2"? O.o )
14:49 timotimo and perl6-p takes about half as much memory as perl6-j does to start up
14:50 timotimo but perl6-j splits its 10 seconds across two cores, so it only takes 5.6s wallclock time
14:50 zakharyas joined #perl6
14:51 Woodi for my little file parsing script r-m is 38x slower then perl5 version of that script... what rakudo do on startup ?
14:51 grondilu joined #perl6
14:52 [Coke] Try loading moose, and bigints, and...
14:52 Woodi 1.45 vs 0.038...
14:52 Woodi then do not load this stuff...
14:52 grondilu I feel I've already asked that, but is it a good idea to rely on .keys and .values to return in reciprocally consistent order?
14:53 FROGGS grondilu: no
14:53 PerlJam grondilu: maybe you want to use .kv ?
14:53 Woodi grondilu: yes, but only for small keys set ;)
14:53 [Coke] Woodi: to not load it, you'd have to not use it in the setting... and I'm pretty sure the OO stuff is baked in pretty deep.
14:54 grondilu maybe it's better to tell you what I want to do.  I have a hash whose keys are real numbers and values are lists of real numbers.  I want to see whether if for all key-values pairs, the key is the mean of the values.
14:54 Woodi then MooV6.c maybe ?
14:55 PerlJam grondilu: won't you have issues with floating point precision?
14:56 grondilu PerlJam: I don't want to worry about that yet
14:56 FROGGS Woodi: that is like telling P5 to not use SV's
14:56 FROGGS Woodi: but yeah, P6 needs to get faster (and it will get a lot faster)
14:56 grondilu maybe something like [and] map { .key == .values R/ [+] .values }, %h.paris
14:56 grondilu *pairs
14:56 timotimo grondilu: it wouldn't seem like you'd have to rely on the order of .keys and .values; though you really would want .pairs or .kv
14:56 * FROGGS .oO( We always have Paris )
14:57 retupmoca m: my %h = (2 => [1,2,3]); for %h.kv -> $mean, @vals { if $mean == ([+] @vals) / +@vals { say 'yay!'} }
14:57 camelia rakudo-moar ebca0e: OUTPUT«yay!␤»
14:58 shevy left #perl6
14:58 timotimo i'd suggest { say "you're all so mean!" } instead
14:58 lvfjf joined #perl6
14:59 timotimo hm. wasn't there recently some effort to replace the strings in O( ... ) with proper hashes?
14:59 Woodi can we have two kinds of objects ? a) just rich struct; and b) fully MOPped...
15:00 masak grondilu: (a) I think you *can* rely on it, but (b) whether it's a good idea to do so is a different question. I would consider it a code smell, I think.
15:01 timotimo Woodi: whether or not your code relies on OOP, almost everything in the setting does
15:01 timotimo getting rid of OOP from the setting seems like a bad idea; i'd rather go for different things that aren't always used
15:01 FROGGS timotimo: yes, arnsholt++ did that, but there are issues in rakudo so it is still in a branch
15:01 timotimo FROGGS: ah, okay. sad to hear it
15:01 moritz also, the compiler itself uses the MOP :-)
15:02 FROGGS timotimo: well, you can fix the issues :o)
15:02 PerlJam grondilu: [and] map { $^k == @^v R/ [+] @^v }, %h.kv  # if you want to go that route.
15:02 timotimo Woodi: for example, not all scripts use Bag or Mix, Promises or Channels, Instant, Buf, that kind of stuff
15:03 timotimo FROGGS: will i immediately see what's wrong when i check out the branch and try to compile it?
15:03 bluescreen10 joined #perl6
15:03 PerlJam grondilu: you could also use a junction
15:03 FROGGS Woodi: this won't work out... when you declare a custon infix, the grammar gets inherited and augmented... there are so many things that need the mop
15:03 FROGGS timotimo: I think so
15:03 FROGGS timotimo: also, he added comments to the issue he made I think
15:04 timotimo moritz: there's still a very old branch in rakudo from you that aimed to allow the user to subclass nqp classes; are you interested in reviving that any time soon?
15:05 moritz timotimo: no
15:06 timotimo did the use-case disappear?
15:06 FROGGS hmmm, there is a use case
15:06 FROGGS slangs that use P6 grammars but build QAST
15:07 timotimo aye.
15:07 moritz timotimo: no, my motivation :-)
15:07 virtualsue joined #perl6
15:07 bjz joined #perl6
15:08 timotimo motivation's kinda low for me at the moment as well; though i'm itching to make something happen ... :\
15:09 tadzik ༼ つ ◕_◕ ༽つ pls gamepads
15:09 tadzik actually, I just wanted to use that image :P
15:09 FROGGS how can you not be motivated when rakudo gets moar awesome day by day??
15:11 guru joined #perl6
15:11 moritz FROGGS: oh, I'm very motivated watching you and @others making it awesome :-)
15:11 FROGGS bah
15:11 FROGGS :P
15:12 lee_ am i misunderstanding how to turn an array into a list? i wanted to try something like [and] @array.list
15:12 lee_ https://gist.github.com/leedo/5b90563535cd6dd3d295
15:13 masak m: my @array = True, True, True; say [&&] @array
15:13 camelia rakudo-moar ebca0e: OUTPUT«True␤»
15:13 masak m: my @array = True, False, True; say [&&] @array
15:13 camelia rakudo-moar ebca0e: OUTPUT«False␤»
15:13 masak lee_: worksforme.
15:13 moritz lee_: it's an array of arrays
15:13 lee_ oh, derp. i see what i did
15:13 moritz lee_: you you need @a[0].list
15:14 moritz or omit those [ ] while assigning :-)
15:14 lee_ yep, used my @a = [ ... ]
15:14 PerlJam you could have said @a := [ ... ]
15:14 Ven m: my @array = True, False, True; say all(@array)
15:14 camelia rakudo-moar ebca0e: OUTPUT«all(True, False, True)␤»
15:14 Ven m: my @array = True, False, True; say ?all(@array)
15:14 camelia rakudo-moar ebca0e: OUTPUT«False␤»
15:15 grondilu kinf of related:  does the order of .keys is supposed to be consistent with the order of .pairs?
15:16 grondilu (omg my english was terrible here)
15:16 grondilu I mean:  is the order of .keys supposed to be...
15:16 PerlJam I dunno the answer, but I think if you care about keeping the order of keys and values in sync, then you should ask for them together.
15:16 plobsing joined #perl6
15:17 grondilu yeah but it just does not seem convenient to do so
15:17 moritz grondilu: I'm pretty sure that .keys and .values are supposed to be in sync
15:17 moritz (as long as you don't modify the hash inbetween)
15:18 moritz not sure about any other pair of methods
15:18 masak grondilu: what PerlJam said. basically what I felt with the last question.
15:18 moritz (at least that's the p5 approach)
15:18 masak right.
15:18 masak it's one of those "you can depend on this... but try not to" situations.
15:19 masak anything that *depends* on hash order, no matter how innocently, is asking for the future to come and break it.
15:19 moritz if you ask for .kv and .pairs, you already have keys *and* values, so I don't see much reason for external consistencies as well
15:19 igorsutton joined #perl6
15:21 skids masak: As far as that 0x1023456789abcdef bug, I'd say the 1s-complement problem with libtomath is at the root of most such problems; it's almost not worth filing separate bug reports until RT#115966 is fixed.  IIRC FROGGS++ tried to appply the fix in the gist there but there was bitrot in the meantime.
15:21 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=115966
15:21 moritz skids: but how is a positive number affected by 1s complement?
15:22 FROGGS skids: that covers what I remember, aye
15:22 skids Who knows how that is being optimized.
15:28 masak skids: ok, merging into RT#115966
15:28 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=115966
15:34 skids If I get some tuits I'll try to refresh the proposed fix, but I haven't trained up on properly smoking things, so I'll need some help there.
15:34 FROGGS skids: you shall get your help :o)
15:35 grondilu Well, I wrote http://rosettacode.org/wiki/K-​means%2B%2B_clustering#Perl_6 but that may be the least elegant Perl 6 code I've ever written in RC.  This algorithm is tough to write without making it tedious, though.
15:38 PerlJam why the ++ on operator?
15:38 grondilu just to match the name of the algorithm.
15:41 grondilu it's a bit annoying that Complex numbers are not made of Rat but floating points.
15:42 grondilu r: say .reals».WHAT given 1 + 1i
15:42 camelia rakudo-{parrot,jvm,moar} ebca0e: OUTPUT«(Parcel)␤»
15:42 grondilu r: say .reals[0].WHAT given 1 + 1i
15:42 camelia rakudo-{parrot,jvm,moar} ebca0e: OUTPUT«(Num)␤»
15:43 grondilu I kind of would have expected (Int) here :/
15:43 bluescreen100 joined #perl6
15:44 grondilu r: say .re.WHAT given 1 + 1i
15:44 camelia rakudo-{parrot,jvm,moar} ebca0e: OUTPUT«(Num)␤»
15:45 anaeem1_ joined #perl6
15:52 vaskozl_ left #perl6
15:58 tadzik masak: not sure if it was you I told all about "little tails" in polish, but actually "ogonek" is the formal name for this, even in english: https://en.wikipedia.org/wiki/Ogonek
16:01 anaeem1_ joined #perl6
16:05 btyler_ joined #perl6
16:23 denis_boyun_ joined #perl6
16:25 PerlJam tadzik: what's the little appendange called for consonants like Ç  ?
16:26 PerlJam oh, just cedilla  (I've always associated that word with just Ç)
16:26 Psyche^ joined #perl6
16:29 geekosaur and then there's comma which is sometimes replaced with cedilla out of confusion or because it's easier in some typography implementation
16:40 Alula joined #perl6
16:43 thou joined #perl6
16:46 kurahaupo joined #perl6
16:57 Alula joined #perl6
17:01 kurahaupo left #perl6
17:07 tadzik PerlJam: oh, that I don't know
17:07 tadzik polish only has things in Ą and Ć
17:10 huf and l
17:11 guru joined #perl6
17:12 Rotwang joined #perl6
17:13 tadzik oh, Ł yes
17:14 tadzik and Ż
17:14 tadzik that's it I think :
17:15 wbill joined #perl6
17:15 Rotwang did you know that there are no square nor curly braces on the finnish keyboard?
17:15 TimToady that's looks like 之 to me :)
17:16 TimToady next you'll be telling me John McCarthy was Finnish...
17:21 hoverboard joined #perl6
17:42 rindolf joined #perl6
18:03 Woodi can we have PerlScript ? ;)
18:06 TimToady m: say Complex(42).re.WHAT
18:06 camelia rakudo-moar ebca0e: OUTPUT«(Num)␤»
18:07 TimToady I'd call that a bug; the specs consistently talk about Real components, not Num components
18:10 TimToady lizmat: :auth and :ver are just about identity to my mind, and pragmas have just as much identity as any other module, even if most of 'em come standard; as for other semantic differences, I see none; all modules mutate the current language upon import, including pragmas, with no sane place to draw a boundary.
18:12 FROGGS TimToady: and the opposite of 'use foo' is still 'no foo'?
18:12 TimToady well, I suppose we could have don't-use nowadays :)
18:13 TimToady but I'm fine with keeping no
18:13 FROGGS :o)
18:13 araujo joined #perl6
18:13 TimToady re Complex, if you really want floaters, that's what complex is for
18:13 FROGGS I think we need an opposite of &EXPORT btw
18:13 TimToady well, we certainly need ways of undoing things that are undoable
18:13 FROGGS so 'no foo <blarg>' does call another sub
18:14 TimToady whether the current EXPORT mechanism is up to the task, I've never thought about
18:15 FROGGS IIRC I do `$*SCOPE eq 'use'` in v5, but that is not the best way either
18:16 TimToady it's certainly not quite ready to export new slangs or to export modifications of the current slangs
18:16 FROGGS the entire use/no warnings in v5 is a huge hack
18:16 TimToady well, sure, because use is file-scoped by default in P5
18:17 TimToady that's one of the main reasons we changed everything to lexical scoped in P6
18:17 simcop2387 joined #perl6
18:18 FROGGS m: { use lib 'foo' }; say @*INC  # :/
18:18 camelia rakudo-moar ebca0e: OUTPUT«foo /home/p6eval/.perl6/2014.04-193-gebca0e8/lib /home/p6eval/rakudo-inst-1​/languages/perl6/site/lib /home/p6eval/rakudo-inst-1/​languages/perl6/vendor/lib /home/p6eval/rakudo-inst-1/languages/perl6/lib␤»
18:18 TimToady it actually made much less sense in P5 to combine pragmas with modules, but it made enough sense even there
18:19 TimToady but 'use lib' is simply mis-implemented right now in P6
18:19 FROGGS right
18:20 TimToady there's no reason to have things that are special file scope when the outermost lexical scope is file scope, and we want to encourage file scoped things to be declared at the front anyway, not hidden down in a block somewhere
18:20 hoverboard joined #perl6
18:21 FROGGS yeah, and my bet is that not a single thing breaks when we fix 'use lib'
18:22 TimToady there are a few things relating to identity that are truly file-scoped, but 'use lib' does not appear to be one of them, from the user's perspective anyway
18:23 telex joined #perl6
18:23 * moritz agrees
18:23 ivanshmakov joined #perl6
18:23 moritz a pragma that indicates the character encoding of a file might be file scoped
18:24 FROGGS like the magic comment in Python?
18:24 TimToady technically it wouldn't have to be file-scoped, but that's a spot where we can afford to be draconian :)
18:25 TimToady since most text editors can't deal with mixed encodings in a single file
18:26 ivanshmakov joined #perl6
18:27 fhelmberger joined #perl6
18:27 TimToady but many binary file types support "mixed encodings" all the time internally, for some definition of encoding
18:27 TimToady it's very nearly almost the definition of "binary"
18:29 TimToady linguistically speaking, it's funny that we settle on "binary" to describe that, but I guess it's sort of a lowest-common whatsy
18:29 guru joined #perl6
18:31 FROGGS :o)
18:34 virtualsue joined #perl6
18:39 masak tadzik: I think we discussed "little tails" and "ogonek" at some point. either way, I'm familiar with the concept of "ogonek", and I would know what it meant if someone said it :)
18:40 masak TimToady: I had never made the connection between Ż and 之 before -- now I can't un-see it :P
18:40 integral joined #perl6
18:40 integral joined #perl6
18:44 jnthn evening, #perl6
18:44 TimToady o/
18:45 * jnthn is on his way home from this week's teaching )
18:45 FROGGS hi jnthn
18:50 masak jnthn: hi )))))))
18:50 FROGGS jnthn was in russia?
18:51 jnthn Nyet, just Oerebro :)
18:52 btyler_ or masak fell into a vkontakte comment thread and didn't manage to wash off all the smailiki
18:54 jnthn Smailiki are cute. Why wash them off? :P
18:55 jnthn .oO( or should that just be P... )
18:57 raydiak good almostnoon, #perl6
18:57 prevost joined #perl6
18:57 jnthn o/ raydiak
18:58 FROGGS hi raydiak
18:58 timotimo oh hey raydiak
18:58 raydiak \o jnthn, FROGGS & timotimo
18:58 timotimo raydiak: can you add a "run time: $n seconds" to the popups of perl6-bench? :)
18:59 raydiak doesn't sound too hard, does it?
18:59 FROGGS jnthn: do you have a sec to talk about UnwindExceptions and friends?
19:00 masak hehe, "smailiki" :)
19:01 jnthn FROGGS: Well, I don't watch friends, but I know about UnwindException...kinda.
19:01 FROGGS k
19:01 FROGGS that should suffice :o)
19:01 FROGGS - for loops like while we have unwind exceptions handlers for next/redo/last
19:02 FROGGS - this is not what I want for `next LABEL`, because these UnwindExceptions do not have a payload attr
19:02 FROGGS - so I'd need handlers for VMExceptions I think
19:03 FROGGS - there was another dynamic variable like @*REGISTER_UNWING_HANDLERS, is this the right one for VMExceptions?
19:03 jnthn hm
19:03 * masak .oO( jnthn only watches druzya ) :P
19:03 FROGGS - can I mix UnwindException handlers and handlers for VMExceptions in the same while loop code gen?
19:04 jnthn Well, the "normal" exceptions actually use UnwindException too
19:04 FROGGS - it was @*REGISTER_BLOCK_HANDLER or so
19:04 FROGGS ahh, yeah, you said that already
19:05 FROGGS I just don't see how that can be true
19:05 grep0r joined #perl6
19:05 virtualsue joined #perl6
19:06 FROGGS because I throw via newexception, and in the while loop (due to such a unwind handler), I only have an UnwindException on the stack
19:06 FROGGS so I dunno how to get the information I need - the payload
19:07 jnthn Remember that normal exception handlers run on the stack top
19:07 jnthn And *then* unwind
19:07 jnthn So the whole payload business is all over by the time we unwind.
19:07 FROGGS aha
19:07 jnthn Any change you can stuff it in the result slot of the unwind exception for this case?
19:07 FROGGS hmmm
19:08 FROGGS interesting Idea...
19:08 FROGGS I'll try
19:08 FROGGS thanks ))
19:08 jnthn pzh )
19:10 colomon wow, there are 30+ modules that work in parrot and fail in JVM.
19:10 colomon including ABC?  :(
19:10 vendethiel .oO( it should be as simple as ABC to get p6-jvm working ... )
19:11 raiph grondilu++ # rosetta contributions in general, "K-means++ clustering" in particular
19:11 timotimo oh, you're smoking all three backends now?
19:12 cognominal__ joined #perl6
19:12 colomon timotimo: just got my first complete smoke of JVM
19:13 colomon moar still fails horribly
19:13 timotimo oh my :(
19:13 jnthn colomon: How so? It passes all the Star modules...
19:13 dalek joined #perl6
19:13 jnthn So I don't imaigne the module smoke can be *that* bad...
19:13 lizmat TimToady: message received
19:13 colomon jnthn: it's worse
19:14 jnthn colomon: Odd.
19:14 colomon jnthn: wait
19:15 colomon jnthn: when it tries to install File::Find, it works, but somehow installing it while running it corrupts both the current executable running and the compiled version of File::Find stored on my hard drive.
19:15 jnthn um...huh?
19:16 colomon jnthn: so it not only kills the smoker in mid-run, it kill's panda ability to run until you rebootstrap
19:16 colomon jnthn: it's been doing this for at least a month now.
19:16 dalek Heuristic branch merge: pushed 52 commits to rakudo/loop_labels_test by FROGGS
19:17 colomon jnthn: I'm only guessing proximately about what's causing it to die, but I can tell you for sure that panda install File::Find breaks panda
19:17 jnthn ah, that sounds like a more easily huntable one.
19:18 colomon I'm rebuilding moar at the moment, when I'm done I'll post a gist of how to duplicate the issue
19:18 jnthn colomon++
19:18 colomon assuming you're in the mood for hunting
19:19 jnthn Well, may be too tired today, but good to have it, as I have more tuits in the next days.
19:19 raydiak timotimo: I remember the tooltip sticks, will see if I can smooth that out too...any other smallish ideas for when I get to p6bench today?
19:23 timotimo raydiak: i'm afraid no :(
19:23 timotimo but if you want to write actual benchmarks....? ;)
19:23 Sqirrel joined #perl6
19:26 raydiak timotimo: good thought...we'll see how inspired I feel after the other things :)
19:26 colomon jnthn: https://gist.github.com/co​lomon/f181213518aeb5cdacd0 # lines 22 on are key, rest provided for context and for duplicating
19:27 colomon jnthn: key showing the bug, I mean
19:27 jnthn uh, wtf...
19:27 jnthn wow
19:35 FROGGS jnthn: I need to ask again: do you meant that I should throw an unwindexception, or shall I try later to put the payloap of the vmex into the result attribute?
19:35 FROGGS colomon: and you get that identical error for a month now? with the same error message?
19:35 jnthn FROGGS: hmmmm
19:36 jnthn FROGGS: I'm just looking at nqp::control in QAST::Compiler::JAST
19:36 colomon FROGGS: well, the exact number of the opcode might be different.  but yes, that message, for sure.
19:36 jnthn It appears it does
19:36 jnthn $il.append(savesite(JAST::Instruction.new( :op('invokestatic'), $TYPE_OPS,
19:36 FROGGS because in rakudo I'd like to throw normal exceptions... and use setpayload etc
19:36 jnthn 'throwcatdyn_c', 'Void', 'Long', $TYPE_TC )));
19:36 jnthn That is, it's already doing a fairly normal throw
19:36 FROGGS colomon: k, thanks
19:37 FROGGS jnthn: okay...
19:37 jnthn It just doens't throw an exception object, but only a category
19:37 FROGGS right
19:37 FROGGS jnthn: my code throws an object though
19:37 jnthn public static void throwcatdyn_c(long category, ThreadContext tc) {
19:37 jnthn ExceptionHandling.handlerDynamic(tc, category, false, null);
19:37 jnthn }
19:37 colomon FROGGS: the number has changed: http://irclog.perlgeek.de/​perl6/2014-03-01#i_8368338
19:37 jnthn OK, but point is this seems to be going kinda through the normal exception system
19:38 colomon FROGGS: and I guess it's two months, not one.
19:38 FROGGS jnthn: yes, that is what I discovered also
19:38 jnthn So I guess the diference is in the kind of handler
19:39 dwarring joined #perl6
19:39 jnthn EX_UNWIND_SIMPLE vs others
19:40 FROGGS I'd guess that there is a code that take the VMEx, turns it into an UnwindException and runs the @*REGISTER_UNWIND_HANDLERs
19:40 FROGGS so if I could put my hands on that bit :o)
19:41 jnthn I see that REGISTER_UNWIND_HANDLER takes a :$ex_obj that means "I'd like to receive the exception object"
19:41 FROGGS but okay, I am going to try to follow the exception's path to the handler
19:41 FROGGS hmmm
19:41 FROGGS cool
19:41 jnthn Nothing actualy uses it at present, though.
19:42 FROGGS okay, thank you so far :o)
19:42 FROGGS err, o)) even
19:57 cogno joined #perl6
19:59 virtualsue joined #perl6
20:01 berekuk joined #perl6
20:03 hoverboard joined #perl6
20:13 dalek roast: e4e3206 | (David Warring david.warring@gmail.com)++ | integration/advent2010-day03.t:
20:13 dalek roast: adding 2010 advent day 3
20:13 dalek roast: review: https://github.com/perl6/roast/commit/e4e32063c1
20:26 masak 'night, #perl6
20:31 FROGGS gnight masak
20:38 FROGGS jnthn: how do I can a smo to a vmex? is that this weird syntax? "[$TYPE_OBJ"
20:38 FROGGS s/can/cast/
20:38 jnthn No
20:39 jnthn That means "array of"
20:39 FROGGS ahh
20:39 jnthn checkcast instruction or something like that
20:39 vendethiel joined #perl6
20:39 jnthn If you mean in bytecode
20:39 FROGGS ohh, make sense
20:39 FROGGS checkcast... okay
20:40 jnthn Typically we put something in Ops.java or so and call it and have it do the work, though.
20:40 FROGGS I see
20:52 TimToady colomon: did you notice that Complex is acting like (Num,Num) rather than (Real,Real)?
20:52 colomon TimToady: not sure the context, but I believe that's standard (if not spec) now
20:53 colomon for performance reasons.
20:53 * colomon is not totally happy about this, but Complexes without performance are relatively useless...
20:53 TimToady complex should be used if you want performance
20:54 TimToady Complex should perhaps be a bit more abstract
20:54 FROGGS m: say complex
20:54 camelia rakudo-moar ebca0e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/q9z4QVzEwuâ�¤Undeclared routine:â�¤    complex used at line 1â�¤â�¤Â»
20:54 colomon huh.  I like that idea, but don't know what you'd do with i
20:57 TimToady well, it's not a new idea; complex as a native type is kind of all over S02 and S09, which kinda implies that Complex is something else
20:57 TimToady anyway, kinda seems like it was in your bailiwick :)
21:04 colomon :)
21:04 colomon wonder how easy it would be to implement complex by just cut-n-pasting Complex?  ;)
21:05 iovanna joined #perl6
21:05 FROGGS colomon: sure, copy it over, then fix Complex to use Real, and perhaps complex to use num? (I dunno the spec though)
21:09 dalek specs: 806f1cc | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
21:09 dalek specs: Spec Supply.classify slightly differently
21:09 dalek specs:
21:09 dalek specs: It now more's a Pair with key value / Supply, so that the receiver of the
21:09 dalek specs: more has a little more information as to what to do with that Supply.
21:09 dalek specs: review: https://github.com/perl6/specs/commit/806f1ccf02
21:10 treehug88 joined #perl6
21:13 dalek roast: 65fbf45 | (Elizabeth Mattijsen)++ | S17-supply/classify.t:
21:13 dalek roast: Add tests for Supply.classify
21:13 dalek roast: review: https://github.com/perl6/roast/commit/65fbf45186
21:22 dalek rakudo/nom: 6e359ab | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
21:22 dalek rakudo/nom: Implement Supply.classify
21:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e359ab634
21:22 dalek rakudo/nom: 173a1f0 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
21:22 dalek rakudo/nom: Fix playing paused values once a tap is made
21:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/173a1f072c
21:22 dalek rakudo/nom: bd518ab | (Elizabeth Mattijsen)++ | t/spectest.data:
21:22 dalek rakudo/nom: Test Supply.classify and advent2010-03
21:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd518ab576
21:23 BenGoldberg joined #perl6
21:28 treehug88 joined #perl6
21:29 araujo joined #perl6
21:31 jnthn lizmat: +1 to pair for classify
21:32 jnthn lizmat: I really don't think the "paused" thing in Supply itself can live, so please don't stack too much up on top of it.
21:33 lizmat well, without it Supply.classify doesn't make much sense  :-(
21:33 araujo joined #perl6
21:33 lizmat and we have race conditions in e.g. crappy useragent
21:33 lizmat I'm not sure of Subjects would help with this
21:35 * timotimo still doesn't know what Subjects are
21:36 jnthn lizmat: I'm not saying we don't need a solution, I'm saying that I doubt "paused" is the right one.
21:39 lizmat well, it's only called "paused" internally now
21:39 lizmat it's just making sure that any "more"s done on a live Supply will be seen by the *first* tap
21:39 lizmat (and only the first tap)
21:40 jnthn Well, in the case of read_chars, the problem is that it even is a live supply
21:42 lizmat that's what I said: a live supply  :-)
21:43 jnthn yes, I know, but it probably shouldn't be one, since we want to be able to stop receiving
21:43 lizmat but a second tap on that supply would not be guaranteed to see the whole thing, would it ?
21:45 jnthn Right. If you really want that, then I think it needs to be made explicit.
21:45 Alula joined #perl6
21:45 jnthn With a .publish equivalent.
21:45 jnthn At present we have no way of doing live -> demand (.replay(...) being an example) and demand -> live (.publish being an example)
21:47 lizmat so, let me get this straight: .publish would be a method on a live Supply, that would a live supply an on demand one?
21:47 lizmat *make
21:50 jnthn No, it'd be a method on a demand supply a live one, but it avoids races by letting you have a change to do any setup work
21:50 jnthn In Rx it works by having a connectable observable
21:50 jnthn Essentially the pattern is:
21:50 jnthn my $pub-supply = $some-demand-supply.publish;
21:50 jnthn $pub-supply.tap(...);
21:50 jnthn $pub-supply.tap(...);
21:50 jnthn $pub-supply.tap(...);
21:51 jnthn $pub-supply.connect; # Actually does the tap of $some-demand-supply
21:51 jnthn Not attached to the naming.
21:51 tadzik .tap.tap.tap.penny.tap.tap.tap.penny
21:56 lizmat ah
21:56 lizmat hmmm...
21:58 lizmat doesn't that really come down to $pub-supply doing buffering ?
21:59 jnthn No, it's just don't tap the underlying thing until the setup is done
21:59 jnthn So you don't "start" it
22:00 lizmat but in the crappy useragent example, there's no way not to start it
22:00 lizmat or the $socket object needs to be buffering ?
22:02 lizmat I mean, you send the request to the remote server
22:02 lizmat and it will start coming back at ya, possibly before you have the supply even
22:07 jnthn lizmat: Yes because IO::Socket::Async.read_chars is not done yet!
22:07 lizmat hehe  ok
22:07 jnthn lizmat: When it is, it'll return a demand supply that starts the reading when you tap it and stops when you close the tap.
22:08 jnthn lizmat: I just didn't want to re-create that infrastructure in a bunch of places, and we have no equivalent to Rx's Observable.Create yet.
22:08 lizmat and any second tap would be guaranteed to get the same more's ?
22:09 jnthn lizmat: No, a second tap on that is probably a really bad idea...potentially an exception.
22:09 lizmat so we have a third type of supply: on demand (repeatable), live (see what you get) and once (you only will get all)
22:10 jnthn The first and third are the same, though.
22:10 jnthn I mean, interval is "only you will get"
22:10 jnthn .for is "only you will get"
22:10 anaeem1_ joined #perl6
22:10 lizmat but but, on demand you can have as many taps as you want
22:11 lizmat and each will get the same, no?
22:11 jnthn r: my $iv = Supply.interval(1); $iv.tap({ say 1 }); sleep 0.5; $iv.tap({ say 2 });
22:11 camelia rakudo-moar ebca0e: OUTPUT«1␤»
22:11 camelia ..rakudo-jvm ebca0e: OUTPUT«1␤2␤»
22:11 camelia ..rakudo-parrot ebca0e: OUTPUT«None of the parametric role variants for 'Supply' matched the arguments supplied.␤Cannot call ''; none of these signatures match:␤  in any specialize at gen/parrot/Metamodel.nqp:2262␤  in any compose at gen/parrot/Metamodel.nqp:2560␤  in any make…»
22:11 jnthn m: my $iv = Supply.interval(1); $iv.tap({ say 1 }); sleep 0.5; $iv.tap({ say 2 }); sleep 5;
22:11 camelia rakudo-moar ebca0e: OUTPUT«1␤2␤1␤2␤1␤2␤1␤2␤1␤2␤1␤2␤»
22:11 hoelzro timotimo: are you around?
22:12 jnthn lizmat: Each .tap on a demand supply creates a new timer here.
22:12 lizmat true, but the sequence for all is the same
22:12 jnthn In this particular case, yes.
22:13 lizmat same for "for"
22:13 jnthn Right. The point of .create is for cases where it's not the same.
22:13 jnthn For example, in the twitter stream example
22:13 jnthn Where you want to observe different topics.
22:14 jnthn It's a demand supply 'cus you want to be able to establish a connection at the point of tapping, and disconnect later on when that topic is no longer interesting.
22:14 kurahaupo joined #perl6
22:15 jnthn But clearly, Twitter.live_feed('bieber') and Twitter.live_feed('goodmusic') are two very differrent sets of data.
22:15 timotimo hoelzro: i'm here
22:16 timotimo hoelzro: just distracted a bit ... watching Warehouse 13
22:16 hoelzro timotimo: I was wondering if you knew if Python had an equivalent to classify
22:16 timotimo surprisingly excellent show
22:16 timotimo hold on, i can try to find out
22:16 sftp joined #perl6
22:16 hoelzro I asked on #python, but no luck =/
22:17 timotimo aye
22:17 timotimo try this: https://docs.python.org/2/library/itert​ools.html?highlight=itertools#itertools.groupby
22:17 lizmat jnthn: the twitter example feels like a live feed (unrepeatble) with a .grep on it
22:17 hoelzro ah ha
22:17 lizmat they are different sets of data, yet they're both live
22:17 hoelzro thanks timotimo
22:18 timotimo i'm not sure how close it comes
22:18 hoelzro well, it's pretty close
22:18 lizmat jnthn: but anyway, going to take in what you said
22:18 lizmat and sleep on it a bit
22:18 jnthn lizmat: In reality you can't actually do it that way (even if it'd be cute)
22:19 jnthn lizmat: 'cus then you'd be receiving every single tweet over the network and discarding almost all of them.
22:19 hoelzro the data need to be sorted? boooo
22:19 lizmat jnthn: if the selection part is actually part of the URL, then I would consider them completely separate supplies anyway
22:20 dalek roast: d269628 | (Elizabeth Mattijsen)++ | S17-supply/classify.t:
22:20 dalek roast: Also test Supply.classify(%mapper)
22:20 dalek roast: review: https://github.com/perl6/roast/commit/d2696281f4
22:23 jnap joined #perl6
22:23 lizmat gnight, #perl6!
22:23 jnthn 'night, lizmat
22:24 denis_boyun_ joined #perl6
22:26 xiaomiao joined #perl6
22:36 sftp joined #perl6
22:41 cognominal__ joined #perl6
22:50 rurban joined #perl6
22:52 skids joined #perl6
22:57 eMBee joined #perl6
23:02 BenGoldberg m: my $iv = Supply.interval(1); $iv.tap({ say @_ }); sleep 5;
23:02 camelia rakudo-moar bd518a: OUTPUT«0␤1␤2␤3␤4␤5␤»
23:02 BenGoldberg m: my $iv = Supply.interval(1); $iv.tap({ say 'a:', @_ }); sleep .5; $iv.tap({ say 'b:', @_ }); sleep 5;
23:02 camelia rakudo-moar bd518a: OUTPUT«a:0␤b:0␤a:1␤b:1␤a:2␤​b:2␤a:3␤b:3␤a:4␤b:4␤a:5␤b:»
23:03 BenGoldberg m: my $iv = Supply.interval(1); $iv.tap({ say 'a:', @_ }); sleep 2.5; $iv.tap({ say 'b:', @_ }); sleep 2.6;
23:03 camelia rakudo-moar bd518a: OUTPUT«a:0␤a:1␤a:2␤b:0␤a:3␤b:1␤a:4␤b:2␤a:5␤»
23:16 telex joined #perl6
23:28 klapperl joined #perl6
23:34 pippo joined #perl6
23:43 eternaleye joined #perl6
23:47 lvfjf joined #perl6
23:50 kurahaupo joined #perl6
23:58 anaeem1 joined #perl6
23:58 xragnar_ joined #perl6
23:59 skids https://gist.github.com/skids/618713daedac57e8ca67

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

Perl 6 | Reference Documentation | Rakudo