»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:18
Kyo91_ joined
00:19
Cabanossi left
00:22
Cabanossi joined
00:29
Ben_Goldberg joined
00:30
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
00:41
Kyo91_ left
00:43
Skarsnik left
00:50
greppable6 left
00:56
u-ou- joined
01:02
Kyo91_ joined
01:03
u-ou- left
|
|||
Geth | whateverable/master: 13 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++, (Sylvain Colinet)++ review: github.com/perl6/whateverable/comp...46dba9ddff |
01:06 | |
01:10
Kyo91_ left
01:13
Kyo91_ joined
|
|||
Geth | whateverable: c91eb7f60b | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Releasable.p6 Change R6 link |
01:16 | |
01:17
bisectable6 left,
unicodable6 left,
benchable6 left,
committable6 left,
bloatable6 left,
coverable6 left,
evalable6 left,
releasable6 left,
quotable6 left,
statisfiable6 left
01:22
Kyo91_ left,
greppable6 joined,
releasable6 joined,
quotable6 joined,
ChanServ sets mode: +v greppable6,
ChanServ sets mode: +v releasable6,
ChanServ sets mode: +v quotable6,
bisectable6 joined,
committable6 joined,
coverable6 joined,
bloatable6 joined,
evalable6 joined,
benchable6 joined,
unicodable6 joined,
statisfiable6 joined,
nativecallable6 joined,
ChanServ sets mode: +v nativecallable6
01:37
raschipi joined
01:38
Kyo91_ joined
01:43
llfourn left
01:45
ilbot3 left
01:51
Kyo91_ left,
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:00
wamba joined
02:03
Kyo91_ joined
02:08
kannan joined
02:20
Kyo91_ left
02:22
ilbot3 left
02:23
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:26
evalable6 left
02:32
noganex_ joined
02:33
aindilis joined
02:35
noganex left
02:46
nativecallable6 left,
greppable6 left,
statisfiable6 left,
quotable6 left,
releasable6 left,
coverable6 left,
bloatable6 left,
committable6 left,
benchable6 left,
unicodable6 left
02:47
bisectable6 left
02:55
raschipi left
03:04
snarkyboojum joined
03:16
Kyo91_ joined
03:21
Kyo91_ left
03:25
u-ou- joined
03:30
u-ou- left,
snarkyboojum left
|
|||
Zoffix | teatime: it's because ~~ is not symmetric. The thing on RHS dictates how the match is done and in this case it's a typecheck. Failure is a Nil (it's its subclass), so Failure ~~ Nil is true, but Nil is not a Failure, so Nil ~~ Failure is false | 03:35 | |
teatime | I ended up doing some reading. Good explanation. | 03:36 | |
03:37
u-ou- joined
03:41
u-ou- left
03:45
u-ou- joined
03:51
u-ou- left
03:53
u-ou- joined,
simcop2387 left
03:56
Cabanossi left
03:58
Cabanossi joined
03:59
skids left
04:00
u-ou- left
04:05
simcop2387 joined
04:08
u-ou- joined
04:14
wamba left
04:16
u-ou- left
04:19
u-ou- joined
04:22
u-ou- left
04:30
khw left
04:41
Cabanossi left
04:43
Cabanossi joined,
u-ou- joined
04:56
AlexDaniel left
05:05
llfourn joined
05:11
BenGoldberg left
05:13
xinming left
05:16
u-ou- left
05:18
Kyo91_ joined
05:19
yht joined
05:24
Kyo91_ left
05:41
Cabanossi left
05:43
Cabanossi joined
05:47
HoboWithAShotgun left
|
|||
timotimo | i wouldn't say "int32.^roles doesn't work" has something to do with "natives having rough edges". roles is simply a thing that's not possible to have for natives | 05:47 | |
05:53
Guest69863 joined
06:00
roguelazer joined
06:12
Cabanossi left,
yht left
06:13
Cabanossi joined
06:47
nadim joined
06:52
atroxaper joined
07:02
llfourn left
07:04
yht joined
07:10
Cabanossi left
07:12
llfourn joined
07:13
Cabanossi joined,
lancew joined
07:15
Guest69863 left
07:17
smls joined
|
|||
smls | m: say (HyperWhatever).^mro; | 07:19 | |
camelia | sub (*@_) { #`(Sub|58907344) ... } | ||
07:20
Kyo91_ joined
07:23
lancew left
07:25
Kyo91_ left
07:36
atroxaper left
07:39
darutoko joined
07:45
yht left
07:50
wamba joined
07:55
sacomo left
08:08
sacomo joined
08:20
rindolf joined
08:26
Cabanossi left
08:28
Cabanossi joined,
llfourn left
08:32
lizmat_ joined
08:36
lizmat left
08:38
lizmat_ is now known as lizmat
08:39
snarkyboojum joined
08:40
avalenn joined
08:45
vivus-ignis joined
08:50
eponym joined
08:51
vivus-ignis left
08:52
epony left
08:57
Cabanossi left
08:58
Cabanossi joined,
eponym left
09:03
ufobat joined
|
|||
sjn looks at jnthn's mi.cro.services/ :) | 09:10 | ||
...and found a typo \o/ | |||
timotimo | the website is probably on github as well | 09:12 | |
09:14
learningperl6 joined
|
|||
learningperl6 | howdy! how goes perl6 | 09:14 | |
sjn | learningperl6: perl6 is great! :) | 09:15 | |
timotimo: doesn't seem so? can't find it. :-| | 09:16 | ||
timotimo | oh | 09:18 | |
09:21
Kyo91_ joined
|
|||
learningperl6 | sjn :) | 09:21 | |
09:22
lancew joined
|
|||
sjn | timotimo: it is hosted on google, but not under the croservices project is seems | 09:22 | |
learningperl6 | is mi.cro.services something jnthn strated? | 09:24 | |
sjn | learningperl6: it's an edument project, it seems. just read about it on the facebooks | 09:25 | |
09:26
Kyo91_ left
|
|||
timotimo | you mean "on github", right? | 09:26 | |
yeah, jnthn started cro | |||
09:26
Cabanossi left
09:27
epony joined
|
|||
sjn | timotimo: mi.cro.services ip address points to a googleusercontent.com owned IP | 09:27 | |
learningperl6 | apart from its website is there any other place than facebook to learn more ? | ||
09:28
Cabanossi joined
|
|||
timotimo | ah, ok | 09:28 | |
09:28
lancew_ joined
|
|||
sjn | learningperl6: it's pretty new, so I guess not? | 09:29 | |
learningperl6 | sjn: ah!. my hiatus explains my questioning then :) thanks anyway. | 09:30 | |
09:30
lancew left
09:33
Skarsnik joined
09:37
espadrine joined,
lancew__ joined
09:40
lancew_ left
|
|||
learningperl6 | timotimo: last I remember when I was lurking, you were working on Levenshtein distance? ( meanwhile I'm asking am browsing the repository) | 09:40 | |
09:40
ecocode left
|
|||
timotimo | that was loooong ago :D | 09:42 | |
09:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
ecocode joined
|
|||
learningperl6 | timotimo: :) | 09:46 | |
smls | j: say "ab" ~~ / [ "ab" || "a" ]: "b" /; | 09:50 | |
camelia | java.nio.file.NoSuchFileException: /nqp/lib/Perl6/BOOTSTRAP.jar in <anon> (gen/jvm/ModuleLoader.nqp:90) in load_module (gen/jvm/ModuleLoader.nqp:77) in <anon> (gen/jvm/CORE.setting) in <anon> (gen/jvm/ModuleLoader.nqp:255) in load_sett… |
||
smls | ? | 09:51 | |
09:51
snarkyboojum left
|
|||
timotimo | looks like it didn't get built correctly | 09:52 | |
09:55
wamba left,
pmurias joined
09:58
aborazmeh left
10:01
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
tadzik | so, cro! | 10:06 | |
what a release | |||
timotimo | oh yes | 10:07 | |
learningperl6 | :) | 10:11 | |
10:12
TEttinger left
|
|||
pmurias | so Cro is intended to be a web framework for writing micro services? | 10:12 | |
10:12
lichtkind left
10:14
Rawriful joined
10:15
sacomo left
10:16
sacomo joined
|
|||
timotimo | i wouldn't call it "web framework" | 10:16 | |
it can do much more than web | 10:17 | ||
10:17
kannan left
|
|||
timotimo | should we have a file descriptor duplication method on IO::Handle? | 10:18 | |
pmurias | timotimo: what can it do besides web? | 10:19 | |
timotimo | ZMQ isn't really web | 10:22 | |
and TCP in general, SSL sockets in general | |||
10:22
margeas joined
10:23
learningperl6 left
10:25
lichtkind joined
10:27
bjz joined
10:32
xinming joined
10:38
yht joined
10:41
Cabanossi left
10:43
Cabanossi joined
|
|||
ufobat | m: my $c = "Some::Thing"; ::($c).new() | 10:47 | |
camelia | Failed Actually thrown at: in block <unit> at <tmp> line 1 |
||
ufobat | this error is not really helpful :( | 10:48 | |
shoudn't this failure be converted into an exception? i'd expect something like this: | 10:50 | ||
m: my $c = "Some::Thing"; try { ::($c).new(); CATCH {default { $_.throw } } } | |||
camelia | No such symbol 'Some::Thing' in block at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Skarsnik | you can fill a bug repport for that I think | ||
ufobat | okay, will do | 10:51 | |
Skarsnik | like you can send a mail to [email@hidden.address] or something like that | ||
ufobat | yap, done .) thank you | 10:53 | |
10:54
xinming left
11:00
araraloren_ joined
11:03
araralonre__ left
11:05
snarkyboojum joined
11:08
nowan left
11:09
andreoss joined
|
|||
andreoss | why comma acts as a statement terminator? | 11:11 | |
11:11
nowan joined
|
|||
andreoss | m: my $x = 1, #`new line here` 2, 3; say $x; # 2 and 3 are in sink context | 11:12 | |
camelia | ( no output ) | ||
andreoss | m: my $x = 1, #`<new line here> 2, 3; say $x; # 2 and 3 are in sink context | 11:13 | |
camelia | WARNINGS for <tmp>: Useless use of constant integer 2 in sink context (lines 1, 1) Useless use of constant integer 3 in sink context (lines 1, 1) 1 |
||
11:14
nowan left
11:16
[particle]1 left,
nowan joined
|
|||
araraloren_ | m: my $x = 1, #`<new line here> 2, 3; say $x; # 2 and 3 are in sink context` | 11:18 | |
camelia | WARNINGS for <tmp>: Useless use of constant integer 2 in sink context (lines 1, 1) Useless use of constant integer 3 in sink context (lines 1, 1) 1 |
||
araraloren_ | m: my $x = 1, #`<new line here> 2 3; say $x; # 2 and 3 are in sink context` | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $x = 1, #`<new line here> 27⏏5 3; say $x; # 2 and 3 are in sink contex expecting any of: infix infix stopper statemen… |
||
araraloren_ | m: my $x = 1, #`<new line here> 2 3;` | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $x = 1, #`<new line here> 27⏏5 3;` expecting any of: infix infix stopper statement end statement modifier… |
||
araraloren_ | m: my $x = 1; #`<new line here> 2 3;` | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $x = 1; #`<new line here> 27⏏5 3;` expecting any of: infix infix stopper statement end statement modifier… |
||
andreoss | comman is missing | 11:19 | |
*comma | |||
m: my $x = 1, 2, 3; say $x; | |||
camelia | WARNINGS for <tmp>: Useless use of constant integer 2 in sink context (lines 1, 1) Useless use of constant integer 3 in sink context (lines 1, 1) 1 |
||
andreoss | hmm | ||
it acts diffrenly in the repl | 11:20 | ||
araraloren_ | andreoss, it's a comma expression? | ||
andreoss | % printf 'my $x = 1,\n2,3' | perl6 | 11:21 | |
araraloren_ | Maybe it suppress the warning | 11:22 | |
11:22
wamba joined,
Kyo91_ joined
|
|||
andreoss | if I type `my $x = 1,2,3` in repl I end up with `$x == (1,2,3)`; | 11:23 | |
araraloren_ | Oh, Perl 6 not have comma expression, I think | 11:24 | |
andreoss | actually not | ||
it's just the repl which gives a misleading output | 11:25 | ||
ufobat | i am getting the error " | 11:26 | |
Too many positionals passed; expected 1 argument but got 2 | |||
in block at /home/martin/.workspace/p6/VoteImproved/../Bailador/lib/Bailador/Route/Controller.pm (Bailador::Route::Controller) line 17 | |||
andreoss | and supresses warnings for some reasom | ||
ufobat | my line 17 is: require ::($.class); | ||
i don't get why :( | |||
araraloren_ | Hmm, if you want bind a list, you can `my $x := 1, 2, 3; say $x;` | ||
11:27
Kyo91_ left,
kannan joined,
piojo joined
|
|||
araraloren_ | What is $.class for ? | 11:27 | |
ufobat | it's a Str of an existing class, it work in my oneliner :( | 11:28 | |
a name of a class that i want to require | |||
smls | andreoss, araraloren_: The REPL doesn't print "Useless use of ... in sink context" for the last statement, because it doesn't sink that statement. It prints its. | 11:29 | |
araraloren_ | If I run this `my $x = 1, 2, 3;` why it just print `(1, 2, 3)` | 11:31 | |
11:31
sacomo left
|
|||
araraloren_ | and this `my ($x) = 1, 2, 3;` will print `(1)` | 11:32 | |
smls | It interprets it as ((my $x = 1), 2, 3); | ||
araraloren_ | oh ? | 11:33 | |
piojo | m: my ($x, $y) = 1, 2, 3; | ||
camelia | ( no output ) | ||
piojo | m: my ($x, $y) = 1, 2, 3; say $y; | ||
camelia | 2 | ||
smls | m: my @a = my $x = 1, 2, 3; dd @a; dd $x; | ||
camelia | Array @a = [1, 2, 3] Int $x = 1 |
||
piojo | smls: it doesn't break it down the way you described | ||
it interprets it as parallel assignment | 11:34 | ||
timotimo | araraloren_: you have to have something with @ on the lhs of the = | ||
otherwise it'll be item assignment and ignore everything after the first thing | |||
piojo | it sees it as: my (list of variables) = list; | ||
timotimo | m: my ($a, $b, $c) = 9, 9, 9; say $a; say $b; say $c; | ||
camelia | 9 9 9 |
||
araraloren_ | timotimo, yeah, I know, I just want see how | ||
smls | piojo: I was referring to `my $x = 1, 2, 3;` | ||
timotimo | m: my $x; @$x = 9, 9, 9; say $a; say $b; say $c; | 11:35 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$a' is not declared at <tmp>:1 ------> 3my $x; @$x = 9, 9, 9; say 7⏏5$a; say $b; say $c; |
||
timotimo | m: my $x; @$x = 9, 9, 9; say $x.perl | ||
camelia | WARNINGS for <tmp>: Useless use of constant integer 9 in sink context (lines 1, 1, 1, 1) Cannot modify an immutable Any ((Any)) in block <unit> at <tmp> line 1 |
||
timotimo | mhm | ||
araraloren_ | Actually I would not write that code, my @x = 1, 2, 3; would be the correct way | 11:36 | |
timotimo | yeah | ||
lunch & | |||
araraloren_ | But that's a pleasure of explore Perl 6's syntax :) | 11:37 | |
11:37
lizmat left
11:38
mr-fooba_ left
|
|||
piojo | m: grammar Matcher { rule TOP { <hash> }; proto rule atom {*}; rule atom:sym<hash> { . }; }; Matcher.parse('x'); | 11:38 | |
camelia | P6opaque: no such attribute '$!pos' in type Match when trying to get a value in regex TOP at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
piojo | The error should be "No such method 'hash' for invocant of type 'Matcher'" | ||
11:38
andreoss left
|
|||
piojo | How do I know which project to file this bug with? | 11:38 | |
I assume it's either rakudo or moarvm. Is there any quick guideline? | 11:40 | ||
araraloren_ | what you mean.. | ||
m: grammar Matcher { rule TOP { <atom> }; proto rule atom {*}; rule atom:sym<hash> { . }; }; say Matcher.parse('x') | |||
camelia | 「x」 atom => 「x」 |
||
11:40
bjz left
|
|||
piojo | I know the regex is wrong. But the error message is also wrong | 11:41 | |
the error said "no such attribute $!pos", which is nonsense because I never used any "pos" | |||
araraloren_ | ok | ||
piojo | Since perl6 is 3 projects, I assume this is a rakudo issue. Is that correct? | ||
11:42
snarkyboojum left
|
|||
araraloren_ | yeah, it need improve the error message . | 11:42 | |
yeah, it should be | |||
piojo | thanks | ||
I'll mail it in, then | 11:43 | ||
araraloren_ | piojo, maybe you can ask somebody in perl6-dev(maybe right channel name) | ||
ufobat | AHHHH Golfed it down :/ | ||
piojo | araraloren_: thanks, I'll check | 11:45 | |
11:49
nowan left
|
|||
ufobat | btw require ::($class) works | 11:50 | |
but require ::($.class) doesn't work | |||
11:51
nowan joined
|
|||
ufobat | rt.perl.org/Public/Bug/Display.html?id=131971 | 11:53 | |
11:56
piojo left
11:58
ecocode left
12:00
ecocode joined
12:01
andreoss joined
12:05
[particle] joined
12:13
ecocode left
12:14
BenGoldberg joined
12:16
ecocode joined
12:23
Kyo91_ joined
12:27
Kyo91_ left
12:30
bjz joined
12:44
piojo joined
12:46
AlexDaniel joined
12:47
committable6 joined,
benchable6 joined,
evalable6 joined,
quotable6 joined,
unicodable6 joined,
bloatable6 joined,
ChanServ sets mode: +v benchable6,
ChanServ sets mode: +v evalable6,
ChanServ sets mode: +v quotable6,
ChanServ sets mode: +v unicodable6,
ChanServ sets mode: +v bloatable6,
bisectable6 joined,
coverable6 joined,
greppable6 joined,
ChanServ sets mode: +v greppable6,
releasable6 joined,
ChanServ sets mode: +v releasable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
12:48
andreoss left
12:50
andrzejku_ joined
12:53
xinming joined,
andrzejku_ left
12:54
andrzejku_ joined
12:57
aborazmeh left
12:59
ufobat left
13:03
sena_kun joined,
lizmat joined
13:08
bjz left
13:10
ecocode left
13:11
andreoss joined
13:12
ecocode joined
|
|||
andreoss | github.com/andreoss/ob-perl6 # Org Babel for Perl 6 | 13:14 | |
13:27
Cabanossi left
13:28
beginner joined
|
|||
beginner | hello | 13:28 | |
13:28
Cabanossi joined
|
|||
beginner | is there abstract data type in perl 6 | 13:28 | |
13:29
lancew__ left,
lancew__ joined
13:31
lancew_ joined
13:32
yht left
13:33
lancew__ left
13:34
eroux joined,
sena_kun left
|
|||
andreoss | beginner: classes with stubs are abstract | 13:36 | |
m: class Abstract { method foo { ... } } ; class Concrete is Abstract { has $.foo = 10 }; Concrete.new.foo.say | 13:37 | ||
camelia | 10 | ||
beginner | andreoss : ok but am here referring about the data type | 13:41 | |
Zoffix | beginner: is there a description of what you're trying to accomplish? I glanced over a wiki for Abstract Data Type but it doesn't really tell me much. | 13:47 | |
Are roles it? docs.perl6.org/syntax/role | 13:49 | ||
m: role Meow { method meow { say "meow" } }; class Foo does Meow {}; Foo.new.meow | |||
camelia | meow | ||
Geth | whateverable: 558b932ee0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files Actually fix these tests Oops in 87f3f1c0cbe654539591d6511681bd989e1b2248 |
||
whateverable: c920e058bd | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files Make tests parallelizable See issue #205. It is not entirely perfect because bots still lock each other when using same builds (especially on HEAD), but this makes the test suite go from 22 minutes to ≈11 minutes. |
|||
whateverable: 39e5c53825 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Split by “\n”, do not use .lines Otherwise it may mistakenly split some line in half. |
|||
Zoffix | "ADTs are a theoretical concept in computer science … mainstream computer language do not directly support formally specified ADTs." | 13:51 | |
13:51
greppable6 left
13:52
greppable6 joined,
ChanServ sets mode: +v greppable6
|
|||
Zoffix | "In programming languages, an abstract type is a type in a nominative type system that cannot be instantiated directly; a type that is not abstract – which can be instantiated – is called a concrete type" | 13:52 | |
Yeah, sounds like our roles. Though we have auto-punning where you could instantiate a role, but it gets punned and basically becomes a class in that case. | |||
andreoss | beginner: classes are types in this case | ||
piojo | beginner: perl6 has parameterized types, too. I think roles are a better fit, but you can also use a parameterized type like generics in other languages | ||
13:55
kannan left
|
|||
andreoss | m: role Queue[::T] { method enqueue(T $x) { ... } ; method dequeue returns T { ... } } # begginer | 13:59 | |
camelia | ( no output ) | ||
beginner | Zoffix : web.mit.edu/6.005/www/fa14/classes/...tract_type | 14:01 | |
www.fas.harvard.edu/~cscie119/lectures/intro.pdf | 14:02 | ||
14:02
mr-foobar joined,
kannan joined
|
|||
timotimo | andreoss: check out my adt module on modules.perl6.org | 14:02 | |
though those are "algebraic data types" | |||
Zoffix | buggable: eco adt | 14:08 | |
buggable | Zoffix, ADT 'Algebraic Data Types inspired by Haskell.': github.com/timo/ADT | ||
smls | beginner: In Perl 6, the `Iterable`, `Positional` and `Associative` roles common interfaces for data structures. Is that what you mean? | ||
For example class `Array` does both the `Iterable` and `Positional` role. | |||
Zoffix | beginner: thanks :) That stuff's over my head, so I'll shut up. Sorry :) | 14:09 | |
14:10
mcmillhj joined,
mcmillhj left,
mcmillhj joined
14:13
beginner left
14:14
mcmillhj_ joined
14:16
yht joined
14:18
lancew_ left
14:20
mcmillhj left
14:21
mcmillhj joined
14:23
mcmillhj left
14:24
Kyo91_ joined
14:25
mcmillhj_ is now known as mcmillhj
|
|||
BenGoldberg | m: role Callback[\T] { }; constant sorter_t = Callback[ :(Any, Any --> Order) ]; my sorter_t $x; | 14:25 | |
camelia | ===SORRY!=== QAST::Block with cuid 3 has not appeared |
||
14:25
yht left
|
|||
Zoffix | BenGoldberg: would you report that as a bug, please? End users should never see that error | 14:27 | |
huggable: rakudobugs | |||
huggable | Zoffix, Report bugs by emailing to [email@hidden.address] | ||
jsimonet | Hello, perl6.fail is not responding, I don't know if you are aware of this problem? The DNS is not responding. | ||
14:28
Kyo91_ left
|
|||
Zoffix | jsimonet: thanks. The domain was deliberately let to expire. The new address is fail.rakudo.party/ | 14:28 | |
jsimonet | ok, thanks ! | 14:29 | |
14:32
skids joined
14:40
pelev joined
14:41
mcmillhj_ joined
14:46
mcmillhj_ left
14:51
kannan left
14:53
khw joined
15:04
ShalokShalom joined
15:06
ShalokShalom left
15:08
sjoshi joined
15:14
pelev left
15:17
sjoshi left,
eroux left
|
|||
BenGoldberg | Zoffix, rakudo-bug-ed | 15:21 | |
jkva_ | I'm trying to install Rakudo Star 2017.07 in Docker, but get the error that I'm missing File::Copy when running Configure.pl. What's the preferred way to make sure that my container base image has the proper modules available to install from source? | ||
My base image runs 5.24, fwiw. | 15:22 | ||
timotimo | is that something like alpine linux? | 15:24 | |
i.e. "throw away everything we possibly can"? | |||
jkva_ | @timotimo: is that to me? It's running a base installation of Debian stable | ||
timotimo | OK, then at least you can just apt-get perl5 packages :) | 15:25 | |
andreoss | File::Copy is core module | ||
jkva_ | Sweet! Thanks :) | ||
15:27
lancew_ joined
|
|||
jkva_ | If it's core, I shouldn't get the error then? Anyway this is turning into a Perl5 question now, I'll go to the appropriate channels. my Perl6 code worked fine ;) | 15:27 | |
Ah, found the problem :) | 15:29 | ||
timotimo | interesting, do tell! | 15:31 | |
15:32
AlexDaniel left
|
|||
jkva_ | timotimo: you were 100% right, just needed to `apt-get install perl` | 15:33 | |
timotimo | huh, did you have something like "perl-core"? | 15:34 | |
jkva_ | Which installed `libgdbm3 libperl5.24 perl-modules-5.24 rename` | ||
timotimo | or "perl-tiny"? | ||
jkva_ | Haven't a clue tbh, I'm not familiar with the config for the debian:stable baseimage | ||
timotimo | good to know in any case | 15:35 | |
15:35
AlexDaniel joined
|
|||
jkva_ | Yeah. Never used Docker until today so lots of new stuff | 15:35 | |
15:36
mcmillhj_ joined
15:40
mcmillhj_ left,
woolfy joined
15:41
mcmillhj left
15:42
mcmillhj joined
15:47
mcmillhj left,
mcmillhj joined
15:48
araraloren_ left
15:52
mcmillhj left,
mr-foobar left
15:56
BenGoldberg left
|
|||
Zoffix | Thanks. | 15:59 | |
16:03
mcmillhj joined
16:06
woolfy left
16:07
mcmillhj left
16:11
Cabanossi left
16:14
Cabanossi joined
16:19
mcmillhj joined
16:20
mr-foobar joined
16:23
mcmillhj left
16:24
Kyo91_ joined
16:25
bjz joined
16:29
Kyo91_ left
16:36
pmurias left
|
|||
samcv | how do i fix how do i fix "Unhandled exception: Missing or wrong version of dependency " when running my system perl 6 inside the rakudo directory | 16:37 | |
and don't say, don't be in the rakudo directory. i need a workable way to get it to not look in ./ for nqp/rakudo libs | |||
lizmat | samcv: I'm afraid I don't have an answer | 16:38 | |
samcv | :( | 16:39 | |
is there an env var i can change it to anything else? | |||
16:42
lizmat left
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/ # <-- jnthn review welcome | 16:43 | |
and now with proper link: gfldex.wordpress.com/2017/08/27/ou...r-mystery/ | 16:44 | ||
16:49
lizmat joined
|
|||
timotimo | gfldex: i think you also want LAST in addition to CLOSE there | 16:52 | |
skids | samcv: Well, recently %*ENV<NQP_LIB> was added, see nqp commits 152094b7 and dd25a924 | 16:53 | |
timotimo | i made a little bufferer for IO::Handle that works with binary modes | ||
it has a different api from IO::Handle, though | |||
samcv | ah | 16:54 | |
timotimo | gfldex: i'd expect LAST is fired also when the supply is regularly closed | ||
oh, i might misunderstand | 16:55 | ||
17:03
rindolf left
|
|||
gfldex | timotimo: testing | 17:07 | |
timotimo: LAST will not be executed | 17:08 | ||
17:09
rindolf joined
|
|||
timotimo | who wants to give me a very fast conversion from a Buf of 8 uint8 to one uint64? | 17:11 | |
17:12
MilkmanDan left
|
|||
timotimo | benchable6: compare HEAD for ^10_000 { Buf.new(1, 2, 3, 4); Buf.shift + Buf.shift +< 8 + Buf.shift +< 16 + Buf.shift +< 24 } ||| for ^10_000 { Buf.new(1, 2, 3, 4); Buf.shift + Buf.shift * 64 + Buf.shift * 128 + Buf.shift * 192 } | 17:21 | |
benchable6 | timotimo, starting to benchmark the 1 given commit | ||
timotimo, gist.github.com/21cf5f1f5c66bd8c29...f6e7a097d8 | |||
timotimo | that code si broken %) | 17:22 | |
on my machine those are equally fast, but i expect the time to create the bufs dominates the bitshift or multiplication time by a few orders of magnitude | 17:24 | ||
17:26
bjz left
|
|||
AlexDaniel slaps benchable6 | 17:26 | ||
17:29
piojo left
17:30
benchable6 left,
benchable6 joined,
ChanServ sets mode: +v benchable6
|
|||
AlexDaniel | benchable6: compare HEAD for ^10_000 { Buf.new(1, 2, 3, 4); Buf.shift + Buf.shift +< 8 + Buf.shift +< 16 + Buf.shift +< 24 } ||| for ^10_000 { Buf.new(1, 2, 3, 4); Buf.shift + Buf.shift * 64 + Buf.shift * 128 + Buf.shift * 192 } | 17:31 | |
benchable6 | AlexDaniel, starting to benchmark the 1 given commit | ||
AlexDaniel, gist.github.com/fdd1e2309da826acbf...26d77ddf9a | |||
AlexDaniel | timotimo: :( | ||
timotimo | :o | 17:32 | |
the code is wrong anyway | |||
AlexDaniel | oh, that's your code being wrong? :) | 17:33 | |
timotimo | yes | ||
AlexDaniel | okay | ||
timotimo | benchable6: compare HEAD for ^100_000 { my $buf = Buf.new(1, 2, 3, 4); my int64 $a = $buf.shift + $buf.shift +< 8 + $buf.shift +< 16 + $buf.shift +< 24 } ||| for ^100_000 { my $buf = Buf.new(1, 2, 3, 4); my int64 $a = $buf.shift + $buf.shift * 64 + $buf.shift * 128 + $buf.shift * 192 } | ||
benchable6 | timotimo, starting to benchmark the 1 given commit | ||
timotimo, ¦HEAD: «Benchmark: Timing 10 iterations of 0, 1...«timed out after 10 seconds»» | |||
timotimo | benchable6: compare HEAD for ^10_000 { my $buf = Buf.new(1, 2, 3, 4); my int64 $a = $buf.shift + $buf.shift +< 8 + $buf.shift +< 16 + $buf.shift +< 24 } ||| for ^10_000 { my $buf = Buf.new(1, 2, 3, 4); my int64 $a = $buf.shift + $buf.shift * 64 + $buf.shift * 128 + $buf.shift * 192 } | ||
benchable6 | timotimo, starting to benchmark the 1 given commit | ||
Geth | whateverable: f7d80f3d99 | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Benchable.p6 Fix lib path in Benchable Issue #219. |
||
benchable6 | timotimo, gist.github.com/6b6501f8c0475c742f...fc18ca99de | 17:34 | |
timotimo | benchable6: compare HEAD my $buf = Buf.new(1, 2, 3, 4); for ^10_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) +< 8 + $buf.AT-POS(2) +< 16 + $buf.AT-POS(3) +< 24 } ||| my $buf = Buf.new(1, 2, 3, 4); for ^10_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) * 64 + $buf.AT-POS(2) * 128 + $buf.AT-POS(3) * 192 } | 17:38 | |
benchable6 | timotimo, starting to benchmark the 1 given commit | ||
timotimo, gist.github.com/98a6b512027d4c3b80...758db3d068 | |||
17:38
Aaronepower left
|
|||
AlexDaniel | benchable6: compare HEAD sleep 1 ||| sleep 0.5 | 17:39 | |
benchable6 | AlexDaniel, starting to benchmark the 1 given commit | ||
timotimo | benchable6: compare HEAD my $buf = Buf.new(1, 2, 3, 4); for ^100_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) +< 8 + $buf.AT-POS(2) +< 16 + $buf.AT-POS(3) +< 24 } ||| my $buf = Buf.new(1, 2, 3, 4); for ^100_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) * 64 + $buf.AT-POS(2) * 128 + $buf.AT-POS(3) * 192 } | ||
benchable6 | AlexDaniel, ¦HEAD: «Benchmark: Timing 10 iterations of 0, 1...«timed out after 10 seconds»» | ||
timotimo, starting to benchmark the 1 given commit | |||
timotimo, gist.github.com/2cc3f9e208e8c9b708...06df54f009 | |||
timotimo | interesting | ||
benchable6: compare HEAD my $buf = Buf.new(1, 2, 3, 4); for ^500_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) +< 8 + $buf.AT-POS(2) +< 16 + $buf.AT-POS(3) +< 24 } ||| my $buf = Buf.new(1, 2, 3, 4); for ^500_000 { my int64 $a = $buf.AT-POS(0) + $buf.AT-POS(1) * 64 + $buf.AT-POS(2) * 128 + $buf.AT-POS(3) * 192 } | 17:40 | ||
benchable6 | timotimo, starting to benchmark the 1 given commit | ||
timotimo, ¦HEAD: «Benchmark: Timing 10 iterations of 0, 1...«timed out after 10 seconds»» | |||
AlexDaniel | if you do it without “compare” in two separate queries then the limit is higher I believe | 17:41 | |
17:41
Cabanossi left
|
|||
timotimo | ah | 17:41 | |
not so important | |||
i know now that bitshift is faster and that's nice | |||
but that's what i had already | |||
so no way to get faster here | |||
17:44
Cabanossi joined,
gdonald joined
|
|||
smls | .tell lizmat Can you review this when you have time? github.com/rakudo/rakudo/pull/1139 | 17:47 | |
yoleaux | smls: I'll pass your message to lizmat. | ||
lizmat | . | 17:48 | |
yoleaux | 17:47Z <smls> lizmat: Can you review this when you have time? github.com/rakudo/rakudo/pull/1139 | ||
lizmat | smls: I assume this is all spectest clean? | 17:49 | |
smls | On my Moar/Linux build, yes. | ||
lizmat | otoh, I don't think there are terrible many tests for this, or am I wrong ? | ||
smls | There are postcircumfix .[] and .{} tests all over the place, in roast - but I don't think they have great coverage. | 17:51 | |
lizmat: I additionally used the following test file locally: pastebin.com/raw/yE0RJjcq | 17:56 | ||
lizmat | smls: why not add those to roast ? | ||
smls | Dunno where to add them... | 17:57 | |
lizmat | fwiw, I wouldn't know either, so maybe start a new file ? | 17:58 | |
timotimo | "worse is better" | 18:01 | |
18:02
espadrine left
|
|||
jkva_ | Thanks @timotimo! | 18:06 | |
Very nice, didn't know `lines` defaulted to `argfiles` | 18:07 | ||
timotimo | oh that's you! :) | 18:08 | |
jkva_ | Yeah. Been wanting to use Perl6 for the meetup rafflers for a while :) | 18:09 | |
timotimo | you can also implement world's shortest cat: perl6 -e 'say slurp' | ||
jkva_ | It just needed to pick a random name from a file of newline-separated names, so otherwise easy enough | ||
My first real usage of Perl6 :) | 18:10 | ||
18:14
MilkmanDan joined
|
|||
andreoss | m: BEGIN { $*IN = "/usr/share/dict/words".IO.open }; $*IN.lines.pick.say | 18:16 | |
camelia | ===SORRY!=== Failed to open file /usr/share/dict/words: No such file or directory |
||
18:17
smls left,
smls_ joined
|
|||
timotimo | i don't think that can work, because of dynamic variables being dynamically scoped | 18:18 | |
and the rest of the code is far away from the dynamic scope of the begin block | |||
m: BEGIN { say $*IN.perl } | 18:19 | ||
camelia | IO::Handle.new(path => IO::Special.new("<STDIN>"), chomp => Bool::True, nl-in => $["\n", "\r\n"], nl-out => "\n", encoding => "utf8") | ||
timotimo | hmm | ||
andreoss | works for me | ||
i've been using $*IN, $*OUT redefined in BEGIN block for a while | 18:20 | ||
is it error-prone somehow? | |||
18:22
Ven`` left
18:23
Ven`` joined
|
|||
AlexDaniel | don't you need an INIT block instead? | 18:23 | |
timotimo | oh, OK | ||
well, it probably won't survive precome if you have it in a module instead of a script | |||
AlexDaniel | also, this is exactly how you can change $*IN.nl-in when doing perl6 -npe | 18:24 | |
andreoss | what -np does? | 18:25 | |
18:25
Kyo91_ joined
|
|||
skids | same as perl5. wraps the script in a get/print loop. Uses a tweaked alternate setting IIRC. | 18:27 | |
andreoss | it would really nice if perl6 could detect itself being a pipe end and just silently execute code instead | ||
i mean `echo 1 | perl6` | |||
timotimo | ? | 18:28 | |
andreoss | *would be | ||
timotimo | oh you mean without the repl outputting stuff? | ||
andreoss | yes | ||
18:30
Kyo91_ left
|
|||
andreoss | i use -e '$*IN.slurp.EVAL' as a work-around | 18:30 | |
18:32
darutoko left
18:37
emeric joined
|
|||
jkva_ | timotimo: Is that `lines` shorthand in the docs, that you know of? | 18:37 | |
timotimo | i think so | 18:38 | |
let me see | |||
Zoffix | jkva_: yeah: docs.perl6.org/type/IO::Handle#routine_lines | ||
jkva_ | Thanks! | ||
timotimo | zoffix is fast | ||
Zoffix | jkva_: note that in v6.d language, the default will be $*IN instead of $*ARGFILES when inside sub MAIN() {} | 18:39 | |
jkva_: words(), lines(), slurp(), get(), and getc() all default to argfiles | |||
jkva_ | Splendid, I should've seen that, even read through `lines` earlier. | 18:40 | |
Zoffix | Oh, more specifically: $*ARGFILES will be set to just $*IN inside sub MAIN {}; it will still be IO::ArgFiles object. | ||
jkva_ | Zoffix: Once I get Perl6 better, this should make sense to me :) | 18:42 | |
Zoffix | (why special default inside MAIN: because you usually do things with arguments inside sub MAIN, so it's not very useful for $*ARGFILES to still use the arguments as names for files; with $*ARGFILES defaulting to just $*IN, you can still use lines()/words()/etc and if you really do want to treat args as filenames, you can still make your own IO::CatHandle) | ||
jkva_ | Slightly confused on how the default of `$fh = = $*ARGFILES` works correctly on an array of filenames? | 18:43 | |
Does that get folded in into the set of the lines in all files? | |||
Zoffix | jkva_: we have a type called IO::CatHandle | ||
jkva_: which basically switches to a new file when the first one is exhausted | 18:44 | ||
jkva_ | Nice. | ||
Zoffix | Or IO::Handle or IO::Pipe; and IO::CatHandle basically acts like a read-only IO::Handle (virtually identical interface; the only caveats are with seeking that can't cross file boundaries | 18:46 | |
) | 18:47 | ||
18:52
andreoss left,
mr-foobar left
18:54
mr-foobar joined
|
|||
jkva_ | github.com/perl6/docker \o/ | 19:01 | |
Could've saved myself some work... | 19:02 | ||
Zoffix | Oh :) I should've mentioned we had it. | ||
huggable: docker :is: Rakudo Docker images github.com/perl6/docker | |||
huggable | Zoffix, Added docker as Rakudo Docker images github.com/perl6/docker | ||
jkva_ | Really fast now, don't need to build in my own Dockerfile! | 19:06 | |
Zoffix | \o/ | 19:07 | |
19:14
woolfy joined
|
|||
Zoffix | woolfy \o/ | 19:17 | |
19:19
AlexDaniel left
|
|||
jkva_ | woolfy \o/ | 19:21 | |
19:24
mcmillhj joined
|
|||
Zoffix | .ask andreoss RE '$*IN.slurp.EVAL'; Would you know of a great way to detect whether the input is being piped to perl6? I googled around and answers say there's no fool-proof way. The other alternative is implementing "silent" line editor, which looks trivial to do, but `RAKUDO_LINE_EDITOR=silent perl6` is even longer than the $*IN/EVAL trick. github.com/rakudo/rakudo/blob/nom/...#L211-L217 | 19:26 | |
yoleaux | Zoffix: I'll pass your message to andreoss. | ||
Skarsnik | Zoffix, hm should there be something to read on 0 if it's piped? | 19:27 | |
Zoffix | No idea. | 19:29 | |
geekosaur | Zoffix, there's no foolproof way even in C | ||
Zoffix | Thanks. | ||
maybe we could add a command-line switch... | 19:30 | ||
geekosaur | the closest you get is if it's not seekable then it's either a pipe or a fifo or a socket | ||
(but you can argue the latter two are special cases of the former) | |||
19:31
ufobat joined
|
|||
Zoffix | geekosaur: would it be sane to check seekability when loading REPL and make it silent if STDIN is not seekable? | 19:32 | |
geekosaur | Zoffix, for a REPL there's a simpler and usually even more correct check: isatty() | 19:33 | |
you generally don;t want verbosity if feeding from a file | |||
Zoffix | geekosaur++ thanks | ||
19:38
Aaronepower joined,
AlexDaniel joined
|
|||
woolfy | \o/ | 19:40 | |
Pictures from The Perl Conference in Amsterdam, by Judith: Day 1: myalbum.com/album/vEDfZPrP8Jp0 ; Day 2: myalbum.com/album/ItlqEDaVG7Xb ; Day 3: myalbum.com/album/vqxcZx4xWb4Y | 19:41 | ||
19:41
Cabanossi left
19:42
cdg joined
19:44
Cabanossi joined
19:48
cdg left
|
|||
Geth | doc: pstuifzand++ created pull request #1473: Fix method name set-name -> set-name-age |
19:49 | |
b2gills | Perhaps a flag could be added for when you don't want to use the REPL | 19:50 | |
skids | Or have -e accept '-' | 19:51 | |
Zoffix | I was thinking of doing the .tty check and checking if RAKUDO_LINE_EDITOR is (if it's not, use the bare REPL) | ||
s/is/is set/; | |||
woolfy: who's the person with one forearm? | 19:52 | ||
jkva_ | Zoffix: Tinita | 19:57 | |
Zoffix | Ah. Thanks. | 19:58 | |
19:59
mcmillhj left
|
|||
Zoffix | woolfy++ nice pics | 20:04 | |
20:05
andreoss joined,
andrzejku_ left
|
|||
aeruder | m: (^5).Supply.batch(elems => 2).tap: *.say | 20:06 | |
camelia | [0 1] [2 3] [4] |
||
aeruder | m: (^5).Supply.batch(elems => 1).tap: *.say | ||
camelia | 0 1 2 3 4 |
||
aeruder | m: (^5).Supply.batch(elems => 2, seconds => 200).tap: *.say | ||
camelia | [0 1] [2 3] [4] |
||
aeruder | m: (^5).Supply.batch(elems => 1, seconds => 200).tap: *.say | ||
camelia | [0] [1] [2] [3] [4] |
||
aeruder | this API drives me insane, I personally think Supply.batch ever returning self just seems broken | 20:07 | |
it seems a pretty reasonable expectation that you'd get lists out of whatever supply it returns | |||
Zoffix | aeruder: I think it returns a new Supply, not self. | 20:08 | |
aeruder | but, it is actually part of the tested spec, so how do I go about proposing to change that | ||
Zoffix: not if elems is 1 and seconds is unspecified | |||
m: my $s = (^5).Supply; say ($s === $s.batch(elems => 1)); | |||
camelia | True | ||
mst | that seems like a trivial optimisation and I don't see how it matters | 20:09 | |
aeruder | except it isn't | ||
timotimo | right | ||
batch is supposed to create one-elemen tlists | |||
aeruder | see the taps up there, now you have to do all kinds of param checking to make sure you're getting lists or not | ||
timotimo | not really | ||
m: say 5.elems | 20:10 | ||
camelia | 1 | ||
aeruder | m: (^5).Supply.batch(elems => 1).tap: *.say | ||
camelia | 0 1 2 3 4 |
||
aeruder | m: (^5).Supply.batch(elems => 1, seconds => 500).tap: *.say | ||
camelia | [0] [1] [2] [3] [4] |
||
timotimo | m: (^5).Supply.batch(elems => 1, seconds => 500).tap(-> @foo { say @foo.perl }); | ||
camelia | [0] [1] [2] [3] [4] |
||
aeruder | why is elems => 1, seconds => undef some special case | ||
timotimo | m: (^5).Supply.batch(elems => 1).tap(-> @foo { say @foo.perl }); | ||
camelia | Type check failed in binding to parameter '@foo'; expected Positional but got Int (0) in block <unit> at <tmp> line 1 |
||
timotimo | there, that's not so great | ||
aeruder | exactly | ||
but it is part of the actual tested spec for perl6 | 20:11 | ||
20:11
TEttinger joined
|
|||
timotimo | so yeah, put the test in 6.c-errata | 20:11 | |
aeruder | so, i'm just wondering how to go about changing this | ||
github.com/aeruder/rakudo/commit/1...e2a94f4736 -- like this | |||
it seems pretty reasonable that batch just always returns a supply that produces lists | 20:12 | ||
Zoffix | aeruder: where's the test located? Is it part of 6.c-errata or just master | ||
s: (^5).Supply, 'batch', \(elems => 1) | 20:13 | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/4af1...ly.pm#L852 | ||
aeruder | it was in some other repo, i'm pretty new to perl6 and the dev process | ||
perl6-roast | |||
skids | Which git branch, is the question. | 20:14 | |
aeruder | github.com/perl6/roast/blob/master...atch.t#L60 | ||
mst | oh, right, I see, sorry | ||
skids | Yeah so the procedure for an test-incompatible change once it is agreed that the test was wrong is to add a test to 6.c-errata which serves to announce that 6.c's tests were wrong. | 20:16 | |
And then also into master afer the fix, IIRC. | |||
(That is, the 6.c-errata branch of roast) | |||
aeruder | who "agrees" in this case? | 20:17 | |
Zoffix | aeruder: submit your PR with the fix and mention that it breaks that test. The test looks wrong to me and if other devs agree, it'll be changed. | ||
timotimo | o/ | ||
aeruder | well, i mean, who.. officially... are the people who need to agree | ||
:) | |||
Zoffix | aeruder: me timotimo jnthn lizmat samcv TimToady moritz AlexDaniel | 20:18 | |
timotimo blushes | |||
i don't belong that early in the list | 20:19 | ||
aeruder | i think i've actually found a whole mess of non-spec problems with Supply.batch fwiw, just getting started somewhere here | ||
samcv | hello | ||
Zoffix | The list is unordered :") | ||
lizmat | aeruder: good catch | ||
looking at it now | |||
timotimo | ^- author of that method | ||
Zoffix | aeruder: FWIW there's #perl6-dev channel where more dev eyes would notice the discussion :) | ||
aeruder | ok, so should i just do a PR on rakudo? and mention that it breaks the tests in roast? | ||
Zoffix | Yeah | ||
aeruder | ok, let me start with that | 20:20 | |
samcv | awesome :) | ||
20:26
Kyo91_ joined
|
|||
Aaronepower | I heard it was easy to use python libraries in perl6 is that true? I want try and use BeautifulSoup in p6 | 20:26 | |
20:27
BenGoldberg joined
|
|||
timotimo | it's pretty easy | 20:27 | |
Zoffix | buggable: eco Inline::Python | ||
buggable | Zoffix, Inline::Python 'Use Python code and libraries in a Perl 6 program': github.com/niner/Inline-Python | ||
Zoffix | Aaronepower: I believe that ^ module is what provides that functionality. | ||
20:27
dwarring joined
|
|||
AlexDaniel | the way it handles non-positive ints is really bothering me | 20:27 | |
timotimo | Aaronepower: perlgeek.de/blog-en/perl-6/2017-01...ython.html and gist.github.com/awwaiid/ef3f0abcfa96e34977b4 are good starting points i'm sure | ||
AlexDaniel | Aaronepower: by the way, why? Are you sure you don't need this? github.com/Skarsnik/perl6-gumbo | 20:28 | |
timotimo | AlexDaniel: what does? | ||
Aaronepower | AlexDaniel: Huh | ||
AlexDaniel | timotimo: .batch: elems => … | ||
0 is identical to 1, negative numbers act like infinity | 20:29 | ||
Aaronepower | AlexDaniel: Well I need something that has a lot of the capabilities of BeautifulSoup. I've found that a lot of libraries never come close. | ||
AlexDaniel | Rats act like infinity | ||
timotimo | oh? | ||
aeruder | AlexDaniel: yea, good point | ||
AlexDaniel | m: Supply.from-list(1..10).batch(elems => 2.5).tap({ .say }) | ||
camelia | [1 2 3 4 5 6 7 8 9 10] | ||
aeruder | AlexDaniel: it really should be using >= rather than == | 20:30 | |
Zoffix | in .comb we do <1 => 1 | ||
m: dd "foobar".comb: -42 | |||
camelia | ("f", "o", "o", "b", "a", "r").Seq | ||
20:30
Kyo91_ left
|
|||
aeruder | yea, i think changing things to >= would have a similar effect | 20:30 | |
AlexDaniel | Aaronepower: go for it then :) I think I've used python-gumbo with BeautifulSoup, it was fine. | 20:31 | |
Aaronepower: (using Inline::Python mentioned above) | |||
m: dd "foobar".comb: 2.5 | |||
camelia | Cannot resolve caller comb(Str: Rat); none of these signatures match: (Str:D $: *%_) (Str:D $: Int:D $size is copy, $limit = *, *%_) (Str:D $: Str $pat, *%_) (Str:D $: Str $pat, $limit, *%_) (Str:D $: Regex:D $pattern, :$mat… |
||
AlexDaniel | well, I'm fine with it complaining | 20:32 | |
Zoffix thinks the entire codebase needs to be combed and decide what's the correct behaviour is for such cases and then do it consistently accross the board. | 20:33 | ||
AlexDaniel | yea | ||
aeruder | pun++ :P | 20:34 | |
AlexDaniel | but we do know that defaulting to Inf is not quite right | ||
20:34
bjz joined
20:36
andreoss left,
cdg joined
|
|||
AlexDaniel | you can still work with it | 20:37 | |
m: (^5).Supply.batch(elems => 2).tap(-> List() $foo { say $foo.join(‘|’) }) | |||
camelia | 0|1 2|3 4 |
||
AlexDaniel | m: (^5).Supply.batch(elems => 1).tap(-> List() $foo { say $foo.join(‘|’) }) | ||
camelia | 0 1 2 3 4 |
||
20:38
cdg left
|
|||
AlexDaniel | using .list on something is a fairly common idiom if you expect one thing or a list of things at the same time | 20:38 | |
20:39
cdg joined
|
|||
woolfy | Zoffix: not my pics, but by Judith de Hont, the conference's communications officer. :-) | 20:42 | |
AlexDaniel | greppable: batch | 20:46 | |
greppable6 | AlexDaniel, gist.github.com/56c24fbbc311ccddfa...ac370ed576 | ||
Zoffix | Noted | ||
20:46
cdg left
|
|||
AlexDaniel | Not exactly what I was looking for… “NA-NA-NA-NA-BATCHFILE!” | 20:47 | |
aeruder | been a while, forgot that github auto-updated the pull request everytime i updated the remote branch D: | 20:59 | |
21:01
bjz left
|
|||
AlexDaniel | lizmat: I don't understand your question. The check that was mentioned causes “flush” to happen | 21:04 | |
lizmat | ah, ok, if you accept $elems to be < 1 | 21:05 | |
aeruder | also to handle rational (2.3) | ||
in a reasonable way | |||
AlexDaniel | ah, now I understand the question | 21:06 | |
lizmat | Int(Cool) :$elems would do that also | ||
AlexDaniel | hm, that sounds like a better way to approach it | 21:07 | |
aeruder | I also use it because right now I'm defaulting the batch size to 0 in the case of !$elems | ||
because in the timeout case, there is a distinction between 0 and 1, but in the non-timeout case there isn't | 21:08 | ||
could make that more explicit tho | |||
aeruder is still trying to figure out how to run tests correctly in roast :-/ | 21:09 | ||
21:11
Cabanossi left
|
|||
Skarsnik | Aaronepower, duuno Beautifulsoup lookpretty standard | 21:11 | |
Aaronepower | Skarsnik: Stuff like removing and stripping elements from the in memory tree is something that is usually missing. | 21:12 | |
AlexDaniel | don't we have that in XML? | 21:13 | |
Skarsnik | Could be added to the XML module | ||
but I think XML has method for that? | |||
21:13
Cabanossi joined
|
|||
Skarsnik | and I added stuff in gumbo to prefilter stuff | 21:14 | |
21:14
ufobat left,
BenGoldberg left
|
|||
Aaronepower | AlexDaniel: Can XML handle html5? | 21:14 | |
Skarsnik | no | ||
AlexDaniel | Aaronepower: no, that's what Gumbo is for | ||
Skarsnik | not its job | 21:15 | |
Aaronepower | AlexDaniel: Oh, your comment implied that XML could do that for HTML | ||
AlexDaniel | Aaronepower: Gumbo module gives you XML::Document, so everything XML has applies | ||
tinita waves to Zoffix | |||
AlexDaniel | Skarsnik: hm, but what if you want to get html5 back? | 21:17 | |
Skarsnik | good question | ||
AlexDaniel | Skarsnik: like change something and then have everything else roundtrip | ||
Skarsnik | does not look like gumbo has an api for writing | 21:18 | |
Zoffix | tinita: oh cool :) You're in #perl6 | 21:19 | |
tinita | Zoffix: =) | 21:22 | |
have to get back to learn more perl6 actually | 21:23 | ||
Skarsnik | AlexDaniel, probably need to find another lib? but generating html5 should be easier than generating it | ||
21:35
Ven`` left
21:36
emeric left,
lichtkind left
|
|||
AlexDaniel | Skarsnik: I think so too. But we have nothing in the ecosystem yet | 21:37 | |
21:38
ParsonsNose joined
21:43
woolfy left
21:45
smls_ left
21:46
andreoss joined
21:54
zakharyas joined
21:59
committable6 left
22:02
committable6 joined
22:09
lancew_ left
22:12
_cronus joined
|
|||
_cronus | hello everybody. Is there a way to get an element from (1..16).permutations without calculating all the previous permutations? | 22:13 | |
Skarsnik | sounds like something that could be done with lazy list? | 22:16 | |
andreoss | m: (1..10).permutations.^name.say | 22:22 | |
yoleaux | 19:26Z <Zoffix> andreoss: RE '$*IN.slurp.EVAL'; Would you know of a great way to detect whether the input is being piped to perl6? I googled around and answers say there's no fool-proof way. The other alternative is implementing "silent" line editor, which looks trivial to do, but `RAKUDO_LINE_EDITOR=silent perl6` is even longer than the $*IN/EVAL trick. github.com/rakudo/rakudo/blob/nom/...#L211-L217 | ||
camelia | Seq | ||
andreoss | m: (1..10).permutations.lazy.^name.say | 22:23 | |
camelia | Seq | ||
Skarsnik | fun | 22:24 | |
_cronus | Skarsnik, andreoss: thanks | 22:25 | |
22:27
Kyo91_ joined,
Skarsnik left
22:28
nadim left
|
|||
_cronus | Skarsnik, andreoss: any pointers where I can find more info on lazy lists in the docs? I know I've seen it somewhere, but for some reason I can't find it. | 22:29 | |
andreoss | my point is you probably cannot calculate an element non sequentially | 22:30 | |
22:31
Kyo91_ left
|
|||
andreoss | github.com/rakudo/rakudo/blob/nom/...r.pm#L2296 | 22:32 | |
22:37
nadim joined
|
|||
_cronus | andreoss: thanks again. | 22:39 | |
22:42
_cronus left
22:45
margeas left
22:58
zakharyas left
23:02
wamba left
|
|||
AlexDaniel | aeruder++ | 23:05 | |
aeruder: are you planning to submit roast PR too? | 23:08 | ||
23:12
Cabanossi left
23:13
Cabanossi joined
23:27
MilkmanDan left
23:29
cdg joined,
MilkmanDan joined
23:30
rindolf left
23:33
cdg left,
cdg joined
|
|||
AlexDaniel | what is the easiest way to getppid? | 23:51 | |
23:56
snarkyboojum joined
23:59
census joined,
BenGoldberg joined
|