»ö« 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. |
|||
notviki | .oO( that probably answers my question actually... ) |
00:01 | |
notviki goes for three version in three classes | |||
00:01
shayan_ left
00:06
agentzh joined
00:09
pmurias left
00:11
Guest79293 left
00:17
shayan_ joined
00:21
shayan_ left
|
|||
SmokeMachine | masak: I saw your train track post... that's great! | 00:30 | |
masak: do you think something like this (github.com/FCO/ProblemSolver) could be helpful on that? | 00:32 | ||
00:42
lukaramu left
00:52
TEttinger left
00:53
TEttinger joined
00:54
cdg joined
00:57
Khisanth joined
00:58
cdg left
01:02
BenGoldberg joined
01:04
Gasher left
01:07
kurahaupo__ joined
01:08
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
cdg joined
|
|||
notviki | m: gist.github.com/zoffixznet/7775795...5f64ec513e | 01:09 | |
camelia | rakudo-moar f9ed73: OUTPUT«[("a"=>55,"c"=>1,"b"=>3).BagHash]» | ||
notviki | Any idea why my clone isn't working? | ||
I even added a print statement to Hash.clone and it is printed, so I don't get how it's still coupled :S | |||
and only coupled for some things only... like the "z" change doesn't show up :/ | 01:10 | ||
ooh | |||
those are pair objects. | |||
Sure. Sit for 70 minutes pondering this and find the answer 1 minute after asking on IRC -_- | |||
notviki goes to bed | |||
mst | that's what always happens | 01:11 | |
timotimo | i want bed, too | ||
but hiccups have been particularly incessant today | |||
01:12
cdg left,
kurahaupo__ left,
shayan_ joined
01:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:14
shayan_ left
01:24
astj_ joined,
astj left
01:27
kurahaupo__ joined
01:28
rpburkholder joined
|
|||
SmokeMachine | .tell masak do you think that this (github.com/FCO/ProblemSolver) could be useful for your train track project? | 01:31 | |
yoleaux | SmokeMachine: I'll pass your message to masak. | ||
01:32
AlexDaniel joined
01:33
unicodable6 joined,
ChanServ sets mode: +v unicodable6,
bwisti joined
01:37
shayan_ joined
01:43
shayan_ left
|
|||
curt_ | Is it possible to make an Enumeration value out of a string? | 01:45 | |
enum E <A B C>; sub foo(E :$e) { ... }; my $b = 'B'; foo(??? $b ???); | |||
I tried to get the enum value out of the Enumeration, but it just gives me a Pair. | 01:47 | ||
m: enum E <A B C>; sub foo(E :$e) { say $e; }; my $b = 'B'; foo(e => E.enums.first: { .key eq $b}); | 01:48 | ||
camelia | rakudo-moar f9ed73: OUTPUT«Type check failed in binding to $e; expected E but got Pair (:B(1)) in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
AlexDaniel | m: enum E <A B C>; say E(‘B’) | 01:49 | |
camelia | rakudo-moar f9ed73: OUTPUT«(E)» | ||
curt_ | thank you! | 01:50 | |
AlexDaniel | hmmmm wait something is wrong | ||
curt_ | yep, doesn't work | 01:51 | |
AlexDaniel | mc: enum E <A B C>; say E(‘B’) | ||
committable6 | AlexDaniel, ¦«2015.12»: (E) | ||
AlexDaniel | hm ok | ||
aaah it's by its int value | 01:53 | ||
mc: enum E <A B C>; say E(1) | |||
committable6 | AlexDaniel, ¦«2015.12»: B | ||
AlexDaniel | m: enum E <A B C>; my $x = ‘B’; say E(E.enums{$x}) | 01:55 | |
camelia | rakudo-moar f9ed73: OUTPUT«B» | ||
AlexDaniel | this is a bit too complicated | ||
01:57
cdg joined
01:58
cdg_ joined
|
|||
AlexDaniel | curt_: by the way, what do you mean by “Enumeration value”? | 01:59 | |
m: enum E <A B C>; my $x = ‘B’; say E.enums{$x} | |||
camelia | rakudo-moar f9ed73: OUTPUT«1» | ||
AlexDaniel | perhaps this is enough for you? ↑ | ||
.enums returns a Map, which is exactly what you need I think | |||
curt_ | Yes, that should work for me | 02:00 | |
02:01
cdg left
|
|||
SmokeMachine | m: enum E <A B C>; my $val = "B"; say E::{$val} | 02:02 | |
camelia | rakudo-moar f9ed73: OUTPUT«B» | ||
02:03
rindolf left
|
|||
SmokeMachine | m: enum E <A B C>; my $val = "B"; say E::{$val}.perl | 02:03 | |
camelia | rakudo-moar f9ed73: OUTPUT«E::B» | ||
AlexDaniel | that's better | ||
SmokeMachine | m: enum E <A B C>; say E::<B> | 02:04 | |
camelia | rakudo-moar f9ed73: OUTPUT«B» | ||
curt_ | m: enum E <A B C>; my $val = "B"; my $t = E; say $t::{$val}.perl; | 02:05 | |
camelia | rakudo-moar f9ed73: OUTPUT«Any» | ||
curt_ | m: enum E <A B C>; my $val = "B"; my $t = E; say "$t"::{$val}.perl; | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3 C>; my $val = "B"; my $t = E; say "$t":7⏏5:{$val}.perl; expecting any of: colon pair» | ||
SmokeMachine | m: enum E <A B C>; $t := E; my $val = "B"; say $t::{$val} | 02:07 | |
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$t' is not declaredat <tmp>:1------> 3enum E <A B C>; 7⏏5$t := E; my $val = "B"; say $t::{$val}» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; my $val = "B"; say $t::{$val} | 02:08 | |
camelia | rakudo-moar f9ed73: OUTPUT«(Any)» | ||
SmokeMachine | m: enum E <A B C>; my \t := E; my $val = "B"; say t::{$val} | 02:09 | |
camelia | rakudo-moar f9ed73: OUTPUT«B» | ||
02:09
bdo joined
02:10
bdo left
|
|||
SmokeMachine | curt_: is that what you want? | 02:10 | |
curt_ | yes | 02:11 | |
SmokeMachine: thank you | |||
SmokeMachine | :) | 02:12 | |
02:14
teksteiner left
02:15
teksteiner joined
|
|||
BenGoldberg | m: (enum F <D E F>)::{"E"}.say; | 02:28 | |
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3(enum F <D E F>):7⏏5:{"E"}.say; expecting any of: colon pair» | ||
BenGoldberg | m: dd (enum F <D E F>); | 02:29 | |
camelia | rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))» | ||
BenGoldberg | m: (enum F <D E F>).{"E"}.say; | ||
camelia | rakudo-moar f9ed73: OUTPUT«1» | ||
BenGoldberg | m: enum F <D E F>; dd F; | ||
camelia | rakudo-moar f9ed73: OUTPUT«F» | ||
BenGoldberg | m: enum F <D E F>; dd F.WHAT; | 02:30 | |
camelia | rakudo-moar f9ed73: OUTPUT«F» | ||
BenGoldberg | m: enum F <D E F>; say F; | ||
camelia | rakudo-moar f9ed73: OUTPUT«(F)» | ||
02:30
agentzh left,
bstamour joined
|
|||
BenGoldberg | m: say (enum F <D E F>).{"E"} :key; | 02:31 | |
camelia | rakudo-moar f9ed73: OUTPUT«Unexpected named argument 'key' passed in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: say (enum F <D E F>).{"E" :key}; | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>You can't adverb "E"at <tmp>:1------> 3say (enum F <D E F>).{"E" :key7⏏5}; expecting any of: pair value» | ||
BenGoldberg | m: my $e = enum F <D E F>; say $e<E>; | 02:32 | |
camelia | rakudo-moar f9ed73: OUTPUT«1» | ||
BenGoldberg | m: my $e = enum F <D E F>; say $e<E>:key; | ||
camelia | rakudo-moar f9ed73: OUTPUT«Unexpected named argument 'key' passed in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: my $e = enum F <D E F>; say $e<E>:kv; | ||
camelia | rakudo-moar f9ed73: OUTPUT«(E 1)» | ||
BenGoldberg | m: my $e = enum F <D E F>; say $e<E>:k; | ||
camelia | rakudo-moar f9ed73: OUTPUT«E» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; my $val = "B"; say $t{$val}:k | 02:33 | |
camelia | rakudo-moar f9ed73: OUTPUT«()» | ||
SmokeMachine | m: enum E <A B C>; my $t = E; my $val = "B"; say $t{$val}:k | 02:34 | |
camelia | rakudo-moar f9ed73: OUTPUT«()» | ||
SmokeMachine | m: enum E <A B C>; my $t := ::E; my $val = "B"; say $t{$val}:k | ||
camelia | rakudo-moar f9ed73: OUTPUT«()» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; de $t | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: de used at line 1. Did you mean 'dd'?» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; dd &t | 02:35 | |
AlexDaniel | oh, :k ! | ||
camelia | rakudo-moar f9ed73: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: t used at line 1» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; dd $t | ||
camelia | rakudo-moar f9ed73: OUTPUT«E» | ||
SmokeMachine | m: enum E <A B C>; my $t := E; my $val = "B"; say $t.{$val} | 02:36 | |
camelia | rakudo-moar f9ed73: OUTPUT«(Any)» | ||
02:36
kalkin- left,
kalkin-_ joined
|
|||
SmokeMachine | m: enum E <A B C>; my $t = E; my $val = "B"; say $t.{$val} | 02:36 | |
camelia | rakudo-moar f9ed73: OUTPUT«(Any)» | ||
BenGoldberg | m: enum F <D E F>; say keys F; | 02:38 | |
camelia | rakudo-moar f9ed73: OUTPUT«()» | ||
BenGoldberg | m: enum F <D E F>; say values F; | ||
camelia | rakudo-moar f9ed73: OUTPUT«()» | ||
BenGoldberg | m: say keys enum F <D E F>; ; | 02:39 | |
camelia | rakudo-moar f9ed73: OUTPUT«(F E D)» | ||
BenGoldberg | m: enum F <D E F>; say F.enums; | 02:40 | |
camelia | rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))» | ||
BenGoldberg | m: my $f = enum F <D E F>; say $f =:= F.enums; | ||
camelia | rakudo-moar f9ed73: OUTPUT«False» | ||
BenGoldberg | m: my $f = enum F <D E F>; say $f, F.enums; | 02:41 | |
camelia | rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))Map.new((:D(0),:E(1),:F(2)))» | ||
BenGoldberg | m: my $f = enum F <D E F>; say $f::; | 02:42 | |
camelia | rakudo-moar f9ed73: OUTPUT«Map.new((:D(0),:E(1),:F(2)))» | ||
BenGoldberg | m: enum F <D E F>; my $f = F; say $f::; | ||
camelia | rakudo-moar f9ed73: OUTPUT«(F)» | ||
timotimo | m: enum F <D E G>; my $name = "E"; say F::{$name}.WHAT | 02:45 | |
camelia | rakudo-moar f9ed73: OUTPUT«(F)» | ||
02:45
ilbot3 left
|
|||
dalek | rl6-most-wanted: f1f1e6c | titsuki++ | most-wanted/bindings.md: MeCab is ready |
02:47 | |
02:47
shayan_ joined,
ilbot3 joined
|
|||
dalek | rl6-most-wanted: 348a454 | titsuki++ | most-wanted/bindings.md: WIP: Algorithm::LibSVM |
02:49 | |
rl6-most-wanted: 2deb248 | titsuki++ | most-wanted/bindings.md: Add missing parentheses |
02:51 | ||
03:00
curt_ left,
shayan_ left
03:07
cdg_ left
03:12
noganex joined
03:15
noganex_ left
03:16
shayan_ joined
03:18
g__k__ joined
03:29
xtreak joined
03:38
teksteiner left
03:47
AlexDaniel left
03:48
aindilis joined
03:51
rpburkholder left
03:53
kurahaupo__ left
03:55
dugword joined
|
|||
dalek | c: b5c315d | coke++ | doc/Language/modules.pod6: Use nbsp |
04:41 | |
synopsebot6 | Link: doc.perl6.org/language/modules | ||
04:42
xtreak left
04:44
xtreak joined
04:55
PapaChub joined
04:57
rmusial joined
04:58
aborazmeh left
05:04
espadrine joined
05:33
Tonik joined
05:34
Matthew[m] left,
xui_nya[m] left,
dp[m] left,
CIAvash[m] left,
M-Illandan left
|
|||
PapaChub | Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop? | 05:38 | |
shayan_ | you have 0 awareness | 05:44 | |
you fucking dumb incel | |||
it matters to me | |||
timotimo | PapaChub: when you reach id and it doesn't match parent, it'll go into child, which immediately goes back into id | 05:46 | |
shayan_: what the hell is wrong with you? | 05:47 | ||
PapaChub | timotimo: Unfortunately, that's kind of what I wantx85 | ||
05:47
synopsebot6 left,
synopsebot6 joined
|
|||
shayan_ | timotimo: sorry — intended to be directed to a user, not this group…. | 05:48 | |
timotimo | OK | ||
samcv | PapaChub, why is there a replacement character � | ||
after what you said | |||
PapaChub | A1_B1_100 is the "offspring" of A1 and B1 | ||
samcv Did three dots x85 get converted to an ellipsis? | 05:49 | ||
05:49
synopsebot6 left
|
|||
timotimo | this is kind of like an RPN, isn't it? | 05:49 | |
05:49
synopsebot6 joined
|
|||
PapaChub | I didn't write the input :-} | 05:49 | |
samcv | uhm that's not an elipsis | ||
that's the replacement character | |||
m: "�".uniname.say | 05:50 | ||
camelia | rakudo-moar f9ed73: OUTPUT«REPLACEMENT CHARACTER» | ||
timotimo | samcv: i didn't get the replacement character on my end | ||
samcv | hm | ||
i have elipsis tho | |||
PapaChub | m: "x85".uniname.say | ||
05:50
synopsebot6 left
|
|||
samcv | maybe your encoding is off PapaChub | 05:50 | |
camelia | rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS» | ||
timotimo | it has ellipsis and a period | ||
05:50
synopsebot6 joined
|
|||
samcv | oh i can't see that one. dammit | 05:50 | |
i've seen that tho | |||
timotimo | hah :) | ||
samcv | … | 05:51 | |
m: '…'.uniname.say | |||
camelia | rakudo-moar f9ed73: OUTPUT«HORIZONTAL ELLIPSIS» | ||
samcv | yeah i can see that fine | ||
timotimo | my brain is proper wrecked by sleep deprivation still | ||
samcv | and can see it when anybody else uses it | ||
05:51
Cabanossi left,
BenGoldberg left
|
|||
timotimo | PapaChub: personally i'd parse this format by splitting on _, that's probably 10x easier ;) | 05:52 | |
samcv | i can see it on irclog for this room | ||
on the site that is | 05:53 | ||
maybe PapaChub isn't sending in utf-8? | |||
samcv wish she could get the raw irc message he sent so i can figure out what's going on | |||
05:54
Cabanossi joined
|
|||
PapaChub | samcv xABshrugxBB | 05:54 | |
05:54
synopsebot6 left,
synopsebot6 joined
|
|||
samcv | can't see those either | 05:54 | |
PapaChub, check the encoding of your client | |||
timotimo | for some reason they reach me fine | ||
samcv | maybe it's auto-decoding to utf-8? | ||
timotimo | «also shrug» <- are those okay for you samcv? | ||
samcv | that's fine | ||
PapaChub | xABx85xBB | 05:55 | |
05:55
synopsebot6 left
|
|||
timotimo | weird, so my client is perhaps doing some magic per-user detection | 05:55 | |
samcv | yeah | ||
05:55
synopsebot6 joined
|
|||
samcv | i can't see that either PapaChub | 05:55 | |
please check your client | |||
PapaChub | Yeah, I'm looking. . . | ||
samcv | my setting atm is Don't ensure any encoding at all (legacy mode, not recommended) (for ZNC) | 05:56 | |
geekosaur | I can see those. xchat/hexchat attempts utf8 and falls back to iso8859-1, though, and there's no way to tell from the UI that it did so (it'll display it as utf8) | ||
samcv | which basically means it's not doing anything at all. same for my client | ||
i have both set to not alter the stream | |||
timotimo | geekosaur: hopefully it will not display it as utf8 to you! :D | ||
PapaChub: maybe try to work off of the fact that the very first thing is always a proper parent | 05:57 | ||
even though that's not the "proper" recursion semantic | |||
samcv | PapaChub, what client are you using? | 05:58 | |
and how are you entering the characters? | |||
PapaChub, can you try coping and pasting this: … | |||
those elipsis and send it back to me | |||
05:59
tadzik joined
|
|||
PapaChub | samcv x85 | 06:00 | |
06:00
synopsebot6 left,
synopsebot6 joined
|
|||
samcv | nope can't see that | 06:00 | |
#fakeunicode | |||
PapaChub | I think I'm killing synopsebot6 each time, too | ||
timotimo | whoopsie-daysies! | 06:01 | |
samcv | what client though | ||
06:01
bwisti left
|
|||
timotimo | at some point i'm going to port synopsebot to IRC::Client, which is super robust | 06:01 | |
samcv | also somebody tell me the best way to create a string similar to how you can use Uni.new, to create a string from UTF-16 codepoints | 06:04 | |
i need it for some unicode spec tests | |||
timotimo | Buf[int16].new(...).decode('utf16') | ||
samcv | so just string the hex numbbers one after the other and .decode utf16? cool | 06:05 | |
06:05
shayan_ left
|
|||
kaare_ | basic q again, How to reference a self method? (like:) | 06:07 | |
class a {method b($x) { $x * 2 }; method c {my $a = self.&b}} | |||
which is not the way | |||
timotimo | you have to self.^find_method | ||
timotimo disappears to try sleep again | 06:08 | ||
kaare_ | oh | ||
Sleep is overrated | |||
06:12
mst left,
mst joined,
M-Illandan joined,
wictory[m] joined,
Matthew[m] joined,
ilmari[m] joined,
dp[m] joined,
Matias[m] joined,
mulk[m] joined,
xui_nya[m] joined,
CIAvash[m] joined
06:14
kybr left
06:20
kybr joined
|
|||
samcv | what is this word, s l e e p | 06:25 | |
and what does it mean | |||
kaare_ | IIRC it's something young people do | 06:26 | |
samcv | i'm going to look at QT's UTF-8 decoding code. i read it's SIMD optimized and really fast | 06:27 | |
atm 50% of the processing power we use reading a huge text file is just in decoding the utf-8 (mixed ascii and non-ascii type text) | 06:28 | ||
would be cool | |||
06:29
kyan left
|
|||
PapaChub | m: dd &sleep | 06:29 | |
camelia | rakudo-moar f9ed73: OUTPUT«Sub+{Callable[Nil]} sleep = sub sleep ($seconds = Inf --> Nil) { #`(Sub+{Callable[Nil]}|67538040) ... }» | ||
samcv | and i'm working on getting the other 25% we use to process into graphemes as low as possible. though i don't think i'm the best person to write super performant utf-8 decoding code | ||
plus if it's already implemented, no use to try and re-do somethnig that's already really optimized, that isn't really a perl 6 specific thing | 06:30 | ||
06:33
shayan_ joined
06:34
bwisti joined,
CIAvash joined
06:35
shayan_ left,
girafe left
06:36
shayan_ joined
06:51
RabidGravy joined
07:00
darutoko joined,
baest_ is now known as baest
07:15
domidumont joined
07:20
domidumont left,
bwisti left,
domidumont joined,
pierre_ joined
07:21
pierre_ left,
pierre_ joined
07:22
Melezhik joined
|
|||
Melezhik | Hi! And hope everybody has a great holidays | 07:23 | |
I am looking perl6 equivalent for perl5 'require file-path' | 07:24 | ||
samcv | Melezhik, for removing whole folder trees? | 07:25 | |
Melezhik | So to load code in runtime , I use a EVALFILE, but I am a bit concern it has overheads due to eval nature, probably I am wrong .. | ||
Samcv: not sure what you mean ,sorry | 07:27 | ||
samcv | what are you trying to do | ||
Melezhik | As I told to load some perl6 code , and this is not a module btw | ||
07:28
wamba joined,
bjz joined
|
|||
samcv | you are trying to load perl 5 code?: | 07:28 | |
sorry uh. i still don't know what you are trying to do | |||
what do you need file-path for, so i can help recommend something | |||
Melezhik | Say I a have a "main" file with some code in and I want to load, well require code from some other file , that is it ... | 07:29 | |
samcv | ah ok, just some other perl 6 file? | ||
Melezhik | No,, it is all perl6 code , just spreaded in various files | 07:30 | |
Yes, exactly | |||
samcv | if it's in the same folder you can do `use filename`, or if it's in a folder called lib you can do `use lib 'lib'; use myfile` | ||
jast | you can use 'use' and 'require' just like in Perl 5 | ||
samcv | mostly at least | ||
jast | well, almost. there are some differences but they shouldn't matter for this | ||
samcv | i would tend to go with use in perl 6, cause require does some weird things | 07:31 | |
maybe not weird but. not as simple | |||
Melezhik | Well perl6 docs says gets no equivalent for perl5 requires ,. Or I miss something ? | ||
S/gets/there's | |||
samcv | requires is not the same deep down. just use `use` | ||
and you should be fine | 07:32 | ||
Melezhik | Thanks , what if I need load file by absolute, relative path ? | ||
jast | 'need' seems a little more similar to Perl 5's 'require', though one big difference is that it happens at compile time | ||
samcv | `use folder::otherfolder::file` | 07:33 | |
just based on the folder naming or whatever. if you don't `use 'lib'` i usually put my stuff in a 'lib' directory but you could put it at the same level, nothing wrong with that | |||
Melezhik | Well, so I should anyway set up a perl6 library path ? So u | 07:35 | |
samcv | for just this program? uh no you shouldn't have to? | ||
Melezhik | I can't just load a file by some path ? | ||
kaare_ | Seems you can with require. Not with use or need | 07:36 | |
samcv | you mean like `use folder/file.pm6` or something? | ||
require can be weird though hm. | |||
idk i'm not an expert on modules :\ | |||
jast | from a quick look at the docs, it *looks* like require won't accept a filename, only a compunit name | ||
kaare_ | equire 'lib/DBIish.pm6'; works for me | 07:37 | |
require etc | |||
Melezhik | No I mean to load any file with perl6 code, not exactly with pm6 extension and not exactly to a be a perl6 module | ||
jast | oh well | ||
Melezhik | So, probably require should work ? | ||
kaare_ | Except I don't know what the weird stuff is | 07:38 | |
Melezhik | Require '/some/path/' ? | ||
jast | seems like it. unlike in Perl 5, though, Perl 6's require seems to import symbols | ||
nine | jast: is the importing really implemented? | 07:39 | |
Melezhik | Well, probably I need to take some experiments, to check it .. | 07:40 | |
nine | oh, it is | ||
07:40
FROGGS joined
|
|||
jast | I'm going by what the docs say | 07:40 | |
Melezhik | as I told EVALFILE works for me, but see my concerns on its overheads | 07:41 | |
07:41
holli left,
bjz left
|
|||
jast | well it's not like 'require' does less work | 07:42 | |
07:42
espadrine left
|
|||
nine | One can use require to load a precomp file | 07:42 | |
Melezhik: what is this file anyway that you try to load? Why do you refer to it as by file name and not a module name? | 07:44 | ||
07:44
bjz joined
|
|||
Melezhik | Nine: because code in a file not a module | 07:45 | |
07:45
bjz left
|
|||
nine | Where's the difference? What code is in there? | 07:45 | |
Melezhik | Just an arbitrary perl6 code | ||
07:45
xtreak left
|
|||
nine | Is it like user supplied code that your program just loads and otherwise knows nothing about? | 07:46 | |
Melezhik | Nine: file contains some functions calls and maybe some othe stuff , but this is not no way is perl6 module definition | 07:47 | |
07:47
shayan_ left
|
|||
Melezhik | Nine: as example you may take a look at sparrowdo docs , sparrowfile scenarios | 07:48 | |
07:49
xtreak joined
|
|||
Melezhik | Nine: that is it github.com/melezhik/sparrowdo#usage | 07:49 | |
So sparrowdo just loads some users scenarios defined in terms of some DSL | 07:50 | ||
nine | Ah, then EVALFILE may just be the right tool for the job after all. | 07:51 | |
Melezhik | More over sparrowdo scenarios may load other scenarios | ||
nine | Because you need the context | ||
Melezhik | That is it | ||
07:51
CIAvash left
|
|||
Melezhik | Nine : as I am not perl6 expert yet , just want to be sure , so I am looking for advise here ))) | 07:52 | |
But I read that EVALFILE is executed via eval , so it mob be slow ? | 07:53 | ||
S/mob/might be/ | 07:54 | ||
nine | It will be slow because Perl 6 will compile the file every time you run it. Which probably is only once per program run anyway? | ||
But it looks like most code will be in real modules anyway, so they can be precompiled? | 07:55 | ||
Ah how I wish sparrowdo was available 2 years ago and we could have used it instead of puppet. The possibilities... | 07:56 | ||
Melezhik | In general it is one file , but as I told there might be some including where some scenarios are loaded , so EVALFILE for every scenario ... | ||
Nine: 2 years ago I did bot code perl6 et | 07:57 | ||
Yet )) | |||
nine | But the docs show a Sparrowdo::Nginx module? | ||
Melezhik | Nine: sorry , what do you mean ? | 07:59 | |
nine | github.com/melezhik/sparrowdo#sparrowdo-modules the unit module Sparrowdo::Nginx; is a proper Perl 6 module that can be loaded via 'use' and therefore be precompiled. | 08:00 | |
Melezhik | Yes sparrowdo modules are way to extend soarriwdo scenarios and make code reuse , you are right | 08:01 | |
nine | The syntax could be a lot more terse btw.: task_run <service enable enginx>; with the first word being the plugin, the second an action as defined by the plugin and the third and following the parameters as defined by the action. | ||
08:01
bjz joined
|
|||
Melezhik | Yeah , nine: modules are way faster sure | 08:02 | |
Nine: sure , sparrowdo is quite young yet , do any ideas, patches are welcome ))) | 08:03 | ||
I guess I am going to refine syntax soon , you are right | |||
nine | Of course it would be much better to have it all using proper Perl 6 types and checked. So if Sparrowdo would export a sub for each plugin, this could be like: task_run service enable => 'nginx'; for which the compiler can warn you about spelling errors or invalid actions. | 08:05 | |
kybr | anyone know something about using jupyter notebook? | ||
is anyone using perl6 and the notebook together? | 08:06 | ||
arnsholt | We have an IPython kernel, but I'm not sure if anyone's using it actively | ||
And it's pretty bare-bones, so for serious use you'll likely want to fix it up a bit | 08:07 | ||
github.com/timo/iperl6kernel/ | |||
Melezhik | nine: thanks for pointing this )) | ||
arnsholt | And the code hasn't been touched in over a year, so parts of it may have bitrotted | 08:08 | |
(IIRC Net::ZMQ, which is a prerequisite, has) | |||
08:11
bjz left
08:13
andrzeju left
08:14
Melezhik left
08:16
ufobat joined
08:19
Vynce joined,
user9 joined
08:23
FROGGS left
08:25
bjz joined
08:27
brrt joined
08:35
zakharyas joined
08:38
Vynce left
08:46
g4 joined
08:53
brrt left
08:58
petrutrimbitas joined
09:03
jonas2 joined
09:05
wamba left
|
|||
masak | 'morning | 09:06 | |
yoleaux | 01:31Z <SmokeMachine> masak: do you think that this (github.com/FCO/ProblemSolver) could be useful for your train track project? | ||
masak looks | |||
I got curious about how Smalltalk does its `if` analogue, and I stumbled on this: pozorvlak.livejournal.com/94558.html | |||
not only is it a pleasant discussion, but it also mentions both mjd and pdcawley in the post, and it has RandallSchwartz in the comments | 09:07 | ||
g'ah, RandalSchwartz* | 09:08 | ||
09:08
brrt joined
|
|||
masak | main takeaway about Smalltalk's way of doing it: `ifTrue: ifFalse:` is a single method -- or, using Smalltalk's parlance, "message" | 09:09 | |
seemingly messages can be defined as just a set of named parameters -- no need to name the message itself | |||
SmokeMachine: reminds me more about strangelyconsistent.org/blog/send-m...y-in-perl6 than about the train tracks | 09:10 | ||
arnsholt | There are three possible ways of defining a message: unary messages (no arg methods), binary messages (infix operators), and that last case whose name escapes me ATM | ||
09:10
thayne joined
|
|||
masak | arnsholt: aha; interesting | 09:11 | |
arnsholt: I'm currently slowly re-reading worrydream.com/EarlyHistoryOfSmalltalk/ -- so many great insights in there | |||
arnsholt | masak: And I disagree with the phrasing in the blog post. It's not a "special case of method dispatch", it's perfectly normal method dispatch | ||
masak | I'm occasionally floored by the power of the idea of "every object is itself a small computer, instead of a weakened part of one" | ||
arnsholt: maybe $author meant "it's an instance of method dispatch", but phrased it badly | 09:12 | ||
arnsholt | Yeah, I suspect so | ||
09:17
Actualeyes left
09:18
brrt left
|
|||
arnsholt | masak: Anyways, Smalltalk is super-neat. Working with it is generally quite pleasant (and when it isn't at $work, it's usually due to either our codebase being super-crufty or our Smalltalk compiler being super-{old,crufty}) | 09:18 | |
09:18
brrt joined
|
|||
arnsholt | If you have questions I can probably answer at least some of them | 09:18 | |
masak | I have questions, but haven't gone through the work of making them concrete enough to ask :) | 09:19 | |
09:19
Actualeyes joined
|
|||
masak | maybe, for now: what's your take on the closure<->object correspondence? | 09:20 | |
in some way, lambda calculus sells the world view "everything's a closure", whereas Smalltalk sells "everything's an object" | |||
brrt | closures are objects which respond to just one kind of message | 09:21 | |
(is what a smalltalk weenie would say) | |||
masak | right | ||
brrt | masak, darnit, i had a question for you just yesterday, and i have forgotten about it | ||
masak | to be clear: I grok what the closure<->object correspondence is; just curious about further takes and insights re it :) | 09:22 | |
brrt: it was probably about macros | |||
arnsholt | I haven't meditated deeply on it, TBH | ||
masak | brrt: and you probably forgot about it as a kind of mental defense mechanism :P | ||
arnsholt | But pretty much what brrt said: closures are a thing, and to evaluate them you send them a message | 09:23 | |
brrt | hehehe | ||
masak | even in Smalltalk where closures are objects, they have to have some special relation to the source text in order to close over variables | 09:24 | |
brrt | that's true | ||
masak | (dealing with macros and ASTs has made me extra sensitive to lexical scopes, and ways in which objects are "rooted" in the source text) | ||
arnsholt | Yeah, they're specialer than the control structures | ||
There's special notation to create them (square brackets), and you probably can't easily subclass them | 09:25 | ||
masak | I have similar issues in 007 with Sub objects | 09:26 | |
they're... hard to define in a bootstrappy way | |||
arnsholt | Yeah | ||
masak | because they both want to be completely transparent for the crafty language-extender, and have a lot of private talk with the runtime | ||
arnsholt | I had similar problems in Snake (odd coincidence, that =D) | 09:27 | |
masak | fancy that | ||
we should talk sometime :P | |||
arnsholt | Indeed we should! | ||
masak | <3 | ||
brrt | any FOSDEM related plans here? | 09:28 | |
El_Che | well, enough Perl 6 talks to keep everyone here happy :) | 09:29 | |
brrt | already fully planned? | ||
El_Che | yes | ||
fosdem.org/2017/schedule/track/perl/ | 09:30 | ||
09:30
pierre_ left
|
|||
El_Che | stevan's talk must be adapted though | 09:30 | |
09:30
pierre_ joined
|
|||
brrt | cool :-) | 09:31 | |
09:34
pierre_ left
09:35
brrt left,
bjz_ joined
|
|||
samcv | .tell jnthn I found the code for QT's SIMD optimized UTF-8 decoder code.woboq.org/qt5/qtbase/src/core...c.cpp.html thought you might like to see | 09:36 | |
yoleaux | samcv: I'll pass your message to jnthn. | ||
09:36
brrt joined
|
|||
samcv | .tell jnthn seems it can make use of many different instruction sets as well. | 09:36 | |
yoleaux | samcv: I'll pass your message to jnthn. | ||
DrForr | . o "The Merelo Family" - Now I'm more intrigued. | 09:37 | |
09:37
bjz left
09:38
xtreak left
|
|||
El_Che | hehee | 09:39 | |
well, I was short in time before the deadline and according to the proposal it was between 2 and 4 people (jj + his 3 daughters). He's often around here, so you could more info. It looked a fun idea to me | 09:40 | ||
09:40
brrt left
|
|||
DrForr | Oh, I'm pretty sure I can divine the intent. I'm just glad that I could inspire someone like that. | 09:41 | |
El_Che | our guru :) | ||
I like JJ's talks. Always fun. This is probably one of his first perl6 talks | 09:42 | ||
09:43
brrt joined
|
|||
DrForr | w00t, a whole 40 minutes. Hopefully I won't lose half the crowd. | 09:43 | |
09:44
xinming left
|
|||
El_Che | start working on tap dancing and other crowd pleasing acts :) | 09:44 | |
DrForr: my original idea was a grammar workshop | |||
09:45
xinming joined
|
|||
DrForr | Yeah, so you mentioned. I'm going to have to take this weekend to figure out actual content now. | 09:45 | |
arnsholt | masak: Oh, have you discovered Smalltalk's very neat operator chaining notation yet? | ||
s/operator/method call/ | 09:48 | ||
DrForr | Almost exactly 50:50 perl 5/6 if you don't count the Docker talk and Stevan's talk (as being neutral) | ||
09:52
wamba joined
|
|||
El_Che | going for then Peace Nobel Price | 09:52 | |
DrForr | In this crowd the Ig Nobel is more likely to be awarded :) | 09:57 | |
El_Che | hehe | ||
DrForr | *especially* with that lineup. | 09:59 | |
El_Che | are there people that had a talk but didn't send a proposal? | 10:05 | |
DrForr | Not I (obviously :) ) | 10:11 | |
El_Che | I added the docker talk because there was a sudden deadline :) | 10:13 | |
DrForr | Sudden deadline is sudden. | ||
10:14
dugword left
10:15
Actualeyes left,
TEttinger left
|
|||
gfldex | m: say Bool.HOW | 10:22 | |
camelia | rakudo-moar 528ec5: OUTPUT«Perl6::Metamodel::EnumHOW.new» | ||
10:23
xtreak joined
10:24
brrt left
10:30
Actualeyes joined
10:36
bjz joined
10:37
bjz_ left
10:39
aries_liuxueyang left
10:41
brrt joined
10:43
aries_liuxueyang joined
10:48
aries_liuxueyang left
10:49
raschp joined
10:50
aries_liuxueyang joined
10:52
rindolf joined
10:53
cyphase left
10:54
cyphase joined
11:03
mr-foobar left
11:04
mr-foobar joined
11:06
raschp left
11:09
Dunearhp left
|
|||
gregf_ | hello | 11:12 | |
11:13
Dunearhp joined
|
|||
gregf_ | was Moose like a step to help Perl5 devs make a smooth transition to Perl6? | 11:13 | |
notviki | No. | ||
11:13
Ven joined
|
|||
notviki summons mst | 11:14 | ||
gregf_ | cuz i can see Method::Signatures, MooseX::MultiMethods (to name a few ) in our current codebase that does the same as Perl6:| | ||
notviki | gregf_: there was some back and forth stealing of ideas. | ||
mst remembers better | |||
gregf_ | hmm, nevertheless it all helps, as ive seen Perl6 before ive even used those Moose modules ;) | 11:15 | |
mst | Moose was significantly inspired by the original perl6 metamodel | ||
the current perl6 metamodel was significantly inspired by Moose | |||
lots of other influences in both | |||
but, yeah, lots of mutual idea theft | 11:16 | ||
gregf_ | hmm - ok | ||
mst | gregf_: also, I threw enough of a tantrum over perl6's BUILD requiring extra typing that there's now a TWEAK in rakudo that works like an M* BUILD | ||
notviki | :) | 11:17 | |
11:17
xtreak left
|
|||
mst | (everybody who did the actual work on that)++ | 11:17 | |
gregf_ | mst++, notviki++, perl{5,6}++ | 11:18 | |
11:18
Ven left
|
|||
gregf_ | s/p/P/ | 11:18 | |
mst | gregf_: also if you can use keyword plugins replace Method::Signatures with Function::Parameters | ||
F::P + Type::Tiny + Moo == <3 | 11:19 | ||
gregf_ | mst: hmm, i see, any performance gain in switching? | ||
mst | no idea, but Devel::Declare is insane and Any::Moose is deprecated and Method::Signatures relies on both | ||
gregf_ | i'll try and use F:P in new code i add ;) #if it passes code review :) | 11:20 | |
hmm - ok | |||
oh, so replace Moose with Moose. hmm | 11:21 | ||
s/Moose\./Moo/ | |||
mst: cheers | 11:22 | ||
mst | gregf_: well, that one's a different question | ||
if you've got Moose code that's working, no, don't bother | |||
I use Moo for new stuff by default because it makes my test files start faster | |||
but I'm entirely unashamed to move up to Moose if I need the features | 11:23 | ||
gregf_ | ok, havent seen Moo being used at, yet . no. i'll just be happy with Moose for now i guess :) | 11:24 | |
s/at/yet/ | |||
mst | Type::Tiny is the better way to do types for -both- though | ||
gregf_ | yeah, ive user it and Types::Standard | ||
s/user/used/ | 11:25 | ||
11:25
brrt left,
brrt joined
11:27
petrutrimbitas left
11:29
Ven joined,
petrutrimbitas joined,
labster left
11:40
ecocode joined
11:49
wamba left
12:01
pierre__ joined
12:04
pmurias joined
12:06
pierre__ left
|
|||
pmurias | jnthn: throwpayloadlex and throwpayloadlexcaller ops are marked as returning a value, yet they don't return a value | 12:06 | |
(they pass the register address to a function which does nothing with it) | |||
masak | arnsholt: yes, I think I've seen the syntax. not sure if I've seen anything special or noteworthy about it yet, though | 12:07 | |
pmurias | jnthn: should I make a PR to stop them from trying to return a result. | 12:09 | |
jnthn | That's something to do with resumable exceptions, I believe | ||
yoleaux | 09:36Z <samcv> jnthn: I found the code for QT's SIMD optimized UTF-8 decoder code.woboq.org/qt5/qtbase/src/core...c.cpp.html thought you might like to see | ||
09:36Z <samcv> jnthn: seems it can make use of many different instruction sets as well. | |||
jnthn | pmurias: Lunch now so don't have time to dig further right away, but the API is that way for consistency with the various other throw ops, iirc. | 12:10 | |
pmurias | jnthn: the returned value is supposed to be taken from resuming of the exception | 12:14 | |
but it's not done | |||
12:23
melezhik joined
|
|||
melezhik | nine: to follow up our recent talk on sparrowdo syntax , I just added some todos in sparrowdo docs -github.com/melezhik/sparrowdo#core-dsl | 12:25 | |
so it's goning to be 3 level of freedom 1) core dsl 2) plugins DSL 3) modules | |||
and forth one - a sparrow plugins of course ))) | 12:26 | ||
12:31
brrt left
|
|||
arnsholt | masak: Mostly it's just really useful in some cases, and avoids the issue with fluent interfaces where methods have to return the invocant to enable chaining | 12:33 | |
kalkin-_ | I don't know if I overact, but I think it's fair to add Perl6 to this showcase to github.com/showcases/great-for-new-contributors | 12:38 | |
masak | oh, right. because it's syntax here, and not something the API author has to put in. | ||
arnsholt | Yup | 12:39 | |
kalkin-_ | #perl6 has one of the nicest and welcoming culture I've seen in software project | ||
pmurias | melezhik: what functionality does sparrowdo provide? | ||
arnsholt | OTOH it means that Object has a method called yourself which just returns the invocant, in case you actually do want the invocant back in the end =) | 12:40 | |
El_Che | kalkin-_: pretty cool! | ||
DrForr | kalkin-_: Yay! I'd agree re: great-for-new-contributors, especially now that the documentation side is starting to take off. | 12:42 | |
lizmat | kalkin-_ : please use the link at the bottom of the page "Contact Github", worked fine yesterday :-) | 12:43 | |
melezhik | Hi pmurias: sparrowdo is configuration management tool | ||
or tool for server deploy automation | 12:44 | ||
12:45
pierre__ joined
12:52
ChoHag left
|
|||
melezhik | pmurias: or even just a tool to run whatever users scenarios remotely ( like rex for perl5 , but I guess there is difference though ) | 12:53 | |
12:54
ChoHag joined
|
|||
El_Che | melezhik: looks like puppet manifests | 12:54 | |
12:58
melezhik left
|
|||
kalkin-_ | I remember there was some Perl6 guideline, saying: be nice to each other, but i currently can't find it | 12:59 | |
does some one have a link? | |||
DrForr | On the front page of perl6.org IIRC. "be kind to..." | ||
El_Che | perl6.org/community/ | 13:00 | |
"We are a bunch of volunteers developing Perl 6 and Perl 6 applications, and try real hard to be nice to each other. " | |||
kalkin-_ | They only say be nice to each other, but not some text | ||
I thought there were some elaborated version of it | |||
s/were/was/ | 13:01 | ||
El_Che | kalkin-_: I remember we discussed this: gist.github.com/nxadm/13c4817dd1b4b792a99f | ||
13:02
petrutrimbitas left
|
|||
ufobat | there is no .can($private-method) isn't it? | 13:03 | |
notviki | no | ||
Otherwise it wouldn't be private :P | |||
ufobat: why do you need that? | 13:04 | ||
m: DateTime.new.^can('!SET-SELF').say | 13:05 | ||
camelia | rakudo-moar 528ec5: OUTPUT«()» | ||
notviki | m: DateTime.new.^can('SET-SELF').say | ||
camelia | rakudo-moar 528ec5: OUTPUT«()» | ||
13:06
melezhik joined
|
|||
moritz | there's a .^private_method_table | 13:06 | |
you can do basically anything through the MOP | |||
notviki | m: DateTime.new..^private_method_table.say | ||
camelia | rakudo-moar 528ec5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: private_method_table used at line 1» | ||
notviki | m: DateTime.new.^private_method_table.say | ||
camelia | rakudo-moar 528ec5: OUTPUT«{SET-SELF => SET-SELF, throw => throw}» | ||
ufobat | i want to dispatch to private methods based on a $string, or throw an error | ||
notviki | ufobat: but why is that method private? | 13:07 | |
ufobat | just because it makes no sense if it is called from outside | ||
shouldnt everything be private unless there is a reason for it to be public (e.g it is part of the interface) | |||
notviki | that private method table seems bogus. It doesn't have !formatter, !VALID-UNIT, or !new-from-positional in it | ||
ufobat: ... but you *are* trying to call it from the outside :| | 13:08 | ||
ufobat | no | ||
notviki | mkay then | ||
moritz | ufobat: it's private becaues Date and DateTime objecst are meant to be immutable | ||
ufobat | m: class A { method !a {say "a"}; method b {say self.can("a")} }; A.new.b | ||
camelia | rakudo-moar 528ec5: OUTPUT«()» | ||
moritz | ufobat: if you want to do something with them, you should create a new object with the properties, not recycle an existing one | 13:09 | |
ufobat | moritz: i am not playin with DAteTime | 13:10 | |
13:11
mattp_ is now known as mattp
|
|||
moritz | ufobat: then I probably missed some context | 13:11 | |
ufobat | within a (public) method i want to dispatch to different private methods, based on a $.member, i'm just avoiding having a Strategy and Factory for each different possble value of $.member and | ||
moritz, the datetime was from notviki | |||
i could just do self!"$methodname" and if tere is not such method i could catch it. | 13:15 | ||
kalkin-_ | Any more arguments why Perl6 Community is great? gist.githubusercontent.com/kalkin/...tfile1.txt | 13:17 | |
13:17
petrutrimbitas joined
13:19
melezhik left
|
|||
El_Che | kalkin-_: maybe how the development is done in the open (idea's, discussions, implementation) | 13:20 | |
kalkin-_ | El_Che: right will add that | 13:21 | |
El_Che | kalkin-_: try to make the distinction between "open source" (aka the code is there on github) and "open source by the community" | 13:23 | |
something like that | |||
kalkin-_ | El_Che: I don't fully understand what do you mean by "open source by the community"? | 13:26 | |
El_Che | kalkin-_: I mean that just putting the code on a repo qualifies as open source | 13:27 | |
13:27
holli joined
|
|||
El_Che | but because of communitiy involvement the Perl6 experience is reacher | 13:27 | |
notviki | Other open source langs don't have community involvement? | 13:28 | |
kalkin-_ | El_Che: Isn't it the same for any project accepts PRs at Github? Of course Open Source could just mean: “looking but no touching” but then it wouldn't be Great for new Contributors | 13:29 | |
Or there wouldn't be any contributors at all besides, yourself or your company employees | 13:30 | ||
13:30
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
kalkin-_ | I will definitely add that the development is carried out in the open, but I don't think it's necessary to distinct between open source and "open source by the community" | 13:31 | |
El_Che | ok | 13:32 | |
kalkin-_ | El_Che: or may be I didn't understand your argument fully? | ||
13:32
petrutrimbitas left
|
|||
notviki | Is it possible to call nqp::for in Perl 6 land? I keep getting "Operation 'for' expects a block as its second operand" | 13:32 | |
m: use nqp; my %h = :42a; nqp::for(%h, nqp::stmts(say nqp::iterkey($_))) | 13:33 | ||
camelia | rakudo-moar 528ec5: OUTPUT«===SORRY!===Operation 'for' expects a block as its second operand» | ||
13:33
pierre__ left
|
|||
lizmat | notviki: it is my understanding that nqp::stmts is *not* a block | 13:34 | |
which is precisely why I use it a lot to reduce the overhead of starting a new scope | |||
notviki | m: use nqp; my %h = :42a; nqp::for(%h, {say "mew"}) | ||
camelia | rakudo-moar 528ec5: OUTPUT«===SORRY!===Operation 'for' expects a block as its second operand» | ||
notviki | ok | ||
13:35
lukaramu joined
13:36
bjz left
13:37
bjz joined
|
|||
El_Che | kalkin-_: I just meant that because of the friendly community and the development in the open, it's easy feel part of the direction of the project. But, it's true that there are more projects like that. | 13:43 | |
kalkin-_: for a lot of projects are drive-by-PRs the norm | |||
kalkin-_ | This is good → because of the friendly community and the development in the open, it's easy feel part of the direction of the project. | 13:44 | |
I will try to mention that | |||
El_Che | s/feel/feel and be/ | 13:45 | |
13:49
wamba joined
|
|||
nine tends to use the term "free software" as to him the important part is the freedom, not that one can look at the source | 13:49 | ||
kalkin-_ | nine: don't want to start a flamewar but afaik the Artistic license is not Free Software | 13:50 | |
St. Richard tells us that Free Software has to guarantee the 4 basic software freedoms | 13:51 | ||
jast | depends on who you ask, there is no one agreed-upon definition of "free software" | ||
pmurias | kalkin-_: Rakudo uses Artistic license 2.0 | 14:03 | |
kalkin-_ | Github Request send out | 14:06 | |
Done | |||
14:07
mcmillhj joined
14:08
aborazmeh left
14:12
raschp joined
|
|||
raschp | Anyone attending the Perl Toolchain Summit 2017? | 14:13 | |
14:15
bjz left
|
|||
lizmat hopes so | 14:15 | ||
14:17
kurahaupo__ joined
|
|||
[Coke] waves and skips scrollback | 14:22 | ||
kalkin-_ | I know that some perl6 modules which are just wrappers around NativeCall bring the library they are wrapping with it. Ie Linenoise, but some like OpenSSL & Readline do not, what is the best practice here? Or does Linenoise bring it's own version of the library because it needs to work on windows and it's a part of the Task::Star distri? | 14:23 | |
14:29
espadrine joined
|
|||
dalek | c: 707efdb | coke++ | doc/Language/ (2 files): Split proceed/succeed markers Closes #1089 |
14:30 | |
14:31
cibs left
|
|||
tbrowder | raschp: got a link to the summit? | 14:31 | |
lizmat | blogs.perl.org/users/book1/2017/01/...-2017.html | ||
14:32
cibs joined,
bwisti joined
14:33
CIAvash joined
|
|||
raschp | kalkin-_: I think it has to do with making distribution easier. Linenoise embeds the library because it's usually not available trough other means. OpenSSL & Readline don't embed because the libraries are available trough distros already. | 14:34 | |
Linenoise will have to be disembedded to be distributed trough distros, they don't allow embedding. | 14:35 | ||
The lib and the bindings will have to be distributted separately. | 14:36 | ||
14:36
mscha joined
|
|||
mscha | m: say roundrobin((0,1,2),(3,4,5),(6,7)) # This works, but ... | 14:36 | |
camelia | rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))» | ||
mscha | m: say roundrobin((^8).rotor(3, :partial)) # ... how do I make this DWIM? | ||
camelia | rakudo-moar 1ee9c8: OUTPUT«(((0 1 2)) ((3 4 5)) ((6 7)))» | ||
14:37
jonas2 left
|
|||
notviki | m: say roundrobin(|(^8).rotor(3, :partial)) | 14:38 | |
camelia | rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))» | ||
raschp | m: say roundrobin(^8).rotor(3, :partial).join("|") | ||
camelia | rakudo-moar 1ee9c8: OUTPUT«0 1 2|3 4 5|6 7» | ||
notviki | instead of three lists you were passing it just one; the one rotor returned | ||
mscha | notviki: thanks. That easy, eh? I thought I tried something like that, guess not... | 14:39 | |
raschp | m: say roundrobin(|(^8).rotor(3, :partial)).join("|") | ||
camelia | rakudo-moar 1ee9c8: OUTPUT«0 3 6|1 4 7|2 5» | ||
14:40
dj_goku left
|
|||
kalkin-_ | raschp: k, thanks | 14:42 | |
raschp | kalkin-_: np | ||
mscha | m: my @l = (0,1,2), (3,4,5), (6,7); say roundrobin(|@l); # But how about this one? | 14:45 | |
camelia | rakudo-moar 1ee9c8: OUTPUT«(((0 1 2) (3 4 5) (6 7)))» | ||
notviki | "It's still all about Perl (and about all Perls)" | 14:46 | |
Cool so Perl 6 toolchain will also get some hacking done at the summit? | |||
s: &roundrobin, \(|[(0,1,2), (3,4,5), (6,7)]) | 14:47 | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/1ee9...t.pm#L1622 | ||
kalkin-_ | Got an Thanks we will talk to our Explore Team msg from GitHub. I noticed i forgot to mention that the main repo is rakudo/rakudo. I hope the GitHub team will figure it out, because they added yesterday Perl6 to languages showcase | 14:48 | |
raschp | I think one thing to talk about in the summit is distributions. | ||
notviki | distributions? | ||
raschp | Star | ||
notviki | eh | ||
mscha | m: my $l = ((0,1,2), (3,4,5), (6,7)); say roundrobin(|$l); # This works, but I don't understand why it doesn't with @l | 14:49 | |
camelia | rakudo-moar 1ee9c8: OUTPUT«((0 3 6) (1 4 7) (2 5))» | ||
notviki | OK :) Not what I think of toolchain, but oK :) | ||
raschp | Well, it's not really, you're right. | ||
nine | kalkin-_: the Artistic License does grant me the 4 freedoms. | 14:50 | |
kalkin-_ | nine: so i cant take rakudo and make my own closed source version of it and distribute it? | 14:51 | |
notviki | m: my @l = (0,1,2), (3,4,5), (6,7); sub (**@lol is raw) { dd @lol; for @lol -> \elem {use nqp; dd nqp::iscont(elem)} }( |@l ) | 14:53 | |
camelia | rakudo-moar 8ab6e0: OUTPUT«($(0, 1, 2), $(3, 4, 5), $(6, 7))111» | ||
notviki | m: my $l = ((0,1,2), (3,4,5), (6,7)); sub (**@lol is raw) { dd @lol; for @lol -> \elem {use nqp; dd nqp::iscont(elem)} }( |$l ) | ||
camelia | rakudo-moar 8ab6e0: OUTPUT«((0, 1, 2), (3, 4, 5), (6, 7))000» | ||
mst | notviki: there will be some if perl6 people are at the summit and decide to work on perl6 | ||
notviki | mscha: looks like roundrobin needs some tweakage. It makes some assumptions about the inner els based on their contarization, and when you pass a slipped array the inner items are contarinizined and it treats them as 1-el and stuff them into another list | 14:54 | |
14:54
itcharlie1 joined
|
|||
notviki | mscha: what I'm saying is it's a bug and you should report it by emailing to [email@hidden.address] | 14:55 | |
14:55
curt_ joined
|
|||
notviki | Unless someone beats me to it, I'll fix it in ~9 hours | 14:55 | |
mscha | notviki: thanks, will do. | ||
nine | kalkin-_: the 4 freedoms are to run the program for any purpose, study how the program works, redistribute it and improve it and release the improved version. The Artistic License gives you all of the above. It is not a viral license that requires you to grant others those freedoms ("strong copyleft") but it does grant them to you. | ||
CIAvash | www.gnu.org/licenses/license-list....icLicense2 | 14:56 | |
kalkin-_ | nine: thanks for clarification | ||
nine | kalkin-_: yes, personally I prefer strong copyleft and will license my own code GPL3, except for my Perl stuff for cultural reasons. | ||
gregf_ | mscha: thats like a transpose | 14:59 | |
15:04
skids joined
15:10
lizmat_ joined,
PapaChub_ joined
15:13
aries_liuxueyang left,
Dunearhp left,
lizmat left,
Dunearhp_ joined,
PapaChub left
15:14
aries_liuxueyang joined
15:18
dj_goku joined,
ecocode left
15:20
nowan left
15:21
melezhik joined
15:22
nowan joined
15:23
dj_goku left
|
|||
melezhik | El_Che: yeah, but puppet is way declarative , but here in sparrowdo you can code scenarios in Perl6 which is more flexible | 15:25 | |
15:26
kurahaupo__ left
15:27
kurahaupo__ joined
15:31
ThorstenB joined,
Tonik left
15:32
PapaChub_ is now known as PapaChub
15:35
mcmillhj left
|
|||
pmurias | melezhik: what benefits does the plugin system in sparrowdo provide over just having a script that imports a bunch of stuff from a module? | 15:38 | |
15:39
ThorstenB left
|
|||
melezhik | sparrowdo deals with sparrow plugins, which are written by one language of choise - perl5,ruby,bash | 15:40 | |
15:40
floutenvy joined
|
|||
melezhik | in short sparrow plugins are not coupled with sparrowdo | 15:40 | |
15:40
ThorstenB joined
|
|||
melezhik | one can write a plugin and use it without sparrowdo, sparrowdo just provides useful DSL to get more complicated things using pluigins | 15:41 | |
15:42
mcmillhj joined
|
|||
melezhik | I would say such desing gives more freedom and less monolitic | 15:42 | |
15:43
mscha left
|
|||
melezhik | say, often people often write a bash scripts to accomplish theirs tasks, then they could easily "plug" theis scripts into sparrowdo ecosystem , even without knowing a perl6 | 15:44 | |
15:45
floutenvy left
|
|||
melezhik | btw the case you are saying is also possible, because sparrow is script oriented tool, where scripts are written on most any language , and it's easy to add Perl6 support to sparrow | 15:46 | |
ufobat | *sigh* '<' f**s up my emacs syntax highlighting :( | 15:48 | |
15:49
Tonik joined
|
|||
melezhik | so the idea is - 1) write high level scenarios in Perl6/Sparrowdo 2) but in the end , under the hood every sparrowdo scenario is just a collection of plugins, where every plugin is a simple script | 15:49 | |
written on the language on your choice | 15:50 | ||
and sometimes, it depends on the task we are trying to solve it's better use language close to task ( perl5 or bash or even ruby ) | 15:51 | ||
tbrowder | .tell JJMerelo i've added a front page to the perl6-mode wiki; i plan to put some Emacs tidbits for p6 i learn from various places. the tidbits will be specific recipes, not the disconnects i see other places that require you to be an emacs expert. | 15:52 | |
looks like another sneaky leading space again! | 15:54 | ||
PapaChub | Backtracking / Ratcheting Regex Question: Can anybody help me figure out how to make this: dabe.com/misc/parse-lineage.p6.html *NOT* fall into an infinite loop? | ||
(I also tried a single '|' for longest alternation, but with no luck...) | 15:55 | ||
tbrowder | .tell JJMerelo see new wiki | 15:57 | |
yoleaux | tbrowder: I'll pass your message to JJMerelo. | ||
PapaChub | A1_B1_100 is the "offspring" of A1 and B1, but can then be bred with C2 to produce "A1_B1_100_C2_200" | 15:59 | |
notviki | ufobat: there's some sort of emacs things for perl6: github.com/perl6/perl6-mode | 16:00 | |
jnthn | Well, I can spot the problem at least: child calls id, which calls child, which immediately calls id again. Thus it's an infinite recursion without making any progress. | ||
16:00
rindolf left
16:01
dogbert2 left,
dogbert17 joined
|
|||
El_Che | melezhik: interesting | 16:02 | |
melezhik: I use Puppet, but once it's get complicated I have to extend it in Ruby | |||
PapaChub | jnthn: Yup. I've thrown in every type of ":r" ratchet I can think of, but to no avail :-\ | 16:03 | |
jnthn | PapaChub: Yes, that won't help, the grammar will need a little restructuring to avoid left-recursion | 16:04 | |
Oh, though it checks <parent> first | 16:05 | ||
melezhik | pmurias: and one thing; say you don't have a Perl6 the target server. but probably you mostly always have a perl5/bash there. So the case is 1) write sparrowdo high level scenario on Perl6 to "push" a sparrow plugins ( written on perl5, bash ) to remote host and execute them there | 16:06 | |
tbrowder | how do p6 emacs people feel about a #perl6-emacs channel | ||
16:06
wamba left
16:07
rindolf joined
|
|||
melezhik | El_Che: yeah I know, for many CM frameworks you should use a framework specific language to extend | 16:07 | |
jnthn | Ah, I see. It still can get into the recursion path I mentioned | ||
El_Che | melezhik: I actually learnt some Ruby specifically for Puppet | 16:08 | |
melezhik | ruby for chef, puppet and ansible ... not absulutely true, becase ansible only requires JSON output , but in practice people do use a python to write ansible modules | 16:09 | |
PapaChub | jnthn, Yeah, it seems like if "one" is a "child", any subsequent "two" gets wrapped around the axle | ||
melezhik | El_Che: so did I with ruby for chef )) | ||
so I want to have an excelent and powerful Perl6 for high level part ( scenarios ) and whatever langauge you want for low level ( pluigins ) | 16:11 | ||
El_Che | melezhik: the decoupling thing is great | ||
16:11
perlpilot joined
|
|||
melezhik | this is what people in chef call ricepes and resources, but indeed thet are all should be written on ruby ... | 16:11 | |
the same thing for puppet | 16:12 | ||
El_Che: yeah. one can start writting plugin right in place in debug it on target server in "manual" mode, only using sparrow client and then "plug" it into sparrowdo ecosystem | 16:13 | ||
and then run plugin remotely as the part of sparrowdo scenario | 16:14 | ||
16:15
kerframil joined,
Actualeyes left
|
|||
Vasyl | So is there a working sample of code that creates an HTTPS server using Perl6? | 16:16 | |
El_Che | melezhik: inspired by nagios? | 16:17 | |
mst | melezhik: (1) you might find terraform's plugin system interesting | 16:21 | |
melezhik | El_Che: do you mean if sparrowdo is inspired by nagios? | ||
mst | melezhik: (2) p3rl.org/Object::Remote will run perl5 code agentless over ssh | ||
El_Che: I don't think he's sued anybody at all yet? | |||
El_Che | melezhik: the "write-plugins-in-whatever-you-want-we-dont-care" philosophy | ||
mst: haha | 16:22 | ||
melezhik | mst: I looked at Object::Remote , yeah idea is probably the same. But again sparrow is not limited by perl, one can use bash or perl5 or ruby | 16:24 | |
mst | melezhik: what | ||
El_Che | melezhik: how does it work? a client? ssh + local rakudo install? | ||
mst | melezhik: no, the idea is not the same at all | ||
16:24
troys joined
|
|||
mst | melezhik: I am suggesting that you would use Object::Remote *in your plugin* | 16:24 | |
El_Che | oh noes, mst passed his beer to someone in order to explain stuff with both hands | 16:25 | |
melezhik | El_Che: master host has a perl6/sparrowdo scenarios which compiled into sparrow plugins ( internally just a JSONs ) and gets pushed into remote host where they are executed by sparrow clinet | 16:26 | |
mst | melezhik: because then you don't need a client on the remote host. so you don't need perl6 on the remote host. | ||
El_Che | master-client model, ok | ||
melezhik | sparrow client is written on perl5, so on remote host it should perl5 installed | ||
mst | melezhik: you don't need anything installed except perl5 5.8+ | ||
melezhik | El_Che: yes | ||
El_Che | I like the Rex client less setup (although I use masterless puppet myself) | ||
mst | melezhik: then you can use Object::Remote to send the sparrow client to the remote host :D | ||
16:26
alimon1 joined
|
|||
melezhik | I documented it at sparrowdo github pages | 16:27 | |
PapaChub read that as Rexx | |||
mst | melezhik: it basically gives you on-demand App::FatPacker | ||
PapaChub | (Showing my age...) | ||
melezhik | mst: I get you point , probably Object::Remote could be a "transport"? to deliver a sparrow toolchain to remote host? | ||
mst | melezhik: exactly | 16:28 | |
melezhik: so you don't need to install any sparrow files | |||
melezhik | mst: will probably take a look closer then ))) | ||
El_Che | mst: a Rube Goldberg machine? Really? | ||
El_Che ducks | |||
melezhik | Mst: El_Che: sorry guys need to go for a while | ||
mst | melezhik: there is no point writing perl for servers without knowing how App::FatPacker and Object::Remote work | ||
melezhik: it's good to learn how to use perl5 properly | |||
El_Che | melezhik: I will check it out. It looks nice | 16:29 | |
16:32
mcmillhj left,
Actualeyes joined
|
|||
PapaChub | jnthn: I'm thinking my best bet will be to throw out the "child" grammar altogether, and just (ab)use the Action class to build up an RPN-style stack/tree as I find '_'-separated tokens | 16:32 | |
xE0 la rosettacode.org/wiki/Parsing/RPN_c...thm#Perl_6 | 16:34 | ||
16:34
synopsebot6 left,
synopsebot6 joined,
mcmillhj joined
16:38
Actualeyes left
|
|||
jnthn | PapaChub: Yeah, I'm a bit tied up with other stuff to really look at it, but it did look like it may be more easily done just keeping a stack | 16:41 | |
PapaChub | jnthn: No worries! I certainly don't expect anybody to drop everything for something so trifling... :-D | 16:42 | |
Thx, tho! | |||
melezhik | mst: not sure if you understand me correcly, please read a sparrow docs, sparrow plugins are not only written on perl5 | ||
mst | melezhik: you said the *client* was written in perl5 | 16:43 | |
melezhik: i.e. the main part that runs on the target server | |||
16:43
acrussell joined
|
|||
melezhik | yeah, client is written on perl5, but not the plugins | 16:43 | |
16:44
bwisti left
|
|||
mst | melezhik: and the plugins run on the master and generate JSON, right? | 16:44 | |
16:45
domidumont left
|
|||
melezhik | mst: not that simple, let me describe the whole picture again | 16:45 | |
mst | melezhik: "Sparrowdo acts over ssh installing sparrow plugins, applying configurations and running them as sparrow tasks." | 16:48 | |
melezhik | 1) master host. perl6 sparrowdo scenarios are executed and result in some JSON output 2) a sparrow client written on perl5 is installed on target host and gets run over ssh with JSON data as input priorily gets copied to target host via scp 3) a sparrow client runs varios plugins written on varios languages | ||
mst | melezhik: all I am saying is that anything that is perl5 does not need to be installed at all. | 16:49 | |
melezhik: I can't fix other languages. | |||
well, actually, I could probably write perl6 plugins that ran on the master | 16:50 | ||
but that would be a different chunk of crazy | |||
melezhik | mst: the usefull thing about Object::Remote is fat packing sparrow client itself to target ost, but having sparrow client installed at target host is not considered by me as big issue | 16:51 | |
mst | melezhik: requiring an agent install will lose you lots of users. | 16:52 | |
melezhik | there is --bootstrap option for sparrowdo , which install sparrow client in case it's missing on target host | ||
mst | melezhik: but, ok, if you don't care about those users, fair enough | 16:53 | |
melezhik | mst: I see your point. I would say requiring a "complicated" agent install will lose me a lots of users | ||
mst | (really - pick who you do care about, worry about them, ignore me :) | ||
melezhik | for example take a loom at chef - they don't care about agentless mod at all ))) | ||
I know they have a push mode, but the mainstream is having chef client preinstalled at target host ))) | 16:54 | ||
mst | yes. | ||
which is why lots of new deployments use ansible. | |||
melezhik: I talked to Luke Kanies while he was writing puppet. I talked to Adam Jacob while he was writing chef. | 16:55 | ||
ufobat | notviki, thanks :-) that is exactly what i am using | ||
mst | I've been doing systems automation for money for over 15 years now | 16:56 | |
melezhik | yeah, I know ansible is agentless, but it is not absolutely true, it still requires a python ))) | ||
16:56
rafaelsch joined
|
|||
mst | and Object::Remote still requires a perl | 16:56 | |
melezhik | mst: now you talk to me )))) | ||
mst | fabric just requires a shell | ||
melezhik | I thought fabric requires a python too? | 16:57 | |
16:58
bwisti joined,
raschp left
|
|||
mst | on the master. on the remote just bash. | 16:58 | |
melezhik | mst: I'd not like to make such a bug focus on "agentlessness" , anyway, anyhow you need some "agent" there on target host to get things done, it could be python or perl or whatever | 16:59 | |
and if it is only the bash then you are limited to bash in implimenting your agent logic | |||
16:59
thayne left
|
|||
melezhik | which is not always very good choise, you know ... | 16:59 | |
mst | you can get surprisingly far with just fabric | 17:00 | |
17:00
shayan_ joined,
shayan_ left
17:01
wamba joined
17:02
domidumont joined
|
|||
melezhik | mst: sorry I need to go, my family wants me )) but of course it's good to compare with other tools. I would encourage you to read a sparrow/sparrowdo docs to make a final opinion ))) | 17:02 | |
17:02
rindolf left
17:04
mcmillhj left,
Ven left
17:05
shayan_ joined
17:06
dj_goku joined
17:08
Ven joined
17:09
mcmillhj joined
|
|||
PapaChub | Well, if it's stupid -- but it /WORKS/ -- it isn't stupid... dabe.com/misc/parse-lineage.p6.html | 17:11 | |
17:11
dj_goku left
|
|||
pmurias | why is brain d foy twitting his rt tickets on his learningperl6 twitter? | 17:11 | |
notviki | pmurias: I was wondering the same | 17:12 | |
pmurias: also retweeting what (at least to me) sounds like mockery about bugs, yet I find out the user built bleed dev branch instead of using a user package | |||
17:13
awwaiid left,
acrussell left
17:15
mcmillhj left,
PapaChub left
|
|||
pmurias | it's a good think brain d foy is spending the time to make the ticket | 17:17 | |
17:17
acrussell joined,
ChoHag left
|
|||
SmokeMachine | m: sub bla() {&?ROUTINE.say}; bla | 17:18 | |
camelia | rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|64293704) ... }» | ||
notviki | m: sub bla() {&?ROUTINE.name.say}; bla | 17:19 | |
camelia | rakudo-moar 40d7de: OUTPUT«bla» | ||
17:19
Ven left
|
|||
rafaelsch | m: sub bla() {dd &?ROUTINE}; bla | 17:20 | |
camelia | rakudo-moar 40d7de: OUTPUT«Sub bla = sub bla () { #`(Sub|58120648) ... }» | ||
rafaelsch | m: sub bla() {say &?ROUTINE.perl}; bla | ||
camelia | rakudo-moar 40d7de: OUTPUT«sub bla () { #`(Sub|66454648) ... }» | ||
notviki sees a sprouting of new r* nicknames | 17:21 | ||
Zoffix 2.0? | 17:22 | ||
pmurias | documentation for tempdir (and others) should be copied from the synopsis into the docs? | 17:24 | |
notviki | which others? | 17:25 | |
documentation should document specced behaviour IMO | |||
And tempdir/indir aren't specced | 17:27 | ||
And personally, they shouldn't be specced in their current form. | 17:28 | ||
*personally I think | |||
17:28
Ven joined
|
|||
pmurias | notviki: the method form of tmpdir is in specced | 17:29 | |
notviki | My reasoning for indir, but it applies to otheres too: rt.perl.org/Ticket/Display.html?id...xn-1442705 | ||
pmurias: ah, you said tempdir originally | |||
pmurias | sorry, we don't have tempdir | 17:30 | |
notviki | s: $*SPEC, 'tmpdir', \() | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/40d7...nix.pm#L83 | ||
notviki | My biggest winge is about the :$test parameter taken by chdir routine and by extension is used by many other IO routines | 17:31 | |
17:31
troys is now known as troys_
|
|||
notviki | m: dd $*TMPDIR | 17:32 | |
camelia | rakudo-moar 40d7de: OUTPUT«"/tmp".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia"))» | ||
17:34
ChoHag joined
|
|||
notviki | m: tmpdir "/"; dd $*TMPDIR' | 17:34 | |
camelia | rakudo-moar 40d7de: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3tmpdir "/"; dd $*TMPDIR7⏏5' expecting any of: infix infix stopper postfix statement end statement modi…» | ||
notviki | m: tmpdir "/"; dd $*TMPDIR | ||
camelia | rakudo-moar 40d7de: OUTPUT«Failed to change the working directory to '/': did not pass 'd r w x' test in block <unit> at <tmp> line 1Actually thrown at: in any at gen/moar/Metamodel.nqp line 3072 in block <unit> at <tmp> line 1» | ||
notviki | m: tmpdir "/dev/null"; dd $*TMPDIR | ||
camelia | rakudo-moar 40d7de: OUTPUT«Failed to change the working directory to '/dev/null': is not a directory in block <unit> at <tmp> line 1Actually thrown at: in any at gen/moar/Metamodel.nqp line 3072 in block <unit> at <tmp> line 1» | ||
17:35
Ven left
|
|||
notviki | m: tmpdir "/home/camelia"; dd $*TMPDIR | 17:35 | |
camelia | rakudo-moar 40d7de: OUTPUT«Cannot modify an immutable IO::Path in block <unit> at <tmp> line 1» | ||
notviki | Yeah... | ||
guess I should focus on this stuff if I'm the only one complaining about it... | 17:38 | ||
17:38
ThorstenB left
|
|||
notviki gets to business | 17:38 | ||
rafaelsch | notviki++ | 17:39 | |
pmurias | do we need &tmpdir? | ||
it's not specced so it doesn't have to say ;) | 17:42 | ||
s/say/stay | |||
rafaelsch | Why was it implemented in the first place? | 17:44 | |
notviki | prolly part of synopses | 17:45 | |
rafaelsch | notviki: change it so it pleases you and then spec it. | 17:46 | |
So brian can use it in his book. | |||
17:47
zakharyas left
|
|||
rafaelsch | good marketing combined with good implementation. | 17:47 | |
17:47
Ven joined
|
|||
notviki | heh | 17:47 | |
notviki still have doubts about that book | 17:48 | ||
rafaelsch: it's not just tmpdir, so it'll take a bit. | 17:49 | ||
rafaelsch | There's a "Learning Perl 5" so there's got to be a "Learning Perl 6" | ||
notviki | rafaelsch: did brian write Learning Perl 5 while not having a clue about Perl 5 too? | ||
rafaelsch | You write the language then release it in the wild for people to use it. | 17:50 | |
stmuk | I thought Randall wrote the original Learning Perl | ||
17:51
aindilis left,
carlosn joined
|
|||
rafaelsch | I don't know if he did it at first | 17:51 | |
notviki | When are we getting first 2 chapters of LP6 BTW? Any dates set? | 17:52 | |
rafaelsch | notviki: insist or revising his book | ||
stmuk | en.wikipedia.org/wiki/Learning_Perl | 17:53 | |
notviki | rafaelsch: I essentially told him to go fuck himself in response to invitation, so I think that ship has sailed. | ||
rafaelsch | notviki: it hasn't sailed. Review the book instead of crying here. | 17:54 | |
He asked for help on not doing what you're complaining he's doing and you said no. | 17:55 | ||
So I think it's a little bit your fault too. | |||
17:57
rindolf joined,
RandalSchwartz joined
|
|||
RandalSchwartz | hi | 17:57 | |
so I hear panda is no longer the hotness. | 17:58 | ||
I'm using this: rakudobrew self-upgrade && rakudobrew build moar && exit | |||
notviki | rafaelsch: no, he's using his semi-celebrity status to dupe a bunch of people into thinking he'd the Perl 6 expert and they should read his book. In reality he doesn't know anything, he hopes to get by on his Perl 5 knowledge, he writes awful tips that sometimes include unspecced routines on his little website, and he wants a bunch of actual Perl 6 coders to write the book for him. | ||
RandalSchwartz | and it seems to use panda. What should I replace that with? | ||
notviki | RandalSchwartz: my saying no, after he wanted to snub another 10K from the community isn't my fault of anything | 17:59 | |
RandalSchwartz: I was just wondering if you were dead. Last I recall you were in the hospital and your account hacked or something? | |||
RandalSchwartz | wait - you're not a randombot? | ||
notviki | Sometimes I am | ||
RandalSchwartz | if so - I don't understand the previous remark | ||
notviki | err | ||
RandalSchwartz | <notviki> RandalSchwartz: my saying no, after he wanted to snub another 10K - from the community isn't my fault of anything | ||
what was that? :) | |||
notviki | the previous remark was meant for rafaelsch ... Sorry wrong tab complete | ||
RandalSchwartz | heh | 18:00 | |
sorry for intruding | |||
yes - the rumors of my demise are premature | |||
notviki | RandalSchwartz: yeah, you now use "zef". you can run rakudobrew build zef to get it | ||
rafaelsch | People like his books, it's great that he's writing one for Perl6 | ||
RandalSchwartz | so just replace "moar" with "zef"? | ||
notviki | RandalSchwartz: no, keep the moar; in addition to moar run build zef | ||
pmurias | RandalSchwartz: moar is the VM | 18:01 | |
notviki | RandalSchwartz: I guess you ran `build panda` at some point in the past | ||
RandalSchwartz | perhaps | ||
notviki | RandalSchwartz: we generatelly don't recommend rakudobrew for regular users and instead recommend Rakudo Star: rakudo.org/downloads/star/ that one has panda currently, but the future releases seek to replace panda with zef, which is what you probably read about | ||
rafaelsch | notviki: You should do something to avoid it happening, he asked for your help. | 18:02 | |
RandalSchwartz | Well - I was compiling daily... so I do want something that builds master | ||
notviki | rafaelsch: I'm not writing a book for him. | ||
rafaelsch | notviki: I think it's great the he is writing the book, it symbolizes the community of P5 migrating to P6. | 18:03 | |
notviki | rafaelsch: and I can just recommend any of the other 3-4 books coming out this year, should his prove to suck. Which it might not end up to, because I'm not the only one whom he asked to review it | ||
rafaelsch | notviki: just read the book and them complain to him directly instead of doing it here. | ||
It won't take you any more time to complain to him instead of complaining to us. | 18:04 | ||
notviki | rafaelsch: I wasn't even complaining. It's you who started goading me to review his book. | 18:05 | |
18:05
Ven left
|
|||
notviki | Or telling me to write code so to make that book's plan happen | 18:05 | |
rafaelsch | It's just a suggestion. | ||
18:05
AlexDaniel joined
18:06
melezhik left
18:07
hankache joined,
Ven joined
|
|||
notviki | RandalSchwartz: docs for zef BTW: github.com/ugexe/zef#zef | 18:08 | |
RandalSchwartz: panda will likely still work, it's just zef got more features and is more actively developed | |||
18:09
jeek joined
|
|||
mst | rafaelsch: "migrating to" is wrong. "adopting" is more like it. | 18:10 | |
sjn | RandalSchwartz: what do you mean by "something that builds master"? | ||
18:10
mcmillhj joined
|
|||
rafaelsch | notviki: And you were complaining: "<notviki> guess I should focus on this stuff if I'm the only one complaining about it... " | 18:12 | |
18:12
shayan_ left
|
|||
notviki | rafaelsch: that wasn't about the book but about our IO. | 18:12 | |
rafaelsch | It was also about the book. | 18:13 | |
18:13
khw joined
|
|||
notviki | rafaelsch: no it wasn't. The only relation that has to the book is bdfoy digging up those routines in historical speculations and telling people to go and use them | 18:14 | |
rafaelsch | What's bothering you is the book, not the IO. | ||
notviki | pfft | ||
18:15
mcmillhj left
18:17
mcmillhj joined
|
|||
AlexDaniel | “it symbolizes the community of P5 migrating to P6” bwahaha. Well, yes, pretty much. Like someone who's lost in the woods. | 18:20 | |
18:20
Ven left
|
|||
pmurias | if we have ugly stuff in the setting we should complain when it's found by people spelunking but fix or remove it | 18:23 | |
* we shouldn't | |||
notviki | We don't | ||
18:25
vagrant_1 joined,
vagrant_1 is now known as melezhik
18:27
Ven joined
|
|||
hankache | hola #perl6 | 18:28 | |
notviki | \o | ||
stmuk wonders about "The Book" | 18:34 | ||
notviki | You mean the first modern Perl 6 book? | 18:35 | |
It's out: deeptext.media/perl6-at-a-glance/ | |||
eBook coming soon | |||
stmuk | no no | 18:36 | |
THE BOOK | |||
hankache | Programming Perl 6? | ||
stmuk | yes | ||
18:36
Ven left
|
|||
rafaelsch | The one Larry is rummored to be writing? | 18:36 | |
hankache | :) | ||
18:37
noganex left,
mr-foobar left
|
|||
rafaelsch | I think it's hard to write something like PP6, because the language is changing too fast. | 18:37 | |
notviki recalls Damian Conway promising a book "in a year" last April | |||
rafaelsch: that's not true. The language hasn't changed for year and we likely won't see another release for another year. | 18:38 | ||
rafaelsch | At the level "Programming Perl" is written? You were just talking about changing tmpdir! | 18:39 | |
mspo | I'd like to read Mastering Algorithms with Perl | ||
notviki | rafaelsch: tmpdir is currently not part of the language... It might be part of 6.d release, which won't be for another ~year | 18:40 | |
hankache | what is the state of macros? | ||
6.d? | |||
notviki | dunno, haven't seen any work for them done on nom; but I think masak is cooking something up in 007 | 18:41 | |
buggable: eco 007 | |||
buggable | notviki, 007 'Small experimental language with a license to macro': github.com/masak/007 | ||
18:41
shayan_ joined
18:42
andrzejku joined
|
|||
[Coke] | there is no concrete plan for macros at the moment. they will very likely continue in their same experimental state into 6.d | 18:43 | |
18:43
kyan joined
|
|||
hankache | what would (for the time being) be included in 6.d? | 18:44 | |
notviki | buggable: 6.d | ||
huggable: 6.d | |||
huggable | notviki, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod | ||
hankache hugs huggable | 18:45 | ||
AlexDaniel | huggable: hug hankache | ||
huggable hugs hankache | |||
notviki | hankache: ^ that, plus [tentatively] this too: github.com/perl6/roast/compare/6.c...master | ||
18:45
pyrimidine joined
|
|||
AlexDaniel | needs a little help :) | 18:45 | |
notviki | I'd expect we have review of that before actual inclusion | ||
[Coke] | notviki: yes, that's mandatory | ||
notviki | nice! | 18:46 | |
[Coke] | 6.c was kind of "ok, whatever we have", I think we need a little more curating for the next one. | ||
notviki | agreed | ||
hankache | AlexDaniel :) | ||
[Coke] | (the review is mandatory, I think) | ||
18:48
melezhik left
18:49
geekosaur left
18:51
geekosaur joined,
shayan_ left,
shayan_ joined
18:54
noganex joined,
domidumont left,
dj_goku joined
18:56
leejo left
18:59
dj_goku left
19:01
noganex left
|
|||
notviki | hehe, this is really outdated: twitter.com/rakudoperl | 19:01 | |
[Coke] | also twitter.com/perlhex | 19:02 | |
mspo | opensource.com/article/16/12/yearb...rends-2016 | ||
notviki | Why is everyone linking to that opensource article? Is that a popular website? | 19:04 | |
mspo | it says "perl6" on it | ||
[Coke] | eh, 'cause it mentions Perl 6 in a positive light? | ||
mspo | and was linked other places | ||
notviki | Yeah, but that's just 'cause DrForr is buddies with the author or something, isn't it? | 19:05 | |
mspo | I found it it on programmingcirclejerk reddit | ||
[Coke] | HICCUP | ||
(uhoh) | |||
mspo | marketing works | ||
notviki | heh :) | ||
mspo | sorry I didn't see it was linked earlier | ||
notviki | It's fine. I was just curious. | 19:06 | |
19:08
Ven joined
19:11
carlosn left
|
|||
notviki | m: "a".match: {;} | 19:15 | |
camelia | rakudo-moar d9c735: OUTPUT«(timeout)» | ||
notviki | m: say {;} ~~ Cool | 19:16 | |
camelia | rakudo-moar d9c735: OUTPUT«False» | ||
notviki | s: "a", 'match', \({;}) | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/40d7...ol.pm#L179 | ||
notviki | oh, nm, misread the code | ||
AlexDaniel | ooohhh… oooh! | 19:17 | |
I just remembered | |||
there are 1000 snippets waiting for something… | |||
19:17
noganex joined
19:19
wamba left,
wamba joined
|
|||
notviki | More bugs? | 19:20 | |
19:20
darutoko left
|
|||
notviki | \o/ | 19:20 | |
19:20
Ven left
|
|||
AlexDaniel | notviki: less bugs, more tickets | 19:21 | |
notviki | Cool! Excluding privates, we have exactly 100 subs! | 19:23 | |
m: .say for CORE::.values.grep(Sub).grep({.defined and .name !~~ /^<[A..Z_-]>+(":<".+)?$/}).elems | |||
camelia | rakudo-moar d9c735: OUTPUT«100» | ||
RabidGravy | cool | ||
19:23
Ven joined
19:26
mr-foobar joined
|
|||
notviki | m: .say for CORE::.values.grep({!.DEFINITE}).sort(*.^name) | 19:26 | |
camelia | rakudo-moar d9c735: OUTPUT«(Any)(Backtrace)(Blob[uint8])(Bool)(CompUnit)(CurrentThreadScheduler)(Cursor)(Date)(Distribution)(Duration)(FileChangeEvent)(Grammar)(HyperSeq)(IO)(Instant)(IntAttrRef)(IntLexRef)(Method)(Mix)(NFKC)…» | ||
notviki | Wonder how to get the full list of classes... ^ that is missing Mu and Failure | 19:27 | |
m: say Perl ~~ Cool | |||
camelia | rakudo-moar d9c735: OUTPUT«False» | ||
notviki | aww | ||
m: say Rakudo ~~ Cool | 19:28 | ||
camelia | rakudo-moar d9c735: OUTPUT«False» | ||
notviki | hehe | ||
19:28
Vynce joined,
pyrimidine left
|
|||
notviki | and Whatever and HyperWhatever are missing | 19:29 | |
And DateTime... hm, this is a weird list | |||
19:29
labster joined
|
|||
timotimo | wow. google is transpiling python programs into go, while making an effort to emulate CPython as closely as possible | 19:30 | |
opensource.googleblog.com/2017/01/...ython.html | |||
El_Che | so, is anyone (besides the speakers) planning to attend FOSDEM? | 19:31 | |
timotimo | well, i sure hope there'll be more attendees than just the speakers! | 19:32 | |
notviki | wow | ||
19:32
hankache left
|
|||
mspo | timotimo: py 2.7 | 19:33 | |
timotimo | mspo: not surprising at all | ||
19:33
diakopter left
|
|||
notviki | " Grumpy programs can import Go packages just like Python modules" | 19:33 | |
mspo | really seems like a bad idea | 19:34 | |
I get that google has tons of python code and all | |||
but man | |||
El_Che | timotimo: hehe. I mean, there are lots of perl6 talks | ||
19:34
diakopter joined,
Ven left
|
|||
timotimo | mspo: why would google even want to support 3 for this project? | 19:34 | |
DrForr | Last year we had ~80 people... | 19:35 | |
timotimo | their goal is to - among other things - make youtube run faster | ||
notviki | DrForr: are you speaking again? | ||
timotimo | since they already heavily modified CPython 2.7 itself and wrote their code so that it explicitly cooperates with internal decisions in that runtime | ||
mspo | timotimo: why would they release it or even talk about it? | ||
19:36
pecastro left,
Vasyl left,
samcv left,
Grrrr left,
emdashcomma left,
stux|RC left,
masak left,
petercommand left,
shmibs left
|
|||
notviki | weeeeeeeee | 19:36 | |
DrForr | notviki: Yep. | ||
19:36
masak_ joined
|
|||
timotimo | why would they invest the years and years and years necessary to port to py3 and make all these improvements yet again? | 19:36 | |
19:36
Gruber joined
|
|||
mspo | is a better question | 19:36 | |
notviki | DrForr++ nice | ||
19:36
petercommand joined,
shmibs joined,
domidumont joined,
emdashcomma joined,
shadowpaste0 is now known as shadowpaste,
pecastro joined,
revdiablo joined,
revdiablo left,
revdiablo joined
|
|||
timotimo | their goal isn't to make cpython obsolete and have everybody use grumpy instead, clearly | 19:36 | |
19:36
samcv joined,
titsuki joined,
Vasyl joined,
samcv left,
samcv joined
|
|||
mspo | timotimo: they should invest in converting that python stuff to go, which is their internal direction from what I've heard | 19:36 | |
timotimo | their target audience is clearly people with lots of python 2.7 code that wants to be faster by leveraging concurrency | ||
19:37
shadowpaste0 joined
|
|||
timotimo | it seems like having a transpiler gives you a good leg up on that process | 19:37 | |
mspo | maybe | ||
19:37
stux|RC-only joined
|
|||
mspo | so why release it/talk about it? :) | 19:37 | |
timotimo | a) they care about open source stuff, b) they have fragile egos and want to have their work confirmed by the public | 19:38 | |
notviki | RIP Python | ||
timotimo | let's write a python replacement and call it Rippy | ||
mspo | I could never get into python | ||
I definitely never understood this idea that it was "simple" in any way | |||
19:39
girafe joined
|
|||
mspo | pushing it as a teaching language feels very very wrong | 19:39 | |
s/teaching/first | |||
timotimo | better first language than BASIC, except BASIC at least has the DIM instruction | ||
er, syntax | |||
mspo | and the 2 vs 3 thing doesn't help matters | ||
timotimo | 2 vs 3 is just FUD | ||
mspo | not if you are, literally, an 11 year old | ||
El_Che | *we* are talking about the 2 vs 3 thing? | 19:40 | |
lol | |||
:) | |||
mspo | my niece was trying to move from scratch to python and it wasn't clear if she should learn 2 or 3 | ||
notviki | Any idea how to get a list of all core type objects? My goal is to get a full list of core routines and introspect their params (and call them) | ||
timotimo | notviki: what, like SETTING::.keys? | ||
mspo | perl6 being shown as a language for an 11 y/o girl is even more laughable :) | 19:41 | |
timotimo | m: say CORE::.keys | ||
camelia | rakudo-moar d9c735: OUTPUT«(SIGSEGV WhateverCode Slip &callframe Pair SIGHUP &flat &RETURN-LIST utf8 &infix:<∖> CurrentThreadScheduler PromiseStatus StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace PF_INET6 &sinh &infix:<lt> &print &asech NF…» | ||
timotimo | CORE, not SETTING, apparently | ||
19:41
ggherdov joined
|
|||
notviki | timotimo: CORE::.values was my first take, but it's missing some | 19:41 | |
timotimo | for example? | ||
notviki | .say for CORE::.values.grep({!.DEFINITE}).sort(*.^name) is what I'm running | 19:42 | |
timotimo: Mu, Failure, Whatever, HyperWhatever, DateTime | |||
timotimo | wow, that's really not much | ||
notviki | I don't know what else is missing... | ||
timotimo | well, you're not hitting StopIteration, i expect? | ||
notviki | Ah, maybe that's why | ||
timotimo++ thanks | 19:43 | ||
19:43
ggherdov left
|
|||
timotimo | yes, you are | 19:43 | |
i thought we put that into RakudoInternals? | |||
zefram pointed this out as a real problem a long time ago | |||
19:44
ggherdov joined,
Ven joined
|
|||
notviki | m: dd IterationEnd | 19:44 | |
camelia | rakudo-moar d9c735: OUTPUT«IterationEnd» | ||
notviki | not internals seems | 19:45 | |
19:45
andrzejku left
|
|||
timotimo | bah | 19:45 | |
geekosaur | something about user defined iterators iirc | 19:46 | |
timotimo | oh, that makes some sense | 19:47 | |
notviki | try {.say} for CORE::.keys.map({next if $_ eq "IterationEnd"; CORE::{$_}}).grep({!.DEFINITE}).sort(*.^name) | 19:48 | |
That works (excludes at least 1 NQP thing that ain't got a .say on it) | |||
timotimo | m: .say for CORE::.keys.grep({!CORE::{$_}.DEFINITE}).sort(*.^name) | ||
camelia | rakudo-moar d9c735: OUTPUT«WhateverCodeSlipPairutf8CurrentThreadSchedulerPromiseStatusStringyEnumerationDistributionBacktraceNFKCDurationNilAnyWrapDispatcherIOFileChangeEventUInt64OrderRatStruint64NumericCursorProxy…» | ||
timotimo | oh, except i have to remove the *.^name | 19:49 | |
[Coke] | ... I hope someone is writing a book, "Perl 6 for 11 year olds" now. | ||
timotimo | huh, that's not a lot | ||
notviki | but you're still hitting IterationEnd there, aren't you? | ||
timotimo | nope | ||
notviki | m: dd CORE::<IterationEnd>.DEFINITE | 19:50 | |
camelia | rakudo-moar d9c735: OUTPUT«Bool::True» | ||
timotimo | i iterate on keys, and i figure out the definiteness by accessing core again | ||
notviki | ah | ||
19:50
Ven left
|
|||
mspo | [Coke]: you mean Larry Wall? "But we do think that Perl 6 will be learnable as a first language. A number of people have surprised us by learning Perl 5 as their first language. " | 19:51 | |
notviki | 195 elems... looks pretty a lot to me :) | 19:52 | |
[Coke] | mspo: no, I didn't mean Larry in particular, because I want him to finish that other book first, assuming that might still be a thing. | ||
mspo | perl 6 seems like a bad choice for a first language, especially for a very young person | 19:53 | |
rafaelsch | I learned Perl 5 as my first language. | ||
notviki | mspo: why bad? | ||
mspo | people in computers underestimate how much trouble people have with just *using* their computer | ||
RandalSchwartz | scarily, probably even using Learning Perl. :) | ||
mspo | notviki: it's massive | ||
El_Che | *cough*advertorial* there is a talk about that at FOSDEM | 19:54 | |
notviki | mspo: but you don't have to know all of it to write useful programs. | ||
mspo | RandalSchwartz: I definitely learned perl first after shell | ||
RandalSchwartz | I've heard enough people for whom Perl was their first language, using Learning Perl, and I was shocked. | ||
mspo | RandalSchwartz: why shocked? | ||
RandalSchwartz | since that book was never intended as such | ||
I presumed people knew what arrays and subroutines are | |||
mspo | I had work to get done, perl made my work go faster | ||
RandalSchwartz | I wasn't planning on teaching those abstractions in that book | ||
El_Che | fosdem.org/2017/schedule/event/per...irst_lang/ | ||
mspo | perl 4 was probably a better teaching language | 19:55 | |
RandalSchwartz | because frankly, I couldn't remember how I learned them, so I can't teach things I can't remember learning. :) | ||
mspo | I think lua is probably the way to go | ||
RandalSchwartz | lua is nice. smalltalk is also nice. | ||
lots of success from the smalltalk version of scratch | |||
get people using scratch to understand macros, then explode those macros | 19:56 | ||
that was on the etoys software for a while, for example | |||
mspo | one nice thing ".. The Hard Way" books did was start out with "here's what a text editor is and how to use it" | ||
and recommended Notepad++ | 19:57 | ||
19:57
Vynce left
|
|||
timotimo | how's notepad++ with perl6 nowadays? did anybody try to work on that at all? | 19:58 | |
mspo | javascript would be nice since the browser is immediately available to everyone, but the language itself is kind of difficult | ||
19:58
ribasushi joined
|
|||
RandalSchwartz | yeah... typescript might be better | 19:58 | |
RabidGravy | ah speaking of which I was going to ask about a good Python book for a teacher | ||
RandalSchwartz | and still usable with a transpiler | ||
OK - now I'm getting distracted instead of doing $dayjob | 19:59 | ||
I remember why I don't idle here. :) | |||
RabidGravy | my cousin was asking me at Christmas | ||
notviki | :) | ||
mspo | RabidGravy: python is too big to teach to anyone under 16, imho | ||
lizmat_ | fosdem.org/2017/schedule/track/perl/ # FOSDEM Perl Devroom preliminary schedule | ||
mspo | I'm obviously in the minority | ||
notviki | You should write a book about Perl 6 :P | ||
19:59
lizmat_ is now known as lizmat
|
|||
RandalSchwartz | not enough money in it | 19:59 | |
notviki | awww | ||
RandalSchwartz | not interested in earning minimum wage again | 20:00 | |
notviki | Fair enough. | ||
mspo | you made minimum wage from a tech book? that's pretty good | ||
RandalSchwartz | I *am* working on Dart courseware and literature though | ||
RabidGravy | mspo, they *are* proposing to teach it to kids under sixteen, infact I think these are 11-12 year olds | ||
RandalSchwartz | Dart has legs | ||
mspo | en.wikipedia.org/wiki/Schwartzian_transform needs a perl 6 entry :) | ||
RabidGravy: yes I think it's a bad idea | 20:01 | ||
RabidGravy: my niece is one of those kids and it's way too advanced for her | |||
20:01
CIAvash left
|
|||
RandalSchwartz | duty calls... nothing personal... thanks for the info... gotta /part | 20:01 | |
20:01
RandalSchwartz left
|
|||
rafaelsch | I learned using the Camel Book | 20:02 | |
mspo | RabidGravy: they started her on Scratch and now she's out in the cold wondering what "set" and "tuple" mean | ||
notviki | wow lots of Perl 6 stuff on FOSDEM | ||
mspo | RabidGravy: nevermind that kids have ChromeBooks now-a-days; do those things even work as a dev machine? | 20:03 | |
20:03
Ven joined
|
|||
rafaelsch | mspo: using ssh, yes | 20:03 | |
mspo | lol | 20:04 | |
RabidGravy | dunno. never seem a ChromeBook | ||
mspo | rafaelsch: that's a problem for sure | ||
RabidGravy | I dunno, I was introduced to BASIC on the Commodore PET | 20:05 | |
geekosaur | it's nto difficult to set most chromebooks to dev mode | 20:08 | |
kybr | is anyone else getting "Cannot unbox a type object" while bootstraping panda? | 20:11 | |
20:11
domidumont left
|
|||
El_Che | notviki: we certainly wanted a nice mix of Perl 5 and 6 talks. But it's true that there was a great reponse of perl 6 people | 20:11 | |
RabidGravy | nope | 20:12 | |
20:12
r3m left
20:13
Tonik left,
rafaelsch left
20:14
shayan_ left,
TEttinger joined
|
|||
lizmat | mspo: Perl 6 entry added to en.wikipedia.org/wiki/Schwartzian_transform | 20:17 | |
mspo | nice | 20:18 | |
ufobat | can i load a package and call .new on it if the packagename is in a $string, and this without EVAL? | ||
20:19
bjz joined,
kerframil left
|
|||
kybr | hmm. okay. seems like there's no panda yet for JVM backend. | 20:19 | |
20:20
bisectable6 left
|
|||
geekosaur | m: my $cl = 'Int'; dd ::($cl).new | 20:20 | |
camelia | rakudo-moar d9c735: OUTPUT«0» | ||
ufobat | or just call .new on it | ||
notviki | kybr: it'd work on either backend. | ||
ufobat | ah1 | ||
20:20
committable6 left
20:21
Ven left,
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
ufobat | thanks geekosaur | 20:21 | |
kybr | notviki: well i'm getting the same as this: github.com/coke/rakudo-star-daily/...-build.log | 20:23 | |
20:23
Ven joined
|
|||
[Coke] | So is anyone here in contact with bdf about how he's dealing with the community when writing the book? I want to send him an email but don't want to be piling on. | 20:24 | |
notviki | kybr: that's likely due to some issues with the JVM backend as it's not as developed as the moarvm one. I meant that it's not a panda issue and there's doesn't need to be a "jvm panada". | 20:25 | |
20:25
troys_ is now known as troys
|
|||
notviki | kybr: you're getting that on HEAD of nom? I saw a few unbusting commits go in a few days ago for JVM | 20:25 | |
perlpilot | [Coke]: not I, though I've thought about sending him a friendly message myself. | 20:27 | |
[Coke] | perlpilot: tag you're it | 20:28 | |
kybr | notviki: is there a better tag than nom? i'm using rakudobrew | ||
notviki | kybr: nope, nom is the bestest | ||
20:28
bisectable6 left
|
|||
notviki | m: $*PERL.compiler.version.say | 20:28 | |
camelia | rakudo-moar d9c735: OUTPUT«v2016.12.207.gd.9.c.735.f» | ||
El_Che | lizmat++ | 20:29 | |
notviki | ^ that's the latest and greatest | ||
lizmat | thanks, notviki :-) | ||
notviki | ? | ||
El_Che | :) | ||
notviki | Ah | 20:30 | |
kybr | what's the difference between moar-blead-nom and moar-nom? | 20:32 | |
20:33
bisectable6 joined,
ChanServ sets mode: +v bisectable6
20:34
evalable6 left,
bisectable6 left,
evalable6 joined
20:35
bisectable6 joined,
ChanServ sets mode: +v bisectable6
|
|||
[Coke] | did we already say "don't use rakudobrew unless you know what you're doing?" | 20:35 | |
timotimo | i think so | 20:36 | |
kybr | ha. well, i almost know what i'm doing. but, yeah. i don't want to waste your time. i just picked moar-nom | 20:37 | |
RabidGravy | blead-nom is built with the latest nqp and moar even if the current version is new enough for rakudo | ||
notviki | Really? I thought that was the triple triple or something or other | 20:38 | |
buggable: eco rakudobrew | |||
buggable | notviki, Nothing found | ||
notviki | you lie! | ||
I guess it's not in eco | |||
Yup. master/master. RabidGravy++ github.com/tadzik/rakudobrew/blob/...dobrew#L52 | 20:39 | ||
20:39
bisectable6 left
20:40
shayan_ joined
|
|||
notviki | and moar-nom is pretty much the same thing, except it'll lack latest moarvm/nqp commits (but usually there's a version bump done when something's fixed anyway) | 20:42 | |
20:42
dj_goku joined
20:43
itcharlie1 left
|
|||
RabidGravy | yeah I only get blead-nom if I want to force moar to build with say different flags | 20:43 | |
20:44
shayan_ left
|
|||
notviki | kybr: how did you find out about rakudobrew | 20:45 | |
20:47
dj_goku left
|
|||
[Coke] | notviki: perl6.org/ might also want to link to Stack Overflow for user questions. | 20:48 | |
notviki feels like context is missing... | |||
kybr | well. i noticed it when i googled about ways to install perl6.. then i tried it after 1) using homebrew and failing to get a jvm backend going, then 2) building a few tags of rakudo manually. suddenly it seemed like rakudobrew was someone else doing what i want, but better. | ||
notviki | kybr: ah, I see :) | 20:49 | |
gfldex | m: role Conditional { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self } }; ((1 > 2) but Conditional).ifTrue({say ‚It's True!‘}).ifFalse({say ‚It's False!‘}) | ||
camelia | rakudo-moar d9c735: OUTPUT«It's False!» | ||
kybr | i just want a working perl6-m for using/learning and a parl6-j for trying out some java linkages | ||
gfldex | masak_: ^^^ if only Bool would be a class … | ||
20:51
Ven left
20:52
acrussell left
|
|||
gfldex | m: use MONKEY-TYPING; augment class Cool { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self }; }; (1 < 2).ifTrue: {say ‚It's True!‘}; | 20:52 | |
camelia | rakudo-moar 6920da: OUTPUT«It's True!» | ||
gfldex | masak_: ^^^ solved :) | ||
20:53
Ven joined
|
|||
gfldex | m: use MONKEY-TYPING; augment class Bool { method ifTrue(&c){ c if self; self }; method ifFalse(&c){ c unless self; self }; }; (1 < 2).ifTrue: {say ‚It's True!‘}; | 20:53 | |
camelia | rakudo-moar 6920da: OUTPUT«It's True!» | ||
gfldex | wut‽ | ||
is that by design? | 20:54 | ||
timotimo | is what by design? | 20:56 | |
RabidGravy | the goat attack | 20:57 | |
moritz | the zombie apocalypse! | 20:58 | |
DrForr | chupacabra? | ||
gfldex | timotimo: that I can augment an enum and/or have to call that enum a class | 20:59 | |
it's ENOSPEC and ENODOC for sure | |||
timotimo | hm. it's not a ClassHOW, it's an EnumHOW, but i suppose that part of augmentation only cares about being able to add methods and such | 21:00 | |
[Coke] | m: now.WHAT | ||
camelia | ( no output ) | ||
gfldex | i shall rakudobug so we get it into the spec or have `agument enum` work | 21:01 | |
21:01
raiph joined
|
|||
[Coke] | up to 205 github.com/perl6/doc/issues | 21:02 | |
raiph | .tell kalkin-_ www.gnu.org/licenses/license-list.h...icLicense2 | 21:03 | |
yoleaux | raiph: I'll pass your message to kalkin-_. | ||
21:11
cdg joined
|
|||
notviki | [Coke], is there context or are you just telling me because I know how to add stuff to perl6.org? Cause I'd need a link | 21:11 | |
[Coke] | mostly the latter. :) | ||
let me see if I can find a link to the SO tag. | 21:12 | ||
notviki | k, gimme the link and I'll add when I arrive home | ||
[Coke] | stackoverflow.com/tags/perl6/info | ||
notviki++ | 21:13 | ||
I'm going to bootstrapify docs.perl6.org (in a branch) for github.com/perl6/doc/issues/1090 | |||
feedback welcome in advance, but hopefully it'll be easy, pretty, and uncontroversial. | 21:14 | ||
21:20
Ven left
21:23
Ven joined
21:26
woolfy joined,
woolfy left
21:30
bjz left
|
|||
dalek | c: 5b001e2 | gfldex++ | doc/Language/variables.pod6: link to containers early on |
21:31 | |
synopsebot6 | Link: doc.perl6.org/language/variables | ||
gfldex .oO( easy, pretty, uncontroversial - pick two ) | 21:33 | ||
21:33
curt_ left
21:34
curt_ joined
21:35
troys is now known as troys_
21:36
Ven left,
Ven_ joined
21:39
Gasher joined
21:40
bisectable6 joined,
ChanServ sets mode: +v bisectable6
21:43
niceperl joined
|
|||
AlexDaniel | … and yet again somebody managed to send an email which has *CONFIDENTIAL* all over the place to one of the domains that I own, obviously there's a catch-all thingy that redirects everything to my main address… | 21:43 | |
just because of a typo in the email address | 21:44 | ||
21:44
Ven_ left
|
|||
moritz | heh. I sometimes get e-mails for other people named "Moritz Lenz", of which there seem to be half a dozen or so in Germany | 21:45 | |
[Coke] | Apparently coleda is a one off for some Italian name, I get a lot of those. | ||
moritz | because I have moritz.lenz@... email addresses with several popular mail providers | ||
so I got some order confirmation for my alter ego's daugther's bath room, some rescheduling of lectures at a university in Northern Germany, and other boring things | 21:46 | ||
gfldex | my name is unique but I still get e-mails I don't want to get :( | ||
AlexDaniel | this time I replied saying that they should consider encrypting their emails. But nobody ever thanked me for the advices I give in my replies… | 21:47 | |
moritz | AlexDaniel: acting on unsolicted advice is *hard* | 21:48 | |
pmurias | AlexDaniel: was the uber confidential email something entertaining? ;) | 21:49 | |
AlexDaniel | pmurias: “If you believe that it has been sent to you in error, do not read it” | 21:50 | |
gfldex | did they add that as the last line? | ||
AlexDaniel | this was part of the notice on confidentiality | ||
moritz | AlexDaniel: which you have to scroll to the bottom to read, usually :-) | ||
AlexDaniel | yea, this was one of the first emails in history (so it was in the end) | ||
RabidGravy | I've had whole film scripts as apparently there is a Jonathan Stowe who is a production manager | 21:51 | |
moritz | pmurias: most confidential things are totally boring; price information for industries you have no connection to, HR stuff from a company you never heard of before, medical details of a person you don't know etc. | 21:52 | |
gfldex | RabidGravy: could you try to use this unexpected power to get us some media coverage? | ||
21:52
bjz joined
|
|||
moritz | with enough free time and criminal energy you might be able to use those to an advantage, but that's much less fun than, say, writing a compiler backend :-) | 21:53 | |
AlexDaniel | I agree | ||
21:54
ChoHag left
|
|||
pmurias | moritz: dammit, hoped it was some confidential technique for generating faster js :) | 21:54 | |
AlexDaniel | moritz: perhaps a nicer idea is to try to become a MitM | 21:55 | |
21:56
ChoHag joined
|
|||
AlexDaniel | this way you can also augment the information to your liking… | 21:56 | |
notviki | Is SixFix still a thing? I signed up, but I only got a couple of them. | 21:57 | |
moritz | AlexDaniel: I sense a 2017 advent calendar post upcoming: a MitM HTTP proxy in Perl 6 with a plugin interface for rewriting stuff on the fly :-) | 21:58 | |
AlexDaniel: 11 months left to develop the thing! | |||
AlexDaniel | well, I'd have to receive another email like this then | ||
probably won't take too long | 21:59 | ||
… or are you saying that one should develop such thing but not use it? Crazy. | |||
dalek | href="https://perl6.org:">perl6.org: 423d6ad | (Zoffix Znet)++ | source/resources/index.html: Add StackOverflow link Per irclog.perlgeek.de/perl6/2017-01-04#i_13856028 |
22:01 | |
22:01
kurahaupo__ left
|
|||
lizmat | notviki: afaik SixFix is at an end, at least for the moment | 22:02 | |
22:04
skids left
22:05
RabidGravy left
|
|||
notviki | OK. (it's just I saw it listed on the resources page and recalled it) | 22:06 | |
22:06
bjz left
|
|||
AlexDaniel | moritz: it is hilarious. Turns out this company has a head office in a 10 minute bus ride from where I am. | 22:06 | |
what a coincidence | 22:07 | ||
notviki | AlexDaniel: how many snippets you had in total to go through? | ||
AlexDaniel | somewhere about 7k manually | 22:08 | |
the rest was filtered out | |||
notviki | AlexDaniel++ | ||
22:11
mcmillhj left
|
|||
AlexDaniel | nine: here? | 22:11 | |
oops | |||
nevermind | 22:12 | ||
SmokeMachine | What's DEFINITE()? | ||
notviki | SmokeMachine: per docs "Returns True for instances and False for type objects." | 22:13 | |
m: say 42.DEFINITE; say Int.DEFINITE | |||
camelia | rakudo-moar dbe3e0: OUTPUT«TrueFalse» | ||
SmokeMachine | notviki: what's the difference from defined()? | 22:14 | |
notviki | SmokeMachine: objects can be undefined | ||
m: say Nil.new.defined; say Failure.new.defined; | |||
camelia | rakudo-moar dbe3e0: OUTPUT«FalseFalse» | ||
SmokeMachine | m: say 42.defined; say Int.defined | ||
camelia | rakudo-moar dbe3e0: OUTPUT«TrueFalse» | ||
SmokeMachine | Hum! | 22:15 | |
notviki: thanks! | |||
notviki | any time | ||
SmokeMachine | I have some code to fix... :P | 22:16 | |
I hope to remember the DEFINITE method when I get back home... | 22:18 | ||
22:18
shayan_ joined
|
|||
notviki | .in 7d SmokeMachine remember the DEFINITE! | 22:19 | |
yoleaux | notviki: I'll remind you on 11 Jan 2017 22:19Z | ||
SmokeMachine | Great feature! Thanks! | 22:20 | |
notviki: thanks! | |||
pmurias | lizmat: is the sub form of &tmpdir useful? | ||
SmokeMachine | notviki: how did you know I'm going home in 7d? | 22:21 | |
22:21
rindolf left
|
|||
kalkin-_ | raiph: thanks | 22:21 | |
yoleaux | 21:03Z <raiph> kalkin-_: www.gnu.org/licenses/license-list.h...icLicense2 | ||
notviki | SmokeMachine: I've been stalking you and I know your every move! | 22:22 | |
SmokeMachine: also this: irclog.perlgeek.de/perl6/2017-01-02#i_13838226 | 22:23 | ||
22:24
niceperl left
|
|||
kalkin-_ | Big Perlgeek is watching you | 22:25 | |
AlexDaniel | notviki: hm, can you take a look at this? | ||
mc: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx> | |||
committable6 | AlexDaniel, ¦«2015.12»: Array @x = []Array @x = []() | ||
notviki | Umm.. I guess, but I'm not a doctor! | ||
AlexDaniel | m: my @x; dd @x; @x>>.Int; dd @x; say @x>><xxx> | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = []Array @x = []This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
AlexDaniel | m: my @x; dd @x; say @x>><xxx> | 22:26 | |
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = []This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
AlexDaniel | actually, no, I no longer know what's my question | ||
SmokeMachine | notviki: good memory! Better than mine... | ||
AlexDaniel | I have no idea what's going on here :) | ||
mc: my @x; dd @x; say @x>><xxx> | |||
committable6 | AlexDaniel, ¦«2015.12»: Array @x = []() | ||
notviki | m: my @x; say @x.<xxx> | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Type Array does not support associative indexing. in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
AlexDaniel | ah, here's my question | 22:27 | |
mc: my @x; say @x>><xxx> | |||
committable6 | AlexDaniel, ¦«2015.12»: This type does not support elems in block <unit> at /tmp/RN06Tc6UDh line 1 «exit code = 1» | ||
AlexDaniel | mc: my @x; dd @x; say @x>><xxx> | ||
committable6 | AlexDaniel, ¦«2015.12»: Array @x = []() | ||
AlexDaniel | why was it so? | ||
notviki | I don't get what that syntax is, since there's no dot after the >> | ||
mc: my @x; say (1, 2, 3)>><xxx> | 22:28 | ||
committable6 | notviki, ¦«2015.12»: Type Int does not support associative indexing. in block <unit> at /tmp/1z33chj3HC line 1Actually thrown at: in block <unit> at /tmp/1z33chj3HC line 1 «exit code = 1» | ||
lizmat | pmurias: it doesn't appear to be tested, so I guess it's open to debate :-) | ||
notviki shrugs | |||
AlexDaniel | notviki: isn't it just »{‘smth’} ? | ||
notviki | m: my %h = :42foo; %h>><foo> | 22:29 | |
camelia | ( no output ) | ||
notviki | m: my %h = :42foo; dd %h>><foo> | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Hash % = {:foo(Failure.new(exception => X::AdHoc.new(payload => "Type Int does not support associative indexing."), backtrace => Backtrace.new))}» | ||
AlexDaniel | m: my @a = { ‘foo’ => 42 }, { ‘foo’ => 60 }; say @a»<foo> | ||
camelia | rakudo-moar dbe3e0: OUTPUT«(42 60)» | ||
notviki | Ah | ||
m: my @x; dd @x; say @x>>.<xxx> | 22:30 | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = []This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
notviki | m: my @x; dd @x; say @x».<xxx> | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = []This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
22:30
dj_goku joined
|
|||
notviki | m: my @x; dd @x; say @x».uc | 22:30 | |
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = [][]» | 22:31 | |
notviki | m: my @x; dd @x; say @x».AT-KEY('xxx') | ||
camelia | rakudo-moar dbe3e0: OUTPUT«Array @x = []This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
notviki | AlexDaniel: yeah, seems like that should work | ||
kybr | where should i look for the latest Java integration work | ||
notviki | m: my @x = {:42xxx}; say @x».<xxx> | 22:32 | |
camelia | rakudo-moar bd03ad: OUTPUT«(42)» | ||
notviki | m: my @x = {:42xxx}, {:72xxx}; say @x».<xxx> | ||
camelia | rakudo-moar bd03ad: OUTPUT«(42 72)» | ||
notviki | AlexDaniel: yeah, looks like a ticket is in order :) | ||
AlexDaniel | notviki: what would be a good title? | ||
notviki | m: my @x; say @x».[42] | 22:33 | |
camelia | rakudo-moar bd03ad: OUTPUT«This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
22:33
pecastro left
|
|||
perlpilot | kybr: do you mean rakudo running on the jvm or something different? | 22:33 | |
notviki | AlexDaniel: Hyper method call of AT-KEY/AT-POS fails with empty arrays, I guess | ||
AlexDaniel | notviki: but the interesting thing is | ||
mc: my @x; say @x».[42] | 22:34 | ||
committable6 | AlexDaniel, ¦«2015.12»: This type does not support elems in block <unit> at /tmp/drWDWmda6Q line 1 «exit code = 1» | ||
AlexDaniel | mc: my @x; say @x»<xxx> | ||
committable6 | AlexDaniel, ¦«2015.12»: This type does not support elems in block <unit> at /tmp/nK5vpciNbz line 1 «exit code = 1» | ||
AlexDaniel | :/ | ||
notviki | mc: my @x; say @x».AT-KEY('xxx') | ||
committable6 | notviki, ¦«2015.12»: This type does not support elems in block <unit> at /tmp/OaqKzKnO1p line 1 «exit code = 1» | ||
AlexDaniel | yes, right, the interesting thing is | ||
notviki | mc: my @x = {:42xxx}; say @x».AT-KEY('xxx') | ||
committable6 | notviki, ¦«2015.12»: (42) | ||
AlexDaniel | mc: my @x; say @x».[42] | ||
committable6 | AlexDaniel, ¦«2015.12»: This type does not support elems in block <unit> at /tmp/4ocQWn0zIV line 1 «exit code = 1» | ||
AlexDaniel | mc: my @x; dd @x; say @x».[42] | ||
committable6 | AlexDaniel, ¦«2015.12»: Array @x = []() | ||
notviki | heh | 22:35 | |
AlexDaniel | if you dd it, it works! | ||
notviki | m: my @x; eager @x; say @x».[42] | ||
camelia | rakudo-moar bd03ad: OUTPUT«WARNINGS for <tmp>:Useless use of @x in sink context (line 1)This type (Scalar) does not support elems in block <unit> at <tmp> line 1» | ||
22:35
dj_goku left
|
|||
AlexDaniel | no-no, no longer works on HEAD! | 22:36 | |
mc: my @x; eager @x; say @x».[42] | |||
committable6 | AlexDaniel, ¦«2015.12»: WARNINGS for /tmp/z9Olnzib00:Useless use of @x in sink context (line 1)This type does not support elems in block <unit> at /tmp/z9Olnzib00 line 1 «exit code = 1» | ||
AlexDaniel | well… | ||
gfldex | loliblöggedalittle: gfldex.wordpress.com/2017/01/04/pe...smalltalk/ | ||
notviki | kybr: well, there's #perl6-dev channel. psch and bartolin are the folks I see commit most of JVM stuff. | 22:38 | |
22:38
effbiai left
|
|||
SmokeMachine | mspo: I'm starting teaching perl6 to my 4yo girl... :) | 22:44 | |
That's difficult... | 22:45 | ||
She can't read yet... | |||
AlexDaniel | notviki: by the way, thanks for your /m/ tip | 22:46 | |
notviki | no problem | ||
AlexDaniel | notviki: I have submitted a bunch of tickets through it, for some reason it is more convenient for me than writing an email | ||
notviki | m: -> $ {}.arity.say; -> $ {}.count.say; {}.arity.say; {}.count.say | ||
camelia | rakudo-moar bd03ad: OUTPUT«11No such method 'arity' for invocant of type 'Hash' in block <unit> at <tmp> line 1» | ||
notviki | m: -> $ {}.arity.say; -> $ {}.count.say; {;}.arity.say; {;}.count.say | 22:47 | |
camelia | rakudo-moar bd03ad: OUTPUT«1101» | ||
notviki | m: -> {}.arity.say; -> {}.count.say; {;}.arity.say; {;}.count.say | ||
camelia | rakudo-moar bd03ad: OUTPUT«0001» | ||
AlexDaniel | I still hope THE BUTTON will be restored… even though this hope is very very tiny by now | ||
22:48
mcmillhj joined
|
|||
notviki | gfldex: ^ you can have the code figure out whether to give the arg or not, so it'd take a pointy block/sub that doesn't take an arg | 22:48 | |
s: &infix:<andthen> | |||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/1879...rs.pm#L623 | ||
notviki | ^ we do it there | ||
gfldex looks | |||
not really a HLL way. I was thinking about checking .signature.count . | 22:51 | ||
22:52
kybr left
|
|||
pmurias | lizmat: &tmpdir is broken current (as is usual for untested things) so nobody in the ecosystem should be depending on it, I'll try to think what a good replacement would be tommorow once I get some sleep | 22:52 | |
lizmat | pmurias++ | ||
22:52
kybr joined,
mcmillhj left
22:53
kybr left
22:54
kybr joined
|
|||
notviki | I think multies can have many sigs, with different counts | 22:55 | |
gfldex | they can | ||
m: multi sub f(1){}; multi sub f(2){}; dd &f.signature | 22:56 | ||
camelia | rakudo-moar 0f25d8: OUTPUT«:(;; Mu | is raw)» | ||
AlexDaniel | e: BEGIN (1, 2)[*-1] | ||
evalable6 | AlexDaniel, Full output: gist.github.com/026c831f68bfc5dfc0...e488b0472e | ||
AlexDaniel, rakudo-moar 0f25d83: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/IfTQnk8hIpAn exceptio…» | |||
lizmat | gfldex: that's the signature of the proto | 22:57 | |
AlexDaniel | is there any way to grep RT for “BEGIN (1, 2)[*-1]” ? | ||
gfldex | m: multi sub f(1){}; multi sub f(2){}; dd ::.^can('f')».signature | ||
camelia | rakudo-moar 0f25d8: OUTPUT«()» | ||
gfldex | how do I get all multi candidates of a multi sub? | 22:58 | |
AlexDaniel | gfldex: what about &foo.candidates ? | 22:59 | |
m: multi sub f(1){}; multi sub f(2){}; dd &f.candidates | |||
camelia | rakudo-moar 0f25d8: OUTPUT«(sub f (Int $ where { ... }) { #`(Sub|47457104) ... }, sub f (Int $ where { ... }) { #`(Sub|47457256) ... })» | ||
gfldex | it's even doced :) | ||
the type graph contains Macro. I think it shouldn't. | 23:02 | ||
notviki | AlexDaniel: don't think they turned on full body search, so no. | ||
I have a script that can do it for all the open tickets, if you wan it | |||
umm.. and if I can find it | 23:03 | ||
AlexDaniel | nah, one day somebody will notice and merge RT #130505 into the previous ticket | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130505 | ||
23:03
mcmillhj joined
|
|||
notviki | OK | 23:04 | |
Script's here FWIW. Just change the regex that looks for stuff: gist.github.com/zoffixznet/a3790dd...-p5-pl-L20 | |||
and 5.024; isn't needed it'll work with 5.010 too I think | 23:07 | ||
23:08
mcmillhj left,
niceperl joined
|
|||
jdv79 | are control exceptions fully implemented? | 23:09 | |
wondering how the done() call is handled exactly | |||
gfldex | m: sub r { return 42; CONTROL { default { say [.^name, .Str ] } } }; r | 23:10 | |
camelia | rakudo-moar 0f25d8: OUTPUT«[CX::Return <return control exception>]» | ||
gfldex | m: sub r { take 42; CONTROL { default { say [.^name, .Str ] } } }; r | 23:11 | |
camelia | rakudo-moar 516e52: OUTPUT«[CX::Take <take control exception>]» | ||
gfldex | m: sub r { return 42; CONTROL { default { say [.^name, .Str ]; .rethrow } } }; say r | 23:12 | |
camelia | rakudo-moar 516e52: OUTPUT«[CX::Return <return control exception>]Nil» | ||
gfldex | maybe not fully | ||
23:13
wamba left
|
|||
mspo | SmokeMachine: luckily you can write a lot of p6 without letters ;) | 23:14 | |
AlexDaniel | moritz: oh, it's not the first email from him! | ||
mspo | my daughter is almost 4 and I'd rather she learned how to pronounce "breakfast" before learning a programming language | ||
AlexDaniel | there were two emails, one in the middle of December | ||
mspo | although her concept of time is very interesting | 23:15 | |
as in- she doesn't really have one | |||
AlexDaniel | talks about some event in January, I think if I forward it now there's still some time… :) | ||
23:16
troys_ is now known as troys
23:17
cdg left
|
|||
notviki | m: dd CX::Done | 23:20 | |
camelia | rakudo-moar 516e52: OUTPUT«CX::Done» | ||
notviki | jdv79: ^ prolly with that | ||
lizmat | good night, #perl6! | 23:22 | |
23:24
niceperl left,
ChoHag left
|
|||
notviki | night | 23:26 | |
Crazy. 2TB usb stick: www.computerworld.com/article/31544...drive.html | 23:28 | ||
jnthn | jdv79: done is a control exception, and the handling of it for supply/react blocks is set up in github.com/rakudo/rakudo/blob/nom/...y.pm#L1725 which actually uses an nqp:: op for slightly better code-gen but should be equivalent to a CONTROL { when CX::Done { } } or so. | 23:31 | |
(That code was also written before the higher-level CX::Done was added) | 23:32 | ||
23:36
mcmillhj joined
23:38
pyrimidine joined
23:40
mcmillhj left,
Actualeyes joined
23:41
lukaramu left
23:52
cpage left
23:53
cpage joined
23:55
pecastro joined
23:57
cpage_ left
23:58
girafe left
|