»ö« 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.
lookatme morning 00:48
Geth gtk-simple: 2543df7378 | (Zoffix Znet)++ (committed using GitHub Web editor) | Build.pm
Hide shell STDERR when attempting to powershell
00:56
gtk-simple: d0fed7cbeb | (Zoffix Znet)++ (committed using GitHub Web editor) | Build.pm
.uc the hashes we get from Windows command line utils
gtk-simple: b46c71ca41 | (Zoffix Znet)++ (committed using GitHub Web editor) | META6.json
Bump version
00:57
Geth gtk-simple: 901e1be5a1 | (Zoffix Znet)++ (committed using GitHub Web editor) | Build.pm
Add missing .lines call on sha fetcher
02:33
gtk-simple: 26d7f6607d | (Zoffix Znet)++ (committed using GitHub Web editor) | META6.json
Bump version
02:34
timotimo i see i did many more mistakes %) 05:47
zoffix++ # perserverance 05:48
perseverance* 05:49
timotimo and happy birthday, too, zoffix! \o/ 05:49
Geth doc: 8c0afe6833 | (JJ Merelo)++ | Makefile
Eliminates non-existing directory from exclusion

But this is mainly to close #1885 since the PR has been admitted.
06:13
timotimo modules.perl6.org/search/?q=+useragent - i wonder why this doesn't find anything, just because a space is in front? 07:19
moritz possibly 07:23
I have a patch locally that strips leading and trailing whitespace from q 07:26
just need to install 200 dependencies to check if it even compiles :-)
timotimo hah 07:27
Geth modules.perl6.org: 0531cb4f57 | (Moritz Lenz)++ | lib/ModulesPerl6/Controller/Root.pm
Search: strip leading and trailing whitespace from search term
07:28
timotimo heads off to the venue
moritz I checked that it compiles; haven't actually tested it :-)
AlexDaniel` squashable6: next 07:47
squashable6 AlexDaniel`, ⚠🍕 Next SQUASHathon in 2 days and ≈2 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
stmuk_ is Larry at the GPW? Renee's twitter seems to suggest it 10:01
lizmat Larry's standing on the front desk, about 15 cm high :-) 10:04
lizmat a bit like this (without the dome): xims.info/presentations/yapceu2009_...figure.jpg 10:05
stmuk_ ahhh :) 10:06
lizmat afaik, Larry is in Cracow (or on his way there) 10:07
stmuk_ more context from twitter at twitter.com/reneeb_perl 10:07
Guest8963 is it possible to do `for 0..10 -> $y {for 0..10 -> $x{ #`{do stuff} } }` but in one for loop like `for 0..10 -> $x, $y { #`{do stuff} }` ? 11:36
nesting loops is a common pattern
like junctions 11:38
geekosaur not like that, that syntax should grab pairs of numbers instead of single ones iirc. I don;t think there's a way to collapse multiple loops together currently 11:42
scovit m: for ^5_000 X, ^3 -> (int $i, int $j) { }; 11:43
camelia ( no output )
scovit but it is slower 11:45
it could be optimized to be faster! 11:46
titsuki_ bench: compare HEAD for ^1000 X ^1000 -> ($x,$y) { say $x, $y; } ||| for ^1000 -> $x { for ^1000 -> $y { say $x, $y } } 11:48
benchable6 titsuki_, starting to benchmark the 1 given commit
benchable6 titsuki_, gist.github.com/55f7baf2ec7ce1cb05...4c48f57368 11:48
titsuki_ bench: compare HEAD for ^1000 X ^1000 -> ($x,$y) { } ||| for ^1000 -> $x { for ^1000 -> $y { } } 11:51
benchable6 titsuki_, starting to benchmark the 1 given commit
titsuki_, ¦HEAD: «Benchmark: ␤«timed out after 10 seconds»»
titsuki_ hmm
bench: compare HEAD for ^100 X ^100 -> ($x,$y) { } ||| for ^100 -> $x { for ^100 -> $y { } } 11:52
benchable6 titsuki_, starting to benchmark the 1 given commit
titsuki_, gist.github.com/b9c9f31f76dcc93f9c...6753804d4f
titsuki_ "^100 X ^100" is surely slower 11:53
scovit cool bot 11:54
titsuki_ s: ^100 X ^100; 11:59
SourceBaby titsuki_, Ehhh... I'm too scared to run that code.
titsuki_ s: say ^3 X ^3;
SourceBaby titsuki_, Ehhh... I'm too scared to run that code.
titsuki_ s: &infix:<X>, \((1,2,3), (1,2,3)) 12:03
SourceBaby titsuki_, Sauce is at github.com/rakudo/rakudo/blob/5981....pm6#L1701
titsuki_ m: my \a = gather for ^3 -> $x { for ^3 -> $y { take ($x,$y) } }; my \it = a.iterator; until it =:= IterationEnd { it.pull-one.say; } 12:15
camelia (0 0)
Cannot invoke this object (REPR: Uninstantiable; Callable)
in block <unit> at <tmp> line 1

(0 1)
(0 2)
(1 0)
(1 1)
(1 2)
(2 0)
(2 1)
(2 2)
titsuki_ hmm I cannot figure out what's wrong with my code.. 12:20
bisectable: my \a = gather for ^3 -> $x { for ^3 -> $y { take ($x,$y) } }; my \it = a.iterator; until it =:= IterationEnd { it.pull-one.say; } 12:23
bisectable6 titsuki_, Bisecting by output (old=2015.12 new=74b7559) because on both starting points the exit code is 1
titsuki_, bisect log: gist.github.com/476fa9cb2886f0b038...8314b8e16f
titsuki_, (2016-05-12) github.com/rakudo/rakudo/commit/33...d4efe221de
titsuki_ m: my \a = gather for ^3 -> $x { for ^3 -> $y { take ($x,$y) } }; my $it = a.iterator; until (my \n := $it.pull-one) =:= IterationEnd { n.perl.say; } 12:26
camelia (0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
titsuki_ bench: compare HEAD for ^100 X ^100 -> ($x,$y) { } ||| for ^100 -> $x { for ^100 -> $y { } } ||| my \a = gather for ^100 -> $x { for ^100 -> $y { take ($x,$y) } }; my $it = a.iterator; until (my \n := $it.pull-one) =:= IterationEnd { } 12:28
benchable6 titsuki_, starting to benchmark the 1 given commit
benchable6 titsuki_, gist.github.com/e74345b3d61290a80a...213604c849 12:28
SmokeMachine m: [{:1a, :2b}].first( *.a >= 2 ) # is it expected? 13:35
camelia No such method 'a' for invocant of type 'Pair'
in block <unit> at <tmp> line 1
SmokeMachine m: [{:1a, :2b}].first( *.say ) # shouldn't be {:1a, :1b}? 13:36
camelia a => 1
SmokeMachine m: [{:1a, :2b}].first( { .say } )
camelia a => 1
SmokeMachine m: [{:1a, :2b}].grep( { .say } ) 13:40
camelia a => 1
b => 2
SmokeMachine 10:36 <SmokeMachine> m: [{:1a, :2b},].first( { .say } ) 13:41
m: [{:1a, :2b},].first( { .say } )
camelia {a => 1, b => 2}
SmokeMachine That’s it!
AlexDaniel titsuki_: fwiw that code never worked: gist.github.com/814d070cd3d45203df...958aebfb0f 15:43
timotimo AlexDaniel: that never changes it, it looks like? so it never actually reacts to IterationEnd? 15:50
mr_ron AlexDaniel - next squashathon is "testneeded" which describes many/most open roast issues. Wondering if you think the "testneeded" tag I added there yesterday makes sense.
AlexDaniel mr_ron: feel free to work on roast tickets, yes. squashable6 will track roast repo, so all changes there will be counted for the squashathon 15:52
mr_ron: in my opinion there are not many easy issues there
mr_ron: usually half-resolved rakudo tickets already come with short examples and right/wrong output, so it is fairly easy to write a test and close such issues 15:53
the stuff in github.com/perl6/roast/issues is more difficult, for me at least
but maybe there are some LHFs, feel free to mark them as such :)
timotimo closes laptop and goes away 15:54
mr_ron Thanks 15:58
benjikun timotimo: Are you still active? 17:34
Zoffix .ask pmurias what does `say 8.737675311215749e+198` print on the JS backend? I can't get MoarVM's nqp::div_In to avoid drift and I'm coming to the conclusion that current approach of converting to doubles first ain't gonna cut it and we need to divide using big decimals. That's how JVM does it and it gives right answers. 17:39
yoleaux Zoffix: I'll pass your message to pmurias.
timotimo greetings benjikun
benjikun Howdy 17:40
timotimo what can i do for you? 17:42
benjikun Nothing in particular, just wondering if you're still actively workin here 17:43
timotimo oh, yes i am :)
timotimo my laptop battery will only last about 30 more minutes :| 17:44
benjikun good to hear :)
What laptop is it?
timotimo t440s
benjikun I normally use cheap-ish thinkpads
ah
tony-o thinkpads are nice 17:45
timotimo they really are
i didn't get this one for cheap, though ;)
benjikun I'm fairly happy working with older thinkpads
the displays are a little dim, though
timotimo my next thinkpad might be an older thinkpad (so maybe one that's new this year ;) ) 17:45
but this one will get a proper repair soon i think 17:46
timotimo i broke both the ram slot and the touchpad 17:46
benjikun The T440s is fairly recent right?
timotimo and i think i want to replace one of the batteries
that's right
benjikun I've swapped thinkpad parts a ton 17:47
my laptops are frankenstein-tier
timotimo :)
Bowlslaw you know, if i were first learning to program, perl 6 would be horrible, but since i have decent experience, perl 6 seems quite cool
benjikun Bowlslaw: What makes you think it's bad for a first?
timotimo i think i got it around 2013.06 17:48
so it's really not old yet
i think it was the latest generation at that point 17:49
benjikun timotimo: Where'd you learn the low-level knowledge necessary to work on MoarVM?
Are there any good books you'd recommend for the virtual machine barebones buildup stuff? 17:50
timotimo actually C++ was somewhat early in my programming carreer 17:50
so i was capable enough at C to get started
i had my fingers in parrot for a little bit before moarvm arrived 17:51
benjikun I have a basic understanding of C/C++
is parrot still ongoing?
timotimo but most of it was asking the other moar devs
the last release was in 2016, i believe. we don't maintain rakudo-on-parrot any more
benjikun hm 17:52
Bowlslaw benjikun: Well, it's a very complicated language, the syntax is not intuitive, and tim toady
if I were first learning, I would probably be rather confused without strict guidance
timotimo the concept of "baby perl" exists 17:53
my food is here
benjikun Tim toady is a double-edged sword in my opinion
Bowlslaw it's true, but I do believe it makes things more difficult initially, but marvelous in the longer run
timotimo shutting down my laptop now o/ 17:54
Bowlslaw \o
benjikun timotimo: Enjoy your food friend o/
Bowlslaw \o/
benjikun What would you recommend a child to start with as a first programming language Bowlslaw?
I didn't really start with a specific language 17:55
I jumped languages in the beginning, probably more to my dedriment
benjikun *detriment 17:56
Bowlslaw benjikun: a child? 18:01
like a 10 year old?
benjikun Bowlslaw: Or anyone starting to program
Bowlslaw C XD
benjikun I suppose those recommendations would vary lmao
Bowlslaw it depends on their end goal IMO
benjikun Fair enough
Bowlslaw if they really want to learn about computers and programming, I say C 18:02
benjikun To be honest, I don't think it's a terrible idea for a newcomer to start with C
Bowlslaw I learned with K&R C and vim lol, it was sooo hard
benjikun Bowlslaw: I did the same 18:03
Bowlslaw but with C, what do you learn, in addition to basic programming concepts?
benjikun alongside a friend who knew it
Bowlslaw you learn how memory works
benjikun True, learning the fundamentals really impact your view on programming as a whole
I'd say in a good way 18:04
Bowlslaw on the other hand, if their end goal isn't to be as much of a computer scientist or dev, and more to use a programming language as a tool to complement your primary discipline, perhaps python would be better
it's simple, one way to do things
I personally dislike it for those very reasons, but for someone who isn't interested in the deeper aspects and just needs pure git-er-done'ness... 18:05
benjikun What's your GitHub?
Bowlslaw tiny learning curve
github.com/Bowlslaw
haha it's a mess right now
benjikun no worries 18:06
Bowlslaw i haven't added any of my real projects to it yet
benjikun It's the same way for me
A year or so ago, I decided to ditch github and deleted my account
and then I decided to come back lol
I hosted my own git server w/ a cgit web interface 18:07
Bowlslaw cool 18:10
mst gogs is interesting for self hosting 18:20
benjikun Never used it
I checked out Go early on and haven't checked in since
tony-o jnthn: orm stuff is starting to come together gist.github.com/tony-o/d63648c0271...5f2aa411f0
mst tony-o: note that I have always regretted having set_column and friends be public 18:24
tony-o what would you change about it?
or, what headaches has it caused?
mst mostly that accessors end up getting bypassed so, basically, somebody wraps an accessor (or converts it into a method because the column's been renamed or split or whatever) 18:25
and then people using set_column directly poke past that into the object internals and everything goes horribad 18:26
tony-o ah, hmm 18:27
i can see where that might turn into some kind of nightmare trying to determine if it's wrapped (how many times), overridden etc
El_Che mst: here is your chance for seconds-system done right! 18:28
mst personally I'm leaning more towards having a relational metaprogramming tool 18:33
and then bolting orthogonal persistence on top
moritz I must say that I quite enjoy working with sqlalchemy 18:34
the disadvantage is mainly that it's quite big, and has a huge API surface 18:35
tony-o mst: i saw a proposal/spec? that you wrote a while ago (3 or so years ago now?, possibly more) for making sql more object-y, trying to recall what it was called. more of that style? 18:36
mst tony-o: I think that might've been Data::Query but I wasn't entirely happy with that 18:38
tony-o the syntax or just the structure in general? 18:40
mspo goes to look up "orthogonal persistence" 18:42
mst mspo: I may have invented that phrase. I don't remember.
what I mean is "the object itself doesn't have to know it's database backed"
tony-o ah 18:43
mspo mst: google has a lot of results for it
even a wikipedia
mst oh good
mspo "Persistence is said to be "orthogonal" or "transparent" when it is implemented as an intrinsic property of the execution environment of a program. An orthogonal persistence environment does not require any specific actions by programs running in it to retrieve or save their state."
seem more like AUTOCOMMIT=1 :) 18:44
Bowlslaw OOOO you're making an ORM for perl 6?
mst mspo: no.
mspo "Orthogonality is a system design property which guarantees that modifying the technical effect produced by a component of a system neither creates nor propagates side effects to other components of the system." 18:45
mst the important part is "only code that wants to care about the fact this is database backed should need to care"
(which is another reason e.g. set_column was a stupid idea on my part, you end up with DBIC-specific code where there's no good reason) 18:46
mspo oic
tony-o does set_column do an auto update of the fields? 18:47
in the db, i mean
mst no
mspo just normalizing prepared statement placeholders is a real chore :) 18:48
tony-o it is rather messy 18:49
mspo sqlite supports a bunch
benjikun Would it be stupid to write a forum with Bailador? 18:52
tony-o cro 18:53
benjikun tony-o: Is that directed at me? 18:58
Cro looks cool 18:59
tony-o sorry, yes benjikun. if i were going to write a site with perl6 today i'd use cro 19:05
benjikun tony-o: Alrighty, thanks. I'm checkin it out now 19:06
tony-o mst: i'd be interested to see anything you have for what you have in mind 19:18
Bowlslaw can you guys recommend the current best CSV module? 20:18
Text::CSV ? 20:19
modules.perl6.org/search/?q=CSV that says it's failing, though
tony-o Tux is the csv expert 20:20
El_Che Bowlslaw: tux's module is pretty much the canary in speed enhancements in rakudo. 20:21
tony-o honestly a bit surprised CSV::Parser still passes
Text::CSV is likely what you waht Bowlslaw 20:23
Bowlslaw alrighty, thankee
titsuki_ .tell AlexDaniel thanks, It seems that this pull-one example should be more practical one (e.g., use until syntax and check if..pull-one hits IterationEnd or not): docs.perl6.org/routine/pull-one 22:16
yoleaux titsuki_: I'll pass your message to AlexDaniel.
timotimo holy wow. i was super annoyed by ctrlp being slow, but i chalked it up to something in the display parts being slow, because even when the list was narrowed down to just one entry it'd still take almost a second for each letter to be accepted 22:42
turns out it's not narrowing down at all. just re-running the filter on the whole dataset every time you enter a new letter
ctrlp-py-matcher is drastically slower and now ctrlp is pleasant to use
japhb timotimo: ctrlp? 22:43
timotimo a buffer switcher and file opener with fuzzy matching
um, why did i write "drastically slower" when i meant "drastically faster" 22:44
i adore IDEA's press-shift-twice for universal finding, that's a keyboard shortcut i'd like to have in other places, too 22:46
El_Che stmuk: how was the utf8 talk? 23:03
El_Che any updates on github's perl6 recognision? This perl5 repo is wrongly marked as perl6: github.com/ology/Music-ScaleNote 23:15
MasterDuke when i was writing a bunch of racket and clojure, i had tap left shift be '(' and tap right shift be ')' 23:17
timotimo :D 23:20
Zoffix El_Che: the update is that issue has been resolved ages ago... 23:22
El_Che: I mean, the GitHub Issue. 23:23
Zoffix Prolly should add `use strictures` to this list: github.com/github/linguist/pull/38...4faa007R85 23:25
Zoffix opens a new Issue 23:27
AlexDaniel El_Che: well I guess if the file used .pm6 extension there wouldn't be this issue 23:30
yoleaux 22:16Z <titsuki_> AlexDaniel: thanks, It seems that this pull-one example should be more practical one (e.g., use until syntax and check if..pull-one hits IterationEnd or not): docs.perl6.org/routine/pull-one
AlexDaniel not that it shouldn't be fixed
Zoffix AlexDaniel: the issue is the inverse. The code is Perl 5, was detected as Perl 6, before .gitattributes was added 23:31
AlexDaniel ah oops
Herby_ o/ 23:36
Zoffix El_Che: github.com/github/linguist/issues/4090 23:44