»ö« 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. |
|||
[Coke] | OHAI am I off the hook? | 00:00 | |
yoleaux | 7 Dec 2016 23:36Z <babydrop> [Coke]: seems like we found a volunteer to fill up the last spot (tbrowder) so you're off the hook for your article | ||
[Coke] | YAY | ||
00:00
sufrostico joined
|
|||
[Coke] | tbrowder++ babydrop++ | 00:00 | |
00:00
sufrosti1o joined
00:04
cognominal joined,
kurahaupo_ joined
00:06
kurahaupo__ left
00:07
Actualeyes joined
00:12
pmurias left
|
|||
skaji | Hi! | 00:15 | |
If I create a promise (eg: my $p = start {...}), do I have to wait it (i.e. await $p)? Or can I safely ignore it? | |||
As you know, if we use fork and create a child process, we have to wait it, otherwise it will exist as a defunct process. So I asked | 00:16 | ||
00:22
pierre__ joined
|
|||
babydrop | skaji: safely ignore | 00:22 | |
skaji: I have 90% confidence in that answer :) | |||
hm, 99% :) I just ran for ^1000 { start sleep 99999 } a few times and don't see any residuals in ps :) | 00:24 | ||
00:24
pyrimidine joined
|
|||
dalek | : cad653a | (Will Coleda)++ | misc/perl6advent-2016/schedule: tbrowder++ taking last open slot! |
00:27 | |
00:28
cpage_ joined,
pyrimidine left
|
|||
[Coke] | m: say (0..0x1FFFF).sort(*.uniname.chars)[*-1].chr.uniname; | 00:28 | |
camelia | rakudo-moar 0428b7: OUTPUT«ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM» | 00:29 | |
[Coke] | huh. | ||
skaji | babydrop: thank you. It's true that I mentioned fok(2) and wait(2), | ||
but I'm worried about any resouce leaks around promises | 00:30 | ||
(we cannot be sure by ps(1), I think) | |||
00:31
pyrimidine joined
00:33
cpage_ left
00:36
pyrimidine left
00:38
cpage_ joined
|
|||
babydrop | skaji: but I start doesn't fork, it uses threads. I don't much about it, but in the last year that I've been here, I never saw anyone mention even once that starts had to be awaited to aboid zombies | 00:41 | |
00:44
canopus left
|
|||
skaji | It's my bad about the example. please forget about fok/wait example. | 00:47 | |
I'm just worried about any resouce leak in perl6 around promises. | 00:48 | ||
(away from IRC) | |||
[Coke] | ok. if you're really worried, please try them out, measure any leaks. | 00:50 | |
But you probably don't need to be worried. Why are you worried? | 00:51 | ||
00:51
canopus joined,
cognominal left
00:52
cognominal joined
|
|||
skaji | If I create a long running program, I want to make sure no resouce leak occur. | 00:54 | |
00:54
wamba left
00:55
sydney_falk joined
00:56
cdg_ left
|
|||
dalek | c: a50ac42 | coke++ | doc/Type/Cool.pod6: update uniname/uninames docs. jnthn++ - closes #1019 |
00:57 | |
synopsebot6 | Link: doc.perl6.org/type/Cool | ||
geekosaur | [08 00:41:12] <babydrop> skaji: but I start doesn't fork, it uses threads. I don't much about it, but in the last year that I've been here, I never saw anyone mention even once that starts had to be awaited to aboid zombies | 01:06 | |
maybe on a buggy (or 2.4 kernel) linux. threads are not processes | |||
hm, but you might still leak threads in some sense, I guess. would that be a libuv bug, or are threads using POSIX APIs directly? | 01:07 | ||
01:10
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
geekosaur | POSIX threads do not necessarily have to be pthread_join()ed, it depends on the underlying implementation. in the old LinuxThreads hack, you did have to or you would leak clone()d processes | 01:11 | |
in 2.6 and later kernels I don't know offhand, much less other OSes | 01:12 | ||
01:14
Celelibi joined
01:15
pierre__ left
|
|||
babydrop | ah | 01:16 | |
geekosaur | some of them might leak only thread local storage, and for some of *those* that might just be malloc() blocks whose address was only "known" to that thread | 01:17 | |
[Coke] | m: say Perl.new().perl; | 01:18 | |
camelia | rakudo-moar 0428b7: OUTPUT«Perl.new(compiler => Compiler.new(id => "43B4C1CEBB4FDBD96A813C805EA0537FAB635F5B.1481146226.73448", release => "", codename => "", name => "rakudo", auth => "The Perl Foundation", version => v2016.11.156.g.0428.b.79, signature => Blob, desc => Str), name …» | ||
geekosaur | but if threads are an abstraction via libuv (which they might well be; Windows threads are not POSIX threads) then you'd need to know what libuv requires to properly clean up a thread, and maybe that is already being done | ||
01:21
pierre__ joined,
cognominal left
|
|||
babydrop | New Advent Post: "Day 8 — How to Make, Use, and Abuse Perl 6 Subsets": perl6advent.wordpress.com/2016/12/...6-subsets/ | 01:22 | |
01:22
cognominal joined
01:25
pierre__ left
01:28
BenGoldberg joined,
lucasb joined
01:30
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
lucasb | m: say $*IN.slurp-rest.chars | 01:30 | |
camelia | rakudo-moar 0428b7: OUTPUT«1134» | ||
lucasb | m: say $*ARGFILES.slurp.chars | ||
camelia | rakudo-moar 0428b7: OUTPUT«1134» | ||
BenGoldberg | m: dd $*IN | 01:31 | |
camelia | rakudo-moar 0428b7: OUTPUT«IO::Handle <element> = IO::Handle.new(:path(IO::Special.new(what => "<STDIN>")),:chomp)» | ||
BenGoldberg | m: dd $*ARGFILES | ||
camelia | rakudo-moar 0428b7: OUTPUT«IO::ArgFiles.new(:path(Any),:chomp)» | ||
lucasb | with $*IN I have to use '.slurp-rest', but with $*ARGFILES, I have to use '.slurp' | 01:32 | |
$*IN.slurp and $*ARGFILES.slurp-rest gives error | |||
BenGoldberg | m: $*ARGFILES.readline.say | ||
camelia | rakudo-moar 0428b7: OUTPUT«No such method 'readline' for invocant of type 'IO::ArgFiles' in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: $*IN.readline.say | ||
camelia | rakudo-moar 0428b7: OUTPUT«No such method 'readline' for invocant of type 'IO::Handle' in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: $*IN.get.say | 01:33 | |
camelia | rakudo-moar 0428b7: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall» | ||
BenGoldberg | m: $*IN.get.say | ||
camelia | rakudo-moar 0428b7: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall» | ||
BenGoldberg | m: say IO::ArgFiles ~~ IO::Handle | 01:34 | |
camelia | rakudo-moar 0428b7: OUTPUT«False» | ||
BenGoldberg | m: say IO::ArgFiles.WHAT | ||
camelia | rakudo-moar 0428b7: OUTPUT«(ArgFiles)» | ||
BenGoldberg | wut? | 01:35 | |
geekosaur | m: say IO::ArgFiles ~~ IO::Path | ||
camelia | rakudo-moar 0428b7: OUTPUT«False» | ||
BenGoldberg | Why did .WHAT produce (ArgFiles) instead of (IO::ArgFiles)? | 01:36 | |
geekosaur | hm, it lied to you | ||
my class IO::ArgFiles is IO::Handle { | |||
01:37
Unavowed joined
|
|||
BenGoldberg | s: $*ARGFILES, 'slurp', () | 01:37 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: Cannot resolve caller sourcery(IO::ArgFiles, Str, List); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
geekosaur | however it's doing weird things internally to fake being a single Handle, which is probably why it fails | ||
right it has no slurp-rest, probably because it can't | |||
BenGoldberg | s: $*ARGFILES, 'slurp' | 01:38 | |
SourceBaby | BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/0428...es.pm#L124 | ||
geekosaur | not the way it is currently implemented at least | ||
lucasb | for the record, locally IO::ArgFiles ~~ IO::Handle evaluates to true. camelia said False because of the restricted setting | ||
geekosaur: my point is just in the inconsistency in naming | 01:39 | ||
babydrop | BenGoldberg: because .WHAT returns a type object, which when gisted shows only the shortname | ||
Use .^name if you mean the name | |||
lucasb | I belive that $*IN.slurp-rest and $*ARGFILES.slurp works exactly the same | ||
01:40
espadrine left
|
|||
BenGoldberg | m: say IO::Handle | 01:40 | |
camelia | rakudo-moar 0428b7: OUTPUT«IO::Handle is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method gist at src/RESTRICTED.setting line 33 in block <unit> at <tmp> line 1» | ||
babydrop | m: say Supplier::Preserving | ||
camelia | rakudo-moar 0428b7: OUTPUT«(Preserving)» | ||
lucasb | I mean, in this case, I had to be explicity inconsistent in methods names, because of the way the classes were written | ||
geekosaur | lucasb, those two do not, but ArgFiles slurp-rest could sanely be an alias for slurp | ||
that is, slurp for ArgFiles is not the same as slurp for an actual Handle | 01:41 | ||
lucasb | yes, is slurps *all* the files | ||
... in the argument list | |||
geekosaur | yes, which means it slurps them into a list and concatenates the list | ||
(I hope that's lazy, or that's going to bite someone HARD at some point) | 01:42 | ||
actually it slurp-rest-s them, but note that it is working on *multiple* handles, not just one | |||
potentially | |||
in the precise case of no parameters, yes, it is "exactly" the same. in any other case, it is not the same | 01:43 | ||
tbrowder | ok, anyone wanting a preview and chance to critique the 12 Dec P6 Advent can see my blog gist on github. | 01:44 | |
01:46
pierre__ joined
|
|||
babydrop | tbrowder: what's the URL? | 01:47 | |
BenGoldberg wonders how to concatenate a list lazily. | 01:50 | ||
MasterDuke | BenGoldberg: gather/take maybe? | 01:51 | |
geekosaur | well, what it actually does is open every argument file and slurp-rest it, then reduce the resulting list with [~] | 01:52 | |
BenGoldberg | Suppose I've got a Range, such as ^Inf. How would I produce the [~] of that Range, without things blowing up? | 01:53 | |
geekosaur | I am afraid to ask what happens if someone does $*ARGFILES.slurp in a script passed several 1TB files :) | ||
BenGoldberg thinks they get a frikkin big string. | 01:54 | ||
babydrop | BenGoldberg: produce to... what end? | ||
I mean, you can't finish "producing" an infinite string. | 01:55 | ||
I think the Cat type is supposed to be for something like that, innit? | |||
01:55
kaare_ joined
|
|||
babydrop | Or FatCat | 01:55 | |
Yeah: design.perl6.org/S32/Containers.html multi cat ( @values --> Cat ) | 01:56 | ||
Returns a Cat object, a concatenated version of the list that does the Str interface, but generates the string lazily to the extent permitted by the pattern of access to the string. | 01:57 | ||
m: cat | |||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: cat used at line 1. Did you mean 'cas'?» | ||
babydrop | NIY | ||
BenGoldberg | The common term in computer science for a String-like class which actually contains a list of strings internally is a Rope. | ||
01:59
lucasb left
|
|||
BenGoldberg | A Rope created by slurping an ArgFiles should be able to lazily (without reading every single file into memory) do anything a Str can do, *except* .chars, .ords, .rindex, .end-with, or other methods which naturally need the end of the string. | 02:03 | |
samcv | is there any case you have ` = <` where the < is not the start of <this> style quoting? | 02:10 | |
can anybody think of any? | |||
02:10
kalkin- joined
|
|||
samcv | need to make sure if i add this syntax highlighting rule that i don't accidently run highlighting for the entire rest of the document | 02:11 | |
geekosaur | I think not, it would be Two Terms In A Row | ||
samcv | yeah that's what i thought | ||
BenGoldberg | m: say <$IO>; | ||
camelia | rakudo-moar 0428b7: OUTPUT«$IO» | ||
BenGoldberg | m: say <$*IO>; | ||
camelia | rakudo-moar 0428b7: OUTPUT«$*IO» | ||
geekosaur | although... someone might conceivably come up with something, actually | ||
BenGoldberg wonders if maybe that should produce a warning that you're trying to do a perl5-style readline. | 02:12 | ||
samcv | that sounds like it would have to check any < > quoted string to make sure it didn't have that? | 02:13 | |
geekosaur | samcv, it's safe to do that | ||
m: sub term:<*($a, $b) {$a + $b} say 1 <* 3 | |||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in quote words; couldn't find final '>' at <tmp>:1------> 3sub term:<*($a, $b) {$a + $b} say 1 <* 37⏏5<EOL> expecting any of: colon pair …» | ||
geekosaur | m: sub term:<*($a, $b) {$a + $b}; say 1 <* 3 | ||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in quote words; couldn't find final '>' at <tmp>:1------> 3ub term:<*($a, $b) {$a + $b}; say 1 <* 37⏏5<EOL> expecting any of: colon pair …» | ||
BenGoldberg shrugs. I think people would figure out what they're dong wrong ;) | |||
geekosaur | oh, I did that wrong, wait | ||
MasterDuke | m: "foo123bar" ~~ /$<num> = <digit>+/; say $<num> | ||
camelia | rakudo-moar 0428b7: OUTPUT«[「1」 「2」 「3」]» | ||
geekosaur | m: sub term:<< <* >>($a, $b) {$a + $b}; say 1 <* 3 | ||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3erm:<< <* >>($a, $b) {$a + $b}; say 1 <*7⏏5 3 expecting any of: infix infix stopper postfix statement end …» | ||
geekosaur | m: sub infix:<< <* >>($a, $b) {$a + $b}; say 1 <* 3 | 02:14 | |
camelia | rakudo-moar 0428b7: OUTPUT«4» | ||
samcv | this isn't applied inside regex almost certain but i'll double check that | ||
BenGoldberg | m: sub infix:[ <* ] { $^a + $^b }; say 4 <* 5; | ||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in quote words; couldn't find final '>' at <tmp>:1------> 3 infix:[ <* ] { $^a + $^b }; say 4 <* 5;7⏏5<EOL> expecting any of: quote words …» | ||
geekosaur | ok, you have a potential problem :) | ||
BenGoldberg | m: sub infix:<< <* >> { $^a + $^b }; say 4 <* 5; | ||
camelia | rakudo-moar 0428b7: OUTPUT«9» | ||
BenGoldberg | m: sub prefix:<< <* >> { $^a }; my $foo = <* 5; | ||
camelia | ( no output ) | ||
02:14
kalkin-_ left
|
|||
geekosaur | right, so several ways it could happen, none in stock rakudo | 02:15 | |
samcv | damn. | ||
BenGoldberg | I think it's reasonable for syntax highlighters to ignore infix/prefix/etc subs. | 02:16 | |
samcv | this is going to be hard to get that quoting working over multiple lines | ||
my $foo = <* 5; this would match | |||
hmm but that's not a stock operator though... hmm | |||
BenGoldberg | If you want it to work "perfectly", you'll have to actually parse the code the same way Rakudo does... | 02:17 | |
samcv | my $swap = <-> $a, $b { ($a, $b) = ($b, $a) }; | ||
this though | |||
though that's a special case I could add in since it's an operator. though it might already highlight as an operator, i'll have to check | 02:18 | ||
geekosaur | that one even if it misparses is safe, though | ||
samcv | yeah that one conflicts | ||
geekosaur | but I don't think <- can happen | ||
samcv | for sure | ||
BenGoldberg | Of course nothing prevents you from using STD.pm, and supplying your own actions object to generate highlighted text from the parse tree. | 02:19 | |
samcv | atom doesn't support that though | ||
it's basically regex based but you can have recursive rules and stuff | |||
and include 'rules' that you create by name to apply to a matched section | 02:20 | ||
BenGoldberg is guessing that this 'atom' of which you speak is not the 'atom' which competes with RSS. | |||
samcv | yesterday i got all the q/qq/Q quoting constricts generating from a script, where i have an array with a ton of quoting constricts heh | ||
geekosaur | atom.io | ||
wannabe javascript's answer to emacs :p | 02:21 | ||
samcv | heh | ||
geekosaur | (ok, coffeescript...) | ||
samcv | i wish it wasn't based on electron but. i like it. and coding in vim is not fun | ||
haha geekosaur | |||
so i can trivially add new delimiters for both #`( and q( ). so that's great. will save me so much time | |||
applying fixes to all of them, since Q qq and q all need seperate rules | 02:22 | ||
but it uses ruby's regex engine, the oniguruma library for the syntax highlighting. and uses the same type grammars as textmate | 02:23 | ||
though the file is in CSON instead of mac plist style xml | |||
which idk if is a good thing. because having to escape things for all the regex twice sucks | |||
i just have a from-json and to-json p6 executable using JSON::Tiny to unescape and reescape things | 02:24 | ||
because you have the CSON escaping... then you have to do the escaping for the regex | |||
and both have seperate things needing escaping | |||
BenGoldberg | So atom has node.js integrated into it... which means you can use node.js's child_process module to start external programs. Which means you can run perl6 from within atom! | 02:25 | |
samcv | yep | 02:26 | |
02:26
pyrimidine joined
|
|||
samcv | i've never programmed node.js or javascript before though | 02:26 | |
tbrowder | babydrop: gist.github.com/tbrowder/4d0091ca6...32fce640a7 | ||
samcv | i might need to learn so i can make atom the best editor for perl 6 | ||
mostly just so there is some editor that is awesome for perl6 | 02:27 | ||
BenGoldberg | Since perl6 can parse perl6 far more easily than atom can, why not run an external perl6 program to read and parse the file in the editor, and capture it's output? | ||
02:27
pierre__ left
|
|||
samcv | that won't let me get syntax highlighing though.. since they're sorta seperate parts | 02:28 | |
the syntax grammars and the rest of it | |||
plus that sounds slow :P | |||
idk maybe there is someee way to do it but | 02:29 | ||
BenGoldberg | Hmm... so your highlighter is *only* allowed regex, and not arbitrary code? That sux. | ||
02:29
seatek joined
|
|||
samcv | well. it works actually awesomely. but | 02:29 | |
would be nice if there were more things | |||
BenGoldberg, check out the changelog github.com/samcv/language-perl6fe/...ANGELOG.md for the last 3 weeks i've been working on it | 02:30 | ||
so sure it's not optimal.. but usually you can work around not being able to do anything non regex, since you can have subrules | |||
though i wish it were documented better. partially learning as i go along | 02:31 | ||
the biggest problem is not being able to do variable length lookbehind | 02:34 | ||
tbqh | |||
BenGoldberg is looking at your README.md, and your screenshots. Your font has a very strange way of showing @ | 02:35 | ||
02:35
pierre__ joined
|
|||
samcv | i still don't know how i'm going to deal with not being able to do \s* positive lookbehind though | 02:36 | |
ahhh | |||
though technically i could do (?=\s|\s\s|\s\s\s\s...) | 02:37 | ||
i have been considering doing that actually.. unless somebody knows how to do such a thing in only rubyish regex | 02:38 | ||
oh and i can't do \s*(capture here) either, because then the \s* gets included in the match :P | |||
though i guess i 'could' highlight blankspace but that's kind of dumb | 02:39 | ||
may interfere with other matches below it not sure | |||
02:41
xtreak joined
02:43
Sgeo left
02:46
ilbot3 left
02:47
ilbot3 joined
02:53
pierre__ left
|
|||
samcv | actually... i can use \K to discard text before that point in the string. that will work. | 02:56 | |
02:59
pierre__ joined
|
|||
SmokeMachine____ | What format should I write for the advent calendar? Markdown? Pod? HTML? Or what? | 03:02 | |
mspo | wordpress-ese | 03:03 | |
SmokeMachine____ | So, should I enter the text on a wordpress' post entry page? | 03:10 | |
03:11
committable6_ left,
bisectable6 left,
evalable6 left,
unicodable6 left,
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
committable6 joined,
ChanServ sets mode: +v committable6
03:12
evalable6 joined,
unicodable6 joined
03:13
pecastro joined
03:17
noganex joined
03:20
noganex_ left
03:21
cognominal left
03:22
cognominal joined
03:40
cdg joined
03:43
pierre__ left
03:45
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:46
pyrimidine left,
sunnavy joined
03:48
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:50
mr_ron left,
zt joined
03:51
zt left
03:53
pierre__ joined
03:55
pierre__ left
03:56
pierre__ joined,
BenGoldberg left
04:00
BenGoldberg joined
04:07
pierre__ left
04:11
Sgeo joined
04:12
pierre__ joined
04:15
pierre__ left,
pierre__ joined
04:19
labster left
04:31
cdg left
04:41
pierre__ left
04:42
pyrimidine joined
04:44
xtreak left
04:45
xtreak joined
04:46
pyrimidine left
04:47
pierre__ joined
04:51
pierre__ left
04:56
BenGoldberg left
05:03
khw left,
giraffe left,
giraffe joined,
giraffe left,
giraffe joined
05:06
cognominal left
05:07
cognominal joined
05:16
kurahaupo_ left
05:27
brillenfux joined
05:28
aborazmeh left
05:30
xtreak left
05:32
pyrimidine joined,
xtreak joined
05:35
Sgeo_ joined
05:37
Sgeo left
05:39
mawkish joined,
girafe left,
girafe2 joined
05:47
Sgeo_ left
05:52
cognominal left,
Sgeo joined
05:53
Cabanossi left
05:54
Cabanossi joined
05:55
zgrep left
05:59
pierre__ joined
06:05
cognominal joined
06:18
xtreak left
06:19
b7j0c joined,
darutoko joined,
xtreak joined
|
|||
tyil | samcv: atom wont be a best editor for anything tho | 06:20 | |
b7j0c | perl6: my uint8 $u = 65535; | ||
camelia | rakudo-jvm 8ca367: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.» | ||
( no output ) | |||
b7j0c | perl6: my uint8 $u = 65535; | ||
camelia | ( no output ) | ||
b7j0c | perl6: my uint8 $u = 65535; say $u; | ||
camelia | rakudo-jvm 8ca367: OUTPUT«65535» | ||
..rakudo-moar 0428b7: OUTPUT«255» | |||
06:22
cognominal left
06:23
mawkish left,
wamba joined
06:24
cognominal joined
06:27
aborazmeh joined,
aborazmeh left,
aborazmeh joined
06:29
xtreak left
06:30
xtreak joined
06:37
cognominal left
06:38
b7j0c left,
xtreak left
06:39
Tonik joined
06:40
cibs left,
bjz joined
06:41
xtreak joined,
cibs joined
|
|||
dalek | osystem: df64bd8 | (Asato Wakisaka)++ | META.list: add SQL::NamedPlaceholder to ecosystem. |
06:42 | |
osystem: ea32246 | Altai-man++ | META.list: Merge pull request #271 from astj/add-sql-namedplaceholder Add SQL::NamedPlaceholder |
|||
06:51
RabidGravy joined
06:52
bjz left
06:53
FROGGS joined
06:54
cognominal joined
06:56
domidumont joined
06:59
skids left
07:06
CIAvash joined
07:09
domidumont left,
bjz joined
|
|||
moritz | tbrowder: if you don't have access to the p6advent blog yet, please /msg me your email address. Thanks! | 07:10 | |
07:24
domidumont joined
07:28
domidumont left
07:29
domidumont joined
07:31
fatguy joined
07:36
wamba left
07:37
cognominal left
07:39
Tonik left
|
|||
fatguy | is this the right channel to ask about rakudo-star docker image ? i have a problem can't run docker run -it rakudo-star -e 'say "Hello!"' | 07:41 | |
07:41
girafe2 left
|
|||
FROGGS | should be the right channel, yes | 07:49 | |
07:49
aborazmeh left
07:50
cognominal joined
07:54
labster joined,
CIAvash left
|
|||
fatguy | great, in the web documentation it show it can run the command, but it failed with exec: "-E": executable file not found in $PATH | 07:56 | |
hub.docker.com/_/rakudo-star/ | |||
07:57
CIAvash joined
|
|||
fatguy | sorry its : exec: "-e": executable file not found in $PATH | 07:57 | |
FROGGS | I'm not a docker expert and last time I tried I had problems too and gave up | 07:58 | |
ohh | |||
brrt | hmmm | ||
FROGGS | can you try this: docker run -it rakudo-star perl6 -e 'say "Hello!"' | ||
brrt | waitaminute, isn't -e interpreted as 'entrypoint' for docker | 07:59 | |
FROGGS | is it? | ||
I dunno | |||
then the error message makes no sense to me | |||
brrt | let me check | ||
hmm, not entirely sure, it is --entrypoint | 08:01 | ||
so i'm not sure what -e does | |||
timotimo | so docker run -it rakudo-star -- perl6 -e 'say "hello!"'? or maybe put it into quotes? | ||
apparently it's trying to execute -e as the executable | |||
fatguy | it can now with : docker run -it rakudo-star perl6 -e 'say "Hello!"' | ||
brrt | yeah, suspected as much | ||
fatguy | great, thanks | 08:02 | |
brrt | :-) | ||
08:18
ufobat joined
08:19
g4 joined
08:26
wamba joined
08:27
zakharyas joined
08:36
CIAvash left
08:37
cognominal left
08:38
cibs left
08:39
cognominal joined
08:40
cibs joined,
dakkar joined,
xtreak left
08:41
Alikzus joined
|
|||
samcv | which part of rakudo is running 'chdir'? it seems that bad things happen if the folder the shell is in does not exist | 08:42 | |
timotimo | we don't chdir, because we are multithreaded and the cwd is a thing that only exists once per process | 08:43 | |
hm. at least we do that on the jvm | |||
samcv | err yeah i mean gets the current directory or whatever | ||
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory | |||
timotimo | oh, ok | ||
samcv | this is what i get running perl6 -e | ||
timotimo | we do actually have chdir in moarvm | ||
samcv | yeah there should be some check to make sure the directory exists before trying to do something to it. it assumes the cwd exists | 08:44 | |
and just either prints an error out or just goes into a loop | |||
of error messages | |||
timotimo | hm. we don't allow you to chdir into something that doesn't exist, right? | 08:45 | |
at what point should we do the check for current-directory-existingness? | |||
samcv | at least when it starts | ||
not sure if it will error if you delete the cwd while it's running | |||
i'm guessing not. but at least startup sounds important | 08:46 | ||
timotimo | ok so the test plan is "mkdir remove-this; cd remove-this; rm -r ~/remove-this; perl6 -e 'say q/hi/'"? | ||
samcv | yeah | ||
timotimo | timo@schmand ~/delete-this> rm -rf ~/delete-this/ | 08:47 | |
fish: getcwd() failed with errno 2/No such file or directory | |||
%) | |||
samcv | is that a shell error you're getting? | 08:48 | |
timotimo | yes, fish is my shell | ||
samcv | or is that the moar error | ||
perl | 08:49 | ||
err oops. didn't mean to type here | |||
08:55
pyrimidine left
08:57
pmurias joined
|
|||
nine | nine@sphinx:~> mkdir remove-this; cd remove-this; rm -r ~/remove-this; perl6 -e 'say q/hi/' | 08:57 | |
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory | |||
hi | 08:58 | ||
Looks like perl6 does better at this than bash? | |||
pmurias | anyone wants to run roast/S32-num/power.t on Mac OS X? I want to check if a Mac OS X specific bug has been fixed | 08:59 | |
09:00
FROGGS left
|
|||
samcv | nine, you mean regarding the directory thing? | 09:06 | |
09:06
rindolf joined
|
|||
timotimo | i think the shell-init thing is happening before rakudo even comes up? | 09:06 | |
samcv | well | 09:07 | |
you can run python, irb etc and have no issues. that shell-init eror is just one generated by the shell, but the shell continues to operate fine | |||
nine | Oohh...it's because perl6 is a shellscript! | 09:08 | |
timotimo | ah, of course | ||
samcv | oh no | ||
09:08
xtreak joined
|
|||
nine | > mkdir remove-this; cd remove-this; rm -r ~/remove-this; /home/nine/rakudo/install/bin/moar --execname="perl6" --libpath="/home/nine/rakudo/install/share/nqp/lib" --libpath="/home/nine/rakudo/install/share/perl6/lib" --libpath="/home/nine/rakudo/install/share/perl6/runtime" /home/nine/rakudo/install/share/perl6/runtime/perl6.moarvm -e 'say q/hi/' | 09:09 | |
hi | |||
timotimo | hi nine | ||
nine | :) | ||
samcv | yeah it starts fine if I run #!/bin/sh | ||
exec /home/samantha/perl6/bin/moar --execname="$0" --libpath="/home/samantha/perl6/share/nqp/lib" --libpath="/home/samantha/perl6/share/nqp/lib" --libpath="/home/samantha/perl6/share/perl6/lib" --libpath="/home/samantha/perl6/share/perl6/runtime" /home/samantha/perl6/share/perl6/runtime/perl6.moarvm "$@" | |||
09:09
zakharyas left
|
|||
samcv | that whole thing | 09:09 | |
timotimo | yeah | ||
brrt | another fine argument for having a compiled-binary perl6 :-) | ||
timotimo | yeah :3 | 09:10 | |
samcv | yeah.. i could see this biting somebody in the ass | ||
if it were a long running program or something | |||
that was cd'd into a nonexistant dir, or even otherwise | |||
then it tries to launch another perl6 program from in it | |||
timotimo | if we compile in the complete invocation, it'll also look a whole lot nicer in htop and ps | 09:11 | |
samcv | yeah | ||
timotimo | because the whole four libpaths thing won't gobble up so much screen real estate that you have to scroll sideways for a minute before you see what the p6 file being run actually is | 09:12 | |
09:12
pierre__ left
09:13
zakharyas joined
09:15
rurban joined
09:17
wamba left
09:18
pierre__ joined
09:24
jonas1 joined
09:26
fatguy left
09:29
bjz_ joined
09:30
bjz left
|
|||
tadzik | m: class Awesome { has $.awesomeness-level }; my $obj1 = Awesome.new: :10000awesomeness-level; | 09:35 | |
camelia | ( no output ) | ||
tadzik | wat | ||
how does that parse :o | |||
timotimo | what wat? | ||
you remember :2nd? | |||
and :3rd? | 09:36 | ||
tadzik | oh | ||
yeah | |||
timotimo | that's how :) | ||
i'm glad this rule exists, because it's pretty and cool | |||
09:36
pmurias left
09:40
labster left
|
|||
moritz | "you think this is cute today" :-) | 09:42 | |
arnsholt | Hehe | 09:47 | |
My favourites are :1rd :2st and :3nd | 09:48 | ||
timotimo | m: say (:-10th) | ||
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Bogus statementat <tmp>:1------> 3say (:7⏏5-10th) expecting any of: colon pair» | ||
timotimo | ^- ;( | ||
09:48
xtreak left
09:50
pmurias joined
09:51
xtreak joined,
pyrimidine joined
09:52
cognominal left
09:53
cognominal joined
09:55
cibs left,
xtreak left
09:56
cibs joined
09:58
Ven joined
10:01
mawkish joined
10:03
cibs left,
cibs joined,
wamba joined
10:05
Ven left
10:07
Ven joined
10:11
wamba left
|
|||
arnsholt | timotimo: I wonder why negative numbers aren't allowed. Rakudo-bug, or intentional limitation in the grammar for some reason? | 10:13 | |
timotimo | yeah, good question. clearly the rule is implemented as "when you have a number after the :, it's that" | ||
but number as in "\d" | 10:14 | ||
moritz | m: say (:5.5th) | 10:15 | |
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed radix numberat <tmp>:1------> 3say (:57⏏5.5th) expecting any of: number in radix notation» | ||
timotimo | also interesting | ||
jnthn | Intentionally only for positive integers, afaik | 10:17 | |
moritz | in base ten, no less :-) | 10:18 | |
jnthn | Given people find the form confusing enough already when used beyond :1st/:2nd/:3th, I'm not sure expanding further on it is going to curry much favor. :P | 10:19 | |
timotimo | hmm | 10:20 | |
could definitely be put into a slang, though :) | |||
moritz | curry | ||
hm | |||
time for lunch pretty soon... :-) | |||
jnthn | Also I think there's a ambiguity if you allow complex numbers :P | ||
*an | |||
Oh, and exponents too :) | 10:21 | ||
moritz | or hex numbers | ||
jnthn | Oh yes :) | ||
m: say :0xBEEF | 10:22 | ||
camelia | rakudo-moar 0428b7: OUTPUT«Unexpected named argument 'xBEEF' passed in block <unit> at <tmp> line 1» | ||
timotimo | aaw man | ||
jnthn | m: dd :0xBEEF | ||
camelia | rakudo-moar 0428b7: OUTPUT«block <unit>» | ||
jnthn | uh | ||
m: say :0xBEEF .perl | |||
camelia | rakudo-moar 0428b7: OUTPUT«:xBEEF(0)» | ||
jnthn | Nice :P | ||
timotimo | ah, dd has a thing where with no parameters it says where it is? | ||
m: dd | |||
camelia | rakudo-moar 0428b7: OUTPUT«block <unit>» | ||
jnthn | Yeah, but it's a sub so I'm surprised it both accepts named parameters (not the default for a sub) and then ignores them... | 10:23 | |
10:24
bjz joined,
bjz_ left
10:30
seatek left
10:31
TEttinger left
10:40
Ven left,
wamba joined
10:41
dogbert17_ joined
|
|||
dogbert17_ | o/ | 10:41 | |
any speshialists around? | |||
dogbert17_ the silence is deafening :) | 10:42 | ||
RT #130294 works if spesh is disabled | 10:45 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130294 | ||
10:46
AlexDaniel joined
|
|||
timotimo | could you try disabling spesh a bit more fine-grainedly? | 10:51 | |
as in, first turn off SPESH_INLINE, then SPESH_OSR, then both? | 10:52 | ||
and maybe see if disabling only the JIT will also cause it to still explode | |||
AlexDaniel | m: say :10<15_x> | 11:04 | |
camelia | rakudo-moar 0428b7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid base-10 character '_': 03157⏏5_x. Please use one of 0..9at <tmp>:1------> 3say :10<15_x>7⏏5<EOL>» | ||
AlexDaniel | LTA :/ | ||
11:07
rurban left
|
|||
timotimo | indeed | 11:07 | |
11:08
cognominal left
|
|||
jnthn | How so? It says which char it didn't like and shows the exact location and tells you what to use? | 11:08 | |
pmurias | jnthn: it says it doesn't like '_' while it really doesn't lik 'x' | ||
jnthn | No, it doesn't like _ either | ||
m: say :10<15_000> | |||
camelia | rakudo-moar 0428b7: OUTPUT«15000» | ||
jnthn | Oh...I didn't know you could do that | ||
OK, fair enough :) | |||
11:09
cognominal joined,
rurban joined
|
|||
babydrop | m: use nqp; say nqp::radix_I(16, '15_x', 0, 0)[2] | 11:09 | |
camelia | rakudo-moar 0428b7: OUTPUT«===SORRY!===Arg count 4 doesn't equal required operand count 6 for op 'radix_I'» | ||
babydrop | m: use nqp; say nqp::radix(16, '15_x', 0, 0)[2] | ||
camelia | rakudo-moar 0428b7: OUTPUT«2» | ||
babydrop | m: use nqp; say nqp::radix(16, '15_x', 0, 0)[0] | ||
camelia | rakudo-moar 0428b7: OUTPUT«21» | ||
AlexDaniel | babydrop: hey, wanna see a trick? | 11:10 | |
babydrop | m: use nqp; say nqp::radix(10, '15_x', 0, 0)[0] | ||
camelia | rakudo-moar 0428b7: OUTPUT«15» | ||
AlexDaniel | m: say :10<2*3**4> | ||
camelia | rakudo-moar 0428b7: OUTPUT«162» | ||
babydrop | Nope | ||
AlexDaniel | well, there you go anyway :P | ||
babydrop | m: use nqp; say nqp::radix(10, '15_000', 0, 0)[0] | ||
camelia | rakudo-moar 0428b7: OUTPUT«15000» | ||
babydrop | m: use nqp; say nqp::radix(16, '15x', 0, 0)[2] | 11:11 | |
camelia | rakudo-moar 0428b7: OUTPUT«2» | ||
babydrop | Well, the error's not in my code at least :} | ||
Makes sense since 15_ is not valid, so it stops there. | |||
AlexDaniel: it's kinda strange that with all the weird stuff that form supports that it doesn't support basic negatives | 11:12 | ||
pmurias | jnthn: is 'use nqp' or 'use MONKEY-GUTS' the recommended form? | 11:13 | |
babydrop lickbates "Day 8 — How to Make, Use, and Abuse Perl 6 Subsets": perl6advent.wordpress.com/2016/12/...6-subsets/ | 11:14 | ||
timotimo already licked that earlier today | 11:15 | ||
AlexDaniel | m: say :10<0o1_2.3_4*0b1_0**0x4> | ||
camelia | rakudo-moar 0428b7: OUTPUT«167» | ||
11:16
zakharyas left
11:17
mr-foobar left
|
|||
AlexDaniel | babydrop: but I see no bugs so far :) | 11:17 | |
jnthn | pmurias: Well, `use nqp` is certainly more explicit about what you expect | 11:18 | |
And a lot shorter to type :) | |||
11:19
zakharyas joined,
donaldh joined
|
|||
pmurias | jnthn: was wondering if rakudo should suggest the user to use 'use MONKEY-GUTS' instead of 'use nqp' when it sees a nqp:: call | 11:20 | |
11:21
pierre__ left
|
|||
nine likes how the latest 2 Inline::Perl5 bug reports could be resolved by "There's no bug there at all." and "It's a bug in the Perl 5 module you use." | 11:21 | ||
timotimo | hah | 11:22 | |
11:22
donaldh left
|
|||
jnthn | pmurias: I'm happy enough with `use nqp`. I mean, conceivably some future implementation could expose a completely different set of guts. | 11:24 | |
11:24
effbiai left
11:27
sydney_falk left,
rurban left
11:28
NeuralAnomaly joined
|
|||
AlexDaniel | babydrop: so um… where did your comments go? | 11:30 | |
babydrop | AlexDaniel: I've used my connections to remove them. | 11:32 | |
"* babydrop blocks out all of LP6 drama and focuses on code from now on" | |||
pmurias | m: "-10.3x1".parse-base(10) | ||
camelia | rakudo-moar 0428b7: OUTPUT«Invalid base-10 character '1': 0310.3x7⏏051. Please use one of 0..9 in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
AlexDaniel | yea but the first one was kinda nice | ||
:) | |||
pmurias | AlexDaniel: ^^ a related error somewhere else in the code | 11:33 | |
timotimo | huh, what is LP6? | ||
AlexDaniel | pmurias: haha | ||
babydrop | Keep laughing! Just wait until you need tech support :P | 11:34 | |
AlexDaniel | m: ‘-10.3z’.parse-base(10) | ||
camelia | rakudo-moar 0428b7: OUTPUT«Invalid base-10 character '': 0310.3z7⏏. Please use one of 0..9 in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
babydrop | I suspect that's failing to account for the minus | ||
AlexDaniel | yup | ||
babydrop | timotimo: a book | 11:35 | |
pmurias | babydrop: yes, found that looking from the code and seeing bugs in math where the exception is thrown | ||
babydrop | :) | ||
timotimo | oooh that thing | 11:36 | |
11:36
donaldh joined
11:41
mawkish left
|
|||
AlexDaniel | yea… yea… ok RT does not like unicode | 11:42 | |
babydrop | Wow, far out. titsuki++ is running a Japanese Perl 6 Advent: qiita.com/advent-calendar/2016/perl6 | 11:43 | |
AlexDaniel clicks 「Download (untitled)」 … ok that's a bit better | |||
timotimo | sweet | 11:44 | |
11:45
lucasb joined
11:46
zakharyas left,
pyrimidine left,
pyrimidine joined,
noganex_ joined
11:48
zakharyas joined,
noganex left
|
|||
pmurias | if brian d foy doesn't get the tpf grant does he write the book (or was the grant intended just add the money to the kickstarter campaign if it wasn't full)? | 11:50 | |
11:53
cognominal left
11:54
cognominal joined
|
|||
samcv | something i just discovered is that Linenoise doesn't support unicode either | 11:55 | |
moritz has no idea | |||
samcv | though readline does | ||
if you try and backspace a unicode char with too many bytes it just totally garbles the whole line, and pressing enter will get malformed utf errors | 11:56 | ||
rlwrap or readline work fine tho | |||
timotimo | yeah, we can make linenoise do pretty "funny" things with backspace ;( | 11:57 | |
samcv | i'm not sure, i don't have a linenoise package on my system installed other than the p6 module. does it include linenoise with it? i thought it didn't | ||
and was just bindings but | 11:58 | ||
11:58
lukaramu joined
|
|||
timotimo | i think the linenoise perl6 package brings source code it compiles along with it | 11:58 | |
samcv | oh it does seem to have the .so file in the module | ||
well there's a utf-8 fork of linenoise | |||
AlexDaniel | … just use readline then? :) | 11:59 | |
samcv | haha | ||
but then no tab completion | |||
and Linenoise is in Star right? | |||
not readline? | |||
timotimo | um, don't we have tab completion in linenoise? | 12:01 | |
samcv | that's what i meant | 12:03 | |
AlexDaniel, said to use readline then :P | |||
timotimo | don't we also have tab completion in readline? | ||
samcv | gonna try out the utf-8 fork | ||
no | |||
timotimo | damn it :< | 12:04 | |
AlexDaniel | hmmm… tab completion of what? | ||
pmurias | why doesn't linenoise accept utf-8 by default? | 12:05 | |
AlexDaniel | actually, readline functionality is gone now… | ||
ahhh no | 12:06 | ||
samcv | gonna try the utf-8 fork. it's supposed to be able to do unicode 9 even | ||
AlexDaniel | I just had to wait a minute | ||
samcv | pmurias, it's a long standing bug | ||
bug was opened in 2012 | |||
pmurias thought Linenoise was a pure Perl 6 thing but it's a binding :/ | 12:07 | ||
12:07
CIAvash joined
|
|||
timotimo | linenoise was created because "readline is too fat, we can't possibly need as much code for basic readline functionality" | 12:08 | |
and then reality hit :( | |||
12:08
FROGGS joined
|
|||
lucasb | dogbert17, dogbert17_: hi, are you around? | 12:12 | |
pmurias | timotimo: the linenoise README doesn't make it look like a quality piece of code :/ | 12:14 | |
timotimo | oh? | 12:15 | |
dogbert17_ | lucasb: I'm around intermittently, pretending to do some $work | 12:16 | |
lucasb | dogbert17_: did you has a 32 bit machine? I tried to reproduce your snippet | ||
I get a segfault too | |||
dogbert17_ | I do indeed | ||
will try the disable thingies that timotimo suggested unless someone, e.g. AlexDaniel, has already done that | 12:17 | ||
timotimo | thanks | ||
i was about to ask that :) | |||
lucasb | dogbert17_: can you try to reproduce if these still segfaults for you? gist.github.com/anonymous/b32db0a4...377ed0eafd | 12:18 | |
12:18
mr-foobar joined
|
|||
lucasb | I can make them segfault in my 32 bit machine, but not in camelia :| | 12:19 | |
timotimo | well, camelia runs on a 64bit system | ||
lucasb | timotimo: right, as I expected :) | ||
dogbert17_: both snippets fail here. the subroutines are kind of nonsensical... I was just trying to golf your example a little bit more | 12:20 | ||
disable thingies that timotimo? I disabled spesh, but it made no difference, still segfaults | 12:21 | ||
timotimo | MVM_SPESH_INLINE_DISABLE MVM_SPESH_OSR_DISABLE MVM_JIT_DISABLE | 12:22 | |
trying those out | |||
lucasb | will do, thanks | ||
timotimo: just doing '$ MVM_SPESH_INLINE_DISABLE=1 MVM_SPESH_OSR_DISABLE=1 MVM_JIT_DISABLE=1 perl6 file.pl' is enough? | 12:23 | ||
12:23
tokomer joined
|
|||
pmurias | .oO(maybe if linenoise wast 1100 lines of Perl 6 instead of C it might actually work properly?) |
12:23 | |
timotimo | please try different combinations | ||
all of those are independent of each other | |||
lucasb | ah, ok :D lol | ||
env vars with huge names :) | 12:24 | ||
samcv | ok well their example works fine with utf-8 in this branch | 12:25 | |
timotimo | well, we've got an idea what to do about the problem, then? | ||
12:25
rurban joined
|
|||
samcv | but i think it's not getting compiled in. need to change the gcc flags idk | 12:25 | |
dogbert17_ | lucasb: your first example segfaults | ||
lucasb: thx for helping out | 12:26 | ||
lucasb | since I'm on a 32 bit and there's no JIT for this platform, I guess MVM_JIT_DISABLE=1 doesn't make a difference (?) | ||
dogbert17_: thank you for reporting the issue | |||
timotimo | ah, you're right about that | 12:27 | |
dogbert17_ | lucasb: the program I used is my attempt to golf my solution to Project Euler Problem 28, I use it to keep track of lizmat's awesome array optimization work | 12:28 | |
lucasb | dogbert17_: I think I solved #28 in other language :) let me see... | 12:29 | |
dogbert17_ | lucasb: a shaped array turned out to be useful to my solution, took almost 7 minutes a few months ago but after lizmat started to rewrite things the same code is down to 1:35 mins | 12:30 | |
lucasb | ah, here, euler #28: 1 + 3.step(1001, 2).flat_map {|i| (i*i).step(by: -(i-1)).take(4) }.reduce(:+) | 12:31 | |
what a lovely language :) | |||
moritz | m: say 1 + 3.step(1001, 2).flat_map {|i| (i*i).step(by: -(i-1)).take(4) }.reduce(:+) | 12:32 | |
camelia | rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected block in infix position (missing statement control word before the expression?)at <tmp>:1------> 3say 1 + 3.step(1001, 2).flat_map7⏏5 {|i| (i*i).step(by: -(i-1)).take(4) }. expe…» | ||
lucasb | you need a rubybot for that | 12:33 | |
moritz | m: say 1 + 3.step(1001, 2).flat_map: -> \i { (i*i).step(by: -(i-1)).take(4) }.reduce(&[+]) | ||
camelia | rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 0301, 2).flat_map: -> \i { (i*i).step(by:7⏏5 -(i-1)).take(4) }.reduce(&[+]) expecting any of: …» | ||
12:35
lizmat left
12:36
tokomer left
12:37
andrzejku joined
|
|||
dogbert17_ | my solution was considerably more stupid, tried to fill the matrix according to spec and then calc the sum | 12:38 | |
ufobat | what does private mean for a attribute of a class? it doesnt have private setters/getters, right? so does it mean i can only acces private members of self or also of $others? | ||
m: class F{has $!f; method set(F:D $f) {$!f = $f}; method x() { if $!f and not $!f!f {say "just one child"}}}; my $f = F.new(); my $g = F.new(); $f.set($g); | 12:39 | ||
camelia | rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>No such private method 'f' for invocant of type 'F'at <tmp>:1------> 3 = $f}; method x() { if $!f and not $!f!7⏏5f {say "just one child"}}}; my $f = F.ne» | ||
12:39
bjz left
12:40
CIAvash left
|
|||
lucasb | $!f!f ? | 12:41 | |
ah, got it. sorry | |||
well, 'has $!foo' doesn't generate accessor methods, so you can only access them directly by saying $!foo | 12:44 | ||
samcv | ok so it looks like this utf-8 linenoise will work, but there is a linenoiseSetEncodingFunctions() function that has to be called to enable the utf-8 functionality | ||
lucasb | so, I don't expect it to be possible to access private vars in other same-class objects, no | ||
12:45
donaldh left,
canopus left
|
|||
ufobat | lucasb, i should just write a private accessor for it, right? | 12:48 | |
12:53
grondilu joined,
canopus joined
|
|||
lucasb | I thought it was possible to initialize private attrs in the constructor, but I think I may be mistaken | 12:55 | |
m: class C { has $!foo; method m() { $!foo } }; say C.new(foo=>10).m | |||
camelia | rakudo-moar a98724: OUTPUT«(Any)» | ||
dogbert17_ | are these spesh setting environment vars? | ||
lucasb | dogbert17_: yes. 'moar -h' shows a list of them | 12:56 | |
ufobat: I think yes, if you do 'method !foo() { $!foo }', you'll be able to call $other!foo for other same-class object | 12:58 | ||
ufobat | it works, yes! thanks! :) | 13:00 | |
13:00
rurban left
13:05
sena_kun joined
|
|||
babydrop | lucasb: it's not done automatically, but you can do that with BUILD or TWEAK submethods | 13:07 | |
m: class C { has $!foo; submethod TWEAK(:$!foo) {}; method m() { $!foo } }; say C.new(foo=>10).m | |||
camelia | rakudo-moar a98724: OUTPUT«10» | ||
[Coke] | AlexDaniel: is the mojibake in 130298 intentional? | 13:11 | |
babydrop | "AlexDaniel │ yea… yea… ok RT does not like unicode" | 13:12 | |
I'll "Take" the ticket, since I know what it's about. | 13:13 | ||
(the mojibake are quotes and the eject char showing error location) | 13:14 | ||
oh, reading the description, I guess there's also poo somewhere :/ | 13:15 | ||
babydrop giggles | 13:17 | ||
"Hi, I’m Adrian from StrictThemes, WordPress themes makers. I have your email from your github public profile and I saw you are WordPress developer." | |||
AlexDaniel | [Coke]: you can click 「Download (untitled)」 and see what this ticket is about… | 13:18 | |
babydrop | m: multi foo (Int) is default {say "here"}; multi foo (Int) {say "there"}; foo 42 | 13:19 | |
camelia | rakudo-moar a98724: OUTPUT«here» | ||
babydrop | m: multi foo (Int) {say "here"}; multi foo (Int) is default {say "there"}; foo 42 | ||
camelia | rakudo-moar a98724: OUTPUT«there» | ||
babydrop | Neat. | ||
TIL | 13:20 | ||
lucasb | babydrop: thanks. I was waiting someone introduce TWEAK to me | ||
moritz | I tend to use that to dismabiguate dispatch for allomorphs (the "is default") | ||
AlexDaniel | hmmm | 13:21 | |
so what does it do exactly? | |||
moritz | it disambiguates ambiguous dispatches | ||
pmurias | babydrop: that's what fooling around with WordPress leads to ;) | 13:24 | |
jnthn | If a multi-dispatch is about to report an ambiguous dispatch error, it checks if any of them have the is default trait. If that gets it down to 1 candidate, it chooses that one. | ||
It's a last-gasp resolution mechanism | |||
babydrop | Suddenly everyone knows of that feature? :/ | 13:26 | |
AlexDaniel | yea | ||
babydrop wishes someone would speak up when AlexDaniel and I were slinging hacks around to work around | 13:27 | ||
AlexDaniel | babydrop: perhaps I should start compiling a list of features nobody knows about | 13:29 | |
[Coke] | what do we call java's "inner classes" in Perl 6? (ala Promise's Vow class) | ||
13:30
kyclark joined
|
|||
dalek | c: 4d72090 | (Zoffix Znet)++ | doc/Language/glossary.pod6: Mention `is default` for MMD resolution Glossary isn't the best place, but it's the only one that shows up for `multi-dispatch` search |
13:30 | |
synopsebot6 | Link: doc.perl6.org/language/glossary | ||
babydrop | AlexDaniel: that'd be handy ;) | ||
kyclark | Is Zoffix around? | ||
yoleaux | 2 Dec 2016 11:14Z <gfldex> kyclark: please don't teach your students to use ‚:‘ in file names. That will end in tears. | ||
AlexDaniel | <zoffixable> *bleep blop* Current nickname is “babydrop” | 13:31 | |
arnsholt | Oh, heh. : is a valid path separator on HFS+ | ||
kyclark | yoleaux, that was the output of a program. Probably would have been better to run a shell script to rename them. | ||
babydrop, I get a 404 on modules.perl6.org/dist/Subset::Common linked from the Advent article | |||
babydrop | kyclark: sup? | ||
lucasb | m: multi f is default {10}; multi f is default {20}; multi f is default {30}; say f | 13:32 | |
camelia | rakudo-moar a98724: OUTPUT«30» | ||
babydrop | kyclark: oh, it's missing the 's': github.com/bradclawsie/Subsets-Common | ||
jnthn | [Coke]: Sometimes "nested classes", but if a "my" is stuck on the thing then "lexical class" is sometimes also used | ||
babydrop | I'll fix it in 9 hours, 'cause I forgot to commit my last minute changes and I don't wanna risk wordpress messing up the article if I change it right now :( | ||
jnthn | [Coke]: "inner class" is maybe good to not use in so far as in Java there's a relationship between the enclosing and enclosed iirc | 13:33 | |
[Coke]: Whereas in Perl 6 there's not any OO-level relationship there | |||
lucasb | the number of 'defaults' changes the outcome | 13:34 | |
if it's an even number, 3, 5, 7, no error. if it's a odd number, 2, 4, 6, then error :) | |||
^^ Noticed the multiple 'multi's all with 'is default' ? | 13:35 | ||
13:37
prammer joined
13:38
cognominal left
|
|||
babydrop | lucasb: that's hilarious :) Please report that bug | 13:43 | |
lucasb | babydrop: gist.github.com/anonymous/a0fb2f2c...8a0a7f47ca | 13:45 | |
AlexDaniel | wtf what? XDDD | ||
lucasb | oops, made a mistake with 'sub i' return 0+1i | 13:46 | |
13:46
cognominal joined
|
|||
AlexDaniel | oh, ok | 13:47 | |
lucasb | updated: gist.github.com/anonymous/0a4db00d...a8ca2fccd2 | ||
13:48
donaldh joined
|
|||
AlexDaniel | soo | 13:48 | |
m: gist.githubusercontent.com/anonymo...3/file.pl6 | |||
camelia | rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3https:7⏏5//gist.githubusercontent.com/anonymous/0 expecting any of: colon pair» | ||
lucasb | the Nil values returned are because of the 'Ambiguous call to 'f'; these signatures all match' exceptions | ||
AlexDaniel | eval: gist.githubusercontent.com/anonymo...3/file.pl6 | ||
evalable6 | AlexDaniel, Successfully fetched the code from the provided URL. | ||
AlexDaniel, rakudo-moar a987242: OUTPUT«f = Nilg = 30h = Nili = 50j = Nilk = 70» | |||
AlexDaniel | commit: all gist.githubusercontent.com/anonymo...3/file.pl6 | ||
committable6 | AlexDaniel, Successfully fetched the code from the provided URL. | ||
AlexDaniel, gist.github.com/94faf952835288612d...ccb7a079a9 | |||
dogbert17_ | m: gist.github.com/dogbert17/41042137...c1c05055bb # lucasb | 13:51 | |
camelia | rakudo-moar a98724: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3https:7⏏5//gist.github.com/dogbert17/41042137f443 expecting any of: colon pair» | ||
dogbert17_ | m: gist.github.com/dogbert17/41042137...c1c05055bb | ||
camelia | rakudo-moar a98724: OUTPUT«(signal SEGV)» | ||
dogbert17_ | lucasb timotimo ^^ | 13:52 | |
lucasb | dogbert17_: right, your snippets even segfaults camelia | 13:53 | |
[Coke] | jnthn: I think lexical captures the one limitation there is, ja? | 13:54 | |
so we can use that. :) | |||
dogbert17_ | lucasb: have you tried the spesh settings? | ||
13:55
mr_ron joined,
wamba left
|
|||
jnthn | [Coke]: In the case of vow, sure | 13:55 | |
[Coke]: It's declared with my iirc | |||
lucasb | dogbert17_: only the spesh disable; didn't make a difference | ||
jnthn | m: say Promise::Voew | ||
camelia | rakudo-moar a98724: OUTPUT«Could not find symbol '&Voew' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
jnthn | m: say Promise::Vow | ||
camelia | rakudo-moar a98724: OUTPUT«Could not find symbol '&Vow' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
jnthn | Yeah | ||
So you can't talk about it directly | |||
mr_ron | babydrop: (hopefully reaching right person) In Subset::Helper the message is 'note'd and sort of wondered why use of 'say' instead of 'note' for say ’This ain't no website containing "Perl 6"!‘; # guessing not that important | 13:58 | |
... referring to advent post | |||
babydrop | mr_ron: note sends to STDERR and say sends to STDOUT | 13:59 | |
mr_ron | yes - know difference and Subset::Helper decides to 'note' to STDERR | ||
babydrop | OK | 14:00 | |
14:00
wamba joined
|
|||
mr_ron | seems like same use case I guess | 14:00 | |
babydrop | mr_ron: I've just used `say` in the article because I knew it'll show up twice, will be LTA and I'd suggest a die instead. Last commit to Subset::Helper was half a year ago, when I barely knew Perl 6, so I've used a warning.... because I guess I thought throwing in it was bad? | 14:03 | |
dogbert17_ | lucasb: confusing so maybe it's not a spesh bug at all then | 14:04 | |
Technaton | I always thought that the UTF-8 characters-as-methods were a funny byproduct of Perl6 being full UTF-8-aware, but after reading Day 7 of the perl 6 advent calendar, I am not so sure anymore. How do you type ∈ without copying it from the character table application? :) | 14:05 | |
yoleaux | 7 Dec 2016 01:02Z <babydrop> Technaton: the blog post I mentioned a day ago, is up: perl6advent.wordpress.com/2016/12/...ggy-types/ | ||
Technaton | Wow, yoleaux is a really cool away-bot. :D | ||
14:06
wamba left
|
|||
babydrop | Technaton: there are some answers here: www.reddit.com/r/perl6/comments/5g...s/dawh3oj/ | 14:07 | |
.oO( wonder why do people assume the only way to type the 10FFFF Unicode chars is to copy-paste them from somewhere... ) |
|||
m: say 0x10FFFF | |||
camelia | rakudo-moar a98724: OUTPUT«1114111» | ||
babydrop | that's a lot of copy-pastin' | 14:08 | |
dogbert17_ | timotimo lucasb the crash is in 0xb7d287a8 in MVM_fixed_size_alloc () | ||
14:09
wamba joined
|
|||
Technaton | babydrop: Well, I don't have them on my keyboard, not even with Shift+Meta. To be honest, the only time I really want a set intersection symbol is in TeX, where I type \(A \cap B\)… | 14:09 | |
moritz | Tex2Perl6! | ||
Technaton | I guess I need to read up on xmodmap. | ||
babydrop | Technaton: I've met a few people who use weird unicode stuff liberally in just normal conversations... | 14:10 | |
So I guess if you can be bothered to select what you use, typing that stuff can be trivial | |||
pmurias | "bothered to select what you use"? | 14:13 | |
what does that mean? | |||
moritz | somebody goes to effort to look up some Unicode characters that they want to use | 14:15 | |
then they find an input method that works for those | |||
babydrop | pmurias: if you pre-configure some keys to type chars you like to use | ||
moritz | nobody regularly uses the whole Unicode repertoire | ||
AlexDaniel | Technaton: do you know about compose key? | ||
Technaton: that's what you should configure | |||
Technaton | AlexDaniel: Yes, I know the compose key; I use it regularly for accented characters such as 'é'. | 14:16 | |
I never know I could use it to coax X into emitting unicode symbols, such as ⅔. | |||
14:16
sufrosti1o left
|
|||
AlexDaniel | <Multi_key> <i> <n>: "∈"U2208# ELEMENT OF | 14:16 | |
14:16
sufrostico left,
zakharyas left
|
|||
babydrop | Don't work on my compose... | 14:17 | |
14:17
brillenfux left
|
|||
AlexDaniel | yes, it's not there by default, I think | 14:17 | |
babydrop | Ah | ||
Technaton | Yep, seems like it. | ||
AlexDaniel | but if you use the .XCompose file I linked in my reddit answer | ||
then you'd most of the stuff you'd ever want to type | |||
and the rest you just add yourself :) | 14:18 | ||
(or send a PR for that project) | |||
14:18
sufrostico joined,
sufrosti1o joined
|
|||
Technaton | Nice! That's a pretty decent list. Thanks for sharing it in the first place. :) | 14:19 | |
AlexDaniel | C-x 8 RET and type “element of” in emacs, that works too | ||
does not support unicode 9 yet I think | 14:20 | ||
Technaton | I don't want to start an editor war, but I am more a VIM guy actually. | ||
[Coke] | did someone hURL docs.perl6.org/language/unicode_entry yet? | ||
Technaton | The .xmodmap is the cleanest solution anyways. | ||
moritz | Technaton: Ctrl+k, :help digraphs | ||
:help :digraphs actually | 14:21 | ||
AlexDaniel | [Coke]: no | ||
14:21
dj_goku_ left
|
|||
Technaton | This is incredibly cool. | 14:22 | |
Thanks! :) | |||
babydrop | FWIW, last I tried that XCompose advice in unicode_entry I completely messed up compose entry in my system | ||
The " It might be necessary to install a xim bridge as well, such as uim-xim." part.. | |||
will find time to test it and improve on it | 14:24 | ||
AlexDaniel | .oO( 😕 this should be taught at school ) |
14:25 | |
babydrop | IME most people hate stuff they learned in school. | 14:26 | |
jnthn | B2Kenky | ||
argh | |||
(yes, password, no, not valuable, yes, already changed) :P | |||
babydrop | :) | 14:27 | |
14:29
sufrostico left,
sufrosti1o left
14:30
prammer left
14:31
sufrostico joined,
sufrosti1o joined
|
|||
kyclark | Is this the best way to use a block to create an alternate? gist.github.com/kyclark/8c281911e9...dca8059ac5 | 14:35 | |
So if the user does not specify an “out” file, I want to generate one from the input name/location | |||
moritz | just write to a.out. It worked for the C compilers, it'll work for you :-) | 14:36 | |
no, just kidding. Your approach is fine | |||
kyclark | So “do {}” is the Right Way? | ||
moritz | yes | ||
kyclark | Rock on. | ||
14:37
lizmat joined
|
|||
timotimo | dogbert17_: perfect. for the fixed size alloc we have a few debugging mechanisms that you can turn on | 14:40 | |
dogbert17_ | timotimo: is the --valgrind and the FSA flag? | 14:44 | |
timotimo | yes, either one, or the other | 14:45 | |
if the latter is turned on, the former can't do anything | |||
14:45
sufrosti1o left
14:46
sufrostico left
14:47
sufrostico joined
14:51
nebuchadnezzar left,
prammer joined
14:52
nebuchadnezzar joined
14:54
sufrosti1o joined
15:03
dj_goku joined
15:04
sufrostico left
15:05
sufrostico joined,
sufrosti1o left
15:07
sufrosti1o joined
15:08
dj_goku left
|
|||
dogbert17_ | timotimo: does this help? gist.github.com/dogbert17/03440391...d5ea54efd6 | 15:14 | |
timotimo | huh | 15:17 | |
dogbert17_ | timotimo: I can run perl6-gdb-m and do a 'bt full' if you want | 15:22 | |
timotimo | hm, let's try it | 15:23 | |
dogbert17_ | ok, hold on | ||
timotimo: | 15:26 | ||
gist.github.com/dogbert17/ad41e963...7dd43b86fc | |||
15:28
skids joined,
prammer left
|
|||
babydrop | .tell lizmat disregard RE 125938. someone else helpfully tested that. | 15:29 | |
yoleaux | babydrop: I'll pass your message to lizmat. | ||
15:29
prammer joined
|
|||
timotimo | hum. | 15:29 | |
the first paste, what flags did you use? the FSA debug thing, or --valgrind? | |||
dogbert17_ | --valgrind | 15:30 | |
btw, did jnthn release the superfix he made yesterday? | |||
timotimo | can you do the FSA debug flag instead? | 15:31 | |
15:31
eliasr joined
|
|||
dogbert17_ | ok | 15:31 | |
15:32
wamba left
15:33
pyrimidine left
15:34
pyrimidine joined
|
|||
dogbert17_ | timotimo: same result, perhaps I'm doing something wrong, what happens if you run it? | 15:35 | |
timotimo | let me build latest everything first | 15:36 | |
15:37
wamba joined
|
|||
jdv79 | is it possible to get profiler output when the prog is terminated via ctrl-c | 15:37 | |
dogbert17_ | cool, a possibly interesting piece of info, if you insert e.g. say 'hallo' as the first line in init-array, the code works ... at least for me | ||
timotimo | jdv79: difficult ;( | ||
jdv79 | i have to say it. Devel::NYTProf does it:) | 15:38 | |
i guess its ok. just annoying. | |||
timotimo | right | ||
here's the thing: | |||
currently moar gets a bit confused when there's more than one thread | |||
babydrop | catch the signal and exit? Would that work? | ||
oh | |||
timotimo | when you tap the signal, you let moar start its event-loopy thread | ||
babydrop | right | 15:39 | |
timotimo | and BAM, your profile becomes mostly useless | ||
perlpilot | babydrop: did you remove your comment to bdf's TPF grant proposal? | 15:43 | |
15:45
zilti1 is now known as zilti
|
|||
lucasb | no comments | 15:46 | |
AlexDaniel | perlpilot: yup | 15:47 | |
jdv79 | is the async stuff resource hungry? | 15:49 | |
just noticed the load is spiking a bit and it doesn't seem like it should | |||
timotimo | hm, we had a bug once where threads would busy-loop waiting for things to do | 15:50 | |
that should long since have been fixed | |||
jnthn | A year ago at least | ||
timotimo | you could potentially figure out what's making the load go up by running perf over it | ||
15:50
prammer left,
lucasb left
|
|||
timotimo | i.e. perf record -g perl6 blahblah, then perf report -g | 15:50 | |
babydrop | perlpilot: "* babydrop blocks out all of LP6 drama and focuses on code from now on" | 15:51 | |
perlpilot: and yes the comment was removed upon my request. | |||
AlexDaniel | perlpilot: kinda sad, isn't it? | ||
timotimo | oh cool i get the segfault, too | 15:52 | |
babydrop | No, it's awesome. All the bugs I can fix \o/ | ||
timotimo | dogbert17_: for some reason i thought this only b0rked on 32bit systems so i didn't think to try | 15:53 | |
15:53
prammer joined
|
|||
dogbert17_ | timotimo: it borks on 64 bit as well, I just had to make the array a little larger | 15:53 | |
timotimo | now to find out why we're assuming we can write past the allotted space | 15:54 | |
i haven't had a good look at the memory region stuff since it was added | 15:55 | ||
dogbert17_ | and why does a simple say statement make the problem go away | ||
timotimo | well, this is all about the layout of frames on the stack | 15:58 | |
perlpilot | AlexDaniel: Are you pushing people to apply for TPF grants? (you can do that anyway, whether there's 10k just sitting around or not :-) | 15:59 | |
timotimo | you're adding a call to something, so at least one more frame gets added to the stack | ||
AlexDaniel | perlpilot: I have never thought there is enough money that somebody could possibly consider asking for extra 10k on top of 37k he gets for some work already | 16:00 | |
16:01
Actualeyes left
|
|||
perlpilot | Regardless of what bdf is asking for, the TPF does have funding that people can apply for. | 16:02 | |
Didn't Karen secure a large donation before she stepped down as president? | 16:03 | ||
babydrop | perlpilot: and yet makk was here a few months ago saying there's trouble getting funding for marketing stuff or something? | ||
AlexDaniel | what does it mean? Is it some kind of infinite resource or what? | ||
perlpilot | AlexDaniel: infinite? no. But small, finite and mandated to fund Perl projects, yes. | ||
babydrop | perlpilot: I'm under the impression the TPF doesn't have a ton of funding (for Perl 6). So saying "anyone can apply for it" to me rings with "...to replace the current work being" | ||
being done | 16:04 | ||
being funded | |||
16:04
dj_goku joined
|
|||
dogbert17_ hopes timotimo figures it out | 16:06 | ||
timotimo | well, it's already acting very funny to say the least | ||
babydrop | In fact, if you read the Perl 6 specific fund it actually states its initial objective is to fund jnthn++'s work: www.perlfoundation.org/perl_6_core_...pment_fund | ||
And in eligibility it states "To be eligible the applicant must be a contributor to Perl 6." | 16:07 | ||
jnthn | I don't think the application was filed against that fund, though? | ||
iiuc it was filed as a general grant | |||
16:09
dj_goku left
|
|||
jnthn | Looks that way from reading it, anyways | 16:09 | |
babydrop | Well, I've no idea Perl 6 work could be funded by some "general grant". | 16:10 | |
timotimo | using a region at 0xcac8830; going from 0xcae8830 (0xcac8c30) to 0xcae8830 | 16:11 | |
using a region at 0xcac8830; going from 0x61cb518 (0xcac8c30) to 0xcae8830 | |||
here's where it asplodes | |||
jnthn | I'm sure somebody can correct me on the details if they know better, but so far as I understand it TPF both has a general grants process for any Perl related thing, which is operated on a quarterly process or something | 16:12 | |
timotimo | jnthn: what you see here is the address of the allocated blob (i.e. where the CallStackRegion lives), the current alloc pointer, the poister to the very first alloc in parenthesis and the alloc_limit at the end | ||
jnthn | Together with targetted grants programs that have their own rules | ||
timotimo | jnthn: got a clue how the alloc pointer might be able to jump backwards to a previous region? | ||
babydrop | jnthn: noted | ||
jnthn | Such as the Perl 6 dev fund that funds my work, and the Perl 5 Core Maint Fund | ||
timotimo | there's only one thread ... | ||
jnthn | timotimo: Well, it jumps backwards when you exit that region, no? | 16:13 | |
timotimo: That is, when you pop the last callframe in the second region off the call stack, you should find yourself back in the first again | 16:14 | ||
timotimo | ah | ||
maybe in that case we sometimes don't change the alloc limit properly | |||
ah, yes | |||
callstack_region_prev never changes the alloc_limit | 16:15 | ||
uh | |||
derp. it shouldn't | |||
using a region at 0xcac8830; going from 0xcae8830 (0xcac8c30) to 0xcae8830 | 16:18 | ||
panic! we destroyed a frame on(?) the callstack and fell out of it! | 16:19 | ||
using a region at 0xcac8830; going from 0x61cb518 (0xcac8c30) to 0xcae8830 | |||
for some reason we're calling frame_destroy on a non-promoted stack frame that's not on our currently active region | |||
jnthn | Is it really non-promoted, or is it considered so because it was promoted and the memory got zeroed? | 16:22 | |
timotimo | i can have a look | ||
jnthn | (That is, is its address in the region) | ||
That MVM_gc_debug_find_region could help you know if it's in a fromspace somewhere | |||
timotimo | its address is in an earlier region | 16:23 | |
16:23
cdg joined
16:24
cdg_ joined
16:25
cdg left
|
|||
timotimo reads up on the x command in gdb | 16:25 | ||
oh, i can just cast it to the right type | 16:26 | ||
tbrowder | ref advent calendar: i've seen the bad reports here about wordpress, and i have babydrop's gistmd2html code and i'm ready to create my draft. some questions first: 1. Can we see the actual format of a good looking entry somewhere? (I see slightly varying formats for the entries so far.) 2. Does the author add "Day N -- {$title}" or just "{$title}"? | ||
3. Will I see a good (as published) preview before publishing? | |||
timotimo | it's not completely nulled | ||
perlpilot | tbrowder: 3. yes. 2. normally the author adds, but I don't know with the script. | 16:27 | |
tbrowder: and for completeness 1. dunno :-) | |||
timotimo | FWIW, the frame it points to via its ->caller is also at a wildly different address from the currently active stack region | 16:28 | |
and its flags are also 0 | |||
babydrop | tbrowder: (1) here's the markup generated by the script that I simply pasted into Wordpress's HTML box: gist.github.com/zoffixznet/64de2db...366604121e which is for this entry: perl6advent.wordpress.com/2016/12/...ggy-types/ | 16:30 | |
pmurias | babydrop: re problem founding marketing AFAIR the big problem with that is getting a grant for every small expense is a lot of trouble | ||
babydrop | tbrowder: (2) Yes, add the Day N — (3) yes, there's two ways of viewing the previes. First is the "previe in the editor" and once you schedule your post, you can go to scheduled posts and there'll be anotehr preview button that will lead to a proper-looking page with your article preview | 16:31 | |
(the first preview thing is fine, it's just slightly narrower than the final article, I think) | |||
16:31
Ven joined
16:34
khw joined,
Ven left
16:35
lizmat left
|
|||
timotimo | dogbert17_: i have to head out for a bit, but at least i have sort of a clue now about what happens | 16:37 | |
babydrop | b2gills: you around? | 16:38 | |
16:39
zakharyas joined
|
|||
b2gills | yes | 16:39 | |
16:39
grondilu left
|
|||
babydrop | m: say i³ ≅ i*i*i | 16:40 | |
camelia | rakudo-moar 7511b4: OUTPUT«True» | ||
babydrop | b2gills: in your ticket, are you saying the nearly-zero number we get is inaccurate and there's some way to get exact zero? I tried with Perl 5's Math::Complex and it gives the same result, due to log/exp involved the floating point noise occurs. | ||
b2gills | m: say [*] i xx 3; say i ** 3 | 16:41 | |
camelia | rakudo-moar 7511b4: OUTPUT«-0-1i-1.83697019872103e-16-1i» | ||
babydrop | I see there's DemMoivre's theorem for integer powers, but it involves cos/sin, which I think would have the same problem | ||
s: &prefix:<[*]>, \(i xx 3) | 16:42 | ||
SourceBaby | babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...ps.pm#L176 | ||
tbrowder | babydrop and perlpilot: thanks for the help | ||
b2gills | If the conclusion is *won't fix* I will accept it | ||
babydrop | OK. I'll search around some more if there's any trick for it. | ||
b2gills | I'm just saying that any number raised to a Positive Integer power is the same as multiplying that many copies together. | 16:45 | |
16:45
mohae joined
|
|||
babydrop | m: dd i.polar | 16:47 | |
camelia | rakudo-moar 7511b4: OUTPUT«(1e0, 1.5707963267949e0)» | ||
babydrop | neat | ||
16:48
mohae_ left
|
|||
geekosaur | the usual answer is to provide multiple ways to do it. for example Haskell has 3 different power operators, each with different constraints, to handle the various cases that come up | 16:48 | |
^ ^^ ** | |||
babydrop | yikes | 16:49 | |
geekosaur | and even that isn't sufficient for all use cases, as different algorithms for the floating point cases work better in different circumstances | ||
(aaaand we're back in the sewer that is numerical methods again. complete with alligators.) | 16:51 | ||
babydrop | hm, ruby gives 0-1i and python gives -0-1i | 16:55 | |
b2gills | m: multi infix:<**> ( Complex $c, Int $i --> Complex ){ if 0 <$i < 10²⁰ { my Complex $a; $a *= $c for ^$i; $a } else { $c ** $i.Num } }; say i ** 3 # We could add a :( Complex, Int ) case to &[**] | ||
camelia | rakudo-moar 7511b4: OUTPUT«-0-1i» | ||
16:57
pyrimidine left,
pyrimidine joined
|
|||
AlexDaniel | babydrop: do they? Or do they just show very small numbers as 0? | 16:57 | |
babydrop | AlexDaniel: good point | 17:00 | |
[Coke] | jnthn: is correct. there are specific funds that can only fund certain things. (Hague grant. Core perl 5. Core Perl 6). grants for these go through a process that in the past, went through Karen. There is also the grants committee, which handles non-specific grants; there is no requirement that they be perl 5 or perl 6. Just that they benefit the perl community. | 17:01 | |
babydrop | b2gills: I tested that method and that makes the code 92 times slower (for base 30) | ||
17:01
pyrimidine left
|
|||
babydrop | b2gills: so, I'm not really seeing the gain here. | 17:01 | |
17:01
pyrimidi_ joined
|
|||
b2gills | m: say (i ** 3).reals».fmt('%.30f'); say (1 ** 3).reals».fmt('%f') | 17:02 | |
camelia | rakudo-moar 7511b4: OUTPUT«(-0.000000000000000183697019872103 -1.000000000000000000000000000000)No such method 'reals' for invocant of type 'Int' in block <unit> at <tmp> line 1» | ||
[Coke] | the grants committee does not have a specific fund. They rank grants received in order they would prefer them funded each time period as they are reviewed. The treasurer/board then lets us know which ones can be funded. approved-but-not-funded go into a pile for next time, when they might be funded. | ||
b2gills | m: say (i ** 3).reals».fmt('%f') | ||
camelia | rakudo-moar 7511b4: OUTPUT«(-0.000000 -1.000000)» | ||
[Coke] | I am on the GC, happy to answer questions so people don't have to speculate. | ||
babydrop | b2gills: but that uses different methods. There's no logs/exp involved in in pow of an int | ||
rindolf just gave me an algo to try... | 17:03 | ||
babydrop tries | |||
17:05
kyclark left,
dj_goku joined
|
|||
b2gills | Again if the decision is *won't fix* I'll accept it. It was just ever so slightly annoying that I had to add a few more bytes to my entry. (I don't even know if that was necessary as I didn't ask the OP) | 17:05 | |
[Coke] | also, I say this occasionally: I don't see a lot of perl 6 grant requests come through the general process. By all means, submit Perl 6 proposals. They're held to the same standards as the Perl 5 proposals. | 17:06 | |
babydrop | [Coke]: thanks for the clarification | 17:07 | |
17:07
domidumont left
|
|||
b2gills | I think fewer people who only know the sixth version of Perl follow the Perl Foundation | 17:08 | |
s/know/know only/ | |||
babydrop | m: say 8.5440512 / 0.1401583 | 17:09 | |
camelia | rakudo-moar 7511b4: OUTPUT«60.96000879» | ||
babydrop | :( | ||
no good | |||
mst | b2gills: can we please stick to calling it perl6 and not pretending it's a version of the same thing as perl5 | 17:10 | |
b2gills | babydrop: to that I say: meh, the current result is good enough | ||
mst | I really don't want to go back to the stupid-ass arguments of the before times | ||
babydrop | b2gills: OK. Closing the ticket as won't fix. | ||
17:10
dj_goku left
|
|||
babydrop | ^ that 60x was loss to that algo I've just tried. so... at least I tried :) | 17:11 | |
17:11
rurban1 joined
|
|||
b2gills | mst: I wrote it that way to drastically reduce the word count while keeping it understandable, I normally type 「Perl[Compose][space][space]6」 and 「Perl[Compose][space][space]5」 | 17:13 | |
mst | b2gills: 'perl6' or 'Perl 6' don't bother me, 'sixth version of perl' is both longer and contributes to the silly people being silly about things | 17:14 | |
and I've found that being pedantic about it at this level saves me from having to go put actual fires out later | |||
dogbert17 | timotimo: hopefully you can figure it out | 17:15 | |
b2gills | mst: Which is why I always point out the differences on posts/comments whenever I see them ( i.e. I'm a fellow pedantic firefighter most of the time ) | 17:16 | |
mst | b2gills: :D | ||
17:19
girafe joined
17:22
donaldh left
17:24
girafe left
17:27
noganex_ left
17:30
kyclark joined
17:35
dj_goku joined
17:36
noganex joined
17:38
dakkar left
17:39
cognominal left
|
|||
tbrowder | i'm getting paranoid here and would appreciate one or two sets of eyes on my advent blog for 12 dec. anyone willing to help please msg me privately and i'll give my e-mail or phone number | 17:40 | |
17:41
dj_goku left
|
|||
[Coke] | I'm happy to proof a copy. | 17:42 | |
17:43
cognominal joined
17:44
domidumont joined
|
|||
moritz | tbrowder: do you have access to perl6advent.wordpress.com/wp-admin/ already? | 17:46 | |
17:46
zakharyas left
|
|||
tbrowder | moritz: i can get there, yes | 17:47 | |
17:48
jonas1 left
|
|||
tbrowder | i guess [Coke] can too, so that seems the best way to get other eyes on it | 17:49 | |
17:50
gregf_ left,
HoboWithAShotgun joined
17:51
pyrimidi_ is now known as pyrimidine
|
|||
HoboWithAShotgun | rakudo: print (1/3).WHAT; | 17:51 | |
camelia | rakudo-moar 7511b4: OUTPUT«Use of uninitialized value of type Rat in string context.Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1» | ||
babydrop | heh | ||
nice nick | |||
m: say (1/3).nude | |||
camelia | rakudo-moar 7511b4: OUTPUT«(1 3)» | ||
babydrop | m: say (1/3).^name | ||
camelia | rakudo-moar 7511b4: OUTPUT«Rat» | ||
babydrop | .WHAT gives you a type object which is not defined | 17:52 | |
HoboWithAShotgun | (1/3) looks definitly defined to me | ||
babydrop | HoboWithAShotgun: sure, but you're calling .WHAT on it | ||
HoboWithAShotgun: and it tells Rat, which is a type object, and type objects are not defined | |||
m: say Rat.defined | 17:53 | ||
camelia | rakudo-moar 7511b4: OUTPUT«False» | ||
babydrop | m: dd ⅓.WHAT | ||
camelia | rakudo-moar 7511b4: OUTPUT«Rat» | ||
babydrop | m: say ⅓.WHAT.new: 2, 3 | 17:55 | |
camelia | rakudo-moar 7511b4: OUTPUT«0.666667» | ||
AlexDaniel | you could have used 「say」 instead | ||
m: say (1/3).WHAT | |||
camelia | rakudo-moar 7511b4: OUTPUT«(Rat)» | ||
babydrop | m: print (1/3).WHO | ||
camelia | rakudo-moar 7511b4: OUTPUT«Rat» | ||
HoboWithAShotgun | I thought say and print differ only by the newline | 17:56 | |
AlexDaniel | well, or that | ||
HoboWithAShotgun: no, one calls .gist, other .Str | |||
timotimo | huh, what. | ||
babydrop | HoboWithAShotgun: no, that's in Perl 5. In Perl 6 print and put differ by newline and say is a "for humans" type of output that uses .gist output (except for Str, which are output as is) | ||
timotimo | someone's claiming ruby 2.3 rounds 2.5 up to 3 and ruby 2.4 rounds 2.5 down to 2 | ||
babydrop | m: say 2.5.round | 17:57 | |
camelia | rakudo-moar 7511b4: OUTPUT«3» | ||
17:58
kyclark left
|
|||
HoboWithAShotgun | "one calls .gist, other .Str" is apparently false, rakudo: my $x = 1/3; say $x.Str; say $x.gist; | 17:59 | |
rakudo: my $x = 1/3; say $x.Str; say $x.gist; | |||
camelia | rakudo-moar 7511b4: OUTPUT«0.3333330.333333» | ||
HoboWithAShotgun | see? | ||
babydrop | HoboWithAShotgun: for some objects .Str and .gist outputs are the same :) | ||
AlexDaniel | m: my $x = 1/3; say $x; put $x | ||
camelia | rakudo-moar 7511b4: OUTPUT«0.3333330.333333» | ||
babydrop | m: my $x = 1/3 but role { method Str { "tis a Str!" }; method gist { "tis a gist!" } }; say $x.Str; say $x.gist; | ||
camelia | rakudo-moar 7511b4: OUTPUT«tis a Str!tis a gist!» | ||
babydrop | HoboWithAShotgun: ^ see | 18:00 | |
18:00
b7j0c joined
|
|||
babydrop | HoboWithAShotgun: so... um.. is the shotgun loaded? :) | 18:01 | |
HoboWithAShotgun | i find it both amazing and disturbing how you just created an adhoc role in "one line" | ||
babydrop | ehehehe :) | ||
AlexDaniel | m: my $x = 1/3 but role { method Str { "tis a Str!" }; method gist { "tis a gist!" } }; say $x; put $x; print $x | ||
camelia | rakudo-moar 7511b4: OUTPUT«tis a gist!tis a Str!tis a Str!» | ||
babydrop | m: print 42 but "Look ma'! No roles!" | ||
camelia | rakudo-moar 7511b4: OUTPUT«Look ma'! No roles!» | ||
babydrop | ^_^ | ||
[Coke] | tbrowder: fyi, day 12 is currently an empty draft here. | ||
HoboWithAShotgun | i need a book for this. is there a camel-book equivalent by now? | 18:02 | |
babydrop | HoboWithAShotgun: there are 3 or four books in progress. I know one of them is meant to be done by August | ||
[Coke] | not yet. kickstarter just funding for a "Learning Perl 6" book, which I think we can expect next year if it hits. | ||
moritz | HoboWithAShotgun: if you're interested in news about Perl 6 books, please sign up for the mailing list at perl6book.com/ | 18:03 | |
babydrop | HoboWithAShotgun: there's a post on that: perl6advent.wordpress.com/2016/12/...e-is-ripe/ | ||
[Coke] | I think someone might be working on the camel, but no word on progress. | ||
18:03
dj_goku joined,
dj_goku left,
dj_goku joined
|
|||
tbrowder | [Coke] (and moritz): yes, i will put in content in a bit--running it through babydrop's filter now. I'll let you know when it's there. In the meantime, consider the tile which i'm mulling over several variants: "[How to Avoid|| Avoiding || Avoid ] Namespace Pollution [with || in] Perl 6 Modules" | 18:08 | |
s/tile/title/ | |||
babydrop | m: "{('How to Avoid', 'Avoiding', 'Avoid').pick} Namespace Pollution {('with', 'in').pick} Perl 6 Modules".say | 18:10 | |
camelia | rakudo-moar 7511b4: OUTPUT«How to Avoid Namespace Pollution in Perl 6 Modules» | ||
babydrop | m: "{('How to Avoid', 'Avoiding', 'Avoid').pick} Namespace Pollution {('with', 'in').pick} Perl 6 Modules".say | 18:11 | |
camelia | rakudo-moar 7511b4: OUTPUT«Avoiding Namespace Pollution with Perl 6 Modules» | ||
18:11
dj_goku left
|
|||
babydrop votes for that second one | 18:11 | ||
18:12
aindilis joined
|
|||
tbrowder | heh heh, great pick! i'm gonna try that with the Florida Lottery! | 18:12 | |
b7j0c | m: my uint8 $u = 256; say $u; | 18:13 | |
camelia | rakudo-moar 7511b4: OUTPUT«0» | ||
tbrowder | well, i'll use the advent quantum secret santa idea | ||
b7j0c | native types (uint8 etc) seem uninspired...if you overflow one, you just get a silent unintended consequence | 18:14 | |
babydrop | b7j0c: well, they're native :/ | ||
b7j0c | i've been playing with them in code and i'm ready to put them in the "considered harmful" basket | ||
babydrop | heh | ||
pmurias | hmm, should RAKUDO_MONKEY_BUSINESS turn on *all* the monkey pragmas? | 18:15 | |
b7j0c | is it just a matter of not having the implementation polished? or is failing silently conformant with the spec? | ||
babydrop | m: use MONKEY-BUSINESS; nqp::say("") | ||
camelia | rakudo-moar 7511b4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Could not find nqp::say, did you forget 'use nqp;' ?at <tmp>:1------> 3use MONKEY-BUSINESS; nqp::say("")7⏏5<EOL>» | ||
babydrop | pmurias: prolly not | 18:16 | |
geekosaur | m: use MONKEY; nqp::say("") | ||
camelia | rakudo-moar 7511b4: OUTPUT«» | ||
babydrop | b7j0c: it's by design. They're native types. You get same overflows in C (sans whatever bugs we still have in our natives) | ||
geekosaur | b7j0c, I think the intended use case is with e.g. NativeCall, where conformance with the actual platform behavior is a feature | ||
jdv79 | i think my load issue is just running a few threads of kinda not well performing code | 18:17 | |
XML and HTTP::Tinyish to be exact | |||
18:17
Sgeo left
|
|||
babydrop | m: say Blob.new: 666 | 18:17 | |
camelia | rakudo-moar 7511b4: OUTPUT«Blob:0x<9a>» | ||
jdv79 | pretty sure it doesn't need to peg a core to fetch some rss and parse out some bits | ||
babydrop | ^ another location where overflows work | 18:18 | |
geekosaur | the whole point of the more abstract types is to avoid the native behavior of native types; you use native types when you need the native behavior or you need to interface with code using native types | ||
18:19
Sgeo joined
|
|||
b7j0c | what is the "native behavior of native types"? | 18:19 | |
HoboWithAShotgun | what's the reasoning behind the existence of "$obj.method: args" and why does moritz call it "idiomatic"? | ||
babydrop | HoboWithAShotgun: as opposed to what? | 18:20 | |
That's a way to call a method with some args in Perl 6. | |||
HoboWithAShotgun | as opposed to object.method(args)" | ||
babydrop | eww gross | ||
HoboWithAShotgun: well, the : way is less typing and less reading. So sure, I'd say it's idiomatic to use it frequently at the end of the chain. | 18:21 | ||
HoboWithAShotgun | i find it really hard to parse | ||
babydrop | The only point I found it's LTA is when it's followed by a block, like whenever $foo.grep: /x/ { blah blah } | ||
geekosaur | b7j0c, what the CPU does | 18:22 | |
but that question in and of itself makes me think you are missing the point | |||
b7j0c | what CPU? | ||
geekosaur | ... | ||
pmurias | b7j0c: the CPU the code is running on | ||
babydrop | b7j0c: the processor that's executing the code. | ||
b7j0c | no i get that, but i guess i am probing a bit as to some expectation of a particular platform working in a certain way | 18:23 | |
geekosaur | b7j0c, yes it is absolutely possible to make Perl 6 treat even those types the way it does its own types. | ||
b7j0c | maybe next week a CPU works differently | ||
babydrop | HoboWithAShotgun: it's especially helpful with nested stuff: .grep(*.contains("foo")) vs .grep(*.contains: 'foo') or even .grep: *.contains: 'foo' | ||
geekosaur | b7j0c, you've just landed in the C-flavored soup that is why autoconf/cmake/etc. exist | ||
it's a complete mess with very few guarantees. unfortunately it's also the only way you can interface with non-Perl code | 18:24 | ||
HoboWithAShotgun | ok, but now i want to call a method on that | ||
geekosaur | (barring things like ASN.1 --- which is its own kind of absolute mess) | ||
babydrop | HoboWithAShotgun: put parens on! :) | 18:25 | |
b7j0c | yeah, i suppose what i wish was perl6 had more types beyond Int/Uint...i know you can make subsets, but it would have been nice for Uint8, Uint16 etc to be already there | ||
babydrop | HoboWithAShotgun: where is moritz calling it idomatic BTW? | ||
b7j0c | or at the very least, a Byte type | ||
very handy in Go for example | 18:26 | ||
HoboWithAShotgun | here: perlgeek.de/blog-en/perl-6/ | ||
babydrop | b7j0c: and what would they do instead of overflowing? Throw an exception? | ||
b7j0c | yes, imho | ||
thats what subsets do, right? | |||
babydrop | b7j0c: well, IMO it's a trivial module to make. In fact, this stuff might already be in Subsets::Common | ||
18:26
pyrimidine left
|
|||
b7j0c | yes, i wrote that | 18:27 | |
babydrop | b7j0c: yeah, the subset of UInt where * < 255; is ..... | ||
b7j0c | but i wish it wasn't needed | ||
babydrop | ... well, then you know it better than I :) | ||
[Coke] | I do like that the p5 advent is all christmas themed. I may have already said that. | ||
18:27
pyrimidine joined
|
|||
geekosaur notes that the Haskell equivalent types also don't bother with such. mostly because the primary use cases end up being talking to C or to the network and you're going to land in native types at some point either way | 18:27 | ||
babydrop | b7j0c: well, we can't pack up every thing in the universe into core Perl 6 in case someone decides typing half a line of code is too much work ;) | 18:28 | |
geekosaur | (well, also because doing it properly needs more than Haskell. that's more Agda level types) | ||
b7j0c | true but Haskell also lets you trivially define types as I have in Subsets::Common that are first-class citizens | ||
subsets i see as second-class citizens | |||
[Coke] | ... why? | ||
b7j0c | runtime checked instead of compile? | 18:29 | |
babydrop | HoboWithAShotgun: I think you misread moritz's article. It says "you can write .method() as .method:"... and then goes on with "idiomatic form of the small Sudoku formatter", which uses both versions | ||
b7j0c | i mean, they really aren't types at all, more like sugar on functions | ||
[Coke] | rakudo does what it can at compile time, and the rest and run time. doesn't mean more stuff won't move to compile time later. | ||
b7j0c | that would be awesome!@ | ||
tbrowder | [Coke] and moritz: the complete draft is there now | ||
[Coke] | rest *at* runtime | 18:30 | |
pmurias | babydrop: aren't checked sized types much more efficent when integrated into the compiler? | ||
[Coke] | tbrowder: ok. meeting 3-4 that I have to actually prep for, will look this evening. ping me if you don't hear back. | ||
AlexDaniel | and if I recall correctly there is no guarantee that subset checks are run time | ||
babydrop | right | ||
They will be compile time if it can be done, as I recall jnthn++ saying | 18:31 | ||
b7j0c | that would be a game changer | ||
AlexDaniel | b7j0c: oh, you sound like a right person to work on this! | ||
b7j0c | i'm too much of an idiot | ||
AlexDaniel | bummer | ||
tbrowder | [Coke] will do--no rush i think, draft is saved (whew!). i assume one shouldn't schedule it until all tweaks are done? | 18:32 | |
babydrop | woooo | ||
babydrop just got this year's Hacktoberfest shirt o/ | |||
And a bunch of Octocat stickers \o/ \o/ | 18:33 | ||
18:35
pyrimidine left
18:36
pyrimidine joined
|
|||
babydrop | pic of the design that I mentioned is much more toned down than last years twitter.com/zoffix/status/806930851585986561 | 18:38 | |
HoboWithAShotgun | rakudo: say <a b c>[*/2] | 18:39 | |
camelia | rakudo-moar 7511b4: OUTPUT«b» | ||
HoboWithAShotgun | scary | ||
babydrop | heh | 18:40 | |
rakudo: say <a b c>[*.first: *.is-prime] | |||
camelia | rakudo-moar 7511b4: OUTPUT«Nil» | ||
babydrop | oh right | ||
rakudo: say <a b c>[*.grep(*.is-prime)[0]] | |||
camelia | rakudo-moar 7511b4: OUTPUT«Nil» | ||
babydrop | :( | ||
oh right | 18:41 | ||
dammit.. my trick won't look cool now after all the struggles! | |||
rakudo: say <a b c>[(^*).first: *.is-prime] | |||
camelia | rakudo-moar 7511b4: OUTPUT«c» | ||
babydrop | rakudo: say (^2000).[(^*).first: *.is-prime, :end] | 18:42 | |
camelia | rakudo-moar 7511b4: OUTPUT«1999» | ||
babydrop | rakudo: say (^20000).[(^*).first: *.is-prime, :end] | ||
camelia | rakudo-moar 7511b4: OUTPUT«19997» | ||
18:43
labster joined
|
|||
babydrop | rakudo: say (^20000).[(^*).first: :end, *.first: :end, *.first: :end, *.first: :end, *.is-prime] | 18:44 | |
camelia | rakudo-moar 7511b4: OUTPUT«Effective index out of range. Is: 19998, should be in 0..0 in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
babydrop | heh | ||
m: say 3.first: :end | 18:45 | ||
camelia | rakudo-moar 7511b4: OUTPUT«Index out of range. Is: 2, should be in 0..0 in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
babydrop | s: (3,), 'first', \(:end) | 18:46 | |
SourceBaby | babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...s.pm#L1127 | ||
babydrop | weird, don't see a bug there | 18:47 | |
m: say (3,).first: :end | |||
camelia | rakudo-moar 7511b4: OUTPUT«3» | ||
babydrop | oh | ||
s: 3, 'first', \(:end) | 18:48 | ||
SourceBaby | babydrop, Sauce is at github.com/rakudo/rakudo/blob/7511...s.pm#L1127 | ||
babydrop | ... | ||
oh ROFL | |||
Now I see it :D | |||
it's the cheetsy-doodle + to get .elems | 18:49 | ||
I'm just talking to myself here, right? :) | |||
It's OK. I enjoy my own company... | |||
timotimo | it's good, yeah | ||
babydrop fixes the bug | |||
18:51
domidumont left
|
|||
HoboWithAShotgun | No, don't fix it. Squash it!!eleven!!111 | 18:52 | |
dalek | rl6-most-wanted: 02786c3 | (David Warring)++ | most-wanted/modules.md: Want Math::Units Would happily trade CSS::Declarations::Units (CSS::Declarations module) for something more general purpose. |
18:53 | |
HoboWithAShotgun | i'ms till trying to understand the code you posted at 12 minutes ago | ||
18:54
cognominal left
|
|||
HoboWithAShotgun | i'ms till trying to understand the code you posted at 12 minutes ago | 18:55 | |
what is the value of the whatever in the indexation? | 18:56 | ||
babydrop | HoboWithAShotgun: the number of elements in the list | ||
TimToady | HoboWithAShotgun: to understand when to use : instead of (), you have to take into account what we call "end weight" in linguistics, which are situations where you don't want to keep information on your mental stack | 18:57 | |
HoboWithAShotgun | so (^*) is a range from 0 to the number of elements | ||
18:58
cognominal joined
|
|||
babydrop | HoboWithAShotgun: to.. number of elements - 1 | 18:58 | |
TimToady | this works well with method arguments that are complete blocks, for instance, so you can just end them with a lonely } instead of having to remember to put }); | ||
babydrop | m: say (^2000).[{(0..($^elems-in-the-list-1)).first: :end, { $^index-number-from-zer-till-elems-in-the-list-minus-one.is-prime}}] | ||
camelia | rakudo-moar 7511b4: OUTPUT«1999» | ||
babydrop | HoboWithAShotgun: ^ longer version. The { ... } are code blocks | ||
18:58
labster left
18:59
eliasr left,
wamba left,
dwarring joined
|
|||
babydrop | m: say (^2000).[sub ($elems-in-the-list) {(0..($elems-in-the-list-1)).first: :end, sub ($index-number-from-zer-till-elems-in-the-list-minus-one) { $index-number-from-zer-till-elems-in-the-list-minus-one.is-prime}}] | 19:00 | |
camelia | rakudo-moar 7511b4: OUTPUT«1999» | ||
babydrop | an even longer version with subs instead of blocks :) | ||
m: say ^3 | |||
camelia | rakudo-moar 7511b4: OUTPUT«^3» | ||
babydrop | m: say eager ^3 | ||
camelia | rakudo-moar 7511b4: OUTPUT«(0 1 2)» | ||
19:00
effbiai joined,
effbiai left,
effbiai joined
|
|||
babydrop | ^ that's what that op does | 19:00 | |
(makes a Range object) | |||
huggable: Range | |||
huggable | babydrop, Interval of ordered values: docs.perl6.org/type/Range | ||
TimToady | babydrop: superstitious parens around ($elems-in-the-list-1) | 19:01 | |
babydrop | TimToady: thanks! | ||
TimToady | and that's a really good place for space around infix:<-> | ||
babydrop | heheh | ||
HoboWithAShotgun | Oh, hi TimToady. :-) I still have the canvas bag you signed a couple of years ago in lisbon. | ||
TimToady | or why not just use ..^ there? | ||
babydrop | TimToady: I just tried to be a bit more verbose about what's going on | 19:02 | |
TimToady | heh, was just in lisbon for Web Summit, 58,000 people... | ||
HoboWithAShotgun | for some reason my cat loves to sleep on it. | ||
TimToady | residual sharpie smell is probably catnippy :) | 19:03 | |
19:05
prammer left
19:06
Cabanossi left,
Cabanossi joined,
dj_goku joined,
dj_goku left,
dj_goku joined
19:12
dj_goku left
|
|||
HoboWithAShotgun | TimToady. A stern word. I have a Perl camel tatooed. That ugly butterfly won't make it I'm afraid. Seriously, what on earth? | 19:13 | |
19:13
andrzeju_ joined
|
|||
perlpilot | HoboWithAShotgun: next you'll be complaining that it's called "Perl 6" ... | 19:13 | |
19:14
prammer joined
|
|||
babydrop | HoboWithAShotgun: the butterfly is proving a good deterrent of snobby elitists | 19:14 | |
19:14
prammer left
|
|||
HoboWithAShotgun | indeed. it should be Perl VI ;-) | 19:14 | |
babydrop | m: dd 3.first | ||
camelia | rakudo-moar 7511b4: OUTPUT«3» | ||
babydrop | m: dd 3.first: :p | ||
camelia | rakudo-moar 7511b4: OUTPUT«3» | ||
jonadab | perlpilot: Funny you should say that. We really should have Perl 7 by now. | ||
babydrop | m: dd 3.first: {True}, :p | ||
camelia | rakudo-moar 7511b4: OUTPUT«0 => 3» | ||
babydrop | ^ another bugglet in .first | ||
babydrop presses the "Take" button on imaginary ticket | 19:15 | ||
19:15
andrzejku left
|
|||
jnthn | babydrop: Where's the bug in that one? | 19:15 | |
oh, `3.first: :p` | 19:16 | ||
babydrop | Yeah, adverbs broke without a matcher | ||
jnthn | Yeah, I only read the line about your ^ :) | ||
19:16
darutoko left
|
|||
babydrop | :) | 19:16 | |
19:16
prammer joined
|
|||
dogbert17 | jnthn: did you release yesterdays superbugfix? | 19:17 | |
jnthn | release? | ||
It's in MoarVM master | |||
Ah, maybe you mean "did MOAR_REVISION get bumped"... | |||
I can't remember :P | |||
dogbert17 | yes, did MoarVM get bumped :) | 19:18 | |
jnthn | Just checked; yes | ||
Or at least, it seems so | 19:19 | ||
dogbert17 | can't see your commit in 'git log', must be blind | ||
19:19
dj_goku joined,
dj_goku left,
dj_goku joined
|
|||
jnthn | Well, NQP_REVISION certainly got bumped | 19:19 | |
Though not by me :) | 19:20 | ||
dogbert17 | does an NQP_REVISION bump imply a MoarVM one as well | ||
jnthn | pmurias++ did it for pow_I fixes, and that bump brought my commits along for the ride :) | ||
Ah, I meant MOAR_REVISION got bumped, I checked that first :) | 19:21 | ||
dogbert17 | I just can't see the large blog post like commit in there | ||
jnthn | But yeah, looking at the commit IDs, HEAD Rakudo has it | ||
dogbert17 | aha | ||
19:21
FROGGS left
|
|||
jnthn | The blog post style commit message was in the Moar repo. I did actually start writing a blog post about the fix last night | 19:22 | |
But it got late and I had to sleep before I could finish it :) | |||
Hopefully tonight. | |||
dogbert17 | cool | 19:23 | |
19:24
cognominal left
19:26
sena_kun left
19:31
cognominal joined
19:35
lizmat joined
|
|||
mspo | this is under discussion in #erlang: www.hackerrank.com/challenges/john-and-fences | 19:39 | |
feels like a one-liner in perl6? | |||
19:40
rurban1 left
19:41
domidumont joined
|
|||
moritz | mspo: I don't see it yet (how it can be a one-liner) | 19:45 | |
19:45
labster joined
|
|||
b7j0c | would be nice to see perl6 in hackerrank! | 19:46 | |
...but at least they have perl5 in most of it | |||
19:47
krakan joined
19:50
zacts joined
|
|||
mspo | moritz: some kind of combo of set ops? | 19:51 | |
19:53
pyrimidine left
19:54
pyrimidine joined
19:55
girafe joined,
wamba joined
|
|||
babydrop | I don't see how that can be modeled in a Setty/Baggy since they're unordered | 19:57 | |
19:58
aindilis left,
aindilis joined
|
|||
babydrop gets a headache and closes the page | 19:58 | ||
19:59
pyrimidine left
20:00
zakharyas joined
|
|||
moritz | I believe this is a working solution, though brute force and rather crude: perlpunks.de/paste/show/5849bc36.2194.259 | 20:02 | |
moritz wonders if the problem is amendable to dynamic programming | |||
mspo | yes | 20:03 | |
babydrop | m: Failure.new.sink | 20:06 | |
camelia | rakudo-moar 8cb3e1: OUTPUT«FailedActually thrown at: in block <unit> at <tmp> line 1» | ||
babydrop | m: sink Failure.new | ||
camelia | ( no output ) | ||
babydrop feels trapped in a bug loop, fixing one bug uncovers another :o | |||
20:08
TEttinger joined
|
|||
geekosaur | .oO 99 bugs in the code in the node... take one down, patch it around, 101 bugs in the code in the node | 20:10 | |
pmurias | babydrop: which bug are you chasing down? | ||
pmurias considers fixing up the InvalidCharacter exceptions | 20:11 | ||
babydrop | pmurias: already chased. first without matcher forgets about adverbs, but as I was writing the test I noticed sink Failure doesn't explode it, while Failure.sink does | 20:12 | |
well, I assume it's a bug and not some weird feature :P | |||
20:17
domidumont left
20:21
pyrimidine joined
20:25
pyrimidine left
|
|||
dalek | c: 55a5a09 | (Zoffix Znet)++ | doc/Type/List.pod6: Document the matcher-less .first() - Existed in Rakudo since pre-Christmas - Adverb handling on it fixed in github.com/rakudo/rakudo/commit/ababb246a3 |
20:27 | |
synopsebot6 | Link: doc.perl6.org/type/List | ||
20:31
prammer left
|
|||
babydrop | m: Failure.new.eager | 20:32 | |
camelia | ( no output ) | ||
babydrop | That's why sink Failure.new doesn't explode, it ends up calling .eager | 20:33 | |
20:34
prammer joined
20:37
AlexDaniel left
20:39
cognominal left
20:40
espadrine joined
20:41
cognominal joined
20:44
hankache joined
20:51
SmokeMachine____ joined
20:52
SmokeMachine____ is now known as SmokeMachine
20:53
b7j0c left,
zakharyas left
20:54
SmokeMachine is now known as SmokeMachine_
20:56
SmokeMachine_ is now known as SmokeMachine
20:58
Tonik joined
21:01
pyrimidine joined
21:09
pyrimidine left
21:15
hankache left
21:16
rindolf left
21:22
rindolf joined,
firstdayonthejob joined
21:36
bjz joined
21:39
bjz left
21:40
mohae_ joined
21:42
mohae left,
ufobat left
21:45
firstdayonthejob left
|
|||
moritz | tic tac toe in Perl 6: perlpunks.de/paste/show/5849d55d.40ff.242 | 21:49 | |
I now have a persistent threat to blog about that, should a hole appear in the advent calendar :-) | 21:50 | ||
speaking of which, brrt, who is your article coming along? | 21:51 | ||
2 hours 8 minutes left... | 21:52 | ||
21:52
bjz joined
21:56
skids left
|
|||
moritz | if things get tight, maybe ask if you can swap with titsuki on day 11, the post seems to be ready | 21:56 | |
time for sleep here | 21:57 | ||
21:59
firstdayonthejob joined
22:00
bjz left
|
|||
RabidGravy | moritz, do you want the 12th? I was just going to wing it anyway? | 22:00 | |
22:13
rurban joined,
prammer left
22:14
Tonik left
22:18
Lucas_One left
22:23
avuserow joined
22:25
cognominal left
22:32
MasterDuke left
22:35
cognominal joined
22:36
MasterDuke joined
22:40
cognominal left
22:41
cognominal joined,
matiaslina joined
22:42
khw left
22:45
RabidGravy left
22:49
firstdayonthejob left
|
|||
brrt | moritz: I'm nearing done-ness, actually | 22:53 | |
timotimo | cool | 22:54 | |
brrt | oh, sleeping already | ||
timotimo: i'd be very grateful if you could proofread my post when i've finished it | 23:02 | ||
23:04
perlawhirl joined,
lukaramu left
23:07
firstdayonthejob joined
23:10
cognominal left
23:11
cognominal joined
|
|||
titsuki | moriz: Sorry, I noticed that I mistook the operation and posted my advent post. | 23:14 | |
23:15
Actualeyes joined
23:19
rburkholder joined,
Actualeyes left
|
|||
titsuki | moriz: I've already changed the release date of my post. | 23:21 | |
23:23
pmurias left
23:25
cognominal left,
cognominal joined
|
|||
vcv_ | ok, I'm missing something very obvious here... | 23:31 | |
m: my @grid = (0, 0), (0, 0); @grid[0][0] = 1; | |||
camelia | rakudo-moar 345f6a: OUTPUT«Cannot modify an immutable Int in block <unit> at <tmp> line 1» | ||
TimToady | m: my @grid = [0, 0], [0, 0]; @grid[0][0] = 1; | 23:33 | |
camelia | ( no output ) | ||
TimToady | lists are immutable, arrays are not | ||
vcv_ | Thanks. Brain fart. | 23:34 | |
TimToady | more precisely, an array will have assignable intermediate containers, while a list will have just whatever was in the list | ||
vcv_ | and if i had used scalars in place of literals, i would have been able to assign? | 23:35 | |
TimToady | yes | ||
vcv_ | Thank you. | ||
TimToady | m: my int @grid = (0, 0), (0, 0); @grid[0][0] = 1; | ||
camelia | rakudo-moar 345f6a: OUTPUT«This type cannot unbox to a native integer: P6opaque, List in block <unit> at <tmp> line 1» | ||
TimToady | interestin' | ||
23:36
pyrimidine joined
|
|||
TimToady | m: my int @grid[2;2] = (0, 0), (0, 0); @grid[0][0] = 1; | 23:36 | |
camelia | rakudo-moar 345f6a: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry.  in block <unit> at <tmp> line 1» | ||
TimToady | say wot? | ||
brrt | titsuki: ping | ||
TimToady | m: my int @grid[2;2] = (0, 0), (0, 0); @grid[0;0] = 1; | 23:37 | |
camelia | ( no output ) | ||
TimToady | there we go | ||
titsuki | brrt: hi | ||
23:39
pyrimidi_ joined
23:40
cognominal left
|
|||
timotimo | brrt: i can try | 23:40 | |
brrt: tell me when it happens | |||
23:40
cognominal joined
|
|||
vcv_ | m: my Bool @grid[50;6] is default(False); | 23:41 | |
camelia | rakudo-moar 345f6a: OUTPUT«5===SORRY!5=== Error while compiling <tmp>is default on shaped Array[Bool] not yet implemented. Sorry. at <tmp>:1------> 3my Bool @grid[50;6] is default(False)7⏏5; expecting any of: constraint» | ||
vcv_ | darn | ||
23:41
pyrimidi_ left,
Actualeyes joined
23:42
pyrimidine left
23:43
khw joined
|
|||
brrt | hi. if you want you can publish your post today, that will have no severe effects | 23:45 | |
i'm *just* done | |||
tsitsuki: ^ | 23:46 | ||
we can switch then | |||
23:47
rurban left
|
|||
dalek | : 437662a | (Tom Browder)++ | misc/perl6advent-2016/schedule: slight change to title chosen by Zoffix (babydrop) via his Perl 6 title randomizer code |
23:48 | |
titsuki | brrt: thank you for your advice, but I'll publish my post on 11 th. | 23:51 | |
23:52
girafe left
|
|||
brrt | alright, no problem | 23:54 | |
i'll do mine in the coming 5 minutes :-) | |||
23:55
cognominal left
|
|||
samcv | where should I look for the code in perl6 that matches left and right delimiters? Pi => 'Pf' or Ps => 'Pe'; for unicode. such as in #`( or q{} things? | 23:55 | |
vcv_ | What's the syntax for getting the last n elements of an array/list? @array[..*-n], @array[*-n..*] neither work | 23:56 | |
samcv | for each Pi codepoint not all the matching Pf ones are 1 codepoint higher, so curious what it uses to find the paired ones | ||
vcv_, you want the .tail method | 23:58 | ||
brrt | timotimo: perl6advent.wordpress.com/?p=5675 | ||
but, i'm going to hit the publish button; my own damn fault for being late :-) | |||
timotimo | brrt: odd line break in the first line | 23:59 | |
vcv_ | darn, was hoping for a syntax using subscript. ok thanks |