»ö« 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 Zoffix on 25 May 2018. |
|||
00:00
TimToady left
00:02
labster joined
00:05
mcmillhj left
00:15
mcmillhj joined
00:17
w_richard_w joined
00:20
TimToady joined,
mcmillhj left
00:28
mcmillhj joined
00:33
mcmillhj left
00:50
kurahaupo_ joined
00:52
kurahaupo_ left,
kurahaupo left,
kurahaupo joined
00:53
Kaiepi joined
00:55
mcmillhj joined
01:00
mcmillhj left
01:02
comborico1611 left
01:13
[particle] joined
01:15
[particle]1 left
01:17
[particle] left
01:26
mcmillhj joined
01:31
mcmillhj left
01:51
mcmillhj joined
01:56
mcmillhj left
02:05
mcmillhj joined,
[particle] joined
02:09
mcmillhj left
02:23
mcmillhj joined
02:28
mcmillhj left
02:32
epony joined
02:48
lizmat left
02:56
mcmillhj joined
02:59
andrewalker joined
03:01
mcmillhj left
03:10
Kaiepi left
03:11
Kaiepi joined
03:15
kurahaupo_ joined
03:16
kurahaupo left
03:18
lizmat joined
03:23
lizmat left
03:25
kurahaupo_ left
03:27
kurahaupo joined,
Xliff left,
kurahaupo_ joined
03:28
kurahaupo_ left,
kurahaupo_ joined
03:32
kurahaupo left,
mcmillhj joined
03:37
mcmillhj left
03:50
hythm_ joined
03:51
kurahaupo joined
|
|||
hythm_ | Im new to OO, my question is how to populate array of objects | 03:51 | |
p6: my %h; class A { has $.a = <a>}; class B { has A @.a }; %h<a>.push: A.new: a => "a"; %h<a>.push: A.new: a => "b"; my $b = B.new: |%h; | |||
camelia | Type check failed in assignment to @!a; expected A but got Array ($[A.new(a => "a"), A....) in submethod BUILDALL at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
03:52
kurahaupo left,
kurahaupo joined
03:54
kurahaupo_ left,
kurahaupo_ joined,
kurahaupo left,
kurahaupo_ left
03:55
kurahaupo joined
03:57
mcmillhj joined
03:58
kurahaupo left,
mahafyi joined
04:02
mcmillhj left
04:05
skids joined
|
|||
lookatme | hythm_, I know this caused by the array in hash has became a item, but don't know how to fix it | 04:24 | |
p6: my %h; class A { has $.a = <a>}; class B { has A @.a }; %h<a>.push: A.new: a => "a"; %h<a>.push: A.new: a => "b"; my $b = B.new: a => %h<a><>; | |||
camelia | ( no output ) | ||
lookatme | p6: my %h; class A { has $.a = <a>}; class B { has A @.a }; %h<a>.push: A.new: a => "a"; %h<a>.push: A.new: a => "b"; my $b = B.new: a => %h<a><>; say $b; | ||
camelia | B.new(a => Array[A].new(A.new(a => "a"), A.new(a => "b"))) | ||
04:25
mcmillhj joined
|
|||
lookatme | p6: my %h; class A { has $.a = <a>}; class B { has A @.a }; %h<a> = Array[A].new; %h<a>.push: A.new: a => "a"; %h<a>.push: A.new: a => "b"; dd %h; my $b = B.new: |%h; | 04:25 | |
camelia | Hash %h = {:a(Array[A].new(A.new(a => "a"), A.new(a => "b")))} Type check failed in assignment to @!a; expected A but got Array[A] (Array[A].new(A.new(a => "a"),...) in submethod BUILDALL at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lookatme | and the error message should be fix, I think | 04:26 | |
04:30
mcmillhj left
04:35
AlexDaniel left
04:49
curan joined
04:53
Tison left
04:54
mcmillhj joined
|
|||
hythm_ | lookatme: sorry for delay. I thing wht u suggested works for me, thanks. I also tried other way here: glot.io/snippets/f1s8lfo85f | 04:56 | |
04:57
sacomo left,
eliasr left
05:00
mcmillhj left
05:01
Sgeo joined
05:06
jmerelo joined,
sacomo joined
|
|||
Geth | doc: 00cc1a48c7 | (Jack Kuan)++ | 3 files Fix missing nodejs dependency in the Dockerfile. Details: - It appears that the nodejs package no longer exists for the base image used by the Dockerfile, and since it's already using the `n` script to install the latest stable version of nodejs, I simply use `n` to install nodejs in the first place instead. - Also fixed a small code formatting issue in packages.pod6. - Corrected the instructions on running the built docker image in CONTRIBUTING.md. |
05:08 | |
doc: 78db2a32bb | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 3 files Merge pull request #2094 from kjkuan/fix-dockerfile Fix missing nodejs dependency in the Dockerfile. |
|||
05:09
lookatme joined
05:12
Xliff joined
|
|||
Xliff | \o | 05:12 | |
jmerelo | Hi | ||
Xliff | How do you set the seed value used by rand, .pick and .roll | ||
jmerelo | Xliff: good question. No idea. I'll have to look it up. | 05:14 | |
05:15
sauvin joined,
cgfbee joined
|
|||
jmerelo | Xliff: OK; that was easy. srand: docs.perl6.org/routine/srand | 05:16 | |
05:19
hythm_ left
05:20
skids left
05:27
mcmillhj joined
05:32
mcmillhj left
05:36
AlexDaniel joined
05:37
troys left
|
|||
Geth | doc/master: 4 commits pushed by (JJ Merelo)++ | 05:53 | |
05:55
mcmillhj joined
05:57
Kaiepi left,
Kaypie joined
06:00
mcmillhj left
06:04
domidumont joined
06:08
domidumont left
06:09
domidumont joined
06:10
espadrine left
|
|||
Geth | doc: c84fafeff8 | (JJ Merelo)++ | doc/Language/traits.pod6 Adds reference to P6Opaque, refs #1863, #1957 |
06:19 | |
doc: 432c40984f | (JJ Merelo)++ | doc/Language/traits.pod6 Adds uninstantiable with examples. This closes #1863. It advances #1957, but still some information on how to use traits in varibles and attributes is going to be needed. |
|||
synopsebot | Link: doc.perl6.org/language/traits | ||
06:25
mcmillhj joined
06:28
lookatme left
06:30
mcmillhj left
06:37
Merfont joined,
jmerelo left
06:39
Kaypie left
06:56
HaraldJoerg joined
06:58
mcmillhj joined
07:01
rindolf joined
07:03
mcmillhj left
07:07
robertle joined
07:08
Xliff left
07:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
07:24
lizmat joined
07:26
mcmillhj joined
07:28
psychoslave joined
07:31
mcmillhj left
07:46
mahafyi left,
damnlie left,
mahafyi joined
07:47
damnlie joined
07:48
mcmillhj joined
07:53
wamba joined,
mcmillhj left
08:01
Merfont left
08:03
Kaiepi joined
|
|||
Geth | doc: 426890b3ba | (JJ Merelo)++ | doc/Language/structures.pod6 Setting introspection right |
08:05 | |
synopsebot | Link: doc.perl6.org/language/structures | ||
08:05
lookatme joined,
jmerelo joined
|
|||
jmerelo | Hi | 08:05 | |
08:06
jmerelo left
08:07
scimon joined
|
|||
moritz | ho | 08:16 | |
08:16
mcmillhj joined
08:19
rindolf left
08:21
jmerelo joined
|
|||
jmerelo | O/ | 08:21 | |
08:21
zakharyas joined,
mcmillhj left
08:26
rindolf joined
08:28
zakharyas1 joined
08:30
zakharyas left
|
|||
lookatme | o| | 08:31 | |
08:33
zakharyas1 left,
zakharyas joined
|
|||
Geth | doc: b88200e4da | (JJ Merelo)++ | doc/Language/traits.pod6 Adds section on traits for subs |
08:38 | |
synopsebot | Link: doc.perl6.org/language/traits | ||
08:43
jmerelo left
08:44
AlexDaniel left
08:49
mcmillhj joined
08:50
darutoko joined
08:54
mcmillhj left
|
|||
buggable | New CPAN upload: Desktop-Notify-0.3.1.tar.gz by FRITH modules.perl6.org/dist/Desktop::Not...cpan:FRITH | 09:04 | |
09:17
aborazmeh left
|
|||
Geth | doc: c188d796a0 | (Elizabeth Mattijsen)++ | doc/Language/pragmas.pod6 Document "use isms <Perl5>" |
09:18 | |
synopsebot | Link: doc.perl6.org/language/pragmas | ||
Geth | doc: 6335563c5b | (Elizabeth Mattijsen)++ | doc/Language/pragmas.pod6 Linkify 'use experimental' -> experimental features |
09:21 | |
09:23
Hor|zon joined,
mcmillhj joined,
mscha joined
09:24
w_richard_w left
|
|||
mscha | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(*.clone); @m[1;1] = 42; dd @m; dd @n; # this works ... | 09:24 | |
camelia | Array @m = [[1, 2], [3, 42]] Array @n = [[1, 2], [3, 4]] |
||
mscha | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(*.clone); @n[1;1] = 42; dd @m; dd @n; # ... but why doesn't this? | ||
camelia | Cannot assign to an immutable value in block <unit> at <tmp> line 1 |
||
mscha | Or is there a better way to make a deep copy of an array of arrays? | 09:25 | |
jkramer | m: my @m = [1,2],[3,4]; my @n = @m.map(*.clone); @n[1;1] = 42; dd @m; dd @n | 09:27 | |
camelia | Array @m = [[1, 2], [3, 4]] Array @n = [[1, 2], [3, 42]] |
||
09:28
mcmillhj left
|
|||
jkramer | But honestly I don't know why it doesn't work with deepmap :) | 09:29 | |
mscha | Thanks, jkramer; that does the trick in my case. (I still don't understand what goes wrong with the deepmap, though.) | ||
09:32
damnlie left
09:35
mcmillhj joined,
damnlie joined
09:37
eliasr joined
09:40
mcmillhj left
09:48
mahafyi left
10:04
mcmillhj joined
|
|||
jkramer | Maybe some of the core people here know :) | 10:07 | |
10:09
mcmillhj left
|
|||
mscha | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(-> $a is copy { $a}); @n[1;1] = 42; dd @m; dd @n | 10:17 | |
camelia | Array @m = [[1, 2], [3, 4]] Array @n = [[1, 2], [3, 42]] |
||
mscha | This works generically for nested structures. But there must be a more elegant way to do this, right? | ||
10:31
HaraldJoerg1 joined,
HaraldJoerg left
10:32
dakkar joined
|
|||
Ulti | not detracting from this actual issue, just in general I've found its often a bad plan to want to deep copy datastructures if this is a real world thing you're wanting to do... its one of the few pathways to memory leaks in managed languages like if you deepcopy some session object on a db or that holds some opaque native thing that behaves a bit badly | 10:36 | |
which is probably why we dont have deepclone along with deepmap | 10:37 | ||
10:41
mcmillhj joined
10:46
mcmillhj left
10:49
jmerelo joined
10:50
AlexDaniel joined
|
|||
moritz | deep copying lazy lists can also have... unintended side effects | 10:57 | |
the next problem with generic deep copying is that you run into gotchas when you referenze outside objects | 10:58 | ||
like file descriptors or sockets | |||
11:03
markoong joined
|
|||
mscha | Perhaps generally, deep copying can be problematic, but in specific cases (like creating a copy of a matrix of numbers, like in my example) it isn't. | 11:06 | |
11:10
mcmillhj joined
11:11
zakharyas left
11:15
mcmillhj left,
curan left
11:18
raynold left
11:22
HaraldJoerg1 is now known as HaraldJoerg,
HaraldJoerg left
11:23
HaraldJoerg joined
11:25
Kaiepi left
11:26
lizmat left
|
|||
Geth | doc: 40eb0cf379 | (JJ Merelo)++ | doc/Language/traits.pod6 Fixes errors indicated by @jnthn and reflows |
11:30 | |
synopsebot | Link: doc.perl6.org/language/traits | ||
11:35
jmerelo left
11:36
raschipi joined
11:40
AlexDaniel left
11:41
psychoslave left,
mcmillhj joined
11:42
psychoslave joined
11:46
mcmillhj left
11:48
mcmillhj joined
11:52
psychoslave left
11:59
kurahaupo joined
12:09
wamba left,
wamba joined
12:14
kybr left
12:22
kybr joined
12:33
sena_kun joined
12:36
zakharyas joined
12:37
psychoslave joined
12:42
huf joined
12:48
titsuki joined
12:53
AlexDaniel joined
13:14
mahafyi joined
13:25
AlexDani` joined
13:27
AlexDaniel left
13:34
kurahaupo left,
cognominal joined,
kurahaupo joined
13:39
raschipi left
13:44
andrzejku left
13:51
roguelazer joined
13:57
roguelazer left
13:59
roguelazer joined
14:01
skids joined
|
|||
tadzik | tadzik.net/pub/cULJeIUeMx.png | 14:12 | |
tadzik wonders if this qualifies as an LTA UI :P | |||
14:29
tobs joined
14:43
dakkar left
|
|||
TimToady | obvioulsy D.&prefix:<^> should exit :) | 15:03 | |
I guess it does exit, just with the wrong message :) | 15:05 | ||
oh, no, it doesn't exit, so it's two bugs :) | |||
15:07
scimon left
|
|||
jkramer | How would I go about a sub that accepts a Str or an Int as parameter? I tried IntStr but it fails when I call it with an Int or Str | 15:07 | |
TimToady | IntStr is both/and, not either/or | 15:08 | |
jkramer | sub($foo where Int | Str) works, but isn't IntStr made for this? | ||
TimToady | where Str|Int | ||
jkramer | Hmm ok | ||
Thanks | |||
TimToady | and we can't front that because | is a metachar prefix in sigs | 15:09 | |
15:09
wamba left
|
|||
TimToady | (and can't use & for similar reasons) | 15:09 | |
jkramer | And also I just realized that :foo<bar baz> turns into a list. Is syntax sugar for :foo('bar baz') too? | 15:10 | |
TimToady | otoh, if the Str is supposed to be coercible to Int, then maybe Int() is what you want | ||
or Str(), going the other way | |||
15:11
domidumont left
|
|||
jkramer | Interesting, Str() might be what I need then | 15:11 | |
15:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
TimToady | m: sub foo(Str() $s) { say $s.WHAT }; foo(42) | 15:11 | |
camelia | (Str) | ||
timotimo | you get IntStr when you val() (directly or indirectly through angle bracket syntax, or sub MAIN) a string that looks like an int in some way, and we keep the string representation | 15:12 | |
TimToady | m: sub foo(Str(Int) $s) { say $s.WHAT }; foo(42) | ||
camelia | (Str) | ||
timotimo | m: say 0x10.Str; say <0x10>.Str | ||
camelia | 16 0x10 |
||
timotimo | m: say 0x10 + 1; say <0x10> + 1 | ||
camelia | 17 17 |
||
TimToady | yes, IntStr and friends are intended only for situations where people are forced to push numbers through a mandatory text interface | 15:13 | |
so it's another way in which Perl 6 tries to be lazy, and gets away with it mostly... | 15:14 | ||
jkramer | :) | ||
geekosaur | you can also view it as a number with a known string representation, as opposed to having to generate one | 15:16 | |
(more useful viewpoint for e.g. parsing, where you often want to know the source span of a token) | |||
15:16
lookatme left,
jmerelo joined
|
|||
skids | m: subset IntOrStr of Cool where Int|Str; sub f (IntOrStr $g) { $g.say }; f(4); f("foo"); f(now) # Or this if coerce/where is not wanted | 15:16 | |
camelia | 4 Constraint type check failed in binding to parameter '$g'; expected IntOrStr but got Instant (Instant.from-posix(<23049342...) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 foo |
||
15:17
lookatme joined
|
|||
TimToady | that's some notational convenience, but it really just does the same thing | 15:17 | |
jmerelo | m: say Instant.^mro | ||
camelia | ((Instant) (Cool) (Any) (Mu)) | ||
TimToady | it can't do a nominal check for IntOrStr, so the where just carries over into the sig | ||
jmerelo | This probably has nothing to do with what you were talking about, but Instant is not an IntOrStr. It's Cool, but not related (see above) | 15:18 | |
TimToady | Instant is supposed to be largely opaque | ||
jmerelo | m: subset IntOrStr of Cool where Int|Str; sub f (IntOrStr $g) { $g.say }; f(4); f("foo"); f(DateTime.new(now)) | 15:19 | |
camelia | 4 Type check failed in binding to parameter '$g'; expected IntOrStr but got DateTime (DateTime.new(2018,6,8,15,19,3...) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 foo |
||
jmerelo | m: subset IntOrStr of Cool where Int|Str; sub f (IntOrStr $g) { $g.say }; f(4); f("foo"); f(DateTime.new(now).Str) | ||
camelia | 4 foo 2018-06-08T15:19:37.820809Z |
||
skids | ..oO(interesting camelia didn't say "foo") | ||
locally it does. | |||
15:20
mcmillhj left
|
|||
TimToady | DateTime is also supposed to be largely opaque, but differently :) | 15:21 | |
the whole point of DateTime is to handle cultural discontinuities, and the whole point of Instant is to avoid them :) | 15:23 | ||
15:23
mcmillhj joined
|
|||
TimToady | m: say (now - INIT now).WHAT | 15:23 | |
camelia | (Duration) | ||
TimToady | and whenever people assume Duration is a cultural type, hilarity ensues | 15:24 | |
15:26
Tison joined
|
|||
jmerelo | TimToady: well, if is not cultural if you don't compute durations across calendar changes I guess. | 15:27 | |
TimToady | 86400 seconds doesn't always mean one day | ||
skids | .oO(OIC camelia's stderr is shuffled into its stdout differently, is all) |
||
15:27
mcmillhj left
|
|||
jmerelo | TimToady: But "CalendarZones" are not regulated yet by any RFC, so if you want to compute the number of seconds between January 1st, 1900 and today you'll just have to assume we're not in Russia. | 15:28 | |
geekosaur | tell me about it | ||
skids | Meh, those are the old problems. The new ones involve spacecraft. :-) | 15:29 | |
TimToady | m: say (DateTime.now - DateTime.now).WHAT | 15:30 | |
camelia | (Duration) | ||
jmerelo | skids: mmm, relativity... | ||
TimToady | that should arguably not be returning a Duration | ||
a DateTimeDiff or some such | |||
well, maybe if it actually is taking leap seconds into account, it can be a Duration | 15:31 | ||
El_Che | o/ | 15:32 | |
15:33
molaf joined
|
|||
mahafyi | in perl5 : $fh = \*STDIN if (!$fh); while (<$fh>) { do something }. In perl6 how do we get all the stdin input into an array, which are strings separated by \r\n ? | 15:33 | |
15:35
aborazmeh left
|
|||
TimToady | m: .say for lines() | 15:35 | |
camelia | »Wann treffen wir drei wieder zusamm?« »Um die siebente Stund‘, am Brückendamm.« »Am Mittelpfeiler.« »Ich lösche die Flamm.« »Ich mit« »Ich komme vom Norden her.« »Und ich vom Süden.… |
||
jmerelo | TimToady: What's it reading? :-) | 15:36 | |
timotimo | it's reading stdin :P | ||
mahafyi | TimToady : wow looks neat. i will try | 15:37 | |
timotimo | jmerelo: it's the beginning of macbeth | ||
TimToady | m: .say for $*IN.lines | ||
camelia | »Wann treffen wir drei wieder zusamm?« »Um die siebente Stund‘, am Brückendamm.« »Am Mittelpfeiler.« »Ich lösche die Flamm.« »Ich mit« »Ich komme vom Norden her.« »Und ich vom Süden.… |
||
TimToady | more explicitly | ||
15:40
mcmillhj joined,
psychoslave left
|
|||
jmerelo | m: .say for $*IN.lines | 15:41 | |
camelia | »Wann treffen wir drei wieder zusamm?« »Um die siebente Stund‘, am Brückendamm.« »Am Mittelpfeiler.« »Ich lösche die Flamm.« »Ich mit« »Ich komme vom Norden her.« »Und ich vom Süden.… |
||
jmerelo | timotimo: I must protest. Nothing short of El Quixote deserves to be the default input to the default input. | ||
El_Che | I completely agree | 15:42 | |
TimToady | is El the brother of Don? | ||
El_Che | It's the first modern novel, after all | ||
tadzik | TimToady: maybe it's the next capital character ;) | 15:43 | |
jmerelo | TimToady: Yep, the chivalry-high-school dropout brother :-) | ||
TimToady | tadzik: 'Kay | 15:44 | |
El_Che | SO overflow with un undef value somewhere: "why does my code recite Shakespeare? Have I been hacked?" | ||
Shakespeare, Cervantes, all good | |||
jmerelo | In Spain we call it "El Quijote", as in "The" book par excellence. Just a couple of books get the definite article in Spanish. You probably know which one is the other. | ||
El_Che | or Dante | ||
"Best 100 paella recepts with real chorizo"? | 15:45 | ||
TimToady | .oO(El Hobbit) |
||
jmerelo | But since this is Shakespeare in German, I guess it would have to be "En un lugar de la Mancha de cuyo nombre no quiero acordarme" in Danish or somesuch. | ||
15:45
zakharyas left
|
|||
El_Che | It turns out Sauron was a mill after all | 15:46 | |
TimToady | </tilt> | ||
jmerelo | On this line, I've repeatedly used public domain works in Perl tutorials over the years. I used "La venganza de Don Mendo" here metacpan.org/pod/Don::Mendo to explain POE | ||
15:47
Kaiepi joined
|
|||
jmerelo | And "El diablo cojuelo", from the 18th century, in this tutorial geneura.ugr.es/~jmerelo/tutoriales/...resurados/ (which I wrote in DocBook, but that's another story...) | 15:47 | |
El_Che: that's a good one. | 15:48 | ||
El_Che | jmerelo: La Celestina | ||
linked to the french works | |||
jmerelo | El_Che: good one too. Will have to use it for my next Perl 6 tutorial :-) | ||
El_Che | El lazarillo de tormes | 15:49 | |
15:49
araraloren joined
|
|||
El_Che | you'll have to write lots of tutorials | 15:50 | |
jmerelo | El_Che: as soon as I'm over with the Perl 6 documentation, which will happen sometime near 2034, I will do that :-) | ||
El_Che | jmerelo: yeah, devs keep adding stuff al the time | 15:51 | |
how inconsiderate | |||
jmerelo | El_Che: actually, I wish they would... everything has been kind of quiet lately... | ||
araraloren | :) | ||
jnthn | They're either adding stuff or making stuff faster. Can't believe it. :P | ||
TimToady | if you can wait till 2038, time might go negative, and then you'll have lots of it | 15:52 | |
jmerelo | TimToady: :-) Or the singularity will happen and I'll have a bot herd writing stuff for me. Or me writing stuff for a bot herd. Whatever. | ||
timotimo | i'd hope after the singularity we'd be able to stop exploiting others for their labour to make ourselves richer, jmerelo :) | 15:53 | |
mahafyi | i am trying to concat some text : .say for lines() "my string"~$_ ; but get an error Sorry!Two terms in a row | ||
jnthn | say "my string$_" for lines | ||
evalable6 | my string♥🦋 ꒛㎲₊⼦🂴⧿⌟ⓜ≹℻ 😦⦀🌵 🖰㌲⎢➸ 🐍💔… | ||
jnthn, Full output: gist.github.com/9a501cd053c2a5352c...4866c73ab2 | |||
jmerelo | timotimo: the robots will make us all behave like good humans, I'm sure :-) | 15:54 | |
jnthn | ...what? :D | ||
TimToady | no m: | ||
jnthn | Yeah, and another bot picked it up, which is fine, its default input is just a little...interesting :-) | ||
TimToady | say slurp | 15:55 | |
araraloren | say "I am robot" | ||
evalable6 | I am robot | ||
TimToady | say "" ~ slurp | ||
evalable6 | ♥🦋 ꒛㎲₊⼦🂴⧿⌟ⓜ≹℻ 😦⦀🌵 🖰㌲⎢➸ 🐍💔 🗭… | ||
TimToady, Full output: gist.github.com/863ab61c1714a9d170...2be139135c | |||
jmerelo | Theoretically, Camelia is listening all the time and figuring out if we're calling her. When something starts with "say", it kicks in. It's got some weird heuristics, so it does not always happen. | 15:56 | |
TimToady | say it ain't so | 15:58 | |
kurahaupo hums a lullaby to the ravenous bot herd | |||
TimToady | say 'taint so | ||
say 'taint so' | |||
evalable6 | taint so | ||
El_Che | '' | ||
TimToady | say slurp() | ||
evalable6 | ♥🦋 ꒛㎲₊⼦🂴⧿⌟ⓜ≹℻ 😦⦀🌵 🖰㌲⎢➸ 🐍💔 🗭… | ||
TimToady, Full output: gist.github.com/0982f2a579da4c33fd...0235005a96 | |||
jmerelo | put 'it that way' | ||
evalable6 | it that way | ||
TimToady | say slurp; | 15:59 | |
evalable6 | ♥🦋 ꒛㎲₊⼦🂴⧿⌟ⓜ≹℻ 😦⦀🌵 🖰㌲⎢➸ 🐍💔 🗭… | ||
TimToady, Full output: gist.github.com/e4a446c43cd1e1e723...ae2c137073 | |||
TimToady | say slurp! | ||
jmerelo | .say if so U | ||
TimToady | I suppose not parsing is one of the heuristics :) | ||
jmerelo | print "that" | 16:00 | |
evalable6 | that | ||
jmerelo | (3.2 * ¾).say | ||
evalable6 | 2.4 | ||
kurahaupo | say 'twas time to ask the Joneses' for 1 or 2 | ||
TimToady | take "that" | 16:01 | |
El_Che | exit(0); | ||
jmerelo | kids, stop playing with Camelia. | ||
You see, El_Che? You broke it | |||
El_Che | jmerelo: she started it | ||
jmerelo loling | |||
TimToady | say "I am not Camelia" | ||
araraloren | camelia has exit :) | 16:02 | |
jmerelo | El_Che: you _really_ broke it. Put it back together again now! | ||
TimToady | m: say "I am Camelia" | ||
camelia | I am Camelia | ||
kurahaupo | "it's alive, Igor!" | 16:03 | |
El_Che | say 'that not, say yoda would' | ||
evalable6 | that not, say yoda would | ||
jmerelo | kurahaupo: :-) | ||
16:03
lizmat joined
|
|||
jmerelo | I'm going to be AFK in a few moments. A TV crew is coming to home so that I talk about people putting chips under their skin for no good reason. I'm going to leave this as background, because it looks hackerish. | 16:04 | |
El_Che | I wonder who would ge a reference to the Great Cornholio | ||
jmerelo | I'll tell you if you are in national Spanish TV news tonight :-) Put on your best behavior, and don't break Camelia again. | ||
El_Che | I hope they don't use Praprika chips | ||
(or crips as our british friends say) | |||
TimToady behaves bestly | 16:05 | ||
kurahaupo | Crips is a very non-PC word for incapacitated persons | ||
skids | beastly? | ||
El_Che | kurahaupo: where? | 16:06 | |
Jonta2 Google Translates lewd things into Spanish | |||
jmerelo | I think he wanted to type crisps, as in potato chips. | ||
kurahaupo | While the TV crew is filming, we should just repeat "Television is the opiate of the masses" | ||
skids | More usefully for me, from Spanish, so I can figure out what that guy just yelled at you. | 16:07 | |
*me | |||
kurahaupo | El_Che: I guess "crippled" has fallen into disuse | ||
jmerelo | kurahaupo: :-) I think it's actually something people put on the background while they update twitter | ||
TimToady | Crips is as likely to be interpreted as the enemies of the Bloods, in LA | 16:08 | |
where kids are not allowed to wear either blue or red hats to certain schools | |||
Jonta2 | kurahaupo: Donde esta la biblioteca. Donde esta la biblioteca. Donde esta la biblioteca | ||
kurahaupo consults Google Translate | 16:09 | ||
skids | The local college LARPers went around the neighborhood wearing colored bandanas to distinguish who had been zombified.... fortunatlely the local gang didn;t seem to notice. | ||
timotimo | jmerelo: be sure to have them film you using hackertyper | 16:10 | |
kurahaupo | Jonta2: probably in /usr/lib somewhere | ||
Jonta2 | tyty | ||
TimToady wonders whether he can have his 15 seconds of fame now... | |||
kurahaupo | Jonta2: or two blocks south east of here, depending on which sort of library you're talking about | 16:11 | |
skids | .oO(why do all the tourists always want to see the library so badly?) |
16:12 | |
16:12
cognominal left
|
|||
Jonta2 | It's all they can ask for | 16:12 | |
And then frantically hope there's beer there | |||
skids | The schoolbooks should just change that to donde esta la cerveza | 16:13 | |
kurahaupo | Jonta2: goo.gl/maps/rQAKMB8nPDU2 | ||
16:13
robertle left
|
|||
skids | What makes it ultimate... because it's where all the toursists end up? | 16:14 | |
Jonta2 | Welcome to our special trap! | ||
We've got skeletons on display at our library | |||
Permanently. Prominently | 16:15 | ||
16:16
Kaiepi left
|
|||
kurahaupo | Everyone in this channel needs to donate 62 milliseconds of fame to TimToady | 16:17 | |
TimToady is so needy... | |||
kurahaupo | Jonta2: you can check out books any time you like, but you can never leave | 16:18 | |
TimToady | that's okay, if the books have leaves | 16:19 | |
Jonta2 | That's why I'm only going to couchsurf or AirBnB if I ever visit the largest state in the USA | ||
kurahaupo | Welcome the library California, such a lovely place | ||
El_Che | kurahaupo: lol | ||
TimToady | largest GDP, anyway | 16:20 | |
kurahaupo | Tx? | ||
Jonta2 | Population or GDPO | ||
TimToady | as the joke goes, if Texas keeps bragging how big they are, we'll cut Alaska into 4 pieces and then Texas will be the fifth largest | ||
kurahaupo | Lonely star state? | 16:21 | |
Jonta2 | Are there any non-great states in the USA? | 16:23 | |
TimToady | the deep state isn't very great | 16:24 | |
'course, that means something different depending on whether you say it in a red state or a blue state | |||
El_Che | TimToady is in trolling mode :) | 16:25 | |
I like it | |||
16:33
mcmillhj left
16:34
mcmillhj joined,
mcmillhj left
|
|||
jmerelo | So I'm back | 16:36 | |
And this was permanently on screen. I'll send you a link to the video if it finally makes it to the weekend news. | 16:37 | ||
Jonta2 | Muuum! I'm on the telly! | ||
jmerelo | -) | ||
Jonta2 | A new ISP that offered 1TB data/month for ~€40's started calling customers asking them to take it easy with the traffic | 16:38 | |
16:39
mcmillhj joined
|
|||
TimToady | m: constant D = [] but role { method elems { exit 0 }}; ^D | 16:40 | |
camelia | ( no output ) | ||
kurahaupo | The great states are Joy, Excitement, Passion, and Enthusiasm. The not-so-great states are Sorrow, Melancholy, Lethargy, and Oxford Commas. | 16:41 | |
jmerelo | TimToady: trying to figure out that one. | ||
kurahaupo: love that one too :-) | |||
kurahaupo | Jonta2: 1TB/month is a fairly standard offering around here. | 16:42 | |
Jonta2 | kurahaupo: For mobile data? | 16:43 | |
TimToady thinks Lethargy and Oxford Commas are a bad state | |||
Jonta2 | Australia's been upgraded since last I checked | ||
jmerelo | Jonta2: to Australia++? Australia Prime? | 16:44 | |
TimToady would really prefer Lethargy or Oxford Commas | |||
16:45
Guest14355 is now known as masak
|
|||
Jonta2 | jmerelo: Auswiftia? Aussharp? Objective Aussies? Ausix? Prison Complex II? | 16:45 | |
jmerelo | Jonta2: Australia 6? | ||
jmerelo loling again... | 16:46 | ||
Jonta2 | One of these days, I'll fire off that email to an Aussie uni asking them what would happen if a north-south river through the middle of the country was constructed | ||
s/Aussie uni/what-if.xkcd.com/ if you want | 16:47 | ||
TimToady | obviously it would evaporate halfway through, and then where would all the crocs go? | ||
Jonta2 | Why would it evaporate? | ||
TimToady | the resorts around Ayer's Rock would slurp it all up for golf courses | 16:48 | |
Jonta2 | You'd have a continuous watersupply from the oceans though, surely? | ||
TimToady | Australia is probably dry enough to evaporate all of that too... | 16:49 | |
Jonta2 | Sense. This picture makes none. | ||
TimToady | It is possible we will someday have the technology to terraform Australia, but currently even Elon Musk could not do it. | 16:57 | |
Jonta2 | I'm not talking about possibly or practically. Just hypothetically | 16:58 | |
Jonta2 hides digging equipment | 16:59 | ||
TimToady | Mars is probably easier, 'cuz nobody is living there yet to complain about our dropping comets on it. | ||
otoh, if you just wanna dig a river through the middle of it, Mars needs to have at least one ocean and one continent installed before you can do that...though perhaps if we install an ocean we can pick up a continent at a discount | 17:06 | ||
Jonta2 | Surely we can just apt-get install | 17:08 | |
TimToady | git clone Pacific might be a more portable solution | 17:10 | |
though it might port too much solution, unless you want ocean-front property on Olympus Mons | 17:12 | ||
Jonta2 | Well. Who doesn't? | 17:13 | |
TimToady | Well, there are always the carpers, but we must have our priorities; who cares about Martian paleontology anyway? | ||
As long as we install a windmill on top, both the industrialists and the ecologists will be satisfied. | 17:16 | ||
Jonta2 | I think we're talking past each other. I'll focus on Australia, you take on Mars. Maybe we'll collaborate in the future | 17:21 | |
jmerelo | Buying my ticket to fly to the Dutch Perl Workshop. Anyone else attending? | 17:22 | |
TimToady | No. The Dutch terraformers are cheating—they started with ocean instead of dirt. | 17:27 | |
17:29
domidumont joined
|
|||
TimToady | They'll probably show up on Mars after we've installed an ocean and try to turn large parts of it back to dirt. | 17:30 | |
Jonta2 | TimToady: what-if.xkcd.com/53/ | 17:33 | |
17:35
ChoHag joined
17:48
robertle joined
17:49
robertle left
|
|||
TimToady | That's an entirely different situation, since we're merely cloning the Pacific ocean, not draining it. | 17:49 | |
Jonta2 | You still need biomass to build the clone though. What would you use? | 17:51 | |
TimToady | Matter is just information, and information wants to be free. | 17:52 | |
El_Che | hi | ||
jmerelo: are we famous yet? | |||
(for the one that are not famous atm, anyway ;) ) | |||
TimToady | The chief failure mode of my what-is is when the Netherlands builds a submarine that can double as a spaceship, and then double again, and then double again... | 17:54 | |
*what-if | 17:55 | ||
by the time we're done, half the Martian ocean might be Dutch biomass | |||
I'm assuming the time to clone the ocean is large compared to the time to fly back from Mars here, but that seems consistent with usual github performance... | 17:56 | ||
mahafyi | pastebin.com/B3sFeB0p : To get the stdin from asterisn in a perl6 agi script, there is infinite loop if there is no condition check like the perl5 in the paste bin. Essentially : for lines() loop but exit when the string read from stdin has no length (i guess thats what perl5 is doing here).. | 17:57 | |
how to add a length condition inside the for loop? | 18:00 | ||
TimToady | last when "" | 18:01 | |
last if $_ eq '' | |||
last unless $_ | |||
any of those should work | |||
if you really want to test the length: | 18:06 | ||
last unless $_.chars | |||
but all the other implicitly test the length too | |||
*others | |||
(unlike in Perl 5, the string "0" is true, so you don't have to worry about a line consisting of only a zero) | 18:07 | ||
mahafyi | TimToady: thanks (and all these alternatives show you have a truly symbolic nick) | ||
TimToady bows | |||
jmerelo | El_Che: I don't know it it will finally aired. I'll tell you! | 18:14 | |
mahafyi: Can you also ask in StackOverflow? Better SEO, and lots of people can benefit from it :-) | 18:15 | ||
mahafyi | jmerelo:oh ok. i will in a bit, i have to get it working first, lol. I do sloow work. Maybe time to try the new IDE, i haven't looked at it , but if it will drop down suggestions etc, it may be ideal in my case. | 18:16 | |
18:17
Kaiepi joined,
Zoffix joined
|
|||
Zoffix | mahafyi: note that `lines`, that was suggested to you, by default operates on $*ARGFILES, not $*IN. So if you're making this a method for some class, you probably want $*IN.lines instead of just `lines`. You can just use $*IN as a default for the file handle parameter in your method | 18:18 | |
mahafyi | Zoffix: i believe thats it, with lines() , the script is trying to look for a file named /path/to/myarg1 | 18:19 | |
18:19
Schepeers left
18:20
lizmat left
|
|||
Zoffix | mahafyi: method ReallyReadParse (IO::Handle:D \fh = $*IN) { my %input = do for fh.lines { last unless $_; m/^ 'agi_' (\w+) \:\s+ (.*) / andthen |~«$_ } … | 18:20 | |
mahafyi: it treats command line arguments as filenames and if no command line arguments were given, then uses $*IN | 18:21 | ||
mahafyi | i dunno how to do a mthod, i am writing a procedural script. that was from perl5, which i went to try and read to figure what was going wrong | ||
Zoffix | mahafyi: the Perl 5 code you pasted looks to be for a method. | 18:22 | |
mahafyi: but that's irrelvant. You can have your sub set $*IN as default value to the filehandle param | 18:23 | ||
mahafyi: sub ReallyReadParse (IO::Handle:D \fh = $*IN) { my %input = do for fh.lines { last unless $_; m/^ 'agi_' (\w+) \:\s+ (.*) / andthen |~«$_ } … | |||
mahafyi: or in any regular code: my %input = do for $*IN.lines { last unless $_; m/^ 'agi_' (\w+) \:\s+ (.*) / andthen |~«$_ } … | 18:24 | ||
That' | |||
That'd be the equivalent to Perl 5's version which explicitly uses STDIN | |||
18:24
sauvin left
|
|||
mahafyi | ok it is working at long last!! i was able to write to stdout and answer and control a telephony channel , but couldn't get the system variables passwed in stdin. | 18:27 | |
18:27
espadrine joined,
jmerelo left
|
|||
mahafyi | and now the postgresql is also working like a a charm.. so maybe i will try and learn some OOP also to make a port of the perl5 AGI from metacpan | 18:28 | |
Zoffix | sweet | ||
Zoffix backlogs | |||
FWIW `sub f ($g where Int|Str) {…}` is about 5 times faster than `subset IntOrStr of Cool where Int|Str; sub f (IntOrStr $g) { … }` so if you just have one place to use it in, may as well go for inline `where` | 18:29 | ||
18:31
Schepeers joined
|
|||
mahafyi | when we put the * between the sigil $ and the variable name , like $*IN or $*ARGFILES, what is that called? so i can search the term.. | 18:32 | |
Zoffix | mahafyi: dynamically-scoped variable | ||
mahafyi | Zoffix: ty | ||
18:33
pdurbin left
|
|||
Zoffix | mahafyi: docs.perl6.org/language/variables#The_*_Twigil | 18:33 | |
mahafyi: and $*IN is a special dynamic variable that by default is open to STDIN | |||
geekosaur | also docs.perl6.org/language/variables#..._variables | 18:34 | |
Zoffix | And $*ARGFILES is also special and has an IO::CatHandle loaded with either args as filenames or just with $*IN | ||
mahafyi | i got the args like this -> my $string = @*ARGS.perl and in for lines() { say $string;} works ok. | 18:36 | |
Zoffix | mscha: it doesn't work because you're receiving a containerized item, but returning a deconted value from your deepmap ( perl6advent.wordpress.com/2017/12/...oneandonly ). So in your result, the array's elements are no longer in writable containers, hence the writability error you're seeing. You can avoid it in this case by stuffing the clone's result into a scalar container: my @n = | 18:37 | |
@m.deepmap(*.clone R= $); | |||
TimToady | In the case of variables like $*IN, it's really a global that is looked up dynamically, but the global namespace is the last place it'll look, so you can always override it in a given dynamic scope | ||
Zoffix | hmm | 18:38 | |
I should test stuff before suggesting it :) | |||
mscha: I meant .deepmap({ my $ = .clone }) | |||
m: my @m = [1,2],[3,4]; my @n = @m.deepmap({my $ = .clone}); dd @n[1;1] = 42; dd @n | 18:39 | ||
camelia | 42 Array @n = [[1, 2], [3, 42]] |
||
Zoffix | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(*.clone R= my $); dd @n[1;1] = 42; dd @n | ||
camelia | 42 Array @n = [[42, 42], [42, 42]] |
||
Zoffix | I would've thought the two to be equivalent. Home come the WhateverCode version reuses the same container, but the block one doesn't? | ||
TimToady | the my is instantiated only once, since it's scoped to the surrounding {} | 18:40 | |
well, surrounding block without {}, in this case | 18:41 | ||
whatevercodes are not blocks, syntactically speaking | |||
Zoffix | Thanks. | ||
Too bad :) Was hoping to bag another useful use of `R` metaop :) | 18:42 | ||
TimToady | on that level they're more like thunks | ||
parasites on their surrounding declarational scope | |||
Zoffix | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(*.clone R= {my $}()); dd @n[1;1] = 42; dd @n | 18:43 | |
camelia | 42 Array @n = [[1, 2], [3, 42]] |
||
Zoffix | ^_^ | ||
TimToady | m: my @m = [1,2],[3,4]; my @n = @m.deepmap(*.clone R= do {{$}}); dd @n[1;1] = 42; dd @n | 18:45 | |
camelia | 42 Array @n = [[1, 2], [3, 42]] |
||
Zoffix | hythm_, `has A @.a` means @.a is *parametarized* with `A`, not just "contains" A. So you'd need to pass parametarized arrays. To mean "contains only A", you'd write it as `has @.a where .all ~~ A` | 18:46 | |
18:52
Zoffix left
18:57
sena_kun left
|
|||
mahafyi | jmerelo: I got an account in stackoverflow, but i have asked so many questions today on different things I did not know about. Next time I will post there. | 18:57 | |
18:58
Khisanth left
19:00
domidumont left
|
|||
mahafyi | perl6.org/whatever/ : which IDE can provide the dropdown suggestions as we type? | 19:05 | |
never mind, i had forgotten the name, i have it now commaide.com/ | 19:06 | ||
19:06
AlexDani` is now known as AlexDaniel
|
|||
AlexDaniel | evalable6: stdin gist.github.com/AlexDaniel/583a251...4129ebfa0c | 19:10 | |
19:10
grumble joined
|
|||
evalable6 | AlexDaniel, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/0097b9e973d46959b4...031dfee7d2 | 19:10 | |
AlexDaniel | evalable6: stdin gist.github.com/AlexDaniel/583a251...4129ebfa0c | ||
evalable6 | AlexDaniel, STDIN is set to «onetwothreefourfive» | ||
AlexDaniel | say slurp # :) | ||
evalable6 | one two three four five |
19:11 | |
19:11
Khisanth joined
|
|||
TimToady | You don't cheat fair! | 19:12 | |
19:12
comborico1611 joined
|
|||
caa51h | Is irc.perl6.party down? | 19:22 | |
Geth | perl6.org: d54a6fd939 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/whatever/index.html List CommaIDE in the list of IDEs |
19:24 | |
19:25
Zoffix joined
|
|||
Zoffix | caa51h: no | 19:25 | |
caa51h: why do you think it's down? | |||
19:28
darutoko left
|
|||
Zoffix | looks like moritz made irclog.perlgeek redirect to irc.party | 19:28 | |
caa51h: IRC logs are at irc.perl6.org irc.perl6.party is just a hack to make old IRC links work. You're not to meant to use it to read new logs. | 19:29 | ||
caa51h | Zoffix: I see. Thank you. | 19:39 | |
mahafyi | when parsing stdin, for $*IN.lines {say $_ ;} works but for $*IN.lines {say $_ .WHAT;} does not, it gives the same output in STDOUT as the former. | 19:42 | |
Zoffix | mahafyi: they're entirely different things, so I'm not surprised. Also, don't think you can use a space before `.WHAT` as it's a fake method | 19:43 | |
mahafyi: what are you trying to do? | 19:44 | ||
m: say 42 .WHAT | 19:45 | ||
camelia | ===SORRY!=== Method call must either supply a name or have a child node that evaluates to the name |
||
mahafyi | Zoffix: that was a typ, the space. the $_ contains a key and value separated by colon. i wanted to see if it is a string or can we directly treat it as hash | 19:46 | |
Zoffix | mahafyi: but the answer will be (Str) and a better way to get the name of an object is using .^name methodcall, not .WHAT, which is to get the actual type object | ||
mahafyi | Zoffix: thanks. | ||
i got it now, actually, i should not even have asked this. | 19:48 | ||
19:48
Kaiepi left
|
|||
Zoffix | mahafyi: there's also a `dd` routine you can use to dump stuff. | 19:48 | |
m: dd 42; dd "42" | |||
camelia | 42 "42" |
||
Zoffix | Doesn't say the name, but once you get used to .perl output of stuff, it becomes obvious what the object is | ||
19:48
Kaiepi joined
19:49
dct joined,
markoong left
19:56
wamba joined
20:01
markoong joined
|
|||
Geth | doc: 2e2f05d32c | (Will "Coke" Coleda)++ | doc/Language/pragmas.pod6 whitespace |
20:02 | |
doc: 71d8675858 | (Will "Coke" Coleda)++ | doc/Language/pragmas.pod6 avoid compilation error |
|||
synopsebot | Link: doc.perl6.org/language/pragmas | ||
20:15
Zoffix left
20:34
HaraldJoerg1 joined
20:36
HaraldJoerg left
20:50
mcmillhj left
20:52
mahafyi left
21:03
mcmillhj joined
21:08
mcmillhj left
21:11
hobbs joined,
hobbs left,
hobbs joined
21:12
skids left,
AlexDaniel left
21:13
AlexDaniel joined
21:19
rindolf left
21:35
mcmillhj joined
21:38
kaare_ left
21:39
mcmillhj left
21:43
HaraldJoerg1 left
21:58
lizmat joined
22:04
nnunley joined
22:05
mcmillhj joined
22:10
mcmillhj left
22:18
mcmillhj joined
22:23
mcmillhj left
22:27
Khisanth left
22:34
mcmillhj joined
22:38
mcmillhj left
22:49
mcmillhj joined
22:50
Kaiepi left
22:52
kaare_ joined
22:54
mcmillhj left
22:56
Khisanth joined,
skids joined
23:09
mcmillhj joined
23:14
mcmillhj left
23:15
wamba left
23:21
AlexDaniel left
23:22
mcmillhj joined,
AlexDaniel joined
23:26
mcmillhj left
23:52
mcmillhj joined
23:54
MilkmanDan left
23:55
MilkmanDan joined,
nnunley left
23:57
cognominal joined,
mcmillhj left
|