»ö« 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 rowat /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/jOQFMc6QNsMissing blockat /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/qTcRP9WS86Two terms in a rowat /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«0010» | ||
AlexDaniel | m: my $x = 3661; for 60,60,24 { say $x mod $_; $x div= $_ }; say $x | ||
camelia | rakudo-moar 1512da: OUTPUT«1110» | ||
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/MZq1h0SdF8Variable '$y' is not declaredat /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/NZuIHPwH8gThe 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/YGSDfZQaQyMalformed parameterat /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
|