Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-03-03

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:00 kaare_ joined #perl6
00:00 themonkeybob11 joined #perl6
00:22 Hotkeys what up p6
00:27 geraud joined #perl6
00:42 BenGoldberg joined #perl6
00:43 atweiden joined #perl6
00:46 atweiden m: my @a = qw<zero one two>; my $a = @a.deepmap(*.clone); @a[0] = 'Zero'; $a[0] = 'Zero';
00:46 camelia rakudo-moar 855de7: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/uqQa0ykUeM line 1␤␤»
00:47 atweiden m: my @a = qw<zero one two>; my $a = @a.deepmap(*.clone); @a[0] = 'Zero'; $a[0] = 'Zero'; say @a[0].perl; say $a[0].perl;
00:47 camelia rakudo-moar 855de7: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/jJAvS_EtvO line 1␤␤»
00:47 atweiden can anyone say why this is happening?
00:49 atweiden m: my @a = qw<zero one two>; my \a = @a.deepmap(*.clone); @a[0] = 'Zero'; say @a[0].perl; a[0] = 'Zero'; say $a[0].perl;
00:49 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3PBin828cT␤Variable '$a' is not declared. Did you mean '@a'?␤at /tmp/3PBin828cT:1␤------> 3ro'; say @a[0].perl; a[0] = 'Zero'; say 7⏏5$a[0].perl;␤»
00:49 atweiden m: my @a = qw<zero one two>; my \a = @a.deepmap(*.clone); @a[0] = 'Zero'; say @a[0].perl; a[0] = 'Zero';
00:49 camelia rakudo-moar 855de7: OUTPUT«"Zero"␤Cannot modify an immutable Str␤  in block <unit> at /tmp/XjiAxYpT0E line 1␤␤»
00:53 Khisanth joined #perl6
00:54 tardisx joined #perl6
01:16 Celelibi joined #perl6
01:21 yadongz joined #perl6
01:28 yadongz p6: say "Hello world"
01:28 camelia rakudo-moar 855de7: OUTPUT«Hello world␤»
01:28 yadongz m: say now - INIT now
01:28 camelia rakudo-moar 855de7: OUTPUT«0.00224836␤»
01:34 skids joined #perl6
01:34 tardisx joined #perl6
01:36 yadongz :a
01:51 kid51 joined #perl6
01:57 timotimo heyo
02:00 kid511 joined #perl6
02:03 timotimo m: say now - BEGIN now
02:03 camelia rakudo-moar 855de7: OUTPUT«0.01109792␤»
02:06 khw joined #perl6
02:06 Sgeo joined #perl6
02:08 FreezerburnV joined #perl6
02:13 [particle] joined #perl6
02:16 mattp_ joined #perl6
02:17 bakedb joined #perl6
02:17 gtodd1 joined #perl6
02:17 esh_ joined #perl6
02:18 notostraca joined #perl6
02:18 zacts_ joined #perl6
02:19 khagan_ joined #perl6
02:19 [particle]1 joined #perl6
02:19 cxreg2 joined #perl6
02:19 gypsydav15 joined #perl6
02:22 partly_ joined #perl6
02:22 agent008_ joined #perl6
02:23 xxpor_ joined #perl6
02:24 inokenty joined #perl6
02:25 mtj_ joined #perl6
02:25 cgfbee joined #perl6
02:26 Actualeyes joined #perl6
02:26 a3r0 joined #perl6
02:26 themonkeybob11 joined #perl6
02:27 yadongz joined #perl6
02:32 vendethiel joined #perl6
02:42 themonkeybob11 joined #perl6
02:46 tardisx joined #perl6
02:51 khw joined #perl6
03:22 perlpilot_ joined #perl6
03:24 autogen_ joined #perl6
03:24 havenn joined #perl6
03:24 kaare__ joined #perl6
03:24 diegok joined #perl6
03:25 Praise- joined #perl6
03:25 jnthn_ joined #perl6
03:25 ranguard_ joined #perl6
03:25 mkz___ joined #perl6
03:25 jferrero_ joined #perl6
03:25 ambs_ joined #perl6
03:25 decent_ joined #perl6
03:25 tony-o_ joined #perl6
03:25 cxreg2 joined #perl6
03:25 konobi_ joined #perl6
03:25 jantore_ joined #perl6
03:25 frew1 joined #perl6
03:25 Herby_ joined #perl6
03:26 Herby_ Evening, everyone!
03:26 bhm_ joined #perl6
03:26 khisanth_ joined #perl6
03:26 sergot_ joined #perl6
03:26 charsbar____ joined #perl6
03:26 ChoHag_ joined #perl6
03:26 psch_ joined #perl6
03:26 squain joined #perl6
03:26 Roamer` joined #perl6
03:26 captain-adequate joined #perl6
03:26 sammers joined #perl6
03:27 dylanwh_ joined #perl6
03:27 mtj_ joined #perl6
03:27 go|dfish joined #perl6
03:29 inokenty joined #perl6
03:52 noganex_ joined #perl6
04:43 dalek specs: fe8f074 | skids++ | S17-concurrency.pod:
04:43 dalek specs: spec Channel.fail and Channel.closed
04:43 dalek specs: review: https://github.com/perl6/specs/commit/fe8f07490a
04:43 wamba joined #perl6
04:45 cpage__ joined #perl6
04:59 labster joined #perl6
05:14 dalek rakudo/repl6: 384a70c | hoelzro++ | src/ (2 files):
05:14 dalek rakudo/repl6: REPL6: Stash the compiler object away inside the REPL
05:14 dalek rakudo/repl6: review: https://github.com/rakudo/rakudo/commit/384a70ce6f
05:14 dalek rakudo/repl6: 2374c4a | hoelzro++ | src/core/REPL.pm:
05:14 dalek rakudo/repl6: REPL6: Implement update-completions
05:14 dalek rakudo/repl6: review: https://github.com/rakudo/rakudo/commit/2374c4a649
05:14 dalek rakudo/repl6: 377a9ae | hoelzro++ | src/core/REPL.pm:
05:14 dalek rakudo/repl6: REPL6: Update completions before reading a line
05:14 dalek rakudo/repl6:
05:14 dalek rakudo/repl6: The context of an evaluation is saved before reading the
05:14 dalek rakudo/repl6: next line but after the call to eval(); we can't really guarantee
05:14 dalek rakudo/repl6: when it's going be.  Definitely LTA, but gets the job done.
05:14 dalek rakudo/repl6: review: https://github.com/rakudo/rakudo/commit/377a9ae540
05:17 sortiz hoelzro++ # More work in REPL
05:26 raydiak_ joined #perl6
05:44 Cabanossi joined #perl6
05:58 wamba1 joined #perl6
06:13 tardisx joined #perl6
06:27 vendethiel joined #perl6
06:44 bjz joined #perl6
06:55 domidumont joined #perl6
07:00 domidumont joined #perl6
07:16 sjoshi joined #perl6
07:17 tmch joined #perl6
07:21 cognominal joined #perl6
07:22 bjz joined #perl6
07:24 ecocode joined #perl6
07:28 nakiro joined #perl6
07:34 asan13 joined #perl6
07:35 firstdayonthejob joined #perl6
07:36 darutoko joined #perl6
07:44 themonkeybob11 joined #perl6
07:48 sinuni joined #perl6
07:54 sno joined #perl6
08:01 araujo_ joined #perl6
08:03 cpage__ joined #perl6
08:04 araujo_ joined #perl6
08:10 vendethiel joined #perl6
08:14 ely-se joined #perl6
08:20 El_Che rakudo people: I see there are asc signatures in the downlaod directories, but I don't see instructions (or keys) in the site to verify the signature
08:21 lizmat joined #perl6
08:21 zakharyas joined #perl6
08:24 moritz gpg --verify
08:24 moritz and the keys can be found on the public key servers
08:24 moritz proper documentation welcome :-)
08:25 * lizmat waves from the North Sea
08:26 DrForr Where ya headed?
08:29 lizmat Newcastle Upon Tyne
08:29 DrForr Aha.
08:30 lizmat som R&R in Northern England :-)
08:30 lizmat *some
08:30 klapperl joined #perl6
08:30 DrForr I'd go back to Edinburgh in a heartbeat.
08:33 lizmat hehe...  not going to make it there this trip  :-(
08:34 stmuk lizmat: Durham is very nice if you get  chance to see it
08:34 abraxxa joined #perl6
08:37 lizmat stmuk: we'll keep that in mind...  initially we're going to Harrogate
08:38 stmuk virtualsue recommends Betty's Tea Rooms Harrogate :)
08:39 fireartist joined #perl6
08:40 dalek DBIish: 01291d0 | (Salvador Ortiz)++ | lib/DB (19 files):
08:40 dalek DBIish: Typed Exceptions for proper error handling
08:40 dalek DBIish:
08:40 dalek DBIish: Uses X::DBIish::* for pre-connect exceptions and
08:40 dalek DBIish: X::DBDish::* for post-connect errors
08:40 dalek DBIish: review: https://github.com/perl6/DBIish/commit/01291d0ca3
08:40 dalek DBIish: 58b629a | (Salvador Ortiz)++ | t/35-pg-common.t:
08:40 dalek DBIish: Pg: Typo in dbname used for testing
08:40 dalek DBIish: review: https://github.com/perl6/DBIish/commit/58b629ab00
08:40 dalek DBIish: 8ed4e18 | (Salvador Ortiz)++ | lib/DB (14 files):
08:40 dalek DBIish: All classes now does DBDish::ErrorHandling
08:40 dalek DBIish:
08:40 dalek DBIish: Error handling round 2:
08:40 dalek DBIish: Make DBDish::ErrorHandling a proper role.
08:40 dalek DBIish: RaiseError now simply control if an Exception are throwed or returned
08:40 dalek DBIish: as a Failure for standard Perl 6 semantics.
08:40 dalek DBIish: Orthogonally all errors are reported up-tree (via the .err and .errstr
08:40 dalek DBIish: methods) to conform with Perl 5 DBI.
08:40 dalek DBIish: See t/41-sqlite-exec-error.t for examples.
08:40 dalek DBIish: So, IMO this Fixes #4
08:40 dalek DBIish: review: https://github.com/perl6/DBIish/commit/8ed4e1883f
08:40 dalek DBIish: 573d679 | (Salvador Ortiz)++ | / (3 files):
08:40 dalek DBIish: Extend tests for error handling
08:40 dalek DBIish: review: https://github.com/perl6/DBIish/commit/573d679397
08:40 lizmat stmuk: we actually have been there, it was nice but way too crowded with all the buses of tourists  :-(
08:42 stmuk ah :(
08:44 RabidGravy joined #perl6
08:45 themonkeybob11 joined #perl6
08:48 bjz_ joined #perl6
08:50 lizmat ok, deboarding time... &
09:00 kjs_ joined #perl6
09:03 AlexDaniel joined #perl6
09:04 rindolf joined #perl6
09:08 RabidGravy rarr!
09:09 sortiz \o RabidGravy
09:09 stmuk arjj! zipp!
09:17 liztormato joined #perl6
09:20 vendethiel joined #perl6
09:23 dalek DBIish: e63c135 | (Salvador Ortiz)++ | / (2 files):
09:23 dalek DBIish: For the happiness of panda's users: v0.1.2
09:23 dalek DBIish: review: https://github.com/perl6/DBIish/commit/e63c135376
09:23 azawawi joined #perl6
09:27 azawawi hi
09:27 azawawi where can i find a POD6 cheatsheet/
09:27 azawawi ?
09:28 liztormato joined #perl6
09:28 arnsholt I usually look at the documentation spec, TBH
09:31 araujo joined #perl6
09:39 azawawi arnsholt: thanks
09:41 Upasaka_ joined #perl6
09:46 Upasaka joined #perl6
09:48 RabidGravy is there some HTTP Authentication thingy in the ecosystem that I missed, i.e. given an Authentication: header it picks the bits out and returns the type and the split out credentials?
09:48 RabidGravy or something like that
09:49 RabidGravy getting a bit carried away here and about to implement the source authentication for this streaming thing
09:50 kjs_ joined #perl6
09:54 DrForr RabidGravy: I'd like your opinion on this - I'm adding session support tonight/over the weekend for Prancer and was looking at how Dancer handles sessions with a DSL. I think I'm probably better off just passing the session as an argument to the handler. That gives me a full object to work with, and people can write $SESSION.<logged-in> = 1; # and such rather than session('logged-in',1); and having to do some rather ugly hacks. Thoughts?
09:55 DrForr (he says, 5 minutes before a scrum meeting.)
09:56 DrForr multi GET( $SESSION, '/path', '/to', $username ) is handler { $SESSION.<is-valid> or die... }
10:01 RabidGravy yes, passing a proper object, maybe as a named argument, it would be useful to have it available as a multi selector for sure
10:03 DrForr Yeah. It doesn't have the convenience of being able to throw in a 'session(...)' anywhere without editing the arg list, but OTOH Dancer requires a bunch of DSL entries to do session management, and a single object serves the same purpose w/o cluttering namespace.
10:05 RabidGravy an alternative would be to have a "session" term (somewhat similar to "self") which is actually a $*SESSION dynvar under the hood
10:08 DrForr Yeah, I think I'll stick with this approach for now. I figured out last night how I can emulate what Dancer does, but it's ugly in that I'd have to wrap every user-provided handler in a call and have the 'session' "function" look backwards in the callstack for the marker and retrieve the session ID. Quick, but prone to all sorts of problems.
10:09 DrForr The first one being that the function call could get optimized away.
10:12 DrForr It could grow into a God object if I don't watch it, though. I can restrict it to *only* the stuff that requires a per-browser ID.
10:12 espadrine joined #perl6
10:13 liztormato joined #perl6
10:15 liztormato_ joined #perl6
10:17 liztormato_ 1DrForr: depending on introspection is generally a code smell, or so I'm told 1
10:17 gregf joined #perl6
10:20 gregf joined #perl6
10:27 vendethiel joined #perl6
10:43 kjs_ joined #perl6
10:46 themonkeybob11 joined #perl6
10:59 FROGGS joined #perl6
10:59 kjs_ joined #perl6
11:00 ecocode joined #perl6
11:06 vendethiel joined #perl6
11:08 cognominal joined #perl6
11:26 virtualsue joined #perl6
11:47 themonkeybob11 joined #perl6
12:10 ely-se joined #perl6
12:30 iH2O joined #perl6
12:40 virtualsue joined #perl6
12:41 partly_ joined #perl6
12:42 telex joined #perl6
12:43 kid51 joined #perl6
12:53 maybekoo5 joined #perl6
12:54 UrbanM joined #perl6
12:57 bjz joined #perl6
13:08 bjz_ joined #perl6
13:11 maybekoo5 joined #perl6
13:16 zpmorgan joined #perl6
13:31 kurahaupo joined #perl6
13:39 RabidGravy joined #perl6
13:42 perlpilot joined #perl6
13:43 RabidGravy RARR!
13:46 llfourn has anyone else been getting these randomly over the past week or so: moar(55541,0x7fff7b6d9000) malloc: *** error for object 0x7ffb13cbe820: pointer being realloc'd was not allocated
13:46 llfourn *** set a breakpoint in malloc_error_break to debug
13:46 llfourn it seems to be non-deterministic and only happens on my mac so far
13:47 timotimo uh-oh
13:47 timotimo could you potentially bisect it? or does it happen too randomly?
13:47 timotimo is the problem excerberated by passing --full-cleanup to the moar commandline?
13:48 llfourn leme check this
13:50 llfourn yes it does exacerbate it.. sort of, now it prints it even at the end when it works
13:51 vendethiel joined #perl6
13:51 llfourn usually it fails at runtime
13:51 Psyche^_ joined #perl6
13:51 llfourn but now runtime succeeds and it prints the message
13:51 timotimo right
13:51 timotimo usually moar just exits instead of cleaning up all objects it owns
13:51 themonkeybob11 joined #perl6
13:51 llfourn I've never done a bisect before but no time like the present to learn
13:51 timotimo because the OS will just throw out all the mapped memory regions and resources and that's the end of it
13:52 llfourn makes sense
13:52 timotimo --full-cleanup is more of a debugging thing to see if we do our memory management right
13:53 llfourn do I just go into moar and do bisect or do I do it in rakudo because of NQP/moar versioning
13:54 llfourn (and then Configure.pl again)
13:54 psch afair you can replace moar under rakudo/nqp without trouble
13:54 timotimo just recompile moar and if you see "invalid instruction" or totally bogus behavior, make clean/make install in rakudo
13:54 llfourn kk
13:54 psch right, barring format changes
13:54 psch or new ops
13:56 timotimo https://twitter.com/bluedelliquanti/status/702719958795464704  -  this made the world all better again when i saw it
14:03 gregf joined #perl6
14:06 cdg joined #perl6
14:08 autogen joined #perl6
14:12 skids joined #perl6
14:16 llfourn looks like it's been happening for a while. It must be that I've changed my code recently to be hitting it.
14:16 timotimo damn
14:16 timotimo could you run such a program under valgrind, or give us the backtrace malloc gives, or compile moar with --asan?
14:19 llfourn yes how do I do either of the last two?
14:19 llfourn valgrind is buggy on mac I find
14:19 llfourn maybe I'll check if it happens on debian as well
14:21 hankache joined #perl6
14:21 maybekoo5 joined #perl6
14:22 hankache Hello *
14:22 llfourn o/
14:23 timotimo well, you'll want to give moarvm's Configure.pl the --debug=3 and potentially a lower --optimize= value. and on top of that, you can pass --asan
14:23 llfourn timotimo: rgr
14:24 timotimo if you've been using --gen-moar and friends so far, you'll need to make sure to pass the same --prefix that also has your nqp and rakudo in it
14:24 Cabanossi joined #perl6
14:25 wamba joined #perl6
14:25 vendethiel joined #perl6
14:27 timotimo i've got to be AFK for a bit
14:27 llfourn timotimo: thanks for your help :)
14:28 timotimo oh, and using the very latest moarvm would probably be good, since there was many memory management changes recently - well, mostly fixes of leaks
14:28 llfourn yeah I did go to the latest before mentionig it in irc
14:29 timotimo i thought so, but i figured i'd just point it out to be safe
14:32 llfourn timotimo: in case you're still here: it doesn't happen on debian
14:33 maybekoo5 joined #perl6
14:36 kjs_ joined #perl6
14:37 abaugher joined #perl6
14:37 themonkeybob11 joined #perl6
14:40 molaf joined #perl6
14:45 FreezerburnV joined #perl6
14:51 hankache joined #perl6
14:51 vendethiel joined #perl6
14:58 ely-se joined #perl6
14:58 kjs_ joined #perl6
14:59 timotimo ugh, that's annoying
15:06 RabidGravy I'd be curious to see if it occurred on FreeBSD too
15:07 themonkeybob11 joined #perl6
15:07 mspo more like openbsd which defaults to ASLR?
15:08 yeahnoob joined #perl6
15:08 mspo (guessing that aslr is related)
15:09 yeahnoob joined #perl6
15:10 llfourn timotimo: attempt at backtrace: https://gist.github.com/LLFourn/f70cea5e07ff0e49a852
15:12 dalek doc: 6a25221 | jjatria++ | doc/Language/operators.pod:
15:12 dalek doc: Fixed wrong operator
15:12 dalek doc:
15:12 dalek doc: The sample definition for "~" was the same as that for "-"
15:12 dalek doc: review: https://github.com/perl6/doc/commit/6a25221e69
15:12 dalek doc: ff3da18 | (Zoffix Znet)++ | doc/Language/operators.pod:
15:12 dalek doc: Merge pull request #405 from jjatria/operators-fix
15:12 dalek doc:
15:12 dalek doc: Fixed definition for ~
15:12 dalek doc: review: https://github.com/perl6/doc/commit/ff3da18c2c
15:13 timotimo llfourn: every REPR has its own gc_free function, and they're all called the same thing
15:13 timotimo llfourn: you can't get a file and line number from frame number 2?
15:13 llfourn timotimo: I just updated the gist to show a different trace when it fails at runtime
15:13 timotimo oh, what?! inside set_size_internal?
15:13 timotimo that's very interesting; that'd be VMArray probably
15:15 timotimo yeah, only MVMArray has set_size_internal
15:15 * llfourn looks into how to get file and line numbers in backtrace
15:16 llfourn oh I don't think I have the symbols there properly
15:16 jnthn llfourn: Does your code involve multiple threads?
15:16 llfourn jnthn: no
15:16 jnthn OK
15:16 jnthn Then it'll likely be a GC invariant violation...somewhere... /o\
15:17 timotimo oh? i would have thought memory corruption
15:17 timotimo llfourn: were you able to build moar with --asan?
15:17 llfourn timotimo: no it gets angry at me, probing whether your compiler thinks that it is gcc  Can't compile simple gcc probe, so something is badly wrong (if on linux, maybe you need something like 'sudo apt-get install build-essential') at build/probe.pm line 92.
15:17 timotimo right, that happens to me, too
15:18 timotimo something seems to have broken --asan support at some point
15:18 timotimo .o( and also it won't say what exactly is wrong there, grr )
15:18 FROGGS I'd love to see a --verbose option there
15:18 FROGGS so you get the C file dumped as well as the error message
15:18 jnthn timotimo: Those almost always lead to memory corruption
15:19 timotimo oh
15:19 timotimo /usr/bin/ld: cannot find /usr/lib64/libasan.so.2.0.0
15:20 timotimo well, that'd explain something
15:20 timotimo now that i have installed libasan, it actually works
15:22 timotimo llfourn: so what happens if you install libasan on your machine?
15:23 llfourn timotimo: I'm not sure how I get libasan on my mac
15:23 llfourn I have found this: https://github.com/Homebrew/homebrew/pull/17039
15:24 timotimo hm
15:24 timotimo clang has asan "built in" or something, but you'll still need the library to link your program against, i think?
15:29 llfourn I haven't found it
15:30 llfourn I gotta take a break ill see if I can get a better trace tomorrow or so :)
15:31 kjs_ joined #perl6
15:31 llfourn I might have to install GDB instead
15:31 llfourn GCC*
15:31 timotimo i find it hard to believe that it's clang's fault there's no line numbers
15:31 timotimo did you really --debug=3 in your Configure.pl?
15:32 llfourn perl Configure.pl --prefix=/Users/llfourn/tmp/p6/rakudo/install --debug=3 && make
15:32 llfourn is what I did
15:32 timotimo weird. could something have overridden that?
15:33 timotimo i don't think we have a "strip" anywhere in our Makefile
15:33 llfourn is there a way to ask moarvm the debug level it was compiled with?
15:33 timotimo m: say $*VM<config>
15:33 camelia rakudo-moar 855de7: OUTPUT«Type VM does not support associative indexing.␤  in block <unit> at /tmp/6_eDxll998 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/6_eDxll998 line 1␤␤»
15:34 timotimo m: say $*VM.config.
15:34 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kyN92SrK8k␤Malformed postfix call␤at /tmp/kyN92SrK8k:1␤------> 3say $*VM.config.7⏏5<EOL>␤»
15:34 timotimo m: say $*VM.config
15:34 camelia rakudo-moar 855de7: OUTPUT«ar => ar, arflags => rcs, arout => , asm => .s, asmout => -o , asmswitch => -S, auxclean => @:, be => 0, bindir => /home/camelia/rakudo-m-inst-1/bin, booltype => _Bool, can_unaligned_int32 => 1, can_unaligned_int64 => 1, can_unaligned_num64 => 1, cancgoto …»
15:34 timotimo perhaps somewhere in there?
15:34 timotimo m: say $*VM.config.keys
15:34 camelia rakudo-moar 855de7: OUTPUT«(dcbrule ar mastdir tomrule syslibs[2] shaobjects ccshared be dynasmlua ld mtlib mtobjects noreturnspecifier perl shaclean static_inline ccdebugflags auxclean thirdpartylibs config ccinc booltype ldout moarlib mtrule syslibs[0] dcrule dcbobjects cflags lao…»
15:34 timotimo ccdebugflags, for example?
15:34 timotimo and cflags
15:35 timotimo m: say $*VM.config<cflags ccdebugflags ldflags>
15:35 camelia rakudo-moar 855de7: OUTPUT«(-Wdeclaration-after-statement -Werror=declaration-after-statement -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -g3  -O3 -DNDEBUG -Wl,-rpath,/home/camelia/rakudo-m-inst-1/lib -Wl,-rpath,/home/camelia/rakudo-m-inst-1/share/perl6/site/lib)␤»
15:35 timotimo there you see it has -g3, that's the debug level
15:35 llfourn yeah I have that too
15:35 timotimo okay. well, that's weird
15:35 llfourn but I just recmopiled so I'll check gdb again
15:35 timotimo on the other hand ... perhaps it's just glibc (or whatever) that'd need support for debug symbols?
15:36 kjs_ joined #perl6
15:36 timotimo perhaps libunwind or something needs to be present?!?
15:36 timotimo this is hard to google for :)
15:36 prammer joined #perl6
15:38 llfourn no luck
15:38 timotimo apparently there's an env var called "MALLOC_CHECK_" that you can set to 2 ?!?
15:39 llfourn when compiling moar or running?
15:39 * llfourn doesn't do c stuff at all
15:40 llfourn anyways me sleepy. I'll give it another shot tomorrow.
15:40 timotimo when running
15:40 timotimo okay
15:40 timotimo have a good rest!
15:40 timotimo i hope we'll figure this out eventually
15:42 geekosaur that's a glibc malloc debug feature, yes. (so effectively linux/hurd only)
15:43 timotimo darn
15:44 vendethiel joined #perl6
15:49 ely-se tfw someone feels the need to mention Hurd
15:50 timotimo hurd could be cool at some point
15:50 * geekosaur started out in #haskell this morning, pedantic precision now on the brain >.>
15:51 timotimo "got out on the wrong channel of the bed"?
15:51 geekosaur something like that
15:52 khw joined #perl6
15:56 RabidGravy isn't the *idea* of hurd actually older than linux?
15:58 timotimo i think so?
15:58 perlpilot yes.
15:58 timotimo going to linux with the GNU system was kind of a compromise, wasn't it?
15:58 timotimo gnu needed a kernel, linux needed a userland
15:59 perlpilot (and hurd was imaginary)
16:00 RabidGravy https://www.gnu.org/software/hurd/history/hurd-announce
16:00 geekosaur afaik the gnu project never adopted linux, hurd was always their goal. linux needed a userland and adopted gnu
16:01 geekosaur (this is part of the reason for the whole "gnu/linux" foofooraw, some linuxers see Stallman's insistence on that as appropriation of something they weren't involved with)
16:01 timotimo fair enough
16:01 ely-se ReactOS beats both
16:11 partly_ m: IO::.WHAT ~~ Stash
16:11 camelia rakudo-moar 855de7: ( no output )
16:11 partly_ m: say IO::.WHAT ~~ Stash
16:11 camelia rakudo-moar 855de7: OUTPUT«True␤»
16:12 partly_ m: my $f = IO; say $f::.WHAT ~~ Stash
16:12 camelia rakudo-moar 855de7: OUTPUT«False␤»
16:12 timotimo m: my $f := IO; say $f::.WHAT ~~ Stash
16:12 camelia rakudo-moar 855de7: OUTPUT«False␤»
16:12 timotimo hm.
16:13 partly_ m: my $f = IO; say $f::.WHAT.gist;
16:13 camelia rakudo-moar 855de7: OUTPUT«(IO)␤»
16:13 partly_ why?
16:13 JimmyZ m: my \f = IO; say f::.WHAT ~~ Stash
16:13 camelia rakudo-moar 855de7: OUTPUT«True␤»
16:13 timotimo probably because of the way the :: operator works
16:13 * timotimo AFK
16:13 jnthn $f:: is a variable name, yeah
16:14 jnthn m: my $f = IO; say ::($f)::.WHAT ~~ Stash
16:14 camelia rakudo-moar 855de7: OUTPUT«Use of uninitialized value <element> of type IO in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at /tmp/Yl6s9wXeYz line 1␤False␤»
16:14 jnthn ah
16:14 jnthn But easy way is
16:14 jnthn m: my $f = IO; say $f.WHO ~~ Stash
16:14 camelia rakudo-moar 855de7: OUTPUT«True␤»
16:20 partly_ Thanks for the hint with the .WHO aproach
16:20 partly_ Generally how do I find out if $f is a module or a class or a grammar or role?
16:21 domidumont joined #perl6
16:21 RabidGravy look at the .HOW
16:21 moritz through the type of the HOW
16:21 moritz m: say Grammar.HOW.^name
16:21 camelia rakudo-moar 855de7: OUTPUT«Perl6::Metamodel::ClassHOW␤»
16:21 moritz m: grammar G { }; say G.HOW.^name
16:21 camelia rakudo-moar 855de7: OUTPUT«Perl6::Metamodel::GrammarHOW␤»
16:22 moritz m: (my role { }).HOW.^name
16:22 camelia rakudo-moar 855de7: ( no output )
16:22 moritz m: say (my role { }).HOW.^name
16:22 camelia rakudo-moar 855de7: OUTPUT«Perl6::Metamodel::ParametricRoleHOW␤»
16:23 nowan joined #perl6
16:23 partly_ Hmm this makes sense. Thank you
16:25 timotimo \o/
16:28 moritz partly_: why do you want to know?
16:29 moritz because if you want to check things like "can this inherit" or "can it hold methods", there are better ways
16:31 vendethiel joined #perl6
16:31 partly_ moritz: I'm just playing around. Given a module i want to expose all subroutines as actions of a cli app and it's signature attributets as parameters
16:31 pyrimidine Ulti: know of anyone who wants to work on Perl 6 for GSoC?  OBF and Genome Informatics were accepted :)
16:32 musiKk_ joined #perl6
16:32 themonkeybob11 joined #perl6
16:34 partly_ i just need to make a check if the given type is a module containing subroutines and not a class, grammar or so on...
16:36 * RabidGravy wonders idly whether the Inputs and Outputs of this thing should be symmetrical with Supplies or use a Channel on the output
16:41 moritz partly_: but classes can also contain subroutines
16:41 moritz partly_: which is why I think that's not a good approach
16:41 partly_ Oh, have not thought about that
16:42 moritz partly_: a class can act as a namespace (or has a namespace associated) if its meta object doe sthe Metamodel::Stashing role
16:42 moritz partly_: that'd be a saner check
16:42 moritz likewise, it can hold methods if it does the MethodContainer role
16:44 * RabidGravy goes for the symmetrical to see how well it stacks up
16:46 partly_ Hmm no i confused. So I know that IO.HOW is a ParametricRoleGroupHOW but is it than also a Metamodel::Stashing? If so how do i check it?
16:47 partly_ I'm looking at the MOP docs currently but not getting smarter :)
16:48 moritz m: say (class A { }).HOW ~~ Metamodel::Stashing
16:48 camelia rakudo-moar 855de7: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Perl6::Metamodel::Stashing'␤  in block <unit> at /tmp/UX7sRYXFRA line 1␤␤»
16:48 moritz m: say (class A { }).HOW.^does(Metamodel::Stashing)
16:48 camelia rakudo-moar 855de7: OUTPUT«1␤»
16:52 partly_ Hmm i see.
16:53 partly_ Thanks
17:00 moritz the documentation on the MOP is still rather sparse; I recommend reading the top of each of the interesting files (like ClassHOW.nqp) in the rakudo repo to see which roles they implement
17:01 perlpilot .oO( We have MOP docs?!?  )
17:01 perlpilot ;)
17:02 moritz sure
17:02 nine_ I just love this low level stuff :)
17:03 partly_ moritz: thanks for the hint, I'm already on it :)
17:04 partly_ I'm really mising a ^subs like ^methods
17:04 moritz partly_: subs typically live in lexical scopes, which can't be accessed from the outside anyway
17:05 partly_ Ok let me paraphrase that: I want to have all what in java would call static methods
17:06 partly_ IO::Path::mkdir would be for me a static method, but how to filter it from other things like dirname, basename?
17:06 psch Path::mkdir isn't equivalent to a static method
17:07 partly_ But it's  a method which i can execute without calling IO::Path.new first
17:07 * partly_ is not sure what it is
17:07 perlpilot because it's not a method
17:08 psch partly_: which code do you use to call mkdir without instantiating an IO::Path object?
17:08 psch oh, that's possible too, right.  there's also a mkdir sub
17:08 partly_ Hmm, i just call mkdir.
17:08 partly_ m: IO::Path::mkdir("foo")
17:08 camelia rakudo-moar 855de7: OUTPUT«Could not find symbol '&mkdir'␤  in block <unit> at /tmp/v1PoVgsAzk line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/v1PoVgsAzk line 1␤␤»
17:08 partly_ m: mkdir("foo")
17:08 camelia rakudo-moar 855de7: OUTPUT«mkdir is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub mkdir at src/RESTRICTED.setting line 8␤  in block <unit> at /tmp/wyxMjXATs3 line 1␤␤»
17:09 psch partly_: yeah, that's a Sub, not a method
17:09 psch partly_: and under the hood it creates an IO::Path and calls the mkdir method on that
17:10 psch https://github.com/rakudo/rakudo/blob/nom/src/core/io_operators.pm#L245
17:11 Skarsnik joined #perl6
17:11 Skarsnik Hello
17:12 RabidGravy a "static" method is pretty much a method that can be called on the type object
17:13 psch right, what Java calls a static method is what we do by default
17:13 RabidGravy but still uses  the '.', like Foo.bar()
17:13 psch IO::Path::mkdir explicitly isn't one, 'cause it wants IO::Path:D
17:13 psch as invocant
17:13 psch Javas static method can be called on instances and on the type
17:13 RabidGravy Foo::bar is just an "our scoped subroutine"
17:14 * psch is botching the syntax a bit there though
17:14 psch ...i also think this is somewhat of a digression from the actual, original question :/
17:14 Skarsnik always :)
17:14 psch sorry for that, especially as i feel i came of a bit abrasive
17:15 RabidGravy nothing like it
17:15 kjs_ joined #perl6
17:15 partly_ still i'm not wiser how to get all the "default"/static methods/subroutines
17:17 RabidGravy which?
17:18 psch m: module Foo { sub bar is export { } }; Foo.WHO<EXPORT>.WHO<ALL>.WHO.perl.say
17:18 camelia rakudo-moar 855de7: OUTPUT«{"\&bar" => sub bar () { #`(Sub|72363712) ... }}␤»
17:18 psch something like that, i guess?
17:20 RabidGravy or
17:20 RabidGravy m: module Foo { our sub bar { }; our sub baz { }; } ; for Foo::.values { say $_.name if $_ ~~ Callable; }
17:20 camelia rakudo-moar 855de7: OUTPUT«baz␤bar␤»
17:20 RabidGravy if non-exported "our" subs
17:21 perlpilot psch: seems a little long-winded ...
17:22 psch perlpilot: yeah... i don't know of a shorter way though :S
17:22 perlpilot m: module Foo { sub bar is export { } }; Foo::EXPORT::ALL::.kv.perl.say
17:22 camelia rakudo-moar 855de7: OUTPUT«("\&bar", sub bar () { #`(Sub|63257056) ... }).Seq␤»
17:22 RabidGravy Foo::<EXPORT>?
17:22 perlpilot There's also Foo::EXPORT::DEFAULT
17:22 Skarsnik Yes FOO::EXPORT::DEFAULT::.keys
17:24 sevvie joined #perl6
17:25 RabidGravy Now I'm wondering whether you could do a trick with a trait where you could expose non-exported, non our subs (infact I'm sure there is, I just can't be bothered to work it up right now
17:27 SCHAAP137 joined #perl6
17:29 partly_ My first aproach was using EXPORT, but this did not work on IO::Path as expected. Now I know why
17:30 partly_ Thank you guys for your patience
17:31 perlpilot partly_: maybe when you figure everything out, you could update the docs with whatever is missing
17:31 perlpilot partly_: and write a blog post about the kinds of "introspection" you're doing
17:35 partly_ Maybe, we will see ;)
17:46 themonkeybob11 joined #perl6
18:05 firstdayonthejob joined #perl6
18:06 Actualeyes left #perl6
18:06 RabidGravy I've got a thing here which finds all the methods in a class which do a particular role and optionally have a particular returns type
18:06 RabidGravy can I remember what I made it for, no, no I can't ?
18:12 themonkeybob11 joined #perl6
18:13 gregf left #perl6
18:14 gregf_ joined #perl6
18:15 RabidGravy If I wanted to name a role that is common to "sink" and "source" what could I call it?
18:16 RabidGravy before I go with IOThing
18:21 RabidGravy portal, edge, door
18:21 TimToady ports, sockets,
18:22 TimToady lots of words have been used
18:22 TimToady so hard to find a new one :)
18:23 RabidGravy ooh I just had a horrid flashback to SunOS "doors" :-\
18:24 perlpilot "portal"  :)
18:24 perlpilot oh, already said that one
18:24 * perlpilot should read faster
18:25 TimToady but do you have a portal gun?
18:25 perlpilot There ya go, at least 2 votes for portal!  ;)
18:25 TimToady a mock endpoint would have to be called "cake" :)
18:26 perlpilot heh
18:26 RabidGravy portal is good :)
18:27 perlpilot TimToady: btw, do you know where I can find a reference for where P5 got its inspiration for its object system?
18:27 perlpilot someone was asking at $work yesterday and I recalled that it came from Python, but couldn't "independently confirm"
18:28 TimToady well, I can confirm it, in a general way; of course, all the specifics are different underneath
18:28 perlpilot (and I don't always trust my memory L(
18:28 perlpilot er :)
18:29 TimToady but the whole explicit self as an argument thing was from Python
18:29 timotimo o/
18:29 TimToady in a sense Perl 6 still has that, but built on a much different metamodel
18:31 TimToady all that p5 stole was the notion that you can do a minimalistic OO system merely by building a dispatch system that looks at the first argument, and otherwise leave methods as functions
18:31 TimToady we certainly didn't borrow any of the __FOO__ crud underneath
18:32 perlpilot aye.
18:32 RabidGravy yeah I find all that really offputting in python programs
18:33 TimToady though to be sure, our BUILD is a little of the same idea
18:34 TimToady but arguably that's borrowed from all OO languages that separate init from construction
18:37 vendethiel joined #perl6
18:40 RabidGravy is anyone who is more au fait with the MoarVM IO stuff able to think of a reason why a program that uses IO::Socket::Async and some native binding to something that does its own network thing hang up trying to read from the sockets?
18:41 sufrostico joined #perl6
18:41 * vendethiel looks around
18:42 Skarsnik hm
18:42 * timotimo tries parsing that sentence
18:42 timotimo ah, you have something that does its own networking, and you have IO::S::A, and something hangs up?
18:43 perlpilot RabidGravy: they are trying to read from the same socket?
18:43 RabidGravy specifically I made a server thing initially to test Audio::Libshout and it just doesn't work, hangs up as soon as I try to use the data Supply of the connection
18:43 RabidGravy well one is a server and one is a client
18:44 timotimo it should be fine to have different things, as long as it's theoretically compatible with running the same process as something with libuv
18:44 RabidGravy and doing similar when both sockets are managed by Perl 6 is fune
18:44 RabidGravy fine
18:45 ely-se joined #perl6
18:45 lizmat joined #perl6
18:45 RabidGravy so currently I am running them in separate processes
18:47 lizmat good *, #perl6!
18:47 sevvie salud!
18:47 ilbelkyr joined #perl6
18:48 perlpilot lizmat: greetings!  How are you today?
18:48 lizmat perlpilot o/
18:49 lizmat a little tired after a gruesome day of shopping :-)
18:49 RabidGravy *harsh*
18:49 lizmat yeah, life sucks  :-)
18:50 perlpilot What did you buy?
18:50 lizmat apart from some CD's and music magazines, 2 7" high CD cabinets made of cherry wood
18:50 lizmat (7 feet)
18:50 perlpilot you know ... CDs will soon be obsolete  ;)
18:51 lizmat not in my CD room they won't  :-)
18:51 RabidGravy we took the majority of our CDs out of their cases and put them in folders
18:51 RabidGravy throwing the cases away
18:52 perlpilot yeah, my wife still has a box of cassette tapes with music she bought or recorded in the late 1980s to 1990s
18:52 lizmat yeah, you can do that
18:52 lizmat perlpilot: no 8-tracks ?
18:52 perlpilot nope
18:53 lizmat two years ago I bought one with the Moody Blues - Days of the future passed
18:53 lizmat just for the heck of it  :-)   I don't have a player
18:53 RabidGravy there are crates of vinyl LPs here, but to be fair I also have a shelf of U-Matic video tapes and a bunch of super 8 film
18:53 perlpilot though, a friend of mine who died a couple of years ago still had some music on reel-to-reel
18:53 lizmat wow
18:54 kjs_ joined #perl6
18:55 RabidGravy I've got reel to reel tapes (Infact I have at least one 1" video tape somewhere)
18:55 lizmat .tell jnthn What do you think of putting named parameters always in alphabetical order in the Signature.params list  ?
18:55 yoleaux lizmat: I'll pass your message to jnthn.
18:55 RabidGravy media hoarding
18:55 lizmat .tell jnthn It would greatly simplify the signature matching logic
18:55 yoleaux lizmat: I'll pass your message to jnthn.
18:56 jnthn lizmat: You can't 'cus it'd hose up defaults that rely on earlier nameds
18:56 yoleaux 18:55Z <lizmat> jnthn: What do you think of putting named parameters always in alphabetical order in the Signature.params list  ?
18:56 yoleaux 18:55Z <lizmat> jnthn: It would greatly simplify the signature matching logic
18:57 jnthn sub foo(:$pub, :$bar = $pub) { }
18:57 lizmat ah, duh... ok
18:57 jnthn where constraints also
18:57 lizmat yeah, I hear you
18:59 lizmat m: role A { multi method a($a) {} }; role B { multi method a($a) {} }; class C does A does B {}   # this appears correct, spotted at compile time
18:59 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xpKYSih3Z0␤Multi method 'a' with signature :(C $: $a, *%_) must be resolved by class C because it exists in multiple roles (B, A)␤at /tmp/xpKYSih3Z0:1␤»
19:00 lizmat m: role A { multi method a($a) {} }; role B { multi method a($b) {} }; class C does A does B {}
19:00 camelia rakudo-moar 855de7: ( no output )
19:00 lizmat jnthn:  ^^^ appears wrong to me, because the name of a positional shouldn't matter, right ?
19:01 lizmat m: role A { multi method a($a) {} }; role B { multi method a($b) {} }; class C does A does B {}; C.new'
19:01 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z2hu04p1r8␤Two terms in a row␤at /tmp/Z2hu04p1r8:1␤------> 3b) {} }; class C does A does B {}; C.new7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤   …»
19:01 lizmat m: role A { multi method a($a) {} }; role B { multi method a($b) {} }; class C does A does B {}; C.new
19:01 camelia rakudo-moar 855de7: ( no output )
19:01 lizmat m: role A { multi method a($a) {} }; role B { multi method a($b) {} }; class C does A does B {}; C.new.a
19:01 camelia rakudo-moar 855de7: OUTPUT«Cannot call a(C: ); none of these signatures match:␤    (C $: $b, *%_)␤    (C $: $a, *%_)␤  in block <unit> at /tmp/MYlgY7VVXH line 1␤␤»
19:01 jnthn lizmat: Yeah, eqv is a little over-strong in places...
19:01 lizmat ok, yeah, I'm fixing that mess...
19:01 lizmat punning Buf is already down to .025 seconds instead of .32 seconds
19:02 lizmat for me  :-)
19:02 jnthn It was one of the last changes that went in before the release...
19:02 jnthn Oh, nice :)
19:02 lizmat I just need to do the named params logic..  :-)
19:02 FROGGS joined #perl6
19:02 dalek doc: 84e80fa | jjatria++ | doc/Language/regexes.pod:
19:02 dalek doc: Added missing adverb to regex pod
19:02 dalek doc: review: https://github.com/perl6/doc/commit/84e80fa4f2
19:02 dalek doc: 3c0da4f | jjatria++ | doc/Language/regexes.pod:
19:02 dalek doc: Removed whitespace warning from regex example
19:02 dalek doc: review: https://github.com/perl6/doc/commit/3c0da4f83f
19:02 dalek doc: b4dec1e | jjatria++ | doc/Language/regexes.pod:
19:02 dalek doc: More consistent true/false comments in regex pod
19:02 dalek doc: review: https://github.com/perl6/doc/commit/b4dec1e126
19:02 dalek doc: b8837d2 | jjatria++ | doc/Language/regexes.pod:
19:02 dalek doc: Added missing output comment in regex pod
19:02 dalek doc: review: https://github.com/perl6/doc/commit/b8837d2eea
19:02 dalek doc: 7d40fbf | jjatria++ | doc/Language/regexes.pod:
19:02 dalek doc: More consistent use of so instead of Bool in regex examples
19:02 dalek doc: review: https://github.com/perl6/doc/commit/7d40fbf59d
19:02 dalek doc: 997e03d | (Zoffix Znet)++ | doc/Language/regexes.pod:
19:02 dalek doc: Merge pull request #406 from jjatria/regex-missing-adverb
19:02 dalek doc:
19:02 dalek doc: Improved consistency and formatting of examples in regex pod
19:02 dalek doc: review: https://github.com/perl6/doc/commit/997e03d3d5
19:02 perlpilot lizmat++
19:02 timotimo lizmat: damn, awesome!
19:03 partly_ module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say \module::.keys.gist; say \module::EXPORT::.keys.gist;
19:03 partly_ m: module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say \module::.keys.gist; say \module::EXPORT::.keys.gist;
19:03 camelia rakudo-moar 855de7: OUTPUT«\({:EXPORT(EXPORT)})␤Could not find symbol '&EXPORT'␤  in block <unit> at /tmp/xa0YwDB7qp line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/xa0YwDB7qp line 1␤␤»
19:03 * jnthn wonders if his inlining and accessor improvements yesterday will show up in the next Text::CSV numbers... :)
19:04 partly_ m: module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say $module::.keys.gist; say $module::EXPORT::.keys.gist;
19:04 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TCZ_9mXYPP␤Variable '$module' is not declared. Did you mean 'module'?␤at /tmp/TCZ_9mXYPP:1␤------> 3export {} }; my \module = Foo::Bar; say 7⏏5$module::.keys.gist; say $module::EXPORT␤»
19:05 partly_ Hmm i think i still misundestand the whole adressing issue. How is \module::EXPORT different from Foo::Bar::EXPORT?
19:05 partly_ m: module Foo::Bar { sub f() is export {} }; say Foo::Bar::EXPORT::.keys.perl;
19:05 camelia rakudo-moar 855de7: OUTPUT«("DEFAULT", "ALL").Seq␤»
19:06 partly_ do i need to escape somehow \module?
19:06 timotimo the \ is only for declarating
19:06 timotimo er, declaring
19:07 timotimo it means the name (without the \ ) will be the name. it'll be sigil-less, so to say
19:07 partly_ m: module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say \module::.keys.gist; say module::EXPORT::.keys.gist;
19:07 camelia rakudo-moar 855de7: OUTPUT«\({:EXPORT(EXPORT)})␤Could not find symbol '&EXPORT'␤  in block <unit> at /tmp/yg_qo8HyXz line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/yg_qo8HyXz line 1␤␤»
19:09 partly_ m: module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say module::.keys.gist; say module::EXPORT::.keys.gist;
19:09 camelia rakudo-moar 855de7: OUTPUT«(EXPORT)␤Could not find symbol '&EXPORT'␤  in block <unit> at /tmp/BeoBTBKNYz line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/BeoBTBKNYz line 1␤␤»
19:09 partly_ m: module Foo::Bar { sub f() is export {} }; my \module = Foo::Bar; say module::.keys.gist;;
19:09 camelia rakudo-moar 855de7: OUTPUT«(EXPORT)␤»
19:10 partly_ So what would be the right way to access EXPORT? ::EXPORT seems not to work
19:11 lizmat m: role A { multi method a(Int(Any) $a) {} }; role B { multi method a(Int(Cool) $a) {} }; class C does A does B {}; C.new.a(42)
19:11 camelia rakudo-moar 855de7: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(C $: Cool $a, *%_)␤:(C $: $a, *%_)␤  in block <unit> at /tmp/x3j4QFNdhY line 1␤␤»
19:11 lizmat jnthn: shouldn't this be caught at compile time ?
19:12 lizmat aka, looks to me the coercion method should not be part of the equation
19:13 perlpilot partly_: you may have found a bug.
19:15 perlpilot partly_: See https://gist.github.com/perlpilot/018013c0766796b92893
19:16 Hotkeys What up home diggity dogs
19:17 jnthn lizmat: Hmm, that's a tricky one :)
19:17 zpmorgan joined #perl6
19:18 lizmat yeah, I figured out just now: I mean, the method could do anything really, just like the post-constraint
19:18 vendethiel joined #perl6
19:18 partly_ perlpilot: i can reproduce it, but in source code it does not work
19:19 partly_ Could not find symbol &EXPORT. https://gist.github.com/kalkin/b99521c75c1cf37cd445
19:19 partly_ line 9 throws the error
19:22 jnthn lizmat: I can figure out what's going on, I guess...I'm not feeling smart enough to work out what to do with it though :)
19:22 jnthn lizmat: I think the ambiguity is because it inserts multis with coercion types into the candidate list twice, once at the Int level and once at the Cool/Any level. And the Int ones conflict with 'emselves.
19:23 lizmat so, maybe the coercion shouldn't be part of the check when merging roles?
19:24 lizmat so that it would catch it at role merge time ?
19:25 jnthn It's not that simple, though?
19:25 lizmat isn't it?
19:25 sufrostico joined #perl6
19:26 jnthn Wouldn't it produce false positives?
19:26 jnthn I think maybe this is DIHWIDT territory.
19:27 jnthn I can certainly see us wanitng eqv for signatures being something other than "they .perl the same"
19:27 jnthn *wanting
19:27 lizmat jnthn: that's what I'm working on
19:27 jnthn But I think we don't want the rules to get too involved :)
19:27 lizmat and the same for eqv parameters
19:28 dwarring joined #perl6
19:29 jnthn The trouble with ruling the above "the same" and so getting a conflict, is that you'd allow a role with a requirement of Int(Any) to be satisfied by implementing an Int(Cool)
19:29 jnthn Which of course won't work out well
19:29 prammer joined #perl6
19:29 jnthn uh, and so catching the conflict
19:32 lizmat ok, so you're saying the coerce_type should be part of the eqv check?
19:32 lizmat for Parameters?
19:32 jnthn lizmat: I'm saying it should be as it is now result wise
19:33 jnthn That is, both the inside and outside should be the same
19:33 jnthn So Int(Any) eqv Int(Any) is true
19:33 jnthn Int(Any) eqv Int(Cool) is not
19:33 jnthn So, we won't catch the one you mentioned at compile time...that'll have to go to runtime, I think.
19:33 jnthn 'cus otherwise we break requirement implementation
19:35 sufrostico joined #perl6
19:38 partly_ should i open a bug against rakudo/rakudo?
19:38 Skarsnik rakudobug@perl6.org
19:43 lizmat jnthn: that seems to contradicting?
19:43 lizmat so, Parameter eqv Parameter should give different values depending on compile vs runtime ??
19:44 labster joined #perl6
19:45 prammer joined #perl6
19:46 xxpor joined #perl6
19:58 kjs_ joined #perl6
20:06 musiKk_ joined #perl6
20:07 jnthn lizmat: I don't see any contradiction? :)
20:07 jnthn lizmat: I'm simply saying that the semantics of coercion type comparison in eqv should require the inner and outer to both match exactly
20:07 jnthn lizmat: And that we can't both solve the problem you noted, *and* not create another one
20:08 lizmat ok
20:09 jnthn (And was trying to explain what problem we'd make... :))
20:11 jnthn We actually probably *can* catch the ambiguity you mentioned at compile time, but it'd fall out of a more general multi-dispatch ambiguity compile-time analysis.
20:12 jnthn Rather than something we can sensibly solve within the realm of eqv's semantics.
20:12 jnthn m: multi a(Int) { }; multi a(Int) { }
20:12 camelia rakudo-moar 855de7: ( no output )
20:12 jnthn We don't even catch that at compile-time yet
20:14 TimToady joined #perl6
20:14 nine_ I slowly get the impression that I can spend the whole 20 minutes of my module management talk talking about the requirements we try to fulfill.
20:15 jnthn Heh. "Why module management is harder than you think" :
20:15 jnthn :)
20:15 nine_ Would be a very fitting title ;)
20:17 arnsholt There was a "So, you're making a module ecosystem tool" post linked on HN a while back
20:17 arnsholt It made much the same point, initially =)
20:17 nine_ arnsholt: I've read that :)
20:18 nine_ And quite ironically I complained about that post being too elaborate and the author babbling and cursing. And here I am at 767 words before I even start talking about solutions...
20:19 jdv79 what is your talk for?
20:20 jnthn How much is cursing? :)
20:20 nine_ German Perl Workshop
20:20 jnthn Cool, German cursing!
20:20 sjn german cursing is pretty awesome
20:20 sjn oh, and hi, #perl6 :)
20:21 jnthn .oO( When I said cursive writing, this was not what I meant... )
20:22 nine_ Yeah it would be the appropriate language. Alas I'll give the talk in English because I just can't stand talking about coding in German. It ends up being all English with German linking words.
20:24 arnsholt Yeah, I've pretty much given up trying to use Norwegian words for programming
20:24 arnsholt All of the technical vocab is English, so let's just go with that
20:24 kurahaupo joined #perl6
20:25 sjn Best german general curseword: WELTSCHMERZ!
20:25 huf that's a curse? really?
20:25 arnsholt Not really, I think =)
20:25 nine_ No I wouldn't characterize it as one.
20:26 sjn depends on how loud you shout it while waving your fist at the world in general
20:26 huf well okay.
20:26 huf but in that case, bucket is a swear word too
20:27 sjn yep :)
20:27 * nine_ is gonna start using it as a curse from now on
20:29 nine_ Though my favourite will probably always be "Himmel Herrgott Kreuz Sakarament" which really is just "heaven Lord cross sacrament", i.e. completely innocent words (as far as cursing goes), yet have the perfect swearing sound when shouted.
20:30 huf herrgott does look very pretty
20:30 sjn my %førrbainna-hællvettes-mainnskit = %*ENV{@CGI-variables}; # Norwegian variables for arnsholt
20:31 labster joined #perl6
20:32 jnthn CGI is a pretty strong curse word...
20:33 * sjn is very proud to have used sensible variable names in that example :)
20:35 Herby_ joined #perl6
20:37 Herby_ \o
20:41 RabidGravy is .WHICH sufficiently unique to use it to grep a list of objects of the same type?
20:41 lizmat it should be
20:43 prammer joined #perl6
20:43 RabidGravy actually thinking about it I may make it a hash key and just pretend to the rest of the world its a list
20:43 RabidGravy but the same applies :)
20:44 nine_ RabidGravy: Sets?
20:44 RabidGravy sets?
20:45 nine_ collections of unique items. Just sounds like what you need and what Perl 6 has :)
20:46 spider-mario joined #perl6
20:48 lizmat m: dd (1,2,3).set
20:48 camelia rakudo-moar 855de7: OUTPUT«Method 'set' not found for invocant of class 'List'␤  in block <unit> at /tmp/NuXlO2jlNo line 1␤␤»
20:48 lizmat m: dd (1,2,3).Set
20:48 camelia rakudo-moar 855de7: OUTPUT«set(3,1,2)␤»
20:48 nine_ m: dd (1,2,3,2,1).Set
20:48 camelia rakudo-moar 855de7: OUTPUT«set(3,1,2)␤»
20:48 lizmat RabidGravy: note that they're not strings, but Ints
20:48 lizmat m: dd (1,2,3).Set.keys
20:48 camelia rakudo-moar 855de7: OUTPUT«(3, 1, 2).Seq␤»
20:49 RabidGravy Oh I see, I'm pretty certain that a hash is going to work here
20:49 RabidGravy the circumstances preclude any chance of duplicate anyway
20:52 rindolf joined #perl6
20:54 jjido joined #perl6
20:56 RabidGravy for reference the code does something like " %!outputs{$output.WHICH} =  $output; ... $output.finished-promise.then({%!outputs{$output.WHICH}:delete;});"
20:58 RabidGravy by the time I've finished with this it probably will only run on a squillion core computer but hey
20:58 lizmat RabidGravy: I would advise against using .WHICH as a key...
20:58 lizmat I know we use that for objects hashes, but it's because we don't have anything better yet
20:59 lizmat creating a .WHICH of an object can be *very* expensive...
20:59 RabidGravy right
20:59 RabidGravy but so is making a proper UUID
21:02 cdg joined #perl6
21:02 lizmat I guess...
21:06 RabidGravy is it calculated every time it is called?
21:06 RabidGravy I know I could look at the code
21:10 RabidGravy right, calculated every time, take it early and close over it
21:10 sortiz joined #perl6
21:10 RabidGravy the "throttling" on new outputs can be an, er, feature ;-)
21:10 lizmat RabidGravy: if it's a value type and complex, it's usually only done once on demand, like Set/Bag/Mix
21:11 telex joined #perl6
21:18 dj_goku joined #perl6
21:22 tweakism joined #perl6
21:22 tweakism what's the general state of perl6 and what does the future look like
21:23 tweakism for someone who once lived and breathed perl5 but has drifted away from the community
21:24 perlpilot tweakism: The future's so bright, I gotta wear shades.   :)
21:24 Skarsnik still not that much user I think x)
21:25 tweakism haha, also, did the camel really give way to this butterfly?
21:26 perlpilot tweakism: The camel was just the larval state of the butterfly
21:26 tweakism it has Clippy's eyes *shudder*
21:26 mst tweakism: the camel is an ORA-ism anyway
21:26 mst tweakism: perl5's mascot is the velociraptor
21:27 tweakism larry wrote the ORA book, and every code example involved camels.
21:27 mst tweakism: and if you left perl5 before the arrival of Moose, you're going to suddenly discover that both perls are more awesome than you could ever have imagined.
21:27 perlpilot tweakism: yeah ... how long has it been since you lived and breatherd perl 5?
21:28 perlpilot er, breathed even
21:28 mst long enough to not know that State of the Velociraptor has been a thing and that the name comes from a Larry quote, apparently
21:28 tweakism I dunno, 10 years?  maybe less.
21:28 mst right. you've missed a *lot* of fun stuff then
21:29 tweakism like what?  throw me some links :)
21:29 mst notably the fact that perl5 now has demonstrably better OO than python/ruby/etc. because Moose and the perl6 metamodel have basically kept stealing things off each other
21:30 perlpilot tweakism: luckily you don't have to live through the missteps that got us where we are today  :)
21:31 mst tweakism: or: Moose/Moo are the nicest OO system I've ever used in production. perl6's OO is even better.
21:31 sortiz \o
21:31 mst and, er, if you want to see what's been going on in perl5 land
21:31 mst the State of the Velociraptor talks I've given are probably not a bad summary over the years
21:33 tweakism my drifting has been entirely due to outside pressure
21:33 tweakism and it stabs at my heart when people say silly, mean things about perl
21:33 perlpilot tweakism: It's important to note that Perl 5 and Perl 6 are separate, sister languages.
21:34 tweakism yeah, I figured that.  wasn't perl6 supposed to be like, a vm separate from the actual syntax, or something like that.
21:35 perlpilot tweakism: Perl 6 runs on top of a VM, yes.
21:35 perlpilot tweakism: And "Perl 6" is a language spec rather than a particular implementation.
21:36 nine_ Actually, it's fair to say that Perl 6 is a test suite ;)
21:36 tweakism the camel book was very good at, in addition to the syntax and interfaces, giving a quick overview of the why and the implementation, and sometimes the history.  and also amusing, with interesting anecdotes.  and it made it so easy to read, and remember stuff from.
21:36 tweakism I've never found anything similiarly useful to me for any other language.
21:37 perlpilot If you haven't used Perl in 10ish years ... then the last Perl you used was 5.8?
21:37 tweakism that sounds right.
21:37 mst tweakism: perl5's syntax is less set in stone than it used to be
21:37 tweakism or maybe 5.10 but I don't think I was still developing perl then.
21:38 mst tweakism: I wrote a horrible hack called Devel::Declare that embarassed p5p into adding pluggable keywords
21:38 mst tweakism: so you get things like http://p3rl.org/Moops
21:38 themonkeybob11 joined #perl6
21:39 tweakism heh that is indeed very different
21:40 perlpilot and even though Moops claims to be "unstable", we'er using it in production at $work :-)
21:43 themonkeybob11 joined #perl6
21:45 tweakism welp, thanks for the pointers.  I'll stick around in case you think of anything else cool to share.
21:47 perlpilot http://imgur.com/gallery/mkbTX is pretty cool
21:48 * tweakism is pleasantly surprised that this isn't more triggering images of Clippy-like insects.
21:53 perlpilot tweakism: if you want to learn perl 6, see https://perl6.org/documentation/ for some useful stuff.  Particularly check out Rosettacode if you want a side-by-side comparison with other languages.
22:03 bjz joined #perl6
22:08 RabidGravy anyway, my fully abstracted streaming server experiment is still able to stream at 320kbps with three supplies in the chain :) So all good.
22:10 RabidGravy that is   IO::Socket::Async.Supply(:bin) -> Source.supplier -> Source.supply -> Output.supplier -> Output.supply -> IO::Socket::Async.write
22:10 RabidGravy keeping mplayer's cache filled to about 15% which is the same as proper icecast
22:11 jnthn RabidGravy: Nice! Really awesome to see supplies being used for such stuff. :)
22:12 jjido joined #perl6
22:12 rudi_s joined #perl6
22:12 jnthn Curious there's quite a few suppliers in the chain; I usually try to build stuff out of supply blocks
22:12 jnthn Or other supply combinators
22:16 RabidGravy still fiddling with the internal design, but at least one of the suppliers needs to be exposed as the "Mount" emits whatever it getsfrom the Source supply to all the Output suppliers
22:16 perlpilot RabidGravy: Are you doing a talk on this thing at YAPC or something?
22:17 RabidGravy nah, haven't done any conferences for ten years
22:18 perlpilot blog post?
22:21 TEttinger joined #perl6
22:26 jnthn 'night, #perl6
22:26 RabidGravy well,  it still has to support source authentication nicely and check that a mount isn't being used before attaching a source to it to be at least feature compatible with icecast
22:26 mst RabidGravy: pretty sure the last time I had beer in the pub at lunch with you was -slightly- less than 10 years ago
22:26 mst maybe 8 though
22:26 * mst feels old
22:26 RabidGravy but I have bigger plans
22:27 RabidGravy very possibly
22:30 partly_ Hmm I get message rejected if i try to send a bug report to  rakudobug@perl6.org
22:30 perlpilot partly_: rakudobug@perl.org
22:31 partly_ ahh ic
22:31 partly_ thanks
22:32 perlpilot Though, I'd say it's a bug that rakudobug@perl6.org doesn't get to the right place.  :-)
22:34 mst perl6.org       mail exchanger = 50 mailtest2.pair.com.
22:35 idiosyncrat_ joined #perl6
22:35 Hotkeys maybe submit a bug report to-- oh
22:37 tardisx joined #perl6
22:43 espadrine joined #perl6
22:45 bjz joined #perl6
22:47 tardisx joined #perl6
22:50 tardisx joined #perl6
22:55 AlexDaniel joined #perl6
22:55 AlexDaniel m: say ‘WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW’.comb(/(.)$0+/).map: {.comb[0] ~ .chars}
22:55 camelia rakudo-moar 855de7: OUTPUT«(W12 W12 B3 W24 W14)␤»
22:56 AlexDaniel too bad you can't replace .comb[0] with $0
23:05 cpage__ joined #perl6
23:06 AlexDaniel m: ‘WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW’ ~~ m:g/((.)$0+) {print $0.chars,$0[0]}/; say ‘’
23:06 camelia rakudo-moar 855de7: OUTPUT«12W12W3B24W14W␤»
23:06 AlexDaniel ah
23:08 AlexDaniel m: say gather { ‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.)$0+) {take $0.chars,$0[0]}/ }
23:08 camelia rakudo-moar 855de7: OUTPUT«((12 「W」))␤»
23:08 AlexDaniel what am I doing wrong here?
23:08 AlexDaniel or why it doesn't work?
23:10 TimToady use $0* instead of $*+
23:10 TimToady $0+
23:11 AlexDaniel m: say gather { ‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.)$0*) {take $0.chars,$0[0]}/ }
23:11 camelia rakudo-moar 855de7: OUTPUT«((12 「W」))␤»
23:11 TimToady hmm
23:11 AlexDaniel you're right, but there's a problem with gather
23:12 AlexDaniel m: say gather { ‘abc’ ~~ m:g/(.) {take $0}/ }
23:12 camelia rakudo-moar 855de7: OUTPUT«(「a」)␤»
23:13 AlexDaniel m: ‘abc’ ~~ m:g/(.) {say $0}/
23:13 TimToady m: say gather { ‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.)$1*) {take $0.chars,$0[0]}/ }
23:13 camelia rakudo-moar 855de7: OUTPUT«「a」␤「b」␤「c」␤»
23:13 camelia rakudo-moar 855de7: OUTPUT«((1 「W」))␤»
23:15 AlexDaniel TimToady: so, is it a bug?
23:22 TimToady m: say (‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.){}$0*)/).perl
23:22 camelia rakudo-moar 855de7: OUTPUT«(Match.new(ast => Any, list => (Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 1, from => 0),), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 12, from => 0),), hash => Ma…»
23:22 TimToady m: say (‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.){}$0*)/)[1].perl
23:22 camelia rakudo-moar 855de7: OUTPUT«Match.new(ast => Any, list => (Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 13, from => 12),), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 13, from => 12),), hash => …»
23:22 TimToady m: say (‘WWWWWWWWWWWWBWWWWW’ ~~ m:g/((.){}$0*)/)[2].perl
23:22 camelia rakudo-moar 855de7: OUTPUT«Match.new(ast => Any, list => (Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 14, from => 13),), hash => Map.new(()), orig => "WWWWWWWWWWWWBWWWWW", to => 18, from => 13),), hash => …»
23:22 TimToady seems kinda like a bug
23:25 zacts joined #perl6
23:26 AlexDaniel too tired to understand this. I'll probably try to submit it tomorrow
23:29 TimToady m: say gather ‘WWWWWWWWWWWWBWWWWW’ ~~ / ( ((.)$0*) { take $0.chars,$0[0]} )* /
23:29 camelia rakudo-moar 855de7: OUTPUT«((12 「W」) (1 「B」) (5 「W」))␤»
23:29 TimToady seems to lose the :g
23:34 AlexDaniel m: say gather ‘bc’ ~~ m/(.)+ {take ‘X’} ‘c’ /
23:34 camelia rakudo-moar 855de7: OUTPUT«(X X)␤»
23:34 AlexDaniel backtracking is still there
23:36 AlexDaniel m: say gather ‘bc’ ~~ m:ex/ .+? {take ‘X’} /
23:36 camelia rakudo-moar 855de7: OUTPUT«(X)␤»
23:36 AlexDaniel m: say gather ‘bc’ ~~ m:ex/ .+? {say ‘X’} /
23:36 camelia rakudo-moar 855de7: OUTPUT«X␤X␤X␤()␤»
23:37 AlexDaniel exhaustive is broken too
23:37 tweakism this is off-topic, but I might get an actual worthwhile response here:  Please link me to any tools you find particularly useful, relating to Unicode.  Including character maps/finders, tools for querying unicodedata, other databases from 3rd parties, libraries for perl or other languages, etc.  Wide net.  (incidentally, also interested in tools etc. for XCompose, XKB, or fonts including font
23:37 tweakism managers/pickers.)
23:37 AlexDaniel tweakism: wow! May I ask why? :)
23:37 lizmat good night, #perl6!
23:39 AlexDaniel tweakism: well, most of the time I use perl6… like:
23:39 AlexDaniel m: ‘π’.uniname.say
23:39 camelia rakudo-moar 855de7: OUTPUT«GREEK SMALL LETTER PI␤»
23:39 AlexDaniel m: ‘π’.uniprop.say
23:39 camelia rakudo-moar 855de7: OUTPUT«Ll␤»
23:39 AlexDaniel or if you want to find something
23:39 tweakism AlexDaniel: no one needs to put any effort into *finding* stuff like that or anything; just looking for pointers to things other people already find super-useful.
23:40 AlexDaniel m: say [~] (0..0x1FFFF ==> grep { .uniprop eq ‘Mn’ })».chr
23:40 camelia rakudo-moar 855de7: OUTPUT«…»
23:40 tweakism for character map/finder/info app, it seems like something that would exist in a nice form, but all the ones I have tried kindof suck in one way or another.
23:40 AlexDaniel camelia: meh, you could've done better :)
23:40 tweakism and the bot is cool, but a local solution would be more useful :)  (although websites that have great interfaces are OK to recommend.)
23:40 AlexDaniel tweakism: if I can't hack it with perl6 I usually use http://www.fileformat.info/info/unicode/char/search.htm
23:41 tweakism oh, I suppose you weren't telling me to ask the bot, you were pointing out I could use perl.
23:41 AlexDaniel tweakism: no doubt you can run perl6 locally? :)
23:42 jjido joined #perl6
23:43 AlexDaniel tweakism: this is a good resource for entering unicode characters: https://doc.perl6.org/language/unicode_entry
23:44 kid51 joined #perl6
23:45 AlexDaniel tweakism: this is a cool post too: https://perl6advent.wordpress.com/2015/12/07/day-7-unicode-perl-6-and-you/
23:46 AlexDaniel tweakism: sorry for too much Perl 6 propaganda but what did you expect :)
23:46 tweakism these are pretty perfect
23:46 tweakism and way better than anything else from anywhere else including #unicode
23:48 AlexDaniel I do that kind of stuff all the time:
23:48 AlexDaniel m: say [~] (0..0x1FFFF ==> grep { .uniname ~~ /GRAVE/ })».chr
23:48 camelia rakudo-moar 855de7: OUTPUT«`ÀÈÌÒÙàèìòùǛǜǸǹȀȁȄȅȈȉȌȍȐȑȔȕˋˎ˴˵̖̀̏̀ЀЍѐѝѶѷ॓ᐠ᷀᷅᷆᷈᷉ḔḕṐṑẀẁẦầẰằỀềỒồỜờỪừỲỳ⛼`????????????????␤»
23:48 tweakism "The .codes method returns the number of codepoints in the string, while .chars returns the number of characters (aka graphemes)"  ... this sounds heavenly.
23:49 tweakism did you mean 0x10ffff?  :)
23:49 tweakism or did you do that on purpose
23:49 AlexDaniel tweakism: that is going to run for a little longer… :)
23:49 AlexDaniel tweakism: and usually there is nothing interesting there
23:49 Celelibi joined #perl6
23:50 AlexDaniel if there is anything at all? :) let's see
23:50 tweakism well then did you check the 1st supp plane on purpose?
23:50 AlexDaniel m: say [~] (0x1FFFF..0x10FFFF })».chr
23:50 camelia rakudo-moar 855de7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vuSMYRf1I1␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/vuSMYRf1I1:1␤------> 3say [~] (0x1FFFF..0x10FFFF 7⏏5})».chr␤    expecting any of:␤        sta…»
23:51 AlexDaniel m: say [~] (0x1FFFF..0x10FFFF)».chr
23:51 tweakism heh that does take a bit longer.
23:51 AlexDaniel yup
23:51 camelia rakudo-moar 855de7: OUTPUT«(timeout)»
23:51 timotimo AlexDaniel: may i recommend Uni.new?
23:51 AlexDaniel timotimo: sure! What do you mean by that? :)
23:52 timotimo m: say Uni.new(0x1FFF..0x10FFF)
23:52 AlexDaniel woah
23:52 camelia rakudo-moar 855de7: OUTPUT«Uni:0x<1fff 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 200a 200b 200c 200d 200e 200f 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 201a 201b 201c 201d 201e 201f 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 202a 202b 202c 202d 202e 202f 2030…»
23:52 timotimo what's the method to turn a Uni into a Str?
23:52 timotimo well, that doesn't help :)
23:52 timotimo m: say Uni.new(0x1FFF..0x10FFF).Str
23:52 camelia rakudo-moar 855de7: OUTPUT«(signal SEGV)»
23:52 timotimo hah
23:52 AlexDaniel :/
23:52 timotimo that's not so good
23:52 AlexDaniel m: say ‘à̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾’.chars
23:52 camelia rakudo-moar 855de7: OUTPUT«1␤»
23:52 AlexDaniel tweakism: ↑ :)
23:53 AlexDaniel tweakism: guess which tool did I use to generate this: https://gist.github.com/AlexDaniel/0521bc38fe827bd7d37b
23:53 * geekosaur 's client rendered that as something resembling a mushroom cloud >.>
23:54 zpmorgan joined #perl6
23:54 AlexDaniel geekosaur: at least it did not render that as vertical text…
23:54 tweakism heh mine did not do much better
23:55 themonkeybob11 joined #perl6
23:55 AlexDaniel huggable: unzalgo
23:55 huggable AlexDaniel, https://irclog.perlgeek.de/perl6/2015-11-12#i_11522549
23:56 skids joined #perl6
23:56 ugexe sub foo() { supply { try { CATCH { when X::Proc::Unsuccessful { say 123; }; }; run "asdf"; emit(666) }; }; }; react { whenever foo() -> $s { say $s.perl; }; }; # prints `123`, but if `emit(666)` is removed it dies with an exception. Why?
23:56 AlexDaniel m: say “p̢̆̄͒͛́͊̋ͣ͢e͌͛̐ͨ̍ͬͮ̑̊͟r̅ͪ̌̑̾̄ͬ̈҉̨ḷ̡̿͌ͨ̽̂́​̦̳6̊ͣ͌͋ͦͣ҉̛͓͘”.comb.map(*.NFD[0].chr).join
23:56 camelia rakudo-moar 855de7: OUTPUT«perl​̦6␤»
23:57 AlexDaniel hmmmmm there is one character left behind?
23:57 tweakism what does that *. do
23:58 AlexDaniel m: say ‘perl​̦6’.comb.map(*.NFD[0].chr).join
23:58 timotimo m: say “p̆̄͒͛e͌͛̐ͨr̅ͪ̌̑l̿͌ͨ̽6̊ͣ͌͋”.comb.map(*.NFD[0].uniname)
23:58 camelia rakudo-moar 855de7: OUTPUT«perl​̦6␤»
23:58 camelia rakudo-moar 855de7: OUTPUT«(LATIN SMALL LETTER P LATIN SMALL LETTER E LATIN SMALL LETTER R LATIN SMALL LETTER L DIGIT SIX)␤»
23:58 bpmedley joined #perl6

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

Perl 6 | Reference Documentation | Rakudo