»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
irced m: my $seq := gather for -* .. * { if 0 == 0 { take $_; } } } 00:01
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/6ivpDLrYJQ
Unexpected closing bracket
at /tmp/6ivpDLrYJQ:1
------> 03 for -* .. * { if 0 == 0 { take $_; } } 08⏏04}
irced m: my $seq := gather for -* .. * { if 0 == 0 { take $_; } }
evalable6
irced m: my $seq := gather for -* .. * { if 0 == 0 { take $_; } }; say $seq;
evalable6 ({ ... })
timotimo lol, no. you can't start at negative infinity
irced one infinite range down
oh
crap
timotimo you start at 0 00:02
irced k
timotimo and then go like +1, -1, +2, -2, +3, -3
that way you reach infinity and pass all numbers on the way
irced a current sears a filament of his brain. 00:03
i follow you, lessee
irced has combinatorially determined there are 4 cases to test 00:11
irced ponders nested gathers. 00:12
SmokeMachine m: .say for 0, 1, 2, { (1 - 3511 * $_) / 65537 } ... * 00:15
evalable6 (signal SIGHUP) 0
1
2
-0.10713
0.00575452897
-0.0002930276213293
3.095686373326651e-05
1.3…
00:17
irced gets the fire extinguisher.
m: my $seq := gather for 0 .. * -> $x { gather for 0 .. * -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0]; 00:21
evalable6 (signal SIGHUP) «timed out after 10 seconds»
irced nested gather maybe is not the way to go 00:22
maybe just one gather..
or just move the gather assignment in 00:23
nermost
squashable6 🍕 FCO++ edited wiki page “How to”: github.com/FCO/Red/wiki/How-to 00:24
irced x and y can be integers only, maybe real numbers just don't compute here 00:28
evalable6 SmokeMachine, Full output: gist.github.com/fc42e9475c95c9319f...edab2eb6ef 00:31
irced m: my $seq; my $seq-outer := gather for 0 .. * -> $x { $seq := gather for 0 .. * -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0]; 00:35
evalable6 (Any)
squashable6 🍕 FCO++ created wiki page “How to relationship”: github.com/FCO/Red/wiki/How-to-relationship 00:40
irced i can get a solution when I don't use the infinite for 00:41
but even if I provide values close to the solution it loops forever with infinite * 00:42
m: my $seq := gather for 26000 .. 27000 -> $x { gather for 1000 .. 2000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0]; 00:43
evalable6 Nil
irced m: my $seq := gather for 26000 .. 27000 -> $x { for 1000 .. 2000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0];
evalable6 Nil
irced m: my $seq := gather for 1000 .. 2000 -> $x { for 26000 .. 27000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0];
evalable6 (1405 26226)
irced m: my $seq := gather for 1000 .. 2000 -> $x { gather 26000 .. 27000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0]; 00:44
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/6Nv5ry2CQH
Confuse…
irced, Full output: gist.github.com/a86dc0443d0084e7a8...be620bf4f4
irced m: my $seq := gather for 1000 .. 2000 -> $x { gather for 26000 .. 27000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0];
evalable6 Nil
irced ahh but nested gathers don't work
m: my $seq := gather for 1000 .. 2000 -> $x { for 26000 .. 27000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0];
evalable6 (1405 26226) 00:45
irced m: my $seq := gather for 1000 .. 2000 -> $x { for 26000 .. * -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0];
evalable6 (signal SIGHUP) «timed out after 10 seconds»
irced but infinity on the gather works fine
m: my $seq := gather for 1000 .. * -> $x { for 26000 .. 27000 -> $y { if 65537*$x + 3511*$y == 1 || 65537*$x + -3511*$y == 1 || -65537*$x + 3511*$y == 1 || -65537*$x+-3511*$y==1 { take ($x, $y); } } }; say $seq[0]; 00:46
evalable6 (1405 26226)
irced so the question is, how do i get a nested gather to take so to speak
SmokeMachine m: .say for gather for ^Inf { my $a = (1 - 3511 * ($_ * 2)) / 65537; take ($_, $a) if $a.Int == $a; my $b = (1 - 3511 * ($_ * 2 + 1)) / 65537; take ($_, $b) if $b.Int == $b } 00:47
evalable6 (signal SIGHUP) (13113 -1405)
«timed out after 10 seconds»
irced considers a double take 00:49
SmokeMachine m: .say for (gather for ^Inf { my $a = (1 - 3511 * ($_ * 2)) / 65537; take ($_, $a) if $a.Int == $a; my $b = (1 - 3511 * ($_ * 2 + 1)) / 65537; take ($_, $b) if $b.Int == $b }).head: 20 00:51
irced any way i slice it nested gathers run forever 00:52
evalable6 (13113 -1405)
(45881 -4916)
(78650 -8427)
(111418 -11938)
(144187 -15449)
(176955 -18960)
SmokeMachine, Full output: gist.github.com/5b5f96f8c555163f1c...5a1b744991
SmokeMachine irced: then I asked just 20... it stopped on 20... ^^ 00:53
irced i just realized i was not accounting for the negative value on y, thanks for that
looking at your code too
SmokeMachine I'm going to sleep... tomorrow I'll continue playing on the Red squashathon... 00:55
irced: would you like to play?
irced SmokeMachine: I can make a little time for it 😃
SmokeMachine irced: :) 00:56
irced: github.com/FCO/Red/issues?q=is%3Ai...umentation
irced SmokeMachine: the project itself is not one with which I am readily familiar. I'll see what I can do. 00:57
SmokeMachine irced: it's a very good chance to make it become familiar! :) 00:58
irced 😃
that is, ORM is a vague tho not entirely vague concept to me atm. looking at the wiki now, 01:00
SmokeMachine :)
irced oh good a synopsis i'll start with that then. i know a little mysql too. 01:01
SmokeMachine irced: how is it going so far? 01:04
irced zef'ing it, gotta get a handle on red before i can look at the issues
SmokeMachine irced: could you, please, let me know if something goes wrong? 01:12
irced SmokeMachine: yeah sure i'm really green in the area of open source collaboration tho, as in, i've never really done anything with like git except for my own local projects for versioning control 01:13
SmokeMachine: so i'll look at what's there and let you know if i see anything off (and look at the issues) 01:14
irced is currently typing/combing the synopsis. 01:15
SmokeMachine: or your specifically referring to the synopsis ? 01:16
SmokeMachine irced: anything! :) 01:21
irced got it sure thing 01:22
SmokeMachine 01:41
Could not find Red::Driver::SQLITE at line 0 in: 01:42
rakudo/share/perl6/site/sources/4E5F23AE863CF34767643CDA7F4D52D2EE2BAF71 (Red::Database) line 7
when my $*RED-DB = database "SQLITE"; 01:45
trying zef install DB::SQLite 01:46
no change 01:47
oh a typo SQLite
Cannot locate native library 'libpq.so': libpq.so: cannot open shared object file: No such file or directory 01:48
irced installing pqxx 01:49
irced err installing postregresql 01:50
postgreSQL
irced installing 02:03
AlexDaniel heh, wikipedia is down 02:10
AlexDaniel OK back up again :D 02:10
irced hmm, seems red requires postgresql, this is a barrier to me because setup is not trivial on my system. 02:11
vrurg irced: you could use SQLite too if your task is ok with it. 02:12
irced hmm, i was just trying the synopsis, maybe i missed the part about postgresql because the database selected in it is SQLite
vrurg irced: Sorry, I don't understand you. Red supports both SQLite and Pg. It doesn't require either, just choose what's best for you. 02:14
irced oh, i see now
thanks
vrurg my pleasure! :)
vrurg is seriously considering writing a book on "How To Kill 8-core CPU" 02:17
irced how about how to Kill With an 8-Core CPU ?
vrurg No problem as long as it's enclosed in alluminum case with batteries... 02:18
irced that is a novel way to use a cpu!
vrurg It's better avoid dropping a new macbook pro on one's foot... 02:19
"What's that sound?" – "It's my jacket fell down..." – "Why so loud?" – "I forgot to jump out of it..." 02:20
irced hmm, maybe get a case next time?
unless your in some country where tech is contraband 02:21
or some time anyway
AlexDaniel` oh, wikipedia is actually being DDoS-ed 02:51
hythm \o What is there a significant difference between `map` and `for`? I have `@repo` of `Installation` repos and when I `@repo.map( *.uninstall: $dist)`, that doesn't work, however `.uninstall: $dist for @repo` works fine 03:46
s/What//
ah, adding `eager` before `@repo.map( *.uninstall: $dist )` worked as expected 03:49
Elronnd o/ 03:50
Voldenet hythm: using map makes sense only if you're going to collect results later, and collecting them will apply given function - if you're not collecting results, for might be more readable choice 04:21
hythm noted. thanks Voldenet. 04:22
Voldenet it's only my opinion though
irced eyes the scythe above Voldenet's head. 04:23
Voldenet …mercy? 04:26
irced i just like being the comic relief
Voldenet in fact, I try to only use pure functions in .map, because some languages (not perl6) re-evaluate lazy sequences 04:31
irced studies SmokeMachine's math and realizes my math education is behind about 2000 years. 04:55
squashable6 🍕 Altai-man++ wrote a comment on “Document `$*RED-COMMENT-SQL`”: github.com/FCO/Red/issues/343#issu...-529073303 05:00
🍕🍕🍕 First contribution by Altai-man++! ♥
🍕 Altai-man++ wrote a comment on “Document `$*RED-DEBUG-AST`”: github.com/FCO/Red/issues/342#issu...-529073335 05:01
🍕 Altai-man++ wrote a comment on “Document `$*RED-DEBUG`”: github.com/FCO/Red/issues/341#issu...-529073389
Elronnd Voldenet: hmm, that's a matter of opinion. Personally I find map much more readable 05:02
squashable6 🍕 JJ++ wrote a comment on “Find a better way to document it”: github.com/FCO/Red/issues/325#issu...-529079864 06:46
🍕🍕🍕 First contribution by JJ++! ♥
🍕 JJ++ wrote a comment on “Document how && and || work on `map` and `grep`”: github.com/FCO/Red/issues/323#issu...-529079903
squashable6 🍕 JJ++ edited wiki page “Home”: github.com/FCO/Red/wiki/Home 06:48
🍕 JJ++ edited wiki page “Dynamic Variables”: github.com/FCO/Red/wiki/Dynamic-Variables 06:52
🍕 JJ++ opened issue “Somme comments on Dynamic variables”: github.com/FCO/Red/issues/350
🍕 JJ++ edited wiki page “Home”: github.com/FCO/Red/wiki/Home 06:54
🍕 JJ++ created wiki page “API Deprecation”: github.com/FCO/Red/wiki/API-Deprecation 06:58
🍕 JJ++ edited wiki page “API Deprecation”: github.com/FCO/Red/wiki/API-Deprecation
🍕 JJ++ wrote a comment on “Document the depreciation will occur on :api<2>”: github.com/FCO/Red/issues/340#issu...-529080638 07:00
🍕 JJ++ opened issue “Generate HTML from Pod”: github.com/FCO/Red/issues/351 07:04
🍕 JJ++ opened issue “.idea/workspace.xml shou…”: github.com/FCO/Red/issues/352 07:11
Xliff m: say Q ('") 09:09
evalable6 '"
squashable6 🍕 FCO++ wrote a comment on “Document how && and || work on `map` and `grep`”: github.com/FCO/Red/issues/323#issu...-529094524 10:22
SmokeMachine irced: what do you mean with my math??? 10:23
tellable6 SmokeMachine, I'll pass your message to irced
squashable6 🍕 FCO++ edited wiki page “Ecosystem”: github.com/FCO/Red/wiki/Ecosystem 11:05
SmokeMachine irced: it’s Red::Driver::SQLite... not SQLITE. 11:08
tellable6 SmokeMachine, I'll pass your message to irced
SmokeMachine irced: in the synopsis, it uses Postgres just for 1 block 11:09
tellable6 SmokeMachine, I'll pass your message to irced
squashable6 🍕 FCO++ wrote a comment on “Document `$*RED-COMMENT-SQL`”: github.com/FCO/Red/issues/343#issu...-529098647 11:13
🍕 FCO++ wrote a comment on “Document `$*RED-DEBUG-AST`”: github.com/FCO/Red/issues/342#issu...-529098696
🍕 FCO++ wrote a comment on “Document `$*RED-DEBUG`”: github.com/FCO/Red/issues/341#issu...-529098721 11:14
🍕 FCO++ closed issue “Document `$*RED-DEBUG`”: github.com/FCO/Red/issues/341
🍕 FCO++ closed issue “Document `$*RED-COMMENT-SQL`”: github.com/FCO/Red/issues/343
🍕 FCO++ closed issue “Document `$*RED-DB`”: github.com/FCO/Red/issues/348 11:15
🍕 FCO++ labeled issue “Generate HTML from Pod” (Documentation): github.com/FCO/Red/issues/351 11:16
squashable6 🍕 FCO++ wrote a comment on “Somme comments on Dynamic variables”: github.com/FCO/Red/issues/350#issu...-529099300 11:22
🍕 FCO++ opened issue “Any other module to add on Ecosystem?”: github.com/FCO/Red/issues/353 11:23
🍕 FCO++ labeled issue “Any other module to add on Ecosystem?” (Documentation): github.com/FCO/Red/issues/353
Xliff m: my %a = ( a => 1, b => 2); my %b = ( c => 3, d => 4); %a.append(%b); %a.gist.say 11:59
evalable6 {a => 1, b => 2, c => 3, d => 4}
pmurias . 12:53
squashable6 🍕 FCO++ wrote a comment on “.idea/workspace.xml shou…”: github.com/FCO/Red/issues/352#issu...-529106114 12:59
🍕 FCO++ closed issue “.idea/workspace.xml shou…”: github.com/FCO/Red/issues/352
squashable6 🍕 Xliff++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529106639 13:05
🍕🍕🍕 First contribution by Xliff++! ♥
SmokeMachine Xliff: thanks! what do you think of a travis task for that? 13:09
Xliff Hmm... again... where would the output go? 13:11
You'd have to answer that before dealing with Travis. 13:12
SmokeMachine Xliff: maybe to a gh-pages branch?
Xliff Why a branch?
SmokeMachine Xliff: help.github.com/en/articles/config...thub-pages
Xliff If I were to make this out of whole cloth, the converted pod output would go into a doc/ dir. You don't have one on git, so that's available. 13:13
Xliff OK, so a docs/ dir 13:13
SmokeMachine Xliff: GitHub auto-hosts (as an http server) everything in gh-pages branch.. 13:14
Xliff It also says it will work from master in a docs/ dir
SmokeMachine Xliff: I didn't know that... 13:14
Xliff: that would be even better... 13:15
Xliff The problem with a branch: HOW would that work? End users don't want to deal with that stuff.
OK
So I can create a script and a Makefile that will call that script to make the docs, and save the output to a docs/ dir.
Xliff Now the issue is this... a pre-commit hook should be made somewhere to create docs/ and commit it. 13:16
SmokeMachine Xliff: maybe not a Makefile, but travis calling the script... 13:17
Xliff .tell jmerelo Suggestion: Consider total of (number of lines added - number of lines removed) for each PR in your consideration of contributions for the squashie. 13:18
tellable6 Xliff, I'll pass your message to jmerelo
Xliff SmokeMachine: The makefile is there to make things easier for everyone.
SmokeMachine Xliff: I thing that makes sense (your suggestion to jjmerelo...)
Xliff I'd rather Travis call "make doc" than have to invoke it with a script where the arguments may change. 13:18
Yes. That way someone can work on one LARGE commit and not be penalized for it. 13:19
SmokeMachine Xliff: that's ok to me
SmokeMachine Xliff: ^this time for the Makefile 13:19
squashable6 🍕 Xliff++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529108401 13:29
Xliff Looks like the only file with POD is Red.pm 13:34
I assume it is NOT a safe assumtion to assume this will always be the case?>
^^ SmokeMachine 13:35
squashable6 🍕 Xliff++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529108975 13:37
SmokeMachine Xliff: yes, I think it’s not...
Xliff OK. Then in that case, how should the docs tree look? Do you want files to appear as they are in lib? If so, then we need to create an Index page that appears in the root. 13:39
That... might be the best way to proceed.
We'd also need a method of noting the main class... that could be a command line arg.
Xliff m: my @a = <a b c d e f>; my @r; for @a { NEXT { @r.push: $_ }; LAST { @r.push: "{$_}.last" }; }; @r.gist.say 13:43
evalable6 [a b c d e f f.last]
SmokeMachine Xliff: about the .join... I like the idea that ResultSeq is just a Seq...
Xliff Is there a way to bypass NEXT if LAST?!
m: my @a = <a b c d e f>; my @r; for @a { NEXT { @r.push: $_ }; LAST { @r.pop; @r.push: "{$_}.last" }; }; @r.gist.say 13:44
evalable6 [a b c d e f.last]
Xliff m: my @a = <a b c d e f>; my @r; for @a { @r.push: $_; LAST { @r.pop; @r.push: "{$_}.last" }; }; @r.gist.say 13:45
evalable6 [a b c d e f.last]
Xliff m: say $++ for ^3; say $++ for ^3; 13:48
evalable6 0
1
2
0
1
2
Xliff Is #? documented anywhere? 13:51
SmokeMachine Xliff: #? 13:52
Xliff github.com/rakudo/rakudo/blob/mast...e.pm6#L113 13:54
tobs Xliff: I think it does not exist in Perl 6. It's only supported by a build tool in rakudo github.com/rakudo/rakudo/blob/mast...at.nqp#L29 14:08
Xliff tobs: Ahh... thanks. That could still be useful for code that needs conditionals outside of the language.
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say; 14:13
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say;
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say;
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say;
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say;
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say;
evalable6 3.14159
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say; $a.say; 14:14
evalable6 3.14159
0
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say; $a.say;
evalable6 3.14159
1
Xliff m: my $a = 2.rand.Int; constant a = 3.14159 if $a; a.say; $a.say;
evalable6 3.14159
1
Xliff :P
squashable6 🍕 FCO++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529111999 14:15
Xliff m: my $a = 2.rand.Int; constant a = $a ?? 3.14159 !! 0; a.say; $a.say;
evalable6 0
1
Xliff m: my $a = 2.rand.Int; constant a = $a ?? 3.14159 !! 0; a.say; $a.say;
evalable6 0
0
Xliff m: my $a = 2.rand.Int; constant a = $a ?? 3.14159 !! 0; a.say; $a.say;
evalable6 0
0
Xliff m: my $a = 2.rand.Int; constant a = $a ?? 3.14159 !! 0; a.say; $a.say;
evalable6 0
1
Xliff m: my $a = 2.rand.Int; constant a = $a ?? 3.14159 !! 0; a.say; $a.say;
evalable6 0
1
Xliff OK... wow! 14:16
m: my $a = 2.rand.Int; constant a = ($a ?? 3.14159 !! 0); a.say; $a.say;
evalable6 0
1
Xliff m: my $a = 2.rand.Int; constant a = ($a ?? 3.14159 !! 0); a.say; $a.say;
evalable6 0
1
Xliff m: my $a = 2.rand.Int; constant a = ($a ?? 3.14159 !! 0); a.say; $a.say;
evalable6 0
1
Xliff So there seems to be no mechanism that will allow me to set a constant if...say... I need that constant to vary depending on OS. 14:16
tobs m: BEGIN my $a = 2.rand.Int; constant a = ($a ?? 3.14159 !! 0); a.say; $a.say; 14:19
evalable6 3.14159
1
tobs Xliff: a constant is initialized at BEGIN time
whereas your $a did not have a value until runtime earlier
Xliff tobs++ 14:25
squashable6 🍕 Xliff++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529113045 14:29
Xliff m: :{ Red::AST => prepare-response $ret }.^name.say 14:33
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/ViOgI6I1EJ
Precedi…
Xliff, Full output: gist.github.com/bd4491152109ebce8a...2523180cda
squashable6 🍕 FCO++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529113417
Xliff m: my $a := :{ Red::AST => prepare-response $ret }; $a.^name.say 14:34
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/3Jh6uYcJvI
Precedi…
Xliff, Full output: gist.github.com/9552c326d227b2fc56...9ea749af5f
Xliff m: my $a := :{ Red::AST => 1 }; $a.^name.say
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/uQAk5ZSgiw
Precedi…
Xliff, Full output: gist.github.com/910da42c4457728186...163228804c
Xliff m: my $a := :{ Int => 1 }; $a.^name.say
evalable6 Hash[Mu,Any]
Xliff m: my $a := :{ Str => 1 }; $a.^name.say
evalable6 Hash[Mu,Any]
Xliff m: my $a := :{ Str => 1 }; $a.gist.say 14:35
evalable6 {Str => 1}
Xliff m: my $a := :{ Str => 1 }; $a.gist.say; $a<Str>.say
evalable6 {Str => 1}
1
squashable6 🍕 Xliff++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529113808 14:38
SmokeMachine m: my &filter = { 42 }; sub a(&f where *.WHAT ~~ Int) {}; a &filter 14:41
evalable6 (exit code 1) Constraint type check failed in binding to parameter '&f'; expected anonymou…
SmokeMachine, Full output: gist.github.com/0a4caaec9f72e2503f...3bfdd95aad
SmokeMachine m: my &filter = { 42 }; sub a(&f where .() ~~ Int) {}; a &filter
evalable6
SmokeMachine m: my &filter = { 42 }; sub a(&f where .() ~~ Int) { say f }; a &filter
evalable6 42
SmokeMachine Xliff: ^^
Xliff m: my &filter = { 'Str' }; sub a(&f where .() ~~ Int) { say f }; a &filter 14:42
evalable6 (exit code 1) Constraint type check failed in binding to parameter '&f'; expected anonymou…
Xliff, Full output: gist.github.com/90ebd93a7571aad7cc...0e437d5935
Xliff SmokeMachine: Oooo.... /o\ 14:43
squashable6 🍕 FCO++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529114288
🍕 Xliff++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529114352 14:44
🍕 FCO++ wrote a comment on “Custom joins”: github.com/FCO/Red/issues/345#issu...-529114612 14:46
SmokeMachine Xliff: make sense? 14:47
Xliff: this Routine should not have side effects... so... that's not a big problem... 14:48
Xliff: You'll need to run github.com/FCO/Red/blob/master/lib...q.pm6#L173 on it to "extract" the "real filter" from it... 14:50
Xliff: for example: github.com/FCO/Red/blob/master/lib...q.pm6#L100 14:52
squashable6 🍕 FCO++ edited wiki page “How does it work”: github.com/FCO/Red/wiki/How-does-it-work 15:06
SmokeMachine Could some one take a look at it (github.com/FCO/Red/wiki/How-does-it-work) please? My english isn't good enough for that... :)
AlexDaniel: I didn't get the `Atom` on the wiki... what should be that? 15:08
squashable6 🍕 FCO++ created wiki page “ResultSeq”: github.com/FCO/Red/wiki/ResultSeq 15:17
🍕 FCO++ edited wiki page “Home”: github.com/FCO/Red/wiki/Home 15:18
🍕 FCO++ edited wiki page “Home”: github.com/FCO/Red/wiki/Home 15:19
🍕 FCO++ created wiki page “Classes”: github.com/FCO/Red/wiki/Classes
🍕 FCO++ edited wiki page “Classes”: github.com/FCO/Red/wiki/Classes 15:20
AlexDaniel SmokeMachine: it's for those who use RSS/Atom 15:22
SmokeMachine: like you can configure your rss reader to be notified when somebody updates the wiki 15:23
SmokeMachine AlexDaniel: interesting! thanks!
squashable6 🍕 FCO++ created wiki page “ResultSeqSeq”: github.com/FCO/Red/wiki/ResultSeqSeq 15:29
🍕 FCO++ edited wiki page “Classes”: github.com/FCO/Red/wiki/Classes 15:37
sena_kun m: sub a(:@foo) { say @foo }; a(foo => [1, 2]); a(foo => 5); 16:07
evalable6 (exit code 1) [1 2]
Type check failed in binding to parameter '@foo'; expected Positional but got Int (5)
in sub a at /tmp/mtUubfdBTu line 1
in block <unit> at /tmp/mtUubfdBTu line 1
sena_kun is there anything to make :@foo accept a single value as well without introducing another candidate? 16:08
MasterDuke sena_kun: docs.perl6.org/type/Signature#Sing...ule_slurpy i think 16:09
timotimo slurpies don't work with named arguments tho
sena_kun they don't seem to. :[ 16:10
MasterDuke huh, the docs show a *% one 16:11
timotimo that's not the same thing
sena_kun *% is named slurpy
timotimo sena_kun: you'll want to take a :$foo and do your own logic with that i'm afraid, or have $foo(+@foos) or something
er, a space in there
m: sub a(:$foo (+@foos)) { say @foos.perl }; a(foo => [1, 2]); a(foo => 3) 16:12
evalable6 (exit code 1) [1, 2]
Cannot unpack or Capture `3`.
To create a Capture, add parentheses: \…
timotimo, Full output: gist.github.com/19572961e8d2533edf...8c2362e0fb
timotimo m: sub a(:$foo [+@foos]) { say @foos.perl }; a(foo => [1, 2]); a(foo => 3)
evalable6 (exit code 1) [1, 2]
Cannot unpack or Capture `3`.
To create a Capture, add parentheses: \…
timotimo, Full output: gist.github.com/5d86bbfd75983b4025...d5ea88505b
timotimo hmm
sena_kun timotimo, hmm, maybe I need to re-imagine it altogether...
timotimo m: sub a(:$foo [*@foos]) { say @foos.perl }; a(foo => [1, 2]); a(foo => 3)
evalable6 (exit code 1) [1, 2]
Cannot unpack or Capture `3`.
To create a Capture, add parentheses: \…
timotimo, Full output: gist.github.com/9d8e601e59d0bcf04f...92f2aec0ad
timotimo maybe
sena_kun thanks for replies
squashable6 🍕 JJ++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529123062 16:24
sena_kun re: squashathon: is there a way to work on github wiki pages using the repo or something? using online editor sounds pretty inefficient 16:36
sena_kun >But... the Github wiki of a GitHub repo is a git repo in itself (introduced in August 2010). 16:42
oh, nice
SmokeMachine sena_kun: github.com/FCO/Red.wiki.git 16:43
sena_kun fatal: unable to access 'github.com/FCO/Red.wiki.git/': The requested URL returned error: 403 16:45
any ideas how can I push without/with rights? 16:46
SmokeMachine sena_kun: really? I've just cloned it...
sena_kun SmokeMachine, you're the owner of the repo and I'm not, I suspect.
SmokeMachine, ah, sorry! I was able to clone it, but I can't push my commits. 16:47
SmokeMachine sena_kun: shouldn't this make it work? usercontent.irccloud-cdn.com/file/.../image.png 16:51
SmokeMachine sena_kun: but if you want to send me patches... that's ok... 16:52
sena_kun SmokeMachine, well, I am looking at all this right now. My first though is that it'd be very nice to have documentation to be inlined into sources so that tools like Comma could use it. My second though is that there are not a big amount of pages to create, looking at tickets I'd categorize them into something like: tutorials, operations (insert, delete etc), relationships, AST, traits, phasers, operators, classes. 16:57
SmokeMachine sena_kun: that makes sense 16:58
sena_kun SmokeMachine, do you have preferences against documenting things as inline pod?
I am kind of tempted to just jump in and start organizing things, but don't want to be a person who ruins the fun for everyone else working on it 16:59
SmokeMachine, I think I'll start with a fork and then, hopefully, present something... 17:00
SmokeMachine sena_kun: I don’t think I have any preference on that... 17:02
squashable6 🍕 Altai-man++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529127232 17:15
sena_kun squashable6, status 17:16
squashable6 sena_kun, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈18 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
sena_kun, Log and stats: gist.github.com/8c5cebbc2e0f34ab55...976d6a4cbe
squashable6 🍕 Altai-man++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529127463 17:18
sena_kun any approvals/disapprovals along with comments are very welcome on ^ 17:20
squashable6 🍕 Xliff++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529127626 17:21
Xliff sena_kun: Are you working on the docs script?
squashable6 🍕 Xliff++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529127824 17:22
sena_kun Xliff, I am currently writing up an introduction for all this scheme of things, but writing a script is on my roadmap, I guess.
sena_kun what databases does Red support? sqlite, pg, mysql(mariadb) is the main one? because I see tickets for pg and sqlite 17:24
Xliff sena_kun: OK. Well, I was planning on doing that once I have enough information for an informal spec. 17:25
If you don't mind me stealing that from your roadmap, I can. 17:26
sena_kun Xliff, I have some chunks of code for recursively iterating over symbols in a package, can clean it up a bit and pass it to you to eventually polish it into something that works with WHY, that'd be very helpful 17:27
Xliff sena_kun: OK. That could work. Would those be emitted to another file? If so, how will the script know the output filename? 17:28
sena_kun Xliff, it'd be categorized with predefined filenames, so they are not an issue. e.g. all collected operators' docs are concatenated into something that looks like a very basic markdown and then is flushed into e.g. `operators.md` 17:29
Xliff, what I am worried about much more is what to do with e.g. phasers
do you even create your own phasers!? that's a bit insane even for me. :) 17:30
number6` hello everyone. what is the right way to read from a file one line at a time instead of getting the whole file? also can anyone recommend a good beginner's resource besides perl6intro.com? thank you!
Xliff number6`: my $fh = "/path/to/file".open; die "Can't open file!" unless $fh; for $fh.lines { ... }; $fh.close 17:31
sena_kun `for '50GB-file.txt'.IO.lines -> ...` <- reads a file line by line lazily
SmokeMachine sena_kun: currently there are only drivers for SQLite and Postgres
Xliff ^^ This too
sena_kun SmokeMachine, noted
Xliff number6`: Actually, it's "my $fh = "/path/to/file".IO.open; die "Can't open file!" unless $fh; for $fh.lines { ... }; $fh.close;
SmokeMachine sena_kun: what’s the problem with phasers? I didn’t get it... 17:32
sena_kun SmokeMachine, there is no problem, I was just surprised that you can create your own phasers. 17:33
Xliff Really? WHERE?
number6` sena_kun: Xliff: thanks! 17:34
sena_kun Xliff, hmm? Where what? Custom phasers? Apparently, Red uses them, so looking at the sources can help. :)
Xliff Yeah. Am doing. 17:35
SmokeMachine sena_kun: they are phaser-like... but are only methods with special traits...
SmokeMachine sena_kun: github.com/FCO/Red#phasers 17:36
sena_kun m: #|'( cool ) sub a {}; 17:49
evalable6
sena_kun m: #|'( cool ) sub a {}; say &a.WHY;
evalable6
sena_kun hmm, ok, forget it
timotimo that's the wrong quote
m: #|`( cool ) sub a {}; say &a.WHY; 17:50
evalable6
timotimo hm.
Xliff I don't think that works in single line format.
sena_kun well, it works when used in a file with just #|, so I don't care for one-liners
timotimo m: #=`( cool ) sub a {}; say &a.WHY;
evalable6
sena_kun yeah
Xliff You'd need an NL
timotimo i thought there's something that does it with parenthesis
m: #`|( cool ) sub a {}; say &a.WHY;
evalable6
timotimo m: #`( cool ) sub a {}; say &a.WHY;
evalable6 No documentation available for type 'Sub'.
Perhaps it can be found at docs.perl6.org/type/Sub
»
timotimo mhm
oh, this should probably realize that .WHY is being called on a defined sub 17:51
rather than the type itself
anyway, gtg
Xliff m: #`|( cool )` sub a {}; &a.WHY.say
evalable6
Xliff m: #`|( cool ); sub a {}; &a.WHY.say
evalable6
sena_kun m: sub prefix:<Σ>( *@number-list ) { [+] @number-list }; say Σ (13, 16, 1); 17:52
evalable6 30
MasterDuke sena_kun: was that just to test syntax? 17:54
sena_kun MasterDuke, yeah
MasterDuke heh
sena_kun github.com/Altai-man/Red/blob/mast...duction.md <- so that's my kind of a proposal for documenting Red
sena_kun API will be fleshed out using a script, while everything else will be written as is, then everything can be served 17:57
Xliff sena_kun: I take it the links will be manually added, later?
sena_kun Xliff, yes
Xliff OK
sena_kun Xliff, I did not stub pages, because they need to be created anyway and we can track progress easier this way
also for classes, because there are a lot of them and I have no idea what's internal and what's not 17:58
though I am not really sure about re-generating everything if just a single thing changes. :S
this seems like a bad decision... OTOH, maybe we will be able to migrate to Documentable, if it'll become really big, and the current approach is likely to take us a long road before that happens 17:59
squashable6 🍕 Xliff++ wrote a comment on “Generate HTML from Pod”: github.com/FCO/Red/issues/351#issu...-529130989
sena_kun Xliff, re "Go through each .pm6 file and run it through Markdown conversion" will WHY symbols even stick if you'd use $=pod? I am not sure 18:01
my idea was to use each Red module and iterate over MY:: symbols recursively, categorizing them and asking their .WHY content 18:02
Xliff sena_kun: That can be done separately. You haven't given me anything to use in the spec, so I am leaving place holders. 18:03
I do NOT think the WHY markers will output.
I would extract those in a separate pass and output them with a different spec. 18:04
Xliff sena_kun: If you can packagae up your script, I can grab a sample file, run some tests and determine how things can work from there. 18:06
sena_kun is a bit confused and probably needs pseudocode
Xliff, ok, I'm preparing the script right now...
Xliff OK
SmokeMachine sena_kun: what a beautiful document!!! 18:07
Xliff SmokeMachine: I am still waiting on you to tell me what you want the docs/ tree to look like.
Please give it some thought and let me know.
SmokeMachine Xliff: do you have any suggestions? 18:10
Xliff: I’m not very good at documentation (that’s why red’s doc is the way it is)... I have no idea the best way to do that... 18:12
sena_kun Xliff, a basic split for `tutorials` and `API` is enough, then one can form pages intuitively for one things (operators, phasers etc) or based on class name ("Red::Foo::Bar" becomes "red-foo-bar.md"), then it can be cross-linked and served as Cro does that 18:14
Xliff Well, the easiest way is to go through lib/ and run 'perl6 --doc=Markdown $_" 18:16
Taking the path of least resistance, those files would go into docs/ mirroring lib/ 18:17
Everything else would be left to another pass.
Actually, that dest dir should be docs/api, so as to avoid any potential conflicts with any subsequent passes. 18:18
If we can agree on at least that much, then I can start working something out.
tobs m: #|`( cool ) ␤ sub a {}; ␤ &a.WHY.say 18:19
evalable6 No documentation available for type 'Sub'.
Perhaps it can be found at docs.perl6.org/type/Sub
»
Xliff m: #| cool ␤ sub a {}; ␤ &a.WHY.say
evalable6 cool
Xliff \o/
tobs m: #|« cool » ␤ sub a {}; ␤ &a.WHY.say 18:20
evalable6 cool
sena_kun Xliff, oh, ability to --doc=Markdown is TIL
Xliff TIL?
sena_kun Today I Learnt
Xliff Oh! Yeah. Forgot. :)
sena_kun: It's modulespace.
sena_kun Xliff, I think then we don't need my crude script, because it'd be re-intenting, and probably a bad one 18:21
Xliff Well, I don't know what it will do with the before and after docs
That's why I wanted to experiment with it.
sena_kun yes, that was the question I was going to ask. :S
let me check...
sena_kun Xliff, it handles them 18:22
Xliff, then a much better option is to continue in this direction. if you want to write a script that'll iterate over files in `lib` and output stuff into docs/api, that'd be awesome 18:23
and yes, then a tree-like structure is more natural 18:24
Xliff kk
sena_kun I'll try to document some things right now...
SmokeMachine Are you guys suggesting stopping using the wiki and use gh-pages or generating the wiki by the the pod 18:25
?
Xliff No
This supplements the wiki
I've updated my last comment on #351 18:26
index page will be API.md
However, I will be taking a break from Linux, soon... need to play some Control. :q 18:29
sena_kun Xliff, github.com/Altai-man/Red/commit/c9...a9e4dc67b2 <- did this, as we won't enforce an outer structure to how code is structured 18:31
squashable6 🍕 Altai-man++ opened pull request “Add introduction.md and document Red::Utils”: github.com/FCO/Red/pull/354 18:40
sena_kun SmokeMachine, how do connections works? I am now writing out `is temp` which corresponds to TEMPORARY tables, they only exist for "current session"... but what is "current session"? when it starts and when it ends? 18:44
SmokeMachine sena_kun: it uses the driver’s connection... 18:55
sena_kun: that usually is only the DBIish’s connection or DB::Pg’s connection... 18:56
sena_kun SmokeMachine, `is !nullable` just works, right?
squashable6 🍕 FCO++ merged pull request “Add introduction.md and document Red::Utils”: github.com/FCO/Red/pull/354 18:57
sena_kun *does `is !nullable` just work`
SmokeMachine sena_kun: that should...
sena_kun ok 18:58
SmokeMachine sena_kun: but are you talking about the column one of the model’s one?
sena_kun SmokeMachine, I am now writing out what `multi trait_mod:<is>(Mu:U $model, Bool :$nullable!) {` does, so the model one 18:59
as I understood, the model one sets a default for every column, while the column one, well, sets it for the column itself 19:00
SmokeMachine sena_kun: oh! is !nullable?! I’m not sure, sorry... but that’s the default...
sena_kun: yes, that’s it 19:01
sena_kun SmokeMachine, `is id` == PRIMARY KEY, right? 19:03
SmokeMachine Yes 19:06
SmokeMachine And `is serial` == primary key + auto increment 19:07
sena_kun SmokeMachine, can you explain a bit what `is rs-class` does?
I udnerstood that it is related to ResultSeq, but that's all. 19:08
SmokeMachine You can use it to tell Red what class to use as ResultSeq... 19:13
Do you can extend ResultSeq with new methods and use it for your model...
Make sense? 19:14
sena_kun SmokeMachine, a bit, need to investigate more, thanks 19:14
squashable6 🍕 Altai-man++ opened pull request “Document some traits”: github.com/FCO/Red/pull/355 19:21
sena_kun I am going to sleep already, a lot more time is necessary to write something more involved than those tiny bits 19:27
timotimo rest well sena_kun 19:31
sena_kun timotimo, good night. :) 19:39
squashable6 🍕 FCO++ merged pull request “Document some traits”: github.com/FCO/Red/pull/355 19:40
SmokeMachine sena_kun: Thank you very much! 19:41
squashable6 🍕 MasterDuke17++ opened pull request “Just some typo fixes”: github.com/FCO/Red/pull/356 20:01
🍕🍕🍕 First contribution by MasterDuke17++! ♥
🍕 MasterDuke17++ edited wiki page “How does it work”: github.com/FCO/Red/wiki/How-does-it-work 20:08
🍕 MasterDuke17++ wrote a comment on “Let it clear that Red wi…”: github.com/FCO/Red/issues/339#issu...-529143209 20:09
squashable6 🍕 FCO++ merged pull request “Just some typo fixes”: github.com/FCO/Red/pull/356 20:41
🍕 FCO++ wrote a comment on “Let it clear that Red wi…”: github.com/FCO/Red/issues/339#issu...-529145481 20:42
🍕 FCO++ closed issue “Let it clear that Red wi…”: github.com/FCO/Red/issues/339
SmokeMachine MasterDuke: thanks! 20:43
squashable6 🍕 MasterDuke17++ edited wiki page “CD sample”: github.com/FCO/Red/wiki/CD-sample 21:01
🍕 MasterDuke17++ edited wiki page “ResultSeq”: github.com/FCO/Red/wiki/ResultSeq 21:02
🍕 MasterDuke17++ edited wiki page “ResultSeqSeq”: github.com/FCO/Red/wiki/ResultSeqSeq
🍕 MasterDuke17++ edited wiki page “How to relationship”: github.com/FCO/Red/wiki/How-to-relationship 21:07
squashable6 🍕 MasterDuke17++ edited wiki page “How to create a new SQL command”: github.com/FCO/Red/wiki/How-to-cre...QL-command 21:08
🍕 MasterDuke17++ edited wiki page “map grep”: github.com/FCO/Red/wiki/map-grep
SmokeMachine Thanks! 21:11
squashable6 🍕 MasterDuke17++ edited wiki page “Traits”: github.com/FCO/Red/wiki/Traits
MasterDuke SmokeMachine: np. wish i'd had time to make more substantial contributions 21:12
SmokeMachine :) 21:47
it seems that `is rs-class` is broken... I'm trying to fix it...
Xliff \o 22:59
SmokeMachine Xliff: hi there! 23:02
Xliff SmokeMachine: Hey there! 23:06
I beat the next boss in Control. :) 23:07
Working on script.
SmokeMachine :) 23:11
squashable6 🍕 Xliff++ opened issue “Error occurred in Red::AST::DropTable”: github.com/FCO/Red/issues/357 23:29
🍕 Xliff++ edited issue “Error occurred in Red::Driver::CommonSQL”: github.com/FCO/Red/issues/357 23:30
Xliff m: my $index = "API Pages\n"; $index .= '=' x $index.chars.chomp; $index.say; 23:37
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/kLkwjGeZ_F
Quoted …
Xliff, Full output: gist.github.com/bc9e3fbece115a285c...1d3f7bd924
Xliff m: my $index = "API Pages\n"; $index ~= '=' x $index.chars.chomp; $index.say; 23:38
evalable6 API Pages
==========
Xliff Is there a safe way to get the path separator without directly going into something like IO::Spec::Unix? 23:41
timotimo you'd usually want to get the currently active spec from $*SPEC 23:47
Xliff Ah. That may be what I need. 23:56
timotimo: Does IO::Path provide a way to split up the dirs into individual bits? 23:57
I thought that was parts, but it isn't.
m: "/home/me/this/sucks/text.txt".IO.parts.say
evalable6 Map.new((basename => text.txt, dirname => /home/me/this/sucks, volume => ))
Xliff m: "this/sucks/text.txt".IO.parts.say 23:58
evalable6 Map.new((basename => text.txt, dirname => this/sucks, volume => ))
squashable6 🍕 FCO++ wrote a comment on “Error occurred in Red::Driver::CommonSQL”: github.com/FCO/Red/issues/357#issu...-529156201 23:59