»ö« 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.
neewbie hi 00:00
raschip o/
huggable: hug neewbie 00:01
huggable hugs neewbie
neewbie i have a question, if you guys could helpme. whats the best way to read a line of integers in a file to treat as a list of numbers instead of a stirng? 00:02
\o
its possible to use int to list operators in a list of strings of ints?
timotimo just grab the line, split it with .words, then .map(*.Int) 00:03
it'll explode if it finds non-int characters, though
you may have to make sure the newline at the end gets properly removed
neewbie thanks
it worked 00:04
tx
and
i noticed that when i do a + 1 in a range, it adds up to every element in the range, but in the list adds to the lenght. theres is a shortcut to do a operation to every value in the list other than a .map ? 00:05
ugexe [+] 00:06
neewbie but [+] adds the elements in the list, the +1 in the range adds 1 to every elemetn in the list
timotimo there's >>+>> 1 for example 00:07
if you want to have it return a new list with values
otherwise you can >>++ or ++<< to modify the list in-place
neewbie can you show an example pls?
SmokeMachine is there a value mutable version of pair? 00:08
raschip SmokeMachine: Isn't that a scalar?
TimToady note hypers are eager, so use X+ 1 if you want it to be a lazy list
timotimo m: my @things = <3 1 4 1 5 9>; say @things >>+>> 1; say @things; @things>>++; say @things 00:09
camelia rakudo-moar 9a11ea: OUTPUT«[4 2 5 2 6 10]␤[3 1 4 1 5 9]␤[4 2 5 2 6 10]␤»
TimToady besides, X+ is shorter than >>+>> :)
neewbie thank you
SmokeMachine notviki: I was trying this:
timotimo aye, it is
SmokeMachine m: my @a; for <c c c a a a b c c> -> $c {if !@a or $c ne @a[*-1].key {@a.push: $c =>1} else {@a[*-1].value += 1}}; say @a
camelia rakudo-moar 9a11ea: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at <tmp> line 1␤␤»
neewbie X+ and >>+>> are the same thing?
timotimo no 00:09
the former is lazy, the latter is eager
SmokeMachine m: my $a = a => 1; say $a; $a.value++; say $a # raschip
camelia rakudo-moar 9a11ea: OUTPUT«a => 1␤Cannot resolve caller postfix:<++>(Int); the following candidates␤match the type but require mutable arguments:␤ (Mu:D $a is rw)␤ (Int:D $a is rw)␤␤The following do not match for other reasons:␤ (Bool:D $a is rw)␤ (Bool:U…»
timotimo m: my @a = a => my $ = 1; say $a; $a.value++; say $a 00:10
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared. Did you mean '@a'?␤at <tmp>:1␤------> 3my @a = a => my $ = 1; say 7⏏5$a; $a.value++; say $a␤»
SmokeMachine m: my @a; for <c c c a a a b c c> -> $c {if !@a or $c ne @a[*-1].key {@a.push: $c =>1} else {@a[*-1].value++}}; say @a
camelia rakudo-moar 9a11ea: OUTPUT«Cannot resolve caller postfix:<++>(Int); the following candidates␤match the type but require mutable arguments:␤ (Mu:D $a is rw)␤ (Int:D $a is rw)␤␤The following do not match for other reasons:␤ (Bool:D $a is rw)␤ (Bool:U $a is rw…»
timotimo m: my $a = a => my $ = 1; say $a; $a.value++; say $a 00:10
camelia rakudo-moar 9a11ea: OUTPUT«a => 1␤a => 2␤»
timotimo SmokeMachine: ^ 00:10
SmokeMachine great! thanks timotimo ! 00:10
neewbie can i turn off the messages when people enter and quit the chat? i'm getting lost 00:11
SmokeMachine m: my @a; for <c c c a a a b c c> -> $c {if !@a or $c ne @a[*-1].key {@a.push: $c => my $ = 1} else {@a[*-1].value++}}; say @a # notviki 00:11
camelia rakudo-moar 9a11ea: OUTPUT«[c => 3 a => 3 b => 1 c => 2]␤»
timotimo that depends entirely on your irc client, neewbie
neewbie ok, will search later. 00:11
timotimo for example, weechat will hide joins and quits that it thinks aren't relevant, and only shows joins/quits it thinks you care about 00:12
TimToady neewbie: they're pretty easy to ignore if your client makes them a different color 00:12
neewbie but eager means that evaluates all the list and then adds + 1 to every item? and lazy does without know the whole list? 00:12
timotimo it'll add as +1 to as many items in the list as some consumer asks for, ignoring the rest until they are needed - or forever 00:13
neewbie so X+ is faster than >>+>> ? 00:14
TimToady m: say ((0...*) Z+ 1)[^30]
camelia rakudo-moar 9a11ea: OUTPUT«(1 Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
timotimo no, it's a trade-off that depends on your situation
ZoffixZ neewbie: click on the three-bar icon in top left column and choose " Hide JOINS/PARTS/QUITS:"
TimToady m: say ((0...*) X+ 1)[^30]
camelia rakudo-moar 9a11ea: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30)␤»
TimToady neewbie: not necessarily 00:15
often eager evaluation can be faster, depending on what is producing the list
notviki SmokeMachine: well, it's just a long and dense version :) I was hoping for some nice, short, way 00:15
neewbie thanks zoffixz, it worked :D 00:15
timotimo at some point we'll want to use vectorized instructions on your CPU, so eager evaluation in this case might end up many many times faster
SmokeMachine notviki: :( 00:16
timotimo but if you have an infinite list and only actually want the first three values, the eager case will finish when the universe has exploded, the other one will only take a milisecond
so that's many, many, many, many cases faster
times*
TimToady which is why we have two different ways to do it
neewbie so if i have a short list, which i know the scope, the eager is a better choice 00:17
timotimo yeah, it's difficult to sell "you have to make the universe explode" to our customers as part of their daily operations
TimToady neewbie: again, it depends on what you're optimizing for. X+ can be easier to read than »+» 00:17
timotimo you may think there's infinite universes in the multiverse, but if everybody starts exploding many millions of universes a day, who knows what will happen!
TimToady and if programmer time is what you're optimizing for, use the more readable 00:18
neewbie how the X+ operator is called? i can't find in the docs search box
timotimo it's a cartesian product, we call it the cross metaop
in this case it's the cross metaop applied to the addition operator
TimToady m: say <a b> X~ 1,2
camelia rakudo-moar 9a11ea: OUTPUT«(a1 a2 b1 b2)␤»
neewbie the >>+>> is hyper operator, right? i was reading this slide tpm2016.zoffix.com/ and it says it has a bug. do you guys know if it was fixed? 00:19
timotimo no, the .hyper and .race methods have a bug
hyperoperators on their own are fine
neewbie hmm, so confusing. x-x
raschip neewbie: It's like math, it takes a while to take it all in. 00:21
neewbie i see
neewbie and i'm really bad at math. 00:22
i found the operators page, going to read before asking more questions.
raschip So it's not like math.
neewbie thank you very much
raschip It's like learning a new language.
TimToady mais oui! 00:33
raschip Claro 00:35
TimToady Power tools! www.youtube.com/watch?v=UZDWEd7kjS4 00:40
notviki 0.o 00:44
hattakhomma Sorry to bug on a random questions, but I wanted to try to use perl for some web development work. From what I understand how you include functions from another php file, in perl the functions are included a perl modules? 00:53
oops sorry wrong channel 00:54
notviki hah 01:27
hattakhomma: check out mojolicious.com it's a nice Perl 5 web framework
oh wait 01:28
hattakhomma: sorry, it's mojolicious.org/
It on CPAN: metacpan.org/pod/Mojolicious
Geth oc: f7ff9b7496 | (Samantha McVey)++ | htmlify.p6
Fix --no-proc-async option for htmlify.p6 on MacOS
01:36
[Coke] news.perlfoundation.org/2017/01/tpf...r-rou.html regarding the TPF grant request for LP6 01:43
raschip "1.3. Grant proposals should mention how the grant results will be made available to the public. The grant results must be must be accessible free of charge." Stallman wouldn't be pleased by this. Being available gratis isn't a requirement for something to be free. 01:50
notviki Well, I'm glad that is over. 01:54
samcv [Coke], can you test the doc --no-proc-async for me? 01:55
[Coke] samcv: already running it, thanks. :) 02:08
samcv cool
SmokeMachine I think I already did it, but is there a method that is called on role composition? (I think its the method compose, is it?) 02:09
notviki SmokeMachine: I heard of the COMPOSE phaser... 02:10
SmokeMachine thanks!
notviki m: 1 but role { COMPOSE { say "weeeeee" } }
camelia ( no output )
notviki m: role Foo { COMPOSE { say "weeeeee" } }; class :: does Foo {}; 02:11
camelia ( no output )
notviki m: role Foo { COMPOSE { say "weeeeee" } }; class :: does Foo {}.new
camelia ( no output )
notviki shrugs
SmokeMachine :( 02:11
notviki: looks you are right: docs.perl6.org/language/phasers#Phasers 02:14
notviki SmokeMachine: seems NYI: docs.perl6.org/language/phasers#CONTROL 02:15
(also that part has busted rendering)
SmokeMachine notviki: I think Im getting crazy... I could swear that I did use it... 02:18
notviki hmmm.... Trying to use the RT API endpoint perl6.fail uses through the browser gives me "Temporarily Unavailable" and that's been for like 4 days now :/ 02:20
notviki ooohhh... there's a special --rebuild option you're supposed to pass in when building the db anew 02:22
oops :}
samcv how is the --help generated, like how can you specify a description of what the program does? 02:24
notviki samcv: it's sub USAGE or something similar 02:25
samcv kk
notviki samcv: oh: docs.perl6.org/language/functions#sub_USAGE
You're just print stuff from within it
notviki buggable: tags 02:27
buggable notviki, Total: 1468; BUG: 988; UNTAGGED: 313; LTA: 141; NYI: 96; RFC: 61; CONC: 53; JVM: 53; REGEX: 46; SEGV: 31; PERF: 28; UNI: 27; NATIVECALL: 22; REGRESSION: 21; @LARRY: 20; POD: 20; TODO: 18; IO: 16; TESTNEEDED: 15; PRECOMP: 13; BUILD: 11; OO: 11; TESTCOMMITTED: 10; STAR: 8; BOOTSTRAP: 6; OPTIMIZER: 6; GLR: 5; MATH: 4; OSX: 4; REPL: 3; WEIRD: 3; RT: 2; SPESH: 2; WINDOWS: 2; CONFIGURE:
notviki NeuralAnomaly: status
NeuralAnomaly notviki, [✘] Next release will be in 1 week and 3 days. Since last release, there are 80 new still-open tickets (0 unreviewed and 0 blockers) and 250 unreviewed commits. See perl6.fail/release/stats for details
notviki samcv: fixed now RE: <samcv> .tell notviki seems perl6.fail has… failed. It is not showing any ticket 02:28
samcv perl6.fail.fail 02:28
nice :-)
SmokeMachine how can I .^add_method a multi method? 02:29
notviki m: class Foo {}; Foo.^add_method: "meows", multi method { say "hi" }; Foo.^add_method: "meows", multi method ($) { say "meows" }; Foo.meows: 42 02:33
camelia rakudo-moar 9a11ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤An anonymous method may not take a multi declarator␤at <tmp>:1␤------> 3thod: "meows", multi method { say "hi" }7⏏5; Foo.^add_method: "meows", multi method␤»
notviki really 02:33
SmokeMachine: apparently you can use .add_dispatchee for an already existing routine. 02:34
SmokeMachine: www.reddit.com/r/perl6/comments/5l..._with_eqv/ bottom of OP' 02:35
s post
notviki drops to bed
SmokeMachine notviki: great! thanks!
notviki: yes! I remember that! I didn't remember the name of the method
I thinks thats not for methods... :( 02:37
SmokeMachine Im wrong 02:39
SmokeMachine methods generated by $.attr aren't multi? 02:40
BenGoldberg m: for ^7 -> $a, $b { print $a, $b } 02:54
camelia rakudo-moar 9a11ea: OUTPUT«012345Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: for ^7 -> $a, $b { print $b.DEFINITE; print $a, $b } 02:55
camelia rakudo-moar 9a11ea: OUTPUT«True01True23True45Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: for ^7 -> $a, $b { print 1 }
camelia rakudo-moar 9a11ea: OUTPUT«111Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg Hmm... 02:56
AlexDaniel so? 02:57
m: for ^7 -> $a, $b? { say “$a {$b // ‘none’}”; }
camelia rakudo-moar 9a11ea: OUTPUT«0 1␤2 3␤4 5␤6 none␤»
BenGoldberg AlexDaniel++
Thanks :) 02:58
m: for ^7 -> $a, $b? { print $b.DEFINITE }
camelia rakudo-moar 9a11ea: OUTPUT«TrueTrueTrueFalse»
BenGoldberg m: for (^7.slip, Any) -> $a, $b? { print $b.DEFINITE }
camelia rakudo-moar 9a11ea: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at <tmp>:1␤ ------> 3for (^77⏏5.slip, Any) -> $a, $b? { print $b.DEFINI␤ Precedence of ^ is looser than method call; please parenthesize␤ …»
BenGoldberg m: for ((^7).slip, Any.slip) -> $a, $b? { print $b.DEFINITE } 02:59
camelia rakudo-moar 9a11ea: OUTPUT«No such method 'slip' for invocant of type 'Range'␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel I only wonder why is it 42 here:
m: for ^7 -> $a, $b? --> 42 { say “$a {$b // ‘none’}”; }
camelia rakudo-moar 9a11ea: OUTPUT«0 42␤2 42␤4 42␤6 42␤»
BenGoldberg m: for ((^7).Slip, Any.Slip) -> $a, $b? { print $b.DEFINITE } 02:59
camelia rakudo-moar 9a11ea: OUTPUT«TrueTrueTrueFalse»
BenGoldberg m: for ((^7).Slip, Any.Slip) -> $a, $b? { print $a } 03:00
camelia rakudo-moar 9a11ea: OUTPUT«0246»
BenGoldberg m: for ((^7).Slip, Any.Slip) -> $a, $b? { print $b }
camelia rakudo-moar 9a11ea: OUTPUT«135Use of uninitialized value $b of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block at <tmp> line 1␤»
BenGoldberg m: for ((^7).Slip, Any.Slip) -> $a, $b? { say $b }
camelia rakudo-moar 9a11ea: OUTPUT«1␤3␤5␤(Any)␤»
AlexDaniel драт ахе ыоу тхыинг то во?
what are you trying to do?
BenGoldberg m: for ((^7).Slip, Any.Slip) -> $a, $b? { say $b.DEFINITE }
camelia rakudo-moar 9a11ea: OUTPUT«True␤True␤True␤False␤»
BenGoldberg I want to write some utility functions; they're going to iterate over a user supplied list, which might or might not have an even number of elements. If there're an odd number of elements in the list, I want to deal with the last element specially. 03:03
tbrowder ref Inline::Perl5, i need some help, please 03:05
i have an object that .WHAT calls a (Perl5Array), how can i make that ap6 array? 03:07
s/ap6/a p6/
AlexDaniel m: for (^7).rotor(2) -> ($a, $b) { say “$a → $b”; } 03:08
camelia rakudo-moar 9a11ea: OUTPUT«0 → 1␤2 → 3␤4 → 5␤»
AlexDaniel m: for (^7).rotor(2, :partial) -> ($a, $b?) { say “$a → {$b // ‘none’}”; } # meh, not any better 03:10
camelia rakudo-moar 9a11ea: OUTPUT«0 → 1␤2 → 3␤4 → 5␤6 → none␤»
AlexDaniel does anybody know what's the deal with this: 03:15
m: for ^4 -> $a --> 42 { say “$a” }
camelia rakudo-moar 9a11ea: OUTPUT«0␤1␤2␤3␤»
AlexDaniel m: for ^4 -> $a --> 42 { say “{$a}” }
camelia rakudo-moar 9a11ea: OUTPUT«42␤42␤42␤42␤»
AlexDaniel looks like a bug, right? 03:16
samcv cool. caught up with my atom-language-perl6 tickets now. 03:21
tharkun Where can I get the recommended 101 perldoc for perl6 03:30
BenGoldberg p6doc? 03:32
AlexDaniel tharkun: not sure what you mean exactly, but I'd perhaps start with learnxinyminutes.com/docs/perl6/ and perl6intro.com and then docs.perl6.org/language.html 03:34
tharkun: does that answer your question or were you looking for something else?
tharkun I'll look into those thanks 03:35
faraco howdy 04:23
AlexDaniel o/ 04:28
faraco :D 04:29
[Coke] (docs) looks like we were very careful about .html file names (maybe overly so) but there are image names with ::'s in them. 04:38
samcv [Coke], regarding highlights failing on os x 04:54
hmm maybe we should build on os x for the bot too. 04:55
faraco in META6.json, what is resources refers to?
samcv not sure why it would hang but hmm
timotimo faraco: extra files that will get installed along with your module that you can access via a special variable 04:56
[Coke] samcv: perhaps related to why --parallel is horked. 04:57
samcv well uhm. having --no-proc-async by default will slow it down a ton
faraco timotimo: thanks. I gonna blog it as my diary.
samcv basically the diff between pygmentize vs inline::python was
Geth oc: 47761aa955 | (Samantha McVey)++ | htmlify.p6
Only start the highlights worker thread when we need to

Also make sure the user has run `make init-highlights` by checking if the coffee executable is in the right location.
04:58
oc: 9bea4a4ac0 | (Samantha McVey)++ | .travis.yml
Update .travis.yml to test os MacOS as well as Linux
samcv [Coke], did i fix --no-proc-async on os x though?
[Coke] yes, I can at least run htmlify.pl now by using that arg.
samcv ok good 04:59
[Coke] We don't have to make it the default; can change that part of the ticket into "fix this on OS X" if I didn't make a ticket for that.
samcv k
samcv [Coke], does it hang at the very end of highlighting? 05:05
[Coke] hope not! 05:10
Still getting "Highlights is reading...." streaming across the screen. 05:11
travis-ci Doc build failed. Samantha McVey 'Update .travis.yml to test os MacOS as well as Linux' 05:24
travis-ci.org/perl6/doc/builds/190847083 github.com/perl6/doc/compare/f7ff9...ea4a4ac0e9
samcv oh [Coke] i mean _without_ --no-proc-async 05:27
[Coke] samcv: no, it hangs immediately. 05:32
Geth oc: 0389b3aac7 | (Samantha McVey)++ | .travis.yml
Don't hardcode the home directory so Travis works for MacOS
samcv oh ok
[Coke] first time a highlight is done.
(you're right, it's insanely slow without the async)
still building here...
samcv [Coke], what node do you have? 05:33
[Coke] ?
samcv node --version
[Coke] oh, nodejs. one se
v7.4.0
samcv ok that's what I have too
[Coke] ok, giving up on seeing if my change worked. bedtime instea.d 05:55
travis-ci Doc build errored. Samantha McVey 'Don't hardcode the home directory so Travis works for MacOS' 05:57
travis-ci.org/perl6/doc/builds/190851897 github.com/perl6/doc/compare/9bea4...89b3aac74f
samcv ok it stalls before Starting highlights worker thread 05:57
is displayed
atweiden-air m: class ABC { class DEF {*} }; my ABC::DEF $abc-def .= new; say so $abc-def ~~ ABC; 06:35
camelia rakudo-moar 9a11ea: OUTPUT«False␤»
atweiden-air is it possible to check that ABC::DEF is part of class ABC? 06:36
ABC::*
AlexDaniel atweiden-air: I'm not sure I understand. $abc-def.^name already gives you ABC::DEF 06:54
moritz atweiden-air: define "part of" 06:55
atweiden-air: inside the namespace != a subtype of
atweiden-air yes to inside the namespace of 06:56
sortiz \o #perl6 06:57
samcv o/
dalek Iish: cbdf5b7 | (Salvador Ortiz)++ | / (7 files):
Pg: TypeConverter post-merge cleanup

  kaare++ the work and original itch
07:14
RabidGravy salortiz++ # I did actually fear that was going to get bike-shedded to death 07:17
faraco Mu is the most undefined value. ? What? Going to wiki, it says it means 'nothing'. Is the value == undefined in Perl 5 or NULL in C 07:20
m: say !Int.defined; 07:21
camelia rakudo-moar 9a11ea: OUTPUT«True␤»
moritz faraco: on a less philosophical level, Mu is is the root of the type hierarchy
docs.perl6.org/images/type-graph-Mu.svg
faraco oh, now I understand what it means 'the most undefined'. 07:22
thanks moritz 07:23
RabidGravy if you want to check something is defined, you want to check whether it is defined whatever type it is
sortiz RabidGravy, In past months I had to move house and buried in $work, but I'm back
RabidGravy :)
geekosaur a type object is the least defined value of a type. Mu is the least defined type. 07:24
RabidGravy anyway off to the code mines
samcv so shortly I am going to make roast use LINE FEED and FORM FEED instead of LINE FEED (LF) and FORM FEED (FF) for the \c[ ] entries
faraco is it some sort of 'placeholder' for Mu?
samcv as soon as I add a fix for MoarVM which allows those unicode alias names to be used. and for now we will still allow LINE FEED (LF) and FORM FEED (FF)
but they won't be in roast anymore 07:25
faraco I like the documentation. Easy on the eyes to read.
geekosaur um? what is "it" here?
samcv moritz, geekosaur thoughts? 07:26
faraco oops, my grammar is messed up. I meant, is Mu some sort of 'placeholder'?
samcv i am guessing maybe there will be a way we can depreciate the unicode 1 names?
faraco for Any and Junction?
geekosaur insofar as it is the most basic type, of which all other types are composed
samcv maybe in moarvm or something. some message to the user that it's depreciated
but still compiles and functions
geekosaur Mu is what you use if you want to allow anything including junctions. This has an operational effect: if a sub or method does not specifically announce that it handles Junctions (by using the type Mu or Junction), perl 6 will autothread a junction given to it 07:28
samcv and i can manually add in those unicode 1 names during the depreciation period, and .uniname will show <control-0020> for \n instead of LINE FEED (LF), but LINE FEED (LF) will still work for \c
geekosaur Most of the time, if you want an all-inclusive type you want to use Any so that junctions get autothreaded. You would only use Mu if you need (or need to know about) the junction itself for some reason 07:30
faraco geekosaur: I think I need to try the examples first to understand these types in depth. 07:31
geekosaur (autothread = perl 6 will run the sub/method, at least notionally concurrently, for all values in the Junction, combining the result into a Junction)
samcv j: say "\c[FORM FEED]".ord.base(16) 07:34
camelia rakudo-jvm fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name FORM FEED␤at <tmp>:1␤------> 3say "\c[FORM FEED7⏏5]".ord.base(16)␤»
faraco geekosaur: thanks. Taking that as a note. 07:35
faraco A question - docs.perl6.org/language/variables#...%5E_Twigil 09:52
in $/ part
why the XML.Grammar.parse("<p>some text</p>); doesn't work?
installed XML, and use XML::Grammar; return (Any) 09:53
I got this error - No such method 'Grammar' for invocant of type 'XML'
in block <unit> at t.p6 line 2
DrForr Because you want XML::Grammar, I think?
I.E. XML::Grammar.parse(...) 09:54
faraco so, is the example got mistake there? it use XML.Grammar.parse(...) instead of XML::Grammar.parse(...)
faraco okay, I think it's typo 09:55
DrForr Yeah, it's a typo. Maybe submit a PR?
faraco I think I'll direct commit since it's a small change? 09:56
DrForr Feel free. 09:56
faraco alright. :D
thanks for helping
DrForr No worries.
Geth oc: 661567b686 | faraco++ | doc/Language/variables.pod6
fixed typo
10:00
MARTIMM o/ 10:29
travis-ci Doc build errored. faraco 'fixed typo' 10:29
travis-ci.org/perl6/doc/builds/190900024 github.com/perl6/doc/compare/0389b...1567b68641
MARTIMM I was wondering why 'our' cannot have a type. What is the phylosophy 10:32
Same for *@xyz in argument lists 10:33
jnthn Different reasons
faraco isn't our for package scope?
jnthn our is just a lexical alias to a package symbol, and package symbol tables are just hashes. 10:34
MARTIMM where can I look this up?
jnthn m: { our $a = 42 }; { say our $a }
camelia rakudo-moar 0f149d: OUTPUT«42␤»
MARTIMM Ah, I see, there no space in the tables to add type
jnthn Imagine if the types were different on those two, what would be do?
Well, also the declaration is of the alias, not of the symbol, which is just something in a hash 10:35
samcv m: our $a; my int $b = 10; $a := b; say $a.WHAT
camelia rakudo-moar 0f149d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ b used at line 1␤␤»
samcv m: our $a; my int $b = 10; $a := $b; say $a.WHAT
camelia rakudo-moar 0f149d: OUTPUT«(Int)␤»
jnthn On *@xyz it's because the incoming values might be from a lazy list, but generally with types we expect them to do their checking "immediately" 10:36
faraco It is weird, why doc compiling on OSX failed. The error is all about The command "$CXX --version" exited with 127. 10:37
any opinion?
oh: /Users/travis/build.sh: line 57: g++-4.8: command not found 10:38
MARTIMM jnthn: I'll ponder a bit over it, thanks for now
MARTIMM another question: will submethod DESTROY in a class always be called when an object is teared down. E.g. at program exit. I need something to do like saving data at the end without having to call a save operation explicitly 10:50
jnthn MARTIMM: No. If you want reliable called-at-exit things, use END 10:56
MARTIMM jnthn: thanks, about the our example you showed: { our $a = 42 }; { say our $a }, does it show 'define/save in one scope and pulling it out in the other?' 10:58
jnthn Pretty much, yes 10:59
m: GLOBAL::<$a> = 42; { say our $a } 11:00
camelia rakudo-moar 0f149d: OUTPUT«42␤»
jnthn Though as shown here, it's just a hash, so there's not really a formal point of definition of the entry there.
MARTIMM I understand now 11:01
faraco A question, what is actually 'dynamic variable'? $*MYDYVAR, is it equivalent to Global variable? 11:02
faraco m: say $*ENV 11:03
camelia rakudo-moar 0f149d: OUTPUT«Dynamic variable $*ENV not found␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
MARTIMM say %*ENV
m:say %*ENV
faraco m: %*ENV
camelia ( no output )
faraco yeah, hash
forgot
so, what it's a global variable? When it says dynamic, I'm thing about 'mutable'. 11:04
thinking*
pmurias faraco: they are dynamically scoped
faraco and how dynamically scoped variable works? Can it be accessed from other scopes, class, methods, submethods etc? 11:05
pmurias m: sub foo {say $*FOO}; my $*FOO = 123; {my $*FOO = 456; foo()}; say $*FOO;
camelia rakudo-moar 0f149d: OUTPUT«456␤123␤»
pmurias faraco: they can be accessed from the other things you call 11:06
faraco: so they sort of work like a global, only when you declare a dynamic variable with a my it then gets reset to the previous value 11:07
faraco: do you know perl 5?
faraco I don't.
faraco well, just a little bit. but that's it. nothing more deeper than dabbling the surface. 11:11
pmurias faraco: look up docs.perl6.org/language/variables#The_*_Twigil 11:15
faraco erm, inside the block, my $*FOO resets variable and assigned with 456; and foo return it as lexical scope. and after the block, it use literally the foo routine again, calling the actual dynamic variable.
I don't if that what it's supposed to do, or I'm wrong here. 11:16
know*
pmurias faraco: quoting the docs, a dynamic variable is looked up in the callers scope 11:17
Geth oc: 9d74487e84 | (Samantha McVey)++ | .travis.yml
Allow failures on Travis on MacOS (OS X)
11:18
oc: b0221a5174 | (Samantha McVey)++ | htmlify.p6
Try and end the highlights process after we are done with it
faraco samcv: is it because g++ v4.8 not exist in OSX? 11:19
samcv no
some concurrency problem
faraco oh
samcv still works on --no-proc-async though
well since the fix i made today
faraco pmurias: ah, I think I'm getting the idea now. 11:22
travis-ci Doc build passed. faraco 'Update .travis.yml' 11:22
travis-ci.org/faraco/doc/builds/190912084 github.com/faraco/doc/compare/6615...f59be5e035
faraco what, did my commit *rebuilt* again 11:23
evalable6 faraco, Full output: gist.github.com/820e015de0b4be1cab...6a9ab8bbb3
faraco, rakudo-moar 0f149de: OUTPUT«(exit code 1) 04===SORRY!04===␤Type 'commit' is not declared␤at /tmp/vJYkMs9zbP:…»
bisectable6 faraco, On both starting points (old=2015.12 new=0f149de) the exit code is 1 and the output is identical as well
committable6 faraco, ¦«did»: Cannot find this revision (did you mean “all”?)
bisectable6 faraco, Output on both points: 04===SORRY!04===␤Type 'commit' is not declared␤at /tmp/OFMFrihaDB:1␤------> 03did my commit08⏏04 *rebuilt* again␤Malformed my␤at /tmp/OFMFrihaDB:1␤------> 03did my08⏏04 commit *rebuilt* again␤
faraco okay, I need to learn this IRC bot commands. Help? 11:24
raschipi what what? 11:26
what, what?
evalable6 raschipi, Full output: gist.github.com/9ec3a6c024b0862234...11abcf4d4e
raschipi, rakudo-moar 0f149de: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/FBoDzSfAqs␤Bogus postf…»
bisectable6 raschipi, On both starting points (old=2015.12 new=0f149de) the exit code is 1 and the output is identical as well
raschipi, gist.github.com/dbb196f7a63dc9abfd...6f62e214cb
raschipi The bots understand a message sdtarting whith "what," as a command. I thought they had fixed the whatevables to only do this to a few people that want it. 11:27
cschwenz this has all the makings of a "Who's on first." routine… 11:28
faraco whoa, gist.github.com/Whateverable. A secret bot gist acc. 11:29
raschipi Why do you think it's secret? 11:30
faraco it's secret to me, because I never told about it. Actually, I'm just saying. doesn't mean it literally. 11:31
raschipi ok
notviki .tell AlexDaniel you were waiting for it to happen again: irclog.perlgeek.de/perl6/2017-01-11#i_13898957 11:32
yoleaux notviki: I'll pass your message to AlexDaniel.
raschipi Thanks Pete, I was looking who to send the message to. 11:33
notviki Who's pete? 11:34
raschipi Hum, I thought your name was Pete.
Sorry for the confusion.
notviki nope
faraco why the doc build still return error. hmm 11:35
notviki faraco: doesn't the above say it passed?
the travis bot 11:36
faraco that's weird. the build of 3306.1 failed. 11:37
raschipi notviki: Isn't your name "Peter Evans"?
faraco or I'm crazy
notviki raschipi: no 11:38
raschipi Soory for the confusion, then. 11:39
notviki raschipi: and even if you knew my name, why use it here? Not everyone wants to be IDed 11:40
raschipi Sorry for it. I have seen it in many places, I thought you didn't care. 11:41
Calling people their names is considered polite where I come from.
DrForr raschipi: This is IRC, rules are a bit different here. I use nicks in public and private conversation on IRC, and real names only rarely. 11:42
cschwenz DrForr++ :-)
DrForr Part of the fun of going to a convention is having people say "*You're* X?" 11:43
raschipi Sorry for the cultural mismatch. I learned it already.
mst raschipi: on IRC, a person's nick *is* their name, and calling them something else is weird
DrForr No worries.
raschipi Let me change mine, then. 11:44
DrForr Hell, the first time *I* went to a convention (YAPC 99) I unpacked my stuff at the dorm and headed out to look for the nearest bar, figuring I'd find some hacker types. 11:45
mst I mean, I solved the problem by using my initials, because I wanted a coherent multi-platform identity
but people are allowed to want different things to me
DrForr I didn't think there was a picture of me online anywhere, so you can imagine my surprise when I walked by a cafe' and heard 30 people shout my nick in unison. 11:46
mst DrForr: oh that's *excellent* 11:50
faraco "Hey DrForr, want drink some coffee with me!"
mst I'm so used to IRC nicks as primary identifiers that I mostly use people's nicks in person too
ilmari justuses his real name as his irc nick 11:51
mst (this is one of the reasons I grumble about Zoffix being unable to pick one, but he appears to be ok with me just always using Zoffix ;) 11:51
travis-ci Doc build failed. Samantha McVey 'Try and end the highlights process after we are done with it'
travis-ci.org/perl6/doc/builds/190920650 github.com/perl6/doc/compare/66156...221a51749d
ilmari although I didn't start using it IRL until 9 years ago 11:51
cschwenz i've run into the following problem in some code i'm writing: given an Iterable that contains any Perl 6 core data type, how do i find the first String/Number (descending into contained Iterables when found, so depth first) in the given Iterable? 11:52
mst ilmari: this is filed under "things mst was never going to notice" ;)
ilmari mst: when I lived in .no I used my norwegian first name, but that turned out to be phonetically confusing to english-speaking people 11:53
so when I quit my first job I changed to using the finnish one
(first .uk job)
mst well, I'm pretty sure your first name contains at least one sound that doesn't actually appear in english 11:54
the best I can manage IIRC is to be recognisably trying while mispronouncing it 11:55
ilmari mst: most people do a reasonable job when reading it out loud (modulo the wrong a sound), it's when I say it to them it's confusing 11:56
mst pretty sure the 'f' isn't an english 'f' sound either?
it seems like halfway between an f and a v to me when I hear you say it
raschipi SmokeMachine also uses his complete name in GitHub and didn't mind when I used it. 11:57
ilmari mst: that might just be me being sloppy, or the preceding g influencing it
gfldex cschwenz: see gfldex.wordpress.com/2016/10/02/th...e-finding/
cschwenz: look for .&?BLOCK
brokenchdir cschwenz: deepmap/duckmap?
mst raschipi: sure. most people won't care. but IRC nicks are a better identifier on IRC anyway. so you may's well use them. 11:58
brokenchdir I don't remember if they do depth first but easy to check
cschwenz thanks gfldex :-)
mst the whole "not identifying people" is not my primary reason, clarity of communication is my primary reason
cschwenz brokenchdir: what do you mean by deepmap/duckmap?
brokenchdir cschwenz: the two routines 12:00
DrForr raschipi: See how your client highligts when I use your nick? It won't happen with your real name.
brokenchdir cschwenz: made for... descending into stuff
cschwenz: docs.perl6.org/routine/duckmap docs.perl6.org/routine/deepmap
m: [1, [3, 5, [6, 'foo',], 'bar'], 'meow'].duckmap: -> Str $x { say "First Str is $x"; last } 12:01
camelia rakudo-moar 0f149d: OUTPUT«First Str is foo␤First Str is bar␤First Str is meow␤»
brokenchdir too bad `last` doesn't work
gfldex m: (1,2,3).map: { say 'ello'; last; say 'oi‽' } 12:03
camelia rakudo-moar 0f149d: OUTPUT«ello␤»
gfldex brokenchdir: i would vote that last not working in duckmap to be a bug
arnsholt mst: I think the only sound in ilmari's first name that isn't in english is the a vowel 12:04
But Norwegian has weird intonation patterns, which tends to throw non-natives for a bit of a loop
They're not phonemic though (barring a couple of edge cases), so getting them wrong isn't too big a deal 12:05
ilmari arnsholt: the a? that's pretty similar to the (southern-english) bath, but a bit shorter
mst getting something with the intonation of the southern 'bath' sound and the length of the northern 'bath' sound is ... interesting 12:06
ilmari people who read it pronounce it like the northern-english bath, which I can live with 12:07
cschwenz ah, okay. thanks brokenchdir :-)
ilmari i.e. like the first syllable in dagger
El_Che Perl devroom at FOSDEM full schedule: fosdem.org/2017/schedule/track/perl/ (added: stevan's abstract) 12:18
mst El_Che: who's going to be in charge of the LTs ? 12:20
brokenchdir gfldex, yeah, my first expectation was for it to work
DrForr Oh, goodie, he's just after me :) Well, after I put the crowd to sleep, he can wake 'em up :) 12:21
El_Che mst: in chanrge? I was thinking on show up, and stop after max 5m (most people will announce things like a workshop or yapce I suspect, so often just a few minutes)
mst: nothing planned really
mst El_Che: right, but whoever's timekeeping normally has a list in advance 12:22
the main thing here is I don't want the list to be full before I have a chance to work out wtf I feel like giving an LT about ;)
El_Che ah, you're coming? nice 12:23
mst looks like "probably" atm
El_Che I called it "Announcements & LT" because of the more spontanous nature of the "talks") 12:23
mst right 12:24
El_Che I could reserve the first spots for people that come to see mee during the day
I need to think about that
El_Che I reckon, being Sunday, many people are tired and just want to go to the restaurant :) 12:25
mst suggest asking rgeoffrey for advice
El_Che thx, I will
mst he runs the ::NA and ::EU LTs
also you could ask acme who does the LPW ones
El_Che mst: I'll discuss it with Wendy and maybe post more about the format 12:26
mst basically, if possible, you want people to come up with LT ideas on the day if something inspires them 12:27
BUT also you don't want to end up with scheduling issues thereby
El_Che I took a more improvisized approach because I wan't really thinking about talks, more about "hey, i have something cool to say"
15m is pretty short
mst oh, you've only got a 15m slot for the whole thing?
El_Che yes --> hence the "announcements addition" 12:28
we had some people jumping in at the last minute
mst don't call it LTs at all then, just 'announcements and stuff'
given a normal LT is normally ~4min 12:29
El_Che I expect Theo talking about YAPC::EU and Wendy about the post-fosdem restaurant
mst right
El_Che adapting the title is a good idea
I fear though, when removing LT, people won't come forward 12:30
LT == open mic
Announcement == "internal thingy"
"Announcement & Open Mic" or something 12:31
mst yeah, so do it as 'announcements and lightning advertisements' and then tell people in between other talks
arnsholt ilmari: True, true. The dialects have the pure a sound. But TBH, it's mostly the intonation that makes foreigners sound funny when they attempt Norwegian 12:42
faraco hey guys, is there anybody knows any perl 6 freely released ebooks? I'm gonna add it to here - github.com/vhf/free-programming-books/pull/2198 13:32
brokenchdir Don't know any 13:34
As in.. there likely aren't any. 13:35
DrForr Well, there are several books in progress and at least one that I know is out, but not for free yet.
faraco DrForr - you mean the 'Perl 6 by Example'? 13:36
DrForr Andrew Shitov, yes.
faraco ah
I see. Well, I have to wait a little longer then. Thanks for the input guys. 13:37
DrForr Or write one yourself while you're learning, that's the best time because you know exactly what you want to find, and can research it as you're writing :) 13:38
faraco DrForr: unfortunately, my English is not good enough for me to write a book. Although, you give me an idea to write it in my native language. 13:40
DrForr Which is? Someone might be willing to translate if the text has already been written... 13:41
There's one that's coming out which is in French originally, but being translated to English.
faraco oh, now you giving me another idea to use Gitbook. 13:42
collaborating writing.
perlpilot_ also, don't discount someone helping to make your english better if you choose to go that route. 13:43
faraco thanks DrForr, will try that and see where it's going.
DrForr perlpilot_: Good point, I've offered to do that here for our docs but nobody seemed to be interested.
faraco perlpilot_: Well, I try to improve my English by using them as much as possible. 13:44
faraco s/them/it 13:49
[Coke] boggles at the britishness of "want different things to me". :) 13:55
brokenchicken wonders how to make perl6 scripts not have a kilometre long paths in htop 14:01
brokenchicken my p6 is via rakudobrew :/ 14:01
mst brokenchicken: overwrite whatever the local $0 equivalent is?
brokenchicken doesn't know how to do that :( 14:02
mst and I don't know where the list of superglobals is documented
[Coke]: hm? 14:03
[Coke] mst: in ameringlish, it's "different from" or "different than" 14:06
"to" is right out.
brokenchicken well, there are $*PROGRAM / $*PROGRAM-NAME but they're immutable and if I `my` them I don't see them change the htop value
mst oh, this may be another on the list of "standard facilities perl6 doesn't have yet" then 14:07
load Inline::Perl5 and set $0 from perl5 space
what could possibly go wrong 14:08
brokenchicken and that htop name is "/home/zoffix/.rakudobrew/moar-nom/install/bin/moar --execname=/home/zoffix/.rakudobrew/bin/../moar-nom/install/bin/perl6 --libpath=/home/zoffix/.rakudobrew/moar-nom/install/share/nqp/lib --libpath=/home/zoffix/.rakudobrew/moar-nom/install/share/nqp/lib --libpath=/home/zoffix/.rakudobrew/moar-nom/install/share/perl6/lib 14:09
--libpath=/home/zoffix/.rakudobrew/moar-nom/install/share/perl6/runtime /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/runtime/perl6.moarvm foo.p6"
dunno why nqp/lib is there twice
mst because once for moar and once for nqpm and it so happens they have the same prefix and the script generator doesn't dedupe because it predates us knowing what a prefix is
brokenchicken :o
[Coke] is kind of wistful that @inc on twitter ain't a perl handle. 14:10
mst moar ships a share/nqp directory containing the opcodes
nqp ships a share/nqp directory containing the other crap it needs 14:11
the fact everything assumed they would be the same directory was a lolsob slide
brokenchicken :D
[Coke] samcv: ah. I just realized that the slowdown of 'make htmlify' here on my work mactop is very likely a problem with dayjob's enterprise security "features" that were rolled out in teh past month. 14:12
dammit. 14:13
brokenchicken EVAL '$0 = "foo"; print "hi\n"', :lang<Perl5>; didn't do anything to help
Geth cosystem: finanalyst++ created pull request #285:
adding Informative (popup dialog box) to ecosystem
14:15
cosystem: 74954c881a | (Richard Hainsworth)++ | META.list
adding Informative (popup dialog box) to ecosystem

see github.com/finanalyst/p6-inform
cosystem: f3bc5568c8 | (Zoffix Znet)++ | META.list
Merge pull request #285 from finanalyst/master

adding Informative (popup dialog box) to ecosystem
brokenchicken hmm
IIRC that ain't gonna work actually.. 14:16
mst brokenchicken: welp, there's probably some weird interaction between rakudo and perl5 that I don't understand then
Geth cosystem: 42baa321b4 | (Zoffix Znet)++ | META.list
s/META.json/META6.json/
14:17
Geth oc/coke/pngless: 29295940fe | (Will "Coke" Coleda)++ | 2 files
Don't generate .png typegraph files
14:22
Geth oc: coke++ created pull request #1131:
Don't generate .png typegraph files
14:25
[Coke] hey, the PR notifications work. nifty.
docs - do we have an infrastructure machine we can run a dynamic site on? 14:26
mst [Coke]: doing that for docs.perl6.org sounds like a terrible idea. 14:27
moritz [Coke]: depends on the anticipated resource usage 14:28
the machine has 4g RAM
[Coke] eh. guess I'll just do everything in JS.
mst [Coke]: it's all fun and games until an aggregator hugs you to death 14:29
brokenchicken :)
[Coke] mst: I mean, obvs. it'd be caching. somewhere. (I don't want to ahve to set any of that up though, so.) 14:30
mst a static site generator is the easiest to sysadmin pre-emptive cache 14:30
[Coke] I'd appreciate if someone whose machine ISN'T being slowed to a crawl by security software gave that PR a go.
travis-ci Doc build errored. Will "Coke" Coleda 'Don't generate .png typegraph files' 14:31
travis-ci.org/perl6/doc/builds/190968416 github.com/perl6/doc/commit/29295940fea2
[Coke] Install [FAIL] for zef:auth('github:ugexe'): ^^ 14:31
andrzejku hey someone from USA here? 14:36
pmurias andrzejku: plenty of people from the USA here
andrzejku I have got an opportunity to take a job in Detroit 14:37
jonadab There are jobs in Detroit?
TIL
brokenchicken There are people in Detroit? TIL
andrzejku yeah, I also think it is bad idea even for guy from middle europe
faraco Holy
andrzejku we are poor here but Detroit is worse 14:38
however maybe I am not right
jonadab andrzejku: Personally, I would consider detroit the second-worst city in America, after Los Angeles.
faraco why? crime rate?
jonadab faraco: crime rate is certainly relevant, and part of it. 14:39
[Coke] I mean, there are some big names still there that are good to work for. my company has a large it presense there.
brokenchicken They should build another robocop :P 14:39
andrzejku I also don't know if I need rent car to live there and how much will cost life there with a apartament renting and healthy food for 3 ppl
jonadab Also, detroit was historically dominated, economically speaking, by the automobile manufacturing industry, which has been slowly dying in this country for more than half a century.
andrzejku: You'd need a car, yes. 14:40
andrzejku oh okay :D
jonadab, so it is not for me
jonadab But that's true _almost_ anywhere in America.
jonadab I wouldn't really consider needing a car to be one of the reasons to avoid Detroit. 14:41
andrzejku I need to make driving license since I go by foot or public transport and by bike in my city
nearly everywhere
jonadab I go by foot around Galion, sure; but at some point you need to go somewhere too far away to walk.
Any city large enough that you never need to go down the road to another city, is large enough that you can't walk across town. 14:42
brokenchicken What about public transit?
jonadab And really pervasive public transport in America is limited to a handful of megacities (Chicago, New York, SoCal, etc.
andrzejku looks like Europe is more attractive for me 14:43
jonadab Some medium-size cities (e.g., Cleveland, Chicago) have _some_ public transport; I imagine Detroit is likely in that category; but it would be massively inconvenient to be entirely dependent on that. 14:43
I mean, when my brother-in-law lived in Miami, he relied on public transport; it took him 2-3 hours by bus to make a trip that would be an hour or less by car. 14:44
(When he married my sister, he moved to West Palm Beach, and they have a car.) 14:45
mst america doesn't really do public transport, sadly
that and the whole 'papers please' attitude are probably my main annoyances 14:46
jonadab I don't think public transport is really practical in most of America. Our population distribution is too evenly spread out, not bunched up like Europe and Japan.
andrzejku what do you by 'papers please'?
brokenchicken Here it's more convenient for me to take the bus than sit in traffic 14:46
andrzejku mean*
mst having to have my passport with me at all times 14:47
brokenchicken Well, you do have a funny accent :P
jonadab mst: That's likely only relevant if you're near a border.
Or a major coastal city, possibly.
Well, you need ID if you do something like write a check, so if your passport is your only ID...
mst jonadab: or if I want to buy cigarettes, or if a cop is bored, or ... 14:48
brokenchicken wonders what's the most accurate way to get just the fractional part of a numeric...
f3ew mst: that's no different from Europe (papers please)
mst f3ew: yes it is.
jonadab mst: I live in Ohio, and it's been months since I showed anyone my ID. 14:49
Last time I went to the BMV, I think, in fact.
My bank doesn't even ask for ID when I cash my paychecks.
mst jonadab: I get the feeling the non-coastal states are significantly less terrible
jonadab mst: That seems likely.
mst IIRC in ohio the only time I facepalmed was the fact that the bars had to card people who were obviously in their forties 14:50
jonadab But don't tell the people from New York and California, they want to call us "flyover country" and pretend we aren't significant.
mst yes, well, I used 'non-coastal' advisedly :)
jonadab Heh.
mst but in both .uk and mainland europe, I can usually leave my passport in my hotel room and it never matter 14:52
jonadab As for bars, yes, they want to err on the side of carding anyone even remotely close to potentially needing to be carded, but that's partly a cultural thing to do with the role of alcohol in society. (The socially acceptable way to drink alcohol in America is _at home_. Doing it out in public is... frowned on.)
jonadab I kept my passport on my person when I was in Canada, but I think I only ever actually needed it at the border. 14:53
jdv79 afaik its illegal in most, if not all of the US to drink in public
jonadab jdv79: Well, it's legal to drink in a bar; but there is significant social stigma attached to even going into a bar. 14:54
jdv79 where? i can tell you that is not the case here in nyc
in fact its likely teh opposite
odd convo for #perl6. maybe i should backlog... 14:55
jonadab I'm in Ohio, have also lived in Indiana, Michigan, and travelled significantly in Pennsylvania.
f3ew mst: I have to be able to prove my identity (which requires passport + residence permit/visa in the EU)
mst f3ew: for what?
f3ew mst: it's a legal requirement :)
Any police officer can ask for it, my bank needs it for anything significant, getting insurance, etc 14:56
brokenchicken 0.o
brokenchicken doesn't even HAVE a passport
In Canukistan.
jonadab brokenchicken: You only need a passport if you travel outside your country of citizenship. 14:57
I never had one either, until I planned a trip to Niagara Falls.
pmurias f3ew: isn't it country rather then Europe specific?
mst f3ew: oh, identity documents for banks, sure
jonadab (Later I travelled more extensively in Canada.)
Right, banks require ID probably everywhere; but it only has to be a passport if you're in a foreign country, obviously. 14:58
Actually, the _first_ time I travelled in Canada, I didn't need a passport. But that was before September 11th. 14:59
mst after which we collectively lost our shit, but that's a whole different rant that we probably don't want to get all over the channel 15:00
jonadab True.
(Sane response to September 11th: hmm, maybe this long-standing policy of pacifying plane hijackers by doing whatever they want until the plane is on the ground, is not such an awesome plan; let's not do that.)
mst f3ew: given when I visit EU countries normally I don't even have a paper visa of any sort, I'm confused how I could be legally required to carry one to show the police though 15:01
jonadab mst: A visa is different. I don't need a visa to go to Canada either. 15:02
jdv79 I think technically a US citizen is required to be able to produce a passport in the schengen area but i've never carried mine and had no trouble.
pmurias mst: they can check your passport to see if you are from the EU
mst jonadab: I'm responding to < f3ew> mst: I have to be able to prove my identity (which requires passport + residence permit/visa in the EU)
jdv79 i mean out and about. of course i had one. 15:03
jonadab mst: Whether a visa is required depends where you're from, typically.
US citizens don't need a visa in Canada; Europeans don't need a visa anywhere in the EU.
mst jonadab: the sky is blue 15:04
(we're playing "state the obvious" until f3ew replies, right?)
jonadab mst: Do I need to state the even more obvious thing that, this being the internet, he might be from a different country than you are? 15:05
jnthn mst: Here in .cz, you can always be asked for ID by the police, and can be fined if you can't produce it. In practice, I never have been asked to date.
jnthn So it's certainly the case that you're required to carry some form of ID in some European countries. 15:06
jast my country (EU) does in fact require people to possess official proof of identity (passport or identity card), though it does not require you to carry it with you
mst jonadab: no, you don't, which is why I was waiting for him to reply, so we would find out.
mst I don't actually mind the idea that I should always have ID with me while in a foreign country. What I mind is the idea that I'm going to have to produce it All The Damn Time, and that that's considered completely normal 15:12
jnthn Ah. Then, in my experience, no problems here. :) 15:13
mst americans seem to find my aversion to that to be as confusing as my lack of aversion to CCTV 15:15
oh what a world etc.
travis-ci Doc build passed. Will "Coke" Coleda 'Don't generate .png typegraph files' 15:16
travis-ci.org/perl6/doc/builds/190968416 github.com/perl6/doc/commit/29295940fea2
raschi Come to Brazil, you don't need to carry id around here. 15:16
f3ew pmurias: I'm not a citizen of a EU country, they all have that requirement 15:17
huf here you're expected to carry your ID all the time but you almost never have to produce it, UNLESS you're a teenager or a minority 15:17
brokenchicken Wasn't not being stopped by police without reason one of the items on universal declaration of human rights that like all of UN supposedly aheres to?
f3ew Sorry, work called
raschi "without reason" They can do it with very little reason, though. 15:18
f3ew It's not *all* the time. It's *any* time a government agent demands it.
huf "you looked suspicious"
done
f3ew "Prove you are legally resident" 15:19
huf suspicious behavior includes being 16 years old without a parent near :)
raschi "I thought I smelled something funny"
jeek No one shall be subjected to arbitrary arrest, detention or exile.
Depends on how you define "detention", I'd wager.
[Coke] m: lc
camelia rakudo-moar 563d11: OUTPUT«5===SORRY!5===␤Argument to "lc" seems to be malformed␤at <tmp>:1␤------> 3lc7⏏5<EOL>␤Other potential difficulties:␤ Unsupported use of bare "lc"; in Perl 6 please use .lc if you meant $_, or use an explicit invocant or argument, or u…»
f3ew jeek: "show ID or we will detain you" 15:21
[Coke] m: tc
camelia rakudo-moar 563d11: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling tc() will never work with declared signature (Cool $s)␤at <tmp>:1␤------> 3<BOL>7⏏5tc␤»
[Coke] wonders why those are so different.
raschi In Brazil, they can stop you to ID you if they suspect a crime. Technically, at this time you'd have to present id. But it has been modernized and police can serch the civil registries from their cars now. So people don't need to carry id anymore, just state their complete name and birth date when asked.
Well, it's not a federal system, but it works like that in the south. 15:22
mst raschi: that fits within my criteria for "actually civilised"
raschi mst: thanks. 15:23
gregf_ is it true that 80% of the population end up in prisons in brazil? #no case for an ID then
mst gregf_: wat 15:24
I sometimes suspect britain is basically kinda neurotic about mandatory id
raschi gregf_: No, this is not the United States.
huf hahahahahaha 80%
f3ew Heh
raschi Carrying id has never been mandatory in Brazil, but police was forbidden from arresting you to perform identification if you were carrying yours. So people got used to carrying it around. Now police can id people without the document, so it's not necessary anymore. 15:26
perlpilot_ #perl6 is weird today 15:30
Woodi it's all a bit strange... police officer standing in fron of you do not ask "Who you are?" but rather "Show me the papers"... It's seems so "remote" from reality ;) Just like Kerberos, to do things you need TGT from some centralised place :)
jast at least Kerberos doesn't also charge you $$$ for the TGT 15:32
raschi In Brazil people are not charged for their id either. The government is forbidden from charging for procedures considered "essencial for citenship". 15:33
f3ew Nice 15:34
Woodi anyway, chdir in multi threaded app is weird... some layer between environment and app internals (job queue?) should be some standard thing :)
raschi: wow... Brazil gov sytem looks to be very sane. maybe you need some advertising ? :) 15:36
pmurias Woodi: AFAIK the id checking works the same name in our country too 15:38
Woodi pmurias: but gov/police attitude seems some sane... 15:38
pmurias Woodi: we don't have any urban warfare so the policing seems relatively sane 15:41
raschipi Our laws are good, they're not followed sometimes, though.
Woodi pmurias: don't saying we have prolems with police or id. actually law allow us to not carry id at all 15:42
raschipi Woodi: where are you from? 15:44
Woodi raschipi: Poland 15:45
raschipi What would the police do if they suspect you commited a crime and you aren't carrying id?
Geth oc: cae174eba6 | (Will "Coke" Coleda)++ | htmlify.p6
Revert "Try and end the highlights process after we are done with it"

This reverts commit b0221a51749d2356c43d318ef9163c7eaed22fba.
15:46
Woodi raschipi: first, they will make me to wait :) and then depends if I'm suspect, etc
[Coke] samcv: I reverted your last doc commit, it had a syntax error.
Woodi and I would not worry about car industry in States :) 15:49
Woodi afks 15:49
raschipi There's a "right to petition" in Brazil, and it's considered on of the "basic citizenship" rights, which means anyone can petition the government and they won't charge for it. My wife works answering petitions people file at a public office. 15:53
Geth oc: a6367a6258 | (Will "Coke" Coleda)++ | t/00-load.t
catch htmlify.p6 syntax errors sooner, maybe?
16:09
pmurias -e 'say "Hello World"' now works in (local) rakudo.js with the full setting loaded :) 16:17
timotimo nice! 16:18
dj_goku pmurias++ 16:19
brokenchicken pmurias++ 16:21
jnthn \o/ 16:25
pmurias++
brokenchicken What about -e 'say "I ♥ Perl 6"' ? :) 16:28
raschipi -e 'say "I 🦋 Perl 6"' 16:30
brokenchicken m: "🦋".uniname.say 16:31
camelia rakudo-moar 563d11: OUTPUT«BUTTERFLY␤»
brokenchicken oh it's my char :) 16:32
brokenchicken is sad the terminal doesn't display it
pmurias brokenchicken: your example works 16:33
brokenchicken pmurias++
kybr now that i'm working with unicode symbols more i want to know the best way to mix these symbols and perl6 and c++ programs. right now, the width of the symbols varies so that characters overlap. i've been using a fixed-width font. 16:34
what sort of terminal/editor configurations are people using to do perl6 with unicode? 16:35
pmurias brokenchicken: for now rakudo.js has the unicode support js does, as doing NFG stuff without slowing things down will require significant thought 16:40
brokenchicken eh, better than nothing :)
Progress!
travis-ci Doc build passed. Will "Coke" Coleda 'Revert "Try and end the highlights process after we are done with it" 16:41
travis-ci.org/perl6/doc/builds/190998407 github.com/perl6/doc/compare/b0221...e174eba6de
raschipi We need to finish the C code generator before people start recommending node.js as a virtual machine to run precompiled P6 code. 16:43
timotimo i don't know about any c code generators? 16:44
raschipi Or a bytecode code generator.
timotimo you mean like rakudo? 16:45
raschipi Yeah, just a way to dump the bytecode in a way that moar can pick it up later.
Woodi pmurias++ # persistence
timotimo so ... exactly like our moar bootstrapping procedure? 16:46
timotimo like, what we did when we didn't have an nqp-m yet, but we wanted to build nqp into nqp-m 16:47
i don't see a reason to do anything like that any more ...
brokenchicken kybr: I just use Atom editor 16:50
brokenchicken And in a perfect world, I have unicode ops bound to the extra keys on my keyboard. In reality, I have driver issues but it don't bother me none, 'cause I haven't been programming anything for like half a year 16:51
pmurias: someone's asking on Twitter: "what's $*OUT in the browser?" 16:52
timotimo usually you have a dom element that slurps up all your output 16:53
but this isn't for the browser
this is for node.js, which actually has a stdout
brokenchicken Ah
timotimo it'll be for the browser at some point, too. not terribly much work.
just not the current focus, iiuc
pmurias brokenchicken: there is no clear answer to what $*OUT should be, console.log is one option 16:57
timotimo: I have run stuff generated with nqp-js with webpack in the browser in the past and it wasn't a huge amount of work 16:59
pmurias why does someone have a twitter account registered using my email? :/ 17:03
brokenchicken Are you sure it's not you who registered it and forgot about it? :) 17:08
pmurias brokenchicken: yes, there where things in it I didn't tweet for sure 17:13
brokenchicken pmurias: try entering it on haveibeenpwned.com/ :) 17:23
damn... two hacks for my primary email now increased to 3 -_- Hacked in 2012... Released publicly in 2016 -_- 17:24
brokenchicken Hm, for the first time ever, I now struggled a bit in comprehending Perl 5's list with some parens and ternaries because my brain kept plugging in Perl 6's non-flatteting of lists into it. 17:41
brokenchicken I hope I'll find a Perl 6-based source of income BEFORE I complete forget Perl 5 :o 17:41
pmurias brokenchicken: what if you will have to use Inline::Perl5 in your Perl 6-based job? ;) 17:43
brokenchicken It'd mostly be for a couple of modules that I'd still use in Perl 6 land. 17:44
brokenchicken m: "\x[7]\x[3]".uninames.words[^2].join.say 18:21
camelia rakudo-moar 563d11: OUTPUT«BELLEND␤»
brokenchicken giggles
jnthn :P
masak .oO( ars bellend-i ) 18:30
samcv m: say "\c[BELL]".ord 18:32
camelia rakudo-moar 563d11: OUTPUT«7␤»
[Coke] pmurias++
SmokeMachine m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {Proxy.new: FETCH => method () {$attr.get_value(self)}, STORE => method ($val) {$attr.set_value(self, $val)}})}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why? 18:46
camelia rakudo-moar 563d11: OUTPUT«42␤MoarVM panic: Memory allocation failed; could not allocate 131072 bytes␤» 18:47
tony-o pmurias: brokenchicken: console.log seems like the most equiv to $*OUT and $*ERR seems equivalent to console.error 18:54
lizmat blogs.perl.org/users/pawel_murias/2...tting.html # pmurias++ 18:59
AlexDaniel .
yoleaux 11:32Z <notviki> AlexDaniel: you were waiting for it to happen again: irclog.perlgeek.de/perl6/2017-01-11#i_13898957
AlexDaniel ah dammit 19:00
I thought I did it already
ggoebel andrzejku: Regarding Detroit, yes you would need a car.
AlexDaniel .tell notviki thanks
yoleaux AlexDaniel: I'll pass your message to notviki.
hoelzro dang, that's awesome pmurias++ 19:01
ggoebel andrzejku: it is still one of the more dangerous cities in the USA from a crime statistics perspective 19:03
AlexDaniel pmurias++ that sounds great indeed 19:04
brokenchicken AlexDaniel: notviki died
ggoebel andrzejku: that said, a lot depends on where you live in or around Detroit
AlexDaniel dammit, that was the wrong one… 19:06
ggoebel andrzejku: if you have kids, I would recommend doing research on schools and living outside Detroit 19:06
AlexDaniel what, it's fixed? 19:07
committable6 AlexDaniel, ¦«it's»: Cannot find this revision (did you mean “Linz”?)
AlexDaniel ok one second…
AlexDaniel what, it's fixed? 19:09
right 19:10
brokenchicken \o/ 19:10
AlexDaniel brokenchicken: weird, he was alive just a few hours ago 19:10
maybe he simply changed his nickname, right? ;) 19:11
u: chicken
unicodable6 AlexDaniel, U+1F414 CHICKEN [So] (🐔)
AlexDaniel u: broken 19:12
unicodable6 AlexDaniel, U+00A6 BROKEN BAR [So] (¦)
AlexDaniel, U+238B BROKEN CIRCLE WITH NORTHWEST ARROW [So] (⎋)
AlexDaniel, gist.github.com/960b331e58c7e01fb1...ea91e6ddd8
AlexDaniel 🐔‍💔
ggoebel pmurias: pmurias++ what is next for rakudo-js? 19:13
pmurias ggoebel: fixing bugs to make tests pass and speeding things up 19:15
pmurias ggoebel: also making the build system vaguely sane so that it can be packaged up and is easier for others to play with 19:17
AlexDaniel I have never thought about not taking an ID card with me anywhere I go. Who knows what document you'd need to sign? re: carrying id card with you 19:18
but that's Estonia…
moritz it's not such a big burden
AlexDaniel and a lot of people are using it as a primary method for logging into stuff (e.g. bank accounts, or any other local website actually…) 19:24
moritz German passports (and possibly ID cards, don't know) also have some kind of PKI stuff, but with a batshit crazy propietary protocol, so basically nobody uses it 19:29
AlexDaniel passports? How do you slide a passport into a card reader? 19:30
samcv brokenchicken, \o/ github.com/atom/first-mate/issues/...-271969450 19:31
should be able to get atom-language-perl6 to detect .pm files now
once this person changes this 👍
brokenchicken doesn't recall what this about 19:33
You sure you're talking to the right chicken?
samcv uhm it's about atom perl 6 highlighting. so we can detect .pm files as being perl 6 vs perl 5 19:34
unless you are notnotviki
diakopter lulz
brokenchicken Cool. 19:36
brokenchicken uses sublime text 2 for Perl 5
It's... sublime :}
El_Che samcv++ 19:38
using atom for perl 5 & 6 was a non-starter
brokenchicken fwiw, I don't even have first-mate installed, so you've probably mistaken me with someone else... 19:40
raschipi We lost him.
samcv brokenchicken, it's in atom 19:44
heh
nice my unicode manuals came \o/
both volumes. took a while. they're print on demand
brokenchicken \o/ 19:45
samcv oh looks like i missed the non emoji sequences in my mvm PR for adding sequences. will have to add this for the next one. 19:48
such as LATIN CAPITAL LETTER A WITH MACRON AND GRAVE is U+100 U+300
[Coke] m: my $re = "<< FACE >>" ; say "A FACE IS HERE" ~~ / $re /; 19:56
camelia rakudo-moar 3d8628: OUTPUT«Nil␤»
brokenchicken m: my $re = "<< FACE >>" ; say "A FACE IS HERE" ~~ / <$re> /;
camelia rakudo-moar 3d8628: OUTPUT«「FACE」␤»
[Coke] danke. 19:57
brokenchicken .tell raschi it was in #perl6-dev irclog.perlgeek.de/perl6-dev/2017-...i_13894263 RE: "do you have a link to the log where what motivated that commit happened?" 20:03
yoleaux brokenchicken: I'll pass your message to raschi.
samcv [Coke], did this trigger when we weren't using proc::async? github.com/perl6/doc/commit/cae174...16bd64386e 20:04
[Coke] samcv: it didn't even compile. 20:07
"perl6 -c htmlify.p6" died.
samcv oh ok thanks
[Coke] $no-highlight isn't a variable there.
_4d47 p6: say 1.578.round(0.11); 20:44
camelia rakudo-moar ba8a28: OUTPUT«1.54␤»
brokenchicken :\
s: 1.578, 'round', \(.11) 20:45
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/ba8a...eal.pm#L44
brokenchicken p6: say 1.578.round(0.01); 20:46
camelia rakudo-moar ba8a28: OUTPUT«1.58␤»
brokenchicken p6: say 1.578.round(0.42); 20:47
camelia rakudo-moar ba8a28: OUTPUT«1.68␤»
AlexDaniel why :\ ?
brokenchicken
.oO( docs could use more examples... docs.perl6.org/routine/round )
20:48
_4d47 aww silly me, thanks brokenchicken!
brokenchicken p6: say 1.578.round(0.5);
camelia rakudo-moar ba8a28: OUTPUT«1.5␤»
AlexDaniel m: say (−.55).round(.1); # -0.5 20:49
camelia rakudo-moar ba8a28: OUTPUT«-0.5␤»
AlexDaniel that's an OK example
brokenchicken m: my $what = 1.578; my $scale = pi; say ($what / $scale + 1/2).floor * $scale;
camelia rakudo-moar ba8a28: OUTPUT«3.14159265358979␤»
brokenchicken haw
(^ that's the formula round sues)
brokenchicken relocates 20:50
samcv m: say 'test' 20:51
camelia rakudo-moar c99fbc: OUTPUT«test␤»
brokenchicken m: say (−.55).round(-.1); 21:05
camelia rakudo-moar c99fbc: OUTPUT«-0.6␤»
brokenchicken AlexDaniel: so your example's broken right? 21:06
AlexDaniel brokenchicken: why? What output did you expect? 21:07
brokenchicken AlexDaniel: dunno, I'm not a mathmatician :) but one of them gotta be wrong 21:08
AlexDaniel I'm surprised you can supply a negative $unit 21:09
moritz I'd say that falls under "gigo"
though we might want to prevent the "garbage in" part
AlexDaniel yup
m: say 2.5.round(1)
camelia rakudo-moar c99fbc: OUTPUT«3␤»
brokenchicken mortitz, how does -5.5 rounds? to -.5?
AlexDaniel m: say 2.5.round(-1) 21:10
camelia rakudo-moar c99fbc: OUTPUT«2␤»
AlexDaniel brokenchicken: where did you see that?
brokenchicken see what?
AlexDaniel -0.55 rounds to -0.5, that's ok?
moritz brokenchicken: please start to spell my name correctly :-) tab completion helps
brokenchicken sorry, imma on the phone :} 21:11
AlexDaniel :) irclog.perlgeek.de/perl6/search/?n...;q=mortitz
moritz brokenchicken: one more reason to use some kind of auto completion :-)
brokenchicken lol 21:12
AlexDaniel-- I'm laughing at that on the bus and everyone's staring at me 21:13
AlexDaniel: I don't know how -.55 is supposed to round... it always up? 21:14
AlexDaniel the docs say that it's always up for mid-points
brokenchicken ah ok
AlexDaniel for negative $unit it seems to be always down 21:15
AlexDaniel so it's not really a gigo 21:15
brokenchicken So... let's call that a feature? ;)
AlexDaniel looks like a feature, even though probably an unintentional one
moritz but probably undocumented and untested
AlexDaniel m: say 2.5.round(0) 21:16
camelia rakudo-moar 644cd3: OUTPUT«Attempt to divide 5 by zero using div␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel boom
brokenchicken m: say Inf.round: -Inf
camelia rakudo-moar 644cd3: OUTPUT«NaN␤»
brokenchicken m: say Inf.round: -5
camelia rakudo-moar 644cd3: OUTPUT«Inf␤»
AlexDaniel m: dd 5.round(1) 21:18
camelia rakudo-moar 644cd3: OUTPUT«5␤»
AlexDaniel m: dd 5.round(1.0)
camelia rakudo-moar 644cd3: OUTPUT«5.0␤»
AlexDaniel m: dd 5.round(1e0)
camelia rakudo-moar 644cd3: OUTPUT«5e0␤»
AlexDaniel interesting, right?
brokenchicken not really :) 21:19
m: say dd 5 + 1e0
camelia rakudo-moar 644cd3: OUTPUT«6e0␤Nil␤»
brokenchicken types infect like that 21:20
m: dd 5.round(0i)
camelia rakudo-moar 644cd3: OUTPUT«Attempt to divide 5 by zero using /␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel unless it's complex, yea
brokenchicken m: dd 5.round(1+0i)
camelia rakudo-moar 644cd3: OUTPUT«5e0␤»
brokenchicken heh
moritz m: dd 5.round(1+1i) 21:21
camelia rakudo-moar 644cd3: OUTPUT«Can not convert 1+1i to Real: imaginary part not zero␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: dd 5 + 1+0i
camelia rakudo-moar 644cd3: OUTPUT«<6+0i>␤»
brokenchicken well, I'd expect the infection to be consistent :) 21:22
brokenchicken m: dd (1+0i).floor 21:23
camelia rakudo-moar 644cd3: OUTPUT«<1+0i>␤»
xyz_ Does Perl 6 have an easy regex syntax for matching nested parenthesis? For example things like "( 1 + ( 2 + 3 ) )". 21:24
brokenchicken m: dd (1+0i).floor * (1+0i) 21:24
camelia rakudo-moar 644cd3: OUTPUT«<1+0i>␤»
brokenchicken weird
why does .round lose it
.oO( it got a complex candodate )
moritz xyz_: well, Perl 6 regexes make recursion easy-ish 21:25
moritz m: my regex nested { '(' ~ ')' [ \d+ | <nested> ]+ % \+ }; say '(1+(2+3))' ~~ /<nested>/ 21:26
camelia rakudo-moar 644cd3: OUTPUT«No such method 'nested' for invocant of type 'Cursor'␤ in regex nested at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel eval: grammar G { token TOP { (<-[()]>+)? [[‘(’ ~ ‘)’ <x=.TOP> ] (<-[()]>+)?]* } }; say G.parse(‘sum ((1 2 3) (3 4 5) join)’); .say for ^9999
evalable6 AlexDaniel, rakudo-moar 644cd34: OUTPUT«「sum ((1 2 3) (3 4 5) join)」␤ 0 => 「sum 」␤ x => 「(1 2 3) (3 4 5) join」␤ x => 「1…»
AlexDaniel, Full output: gist.github.com/3b5407d5f4085b86cf...f80e2adda8
moritz m: my regex nested { '(' ~ ')' [ \d+ | <&nested> ]+ % \+ }; say '(1+(2+3))' ~~ /<&nested>/
camelia rakudo-moar 644cd3: OUTPUT«「(1+(2+3))」␤»
brokenchicken wow spammalicious
moritz xyz_: ^^ see above. Matching whitespace too is left as excercise to the reader :-)
brokenchicken I guess phones arent good for irc
xyz_ Thanks! :-) 21:27
brokenchicken moritz++
moritz brokenchicken: I think phones aren't good for text-based media, having crappy input and too little screen space to skim easily 21:28
brokenchicken :)
jonadab moritz: That's only true, of course, if phones have small screens and no good keyboard. They really gotta start making better phones :-) 21:49
jonadab There was that phablet fad for a while there, I kept hoping it would turn into photebooks... 21:50
Because the ideal thing really is a phesktop :-)
timotimo photobooks? 21:51
jonadab Hehe. 21:52
jonadab I was thinking photebook = crassis of phone + notebook 21:52
timotimo crass.
jonadab But photobook could be popular too. 21:53
No, if I wanted to be crass I'd have said phaptop.
timotimo the thing about photobook is that it contains phō
moritz is a phaptop a laptop that's only used for consuming pornography 21:57
timotimo i think that's the idea
jonadab No, no, it's a combination phone/laptop, same as a phablet is a combination phone/tablet. 21:58
timotimo hm. so a flip-phone?
jonadab Err, larger. phablets are generally larger than other smartphones (though often smaller than a full-sized tablet).
So by extension we can surmise that a phaptop would be intermediate in size between a phone and a laptop. 21:59
timotimo hm
i'm not sure where subnotebook ends and laptop starts
i think the laptops i've been using so far have been relatively small 22:00
i had a thinkpad t23, a thinkpad x220s, a thinkpad t440s so far 22:02
mst I had a ... forget the oldest one, it was a pentium 22:11
then an x31, then an x61s, then a thinkpad tablet 2, now onto a helix 2
jonadab is still waiting for them to come out with a laptop that has at least a 19" 4:3 display and a decent keyboard. 22:13
AlexDaniel define decent
timotimo oooh 4:3
brokenchicken 4:3 eww
timotimo so much space for activities
jonadab AlexDaniel: I tend to like buckling springs...
timotimo so you're fine with a 4cm thick laptop? :)
brokenchicken :F
jonadab Sure.
AlexDaniel is still happy with his thinkpad x200 22:14
timotimo i like my laptops thin
jonadab I routinely carry around books weighing (collectively) more than double any laptop made in the last twenty years.
AlexDaniel well maybe you should stop carrying books then :D 22:15
jonadab Why?
AlexDaniel indeed, why do you have to carry them?
jonadab Because I want them in the place where I am going?
AlexDaniel sounds reasonable 22:16
AlexDaniel timotimo: by the way, do you have another workstation at home? 22:17
timotimo: or you just use your laptop
yoleaux notviki: SmokeMachine remember the DEFINITE! 22:19
timotimo i have a desktop machine that i do much of my work on
among other things because i want to play a game or two every now and then 22:20
AlexDaniel timotimo: interesting. How do you synchronize?
timotimo usually via github, but sometimes i just scp between laptop and desktop
SmokeMachine m: multi infix:<||>(42, 42) {"OK"}; say infix:<||>(42, 42); say 42 || 42 22:40
camelia rakudo-moar 8f3476: OUTPUT«OK␤42␤»
brokenchicken (reads jnthn++'s report on the ticket).. so I guess it's not a bug 22:42
SmokeMachine brokenchicken: I answered the response... 22:43
brokenchicken doesn't see it on the ticket 22:44
or email...
SmokeMachine brokenchicken: Just sent 22:46
How could I make A.b work? 22:47
m: class A {has $.b; method FALLBACK($name, |) { $name }}; say A.new.b; say A.c; say A.b
camelia rakudo-moar 8f3476: OUTPUT«(Any)␤c␤Cannot look up attributes in a A type object␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken make it a private attr? 22:54
perlpilot_ seems sub-optimal to me. 22:55
SmokeMachine brokenchicken: but I need the method on the instance and on the type object...
brokenchicken make your own accessor that doesn't whine about attrs on tpe objects 22:57
SmokeMachine I am trying to create a trait on the attribute that will create a method with the attribute name for the object type
brokenchicken method b(::?CLASS:D:) is rw {$!b}
SmokeMachine I was trying something like this: 22:58
16:46 <SmokeMachine> m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {Proxy.new: FETCH => method () {$attr.get_value(self)}, STORE => method ($val) {$attr.set_value(self, $val)}})}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say 22:59
$a.b # why?
brokenchicken m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {Proxy.new: FETCH => method () {$attr.get_value(self)}, STORE => method ($val) {$attr.set_value(self, $val)}})}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b 23:01
m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {Proxy.new: FETCH => method () {$attr.get_value(self)}, STORE => method ($val) {$attr.set_value(self, $val)}})}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b
camelia: yo, robot!
camelia rakudo-moar 8f3476: OUTPUT«42␤MoarVM panic: Memory allocation failed; could not allocate 60320 bytes␤»
brokenchicken heh
duuno man 23:02
brokenchicken &
SmokeMachine m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42})}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why? 23:17
camelia rakudo-moar 8f3476: OUTPUT«42␤Cannot resolve caller b(A: ); none of these signatures match:␤ (Mu:U $: *%_)␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine Shouldn't the . on $.b create the method for the instance? 23:19
brokenchicken SmokeMachine: I think it does that only if there ain't any other methods 23:20
m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (::?CLASS:U:) {42})}; $attr.package.^add_multi_method("b", method (Mu:D:) is rw {$attr}) class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why? 23:21
camelia rakudo-moar 8f3476: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol ::?CLASS␤»
brokenchicken m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42})}; $attr.package.^add_multi_method("b", method (Mu:D:) is rw {$attr}) class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why?
camelia rakudo-moar 8f3476: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$attr' is not declared␤at <tmp>:1␤------> 3multi_method("b", method (Mu:D:) is rw {7⏏5$attr}) class A {has $.b is c}; say A.b;␤»
brokenchicken wat 23:22
m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {$attr});}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why?
camelia rakudo-moar 8f3476: OUTPUT«42␤Cannot modify an immutable Attribute␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken something like that, I dunno what to use instead of $attr up in there. In normal code you'd use $!b in there
brokenchicken m: multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {::($attr.name)});}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why? 23:23
camelia rakudo-moar 8f3476: OUTPUT«42␤No such symbol '$!b'␤ in method <anon> at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken ah right
m: use nqp; multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {nqp::getattr($attr.package, $attr.package, $attr.name)});}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why? 23:25
camelia rakudo-moar 8f3476: OUTPUT«42␤Cannot look up attributes in a A type object␤ in method <anon> at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: use nqp; multi trait_mod:<is>(Attribute $attr, :$c!) {$attr.package.^add_multi_method("b", method (Mu:U:) {42}); $attr.package.^add_multi_method("b", method (Mu:D:) is rw {nqp::getattr(self, self.WHAT, $attr.name)});}; class A {has $.b is c}; say A.b; my $a = A.new; $a.b = 1; say $a.b # why?
camelia rakudo-moar 8f3476: OUTPUT«42␤1␤»
brokenchicken huzzah?
SmokeMachine \o/ 23:26
brokenchicken: thanks!
But shouldn't be easier? 23:27