»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 lizmat joined 00:09 cdg left 00:10 Relsak left, cdg joined
grondilu seems to be related to a heredoc I had with lots of { and } 00:19
m: say "\{ foo bar \}"
camelia rakudo-moar 688dde: OUTPUT«{ foo bar }␤»
geekosaur wonder if found some unescaped ones, ran what was inside them and got something with newlines in it. I think there's known bugs with that? 00:21
00:23 smls left 00:25 kurahaupo left 00:26 kurahaupo joined
stmuk seen azawawi 00:31
geekosaur .seen azawawi 00:33
yoleaux I saw azawawi 22 Apr 2016 12:42Z in #perl6: <azawawi> .tell RabidGravy so basically depending on JSON::Fast does not install a newer version. panda install Test::META will fail because JSON::Marshall expects a newer JSON::Fast 0.4 than the older 0.3 that is installed with panda
stmuk ty 00:37
00:42 BenGoldberg joined
BenGoldberg Say, MadcapJake, I've a suggestion for your MyHTML code... NativeCall makes a 'size_t' type available, which you can use for setvbuf's third argument, and it's return type. 00:43
00:45 dolmen left 00:47 Lixquid joined 00:49 xtreak joined
MadcapJake BenGoldberg: thanks! Had a chance to try it out? 00:52
00:55 lizmat left 00:57 cdg left
BenGoldberg Actally, no, it's just that I've got my browser set to always open up where I left off, and I'd been looking your code last night, so it was the first think I saw. 00:58
01:00 lizmat joined 01:04 lizmat left 01:12 molaf left 01:23 BenGoldberg left 01:24 BenGoldberg joined 01:25 molaf joined 01:45 ilbot3 left 01:47 ilbot3 joined 01:51 cdg joined 01:54 xtreak left, xtreak joined 01:58 Lixquid left
dalek ar: fd4d41f | (Steve Mynott)++ | modules/MODULES.txt:
uncomment file-which so its built
01:59
02:01 BenGoldberg left 02:02 stmuk_ joined 02:03 BenGoldberg joined 02:04 jcallen left 02:06 jcallen joined 02:12 kid511 joined 02:13 kid51 left 02:18 pierre_ joined 02:24 pierre_ left 02:25 xtreak left 02:26 jeek left, jeek joined 02:30 noganex_ joined 02:33 noganex left
Herby_ any baseball fans around? thinking about creating a simple module for the MLB GameDay data 02:34
02:34 skink left
Herby_ no OAUTH to mess with (which continues to stump me) 02:34
02:56 kid511 left 03:02 jcallen left 03:06 Herby_ left 03:07 jcallen joined 03:14 Actualeyes left 03:20 pierre_ joined 03:25 kaare_ joined 03:26 pdcawley joined, pdcawley_ left 03:27 yasnothil joined, pierre_ left 03:34 Actualeyes joined 03:46 pierre_ joined 04:04 Cabanossi left 04:06 Cabanossi joined 04:08 Amnez777- joined 04:10 khw left
dalek href="https://perl6.org:">perl6.org: e821ad3 | azawawi++ | README.md:
Simplify local site testing instructions
04:11
href="https://perl6.org:">perl6.org: ed4a4fd | azawawi++ | source/whatever/index.html:
Separate whatever list items into related groups
href="https://perl6.org:">perl6.org: cfc4043 | azawawi++ | source/whatever/index.html:
Add an entry to Atom Perl 6 editor support
href="https://perl6.org:">perl6.org: 841203e | azawawi++ | / (2 files):
Merge pull request #47 from azawawi/master

Update testing instructions + Tidy Whatever section + add atom perl 6 editor support link
04:12 Amnez777 left 04:15 BenGoldberg left 04:18 Amnez777 joined, Amnez777- left 04:23 AlexDaniel joined 04:50 sillytime is now known as serioustime 04:55 khw joined 05:00 skids joined 05:01 Cabanossi left 05:05 Cabanossi joined, xtreak joined 05:08 xtreak left 05:10 djbkd left, djbkd joined 05:12 cdg left 05:13 matiaslina left 05:14 matiaslina joined 05:20 nige1 joined 05:25 azawawi joined
azawawi hi 05:25
yoleaux 22 Apr 2016 13:07Z <pmurias> azawawi: re Pointer[MyHTML] docs.perl6.org is wrong
05:28 azawawi left 05:30 pierre_ left 05:34 kurahaupo left
teatime .u ℚ 05:38
yoleaux U+211A DOUBLE-STRUCK CAPITAL Q [Lu] (ℚ)
teatime u ℚ
u: ℚ
05:39 pierre_ joined 05:45 pierre_ left 06:02 nige1 left 06:08 Amnez777 left 06:09 pierre_ joined 06:13 joe__ joined
joe__ hi rakudo! I have install a rakudo-jvm yesterday. very intersting. It took me 10 second when I run perl-j -e 'say 123'. What is the correct way to run it? rakudo-jvm? 06:13
I run it in moar, 0.3 second 06:14
do you have any idea? 06:16
bartolin your command has to start the JVM first -- that takes most of the time
06:17 CIAvash joined
bartolin so, if you have a long running program, those startup will become less important 06:17
apart from that rakudo-moar is faster for most workloads (as far as I know). and rakudo-jvm has more known bugs and has yet to catch up rakudo-moar feature wise 06:18
joe__ hi, bartolin: how to do that? any tutorital for that? thanks. 06:20
bartolin sorry, what do you mean with "how to do that"? installing rakudo-moar? 06:21
oh, you probably referred to "start the JVM first". when you execute 'perl6-j -e ...' a jvm is started for you -- and that takes quite some time 06:25
joe__ hi bartolin, how to make perl-j startup faster
06:25 skids left 06:27 wamba joined
ufobat good morning guys :D 06:28
06:29 Amnez777 joined
bartolin hmm, I'm not sure about that. there should be a perl6-eval-server in your rakudo directory. we use that when running our testsuite. but I have not tried it to run other programs. 06:29
hi ufobat 06:30
joe__ I try a sub fibonacci, perl-j is slow than perl-m, 10 sec + x >> 0.3 + y?
yes, i found that perl6-eval-server, but dont know how to? what is it? 06:31
06:31 pierre_ left 06:32 wamba left 06:33 domidumont joined
joe__ hi, bartolin, what is it? thanks. 06:33
06:34 jack_rabbit joined 06:35 wamba joined
bartolin joe__: as I said, I don't know the details. you can look at t/harness how it is used there (look for 'eval-' in the code) 06:35
sorry, maybe someone else can tell you more (probably later when more people are awake :-) 06:36
joe__ bartolin: thanks.
06:36 Ven joined 06:38 domidumont left, Ven left
joe__ bartolin: thanks very much. bye. 06:38
06:38 joe__ left, Ven joined, domidumont joined 06:56 dolmen joined 07:00 rurban joined 07:07 matiaslina left 07:11 ufobat left 07:20 azawawi joined
azawawi hi 07:20
stmuk_: ping
.seen RabidGravy
yoleaux I saw RabidGravy 23 Apr 2016 08:34Z in #perl6: <RabidGravy> anyway off out to the seaside, see y'all later
azawawi .tell RabidGravy 86 days longest streak... oh well :) 07:21
yoleaux azawawi: I'll pass your message to RabidGravy.
07:24 ufobat joined 07:26 djbkd left 07:27 azawawi left 07:31 darutoko joined
marcusramberg lizmat: asum! When is the next release due? :) 07:42
yoleaux 23 Apr 2016 10:37Z <lizmat> marcusramberg: looks like 48cc6b5 fixes your problem (RT #127968)
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127968
07:45 verzit joined 07:51 pierre_ joined 07:56 Ven left 07:57 jjido joined 08:00 Relsak joined 08:09 firstdayonthejob joined 08:12 RabidGravy joined
psch waking up on sunday morning to a broken coffee machine is definitely quite high on my list of most annoying mornings /o\ 08:20
08:21 leont joined
psch and it doesn't look fixable with my knowledge either. i can only guess it's something internal to the heater that's broken vOv 08:22
08:23 dolmen left 08:24 [TuxCM] left
psch (read that as "the light in the switch still works and the cables all looked connected..." :P ) 08:24
nine_ You can always make Greek coffee
08:25 lizmat_ joined
nine_ At least as long as you have some working heat source ;) 08:25
08:26 lizmat_ is now known as lizmat
psch yeah, that was my plan, after the impulsive dis- and reassembly of the coffee machine :) 08:31
TEttinger psch: aeropress 08:32
www.aerobie.com/product/aeropress/ 08:34
psch yeah, i skimmed the wikipedia article
TEttinger it makes damn good coffee and pretty quickly 08:35
psch ...i don't have one of those. :) it did remind me i do have an italian coffee pot though
TEttinger I think they sell them at lots of big stores like Target
psch which has a slightly lower chance of grounds in the cup than greek coffee
TEttinger oh yeah, these never gave me grounds in the cup
I've since switched to no-doz-style caffeine in a pill 08:36
had stomach trouble from coffee
I think if I did the math, the amount of caffeine in one bottle of these is probably equal to all the caffeine in all the coffee a starbucks sells in a day www.amazon.com/Nutricost-Caffeine-P...r_1_4_s_it 08:39
probably the 500 pill bottle
psch 1k cups for a starbucks a day? 08:44
'cause google says ~100mg per 8 fl oz cup coffee
i think that sounds a little low
but then i've only seen one starbucks in person locally, and never been inside one at all 08:45
TEttinger starbucks sells a lot of lattes
which are probably a lot of milk and not a lot of coffee, though they allow lots of configuration
psch ohh, right. that's a think, the slightly darkened milk with lots of sugar
TEttinger so it also probably depends on whether they get lots of morning business when people NEED WAKE UP NOW or whether it's later in the day for coffee-date stuff where overstimulation may be bad 08:46
and there's the free wifi thing where people go in, buy the tiniest coffee imaginable, and stay for 4 hours of wifi when internet is down at home 08:47
09:01 dolmen joined 09:14 pierre_ left 09:16 kurahaupo joined 09:36 leont left 09:37 kurahaupo left 09:39 pierre_ joined 09:43 leont joined 09:44 kurahaupo joined 09:53 salv0 left 09:58 roryrjb joined 09:59 rurban1 joined, kurahaupo left 10:01 rurban left, dolmen left
masak smls: I finally had time to finish my implementation of the mini-challenge from day before yesterday: gist.github.com/masak/a4fa034eef9e...0b818c8ae6 10:02
10:02 dolmen joined
masak came out a bit different. I think I'm leaning more on protorules choosing control flow rather than analyzing $/ after the parse 10:03
also, I'm increasingly fond of the `make`-as-accumulator trick :)
also also, my first serious use of a MixHash, which seems optimal for this task 10:04
in that I have to write zero lines of code for "terms can cancel each other" 10:05
10:05 jjido left
psch masak: any specific reason why $actions is an anon role? 10:05
masak psch: because "role" is shorter than "class"? :P 10:06
psch ahh, right, 'twas golfy
masak nah, not really
psch ...so just for the snarky response then? :P
masak when I choose between role and class and don't see any useful distinction, I tend to go with role
10:07 Ven joined
masak it's a bit of a political statement, I guess. roles are better than classes. 10:07
psch haha
"roles are better than classes" framed as a statement refering to politics actually made me laugh :) 10:09
tadzik hhaahah 10:10
psch as in, real world politics
masak I fear I made it more political than I intended... :) 10:13
10:15 dolmen left 10:19 Ven left 10:24 Ven joined
lizmat
.oO( let the rolevolution start! )
10:25
dogbert2 hi #perl6, anyone up for some documentation review/bashing? 10:28
grondilu talking about roles, earlier I wrote about how to make a class attribute for them. Any thoughts?
m: role A[$classattrib] { method classattrib { $classattrib } }; say A[pi].classattrib 10:29
camelia rakudo-moar b95268: OUTPUT«3.14159265358979␤»
tadzik dogbert2: alwyas :)
dogbert2 have tried to write some docs for polymod here and need comments: gist.github.com/dogbert17/3135be4f...4fbb551099
well, most of the text was 'stolen' 10:30
masak ...what *does* that plus sign mean? o.O 10:31
tadzik asking the right question :o 10:32
masak dogbert2: in my S32/Numeric, it's method polymod(*@mods)
tadzik ack the setting 10:34
dogbert2 the plus sign is in the code, i.e. src/core/Int.pm
I'll change the plus sign then :) 10:35
masak tadzik: heh, using "ack" as a verb really doesn't work so well, does it? :P
tadzik masak: it felt wrong :)
...but not quite as wrong as my Getopt module :D
masak haha
tadzik thought now that I think of it, an argument-modifying type constraint may not be that bad of an idea in all cases 10:36
consider ($arg where s/foo/bar/) or so
masak so... what does `+@mods` mean...? 10:37
dogbert2 I guess I should know :( 10:38
tadzik I think we all should :o
masak m: sub foo(+@mods) { say @mods }; foo([1, 2, 3])
camelia rakudo-moar b95268: OUTPUT«[1 2 3]␤»
masak m: sub foo(+@mods) { say @mods }; foo([])
camelia rakudo-moar b95268: OUTPUT«[]␤»
masak hypothesis disproved: it does not mean "with more than 0 elements" :) 10:39
next hypothesis: TimToady wrote that code, and only he knows what it means, and he's not telling
dogbert2 sounds like a theory :) 10:40
masak hm, partly true
tadzik numified?
masak TimToady wrote the first version
lizmat++ changed it from *@mods to +@mods in 51bbf66a34ae8208e6aa8f76347579bd70c34748 as part of a "Late GLRification"
lizmat: what does the + in `+@mods` mean in a method signature? 10:41
lizmat single argument semantics ?
dogbert2 please elaborate 10:42
psch m: sub f(+@a) { say @a.perl }; sub g(*@a) { say @a.perl }; f [1, 2], 3; g [1,2], 3
camelia rakudo-moar b95268: OUTPUT«[[1, 2], 3]␤[1, 2, 3]␤»
masak ooh
lizmat m: sub a(+@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar b95268: OUTPUT«[1, 2, 3]␤[(1, 2, 3), (4, 5, 6)]␤»
psch m: sub f(**@a) { say @a.perl }; f [1,2],3 10:43
camelia rakudo-moar b95268: OUTPUT«[[1, 2], 3]␤»
lizmat m: sub a(@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar b95268: OUTPUT«(1, 2, 3)␤Too many positionals passed; expected 1 argument but got 2␤ in sub a at /tmp/mBFN3Om4Rx line 1␤ in block <unit> at /tmp/mBFN3Om4Rx line 1␤␤»
psch i know there's a difference there somewhere, but...
lizmat m: sub a(*@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar b95268: OUTPUT«[1, 2, 3]␤[1, 2, 3, 4, 5, 6]␤»
lizmat m: sub a(**@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar b95268: OUTPUT«[(1, 2, 3),]␤[(1, 2, 3), (4, 5, 6)]␤»
psch oh, **@a does the ((1,2,3),(4,5,6)) ca.. yeah
masak got it, thanks lizmat++
dogbert2: then I think the + should stay in the docs
tadzik cross-post from #qah: "please go +1 LeftPad so it makes the MetaCPAN weekly report: metacpan.org/release/LeftPad" 10:44
dogbert2 I will add it again, what about the rest?
lizmat++ for the explanation 10:45
the plus sign has now made a comeback :) 10:46
10:55 roryrjb left 10:59 rurban1 left
dalek c: 4c2ea19 | (Jan-Olof Hendig)++ | doc/Type/Int.pod:
Added documentation for polymod
11:06
11:07 neuron joined, leont left
neuron Hi 11:07
dogbert2 done, thx for reviewing and great explanations
neuron Is there a way to make object assume role in it's setup method?
Something like "if my name is whatever, I'll also assume role of lawyer" 11:08
RabidGravy you mean runtime mixin?
yoleaux 07:21Z <azawawi> RabidGravy: 86 days longest streak... oh well :)
neuron Maybe, I have no clue what runtie mixin is :)
RabidGravy something like
neuron I know that I can assign the roles via "is mangled() is native('...')" etc. 11:09
But I want to make the object detect that he needs "is mangled()" in it's setup method.
psch m: role R1 { }; role R2 { }; class A { method new { rand < .5 ?? self but R1 !! self but R2 } }; A.new.WHAT.say xx 5 11:10
camelia rakudo-moar 15a0dc: OUTPUT«(A+{R1})␤(A+{R1})␤(A+{R2})␤(A+{R2})␤(A+{R2})␤»
RabidGravy m: role A { method boo() { say "A" } }; role B {}; class C { has $.what; submethod BUILD(:$!what) { given $!what { when 'A' { self does A }}}}; C.new(what => 'A').boo 11:11
neuron Aha, that looks promising!
camelia rakudo-moar 1034c6: OUTPUT«A␤»
grondilu m: role A {}; multi infix:<< <=> >>(A $a, A $b) { $a.flip <=> $b.flip }; say sort map {$_ but A}, ^16;
camelia rakudo-moar 1034c6: OUTPUT«(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)␤»
grondilu m: say sort *.flip, ^16
camelia rakudo-moar 1034c6: OUTPUT«(0 10 1 11 2 12 3 13 4 14 5 15 6 7 8 9)␤»
grondilu was expecting the same output from those two programs 11:12
11:12 rurban joined
neuron psch: Many thanks, that's what I was looking for! 11:12
psch neuron: try and grasp RabidGravy++'s solution as well, they work differently well in different circumstances 11:14
grondilu m: role A {}; multi infix:<< <=> >>(A $a, A $b) { $a.flip <=> $b.flip }; say (2 but A) <=> (10 but A);
neuron psch, RabidGravy: I'm still chewing on that :)
camelia rakudo-moar 1034c6: OUTPUT«Ambiguous call to 'infix:«<=>»'; these signatures all match:␤:(Int:D \a, Int:D \b)␤:(A $a, A $b)␤ in block <unit> at /tmp/sq_zBh7gbP line 1␤␤»
wamba m: my @fibs = [], { @_ } ... *; say @fibs[^4];
camelia rakudo-moar 1034c6: OUTPUT«([] [[]] [[] [[]]] [[] [[]] [[] [[]]]])␤»
psch wamba: set fibs, neat :)
wamba m: my @numbers = [], { @_ } ... *; say @numbers[^4]; 11:15
camelia rakudo-moar 1034c6: OUTPUT«([] [[]] [[] [[]]] [[] [[]] [[] [[]]]])␤»
psch ..right, N, not fibs 11:16
double stroke, of course
wamba m: perl6 -e 'my @numbers = set(), { set(@_) } ... *; say ^4 Z=> @numbers[^4];' 11:17
camelia rakudo-moar 1034c6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RAfg6qALW_␤Two terms in a row␤at /tmp/RAfg6qALW_:1␤------> 3perl6 -e7⏏5 'my @numbers = set(), { set(@_) } ... *␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
wamba m: my @numbers = set(), { set(@_) } ... *; say ^4 Z=> @numbers[^4]; 11:18
camelia rakudo-moar 1034c6: OUTPUT«(0 => set() 1 => set(set()) 2 => set(set(), set(set())) 3 => set(set(), set(set()), set(set(), set(set()))))␤»
grondilu those are Church integers, aren't they? 11:19
oh not quite
wamba defining integers from Set theory
grondilu m: my @church = set(), { set($_) } ... *; say @church[5]; 11:20
camelia rakudo-moar 1034c6: OUTPUT«set(set(set(set(set(set())))))␤»
neuron psch: Ah, 'but' creates new object. That's the difference I guess
many thanks for help
psch neuron: it's not the only difference. BUILD also gives you automagical attribute setting (with the right signature) 11:21
neuron: but yeah, you most likely want 'does', not 'but'
11:22 Ven left, leont joined
grondilu I had a great math teacher who once began a course with "at the beginning there was the empty set. And then God said : <<the set containing the empty set and only the empty set shall be called "one">>. " 11:23
11:24 flaviusb joined
tadzik hm 11:27
m: if 0{} # is that expected?
camelia rakudo-moar 1034c6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jOQFMc6QNs␤Missing block␤at /tmp/jOQFMc6QNs:1␤------> 3if 0{} # is that expected?7⏏5<EOL>␤ expecting any of:␤ block or pointy block␤»
11:29 _4d47 joined
grondilu I bet it is. Otherwise they'd be no way to parse something like if $var{$key} {...} without backtracing. 11:29
11:30 pierre_ left 11:31 roryrjb joined
tadzik is it just me, or is --profile-filename not actually creating any files? 11:33
grondilu: ah, fair enough
wamba grondilu i found this, oficially name is Von Neumann definition of ordinals en.wikipedia.org/wiki/Von_Neumann_ordinal, I did not know this name :) 11:35
grondilu well I'm not sure they are Church integers. WP tells me church integers are made from lambda calculus. I may have confused things. 11:40
11:40 _4d47 left 11:42 wamba left 11:43 wamba joined
tadzik lizmat: ¯\_(ツ)_/¯ 11:43
11:45 TEttinger left
timotimo raydiak: it doesn't seem like you posted your results for removing the where clauses? did you measure yet? 11:58
wamba m: my @church = {$^a} xx *; say @church[3]("a") 12:05
camelia rakudo-moar 1034c6: OUTPUT«a␤»
wamba m: my @church = 1,{$^a} ... *; say @church[3] 12:06
camelia rakudo-moar 1034c6: OUTPUT«1␤»
wamba m: my @church = item({$^a}),{$^a} ... *; say @church[3]("a") 12:07
camelia rakudo-moar 1034c6: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in block <unit> at /tmp/IyN1vZzWry line 1␤␤»
psch m: my @church = 1, { $^a xx $a } ... *; say @church[^3] 12:08
camelia rakudo-moar 1034c6: OUTPUT«(1 (1) ((1)))␤»
12:09 spider-mario joined, pierre_ joined 12:16 vlad___ joined, vlad___ left
timotimo hey RabidGravy, are you here? 12:18
RabidGravy well, I'm on my sofa with an xchat window open :) 12:19
timotimo oh, neat
do you know of a program that'd let me play my keystation mini32 and have it split in the middle to have two or three extra octaves in between?
hm, QMidiRoute could potentially do it 12:22
RabidGravy yes it could, it's just a matter of adding or substracting 12 from the midi note number for the selected notes 12:25
or some multiple of 12 12:26
timotimo it looks like it can, but it's not packaged :)
wamba how can i have function as element in ... (three dot) construction?
timotimo only the last thing in front of the ... is inspected for "is it a function? if yes, i'll use it to generate more" 12:27
if you have a function in your sequence, the sequence operator wouldn't know by itself how to continue the sequence by itself
so you'll need a function to generate the next element anyway
RabidGravy you could of course right your own using Audio::PortMIDI, however the latency is likely to be horrendous
write 12:28
timotimo heh.
wamba m: my $f={$^a};my @church = $f,{$^a} ... *; say @church[1](1)'
camelia rakudo-moar 1034c6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qTcRP9WS86␤Two terms in a row␤at /tmp/qTcRP9WS86:1␤------> 3urch = $f,{$^a} ... *; say @church[1](1)7⏏5'␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ s…»
synopsebot6 Link: design.perl6.org/S86.html#line_1
RabidGravy hahaha 12:30
timotimo m: my $f = {$^a}; my @church = $f, {$^a} ... *; say @church[1].(1)
camelia rakudo-moar 1034c6: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in block <unit> at /tmp/bBNh8dT10t line 1␤␤»
RabidGravy timotimo, alternatively you could do it in PD
timotimo :o
12:30 jjido joined
timotimo kaconnect hasn't seen a release since 2004 12:31
wamba m:my $f={$^a};my @church = [$f],{$^a} ... *; say @church.map( *.[0]).[3](1) 12:35
m: my $f={$^a};my @church = [$f],{$^a} ... *; say @church.map( *.[0]).[3](1)
camelia rakudo-moar 1034c6: OUTPUT«1␤»
timotimo the screenshot of the qmidiroute thing looks unlike anything i can find in the actual program 12:36
:|
12:37 roryrjb left, verzit left, verzit joined
RabidGravy I've just installed it and it looks look it will do exactly what you want really easily 12:39
it's packaged for planet ccrma BTW
hahainternet are there no lv2 midi filters that do the job? 12:40
sorry to just come out of nowhere
i just use Ardour and Jack for my audi screwy needs, but haven't done MIDI through it
RabidGravy there is an lv2 qmidiroute
hahainternet well i mean, if it's just to subtract the midi code 12:41
you could find a passthrough lv2 and recompile in seconds
12:41 BenGoldberg joined
hahainternet anyhow just a thought, not of much use :) 12:41
RabidGravy yeah, infact the alsa sequencer example code has most of the stuff required to do this 12:42
it's not something I've ever worried about as I have a 62 note controller keyboard with built in split 12:43
12:47 leont left 12:48 pierre_ left 12:50 leont joined 12:55 rindolf left 12:56 astj joined, hankache joined
hankache hola #perl6 12:57
perl6intro is available now in Spanish es.perl6intro.com
hahainternet muchos gracias (i cannot speak spanish) 12:58
dalek ar: 4f0d254 | (Steve Mynott)++ | tools/build/Makefile.in:
add perl6 install path to panda bootstrap and module install
13:00
ar: 9d90b15 | (Steve Mynott)++ | modules/MODULES.txt:
revert addition of File::Which to modules.txt since we see odd
13:03
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=125480
13:05 pierre_ joined 13:07 rindolf joined
dalek ar: 16005de | (Steve Mynott)++ | modules/DBIish:
Newer DBIish to get recent Windows fixes
13:09
ar: 34d06a4 | (Steve Mynott)++ | modules/doc:
Newer p6 doc
stmuk_ timotimo: I notice you imported File::Which into star and wondered why 13:11
timotimo: also whether you saw issues with it
13:11 araujo left
RabidGravy I think because it is a dependency of Shell::Command now 13:11
13:14 jack_rabbit left
stmuk_ yes but it's embedded into panda already 13:15
13:16 BenGoldberg left
timotimo stmuk_: i put it in and gave it a # i think 13:17
13:17 BenGoldberg joined, Relsak left
stmuk_ I uncommented it and saw a bizarre error :) see above 13:18
13:18 pierre_ left
timotimo oh? 13:19
oh, "const_iX error" is when you didn't recompile rakudo after a moar changed its opcodes 13:20
causes opcodes to shuffle around and suddenly an operation with the wrong length is called and advances the "which opcode to run" into the already-defined-but-not-implemented const_i* ops 13:21
stmuk_ I'm sure thats not the case with this since I only had one moar installed
timotimo RabidGravy: where can i set up split in qmidirouter? i can't even get it to receive messages from my keyboard, but i assume that's what i need aconnect for?
stmuk_ maybe its triggered by multiple versions of a module being installed as well 13:22
RabidGravy timotimo, it's implemented as a note -> note map with the appropriate offset 13:23
13:23 Emeric joined
RabidGravy 'ang on I'll screenshot it for your 13:23
timotimo ah, the left hand side has a from-to thing
RabidGravy yeah, so on the left side "Event Input" you put the range of notes you want to alter and then on the RHS just put the offset, which may be some multiple of 12 13:25
timotimo omg it works
tadzik I'm thinking
maybe File::Which could be a runtime dependency of Shell::Command
since Shell::Command recommends it anyway 13:26
timotimo i'm hoping this piece i'm interested in playing won't need the same key for two octaves :) 13:27
tadzik it could just die with "Please install File::Which if you really need this to work"
timotimo yo tadzik, what kind of stuff do you play on your piano?
tadzik timotimo: various things. Recently going through a few of vk's metal covers 13:28
dunno if you're familiar
timotimo you play metal on your piano, eh?
tadzik www.youtube.com/watch?v=5nzeHoxAxag this for example
stmuk_ I'm also surprised about github.com/tadzik/Shell-Command/bl...and.pm#L85
tadzik yeah :)
stmuk_ that the linux solution doesnt apparently work on OS X 13:29
tadzik stmuk: about which part?
ah
I'm not entirely convinced which() belongs there at all
I wrote S::C so people don't constantly reimplement rm_rf
not for it to evolve into eventually supporting mount() or whatever 13:30
which() is not a very common thing you need
wamba m: my @church_a = [ {@_[1]} ],[ { &^a($^b) } ], -> [&c] {   [{ &c( &^a,  &^a( $^b ) ) }]  } ... *; my @church = @church_a.map: *.[0]; say @church[153]( * + 1,0 )
camelia rakudo-moar 1034c6: OUTPUT«153␤»
tadzik perhaps FS::Tools would be a more fitting module name in that case
stmuk_ I also noticed that which() returns Str whereas File::Which returns Any if not found
wamba grondilu: this is probably church numbers 13:31
tadzik Shell::Command at this point lacks focus and point, and I'll be entirely happy to rename my part to something more specific and have someone else claim S::C :)
wamba but can not do this without the map
stmuk_ runs away :)
13:35 spider-mario left
timotimo AFK 13:36
13:36 spider-mario joined 13:40 spider-mario left 13:41 spider-mario joined 13:48 tokomer joined 13:49 tokomer left, astj_ joined 13:50 hankache left 13:52 astj left 13:53 Ven joined
stmuk_ pl6anet.org/drop/rakudo-star-2016.04-RC2.tar.gz 13:57
ufobat i just discovered my $foo will leave { ... } and now i dont find where this is documented. does anyone know? 13:58
stmuk_ windows build report particularly welcomed since I dont current have a windows VM 14:00
lizmat ufobat: this appears to not have been documented yet, indeed
RabidGravy ufobat, doc.perl6.org/language/phasers 14:01
it is mentioned en passant
"Some of these phasers also have corresponding traits that can be set on variable"
ufobat but just in lowercase 14:02
RabidGravy yes
ufobat thanks :D i think thats enough for me to understand
tadzik timotimo: please poke me if you come back in a near future :) 14:03
14:03 kid51 joined 14:05 jjido left 14:06 Ven left
AlexDaniel He-he, stackoverflow is funny: “You earned a new privilege! Thanks to your efforts, you can Approve tag wiki edits”. Yeah, thanks, except that I haven't done anything in like 2.5 years. 14:07
oh, it has been a bit less than that, actually 14:08
vendethiel AlexDaniel: you can receive rep passively ;) 14:09
AlexDaniel vendethiel: sure, but it does not make much sense…
vendethiel why not?
AlexDaniel vendethiel: because older users get more rep just because they created account earlier 14:10
vendethiel no, not like that. I mean that people can still upvote your answers while you're away
14:13 yasnothil left
AlexDaniel Why? If I am away it means that I don't care about the votes. 14:13
vendethiel no it doesn't 14:14
people still found your answers useful
14:15 tharkun left
AlexDaniel ¯\_(ツ)_/¯ whatever 14:15
14:16 tharkun joined 14:17 kerframil joined
AlexDaniel Well, not that I care about the votes at all. One of the reasons why I stopped contributing to stackoverflow was that I was surrounded by people who cared about points more than about the quality of their answers, it just doesn't feel right to be there. It is a great resource, yeah, but the system is kinda unhealthy. 14:17
14:17 pierre_ joined
geekosaur that's a large part of why I stopped too 14:18
14:22 yasnothil joined 14:23 khw left
dogbert2 AlexDaniel: doc.perl6.org/routine/polymod 14:24
AlexDaniel oh!
14:25 Relsak joined, astj_ left
dogbert2 Perhaps there should be more examples but we have to start somewhere :) 14:25
14:25 BenGoldberg left 14:26 khw joined
AlexDaniel dogbert2: sure! 14:26
dogbert2 The most interesting part was the plus sign, confused the heck out of me :) 'method polymod(Int:D: +@mods)' 14:28
timotimo tadzik: i'm not sure i have the capability of coming back in a future
AlexDaniel dogbert2: what does it mean by the way? 14:29
dogbert2 lizmat has a great golfing course at 10:41 hours here
14:30 zakharyas joined
tadzik timotimo: not with that attitude :P 14:30
timotimo: but I have a question about the profiling json format
dogbert2 don't know if you see the same times that I do, but you can find it above
timotimo oh, ok
ask away
tadzik so the... things, it's strings for allocations and objects for calls?
lizmat m: sub a(@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar 1034c6: OUTPUT«(1, 2, 3)␤Too many positionals passed; expected 1 argument but got 2␤ in sub a at /tmp/6pGXfZ0w9e line 1␤ in block <unit> at /tmp/6pGXfZ0w9e line 1␤␤»
lizmat m: sub a(*@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6)) 14:31
camelia rakudo-moar 1512da: OUTPUT«[1, 2, 3]␤[1, 2, 3, 4, 5, 6]␤»
timotimo i *think* it's just a serialized ID that's useful for anything you wish
lizmat m: sub a(+@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar 1512da: OUTPUT«[1, 2, 3]␤[(1, 2, 3), (4, 5, 6)]␤»
timotimo you'll never get the wrong thing by looking at the ID you've got somewhere
lizmat m: sub a(**@a) { dd @a }; a((1,2,3)); a((1,2,3),(4,5,6))
camelia rakudo-moar 1512da: OUTPUT«[(1, 2, 3),]␤[(1, 2, 3), (4, 5, 6)]␤»
dogbert2 lizmat++
AlexDaniel okay 14:35
timotimo tadzik: did you read my messages among the camelia output? 14:36
tadzik: but yeah, it's strings for one case and objects for another
tadzik right
I have now
dogbert2 AlexDaniel: I might even try to close github.com/perl6/doc/issues/426 ... 14:37
AlexDaniel dogbert2: so your example is basically splitting the number of seconds into seconds, minutes, hours and days 14:38
dogbert2: what about making it clear?
m: say 3600.polymod(60,60,24) Z <seconds minutes hours days>
camelia rakudo-moar 1512da: OUTPUT«((0 seconds) (0 minutes) (1 hours) (0 days))␤»
AlexDaniel something like this
14:39 spider-mario left, spider-mario joined
dogbert2 nice, I could definitely change that, do you have more ? 14:40
AlexDaniel dogbert2: because, honestly, I never wondered what polymod does, so perhaps my impression is kinda valuable. I didn't really get what the example does until playing with your example a little bit.
dogbert2 consider you code added :) 14:41
*your
seem to remember seeing an example with base conversion somewhere 14:42
AlexDaniel dogbert2: another idea that I had in mind was “This textual explanation is pretty clear, but I still don't get it. What about some code that shows what it does?”
lizmat m: say :16("a") # dogbert2 14:43
camelia rakudo-moar 1512da: OUTPUT«10␤»
lizmat m: say :16("a1") # dogbert2
camelia rakudo-moar 1512da: OUTPUT«161␤»
RabidGravy ooof 14:44
AlexDaniel m: say 161.base: 16
camelia rakudo-moar 1512da: OUTPUT«A1␤»
dogbert2 lizmat, thx
RabidGravy I don't think I have ever needed to specify --std=c++11 to compile something
until just now
leont has lived with --std=c++11 for a while now, and wouldn't ever want to look back 14:45
dogbert2 I'll see what I can do, chances are I'll be struck by writers block 14:46
AlexDaniel leont: look back! It is now the default in gcc
14:46 Ven joined
tadzik timotimo: uh. It seems that somewhere on the way, ids became strings too 14:47
that confused C++ a lot 14:48
timotimo ah, yes
annoying :(
dogbert2 wondering if there are other methods sorely in need of at least some documentation
timotimo json doesn't like numbers as object keys
iirc
tadzik worst thing is, it works in *some* cases 14:49
for the Qt json parser
I traversed the "thngs" object, .toInt() gave me proper ints
I did the same for callgraph, .toInt() gave me zeroes
timotimo it'd be pretty amazing if you could get away from the qt json parser that we had been using 14:50
that's a fantastic cover you linked to
AlexDaniel m: my $x = 3600; for 60,60,24 { say $x mod $_; $x div= $_ }; say $x 14:51
camelia rakudo-moar 1512da: OUTPUT«0␤0␤1␤0␤»
AlexDaniel m: my $x = 3661; for 60,60,24 { say $x mod $_; $x div= $_ }; say $x
camelia rakudo-moar 1512da: OUTPUT«1␤1␤1␤0␤»
14:51 pierre_ left
AlexDaniel dogbert2: perhaps something like this should be included? Like “Look, here's what it does!” 14:51
dogbert2 notices that timotimo's --profile fix is available in moar-nom (cool) 14:52
AlexDaniel: nice I can add that
timotimo oh, yes, that!
tadzik alright, qt profiler now works again :) 14:53
timotimo excellent!!
tadzik wasn't nearly as painful as I tohught it'd be 14:54
timotimo do you think we could build a mode that reads in the html file and does the correct conversion for the quoted-inside-a-quote transformation the profiler does when it outputs html?
tadzik and it did help that I made my code look as closely as possible as the JS version
AlexDaniel dogbert2: but yeah, feel free to close the issue :)
dogbert2++
tadzik timotimo: I was planning that, but I noticed that rakudo can already output the bare JSON 14:55
dogbert2 AlexDaniel: thx, I closed another of your issues a couple of days ago, lack of printf docs
tadzik but perhaps it could also be made to work with HTMLs, so you can fallback to the qt profiler without re-profiling
timotimo yes!
AlexDaniel dogbert2: yeah, I remember that!
timotimo often you only notice you need to use the qt-profiler after the html already blew up
but you may not want to re-run
tadzik right
it sounds super annoying to do on the C++ side though 14:56
maybe I'll just write a p6 script
14:56 _mg_ joined 14:57 kurahaupo joined
tadzik oh, it helps that it's always one line.. >:) 14:57
14:57 pierre_ joined
timotimo yeah, you can take all lines and just change the longest one :D 14:57
dogbert2 AlexDaniel: perhaps me closing your report isn't the correct workflow 14:58
tadzik since I already depend on what rakudo produces, I may as well grab line 708 and cut a couple...,yes :D
timotimo it'll almost 100% always be that. only if the profiler result was empty it wouldn't be
AlexDaniel dogbert2: I agree
dogbert2: ok
timotimo how well do you play those piano covers so far, tadzik?
dogbert2 AlexDaniel: should I have left a comment instead?
tadzik catching 'var rawData = JSON.parse' can't go much wrong though
timotimo i've only just started with piano playing, so going two-handed still trips me up something fierce
tadzik timotimo: not very well
timotimo yeah
AlexDaniel dogbert2: yeah, that's the right way to do it I guess 14:59
tadzik going two-handed is tricky, I often practice hands separately and only then join them
dogbert2 AlexDaniel: then I have learned something, hope I didn't piss you off to much, my bad
tadzik that's how they taught me in music school too, so it's probably not that stupid
timotimo OK 15:00
AlexDaniel dogbert2: personally I don't like when people close the issue right after commiting something, very frequently the issue is not solved completely and reopening is a very tough thing to do. So I agree that the right way to do it is to wait until someone reviews it (either the author or somebody else) and feels inclined to close it.
dogbert2: but in reality it does not matter that much while you are still working on the docs and it doesn't get in your way, that's what really matters. You're doing a great job 15:01
dogbert2 AlexDaniel: thx for the compliment, I'll settle with adding a comment to bugs from now on :) 15:02
MadcapJake in Windows how are versions codified into folder names? 15:05
Can a period be in a folder name, on Windows? 15:06
iirc, they can. 15:08
geekosaur you can have at least one period. I *think* it's safe to assume more than one supported these days 15:09
ugexe windows is difficult because the underlying file system will let you do things that explorer wont (like create files with ? in the name) 15:13
15:14 pierre_ left
tadzik timotimo: github.com/tadzik/p6profiler-qt/co...33e2ae611b seems to work :) 15:16
mst MadcapJake: just made one, so yes.
ok, I did it via 'mkdir /cygdrive/c/foo.bar.az' but it totally worked fine in explorer after
MadcapJake cool, thanks!
timotimo tadzik: how does that work? the json string inside the thing contains escaped " and such 15:17
and probably also escaped \
tadzik timotimo: it doesn't :) 15:18
timotimo ah!
mst ^H^H^Hlibuv has a unix domain socket and/or win32 named pipe abstraction, is that exposed anywhere?
tadzik but you scared me for a moment :P
15:21 zakharyas left 15:22 zakharyas joined
lizmat mst: probably better asked on #moarvm or #p6dev 15:23
timotimo it doesn't? what doesn't? 15:24
tadzik timotimo: it probably helps that the json has ", not ' 15:25
not sure how would escaping work, but from what I saw in the code that emits that file, it just blindly dumps it inside 15:26
timotimo tadzik: github.com/perl6/nqp/blob/master/s...nd.nqp#L88
tadzik oh
yeah, that might break 15:27
timotimo :) 15:28
told ya
tadzik timotimo: so what are you playing on the piano? 15:33
timotimo i've started learning "popcorn" :P 15:34
but only the right-hand part
the left-hand part is ridiculously fast compared to what i could feasibly do
i'd love to be able to play the crashed frigate from metroid prime; know that one?
MadcapJake is there a way to check if a version is "absolute" 15:35
tadzik I don't think I heard it 15:37
timotimo it's a great tune 15:39
MadcapJake m: my $v = v1.1.*; say any($v.parts) ~~ Whatever; # this works
camelia rakudo-moar 1512da: OUTPUT«True␤»
tadzik I still haven't come up with the right-hand part of The Wight To Remain 15:40
the melodic part is taxing enough for me still :P
lizmat MadcapJake: check #p6dev for that discussion
timotimo oh lord
the wight to remain is also quite fast, isn't it?
tadzik it is 15:41
well, quite, not very :)
MadcapJake lizmat: haha that is quite the coincidence :)
tadzik not flight of the bumblebee fast
timotimo hah!
i'd love to play that melody 15:42
tadzik I can probably write you down the notes
timotimo flat.io/score/5655eabe38a4bf457a67...remain-4-3 - i can steal this
tadzik I play in a different tune, but it sound similar when I hum it :) 15:43
timotimo in a different tune? 15:44
a different key, you mean?
tadzik for the purpose of learning that I pretended that internet doesn't exist
yes, key, thnk you
"w innej tonacji" :P
timotimo "eine andere tonart"
i can't read notes well yet :(
15:46 cdg joined, cdg left 15:47 cdg joined
tadzik I still take a pencil and write down what they are near the "funny ones" :) 15:47
timotimo oh?
well, to be fair, i also don't grok what name maps to which key
except i know where the C goes
tadzik well, it's like, I know where D is, and what D note looks like
timotimo but the regular clef shows the position of the G
tadzik I also know where D''' is, but I don't immediately recognize the D''' note 15:48
timotimo how many ' are on the G that the clef has circled?
RabidGravy II just got mmy little e-mu keyboard out for the first time in ages and the keys have gone quite weird colour, like hundred year old ivory rather than ten year old plastic 15:49
timotimo :D
tadzik er, I don't remember :P
timotimo wow
tadzik I think it's one ' for the "standard" octave
timotimo OK 15:50
psch C' is C5
RabidGravy and trying to compile two large c++ programs at the same time doesn't help the typing latency
psch C4 is the middle C on an 88 key piano
tadzik yeah, that's what my editor shows
timotimo ah, it's G4
tadzik ' and , are the lilypond notation marks
15:51 spider-mario left
timotimo oh fuck, that line of shit music has # next to the clef 15:51
>:( 15:52
psch :O
timotimo why do people do that? effing crap
sheet music*
psch lol
15:52 spider-mario joined
psch pretty sure it's ♯ not # ;) 15:52
psch .oO( this note line commented out )
tadzik :D 15:53
timotimo that would be equally mean
tadzik timotimo: you can probably get some tool to transform that to C for you :P
moritz ... or C++ :-)
tadzik C-major, not the... right:P
timotimo why would you ever write Esharp? isn't that equivalent to F anyway? 15:56
tadzik it is 15:57
timotimo unless i guess you have a 6th black key?
tadzik I seem to recall that there's a reason for that, possibly only stylistic
timotimo i feel like my more musically educated friend explained it to me, but ...
tadzik my music-fu is to weak these days to give you a proper answer though
timotimo music theory is blasphemy. it is madness! 15:58
tadzik this!
is!
scherzooooooo
timotimo TaSharp?
tadzik *queue sting of the bumblebee"
psch it's basically "because jazz" 16:00
e♯ that is
tadzik I imagine there's probably an audiophile somewhere that claims they can hear the difference between e# and f and it matters a lot to them 16:01
psch well, in non-tempered tuning they can be different too
16:02 _mg_ left
timotimo hold on 16:02
16:02 Ven left
timotimo when there's a # configured to go on the upper C 16:02
does that also affect the C one octave lower?
psch yeah
timotimo FFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuuuuu
psch it's usually noted on the C' line for less clutter 16:03
well, assuming you're still talking about "right behind the clef"
timotimo yes
there's also an extra sharp right behind the area right behind the clef
but the distance is noticably different
tadzik timotimo: I'd expect a "FFFFuuuu" if the answer was "no" :P
psch upload.wikimedia.org/wikipedia/com...tution.png # he he
timotimo tadzik: explicit is better than implicit!
tadzik NO LOL, NO PROJECT EULER 16:04
psch but global state change should be indicated exactly once (even though that's not anywhere in the zen of python i guess...)
timotimo: basically, every sharp or flat behind the clef but before the time signature means "every note with this name is altered such" 16:05
16:05 skids joined
timotimo well, at least now i know why it sounded wrong 16:06
16:06 jjido joined
tadzik as opposed to those between the bars, which work until the bar 16:06
16:06 skink joined
timotimo mhm 16:06
tadzik yes, I don't know the word for "takt"
psch "bar" is fine
skink Howdy guys 16:07
timotimo takt is also the german world
word*
psch o/ skink
tadzik hello skink
skink I need some advice regarding default parameters
16:08 kurahaupo left
timotimo i find it hilarious that english has unpronouncable names for flat and sharp notes 16:08
in german it's "cis" for c sharp, or "ges" for g flat
tadzik exactly the same in polish
timotimo but then we've got h instead of b
tadzik which is also a reason why I can't get used to the word "cisgender"
timotimo well, h instead of B i suppose
skink I did some benchmarks of the Bcrypt vs Argon2 modules. The Bcrypt module defaults to 2^12 iterations because that's the recommended sane default 16:09
timotimo there's also sharpgender and flatgender
tadzik I must say I can't really tell if you're serious
skink For Argon2 I copied the defaults of the Python lib, but the speed of that is two orders of magnitude different from Bcrypt's default
In fact, the current defaults seem to be something like 2^5.5 bcrypt iterations 16:10
So... do I go with pre-existing defaults in other ecosystems, or try to be default-performance-consistent within our ecosystem? 16:11
timotimo not serious
tadzik h and b also confuse me
I saw b used meaning bh, so ais 16:12
but also to mean regular h
so I just play both and check which one fits in this case
16:12 kerframil left
psch tadzik: i've been told there was a german monk who didn't close his B on the top and bottom 16:12
and someone transcribed that wrong
tadzik o
:D
psch that explanation skirts the edge of believable for me though 16:13
as in, i can't decide if i believe that exactly one cloyster could be more or less completely responsible for all transcription of music at some point in time
timotimo i've heard a very similar explanation to that 16:15
the "misread or miswritten b" 16:16
and i found another sharp that applies here 16:19
psch hm, actually e sharp isn't only because jazz 16:20
that's in Cis major already
don't even need jazz, we can stay baroque for that
timotimo this sheet music is still stumping me a tiny bit 16:23
16:24 Herby_ joined
Herby_ o/ 16:25
timotimo ugh, this piano instrument i'm using
it has a terrible discontinuity right in the uppermost notes i have to play
probably switched between two samples right in the middle >_> 16:26
RabidGravy qsample with the maestro grand sample set is what you want :)
qsampler
16:26 neuron left
timotimo the C6 is the note that changes it 16:27
tadzik is there anyone competent in windows to help me with some rakudobrew bugs? 16:28
Herby_ I know the shortcut key to open File Explorer 16:29
not sure if that helps
timotimo i'm constantly getting disconnected from my ssh session :\ 16:32
(i think the wifi extender is flaky, but i haven't a single clue how to debug something like that)
tadzik I would love to have a wifi debugging kit 16:35
I feel like the people who buy a new computer when their current one bluescreens
timotimo tadzik: actually, why don't i study some undertale songs 16:37
i'll get a million fans on tumblr and the youtubes for that
are you familiar with "dog source" aka "gabe the dog"?
tadzik nope 16:40
I also haven't played undertale
patiently waiting for a linux port and all that :)
japhb skink: (Just because I happened to see your question on the screen): IMO crypt modules should default things like iterations, key bits, etc. to values generally considered safe. If you want to indicate alternate values that are less safe but considerably faster, you can certainly do so, but the *defaults* should always tend to generally-accepted cryptographic safety over raw speed. 16:41
timotimo it's the most commercially successful game of 2016 by far and it's not got enough moneys to do a linux port
er, 2015? 16:42
skink japhb, That's exactly what I was thinking.
japhb skink: Ah, good. :-)
skink japhb, If you look at Crypt::Random/Bcrypt/Argon2, in each case I present functions whose parameters have sane default values 16:43
I was just questioning the sanity of the Argon2 defaults selected by this other developer.
tadzik timotimo: probably has enough money, but not enough incentive 16:46
hell, Rocket League was attached to the Steam Controller with "coming to SteamOS" label, and it still didn't get ported
it's the new Divinity now
dogbert2 AlexDaniel: ping 16:48
AlexDaniel dogbert2: pong
dogbert2 AlexDaniel: check github.com/perl6/doc/issues/426 16:49
AlexDaniel dogbert2: yeah, I'm already reading it :)
dogbert2: technically there's a newline after the last 0 16:51
16:52 hankache joined
dogbert2 AlexDaniel: added :) 16:52
AlexDaniel dogbert2: perhaps I'd also move the shortest example to the front (the one without Z magic)
to the top*
dogbert2 AlexDaniel: done 16:53
timotimo tadzik: who knows :)
16:53 Herby_ left
AlexDaniel dogbert2: L<Z|routine/Z> – does it work inside code blocks? 16:54
skink japhb, What I'm struggling with currently, however, is how much memory to use. For Argon2 parameters vs performance, it scales much more with memory than it does with iterations.
But... I can't just go using 128 MiB per hash.
dogbert2 AlexDaniel: dunno, was going to test with htmlify.p6 before committing 16:55
AlexDaniel dogbert2: 1 hours :) 16:57
dogbert2: it's good to go then 16:58
16:58 jjido left
dogbert2 AlexDaniel: cool, I can always change $seconds to 7200 :) 17:00
AlexDaniel dogbert2: bikeshedding :)
dogbert2 AleksDaniel :) I'll verify that the link works, will take a few minutes, then I'll commit 17:01
17:01 Cabanossi left 17:04 zakharyas left, Cabanossi joined
timotimo oh japhb is here :) 17:05
o/
dalek c: 39e8e39 | (Jan-Olof Hendig)++ | doc/Type/Int.pod:
Improved the polymod examples section. AlexDaniel++
17:10
dogbert2 AlexDaniel: done, unfortunately the Z link didn't work :(
AlexDaniel dogbert2: yeah, but that was expected
17:11 Ven joined 17:29 cdg_ joined 17:32 jjido joined, cdg left 17:33 cdg_ left 17:36 Relsak left
dogbert2 m: say 7 ~~ (1,5,7,10) # why do I get False ? 17:40
camelia rakudo-moar 1512da: OUTPUT«False␤»
timotimo you're supposed to use "any" for that use case
m: say 7 == any(1, 5, 7, 10)
camelia rakudo-moar 1512da: OUTPUT«any(False, False, True, False)␤»
timotimo m: say 7 ~~ any(1, 5, 7, 10)
camelia rakudo-moar 1512da: OUTPUT«True␤»
timotimo m: say so 7 == any(1, 5, 7, 10) 17:41
camelia rakudo-moar 1512da: OUTPUT«True␤»
dogbert2 timotimo: aha, many thanks
AlexDaniel m: say 4 ~~ (1,5,7,10)
camelia rakudo-moar 1512da: OUTPUT«False␤»
AlexDaniel timotimo: but what does it compare in this case? 17:42
17:44 Ven left
timotimo list against list 17:46
m: say (1, 2, 3, 4) ~~ (1, 2, *, 4)
camelia rakudo-moar 1512da: OUTPUT«True␤»
timotimo m: say (1, 2, 9, 4) ~~ (1, 2, *, 4)
camelia rakudo-moar 1512da: OUTPUT«True␤»
lizmat m: say 7 ~~ 1|5|7|10 # alternate way
camelia rakudo-moar 1512da: OUTPUT«True␤»
timotimo m: say (1, 3, 3, 4) ~~ (1, 2, *, 4)
camelia rakudo-moar 1512da: OUTPUT«False␤»
AlexDaniel m: say 4 ~~ (4,) 17:47
camelia rakudo-moar 1512da: OUTPUT«False␤»
AlexDaniel timotimo: ↑ ?
timotimo 4 doesn't seem to count as the list that contains only 4, it seems
in this case, i mean
AlexDaniel so it compares nothing and just gives “False” as the answer? 17:48
timotimo you'd have to look at the code; not sure if this is a bug or intended behaviour
lizmat m: say 4 ~~ any(4,)
camelia rakudo-moar 1512da: OUTPUT«True␤»
lizmat m: say 4 ~~ (5,6,7,8) 17:49
camelia rakudo-moar 1512da: OUTPUT«False␤»
psch m: say 4 ~~ () # uhh 17:51
camelia rakudo-moar 1512da: OUTPUT«()␤»
AlexDaniel o_o
I have a feeling that in 4 ~~ (4,) case it is comparing types 17:52
psch so, $item ~~ $list returns (1) () when $list has no elems, (2) self if $list is a Match object, (3) False
AlexDaniel oh
psch see github.com/rakudo/rakudo/blob/nom/...st.pm#L426 17:53
well, (2) is slighty wrong in my summary there... :)
self[0] has to be a Match
m: say 5 ~~ (Match.new,)
camelia rakudo-moar 1512da: OUTPUT«(「」)␤»
psch m: say (5 ~~ (Match.new,)).WHAT 17:54
camelia rakudo-moar 1512da: OUTPUT«(List)␤»
AlexDaniel maybe it is just me but I fail to see any logic here, but there has to be some
psch AlexDaniel: exactly my thinking :)
note, for the original query i'd probably use (elem) anyway
kaare_ Native casting escapes me. I also fail to find any dox. So, question. The C function should receive a (pointer to a ) bitstring.
How do I turn e.g.0b000000000000000000100000 into three byte and 0b0000000000000010 into two?
moritz kaare_: uh, huh? are those pointer values? 17:57
timotimo you'll have to split it apart manually, i'm afraid
psch ...what's a bitstring? 17:58
moritz a bsob? (binary small object)
timotimo a given number of bits
:D
18:01 hankache left
kaare_ moritz: I guess the answer is That's the buffer value 18:01
psch the "string" part really confuses me
bitstring is apparently a python library for dealing with binary data vOv
AlexDaniel psch: what kinda bothers me is that it is not something very rare. Lots of people will type that in and will wonder what it actually does
kaare_ timotimo: I can spilt it, but into what? I've tried CArray[uint8] with no luck 18:02
AlexDaniel psch: I wonder if there are any tests…
timotimo what do you have it as?
if you just spell out 0b000000000010 into your code ,you'll end up with an Int
then you just +>8 to get 8-bit bunches 18:03
psch AlexDaniel: List as RHS to smartmatch seems undertested, yeah
AlexDaniel: afaict we only test Array ~~ List, List ~~ Array, and List ~~ Array-with-Whatevers 18:04
kaare_ timotimo: ok. And that's eniugh for a Buf or a CArray{uint8] ?
18:04 BrassLantern joined
timotimo you will then put each 8bit piece into a CArray[uint8] you've .new'd yourself 18:05
then you'll have a pointer to a bunch of bytes that represent your bitstring
be aware of endianness, though
18:05 Vlavv_ left
psch AlexDaniel: fwiw i'd agree with replacing the "return False" in the linked bit with "return $topic (elem) self" 18:05
'cause that does seem rather intuitive to assume
m: say 4 ~~ [3, 4, 5] 18:06
camelia rakudo-moar 1512da: OUTPUT«False␤»
kaare_ endianness shouldn't be a problem for an array of bits, I suppose.
timotimo then you would be very wrong :)
masak .oO( this bit is big-endian )
timotimo since you yourself now have to decide in what order the bytes go
kaare_ and the bits are in order?
timotimo if you grab the lowest 8 bits by going +& 0b11111111 and then shift it over with +>8, but put it into the CArray's index [0], that'll be little endian 18:07
+> and +& don't know about bit order
they only care about mathematical values
byte order, i meant
kaare_ ok, so better do the arranging myself. Perhaps the problem is that I misunderstood CArray. 18:08
Each 8 bit byte will go in a separate CArray? 18:09
timotimo it's difficult to misunderstand CArray; it's the simplest thing you could get
not into a separate CArray
CArray is an array of multiple of your base type, for example uint8
kaare_ OK, so not that.
I'll whip up an example when I have 10 minutes. l8r. 18:11
AlexDaniel psch: ok so I did this: github.com/perl6/roast/issues/116
m: say 4 (elem) (1..100) 18:12
camelia rakudo-moar 1512da: OUTPUT«True␤»
AlexDaniel m: say 4 (elem) @(1..100)
camelia rakudo-moar 1512da: OUTPUT«True␤»
AlexDaniel m: say 4 ~~ (1..100)
camelia rakudo-moar 1512da: OUTPUT«True␤»
AlexDaniel m: say 4 ~~ @(1..100)
camelia rakudo-moar 1512da: OUTPUT«False␤»
AlexDaniel So smartmatch is not so smart in this case… in fact, it is a bit more dumb than (elem) :) 18:13
18:13 rurban left
psch hardly looks at roast issues 18:15
actually, pretty much never
AlexDaniel yeah, and you probably don't look at spec issues as well
just like everyone 18:16
psch true. i mostly look at RT
timotimo same here
AlexDaniel which makes it impossible to discuss issues like this because RT does not seem to be the right place for such discussions
timotimo it doesn't have reaction emoticons 18:17
psch i don't know, "$item ~~ $list is weird" sounds like a perfect RT ticket title to me ;P
AlexDaniel psch: ok then, opening it right now
psch ...not actually with that title please :) 18:18
AlexDaniel and if somebody tells me that RT is not for such discussions I'll slap him with a link to this IRC log
psch well, that's the thing 18:19
sure it's undertested, and that's for roast
but the behavior itself seems weird in the first place, and there's no test to clarify
so the weird behavior is what i would report
AlexDaniel and given that any ticket needs tests to be closable this actually makes sense 18:20
18:29 leont left 18:30 lizmat left 18:31 jjido left
AlexDaniel psch: rt.perl.org/Ticket/Display.html?id=127980 18:37
kinda like that, but feel free to leave a bunch of comments to make it clearer ;) 18:38
18:38 pmurias joined
pmurias are there any plans to restore parrot support in rakudo? 18:39
timotimo not in the very near future
moritz no
AlexDaniel pmurias: why? :)
I mean, sure you could do that, but what for? 18:40
pmurias AlexDaniel: I'm not planning to do that
timotimo parrot has a very different model of doing multi-threading 18:41
pmurias I was just thinking if there is any sense in keeping parrot support in nqp 18:42
timotimo: it has the same model of multi-threading js has in the browser (WebWorkers)
timotimo oh? i thought it was quite different 18:43
the "access to a variable schedules a job on the owner's thread" 18:44
pmurias timotimo: webworkers and parrot threads have very similiar power 18:46
you can do things in parallel without synchronization and with message passing 18:47
timotimo i think you can also read from any object another thread owns on parrot
well... from lexicals at least? i don't know the details at all
pmurias timotimo: lexical access was turned into message passing
18:50 perturbation joined 18:58 _mg_ joined 18:59 perturbation left, perturbation joined 19:02 buharin joined, itaipu joined 19:03 cognominal joined 19:07 spider-mario left 19:08 itaipu left, spider-mario joined
moritz .tell lizmat running a single spectest file through make fails: perlpunks.de/paste/show/571d1a03.5018.199 19:10
yoleaux moritz: I'll pass your message to lizmat.
19:11 CIAvash left 19:13 BrassLantern left 19:20 ajoe joined 19:30 spider-mario left 19:32 spider-mario joined 19:34 domidumont left 19:41 Skarsnik joined 19:47 Ven joined 19:54 raoulvdberge joined, cdg joined, spider-mario left 19:55 spider-mario joined 19:56 felher joined
timotimo Perl v6.0.0 required--this is only v5.22.1, stopped at tools/build/create-moar-runner.pl line 4. 19:57
:D
19:58 darutoko left, pmurias left 20:00 inokenty left 20:04 inokenty joined
masak timotimo: at least Perl 5 is polite about it. 20:07
timotimo :) 20:08
20:10 kid511 joined, kid51 left 20:14 kid51 joined 20:16 kid511 left, jjido joined
timotimo looking at the "build BUILDALL at compile time" thing again 20:17
and an error is stumping me really strongly
skink I see ssh on the list of most wanted bindings. Would that be for just client-side, or also server-side?
20:19 neuron joined, skids left
AlexDaniel skink: I doubt that it is about server side. 20:25
skink I figured. 20:26
20:27 pmurias joined, Ven left
skink OpenSSH is client- and v2-only, but has a stable and very well-documented API 20:27
moritz the use cases for a perl-based SSH server are rather limited 20:29
since you can configure the OpenSSH server to run scripts for you on login etc.
skink mhm
timotimo this stack trace makes like zero sense to me 20:34
20:39 rindolf left 20:40 sena_kun joined, sena_kun left
timotimo a-ha, i missed an important piece of the puzzle 20:41
MadcapJake debating whether I should start a new module or flesh out some unfinished ones... 20:49
20:50 kurahaupo joined 20:51 kaare_ left 20:52 Emeric left
timotimo oh, huh 20:53
20:53 leont joined
timotimo Str on Mu:U tries to get $*VAR_NAME 20:53
and that gets us into INITIALIZE_DYNAMIC 20:54
20:54 neuron left
timotimo there ought to be a better way to try and find if a dynamic variable is set than "defined($*FOO)" for in the setting ... 20:55
but i also don't have a single clue why the hell it'd try to Str that ...
psch timotimo: what's the context, ooc? 20:56
timotimo i accidentally tried to put the wrong part of the buildplan into the SVal's :value slot 20:57
that's also why i was getting to INITIALIZE-DYNAMIC via QAST::Node.new
ooooh, i get through stage parse now 20:58
psch i think that was more specific context than i was trying to ask for :)
timotimo sorry :)
psch but i did see "build BUILDALL at compile time" in the backlog just now 20:59
timotimo aye
same kind of idea jnthn had when he generated code for accessors instead of using a single closure for all of them
21:00 _mg_ left
psch oh 21:00
hm, i had thought composition happens at compile time already?
masak whoa. got a 'double free or corruption' from moarvm right *after* my app served itself on a port :P 21:01
...not reproducible. figures.
timotimo yeah, but at composition time we only create the buildallplan as a list of tasks with some parameters
21:01 jjido left
psch ahh, i see 21:01
so instead of the while and 13-level if/elsif we'd get a exactly-what's-needed BUILDALL for each class? 21:03
timotimo it turns out a gigantic amount of classes end up with a completely no-op buildallplan
yup
psch that seems like it could be valueable, especially if we usually don't do anything at all anyway 21:04
timotimo yeah, some buildallplans are just 13, 13, 13, 13, 13, 13
masak or, hm, sorta reproducible every other time :(
yep, apparently I've arrived. in the undergrowth where I belong, whacking away with a machete. 21:05
timotimo now ... the part of the buildplan generator that actually generates a code object and installs it ... that is still missing :) 21:06
entrecôde 21:09
raydiak good afternoon #perl6 21:11
21:13 kurahaupo_ joined
timotimo hello raydiak! 21:14
21:16 kurahaupo left
raydiak hiya timo! looks like you're up to exciting stuff... 21:18
skink Ha, who was it the other day who was doing the multi-type constraints?
psch multi-type constraints?
timotimo hmm ... maybe it'll be exciting 21:19
currently mostly frustrating, though ;)
raydiak then...I'm excited to find out if it's exciting :) 21:20
skink sub crypt_random_sample($set where List|Blob, $count where 1..^$set.elems)
I may have overdone that constraint :)
psch looks fine to me vOv
21:22 pmurias left
timotimo raydiak: did you get measurements done without the "where" clauses? 21:24
masak hi, raydiak 21:25
psch m: sub f($x where my $y = 2 * $x where $y > 5) { } # oh wow
camelia ( no output )
psch how had i never thought to try that before... :)
timotimo i wonder what scope the $y ends up in; potentially the sub itself 21:26
psch m: sub f($x where my $y = 2 * $x where $y > 5) { say $y }; f(4)
camelia rakudo-moar 423220: OUTPUT«Constraint type check failed for parameter '$x'␤ in sub f at /tmp/vN9_GeTznb line 1␤ in block <unit> at /tmp/vN9_GeTznb line 1␤␤»
timotimo oh, the $x doesn't get bound before the "where" fires? 21:27
you'll need to use $_, then
psch m: sub f($x where $x > 5) { say $y }; f(6)
camelia rakudo-moar 423220: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MZq1h0SdF8␤Variable '$y' is not declared␤at /tmp/MZq1h0SdF8:1␤------> 3sub f($x where $x > 5) { say 7⏏5$y }; f(6)␤»
psch m: sub f($x where $x > 5) { say $x }; f(6)
camelia rakudo-moar 423220: OUTPUT«6␤»
psch i think the $y isn't around in the sig, actually
m: sub f($y, $x where $y = $x * 2 where $y > 5) { say $y }; f(1, 3) 21:28
camelia rakudo-moar 423220: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NZuIHPwH8g␤The post constraint "where $y > 5" came after the default value␤(did you mean "...where $y > 5 = $x * 2 "?)␤at /tmp/NZuIHPwH8g:1␤------> 3 f($y, $x where $y = $x * 2 where $y > 57⏏5) { s…»
timotimo so many messages with "HOORAY!" in front ...
psch oh boy, the "did you mean" :D
m: sub f($y, $x where $y > 5 = $x * 2) { say $y }; f(1, 3) # did i..? 21:29
camelia rakudo-moar 423220: OUTPUT«Constraint type check failed for parameter '$x'␤ in sub f at /tmp/62OQp8FhSi line 1␤ in block <unit> at /tmp/62OQp8FhSi line 1␤␤»
psch m: sub f($y, $x where $y > 5 = $x * 2) { say $y }; f(6, 3) # did i..?
camelia rakudo-moar 423220: OUTPUT«6␤»
psch m: sub f($y, $x where $y > 5 = $x * 2) { say "$y $x" }; f(6, 3) # did i..?
camelia rakudo-moar 423220: OUTPUT«6 3␤»
21:29 buharin left
psch ...what *does* that where constraint actually mean, though... 21:29
21:30 leont_ joined
timotimo should die, because $y > 5 isn't an lvalue 21:30
psch m: sub f($x where $x = 10) { $x }; say f 2
camelia rakudo-moar 423220: OUTPUT«2␤»
psch m: sub f($x where $x := 10) { $x }; say f 2
camelia rakudo-moar 423220: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YGSDfZQaQy␤Malformed parameter␤at /tmp/YGSDfZQaQy:1␤------> 3sub f($x where $x :7⏏5= 10) { $x }; say f 2␤»
timotimo yeah, $x gets bound after the where clause has fired
psch m: sub f($x where CALLERS::<$x> = 10) { $x }; say f 2 21:31
camelia rakudo-moar 423220: OUTPUT«Constraint type check failed for parameter '$x'␤ in sub f at /tmp/Tn7SEjfaH4 line 1␤ in block <unit> at /tmp/Tn7SEjfaH4 line 1␤␤»
raydiak hello, masak. how goes it?
psch there's definitely something spooky hidden there
21:31 leont left
psch although practically just LTA errors, i suppose 21:31
psch heads to bed o/
raydiak timotimo: yep I shaved off about 10% of the runtime, and another 5% or so from optimizations in the cube intersection tests 21:32
timotimo that's not as much as i'd have hoped :\
raydiak timotimo: one of the things I noticed is that the intersection tests are written in...probably the slowest ways imaginable....things like "for -1, 1 { ... }" and other such nonsense 21:33
timotimo uh oh :)
well, pre-GLR that wouldn have been catastrophic
nowadays it's just bad
RabidGravy right beddy byes for rabid 21:34
toodles
raydiak iirc, I was going to re-write them, then bikeshedded the whole thing into Math::Symbolic, which was going to generate the intersection code for me, but it didn't get that far
masak wait, why is `for -1, 1 { ... }` bad? 21:35
timotimo gnite RabidGravy :)
masak: only bad for high-efficiency code on moar right now
raydiak because it's done for each object in the scene for every pixel, very hot path 21:36
masak ah.
raydiak btw my 3G is really laggy right now, forgive me if I'm 10+ seconds behind the conversation :)
21:37 spider-mario left 21:38 spider-mario joined 21:39 RabidGravy left
masak 'night, #perl6 21:39
raydiak good night masak 21:40
timotimo gnite masak
Stage parse : Running custom buildplan for Any 21:43
21:45 kerframil joined, kerframil left
raydiak timotimo: check out how bad it is when you have a moment, it's just funny :) github.com/raydiak/pray/blob/maste...pm6#L18-54 21:45
timotimo my ($ray_pos, $ray_dir) = .position, .direction given $ray; - this alone is likely already 100000x slower than the equivalent two-liner :) 21:46
raydiak right? and that's one of the more sane parts...
timotimo that @norm is spectacular :) 21:47
raydiak yeah my style at that time was...um...special :) 21:48
a lot of the rest of the project is fairly clean, but somehow when my brain starts doing more math, all the coding style gets very unreadable and mathy if I'm not careful 21:50
timotimo my code isn't really working out that well :\ 21:51
21:52 spider-mario left
raydiak I'd offer to help, but I suspectyou'd have it solved before I fully understood the parts you're working on 21:53
21:53 spider-mario joined
timotimo it's a bit icky :) 21:53
and it contains code generation with QAST and such
though that particular part seems all-right by now 21:54
i'm generating the BUILDALL method on objects that have a sufficiently simple BUILDALLPLAN, but installing it isn't right yet
tadzik freshened up the qtprofiler today, it can read profiler files from recent rakudos now
you may be interested in giving that a try :) 21:55
raydiak ah, cool...sounds promising 21:57
timotimo blurgh. things are blowing up in load_setting 21:59
so it's just the "loadbytecode" op in which the exception flies ... and from there i may dive deep into the bytecode file? :\ 22:00
22:02 jjido joined
timotimo i don't even get a bytecode index for the exception 22:03
raydiak definitely sounds mysterious to me... 22:11
22:12 leont_ left
timotimo gist.github.com/timo/48837cd9082bb...a60091388e ;( 22:13
22:14 kurahaupo_ is now known as kurahaupo
raydiak duhhh...looks broken :P 22:16
timotimo if you want to have a look at the scope of my work, you can look at the generate_buildallplan_2 branch i just pushed: github.com/rakudo/rakudo/commit/8d1725daf5 22:18
raydiak trying to look but my internet connection is truly terrible right now...and yet still somehow burning through more of my data than I can afford :P 22:19
timotimo oh!
yeah, in that case don't look :)
not *that* interesting 22:20
22:20 xinming left
raydiak yay it loaded :) 22:20
22:21 firstdayonthejob left, TEttinger joined, xinming joined
raydiak it's quite interesting, but definitely more than I can absorb atm. think I'm going to move on until I can be productive online again later today 22:23
dalek c: f05280f | (Tom Browder)++ | doc/Language/unicode_texas.pod:
try to reinsert unicode italic 'e' character in first column
22:24
c: bd276d0 | (Tom Browder)++ | doc/ (3 files):
Merge remote-tracking branch 'upstream/master'
c: f626904 | (Tom Browder)++ | doc/Language/unicode_texas.pod:
Merge pull request #461 from tbrowder/master

trying to insert unicode italic 'e' in first column
timotimo sounds like a good plan 22:25
raydiak So, I wish you luck in slaying this particular dragon! You'll probably be in bed by the time I'm back today, but hope to catch you again soon. :) P.S. thanks for mentioning me a couple weeks ago. Saw my name in the backlog, it's one of the reasons I came back at this particular time 22:27
timotimo thank you! :)
yeah, i'll probably go to bed in the next half-hour
yay!
22:28 leont_ joined
raydiak in that case, I'll also wish you pleasant dreams :) 22:29
later #perl6 o/
timotimo thanks :) seeya
22:33 ajoe left 22:35 spider-mario left, jjido left 22:36 Skarsnik left 22:40 raoulvdberge left 22:44 Herby_ joined
Herby_ Afternoon, everyone! 22:44
\o
timotimo abendnoon, Herby_ 22:45
AlexDaniel So the commit message is “try to reinsert unicode italic 'e' character in first column” 22:46
I look in the source code and I see 푒
which is… well, it was a good try, I guess!
TEttinger is that a CJK or Hangul char? 22:47
timotimo hah
TEttinger my font isn't very good
AlexDaniel .u 푒
yoleaux No characters found
TEttinger D:
AlexDaniel m: ‘푒’.uniname.say
camelia rakudo-moar 423220: OUTPUT«<Hangul Syllable>␤»
TEttinger syllable... what?
AlexDaniel yoleaux: perl 6 is smarter than you
timotimo could be a newer unicode database? 22:48
or perhaps we insert those by ourselves for big ranges of those?
TEttinger it can't be that new... it displays in Unifont
AlexDaniel yoleaux is just old I guess 22:49
timotimo a consequence of only living once
is that you spend most of your time old :P
22:49 firstdayonthejob joined
AlexDaniel yeah, and other part of your time as being too young 22:49
TEttinger ha! unicode-table.com/en/1D452/ 22:50
timotimo you're not too young for too long
TEttinger unicode-table.com/en/D452/
the 1D452 is becoming D452
AlexDaniel yeah… well! Another way to do it is to copy it from here github.com/perl6/doc/commit/f2a9e0...56a71cfa08 22:51
or just reapply the commit which was accidentally reverted 22:52
TEttinger AlexDaniel: it's a better first try than I would get, actually. if that committer's copy-paste functionality was using UCS-16, they wouldn't be able to copy one astral-plane character
they'd need to copy two... how would that work
AlexDaniel hmmm
TEttinger: which makes me want to say “get a proper system, dude!” 22:53
TEttinger 𝑒 copies for me
timotimo that looks b0rked
in my font
TEttinger is that natural number e?
AlexDaniel m: say 𝑒
camelia rakudo-moar 423220: OUTPUT«2.71828182845905␤»
TEttinger nice
timotimo oh my 22:54
AlexDaniel not sure who came up with that but 👍👍👍
22:54 tbrowder joined
TEttinger delightful, github... github.com/perl6/doc/blob/f2a9e0d7..._texas.pod 22:54
geekosaur and now you know why I tried 𝒄 yesterday :p 22:55
teatime did someone say UCS-16
I got that tell-tale pain in my side
AlexDaniel tbrowder: hey, we're discussing 푒
teatime UCS-16 doesn't support >BMP chars at all does it?
or no, I'm thinking of UCS-2 22:56
timotimo only the UTF ones do
TEttinger ah, that's it
UCS-2
AlexDaniel TEttinger: I think that it attempts to parse it as perl 5 pod
tbrowder that's my pitiful attempt at unicode char 1d452 with the atom editor
TEttinger I wonder what JS screwed up this time re:unicode
grondilu how do I write that a string $string matches a grammar G? $string ~~ G does not work apparently. so $string ~~ /<G::TOP>/ ? 22:57
teatime yeah, UCS-2 stops at 0xFFFF. UTF-16 adds the surrogate pair method, to get to 0x10FFFF.
geekosaur G.parse($string)?
teatime JavaScript has a fucked up implementation.
TEttinger I've dealt with it second-hand
teatime Basically UCS-2-and-handle-your-own-surrogate-pairs-to-pretend-it's-UTF-16.
grondilu geekosaur: yeah I guess. Silly me. 22:58
TEttinger :D what could go wrong, teatime?
teatime so when you do ord or the equiv you see two wrong codepoints, copy+paste them or something, and #unicode makes fun of you.
AlexDaniel actually, modern javascript has proper suppport for unicode
22:58 serioustime is now known as sillytime
AlexDaniel we just have to wait a bit till it hits all of the browsers… 22:58
teatime yeah I was about to say I think this was in the process of changing.
but yeah it's still an issue w/ browsers. 22:59
AlexDaniel and then we will get into “stop using this, start using that” period
when proper unicode support will be there but everyone will be writing broken code just out of habit
it's pretty sad, yeah… 23:00
teatime heh I was about to say something and then realized it sounded like star trek
TEttinger AlexDaniel: I'm pretty happy with some of the crazy but awesome workarounds people use gist.github.com/gagern/89db1179766a702c564d
AlexDaniel tbrowder: anyway, so I'll just commit the right character then
tbrowder thank you
AlexDaniel TEttinger: what the! Well, I had some experience in dealing with that stuff with punycode.js 23:01
tbrowder AlexDaniel: what editor are you using, and how are you entering the character? I've tried vi, but no luck. 23:02
23:02 leont_ left
tbrowder same with Padre 23:02
AlexDaniel TEttinger: the main purpose of the library is a bit different but it has to understand unicode stuff correctly, so it has some functions that it also provides publicly
teatime did someone here paste the js code I'm reading or is it just a coincidence 23:03
TEttinger ah, I used the node.js unicode 8.0.0 lib
?
the bitset one? on gist?
actually I'm not sure what data structure it is
teatime oh ok I see now sorry
23:03 infina_ joined
TEttinger it's a crazy technique but kinda brilliant 23:03
AlexDaniel tbrowder: any editor on my system handles it well 23:04
tbrowder: including vim
tbrowder: perhaps your terminal does not support unicode? 23:05
tbrowder: or are you using gvim?
tbrowder i'll check the terminal... 23:07
mate on deb 8 shows utf-8
got to go--thanks for the fix
23:08 tbrowder left
teatime it's kinda common for s/w (terminals, editors) to have trouble w/ non-BMP chars even if BMP works OK 23:08
23:08 AlexDani` joined
teatime I have to make sure I build urxvt w/ the right options (or get the hugest package from the distro), and used to have issues w/ screen. 23:08
AlexDani` just :wq-ed out of emacs…
confused it with a vim window next to it 23:09
AlexDaniel ah I'm still here… 23:10
23:10 AlexDani` left
teatime en.wikipedia.org/wiki/UTF-16#Usage <-- next to last paragraph. I should make a perl6 update to this. 23:10
dalek c: 5c13737 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/unicode_texas.pod:
Correct 𝑒 character (again)
23:11
AlexDaniel There we go!
teatime: ah! The world would have been such an easier place if we restricted ourselves to some particular alphabet! … Preferably consisting of two characters: 0 and 1 23:16
geekosaur then we'd be arguing over what combinations of them mean 23:18
(in fact, we kinda are...)
AlexDaniel perhaps then “word” data type would be even more meaningful
.oO( “long word” ! )
23:19
23:20 wamba left
teatime haha 23:20
23:25 firstdayonthejob left 23:31 cdg left
grondilu m: say grammar { token TOP { <foo> | <bar> }; token foo { foo(\d+) { make $0**2 } }; token bar { bar(\d+) { make $0.sqrt } } }.parse("foo3").made; 23:32
camelia rakudo-moar 423220: OUTPUT«(Any)␤»
23:32 jjido joined
grondilu ^how do I access the made object from the TOP? 23:32
do I have to { make $/.made } at each level up to the top or something? 23:33
m: say grammar { token TOP { <foo> | <bar> { make $/.made } }; token foo { foo(\d+) { make $0**2 } }; token bar { bar(\d+) { make $0.sqrt } } }.parse("foo3").made;
camelia rakudo-moar 423220: OUTPUT«(Any)␤»
grondilu m: say grammar { token TOP { [<foo> | <bar>] { make $/.made } }; token foo { foo(\d+) { make $0**2 } }; token bar { bar(\d+) { make $0.sqrt } } }.parse("foo3").made; 23:34
camelia rakudo-moar 423220: OUTPUT«(Any)␤»
23:37 jjido left 23:38 matiaslina joined 23:42 sillytime is now known as nchambers 23:50 AlexDaniel left