»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 khw_ left 00:04 sammers left 00:10 lukaramu_ left 00:11 BenGoldberg joined 00:32 Cabanossi left 00:33 Cabanossi joined, girafe left 00:38 skids joined 00:43 thundergnat left 00:53 gdonald left, gdonald joined 01:01 mcsnolte left, Cabanossi left 01:03 Cabanossi joined 01:19 drbaffico joined
drbaffico can anyone please tell me where to find a proper help file for referencing syntax for perl6? 01:20
preferrablyon the internet
something that is easy to print and format on double page duplexed print? 01:21
all i can find is the garbage file layout on docs.perl6.org, it is inappropriate for printing and reference 01:22
i need a file like the .chm file for python
thank you for any who respond. :-) ---> dr. mw baffico
01:23 raiph joined
drbaffico ralph, are you aware of more appropriate perl6 documentation for advanced syntax sutiable for printing on the web? 01:24
skids wonders if anyone has updated the "perl6 periodic table" poster? 01:32
www.ozonehouse.com/mark/periodic/ is probably too old to promulgate. 01:33
AlexDaniel skids: just redo it from scratch? If done in .svg, every operator can link to docs 01:34
skids Well, I meant for drbaffico's immediate need. 01:36
AlexDaniel “addenoid” :DD
raiph docs.perl6.org/perl6.xhtml shows an error 01:37
drbaffico: ignoring the error, is the big page I just linked ^^ of any use to you? 01:39
drbaffico ii'll check it out right now, thanks
01:39 aborazmeh joined, aborazmeh left, aborazmeh joined
drbaffico ahh,thanks guys, found just what i was looking for. i appreciate it very much!!! 01:41
lucs drbaffico: Is it that page that raiph showed, or something else?
mst [Coke]: basically, it isn't relocatable currently, and I worked around that 01:42
[Coke]: I owe the perl6 community a proper release of that stuff though, should try and do that soon
drbaffico it was the page that ralph showed, with a link i did not see before, my error, my apologies, it is just what i was looking for. thanks again, guys
lucs Cool 01:43
drbaffico the 'perodic' table is interesting,ifa bit quaint, but interesting, i'll look at that as well in further detail,, thanks for that
ok, thank you guys, i'm going to log off for a while and have some dinner. will be back later to chat, and look forward to contributing to the community. thanks for the -> help! ;-) and i hope you all have a nice evening/day/etc... 01:50
01:50 drbaffico left 02:15 Cabanossi left
raiph Do others get "rendering of the page up to the first error" when viewing the single doc page (link above)? 02:17
02:18 Cabanossi joined
AlexDaniel raiph: for me it does not render at all 02:21
MasterDuke XML Parsing Error: not well-formed Location: docs.perl6.org/perl6.xhtml Line Number 10323, Column 43: 02:22
i think it's pointing out the error as here `<p>Perl 6 makes considerable use of the &171; and &187; characters.</p>`, at the 1 of the 171 02:24
raiph I'm using Chrome (Version 47.0.2526.73); I've got "error on line 10323 at column 43: xmlParseEntityRef: no name" 02:25
02:28 mr-foobar joined
MasterDuke FF 52.0 02:28
dwarring shouldn't that be: Perl 6 makes considerable use of the &#171; and &#187; characters 02:30
?
Perl 6 makes considerable use of the « and » characters. 02:31
source github.com/perl6/doc/blob/master/d....pod6#L398 02:40
raiph dwarring: github.com/perl6/doc/blob/master/d....pod6#L385 etc. as well? 02:42
02:44 ilbot3 left
Geth doc/dwarring-patch-1: 431d94df46 | (David Warring)++ | doc/Language/pod.pod6
Fix rendering problem

See irclog.perlgeek.de/perl6/2017-03-21#i_14298152
02:46
doc: dwarring++ created pull request #1255:
Fix rendering problem
dwarring should probably go
I've created PR github.com/perl6/doc/pull/1255
for what I think it should be (not a doco expert)
02:47 ilbot3 joined, ChanServ sets mode: +v ilbot3
pytuger why is eval('say("hey");'); in perl5 just made all caps EVAL("say('hey');"); 02:51
in perl6
A subjective question since not technically related, just seems confusing. I've learned of some things that were in all caps such as " my $var = 10; $var.WHAT.say; " but haven't noticed a pattern, was wondering if there was one. 02:53
02:54 bwisti joined
MasterDuke i think it was meant to stand out a bit more, to make it obvious something dangerous/hacky/etc is going on 02:55
a bunch of the other all cap functions, e.g., WHAT, HOW, WHICH are mostly meant for internal use, and probably shouldn't be seen in user code 02:57
03:04 perlawhirl left, teichner joined 03:06 teichner left, cpage_ joined 03:10 AlexDaniel left 03:14 mcmillhj left 03:15 mcmillhj joined 03:20 mcmillhj left 03:22 xtreak joined, aborazmeh left
BenGoldberg m: say test p5=> 42; 03:23
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
test used at line 1
03:23 travis-ci joined
travis-ci Doc build passed. David Warring 'Fix rendering problem 03:23
travis-ci.org/perl6/doc/builds/213254619 github.com/perl6/doc/commit/431d94df46be
03:23 travis-ci left 03:24 mcmillhj joined
BenGoldberg It's a comic operator because it doesn't exist :P 03:24
03:30 BenGoldberg left 03:31 noganex joined, mcmillhj left 03:32 Cabanossi left 03:33 Cabanossi joined
skids \o/ Finally, I have working (but still very ugly) code to fix diamond role composition. 03:34
03:34 noganex_ left 03:42 mcmillhj joined 03:47 mcmillhj left, mcmillhj joined 03:52 mcmillhj left 04:01 Cabanossi left 04:03 Cabanossi joined 04:04 mcmillhj joined 04:08 mcmillhj left 04:13 raiph left 04:14 raiph joined 04:21 mcmillhj joined 04:25 mcmillhj left 04:26 mcmillhj joined 04:27 bwisti left 04:31 mcmillhj left 04:36 xtreak left 04:37 xtreak joined 04:42 mcmillhj joined 04:45 Cabanossi left 04:47 Cabanossi joined 04:52 cpage_ left 04:53 wamba joined 04:59 cpage_ joined 05:15 Cabanossi left 05:17 Cabanossi joined 05:28 Sgeo left 05:29 mcmillhj left 05:48 skids left, curan joined 05:50 drrho joined 05:52 xtreak left, xtreak joined, cibs left 05:55 cibs joined 05:57 wamba left 06:00 kurahaupo__ joined 06:01 Sgeo joined 06:17 cpage_ left 06:24 mcmillhj joined 06:28 rindolf joined 06:31 mcmillhj left
kaare_ lizmat: How come the p6 weekly isn't in the blog section of perl6.org/ anymore? 06:37
06:47 mcmillhj joined 06:52 RabidGravy joined, mcmillhj left 06:58 setty1 joined, domidumont joined 07:03 mcmillhj joined 07:04 dct left, domidumont left 07:06 domidumont joined 07:08 mcmillhj left 07:12 wamba joined 07:14 xtreak left, rindolf left 07:16 xtreak joined 07:31 mcmillhj joined, Cabanossi left 07:32 abraxxa1 joined, Cabanossi joined 07:36 mcmillhj left 07:40 sukrishn joined 07:44 kurahaupo__ left 07:45 darutoko joined
moritz probably some RSS feed messup 07:45
they are also missing from pl6anet.org/ :( 07:46
07:46 rindolf joined 07:47 wdna joined
wdna good morning 07:48
moritz good morning wdna 07:51
07:52 mcmillhj joined 07:57 cpage_ joined, abraxxa left 07:58 mcmillhj left 08:02 bjz joined 08:06 dct joined
nine lizmat-- # stealing half an hour of my time with the weekly 08:07
lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ lizmat++ # giving me 30 minutes of fun with the weekly
jast oh noes, karma spam 08:08
08:09 mcmillhj joined 08:13 mcmillhj left 08:14 xtreak left 08:25 dct left 08:28 grumble joined
lizmat clickbaits p6weekly.wordpress.com/2017/03/20/...e-a-hyper/ , to make things worse :-) 08:29
08:31 zacts left
lizmat .tell stmuk_ is there a reason why the P6W is no longer syndicated to pl6anet.org ? 08:35
yoleaux lizmat: I'll pass your message to stmuk_.
08:35 mcmillhj joined 08:36 sukrishn left 08:37 dakkar joined 08:40 mcmillhj left 08:41 setty1 left 08:43 wamba left 08:44 zakharyas joined 08:45 zacts joined, Cabanossi left 08:47 Cabanossi joined 08:49 mcmillhj joined 08:53 mcmillhj left 09:03 Sgeo left 09:05 mcmillhj joined 09:10 mcmillhj left, sukrishn joined 09:14 sukrishn left 09:16 sukrishn joined 09:24 zakharyas left, mcmillhj joined 09:27 xtreak joined 09:29 mcmillhj left 09:31 xiaomiao joined 09:38 wamba joined 09:39 mcmillhj joined 09:43 mcmillhj left
dakkar TIL: the invocant can be rw gist.github.com/dakkar/fa26e2b816f...89e891fcd0 09:48
09:48 wamba left
IOninja Yup. That's how Str.subst-mutate does it 10:00
10:03 mcmillhj joined
IOninja pytuger: eval is Perl 5 is frequent. In Perl 6 is rare. We have `try` replacing most of Perl 5's eval usage and. Leaving just the dangerous stuff for EVAL, and so it's in caps, to stand out. 10:03
.ask gfldex why does Podtobig page generate perl6.xhtml? We use HTML, not XML. The bogus extension is causing parse errors: irclog.perlgeek.de/perl6/2017-03-21#i_14298152 10:06
yoleaux IOninja: I'll pass your message to gfldex.
10:09 mcmillhj left 10:12 sukrishn left 10:17 astj left 10:18 astj joined, astj left, astj joined
IOninja .tell gfldex here's what it looks like in Firefox: i.imgur.com/0v67PIa.png The idiocy of using XHTML instead of HTML was common because people were too stupid to know how to kick IE6 out of quirksmode with a proper HTML doctype and it was never a right thing to use. 10:23
yoleaux IOninja: I'll pass your message to gfldex.
Geth doc: 5bd81fb834 | (Zoffix Znet)++ | doc/Language/pod.pod6
Work-around bug that incorrectly interprets E<> entities

  - Closes #1255
  - Fixes rendering issue in perl6.xhtml (though it's still needs to be changed away from xhtml)
10:24
IOninja s/Work-around//;
No point in using an E<> there.
10:26 xtreak left
hobbs or, people used xhtml because it was nice actually being able to process HTML without having to have an utterly insane massive parser, at least if you knew its provenance :) 10:28
IOninja Nope, daily someone would come to #css with XHTML doctype and when asked why it was 'cause IE6 10:30
10:31 xtreak joined, mxco86 left
hobbs So clearly I don't exist. Thanks. 10:31
10:33 mxco86 joined
masak I think I've heard the "being able to process" argument before. it's an interesting one. 10:34
but to me the "browser just choked" argument is fairly overriding -- YMMV
10:34 xtreak left
IOninja .ask gfldex does Pod::To::Big page do any processing? Pod::To::HTML outputs E<171> as &#171; but on perl6.xhtml it ended up as &171; (not the missing #). 10:36
yoleaux IOninja: I'll pass your message to gfldex.
10:40 xtreak joined
timotimo nine: which part of the weekly was the one that gave you so much fun? 10:42
moritz fwiw the IRC logs use content negotiation, and emit strict xml/xhtml when the browser wants it 10:44
it has helped me find a few places where the (x)html escaping wasn't working 10:45
IOninja And HTML validator wouldn't helped? 10:46
masak does anyone know of a good *offline* HTML validator? all HTML validators I've found are some online service somewhere... 10:47
moritz masak: iirc you can download the one that w3.org uses 10:48
masak aye, I did find that one
it's written in Perl 5
10:51 xtreak left 10:57 tojo joined 10:59 Sgeo joined 11:07 sukrishn joined
nine masak: though if you need to validate HTML 5, you'll also need the one from validator.nu (written in Java). The w3c-validator will act as frontend then. 11:12
11:13 cpage__ joined, cpage_ left, cpage__ is now known as cpage_ 11:16 Cabanossi left 11:17 Cabanossi joined 11:42 labster left
masak nine: ah, and it's on Github: github.com/validator/validator 11:44
11:50 zakharyas joined 12:06 abraxxa1 left, abraxxa joined, abraxxa left 12:08 integral_ is now known as integral 12:17 bjz_ joined 12:19 bjz left
Geth modules.perl6.org: 025f677ec7 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
Log a warning when `tags` META key isn't an array
12:21
12:25 TEttinger left
Geth modules.perl6.org: 9ecae4736c | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
Fix typo
12:27
12:29 raschipi joined
Geth modules.perl6.org: 4469e6a1e4 | (Zoffix Znet)++ | 2 files
[REBUILD] uniq tags of a dist

Since the mangler may normalize multiple listed tags to the same tag.
Fixes the last 7 UNIQUE constraint db errors.
12:30
12:30 hord joined
Geth modules.perl6.org: bc576c5364 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Root.pm
Fix undef uc warning in controller
12:32
12:36 spebern joined 12:42 spebern left
IOninja "Since Perl 6 is a bit new, this LWP::Simple does both get and post requests." wat 12:43
That's LWP::Simple's readme
timotimo wants an "only"?
IOninja $ zef install LWP:Simple 12:44
Enabled fetching backends [git path wget curl] don't understand LWP:Simple
You may need to configure one of the following backends, or install its underlying software - [pswebrequest] 12:45
hm wtf... I do have wget git and curl :/
lizmat LWP::Simple ?
IOninja Yeah
lizmat not LWP:Simple
: vs :: ?
IOninja lizmat++
And I kept hitting "up" key and reusing the same typo even after upgrading zef :) 12:46
timotimo it could point out that LWP was being interpreted as a protocol name rather than part of the module name
lizmat yeah,. been there, done that :-)
timotimo like "can't grab module Simple with protocol LWP. only can handle http, https, git, ssh, ..."?
12:49 cyphase_eviltwin left, mcmillhj joined, cyphase joined
IOninja .tell gfldex Never mind. Found and fixed the issue in github.com/perl6/perl6-pod-to-bigp...ca5ffcfee9 (P.S.: I didn't mean you were an idiot for using XHTML in my previous msg; but I'd still recommend using HTML5 doctype in Pod2BigPage) 12:56
yoleaux IOninja: I'll pass your message to gfldex.
13:02 ggoebel joined
[Coke] yawns. 13:06
hord is there an easy way to see if a module is loaded? like checking %INC in p5?
IOninja hord: you can use if ::('Module::Name') ~~ Failure { say "not loaded" } 90% of the time 13:07
hord: the place where it won't work is if someone did `require Module::Name` earlier. ^ that won't be a failure, even if the module failed to load
13:08 abraxxa joined
hord yeah, i'm doing require 13:08
IOninja hord: and I guess the proper-proper way would be to use the CompUnit API
hord: oh, you're just optionally loading something?
hord: here's info on how to optionally load stuff: rakudo.org/2017/03/18/lexical-requi...rade-info/ 13:09
hord yes. i need to optionally load a module and then check to see if it's loaded later when creating a closure.
13:09 Actualeyes left
IOninja try require ::('Foo'); … if ::('Foo') !~~ Failure { say "module is loaded" } 13:09
note that that's lexically scoped. 13:10
13:10 eroux joined, kurahaupo__ joined 13:11 robertle joined 13:13 Sound joined, Sound_ joined, Sound is now known as Guest37422
IOninja timotimo: jnthn the very last example in this doc looks like kinda iffy. Is it sane to use state/runtime require with subsets? docs.perl6.org/language/typesystem#subset 13:13
timotimo if it is, it's only in a non-multithreaded program 13:14
the state there is just to cache it so it won't have to do the lookup later i guess? 13:15
hord wow, i forgot i actually have booleans now
IOninja :)
hord this is working: my $mob = %wurm<mob> // ::('Wvrm::mob') !~~ Failure; 13:16
IOninja uuhh
13:16 Sound_ left
IOninja Well, it looks really weird :) Are you sure it's working? 13:16
$mob is just an indicator that the stuff got loaded? 13:17
hord not really
it's an indicator from the caller that a particular semantics are to be used
13:17 Sound_ joined
hord it assumes the module was loaded earlier and would actually be used to turn off default behavior 13:17
IOninja Ah
hord but now my closure isn't working so onward! 13:18
ugexe CUR has a .loaded method that lists what it has loaded
13:19 Sound_ is now known as Sound__
ugexe but youll have to iterate a list two or so levels deep 13:19
$*REPOs.repo-chain.map(*.loaded) or some such
13:19 eroux left
Geth doc: 86b4228999 | (Zoffix Znet)++ | doc/Language/modules.pod6
Update `require` section

  - require is now lexical, so toss the routine-loaded module examples
  - Make it clear require is lexical, including the symbol that's been required
  - Include examples of correct checking for whether a module got loaded
13:30
13:31 mcmillhj left 13:32 Actualeyes joined 13:33 mcmillhj joined 13:34 itaipu joined
IOninja .ask jnthn would you check the very last example on this page? docs.perl6.org/language/typesystem#subset I vaguelly recall you saying subsets can be evaluated at compile time, so if relying on runtime stuff all bets are off: docs.perl6.org/language/typesystem#subset 13:35
yoleaux IOninja: I'll pass your message to jnthn.
SmokeMachine IOninja: do you think "Fix #131009\ntriangle reduce with listinfix wasn't working" is a good enough commit msg?
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=131009
IOninja SmokeMachine: it's terrible 13:36
13:36 tojo left
SmokeMachine :( 13:36
Im not good at that...
IOninja SmokeMachine: here: perl6.fail/release/stats click on "Commits" tab. Imagine you're filling out the ChangeLog. You need to tell the users of Rakudo what changed. Then go through the list and write down the changes. You'll learn quick which commits suck :) 13:38
*commit messages
ugexe timotimo: zef doesn't know what protocols its fetching backends support - it just asks any backends you list in your config "do you understand this string?". Otherwise it was hard to support syntax like `zef -v install github:ugexe:zef:0.1.5` (the urn-like format, briefly mentioned in s22) and handle C:/
timotimo ah
ugexe re why it can't guess the error at protocol level
timotimo makes sense
each fetching backend needs to get levenshtein implemented for it :P 13:39
13:39 aborazmeh joined, aborazmeh left, aborazmeh joined
IOninja SmokeMachine: first, don't put the ticket in the title. Some stuff only shows the title (e.g. github.com/rakudo/rakudo/commits/nom ), so just the ticket number doesn't say what changed. As for the message itself, well, most of the stuff is fixing something that wasn't working. What does "wasn't working" mean? 13:40
SmokeMachine: I also like to write down what was broken and how I fixed it, so that 3 years from now people don't look at the commit wondering if some line change or changed behaviour was intentional or not. 13:41
13:42 eroux joined 13:43 kurahaupo__ left 13:44 Cabanossi left
SmokeMachine IOninja: "Fix triangle reduction with listinfix ops\nThe triangle reduction was appending the data inside of a array and applying the op on that. It was changed to push the data and apply the op on that array with each item deconted" better? 13:45
IOninja SmokeMachine: yeah, that's great. And mention the ticket number at the end
SmokeMachine IOninja: ok! thanks!
13:46 mcsnolte joined 13:47 Cabanossi joined
SmokeMachine IOninja: github.com/FCO/rakudo/commit/16f95...ef0ca5dfc9 13:48
IOninja Great. 13:49
IOninja &
hord How would I construct a class so that it acts like a class and a hash?
e.g. $foo<bar> ~ $foo.bar() 13:50
timotimo implement the Associative role i guess?
raschipi hord: It needs to implement the assossiative role 13:51
ugexe timotimo: searching meta data is centralized in another backend. but for levenshtein on the uri... doesnt perl6 have a built in exposed still? StrDistance or something...
timotimo that's something different 13:52
that's what we use to provide the integer return value to tr///
13:54 skids joined
hord unit class Wvrm::mob does Associative; # do i need something more here? i keep getting "Associative indexing implementation missing from type Wvrm::mob" 13:55
ilmari hord: you need to implement the methods required by Associative 13:56
hord where is this documented? i come with nothing on google.
IOninja hord: docs.perl6.org/language/subscripts 13:57
timotimo: StrDistance was levenshtein distance last I looked :/
timotimo oh?
ilmari hord: specifically docs.perl6.org/language/subscripts...bscripting
IOninja timotimo: oh, looking at source now, maybe I just *assumed* it was
timotimo you're right 13:58
which one was the tr-related one :\
huh, it is both 13:59
[Coke] m: unit class Wvrm::mob does Associative; # works here
camelia ( no output )
IOninja timotimo: it does use StrDistance, looks like: github.com/rakudo/rakudo/blob/nom/....nqp#L7866
hord would it be easier to add methods to a Hash? 14:00
timotimo it's very easy to apply a role to a hash object if you mean that
hord this looks like a nightmare to delegate to attributes
timotimo do you know about "handles"?
hord i want a hash object that acts like objects just like in perl 5
so i can use it as a hash or call methods on it 14:01
timotimo but you can already call methods on a hash
hord so do i need to sub-class Hash to make another object?
IOninja hord: you can give it a go.
timotimo do you want a method ".foo()" to grab the "foo" key out of the hash?
hord i have an API that can use either objects or hashes (perl 5)
i'm converting it to perl 6 so i need to retain that behavior
IOninja Heh 14:02
timotimo i'm not sure what "can use" means in this context
do you need an object that does both, or can you just differentiate on whether it's a hash or an object?
hord in perl 5 i just get a variable (scalar)
IOninja It's a differnt beast in perl 5, since objects use hash (or other type) as underlying structure :)
hord i don't want to have to differentiate
in one context i want to ALWAYS assume it is a hash 14:03
IOninja hord: don't you have to implement like 3 methods for it to work just fine with Associative role?
hord yes, but i have to delegate to the attributes which doesn't seem nice
IOninja hord: well, sounds like subclassing Hash or mixing in a role into it makes the most sense.
hord at least as how i understand it
14:03 aborazmeh left
IOninja isn't sure what delegation there is to do 14:04
timotimo docs.perl6.org/language/typesystem...it-handles
did we implement "handles Role" yet?
IOninja m: dd Hash ~~ Iterable 14:05
camelia Bool::True
IOninja m: say class :: does Associative {} ~~ Iterable
camelia False
IOninja You'd need more than just Associative to emulate a hash, so subclassing/mixinging roles makes sense
hord: IIRC we didn't yet sort out the whole subclassing business for userspace, so you may need to implement your own `new` if you're adding attributes 14:07
hord i think i'm thinking inside out
what i'm doing is weird because it's a direct port of perl 5
IOninja m: class BetterHash is Hash { has $.food = 'Tuna'; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b"; dd $h<a>; dd $h; dd $h.food 14:08
camelia Str <element> = "b"
BetterHash $h = ${:a("b")}
Any
IOninja Yeah, didn't init it 14:09
14:09 itaipu left, bjz_ left
IOninja m: class BetterHash is Hash { has $.food = 'Tuna'; method new { self.Mu::new: |%_ }; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b"; dd $h<a>; dd $h; dd $h.food 14:09
camelia Too many positionals passed; expected 1 argument but got 2
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
hord well now i get a different error. progress?
IOninja eh, right 14:10
skids yawns and tries to get some motivation up for $DAYJOB 14:11
14:11 cdg joined
skids gist.github.com/skids/18fa6fb1de77...6e82e9fcc2 # needs a lot of review. 14:11
IOninja m: class BetterHash is Hash { has $.food; submethod TWEAK (:$!food = 'Tuna'){}; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b"; dd $h<a>; dd $h; dd $h.food 14:12
camelia Str <element> = "b"
BetterHash $h = ${:a("b")}
Any
IOninja crap right
14:12 bjz joined 14:14 Cabanossi left 14:16 itaipu joined 14:17 Cabanossi joined
IOninja m: class { method x (|) { |%_ } }.x 14:17
camelia Type check failed in binding to 'x'; expected Any but got Mu (Mu)
in method x at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja lol?
14:18 Khisanth left
IOninja m: class BetterHash is Hash { has $.food; method new (|c) { self.bless(|%_).STORE(|c); }; submethod TWEAK (:$!food = 'Tuna'){}; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b"; dd $h<a>; dd $h; dd $h.food 14:18
camelia Cannot call method 'FLATTENABLE_LIST' on a null object
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja same cause, I believe
m: class { method x (*%_, |c) { |%_ } }.x
camelia ( no output )
IOninja m: class BetterHash is Hash { has $.food; method new (*%_, |c) { self.bless(|%_).STORE(|%_, |c); }; submethod TWEAK (:$!food = 'Tuna'){}; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b"; dd $h<a>; dd $h; dd $h.food 14:19
camelia Str <element> = "b"
BetterHash $h = ${:a("b")}
"Tuna"
IOninja Yey \o/
m: class BetterHash is Hash { has $.food; method new (*%_, |c) { self.bless(|%_).STORE(|%_, |c); }; submethod TWEAK (:$!food = 'Tuna'){}; method meows { "Ketteh {"♥" x self.keys} $!food" } }; my $h = BetterHash.new: "a" => "b", food => 'Whitefish'; dd $h<a>; dd $h; dd $h.food 14:20
camelia Str <element> = "b"
BetterHash $h = ${:a("b")}
"Whitefish"
IOninja hord: well, something like that perhaps will work. You don't need the `method new` stuff unless you need to set public attributes
14:20 sukrishn left
hord let me try it. i think i may need the new() stuff. i can make objects but they are empty right now. 14:22
raschipi There's no lists of lists anymore 14:25
IOninja What are you talking about?
skids: man, I hate "face" even more than "interface". Reminds me of Sleeping Dogs game. 14:28
skids Yeah, well, bikeshedding welcome... it's more or less a s/// to change it.
14:28 cdg left
IOninja m: role A { method x {say "B"} }; role B { method x {say "B"} }; class :: does A does B { }.x.say 14:29
camelia 5===SORRY!5=== Error while compiling <tmp>
Method 'x' must be resolved by class <anon|57747248> because it exists in multiple roles (B, A)
at <tmp>:1
IOninja skids: what's the ticket to Ovid's stuff? I only recall the one about multi candidates
14:29 cdg joined
skids Yeah I think he was laboring under some confusion about that part. Hold on. 14:29
14:31 Khisanth joined
skids justrakudoit.wordpress.com/2015/03...heritance/ is colomon's part and links back to IRC. 14:32
github.com/perl6/specs/issues/80 Ovid's issue. 14:33
14:34 Sound__ is now known as Sound
IOninja "To my mind they are completely different things, and if someone re-orders role “inheritance” without considering the consequences, they deserve what they get." 14:34
IOninja nods in agreement to that statemnt
skids Well, in this solution, they only "deserve what they get" if they do it despite seeing an "is face". 14:35
The root of the problem is the method overrides, not really the ordering.
IOninja Well, I know nothing about this stuff, so ignore my comments :) 14:37
skids Heh. I'm grateful for any attention even from you :-)
14:39 obfusk_ left, obfusk joined 14:42 itaipu left
jnthn fwiw, I think we'd speculated a "claim" scope declarator rather than a trait in the past 14:43
yoleaux 13:35Z <IOninja> jnthn: would you check the very last example on this page? docs.perl6.org/language/typesystem#subset I vaguelly recall you saying subsets can be evaluated at compile time, so if relying on runtime stuff all bets are off: docs.perl6.org/language/typesystem#subset
jnthn I think I even had a branch where I played with that a bit, but if it still exists it'll be ancient by now
14:44 sena_kun joined
jnthn Yes, it's still here, as claim-prototype 14:44
IOninja `claim method foo` does sound much nicer than `method foo is face` 14:46
jnthn I think TimToady++ came up with the name :)
skids That was to be applied in a different place and with a different sense. And it was pointed out that it only "kicked the can down the road" 14:47
This attribute is applied where someone might try to modify code and expect that modifcatio to promulgate, and is there when it won't necessarily promulgate, as a warning.
jnthn IOninja: I don't think we can just blindly go checking any subset at compile time; I suspect only those that we can infer as being pure would be candidates 14:48
skids (regardless of the name)
IOninja jnthn: thanks.
jnthn However, that use of state is dodgy there
If you try to use the subset type from multiple threads you could get surpious failures
14:49 itaipu joined
jnthn So it's risky and clouds the example with a premature optimization 14:49
So I'd get rid of that
just where ::('...')
hord $self.STORE(env => $meal<env>); # too few positionals? expected 2 but got 1?
14:49 bjz left
hord that doesn't even make any sense to me 14:49
Geth doc: 59f692564b | (Zoffix Znet)++ | doc/Language/typesystem.pod6
Toss risky `state`

  irclog.perlgeek.de/perl6/2017-03-21#i_14300672
jnthn hord: The invocant ($self) is the first parameter 14:50
IOninja hord: that probably expects a Pair? Try $self.STORE("env" => $meal<env>)
hord jnthn: then it should have received 3
IOninja hord: only in Perl 5. 14:51
hord: you're sending it a named argument `env`. So it complains it's missing a positional
hord so what does => do now?
IOninja Whereas if you quote the key, as "env" => $meal<env>, you're sending it 1 positional argument: a Pair
hord since it apparently doesn't auto-quote
14:52 sukrishn joined
IOninja hord: it does, if you use it with Hashes or Maps. But in arguments list, an unquoted ones are passed as named arguments 14:52
hord: docs.perl6.org/language/traps#Named_Parameters 14:53
hord there's way too much to learn to do simple ports
IOninja buggable: eco Inline::Perl5 14:54
buggable IOninja, Inline::Perl5 'Use Perl 5 code in a Perl 6 program': github.com/niner/Inline-Perl5
IOninja hord: ^ there's always that
hord: my personal opinion is making a naive "port" will produce garbage. Because languages are so different.
hord a naive port of easy software also exposes a lot of weaknesses 14:55
IOninja You're basically porting a Hash with a few hacks to make it work like a class to a proper OOP system
hord: not really, you're just trying to use a different language under the paradigms of Perl 5. Hardly something I'd call a weakness. 14:56
14:56 sukrishn left
IOninja m: say so "0" 14:56
camelia True
IOninja ^ that statement is all I need to show just how different the languages are.
Thinking you can just tweak a few sigils and get working code is a bit delusional. 14:57
hord IOninja: that's not what i think
IOninja (and there are "converters" that try to do just that and they suck)
hord: OK :)
hord but perl 6 has become quite the stranger to perl 5 that it once was
IOninja hord: most definitely. It's closer to Ruby than to Perl 5
hord so i guess for this sub-class i have both attributes and keys... but i want them to be the same 15:00
that's what i don't get
skids jnthn: anyway, inverting the sense would not be hard and then "claim" would instead mean "I don't want this method overridden by my users" rather than "This is my eggo now." I don't know if "claim role A" works as well as the method variety, though. 15:01
15:02 itaipu left
IOninja hord: right, and in Perl 5 that class is just a blessed hash innit? And you can't have attributes that AREN'T keys (without some sort of clever hack), etc. In Perl 6 you can. 15:02
skids That would require less people to mod code, but more building awareness/expectations for role users that want purity, telling them they have to use "claim" to get purity warnings. 15:03
hord IOninja: perl 5 doesn't have "attributes" so you can do whatever you want
IOninja hord: so maybe it'd make sense for you to not have attributes, but to just use the keys as if they were attributes?
hord personally i'm tired of "attributes"
IOninja So don't use 'em :)
hord i just want data slots with some code around them
DrForr You can bless things that aren't hash references, at least in perl 5.
hord yeah, i think i just want methods 15:04
IOninja DrForr: I know that, but I'm talking specifically about hord's class
DrForr Ah.
hord wiring this stuff up just doesn't have the same feel to it
15:05 zakharyas left
IOninja m: class BetterHash is Hash { method FALLBACK ($name, |) { self.{$name} }; method meows { "Ketteh {"♥" x self.keys} {self.food}" } }; my $h = BetterHash.new: "a" => "b", "food" => 'Whitefish'; dd $h<a>; dd $h; dd $h.food 15:05
camelia Str <element> = "b"
BetterHash $h = ${:a("b"), :food("Whitefish")}
"Whitefish"
El_Che Looking at atom at work for perl 6: I see 3 perl6 packages. language-perl6 (by samcv iirc), language-perl6fe (by madcapjake) and atom-perl6-editor-tools (by azawawi). Do we know if one of those is obsolete of incompatible with the rest?
(with docs for new users in mind) 15:06
IOninja El_Che: language-perl6fe is
language-perl6 is its replacement
huggable: atom ide
huggable IOninja, github.com/perl6/Atom-as-a-Perl6-IDE
El_Che that's what I though
jnthn skids: Yeah, I need to read what you wrote more carefully and think about it some more, but I'm tied up with $other-job stuff today
El_Che is the fe version abandoned? and if so, can we remove it from atom
most people will install it because it has more installs (chicken-egg) 15:07
hord what is ($name, |) ? the , | confuses.
skids jnthn: thanks, same here, really should be focusing on 'teh jawb'
IOninja El_Che: it is in my opinion. language-perl6 is a hostile fork of it, because author was unresponsive... language-perl6
lizmat it captures whatever extra parameters you sent
IOninja hord: a Capture 15:08
huggable: Capture
huggable IOninja, Argument list suitable for passing to a Signature: docs.perl6.org/type/Capture
IOninja hord: in this case, it's anonymous and makes the method ignore all the extra args.
lizmat what IOninja said :-)
El_Che and looking at the doc, is atom.io/packages/atom-perl6-editor-tools the only prviding sytnax check 15:10
I'll enable language-perl and editor tools to see if they work together
15:10 gdonald left
IOninja El_Che: more detailed expl: github.com/github/linguist/pull/33...-267050328 15:10
15:11 gdonald joined
El_Che IOninja: thx 15:11
hord is FALLBACK special? it doesn't seem to be getting called.
wait... i'm dumb 15:12
IOninja hord: it's like Perl 5's AUTOLOAD (or whatever it was): docs.perl6.org/language/typesystem...8method%29
hord it helps if you remove the attributes with the same names. DUH.
IOninja heh
hord ok... this thing actually works now
but i'm still confused about bless() 15:13
15:13 wamba joined
hord method new(Hash $meal={}) { my $self = self.bless(); ... } 15:13
El_Che IOninja: you're a man of keeping details. Good summary of the events
IOninja hord: method new(Hash $meal={}) { my $self = self.bless(|$meal); ... }
hord how can i just pass $meal to bless() and have $self copy all the attributes or just bless the hash
|$meal explodes the hash container? 15:14
IOninja hord: I thought you didn't want any attributes?
hord: it slips the keys/values into bless; keys are names of attributes and values are their values
15:14 itaipu joined, cdg_ joined
hord not attributes... keys 15:14
see... i don't think about attributes.. they are just data buckets to me
probably too much javascript 15:15
IOninja hord: well, then you don't really need method new() at all, eh? The default Hash's one does just fine doesn't it?
hord honestly, that's what i want... javascript with perl 5 syntax
IOninja heh
hord IOninja: i'm actually adding a couple of things so having new is required.
IOninja hord: adding things like what? 15:16
hord a few more keys to the hash
IOninja You don't need new for that
1 sec
m: class BH is Hash {}; dd BH.new: "a" => "b", :42c;
camelia {:a("b")}
IOninja Well, maybe you do, if you don't want ^ that to happen.
SmokeMachine whats the op ^^? 15:17
15:17 cdg left
hord here's what i'm doing... this is a plack framework. i want requests to either be objects or hashes based on performance constraints. 15:17
IOninja m: class BH is Hash { method new (*@_, *%_) { nextwith |@_, |%_.pairs } }; dd BH.new: "a" => "b", :42c; 15:18
camelia {:a("b"), :c(42)}
hord so if you decide you want objects, more classes are loaded and each request is wrapped in an object with even more objects embedded inside.
so that's why i want this hash/obj thing
IOninja m: class BH is Hash { method new (*@_, *%_) { nextwith |@_, |%_.pairs }; submethod TWEAK { self.<MEOWS!> = "♥" } }; dd BH.new: "a" => "b", :42c;
camelia {:a("b"), :c(42)}
IOninja really?
Oh right the Hash.new messes with build bleh
15:18 curan left 15:19 cdg_ left
IOninja m: class BH is Hash { method new (*@_, *%_) { my \self = callwith |@_, |%_.pairs; self.<MEOWS!> = "♥"; self } }; dd BH.new: "a" => "b", :42c; 15:19
camelia ===SORRY!===
Lexical 'self' already declared
IOninja m: class BH is Hash { method new (*@_, *%_) { my \SELF = callwith |@_, |%_.pairs; SELF.<MEOWS!> = "♥"; SELF } }; dd BH.new: "a" => "b", :42c;
camelia {"MEOWS!" => "♥", :a("b"), :c(42)}
IOninja hord: like that?
hord: normally you don't need your own method new to do some initializtion. There's submethod TWEAK you could use (like my first example above). But the reason it didn't work here is because Hash.new is a bit antisocial ATM and doesn't go through the full build sequence. 15:20
IOninja & 15:21
jnthn hord: I'm not sure which you're assuming is cheaper: hashes or objects?
hord jnthn: in perl 5, hashes.
i don't actually care about perl 6, yet 15:22
jnthn OK. In Perl 6, objects.
hord this is a direct port to learn
then i will optimize to learn the perl 6 way
i know i am making this harder on myself. that's the point.
if i wanted easy, i'd already be done :)
jnthn :-)
Yeah, Perl 6 just considers hashes and objects as very different things 15:23
hord yeah. very, very different.
jnthn Both at a language level and an implementation level
hord i guess i should have expected that
15:29 MilkmanDan joined, st_elmo joined, domidumont left, alimon joined
SmokeMachine m: my &op = &infix:<X>; say [\&op](<1 2 3>, <10 11 12>) 15:38
camelia Potential difficulties:
To pass an array, hash or sub to a function in Perl 6, just pass it as is.
For other uses of Perl 5's ref operator consider binding with ::= instead.
Parenthesize as \(...) if you intended a capture of a single v…
SmokeMachine m: my &op = &infix:<X>; say [\ &op](<1 2 3>, <10 11 12>)
camelia Invocant requires a type object of type List, but an object instance was passed. Did you forget a 'multi'?
in block <unit> at <tmp> line 1
SmokeMachine ??? 15:39
m: my &op = &infix:<X>; say [\\&op](<1 2 3>, <10 11 12>)
camelia Potential difficulties:
To pass an array, hash or sub to a function in Perl 6, just pass it as is.
For other uses of Perl 5's ref operator consider binding with ::= instead.
Parenthesize as \(...) if you intended a capture of a single v…
jnthn I think it needs to be [\[&op]]
To be recognized as a reduce meta-op
SmokeMachine m: my &op = &infix:<X>; say [\[&op]](<1 2 3>, <10 11 12>) 15:40
camelia ((1 2 3) ((1 10) (1 11) (1 12) (2 10) (2 11) (2 12) (3 10) (3 11) (3 12)))
SmokeMachine jnthn: thanks!
15:43 lukaramu joined 15:45 captain-adequate joined 15:46 TheovdH joined 15:49 itaipu left 15:52 sufrostico left, sufrosti1o left 15:53 sufrosti2o left
IOninja eyes IO::CatPath/::CatHandle with skepticism 15:54
lizmat IOninja: conceptually, or implementationally ? 15:55
IOninja If it weren't for IO::ArgFiles, I'd definitely say module space... but then, if we're doing IO::ArgFiles thing, may as well generalize it?
lizmat: conceptually.
lizmat that was my idea, yes
because you don't really want people to be messing with @*ARGS just to get the functionality 15:56
IOninja OK. Makes sense.
TheovdH Hi, when debugging I get "Unhandled exception: ctxlexpad needs an MVMContext". Rak 2017.1 on Ubuntu. Suggestions? 15:57
IOninja I guess what turns me off is all these "not-here" methods and basically all write methods that we can't really do anything sane for: github.com/rakudo/rakudo/commit/a2...4aa83dL154
So it's not really `is IO::Handle` but different enough to not be. 15:58
lizmat unless we abstract stuff from IO::Handle into a role as well
IOninja Alright.
lizmat fwiw, IO::Handle.open is a major performance bottleneck for scripts handling many files 15:59
IOninja TheovdH: under normal circumstances you should never see an error like that, so you're hitting a bug or have some really weird code. Do you have some sample of code you could pastebin for us to test?
SmokeMachine m: say [\X]((1, 2, 3), (4, 5, 6), (7, 8, 9)) 16:00
camelia (((1 2 3)) ((1 2 3 4 5 6)) ((1 2 3 4 5 6 7 8 9)))
SmokeMachine m: say [\[&infix:<X>]]((1, 2, 3), (4, 5, 6), (7, 8, 9)) 16:01
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
SmokeMachine whats the difference?
m: say [\X]((1, 2, 3), (4, 5, 6), (7, 8, 9)).map(*.cache).tail
camelia ((1 2 3 4 5 6 7 8 9))
SmokeMachine m: say [\X]((1, 2, 3), (4, 5, 6), (7, 8, 9)).map(*.cache).tail.perl
camelia ((1, 2, 3, 4, 5, 6, 7, 8, 9),)
SmokeMachine m: say [\X]((1, 2, 3), (4, 5, 6), (7, 8, 9)).tail.perl 16:02
camelia Seq.new-consumed()
TheovdH IOninja. Its a lot of code. I do not see a simple way of slicing it up. I will look at pastebin. 16:03
SmokeMachine IOninja: i think Ill PR now and finish the tests later... is that ok?
IOninja SmokeMachine: I guess... but how do you know your thing is working if you ain't got tests? O:)
TheovdH: FWIW, you can run perl6 --ll-exception switch and it should output more info about where the error happens. 16:04
SmokeMachine IOninja: I have some tests, but the tests Id like...
IOninja (unless it *does* include the file/line number)
16:07 zakharyas joined
m44st4 Hi ! 16:10
IOninja Ahoy, mst!
mst's uncle :)
m44st4 Quick question, to xor two buffers, should i use ~^ ?
IOninja Probably +^, since ~ is string xor, innit? 16:11
~^
by "buffers" you mean Buf's ?
m44st4 yep
hord are sub{}s Callable?
IOninja hord: yes 16:12
m: say sub {} ~~ Callable
camelia True
TheovdH IOninja: Thanks, now I get new info: Strange text after block (missing semicolon or comma?)
at SETTING::src/core/Exception.pm:63 (/home/theo/rakudo-star-2017.01/install/share/perl6/runtime/CORE.setting.moarvm:throw)
IOninja TheovdH: what's the full output? The lines after the last one you pasted
hord sub protos save so much typing
IOninja hord: so don't type them...
hord: oh, never mind; misrtead 16:13
hord no, i really like them. perl 5 protos were garbage.
TheovdH IOninja: it goes on and on, but here are the following lines.
from src/Perl6/World.nqp:4065 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/World.moarvm:throw)
from src/Perl6/Grammar.nqp:247 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:typed_panic)
from src/Perl6/Grammar.nqp:1279 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:eat_terminator)
from src/Perl6/Grammar.nqp:1180 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:statementlist)
from gen/moar/perl6-debug.nqp:392 (/home/theo/rakudo-star-2017.01/install/share/perl6/runtime/perl6-debug.moarvm:)
from gen/moar/perl6-debug.nqp:390 (/home/theo/rakudo-star-2017.01/install/share/perl6/runtime/perl6-debug.moarvm:statementlist)
from src/Perl6/Grammar.nqp:1353 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:blockoid)
from gen/moar/perl6-debug.nqp:413 (/home/theo/rakudo-star-2017.01/install/share/perl6/runtime/perl6-debug.moarvm:blockoid)
from src/Perl6/Grammar.nqp:1316 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:pblock)
from src/Perl6/Grammar.nqp:1282 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:xblock)
from <unknown>:1 (/home/theo/rakudo-star-2017.01/install/share/nqp/lib/Perl6/Grammar.moarvm:statement_control:sym<given>)
IOninja Shiet
lizmat TheovdH: you probably want to put that in a gist :-)
hord multi methods mean i don't have to re-wrap scalars into hashes or arrays 16:14
IOninja TheovdH: in the future, please pastebin large amounts of stuff into a pastebin: gist.github.com/
TheovdH IOninja: lizmat: sorry about that.
16:15 Cabanossi left
IOninja TheovdH: so the `ctxlexpad needs an` error is gone? Or does it disappear only if you use --ll-exception? 16:15
m44st4 Ok so ~^ xoring is working
IOninja OK
m44st4 but +^ isn't 16:16
good to know
IOninja m44st4: yeah, I was wrong.
Bufs are Stringy and have ~ bitwise ops: github.com/rakudo/rakudo/blob/nom/...#L704-L787
16:16 wdna left
TheovdH IOninja: I'm not sure what you mean. It is not my code that gives this message. It is only if I use perl6-debug-m. 16:17
IOninja TheovdH: how can I reproduce this on my computer?
16:17 Cabanossi joined
TheovdH IOninja: I will try and pastebin my stuff. It is a lot and I have to embed some modules. Need some time for that. 16:18
IOninja OK, maybe someone else can help you out; as I'm leaving in a sec. FWIW, these are the only ctxlexpads in Rakudo's source, so your issue is something about module loading: gist.github.com/zoffixznet/7dfd75f...8d19f3b6a4 16:21
And perl6-debug-m is busted on HEAD: ./perl6-debug-m -e 'say "hi"'
Illegal option --nqp-lib
IOninja &
mst IOninja: awaylog spammer! 16:22
16:23 mcmillhj left 16:24 tokomer joined, mcmillhj joined
tokomer 16:24
16:25 sufrostico joined, sufrosti1o joined
IOninja mst: Twitter-relay spammer: i.imgur.com/j98Ad6a.png 16:27
It's not my fault your uncle visited our channel :P
^_^ 16:28
16:29 mcmillhj left
TheovdH IOninja: gist.github.com/anonymous/71b09284...a3842957b7 16:29
16:30 sufrosti2o joined
IOninja TheovdH: well, it dies, but with "No such method 'name' for invocant of type 'Str'" for me 16:34
16:35 domidumont joined 16:36 mcmillhj joined
TheovdH IOninja: yes. I know. My problem is not with this code, but with debugging it. I want to see what happened before it got there. 16:37
IOninja Ah
hm, my perl6-debug-m is busted: "Cannot find method 'setlang' on object of type Perl6::HookGrammar" 16:38
IOninja builds a 2017.01
Never used it, though. No idea what it does :) 16:39
TheovdH IOninja: I had that before. I was recommended to not install from rakudobrew :0)
IOninja heh
16:41 mcmillhj left, mcmillhj joined 16:44 cale2 joined
cale2 u: wave 16:44
unicodable6 cale2, U+219D RIGHTWARDS WAVE ARROW [So] (↝)
cale2, U+219C LEFTWARDS WAVE ARROW [So] (↜)
cale2, 36 characters in total: gist.github.com/ced13f8aa9980c79b1...7912ee2725
hord wow... i think most of my port is now done and it seems to actually work.
16:45 rindolf left 16:46 mcmillhj left
IOninja Hm. 16:47
16:48 rindolf joined
IOninja TheovdH: well, I've built 2017.01 rakudo and its perl6-debug-m is still busted with "Illegal option --nqp-lib" :/ wonder what Rakudo Star does to it that it actually works. 16:48
Oh fixed that, but now need Could not find Debugger::UI::CommandLine 16:49
So what does the debug do?
guess I can find out if I install that module eh :P 16:50
hord: what module are you porting?
lizmat grrr I hate it when stuff breaks when trying to move things to a role :-(
hord IOninja: it's my own Plack web framework that i wrote the other day
lizmat Type check failed in binding; expected NQPMu but got IterationBuffer # WTF ?
IOninja hord: ah 16:51
TheovdH: success. I managed to reproduce your issue on 2017.01 :) 16:53
IOninja tries HEAD
TheovdH IOninja: great. this "Unhandled exception: ctxlexpad needs an MVMContext" has reared its ugly head before.
hord has $.foo; # this gives me $obj.foo, but $.foo is immutable? 16:54
IOninja And HEAD gives me "Cannot find method 'setlang' on object of type Perl6::HookGrammar" ehehe
hord: from outside, yeah, immutable. You can still mutate it inside with $!foo = "meows" 16:55
[Coke] m: class hord {has $.foo}; my $a = hord.new; $a.foo = 3; say $a.foo
camelia Cannot modify an immutable Any
in block <unit> at <tmp> line 1
[Coke] That did not do what I meant. oops. 16:56
IOninja Note that it's just an immmutable container; it doesn't magically make the stuff it contains immutable
16:56 robertle left
IOninja m: class hord {has $.foo = [<a b c>]}; my $a = hord.new; $a.foo[1] = 3; say $a.foo 16:57
camelia [a 3 c]
IOninja Wow perl6-debug-m is cool!
I had no idea we had this 16:58
jnthn o.O :)
16:58 abraxxa left, mcmillhj joined
jnthn The setlang thingy sounds like a regression during the slang work 16:58
16:58 cale2 left
IOninja Yeah, and the fix should be fairly simple. 16:58
hord hrm... that means i would have to mutate someone else's class... 16:59
jnthn hord: I don't think anybody pointed it out yet: `has $.foo is rw` creates an l-value accessor
hord Crust::Response isn't like Plack::Response in that respect, i guess
jnthn IOninja: ah, nice :)
hord jnthn: yeah, those aren't on the attributes and this is someone else's class 17:00
i will have to find another solution
IOninja Well, I only think it is :) I don't know what it is. I guess I can grep the logs and find out....
[Coke] hord: you shouldn't be mucking in the other classes internals. 17:01
jnthn Ah, OK
:)
hord [Coke]: it's probably something that I should send a patch for. Crust::Response doesn't seem to be useful unless you can mutate it. 17:02
and for now it seems you can only set attributes at .new() time
IOninja TheovdH: FWIW, your issue points to this line: github.com/jnthn/rakudo-debugger/b...ne.pm#L736
IOninja debugs it some more
[Coke] hord: sounds good!
IOninja m: class Foo { has $.a = 42; has $.b = 72 }; dd Foo.new: |.Capture, :90b with Foo.new 17:04
camelia Foo.new(a => 42, b => 90)
IOninja hord: FWIW something like ^ that can be done to create a new class while modifying its attributes; doesn't keep the state of private stuff tho
I mean... create a new object and fill it up with values of another object's public attreibutes 17:05
hord IOninja: i'll be honest, that's too confusing
i don't have a clue what |., Capture or :90b are supposed to mean
even if i can see what they do
IOninja m: class Foo { has $.a = 42; has $.b = 72 }; my $old = Foo.new; my $new = Foo.new: |$old.Capture, b => 90; dd $new 17:06
camelia Foo $new = Foo.new(a => 42, b => 90)
IOninja How about now?
The | is just a Slip
huggable: Slip
huggable IOninja, A kind of List that automatically flattens into an outer container: docs.perl6.org/type/Slip
hord it's too much syntax to take in
IOninja OK :)
And :90b is just another way to write b => 90
huggable: colonpairs
huggable IOninja, All the shortcuts of colonpairs: twitter.com/zoffix/status/839807414211854337
hord what i need is a perl 6 => perl 5 idiom sheet 17:07
when i can see equivalent p5 code, i just know what it does
IOninja Not aware of that...
perigrin the truely fun stuff doesn't have an equivalent in p5
afaict
IOninja hord: There's 4 5-to-6 tutorials, but they're not really about whole idioms: docs.perl6.org/language.html
hord the guides i've seen are either confusing or too light (this was a while ago) 17:08
that's why i felt like just writing a bunch of code was the way to go
IOninja It probably is :)
hord but i can only take so much syntax in a day... and perl 6 adds an absolute TON
TheovdH IOninja: thanks. Looking at the debugger code I still cannot guess how to move forward. 17:09
17:09 vike left, kyan left
IOninja hord: FWIW, there's a lot of consistency in syntax, so there's not SO much to take in. The biggest thing to grasp I think is the lack of automatic list flattening in Perl 6. 17:10
TheovdH: well, are you trying to find the problem in your code or to fix the debugger? :)
hord IOninja: it's more that I have 20+ years of perl 5 along with C, JavaScript and many other things
IOninja: the syntax is easy, but i have to put it into context with every other thing i've learned 17:11
i'm poly-paradigm, poly-glot
IOninja TheovdH: the reason I ask is... trying to debug the debugger on 2017.01 may be wasted effort. My plan for that would be to de-bitrot it on HEAD and keep the snippet you gave me to see if it's still has that issue and then debug that. 17:13
TheovdH IOninja: OK. I am fine with that. 17:14
17:14 koki1 joined
dwarring hord: there's an old advent post that covers some Perl 5 -> 6 idoms 17:15
perl6advent.wordpress.com/2011/12/...ic-perl-6/
that's all I can think of
IOninja 2011... I wonder how much of that Perl 6 is no longer valid.
17:15 Cabanossi left
hord dwarring: i was thinking something more along the lines of new concepts/syntax in Perl 6 being re-vamped in other languages 17:16
dwarring yeah probably too old
hord from the top-down rather than the bottom up
show why things are different and how
17:17 Cabanossi joined
IOninja TheovdH: next best thing: use trace; 17:20
TheovdH: prints out the lines as they're executed. 17:21
TheovdH: and I added the debugger's bug to my TODO list; unless I forget, should be fixed in 2017.04 Rakudo Star.
IOninja &
jnthn bbl 17:22
TheovdH IOninja: great and great. I was not aware of trace. It is going to help. Looking forward to 2017.04! 17:23
17:30 jast left
TheovdH IOninja: btw I will let you know if I find a simpler stretch of code that has the same effect on the debugger 17:30
17:30 jast joined
El_Che IOninja: you sneaky b*tard, releasing a new rakudo. Building pkgs now. 17:30
hord can i create a class that is private to another class? e.g. Foo::bar objects can only be created by Foo?
17:32 grondilu_ joined
[Coke] define the second class inside the first. 17:32
hord unit class Foo; ... class Foo::bar; #? that's what i'm trying.
[Coke] m: class A { class B {} ; method frob { return B.new } } ; A.frob.WHAT.say; 17:33
camelia (B)
[Coke] m: class A { class B {} ; method frob { return B.new } } ; A.frob.WHAT.say; B.new.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
B used at line 1
hord namespacing is going to kill me in p6, too 17:34
17:34 grondilu left
[Coke] (you could go so far as to define B inside the frob method there, if that's how restricted you needed it 17:35
El_Che I need a new laptop. Travis finished faster than my local build
hord [Coke]: yes... yes that might actually be what i need. 17:36
i mean it's kind of disgusting to have a type that is only defined in the scope of a single sub
but i like it. i like it a lot.
[Coke] hord: we do it in core, even: github.com/rakudo/rakudo/blob/3fb0...ine.pm#L63 17:37
hord yep, that's basically what i need
this means you can now create actionable message types 17:38
i can pass you a data structure and you give me an empire built from it
disgusting
17:40 japhb_ left 17:41 japhb joined 17:44 sufrosti1o left, sufrostico left 17:45 sufrosti2o left 17:48 zakharyas left, wamba left 17:51 girafe joined 17:52 kurahaupo__ joined 17:53 sufrostico joined, sufrosti1o joined, sufrosti2o joined 17:54 domidumont left
lizmat :-) 17:58
lizmat wonders what hord would think of class :: does Iterator { ... }.new(...) :-)
TimToady or anon class Sekrit does Iterator { ... }.new(...) :-) 18:04
lizmat m: class A { method a(--> self) {} }; dd A.a # sometimes I wish this would work 18:08
camelia 5===SORRY!5=== Error while compiling <tmp>
Type 'self' is not declared
at <tmp>:1
------> 3class A { method a(--> self7⏏5) {} }; dd A.a # sometimes I wish this w
18:08 wcumming- is now known as wcummings_`, wcummings_` is now known as wcummings
IOninja m: class A { method a(\z: --> z) {} }; 18:09
camelia ===SORRY!===
No compile-time value for z
IOninja booo 18:10
m: class A { method a(\z: --> ::?CLASS) {z} }.new.a.say 18:11
camelia A.new
TimToady --> is in the category of --> $result
which is NYI
er, --> self is in...
IOninja El_Che: not sneaky. It's third Saturday of the month, every month. 18:12
El_Che: also:
NeuralAnomaly: status
NeuralAnomaly IOninja, [✘] Next release will be in 3 weeks and 3 days. Since last release, there are 5 new still-open tickets (5 unreviewed and 0 blockers) and 17 unreviewed commits. See perl6.fail/release/stats for details
TimToady is anyone else not seeing the latest P6W in their pl6anet feed? 18:16
IOninja TimToady: everyone. Something's broken with pl6anet
m: class { method x { anon class Sekrit { constant x = anon role AlsoSekrit { method z { Sekrit.new but AlsoSekrit } }; also does x } } {} } }.new.x.z
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared names:
AlsoSekrit used at line 1
Sekrit used at line 1
IOninja booo
18:17 dakkar left
IOninja m: class { method x { class Sekrit { constant x = role AlsoSekrit { method z { Sekrit.new but AlsoSekrit } }; also does x } } }.new.x.z.say 18:17
camelia <anon|50635344>::Sekrit+{<anon|50635344>::Sekrit::AlsoSekrit}.new
IOninja \o/ 18:18
TimToady 'also' is one of those things you almost never want, but when you want it, you want it very, very much :) 18:19
IOninja El_Che: also, release happens in full view of the public #perl6-dev :) irclog.perlgeek.de/perl6-dev/2017-...i_14286273
18:19 zakharyas joined
SmokeMachine I am sorry, but I have to comment: had anyone noticed the charles chaplin made by lobster's and sorear's avatars on the rakudo's organization's page? github.com/rakudo 18:19
ilmari SmokeMachine: neat 18:20
IOninja doesn't see it 18:21
I don't even see no sorear
hobbs haha 18:22
IOninja: third column of light green geometric things
in the People box
TimToady my People box apparently has different geometry
timotimo it has 16 entries on my end, in a 5x3 + 1 lone picture arrangement 18:23
hobbs i.imgur.com/htNHxfk.png
IOninja i.imgur.com/dqyybwg.png
timotimo hey that's me in there \o/
IOninja Ah. I have special powers and see more people that's why
TimToady wonders what Rorshasch would make of your identification... 18:24
hobbs oh, I wonder if it's different if you're in the organization
IOninja SmokeMachine++ indeed it does look like it :)
TimToady ohh, pl6anet fixed, stmuk_++ 18:25
SmokeMachine :)
18:27 gdonald left
SmokeMachine lizmat: why do you think that should be 2 different Pos? 18:27
*PRs
18:28 domidumont joined 18:32 FROGGS joined 18:34 eroux left 18:35 eroux joined 18:36 ranguard left 18:37 ranguard joined
Geth ecosystem: 6137040c18 | (Zoffix Znet)++ | META.list
s/META.info/META6.json/ for P6-Data-Dump-Tree
18:37
modules.perl6.org: e06d6ab8a5 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm
Fix incorrect warnings for tags

Detects missing tags as "have but not an array" tags.
18:43
El_Che IOninja: I am #perl6 lurker, not a #perl6-dev l33t haxor 18:52
IOninja heh 18:53
raschipi m: say +$*THREAD 18:55
camelia 1
lizmat m: start { say $*THREAD } 18:56
camelia Thread #3
Geth modules.perl6.org: b6e5c60be4 | (Zoffix Znet)++ | templates/root/index.html.ep
Remove superfluous text
18:56 kurahaupo__ left
hord what keeps perl 6 from including '?' in identifiers? 18:56
18:57 kurahaupo__ joined
lizmat hord: there's actually a slang for that 18:57
hobbs just use "p" ;)
hord i've always liked ruby's .nil? and things like that.
lizmat hord: github.com/FROGGS/p6-Slang-Piersing
hord lizmat: nice! 18:58
raschipi If that gets popular, does it make into core?
SmokeMachine IOninja: the problem is: got: $(Seq.new-consumed(), Seq.new-consumed(), Seq.new-consumed())
lizmat raschipi: don't think so
it lives fine in module space :-) 18:59
IOninja Wonder if that module's been busted by the braid upgrade
SmokeMachine: kinda yeah, it's the problem with the output though; it can still test if they differ. 19:00
m: use Test; is-deeply [(1,).Seq], [(1,).Seq]
camelia ok 1 -
IOninja m: use Test; is-deeply [(1,).Seq], [(2,).Seq]
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: $[2]
# got: $[1]
IOninja m: use Test; is-deeply [(1,).Seq,], [(1,).Seq,]
camelia ok 1 -
IOninja m: use Test; is-deeply [(1,).Seq,], [(2,).Seq,] 19:01
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: $[Seq.new-consumed(),]
# got: $[Seq.new-consumed(),]
IOninja Right
SmokeMachine IOninja: ok, thanks!
IOninja SmokeMachine: ^ so if it's failing, that means the outputs don't match.
It just can't output them, because they've been consumed during comparison. 19:02
hord oh my. oh my my my.
SmokeMachine IOninja: ok, thanks!
(is there any way to tell travis: if is there a new version of rakudo, run my modules tests again?)
IOninja SmokeMachine: yes: docs.travis-ci.com/user/triggering-builds/ 19:03
hord so... you can modify the parser's grammar at run-time?
IOninja hord: yes
SmokeMachine IOninja: great! ill do that to my modules!!!
IOninja: thanks! 19:04
19:04 Tonik joined
IOninja m: sub infix:<♥> { $^a + $^b }; say 2 ♥ 2 19:04
camelia 4
19:04 sufrostico left
IOninja hord: that's ^ one way. And slangs is another. Slangs currently don't have an "official" API 19:04
huggable: slang
huggable IOninja, mouq.github.io/slangs.html
IOninja hord: ^ docs for them; though that might be outdated a bit due to recent braids upgrade (it would be just a couple of lines though, see the recent changes in Slang::Tuxic for a fix) 19:05
19:05 sufrosti2o left, sufrosti1o left
IOninja buggable: eco Slang::Tuxic 19:06
buggable IOninja, Slang::Tuxic 'allows to call subs as: foo (args)': github.com/FROGGS/p6-Slang-Tuxic
hord that's just wild
i'm trying to imagine how you accomplish that... i'm guess a mutable grammar tree.
IOninja hord: even without any changes, parsing is done with a braid of three languages: Main, Quote, and Regex
hord i don't think i've ever built a parser that stored the semantics as a tree 19:07
or whatever
yeah, i seem to recall reading about the multi-language ability with regards to regex
IOninja m: say "Oh {"my"}"
camelia Oh my
IOninja Note how the quotes don't interfere :) 19:08
(well, I guess you don't need braids for that, but still)
19:09 mcmillhj left, mr-foobar left, mr-foobar joined 19:10 darutoko left 19:11 mr-foobar left
El_Che New rakudo 2017.03 Linux pkgs: github.com/nxadm/rakudo-pkg/releas...ag/2017.03 19:12
IOninja \o/ 19:13
El_Che++
El_Che: do Centos .rpms work on all the other Linuxes that use .rpms?
hord i'm behind (2017.01)
SmokeMachine m: say [\X~](<a b c>) eqv ((("a",).Seq, ("ab",).Seq, ("abc",).Seq)).Seq # <- IOninja, is that good enough?
camelia True
El_Che I will try to squeeze a Debian release soon, because I saw some users here on the channel asking about it
19:14 FROGGS left
El_Che IOninja: they are built on CentOS7. It should (because everything is self-contained), but ymmv 19:14
IOninja m: use Test; is-deeply [\X~](<a b c>), ((("a",).Seq, ("ab",).Seq, ("abc",).Seq)).Seq
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in sub _is_deeply at /home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C…
El_Che thing will break e.g. if the OSes have incompalitble libc or something
IOninja m: use Test; is-deeply ([\X~](<a b c>)), ((("a",).Seq, ("ab",).Seq, ("abc",).Seq)).Seq 19:15
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in sub _is_deeply at /home/camelia/rakudo-m-inst-2/share/perl6/sources/C712FE6969F786C…
IOninja wonders wtf
El_Che I could add a Fedora build to cover most bases
IOninja SmokeMachine: yeah
SmokeMachine: though I don't get why is-deeply isn't happy with them :/
El_Che The whole idea of the docker build is that it's trivial to add a 64-bit linux OS
raschipi Speaking of debian, 2017-02 is just available from the repos, I'm upgrading now.
IOninja 2017.02? ancient! 19:16
El_Che (and possible to add a 32 if there is a base 32 bit systemn like the one Ubuntu has for the cloud)
IOninja :)
19:16 mcmillhj joined
SmokeMachine is-deeply really didn't like that... :( 19:16
IOninja m: use Test; cmp-ok [\X~](<a b c>), 'eqv', ((("a",).Seq, ("ab",).Seq, ("abc",).Seq)).Seq 19:17
camelia ok 1 -
IOninja SmokeMachine: you can use that
is-deeply is bustified with Seqs I guess.
SmokeMachine IOninja: great! thanks!
19:18 zakharyas left
IOninja SmokeMachine: and commit directly (or merge your PR) when you're done. You have the commit bit. 19:22
SmokeMachine IOninja: ok... but if I did that the last time you wouldn't correct me... 19:23
19:23 espadrine joined
IOninja SmokeMachine: and if you ever decide to try to get a commit bit for rakudo, it's required that you sign a Contributor License Agreement and send it to The Perl Foundation first. It's here: www.perlfoundation.org/contributor_..._agreement you can email it to them instead of shipping it by normal mail 19:23
SmokeMachine IOninja: should I send that to what email? 19:26
19:26 pytuger left
IOninja SmokeMachine: not really sure, maybe Jim Brandt? www.perlfoundation.org/contact_us You can ask [Coke], he's a member 19:27
19:27 pytuger joined, pytuger left, pytuger joined 19:28 mr-foobar joined
SmokeMachine .tell [Coke] Hi there! Id like to sign the Contributor License Agreement, do you know what email should I send that? Should those blanks be hand written? Thank you very much. 19:32
yoleaux SmokeMachine: I'll pass your message to [Coke].
[Coke] print it out, sign it, scan it in.
yoleaux 19:32Z <SmokeMachine> [Coke]: Hi there! Id like to sign the Contributor License Agreement, do you know what email should I send that? Should those blanks be hand written? Thank you very much.
SmokeMachine [Coke]: and send it to what email? 19:33
[Coke] mail to trademark -at- perlfoundation.org
SmokeMachine [Coke]: thank you very much!
19:36 andrzejku joined 19:37 wamba joined 19:38 andrzejku left 19:47 hankache joined
hankache hello #perl6 19:47
raschipi hey hankache! 19:54
19:54 mcmillhj left 19:56 mcmillhj joined 20:00 andrzejku joined, Cabanossi left 20:01 mcmillhj left 20:03 domidumont left
timotimo has never had an aching hank 20:03
20:03 Cabanossi joined 20:07 setty1 joined 20:08 pyrimidine joined
SmokeMachine signed 20:11
www.irccloud.com/pastebin/ls7lxwRV/ 20:12
20:12 mcmillhj joined
SmokeMachine [Coke]: the email bounced... :( 20:13
[Coke] wonders if DBIish supports oracle CLOBs 20:14
20:15 Actualeyes left
[Coke] SmokeMachine: ok. send it to me at [email@hidden.address] I'll add it to my pile of TPF stuff to do. 20:15
SmokeMachine [Coke]: thanks!
sent! 20:16
[Coke] SmokeMachine: recebido 20:18
SmokeMachine [Coke]: are you brazilian?
[Coke] no, although I think there are some Coledas down that way. 20:19
20:19 jonas1 left
SmokeMachine tColedas? 20:20
Coledas?
hord i don't see anything in the DBDish that lets you mess with CLOBs like the p5 driver does... good luck :)
Oracle is... fun. 20:21
SmokeMachine google translate told me that Coledas should means "cops"... (In brazil we call cops: policiais)
*mean 20:22
20:22 avar joined, avar left, avar joined 20:23 zakharyas joined 20:24 hankache left
timotimo what are CLOBs? 20:25
do i even want to know ... 20:26
hobbs like a BLOB but without the first B 20:27
(character large object)
20:27 hankache joined
hord timotimo: all the horror of BLOBs with Unicode 20:27
timotimo so ... instead of bytes it has ascii characters? :P 20:28
oh yikes
that's somehow even worse
hord actually, Oracle's unicode handling is fine once you learn how to pick The One True Encoding
20:28 labster joined
hobbs I wrote an oracle stored-procedure wrapper for $WORK some years back, the LOB-fetcher was one of the more interesting parts of it 20:29
almost as hard to get right as the actual function introspector
hord yeah i had to deal with lobs for some web apps
[Coke] Whatever my name means, I'm pretty sure "police" ain't it. :)
hord i'm digging on MonoDB lately. is there a p6 driver? i haven't looked. 20:30
oh, there is.. 20:31
timotimo is that mongodb but without the g?
hord i meant MongoDB
timotimo OK
20:31 domidumont joined
timotimo just make sure you either don't expose your mongodb to the public internet, or have a password set on it 20:31
hord what if i want to run a wiki-style database? 20:33
20:35 TEttinger joined 20:38 domidumont left 20:41 st_elmo left 20:42 labster left 20:49 bjz joined, Tonik left 20:53 tinita is now known as tinita_ 20:54 tinita joined 20:57 tinita left 20:58 tinita joined 21:02 eroux left 21:04 skids left, andrzejku left 21:05 girafe left 21:09 sufrostico joined 21:10 sufrosti1o joined, sufrosti2o joined
RabidGravy I ought to release Sofa soon 21:12
timotimo hord: why would you expose the database to the public internet in that case? 21:16
21:16 raschipi left 21:17 hankache left
hord timotimo: for fun and profit 21:18
timotimo well, let's hope you have usernames and their passwords in a separate database in that case 21:20
and you don't mind someone dropping all your tables constantly 21:21
hord what if you made a database where the first record you create is your public key and only messages from you can mutate the database? 21:26
21:26 mcmillhj left 21:28 pyrimidine left
timotimo that would be fun 21:28
21:28 pyrimidine joined 21:29 bjz left
hord i have a single-user version using symmetric keys. the idea of using pki + multi-user hit me yesterday. 21:30
21:41 sufrosti2o left, sufrostico left, sufrosti1o left 21:43 sufrostico joined, sufrosti1o joined, sufrosti2o joined
El_Che creating debian stable packages 21:44
so, far it hasn't exploded in my face :)
21:50 hankache joined 21:51 labster joined
El_Che github.com/nxadm/rakudo-pkg/releas...ag/2017.03 <-- includes debian8 amd64 rakudo pkg 21:53
IOninja El_Che++ 21:54
22:00 zakharyas left 22:02 Sound left, Guest37422 left
m44st4 Hi ! Do we have a good Crypto library with AES,Twofish,Serpent and Usual block-cipher modes, 22:09
?
22:11 setty1 left
samcv hi! 22:12
m44st4, modules.perl6.org/#q=crypt 22:13
IOninja buggable: eco crypt
buggable IOninja, Found 8 results: Game::Crypt, Crypt::Bcrypt, Crypt::Libcrypt, Crypt::RC4, Crypt::TweetNacl. See modules.perl6.org/#q=crypt
22:14 mcmillhj joined, ccakes left 22:15 RabidGravy left
m44st4 Thanks ! 22:16
22:19 ccakes joined, mcmillhj left
El_Che hi samcv 22:19
samcv hey
22:21 pyrimidine left 22:22 ccakes_ joined, pyrimidine joined 22:23 ccakes left 22:24 ccakes_ left 22:25 ccakes joined
IOninja wonders how Slang::Piersing got its name.... 22:25
timotimo somethign to do with a lisp?
lol 22:26
hobbs I was wondering that too, my guess to myself is that it's something that Piers Cawley was excited about at some point 22:27
22:27 pyrimidine left
timotimo duckduckgo.com/?q=Piers+Cawley+lib...;ia=videos 22:27
22:28 b2gills left 22:30 mcmillhj joined 22:33 hankache left 22:34 mcmillhj left 22:42 Voldenet left 22:43 araujo left 22:44 araujo joined, araujo left, araujo joined 22:45 Cabanossi left 22:46 mcmillhj joined 22:47 Voldenet joined, Voldenet left, Voldenet joined, Cabanossi joined 22:50 mcmillhj left, skids joined 22:53 sena_kun left 23:07 raiph left
SmokeMachine accordingly to this (rt.perl.org/SelfService/Display.ht...t-history) should I remove lcm and gcd from Numeric.pm? 23:07
23:07 raiph joined 23:08 wamba left
IOninja I wouldn't call that a bug TBH. 23:10
The docs clearly state the behaviour too: "Coerces both arguments to Int and returns the least common multiple, that is the smallest integer that is evenly divisible by both arguments."
IOninja & 23:11
23:11 thowe_work joined
SmokeMachine ok, Ill leave that alone... 23:14
hord that's a balance between being strict math and fuzzy perl 23:15
if you are a math person, i think it'd be technically wrong to allow anything but integers for gcd/lcm 23:16
timotimo i thought so, too, hord
hord but most programmers aren't strictly math people
timotimo m: say 2.5.narrow
camelia 2.5
23:23 espadrine left 23:28 cibs left 23:31 cibs joined 23:32 labster left 23:33 pytuger left
IOninja hord: that's not my reasoning for it. My reasoning is non-Int numbers don't make sense with these ops, so forcing the user to constantly add .Int with them is antisocial. 23:35
'cause 99.9% of the time people aren't writing "2.5 gcd 5" but "*some computation* … $stuff gcd $other-stuff" 23:36
23:37 nadim left 23:38 tokomer left 23:40 raiph left 23:41 TheovdH left, raiph joined
SmokeMachine is the code inside {} inside a regex evaluated at runtime, right? 23:43
so this dies at compile time:
m: say "ooo" ~~ / "o" ** 1..0 /
camelia 5===SORRY!5=== Error while compiling <tmp>
Empty range
at <tmp>:1
------> 3say "ooo" ~~ / "o" ** 1..07⏏5 /
SmokeMachine and this doesn't:
m: say "ooo" ~~ / "o" ** {1..0} /
camelia 「ooo」
23:43 mcmillhj joined
El_Che This is Rakudo version 2017.03 built on MoarVM version 2017.03 23:43
implementing Perl 6.c.
f7d2a26e55ee9acbe34168c37761baf7100152a8 perl6-rakudo-moarvm-Fedora25-20170300-01.x86_64.rpm
\o/
SmokeMachine but the second one shouldn't match, right? 23:44
23:45 Cabanossi left 23:47 Cabanossi joined
El_Che For whoever writes p6weekly this week: addition of Fedora and Debian packages to github.com/nxadm/rakudo-pkg/releas...ag/2017.03 23:48
23:48 skaji_ joined, mcmillhj left 23:49 skaji_ left 23:50 skaji_ joined 23:53 pyrimidine joined 23:54 raiph left, raiph joined 23:56 khw joined 23:58 pyrimidine left