»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
lizmat joined
00:02
raschipi left
00:03
labster joined
00:04
lizmat left,
mcmillhj left
00:10
mcmillhj joined
00:14
Cabanossi left
00:15
mcmillhj left
00:16
Cabanossi joined
00:40
pierre_ joined
00:45
Cabanossi left
00:46
Cabanossi joined
00:51
Actualeyes left
01:11
AlexDaniel left
01:18
Actualeyes joined
01:31
Mebel joined
01:37
Mebel left
01:44
Cabanossi left
01:45
itsame left
01:46
ilbot3 left,
Cabanossi joined
01:48
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:02
Grauwolf left
02:15
Cabanossi left
02:16
Cabanossi joined
02:30
itsame joined
02:38
itsame left
02:44
Cabanossi left
02:46
Cabanossi joined
03:12
Cabanossi left
03:15
Cabanossi joined
03:16
itsame joined
03:33
mcmillhj joined
03:37
mcmillhj left
03:40
Actualeyes left,
itsame left
03:43
Cabanossi left
03:45
Cabanossi joined
03:46
khw left
|
|||
Geth | doc: 50b6194e5f | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Supply.pod6 Fix signature of sub signal(....) s/@*signals/*@signals/ and add the default for :$scheduler = $*SCHEDULER |
03:56 | |
04:00
Actualeyes joined
04:02
pierre_ left
04:04
pierre_ joined
04:06
wamba joined
04:07
pierre_ left
04:09
pierre_ joined
04:11
mcmillhj joined
04:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:15
mr-foobar left
04:16
mcmillhj left,
mr-foobar joined
04:22
skids left
04:24
lizmat joined
04:25
mcmillhj joined
04:29
lizmat left,
mcmillhj left
04:35
mcmillhj joined
04:42
mcmillhj left
04:43
Cabanossi left
04:45
Cabanossi joined
04:53
curan joined
04:57
xtreak joined
05:04
pierre_ left
05:07
itsame joined
05:34
lowbro joined,
lowbro left,
lowbro joined
05:42
Cabanossi left
05:45
Cabanossi joined
05:49
BenGoldberg left
05:56
CIAvash joined
05:59
pierre_ joined
06:08
lizmat joined
06:13
lizmat left
06:14
Cabanossi left
06:15
Cabanossi joined
06:19
lowbro left,
aborazmeh left,
wamba left,
Actualeyes left,
daxim left,
huggable left,
CIAvash[m] left,
lowbro_ joined,
Grauwolf joined,
Grauwolf left,
Grauwolf joined,
daxim joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
06:20
Actualeyes joined
06:21
wamba joined
06:23
CIAvash[m] joined
06:32
jonas1 joined
06:42
Cabanossi left
06:45
Cabanossi joined
06:47
mcmillhj joined
06:49
domidumont joined
06:51
aborazmeh left
06:52
mcmillhj left
06:53
domidumont left
06:54
domidumont joined
06:58
andrzejku joined
07:04
abraxxa joined
07:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
07:10
mcmillhj joined
07:11
rindolf joined
07:13
wamba left,
Cabanossi left
07:14
wamba joined
07:15
anton_p joined,
Cabanossi joined
07:17
mcmillhj left
07:27
wamba left
07:28
wamba joined
07:32
robertle_ left
07:34
zakharyas joined
07:35
dogbert17 left
07:39
aborazmeh left
07:46
lizmat joined
07:51
lizmat left
07:52
mcmillhj joined,
lizmat joined
07:57
parv joined
08:00
mcmillhj left
08:03
g4 joined
08:06
vytas left
08:07
geekosaur left
08:09
geekosaur joined
08:10
geekosaur left
08:11
geekosaur joined
08:12
sena_kun joined
08:13
domidumont left
08:15
xtreak left,
xtreak joined
08:17
geekosaur left,
xtreak left,
geekosaur joined
08:18
xtreak joined
08:23
cpage_ left,
cpage left
08:25
geekosaur left
08:26
geekosaur joined
08:29
cpage_ joined
08:33
raiph left,
raiph joined
08:35
wamba left
|
|||
El_Che | moritz: It seems congratulations are in order! | 08:35 | |
08:37
lizmat left
|
|||
moritz | El_Che: hm? | 08:42 | |
El_Che | moritz: www.apress.com/gp/book/9781484228982 | ||
moritz: saw it on perl weekly. I thought you were working on an ebook only edition | 08:43 | ||
moritz | El_Che: thanks! The ebook was basically the work-in-progress/prototype | ||
El_Che: and I considered whether to go through the hassle of creating a dead tree book when apress contacted me | |||
El_Che | yeah, I missed the part when you got a publisher | ||
moritz El_Che also thanks for your feedback re Docker deployment | 08:44 | ||
erm, that was meant to go into privmsg | |||
El_Che | you bastard ( :) ) triggered me to work on a the alpine packages | ||
almost there, rakudo compiles fine now, but the packaging dies (ruby prob) | 08:45 | ||
all related to alpine not using libc by default | |||
moritz | El_Che: the most awesome thing thing would be alpine + rakudo + zef | ||
El_Che | almost there | ||
really, the difficult part is done | |||
moritz | because that could be the basis for deploying p6 apps | ||
08:46
wamba joined
|
|||
El_Che | going to a full pkg of a few dozens of megabytes from 300mb is a huge win | 08:46 | |
08:46
andrzejku left
|
|||
El_Che | I am at the place where I now can create the pkg if I want, but I want it to be integrated with the build process of the other packages (so I don't have to do it manually) | 08:49 | |
08:54
vytas joined
08:59
Cabanossi left,
ufobat joined
09:00
Cabanossi joined
09:04
geekosaur left,
geekosaur joined
09:08
geekosaur left,
geekosaur joined
|
|||
stmuk_ | I thought alpine had stack smashing protection which broke moar? is that fixed in moar? | 09:12 | |
09:13
anton_p left
|
|||
El_Che | stmuk_: it's compiled and tests pass (haven't used it beyond that) | 09:18 | |
09:21
xtreak left
09:22
xtreak joined,
xtreak left
09:23
xtreak joined
09:24
timeless left,
timeless joined
|
|||
stmuk_ | cool | 09:24 | |
09:25
sena_kun left
|
|||
El_Che | stmuk_: lots of trial and error though | 09:31 | |
stmuk_ | I feel your pain :) | 09:32 | |
09:33
itsame left
09:41
mxco86 joined
09:42
AlexDaniel joined
09:47
Actualeyes left,
ChoHag left
09:54
Spot__ left,
Spot__ joined
10:00
stmuk joined
10:01
stmuk_ left
10:06
wamba left
10:07
itsame joined
10:11
Actualeyes joined
10:12
xtreak left,
xtreak joined
10:14
itsame left
10:15
xtreak left,
geekosaur left,
xtreak joined
10:17
geekosaur joined,
parv left
10:21
pmurias joined
10:22
wamba joined
10:25
zakharyas left
10:27
zakharyas joined
10:35
labster left
10:36
bubble1994 joined
10:37
astj left,
astj joined,
CIAvash left
|
|||
eater | m: for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2; | 10:38 | |
camelia | 0 ay 1 2 3 4 5 6 7 8 9 10 | ||
eater | hehe | ||
you can create an fake return/break statement in a start block, by wrapping it in a for | 10:39 | ||
10:40
astj left,
astj joined
10:41
gregf_ joined
|
|||
timotimo | for a real return you'd have to start a sub | 10:44 | |
m: say await do for ^10 -> $i { start sub test { return "hey" if $i == 4; $i } } | 10:45 | ||
camelia | (sub test () { #`(Sub|59247176) ... } sub test () { #`(Sub|59247328) ... } sub test () { #`(Sub|59247480) ... } sub test () { #`(Sub|59247632) ... } sub test () { #`(Sub|59247784) ... } sub test () { #`(Sub|59247936) ... } sub test () { #`(Sub|59248088) … | ||
timotimo | but not like that | ||
m: say await do for ^10 -> $i { start sub test { return "hey" if $i == 4; $i }() } | |||
camelia | (0 1 2 3 hey 5 6 7 8 9) | ||
eater | timotimo: I know now but I found this when I didn't know :') | 10:47 | |
AlexDaniel | m: say await do for ^10 -> $i { start anon sub { return "hey" if $i == 4; $i }() } | ||
camelia | (0 1 2 3 hey 5 6 7 8 9) | ||
AlexDaniel | m: say await do for ^10 -> $i { start sub { return "hey" if $i == 4; $i }() } | ||
camelia | (0 1 2 3 hey 5 6 7 8 9) | ||
10:47
colomon left
|
|||
timotimo | honestly, i'm surprised the "last" in there doesn't make things explode | 10:47 | |
AlexDaniel | yes | 10:48 | |
timotimo | oh | 10:49 | |
i know | |||
m: say await do for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; | |||
camelia | 0 ay 1 2 3 4 5 6 7 8 9 10 Must specify a Promise, Channel, or Supply to await on (got a Bool) in block <unit> at <tmp> line 1 |
||
timotimo | m: .perl.say for do for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; | ||
camelia | 0 ay 1 2 3 4 5 6 7 8 9 10 Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True Bool::True |
||
10:49
colomon joined
|
|||
AlexDaniel | c: releases for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2; | 10:49 | |
timotimo | huh. | ||
committable6 | AlexDaniel, ¦2015.12,2016.03,2016.06,2016.11,2017.01,2017.02,2017.04.3: «0 ay 1 2 3 4 5 6 7 8 9 10 » ¦2016.01.1,2016.02,2016.04,2016.05,2016.07.1,2016.08.1,2016.09,2016.10,2017.03: «ay 0 1 2 3 4 5 6 7 8 9 10 » ¦2016.12,HEAD(3f7d133): «0 1 ay 2 3 4 5 6 7 8 9 10 » | 10:50 | |
AlexDaniel | uh, it's just random I guess | ||
timotimo | i was expecting the "last" would instead of doing anything throw an exception a la "can't last without a loop" | ||
eater | AlexDaniel: the ay position? | 10:51 | |
AlexDaniel | eater: yea | ||
eater | because that's just CPU timing | ||
AlexDaniel | sure | ||
timotimo | oh wait, there's an "if $i eq 0" after the start { } | ||
that threw me for a loop | |||
eater | haha | ||
timotimo | so it only really starts one single task there for printing the numbers | ||
that's also why it returns True for all the iterations | 10:52 | ||
eater | ye | ||
timotimo | m: for (0..10) -> $i { say await start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2; | ||
camelia | ay ===SORRY!=== last without loop construct |
||
timotimo | there's that exception i meant | ||
eater | hahaha | ||
timotimo | so the "last" could just be a "die 'oh no'" instead | ||
for the basically exact same effect | |||
eater | m: for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; }.then({ say $_; }) if $i eq 0; print $i ~ " "; }; sleep .2; | 10:53 | |
camelia | ay 0 1 2 3 4 5 6 7 8 9 10 Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Broken) | ||
eater | threads silently fail | ||
so there is your answer | |||
timotimo | if you don't await them, the scheduler is supposed to tell you about an unhandled exception | ||
oh, maybe the uncaught handler is "Callable" as in "an undefined Callable" | 10:54 | ||
m: say $*SCHEDULER.uncaught_handler() | |||
camelia | (Callable) | ||
timotimo | m: say $*SCHEDULER.uncaught_handler()() | ||
camelia | Cannot invoke this object (REPR: Uninstantiable; Callable) in block <unit> at <tmp> line 1 |
||
timotimo | yeah | ||
eater | hmm | ||
timotimo | i thought it had one by default that prints exceptions out | ||
eater | that should be fixed | ||
AlexDaniel | what was the NYI return equivalent for non-subs? | ||
timotimo | "leave" | 10:55 | |
AlexDaniel | yea! | 10:56 | |
timotimo | "no, i was telling you to leave!" :P | ||
eater | >leave not yet implemented. Sorry. | ||
timotimo: :D | 10:57 | ||
10:57
Cabanossi left
|
|||
AlexDaniel | RT #124960 | 10:57 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=124960 | ||
AlexDaniel | a bunch of tests here github.com/perl6/roast/blob/d1baf2...ts/leave.t | 10:58 | |
there were so many times I needed this… :'( | |||
10:59
pierre_ left
11:00
Cabanossi joined
|
|||
eater | leave even has an return value | 11:01 | |
moritz | implement it! | ||
eater | DAMN | ||
daxim | raiph, <redd.it/69kdit#dha2bq5> | 11:07 | |
11:11
rindolf left
|
|||
eater | moritz :s give me time to figure out how the internals even work | 11:11 | |
AlexDaniel | .oO( sigspace? ) |
11:12 | |
timotimo | mamot.fr/users/cdc/updates/165666 | ||
moritz | eater: ok | 11:19 | |
eater | timotimo: that // next; | 11:21 | |
so dirty :') | |||
timotimo | i don't think it's dirty :) | ||
however | |||
that skips over the sleep, so it'll retry very fast very often | |||
eater | yeah | 11:23 | |
I just wanted to toot that | 11:24 | ||
timotimo | if you wanna toot it, toot it, otherwise i will toot the toot | ||
moritz | eater: ... time's up :-) | 11:25 | |
timotimo | moritz so pushy today ) | ||
;) | |||
eater | moritz: :s | ||
11:28
ChoHag joined
|
|||
AlexDaniel | .oO( does not look like moritz git push-ed a lot today, so maybe not so much :P ) |
11:32 | |
11:33
astj left
11:34
astj joined,
astj left,
astj joined
|
|||
jnthn | timotimo: fwiw, if you don't await a Promise then the exceptions vanish; so far as the scheduler is concerned the exception has handled because it was caught and shoved into the Promise. | 11:35 | |
*was handled | |||
timotimo | jnthn: of course, but before i put an await there it still exceptioned | ||
we create $*SCHEDULER with just ThreadPoolScheduler.new | 11:36 | ||
we don't pass an uncaught_handler, and there's no default value for uncaught_handler either | |||
i seem to recall we used to have an uncaught handler, so i wonder why it's gone now | |||
11:36
ChoHag left
|
|||
jnthn | I thought we would stack trace and exit | 11:37 | |
timotimo | oh, *exit*, even? | ||
well, we can certainly implement that | |||
jnthn | If there's no uncaught_handler | ||
timotimo | oh! | ||
let me look | |||
jnthn | m: $*SCHEDULER.cue: { die "oops" }; sleep 2 | ||
camelia | Unhandled exception in code scheduled on thread 3 oops in block at <tmp> line 1 |
||
jnthn | Like that | ||
Seems it's already working | |||
timotimo | huh | 11:38 | |
jnthn | m: $*SCHEDULER.cue: { die "oops" }; sleep 2; say 'never here' | ||
camelia | Unhandled exception in code scheduled on thread 3 oops in block at <tmp> line 1 |
||
timotimo | m: start { die "oh no" }; sleep 2 | ||
camelia | ( no output ) | ||
11:38
ChoHag joined
|
|||
timotimo | ah | 11:38 | |
i re-read your message and now it makes sense | |||
maybe what i was remembering was related to sinking promises? | 11:39 | ||
jnthn | Maybe, but we never decided on that :) | ||
timotimo | okay, no decision | ||
yeah i can imagine that | |||
Geth | doc: f897a9c7ab | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/rb-nutshell.pod6 Fix incorrect output in example Fixes #1299 |
||
jnthn | If we do anything, then it may just be for a syntactic `start` in void context that gets the special handling, though. | ||
11:39
itaipu joined
|
|||
timotimo | ah, we already special-compile start | 11:40 | |
so we can totally figure out if it's being sunk | |||
jnthn | Meanwhile, I just fixed IO::Socket::Async::SSL to handle verification when sites use wildcards in the certificates. :) | ||
llfourn | jnthn++ | 11:41 | |
timotimo | sweet | ||
11:42
anton_p joined
11:49
astj left
11:53
raschipi joined
11:59
xtreak left,
xtreak joined
12:02
wamba left
12:09
pierre_ joined,
nadim_ joined,
stmuk_ joined
|
|||
nadim_ | hi, (^10). pick is pick one from the list 0..9 but what is (^10.pick)? | 12:10 | |
llfourn | m: say ^10.pick, ^10.pick | 12:11 | |
camelia | Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at <tmp>:1 ------> 3say ^107⏏5.pick, ^10.pick Precedence of ^ is looser than method call; please parenthesize at <tmp>:1 ---… |
||
12:11
stmuk left
|
|||
llfourn | nadim_: an error? | 12:12 | |
12:12
jonas1 left,
geekosaur left
|
|||
nadim_ | no, it did generate something for me, a 11MB html file instead for a 75 KB file | 12:13 | |
12:13
itsame joined
|
|||
raschipi | m: (^10). pick | 12:13 | |
camelia | ( no output ) | ||
raschipi | m: say (^10). pick | ||
camelia | 7 | ||
timotimo | m: say 10.pick; say 10.pick; say 10.pick | ||
llfourn | m: say ^(10.pick), ^(10.pick) | ||
camelia | 10 10 10 |
||
^10^10 | |||
timotimo | 10.pick is handled like [10].pick | 12:14 | |
so ^10.pick is the same as ^10 | |||
nadim_ | I still don't get it. does it .pick for all the elements generated by ^10? | 12:15 | |
timotimo | no | ||
12:15
geekosaur joined
|
|||
raschipi | It' a question of precedence. | 12:15 | |
timotimo | it picks all the elements generated by 10 | ||
which is just a single element, namely 10 | 12:16 | ||
when you pick a random element out of one elements, you'll always get that single element | |||
raschipi | It's about what happens first. | ||
timotimo | that's why ^10.pick is the same as ^10 | ||
nadim_ | I had (^10_000.pick), and I go more numbers than I wanted | ||
timotimo | yeah, that'll give you 10_000 numbers, from 0 to 9_999 | 12:17 | |
you need to either put a space in front of .pack so it'll make the precedence a little less tight, or put parethesis around (^10_000) | |||
nadim_ | that's done, long tome ago, just wanted to make sure what the second did | 12:18 | |
timotimo | did you get that error message? | ||
nadim_ | I got no error message | 12:19 | |
are you sure it is 10_000 number? | |||
m: say (^10.pick) | |||
camelia | Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at <tmp>:1 ------> 3say (^107⏏5.pick) ^10 |
||
nadim_ | I'll re-run the code, maybe I missed the error | ||
no error message, my rakudo is a week old or so | 12:20 | ||
timotimo | really strange | 12:21 | |
perhaps precompilation-related? | |||
i.e. you only got the error during installation and it just re-uses the generated code without giving you the error over and over | |||
nadim_ | it's my code, and it gets re-run | 12:22 | |
timotimo | perhaps i can look into it; you got a link to that? | 12:23 | |
nadim_ | I'll push it to github a bit later and will tell you where it is | ||
that will test Data::Dump::Tree::DHTML on another box too. | 12:24 | ||
12:24
Woodi_ is now known as Woodi
|
|||
nadim_ | BTW, anyone having a big data structure to dump? | 12:24 | |
12:24
pmurias left
12:25
pmurias joined
|
|||
timotimo | heh. heh. heh. heh. | 12:25 | |
i have a terrible idea :P | |||
you know you can --profile --profile-filename=foobar.json? | |||
MasterDuke_ | heh, i was thinking the same thing... | 12:26 | |
timotimo | MasterDuke_: profiler work ruined us | ||
llfourn | what's the state of the profiler? | 12:27 | |
nadim_ | that sounds like a good idea actually | ||
it will be huge that's for sure | |||
timotimo | llfourn: i wanted to make a TUI interface for the profiler. it didn't get very far yet, just a little bit | ||
llfourn | TUI? | ||
timotimo | Terminal User Interface | ||
nadim_ | curses | 12:28 | |
timotimo | not curses in my case | ||
llfourn | ah ok. But it can output to json? | ||
12:28
astj joined
|
|||
nadim_ | tput?! | 12:28 | |
llfourn | (or is that what it always did and the angular thing just read from it...) | ||
timotimo | nope, straight up just ansi escapes and newlines | ||
MasterDuke_ | llfourn: the default output is json data wrapped in html, but you can get it to exclude the html | ||
timotimo | it can output to json, but that's not cool | ||
MasterDuke_ | or as sql statements | 12:29 | |
timotimo | we now have an output mode that spits out sql in sqlite compatible format | ||
thanks to MasterDuke_ over here | |||
llfourn | nice. | ||
timotimo | i had uploaded a few screenshots to imgur, but imgur is currently "over capacity" | ||
llfourn goes to try it | |||
12:29
astj left
|
|||
timotimo | llfourn: github.com/perl6/nqp/pull/354#issu...-296382898 - check this out, too | 12:31 | |
12:31
astj joined
|
|||
timotimo | though i think we renamed a few of the fields in between that pr and now? | 12:31 | |
12:32
astj left
|
|||
MasterDuke_ | yep | 12:32 | |
12:32
astj joined
|
|||
llfourn | --profile --profile-filename=tmp.json # malloc: *** error for object 0x7f8d6cb0c200: incorrect checksum for freed object - object was probably modified after being freed. | 12:33 | |
MasterDuke_ | i was going to update the docs page with some of those examples, but i don't think 2017.04 included that PR (or the subsequent one that renamed some fields) | ||
llfourn: were you trying to profile something multi-threaded? | 12:34 | ||
llfourn | MasterDuke_: there are no start blocks | 12:35 | |
timotimo | is there async i/o? | ||
llfourn | There is asyncio in the base but I don't think it hit any of it | ||
timotimo | hm, okay | 12:36 | |
interesting | |||
llfourn | there is also a signal().tap but I don't think I hit that eithert | ||
timotimo | that'd also call the i/o thread to be spawned | ||
cause* | |||
12:36
xtreak left
|
|||
MasterDuke_ | timotimo: speaking of such things, any further ideas on how to gather profile data from multiple threads? | 12:37 | |
timotimo | we'll need a mechanism to stop other threads from running | ||
the gc has something very similar already | 12:38 | ||
but the orchestrate code is a wee bit scary | |||
llfourn | RTs for profiling go to [email@hidden.address] | ||
timotimo | hmm, not sure | ||
i'd put it in moarvm/moarvm if it's a memory-corruption issue like the one you had | 12:39 | ||
can you run it with perl6-valgrind-m and try to reproduce the issue? | |||
llfourn goes to do that | |||
timotimo | cool | ||
llfourn has to install valgrind | 12:40 | ||
MasterDuke_ | llfourn: you'll also get more useful results if your moarvm is compiled with --debug=3 | 12:41 | |
timotimo | oh, right, that too | ||
otherwise probably no funciton names or anything | 12:42 | ||
llfourn | yeah I will give this a go tomorrow and re-setup my debug rakudo build :) | ||
timotimo | okay, thanks for your cooperation! | ||
llfourn | thanks for your assistance! | 12:43 | |
timotimo | it's what give my life meaning! ;) | ||
llfourn | ^_^ | 12:44 | |
Woodi | hi today :) | ||
12:45
Cabanossi left,
Cabanossi joined
|
|||
Woodi | I have rakudo compiled to /opt/lib/some/where and -e sayHalloWorld tries to open every .moar in ./ and blib/ and *then* it finds it in installation location... for users installation 2/3 stat64 calls can be removed... | 12:48 | |
timotimo | how many of those are there? | ||
Woodi | and there are *lots* of ModuleLoader.moravm lstat64 calls... all failed. my build is broken ? | 12:50 | |
timotimo: 3 per .moarvm file | |||
maybe just @*LIB or something can be fixed ? | 12:51 | ||
nadim_ | How do I not pick the same number twice form a list? do I need to remove the picked number manually or is there a niffty way to do it? | 12:52 | |
moritz | nadim_: .roll | ||
m: say ('a'..'z').roll(5) | |||
camelia | (m a z o x) | ||
timotimo | nadim_: you need to .pick(amount) | 12:53 | |
that'll give you elements without putting them back in the pool it picks from | |||
but once the .pick is over the original data structure won't have changed | |||
nadim_ | thanks | ||
timotimo | so .pick, .pick, .pick can give you the same element three times | ||
nadim_ | ah! | ||
12:54
mcmillhj joined
|
|||
MasterDuke_ | m: say (^10).BagHash.grab(3) | 12:55 | |
camelia | [1 4 5] | ||
nadim_ | so I need to manually handle it if I have, say, $l = ^10 ; $l.pick; $l.pick ? | ||
AlexDaniel | BagHash ↑ | 12:56 | |
MasterDuke_ | m: my $a = (^10).BagHash; say $a.grab(3); dd $a | ||
camelia | [8 5 1] BagHash $a = (9=>1,0=>1,4=>1,3=>1,7=>1,6=>1,2=>1).BagHash |
||
12:56
geekosaur left
|
|||
AlexDaniel | m: my $x = (^5).BagHash; say $x.grab(NaN); say $x | 12:56 | |
camelia | [3 4 0 1 2] BagHash.new() |
||
AlexDaniel | \:-o | 12:57 | |
timotimo | oh lord :) | ||
12:57
geekosaur joined
12:59
rindolf joined,
itaipu left
|
|||
AlexDaniel | not sure why this happens | 13:00 | |
m: my $x = (^5).BagHash; say $x.pick(NaN); say $x | 13:01 | ||
camelia | (4 3 2 1 0) BagHash.new(1, 0, 4, 3, 2) |
||
timotimo | it's removing until $num-removed == $num-to-take? | ||
AlexDaniel | yea but… | ||
m: my $x = (^5).BagHash; say $x.pick(-Inf); say $x | |||
camelia | This type cannot unbox to a native integer: P6opaque, Num in block <unit> at <tmp> line 1 |
||
AlexDaniel | then this would have worked also? | 13:02 | |
timotimo | oh, huh | ||
AlexDaniel | alright, RT #131270 | 13:05 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131270 | ||
13:05
curan left
|
|||
AlexDaniel | fucking NaNs :) | 13:06 | |
13:07
breinbaas joined,
breinbaas left,
breinbaas joined
|
|||
MasterDuke_ | should probably mention it to lizmat since she's been doing all that work on bag/set recently | 13:09 | |
13:09
itaipu joined
|
|||
AlexDaniel | well, this is an old “feature” | 13:11 | |
13:11
curan joined
|
|||
AlexDaniel | but sure | 13:11 | |
.tell lizmat MasterDuke said that you may be interested in RT #131270 | 13:12 | ||
yoleaux | AlexDaniel: I'll pass your message to lizmat. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131270 | ||
13:14
Cabanossi left
13:15
Cabanossi joined
13:16
pmurias left,
itsame left
13:18
skids joined
13:28
robertle joined
|
|||
robertle | m: say [{ a => '1'}].perl | 13:30 | |
camelia | [:a("1")] | ||
robertle | m: say [{ a => '1'},].perl | ||
camelia | [{:a("1")},] | ||
robertle | is that implicit flattening of the inner expected? desired? I find it kinda surprising... | ||
13:32
itsame joined
|
|||
raschipi | m: say [{ a => '1'}].WHAT | 13:33 | |
camelia | (Array) | ||
13:34
lowbro_ is now known as lowbro,
lowbro left,
lowbro joined
|
|||
timotimo | yes, it's the "single argument rule" | 13:35 | |
it's what makes it possible to have [<foo bar baz>] | |||
nadim_ | what's the name of STDOUT in the P6 world? *STDOUT ? to put it in a documentation | ||
timotimo | $*OUT | 13:36 | |
docs.perl6.org/language/variables#...-%24%2AOUT | 13:37 | ||
nadim_ | \o/ | ||
robertle | timotimo: right, got it now and found S07 that explains it nicely. powerful, but running with knives... | ||
timotimo | the "stdout" in there should be searchable | ||
haxmeister | is anyone aware of a module that will help me parse javascript generated pages? | 13:49 | |
nadim_ | HTML::Parser maybe | 13:50 | |
eater | timotimo: what is the use of [<1 2 3>]? | 13:54 | |
AlexDaniel | haxmeister: what does that mean? | 13:58 | |
timotimo | eater: makes an array with the stuff in the list | ||
eater | timotimo: what does <> make then? | ||
AlexDaniel | eater: a List | ||
eater | ah, list vs array? | ||
AlexDaniel | yep | ||
13:59
abraxxa left
|
|||
AlexDaniel | m: say <1 2 3>.Array | 13:59 | |
camelia | [1 2 3] | ||
AlexDaniel | this works too | ||
eater | thanks | 14:00 | |
AlexDaniel | m: say Array(<1 2 3>) | ||
camelia | [1 2 3] | ||
14:01
curan left
14:04
huggable joined,
ChanServ sets mode: +v huggable
|
|||
AlexDaniel | huggable: hug all | 14:04 | |
huggable hugs all | |||
AlexDaniel | huggable: hug me | 14:05 | |
huggable hugs me | |||
AlexDaniel | right… | ||
ilmari | huggable: hug the abyss | 14:06 | |
huggable hugs the abyss | |||
14:06
kurahaupo joined
|
|||
gregf_ | m: [<1 2 3>,[1,2,3]].map: {$^a.^name.say} | 14:08 | |
camelia | List Array |
||
14:10
wamba joined
14:19
wamba left
14:26
g4 left
14:27
araraloren joined
14:31
cdg joined
14:35
lowbro left
14:44
Cabanossi left
14:45
Cabanossi joined
14:48
jnap_ left
14:49
jnap_ joined,
abraxxa joined
14:55
abraxxa left
14:59
pierre_ left,
sufrostico joined
15:08
nicq20 joined
|
|||
nicq20 | Hi \o | 15:08 | |
15:12
cyphase left
|
|||
AlexDaniel | hello | 15:12 | |
araraloren | o\ | 15:13 | |
15:14
Cabanossi left,
geraud left,
geraud joined
15:15
Cabanossi joined
15:16
khw joined,
cyphase joined
15:17
espadrine joined
15:18
nadim_ left
15:19
parisba joined
|
|||
haxmeister | AlexDaniel: I want to get into data scraping from the web.. but these days the pages are often generated with javascript and the source of the page will be a lot of hard to follow javascript mumbo jumbo. some provide an API with json but most do not provide such to the public | 15:20 | |
AlexDaniel: I need to have a useragent that will process the javascript ideally | |||
AlexDaniel | haxmeister: well, if you are able to get some HTML out of it, then Gumbo is the answer. If not, then Selenium::WebDriver | 15:21 | |
haxmeister | selenium::webdriver?... that perl6 ready of course? | 15:22 | |
AlexDaniel | (so github.com/Skarsnik/perl6-gumbo and github.com/azawawi/perl6-selenium-webdriver) | ||
haxmeister | ty AlexDaniel | ||
AlexDaniel | I tried Selenium::WebDriver a day or two ago and wasn't able to get it to work | 15:23 | |
but you'll probably have better luck :) | |||
15:28
abraxxa joined
15:29
st_elmo joined,
kyan joined
|
|||
haxmeister | AlexDaniel: maybe I will.. only thing that sucks for me is gentoo's package manager isn't worked out for perl6 very good these days.. it's been recommended that I manually download and install modules | 15:30 | |
AlexDaniel | haxmeister: hm, why not install zef and let it manage the thing? | ||
haxmeister | AlexDaniel: well using separate package managers can cause issues in a source distribution | 15:31 | |
15:31
raschipi_ joined
15:32
raschipi left
|
|||
haxmeister | AlexDaniel: provisions were made for perl5 to make portage handle the module installs.. but there is some issue that is adding complexity with perl6 modules.. can't quite remember what it was | 15:33 | |
15:35
itsame left
15:43
Matthew[m] left,
unclechu left,
tadzik left,
wictory[m] left,
ilmari[m] left,
mienaikage left,
CIAvash[m] left,
M-Illandan left,
dp[m] left,
xui_nya[m] left
15:44
geraud left,
geraud joined
15:46
tadzik joined
|
|||
haxmeister | AlexDaniel: ok I asked again.. there is the issue with the module names being converted to hashes.. and some modules needing modules to install a module in a circular type fashion | 15:46 | |
AlexDaniel | \:-o | 15:47 | |
really don't see how all that is a problem, but whatever | |||
haxmeister | not a problem with perl6 so much | ||
but they like to have portage handle module installs.. so they generally like to make a script that will create an ebuild automatically.. currently they have to code each one | 15:48 | ||
15:49
wamba joined,
kyan is now known as kyan_
|
|||
haxmeister | they are short handed you know :/ | 15:52 | |
15:53
isacloud joined
16:05
mrsolo left,
mrsolo joined
16:06
itsame joined
16:12
abraxxa left,
CIAvash[m] joined,
unclechu joined,
dp[m] joined,
wictory[m] joined,
M-Illandan joined,
Matthew[m] joined,
ilmari[m] joined,
mienaikage joined
16:13
xui_nya[m] joined,
Cabanossi left
|
|||
[Coke] hurls github.com/erikwiffin/0.3000000000...-298281973 if someone wants to make a PR demonstrating how we don't just print the right rounded out number, but actually do the math right. | 16:14 | ||
16:14
robertle left,
domidumont joined
16:15
Cabanossi joined
16:18
abraxxa joined
16:20
ChoHag_ joined,
ChoHag left
|
|||
[Coke] | win 8 | 16:21 | |
buggable | [Coke], Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 7 hours, 38 minutes, and 29 seconds | ||
16:22
kyan_ left,
mcmillhj left
16:26
ChoHag_ left
16:31
ChoHag joined
16:32
Ven joined,
Sound joined
16:33
Ven is now known as Guest99433,
Sound is now known as Guest13639
|
|||
araraloren | I make a module can generate terminal table. Anyone interested can go to have a look github.com/araraloren/perl6-terminal-table | 16:34 | |
16:36
araraloren left
16:38
Guest13639 left
16:39
Sound_ joined
|
|||
timotimo | i'd like to know what sets it apart from the other ~4 terminal table modules | 16:39 | |
16:39
itsame left
16:42
kyan_ joined
16:50
nowan left
16:51
mcmillhj joined
16:52
nowan joined
|
|||
TreyHarris | So it seems ilke the canonical Emacs perl6-mode has been abandoned (9 months of author inattentiveness), but the fork under the perl6/ GitHub project can't be made official for Emacs packaging because it's a fork. I've made a tasklist on GitHub to track this, and right now we're still in step #2--wait a week to see if the original author returns after informing him of our intentions to take over | 17:01 | |
maintenance--but assuming he doesn't respond or blesses the transfership, we'll need an Owner of the GitHub project to handle working with GitHub support to break the fork and move over the open issues. (This is something they do, but only in a support-ticket context, there's no interface or API for it.) I'm not an Owner so would one being willing to help me with this next week? | |||
I'm running the mechanics and logistics of the task otherwise (see github.com/perl6/perl6-mode/issues/11 if you're interested) | 17:02 | ||
17:07
PotatoGim left
17:08
PotatoGim joined
|
|||
TreyHarris | jnthn, moritz, [Coke], timotimo, perlpilot: you're the GitHub Owners I'm aware of on this channel, so if one of you could volunteer to help me next week on ^^^, I'd appreciate it | 17:09 | |
timotimo | yeah, i own github. it makes me very rich | ||
TreyHarris grins | 17:10 | ||
GitHub perl6 project Owners, I meant ;-) | |||
timotimo | do i actually own that? | ||
TreyHarris | timotimo: are you not "timo" on GitHub? | ||
github.com/orgs/perl6/people?utf8=...le%3Aowner | |||
timotimo | i am | ||
TreyHarris | You're listed there ^^ | 17:11 | |
timotimo | so next week, is that the week that started today? | 17:12 | |
TreyHarris | no, the deadline we gave was Sunday 14 May | ||
so sometime after that | |||
17:13
tbrowder left,
tbrowder joined,
xinming left
|
|||
timotimo | oh, now that i actually read what you were saying above, i understand what's going on | 17:14 | |
sorry, kind of distracted | |||
TreyHarris | timotimo: no worries. doesn't have to be you, just putting out a call. I'd do it but the request must come from an Owner | 17:16 | |
17:16
kyan_ is now known as kyan
|
|||
TreyHarris | I've done this before for another project, though, so I can lead whoever steps up through it. | 17:16 | |
17:16
nicq20 left
|
|||
TreyHarris | Hm, I think you can mention a whole project role in an issue, so maybe I'll request help that way | 17:19 | |
17:20
itsame joined
|
|||
[Coke] | I will very likely not have time | 17:22 | |
sorry, TreyHarris | |||
TreyHarris | [Coke]: np | 17:23 | |
17:28
itsame left
|
|||
TreyHarris | yeah, you can mention the org-admin team which is equivalent. Sorry timotimo and [Coke] for the re-notification. | 17:28 | |
17:33
Woodi left
17:40
Guest99433 left
17:41
Ven joined
17:42
Ven is now known as Guest31051
17:46
lighttrr joined
17:54
Actualeyes left
17:58
Cabanossi left
18:00
Cabanossi joined
18:01
lizmat joined
18:08
itaipu left
18:09
itaipu joined
18:11
setty1 joined
18:14
zakharyas left
18:15
lighttrr left,
cdg left
18:16
lighttrr joined
18:18
itsame joined
18:20
xinming joined,
lighttrr left
18:22
robertle joined
18:26
xinming left
18:29
nicq20 joined
18:31
ChoHag left
18:33
st_elmo left
18:35
sufrostico left
18:37
sufrostico joined,
abraxxa left,
st_elmo joined,
abraxxa joined
18:40
Guest31051 left
18:41
Ven joined,
st_elmo left,
Ven is now known as Guest39520
18:42
labster joined
18:43
xinming joined
|
|||
haxmeister | poopers... I don't have zef | 18:44 | |
18:44
wamba left
|
|||
[Coke] | do you have panda? | 18:46 | |
18:47
kyan left,
kyan joined
|
|||
haxmeister | apparently not | 18:47 | |
18:48
st_elmo joined
18:49
st_elmo left
|
|||
hobbs | do you have the prisoner of zenda? | 18:50 | |
18:50
avalenn joined
18:51
lighttrr joined
|
|||
Geth | ecosystem: 5e7a967db7 | (Sterling Hanenkamp)++ | META.list Rename META.info to META6.json for Template-Anti |
18:52 | |
18:53
ChoHag joined
|
|||
[Coke] | github.com/ugexe/zef shows you how to install zef without a package manager. | 18:53 | |
need git and an install of perl6. (you could probably also use github to grab a .tgz if needed) | |||
haxmeister | ty | 18:54 | |
El_Che | Freddie Mercury was a huge zef fan | ||
"Zef me Zef me Zef me / I can't face this life alone / Zef me Zef me Oh... / I'm naked and I'm far from home" | |||
18:54
st_elmo joined
|
|||
haxmeister | it's installing | 18:56 | |
git comes standard on funtoo :-D | |||
El_Che | funtoo? Is that gentoo users that *really* love to compile stuff? :) | 18:57 | |
haxmeister | yes.. my OS and all updates are compiled from source every time | 18:59 | |
I've been using it for years now.. I'm hooked..lol | |||
El_Che | haxmeister: does it means new versions of soft often? | 19:00 | |
-s | |||
19:00
itaipu left
19:01
xinming left
|
|||
haxmeister | there are some large packages like chrome and firefox that have binaries available if you don't want to sit through the compile time.. but I don't use them | 19:01 | |
El_Che: everytime you update your system, it compiles any updates from scratch | 19:02 | ||
raschipi_ | For Perl6 and GCC, you still need binaries too. | ||
haxmeister | I make my own binaries | 19:03 | |
from source | |||
and that includes updates to GCC | |||
raschipi_ | So it can't run in any kind of less-powerful platform too. Debian is working hard on automating cross-compilation so that they can drop the requirement to compile everything in the target platform. | 19:04 | |
How do you bootstrap it? | |||
gfldex | raschipi_: it was bootstrapped years ago | ||
raschipi_ | You need GCC to create a GCC binary. | ||
Well, like I said, you need binary distribution of the C compiler. | 19:05 | ||
And it's depedencies. | |||
haxmeister | you build funtoo by first installing a stage3 tarball that contains a binary GCC.. typically you will keep that binary until there's an update for it, which will be compiled on your machine | ||
El_Che | haxmeister: nice | ||
kentnl | for gcc, you get an initial binary GCC when you do your initial gentoo install. "OS bootstrap", after that you're compiling new gccs with old gccs. | ||
Geth | ecosystem: 2dd68402b6 | (Sterling Hanenkamp)++ | META.list Renaming the METAs for 5 more ov my modules Including: ArrayHash, HTTP::Headers, Path::Router, P6W, and DateTime::DST |
||
haxmeister | but if you want native compilation you can just tell it to recompile it | ||
so the binaries I'm making are native to my hardware.. or I could set it to compile everything to some generic GCC flags and make them more portable | 19:06 | ||
raschipi_ | Deos it run with the Gentoo patches? Gentoo is one of the most modified systems out there, they patch source the most between distros. | 19:07 | |
Does* | |||
haxmeister | funtoo is like a mod of gentoo... the founder and creator of Gentoo, Daniel Robbins, created Funtoo which has it's own set of forked packages and special softwares that ease installation | 19:09 | |
gfldex | "ease installation" :-> | ||
haxmeister | but still uses gentoo repos under the hood.. so funtoo clones gentoo repo | ||
it is much easier.. it even comes with a binary kernel.. the debian-kernel no doubt | 19:10 | ||
19:11
Guest39520 left
|
|||
haxmeister | so you have a jumpstart with a binary kernel.. and then retain the ability to compile a custom one from an already working system | 19:11 | |
19:12
xinming joined
|
|||
kentnl | Gentoo doesn't actually have a policy of being "highly patched", we do try to follow upstream ( actually, last I looked, debian maintains far more perl patches than we do ) | 19:12 | |
haxmeister | gentoo does fairly well with perl5.. perl6 has been a slow implementation.. but it's still technically new | 19:13 | |
kentnl | pretend funtoo is a little like ubuntu, it can cheat and steal gentoo's packages verbatim, and then layer its own on top | ||
haxmeister | yes | ||
^ | |||
kentnl | ( the analogy is funtoo->gentoo as ubuntu->debian ) | ||
haxmeister | I would agree... | ||
except it doesn't intend to separate at any time.. | |||
it's like a proving ground for ideas that tend to drift up to gentoo | 19:14 | ||
kentnl | Gentoo will probably have better perl6 support eventually, just needs somebody to both care, have time to work out how, work out what needs to be done, etc. And that's kinda hard when your plate is full cleaning up the catastrophe of Perl5 breaking '.' in @INC | 19:15 | |
raschipi_ | Gentoo patches the build systems, knowing how to compile things in Gentoo doesn't help everywhere else. | 19:16 | |
kentnl | I'm not sure how that statement makes sense. | 19:17 | |
lizmat is working on the P6W | 19:18 | ||
please let me know if you think I will miss something specific | 19:19 | ||
19:19
wamba joined
|
|||
raschipi_ | Debian has a similar system to what Gentoo has, it's called "build profiles", but developers keep it to a minimum to avoid the problem of creating a bubble. | 19:19 | |
El_Che | lizmat: did you mention the ubunu@windows pgks last week? | ||
raschipi_ | wiki.debian.org/BuildProfileSpec | ||
haxmeister | anyway.. I think it's been a pretty good job between a language that wants to use it's own package system, and an OS that doesn't like to use anybody elses. | ||
lizmat | El_Che: nope, I didn't: what should I seay ? | ||
El_Che | "The Ubuntu 16.04 packages were made compatible with the Windows 10 Linux Subsystem. Just run /opt/rakudo/fix_windows10 after install. github.com/nxadm/rakudo-pkg/releas...2017.03_03 | 19:21 | |
haxmeister | raschipi_: somewhere in the background there are debian devs who are doing what gentoo users do daily.. we just get the luxury of native compilation at the cost of ..well.. waiting for compilation..lol | ||
lizmat | El_Che++ | ||
raschipi_ | The debian build system supports local compilation, but to change the way the package is built one has to use the software own build system instead of USE flags. | 19:22 | |
haxmeister | ah I see | 19:23 | |
19:23
yqt joined
|
|||
haxmeister | haven't used debian in 10yrs or so.. but it stands on it's own.. one of the best | 19:23 | |
El_Che | lizmat: Windows Subsystem for Linux (aka Bash or Ubuntu on Windows 10) | 19:25 | |
lizmat: that's the correct name | 19:26 | ||
lizmat | cool | ||
19:27
Sound_ left
|
|||
El_Che | the 16.04 pkg works with Windows 10 1703 (Creator's Update, with Ubuntu 16.04) and Windows 10 1607 (Anniversary Edition, with Ubuntu 14.04). The rakudo 16.04 pkgs work on both | 19:28 | |
kentnl | the gentoo workflow is a bit more like the LFS workflow. Thus, extended patching is generally detrimental because it just creates work and conflicts | ||
haxmeister | well manual installation of zef isn't working | 19:29 | |
kentnl | debian also has the luxury of "compile one source tree, emit >1 binary asset packages, end user installs only 1 of these assets" | ||
haxmeister: define "Isn't working" | |||
haxmeister | command not found | 19:30 | |
kentnl | at which point? where? | ||
which command? | |||
19:30
domidumont left
|
|||
raschipi_ | In other distros, one would have to give configuration options to Configure.pl to change the way Rakudo is built (for example, to use a different backend). In Gentoo, a user expects it will be available with a USE flag. | 19:30 | |
haxmeister | I cloned git to perl6 | ||
folder | |||
and ran the perl install command.. it completed successfully | 19:31 | ||
kentnl | raschipi_: end users can also supply configuration parameters themselves through configuration files, and there's support for user-supplied patches as well | ||
the USE flags are simply the set of well defined and officially supported behaviours. | |||
You can deviate from those significantly if you're wearing your adult trousers | |||
haxmeister: I'm guessing you needed some step to update $PATH somewhere that you might have missed | 19:32 | ||
raschipi_ | Of course they can, but they usually don't. In my experience, Gentoo users don't know how to compile things any better than users from other distros. | ||
kentnl | That's mostly true. But its usually a path of necessity/skill. You don't tweak the official config stuff unless you need to, and that's where you get your hands dirty | 19:33 | |
( but customizing the build is way easier than building dpkgsrc packages IME ;) ) | 19:34 | ||
haxmeister | nah.. we know how to compile things using the system we have in place quite well.. and that compilation is sufficient to produce software that is useable on debian or any other distro | ||
kentnl | I wouldn't term that as "knowing how to compile". That's just "knowing how to install" ;) | ||
haxmeister | well no | 19:35 | |
kentnl | the OS and the maintainers know how to compile, you're just re-using their experise. | ||
haxmeister | sure | ||
but perl6 | |||
:) | |||
Geth | ecosystem: nicqrocks++ created pull request #338: Add WebService::Slack::Webhook |
19:36 | |
kentnl | But if you actually know how to *compile* something yourself ( as opposed to simply installing it ), that knowledge is relatively portable | ||
because the gentoo install process is more or less a codification of that. Its just bash! ;) | |||
haxmeister | bash and python | 19:37 | |
kentnl | ( reasonably straight forward to hack up an ebuilds source and turn it into a travis-ci driver ) | ||
haxmeister | mostly python | ||
gfldex | that's not very perltriotic | ||
haxmeister | you can't learn C without knowing how to compile things... not on linux anyway | ||
gfldex | we need to change that :-> | 19:38 | |
kentnl | python doesn't do any of the compiling, its just a wrapper that serves for dependency management, environment, and final image deployment. All the real work happens in bash, python just invokes the bash entry points. | ||
haxmeister | you know how it works quite well kentnl .. I'm impressed.. usually when I mention I'm using funtoo I get "you must be a glutton for punishment"..lol | 19:39 | |
19:39
rindolf left
|
|||
kentnl | ( you could write an implementation of portage in Perl, or even Perl6, and it would still be able to wrap bash and drive the ebuilds ) | 19:39 | |
I mean, we already have 2 unofficial alternative portage implementations, one of them is written in C++! | 19:40 | ||
haxmeister | I'd like to see one in perl6.. I would find that interesting | ||
I think an awesome thing would be to implement the ebuilds in perl6 too | 19:41 | ||
or a DSL based from perl6 | |||
kentnl | just the glue layer to bash is the hard sauce where the real horror shows occur. Like, "contents of INI files stored in env vars, wut?" horrors. | ||
kentnl has tried to handle this part in perl before and that horror show is always what stops me | 19:42 | ||
haxmeister | nah.. | ||
lol | |||
you have to do it all or none.. you can't just do a little at a time..lol | |||
geekosaur | kentnl, you should look at how termcap used to work sometime >.> | ||
19:43
rindolf joined
|
|||
kentnl | haxmeister: you need about 30 specific magical environement variables in place (Some of them are filehandle IDs) *just* to source the main ebuild.sh that drives the "load EAPI specific logic" :/ | 19:43 | |
and that's not even doing any build, that's just extracting metadata. | 19:44 | ||
and they wonder why its slow. *cough* | |||
haxmeister | lol | ||
it's not really slow.. we gentoo/funtoo users are just used to things being snappy | |||
19:44
Cabanossi left
|
|||
kentnl | Oh its slow alright. You're getting the luxury of a metadata cache ;) | 19:45 | |
19:45
Cabanossi joined
|
|||
kentnl | you nuke that and the slowness becomes much more apparent. | 19:45 | |
raschipi_ | All of that is fine and has my approval. But the average Gentoo user doesn't have nearly as big of a Unix beard as they imagine. | 19:46 | |
haxmeister | well.. I don't have any problems or complaints.. I like my distro..lol | ||
kentnl | haxmeister: ( this is not a thin that affects you of course, but if you start doing a lot of maintainer stuff, these slowdowns can be a serious headache ) | ||
haxmeister | I'm not interested in that | ||
kentnl | and of course, the nature of those caches being distributed means that if high-used shared elements change, you can get spikes of 150mb rsyncs :/ | 19:47 | |
haxmeister | I'm not interested in writing bash scripts to build other peoples software.. don't really care about any of that stuff | ||
we use git on funtoo | |||
what I'm down for is learning perl6 and all it's glory in every way it can be applied on my OS or across the web | 19:49 | ||
Geth | ecosystem: f6a98405bd | Nic++ (committed by Zoffix Znet) | META.list Add WebService::Slack::Webhook (#338) Add module to easily send messages to Slack using a webhook. |
||
kentnl | I'd have to look into how they do metadata caches. The only way git for master is performant on gentoo is sync fetches a metadata cache independently via rsync, and then runs a quick "fixup" pass to clear up anything that changed in the interim | ||
( well, maybe its a git-metadata cache, but the delta is still the same, large ) | |||
like, changes to eutils.eclass tends to need >4000 files get updated in the cache. | 19:50 | ||
haxmeister | syncing has never been something that I thought was time consuming.. it basically just syncs the funtoo tree from GIT | 19:51 | |
the funtoo tree is produced by some scripts on a server that sync from the gentoo tree and apply all the forks/special sauce.. so it takes only as much time as it takes to git sync | 19:52 | ||
kentnl | right, but you still have to generate the metadata *somehow*, so either you're generating it locally during sync, or you're going to need emerge to prime it on demand ( which is slow as well ) | 19:53 | |
www.funtoo.org/Project_Unfork # agrees with me | |||
haxmeister | you know I'm not a funtoo administrator.. I've made some small contributions to the website and I donate and have a funtoo container.. but all of this stuff is not really interesting to me | 19:55 | |
kentnl | even before we transitioned to git, the perl-experimental overlay had frequent complaints about it being slow ( which was a side effect of git overlays lacking caches ) | ||
haxmeister | my system performs adequately | ||
kentnl | kk :). I hope it continues to do so. | 19:56 | |
haxmeister | lol | ||
kentnl | Though I also suspect the problem becomes more visible the more you have installed. | ||
haxmeister | but writing a package manager in perl6.. that could be fun | ||
I think getting worked up over a 2 minute wait for dep calculation is a trivial matter when you have already decided to subject yourself to hours of compile time | 19:57 | ||
syncing my system takes less than 15 seconds | 19:58 | ||
I'm running XFCE4 | |||
kentnl | Its when you have to wait 2 minutes for a dep calculation to install 1 package that takes only 10 seconds to install you start complaining :) | ||
haxmeister | lol | ||
it doesn't bother me | |||
its a difficult problem to solve you know.. it's the traveling salesman problem | 19:59 | ||
raschipi_ | Debian just recently got metadata diffs available for download. It used to take a while. Then someone decided to do it with topological diffs (pdiff) and it got worse. Now it goes fast. And Debian has much more metadata than Gentoo, so it's surprising it got so much time to fix. | ||
19:59
aindilis joined
|
|||
kentnl | haxmeister: its not /quite/ a travelling salesman problem, but classes of graph optimisations are all fun :) | 20:01 | |
especially graphs with permutational conditions | 20:02 | ||
raschipi_ | Another thing they're doing is dividing packages into more repositories so that people don't have to download all the metadata. | ||
There's a different repository for packages containing debug sysmbols and another for packages that differ in the ports. | |||
kentnl | You kinda need a larger staff than we have to be able to maintain multiple architectures concurrently without them sharing a path. | 20:04 | |
though we do kinda have the ability to support eschoteric arches unofficially without any effort too | 20:05 | ||
raschipi_ | For Perl6 or Gentoo in general? | ||
kentnl | Gentoo in general. Like, you can run Gentoo on an m68k without having to hope somebody packaged binaries for you as long as you can convince the bootstrap/base system to work | 20:06 | |
And we don't need to have anybody dedicated to supporting i386 just for you to try see if you can get something working on it. Granted you'll need to be wearing adult pants again, but most of the hard shared logic will be ready for you to abuse. | 20:07 | ||
raschipi_ | I have heard Gentoo was having a more critical lack of developers than other distributions. What has to be done once in other distros (write some combination of caommands that build the package), in Gentoo the developers are expected to generalize (write a program that builds this package in every conceivable configuration). | 20:08 | |
kentnl | ( And we have built-in support for cross-compiling and running in prefixes, even though those features are themselves a bit fragile, people can get them to be useful despite the lack of maintainers ) | 20:09 | |
Yeah. Pretty much. We have to think more like a very caring upstream would, because we don't have the luxury of being able to control our build environment absolutely. | 20:10 | ||
20:11
cdg joined
|
|||
kentnl | Like, there's an entire class of problems for Perl5 ( '.' in @INC removal ) where debian users will have a much easier time than we will, and debian maintainers can work around it locally without needing to propagate the relevant hacks to users, simply because on debian, "build and test" only can happen on the maintainers machine | 20:11 | |
whereas gentoo supports both building and testing on the users machine. | |||
( that's its most perlish aspect, the only thing its missing is a good equivalent of cpan-testers reporting system ) | 20:12 | ||
20:14
itsame left
|
|||
raschipi_ | In Debian, the developer has to write a script that will build the package, it's called debian/control | 20:14 | |
It will be run by dak in every configuration debian supports (arch+kernel) | |||
But it only has to support one configuration. (except for special cases in the toolchain) | 20:15 | ||
20:16
st_elmo left
|
|||
haxmeister | kentnl: I think it would be an interesting study to build a linux distro with perl6 as the primary language for the package manager.. and extended perl6 support | 20:16 | |
kentnl: could call it Perly Linux | 20:17 | ||
20:17
ChoHag left
|
|||
raschipi_ | That would be a very big endeavor. | 20:17 | |
kentnl | Yeah, dibs not. :) | ||
haxmeister | kentnl: pick the core system and make a tarball with the new package manager.. | ||
kentnl | The most insane thing I consider doing with Perl is writing an Init replacement, and I'm not insane enough to even write a line of that code. | 20:18 | |
haxmeister | no need to replace init.. I'm suggesting after that level | 20:19 | |
perl6 is just so well suited to such a thing.. IMO more suited than python | |||
raschipi_ | Free software development is picking up steam faster than distros grow in capacity. That will lead to distro agglutination. | ||
kentnl | If you ever thought CPAN felt a bit like a graveyard some days, ... yeah. The whole of OpenSource is starting to look like that. | 20:21 | |
raschipi_ | It's past the time a small group of people can go and launch a new distro. The bigger ones will eat the others. | ||
haxmeister | well I'm interested from a computer science standpoint.. | ||
nobody is going to make a fortune or a living off a new linux distro | 20:22 | ||
but if the science of OS development is interesting to you (as it is to me).. then that could be exciting and fun | |||
Geth | Swapped META.info → META6.json in 2 dists in github.com/perl6/ecosystem/commit/5063dc0d67 | 20:23 | |
raschipi_ | Well, distro packaging is just devops on meth. It's a practical job that needs to be done. There's not much science to it, just new algorithms. OS development happens mostly outside distros. | 20:24 | |
haxmeister | but my current interest is web scraping.. and especially if I can make that happen in perl6 :D | ||
kentnl | Yeah. Distro packaging is just a lot of grunt work, and then you eventually find a few ways of automating parts of that grunt work | 20:25 | |
haxmeister | all methods are also subs/functions.. mind blowing perl6 magic | 20:26 | |
20:26
nicq20 left
|
|||
[Coke] | looks like perl6/doc's 'make xtest' is passing again, be nice if it kept passing. | 20:27 | |
20:27
rindolf left
|
|||
[Coke] | not all methods are subs. | 20:27 | |
haxmeister | the builtins pretty much are | 20:28 | |
well.. in practice it feels tha tway | |||
really it's more like every built in sub is really a method | |||
like .say and say "something" | 20:29 | ||
or recent one I used .trans or trans() | |||
[Coke] | sure, a lot of them are. (but each one is coded manually, and not every one is.) | ||
haxmeister | that's handy perl6 magic.. means less looking up stuff | 20:30 | |
20:30
itsame joined
|
|||
haxmeister | I can write it the way that makes most sense to me.. really all should be that way if they arent' | 20:31 | |
20:31
n0vacane joined,
n0vacane left
|
|||
haxmeister | but if every function is also an object.. and a subclass of the top class at some point.. then yes they all are | 20:31 | |
raschipi_ | The impression I have is that people complaining about GNOME or Red Hat or Systemd pushing things ot taking over things are actually feeling this problem where distros can't keep up with development. | 20:32 | |
alphah | haxmeister: "I think it would be an interesting study to build a linux distro with perl6 as the primary language for the package manager.. and extended perl6 support", I'm actually doing that now, Writing package manager for a new distro with Perl6. I'm doing that as study to learn perl6, as I'm coming from System Admin background, and shell scripting, but no real development projects, so it's gonna be challenging. | ||
20:32
rindolf joined
|
|||
haxmeister | alphah: your ripping my heart out.. if my talent level was high enough I would melt all over that | 20:33 | |
alphah: would still like to peak at it though | |||
20:34
cpage_ left
|
|||
alphah | haxmeister: nothing serious tho, I'm still at early stage, github.com/alphah77/galaxy/tree/master , | 20:35 | |
haxmeister | sweet | 20:36 | |
20:38
sufrostico left,
perigrin joined
|
|||
haxmeister | alphah: fun naming convention :D | 20:39 | |
the grammars... ugh.. greek to me..lol | 20:40 | ||
alphah | it's gonna be scientific Linux,, so it can amek sense :P... in Galaxy package manager world, a distro is "galaxy",, you can unisntall (or blackhole)) some packages,,, install, (or gravity) some packages ,, | 20:41 | |
yeah greek to me as well, when I look at it now :D | 20:42 | ||
haxmeister | lol | ||
I'm still struggling to find what I need to read to produce a module or package so I can separate my code for cryin' outloud..lol | 20:43 | ||
but hands down my favorite thing to do is regex.. I could do that all day | 20:44 | ||
20:44
Cabanossi left
20:45
Cabanossi joined
20:46
kyan left
|
|||
alphah | I don't know how to organize code as module or package as well :(, I just look at other projects and try to do same | 20:52 | |
haxmeister | why is that such an obscure subject in perl6.. ?? | 20:54 | |
moritz | docs.perl6.org/language/modules.html | ||
perlpilot | moritz++ | 20:55 | |
20:55
itsame left
|
|||
raschipi_ | When something is added to the ecosystem, is it uploaded automatically to CPAN? | 20:56 | |
lizmat | raschipi_: no, but my hope is that soon we will be able to upload Perl 6 distributions to CPAN | 20:57 | |
act.qa-hackathon.org/qa2017/ # nine, tadzik and lizmat will be there | 20:58 | ||
ugexe | www.cpan.org/authors/id/N/NI/NINE/P...-0.26.meta - www.cpan.org/authors/id/N/NI/NINE/P....26.tar.gz | 21:00 | |
21:00
anton_p left
|
|||
ugexe | meta file just needs to point at the .tar.gz but otherwise works already even | 21:01 | |
perlpilot | lizmat: It would be useful if someone documented how to do it. Or, if there's still work to be done, documented what that work is. (I don't know if this is already on someone's agenda or not) | ||
haxmeister | that's a tough read moritz ..:/..lol | ||
lizmat | perlpilot: the problem isn't technical, really :-( | 21:02 | |
perlpilot | lizmat: oh. Hrm. | 21:03 | |
lizmat | it's more a PR / management type issue | ||
perlpilot | Well, I hope this year's toolchain summit works that stuff out then :) | ||
lizmat | that is my hope as well | 21:04 | |
haxmeister | sounds like this year is going to be giant leaps for perl6 :) | ||
lizmat | perlpilot: it will be the 5th QA Hackathon / Toolchain Summit where this will be discussed :-( | 21:05 | |
act.qa-hackathon.org/qa2013/ was the first | |||
21:08
abraxxa left
|
|||
haxmeister sends good vibes to the hackathon preemptively | 21:08 | ||
21:10
kyan joined
21:12
skids left,
brrt joined
21:13
mcmillhj left
21:15
ChoHag joined
21:16
SCHAPiE left
21:17
itsame joined,
raschipi_ left
21:27
anton_p joined
21:28
setty1 left
21:33
lighttrr left
|
|||
haxmeister | yeah I can't get zef goin | 21:36 | |
21:36
anton_p left,
ufobat left
|
|||
haxmeister | pastebin.com/Zm10bumu | 21:39 | |
21:42
Cabanossi left
|
|||
gfldex | haxmeister: `perl6 -Ilib bin/zef install .` <-- please note the "." | 21:44 | |
21:45
Cabanossi joined
|
|||
haxmeister | what's the . for? | 21:46 | |
glob? | |||
gfldex | you run this inside the zef dir, what tells zef to install what it finds in the $CWD, what happens to be zef. | 21:47 | |
haxmeister | oh.. ./ kk | 21:48 | |
21:48
rindolf left
|
|||
haxmeister | well it seems to have worked | 21:49 | |
:-).. let's try zef now | |||
21:50
mcmillhj joined
|
|||
gfldex | haxmeister: i would like to recommend `zef install META6::bin` | 21:50 | |
:-> | |||
haxmeister | it put it in ~/.perl6/bin | 21:51 | |
out of PATH.. but that's ok | |||
gfldex | it may put more stuff there as time ticks by. Could be worth the hassle. | 21:52 | |
haxmeister | just want to be careful .. can't do any root installs.. and I'll be fine | ||
eventually gentoo/funtoo will catch up with perl6 module installs | 21:53 | ||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/08/...batross_i/ | ||
gfldex | haxmeister: if you want it to talk to github look at the bottom of github.com/gfldex/perl6-meta6-bin#github | ||
haxmeister | ~/.perl6/bin $ ./zef install Selenium::WebDriver this seems to be working | 21:54 | |
timotimo | "MoarVMproject" wants a space, lizmat :) | 21:55 | |
haxmeister | gfldex: what is that for?.. how would that make it different? | ||
gfldex: so zef can install from git? | |||
lizmat | timotimo: you're right, it does so now :-) | ||
21:56
mcmillhj left
|
|||
gfldex | haxmeister: META6::bin provides `meta6` what allows funky stuff like `meta6 --fork-module=META6::bin; cd perl6-meta6-bin; sh fix-all-the-bugs.sh` | 21:57 | |
21:58
SCHAPiE joined
|
|||
haxmeister | yeah I have no idea what any of that is..lol | 21:58 | |
gfldex | haxmeister: if you want to start you own module, you could run `meta6 --new-module=Haxmeister::S::Super::Module; cd perl6-haxmeister-s-super-module` | ||
haxmeister | oh ok.. | ||
but what I have now is sufficient for using modules currently available right? | 21:59 | ||
gfldex | and --fork-module does exactly what it says on the tin (if the module is on github that is) | ||
haxmeister | s/using/installing | ||
gfldex | zef will install modules just fine | ||
21:59
rindolf joined
|
|||
El_Che | lizmat: "The past week felt a bit dreary, the weather was meh" <-- I read "meth" | 22:00 | |
:) | |||
haxmeister | gfldex: maybe I'll wait till I have something worth contributing before I worry abou tthat.lol | ||
anywayy gotta go.. cheerz perl6 | |||
gfldex | if you want to put a module into the ecosystem you need a proper `meta6.json`-file. That comes with quite a few pitfalls and that's why I wrote meta6. | ||
El_Che | thx lizmat for p6weekly | 22:02 | |
22:02
BuildTheRobots left
|
|||
lizmat | :-) | 22:02 | |
22:03
BuildTheRobots joined,
kurahaupo left,
kurahaupo joined
22:08
mcmillhj joined
22:11
kurahaupo left
22:12
mcmillhj left
22:13
kurahaupo joined
22:17
brrt left,
kurahaupo left
22:18
kurahaupo joined
22:19
itsame left
22:21
cyphase left
22:24
mcmillhj joined,
wamba left
22:26
kipd joined
22:28
mcmillhj left
22:31
skids joined
22:32
rindolf left
22:33
lizmat_ joined
22:35
lizmat left
22:40
mcmillhj joined
|
|||
Geth | doc: 6c2b8b201a | (Zoffix Znet)++ | 2 files [io grant] Document IO::Path/IO::Handle.comb |
22:40 | |
22:44
mcmillhj left
22:47
inokenty left
22:48
inokenty joined,
espadrine left
22:54
cyphase joined
22:55
mcmillhj joined
23:01
mcmillhj left
23:05
itsame joined
23:12
cdg left
23:14
pierre_ joined
23:15
kyan left
23:16
mcmillhj joined
23:21
mcmillhj left
23:23
raschipi joined
|
|||
samcv | what is the POD6 variable? | 23:24 | |
dynamic variable | |||
23:26
mcmillhj joined
23:27
pierre_ left,
Cabanossi left
|
|||
samcv | found it $=pod | 23:29 | |
23:30
Cabanossi joined
23:31
mcmillhj left
23:39
SmokeMachine joined
23:40
mcmillhj joined
23:46
mcmillhj left,
kurahaupo left
23:49
yqt left
23:56
kurahaupo joined
|