»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by masak on 28 November 2015. |
|||
00:02
skids joined
00:06
[particle] joined
|
|||
autarch | could someone explain what this error means - gist.github.com/autarch/3a081eef3ee9a7ee2422 | 00:12 | |
00:13
autarch left
|
|||
timotimo | what kind of thing is Pod::TreeWalker? | 00:13 | |
00:13
autarch joined,
koo8 left
|
|||
timotimo | what kind of thing is Pod::TreeWalker? | 00:13 | |
autarch | timotimo: gist.github.com/autarch/3a081eef3ee9a7ee2422 | 00:14 | |
oops, wrong link - github.com/autarch/perl6-Pod-TreeW...Walker.pm6 | |||
timotimo | does it contain other things? did use-ing the module it's in cause some mismerge to happen, so that Pod::TreeWalker is now only a module/package? | ||
autarch | it's "unit class Pod::TreeWalker;" | ||
timotimo | hum. | ||
i don't know :( | 00:15 | ||
autarch | the tests for that module pass just fine | ||
timotimo | uh-oh | ||
and the code you've written? | |||
autarch | but when I try to use the code via PERL6LIB I get that error - maybe that's helpful? | ||
except at least one thing which uses it via PERL6LIB _does_ work | |||
timotimo | does it work if you use -I instead of PERL6LIB? | ||
autarch checks | 00:16 | ||
Hotkeys | say a class has ::ver<1.2.3> tacked on it, is there a way to get the version? | ||
autarch | nope | ||
00:19
micxjo joined
|
|||
autarch | I'll update to the latest HEAD just in case | 00:19 | |
timotimo | m: class Ttt:version<1.2.3> { }; say Ttt.^methods | 00:20 | |
camelia | rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UW2mmSCNKkCannot use adverb version on a type name (only 'ver' and 'auth' are understood)at /tmp/UW2mmSCNKk:1------> 3class Ttt:version<1.2.3>7⏏5 { }; say Ttt.^methods expecting any of: …» | ||
timotimo | m: class Ttt:ver<1.2.3> { }; say Ttt.^methods | ||
camelia | rakudo-moar 97ef74: OUTPUT«()» | ||
Hotkeys | m: class Ttt:ver<1.2.3> { }; say Ttt.ver; | 00:22 | |
camelia | rakudo-moar 97ef74: OUTPUT«Method 'ver' not found for invocant of class 'Ttt' in block <unit> at /tmp/Baq1SN47vi:1» | ||
Hotkeys | m: class Ttt:ver<1.2.3> { }; say Ttt.^ver; | ||
camelia | rakudo-moar 97ef74: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu' in block <unit> at /tmp/lAFhVQIDf6:1» | ||
roguelazer | What's the correct way to install panda right now? `rakudobrew build-panda` seems to indicate some syntax issues with moar-2015.11 | ||
flussence | m: class Ttt:ver<1.2.3> { }; say Ttt.^methods(:all).elems | ||
camelia | rakudo-moar 97ef74: OUTPUT«133» | ||
autarch | ok, still getting the same error with the latest rakudobrewed p6 | 00:23 | |
if someone could me figure this out, I'd appreciate it - it's the last thing I need to resolve before my advent calendar article is ready for review | |||
flussence | m: class Pod::TreeWalker { }; class Foo { has Pod::TreeWalker $w .= new() }; | 00:29 | |
camelia | rakudo-moar 97ef74: OUTPUT«===SORRY!===Could not locate compile-time value for symbol Pod::TreeWalker» | ||
flussence | maybe a symptom of that? | 00:30 | |
(neither error makes sense to me, mind) | |||
00:30
Psyche^_ joined
|
|||
timotimo | oh, probably because Pod:: is already in core? | 00:30 | |
m: say Pod:: | |||
camelia | rakudo-moar 97ef74: OUTPUT«Pod» | ||
flussence | m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w .= new() }; | ||
camelia | rakudo-moar 97ef74: OUTPUT«===SORRY!===Could not locate compile-time value for symbol Foobar::TreeWalker» | ||
timotimo | um | 00:31 | |
wait, does .= work in that location? | |||
m: class Pod::TreeWalker { }; class Foo { has Pod::TreeWalker $w = 1 }; | |||
camelia | ( no output ) | ||
flussence | it ought to, but I'm just being lazy... | ||
timotimo | it does not | ||
flussence | m: class Foobar::TreeWalker { }; class Foo { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() }; | ||
camelia | ( no output ) | ||
flussence | guess I'm wrong | ||
autarch | this all started after I renamed the module from Pod::NodeWalker to Pod::TreeWalker | 00:32 | |
00:32
PotatoGim left
|
|||
flussence | m: class Foobar::TreeWalker { }; class Foobar::TreeWalker::SomethingElse { has Foobar::TreeWalker $w = Foobar::TreeWalker.new() }; | 00:32 | |
camelia | ( no output ) | ||
autarch | the weird thing is I have a branch of Pod::To::HTML that uses TreeWalker and it works fine - github.com/autarch/Pod-To-HTML/tre...treewalker | 00:33 | |
timotimo | hm, didn't masak just file a bug on RT about things going missing when ... something mumble mumble? | ||
flussence | you have a use; for it both inside and outside the class scope there, maybe that's why? | 00:34 | |
timotimo | rt.perl.org/Ticket/Display.html?id=126827 | ||
00:34
Psyche^ left
|
|||
autarch | flussence: I removed the use inside the class scope and it's fine | 00:35 | |
anyway, if someone could review my advent article, that'd be great - it's saved as a draft in the wordpress blog - day 11 | 00:37 | ||
MadcapJake | is there any way to nuke panda? | 00:38 | |
flussence | rm -r $install_prefix (or git clean -dfx if you used the default one) | ||
though that'll nuke rakudo too, which may be overkill | 00:39 | ||
timotimo | autarch: when will it go live? | 00:40 | |
00:40
dj_goku left
|
|||
timotimo | oh | 00:40 | |
autarch | timotimo: well, day 11, I'd assume ;) | ||
timotimo | 11 | ||
that's in a few days, not a few hours | |||
autarch | true | ||
00:42
skids left
00:43
skids joined
00:44
dj_goku joined
|
|||
timotimo | i'm going to bed now ... i'll see if i can review your post tomorrow :) | 00:44 | |
dj_goku | night | ||
timotimo | gnite dj_goku :) | ||
00:45
bbarker`` left
00:46
csd_ joined
00:49
pippo joined,
pippo left
00:50
moei left
00:51
csd_ left,
daniel90 left
|
|||
ShimmerFairy | .tell masak I just had a thought about the ugly {{{}}} syntax: what about a vaguely Lisp-inspired `{} ? After all, the backtick is free in P6 :) . (Though I don't think it'd have quite the same meaning as `(), hence "vaguely inspired") | 00:52 | |
yoleaux | ShimmerFairy: I'll pass your message to masak. | ||
MadcapJake | ok so my rakudo fork is looking in a completely different directory for modules than the rakudobrew-installed perl6 | ||
00:52
moei joined
|
|||
ShimmerFairy | did you use --prefix in your configuration, perchance? If not, that might explain it :) | 00:53 | |
MadcapJake | i didn't even make install, can't you just work with it inside the src dir? | ||
00:53
leont left
|
|||
MadcapJake | i don't want to install it anywhere in my usr dirs | 00:53 | |
Juerd | Is it possible to have either lazy interpolation, or a custom quotelike operator/ | 00:54 | |
MadcapJake | ShimmerFairy: do you mean in the perl Configure.pl command? | ||
ShimmerFairy | yes | ||
MadcapJake: btw, I think you do need to install it. Note that by default rakudo and friends install locally within the repo. I always configure MoarVM and the rest with --prefix=/usr/local :) | 00:55 | ||
MadcapJake: or maybe you don't have to. I'm not entirely sure. | 00:56 | ||
Juerd | OMG, I should dive into the source more often. Just discovered "ignoremark". I've seen recent commits from TimToady, but didn't know what it was about. But now I get it, and it's wonderful. | 00:57 | |
MadcapJake | well everything works except for modules :P it looks inside the source directory and the rakudobrew installed version looks inside `.rakudobrew/moar-nom/install/share/perl6/{site,vendor,.}` | ||
Juerd | m: say so "föó" ~~ /:m foo/ | 00:58 | |
camelia | rakudo-moar 97ef74: OUTPUT«True» | ||
Juerd | ♥ | ||
ShimmerFairy | MadcapJake: hm, it probably makes sense that it doesn't know about your weird rakudobrew directory :P ("weird" as in "not some kind of universal system directory or something") | ||
00:58
dy joined
|
|||
MadcapJake | ShimmerFairy: definitely would be a bizarre convention, however to me it seems more bizarre that there's no way to work on rakudo in isolation from your system. | 00:59 | |
I wish I could have a stable install and then leave the rakudo bleeding edge inside it's source dir | 01:00 | ||
Hotkeys | anyone know how I can get the version number of a class | ||
without having a seperate variable for it ofc | |||
ShimmerFairy | MadcapJake: I'm not sure I follow; isn't the source version not using ~/.../rakudobrew/.../ accomplishing that "isolation from your system" ? | 01:01 | |
MadcapJake | yes but then how can I use modules :( | ||
Hotkeys | since there is the :ver adverb | ||
MadcapJake | I thought maybe modules were separate from rakudo | ||
but they seem tied to each version | |||
ugexe | yes, precompilation assures you it needs to be rebuilt for each version/change of the compiler | 01:02 | |
ShimmerFairy | MadcapJake: ah, you'd maybe want -I or PERL6LIB in that case? I don't know how the new module system works, and it's worth pointing out precompilation _does_ tie the precomps to each version | ||
ugexe | although without precompilation you are right | ||
at least right in that you can do it if you want | |||
ShimmerFairy | Hotkeys: based on my nearly-nonexistent understanding, that's probably not exposed yet. Unless the :ver adverb is explicitly mentioned in docs on the new module system, chances are that's specified by the META6.json instead | 01:03 | |
MadcapJake | Ok I see that, so I concievably *could* keep it isolated by installed panda inside my rakudo fork's source dir? | 01:04 | |
Hotkeys | I know it's in S11 and I've seen it used but I can't really find an other docs | ||
MadcapJake | is that possible? | ||
01:05
PotatoGim joined
|
|||
ShimmerFairy | MadcapJake: I always have panda install to ~/.perl6, not sure if that info helps any (I don't know what it'd do if run with a non-[system-]installed p6) | 01:06 | |
01:07
csd_ joined
|
|||
MadcapJake | ok i'll explore that idea at least | 01:07 | |
ShimmerFairy | MadcapJake: if nothing else, there's always manually using -I to point to git repos of the right modules (blech), or officially graduating to using just bleeding-edge rakudo all the time (I've done it for years!) :P | 01:08 | |
flussence | if you're insane, you can also put the paths to everything you want in a meta6.json sitting in a directory on its own and -I that | 01:09 | |
MadcapJake | where does panda install modules? in `.perl6/<rakudo_version>` | 01:10 | |
ShimmerFairy | MadcapJake: but I will say that the idea of a version-independent collection of modules for developers sounds like a nice idea | ||
01:11
Actualeyes joined
|
|||
flussence | MadcapJake: it did that for about a day and it made everyone unhappy, I think it puts modules there but binaries go in install_prefix | 01:11 | |
ShimmerFairy | MadcapJake: For me, running ./bootstrap.pl after installing rakudo to /usr/local will install to ~/.perl6. Presumably running the bootstrap under 'sudo' would use a system location | ||
01:11
csd_ left
|
|||
flussence | yep, modules are there for me | 01:11 | |
looks like %?RESOURCES go to install_prefix too, I see linenoise.so in it | 01:12 | ||
AlexDaniel wonders if anybody will ever merge tau tests :D | 01:15 | ||
MadcapJake is glad to see the rest got merged at least! | |||
01:23
bapa1 joined
|
|||
dj_goku | is there an easy way to combine hashes? | 01:24 | |
01:24
yeahnoob joined
|
|||
dj_goku | or is looping through each one building a new hash the only way? | 01:24 | |
flussence | crazy idea, may not actually work, maybe %h1.append(%h2)? | 01:25 | |
dj_goku | oh append | ||
flussence | just a guess, like I say it might not be right | ||
dj_goku | oh oh | ||
flussence | if that fails, :{ |%h1, %h2 } ought to do the job | ||
dj_goku | that worked and did what I expected | 01:26 | |
flussence | yay | ||
01:26
Zoffix joined
01:27
csd_ joined,
mr_ron left
|
|||
dj_goku | m: append({'k'=> 1, 't' => 5}, {'k' => 5}) | 01:28 | |
camelia | ( no output ) | ||
dj_goku | m: say append({'k'=> 1, 't' => 5}, {'k' => 5}) | ||
camelia | rakudo-moar 97ef74: OUTPUT«k => [1 5], t => 5» | ||
dj_goku | flussence: ^^ | ||
now to figure out how to flatten out [1, 5] to == 6. :D | 01:29 | ||
Zoffix | m: say "₫".uniname | ||
camelia | rakudo-moar 97ef74: OUTPUT«DONG SIGN» | ||
Zoffix | :D | ||
dj_goku | Zoffix: lol | ||
AlexDaniel | .u ᭦᭡ | 01:31 | |
yoleaux | U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡) | ||
U+1B66 BALINESE MUSICAL SYMBOL DING [So] (᭦) | |||
01:31
csd_ left
01:34
Herby__ joined
|
|||
Herby__ | Good evening, everyone! | 01:34 | |
01:35
Jeguen joined
|
|||
Zoffix | Howdy | 01:35 | |
Jeguen | hi | ||
Zoffix | hello | 01:36 | |
Hotkeys | m: say $ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5}) | ||
camelia | rakudo-moar 97ef74: OUTPUT«Use of uninitialized value of type Any in numeric context in block at /tmp/F0pcH_8kxN:100» | ||
Hotkeys | m: say $_ .= sum for append({'k'=> 1, 't' => 5}, {'k' => 5}).values | ||
camelia | rakudo-moar 97ef74: OUTPUT«65» | ||
Zoffix | \o/ | 01:37 | |
Hotkeys | m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); $_ .= sum for %foo.values; say %foo; | ||
camelia | rakudo-moar 97ef74: OUTPUT«k => 6, t => 5» | ||
01:37
llfourn joined
|
|||
flussence | is mutating it in place considered cheating? :) | 01:38 | |
Hotkeys | I was thinking of doing something like "%foo.values >>.=>> &sum" | ||
but that doesn't work | |||
flussence | if there's a short, readable way to .map on a hash's values and get a hash back... I don't know it. | ||
dalek | rl6-most-wanted: 29e7264 | (Zoffix Znet)++ | most-wanted/modules.md: Toss JSON We have lots of JSON modules now |
||
rl6-most-wanted: 229126e | (Zoffix Znet)++ | most-wanted/modules.md: Toss Data::GUID I no longer plan on releasing that |
01:40 | ||
Herby__ | can someone give a simple explanation on when I should use Grammars? | ||
01:40
BenGoldberg joined
|
|||
Herby__ | versus just normal regex stuff | 01:41 | |
for small scripts | |||
flussence | if you know exactly how long your input is, you *might* use grammars, if you don't, use regexes | ||
Hotkeys | m: my %foo = append({'k'=> 1, 't' => 5}, {'k' => 5}); say hash %foo.keys Z %foo.values.map({.sum}); | ||
camelia | rakudo-moar 97ef74: OUTPUT«k => 6, t => 5» | ||
01:42
adu left
|
|||
Herby__ | For work, I have a log that is roughly 250k lines. Currently I have a Perl 5 script to parse it, thinking about rewriting it in Perl 6 | 01:42 | |
Hotkeys | that's relatively short | ||
Herby__ | its not mission critical, so speed isnt huge | ||
dalek | rl6-most-wanted: 77e8f53 | (Zoffix Znet)++ | most-wanted/modules.md: List IRC::Client as WIP in IRC section |
||
ShimmerFairy | Herby__: if your code starts to look like a massive tree of if $a ~~ /.../ { if $a ~~ /..../ { ... } } , chances are you want a grammar :) | ||
Herby__ | hmmm | 01:43 | |
ShimmerFairy | Herby__: in the case of parsing a file, you'll probably want grammars. If nothing else, it'll organize the regexes nicely. | ||
Herby__ | My code does kind of look like that. | ||
flussence has that type of code in Text::Wrap and it's horrible, long overdue for a rewrite | 01:44 | ||
in a few places the *right* of the smartmatch is variable too... | |||
ShimmerFairy | I personally would suggest that the times you use grammars over inline /.../ regexes are about the same as the times you write an explicit function over using an inline -> { ... } closure :) | ||
01:45
glaukommatos joined
|
|||
zengargoyle | m: append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash | 01:45 | |
camelia | ( no output ) | ||
Herby__ | ok. I'll probably try to rewrite them as Grammars just for the practice and see if I can wrap my head around them | ||
zengargoyle | m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.value .= sum;$_}).Hash | ||
camelia | rakudo-moar 97ef74: OUTPUT«k => 6, t => 5» | ||
Herby__ | is there a noticeable difference in performance from using Grammars vs. inline regex? | ||
or is it more/less the same | |||
dalek | rl6-most-wanted: b76f8b3 | (Zoffix Znet)++ | most-wanted/modules.md: list Test::META as WIP for Test::CPAN::Meta replacement |
01:46 | |
zengargoyle | m: say append({'k'=> 1, 't' => 5}, {'k' => 5}).pairs.map({.key => .value.sum}).Hash | 01:47 | |
camelia | rakudo-moar 97ef74: OUTPUT«k => 6, t => 5» | ||
ShimmerFairy | Herby__: another possible question is "would using <subrule>s in my parsing make things easier to write?" (you can write "local" rules, e.g. my token foo { ... }; , as an intermediate sort of step between inline regexes and full grammars, if you like) | ||
Herby__: I'm not aware of any speed difference, so chances are "not much" :) | |||
Herby__ | great, thanks for the info! | ||
dalek | rl6-most-wanted: f20f54c | (Zoffix Znet)++ | most-wanted/modules.md: Toss Term::ANSIColor as it already exists |
01:48 | |
01:48
uruwi left
|
|||
flussence | Grammars are slow. Painfully slow sometimes (which is why we have a gazillion JSON modules, and why building rakudo takes forever at "Stage parse"). But they're declarative syntax so you can write your code once and making it run fast becomes Someone Else's Problem :) | 01:48 | |
ShimmerFairy | except for the procedural bits :) | 01:50 | |
01:52
micxjo left
|
|||
MadcapJake | if i cloned and installed a new rakudo and panda, why does it say there are modules already installed? | 01:52 | |
flussence | if you didn't completely wipe the install directory, they're still there | 01:53 | |
MadcapJake | i wiped the rakudo directory completely | ||
Zoffix | Did you nuke both .rakudobrew and .perl6? | ||
MadcapJake | the source dir | ||
no i should do that then | |||
zengargoyle | MadcapJake: i think the spell is: rakudobrew nuke moar; rakudobrew self-upgrade; rm -rf ~/.perl6; rakudobrew build moar; ... | 01:55 | |
Zoffix | MadcapJake, BTW: irclog.perlgeek.de/perl6/2015-12-07#i_11672150 | ||
I misspelt your name tho :) | |||
zengargoyle | which avoids deleting .rakudobrew and re-installing it. | ||
01:55
Zoffix is now known as MadcapJack
|
|||
MadcapJack | .botsnack | 01:55 | |
yoleaux | :D | ||
7 Dec 2015 18:58Z <ZoffixW> MadcapJack: Found a really annoying breakage of the syntax highlighter: apostrophes in regexes: say so "You're wrong" ~~ /'You\'re wrong'/; That breaks all the following code after that line :( | |||
01:55
MadcapJack is now known as Zoffix
|
|||
Zoffix | MadcapJake, and props on making the META.info highlighter work. it detects all the incorrect keys :D MadcapJake++ | 01:56 | |
MadcapJake | what you mean by detects the incorrect keys? | 01:57 | |
Zoffix | (I also found a way to get around that highlighter issue: add # ' after the regex | ||
MadcapJake, I don't have Atom on this box,but I had "authority" IIRC, and it was highlighted in a different colour than all the other keys that ARE listed in the META spec | 01:58 | ||
glaukommatos | Does the existance of a perl6-debug-m but no perl6-debug indicate that I've built something wrong and/or happen to explain why perl6-debug-m does not stop at my breakpoints? :) | ||
Zoffix | MadcapJake, like, if you open this META in Atom, all keys will be in blue, but "authority" will be in different colour: github.com/zoffixznet/perl6-Pasteb.../META.info | 01:59 | |
flussence | glaukommatos: not having `perl6-debug` is normal, can't speak for the rest | ||
MadcapJake | Zoffix: and you liked that or didn't? | 02:00 | |
glaukommatos | Mmm, perhaps I ought not to trust the homebrew package then. | ||
Zoffix | MadcapJake, definitely did :) I didn't even realize authority was not a proper key :) | ||
MadcapJake | ahhh! yeah I looked at the spec and put special case highlighting for each true meta6.json key | ||
Zoffix | MadcapJake++ | ||
MadcapJake | cool! glad you liked it! I was worried i missed a key :P | 02:01 | |
hoelzro | flussence: %?RESOURCES doesn't get installed; that's just because of a hack I put in Linenoise | 02:02 | |
flussence | oh, seemed like a sensible place for it so I thought that's what was going on | 02:03 | |
02:06
uruwi joined
02:07
adu joined
02:09
leat left
02:12
Ben_Goldberg joined
02:14
BenGoldberg left
|
|||
glaukommatos | So, I hope someone familiar with the debugger might be able to point out something silly I'm doing. I run my p6 file with perl6-debug-m filename.p6; then I do bp add <linnum> and press enter; then I type r and press enter. I expect the debugger to stop at <linnum>, but instead it just goes straight on through the rest of the file. Is this the expected behavior, or is something weird? | 02:14 | |
02:15
BenGoldberg_ joined
02:17
Ben_Goldberg left
02:18
Ben_Goldberg joined
02:19
Ben_Goldberg left
02:20
BenGoldberg_ left,
Ben_Goldberg joined
|
|||
adu | glaukommatos: I've only used the grammar debugger | 02:22 | |
glaukommatos: I've never used the regular debugger | |||
glaukommatos | Interesting. It seemed like perl6-debug-m was allowing me to step through the grammar in my p6 file. Am I confusing the grammar debugger with the normal debugger? How do you normally invoke the grammar debugger? | 02:26 | |
zengargoyle | i think Grammar::Debugger and Grammar::Tracer are activated by 'use Grammar::Debugger;' in your code. | 02:28 | |
like you just 'use' it before you define your own grammar and magic happens. | 02:29 | ||
Zoffix | use Grammar::Debugger; lets you see and step through the grammar matching process. use Grammar::Tracer; just prints the matching tree. | 02:30 | |
glaukommatos | Interesting. I haven't got any such use statements. But when I run with perl6-debug-m file.p6 it still lets me step through the whole process (which is really freaking amazing, btw). I need to read more docs! | ||
02:31
Ben_Goldberg left
|
|||
zengargoyle | but i seem to recall a bit about being able to do the same with the perl6-debug-m mostly. as in perl6-debug-m is powerful enough to go all the way down ... | 02:31 | |
02:32
cdg joined,
Ben_Goldberg joined
|
|||
glaukommatos | Yeah, I know that when I step through with perl6-debug-m that it will go into detail during the parsing process if I do my MyGrammar.parse($string). | 02:32 | |
It's pretty awesome to watch the input string get consumed. <3 | 02:33 | ||
zengargoyle | wonder if the breakpoint thing is it not finding the file/line properly since curli | ||
since now they get turned into hashes and such. | 02:34 | ||
glaukommatos | I'm not familiar with curli. | ||
02:40
lolisa joined
|
|||
zengargoyle | glaukommatos: debug seems to be working for me. at least adding a breakpoint and having it stop thereabouts. | 02:43 | |
02:45
Jeguen left
02:46
natefanaro joined,
kid51 left
|
|||
dj_goku | any idea what is causing this warning: Trailing item in Hash.append | 02:46 | |
glaukommatos | zengargoyle: Interesting. Would you be able to let me know what command you're using to add the breakpoint and then subsequently to run up to it? I'm trying to figure out if I'm just doing something stupid or not, since I'm not terribly familiar with the debugger's syntax. | ||
skids | m: my %h; %h.append(a,1,b); | 02:47 | |
yoleaux | 7 Dec 2015 21:13Z <jnthn> skids: Thanks for the S17 gist; I look through it tomorrow when I've (hopefully) more brane :) | ||
camelia | rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SXn04KF8lUUndeclared routines: a used at line 1 b used at line 1» | ||
skids | m: my %h; %h.append('a',1,'b'); | ||
camelia | rakudo-moar 97ef74: OUTPUT«Trailing item in Hash.append in block <unit> at /tmp/fV6sUw_2R0:1» | ||
02:48
xinming left
|
|||
zengargoyle | eh, just what you said....: perl6-debug-m ./someprog.pl6 ... bp add 16 r | 02:48 | |
glaukommatos | zengargoyle: Huh, that's so very strange. Well, at least I'm glad I'm not going crazy. | 02:49 | |
zengargoyle | stops before doing line 16 showing lines 14-18 with line 16 highlighted. | ||
glaukommatos | zengargoyle: thanks | ||
zengargoyle | what type of line are you setting the breakpoint on? a simple statement? a function call? | 02:50 | |
glaukommatos | Oh shoot. You know what, I made a stupid. | 02:51 | |
I've been putting the line number of blank lines in front of the lines I care about. Don't ask me why I thought that would work. | 02:52 | ||
I think gdb or something probably just rounds things to the nearest line that actually generates code, and somehow I've gotten into a habit or doing that. | |||
zengargoyle | heh | 02:53 | |
glaukommatos | I just did it again with a line that, oh you know, actually had code on it. And surprise: it works. | ||
I am not a clever person. | |||
In other news, Grammars are easily the coolest language feature I've ever played with. | |||
MadcapJake | now for some reason make is crashing on me :( | ||
dj_goku | m: say {}.WHAT | ||
camelia | rakudo-moar 97ef74: OUTPUT«(Hash)» | ||
02:54
cdg left,
xinming joined
|
|||
dj_goku | m: my %h; %h.append({1 => 1, 2 => 2}); say %h | 02:54 | |
camelia | rakudo-moar 97ef74: OUTPUT«1 => 1, 2 => 2» | ||
zengargoyle | glaukommatos: that might make a reasonable PR on the debugger... make bp on blank line be the next code line... | 02:55 | |
dj_goku | m: my %h; %h.append({1 => 1, 2 => 2}); say %h.kv; | ||
camelia | rakudo-moar 97ef74: OUTPUT«(1 1 2 2)» | ||
dj_goku | hmm | 02:56 | |
so after adding %h.append($some_hash.kv); the warning/error went away. | |||
glaukommatos | zengargoyle: Perhaps at the very least it might want to warn me that I've tried to break on a line that doesn't exist. I'll probably make an issue / PR if I find myself able to write the code to do this. | 02:57 | |
zengargoyle | m: my %h; my %oh = 1=>2, 3=>4; %h.append: |%oh; say %h.perl; | 02:58 | |
camelia | rakudo-moar 97ef74: OUTPUT«{}» | ||
zengargoyle | m: my %h; my %oh = 1=>2, 3=>4; %h.append: %oh.pairs; say %h.perl; | 03:00 | |
camelia | rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}» | ||
autarch | since there's probably new folks since I last asked ... if someone could review my advent article, that'd be great - it's saved as a draft in the wordpress blog - day 11 | 03:01 | |
zengargoyle | m: my %oh = 1=>2, 3=>4; say |%oh; say %oh.pairs | ||
camelia | rakudo-moar 97ef74: OUTPUT«Unexpected named parameter '1' passed in block <unit> at /tmp/8hmhbPtt9N:1» | ||
autarch | or I could make it password protected if you don't have blog access | ||
zengargoyle | m: my %oh = 1=>2, 3=>4; say (|%oh); say %oh.pairs | 03:02 | |
camelia | rakudo-moar 97ef74: OUTPUT«(1 => 2 3 => 4)(1 => 2 3 => 4)» | ||
zengargoyle | m: my %h; my %oh = 1=>2, 3=>4; %h.append: (|%oh); say %h.perl; | 03:03 | |
camelia | rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}» | ||
03:03
noganex joined
|
|||
zengargoyle | m: my %h; my %oh = 1=>2, 3=>4; %h.append: @%oh; say %h.perl; | 03:04 | |
camelia | rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}» | ||
03:04
csd_ joined
|
|||
zengargoyle | have to remember that | in argument means named. | 03:04 | |
03:05
adu left
03:06
noganex_ left
03:07
zengargo1le joined,
zengargoyle left
03:09
csd_ left
|
|||
dj_goku | m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$; say %h.perl | 03:09 | |
camelia | rakudo-moar 97ef74: OUTPUT«{}» | ||
dj_goku | m: my %h; my $oh = {1=>2, 3=>4}; %h.append: %$oh; say %h.perl | ||
camelia | rakudo-moar 97ef74: OUTPUT«{"1" => 2, "3" => 4}» | ||
zengargo1le | autarch: is there an easy way to see the drafts? | 03:10 | |
autarch | zengargo1le: do you have a blog login? | 03:11 | |
all posts are at perl6advent.wordpress.com/wp-admin/edit.php | |||
mine is day 11 | |||
zengargo1le | nope | ||
autarch | one sec | 03:12 | |
perl6advent.wordpress.com/2015/12/...in-perl-6/ - password is advent | |||
dalek | kudo-star-daily: d580869 | coke++ | log/ (2 files): today (automated commit) |
03:14 | |
MadcapJake | ShimmerFairy: if I install into /usr/local how do I install panda? | ||
ShimmerFairy: oh did I just need to use sudo? | 03:16 | ||
dj_goku is giving a concurrency talk kc.pm tomorrow hopefully I do well. | 03:17 | ||
zengargo1le | autarch: that last link just gets me a not found page | 03:18 | |
autarch | argh | ||
one sec | 03:19 | ||
ShimmerFairy | MadcapJake: I don't sudo panda, I just have it install stuff in ~/.perl6 | ||
MadcapJake | oh | ||
03:20
csd_ joined
|
|||
autarch | zengargo1le: perl6advent.wordpress.com/2015/12/...in-perl-6/ | 03:20 | |
zengargo1le | autarch: ok, that worked... will read. :) | 03:21 | |
autarch | thanks! | ||
MadcapJake | ShimmerFairy: why does it give me a permission denied if I try to install to there without using sudo? | 03:22 | |
ShimmerFairy | weird | ||
MadcapJake | I used `--prefix=/usr/local` when installing perl6, which requires sudo right? | 03:23 | |
hahainternet | MadcapJake: yes, /usr/local is part of the filesystem typically owned by root | ||
geekosaur | what platform? | ||
hahainternet | i assume someone else has mentioned rakudobrew already :) | 03:24 | |
geekosaur | because on OS X with Homebrew, /usr/local is typically made writable by you | ||
hahainternet | oh i forgot OSX has wacky stuff | ||
MadcapJake | rakudobrew won't let me use commits I made to rakudo though right? | ||
geekosaur | this is not OS X stupid, it's Homebrew stupid | ||
MadcapJake | i'm on linux/ubuntu | ||
hahainternet | geekosaur: i'll stick with 'wacky' :D | ||
geekosaur | that and the curl|sh installer give me hives | 03:25 | |
03:25
csd_ left
|
|||
hahainternet | and MadcapJake i see, well i don't know much about rakudobrew but just create yourself a local directory for your builds | 03:25 | |
i typically have ~/.local/projectname/ for local binaries, so golang and perl etc | |||
03:26
keix left
|
|||
zengargo1le | autarch: are you going for ideal or actual? :) pod outside of =begin pod/=end pod works just fine. | 03:27 | |
[Pod::Heading.new(level => 1, config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["NAME"])]), Pod::Heading.new(level => 1, config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["SYNOPSIS"])])] | 03:28 | ||
=head1 NAME=head1 SYNOPSIS | |||
ah, maybe not say this "All Pod blocks must be delimited with =begin pod and =end pod markers." but go into the 3 types and then mention =begin pod/=end pod as a common container like thing. mostly just means inside here is POD only, no code. | 03:33 | ||
03:33
kaare_ joined
|
|||
zengargo1le | the example1.p6 code looks to have a spurrious 'perl6' as the first line.... | 03:41 | |
dj_goku | hmm. | ||
I am getting random failures with this code: fpaste.scsys.co.uk/502527 | 03:42 | ||
oh I bet it is hitting thread limit. | 03:43 | ||
zengargo1le | Unlike with Perl 5, in Perl 6 Pod syntax is purely semantic. In other words, you describe what something is, rather than how to present it. -- in theory, Perl 5 pod is just as semantic... B<> still meant basis, I<> still important ... i think the only *format* thing was =over/=back maybe.. | 03:45 | |
autarch | zengargo1le: oh, I was just going by the synopsis on the begin/end thing | 03:46 | |
zengargo1le: no, Perl 5 pod had =over 4, etc | |||
zengargo1le | maybe mention that =begin/=end wrap and =for/=block end at the first blank line. maybe mention indenting. | 03:47 | |
03:47
Jesseract joined
|
|||
zengargo1le | yeah =over is the only sorta-formatting thing i can think of in Perl 5 | 03:48 | |
and it ended up just being something to wrap =item in. | |||
03:56
abraham joined
03:57
abraham left
|
|||
ShimmerFairy | Pod 6 lets you use any kind of block in code, it's just that =begin pod/=end pod are the nicest (if not best) way of delineating a "document" instead of a couple blocks here and there :) | 03:58 | |
zengargo1le | C<=pod> No "ambient" blocks inside | ||
autarch | I'll change that part | 03:59 | |
ShimmerFairy | e.g. you could use =head1, =head2, etc. on their own just to section parts of your file :P | 04:01 | |
zengargo1le | =begin pod lets you have =head1 foosome para stuff indented code example that if not in a pod section would be real code=end pod | 04:02 | |
actually, the para would be real code as well... | 04:03 | ||
04:04
AW3i joined
|
|||
zengargo1le | autarch: otherwise, nothing jumps out as awkward or confusing... so looks pretty good. | 04:06 | |
autarch | zengargo1le: thanks for reviewing it | ||
04:08
Herby__ left
04:09
Ben_Goldberg left
04:11
jdong11 joined
|
|||
jdong11 | perl6 will be comming,really? | 04:11 | |
04:13
zengargo1le is now known as zengargoyle
|
|||
dj_goku | Zoffix: lol ^^ j₫ joined! | 04:13 | |
04:21
kaare_ left
04:22
cognominal_ left
04:25
adu joined
|
|||
zacts | does perl6 have any decent support for threads? | 04:27 | |
I think Perl5 had poor support? (or am I mistaken) | |||
Perl6 that is (caps 'P') | 04:28 | ||
dj_goku | zacts: checkout: doc.perl6.org/language/concurrency | ||
zacts | cool | ||
dj_goku | zacts: what are you wanting to do? | 04:29 | |
zacts | dj_goku: oh it was just a general curiosity question | ||
MadcapJake | oops apparently tilde in Configure.pl's prefix argument doesn't work :P | ||
zacts | although, I do have to say I love the nice and pretty web design of the Perl6 doc | ||
04:29
vendethiel joined
|
|||
zacts | dj_goku: I'm just learning about concurrency from another language, and I am eager to try it out with Perl6 sometime | 04:30 | |
but I think your link has all the answers I need for now | |||
so just curious... :-) | |||
AlexDaniel | jdong11: yeah | 04:31 | |
jdong11: well, Perl 6 was pretty useful for quite some time now | |||
jdong11: so it should not be so surprising :) | 04:32 | ||
dj_goku | zacts: outside of just using gearman for queue client/worker. I haven't I don't have much experience. I am current working on examples and give a talk tomorrow about those things listed on the concurrency page. | ||
zacts | oh nice | ||
dj_goku: if you get a recording or slides, I would be interested | |||
AlexDaniel | zacts: long story short: it is pretty awesome | ||
zacts | AlexDaniel: nice! | 04:33 | |
MadcapJake | is there any way to improve how fast the parse stage is for compiling rakudo? | ||
how long does it take people? | |||
AlexDaniel | MadcapJake: a few minutes | ||
MadcapJake | Mine takes 83.585 seconds | ||
hoelzro | MadcapJake: a minute or two | ||
zacts | All this progress with Perl6, and an upcoming release, is making me eager to learn enough to contribute towards Perl6 modules | ||
hoelzro | that's pretty typical | ||
AlexDaniel | zacts: that'd be great! | 04:34 | |
hoelzro | zacts++ | ||
zacts | =) | ||
is rakudo implemented in C? | |||
hoelzro | rakudo is implemented in NQP | ||
MadcapJake | why do I need sudo to install to ~/.local o_O | ||
hoelzro | which is a subset of Perl 6 | ||
MadcapJake: o_O | |||
dj_goku | zacts: lol I am just now starting the night before. Not sure how well it'll go. :D | ||
zacts: coders block. | |||
MadcapJake | "mkdir /home/jrusso/.local/share/nqp/lib/Perl6: Permission denied at /usr/share/perl/5.20/ExtUtils/Command.pm line 288.' | 04:35 | |
AlexDaniel | hoelzro: I thought that parts of it are full-blown Perl 6, am I wrong? | ||
zacts | dj_goku: oh that's cool | ||
hoelzro | AlexDaniel: ah, yes, good point | ||
zacts | if it's a success just /msg me tomorrow or wednesday | ||
hoelzro | src/core/ is in Perl 6 | ||
zacts | it's monday still in my timezone | ||
zengargoyle | MadcapJake: did you sudo something that touched .local previously? sometimes you can sudo and muck permissions so that you don't own it anymore... | ||
hoelzro | the rest (barring a few VM-specific things) is in NQP | ||
zengargoyle | sudo chow -R you:yourgroup .local | ||
dj_goku | zacts: CDT here. | ||
AlexDaniel | zacts: MoarVM though is implemented in C | ||
zacts | MDT USA here | 04:36 | |
dj_goku | zacts: colorado? | ||
zacts | New Mexico | ||
dj_goku | 42 seconds to 'stage parse' here! | ||
zacts: ahh sweet. where at? | |||
zacts | ABQ | ||
AlexDaniel | zacts: but most of the time it should not matter for you much since most contributions are actually happening in rakudo | ||
dj_goku | albq has an awesome balloon festival. :D | 04:37 | |
zacts | AlexDaniel: ah nice, so rakudo is mainly implemented in Perl6, and the VM it runs on top of C? | ||
AlexDaniel | zacts: correct | ||
zacts | neato | ||
well, hopefully I can get involved soon | |||
04:37
WizJin left
|
|||
AlexDaniel | zacts: well, Perl 6 and NQP. NQP is not quite Perl 6, so you can't say that it is just Perl 6 :) | 04:37 | |
zacts | even if just a few patches | ||
zengargoyle | albu has awesome green chile | 04:38 | |
hoelzro | the plus of working on Moar is that your compile times are a lot shorter =P | ||
AW3i | how are the performances fairing currently vs perl5 | ||
zacts | zengargoyle: indeed | ||
AW3i | i've seen some graphs some months ago they looked decent | ||
AlexDaniel | AW3i: depends | ||
hoelzro | MadcapJake: depdending on what you're doing, there are some tricks you can pull to get around having to parse | ||
AlexDaniel | AW3i: startup time is a bit slow-ish | ||
AW3i: everything else is indeed decent, but if you start doing some heavy tasks you may find it really slow | 04:39 | ||
AW3i | oh ok thanks | 04:40 | |
sadly I don't have the time to play around with perl6 yet :/ | |||
hoelzro | MadcapJake: are you still working on the Perl6::Compiler stuff? | ||
MadcapJake | hoelzro: yeah | ||
AlexDaniel | AW3i: well, feel free to abuse camelia here | ||
hoelzro | MadcapJake: need any help? | ||
AlexDaniel | m: say tau * ½ | ||
camelia | rakudo-moar 97ef74: OUTPUT«3.14159265358979» | ||
AW3i | sure will do | ||
MadcapJake | hoelzro: well i was having trouble testing it within the src dir because it was looking in the wrong place. So then I fumbled around getting it to properly install, now I'm hoping that I'll have it in ~/.local *fingers crossed* | 04:41 | |
hoelzro crosses fingers too | 04:42 | ||
let me know if you need another pair of eyes on it! | |||
MadcapJake | alright, thanks! | ||
hoelzro | I feel like I got you into this mess =/ | 04:43 | |
but hey, if you stick with it, future contributions to Rakudo will be a cinch ;) | |||
dj_goku | hehe | 04:44 | |
MadcapJake | looks like perl6 installed, now panda is giving me permission errors: Failed to open file /home/jrusso/github/panda/ext/Shell__Command/lib/.precomp/.lock: permission denied | ||
I tried to run `perl6 bootstrap.pl --prefix=/home/jrusso/.perl6 | |||
zengargoyle | MadcapJake: you probably have previous sudo damage left over. | 04:45 | |
04:45
labster left
|
|||
zengargoyle | created something as root, now can't touch it anymore. | 04:45 | |
MadcapJake | gah, that's what happened to my .local folder too xD | ||
zengargoyle | what it sounds like to me. | ||
zengargoyle has done that often enough..... | 04:46 | ||
dj_goku | delete all the things! | ||
zengargoyle | sudo chown -R | ||
MadcapJake | to what though? | ||
dj_goku | or that. | ||
MadcapJake | I deleted .perl6, and it's still saying that o_O | ||
zengargoyle | _Command/lib/.precomp/.lock | ||
get rid of all the .precomp files under panda/ext/* | 04:47 | ||
or chown them | |||
MadcapJake | `sudo rm -rf ~/github/panda/**/.precomp` did the trick | 04:48 | |
04:49
WizJin joined
04:51
Jesseract left
04:52
vendethiel left
|
|||
AlexDaniel | I wonder what would be the shortest Perl 6 program demonstrating most of its killer features. e.g. 「say τ² * ½」 is already cool, now add some hyper operators, phasers, junctions, multiple dispatch, infinite lists, async stuff… | 04:54 | |
hahainternet | use unicode division instead of ugly * :) | 04:55 | |
AlexDaniel | hahainternet: unicode division? | ||
hahainternet | but yeah, you'd want to build some sort of infinite list using tau² and do so in a threaded manner i guess | ||
AlexDaniel: there are unicode symbols for division, i don't know if any are supported | |||
but it was discussed the other day | |||
04:55
herby_ joined
|
|||
AlexDaniel | m: say 2 ÷ 5 # ehh… | 04:56 | |
camelia | rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MX06vePP_WConfusedat /tmp/MX06vePP_W:1------> 3say 27⏏5 ÷ 5 # ehh… expecting any of: infix infix stopper postfix statement end statement…» | ||
AlexDaniel | m: say 2∕3 | 04:57 | |
camelia | rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W2ct8etSguBogus postfixat /tmp/W2ct8etSgu:1------> 3say 27⏏5∕3 expecting any of: infix infix stopper postfix statement end statement modi…» | ||
dj_goku | m: say 2/3 | 04:58 | |
camelia | rakudo-moar 97ef74: OUTPUT«0.666667» | ||
dj_goku | :D | ||
AlexDaniel | hahainternet: but yeah, I mean existing features. There were enough to make my jaw drop at the time. | ||
MadcapJake | why is panda saying "could not find Panda" | 04:59 | |
glaukommatos | Sorry this is a hard thing to Google. Does Perl6 have an equivalent concept to a Java Interface or a Ruby Module? I'm not sure what to call it when googling Perl6 things. :) | 05:00 | |
grondilu | m: say .[100] given [\+] 1, * * i*pi/++$ ... * | 05:01 | |
camelia | rakudo-moar 97ef74: OUTPUT«-1+2.34844611971802e-16i» | ||
konobi | glaukommatos: how would you describe those? | ||
hoelzro | MadcapJake: o_O | 05:02 | |
glaukommatos, konobi: sounds like roles | |||
skids | glaukommatos: You mean like a list of required things for a class to implement? | ||
dj_goku | glaukommatos: like this: doc.perl6.org/language/modules | ||
05:02
jdong11 left
|
|||
AlexDaniel | doc.perl6.org/language/objects#Roles | 05:03 | |
glaukommatos | I was looking for roles. Thank you everyone! | 05:04 | |
skids | m: role A { method foo {...} }; class B does A { }; | ||
camelia | rakudo-moar 97ef74: OUTPUT«===SORRY!===Method 'foo' must be implemented by B because it is required by a role» | ||
dj_goku hasn't learned yet. | |||
AlexDaniel | compile-time error, nice | ||
MadcapJake | this doesn't even make sense | ||
glaukommatos | Oh, this class Potato does Delicous {...} style is awesome. | 05:05 | |
'does' is such a perlish keyword for this <3 | |||
MadcapJake | i'm off to bed, g'night #perl6 | ||
05:05
WizJin left
|
|||
hahainternet | you'd probably want something more like class Potato is DeliciousFood does Tastable imho | 05:05 | |
hoelzro | nigh MadcapJake | ||
hahainternet | but ymmv | ||
also AlexDaniel yeah sorry i didn't know if it got added or not | |||
dj_goku | night MadcapJake | ||
hoelzro | MadcapJake: if you want, I can try to clean up the code from Friday and push it up | 05:06 | |
glaukommatos | Yeah, my example was horrible, yours actually makes sense. ;) | ||
AlexDaniel | yeah, I'm off to bed too o/ | ||
hoelzro | night AlexDaniel | 05:07 | |
grondilu | m: say 1 =~= 1 + 1e-16*i | ||
camelia | rakudo-moar 97ef74: OUTPUT«True» | ||
grondilu | m: say -1 ≅ 1 + [+] [\*] i*π/++$ xx 100; | 05:08 | |
camelia | rakudo-moar 97ef74: OUTPUT«False» | ||
grondilu | m: say 1 + [+] [\*] i*π/++$ xx 100; | ||
camelia | rakudo-moar 97ef74: OUTPUT«-1+3.33571076257198e-16i» | ||
grondilu | m: say -1 ≅ -1+3.33571076257198e-16i; | 05:09 | |
camelia | rakudo-moar 97ef74: OUTPUT«True» | ||
05:09
adu left
|
|||
grondilu is not sure what's going on above | 05:09 | ||
05:10
MadcapJake left
|
|||
hoelzro goes off to bed as well now | 05:10 | ||
skids too | |||
05:12
AlexDaniel left
05:14
herby_ left
05:15
skids left
05:16
WizJin joined
05:18
adu joined
|
|||
moritz | good morning | 05:19 | |
.tell tadzik we're eagerly await your advent calendar post for today | |||
yoleaux | moritz: I'll pass your message to tadzik. | ||
05:31
csd_ joined
05:32
labster joined
05:35
labster left
05:36
csd_ left
|
|||
adu | \o | 05:39 | |
05:39
khw left
05:46
km3 joined
05:51
km3 left
05:55
km3 joined
06:13
glaukommatos left
06:18
darutoko joined
06:21
qwebirc801678 joined
|
|||
qwebirc801678 | m: say Date.today.later(weeks => 2) | 06:22 | |
camelia | rakudo-moar 97ef74: OUTPUT«2015-12-22» | ||
qwebirc801678 | m: say Data.new(now).later(weeks => 2) | ||
camelia | rakudo-moar 97ef74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9U8goqUgHOUndeclared name: Data used at line 1. Did you mean 'Date'?» | ||
qwebirc801678 | m: Date.new(now).later(weeks => 2) | ||
camelia | ( no output ) | ||
qwebirc801678 | say Date.new(now).later(weeks => 2) | ||
m: say Date.new(now).later(weeks => 2) | 06:23 | ||
camelia | rakudo-moar 97ef74: OUTPUT«2015-12-22» | ||
06:23
leat joined,
qwebirc801678 left
06:24
qwebirc767797 joined,
qwebirc767797 left
06:25
qwebirc322196 joined
|
|||
qwebirc322196 slaps ChristopherBotto around a bit with a large fishbot | 06:25 | ||
06:25
MadcapJake joined
|
|||
qwebirc322196 | Oops. I left myself logged into #perl6 at work. Can I log myself off somehow? | 06:26 | |
geekosaur | are you registered with nickserv? | ||
qwebirc322196 | Yes | ||
geekosaur | /msg nickserv ghost <yourpasswordhere> | 06:27 | |
...wait | |||
/msg nickserv ghost <yournickhere> <yourpasswordhere> | |||
sorry | |||
qwebirc322196 | geekosaur: Thanks! | ||
Oh, well. I guess I'm not registered. The show goes on ... | 06:30 | ||
m: say Date.today.later(weeks => 2) | |||
camelia | rakudo-moar 97ef74: OUTPUT«2015-12-22» | ||
qwebirc322196 | m: say Date.new(now).later(weeks => 2) | ||
camelia | rakudo-moar 97ef74: OUTPUT«2015-12-22» | ||
qwebirc322196 | m: say Date.new().later(weeks => 2) | 06:31 | |
camelia | rakudo-moar 97ef74: OUTPUT«2016-01-07» | ||
qwebirc322196 | say Date.new() | ||
m: say Date.new() | |||
camelia | rakudo-moar 97ef74: OUTPUT«2015-12-24» | ||
qwebirc322196 | Is there a reason that Date.new() defaults to Christmas Eve? | ||
quit | 06:35 | ||
06:36
qwebirc322196 left
06:40
yqt left
06:49
geraud left
|
|||
llfourn is reminded that Date.new default should probs change soon... | 06:49 | ||
07:05
CIAvash joined
07:06
rudi_s_ is now known as rudi_s
|
|||
Hotkeys | it should default to christmas | 07:13 | |
konobi | which christmas? | 07:14 | |
MadcapJake | .tell hoelzro I pushed my PR, the problem was my install. using prefix failed miserably for me so I just let it install right inside rakudo directory! :D I was wondering if you could point me to where I could add a commandline arg? If I add a "banner", I want there to be a `-q` or `--quiet` option for removing the banner. | 07:16 | |
yoleaux | MadcapJake: I'll pass your message to hoelzro. | ||
MadcapJake | .botsnack | 07:17 | |
yoleaux | :D | ||
MadcapJake | .u bulb | 07:20 | |
yoleaux | U+1F4A1 ELECTRIC LIGHT BULB [So] (💡) | ||
[Tux] | pbs.twimg.com/media/CVrnhpSXAAA2Aut.jpg <= the student used perl6. No other answer would have been correct | ||
07:22
noam_ left
|
|||
vytas | owh no, no advent calendar today | 07:22 | |
MadcapJake | .u bulb | 07:28 | |
yoleaux | U+1F4A1 ELECTRIC LIGHT BULB [So] (💡) | ||
07:34
xinming left,
xinming joined
|
|||
dalek | kudo/nom: cee77a3 | grondilu++ | src/core/native_array.pm: minor improvement in permutations do not create lexical scope for initial test, as suggested by timotimo |
07:35 | |
kudo/nom: a0eb104 | lizmat++ | src/core/native_array.pm: Merge pull request #622 from grondilu/patch-4 minor improvement in permutations |
|||
kudo/nom: b7f0bcc | (Jake Russo)++ | src/Perl6/Compiler.nqp: Fix repl crashing on missing .so files |
|||
kudo/nom: e19741a | lizmat++ | src/Perl6/Compiler.nqp: Merge pull request #623 from MadcapJake/nom Fix repl crashing on missing Linenoise .so file |
|||
07:39
labster joined
|
|||
[Tux] | my utf8-c8 still segfaults | 07:40 | |
test 50000 23.469 23.357 | 07:42 | ||
test-t 50000 16.661 16.550 | |||
csv-parser 50000 25.715 25.604 | |||
07:45
Woodi left,
xinming left
07:46
xinming joined
07:49
sno left
07:55
adu left
07:57
jkva joined
|
|||
_nadim | Good morning everyone. | 07:57 | |
moritz | \o | 08:02 | |
08:10
glaukommatos joined
08:15
glaukommatos left
|
|||
masak | morning, #perl6 | 08:15 | |
yoleaux | 00:52Z <ShimmerFairy> masak: I just had a thought about the ugly {{{}}} syntax: what about a vaguely Lisp-inspired `{} ? After all, the backtick is free in P6 :) . (Though I don't think it'd have quite the same meaning as `(), hence "vaguely inspired") | ||
masak | ShimmerFairy: it'd have the "opposite" meaning. unquotes are more akin to the ,myvar syntax. using `{} would be needlessly confusing. | 08:16 | |
as for myself, I'm starting to come around to keeping {{{ }}} :) | 08:17 | ||
(but I've had a few cycles of disliking it and liking it again, so who knows where we'll end up) | |||
more pressing now than syntactical concern is getting the semantics goodenuf | |||
moritz | what I really dislike about {{{}}} is that it's mis-parsed as nested blocks if it's a place where we expect not {{{}}} | ||
ShimmerFairy | masak: again, hence "vaguely inspired". I just thought of it as something distinct-looking (using backtick) that doesn't suck, which happened to be inspired by looking at lisp stuff :) | 08:18 | |
masak | moritz: yes, that's obviously not going to be acceptable in the long run | ||
ShimmerFairy: yes, but ` is Lisp for "quasi", not "{{{ }}}" | |||
(though as pdcawley points out, Perl 6's quasiquoting construct is different enough that maybe it shouldn't even be called "quasi") | 08:19 | ||
ShimmerFairy | masak: while true, I don't think that's a good argument for not doing it. My thought process was just "Hey, what if this `() looked like `{} and we used it instead of {{{}}}? That ` would highlight something very different going on" | 08:20 | |
masak | ShimmerFairy: "strangely consistent" is all about using loose connections people have in their brains, so that a feature feels syntactically vaguely right for various reasons. your proposal does the opposite. | 08:21 | |
08:22
jkva left
|
|||
ShimmerFairy | masak: eh, if I didn't mention the very-vaguely Lisp-inspired bit, you probably wouldn't've noticed. And I think "we don't use the backtick" far far far outweighs "a Lisper might somehow get momentarily confused perhaps" | 08:23 | |
masak goes and does something else | 08:24 | ||
vytas | just use unicode characters until you come up with suitable texas version (= | 08:25 | |
vytas doesn't know what {{{}}} does though :) | |||
08:26
sno joined
|
|||
TEttinger | is not using any non-english-keyboard characters called texas because "we speak american in texas"? | 08:26 | |
masak | vytas: it's a "hole in the program" where macros can put in program fragments. | ||
TEttinger | or is it related to texas instruments in some way | 08:28 | |
masak | TEttinger: it's "Texas" because the ASCII variants are longer, and everything's bigger in Texas. | ||
TEttinger | ha | ||
masak | ⦃ ⦄ is probably the closest Unicode equivalent to {{{ }}} | ||
TEttinger | haha | 08:29 | |
masak | but I don't see that we need to go there | ||
TEttinger | m: say ⦃ 1 ⦄ | ||
camelia | rakudo-moar e19741: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/qjsz7jghCO:1------> 3say7⏏5 ⦃ 1 ⦄Bogus postfixat /tmp/qjsz7jghCO:1------> 3say 7⏏5⦃ 1 ⦄ expecting any of: infix infix stopper…» | ||
TEttinger | those are some rather fancy braces | 08:30 | |
masak | I know about them because I used them in an 007 issue already :) | ||
TEttinger | ha | 08:31 | |
is the CLR version of Perl6 that isn't based on parror or Moar still going? | |||
*parrot | |||
moritz | no | 08:32 | |
niecza is dead :( | |||
TEttinger | pity. | ||
masak | sic transit gloria softwari | ||
moritz | blessya | 08:33 | |
timotimo | grondilu: were you able to measure an improvement in the permutations change i suggested? | 08:36 | |
Hotkeys | .u ⦃ | 08:38 | |
yoleaux | U+2983 LEFT WHITE CURLY BRACKET [Ps] (⦃) | ||
Hotkeys | can we get ﴾ ﴿ | ||
El_Che | the latest moar build from rakudobrew fixes the record (separator) issue I had! I could specify "\n\n" as a record separator. nl-in works fine now. Thx | 08:39 | |
it mades my code a lot simplier | |||
Hotkeys | m: say ﴾ 1 ﴿ | ||
camelia | rakudo-moar e19741: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/vuzmLgi8VZ:1------> 3say7⏏5 ﴾ 1 ﴿Bogus postfixat /tmp/vuzmLgi8VZ:1------> 3say 7⏏5﴾ 1 ﴿ expecting any of: infix infix stopper…» | ||
Hotkeys | m: say Q﴾Hello World﴿ | 08:40 | |
camelia | rakudo-moar e19741: OUTPUT«Hello World» | ||
Hotkeys | that's going to be my new quoting delimiter | ||
you heard it here first | |||
Consolas tries really hard on those i.imgur.com/soF3KlE.png | 08:42 | ||
08:42
Ven joined
|
|||
moritz | woah there | 08:43 | |
masak | .u ﴾ | 08:44 | |
yoleaux | U+FD3E ORNATE LEFT PARENTHESIS [Ps] (﴾) | ||
masak | "ornate", huh? | 08:45 | |
Hotkeys | I made it size 72 to show | ||
masak | you can't just make stuff up like that, Unicode consortium! | ||
Hotkeys | yeah consolas makes them real ornate | ||
masak shakes fist | |||
moritz | i'm sure there's some medieval math treatise that used ornate parenthesis | 08:47 | |
masak | "andh hyre we taken ye 2 and adden ty ye odder 2..." | 08:48 | |
08:49
yakudza joined
|
|||
grondilu | timotimo: I could not see much improvement but there is probably some, at least marginally. | 08:49 | |
08:54
snarkyboojum left
|
|||
timotimo | hmm, hmm. | 08:54 | |
if my suspicios was correct and it removes a takeclosure op, that's a bit of cost that gets paid every time the method is entered and allocates a BOOTCode (the profiler would show this) | 08:55 | ||
Hotkeys | masak: "and hēr ƿé ábiraþ se 2 and ætíecan tō se oþres 2..." | 09:01 | |
I did my best to translate to old english without any knowledge of old english | |||
09:03
xinming left
09:04
xinming joined
|
|||
masak | Hotkeys: I'm more impressed by your effort than by mine. | 09:05 | |
Hotkeys | I kind of want to learn Old English now | 09:06 | |
09:09
xinming left
|
|||
dalek | kudo/nom: 036e19a | lizmat++ | docs/announce/2015.12.md: Fix apparent vim-ish dropping |
09:12 | |
09:12
glaukommatos joined,
Guest50923 left
09:14
dakkar joined
09:15
yoleaux left,
{dpk} left
09:17
glaukommatos left
|
|||
gfldex | timotimo: in addition to post code found here on the intarwebs it may make sense to link to the IRC logs. perl6.org/community/ may benefit from those logs too. | 09:21 | |
timotimo | hum? | ||
gfldex | irclog.perlgeek.de/perl6/today <-- you have to google that, so some newling has to know what to look for | 09:22 | |
09:23
xinming joined
09:24
labster left
|
|||
lizmat | timotimo++ # P6W | 09:25 | |
09:26
lolisa left
|
|||
timotimo | thank you :) | 09:26 | |
gfldex: i have no idea what you're saying this in reference to | 09:27 | ||
gfldex | "To go through all evaluated pieces of code in the irclog and highlight some of them in this blog on some other day of the week." | 09:28 | |
i like that idea very much btw | |||
timotimo | oh | 09:31 | |
lizmat | don't we have another advent post ready that could be moved to today ? | ||
timotimo | i was suggesting that *I* would go through the irclog | ||
not my readers | |||
lizmat | afk for a few hours& | ||
gfldex | you can be so greedy at this festive time! | 09:32 | |
*can't | 09:33 | ||
i didnt have my morning tea yet it seams | |||
09:35
CIAvash left
09:37
roguelazer left
|
|||
[Tux] | pbs.twimg.com/media/CVsZobHWIAAlBJW.jpg | 09:37 | |
timotimo | m( | 09:38 | |
09:38
roguelazer joined
09:39
mohae left,
CIAvash joined
|
|||
El_Che | I think that irc logs is something to chaotic to put forward as an archive (and some people would dislike the logging). I think that irc should be put forward as a way of live help or contribution. | 09:46 | |
09:46
RabidGravy joined
|
|||
_nadim | hi, given a class with a routine, can I get the routine object? something like $routine = C::D::routine | 09:46 | |
09:47
mohae joined
|
|||
llfourn | _nadim: C::D::<&routine> | 09:47 | |
_nadim | thanks | ||
llfourn | it should be our scoped though | ||
timotimo | llfourn: that only works if the routine is an "our" routine, no? | ||
yeah | |||
llfourn | :D | ||
timotimo | m: class T { our sub foo() { say "ohai" } }; T::foo(); my $sub = T::<&foo>; $sub() | 09:48 | |
camelia | rakudo-moar 036e19: OUTPUT«ohaiohai» | ||
09:48
xinming left
|
|||
grondilu thought the syntax was &T::foo | 09:48 | ||
llfourn thinks you can do it that way too | |||
timotimo | i think so, too | ||
cosimo | w/in 27 | ||
_nadim | how does one get | 09:49 | |
09:49
xinming joined
|
|||
timotimo doesn't get | 09:49 | ||
grondilu | the suspense is unbearable | ||
_nadim | Oops, I meant that I can get something that is not declared as our but I get an Any, not a Routine | ||
llfourn | m: class T { method foo { say "ohai" } }; T.foo; # _nadim: to me this is clearer | ||
camelia | rakudo-moar 036e19: OUTPUT«ohai» | ||
llfourn | _nadim: can you gold what you are trying to do? | 09:50 | |
_nadim | llfourn: I am writting a dumper | ||
grondilu | if it's not declared as "our", it's declared as "my". So you can't access it from the outside. | ||
_nadim | I want to test what it does when it get a routine | ||
llfourn | _nadim: if you are writing a dumper you should use the MOP to introspect the class and dump stuff | 09:51 | |
_nadim | URL please | ||
llfourn | m: class T { method foo { say "ohai" } }; .say for T.^methods; | ||
camelia | rakudo-moar 036e19: OUTPUT«foo» | ||
_nadim | but in this case I am not dumping a class, just a Routine | 09:52 | |
09:52
jdong joined
|
|||
llfourn | _nadim: what do you mean by "Routine"? | 09:52 | |
Routine is a role afaik | |||
jdong | perl6, amazing !!!! | ||
_nadim | Note that $routine = Data::Dump::Tree::<&dump> works and it is not declare as our | 09:53 | |
09:53
Averna joined
|
|||
_nadim | llfourn: good to know, so I can't get objects that are just routines | 09:54 | |
stmuk | can anyone reproduce [perl #126840] $*KERNEL and env lookup? | ||
llfourn | Methods, Submethods and Subs are routines I think | ||
_nadim | Sub is too | ||
stmuk | I have seen that warning on building panda but not how described in the ticket | ||
_nadim | sorry, didn't scan the Sub in your comment | 09:55 | |
09:55
pippo joined
|
|||
gfldex | _nadim: and you can get stuff that you are not looking for when talking to the dispatcher. see: design.perl6.org/S12.html#FALLBACK_methods (and a few other things) | 09:57 | |
_nadim | doc.perl6.org/type/Sub says that Sub is derived from Routine, and doc.perl6.org/type/Routine says it is a class not a role | ||
llfourn | _nadim: that's why we have docs :) | 09:58 | |
m: say Routine.new | |||
camelia | rakudo-moar 036e19: OUTPUT«Cannot make a Routine object using .new in block <unit> at /tmp/gLB0RfEbrb:1» | ||
llfourn | you are right it's a class | 09:59 | |
_nadim | docs will get better, that's the way of docs ;) | ||
gfldex: thanks, I'll check | 10:00 | ||
10:03
yeahnoob left
|
|||
llfourn | _nadim: what is Data:::Dump::Tree? | 10:06 | |
Ven | there's a perl6advent in my rss, but it 404, surprising :o | ||
also, hi #perl6 o/ | |||
timotimo | so ... is someone going to write an emergency advent post? %) | 10:07 | |
10:07
leont joined
|
|||
RabidGravy | it should be "Grammars generating grammars" by tadzik | 10:10 | |
stmuk | it is/was his birthday according to /last .. maybe he is still asleep after partying :) | 10:12 | |
TEttinger | grammas generating grammars | ||
10:12
espadrine joined
10:13
glaukommatos joined
|
|||
Ven | timotimo: is there a perl6advent post about sized types? | 10:14 | |
10:18
hankache joined,
glaukommatos left
|
|||
timotimo | i don't think so | 10:18 | |
i have no idea, really | |||
10:21
havenn joined,
havenn left,
havenn joined
|
|||
El_Che | has anyone experience problems with the react syntax and channels? sometime there seem to be a deadlock (the react block just prints $_, nothing fancy | 10:21 | |
10:21
cpage__ joined
10:22
cpage left,
cpage__ is now known as cpage,
havenwood left,
havenn is now known as havenwood
|
|||
timotimo | i haven't done much with it yet | 10:23 | |
10:25
hankache left
|
|||
El_Che | I had trouble with the whatever syntax (share state among class instances!), but it got replaced by the react syntax. | 10:25 | |
10:26
Ven left
|
|||
El_Che | the channel->poll syntax works, the react syntax is a lot nicer, but sometimes it hangs | 10:26 | |
(creating a bug report with minimal ogic) | |||
l | |||
10:27
yqt joined
|
|||
timotimo | i'll look at your code :) | 10:28 | |
El_Che | thx | 10:30 | |
10:31
mohae left
|
|||
[Tux] | if (my $fh = open "files/macosx.csv", :r) { | 10:32 | |
=> | |||
Failed to open file /home/travis/build/Tux/CSV/files/macosx.csv: no such file or directory | |||
in block <unit> at t/45_eol.t:167 | |||
which is why Travis fails | |||
how to make that uncrashing? | |||
10:33
donaldh joined
10:34
mohae joined
|
|||
timotimo | the advent calendar for this year has already reached 41k views (including all the views from the earlier months of the year) | 10:43 | |
last year had a total of 50k views | 10:44 | ||
RabidGravy | fabulous | ||
timotimo | it's hard to tell how many views each article has gotten, because we don't have "read more" buttons on most of them | ||
but it seems like the "unicode, perl6 and you" article has been getting a bunch of direct links: 2.6k views | 10:45 | ||
10:45
brrt joined
|
|||
nine | timotimo: Unicode, Perl6 and you was linked from lwn.net which should bring a lot of traffic | 10:46 | |
timotimo | ah, lwn! | ||
it was also discussed on hackern00z | 10:47 | ||
10:50
mohae left
10:53
km3 left
|
|||
RabidGravy | I do think the sheer fabulousness of the unicode implementation is going to be the winner, people can bitch and moan about the OO, about the functional features about the sigils but there's no gainsaying the unicode stuff | 10:55 | |
10:55
dpk joined
|
|||
timotimo | of course there is | 10:56 | |
nine | RabidGravy: well, look at Cyberax' comment: lwn.net/Articles/667036/ | ||
timotimo | "fuck rakudo, i can't open a 4gb log file because it becomes 4x as big in RAM! | ||
who made this crap!" | |||
etc etc | 10:57 | ||
El_Che | $ perl6-debug-m ChannelReact.pm6 => Could not find Debugger::UI::CommandLine:ver<True>:auth<True>:api<True> | ||
sjn reads mdk's annoucement about jnthn not coming to lpw :-\ | |||
El_Che | on the latest rakudo build | ||
sjn | wow, that really sucks, jnthn :-( | ||
tadzik | RabidGravy: timotimo there is going to be a post, fear not :) | 10:59 | |
sjn hopes lizmat doesn't burn out from the extra work :) | |||
tadzik | or was that supposed to be 7th? | ||
timotimo | cool, tadzik :) | ||
the 7th had shimmerfairys post | |||
tadzik | right | ||
nine | sjn: I'm utterly lacking the words for this situation... | ||
RabidGravy | tadzik, nah today :) | ||
tadzik | all good then, fear not :) | ||
llfourn loves Perl 6, even without the unicode | 11:00 | ||
DrForr | jnthn: If it helps I was nearly turned back at the UK border a few weeks ago, I feel your pain. | 11:01 | |
llfourn wonders what's going on | |||
DrForr | .tell jnthn If it helps I was nearly turned back at the UK border a few weeks ago, I feel your pain. | 11:02 | |
11:03
mohae joined
|
|||
stmuk | :( | 11:05 | |
11:08
robnox left
11:09
Woodi joined
11:11
ChoHag left
11:12
yoleaux joined,
ChanServ sets mode: +v yoleaux
11:13
Averna left
|
|||
RabidGravy | I'm going to give the "anonymous state variable" a sub-heading of its own in the doc.perl6.org/syntax/state#language..._Variables everyone cool with that? | 11:14 | |
timotimo | oh, god damn you, UK | ||
llfourn is ice cold | |||
RabidGravy | (i.e. a '=head3' ) | ||
llfourn | RabidGravy: you could probably =head3 X<$|variable> as well for searching purposes | 11:15 | |
ShimmerFairy | timotimo: for the record I'm still shocked my post could be so popular :3 | 11:16 | |
timotimo | hehe | ||
llfourn | RabidGravy: or =head3 The C<$> Variable should work too | 11:17 | |
(and is preferable) | |||
RabidGravy | I'm cool with that | 11:18 | |
Woodi | ShimmerFairy: being unhappy that some bugs are gone can be surprising ;) | 11:21 | |
ShimmerFairy | Yeah, it'd be funny if it's all because "hey, hear about this weird old bug?" :P | 11:22 | |
llfourn | ah. That is really frustrating. Infuriating. sucks for the LPW. | 11:23 | |
glad lizmat can cover | |||
11:24
lucasb joined
|
|||
timotimo | ShimmerFairy: i'm a big fan of the snowman comet bug! | 11:24 | |
can't wait for the slang | |||
12:11
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
tadzik | dangit | 12:11 | |
my bad :( | |||
timotimo | ;) | ||
it's all right | |||
tadzik | let's maybe pull in Day 9 now and I'll have mine ready for tomorrow? | 12:12 | |
to minimize the delay | |||
|Tux| | why does «my $fh = open "non-existing.weird.ext", :r or warn "Bummer!"» cause an exception instead of a warn? | ||
El_Che | timotimo: I have now sample code for the react+channel bug : gist.github.com/nxadm/40146386fdcf963fb3f8 | 12:13 | |
nine | |Tux|: I hope that's because Perl 6 fixed one of Perl 5's mistakes there ;) | ||
El_Che | about 15% of the time, this code get something like a deadlock | ||
lizmat | nine: shouldn't that return a Failure, though ? | ||
nine | lizmat: oh, true, we have Failure | ||
12:14
Ch0c0late joined
12:15
rurban joined
|
|||
tadzik | masak: ping | 12:15 | |
|Tux| | nine, for me that dwim's. What is the perl6 way to do it? | ||
timotimo | El_Che: yeah, i see it's behaving strangely | ||
|Tux| | and, maybe more interesting, where do you see the flaw in perl5 approach | ||
nine | IO::Handle::open contains this: # TODO: catch error, and fail() | 12:16 | |
timotimo | [Tux]: "or" doesn't have "try" semantics automatically | ||
[Tux]: when open finds an error, it throws an exception, so you don't have to "open ... or die" all the time everywhere | |||
El_Che | nine: the thing is, this code shouldn't fail | ||
|Tux| | if (my $fh = open "frubble.hyg", :r) { neither? | 12:17 | |
timotimo | [Tux]: maybe "orelse" would do the trick, as it has "exception semantics" | ||
m: die "oh no, file not found" orelse warn "bummer!" | |||
camelia | rakudo-moar 036e19: OUTPUT«oh no, file not found in block <unit> at /tmp/eYEdWYPXLD:1» | ||
timotimo | hm, no. still needs to have a try | ||
nine | |Tux|: Perl 5 swallows such errors leading to action at a distance. You have to check every call manually or use autodie; How many people do you know who check the result of every print or say? | ||
timotimo | m: try die "oh no, file not found" orelse warn "bummer!" | ||
camelia | ( no output ) | ||
|Tux| | many :) | ||
timotimo | and the precedence of "try" is too loose to get the warning | ||
|Tux| | nine, at least I know me, myself and I | 12:18 | |
nine | |Tux|: so you're the ONE! | ||
12:19
kid51 joined
|
|||
timotimo | El_Che: indeed, all threads are in uv_cond_wait here. | 12:20 | |
El_Che | timotimo: it also happens with 1 file, but less often | ||
timotimo | El_Che: one from "shift", which is likely the whenever on the channel trying to get the next value | ||
vytas | perl6advent.wordpress.com/2015/12/.../#comments am I blind or it is really telling that there are 4 comments, but shows only 3 ? | 12:21 | |
moritz | vytas: it's really doing that | ||
El_Che | timotimo: I'll simplify the code on the gist by using only 1 instance | 12:22 | |
|Tux| mubmles that Path should have an .exists and a .non-empty method | |||
vytas | thanks : ) | ||
timotimo | moritz, vytas, the fourth "thought" is the pingback at the very bottom, i think? | ||
hm, no, actually not | |||
El_Che wished that the bugtrack would be on github | 12:23 | ||
lizmat | m: "foobar".IO.e.say # [Tux] | ||
camelia | rakudo-moar 036e19: OUTPUT«False» | ||
moritz never understand what pingbacks are for | |||
timotimo | lizmat: that's not the only reason open could fail | ||
12:23
ChoHag joined
|
|||
El_Che | timotimo: here is the simplified class: gist.github.com/nxadm/3f2b78e8665346b05f94 | 12:31 | |
timotimo: I'll post a bugreport based on that | |||
timotimo | El_Che: i just copy-pasted both workers together into the get_data method and made the channel a "my" instead of a "ha" | 12:33 | |
"has". and it still hangs sometimes | |||
ShimmerFairy | vytas: could it be counting the pingback? | 12:34 | |
El_Che | ok | ||
timotimo | ShimmerFairy: it's not "a pingback", it's the link you're supposed to use to pingback | 12:35 | |
ShimmerFairy | (pingbacks are on occasion "pending comments") | ||
timotimo | El_Che: and now i removed the class entirely, replacing it with a sub. it still freezes sometimes | ||
ShimmerFairy | timotimo: huh? I'm fairly certain I've heard of pingback as a noun, not a verb :) | ||
timotimo | ShimmerFairy: could be, but not in this case; it shows 0 commits pedning review :| | ||
ShimmerFairy: i can verb whatever i want :) | 12:36 | ||
ShimmerFairy | timotimo: well, I recall approving some comments for perl6advent, among which were pingbacks from weekly :) | ||
vytas | not sure what is it but for instance here -> perl6advent.wordpress.com/2015/12/...6-in-2015/ it says 1 comment but none exist so either it starts counting from 2 or includes pingback | ||
ShimmerFairy | yeah, I'm certain it counts pingbacks as comments | 12:37 | |
timotimo | hmm | 12:38 | |
12:39
Skarsnik joined
|
|||
timotimo | now how do i thread apply all frame 3; print MVM_dump_backtrace(tc) | 12:41 | |
gdb doesn't like the ; | |||
oh, dinner time! | |||
12:42
kid51 left
12:45
donaldh joined
12:53
sufrostico joined
12:56
sarya joined
|
|||
sarya | hii | 12:56 | |
anyone? | 12:57 | ||
moritz | hello sarya | ||
DrForr | Yep. | ||
masak | sarya: ahoy | ||
sarya | cgi | 12:58 | |
masak | sarya: no :) | ||
or "no thanks" :P | |||
12:58
sarya left
|
|||
BooK | that was quick | 12:58 | |
masak | customer spoke in one-word phrases | 12:59 | |
and yet, the conversation was ripe with meaning | |||
13:00
Ven joined
|
|||
timotimo | masak: "meaning. so deep. very meeting" | 13:00 | |
13:02
donaldh left,
glaukommatos joined
|
|||
spacebat | I've got rakudobrew installed 2015.11 moar, everything seems to work, repl, running simple scripts | 13:03 | |
but rakudobrew build-panda and build-zef both fail | |||
vytas | in perl6 REPL can i somehow save the session and restore it later ? | ||
masak | vytas: nope. | ||
Skarsnik | try 2015.10 or the most recent version. some stuff are still buggy with panda/module | ||
MadcapJake | not yet, i am working on adding that | ||
spacebat | build-panda gives: Function 'CompUnit::Repository' needs parens to avoid gobbling block | 13:04 | |
ok | |||
christmas flux | |||
:) | |||
MadcapJake | re: vytas | ||
vytas | spacebat, do self rakudobrew self-upgrade first | 13:05 | |
spacebat | yup have done already | ||
MadcapJake | what message do they give? | ||
oh i see :P | |||
timotimo | El_Che: i don't know if this helps, but it looks like the "shift" entries in the backtrace are from the scheduler waiting for jobs on its job queue | ||
MadcapJake | it's early for me xD | ||
El_Che | timotimo: I am finishing an stripped down example | 13:06 | |
13:06
glaukommatos left
|
|||
MadcapJake | spacebat: nuke moar | 13:06 | |
start fresh | 13:07 | ||
El_Che | timotimo: gist.github.com/nxadm/0261be41747795575f4f | ||
timotimo: still around 7% misses on this stripped down example: no classes, no subs | 13:08 | ||
dalek | c: e55d339 | (Claudio Ramirez)++ | doc/Language/testing.pod: Add use-ok |
||
c: 1a1bd3d | (Zoffix Znet)++ | doc/Language/testing.pod: Merge pull request #230 from nxadm/master Add use-ok |
|||
spacebat | MadcapJake: I'll try that too | ||
spacebat | thanks | ||
El_Che | I close the channel within the read promise (it works with channel.poll ok in that case) | ||
timotimo: this example does not use IO handle, just a loop with numbers | 13:10 | ||
timotimo | good | ||
stmuk | is anyone looking at the %ENV warning issue? | 13:11 | |
vytas | MadcapJake, awesome, I assume you will commit it in the core ? is there a way to extend ::Compiler outside core? | ||
timotimo | we could try running the whole thing in a loop and see if we can get it to 100% freeze rate (if left running long enough) or if it'd either work forever or freeze early | ||
masak | today in your "Unicode is hard" news reporting: en.wikipedia.org/wiki/Bush_hid_the_facts | 13:12 | |
pippo | vytas: you can have REPL commands history saved for later re-use with rlwrap. | 13:13 | |
timotimo | fantastic | 13:14 | |
vytas | pippo, I was thinking to provide repl in my module with additional functionality | ||
El_Che | timotimo: gist.github.com/nxadm/1e5a26881f5831a2c8af | ||
timotimo: I'll keep that running here | |||
pippo | vytas: Ah. Ok. NM. | ||
RabidGravy | stmuk, I looked, couldn't work out how to reproduce and started something else | 13:15 | |
timotimo | El_Che: hangs after a bit | ||
El_Che: but the output makes it hard-ish to spot | |||
El_Che | timotimo: ok, I'll adapt it | ||
llfourn | m: .say for $*PERL.^methods # is there a way to figure out what the <anon> methods are installed as? | 13:16 | |
camelia | rakudo-moar 036e19: OUTPUT«BUILDVMnamesDISTROnamesKERNELnamesStrgist<anon><anon><anon><anon><anon><anon>» | ||
timotimo | huh. here it just froze after a 1 was printed | 13:17 | |
moritz | m: say $*PERL.^method_table.keys | ||
camelia | rakudo-moar 036e19: OUTPUT«(name DISTROnames compiler gist desc VMnames KERNELnames auth Str signature version)» | ||
moritz | llfourn: ^^ | ||
llfourn | moritz: thanks! | ||
El_Che | timotimo: here after 4 and 10 | ||
moritz | llfourn: though note that .^method_table only includes methods from the immediate class, not from parent classes | ||
13:18
xpen joined
|
|||
llfourn | moritz: but .^methods does right? | 13:18 | |
moritz | llfourn: yes, unless they are from Any, Cool or Mu. See doc.perl6.org/routine/methods | 13:19 | |
llfourn | m: class A { method foo {} }; class B is A { method bar {}}; say B.^methods; say B.^method_table | 13:20 | |
camelia | rakudo-moar 036e19: OUTPUT«(bar foo)bar => bar» | ||
llfourn | moritz: thanks for info :) | ||
El_Che | timotimo: more readable output: gist.github.com/nxadm/1e5a26881f5831a2c8af | 13:21 | |
the only doubt I had was the channel.close. If it's ok there it's cenrtainly a bug | 13:22 | ||
timotimo: I am doing the same example with poll | 13:23 | ||
13:23
sufrostico left
|
|||
El_Che | timotimo: that works like a charm | 13:25 | |
dalek | c: 07598b5 | RabidGravy++ | doc/Language/variables.pod: Make C<$> explanation a little clearer It seemed that the anonymous state variable was a bit lost in the rest of the state variable discussion so it merited a section of its own. Also clarify that each reference is a separate variable. |
13:26 | |
El_Che | timotimo: gist.github.com/nxadm/141723568ac6235f212b | 13:27 | |
tadzik | heh, writing the advent post and analyzing the Grammar::BNF code as I go with it, it turns out that it can be massively simplified with no visible side effects | ||
RabidGravy | :) | ||
El_Che | tadzik <- da man | ||
moritz | tadzik: double benefit! | ||
tadzik | it looks scary simple now :o | 13:28 | |
I keep thinking that the tests must be wrong or something... | |||
13:28
zakharyas joined
|
|||
El_Che | timotimo: I am ready to submit the bug. Is it rakudo (rakudo@perl.org), npq, moarvm (github)? | 13:29 | |
lizmat | [email@hidden.address] | ||
El_Che | thx, lizmat | ||
grondilu | with [BUG] in the object. See rakudo's README | 13:30 | |
El_Che | grondilu: thx, already happily typing :) | 13:31 | |
dalek | href="https://perl6.org:">perl6.org: 0b17ef9 | (Zoffix Znet)++ | update.sh: Update recent blog posts on each update run, rather than only when we have fresh commits |
13:32 | |
stmuk | RabidGravy: yeah reproducing seems hard .. its like a setup issue first time something is called | 13:33 | |
13:34
moleculesoflife joined
|
|||
DrForr | Heh. I'm getting close to finishing the changes that the GLR inflicted on perl6-ANTLR4. | 13:34 | |
13:35
virtualsue joined
|
|||
RabidGravy | stmuk, I suspect it's somewhere down in run/shell/qx or whatever they use under the hood | 13:37 | |
13:37
lucasb joined
|
|||
stmuk | I'm wondering if it's multiple places | 13:38 | |
moleculesoflife | /msg NickServ VERIFY REGISTER moleculesoflife nhrpcyeaqsfl | ||
stmuk | :D | ||
Humbedooh | :s | ||
moritz | moleculesoflife: that was a nice password :-) | ||
RabidGravy | personally I wouldn't find it very memorable. but hey. | 13:39 | |
moleculesoflife | Oops. What was the correct syntax I was supposed to use? | ||
moritz | moleculesoflife: what you did, except without spaces before the / | 13:40 | |
lucasb | RabidGravy: in the doc commit, you said there is no @ or % anon state variable? | ||
moleculesoflife | Oh, copy and paste error. Thanks. | ||
RabidGravy | lucasb, that is correct right? | ||
El_Che | ok, bug posted. Back to my code, now back with the channel.post syntax :). | ||
lucasb | RabidGravy: I think... there is. :) | 13:41 | |
m: sub f($x) { say (@).push($x) }; f(2); f(3) | |||
camelia | rakudo-moar 036e19: OUTPUT«[2][2 3]» | ||
RabidGravy | ah, okay | ||
lucasb | ^^ this means it is a 'state' var, right? | ||
same thing for anon '%' | |||
dalek | c: a3a53ef | (Sylvain Colinet)++ | doc/Type/Code.pod: Fix a missing link |
13:42 | |
c: c65bdb7 | (Sylvain Colinet)++ | doc/Language/ (4 files): Merge branch 'master' of github.com/perl6/doc |
|||
RabidGravy | I did a stupid test to test my assertion, let me fix that | ||
moleculesoflife | m: say Date.today.later(weeks =>1); say Date.new(now).later(weeks => 1); say Date.new.later(weeks => 1); | ||
camelia | rakudo-moar 036e19: OUTPUT«2015-12-152015-12-152015-12-31» | ||
Skarsnik | moleculesoflife, you should change you password now x) | 13:43 | |
13:43
virtualsue left
|
|||
BooK | why is that last one on 2015-12-31 ? | 13:43 | |
Skarsnik | weird | 13:44 | |
moritz | BooK: because Date.new gives you Christmas | ||
BooK | wuh? | ||
moritz | BooK: well, if you don't ask for a specific date, we give you one that we like | ||
BooK | i'd be o | ||
_nadim | BooK: ahhh! le president! ;) | ||
moleculesoflife | moritz: That's kind of funny, but a bit surprising. | 13:45 | |
BooK | oops. I meant, a sane default would be now | ||
lucs | fsvo "Christmas" | ||
llfourn notices that this is the second time Christmas as default has stumped someone today | |||
btyler | "now" would be a lot more consistent with other date libraries (that I'm familiar with, at least) | ||
dalek | c: 931726a | RabidGravy++ | doc/Language/variables.pod: Make C<$> explanation a little clearer It seemed that the anonymous state variable was a bit lost in the rest of the state variable discussion so it merited a section of its own. Also clarify that each reference is a separate variable. |
||
c: 61f1bbd | RabidGravy++ | doc/ (2 files): Merge branch 'master' of github.com:perl6/doc into anon-state |
|||
c: 833b8f2 | RabidGravy++ | doc/Language/variables.pod: Remove incorrect assertion |
|||
13:45
virtualsue joined
|
|||
BooK | well, I heard after Perl6 was released it would be Christmas every day | 13:45 | |
RabidGravy | lucasb, I think each one needs to go under a separate heading | 13:46 | |
_nadim | using feed operators, is it thought that one can: ((a, b), (c, d)) ==> -> ($a, $b) {} ==> ... | ||
llfourn | BooK: and hopefully because people aren't using Date.new() to calculate which day it is! | ||
BooK | so "now" sounds like a perfectly acceptable value for christmas, after 2015-12-25, obviously | ||
new/now, sane tpo | |||
typo | |||
_nadim | eg: loops that could be chained | 13:47 | |
lucasb | RabidGravy++, thanks | ||
BooK | these letters are so close on the keyboard they sometime clash: œ | ||
Date.nœw should be a new Date set to now | |||
RabidGravy | lucasb, I had a faulty reasoning, I tested @.push, got the error about no self, reasoned that therefore the variable didn't exist :-\ | 13:48 | |
must drink more coffee before engaging brane | |||
13:51
kaare_ joined
|
|||
lucasb | ok, can Date.new be made the same as Date.today *before* the release? fwiw, I'm +1 for this | 13:52 | |
llfourn | is there any better way to get a multi-line .perl than .perl.subst(', ',",\n",:g)? | ||
lucs | What's the currently recommended way to add in the REPL a directory searchable for modules? | 13:53 | |
13:53
vividsnow joined
|
|||
moritz | lucs: use lib "path"; | 13:54 | |
lucs | Oh, easy enough :) | ||
Thanks moritz | |||
moritz | (unless that's broken in the REPL, and I'm not aware of it) | ||
lucs | Trying... | ||
dalek | kudo/nom: 240b9ae | moritz++ | src/core/Temporal.pm: Deprecate argument-less Date.new, as it seems to confuse everybody except me |
13:55 | |
llfourn | \o/ | ||
lucs | moritz: Looks okay. | ||
lucasb | moritz++ thanks | ||
llfourn | so Date.new is a depreciation warning now? | 13:56 | |
so it's going to be removed? | |||
RabidGravy | no, without arguments is deprecated | 13:57 | |
llfourn | mm yes I was asking about w/o arguments | 13:58 | |
lucs | I may have missed earlier arguments, but wouldn't initializing to the current moment be a useful default for an argumentless Date.new? | ||
RabidGravy | so Date.new(year => 2015, month => 12, day => 25) is still cool | ||
moleculesoflife | mortiz++ Thank you. I really like Christmas Eve and Christmas and everything, but just didn't expect it in that context. | 13:59 | |
moritz | llfourn: if we want to re-purpose Date.new to Date.now, we must first deprecate the old version | 14:00 | |
BooK | now christmas 2015 as a default epoch, that would surprise a few people | ||
llfourn | m: say Date.now ~~ Date.today | ||
camelia | rakudo-moar 036e19: OUTPUT«Method 'now' not found for invocant of class 'Date' in block <unit> at /tmp/g1NHZLSR_l:1» | ||
llfourn | s/now/today/ but yes ok :) | ||
tadzik | perl6advent.wordpress.com/?p=3529&...eview=true -- draft of today's late post | 14:01 | |
I'll give it one last proofread and push it live, I'll appreciate a second pair of early adopters' eyes :) | |||
Juerd | "now" would be incorrect, because "now" is much more specific than "today". To get today's date, something like now.date would make more sense than Date.now | ||
BooK | also, TZ | 14:02 | |
RabidGravy | "full meta jacket" | ||
Juerd | BooK: Anyway. | ||
llfourn | Juerd: DateTime.now is a thing | ||
ChoHag | Is there a more perl6-ish way to say [ <foo> <.sep> ]* <foo>? | ||
Juerd | llfourn: Yes, because date + time is as specific as the concept of 'now' can be expressed. | ||
BooK | llfourn: I think this is exactly what Juerd meant | ||
sjn | m: say [*] (); # why does this say "1"? | ||
camelia | rakudo-moar 036e19: OUTPUT«1» | ||
ShimmerFairy | moritz: I'm personally with you on not relying on a defaulted Date, especially not to rely on it being particularly meaningful. | 14:03 | |
lucasb | .oO( TimToday approves this change ) :D |
||
llfourn | tadzik: that's 404 for me. I guess I have to wait :) | ||
BooK | m: say [+] (); | 14:04 | |
camelia | rakudo-moar 036e19: OUTPUT«0» | ||
Ven | I almost have a blog post ready for today, should I go for it? If people can give me their input | ||
BooK | sjn: I think it's the same reason for both | ||
Juerd | sjn: 1 is *'s identity. It's the number you can prepend to the list of things to multiply without changing the outcome. | ||
BooK | m: say [/] (); # we should expect 1 here too | ||
camelia | rakudo-moar 036e19: OUTPUT«No zero-arg meaning for infix:</> in block <unit> at /tmp/AKLEIBS5vj:1Actually thrown at: in block <unit> at /tmp/AKLEIBS5vj:1» | ||
Juerd | BooK: No, / doesn't have identity like that because 4 / 4 and x / 4 / 4 are different for every x. | 14:05 | |
moritz | BooK: no, because you can't just add 1's to a list that you pass to [/] without changing the result | ||
tadzik | Ven: hey, I'm for today :) | ||
BooK | depends if you push or unshift | ||
Ven | tadzik: okay, I wasn't sure if you were gonna get to it or not :) | ||
Juerd | BooK: It's about unshifting. | 14:06 | |
tadzik | I am, I'm just late :/ | ||
Ven | np :) | ||
Juerd | BooK: It's whatever *starts* the process, in the implementation: my $x = identity; for @foo { $x op= $_ } | ||
ShimmerFairy | Juerd: prepend or append? (after all, appending means 4 / 4 / 1 / 1 / 1 ... would be identity) | ||
Juerd | ShimmerFairy: ^ | 14:07 | |
ShimmerFairy | ah, alright then :) | ||
Juerd | But I read somewhere that it's actually a mathematical thing, widely accepted etc, and not really an implementation detail. | ||
But the implementation explanation works for me | |||
moritz | if you talk about neutral elements of non-commutatitive operations, you have to talk about the side on which you apply it | 14:08 | |
and we don't want to go to such lengths in Perl 6 | |||
m: say [**]() | |||
camelia | rakudo-moar 036e19: OUTPUT«1» | ||
BooK | so [-] (); should give an error too | ||
moritz | now that's inconsistent | ||
ShimmerFairy | this page has some identities on it en.wikipedia.org/wiki/Identity_element | ||
Juerd | BooK: No, that's 0 | 14:09 | |
ShimmerFairy | moritz: in particular, that corroborates ** having an identity of 1 (so... "prepend" in direction of associativity?) | ||
BooK | Juerd, well - is not commutative | ||
ShimmerFairy | m: say [-]() | ||
camelia | rakudo-moar 036e19: OUTPUT«0» | ||
tadzik | llfourn: wait no more! :) perl6advent.wordpress.com/2015/12/...-grammars/ | 14:10 | |
post is up, sorry for being late | |||
ShimmerFairy | yeah, that's not right methinks. 0 - 5 would not leave things unmodified, and if you mean 5 - 0 then 5 / 1 would be good too :) | ||
moritz | m: say 0 - 0 - 3 | ||
camelia | rakudo-moar 036e19: OUTPUT«-3» | ||
llfourn is satiated | |||
BooK | I'd buy a "full meta" jacket | ||
tadzik | :D | ||
moritz | yes, something's inconsistent | ||
Juerd | Agreed, my explanation of 'without changing the outcome' appears to be incorrect. | 14:11 | |
ShimmerFairy | Juerd: I think that's the point, it's just that perhaps &infix:<-> is a little confused :P | ||
grondilu | amazingly enough, you guys made me wonder if (Z, -) forms a group and if so, if it is an interesting one. | 14:12 | |
grondilu never wondered this before | 14:13 | ||
m: say (1 - 2) - 3 == 1 - (2 - 3) | |||
camelia | rakudo-moar 240b9a: OUTPUT«False» | ||
grondilu | nope, non-associative. | ||
14:14
trone joined
|
|||
RabidGravy | BooK, next time I get an email from some wearable merchandise company I'd forgotten I'd signed up with I'll make you one :) | 14:14 | |
moritz | tadzik++ # advent post | 14:15 | |
ShimmerFairy | grondilu: or more generally, (x - y) - z == x - (y - z) --> x - y - z == x - y + z , so only when z == 0, yes? | ||
moritz | tadzik: maybe link to Grammar::BNF? | ||
tadzik | duh | ||
of course, thanks :) | |||
moritz | and maybe ecosystem => modules.perl6.org/ | 14:16 | |
darutoko | is there a way to split string into array of letters? I'm trying split('') but it adds some "" into array | 14:17 | |
timotimo | darutoko: that's what "comb" is for | ||
14:17
cdg joined
|
|||
Juerd | m: say "hello world".comb | 14:18 | |
camelia | rakudo-moar 240b9a: OUTPUT«(h e l l o w o r l d)» | ||
darutoko | timotimo, comb('') just retrurns array of empty strings | ||
timotimo | yeah, you want .comb() | ||
darutoko | oh thanks | ||
timotimo | you're welcome :) | ||
Juerd | darutoko: .comb('') gives you all occurrences of '' in the string. Just be glad it doesn't give an infinite number of them ;) | ||
tadzik | moritz: done, thanks :) | ||
darutoko | one more question | 14:19 | |
is there a way to check if string is number? | |||
Juerd | Why only one more? There's no limit on the number of questions you may ask :D | ||
darutoko | :) | ||
BooK | there might be a limit on the number of answers you get, though | 14:20 | |
Juerd | darutoko: "is" a number is a bit hard, because there's no single definition for it. | ||
darutoko | integer | ||
exept regexp | 14:21 | ||
is there a smart match or smthg? | |||
BooK | m: say 34.WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
14:21
jony joined
|
|||
Ven | does `my int1 @a[8];` currently promise contiguous access? | 14:21 | |
darutoko | m: say "34".WHAT | 14:22 | |
camelia | rakudo-moar 240b9a: OUTPUT«(Str)» | ||
BooK | m: say 34.WHAT ~~ Int # ? | ||
camelia | rakudo-moar 240b9a: OUTPUT«True» | ||
BooK | ncie | ||
nice | |||
14:22
jony_ joined
|
|||
Juerd | Well, you could say that something "is" an integer, if .Int stringifies back to the original value, like in: $foo.Int eq $foo, but that says that 05 is not an integer... | 14:22 | |
El_Che | the support of nl-in made my code maginitudes faster! \o/ | ||
dj_goku | m: say '1.1'.abs | 14:23 | |
camelia | rakudo-moar 240b9a: OUTPUT«1.1» | ||
dj_goku | m: say '1.1'.abs.WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Rat)» | ||
El_Che | big thx to the implementer | ||
Juerd | darutoko: If you have some specific definition of the kind of number format that you wish to support, you'll have to write a regex for that. If you don't have any definition, I'd suggest just assuming that the number is an integer and using it as such. | ||
Skarsnik | People familiar with working with SVG here? x) | ||
BooK | m: my @a=(34,"34"); .WHAT.say for @a; | 14:24 | |
camelia | rakudo-moar 240b9a: OUTPUT«(Int)(Str)» | ||
dj_goku | m: say '-1.1'.abs.WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Rat)» | ||
dj_goku | m: say '-1.1'.abs | ||
camelia | rakudo-moar 240b9a: OUTPUT«1.1» | ||
dj_goku | hmm | ||
BooK | then you could define your own type and check against that | ||
darutoko | m: say "34".abs.WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
darutoko | dj_goku, thank you | ||
Juerd | Note that abs(-5) == 5 | 14:25 | |
14:25
zakharyas left
|
|||
Juerd | Might not be the function you're looking for :) | 14:25 | |
darutoko | its ok | ||
I don't expepct negative | |||
Juerd | Why do you need to know if something is a number? | ||
BooK | m: say ( 0 + "34" ).WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
timotimo | this is not the fun you're looking for | ||
Juerd | I have the feeling you're doing something wrong :) | ||
BooK | aah venus still works | ||
dj_goku | m: say '34'.unival | ||
camelia | rakudo-moar 240b9a: OUTPUT«3» | ||
14:25
koo8 joined
|
|||
timotimo | dj_goku: unival and a bunch of other functions only consider the first grapheme on a string | 14:26 | |
some only the first codepoint | |||
Ven | > my Int @a[8]; | ||
Method 'gist' not found for invocant of class 'NQPMu' | |||
I recompiled a minute ago | |||
moleculesoflife | tadzik++ # nice advent post. Thanks! | ||
dj_goku | timotimo: ugh yeah I saw that after the output. :D | ||
tadzik | moleculesoflife: thanks, I'm glad you liked it :) | 14:27 | |
14:28
diakopter left
|
|||
dj_goku | m: say '34'.Int | 14:29 | |
camelia | rakudo-moar 240b9a: OUTPUT«34» | ||
dj_goku | m: say '34'.Int.WHAT | 14:30 | |
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
dj_goku | m: say '1.1'.Int.WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
dj_goku | m: say '1.1'.Int | ||
camelia | rakudo-moar 240b9a: OUTPUT«1» | ||
14:30
zakharyas joined
|
|||
dj_goku | m: say '1.1'.Rat | 14:30 | |
camelia | rakudo-moar 240b9a: OUTPUT«1.1» | ||
Ven | $ ./install/bin/perl6 -v $ This is rakudo version 2015.11 # that normal¿ | ||
14:31
skids joined
|
|||
llfourn | tadzik++ great post | 14:31 | |
14:31
diakopter joined
|
|||
moritz | Ven: only if you built a rakudo 2015.11 | 14:32 | |
Ven | moritz: I'm on nom :| | ||
14:32
virtualsue left
|
|||
ilmari | Ven: there should be more after that | 14:32 | |
moritz | Ven: did you 'make instlal'? | ||
*install | |||
Ven | moritz: yeah, I did. | ||
ilmari | $ perl6 -v | 14:33 | |
This is rakudo version 2015.11-353-g734549a built on MoarVM version 2015.11-34-gc3eea17 implementing Perl v6.b. | |||
Ven | yeah. | ||
moritz | Ven: oh, did you run Configure.pl? | ||
Ven | moritz: yeah | ||
I have the same as ilmari | |||
ilmari | that was rakudobrewed on frideay | ||
-e | 14:34 | ||
14:35
hankache joined
|
|||
timotimo | tadzik: i think "We’re going to have grammars that parse grammars then generate grammars that are going to use to parse grammars. " falls apart at the end | 14:37 | |
tadzik: also, claiming that regexes in perl don't parse context-free grammars is wrong, i believe | |||
tadzik | well, regular expression don't, perl regexes do | 14:38 | |
I could note that perhaps | |||
as for falling apart, I thought about that, but hey, I did say "we" :P | |||
timotimo | yea, that'd help | ||
otherwise people may think you know nothing about regexes, jon snow. | |||
lucs | timotimo: I think I agree; s/that are going/that we're going/ | ||
tadzik | heh | ||
timotimo | ah! | ||
yes, thta's the right fix | 14:39 | ||
gfldex | tadzik: you could link to modules.perl6.org/ | ||
moleculesoflife | m: say Date.new(); say Date.new(now); say Date.today(); | ||
camelia | rakudo-moar 240b9a: OUTPUT«2015-12-242015-12-082015-12-08» | ||
tadzik | gfldex: I think I did | ||
tony-o | nine: any idea on how to avoid this error? travis-ci.org/tony-o/perl6-http-se...38634#L953 | ||
Juerd | m: now.say | 14:40 | |
camelia | rakudo-moar 240b9a: OUTPUT«Instant:1449585658.859186» | ||
moleculesoflife | When things are deprecated are they supposed to warn? | ||
gfldex | tadzik: you did indeed | ||
Skarsnik | like always | ||
lizmat | moritz: I had a slightly different approach, which just conflicted :-) | 14:41 | |
Skarsnik | m: Data.new | ||
camelia | rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/72XnFoTVw2Undeclared name: Data used at line 1. Did you mean 'Date'?» | ||
Skarsnik | m: Date.new | ||
camelia | ( no output ) | ||
Skarsnik | probably not up to date yet | ||
tadzik | timotimo: ok, I think I fixed it a little :) | ||
gotta run for a while, bbs | |||
lizmat | moritz: let Date.new fail with: Christmas has come! Use Date.today for today, or Date.new('Christmas') for the next Christmas Eve | ||
Juerd | lol | ||
m: now.Date | 14:42 | ||
camelia | rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant' in block <unit> at /tmp/lD2ZK1lRaD:1» | ||
Juerd | :( | ||
lizmat | and the ('Christmas') candidate would be the old Date.new() | ||
nine | tony-o: well, as the error message tells, don't use lib inside a module. Why does HTTP::Server::Async do this anyway? | ||
Ven | m: my Int @a[8]; say @a; | ||
camelia | rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu' in block <unit> at /tmp/rvQCzp048C:1» | ||
Juerd | I don't really see why religious holidays should be hardcoded | ||
14:43
virtualsue joined
|
|||
Juerd | Too many religions, too many dates. | 14:43 | |
tony-o | nine: well, it's kind of useful to do 'use lib' in your tests .. | ||
timotimo | tadzik: except the "use grammars to parse grammars to generate grammars" sentence still is the way it was before :) | ||
RabidGravy | tony-o, surely for the tests the PERL6LIB or -Ilib will be inherited from the environment or you can "use lib" in the .t files | 14:44 | |
nine | tony-o: in test files it's ok, just not in modules used by test files | ||
14:44
Ch0c0late left
|
|||
lizmat forgets about it | 14:45 | ||
timotimo | tadzik: tiny -1 for refering to "us", "the reader and me" as "men" :S | ||
tony-o | great | 14:46 | |
14:46
zakharyas left
|
|||
timotimo | tadzik: "tools that take the [ stuff ] the way" should read "away" | 14:47 | |
moleculesoflife | Juerd: Christmas is meaningful to Larry, and Larry seems the type that can say "Merry Christmas" to anyone of any faith (or no faith) and come across as though offering a personal meaningful gift without being offensive. | ||
timotimo | "grammars are nothing else than a specialized kind of classes." seems to have an invisible space between link and period ... and it happens to break on my display there and put the period on the next line %) | 14:48 | |
Ven | m: say (my Int @a[3] = 1..3); | ||
camelia | rakudo-moar 240b9a: OUTPUT«[1 2 3]» | ||
Ven | this fails locally :( | ||
m: (my Int @a[8] = 1 .. 7).gist.say | 14:49 | ||
camelia | rakudo-moar 240b9a: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu' in block <unit> at /tmp/rfgRm7soeZ:1» | ||
timotimo | tadzik: i wonder if your post should have called the grammar it's creating $grammar (or even \grammar) to surprise people who wouldn't expect "class", "grammar", "method" to be valid names for such things :P | ||
my \method = "hi"; say method; | |||
m: my \method = "hi"; say method; | |||
camelia | rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QcKTDRD3LOMissing blockat /tmp/QcKTDRD3LO:1------> 3my \method = "hi"; say method7⏏5;» | ||
timotimo | d'oh, i am forced to eat my own words | 14:50 | |
Skarsnik | It's weird a token is not a class and you have to use EVAL | ||
moritz | Skarsnik: why would a token be a class? | 14:51 | |
Ven | timotimo: is Int @a[8]; contiguous in memory? or only native types? | ||
moritz | Skarsnik: it's more like a method really | ||
Skarsnik | I don't know x) | 14:52 | |
moritz | Ven: the array itself is contiguous in memory, but Int is a reference type | ||
Ven | moritz: right :). | ||
14:52
moleculesoflife left
|
|||
timotimo | tadzik: nice post :) | 14:53 | |
Ven: only native types | |||
Ven | okay, thanks | ||
RabidGravy | tadzik++ | 14:54 | |
Ven | so, for `Int @a`, it's only faster because you know you don't need to grow the array? (you need bounds checking anyways) | ||
14:56
yakudza joined
|
|||
moritz | Ven: and I guess some day we'll be able to infer .[] return types from Int @a | 14:58 | |
Ven | m: my int @a[8]; @a[3] := 3; say @a | ||
camelia | rakudo-moar 240b9a: OUTPUT«Cannot bind to a natively typed array in block <unit> at /tmp/AvUBGQajMe:1» | ||
Ven | wut? | ||
Skarsnik wonders if he should directly incorporate NC::TypeDiag in NativeCall (or part of it) | 14:59 | ||
timotimo | binding requires a container; native arrays don't have containers for their contents | ||
Ven | m: my int @a[8]; @a[3] = 3; say @a | ||
camelia | rakudo-moar 240b9a: OUTPUT«[0 0 0 3 0 0 0 0]» | ||
Ven | m: my int @a[8]; @a[3] += 3; say @a | ||
camelia | rakudo-moar 240b9a: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/Lh4FOibkYV:1» | ||
Ven | ah, here's the error I was seeing. I inferred its source incorrectly. | ||
timotimo | ah, that actually ought to give you a NativeRef for that slot | 15:00 | |
Ven | so that's a bug? | ||
timotimo | more like a NYI | ||
but yeah | |||
Ven | m: my int $a; $a++; say "alive"; my int @a[1]; @a[0]++; say "alive2"; | 15:01 | |
camelia | rakudo-moar 240b9a: OUTPUT«aliveCannot call postfix:<++>(Int); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) …» | ||
moritz | timotimo: how would the postcircumfix even know that it's supposed to return a NativeRef? | ||
timotimo | it has to always do that | ||
Ven | ^ that's the surprising part, timotimo | ||
moritz | timotimo: not really, because normal assignment uses ASSIGN_POS or whatever that method is called | ||
timotimo | oh | 15:02 | |
that's a good point | |||
so we'll just return a nativeref when we have AT_POS and keep ASSIGN_POS fast&cheap | |||
Ven | so the code I just ran is NYI as well? | ||
ah, no, there's no $ | |||
m: my int \a = 0; | 15:04 | ||
camelia | rakudo-moar 240b9a: OUTPUT«Type check failed in binding; expected int but got Int in block <unit> at /tmp/xF5GXDe0St:1» | ||
15:04
AlexDaniel joined
|
|||
Ven | huh. | 15:04 | |
m: my int $b = 0; my int \a = $b; | |||
camelia | rakudo-moar 240b9a: OUTPUT«Type check failed in binding; expected int but got Int in block <unit> at /tmp/j4smOQz31N:1» | ||
_nadim | So .... where does the documentation go in a module? Half borked doc in the README.md won't do, right? | ||
15:04
glaukommatos joined
|
|||
Skarsnik | _nadim, for now it's the most visible spot | 15:08 | |
_nadim | But is not good enough, I'd rather do the right thing now or I will get inthe habit of not writting docs | ||
15:09
pmurias joined,
glaukommatos left
|
|||
Skarsnik | Probably a better thing is to write pod in the main module and extract the pod to generate a README.pod | 15:09 | |
_nadim | and how do we "build", "test", "dist" now? | ||
are there pod2xx modules? | |||
Skarsnik | But I don't know if there is a tool to extract a tool from a modules x) | 15:10 | |
_nadim | please tell me there is some semblance of a tool chain | ||
Skarsnik | *pod | ||
_nadim is having cold sweats | |||
BooK | _nadim: version 1.0 is not out and you want something that took at least 5 or 6 years to stabilize in perl 5 | 15:11 | |
15:12
hankache left,
hankache joined,
hankache left
|
|||
Skarsnik | We don't have a cpan like, so writing modules is very lax now | 15:12 | |
_nadim | BooK: are you serving me a "after Christmas"? packaging, testing, ... basic stuff | ||
pmurias is glad the Date.new "joke" is being removed | |||
BooK | I'd serve it if I knew Perl 6 :-) | 15:13 | |
15:13
jme` joined
|
|||
_nadim | Skarsnik: I get that, I think a basic tool chain would actually help to attract people. | 15:13 | |
Skarsnik | what do you mean basic tool chain? | ||
BooK | everything perl5+cpan have, only better | 15:14 | |
_nadim | BooK: I said basic ;) | ||
15:14
donaldh joined,
lichtkind joined
|
|||
Skarsnik | creating a perl6 modules goes this way for now: Create a github repository, write a Meta.info, put your stuff in lib/ write some test, eventually a travis.yml. and that it | 15:14 | |
_nadim | something to extract documentation and a tool to readit, ala perdoc, wouldn't hurt new comers | 15:15 | |
dalek | c: 673864a | [email@hidden.address] | doc/Language/functions.pod: Remove typo |
||
doc: 3b1bb5a | (Zoffix Znet)++ | doc/Language/testing.pod: | |||
doc: Add actual code examples for like/unlike | |||
BooK | what I like about cpan is that there's one canonical place to look for stuff | ||
github feels like a lesser evil, but definitely not a long term solution | |||
15:15
dalek joined,
ChanServ sets mode: +v dalek
|
|||
Skarsnik | modules.perl6.org does it for now x) | 15:15 | |
15:15
CIAvash joined
|
|||
_nadim | it does, has anyone talked to the metacpan ppl? | 15:16 | |
AlexDaniel | m: my int @a[8]; say @a[3].WHAT | ||
camelia | rakudo-moar 240b9a: OUTPUT«(Int)» | ||
Skarsnik | _nadim, there are some work for a cpan for perl6. the short answer : "It's not that easy" | 15:17 | |
Ven | timotimo: `int @a[8]` can be used with nativecall, right? does it give anything better over `int @a`? | 15:18 | |
Skarsnik | no | ||
_nadim | I am not, not too much at least, more silly than anyone else, and here I am preparing to write tests, I know where to put them, hmmmm how do I run them? I understand that those look like useless details but if people are going to do P6 on a scratch pad and then wait, we may not get as many people using it as we wish. | ||
Skarsnik | NC will need a CArray[int] | ||
moritz | _nadim: perl6 -Ilib t/your-test.t | ||
_nadim: PERL6LIB=lib prove -e perl6 t/ | 15:19 | ||
Ven | Skarsnik: so, size of the natively typed array "only" gives contiguous memory guarantee? | ||
_nadim | p5 prove? | ||
moritz | _nadim: yes (though a p6 prove is being worked on) | 15:20 | |
leont++ | |||
_nadim | Has someone taken on himself all those nasty management questions? | ||
moritz | but the protocol is the same | ||
Skarsnik | Ven, no idea, NC is quite... weird x) | ||
moritz | _nadim: not yet. THanks for volunteering! | ||
Skarsnik | A big step will be a more complete doc about writing modules :) | 15:21 | |
_nadim | I may, BooK will help me, I vonlonteer him | ||
15:21
csd_ joined
|
|||
BooK | I first need to write my first module | 15:21 | |
RabidGravy | lucasb++, added documentation for C<@> and C<%> anon variables as well, that's probably what killed dalek | ||
_nadim | that's what I am doing right now too | ||
BooK | so you're already ahead of me! | ||
Skarsnik | for now it's mainly "look at other modules" | ||
Ven | moritz: not sure how to get a post as "preview" on wordpress? | ||
okay, found it | 15:22 | ||
moritz | Ven: you press the "preview" button :-) | ||
DrForr | I just use -Ilib, that's why I removed the @*INC stuff from my libraries instead of adding 'use lib'. But that's just me. | ||
Ven | moritz: can you give me your input on perl6advent.wordpress.com/?p=3504&...frame=true ? | ||
moritz | Ven: subject should start with "Day $n - " | ||
_nadim | BooK: let's talk a bit later, maybe I can get you to do something for once ;) | ||
Ven | moritz: it doesn't have a day yet :P | ||
jnthn | Some people seem to have utterly missed the point that 6.christmas is about declaring a stable *language* so that people will feel investing time on advancing the infrastructure is worthwhile, because their work won't break next week/month. It is *not* some magical "we have a super mature ecosystem out of nowhere" point; I don't know why anyone would reasonably expect that. :) | 15:23 | |
moritz | Ven: "PDL" could be a link | ||
BooK | I have a micro-hackathon (4 hours) planned for Friday evening | ||
jnthn | I'm really happy people already are doing a great amount of work on our documentation, module ecosystem, and so forth. | ||
Especially while we're still tightening up the last things before Christmas and so have visited some icky breaking changes on them. | 15:24 | ||
BooK | jnthn: but I thought Perl was all about magic? | ||
Ven | moritz: done | ||
moritz | Ven: IMHO it needs some kind of punch line | ||
Ven | moritz: definitely does. There's no "end" :) | 15:25 | |
_nadim | we are happy too, it's just that we can't do like Napoleon, the administration will not follow, because this is a spaceship and they are hard to follow, specially when they travel in hyperspace. | ||
Ven | :(* | ||
jnthn | But I'm under no illusion that we'll still have lots and lots to do in that area. | ||
Skarsnik | unrelated. Should NativeCall be renamed or something? I think it's really confusing to have native perl6(npq?) type like int and that get mixed with "native/ctype" | ||
moritz | Ven: for example, doing the math about how much storage my int @a[4;4] vs. normal arrays use, ,or something | ||
_nadim | jnthn: I think a lot of people are very happy already, I am. | 15:26 | |
moritz | Ven: or even better, a benchmark of matrix multiplication, one using ordinary arrays, one using NSA | ||
lucasb | Thanks for writing those docs, RabidGravy++ :) | ||
jnthn | _nadim: I'm glad; I wasn't addressing you in particular, just a general sentiment that I've seen. | ||
15:27
xpen left,
virtualsue left
|
|||
_nadim | jnthn: I got that :) IMHO, the super nifty stuff can wait for the little practical things to be in place, once I get a little hold of this, I may be able to help. | 15:28 | |
jnthn | :-) | ||
lucs | In the REPL, can I force "use My:InDevelopment::Module" to load again? | ||
RabidGravy | jnthn, I still think we should aim for the 500 modules in the ecosystem, just *because* ;-) | 15:29 | |
jnthn | RabidGravy: Works for me ;-) | ||
Skarsnik | lol | ||
_nadim | RabidGravy: how many are they right now? not that it matters. | ||
Skarsnik | around 470 | ||
Ven | moritz: ah, yeah. int is int8 on 64-bit machines, right? so I can just do 4*4*8 bytes :P | 15:30 | |
_nadim | easy! | ||
Skarsnik | int is int64? | ||
15:30
zakharyas joined
|
|||
jnthn | Skarsnik: In Rakudo, always, yes. By the Perl 6 design docs, it'd be allowed to be 32-bit too. | 15:30 | |
Ven | Skarsnik: " int64 (aka int on 64-bit machines)" from S09 | 15:31 | |
RabidGravy | 474 in the META.list | ||
AlexDaniel thinks that we should not pollute our module directory with bullshit | |||
zengargoyle | good * #perl6 | ||
jnthn | (And it's not actually a Rakudo thing, more a consequene of he underlying VMs) | ||
RabidGravy | so #perl6++ doing good | ||
jnthn | *the | ||
Skarsnik | Oh it's something I should add in my nc::typediag, not accept int in cnative stuff | 15:32 | |
AlexDaniel | in fact, we've just seen how one module was removed. And that's good! | ||
15:33
AlexDaniel left
|
|||
zengargoyle | is the %?RESOURCES thing back to a point where it should possibly work? | 15:33 | |
15:34
lucasb left
|
|||
Ven | jnthn: my int @a[4;4] => 4*4*8 bytes, right? what's the "overhead"? | 15:34 | |
RabidGravy | I added a module about six months ago, noticed that tony-o had made something almost identical simulataneously, merged some of the functionality and removed my module within less than a week | ||
zengargoyle, yes | |||
zengargoyle | RabidGravy: cool, maybe i'll try and get my .so using module working again. :) | 15:35 | |
RabidGravy | in fact it definitely does work as I properly fixed and tested Sys::Utmp and Sys::Lastlog yesterday | ||
dalek | kudo/nom: c60f405 | lizmat++ | src/core/Temporal.pm: Make Date.new an exception Christmas has come. Mention Date.today, and the new Date.new("Christmas") |
||
kudo/nom: 9476601 | lizmat++ | src/core/ (2 files): Add .Date/.DateTime coercers to Instant |
|||
zengargoyle | extra cool, code pilfering sources | ||
Ven | lizmat: you didn't mention Date.new('christmas')? | 15:36 | |
dalek | kudo/fix-multi-binary-dists: 06a7c74 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm: Use distribution's name to find binary resources Currently, when a distribution has binary/script files, we install them as resources owned by the distribution, as well as wrapper scripts that the shell can find via PATH that use the CompUnit API to dispatch to the corresponding resource. Some distributions install multiple binaries; for example, panda installs panda, panda-build, panda-test, etc. The wrapper scripts currently use the basename of the wrapper script to locate the distribution that contains the corresponding binary resource, rather than the name of the distribution that binary is a part of. This change makes wrapper scripts use the distribution name to find dist metadata, which will then be used to locate the resource for the actual binary. |
||
jnthn | Ven: Yes; overhead is hard to be specific about 'cus in part it depends on malloc's overhead too, but something like 64 bytes for GC header, 64 bytes for pointers to the dimensions and data stroage. | ||
lizmat | well, my original commit did, then it conflicted with moritz's and then I gave up | ||
jnthn | Ven: That's on Moar. On JVM, not totally sure :) | ||
Ven | jnthn: that's fine by me :) | 15:38 | |
dj_goku | m: say 1 | 15:39 | |
camelia | rakudo-moar 240b9a: OUTPUT«1» | ||
Skarsnik | m: 'use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys; | ||
camelia | rakudo-moar 240b9a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5rThkhPI92Unable to parse expression in single quotes; couldn't find final "'" at /tmp/5rThkhPI92:1------> 3l", say ${"$a::EXPORT::DEFAULT::"}.keys;7⏏5<EOL> expecting any of: sing…» | ||
Skarsnik | m: use NativeCall; my $a = "NativeCall", say ${"$a::EXPORT::DEFAULT::"}.keys; | 15:40 | |
camelia | rakudo-moar 240b9a: OUTPUT«0..0» | ||
Skarsnik | hm | ||
Ven | jnthn: okay, so int[2;4] is 64+64+64 bytes | 15:41 | |
jnthn | 2 * 4 * 8 + overhead | ||
And yeah, you got the overhead right I think | |||
Ven | jnthn: I meant 64 for values, and 64+64 for the overhead you described | 15:42 | |
jnthn | oh wait, I screwed up that overhead totally :P | ||
Ven | okay :) | 15:43 | |
jnthn | 16 bytes for GC, 16 bytes for body, 16 bytes for the dimensions list, then the 64 for the data storage. :) | ||
Ven | ah, okay. | ||
Juerd | Perl 5 is hard. Or, well, remembering to type -> instead of . is. | ||
Skarsnik | I don't get how to access a variable with her name ~~ | 15:44 | |
Juerd | m: now.Date | ||
camelia | rakudo-moar 240b9a: OUTPUT«Method 'Date' not found for invocant of class 'Instant' in block <unit> at /tmp/PRsjusBRN5:1» | ||
Ven | moritz: added the informations jnthn++ gave me :) | ||
geekosaur | m: my $foo = "bar"; my $x = "foo"; say ::($x) | 15:46 | |
camelia | rakudo-moar 240b9a: OUTPUT«No such symbol 'foo' in block <unit> at /tmp/VZh0zZqI4N:1Actually thrown at: in block <unit> at /tmp/VZh0zZqI4N:1» | ||
geekosaur | right, don't think that does lexicals | ||
ilmari | m: my $foo = 'bar'; my $x = '$foo'; say ::($x) | ||
camelia | rakudo-moar 240b9a: OUTPUT«bar» | ||
dj_goku | m: Date.new() | ||
camelia | ( no output ) | ||
ilmari | geekosaur: the sigil is part of the name | ||
dj_goku | m: say Date.new() | ||
camelia | rakudo-moar 240b9a: OUTPUT«2015-12-24» | ||
15:46
zacts joined,
cygx joined
|
|||
cygx | o/ | 15:46 | |
yoleaux | 7 Dec 2015 01:42Z <japhb> cygx: Looks to me like you fixed it, thanks! | ||
cygx | m: sub foo { { die "xxx"; CATCH { fail $_ } } }; foo() or say 42 | 15:47 | |
camelia | rakudo-moar 240b9a: OUTPUT«42» | ||
cygx | m: sub foo { try { die "xxx"; CATCH { fail $_ } } }; foo() or say 42 | ||
camelia | rakudo-moar 240b9a: OUTPUT«xxx in block at /tmp/Bh5kHkm_VK:1 in sub foo at /tmp/Bh5kHkm_VK:1 in block <unit> at /tmp/Bh5kHkm_VK:1» | ||
geekosaur | p5think, sorry :/ | ||
15:47
zacts is now known as Guest24432
|
|||
geekosaur | anyway Skarsnik was that what you meant? | 15:47 | |
cygx | ^ is that supposed to happen? | ||
15:47
cognominal joined
|
|||
Skarsnik | Oh yeah the ::() | 15:47 | |
I though it was only for type x) | 15:48 | ||
Ven | jnthn: if you have some time, maybe you can give me your input on perl6advent.wordpress.com/?p=3504&...frame=true ? | 15:49 | |
[Coke] | (Date.new) -1 on this still returning Christmas. | 15:50 | |
Skarsnik | hm | ||
use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("$a::EXPORT::DEFAULT::").keys.elems; | 15:51 | ||
15:51
Guest24432 left
|
|||
Skarsnik | m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; say ::("$a::EXPORT::DEFAULT::").keys.elems; | 15:51 | |
camelia | rakudo-moar 947660: OUTPUT«Could not find symbol '&DEFAULT' in block <unit> at /tmp/ny8XyNLMEu:1Actually thrown at: in block <unit> at /tmp/ny8XyNLMEu:1» | ||
dj_goku | m: {die "xxx"; CATCH { default { say $_.Str } }} | ||
camelia | rakudo-moar 947660: OUTPUT«xxx» | ||
dj_goku | cygx: do you want something like that? ^^ | ||
15:52
khw joined
|
|||
dj_goku | m: {die "xxx"; CATCH { default { say .Str } }} | 15:52 | |
camelia | rakudo-moar 947660: OUTPUT«xxx» | ||
psch | m: my \cap = \(:1a, :2b, :3c); sub f(:$a, :$b, *%_) { say "f ok" }; sub g(*%_) { say "g ok" }; f |cap; g |cap; say &g.signature ~~ &f.signature; say &f.signature ~~ &g.signature | ||
camelia | rakudo-moar 947660: OUTPUT«f okg okFalseFalse» | ||
dj_goku | m: {die "xxx"; CATCH { default { .Str.say } }} | ||
camelia | rakudo-moar 947660: OUTPUT«xxx» | ||
Skarsnik | m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; | ||
cygx | dj_goku: I was wondering why adding the try makes the exception blow up | ||
camelia | rakudo-moar 947660: OUTPUT«Could not find symbol '&DEFAULT' in block <unit> at /tmp/c98N4rqMp7:1Actually thrown at: in block <unit> at /tmp/c98N4rqMp7:1» | ||
psch | yeah, somewhere there is that Signature.ACCEPTS(Signature) bug... :/ | ||
Skarsnik | why that fails, NC export stuff like nativesizeof | 15:53 | |
dj_goku | cygx: do you need a try though? | ||
15:53
vividsnow left
|
|||
psch | m: say :(Int :$a) ~~ :(Int :$a) | 15:53 | |
camelia | rakudo-moar 947660: OUTPUT«True» | ||
cygx | dj_goku: I'm interested in why it happens, and if it's supposed to happen | ||
psch | m: say :(Int :$a, *%_) ~~ :(Int :$a, *%_) | 15:54 | |
camelia | rakudo-moar 947660: OUTPUT«False» | ||
lucs | Is there something like P5's "do 'somefile'"? | ||
[Coke] | also, -1 on shipping a christmas release -with deprecations in it- | ||
lucs | (I want to use it in the REPL, so I can quit it, and 'use' my devel modules again.) | ||
cygx | lucs: not sure, EVALFILE perhaps? | 15:55 | |
jnthn | Ven: "We can very easily the size necessary to store the elements for" | ||
ugexe | i wouldnt mind an easter egg deprecation on `use CGI;` | ||
jnthn | You accidentally out a verb? :) | ||
Ven | thanks | ||
lucs | cygx: Aha, I'll look that up, thanks. | ||
dj_goku | cygx: doc.perl6.org/language/exceptions#C...exceptions | ||
jnthn | Ven: I'm confused, you say ++ will not work but then show that it does ;) | 15:56 | |
Ven | jnthn: I say it doesn't work without a container, and there's an explicit note that, for $a, there's a container | ||
15:56
lucasb joined,
zacts|pi joined
|
|||
jnthn | @a[0]++ # damn, that *should* work.. | 15:56 | |
Wonder why on earth it doesn't... | |||
dj_goku | cygx: searching doc.perl6.org I can't find try :( I know it is there. | ||
lizmat | [Coke] Indeed, that's why my plan was to make Date.new die *now* | ||
Ven | that's poorly worded, though.. | ||
jnthn: no container? :P | 15:57 | ||
jnthn | No, it's 'cus I didn't implemnet the multi-dim native refs yet :( | ||
D'oh | |||
Ven | ah, oke | ||
jnthn | I think that'll be fixed before 6.c | ||
[Coke] | IMO, Date.new should return now, not die. But sure, an exception is better than an arbitrary date that isn't today. | 15:58 | |
15:59
lostinfog joined
|
|||
lizmat | Date.new should die at 6.c maybe later, when all the code that depended on Date.new returning Christmas has died, we can make Date.new return now | 15:59 | |
for now, I would say, use "now.Date" or "now.DateTime" instead | |||
lucasb | Can we have a candidate Date.new('lucas') that outputs my birthday? | ||
just kidding :) | 16:00 | ||
[Coke] | crap, there was a bisect going on in my daily roast run directory for no reason I can see. | ||
that's 3 days of runs lost. grumble. | 16:01 | ||
lizmat | m: use MONKEY-TYPING; augment class Date { multi method new("lucas") { Date.new(2015,1,1) } }; say Date.new("lucas") # lucasb | ||
camelia | rakudo-moar 947660: OUTPUT«2015-01-01» | ||
16:03
vividsnow joined
|
|||
lucasb | about having to wait with a deprecation, I think no serious code depends on the fact that Date.new returned the christmas date. so, iow, I wouldn't wait to make it the same thing as Date.today | 16:05 | |
16:05
yakudza left
|
|||
RabidGravy | [Coke], that'll be the naughty bisecting fairies | 16:06 | |
16:07
vividsnow left
16:08
sufrostico joined,
donaldh left
16:10
rindolf joined
|
|||
dalek | c: b9750d2 | RabidGravy++ | doc/Language/variables.pod: Add %?RESOURCES |
16:12 | |
RabidGravy decided it was a documentation day | |||
16:13
ajs_ joined
|
|||
Skarsnik | nice :) | 16:15 | |
RabidGravy | It's not quite as stated in s22 but I think we can all live with that | 16:20 | |
_nadim | does PERL6LIB support a separator? eg: PERL6LIB=lib:t well I know it doesn't but is there a way to do it? | 16:22 | |
16:23
kaare_ left
|
|||
RabidGravy | I think it does support a separator, just not ':' | 16:23 | |
_nadim | RabidGravy++ for the documentation day | ||
16:23
kaare_ joined
16:24
zacts|pi is now known as zacts
|
|||
hoelzro | .botsnack | 16:25 | |
yoleaux | :D | ||
07:16Z <MadcapJake> hoelzro: I pushed my PR, the problem was my install. using prefix failed miserably for me so I just let it install right inside rakudo directory! :D I was wondering if you could point me to where I could add a commandline arg? If I add a "banner", I want there to be a `-q` or `--quiet` option for removing the banner. | |||
hoelzro | o/ #perl6 | ||
_nadim: I think it's , now | |||
[Coke] | (bisect) UGH wrong machine. :) | ||
hoelzro | so PERL6LIB=lib,t | ||
[Coke] wonders why we ended up with a comma there. | |||
16:26
spaceships joined,
donaldh joined
|
|||
_nadim wonders too | 16:26 | ||
[Coke] | that said, we're still missing several days of commits from my daily runs. run in progress now, hopefully that'll stick. | ||
_nadim | hoelzro: it is comma, thank you :9 | 16:27 | |
hoelzro | I also wonder | 16:28 | |
if people have time, could they sanity check my CURLI fix? github.com/rakudo/rakudo/pull/625 (cc: nine) | |||
16:28
xpen joined
|
|||
Skarsnik | _nadim, put use lib './' if you have test that need it x) | 16:28 | |
RabidGravy | I remember the discussion, I think it was the least likely to be in some path spec of any potential OS | ||
dj_goku | is there a list of documentation updates needed before christmas? | 16:29 | |
lucasb | that comma was from earlier in the year when those prefixes "file#", "inst#" were introduced, right? Now, with curli, is there still a need for it? (I don't fully understand the details, but I wish PERL6LIB was a more unix-y pathy variable and used ":") | ||
16:29
pmurias_ joined
|
|||
geekosaur | ut then you need to deal with a different separator on windows | 16:29 | |
RabidGravy | lucasb, but then you'd have to special case e.g. Windows C:/stuff/lib | ||
Skarsnik | why not ; ? | 16:30 | |
16:30
AlexDaniel joined
|
|||
lucasb | indeed, I almost never consider windows :) idk how other tools handle the path env var idiom with regard to ":" vs ";" in windows | 16:31 | |
16:32
pmurias left
16:33
xpen left
|
|||
ajs_ | Rakudo BUILDALL parameter behavior really boggling me at: gist.github.com/anonymous/80e3ad83226dd936865e | 16:36 | |
RabidGravy wonders idly whether there should be a .path-separator in $*SPEC | |||
ajs_ | Shouldn't that |c.hash return the {...} part of |c which are the named args? It seems to return an empty Map | 16:38 | |
16:38
Ven left
|
|||
psch | m: say :(*%_) ~~ :(Int :$x, *%_) # i think this is also bugged..? | 16:42 | |
camelia | rakudo-moar 947660: OUTPUT«False» | ||
tadzik | timotimo: oh, I thought it's "men" for gender-neutral and "man" for male :| | ||
psch | but we're testing for False for that case... | ||
hrm | 16:43 | ||
timotimo | _nadim, Skarsnik, BooK, we do have a bit of a module authoring tool chain, it's called "mi6". i haven't checked it out yet | ||
psch | i keep mixing up the semantics for Signature.ACCEPTS(Signature) :/ | ||
lizmat | .oO( we are all Devo ) |
16:44 | |
16:44
kyclark joined
|
|||
cygx | github.com/rakudo/rakudo/pull/626 | 16:44 | |
psch | &a.signature ~~ &b.signature means '&b accepts at least all Captures &a accepts'..? | 16:45 | |
m: say :(Int $x, *%_) ~~ :(*%_) | |||
camelia | rakudo-moar 947660: OUTPUT«False» | ||
Skarsnik | timotimo, oh, it look interesting | ||
psch | well, one of those two has to work i think :S | 16:46 | |
kyclark | I'd like to understand the "so" operator: lpaste.net/146698 | ||
lizmat | cygx: how is that holding up with the spectest? | ||
cygx | lizmat: I'll write a test for it, then I can do a run | 16:47 | |
I have no idea what my baseline is, though... | |||
lizmat | m: say ?(2 == <1 2 3>.any) # kyclark | ||
camelia | rakudo-moar 947660: OUTPUT«True» | ||
lizmat | kyclark: aka a lower precedence version of prefix ? | ||
kyclark | It just forces a (Bool)? | 16:48 | |
psch | kyclark: Bool coercion collapses Junctions into a single Bool value, yes | ||
moritz | kyclark: doc.perl6.org/language/faq#What_is_so%3F | ||
lizmat | m: say ?(2 == <1 2 3>.all) # kyclark | ||
camelia | rakudo-moar 947660: OUTPUT«False» | ||
kyclark | lizmat, that helps | ||
Is there a mnemonic for "so"? Is it short for something? | |||
ChristopherBotto | kyclark: Imagine an argument between children: is not! is so! is not! is so! | 16:49 | |
16:49
n0tjack joined
|
|||
ChristopherBotto | kyclark: It is just the opposite of not | 16:50 | |
lizmat | kyclark: well, that is "so True" :-) | ||
16:51
hankache joined
|
|||
kyclark | One thing I love about the Haskell REPL is the ability to ask the type of an operator. Is there any way to ask something like "so" what it takes and returns? :t so ??? | 16:52 | |
psch | kyclark: you can introspect the Signature of any Routine | ||
kyclark | Ah, please tell me how! | 16:53 | |
psch | well, Block, actually, but Routine isa Block | ||
AlexDaniel | kyclark: you can also look at the docs doc.perl6.org/routine/so | ||
Skarsnik | m: say so.^.perl | ||
camelia | rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SZ5tnwQ_XyPrefix so requires an argument, but no valid term foundat /tmp/SZ5tnwQ_Xy:1------> 3say so.^7⏏5.perl expecting any of: dotty method or postfix» | ||
lucasb | kyclark: I can call .WHAT on some value to know what it is, but idk if it's just what you asked :) | ||
*you can call... | |||
geekosaur | you missed a method name for the metaclass | ||
lizmat | m: say &so.WHAT | ||
camelia | rakudo-moar 947660: OUTPUT«(Sub)» | ||
psch | m: say &so.candidates # all the signatures for all candidates | 16:54 | |
camelia | rakudo-moar 947660: OUTPUT«(sub so (Mu $x) { #`(Sub|57004728) ... })» | ||
psch | 'cause you might get the Signature for the proto or something otherwise, which might not be helpful | ||
m: say &so.signature # this is a bit interesting though... | |||
camelia | rakudo-moar 947660: OUTPUT«(Mu)» | ||
16:55
lolisa joined
|
|||
Skarsnik | hm candidates does not give you the return type? | 16:55 | |
kyclark | BTW, one rakudo I have prints "^[[A" when I hit the up arrow for the previous command, another works fine. What do I need to do to fix that? | ||
hoelzro | kyclark: you could use rlwrap | ||
or install Linenoise | |||
MadcapJake: I think to add a command line switch, you'll need to look at src/main.nqp | |||
psch | m: multi f(Int $x) returns Bool { }; say &f.candidates | ||
camelia | rakudo-moar 947660: OUTPUT«(sub f (Int $x --> Bool) { #`(Sub+{Callable[Bool]}|73246352) ... })» | ||
psch | Skarsnik: it does, but &so doesn't declare a return type | ||
AlexDaniel | oh | 16:56 | |
ChristopherBotto | keyclark: It's like !! in Perl 5 (see my question about '!!' at stackoverflow.com/questions/2168406) | ||
AlexDaniel | we need a prefix | ||
Skarsnik | oh yeah, most of core stuff is not typed x) | ||
AlexDaniel | m: .say for &prefix:<so>.candidates | ||
camelia | rakudo-moar 947660: OUTPUT«sub prefix:<so> (Bool:D \a) { #`(Sub|48396840) ... }sub prefix:<so> (Bool:U \a) { #`(Sub|48396992) ... }sub prefix:<so> (Mu \a) { #`(Sub|48397144) ... }» | ||
ChristopherBotto | m: so !! True; | ||
camelia | rakudo-moar 947660: OUTPUT«WARNINGS:Useless use of "so " in expression "so !" in sink context (line 1)» | ||
psch | AlexDaniel++ | ||
ChristopherBotto | m: True; | ||
camelia | ( no output ) | ||
ChristopherBotto | m: say !! True; | 16:57 | |
camelia | rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oQHn8tZcnTTwo terms in a rowat /tmp/oQHn8tZcnT:1------> 3say !!7⏏5 True; expecting any of: infix infix stopper postfix statement end statem…» | ||
psch | wasn't sure it was a prefix, tried the sub form first and it worked... although that probably dispatches to the categorial :) | ||
ChristopherBotto | m: say so True; | ||
camelia | rakudo-moar 947660: OUTPUT«True» | ||
AlexDaniel | psch: any idea how can I see the return type? | ||
ChristopherBotto | m: say so ''; | ||
camelia | rakudo-moar 947660: OUTPUT«False» | ||
ChristopherBotto | m: say so '0'; | ||
camelia | rakudo-moar 947660: OUTPUT«True» | ||
psch | AlexDaniel: prefix:<so> doesn't declare a return type | ||
m: multi f(Int $x) returns Bool { }; say &f.returns # this is the general case | 16:58 | ||
camelia | rakudo-moar 947660: OUTPUT«(Mu)» | ||
psch | m: multi f(Int $x) returns Bool { }; say &f.candidates>>.returns # *this* is the general case | ||
camelia | rakudo-moar 947660: OUTPUT«((Bool))» | ||
16:58
lucasb left,
molaf joined
|
|||
ChristopherBotto | m: say so Mu; | 16:58 | |
camelia | rakudo-moar 947660: OUTPUT«False» | ||
ChristopherBotto | m: say so Mu.Str; | 16:59 | |
camelia | rakudo-moar 947660: OUTPUT«Use of uninitialized value of type Mu in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/6aC0YDvMjH:1False» | ||
ChristopherBotto | m: Mu.Str.say; | ||
camelia | rakudo-moar 947660: OUTPUT«Use of uninitialized value of type Mu in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/58Hr3mVPOn:1» | ||
ChristopherBotto | m: Mu.say; | 17:00 | |
camelia | rakudo-moar 947660: OUTPUT«(Mu)» | ||
ChristopherBotto | m: say Mu; | ||
camelia | rakudo-moar 947660: OUTPUT«(Mu)» | ||
AlexDaniel | psch: okay, it looks like you are right | ||
[Coke] | You can also send camelia private messages, btw. | ||
lucs | So, for a new module, .travis.yml, META.info, or what? (any docs on that?) | 17:01 | |
AlexDaniel | psch: though here it mentions that return type is Bool:D doc.perl6.org/routine/so | ||
lucs: META.info for sure, travis not required but recommended | |||
Skarsnik | lucs, try mi6 it look nice :) | ||
lucs | AlexDaniel: Okay, thanks. | 17:02 | |
Skarsnik: mi6? | |||
Skarsnik | github.com/shoichikaji/mi6 | ||
lucs | Okay, will look, thanks :) | ||
Skarsnik | Something intesting could be to force travis to rebuild the ecosystem when doing a new release of rakudo | 17:03 | |
psch | AlexDaniel: fwiw, declaring a return type always costs at least a mixin, which might be a reason we haven't been particularly diligent with adding them | ||
17:03
Ven joined
|
|||
psch | although, in general, i'd be in favor for clear-cut cases like &so (or &prefix:<so>) | 17:03 | |
Skarsnik | m: .say for &prefix:<if>.candidates | 17:04 | |
camelia | rakudo-moar 947660: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_48p5kTCmoUndeclared routine: prefix:<if> used at line 1. Did you mean 'prefix:<~>', 'prefix:<->', 'prefix:<so>', 'prefix:<+>', 'prefix:<!>'?» | ||
17:05
rurban left
17:06
pmurias_ left
|
|||
hoelzro | MadcapJake: you'll need to edit src/main.nqp to add the flag, and edit Perl6::Compiler again to implement it | 17:07 | |
17:08
zacts is now known as acts,
acts is now known as zacts
|
|||
RabidGravy | Skarsnik, I'm not sure if there is a way to get a github webhook from a third party repository | 17:09 | |
but would be cool yes | |||
ChristopherBotto | [Coke]: How do you message camelia privately tried several variations of "/msg m: say so True;" | ||
RabidGravy | it appears the bot doesn't respond to privmsg | 17:10 | |
ChristopherBotto | s/privately tried/privately? I tried/ | ||
dj_goku | ChristopherBotto: /msg camelia p6: say True? | ||
nine | How on earth is it possible that I call $obj.foo and inside the foo method $self is a completely different object than $obj? | ||
hoelzro | nine: role punning? | 17:11 | |
dj_goku | ChristopherBotto: are you registered and identified? | ||
ChristopherBotto | dj_goku: Oh, it opens up a new tab! Thanks! | ||
dj_goku | ChristopherBotto: lol no problem. | ||
RabidGravy | oh so it does | 17:12 | |
dj_goku | in irssi it does that. | ||
nine | hoelzro: I guess no. Those objects have nothing in common | ||
hoelzro | =/ | ||
that's the only thing I've seen that does something like that | |||
17:12
joeschome joined
|
|||
dalek | kudo/nom: fbba428 | cygx++ | src/core/IO/Handle.pm: make IO::Handle.open fail when nqp::open dies |
17:13 | |
kudo/nom: d3e89a5 | lizmat++ | src/core/IO/Handle.pm: Merge pull request #626 from cygx/open-fail make IO::Handle.open fail when nqp::open dies |
|||
joeschome | Hello | ||
AlexDaniel | hi! | ||
RabidGravy | nine, does anything do callwith in there? | ||
ChristopherBotto | Here's how private messaging camelia works, in case anyone is wondering (just don't leave any spaces at the beginning): | ||
/msg camelia m: say so True | |||
joeschome | I am thinking of learning Rust & Perl6; do you think the two will work together well? | 17:14 | |
AlexDaniel | you can also /notice camelia | ||
nine | $obj is an object of a runtime created class while self is the Perl6Callbacks object that's created only once. The only connection is that one of Perl6Callbacks' methods is in the call stack | 17:15 | |
lucs | p6doc still uses @*INC ? :( | 17:16 | |
AlexDaniel | joeschome: what do you mean by “will work together well”? | ||
joeschome | So what im thinnking is Rust would be good for low level and perl for more abstract | ||
RabidGravy | If Rust can make dynamic libraries it might work, though it doesn't appear to do anything Perl 6 can't | 17:17 | |
joeschome | So maybe network concurancy and memory management in rust and string and file parsing in perl | 17:18 | |
dj_goku | joeschome: I would suggest just trying both. | ||
17:18
marchelzo joined
|
|||
marchelzo | hi | 17:18 | |
nine | WTF? With method call_context() { note self.^name }; I get the wrong self, while with method call_context(\SELF:) { note SELF.^name } it's correct! | ||
AlexDaniel | joeschome: hm, interesting question. I think that if I were you I'd go C and Perl 6. The reason is that you can use NativeCall to call stuff written in C from Perl 6. Well, unless you can use NativeCall with Rust, I'm not sure | ||
marchelzo: hello! | 17:19 | ||
nine | I really start to suspect that there's a rakudobug to be found here | ||
marchelzo | is the MoarVM startup time going to get significantly faster, or is it bound to be slow? | ||
AlexDaniel | marchelzo: how slow it is for you? | ||
tadzik | hm, I honestly find it quite fast. How slow is it for you, and how do you measure it? | ||
17:19
n0tjack left
|
|||
joeschome | What im thinking is I know myself and I think rusts type safty will save me a lot of headache; however i love perl6 regex engine | 17:20 | |
marchelzo | I haven't used it much, but from what I've read it's even worse than the JVM. I've heard it takes several seconds to start, rendering it useless for small command-line programs. It's making me hesitant to invest time into learning Perl 6, despite the fact that the language looks really interesting. | ||
AlexDaniel | marchelzo: look | ||
m: say 'hello world' | 17:21 | ||
camelia | rakudo-moar 947660: OUTPUT«hello world» | ||
nine | marchelzo: it's about 100ms here | ||
dj_goku | joeschome: doesn't perl6 have some type safety built in? | ||
psch | marchelzo: where'd you read MVM is slower than the JVM? | ||
marchelzo | Hmm... has it improved a lot recently? | ||
dj_goku | m: my Int $i = 'str'; | ||
camelia | rakudo-moar 947660: OUTPUT«Type check failed in assignment to $i; expected Int but got Str in block <unit> at /tmp/YqvjM7FyMO:1» | ||
tadzik | marchelzo: oh, you do read reddit, don't you? :) | ||
AlexDaniel | j: say 'hello world' | ||
tadzik | I saw that comment too, and contested it | ||
camelia | rakudo-jvm 6c0f93: OUTPUT«hello world» | ||
joeschome | Im sure it does so that brings me to my next question is perl6 better at systems programing that perl5 | ||
tadzik | moarvm has always been MASSIVELY faster at startup than jvm | ||
dj_goku | joeschome: it is probably to early to say either way. | 17:22 | |
psch | AlexDaniel: j: has nothing to do with jvm startup time, it's slow for all the other reasons r-j is slow :) | ||
17:22
yqt joined
|
|||
dj_goku | joeschome: it is what you make it. | 17:22 | |
marchelzo | I originially read it in this comment: www.reddit.com/r/programming/comme...on/cxfs7gq | ||
But it looks like the author has editited it. | |||
joeschome | Ive always been under the "assumption" that perl is not ideal for systems programing.... I am willing to be wrong. | 17:23 | |
Skarsnik | rakudo was slow without precomp with lot of module | ||
nine | joeschome: define systems programming | ||
dj_goku | joeschome: what do you mean by systems programming? | ||
tadzik | it still is with precomp and with a lot of modules | ||
well, slower :) | 17:24 | ||
marchelzo | so what is rakudo? the compiler? it can emit jvm bytecode or moarvm bytecode? | ||
tadzik | yes | ||
Skarsnik | well I still hve a version without precomp and it's like 10-20 sec per launch with 4-5 modules xD | ||
nine | tadzik: now it takes some time to load a lot of modules. Previously it took lots of time with just having modules installed | ||
tadzik | oh, yes | ||
correct | |||
marchelzo | ok. that's relieveing. where is the best place to learn perl6 from? | 17:25 | |
RabidGravy | tadzik matey can I entice you to merge github.com/tadzik/JSON-Unmarshal/pull/14 - I RT'd the cause but it may not get resolved very soon :) | ||
tadzik | oh, oh | ||
absolutely :) | 17:26 | ||
I should just add you to that project | |||
RabidGravy | cool, I'd like to encourage people to use Test::META which depends on it | ||
:-* | |||
nine | Any opinions on renaming CompUnitRepo to CompUnit::Repository::Registry? I figure that's what it really is now: you can register types of CompUnit::Repositories with it and it gives you a CompUnit::Repository instance for a spec string. | 17:27 | |
jnthn | nine: works for me | ||
RabidGravy | sounds fabulous :) | ||
jnthn | Though I'd probably drop the second :: | ||
ChristopherBotto | marchelzo: I'd recommend getting Rakudo Star here: rakudo.org/downloads/star | 17:28 | |
jnthn | Because the Registry is not a type of CompUnit::Repository | ||
nine | jnthn: err...I actually meant RepositoryRegistry :) | ||
lizmat | nine: fine by me | ||
jnthn | hah! :) | ||
nine++ # API design taste :) | |||
joeschome | Lets say i want to make a IRC clieant GUI and all or a Podatcher | ||
nine is on the backseat of a car on the way to a Nightwish concert in Vienna :) | |||
jnthn | Damn, nice! | ||
jnthn never saw Nightwish yet | |||
Should fix that some day :) | |||
Skarsnik | Should I add support for .desktop format and windows registery in most wanted modules? x) | 17:29 | |
nine | jnthn: oh yes :) | ||
Skarsnik | Could be useful to have perl6 that integrate well with a system | ||
+app | |||
psch | m: :($).perl.say; :($).gist.say | ||
camelia | rakudo-moar 947660: OUTPUT«:($)($)» | ||
dj_goku | joeschome: well there is this: github.com/zoffixznet/perl6-IRC-Client and this github.com/perl6/gtk-simple | ||
AlexDaniel | joeschome: that's not going to be too hard | 17:30 | |
joeschome: just what dj_goku said | |||
dj_goku | joeschome: modules.perl6.org/dist/Syndication | ||
joeschome | I think I am "believing" some of the anti-Perl stuff about it only being a glue language or scripting language. | 17:31 | |
cygx | t\spec\S17-supply\throttle.t hangs for me at 5/47 | ||
joeschome | Personaly i love the syntax of perl | ||
RabidGravy | Skarsnik, I started working up the freedesktop.org XDG spec but got blocked and only release the XDG::BaseDirectory | ||
dj_goku | joeschome: well it sounds like you have your answer. :D | ||
joeschome | Yeah | ||
Skarsnik | oh it's called xdg? I looked a bit to the format it look like .ini | 17:32 | |
ajs_ | It seems that BUILDALL's return value is currently the return value of .new... is that intentional? Do we have to write our BUILDALL to return the invocant? | ||
RabidGravy | well it is an .ini type file yes, but the contents thereof are part of the XDG spec | ||
psch | m: :($, $, $).gist.say | 17:33 | |
camelia | rakudo-moar d3e89a: OUTPUT«($,,)» | ||
psch | m: :($, $).gist.say | ||
camelia | rakudo-moar d3e89a: OUTPUT«($,)» | ||
ChristopherBotto | marchelzo: Then try out the old Perl6 Advent Calendar posts: perl6advent.wordpress.com/2009/12/...calendar/. If something doesn't seem to work, please ask. Some of the syntax has changed slightly since the original posts, but the original posters tend to update them as they are brought to their attention. | ||
Skarsnik | RabidGravy, I wanted to add this a Config module (or something) to work like Qt::Config stuff. Where you register you app and it etheir write in windows registry or .desktop file on unix | 17:34 | |
joeschome | So any idea when the perl6 "butterfly book" comes out; it looks like im going to need to buy it | ||
marchelzo | ChristopherBotto: thanks. checking. | ||
ajs_ | m: class Foo { method BUILDALL(|) { callsame; "Applesauce" } }; say Foo.new().perl | ||
camelia | rakudo-moar d3e89a: OUTPUT«"Applesauce"» | ||
dalek | ast: b478eae | cygx++ | S32-io/open.t: test default open mode, including failure to open nonexistent files |
17:35 | |
ast: c745f18 | RabidGravy++ | S32-io/open.t: Merge pull request #84 from cygx/default-open test default open mode, including failure to open nonexistent files |
|||
RabidGravy | joeschome, I guess it's when some publisher crosses someone's palm with sufficient silver to have less fun than they would writing code for Perl 6 :) | 17:37 | |
joeschome | Yeah | 17:38 | |
Do you think i should buy the older rakudo book? or is it too outdated www.google.com/search?q=perl6+book...2930779886 | 17:39 | ||
RabidGravy | cygx, I took it that you were happy that got merged without further discussion as you wrote the code it is testing and all | ||
17:40
lolisa left
|
|||
moritz | joeschome: no | 17:41 | |
joeschome | no its not too outdated | ||
hoelzro | nine: if you have a minute, would you mind sanity checking the code I wrote to fix panda-build and panda-test this morning? | 17:42 | |
nine | hoelzro: of course | ||
hoewhere can I find it? | 17:43 | ||
hoelzro | nine: thanks! it's here: github.com/rakudo/rakudo/pull/625 | ||
|Tux| | $ panda install Inline::Perl5 is still borked | ||
RabidGravy | hoelzro++ # I'd love you long time for fixing those | 17:44 | |
nine | |Tux|: if it's due to v6.t failing, that's where I found my strange self/SELF problems described above | ||
RabidGravy | also the script wrappers seem to be similarly afflicted but I guess it's the same fix | ||
|Tux| | ah | ||
nine | jnthn: renaming might be more difficult than anticipated: A my scoped package cannot have a multi-part name yet at line 69, near " metaclass" | 17:45 | |
|Tux| | hoelzro, my IO::String has gone through quite a bit of change in the past 2 days in order to get better both read as write support | ||
RabidGravy | joeschome, may take would be on waiting until a book comes out after the "Christmas release" | ||
|Tux| | still not perfect, but for now I am quite happy | ||
hoelzro | |Tux|++ | ||
feel free to submit a PR! | |||
17:45
n0tjack joined
|
|||
|Tux| | again, feel free to steal and improve or do PR's | 17:46 | |
hoelzro | if my change to rakudo is sane, I can start testing it again =) | ||
joeschome | Ok untill then the Docs page is pretty good | ||
AlexDaniel | joeschome: hmmm 06/10/2003 | ||
RabidGravy | yeah, people working to get it at least somewhat sane | ||
|Tux| | hoelzro, I'll keep the option to do PR's for your work open. If only time would permit … | ||
nine | hoelzro: nice catch! | ||
AlexDaniel | joeschome: “This book covers the development not only of Perl 6 syntax but also Parrot” heh | 17:47 | |
hoelzro | nine: thanks! is that a blessing to push to nom? | ||
jnthn | nine: We have to stub that all the way back in bootstrap? | 17:48 | |
nine | hoelzro: this looks so familiar. I actually think I already did the same change, but maybe I accidentally reverted it. Please go on and merge | ||
hoelzro | |Tux|: I'll have a look at your changes, see if I can fold them in | ||
\o/ | |||
thanks for taking the time to review | |||
|Tux| | thumbs up | ||
|Tux| => $home | |||
nine | jnthn: yes, Perl6::Action seems to need it. I first tried to remove it from BOOTSTRAP because I also didn't know why it would be needed there. Will investigate further if we really need it. | ||
marchelzo | is 'say t.fmt;' always the same as 'say t;'? | ||
nine | jnthn: I don't see why we would run a require during stage parse | 17:49 | |
dalek | kudo/nom: 2f0d38a | hoelzro++ | src/core/CompUnit/Repository/Installation.pm: Use distribution's name to find binary resources Currently, when a distribution has binary/script files, we install them as resources owned by the distribution, as well as wrapper scripts that the shell can find via PATH that use the CompUnit API to dispatch to the corresponding resource. Some distributions install multiple binaries; for example, panda installs panda, panda-build, panda-test, etc. The wrapper scripts currently use the basename of the wrapper script to locate the distribution that contains the corresponding binary resource, rather than the name of the distribution that binary is a part of. This change makes wrapper scripts use the distribution name to find dist metadata, which will then be used to locate the resource for the actual binary. |
||
marchelzo | never mind, I answered my own question | ||
timotimo | hoelzro++ | ||
RabidGravy | marchelzo, no: | 17:50 | |
17:50
ZoffixW joined,
ZoffixW left
|
|||
RabidGravy | m: say DateTime.now.fmt | 17:50 | |
camelia | rakudo-moar d3e89a: OUTPUT«Method 'fmt' not found for invocant of class 'DateTime' in block <unit> at /tmp/1_tKTsQA0u:1» | ||
Skarsnik | m: use NativeCall; my $a = "NativeCall", say NativeCall::EXPORT::DEFAULT::.keys.elems; | ||
RabidGravy | m: say DateTime.now | 17:51 | |
camelia | rakudo-moar d3e89a: OUTPUT«Could not find symbol '&DEFAULT' in block <unit> at /tmp/5aJPd_12mN:1Actually thrown at: in block <unit> at /tmp/5aJPd_12mN:1» | ||
rakudo-moar d3e89a: OUTPUT«2015-12-08T18:51:03+01:00» | |||
joeschome | It's settled: Im going to learn Perl6 first then if I feel i need it ill learn some rust | ||
psch | is there a reason for Signature.gist not to "promote" variable-less type constraints to anonymous scalars? | ||
RabidGravy | joeschome++ # wise choice | ||
psch | as in, gist :(Str, Int) as < (Str $, Int $) > | ||
jnthn | nine: Yeah, I'm surprised it's needed so early... | ||
dinner & | |||
17:51
Ven left
|
|||
Skarsnik | hm why this does not work for NC, I use for another module to grab all the exported stuff it work Oo | 17:51 | |
psch | 'cause untyped anons disappear currently, which seems really weird to fix without always printing a $... | 17:52 | |
hankache | perl6advent.wordpress.com/2010/12/24/ | ||
joeschome | It will probably take alot less time to write things in perl and if I can make reasonable responsive programs why not. | ||
17:52
koo8 left
|
|||
hankache | That is still relevant even today. | 17:53 | |
nine | .tell jnthn you'd never guess. It's a require Inline::Perl5 in the :lang<Perl5> EVAL candidate | ||
yoleaux | nine: I'll pass your message to jnthn. | ||
AlexDaniel | joeschome: by the way, do you have any previous programming experience? | 17:54 | |
joeschome | a tiny bit of perl5 | ||
it was fun | |||
Skarsnik | joeschome, I think that depend a lot of what you want to do. writing a Gui not using something C#/.net or C++/Qt (or even C/Gtk) sound like a bad idea x) | ||
marchelzo | Is there any way to see documentation for a function or method within the perl6 repl? Like python's help() or something? | 17:55 | |
Or at least list available methods on an object. | |||
hankache | Camelia will suck the brains of unrepentant grinches. I f*cking like this line | ||
AlexDaniel | marchelzo: $object.^methods | ||
dj_goku | marchelzo: I was wondering the same too. | ||
AlexDaniel | m: .say for 5.^methods | ||
camelia | rakudo-moar d3e89a: OUTPUT«IntNumRatFatRatabsBridgechrsqrtbasepolymodexpmodis-primefloorceilingroundlsbmsbnarrowRangesignsintancotanacosechconjatan2cosecpredasecacotancoshacosacosecsec…» | ||
dj_goku | marchelzo: object.? in ipython is nice | ||
marchelzo | AlexDaniel: how does .^ relate to .? | 17:56 | |
AlexDaniel | marchelzo: and also .WHAT is extremely helpful | ||
cygx | RabidGravy: sure, merging the PR was fine | ||
I would have done so myself, but I'm currently other wise occupied | |||
AlexDaniel | marchelzo: design.perl6.org/S12.html#Introspection | 17:57 | |
cygx | .oO( too budy to press a ginle button oO ) |
||
*busy | |||
joeschome | I think someone said you can do gtk in perl6 | ||
Im mainly a BSD/LINUX guy so thats fine with me | 17:58 | ||
Skarsnik | well you can use a part of gtk x) | ||
marchelzo | so, 'flat' basically forces an iterator/generator to produce a list? like list() in python. | ||
17:59
xtreak joined
|
|||
joeschome | so what would you recomend for the GUI part | 17:59 | |
Skarsnik | It the only thing available in perl6 for now so... gtk x) | ||
dj_goku | I have always wanted to write C++/Qt, but would be neat to do Perl6/Qt | ||
timotimo | i want that, too. but at the moment we have to go via Inline::Python to get Qt | 18:00 | |
Skarsnik | Well feel free to write the smoke generator/binding | ||
smoke is the tool used to generate C#, python/ruby/perl5 binding | 18:01 | ||
for Qt | |||
dj_goku | timotimo: yeah I wondered if that is how we go it. wondereed how hard it would be to build an app. | ||
timotimo | Skarsnik: smoke is not used to create python bindings | 18:02 | |
Skarsnik: PyQt has SIP, PySide has Shiboken aka ApiExtractor/GeneratorRunner | |||
dj_goku | techbase.kde.org/Development/Languages/Smoke for anyone wondering what SMOCK is. | ||
lucs | Folks, with current sources: panda warns, p6doc fails, the debugger fails. | ||
But that's okay, I'm patient. | |||
So I installed Rakudo Atar (-11) | 18:03 | ||
Its panda fails :( | |||
*Star | |||
[Coke] | (not too old perl 6 and parrot essentials is out of date, do not purchase. | ||
sorry, that was supposed to be (not too old) ... Perl 6 and... | |||
don't get that book. | 18:04 | ||
marchelzo | What's the most canonical way to convert something to a string? Just use .fmt? | ||
Like Int to Str for example. | |||
Skarsnik | .Str | ||
[Coke] | m: say ~34.WHAT | ||
camelia | rakudo-moar d3e89a: OUTPUT«Use of uninitialized value of type Int in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/9A248s81tp:1» | ||
Skarsnik | or nothing | ||
joeschome | This is going to sound crazy but what about a ncurses style application? | ||
Skarsnik | or just ~ | ||
[Coke] | m: say (~34).WHAT | ||
camelia | rakudo-moar d3e89a: OUTPUT«(Str)» | ||
timotimo | Rakudo Qatar | ||
dj_goku | m: say 34.Str.WHAT | ||
camelia | rakudo-moar d3e89a: OUTPUT«(Str)» | ||
lucs | timotimo: I bet that fails too ;) | ||
dj_goku | m: say 34.Str | ||
camelia | rakudo-moar d3e89a: OUTPUT«34» | ||
RabidGravy | joeschome, there is an NCurses module which works very well | ||
Hotkeys | Rakudo Starfox | ||
marchelzo | Skarsnik: Which way is the most common in Perl6 code? | 18:05 | |
timotimo | Lylakudo Wars | ||
joeschome | I still use MC and Mp3blaster so a ncurses podcatcher in perl6 woudl be cool! | ||
[Coke] | marchelzo: there's more than one way to do it. | ||
Skarsnik | no idea. I came accross ~ or .Str | ||
[Coke] | I personally would use ~ unless I had a compelling reason to explicitly call .Str | ||
Hotkeys | There's more than one way to skin a cat | 18:06 | |
Skarsnik | http::ua like .Str | ||
marchelzo | TMTOWTDI is still a thing in perl6? | ||
lucs | So should I just wait till after Christmas? I find it really hard to work without a module installer, a doc browser, and a debugger. | ||
dj_goku | marchelzo: why not? | ||
RabidGravy | marchelzo, very much so | ||
18:06
xfix joined
|
|||
Skarsnik | lucs, fill an RT (or look it one already exists) | 18:07 | |
RabidGravy | [Coke], my eyesight ain't so great so I prefer the more obvuos .Str ;-) | ||
marchelzo | I thought people agreed that 'There should be one-- and preferably only one --obvious way to do it.' was the better philosophy. | ||
nine | .tell jnthn I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP | ||
yoleaux | nine: I'll pass your message to jnthn. | ||
Hotkeys | Which people | ||
marchelzo | People who bash perl5. | ||
RabidGravy | lucs, there's a perfectly working module installer | 18:08 | |
psch | "people agreed that $this was the better philosophy" is probably false for any value of $this | ||
18:08
dwarring joined
|
|||
dj_goku | marchelzo: I think that is the python. | 18:08 | |
RabidGravy | oh them | ||
nine arrived at Vienna and is off to Nightwish now. Back in a couple of hours. | |||
[Coke] posts a 1 star review of parrot & perl 6 book on amazon. | |||
dj_goku is currently paid to write python | |||
timotimo | nine: have fun! | ||
lucs | RabidGravy: I'm listening (current panda warns, but works, yes) | ||
Skarsnik | have a nice concert nine | ||
nine | thanks :) | 18:09 | |
Hotkeys | Python is lame thoufh | ||
dj_goku | *shrug* | ||
JimmyZ | jthn++, nine++ # RepositoryRegistry | ||
[Coke] | "people that bash perl 5" and "people that work on perl 6" are two very distinct groups of people. | ||
timotimo | jdu, välugj.H IGGÖ. S... damn | ||
Hotkeys | For one it isn't perl 6 :p | ||
timotimo | nah, python's good. lots of neat stuff to steal | ||
marchelzo | dj_goku: it is | ||
El_Che | I am looking on a way to serialize perl6 datastructures. I have big LDAP ldif that I read in order to convert into a data structure. While comparing these data structures I run out of memory (a 4gb VM). Is there native way to do serializing in p6? Use JSON::(Un)Marshal? | ||
RabidGravy | lucs, that warning is somewhat lower level and will go away when someone works out how to replicate | ||
timotimo | [Coke]: i bash perl5 sometimes | ||
dj_goku | I wouldn't mind an awesome REPL like ipython in perl6 | 18:10 | |
timotimo | dj_goku: then help arnsholt out | ||
dj_goku: he's working on the iperl6 kernel | |||
marchelzo | Which type is used to represent a list of Int? I tried <1 2 3>.WHAT and it says Parcel. | ||
[Coke] | lucs: if you can't handle bleeding-edge, then yes, wait 2 weeks. But there's not going to be that many changes between now and then other than bugfixes and slight improvements. If you can report issues NOW, then hopefully we can fix them before the release on Christmas. | ||
dj_goku | timotimo: I have no idea where I would start. except at the beginning. | ||
joeschome | You guys have been super helpful: so my tentative idea is to learn perl6 by making an ncurses based pod-catcher. They say the best way to learn is to do a project. I listen to alot of podcasts (Twit and Jupiter broadcasting) | ||
[Coke] | timotimo: Mostly distinct. | ||
El_Che | dj_goku: :) | ||
marchelzo | Like if I wanted to write a routine to sum a list of Ints, what should its argument's type be? | ||
[Coke] | marchelzo: if you're getting parcel, you have an ANCIENT perl 6. | ||
timotimo | dj_goku: the good thing is that there's some code you can work upon | ||
AlexDaniel | marchelzo: it seems like your Perl 6 is old | 18:11 | |
[Coke] | marchelzo: what does perl6 -v say ? | ||
AlexDaniel | m: say <1 2 3>.WHAT | ||
camelia | rakudo-moar 2f0d38: OUTPUT«(List)» | ||
timotimo | dj_goku: github.com/timo/iperl6kernel - have a look-see if you find it comprehensible | ||
marchelzo | [Coke]: what? I _just_ built it from source. | ||
AlexDaniel | marchelzo: it is List, as you might expect | ||
dj_goku | I have a module idea I want to start/build first. | ||
[Coke] | marchelzo: what does perl6 -v say? | ||
joeschome | You guys have been super helpful: so my tentative idea is to learn perl6 by making an ncurses based pod-catcher. They say the best way to learn is to do a project. I listen to alot of podcasts (Twit and Jupiter broadcasting). Do you think its reasonable or crazy? | ||
Skarsnik | marchelzo, sub f(*@tab) (or just [+] if you want to sum a list) | ||
marchelzo | I downloaded the .tar.gz for 2015.11 but perl6 -v says 2015.03. | ||
[Coke] | I suspect you forgot to install and are running "perl6" instead of "./perl6" | 18:12 | |
18:12
vividsnow joined
|
|||
dj_goku | timotimo: oh great! | 18:12 | |
marchelzo | ah, I was running the perl6 in /usr/local/bin. | ||
AlexDaniel | joeschome: it is 100% correct that you will learn by doing | ||
[Coke] | or perhaps installed it somewhere else. | ||
marchelzo | [Coke]: yeah, why doesn't make install put in in $PATH? | ||
put it in* | |||
ajs_ | m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl | ||
camelia | rakudo-moar 2f0d38: OUTPUT«===SORRY!===Method 'pull-one' must be implemented by Foo because it is required by a role» | ||
[Coke] | you have to tell it where to install it. | ||
Skarsnik | rakudobrew does not install system wide | ||
[Coke] | there is a warning when you build. | ||
marchelzo | ah, I'll just move it. | ||
Skarsnik | that will not work probably | 18:13 | |
marchelzo | why? | ||
[Coke] | perl Configure.pl --help will point you at --prefix, which is what you want. | ||
Skarsnik | some path are hardcoded like panda if I remember correctly | ||
AlexDaniel | marchelzo: so that you can install it in environments that you don't control | ||
[Coke] | I would reconfigure with the correct --prefix and then install. | ||
marchelzo | if I run into problems I will | ||
AlexDaniel | marchelzo: ah sorry, thought that “why?” was about not installing system wide | 18:14 | |
dj_goku | I read a article recently say "we don't know anything as software developers/architect" we are just testing theories and learning from our mistakes. :D | ||
marchelzo | so <1 2 3> has type List. Is there no type called 'List of Int'? | ||
timotimo | dj_goku: you can only really learn from mistakes, fo course | ||
marchelzo: you can get an array that's typed to contain only Int (or derived things, of course) | 18:15 | ||
Skarsnik | my Int @array; | ||
geekosaur | "if builders built buildings the way programmers write programs, the first woodpecker to come along would destroy civilization" | ||
AlexDaniel | m: my Int @a = <1 5 10>; say @a; say @a.WHAT | ||
camelia | rakudo-moar 2f0d38: OUTPUT«[1 5 10](Array[Int])» | ||
[Coke] | m: my Int @stuff; @stuff.push("HI"); | ||
camelia | rakudo-moar 2f0d38: OUTPUT«Type check failed in assignment to @stuff; expected Int but got Str in block <unit> at /tmp/zl2KdpG6OO:1» | ||
timotimo | but if you have a sub like foo(Int @arr) { } you will not be able to call it with just [1 5 10], you'll have to give the type with it | ||
marchelzo | timotimo: which one is preferred. Like say I just want to do some computation with a bunch of Ints. Maybe sum them or compute their product or whatever. | ||
s/\./?/ | |||
[Coke] | most of your questions about "which is preferred" are going to be "it depends". | 18:16 | |
timotimo | if you have a bunch of ints, you can actually use "my int @arr", that'll give you 64bit ints | ||
lucs will rebuild rakudo/moar/nqp/panda from scratch for the umpteenth time and will see if panda still warns (like the last few times), if JSON::Fast still hangs (but knows how to work around), if p6doc still fails with @*INC, if the debugger still fails (after complaining of circular module loading). | |||
marchelzo | [Coke]: I know. I wish I could use other languages to make analogies. | ||
[Coke] | Also, in general, typing helps, but in the future, it will help more. (still more optimizations to come) | 18:17 | |
timotimo | lucs: JSON::Fast doesn't hang any more. if it stlil does, tell me ASAP | ||
Skarsnik | sub foo(Int *@tab) {Do something with the array} | ||
marchelzo | vector<int> in C++ or [Int] in Haskell. like, the go-to simplest and most general way to represent a list of ints. | ||
lucs | timotimo: Okay, thanks. | ||
timotimo | fixed it like 3 days ago or so | ||
lucs | Oh, well, was failing last night :( | ||
ajs_ | So, is "handles" implemented currently? It doesn't seem to play well with composition. | ||
timotimo | whaaaaat? :( | 18:18 | |
lucs | (commenting out line 153 in the first test fixes it iirc) | ||
timotimo | ajs_: can you supply a few test cases we could put into the spec tests to make sure the right semantics are covered for Christmas? | ||
lucs: you may need to "git pull" in panda | |||
marchelzo | the 2015.11 perl6 wasn't built with readline :( is that something I had to configure as well? | ||
ajs_ | m: class Foo does Iterator { has @.a handles "pull-one"; }; say Foo.new.pull-one.perl | ||
camelia | rakudo-moar 2f0d38: OUTPUT«===SORRY!===Method 'pull-one' must be implemented by Foo because it is required by a role» | ||
ajs_ | I don't think that would produce an error.... | ||
[Coke] | ajs_: easiest way to get feedback on stuff like that is to make a gist with code that shows the behavior and describes the behavior youw ant. | ||
timotimo | marchelzo: not configure, just install the Linenoise module (you may need to use an earlier commit, though) | ||
lucs | timotimo: Like I said, I built from scratch (maybe I forgot something, going for it again). | 18:19 | |
[Coke] | ... and I was too slow. Thakns. :) | ||
AlexDaniel | yeah, well, people can scream about only one way to do it right all day long, all I can say is that they can enjoy their crippled down functional programming (just because it didn't feel right to someone)… | ||
timotimo | ajs_: oh, interesting, i hadn't considered that case yet. | ||
dalek | kudo/nom: 62a029b | peschwa++ | src/core/Signature.pm: Correctly deal with slurpy hashes in Signature.ACCEPTS. |
||
[Coke] | m: class Foo does Iterator { has @.a handles <pull-one> }; say Foo.new.pull-one.perl; | ||
camelia | rakudo-moar 2f0d38: OUTPUT«===SORRY!===Method 'pull-one' must be implemented by Foo because it is required by a role» | ||
18:20
hankache left
|
|||
psch | argh | 18:20 | |
i git reset the tests i added for that commit /o\ | |||
18:20
virtualsue joined
|
|||
marchelzo | timotimo: how do I install modules? | 18:20 | |
timotimo | marchelzo: if you have rakudo star, you'll have a program called "panda" | ||
that can install stuff, but you can't tell it to get an older commit for you | 18:21 | ||
marchelzo: you'll have to git clone Linenoise, check out an earlier version with "git checkout" and then "panda install ." when inside the folder | |||
marchelzo | ah, that stuff's all still in the place where I built perl6. I'm going to have to reconfigure and reinstall. | ||
vividsnow | hi, does perl6 support udp sockets? | 18:22 | |
[Coke] | say Iterator.WHAT; | ||
m: say Iterator.WHAT; | |||
camelia | rakudo-moar 2f0d38: OUTPUT«Method 'pull-one' must be implemented by Iterator because it is required by a role in any compose_method_table at gen/moar/m-Metamodel.nqp:2680 in any apply at gen/moar/m-Metamodel.nqp:2690 in any compose at gen/moar/m-Metamodel.nqp:2826 in…» | ||
dalek | ast: 54f225c | peschwa++ | S03-smartmatch/signature-signature.t: Test two identical Signatures with named and named slurpy. |
||
Skarsnik | I think 2015.11 should not be used if every module will fail with it (the earlier compileunit stuff) | ||
[Coke] | ajs_: I don't think @a can handle pull-one, so I'm not sure that would work even if it worked. | 18:23 | |
timotimo | ajs_: i can have a look in the code to see if i find a solution. like, it tries to go through all role-mentioned methods first, because it has to. but maybe it should try again after the other things may have done their work, like "handles" handlers | ||
18:23
vividsnow left,
spider-mario joined
|
|||
[Coke] | m: my @a; say so @a.^can("pull-one"); | 18:24 | |
camelia | rakudo-moar 2f0d38: OUTPUT«False» | ||
18:24
vividsnow joined
|
|||
ChoHag | If I have a token foo { ... <.bar> ... } and token bar is { <baz> <bing> <bong> }, what can I change so that I capture baz, bing and bong individually but not bar? | 18:24 | |
timotimo | hum. actually ... | ||
"handles" uses ".^add_fallback" | |||
joeschome | say @months[2]; | 18:26 | |
m: say @months[2]; | |||
camelia | rakudo-moar 2f0d38: OUTPUT«5===SORRY!5=== Error while compiling /tmp/r0eEKrUsb7Variable '@months' is not declaredat /tmp/r0eEKrUsb7:1------> 3say 7⏏5@months[2];» | ||
timotimo | actually, RoleToClassApplier should just learn to look into the @!fallbacks | ||
AlexDaniel | vividsnow: maybe you can try this: doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET | ||
cxreg | there's an impressively large crowd at Node interactive | 18:27 | |
timotimo | what is that, cxreg? | 18:28 | |
cxreg | linux foundation sponsored nodejs conference | ||
18:28
ZoffixW joined
|
|||
cxreg | i think there's a lot of potential perl 6 people in this crowd honestly | 18:29 | |
marchelzo | timotimo: I can't build Linenoise. | ||
AlexDaniel | m: my @months = <Jan Dec Mar>; say @months[2] | ||
camelia | rakudo-moar 2f0d38: OUTPUT«Mar» | ||
timotimo | marchelzo: what commit did you check out? what's the error? | ||
marchelzo | "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block" | ||
18:30
ZoffixW left
|
|||
marchelzo | what commit? I didn't clone the rakudo-star repository, I downloaded an archive. | 18:30 | |
timotimo | yeah, what that really means is "I don't have that class defined, so i think it's probably a sub" and then syntax error | ||
because that Linenoise is too new | |||
18:30
xpen joined
|
|||
timotimo | requires changes to rakudo that happened after the rakudo star 2015.11 release | 18:30 | |
marchelzo | you what commit of Linenoise or what commit of Linenoise? | ||
one of those should say rakudo | 18:31 | ||
lol | |||
timotimo | one sec. | ||
marchelzo | Is there a way to get an older Linenoise with panda? | ||
[Coke] | If you're trying to use a pre-christmas release, git HEAD is the best place to be right now. | ||
joeschome | m: say "Hello, world!" | ||
camelia | rakudo-moar 62a029: OUTPUT«Hello, world!» | ||
Hotkeys | Why not build the most recent rakudo? | ||
Skarsnik | 2015.11 should be removed maybe, if it's so broken? | ||
18:31
FROGGS joined
|
|||
timotimo | marchelzo: the one before the newest should be good (of Linenoise, not of rakudo. keep rakudo as it is) | 18:31 | |
marchelzo | timotimo: ok, how do I get that with panda? | 18:32 | |
El_Che | Does assigning Nil to objects and data structure give a hint to the GB to liberate the memory? | ||
[Coke] | the version that shipped with star should have worked. | ||
joeschome | m: say "Hello, world! im a perl programer now; LOL" | ||
camelia | rakudo-moar 62a029: OUTPUT«Hello, world! im a perl programer now; LOL» | ||
[Coke] | no point in removing it if we're adding a new one in 2 weeks. | ||
timotimo | marchelzo: i told you, panda doesn't know how to get a specific revision. let me walk you through it | ||
marchelzo | timotimo: oh, sorry. I didn't see that. | ||
Hotkeys | I find it strange when people shout 'lol' | ||
timotimo | git clone github.com/hoelzro/p6-linenoise.git | ||
marchelzo | Maybe I should just get HEAD and use the newest Linenoise? | 18:33 | |
timotimo | that will give you a "p6-linenoise" folder | ||
18:33
donaldh left
|
|||
timotimo | current HEAD has people cussing and complaining :) | 18:33 | |
marchelzo | T_T | ||
joeschome | Hotkeys: I am a little strange. | ||
[Coke] | Hotkeys: it's a TLA, caps are fine. :) | ||
marchelzo | timotimo: ok, I cloned it | ||
timotimo | then git checkout b01750a | ||
Hotkeys | m: sub shout ($x) { say $x.gist.uc }; shout "lol"; | ||
camelia | rakudo-moar 62a029: OUTPUT«LOL» | ||
timotimo | (and disregard the "OH GOD A DANGLING CHECKOUT!" message) | 18:34 | |
marchelzo | timotimo: done | ||
timotimo | and last but not least: panda install . | ||
in the mean time i'll improve that error message that you got back there | |||
marchelzo | why does panda take like 3 seconds before doing anything? | ||
I got the same error while building :/ | |||
18:35
xpen left
|
|||
marchelzo | HEAD~30 built | 18:35 | |
lol | |||
RabidGravy | panda may emit some *warning* about %ENV or something, it's a known thing | 18:36 | |
marchelzo | no it was an error | ||
18:36
ZoffixW joined
|
|||
marchelzo | i have to go | 18:36 | |
be back later | |||
18:36
marchelzo left
|
|||
ZoffixW | m: multi foo (*@list) { foo {}, @list }; multi foo (Hash $opts, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>; | 18:36 | |
camelia | rakudo-moar 62a029: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(*@list):(Hash $opts, *@list) in block <unit> at /tmp/aEannXmawC:1» | ||
RabidGravy | timotimo++ # patience | 18:37 | |
ZoffixW | Is there a way of making that work? Take an optional hash as the first arg? | ||
timotimo | marchelzo didn't tell me what the new error is :( | ||
joeschome | Did any of you hear the TWIT show with Larry? It was good; infact thats why im coming back to perl. He was not dogmatic about the language but made it clear perl6 is an improvement and here to stay. | ||
Skarsnik | $opts? | ||
ZoffixW | m: multi foo (*@list) { foo {}, @list }; multi foo (Hash %opts, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>; | ||
timotimo | joeschome: yeah, i watched it. it was good :) | ||
Skarsnik | Zoffix, there a is a ? to say an argument is optionnal | 18:38 | |
camelia | rakudo-moar 62a029: OUTPUT«(timeout)» | ||
lucs | timotimo: JSON::Fast installation is initiated by panda install, and it still hangs (does panda use the wrong version?) | ||
timotimo | lucs: did you "git pull" inside panda recently? | ||
lucs | I just did a 'git clone', from scratch, yes. | ||
timotimo | um | ||
wtf. | |||
ZoffixW | m: sub foo (Hash %opts?, *@list) { say @list;}; foo {:lang('fr')}, <foo bar baz>; | 18:39 | |
camelia | rakudo-moar 62a029: OUTPUT«Type check failed in binding %opts; expected Associative[Hash] but got Hash in sub foo at /tmp/bKhCBkMKKR:1 in block <unit> at /tmp/bKhCBkMKKR:1» | ||
timotimo | i must investigate | ||
ZoffixW | Actually, I may be suffering from Perl-5-ism. | ||
Skarsnik | if you want a :lang argument, make is a named x) | ||
timotimo | lucs: could you look at the ext/JSON__Fast/lib/JSON/Fast.pm and see if there's any checks for nqp::chars of $text? | ||
lucs | timotimo: I have 7151bbd43 | ||
ZoffixW | m: sub foo (*@list, Str :$lang) { say "$lang @list";}; foo :lang('fr'), <foo bar baz>; | ||
camelia | rakudo-moar 62a029: OUTPUT«fr @list» | ||
lucs | timotimo: Ok, hang on... | ||
ZoffixW | Yeah | ||
Skarsnik++ | |||
Skarsnik | sub foo (*@list, :$lang) | 18:40 | |
lucs | timotimo: (of panda that is) | ||
flussence | m: class Foo:ver<1> { }; use Foo:ver<2> # this doesn't fail when the two statements are in different files | ||
camelia | rakudo-moar 62a029: OUTPUT«===SORRY!===Could not find Foo:ver<2>:auth<True>:api<True> in: /home/camelia/.perl6/2015.11-430-g62a029b /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-…» | ||
timotimo | that means you also have | * 5b8ec92 - Squashed 'ext/JSON__Fast/' changes from 62ff510..be150dd (3 days ago) <Timo Paulssen> | ||
Skarsnik | I love named parameter x) | ||
vividsnow | AlexDaniel: How can I specify proto ("tcp/udp") in doc.perl6.org/type/IO%3A%3ASocket%3A%3AINET? Looks like it is TCP-only | ||
18:41
ajs_ left
|
|||
ZoffixW | flussence, should it? If they're in different files, I'd think it's fine... | 18:41 | |
AlexDaniel | vividsnow: you are probably right | ||
flussence | ZoffixW: the version doesn't match though | ||
lucs | timotimo: I'm seeing things like: ... if $pos > nqp::chars($text); ... if nqp::chars($hexstr) != 4 | ||
ZoffixW | Ah | ||
timotimo | yeah, the $pos one would be the one that.s necessary to prevent the hang | 18:42 | |
lucs: could it be panda is recompiling the JSON::Fast source it has found in the installation repository thingie? | |||
i just ran pandas bootstrap.pl and it didn't even try to install JSON::Fast. huh. | |||
18:42
koo8 joined
|
|||
flussence | m: use Test:ver<999999999.invalid>; | 18:42 | |
camelia | rakudo-moar 62a029: OUTPUT«===SORRY!===Could not find Test:ver<999999999.invalid>:auth<True>:api<True> in: /home/camelia/.perl6/2015.11-430-g62a029b /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camel…» | ||
flussence | m: use Test; | 18:43 | |
camelia | ( no output ) | ||
lucs | Not sure where it would have taken it, I rebuilt from scratch, deleting everything related (including ~/.perl6) | ||
flussence | hm, maybe I'm just doing something wrong | ||
AlexDaniel | vividsnow: github.com/rakudo/rakudo/blob/nom/...et/INET.pm | ||
vividsnow: has $.proto = PIO::PROTO_TCP; | |||
timotimo | well, i just ran "panda install JSON::Fast" and it doesn't hang here :( | ||
AlexDaniel | vividsnow: what if you set it to PIO::PROTO_UDP ? | 18:44 | |
ZoffixW | How would I go about doing "is export" on an alias of a sub? | ||
I've got: my &term:<☌> = ::('&conjunction'); but it's not seen in a file that uses my module | |||
pyrimidine | ZoffixW: looks like I have plugins passing tests using $*REPO in bioperl6: github.com/cjfields/bioperl6/commi...d6b4d2d01a | 18:45 | |
RabidGravy | you can 'is export' that too | ||
Skarsnik | Zoffix, I think you can't | ||
our $var is export return NYI | |||
constant maybe work? | 18:46 | ||
pyrimidine | ZoffixW: wondering tho if that should be using something else; isn't there a more direct call for files from the repo? | ||
AlexDaniel | vividsnow: I'm not sure if it is implemented | ||
RabidGravy | m: module F { my &foo is export = sub { say "foo" } }; import F; foo(); | ||
camelia | rakudo-moar 62a029: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p_jzfqYu_8Can't apply trait 'is export' on a my scoped variable. Only our scoped variables are supported.at /tmp/p_jzfqYu_8:1------> 3module F { my &foo is export7⏏5 = sub { say "foo" } }; import …» | ||
joeschome | Haker News comment that resonates with me" bane 396 days ago If this is true, I'm incredibly excited. Perl is like a girl I used to love, broke up with, but never got over. I'm eager to start hacking on Perl 6 code, but don't want to put the time in dealing with preproduction versions of the language. Very exciting." | ||
ZoffixW | RabidGravy, but where do I put "is export"? I tried a few places, and I'm getting TTIR | ||
RabidGravy | m: module F { our &foo is export = sub { say "foo" } }; import F; foo(); | ||
camelia | rakudo-moar 62a029: OUTPUT«foo» | ||
ZoffixW | Ah, ok. | 18:47 | |
RabidGravy++ | |||
joeschome | The last part is soon to be over and perl6 could be a production language before long | ||
Skarsnik | m: module F { our $var is export = 42 }; | ||
camelia | ( no output ) | ||
ZoffixW | pyrimidine, I think you're asking the wrong person :P | ||
Skarsnik | it work now? nice x) | ||
RabidGravy | yeah any symbol | 18:48 | |
lucs | Hullo? What't this!? When doing panda's "perl6 bootstrap.pl", it creates a directory named "(HANDLED) Failed to open file" | ||
Skarsnik | I tried to have this 1 month ago rakudo was like nop | ||
ZoffixW | lucs, that's a Failure | ||
RabidGravy | well I say "any" without knowing whether that is true | ||
lucs | ZoffixW: You don't say :) | ||
ZoffixW | m: (fail("Failed to open file") || say "$_") | ||
camelia | ( no output ) | ||
ZoffixW | m: (fail("Failed to open file") || say "$_.message") | 18:49 | |
camelia | ( no output ) | ||
ZoffixW | well | ||
lucs | It didn't do that last time around. | ||
ZoffixW | lucs, I mean Failure the type... docs.perl6.org/type/Failure unless you're wondering why it's failing :) | ||
18:49
ZoffixW left
|
|||
pyrimidine | ZoffixW: ok, no problem. I may have to backlog to see what nine suggested, IIRC it was something else ... | 18:49 | |
lucs | Zoffix: Ah, I see :) | 18:50 | |
timotimo | lucs: that's pretty hilarious :D | 18:51 | |
lucs: you're not running rebootstrap, by any chance? | 18:52 | ||
lucs | timotimo: No :) | 18:53 | |
[Coke] | looks like the daily runs have been hanging, despite my ulimit code to insure they don't hang on clock time or memory. | ||
zengargoyle | hrmm... App::Mi6 doesn't seem to work well for .so type modules. the build/test phase and blib creation doesn't fit with resources. | ||
[Coke] kills all the stuff running on hack right now and starts a fresh run. | 18:54 | ||
Skarsnik | well last commit is from 2-3 months for mi6 x) | ||
timotimo | zengargoyle: could very well be that mi6 doesn't know anything about RESOURCES yet | ||
hoelzro | I noticed this morning that panda will install anything under resources/ if resources isn't in META.info; is that spec'd behavior, or just panda-specific? | 18:55 | |
because I'm not sure how I should deal with liblinenoise.{so,dll,dylib} when I fix Linenoise =/ | |||
RabidGravy | also blib is largely incompatible with the way that panda does a build | ||
zengargoyle | yeah, just letting peeps know since mi6 has been advertised a bit recently. i've been using it for a while and it's been mostly OK. | 18:56 | |
it even worked for .so module pre-curli | |||
but i guess it needs some work to be more compatable now. | 18:57 | ||
ChoHag | m: grammar G { rule TOP { ^[ <ellip> | <twodot> <thing> ]$ }; token ellip { \.\.\. }; token twodot { \.\. }; token thing { \. foo } }; G.parse("...").say; G.parse("...foo").say | ||
camelia | rakudo-moar 62a029: OUTPUT«「...」 ellip => 「...」Nil» | ||
18:58
gtodd joined
|
|||
ChoHag | How can I get that to parse the second string as twodot followed by thing while still having ... parsed as an ellip? | 18:58 | |
vividsnow | AlexDaniel: yes, looks like UDP is unimplemented | ||
AlexDaniel | vividsnow: bummer | ||
flussence | I'm getting horribly confused: t/spec/S16-io/newline.t runs fine locally, but that test is the only place on my system «use newline» will work. Can't use it in my own code, can't use it in the REPL. | 18:59 | |
timotimo | ChoHag: is rule without backtracking? maybe you'd want to have || instead of | there? | ||
or you can terminate LTM after <twodot> with a {} | |||
19:00
ajs_ joined,
davercc1 joined
|
|||
AlexDaniel | vividsnow: I don't know, maybe it makes sense to submit a rakudobug. Just so that it stays there as a TODO | 19:01 | |
ChoHag | LTM? | ||
dalek | kudo/nom: e1793a8 | (Don Vito Perleone)++ | docs/announce/2015.12.md: Link to Wikipedia entry of коледа For the people who are unfamiliar with the cyrillic alphabet. |
||
kudo/nom: 35cafce | (Don Vito Perleone)++ | docs/announce/2015.12.md: Merge pull request #1 from Perleone/Perleone-patch-1 Link to Wikipedia entry of коледа |
|||
kudo/nom: df7c255 | (Will Coleda)++ | docs/announce/2015.12.md: Merge pull request #624 from Perleone/nom Link to Wikipedia entry of коледа |
|||
AlexDaniel | vividsnow: because it looks like someone was going to implement it but dropped it half way through | ||
RabidGravy | I thought there was a Net::Socket::Raw on the ecosystem that did some additional socket stuff | 19:02 | |
or something like that | |||
19:02
bbkr_ joined
|
|||
ajs_ | [Coke] thanks, I hadn't gotten to debugging it yet, so I didn't know @a would fail | 19:03 | |
flussence | ChoHag: | is kinda buggy, use || and it'll probably do what you wanted | ||
ajs_ | timotimo: thanks for looking into it. | ||
AlexDaniel | RabidGravy: well according to this: github.com/rakudo/rakudo/blob/nom/...NET.pm#L27 it should be supported by IO::Socket::INET | 19:04 | |
RabidGravy | well, the github.com/rakudo/rakudo/blob/nom/...NET.pm#L65 might suggest otherwise :-O | 19:06 | |
lucs | Heh: contents of the "(HANDLED) Failed to open file" | ||
: fpaste.scsys.co.uk/502551 | |||
RabidGravy | nice | 19:07 | |
timotimo | lucs: LOL. | 19:08 | |
lucs | :) | ||
timotimo | tadzik: you're going to love this -^ | ||
19:08
ajs_ left
|
|||
tadzik | what | 19:11 | |
joeschome | When people on Hacker news say things like Perl6 is too slow is what they realy mean it's too slow for somthing like say the backend infrastructure of twitter or Facebook? | ||
tadzik | what did this!? | ||
can you even have directories with such names!? | |||
zengargoyle | lucs: hehe, saw that a few times. | ||
lucs | Oh, by the way, it appears that panda was installed nevertheless, but when installing a module, the "Use of uninitialized value %ENV of type Any in string context" still appears (but the module appears to be installed). | ||
tadzik | or is it just a stacktrace? | 19:12 | |
lucs | tadzik: It's a directory hierarchy that was created under my panda/ directory when doing a bootstrap.pl. | ||
flussence | joeschome: when people say perl6 is too slow, it almost always means they read an angry rant about an alpha version of it once five years ago, and are basing all their judgements off of that misinformation | ||
tadzik | lucs: I need therapy after seeing this :o | ||
lucs | :) | ||
geekosaur | perfectly valid, if seizure-inducing, on unixlikes >.> | 19:13 | |
zengargoyle | lucs, tadzik: i saw that from doing `mi6 build` | ||
thought it was a mi6 problem... | |||
tadzik | mi6? | ||
lucs | It looks like some message that was redirected to path building instead of ERR or something. | ||
zengargoyle | App::Mi6 | ||
flussence | it's like the people who love to bash PHP who got all their info from that one angry rant about it, while ignoring the fact it has some pretty solid Java-like APIs for unicode now and has done for a while. | ||
joeschome | I love openBSD and those guys have a lot of perl5 in the base and they seem like pretty smart guys | ||
nine | amorphis++ | 19:14 | |
zengargoyle | so i'd guess it's coming from Panda::Builder or somesuch | ||
tadzik | lucs: alright, so the steps to reproduce is just 1) build rakudo somehow 2) clone panda 3) run bootstrap.pl? | ||
lucs | tadzik: Apparently, yes. | 19:15 | |
tadzik | and yours is a regular linux system? | ||
lucs | Let me try something first... | ||
nine | Got my brane going. Ginna replace %CUSTOM_LIB by a Compunit::RepositoryRegistry method. | ||
vividsnow | AlexDaniel: ok, sended rt.perl.org/Public/Bug/Display.html?id=126846 | ||
lucs | tadzik: Yep, pretty much. | 19:16 | |
tadzik | lucs: and you have no other rakudo/panda installations, due to rakudobrew or something? | ||
lucs | tadzik: Wait a sec, just thought of something... | 19:17 | |
jnthn | fpaste.scsys.co.uk/502551 is amazing :) | ||
yoleaux | 17:53Z <nine> jnthn: you'd never guess. It's a require Inline::Perl5 in the :lang<Perl5> EVAL candidate | ||
18:07Z <nine> jnthn: I can lookup CompUnit::RepositoryRegistry at runtime. Seems like a small price for getting rid of it in the BOOTSTRAP | |||
jnthn | nine: +1 | ||
nine: Wait, you got to see amorphis too?! Darn. :) | 19:18 | ||
lucs | tadzik: (okay) Not as far as I can tell, no, I'll double check... | ||
tadzik: Everything looks kosher. | 19:21 | ||
tadzik | lucs: okay, will try to reproduce | ||
retupmoca | nine: could this be a cause of my panda bootstrap hang on windows? github.com/MoarVM/MoarVM/issues/308 | 19:22 | |
lucs | tadzik: Wait a sec. | ||
tadzik: Let me make really sure -- I'll reboot and try again -- better waste my time than yours. | 19:23 | ||
tadzik | I'm not sure that's true :P | ||
lucs: I have the same hting | 19:24 | ||
timotimo | jnthn: should RoleToClassApplier only complain about not-implemented stuff after checking through @!fallbacks (if exists)? | ||
tadzik | I mean, the tree is much shorter | ||
perhaps it grows each time :D | |||
you could say that | |||
(•_•) | |||
( •_•)>⌐■-■ | |||
(⌐■_■) we have an amazing ecosystem | 19:25 | ||
timotimo | jnthn: so that "handles ..." will factor into the decision? | ||
jnthn | timotimo: handles is done at attribute composition time | ||
We can't compose attributes until we've got those that come form roles | 19:26 | ||
*from | |||
19:26
vendethiel joined
|
|||
lucs | tadzik: Well, my project directory is pretty deep, that might explain the longer length. | 19:26 | |
jnthn | timotimo: So no, handles things will innevitably come too late | 19:27 | |
lucs | tadzik: Your gut feeling: is it panda or rakudo that's screwing up? | ||
nine | retupmoca: could be. I have no idea about file locking semantics on Windows. | ||
jnthn | I *think* trying to make handles stuff happen sooner will cause a different issue | 19:28 | |
nine | retupmoca: BOOTSTRAP loading doesnt lock however | ||
tadzik | lucs: I honestly have no clue | ||
lucs | Yeah, not obvious eh :/ | ||
tadzik | first gut feeling: some modules in panda return a Failure when they, well, fail | 19:29 | |
retupmoca | nine: yeah, I only get hangs when I run 'perl6 bootstrap.pl'. Sometimes I get errors about 'unable to write bytecode' from moarvm too, which makes it more confusing | ||
tadzik | but Failure can't be used as a result without the exception being throw | ||
n | |||
19:30
davercc1 left
|
|||
tadzik | lucs: but just to make it clear: is panda still working, and this is just a stupid side effect? | 19:31 | |
jnthn: oh, but did you notice the best part? :D | 19:32 | ||
the topmost directory is called '(HANDLED) Failed to open file' | 19:33 | ||
jnthn | :D | ||
tadzik | "at least it's handled!" | ||
jnthn | "Watch guys, I'll handle this!" | 19:34 | |
lucs | tadzik: It appears to have correctly installed (broken) module p6doc. | ||
19:34
virtualsue left
|
|||
lucs | "Stand back! I know Perl6!" | 19:34 | |
tadzik | I clearly don't | 19:35 | |
DrForr | Never stopped me efore :) | ||
tadzik | I can't imagine a chain of events that may cause this | ||
it's not like double bacon bag | |||
bug* | |||
19:35
Sqirrel joined
|
|||
tadzik | or snowflake-snowman | 19:36 | |
this is... sparta | |||
RabidGravy | :) | ||
[Coke] urls beeroclock.in/ for jnthn++ | |||
timotimo | jnthn: damn. i thought i could perhaps make it work :( | ||
19:37
koo8 left,
ZoffixW joined
|
|||
ZoffixW | m: my @els = 2; my $list = '42'; my $str = '[|s] |list|'; say $str.substr( / '[' (<-[|]>*) '|' (<-[\]]>*) ']'/, {@els.elems > 2 ?? $0 !! $1}, :g ).substr('|list|', $list, :g); | 19:37 | |
camelia | rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int' in block <unit> at /tmp/_IipfXoghW:1» | ||
ZoffixW | What is it talking about? :/ | ||
19:37
bpmedley joined
|
|||
timotimo | it's trying to invoke an Int object as a cursor somehow somewhere | 19:38 | |
like, as if it were a subrule | 19:39 | ||
but ... how? | |||
ZoffixW | m: my $str = '[a|s] |list|'; say $str.substr( /um/, '42', :g ) | ||
camelia | rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int' in block <unit> at /tmp/jHYtxw80xd:1» | ||
timotimo | yeah, you want subst not substr | ||
that's probably what's going wrong | |||
m: "foo".substr( /wha/ ) | 19:40 | ||
camelia | rakudo-moar df7c25: OUTPUT«Method '!cursor_start' not found for invocant of class 'Int' in block <unit> at /tmp/XngBTowHd1:1» | ||
ZoffixW | Oh christ yeah | ||
timotimo | m: "foo".substr( 1 ) | ||
camelia | ( no output ) | ||
ZoffixW | I suspect it's not the first time I'll confuse substr and subst :) | ||
timotimo | it's probably trying to smartmatch something against the first argument | ||
19:40
vividsnow left
|
|||
ZoffixW | timotimo++ | 19:40 | |
jnthn | [Coke]: Nice! :) | 19:42 | |
timotimo: There may be some way to deal with it, but I can't immediatley think of a clean one. | |||
timotimo | "clean"? pah! ;) | ||
RabidGravy | we want filth | 19:43 | |
lucs | (For semi-posterity: gist.github.com/lucs/58f7141fc26df5dced69 ) | ||
nine | retupmoca: oh you mean panda's bootstrap. Yes that may be a platform thing | ||
lizmat | ah, the joys of a mkpath() function with wrong input | 19:44 | |
timotimo | well, there was a failure. somehow it got handled %) | ||
oh, i have an idea | |||
the "false"ness of the failure was taken as a sign that "it doesn't exist, so create it!" | 19:45 | ||
cygx | I guess it's my 'fault' for maling open fail instead of die? | ||
*making | |||
19:45
CIAvash left
|
|||
timotimo | dunno? changes the api a bit and seems like panda hasn.t been tested well since then | 19:45 | |
lizmat | well, we either bite the bullet now, or we revert to open() dieing | 19:46 | |
19:46
marchelzo joined
|
|||
cygx | what's the rationale behind making &open fail? | 19:47 | |
marchelzo | timotimo: so how do I get readline support for the perl6 repl once I've got Linenoise installed? | ||
cygx | p5-style open() or ...? | ||
ZoffixW | Seems our &term:<☌> is export = ::('&conjunction'); I was asking about earlier doesn't actually work. When called as "☌(<chair spoon window>)", I get Cannot find method 'CALL-ME', and when called as "☌ <chair spoon window>;" expecting any of: prefix, term: ☌ <chair spoon window>⏏; | 19:48 | |
Is &term:<☌> same as &foo? | 19:50 | ||
m: module F { our &term:<☌> is export = sub { say "foo" } }; import F; foo(); | |||
camelia | rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/swJN5N7UFPUndeclared routine: foo used at line 1» | ||
ZoffixW | m: module F { our &term:<☌> is export = sub { say "foo" } }; import F; ☌(); | ||
camelia | rakudo-moar df7c25: OUTPUT«fooCannot find method 'CALL-ME' in block <unit> at /tmp/jT6YfXdesF:1» | ||
Skarsnik | m: module F { our term:<☌> is export = sub { say "foo" } }; import F; ☌(); | 19:52 | |
camelia | rakudo-moar df7c25: OUTPUT«5===SORRY!5===Type 'term:<☌>' is not declaredat /tmp/jDdX967aGI:1------> 3module F { our term:<☌>7⏏5 is export = sub { say "foo" } }; importMalformed ourat /tmp/jDdX967aGI:1------> 3module F { our term:<7⏏5☌> is expor…» | ||
ZoffixW | m: module F { our &Δ is export = sub { say "foo" } }; import F; Δ(); | 19:53 | |
camelia | rakudo-moar df7c25: OUTPUT«foo» | ||
hoelzro | marchelzo: it should just work | ||
DrForr | gist.github.com/drforr/f8ee29990277449260ce # Confused as to why <content>[2] is require to reference the [assoc => 'right'] element when there's only (to my eyes) one array element in the second content section. | ||
marchelzo | hoelzro: :s | ||
timotimo | marchelzo: should immediately work | ||
RabidGravy | term is a term can't take arguments | ||
ZoffixW | RabidGravy, what is it for a sub? | 19:54 | |
hoelzro | marchelzo: is it not working? | ||
marchelzo | timotimo: "==> Successfully installed Linenoise" | ||
but when I run perl6, readline bindings don't work | |||
DrForr | (admittedly it's pretty deeply neste, but there's only one array element per content block.) | ||
hoelzro | marchelzo: which readline bindings? | ||
timotimo | do no bindings at all work? tab? up-arrow? | ||
marchelzo | any. arrows don't even work | ||
hoelzro | the basics (arrows, ctrl-a, tab) should work | ||
timotimo | damn, that's harsh :( | ||
Skarsnik | I feel like the only not using/Caring about a repl x) | ||
hoelzro | try this: | ||
perl6 -MLinenoise -e 1 | 19:55 | ||
marchelzo | timotimo: well the copy I built was 30 commits behind HEAD. maybe that's it? | ||
RabidGravy | &term:<booble> = sub { say "foo"}; booble; booble() | ||
timotimo | um, why did you do that? | ||
RabidGravy | m: &term:<booble> = sub { say "foo"}; booble; booble() | ||
camelia | rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WkjgRYdZoLUndeclared routines: booble used at line 1 term:<booble> used at line 1» | ||
marchelzo | timotimo: I couldn't get anything else to build. | ||
timotimo | oh? | ||
can you tell me the errors for newer commits? | |||
actually, i'll be AFK for a bit | |||
RabidGravy | or whatever | ||
hoelzro | I can help while timotimo is absent | 19:56 | |
marchelzo: what version of rakudo are you using? | |||
marchelzo | one second | ||
19:56
Ch0c0late joined
|
|||
[Coke] | seeing a bunch of Missing serialize function for REPR ContextRef in the jvm spectest | 19:57 | |
lizmat | [Coke]: I couldn't even get the jvm to build earlier today | ||
19:57
lucasb joined
|
|||
ZoffixW | m: module F { our &term:<☌> is export = sub (Int $xx){ say "foo" } }; import F; ☌(42, 42); | 19:58 | |
camelia | rakudo-moar df7c25: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub at /tmp/gEF6cLsE_z:1 in block <unit> at /tmp/gEF6cLsE_z:1» | ||
ZoffixW | I guess that means you can't make exportable unicode subs. Only ops | 19:59 | |
[Coke] | lizmat: progress! | ||
psch | ZoffixW: what's the difference between an op and a sub? | 20:00 | |
joeschome | Are you guys working on a spacific program or Rakudo itself | ||
lucasb | I just managed to create this mythical '(HANDLED) Failed to open file' dir \o/ | ||
lucs | :) | ||
[Coke] | joeschome: this channel is historically about perl6/rakudo development, and modules from the ecosystem. | ||
ZoffixW | m: module F { our &prefix:<☌> is export = sub (Int $xx, Str $foo){ say "foo $xx $foo" } }; import F; ☌(42, "foo"); | 20:01 | |
camelia | rakudo-moar df7c25: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub at /tmp/AI5paSwNoT:1 in block <unit> at /tmp/AI5paSwNoT:1» | ||
joeschome | thanks | ||
ZoffixW | psch, ^ that? Unless there's some way to specify arbitrary number of args | ||
20:01
joeschome left
|
|||
lichtkind | wink lizmat | 20:02 | |
yoleaux | 4 Dec 2015 20:26Z <moritz> lichtkind: that tablets is now reachable via SSL too: tablets.perl6.org/ | ||
psch | m: sub prefix:<m: class Foo { has $!priv = 42 }; Foo.^add_method('priv', my method priv(Foo:) { Foo!priv }); Foo.^comp; my $foo = Foo.new(); $foo.priv | ||
camelia | rakudo-moar df7c25: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1mnEF4OVxcUnable to parse expression in quote words; couldn't find final '>' at /tmp/1mnEF4OVxc:1------> 3oo.^comp; my $foo = Foo.new(); $foo.priv7⏏5<EOL> expecting any of: …» | ||
psch | oh grml | ||
lichtkind | thanks moritz | ||
lizmat | lichtkind: would you like your nick also be mentioned in this months credits ? | ||
marchelzo | hoelzro: somewhere around fd5b029 Linenoise stops building for me | ||
psch | ZoffixW: well, slurpies exist | ||
marchelzo | I have to go for a bit as well, though. | ||
lichtkind | lizmat but i did nothing | ||
marchelzo | I'll try to fix it later | ||
hoelzro | marchelzo: what OS are you on? what version of rakudo? | 20:03 | |
lizmat | lichtkind: you did *something* in the past 15 years :-) | ||
so you're on the list | |||
lichtkind | lizmat only thing i do is prepare article for the big p6 release | ||
marchelzo | hoelzro: OS X rakudo 2015.11 release | ||
bbl | |||
20:03
marchelzo left
|
|||
lizmat | well, tablets.perl6.org seems like a contribution to me :-) | 20:03 | |
lichtkind: so I'll take that as a yes to the original question? | 20:04 | ||
lichtkind | lizmat well there are some minor syntax bits i had influence on | ||
psch | ZoffixW: but your error does hint at a difference - parenthesis to a categorical group the argument instead of invoking it... | ||
hoelzro | .tell marchelzo Linenoise@b01750a *should* work for you | ||
yoleaux | hoelzro: I'll pass your message to marchelzo. | ||
ZoffixW | psch, sadly, that doesn't help me much. I want to make ☌ an alias for sub conjunction, which has this signature: gist.github.com/zoffixznet/80c6639bc1074300b740 | ||
psch usually writes parens-less vOv | |||
lichtkind | well yeah i feel like part of the team | ||
lizmat | :-) | ||
lucasb | timotimo: are you here? seems like json fast still has the problem. I just cloned panda. | ||
lichtkind | lizmat currently i was working more on the p6 tutorial and try to make it the pet project of the in founding leipzig.pm | 20:05 | |
[Coke] | lichtkind: check docs/announce/2015.12.md and see if your name/nick already appears in there somewhere. | ||
if not, someone will add you. | |||
dalek | kudo/nom: 96bc434 | lizmat++ | docs/announce/2015.12.md: Mention "lichtkind" as nick also |
||
lichtkind | lizmat++ is fast | 20:06 | |
dalek | ast: d43b6ef | (Juerd Waalboer)++ | S32-num/pi.t: Test tau and τ |
20:07 | |
ast: 2ef9aad | (Zoffix Znet)++ | S32-num/pi.t: Merge pull request #81 from Juerd/master Test tau and τ |
|||
psch | hmm | 20:08 | |
lizmat | lichtkind++ # leipzig.pm | ||
lichtkind | well its still in the founding | ||
but danial and me are meeting til it gets some traction | 20:09 | ||
psch | m: sub prefix:<foo>(*@els, :$named) is looser(&infix:<,>) { .say for @els; say "$named" }; foo 1, 2, 3, :2named # unfortunately the named ends up in the slurpy with this prec level :/ | ||
camelia | rakudo-moar df7c25: OUTPUT«123named => 2Use of uninitialized value $named of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub prefix:<foo> at /tmp/6Xet1cWkY5:1» | ||
lichtkind | its also koleda in cczech | ||
psch | m: sub prefix:<foo>(*@els, :$named) is looser(&infix:<,>) { .say for @els; say $named }; foo 1, 2, 3, :2named # more obvious here... | ||
camelia | rakudo-moar df7c25: OUTPUT«123named => 2(Any)» | ||
lichtkind | its even a verb : koledat | ||
meaning going singing from house to house | |||
thats what we do when perl 6 comes out :) | 20:10 | ||
lizmat | .oO( trust the P6 community to verb a noun :-) |
||
20:11
leont joined
|
|||
psch | .u ☌ | 20:11 | |
yoleaux | U+260C CONJUNCTION [So] (☌) | ||
lizmat | Juerd: interested in writing some tests for now.Date and now.DateTime ? | ||
psch | that does get rendered a bit weirdly here... | ||
lizmat | m: say now.Date | ||
camelia | rakudo-moar 96bc43: OUTPUT«2015-12-08» | ||
20:13
koo8 joined
20:15
xtreak left
|
|||
ZoffixW | m: sub bar (*@args, :$lang) { say "@args [$lang]" }; sub prefix:<foo>(*@args) is looser(&infix:<,>) { bar(@args); }; foo 1, 2, 3, :lang(42) | 20:15 | |
camelia | rakudo-moar 96bc43: OUTPUT«Use of uninitialized value $lang of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub bar at /tmp/B4FUECt_ha:1@args []» | ||
psch | ZoffixW: i'd suggest writing a slang that allows codepoints with general category S* for identifier names, if you really *need* it :P | ||
ZoffixW | Oh well.. I'll forgo it | ||
psch, nah, it was more of a "look shiny Unicode!" than of any usefulness :) | 20:16 | ||
And I don't know how to write slangs :) | |||
Thanks for the help though | |||
lizmat | [Coke]: after nuking install, jvm build now fails at installing core modules for me with: | ||
./perl6-j tools/build/install-core-dist.pl | |||
No writeable path found | |||
in block <unit> at tools/build/install-core-dist.pl:13 | |||
[Coke] | oh, I don't think I install when doing the daily tests. | 20:17 | |
nope, I don't. | |||
make -j all, then proceed to testing. | 20:18 | ||
20:18
[particle]1 joined
|
|||
lucasb | timotimo: ping | 20:18 | |
20:19
n0tjack left
|
|||
lucs | lucasb: By the way, timotimo is aware that JSON::Fast still hangs: read starting here: colabti.org/irclogger/irclogger_log...2-08#l2396 | 20:21 | |
lucasb | thanks lucs++; did json fast hang for you today? | 20:24 | |
MadcapJake | m: my @a = ('off' xx 5) xx 5; @a[4][4] = 'on'; # Why is this immutable? | ||
camelia | rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str in block <unit> at /tmp/NBX5Q2cjcp:1» | ||
lucs | lucasb: Yep, same conditions as you apparently. | 20:25 | |
[Coke] | m: my @a = ('off' xx 5) xx 5; say @a.perl; | ||
camelia | rakudo-moar 96bc43: OUTPUT«[("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off")]» | ||
[Coke] | m: my @a = ('off' xx 5) xx 5; say @a[4][4].WHAT; | ||
camelia | rakudo-moar 96bc43: OUTPUT«(Str)» | ||
psch | m: my @a = ('off' xx 5) xx 5; say @a[4].WHAT; | 20:26 | |
camelia | rakudo-moar 96bc43: OUTPUT«(List)» | ||
psch | m: my @a = ['off' xx 5] xx 5; @a[4][4] = 'on'; # | 20:27 | |
camelia | ( no output ) | ||
lucasb | m: my @a := ('a',); @a[0] = 1 | ||
camelia | rakudo-moar 96bc43: OUTPUT«Cannot modify an immutable Str in block <unit> at /tmp/6DBRQAcX7c:1» | ||
lizmat | lucasb: and what is wrong about that? | ||
lucasb | I think the message is a little LTA, because what is getting modified is not a Str, but a List, which is immutable iiuc | ||
MadcapJake | oh it's the parentheses? | 20:28 | |
lizmat | lucasb: a List is immutable wrt to number of elements | ||
lucasb | lizmat: there is nothing wrong with that, I think it's right behavior | ||
lizmat | if a list however contains containers, you *can* change a list | ||
psch | lucasb: i think the message is fine. the Str is what's immutable, because Lists don't containerize | ||
MadcapJake | so brackets containerize? | ||
lizmat | m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a | 20:29 | |
camelia | rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)» | ||
zengargoyle | RabidGravy: grrrr :) it seems to be the «use lib 'lib';» in your .t files that makes travis stuff work. | ||
Skarsnik | m: my @a = ['off' xx 5] xx 5; say @a.perl; | ||
camelia | rakudo-moar 96bc43: OUTPUT«[["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"], ["off", "off", "off", "off", "off"]]» | ||
lucasb | ahh, ok; sorry. thanks lizmat++ and psch++ | ||
Skarsnik | m: my @a = ['off' xx 5] xx 5; say @a[4][4] = "on"; | 20:30 | |
camelia | rakudo-moar 96bc43: OUTPUT«on» | ||
zengargoyle | panda seems to only copy resources at final install time, they don't end up in blib after a panda-build. | ||
20:30
ZoffixW left
|
|||
MadcapJake | ok so am I accurate in saying that the brackets containerize each element? Or is there something else going on there? | 20:30 | |
lizmat | if you say "my @a = (...list...)" | 20:32 | |
you're effectively copying the list into an array, and thus it gets containerized | |||
psch | m: my @a = (-> { $ = 'off' }()) xx 5 xx 5; say @a[4].WHAT; @a[4][4] = "on"; dd @a # >_> | ||
camelia | rakudo-moar 96bc43: OUTPUT«(List)Array $var = $[("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "off"), ("off", "off", "off", "off", "on")]» | ||
psch | i like to think of it as copying the List elements into the Arrays element containers | 20:34 | |
MadcapJake is confused | 20:35 | ||
RabidGravy | I'm always confused | ||
zengargoyle | .tell RabidGravy your «ERL6LIB=blib/lib prove -v -r --exec=perl6 t/» isn't actually testing against blib, the «use lib 'lib';» in t/*.t are forcing it to use the .precomp in 'lib' instead. | ||
yoleaux | zengargoyle: I'll pass your message to RabidGravy. | ||
MadcapJake thinks maybe there should be a language page for lists/arrays | 20:36 | ||
zengargoyle | doh. | ||
RabidGravy | :) | ||
yoleaux | 20:35Z <zengargoyle> RabidGravy: your «ERL6LIB=blib/lib prove -v -r --exec=perl6 t/» isn't actually testing against blib, the «use lib 'lib';» in t/*.t are forcing it to use the .precomp in 'lib' instead. | ||
20:37
geraud joined
|
|||
psch | hrm | 20:37 | |
RabidGravy | zengargoyle, the thing is that the blib thing makes it difficult to test whether it will actually work installed, which I found by accident | ||
psch | what's happening with install paths anyway? | ||
RabidGravy | as "panda install" doesn't do blib | 20:38 | |
psch | 0ec5ad56 was needed because make install installed the .jars into the wrong directory | ||
zengargoyle | yeah, it's a conundrum... i usually don't 'use lib "lib"' in test files and i kept failing to find my library. | ||
psch | now when i'm trying make install now, i get complaints that the previous directory doesn't exist | ||
zengargoyle | no blib/resources/lib/libfoo.so | ||
wait, panda install doesn't do the panda-build to blib and then copy from blib? | 20:39 | ||
doesn't that break any sort of generated content? | |||
20:41
Peter_R joined
|
|||
RabidGravy | if you generate into blib/... yes | 20:41 | |
which is how I found out | |||
20:42
prevost joined
|
|||
zengargoyle | seems it should do a install to blib just like it would install to final destination, then test, then sorta re-install to final destination... | 20:42 | |
things would work better if panda-build also copied the resources like it does for the real install... | 20:44 | ||
20:44
kyclark left,
FROGGS left
|
|||
timotimo | lucasb: can you locally golf the problem? because i can't reproduce it :( | 20:48 | |
zengargoyle thinking best workaround for travis might be to install the module then prove the tests without any -I/PERL6LIBS setting. | 20:49 | ||
lichtkind | lizmat who had idea of koleda? | ||
lizmat | [Coke] afaik | ||
dalek | osystem: 318d08f | (Zoffix Znet)++ | META.list: Add Lingua::Conjunction to eco Convert lists into linguistic conjunctions and fill them into a template: github.com/zoffixznet/perl6-Lingua-Conjunction |
20:51 | |
20:51
zengargo1le joined,
zengargo1le is now known as zengargoyle
|
|||
lucasb | timotimo: one second | 20:52 | |
leont | zengargoyle: or try my prove6 ;-) | ||
(well actually, right now it seems kind of broken currently due to a rakudo regression, working on that) | 20:53 | ||
[Coke] | (koleda) Yes it was me. | ||
zengargoyle | :) | ||
[Coke] | How could I resist a chance to name the release after myself? :) | ||
lizmat | sheesh... it had never triggered with me until now! | 20:54 | |
lucs | Re. panda: _must_ its executable be found in the PATH (as per its README), or is that just an easy way to make sure it's found? (I prefer a symlink to it, in a dir which is in my PATH)) | 20:55 | |
[Coke] | BWAHAHAHAAHAHAHAH! | 20:56 | |
my plan for world domination is nearly complete. | 20:58 | ||
20:58
xjrK_ joined
|
|||
lucasb | [Coke]++ for doing the last releases and the final one :) | 21:00 | |
autarch | [Coke]: too late, I'm already in charge of the world - I'm just doing a _really_ shit job running things | 21:01 | |
hoelzro | is there a way to do unsigned binary negation? | ||
lucasb | timotimo: just cloned a fresh json_fast repo, and I'm running 'perl6 -Ilib t/01-parse.t' and it hangs on the same test as before | ||
hoelzro | it seems that +^ coerces its args to Int | ||
lucasb | timotimo: that '{ "a : false }' test... Can I do something else to give you more information? | 21:03 | |
timotimo | lucasb: i run tha texact same test and it doesn't fail | ||
ok 59 - NOT parsed «{ "a : false }» | 21:04 | ||
ok 60 - NOT parsed «"A JSON payload should be an object or array, not a string."» | |||
21:04
xjrK_ left
|
|||
timotimo | hoelzro: ~^ or something? | 21:04 | |
hoelzro | m: ~^ 1 | ||
camelia | rakudo-moar 96bc43: OUTPUT«WARNINGS:Useless use of "~^ " in expression "~^ 1" in sink context (line 1)prefix:<~^> NYI in block <unit> at /tmp/LG6eEObaM6:1Actually thrown at: in block <unit> at /tmp/LG6eEObaM6:1» | ||
hoelzro | er, I thought that was NYI o_O | 21:05 | |
lucs | timotimo: Remember, it fails for me too, with the most recent (a couple of hours ago) rakudo/nqp/MoarVM/panda combination. | ||
hoelzro | m: say(~^ 123) | ||
camelia | rakudo-moar 96bc43: OUTPUT«prefix:<~^> NYI in block <unit> at /tmp/u_7GfzOcIr:1Actually thrown at: in block <unit> at /tmp/u_7GfzOcIr:1» | ||
hoelzro | yeah, there we go | ||
21:07
csd_ left
21:10
marchelzo joined
21:11
leont left
|
|||
marchelzo | hoelzro: back | 21:12 | |
yoleaux | 20:04Z <hoelzro> marchelzo: Linenoise@b01750a *should* work for you | ||
marchelzo | yoleaux: thanks | ||
hoelzro | marchelzo: if it doesn't, please let me know what the error message is | ||
marchelzo | hoelzro: "Function CompUnit::Repository::FileSystem needs parens to avoid gobbling block" | 21:13 | |
hoelzro | your panda is too new | ||
marchelzo | it's the panda that came with the 2015.11 release | 21:14 | |
hoelzro | o_O | ||
how did you install rakudo & panda? | |||
marchelzo | wait... something is terribly wrong | 21:15 | |
I downloaded the 2015.11 relase. I did 'perl Configure.pl --prefix=/usr/local/bin --gen-moar'. I did 'sudo make install'. | |||
21:16
molaf left
|
|||
hoelzro | ok, that looks fine | 21:16 | |
marchelzo | But panda is using the homebrew version of rakudo that I installed months ago (2015.03). | ||
hoelzro | =/ | ||
Skarsnik | remove that x) | ||
RabidGravy | yeah, that's never going to work | 21:17 | |
or if it does I'd be surprised | 21:18 | ||
marchelzo | I don't know why it wasn't overwritted by the new install. | ||
overwritten* | |||
Okay, when I run 'make install', I'm getting a lot of 'Can't exec "/usr/local/bin/bin/perl6-m"'. | 21:19 | ||
that path looks weird | |||
Skarsnik | lol | ||
marchelzo | maybe prefix should just be /usr/local and not /usr/local/bin? | ||
Skarsnik | --prefix=/usr/local | ||
timotimo | lucs: i really have no clue how to go on with this problem | 21:20 | |
lucs: i, too, have the newest moar/nqp/rakudo and panda | |||
lucs | :( | ||
marchelzo | building rakudo for a third time T_T | ||
RabidGravy | yes, 'cause it may want to do $preffix/lib $prefix/bin $prefix/share | ||
Skarsnik | don't use --prefix with panda x) | ||
marchelzo | Now my /usr/local/bin has all sorts of weird shit in it, haha. | 21:21 | |
lucasb | timotimo++, that's ok, at least you listen to our feedback :) | ||
21:21
joeschmoe2 joined
|
|||
Skarsnik | it delete everything in prefix that is not panda xD | 21:21 | |
timotimo | marchelzo: i do not recommended to install stuff outside your home | ||
marchelzo | timotimo: you install perl6 and panda in $HOME and then add them to $PATH? | ||
timotimo | yeah, that's how i do it (but also: i'm a developer, so i constantly rebuild and update) | 21:22 | |
RabidGravy | timotimo, at some point people are going to want to do it though | ||
marchelzo | I know that would probably result in fewer issues, but for some reason I like all my installed binaries to be in /usr/local/bin. | ||
timotimo | (and sometimes i have to delete my whole prefix if some radical changes occur) | ||
Skarsnik | I use /opt x) | 21:23 | |
RabidGravy | but yes while building several times a week or even a day it's a lot more sensible | ||
my /usr/local is a different filesystem | 21:24 | ||
lucasb | .oO( Outside my $HOME is a whole different universe ) |
21:26 | |
mst | Proposed patch for every perl6 website: | 21:27 | |
+<h1>For the love of kittens, delete every other perl6 install you have and use rakudobrew to get a fresh one.</h1> | 21:28 | ||
jdv79 | nine: the show was good? | 21:29 | |
21:29
cygx left
|
|||
timotimo | oh, nine's back? | 21:30 | |
Skarsnik | I don't think so lol | ||
21:30
leont joined
|
|||
RabidGravy | mst++ | 21:31 | |
21:31
bbkr_ left,
bbkr joined
|
|||
timotimo | .tell leont i would like to have a bit of help with Test::Harness at some point; moarvm is getting a line-based coverage reporting tool and reqiures to have an env var set; maybe something clever could be done in rakudo's t/harness? | 21:31 | |
yoleaux | timotimo: I'll pass your message to leont. | ||
21:31
rindolf left
|
|||
RabidGravy | mst, I was thinking about you and all that flooding, you escaped with your feet dry? | 21:31 | |
mst | two of my three favourite pubs failed to float | ||
the power was out for 48h | 21:32 | ||
RabidGravy | :( | ||
mst | I'm on the first floor -and- at the top of the hill, so the water was well away from me | ||
marchelzo | ugh.. now I'm getting errors building rakudo | ||
"Unhandled exception: Bytecode stream version too high" | |||
hoelzro | marchelzo: you probably have a MoarVM that's too old | ||
leont | o/ | ||
yoleaux | 21:31Z <timotimo> leont: i would like to have a bit of help with Test::Harness at some point; moarvm is getting a line-based coverage reporting tool and reqiures to have an env var set; maybe something clever could be done in rakudo's t/harness? | ||
timotimo | mst: oh damn, that's tough :( | ||
hoelzro | so you'll have to checkout, build, and install MoarVM by hand | 21:33 | |
same with NQP | |||
21:33
koo8 left
|
|||
marchelzo | hoelzro: right before that it says: "Found /usr/local/bin/moar version 2015.11, which is new enough." | 21:33 | |
mst | the area substation ended up under several feet of river | ||
our power infrastructure is not quite designed for that | |||
hoelzro | I wonder if that's the actual moar it's using | ||
jdv79 | mst: where did all this water come from? | ||
flussence | the sky, mostly | ||
lizmat | jdv79: from above | ||
mst | we got a month's worth of rain in a day, and it splattered over all the hills as well | ||
lizmat | 300 mm of rain in a few hours, I've been led to understand | 21:34 | |
mst | so anything near the river got a trifle soggy | ||
jnthn wonders if it's the same storm system that was causing some fun in Scandinavia at the weekend... | |||
lizmat | jnthn: pretty sure of that | ||
mst | it went across scandinavia then diagonally across scotland and down over us | ||
marchelzo | hoelzro: it's not T_T | ||
flussence | a few things here ended up underwater too, including a bus and most of the bridge it was on | ||
lizmat | it even had a name? Patrick ? | ||
mst | I think | ||
flussence | (it was empty fortunately) | ||
mst | lizmat: DESMOND | 21:35 | |
marchelzo | I though I removed all the 2015.03 stuff, but /usr/local/bin/moar was still a symlink to the homebrew rakudo install. | ||
lizmat | ah, oops | ||
marchelzo | thought* | ||
hoelzro | i.memecaptain.com/gend_images/2LOOWg.jpg | ||
lucasb | The problem with installing things in /usr/local is that. You can't just simply delete a directory, you have to hunt those binaries... | ||
marchelzo | I really hope it works this time... | ||
lol | |||
mst usually installs into /usr/local/program-1.23/ | |||
and then symlinks things into /usr/local/bin | |||
hoelzro | this is why I install to $HOME/.mokudo, or better yet, /tmp/nom | ||
leont | timotimo: I'm not sure why you'd need the harness' assistence for that, I mean can't you just set it when running it? (probably missing something here) | 21:41 | |
Juerd | lizmat: Yes, but not available for today and the next few days | 21:42 | |
leont | Or do you want it to have a new value for every test file? | ||
21:42
prevost left
|
|||
marchelzo | I have no idea what I'm doing wrong. | 21:45 | |
I configured with -prefix=/usr/local, but it didn't put perl6 or perl6-m in /usr/local/bin. | |||
timotimo | leont: i think it'd be good to have a separate value per test file, yeah | ||
marchelzo | So when I run 'sudo make install', it fails because it tries to use /usr/local/bin/perl6-m. | ||
leont | That would be tricky, in both implementations, it pretty much requires a custom source handler. | 21:47 | |
dalek | ast: e23a58d | usev6++ | S (4 files): Fudge tests returning Int instead of Bool for JVM |
||
marchelzo | It's installing it to ./install/bin/perl6. Is that normal even if you used a prefix like /usr/local? | ||
timotimo | leont: in that case, no problem. i'll just set a single value | ||
leont | Passing it a constant format (expanded with file name and process id) would probably be easier | ||
timotimo | leont: just ... how do i do that in perl5? :3 | 21:48 | |
moar opens the given file in append mode, so it'll be all right | |||
hoelzro | marchelzo: I don't think so | 21:49 | |
what is the exact command line you're calling Configure.pl with? | |||
marchelzo | perl Configure.pl --prefix=/usr/local --gen-moar | ||
lucs | Can I control (change) which directory is used for ~/.perl6 ? | 21:50 | |
marchelzo | it appears to execute successfully | ||
and when I run make install, it writes all kinds of stuff to /usr/local/share, so it must have recognized the prefix. | 21:51 | ||
lucs | (and what happens if I run perl6 from another $HOME?) | ||
hoelzro | hmm, that looks ok to me | 21:53 | |
leont | append may or may not be atomic, it depends | ||
timotimo | yeah :( | ||
i've noticed | 21:54 | ||
i'll perhaps have to put in a mutex even for single-program cases | |||
marchelzo | do you think it would work if I just copied ./install/bin to /usr/local/bin? | 21:55 | |
ugexe | no | 21:56 | |
marchelzo | i tried it | ||
I think it worked | 21:58 | ||
it looks like it was trying to use /usr/local/bin/perl6 before having installed it. | |||
The very last thing that happens during a make install is 'Installing binaries for MoarVM'. | 21:59 | ||
21:59
kaare_ left,
sno joined
|
|||
marchelzo | wait.. no.. it doesn't work | 22:00 | |
I don't know what to do... | 22:01 | ||
22:01
n0tjack joined
22:02
n0xff joined,
lucasb left
|
|||
marchelzo | panda is trying to parse install/share/perl6/site/panda/projects.json but it's empty. | 22:02 | |
22:03
xfix left
22:04
Ch0c0late left
22:05
rurban joined
|
|||
hoelzro | I' | 22:05 | |
er | |||
22:05
crux joined
|
|||
hoelzro | I'm beginning to think the best next move for you, marchelzo, is to use rakudobrew | 22:05 | |
that should (hopefully) straighten things out | |||
marchelzo | that's where I got the 2015.03 one | ||
I think... | |||
timotimo | rakudobrew doesn't support putting stuff outside of the /home at all, though | 22:06 | |
like, give it a --prefix and it will get quite confused | |||
tadzik | it's not supposed to accept a --prefix even :) | ||
22:06
n0tjack left
|
|||
tadzik | but it seems like quite a few people like rakudobrew as a build tool in general, rather than a "maintain installations in my homedir" tool | 22:06 | |
Skarsnik | there is a --configure-option you can pass it --prefix | ||
but yeah, it's not fun | 22:07 | ||
tadzik | I'd quite like to know the concrete usecases, maybe I can find some way for both of them to peacefully coexist. And, well, work | ||
Skarsnik | but git clone rakudo and running configure.pl work | ||
22:08
z8 joined
|
|||
Skarsnik | use case of what? having a system wide perl6 installation for your users? x) | 22:08 | |
tadzik | well :) | ||
marchelzo | does 'rakudobrew build moar' use git HEAD? | 22:09 | |
Skarsnik | yes | ||
22:09
Praise left
|
|||
tadzik | I mean, if people want rakudo in a specific place, why go for rakudobrew | 22:09 | |
marchelzo | I thought HEAD was not very good to follow right now? | ||
lichtkind | o/ | 22:10 | |
tadzik | you can ask rakudobrew to install a specific version | ||
rakudobrew build moar 2015.11 for instance | |||
it goes for HEAD by default | |||
marchelzo | to be honest, I just wanting a working perl6 repl with readline bindings | ||
22:10
lichtkind left
|
|||
hoelzro | I would recommend rakudobrew | 22:10 | |
jdv79 | Skarsnik: you're not alone. i've never used a repl or felt the need. | ||
marchelzo | if rakudobrew can give me that, I don't care if it's installed in HOME or not. | 22:11 | |
jdv79 | i honestly do not comprehend it | ||
tadzik | what calculator do you use? :o | ||
Skarsnik | windows calc xD | ||
jdv79 | i mean from an interpreter like python or p6:| | 22:12 | |
jnthn | Differnet people like to work in different ways. That's fine. It's Perl, there's more than one way to do it. | ||
22:12
ChristopherBotto joined
|
|||
dalek | p: d6370eb | TimToady++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: bulletproof against nodes without .orig |
22:12 | |
jdv79 | i don't care if it exists or not. just sayin cause Skarsnik mentioned it earlier. | 22:13 | |
22:13
hankache joined
|
|||
marchelzo | the repl is invaluable for exploring the langauge | 22:14 | |
language* | |||
jdv79 | that's your opinion:) | ||
22:14
Praise joined,
Praise left,
Praise joined
|
|||
zengargoyle | timotimo: rakudobrew works fine outside of home... mine's located at /opt/rakudobrew. | 22:14 | |
Skarsnik | I mean what rakudobrew install x) | ||
22:15
lucasb joined
|
|||
Skarsnik | not rakudobrew itself | 22:15 | |
marchelzo | jdv79: no, it's a fact | ||
22:15
z8 left
|
|||
jdv79 | i don't think this conversation is worth our time. but if its so invaluable how come i know a little perl6 and i have never used it. | 22:15 | |
marchelzo | that's something you should ask yourself, not me | 22:16 | |
Skarsnik | I write code or execute stuff with -e to test thing lol | ||
jdv79 | marchelzo: ok | ||
timotimo | me, too, Skarsnik | ||
ugexe | i dont use the repl either, but probably because im too stuborn to learn a new way to code | ||
marchelzo | I haven't used the perl6 repl very much, maybe it isn't great, but I've used good repls and they really are helpful. | 22:17 | |
jdv79 | the natural progression for me is one liner and then to a test file. idk. | ||
ugexe | me too | ||
hankache | for some people repl can be helpful | ||
jnthn finds having a window with the REPL open kinda useful when teaching | |||
hankache | it's not one size fit all | ||
RabidGravy | yea, I'm in the -e or test file camp | ||
jnthn | 'cus it lets you show stuff without the ceremony of doing -e, and it auto-prints expressions | 22:18 | |
Skarsnik | Well we never say it's bad/not usefull, just that we don't use it ^^ | ||
jdv79 | everyone works differently. i just wish i could comprehend better why the repl seems to popular. | ||
exactly, what Skarsnik said. | |||
anyway, pub visit overdue & | |||
RabidGravy | pub++ | ||
22:20
donaldh joined
|
|||
hankache | what is the main channel for perl? | 22:21 | |
arnsholt | For very short snippets, I like -e. But if it's a bit longer (involving a class with some methods, say), I start liking a REPL | ||
hankache | #perl? | ||
timotimo | irc.perl.org has #perl, but freenode has a #perl, too | ||
irc.perl.org is MAGnet | 22:22 | ||
Juerd | irc.perl.org doesn't support ipv6 :( | ||
marchelzo | we're making progress | ||
I got moarvm and panda through rakudobrew | |||
I installed linenoise (HEAD^) | |||
hankache | so which one is the thing? | ||
marchelzo | but now I get this when running perl6: Cannot locate native library 'liblinenoise.dylib' | 22:23 | |
hankache | congrats marchelzo | ||
hoelzro | marchelzo: did you install rakudo from git HEAD? | ||
or 2015.11? | |||
Juerd | hankache: Perl has no official IRC channel, but there are multiple channels about Perl | ||
marchelzo | git HEAD I believe (I just did rakudobrew build moar). | ||
hoelzro | marchelzo: then you'll need Linenoise HEAD | 22:24 | |
marchelzo | oh, right | ||
[Coke] | ... oh my! we're going to beat Half Life 3. | ||
hankache | Juerd which one is the equivalent of this? | ||
hoelzro | you'll probably need to --force install it | ||
marchelzo | hoelzro: FINALLY! | 22:25 | |
hoelzro | \o/ | ||
Juerd | hankache: There is no equivalent. Perl is literally older than IRC and the channels just co-exist. | ||
marchelzo | hoelzro: timotimo: thanks for all the help | 22:26 | |
anyone else who helped too | |||
hoelzro | no problem | ||
hankache | Juerd i see | 22:27 | |
donaldh | [Coke]: re: irclog.perlgeek.de/perl6/2015-12-08#i_11679606 I am investigating that JVM bug. | ||
22:27
skids left
|
|||
timotimo | marchelzo: sorry it took so much work to get to something working :( | 22:27 | |
Juerd | hankache: irc.perl.org is probably the "most" official one :) | ||
Not necessarily the busiest one though | |||
marchelzo | it's ok | 22:28 | |
hankache | well both #perl on irc.perl.org and freenode seem quiet | ||
Juerd | Might be a timezone thing | ||
hankache | ah! the freenode one showed a sign of life | ||
marchelzo | ok so <1 2 3> has type List, but <3> has type IntStr. What's with that? | 22:29 | |
Juerd | Does efnet still exist? There was a #perl-help there | ||
dalek | kudo/nom: c27a00c | TimToady++ | src/ (5 files): get reductions thunking for left/list assoc |
||
Juerd | marchelzo: <3> is a single thing that is both an Int and a Str. | ||
timotimo | marchelzo: if there's only one thing, it's for a single value, otherwise it's for a list of things | ||
jnthn | TimToady++ # thunking up our meta-ops | ||
marchelzo | So when would you use <3> versus just 3? | 22:30 | |
Juerd | marchelzo: Doesn't matter. They're the same thing in practice. | 22:31 | |
marchelzo | Why isn't <3> the same as 3.List? That seems more natural doesn't it? | ||
Juerd | marchelzo: Any single item can be used as a 1-element list. | ||
jnthn | Less useful, though | ||
TimToady | m: Nil orelse .say # also fixed this | ||
camelia | rakudo-moar 96bc43: OUTPUT«(Any)» | ||
Juerd | marchelzo: So it's not needed | ||
jnthn | %h<a> = index a single hash element | 22:32 | |
%h<a b c> = slice the hash | |||
:a<1> # pair a => 1 | |||
:a<1 2 3> # pair a => (1, 2, 3) | |||
And yes, what Juerd++ said | 22:33 | ||
hankache | m: (1 2 3).WHAT.say; | ||
camelia | rakudo-moar 96bc43: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R1UjXo3sIDTwo terms in a rowat /tmp/R1UjXo3sID:1------> 3(17⏏5 2 3).WHAT.say; expecting any of: infix infix stopper statement end statement modifier…» | ||
hankache | m: say <1 2>.WHAT; | 22:34 | |
camelia | rakudo-moar 96bc43: OUTPUT«(List)» | ||
hankache | m: say (1,2).WHAT; | ||
camelia | rakudo-moar 96bc43: OUTPUT«(List)» | ||
hankache | is theremore ways to construct a list? | 22:35 | |
other than those 2 ^^ | |||
lizmat | m: dd List.new(1,2,3) | ||
camelia | rakudo-moar 96bc43: OUTPUT«List $var = $(1, 2, 3)» | ||
jnthn | m: dd << a "b c" { 2 + 3 } >> | 22:36 | |
camelia | rakudo-moar 96bc43: OUTPUT«List $var = $("a", "b c", IntStr.new(5, "5"))» | ||
hankache | what does dd do? | 22:37 | |
Juerd | data dump | ||
lizmat | m: my $a = 42; dd :$a | ||
camelia | rakudo-moar 96bc43: OUTPUT«Int a = 42» | ||
Juerd | It's everyone's favourite debug tool, so it deserves a nice and short name. | ||
marchelzo | what's the difference between an Array and a List? | 22:38 | |
Juerd | Arrays are mutable | ||
hankache | m: my $a = 42; say $a.perl; | ||
camelia | rakudo-moar 96bc43: OUTPUT«42» | ||
marchelzo | Juerd: Is that the only difference? | ||
Juerd | I'm not sure | 22:39 | |
jnthn | Arrays can also be typed, and shaped, or typed and shaped (including native types to provide packed storage) | ||
hankache | i see dd can be more useful than .perl sometimes | ||
thanks lizmat Juerd | |||
thanks jnthn | |||
lizmat | Juerd: also, if an element of a List is a container, it *can* be changed | 22:40 | |
m: my $a = (1, my $ = 2, 3); $a[1] = 42; dd $a | |||
camelia | rakudo-moar 96bc43: OUTPUT«List $var = $(1, 42, 3)» | ||
jnthn | Generally, arrays are used for mutable storage, lists are often more transient | ||
Juerd | lizmat: Sure, but the elements are not the List | 22:41 | |
marchelzo | lizmat: well that is consistent with Lists being immutable | ||
lizmat | well, some people interpret "List are immutable" as the values in a List being immutable as well | 22:42 | |
jnthn | Right, nothing stops an immutable list containing mutable objects. | ||
lizmat | I wanted to get that across :-) | ||
jnthn | Yes, it's an important distinction :) | ||
hankache still doesn't fully understand who is mutable and who is not | 22:43 | ||
timotimo | jnthn: gist.github.com/nxadm/141723568ac6235f212b - did you see this? it hangs after a while of running :( | ||
hankache and how to know if a function is a mutator or requires .= | 22:44 | ||
jnthn | timotimo: No, but is it another case of that concurrent GC issue? | ||
hankache: It's probably easier to assume "not mutating" in Perl 6 and learn the things that do mutate. | |||
Most things don't. | 22:45 | ||
hankache | ok | ||
what about functions and mutators | 22:46 | ||
.pop vs .sort | |||
Juerd | What about them? | ||
El_Che | jnthn: it's not very concurrent | ||
jnthn | El_Che: Waht isn't? | 22:47 | |
El_Che | timotimo's linkk | ||
hankache | .pop modifies the array | ||
.sort doesn't | |||
zengargoyle | hankache: i think that.. scalar containers do a good job at being invisible ... helps a bit. | ||
hankache | and so if you want to store the array and store it sorted you use .= instead of= | 22:48 | |
zengargoyle | as in there's sometimes a scalar container there (just like there could be an array container there) except the scalar container often tried to hide that it's there. | ||
lizmat | El_Che: how can $closed ever be true if it doesn't get updated inside the loop ? | 22:49 | |
until $channel.closed { | |||
jnthn | Yes, push/pop/shift/unshift/splice are some of the handful that mutate, mostly becuase they'd be a heck of a lot less useful if they didn't. | ||
lizmat | would make more sens to me | ||
22:50
Skarsnik left
|
|||
jnthn | lizmat: It's a Promise | 22:50 | |
timotimo | jnthn: it doesn't happen in GC, nah | ||
lizmat | ah, ok | ||
jnthn | timotimo: How long does it take to hang? | ||
timotimo | usually does so well within a single minute | ||
jnthn | I'm up to 170 iteratoins here | ||
TimToady | m: [&&] 0, say("oops") | 22:51 | |
camelia | rakudo-moar 96bc43: OUTPUT«oops» | ||
TimToady | m: [&&] 0, say("oops") | ||
camelia | ( no output ) | ||
timotimo | got it to hang, will give you backtraces | ||
jnthn | OK. I'm up to like 230 now :) | ||
it's warming my room up too :P | |||
timotimo | gist.github.com/timo/a912a560f23f256bc9c0 | 22:52 | |
Juerd | TimToady: Oops indeed :) | ||
timotimo | i tried to get gdb to go to a certain frame and print the moar-level backtrace with "thread apply all", but it seems to only take a single command argument :( | ||
hankache | thanks zengargoyle | ||
El_Che | lizmat: close would be true when the channel is empty? | 22:53 | |
timotimo | jnthn: the "shift" invocations were both in scheduler's "maybe_start_thread" looking for new work to enter the queue | ||
TimToady | m: [xor] 1, 1, say("oops") | ||
camelia | ( no output ) | ||
TimToady | m: [xor] 1, say("oops") | ||
camelia | rakudo-moar c27a00: OUTPUT«oops» | ||
jnthn | The condvar wait is almost certainly going in Promise | 22:54 | |
hankache | jnthn: i agree but as an end-user is there a way i can now beforehand who mutates and who doesn't? | ||
TimToady | m: [or] 1, say("oops") | ||
camelia | ( no output ) | ||
hankache | know** | ||
jnthn | hankache: Read the documentation? :) | ||
hankache | fair enough | 22:55 | |
jnthn | hankache: Generally though, we can't actually make everything mutate or everything not mutate and end up with, well, a Perl :) | ||
22:56
crux left
|
|||
jnthn | So we generally lean fairly strongly towards not mutating, except when the forces push against it. | 22:56 | |
22:56
[particle]1 left
|
|||
jnthn | One guideline is "if this didn't mutate, would it be algorithmically more complex"? | 22:56 | |
22:57
crux joined
|
|||
timotimo | jnthn: at least Thread 5 is inside promises .result under status == Planned | 22:57 | |
jnthn | But that's probably a bit fraught :) | ||
hankache: You never have to wonder on value types (all the numeric types, Str, and List, for instance), because those cannot mutate | 22:58 | ||
hankache: Similarly for anything you can do on a Supply or a Seq, which are all based around buiding up pipelines of operations. | |||
timotimo | jnthn: paste updated with the MVM_dump_backtrace results | ||
jnthn | Date/time stuff also works like immutable values | ||
So generally it's only the mutable things - like Array/Hash/SetHash/BagHash/MixHash - where it's a consideration. | 22:59 | ||
hankache | i see | ||
hankache will sleep less ignorant tonight | 23:00 | ||
El_Che | lizmat: compare the channel->poll code with the channel react code. The code is in the same place: gist.github.com/nxadm/141723568ac6235f212b vs gist.github.com/nxadm/1e5a26881f5831a2c8af | ||
and it's a Promise indeed | 23:01 | ||
I mean, "the close is in the same place" | |||
hankache | thanks jnthn | ||
23:02
lucasb left
|
|||
jnthn | :) | 23:02 | |
timotimo: heh, I'm up to like 900 here by now ;) | |||
El_Che | If we need to check for the channel.close status with react, there isn't much syntatic added value compared to the channel.poll way | ||
_nadim | hi, is transliteration documented somewhere? doc.perl6.org returnss nothing for tr trans transliteration | 23:03 | |
23:03
spider-mario left
|
|||
jnthn | El_Che: Why do you need to check for that with react/whenever? | 23:03 | |
El_Che: If you want to do something when the channel is closed, use a LAST { ... } block inside the whenever. | 23:04 | ||
(Which will trigger after you already processed the last actual value from the Channel) | |||
Juerd | _nadim: design.perl6.org/S05.html#Transliteration | ||
El_Che | jnthn: it just needs to get out of the react block once the channel is closed | ||
timotimo | jnthn: so maybe it's a linux-only thing? :\ | ||
jnthn | El_Che: Do you have any other whenevers in the react block? | 23:05 | |
El_Che | no | ||
jnthn | Then that'll happen automatically | ||
El_Che | jnthn: in 5% of the time it just hangs | ||
timotimo | helgrind, a thread error detector | ||
El_Che | jnthn: put the bug here: rt.perl.org/Public/Bug/Display.html?id=126842 | 23:06 | |
timotimo | much output | ||
lucs | This appears to work, but is there something more idiomatic?: use lib IO::Path.new($?FILE).dirname; | ||
jnthn | El_Che: Yes, I suspect there's a data race somewhere. The "use a Channel in a react block" code is just a few days old. | ||
_nadim | Juerd: thanks but the docuentation doesn't list the. I'll test it | ||
timotimo | ok, now it's hanging | ||
El_Che | in short: 1. I don't get the doc (I'll patch it accordingly when I get it) | ||
Juerd | _nadim: Documentation is missing for a lot of things. Maybe you'd like to write some? :) | 23:07 | |
23:07
cdg left
|
|||
masak | "When invoking cuid_7_1449615985.11669 '', provided outer frame 0x59ec270 (cuid_25_1449615985.11669 'install') does not match expected static frame 0x47a02a0 (cuid_12_1449615985.11669 '')" | 23:07 | |
jnthn | timotimo: It's not immediately clear to me what's to blame from the backtraces | ||
masak | is a bit of a funny error message | ||
is this related to precomp? | |||
El_Che | 2. There is a bug, but there is a valid not much shorter way to do the same -> if it doesn't stabilize, just re-add it after xmas? | ||
masak | should I blow my lib/.precomp/ ? | ||
timotimo | jnthn: F5 on the gist gives you the exact script i ran and helgrind output | 23:08 | |
jnthn | El_Che: I'm not too worried about bugs in xmas of the "it obviously fails to work right" nature | ||
El_Che: I'm worried about "it works wrong and you can end up depending on semantics we don't want" | |||
timotimo | especially the very end might be good, the "at exit, thread #foo was still holding $n locks: ..." | ||
masak | hm, blowing lib/.precomp didn't help | ||
timotimo | jnthn: i suppose it can wait, then :) | ||
masak | I'm now thinking I've actually done something Very Bad in my code... | ||
jnthn | masak: It's one of those "should never really happen" things | ||
masak: Last time I saw it, it was because of a nasty data race | 23:09 | ||
El_Che | jnthn: I get the stylish feel of the react syntax (that why I converted my code and hit the bug), but I don't think the channel poll is bad. On the contrary | ||
jnthn | But that was fixed months ago, and I've never seen it again since. | ||
El_Che | very straight forward: a closed promise + poll | ||
_nadim | Juerd: Getting to the point I can help, rigt now I am writting my first lines of P6 | ||
jnthn | El_Che: Yes, it's nice the long way around is still not that long :) | ||
We'll get to the bottom of what's going on with the react thing | 23:10 | ||
masak | jnthn: suspected the "should never happen" thing | ||
23:10
trone left
|
|||
_nadim | I would have expected the methods to be auto generate in the docs, I guess they are, but trans is missing | 23:10 | |
masak | not sure what I've done yet, but it's nothing to do with data races | ||
timotimo | the only thing i can come up with: $lock.protect doesn't work :P | ||
jnthn | I just need a decent stretch of time to look at them when I'm not tired, and those aren't available for another couple of days. :) | ||
El_Che | jnthn: what a like about the poll thing that it stays in the channel mindset instead of putting you on a supply mindset, imho | ||
Juerd | _nadim: That's cool. I hope you're having fun with your first lines :) | ||
_nadim: Docs are not auto-generated (yet?) | 23:11 | ||
jnthn | El_Che: react/whenever work on Promise also | ||
El_Che: So they're pretty cross-mindset :) | |||
El_Che: The real power is you can use supplies *and* channels in the same react | |||
_nadim | I've had nightmares but fun. I am putting tests in my first module, I should get there before Christmas ;) | 23:12 | |
Hu! not autogenerated!!!! | |||
El_Che | anyway (and unrelated), whoever added the nl-in in IO::Handle recently: You sir or madam, made my code a lot faster. Kudos | ||
_nadim | I need to find time indeed | ||
Juerd | _nadim: Documentation is mostly written separate from the spec and implementation, at github.com/perl6/doc/tree/master/doc | ||
jnthn | El_Che: So, process data coming back from a worker on a channel while looking out for a SIGINT when somebody wants to stop the work, or so :) | ||
masak | good news -- I got rid of the Very Bad thing, and I now know what I did that was Very Bad, and I'll probably be able to produce a rakudobug from it :> | 23:13 | |
jnthn | masak: Did it involve BEGIN time? :) | ||
23:13
cdg joined
|
|||
timotimo | El_Che: nl-in and nl-out moved into the VM in big parts; especially chomping is there now | 23:13 | |
jnthn | Only nl-in moved into the VM :) | ||
El_Che | jnthn: I process big LDAP ldif (the complete db dump). Now that I can split by records (separated by an empty line) instead of line, everything is easier (e.g. line continuations, etc) | 23:14 | |
timotimo | oh, right | ||
well, that's the more expensive one anyway :) | |||
jnthn | It learned to support multiple, and multi-char, separators at the same time. | ||
_nadim | Juerd: you're sure that's the right url? | ||
jnthn | And to directly construct the correct string, rather than the unchomped one and then substringing it. | ||
TimToady | m: say (say("oops") !R&& 0) | ||
camelia | rakudo-moar c27a00: OUTPUT«True» | ||
23:14
AlexDaniel left,
vendethiel left
|
|||
TimToady | m: say (say("oops") !RRR&& 0) | 23:14 | |
camelia | rakudo-moar c27a00: OUTPUT«True» | ||
TimToady | m: say (say("oops") ![!RRR&&] 0) | ||
camelia | rakudo-moar c27a00: OUTPUT«False» | ||
jnthn | o.O | ||
El_Che | timotimo: before the move, using "\n\n" didn't work as a separator, only "\n", "\r\n" and whatever random char :) | ||
jnthn | timotimo: Show-off! :) | 23:15 | |
uh | |||
TimToady: Show-off! :) | |||
donaldh | With the new precompilation code, is -I ignored ? | ||
TimToady | ayup :) | ||
nine | Woah...I just stumbled over panda's DepTracker. It's a wonder this thing still works after curli got merged | ||
jnthn | I guess that's another RT down? :) | ||
nine | donaldh: nope | ||
Juerd | _nadim: No, but why would it be the wrong url? :) | 23:16 | |
El_Che | going to bed. Have fun hacking! | ||
donaldh | I compile a module with --target=jar --output=module.pm.jar | ||
Then I use module, but it goes and precompiles the module. | 23:17 | ||
Juerd | El_Che: Good night | ||
timotimo | nine: um, does DepTracker even still get used? i don't think so, actually | ||
lizmat | good night, El_Che | ||
donaldh | Is that expected? | ||
_nadim | Juerd: because I tried to clone it rather than open it ;) | 23:18 | |
23:18
hankache left
|
|||
Juerd | _nadim: Oh, for cloning remove the last part of the path :D | 23:18 | |
_nadim | it's cloned already ;) | ||
Juerd | Oh no! | 23:19 | |
nine | timotimo: oh...then I'll just remove it and see if anything breaks | ||
timotimo | i think it went away when panda kicked out precomp | 23:20 | |
i mean ... became unused | |||
donaldh | nine: I'm trying to debug the "Missing serialize function for REPR ContextRef" JVM bug. | ||
nine | donaldh: any progress? | ||
donaldh: or actually: is it still there? | 23:21 | ||
donaldh | When a module uses another module, it fails to serialize | ||
When trying to serialize a CompUnit::Handle | 23:22 | ||
marchelzo | hyper operators are weird as fuck | ||
$a R+= $b | 23:23 | ||
donaldh | nine: yes it's still there as of earlier today | ||
nine | donaldh: 75ca9dcbb495763a2fb9e9f4829b9ba885db2a8e was an attempt to fix that, but it broke the spectests spectacut^Hlarily | ||
TimToady | m: 42 R[+=] my $b; say $b | ||
camelia | rakudo-moar c27a00: OUTPUT«42» | ||
TimToady | m: 42 R+= my $b; say $b | 23:24 | |
camelia | rakudo-moar c27a00: OUTPUT«42» | ||
23:26
ChristopherBotto left
|
|||
marchelzo | imagine if there were something like IOCCC for perl6 | 23:26 | |
this language is the quirkiest thing I've ever encountered. | |||
nine | donaldh: I guess it broke exactly when a module uses another module | ||
donaldh | hmmm, reading diff | 23:27 | |
timotimo | i'll go have a sleep | ||
nine | good night timotimo++ | ||
timotimo: thanks for the hint about DepTracker :) | |||
timotimo | sure thing! :) | ||
arnsholt | marchelzo: R[op] isn't even a hyperop, that's just a metaop ^_^ | ||
timotimo | yeah, that's how we do bracketing inside metaops | 23:28 | |
if things get ambiguous, you can disambiguate | |||
marchelzo | arnsholt: what's a hyperop? Is >> << a hyperop? | ||
timotimo | but does R[[op]] work as a reduction operator? | ||
marchelzo: >> << on its own isn't. together with other things it is | |||
marchelzo | I see | ||
TimToady | [] is reduction only when used as a listop | ||
23:29
M-Illandan joined
|
|||
TimToady | otherwise it's just disambiguation | 23:29 | |
timotimo | hm, OK | ||
TimToady suspects that hyperops should *not* pay attention to thunking, since they are built to work on single items with internal structure, rather than comma lists | 23:30 | ||
timotimo | so no >>andthen<< any time soon? ;) | 23:32 | |
timotimo disappears towards bed | |||
TimToady | use Zandthen if you want that | ||
23:33
bookimp joined
23:35
yqt left
|
|||
marchelzo | what is .? is it an operator? | 23:36 | |
or is it syntax? | |||
TimToady | in a method call? | ||
it's a variant of . that doesn't blow up if the method doesn't exist | 23:37 | ||
m: say 42.nonesuch | |||
camelia | rakudo-moar c27a00: OUTPUT«Method 'nonesuch' not found for invocant of class 'Int' in block <unit> at /tmp/KbMAmAKHBp:1» | ||
marchelzo | sorry, the question mark was indicating a question | ||
TimToady | m: say 42.?nonesuch | ||
camelia | rakudo-moar c27a00: OUTPUT«Nil» | ||
marchelzo | I meant just the dot | ||
TimToady | ah | ||
dot in which context? | |||
marchelzo | like 4.sin | ||
TimToady | just means you're calling a method | ||
was -> in Perl 5 | |||
marchelzo | so it's syntax? | 23:38 | |
TimToady | yes, it's really sort of a postfix prefix :) | ||
in fact, you can take any non-method postfix and add a . | |||
marchelzo | I thought something like: [1, 2, 3] >>.>> sin would work. | ||
but that would require . to be an operator. | |||
23:39
Zoffix joined,
bookimp left
|
|||
ShimmerFairy | marchelzo: ah, I think you just want [1, 2, 3]».sin | 23:39 | |
marchelzo | yes, I know that works, but I was just experimenting | ||
TimToady | it's only sort of a pseudo-operator, since it does have to warp the "sin" into a method name | ||
marchelzo | mm | ||
lizmat | good night, #perl6! | 23:40 | |
TimToady | o/ | ||
masak | 'night, lizmat | ||
'night, #perl6 | |||
Zoffix | \o | ||
hah "Building Rakudo with backend 'maor' is NYI. Well volunteered!" | 23:42 | ||
23:42
M-eternaleye joined
|
|||
Zoffix | (whoever added that error message)++ | 23:42 | |
joeschmoe2 | m: say 'Dear Earthlings!'; | 23:43 | |
camelia | rakudo-moar c27a00: OUTPUT«Dear Earthlings!» | ||
23:43
Zoffix left
|
|||
marchelzo | how to map a function over a list? | 23:44 | |
23:45
TEttinger joined
|
|||
ugexe | m: sub foo($a) { $a }; say (1,2,3)>>.&foo; say (1,2,3).map: {.&foo} | 23:47 | |
camelia | rakudo-moar c27a00: OUTPUT«(1 2 3)(1 2 3)» | ||
TimToady | m: say (1,2,3)».&sin | ||
camelia | rakudo-moar c27a00: OUTPUT«(0.841470984807897 0.909297426825682 0.141120008059867)» | ||
joeschmoe2 | m: my $contents = slurp 'filename.txt'; | 23:48 | |
camelia | rakudo-moar c27a00: OUTPUT«Failed to open file /home/camelia/filename.txt: no such file or directory in any at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm:1 in block <unit> at /tmp/Xqvc5BprNQ:1Actually thrown at: in any at gen/moar/m-Met…» | ||
dalek | kudo-star-daily: 765f807 | coke++ | log/ (2 files): today (automated commit) |
||
TimToady | m: 1,2,3 Xandthen &say | 23:49 | |
camelia | rakudo-moar c27a00: OUTPUT«123» | ||
marchelzo | hmm... | ||
what does the colon signify? | |||
TimToady | many things, context? | ||
marchelzo | in that example above | ||
(1,2,3).map: {.&foo} | 23:50 | ||
23:50
Zoffix joined
|
|||
TimToady | that one turns a method into a listop, so you don't need a closing paren | 23:50 | |
so, same as (1,2,3).map({.&foo}); | |||
marchelzo | ah | ||
TimToady | usually used for endweight reasons, especially if the block is multi-line | 23:51 | |
Zoffix | Looks like I caught the JSON::Fast loops-forever-and-doesn't-install bug... And subsequently, I can't install panda (it also cries about unint %ENV: fpaste.scsys.co.uk/502557 | ||
TimToady | so you can end the block with a simple } rather than }); | ||
Zoffix | ) | ||
joeschmoe2 | m: say %p6c.fmt("%s!"); # "sorear!\nfglock!\n" | ||
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tEc62mxiFGVariable '%p6c' is not declaredat /tmp/tEc62mxiFG:1------> 3say 7⏏5%p6c.fmt("%s!"); # "sorear!\nfglock!\n"» | ||
joeschmoe2 | m: say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n" | ||
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wsnuaxXbXDVariable '@nr' is not declaredat /tmp/wsnuaxXbXD:1------> 3say 7⏏5@nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"» | ||
23:52
jdong joined
|
|||
joeschmoe2 | m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n" | 23:52 | |
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rCWYxoY6oFVariable '@nr' is not declaredat /tmp/rCWYxoY6oF:1------> 3<BOL>7⏏5@nr = 1..5; say @nr.fmt("+%d."); # "+1.+» | ||
joeschmoe2 | m: @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"; | ||
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FDZYoBVSetVariable '@nr' is not declaredat /tmp/FDZYoBVSet:1------> 3<BOL>7⏏5@nr = 1..5; say @nr.fmt("+%d."); # "+1.+» | ||
23:53
lostinfog left
|
|||
TimToady | joeschmoe2: you declare variables using 'my' | 23:54 | |
it's not optional... | |||
joeschmoe2 | m: my @nr = 1..5; say @nr.fmt("+%d."); # "+1.+2.+3.+4.+5.\n"; | ||
camelia | rakudo-moar c27a00: OUTPUT«+1. +2. +3. +4. +5.» | ||
joeschmoe2 | cool thanks | ||
23:55
glaukommatos joined
|
|||
joeschmoe2 | m: my $result = '5.123456789'; say $result.fmt('%.2f'); # "5.12\n" | 23:56 | |
camelia | rakudo-moar c27a00: OUTPUT«5.12» | ||
23:56
kid51 joined
|
|||
Zoffix | timotimo, I'm also having that same issue with "'{ "a : false }'" test on JSON::Fast just freezing... And according to strace, it does just that... freezes. Stops. Nothing gets executed :S | 23:57 | |
joeschmoe2 | m: my $Link = 'www.google.com; say $link | 23:58 | |
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fqYLLAGKF1Unable to parse expression in single quotes; couldn't find final "'" at /tmp/fqYLLAGKF1:1------> 3ink = 'www.google.com; say $link7⏏5<EOL> expecting any of: sing…» | ||
marchelzo | what's the difference between @xs.map: *.say and @xs.map: &say | 23:59 | |
joeschmoe2 | m: my $Link = 'www.google.com'; say $link | ||
camelia | rakudo-moar c27a00: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dcWTrkLbV1Variable '$link' is not declared. Did you mean any of these? &link $Linkat /tmp/dcWTrkLbV1:1------> 3y $Link = 'www.google.com'; say 7⏏5$link» | ||
Zoffix | joeschmoe2, Perl 6 is case-sensitive | ||
joeschmoe2 | m: my $Link = 'www.google.com'; say $Link | ||
camelia | rakudo-moar c27a00: OUTPUT«www.google.com» | ||
Zoffix | joeschmoe2, you can also /msg camelia m: blah blah to eval code in private, if you wish to do so | ||
joeschmoe2 | I will thanks |