»ö« 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.
gfldex no, because phasers are handlers for control exceptions and exceptions are local to a thread 00:00
unless you produce a race condition yourself, your code is fine
seatek well I would happily do that
gfldex don't share data between threads directly, use a Channel
seatek well, this explains CATCH's weirdness 00:04
seatek what a great way to do it 00:04
seatek gfldex, docs there don't talk much about COMPOSE. Is the COMPOSE defined in the class then? I makes me wonder if it happens before or after the checking for attributes and methods happen. 00:13
gfldex m: class C { COMPOSE { say 'class' } }; role R { COMPOSE { say 'role' } }; my C $c does R .=new; 00:14
camelia rakudo-moar 605f27: OUTPUT«Cannot make a Scalar+{R} object using .new␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: class C { COMPOSE { say 'class' } }; role R { COMPOSE { say 'role' } }; my $c = C.new does R;
camelia ( no output )
gfldex m: class C { COMPOSE { say 'class' } }; role R { COMPOSE { say 'role' } }; my $c = C.new ´but R; 00:15
camelia rakudo-moar 605f27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3 COMPOSE { say 'role' } }; my $c = C.new7⏏5 ´but R;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ …»
gfldex m: class C { COMPOSE { say 'class' } }; role R { COMPOSE { say 'role' } }; my $c = C.new but R;
camelia ( no output )
gfldex ENOSPEC too 00:16
src/Perl6/World.nqp: $/.CURSOR.NYI('EXPORTHOW::COMPOSE'); 00:17
:)
dalek c: 474742b | gfldex++ | doc/Language/phasers.pod6:
COMPOSE is NYI
00:18
gfldex seatek: good that you asked 00:19
seatek hehe
grondilu downloads the Google fonts discussed here: www.google.com/get/noto/ 00:34
gfldex sadly they don't say how many glyphs they got in those fonts
grondilu meant to paste news.ycombinator.com/item?id=12654499
hopefully, lots. Otherwise there'd be no point bragging about it. 00:35
timotimo twitter.com/FakeUnicode/status/784...5224272896
geekosaur wonders which noto release they checked 00:40
since my mint 17.2 has noto fonts already but it is an older one
gfldex it's missing tons of glyphs
geekosaur hm. "for all languages" aside from the emoji fonts I bet they let all the symbols / special characters / etc. go, possibly including things like presentation forms 00:43
gfldex is there a upper limit for glyphs in a single TTF? 00:44
geekosaur apparently limited to 65535 glyphs 00:46
grondilu ok, who can give me a one-liner that shows pretty unicode characters?
dylanwh pretty like 🌽? 00:51
gfldex   ¡ ¢ £ ¤ ¥ ¦ § ¨ ª ¬ ∧ ∨ ⊻ ∘ ← → ↑ ↓ ⇐ ⇒ ⇑ ⇓ — ‐ ‣ • ¯ ° ± ² ³ ´ µ π ℯ · ¸ ¹ º « » ” “ ' „ « » ⟨ ⟩ ¼ ½ ¾ …׿ π ≅ ⟨ ⟩ 「 」 ⌊ ⌋ ⸨ ⸩ ∞ ‽ …␣ π ≅ ⟨ ⟩ 「 」 ⌊ ⌋ ⸨ ⸩ ∞ ‽ ␣ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς τ υ φ χ ψ ω * ⁎ ⁑ ✱ ✉ ♥ ☠
^^^ one line(er)
grondilu damn, lots of chars don't show up here.
s/chars/$whatever-name-is-more-appropriate/ 00:52
gfldex ¡ ¢ £ ¤ ¥ ¦ § ¨ ª ¬ ∧ ∨ ⊻ ∘ ← → ↑ ↓ ⇐ ⇒ ⇑ ⇓ — ‐ ‣ • ¯ ° ± ² ³ ´ µ π ℯ · ¸ ¹ º « » ” “ ' „ « » ⟨ ⟩ ¼ ½ ¾ … × ¿ π ≅ ⟨ ⟩ 「 」 ⌊ ⌋ ⸨ ⸩ ∞ ‽ ␣ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς τ υ φ χ ψ ω * ⁎ ⁑ ✱ ✉ ♥ ☠ 00:53
without the double chars (bad copy pasta)
grondilu not much better
gfldex also, i'm missing some the NL and friends ones 00:54
geekosaur whole thing shows up here. (plenty of fonts; the main restriction here is that the mint 17 version of hexchat has older libs that don't handle non-BMP chars)
grondilu m: say (0..0xffff).chrs.comb(/<:Pc+:Pd+:Pe+:Pf+:Pi+:Po+:Ps+:Sc+:Sm+:So>/).roll(80).join
gfldex ¡ ¢ £ ¤ ¥ ¦ § ¨ ª ¬ ∧ ∨ ⊻ ∘ ← → ↑ ↓ ⇐ ⇒ ⇑ ⇓ — ‐ ‣ • ¯ ° ± ² ³ ´ µ π ℯ · ¸ ¹ º « » ” “ ' „ « » ⟨ ⟩ ¼ ½ ¾ … × ¿ π ≅ ⟨ ⟩ 「 」 ⌊ ⌋ ⸨ ⸩ ∞ ‽ ␣ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς τ υ φ χ ψ ω * ⁎ ⁑ ✱ ✉ ♥ ☠ ␀ ␛ ␤ ¶ ⏎ ␜ ␋ ␞
camelia rakudo-moar 605f27: OUTPUT«⧁⥝Ⓦ䷒≄︼⨤→⌿⍂⠶⧜≖╥⁁⭕⎛㍧⸨॰㎒⎾⇽؋᎓᐀▶❜㏃㈰⇑⼨⭥⦹᧤Ⓕ﹂⎟✚♊┢⌡⇻↜⠈⣁\␛▻⍿㎻﹂⡱㈝⡘䷈﹣㇔➻➰⥪」⠨㇌⨱⤏㌝㈙౿⨐―⾽▙⩐⩲⭺㋢፡᧯⟑␤»
gfldex i got FreeMono with Unifont, so I should be good for any char you can throw at me :) 00:56
grondilu yeah, FreeMono seems to show much more. It does not look pretty though. 00:57
gfldex don't forget to put a font into your modules! :-> 00:58
grondilu not sure what you mean. 00:58
gfldex if you want ppl be able to read your code you better share the font you used 00:59
the line I posted is basically my pick on chars that I would use as operators
i'm very surprised Larry didn't insist on having ¬ ∧ ∨ ⊻
BenGoldberg If unicode is in use, then the code should be euqally readable with any font which supplies those characters. 01:00
grondilu I disagree. Your attitude should be: "here's my code, I'm using unicode with a decent font. If you don't, that's your problem, not mine."
gfldex not to hard to scan the source for any used character and display them in one go to catch surprises in a team 01:02
grondilu I mean isn't the point of unicode precisely not to have to exchange particular fonts?
gfldex technically, yes 01:03
gfldex but how do we convince font designers to play ball? 01:03
you can combine fonts on windows, you just have to know where to dig in the registry 01:04
BenGoldberg Or convince IDEs to let the user to set a list of fallback fonts.
Hexchat does that :) 01:05
BenGoldberg So if I've got two different versions of a piece of code, and their possible runtimes seem to overlap... should I just go with the simpler/clearer version? 03:32
m: gist.github.com/BenGoldberg1/71a42...47d17c32b0
camelia rakudo-moar 605f27: OUTPUT«65533␤19729 digits starting with 20035299304068464649790723515602557504478254755697...␤Took 0.7049170 seconds.␤»
BenGoldberg m: gist.github.com/BenGoldberg1/71a42...47d17c32b0
camelia rakudo-moar 605f27: OUTPUT«65533␤19729 digits starting with 20035299304068464649790723515602557504478254755697...␤Took 0.69951877 seconds.␤»
BenGoldberg m: gist.github.com/BenGoldberg1/a2e8e...d6c3c7da11 03:33
camelia rakudo-moar 605f27: OUTPUT«65533␤19729 digits starting with 20035299304068464649790723515602557504478254755697...␤Took 0.697591 seconds.␤»
rakudo-moar 605f27: OUTPUT«65533␤19729 digits starting with 20035299304068464649790723515602557504478254755697...␤Took 0.7032528 seconds.␤»
Herby_ Evening, everyone! 03:38
AlexDaniel m: say 10..100 .pick 03:48
camelia rakudo-moar 605f27: OUTPUT«10..100␤»
AlexDaniel m: say ^100 .pick 03:50
camelia rakudo-moar 605f27: OUTPUT«58␤»
AlexDaniel huggable: dunno
huggable AlexDaniel, ¯\_(ツ)_/¯
seatek m: say (10..100).pick 03:51
camelia rakudo-moar 605f27: OUTPUT«93␤»
AlexDaniel seatek: sure, but what if I don't want parens 03:52
seatek alexdaniel, my tactic is usually to just scream silently inside ;)
AlexDaniel it's not DWIM at all if 「^100 .pick」 works but 「10..100 .pick」 doesn't
TEttinger m: say <.pick> 10..100
camelia rakudo-moar 605f27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say <.pick>7⏏5 10..100␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifier…»
AlexDaniel but dunno, there's probably a good reason for it…
TEttinger just curious
AlexDaniel m: say pick 10..100 03:53
camelia rakudo-moar 605f27: OUTPUT«()␤»
TEttinger is there any way to move around the order like that?
AlexDaniel yes
m: say pick 10..100:
camelia rakudo-moar 605f27: OUTPUT«14␤»
TEttinger m: say pick 10..100:
camelia rakudo-moar 605f27: OUTPUT«45␤»
Herby_ I'm reading a CSV and I have a date/time as a string: 8/19/16 4:00 PM
TEttinger huh 03:54
skids m: say pick 10..100:
camelia rakudo-moar 605f27: OUTPUT«57␤»
Herby_ how do I turn that into a datetime object so I can compare dates?
AlexDaniel sub form seems to be this:
m: say pick 1, 10..100
camelia rakudo-moar 605f27: OUTPUT«(49)␤»
AlexDaniel m: say pick 1, 10..100
camelia rakudo-moar 605f27: OUTPUT«(15)␤»
seatek weird
AlexDaniel … completely different
Herby_: maybe you should try something like github.com/sergot/datetime-parse 03:56
skids Really, though, unless the range endpoints are complex, avoiding parens here is just making things difficult.
AlexDaniel Herby_: but see modules.perl6.org/#q=date – there are many date related modules 03:57
Herby_ AlexDaniel: I'll take a look, thanks. Didn't know if Perl 6 had a native way to handle it
AlexDaniel skids: I don't see any difficulties in 「10..100 .pick」
except that it does not work 03:58
skids It's precedence.
AlexDaniel well, fine, I'll use 「pick 10..100:」
seatek hehe 03:59
skids Personally, I think (10..100).pick is pretty clear.
seatek that's what i like to do anyway 04:00
MasterDuke Herby_: docs.perl6.org/type/DateTime might also work
Herby_ MasterDuke: I'll take a look, thanks 04:01
skids ^90.pick +10 ? 04:02
Herby_ MasterDuke: that got me part way there, and it looks like DateTime::Math can handle comparing dates 04:15
still working at it
seatek Herby_, if it were me, I'd use DateTime::Parse to get a "real" DateTime out of those crazy CSV strings, and then just compare unixtimes if you need to compare them 04:19
Herby_, not sure how you need to compare them though 04:20
Herby_ I'll have two datetime stamps, and I'm trying to see if they are > 24 hours apart
seatek then you can subtract them and see if they are 24-hours in seconds apart ;) 04:21
Herby_ i dont have a ton of experience with working with datetime stamps. it looks like there is a posix method, you saying use that?
then subtract them from each other and convert to hours?
seatek yeah posix is a unix timestamp which is seconds 04:22
skids I guess it depends what you want to do on leap-second days...
Herby_ the data is for this year, starting in april up till now
seatek yeah if you want to get into the truly exacting stuff, there are HUGE modules to deal with that stuff. it gets very complicated if you want to be completely accurate across all things like leap stuff and timezones and daylight savings, etc 04:23
Herby_ for this learning exercise, i'm not too stressed about the fine details unless it can have a big impact on the > 24hours criteria
the dates will typically be within at least a week of each other 04:24
seatek but by converting everythign to unix timestamps, you get the number of seconds
m: my $dt = DateTime.new("2016-10-06T21:24:00"); say $dt.posix; 04:25
camelia rakudo-moar 605f27: OUTPUT«1475789040␤»
seatek that's the date and time right now in seconds
you can do that with 2 dates -- just subtract those seconds
Herby_ gotcha. let me give it a shot 04:26
seatek and you'll find out how many seconds are between those dates and times
Herby_ m: my $dt = DateTime.new("2016-10-06T21:24:00"); say ($dt.posix / 3600); 04:27
camelia rakudo-moar 605f27: OUTPUT«409941.4␤»
perlawhirl Herby: for your check, you can add 24 hours to your "before" date and check if it is less-than your "after" date 04:29
m: say DateTime.new('2016-10-06T21:24:00').later( :24hours) < DateTime.new('2016-10-07T15:24:00')
camelia rakudo-moar 605f27: OUTPUT«False␤»
perlawhirl m: say DateTime.new('2016-10-06T21:24:00').later( :24hours) > DateTime.new('2016-10-07T15:24:00')
camelia rakudo-moar 605f27: OUTPUT«True␤»
Herby_ nice! 04:30
seatek beautiful :)
Herby_ the big question is my csv dump has their timestamps in the format '9/23/16 3:00 PM'
seatek DateTime::Parse should be able to handle that 04:31
perlawhirl Yep, DateTime::Parse
github.com/sergot/datetime-parse
Herby_ yep, looking at it now. the documentation is a little sparse... 04:32
seatek It will take your crazy strings, and give you a "properly" formatted one that you can plug into the DateTime we were just using
perlawhirl ahh! if i recall correctly it only accepts 3 or 4 "common" datetime string formats 04:33
i had a module somewhere I was working on that accepted just about any string, but the grammer got a bit unweildy
I also have an NativeCall based strptime and strftime implementation lying around somewhere which you could use in a pinch 04:34
or you can build your own date parser if the format is consistent
seatek github.com/Kodiologist/DateTime-Parse
Herby_ seatek: nice find! 04:35
perlawhirl that module is six years old... so potentially may have some issues with current rakudo 04:37
seatek yeah that's what i was just thinking
perlawhirl here i just through up my NativeCall sketch on gist
gist.github.com/0racle/09482c5f7bf...259baf8237
I had planned on making a module, but life is taking up all my time 04:38
Herby_ that does happen :)
seatek that would be really nice to have up there
perlawhirl Refer to the line 65-onward to see how to use it...
perlawhirl Also, bear in mind it's not doing any error checking to make sure you've passed it valid token 04:39
Herby_ I'm on windows, I think there is an issue with nativecall 04:42
or at least i thought i remember reading that somewhere
cause i get this error running that script: Cannot locate symbol 'strptime' in native library ''
perlawhirl oh... yeah, i'm not sure about windows... might have to just build your own parser sub... is your date format stable, ie. always in the "8/19/16 4:00 PM" format 04:43
Herby_ yep
worst case scenario, i open the csv in excel and convert the column to iso 8601 before running the p6 script 04:45
i've definitely made some headway tonight, so thank yall for the help
perlawhirl ahh yeah, that would probably be easier :D
Herby_ perlawhirl: i'm trying to be lazy :)
alright i'm off to bed, have a good night everyone 04:46
seatek oh my gosh how i converting to ISO 8601 worst case? that's best case! 04:53
seatek i had dreams of being able to use "else" with "unless". but no more. 06:49
El_Che seatek: do you hate fellow programmers? ;) 06:50
seatek El_Che, sometimes. (a little bit). ;) 06:50
i've been writing tests against database servers, so i'm too numb right now to imagine 06:51
seatek i think "else"es with "unless"es must be just too advanced for p6 06:52
it's one twisty too many 06:53
samcv how do i draw camelia with the compose key? 06:56
«O» i don't know how to make the o with two dots on it
tho
: + O doesn't work at least or O+ :
El_Che ö ?
samcv yes how do i use the compose key to type that
El_Che my keyboard is azerty: type " followed y o 06:57
samcv ö 06:58
cool ok thank you :)
grondilu test 07:20
andrzejku hello my friends :) 07:32
firefish5000 range slices on list are suppose to be truncated to the length of the list correct? 07:40
m: dd <a b c d>[0..5]
camelia rakudo-moar 605f27: OUTPUT«("a", "b", "c", "d", Nil, Nil)␤»
firefish5000 ie, those 2 Nil shouldn't show up 07:41
moritz m: dd <a b c d>.Array[0..5] 07:49
camelia rakudo-moar 605f27: OUTPUT«("a", "b", "c", "d", Any, Any)␤»
firefish5000 I dont know where it is in the spec, but its documented in subscript#Truncating_slices , I dont see a test for it (though there is one for an infinit slice) 07:54
moritz would like to hear jnthn's and/or TimToady's opinion on that 07:57
firefish5000 fwiw, this was working at some point in time (~1year ago, when I last worked on my p6 code) 08:00
but of coarse, a lot has changed, it wouldn't surprize me if it was decided that finite flices should always return the full range requested 08:01
firefish5000 I retract my statement, I just found several comments in my code where I complaining about the random errors I was having with the range... Well, now I know 08:08
seatek oh man, i've regressed to using -> for referencing methods. time for bed. 08:38
firefish5000 Now that I fixed the slicing issue, my runtime is down to 0.5 seconds! With the slicing problem, it was 1.8 seconds 08:45
And if you include the first successfull compile I had since I started fixing my code 3 days ago, 8 seconds 08:46
RabidGravy gah, PAUSE indexer 08:50
firefish5000 Alright, my pm-script is up and running once more, and it only took me 1 year to decide to fix it 10:01
I Wonder if the power savings will be noticeable in this months bill 10:02
p3rln00b :) 10:32
If [] on list did not return all the elements it was asked for, we'd have issues with things like this: 10:35
m: sub foo ( $a, $b, $c ) { dd [ $a, $b, $c ] }( |<a b>[^3] )
camelia rakudo-moar 605f27: OUTPUT«["a", "b", Any]␤»
p3rln00b (were it'd explode whenever the thing did not have enough elements) 10:36
andrzejku someone know Mechanize framework? 11:12
DrForr andrzejku: You'll want to ask on #perl, not #perl6 - I don't think Mechanize has been reimagined for Perl 6. 11:13
gregf_ m: (|<a b>[^3]).^name.say 11:16
camelia rakudo-moar 605f27: OUTPUT«Slip␤»
nine moritz: niner.name is finally fixed :) Thanks for pushing me into the right direction! 11:20
andrzejku DrForr: don't worry I will 11:24
moritz nine: you're welcome 11:28
RabidGravy I don't suppose anyone knows of a CPAN module that generates its .pm file at build time, off the top your heads 11:33
nine I only know that those exist :/ 11:34
DrForr Template Toolkit might precompile the grammar, but I don't think so.
RabidGravy I've switched Term::ReadKey to do so and It's working but the problem is PAUSE won't index it because it can't find a .pm file in the distribution file 11:36
DrForr Feh. I'd suggest creating a Term::ReadKey.pm file and generating a subclassed file, but you've probably already thought of that. 11:37
RabidGravy yeah, I had thought of thought, examining various META hacks at the moment 12:03
RabidGravy the problem is that I can only test this by uploading to PAUSE, I've already had one failed attempt 12:09
Xliff What's the best way to test changes to NativeCall? Can I copy just the NativeCall dir to a separate lib/ directory and do "-Ilib" during invocation? 12:14
Changes are currently limited to NativeCall/Types.pm6
timotimo that can work, yeah
just make sure it ends up loading the one you're changing
Xliff The reason I am asking is because I don't see my changes taking effect.
timotimo: How do I insure that? 12:15
timotimo you could put a new "is export" sub in there and call it from your test code
if it says the sub doesn't exist, it's not loading your changed version
Xliff Hrm.
Since I am changing STORE for CArray I suspect that might be the case. 12:16
Since my test code does not seem to be finding the modified STORE method.
If I have some time later, I may gist my whole problem and toss it out there. 12:17
Coz this:
perl6 --target=ast -Ilib -e 'use NativeCall; my CArray[int32] @a = ((^1000).roll(100)); say @a.elems; say @a.WHAT'
Gives the following AST for the pertinent part: 12:18
- QAST::Stmts <sunk> use NativeCall; my CArray[int32] @a = ((^1000).rol...
- QAST::Stmt <sunk> use NativeCall
- QAST::WVal(Nil) <> :statement_id<?>
- QAST::Stmt <sunk> my CArray[int32] @a = ((^1000).roll(100))
- QAST::Op(callmethod STORE) <sunk nosink> :statement_id<?>
But I get this error:
Type check failed in assignment to @a; expected NativeCall::Types::CArray[int32] but got Int (582)
timotimo oh
no, that's just your definition being wrong
you've declared an array of CArrays 12:19
Xliff LOL! 12:19
So... how would I write that properly? 12:20
'use NativeCall; my @a = CArray[int32].new; @a.push: (^1000).roll(100); say @a.elems; say @a.WHAT'
timotimo that's still just an array 12:21
you need to := there
.u � 12:23
yoleaux U+FFFD REPLACEMENT CHARACTER [So] (�)
timotimo haha
Xliff 'use NativeCall; my @a := CArray[int32]; @a.push: |(^1000).roll(100); dd @a' 12:24
Xliff Oh! Beat me to it. 12:24
Xliff OK. So new error: 12:25
Cannot resolve caller STORE(NativeCall::Types::CArray[int32]: NativeCall::Types::CArray[int32]);
timotimo the part before the : is the invocant (i.e. the type of self) and the one after that is the first positional arg 12:26
Xliff Which is a start, and I'm still not seeing my code.
timotimo right, ok
a dirty hack would be to rename your own nativecall to something else :)
Xliff HAH! Point.
Thanks for that. Gives me something to sleep on. 12:27
timotimo good luck! :)
RubioTerra Hi, I need some help with grammars and actions: I have a grammar and it parses a file beautifully, but once I add an actions class it starts to give the error "Too many positionals passed; expected 1 argument but got 2". Even with an empty action class. 13:00
p3rln00b RubioTerra: what's too vague. Do you have code to show? 13:01
DrForr Put your code into a pastebn?
*pastebin
dalek osystem: 115ccc3 | (Tom Browder)++ | README.md:
tweak punctuation and spelling
p3rln00b RubioTerra: you're passing your actions as a named argument,right? .parse: :actions(classs {...}) ... 13:02
RubioTerra Well, my first question is: should an empty actions change the behavior of the parsing?
p3rln00b No
RubioTerra Yes: Grammar.parsefile($file, :actions(Actions.new));
DrForr RubioTerra: Can we see your code?
p3rln00b s: Grammar, 'parsefile' 13:03
SourceBaby p3rln00b, Sauce is at github.com/rakudo/rakudo/blob/605f...mar.pm#L14
RubioTerra well, the code is quite lengthy, it's a C parser 13:04
p3rln00b Right, wellk, that's not where the error is at
DrForr RubioTerra: Still, we need to see what's going on.
p3rln00b RubioTerra: we could be guessing for weeks here, without any code. The error is telling you you're giving one too many arguments.
dalek osystem: 8bfeea4 | (Tom Browder)++ | README.md:
use em dash, spelling fix
RubioTerra I understand...
RubioTerra I guess I should try to reduce the problem to some manageable code size 13:05
p3rln00b RubioTerra: can you show full error? 13:06
RubioTerra Too many positionals passed; expected 1 argument but got 2 in regex ws at /home/rubio/tools/lib/C/Parser/Grammar.pm6 (C::Parser::Grammar) line 22 in regex declaration-type-specifier at /home/rubio/tools/lib/C/Parser/Grammar.pm6 (C::Parser::Grammar) line 88 in regex declaration-type-specifiers at /home/rubio/tools/lib/C/Parser/Grammar.pm6 (C::Parser::Grammar) line 80 in regex function-definition at /home/rubio/tools/lib/C/
p3rln00b RubioTerra: I'm guessing you get the error without any actions too? 13:07
RubioTerra well, it didn't paste ok
No. Without the actions it parses ok.
p3rln00b weird
RubioTerra I thought so.
I can reproduce the error if I declare a method with no parameters in the actions class. 13:08
But it's not the case.
p3rln00b RubioTerra: what's the name of the method? 13:09
DrForr RubioTerra: Could you put this in a github gist? Otherwise we're going to have to keep guessing.
p3rln00b m: say grammar { token TOP { <ws> }; regex ws { \d+ } }.parse: '42', :actions(class { method ws { } } ) 13:11
camelia rakudo-moar 605f27: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in method ws at <tmp> line 1␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex ws at <tmp> line 1␤ in regex TOP at <tmp> line 1␤ in block…»
p3rln00b can offer a thousand guesses, but without seeing code it's pointless 13:12
timotimo :o 13:13
p3rln00b ?
timotimo i would expect they have a token that matches with some method that's in Any or so
perlpilot p3rln00b: you scared him off! ;)
p3rln00b Ah
p3rln00b Aha. timotimo++ that can be it :D 13:14
timotimo other than that, forgot to give the method a $/ argument is a classic mistake 13:15
p3rln00b m: say grammar { regex all { \d+ } }.parse: '42', :rule<all>, :actions(class { }) 13:16
camelia rakudo-moar 605f27: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in any !cursor_pass at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex all a…»
p3rln00b Though the error references <ws>
and "regex ws" 13:17
timotimo oh, indeed
i missed that the first time 'round
p3rln00b m: say grammar { regex ws { <.ws: 2> } }.parse: '42', :rule<ws> 13:19
camelia rakudo-moar 605f27: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in regex ws at <tmp> line 1␤ in regex ws at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
dalek c: 1b3cf97 | (Francis Grizzly Smit)++ | README.md:
fixed READEME.md to have depend Pod::To::BigPage
13:29
p3rln00b ehhh... that's terrible advice 13:30
dalek osystem: 93beb1a | (Alexey Melezhik)++ | META.list:
Sparrowdo module to manage chef users
13:31
osystem: d3391c0 | (Zoffix Znet)++ | META.list:
Merge pull request #259 from melezhik/master

Sparrowdo module to manage chef users
RabidGravy which reminds me I ought to re-examine my plans for a noddy CI thing like buildbot at some point 13:33
RubioTerra DrForr, p3rln00b: I found what was wrong with my actions class -- I declared it as a grammar!! 13:47
Mistery solved :)
DrForr Yay! 13:48
RubioTerra Thanks!
perlpilot m: say grammar { regex all { \d+ } }.parse: '42', :rule<all>, :actions(grammar { method all($/) { } }); 13:49
camelia rakudo-moar 605f27: OUTPUT«「42」␤»
perlpilot hmm
p3rln00b RubioTerra: that was one of my guesses :) 13:50
Though it didn't produce the same error as yours: 13:52
m: say grammar { token TOP { <ws> } }.parse: ' ', :actions(grammar {})
camelia rakudo-moar 605f27: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in any !cursor_pass at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex TOP a…»
RubioTerra that's it! 13:53
timotimo oh, oyu're back :)
perlpilot idly wonders if there are RT tickets for any of these LTA grammar-related things. 13:57
p3rln00b should be easy enough to grep front page of perl6.fail :)
p3rln00b m: say grammar { token TOP { <return> }; token return { \d+ } }.parse: '42' 13:58
camelia rakudo-moar 605f27: OUTPUT«Attempt to return outside of any Routine␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in any !cursor_pass at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex return at <tmp> line 1…»
p3rln00b m: sub { say grammar { token TOP { <return> }; token return { \d+ } }.parse: '42' } 13:59
camelia ( no output )
p3rln00b t'bad
oh
m: sub { say grammar { token TOP { <return> }; token return { \d+ } }.parse: '42' }()
camelia rakudo-moar 605f27: OUTPUT«Attempt to return outside of any Routine␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in any !cursor_pass at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex return at <tmp> line 1…»
p3rln00b t'bad :}
dalek rl6-most-wanted: f2aeeb7 | (Tom Browder)++ | most-wanted/modules.md:
remove module now in ecosystem
14:04
p3rln00b m: say grammar { token TOP { <return> }; method return { say "meow"; exit } }.parse: '42'
camelia rakudo-moar 605f27: OUTPUT«meow␤»
p3rln00b m: say grammar { token TOP { <return> }; method return { self._return }; regex _return { \d+ }; }.parse: '42' 14:07
camelia rakudo-moar 605f27: OUTPUT«「42」␤ return => 「42」␤»
p3rln00b :D
m: say grammar { token TOP { <take> }; token take { \d+ } }.parse: '42' 14:08
camelia rakudo-moar 605f27: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any !reduce at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in any !cursor_pass at /home/camelia/rakudo-m-inst-2/share/nqp/lib/QRegex.moarvm line 1␤ in regex take …»
p3rln00b heh. this stuff's pretty messed up. That's rt.perl.org/Ticket/Display.html?id...et-history
moritz it's the usual "calling something from within a grammar doesn't behave like a regex, gives bad error message" 14:09
niecza had a pretty awesome error message for that 14:10
DrForr Huh, !cursor_pass is something new there. I keep getting the core reporting an error in variable $x which I don't define anywhere in the source.
p3rln00b Any Mu method used as a token will trigger some sort of an error, basically 14:11
Unless you give actions with it 14:12
m: say grammar { token TOP { <take> }; token take { \d+ } }.parse: '42', :actions(class { method take ($/) { say "take yourself!" } })
camelia rakudo-moar 605f27: OUTPUT«take yourself!␤「42」␤ take => 「42」␤»
p3rln00b Sounds like an easy fix
p3rln00b Oh, maybe not as easy as originally thought 14:23
We need Muuu :) Just an empty class from which everything inherits :D
moritz thinks we have too many method in Mu
mst the only methods should be in Mu are those required by larry when hitting a novice with his stick 14:24
DrForr Hmm, Rakudo::Sesshin. 14:25
p3rln00b m: Mu.^methods.elems.say 14:37
camelia rakudo-moar 605f27: OUTPUT«52␤»
p3rln00b We need to remove 10 methods :P
p3rln00b m: say 'Life, the Universe and Everything'.WHY == Mu.^methods.elems-10 14:38
camelia rakudo-moar 605f27: OUTPUT«True␤»
p3rln00b m: my $ch = Mu.HOW.WHAT.new.new_type; $ch.^methods.say 14:44
camelia rakudo-moar 605f27: OUTPUT«()␤»
p3rln00b Crap. I thought I could write an article about it, but turns out this shit's easy. 14:45
(getting "nothing" clas sin perl6)
timotimo oh, like, a class that has no methods at all?
p3rln00b Right
m: Perl6::Metamodel::ClassHOW.new
camelia rakudo-moar 605f27: OUTPUT«Could not find symbol '&ClassHOW'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
RabidGravy DrForr, is the TT6 thing you are working on, anywhere near being testable for basic things? Reason being I want to make JSON::Infer use templates for generating the classes and I have rejected the other options due to them all crapping out on recursion 14:46
p3rln00b How come this stuff isn't available to users, I wonder.
jnthn m: Metamodel::ClassHOW.new
camelia ( no output )
p3rln00b Ahhh
jnthn++
jnthn Should probably fix that naming confusion at some point
DrForr RabidGravy: Give me the weekend and I'll have something functional.
RabidGravy cool, I could probably fix Template6 to do the necessary recursive stuff but when I looked it made my head hurt 14:47
DrForr Well, it won't get that far by the weekend; I'm only going to get around (probably) to GET/INCLUDE/PROCESS/WRAPPER and maybe IF-THEN-ELSE over the weekend. I'll be online, and if there's something in particular you need let me know. 14:49
RabidGravy the story of my day so far is that I have made 3 releases of Term::ReadKey, hopefully this last one will stick
I'll take a look on MOnday then :)
next up debugging my couchdb/angular.js example 14:53
DrForr I've already got the splitting code to break out template sections done, I just need to hook in the grammar, and for a first cut I'll be happy to just put out something that expands [% foo %] or $foo inline. 14:54
DrForr I'll probably push this to the ecosystem Sunday or so; I'm going through the grammar excruciatingly sowly because I hate dealing with regression, and I am *heartily* tired of dealing with waterbed problems from Perl6::Tidy. 14:57
p3rln00b m: sub foo (:$meow) {}(meow => Metamodel::ClassHOW.new_type) 15:07
camelia rakudo-moar 605f27: OUTPUT«X::TypeCheck::Binding exception produced no message␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
p3rln00b So much for that plan :P
dalek line-Perl5: 22f7f33 | niner++ | / (2 files):
Move Perl5Array refcnt inc to C code
15:18
line-Perl5: 9be9e5a | niner++ | lib/Inline/Perl5.pm6:
Work around a perl bug in argument handling

Perl tries to use the argument following a -- as script name so avoid the arg list ending in -- See rt.perl.org/Ticket/Display.html?id=129826
p3rln00b m: use nqp; my $o = class {}; $o.^add_method: .name, -> $, $ {} for Mu.^methods; $o.^compose; say grammar { token TOP { <return> }; token return { \d+ } }.parse: '42', :actions($o); 15:25
camelia rakudo-moar 605f27: OUTPUT«「42」␤ return => 「42」␤»
p3rln00b pulls out a Hackishmometre 15:25
Reading's a bit too high :) 15:26
p3rln00b For a fix for rt.perl.org/Ticket/Display.html?id...et-history 15:26
perlpilot still would be nice to have some way to sanitize a class. 15:42
p3rln00b There probably is :) 15:43
p3rln00b is too n00b to know
skids Darn, my spare time is about to plummet. 15:57
p3rln00b puts a cushion under it 15:58
skids Knew it was coming, but was hoping to get github.com/skids/perl6-xcb near to a usable state before this happenned. 15:59
p3rln00b So what happened? 16:07
RabidGravy skids, release it and let other people fix the bugs ;-) works a treat for me 16:24
or if they don't fix it then they don't want to use it anyway 16:25
DrForr Wish I could be that confident :) 16:36
RabidGravy I'm all about the confidence 16:37
ls
DrForr I'm all about the Pentium.
huf sounds vaguely roman 16:38
RabidGravy I've just received a technical test from a well known online fashion retailer that is actually better specified and more work than some whole contracts I've had in the past
moritz more work? Are you getting paid for it?
Xliff RabidGravy: And that's a test? 16:41
So it's more like....if you pass it, you might get paid for further work?
RabidGravy to be fair they do say that they don't expect it to be completely finished in the 2 hours, but providing a complete specification of a larger piece of work demonstrates design strategy 16:47
so someone making it up as they go along will be obvious because they haven't made allowance for the probably unimplemented parts in the design 16:48
RabidGravy obviously one could game this with a pile of stubs 16:51
bioduds hi there, friends 17:24
RabidGravy Rarrrr!
bioduds looking for who suggested me to use Postgres to store data along with my NoSQL approach 17:25
timotimo i was among the people who suggested such a thing 17:26
bioduds geekosaur : was it you?
timotimo : yes
geekosaur several people suggested it
bioduds I'm not a stubborn person
RabidGravy use all the things, apart from RethinkDB which appears to have gone poooooof! 17:27
bioduds I've been thinking maybe both worlds may be reached altogether
I've been wondering about SQLite instead
RabidGravy SQLite will work, but it doesn't scale out very well if you anticipate multiple users/threads 17:28
mspo mm SQLite
bioduds my architectural plans may be ok, I believe
I would have not a single sqlite db file 17:29
but several, each for each "document" so to speak
controlled by a perl6 agent related
I have something alike already working 17:30
it will have a modern visual controller I am building with Meteor
timotimo i don't know if that is very good
RabidGravy they way you describe that I'm thinking that maybe some document based database may be a better fit
bioduds I already managed to have it comunicating on the server side with Perl6 and Perl6 DBIsh working with SQLite 17:31
RabidGravy : yes, that is what I'm trying to accomplish
timotimo how much is in one such "document"?
bioduds the "documents" will be SQLite files 17:32
Perhaps each SQLite file will have only one table
cause the DB itself will actually be the Perl6 layer on top of all I am currently building
this way, INPUT and OUTPUTs would be in JSON format 17:33
as I already managed to put up and works greatly
does this sound reliable, timotimo?
SQLite is ACID, fast and reliable, right? 17:34
mspo bioduds: sounds sort of ActorDB-ish?
bioduds therefore, data would be safe
lucasb_ how many "documents" or sqlite db files do you antecipate using? 17:36
lucasb_ *anticipate, expects to use 17:37
bioduds lucasb_ : my actual plan is to build a DB system. My first thoughts are to have one sqlite db file or "document" tripled along a network to ensure data wont be lost, each sqlite file corresponding to actually only one single table 17:38
timotimo if they are all in one directory, you may have trouble opening and closing them quickly depending on how the underlying file system performs
bioduds I plan to have them spread 17:39
also having one perl6 file to control each
instead of a main controller
bioduds that allowing for concurrency 17:39
that I will have to see later on development to check how it would perform 17:40
this is actually main reason I want to split files into single-table files 17:41
like DynamoDB, they would be like the Items
sounds fair this approach, timotimo? 17:42
I want to build something people can rely on from the ground, knowing it has a solid well thought architectural design on its basis 17:43
instead of simply throwing in data into files in JSON format 17:44
timotimo not sure it'd be good
bioduds cause that would actually be wasting a lot of capability Perl6 has brought in that actually inspired this effort of mine in first place 17:45
timotimo i'm not sure what you're hoping perl6 in particular will do for you here?
and i'm also not sure why you think a bunch of sqlite files will be a good basis for your documents 17:47
i'm not sure what your tables will look like, and what rows you'd have in those tables
bioduds Perl6 is the main controller. Each table has a p6 file to perform all sorts of operations on data. Converting from JSON to SQL to store and reverting. Allowing declarative subsets to create schemas on the fly that are highly reliable and other features
bioduds to summarize, benefit from all SQL has brought in so far in terms of good DB practice 17:49
timotimo i don't think i know enough about the involved things to tell if this is good
bioduds and merge it with the new NoSQL paradigm of IOing (so to speak) with the DB system
RabidGravy yeah, but e.g. MongoDB or CouchDB will do all of what you just described without you having to write any code 17:50
bioduds no prob, man, just trawling (lol) for some insight too. And opinions. :D
RabidGravy plus scale out, shard, replicate and stuff across multiple instance 17:51
timotimo like, i see no reason to have a single file per document
bioduds RabidGravy : yes, but there is plenty of debate on whether they are safe while treating data
yep, my goal is to have scale out, shard, and replication precisely the same as them
but so to speak, fix the consistency problem many report as being a real issue
RabidGravy so you are basically planning on making a NoSQL database system 17:52
fair enough
bioduds yes!
but one that has SQL on the data-end
timotimo that sounds like MulletDB the other way around 17:53
bioduds benefiting therefore from all SQL has brought us so far and, at the same time, bringing in the NoSQL solutions that are quite remarkable
RabidGravy I think Oracle does this ;-) 17:54
mspo couch++ 17:55
bioduds for instance, SQLite won't have a (1..5)|"empty" field
bioduds_ but, building the way I am doing now, I declare a subset that will ensure schema for the data with Perl6 and can store it on the SQLiee 17:58
RabidGravy I was going to point them at github.com/jonathanstowe/Sofa which facilitates that 18:01
bioduds_ let me check it out 18:02
bioduds_ the cool thing here I believe is you may store data precisely how it is along with its constraints 18:04
bioduds_ thanks for the insight, guys! :D 18:10
I'll report later on with advances I make. As TimToady told me here, The more The merrier :D 18:11
RabidGravy absolutely, make all the software 18:12
bioduds_ tx RabidGravy :) 18:14
RabidGravy so many things so little time 18:47
FROGGS nods
lucasb_ is more like "so much time, so little to do" 18:48
FROGGS O.o 18:49
p3rln00b Clearly we need to start putting time dilation to good use.
en.wikipedia.org/wiki/Time_dilation get cracking!
p3rln00b snaps a whip
RabidGravy weeeeelllll do feel free to pitch in - I've got about ten modules on the go, I seemed to have rendered my CFT not so copious and not so free 18:50
harmil_wk Can subroutines be inlined? Or is that a future optimization? 18:53
FROGGS they can and are inlined if they are worth it 18:54
jnthn Both MoarVM and the JVM can do multi-level inlining also
(Can inline things that themselves have had things inlined) 18:55
And yes, there's a "is this worth it" assessment. 18:56
harmil_wk Nice, thanks
p3rln00b weeeeeeeeeeeeeeeeeeeee 18:57
harmil_wk This is odd... I might be doing something dumb, but I think that .pick on a large Range is giving a very odd result. 19:09
m: say (:2((1~(0 x 80))) ..^ :2((1~(0 x 81)))).pick.base(2) 19:10
camelia rakudo-moar 605f27: OUTPUT«111101000011110010101000000000000000000000000000001011101101100001011000110000001␤»
harmil_wk Those middle zeros will always be there
m: say (:2((1~(0 x 80))) ..^ :2((1~(0 x 81)))).pick.base(2)
camelia rakudo-moar 605f27: OUTPUT«101011101000110000111000000000000000000000000000001001111100011000011000011101001␤»
RabidGravy jnthn, did I tell you I tested the STOMP client against RabbitMQ and that it works fine?
harmil_wk Simpler example without the string-construction: 19:12
m: say ((2**80) ..^ (2**81)).pick.base(2)
camelia rakudo-moar 605f27: OUTPUT«100011101100100110010000000000000000000000000000000000010101111110101101010011001␤»
lucasb maybe you found some bias of .pick when handling large numbers? 19:15
yoleaux 11 Apr 2016 20:29Z <[Coke]> lucasb: the REPL prints the return value if and only if you didn't print anything.
harmil_wk I'll rakudobug it... 19:16
lucasb oh, I lost my trailing underscore, yay :) 19:16
RabidGravy boom shang a lang! 19:22
p3rln00b s: (1..2), 'pick', \() 19:33
SourceBaby p3rln00b, Sauce is at github.com/rakudo/rakudo/blob/605f...ge.pm#L515
AlexDaniel What's the easiest way to provide fallback subroutines if some module is not installed? 19:33
AlexDaniel ah no, not that shit again 19:34
AlexDaniel /o\ 19:34
geekosaur this one is expected, they're rolling rebooting 19:34
p3rln00b What shit?
p3rln00b Yeah. Sub to messages :) 19:34
RabidGravy right that's another not Perl 6 thing fixed today 19:37
p3rln00b m: use MONKEY-GUTS; say nqp::rand_I(1208925819614629174706176,Int).base: 2 19:38
camelia rakudo-moar 605f27: OUTPUT«11011001111000100010000000000000000000000000000000110111010110001110110100000101␤»
p3rln00b harmil_wk: ^ golfed a bit
AlexDaniel: not sure about "easiest" but this one works: github.com/zoffixznet/perl6-IRC-Cl...nt.pm6#L24 19:39
p3rln00b Can be simplified. But the trick is to not to `require` in mainline 19:39
harmil_wk p3rln00b: that's much scarier when you put it that way... I'd kind have assumed that the random number generator would succeed or fail on large numbers, not just insert more zeroes! 19:40
p3rln00b :) 19:40
harmil_wk Ah, I think I see what's going on. It's generating 32 bits of random number, shoving it into the first 64 bits and then, if the number is more than 64 bits, it repeats for the next block... 19:42
p3rln00b ah
DrForr Mersenne twister only has a certain number of bits, I think that's what it's still using. 19:43
harmil_wk Might be more complicated than that, but I think that's kind of the basis. Note for larger numbers, it gets really odd.
m: use MONKEY-GUTS; say nqp::rand_I(2**200-1,Int).base: 2
camelia rakudo-moar 605f27: OUTPUT«11001100110010110000000000000000000000000000000101100100010010010001010110101000000000000000000000000000001000101001000000011111101110111010110001100100110000000000001010001111000011111001001000101␤»
harmil_wk Or maybe not... I guess that looks like overlapping 64-bit regions. 19:43
harmil_wk Yeha, that was confirmed via email on the rakudobug too 19:46
AlexDaniel p3rln00b: perhaps it can be simplified: require Terminal::ANSIColor <&colored>; &colored = ::<&colored>; 19:57
ah no
sure, you'd have to give it another name
nvm
AlexDaniel or… maybe not… 19:58
skids ergh. omg. systemd craziness. 20:00
apparently now touching any /etc/init.d/* scripts requires a daemon-reload. And if something is disabled in /etc/default, systemd says it started it, even though it did not. 20:01
harmil_wk skids: that's because systemd knows what you needed and ignores what you said you wanted. :) 20:16
jnthn RabidGravy: No, you didn't mention that (or at least, not while I was reading). fwiw, RabbitMQ is that I used to try it out against. 20:43
RabidGravy jnthn, I'll have to get ActiveMQ working then :) Which was actually the reason I was testing it in the first place ;-) 21:06
jnthn Yeah, didn't try it against that. In theory, STOMP is STOMP. In practice... ;-) 21:07
RabidGravy actually it's a mystery how the activemq works on fedora 21:29
I install the package but dob't know what it installed 21:30
jnthn 'fraid I didn't do ActiveMQ so can't help much :) 21:36
Did a bunch of kubernetes this week though...dunno if a module wrapping its API might be useful 21:37
DrForr The way ORA is flogging it it must be popuar.
*popular
jnthn ORA are flogging kubernetes? 21:39
jnthn had no idea :)
I like it so far, though
DrForr Woops, was reading the wrong website :)
RabidGravy what is kubernetes? 21:42
RabidGravy sounds like some southern mediterannean menu option 21:43
geekosaur it's an container management framework. (it's also the correct transliteration of what the ancient Greek would actually have been for "cybernetic", had they had the word) 21:47
RabidGravy ah like docker on steroids 21:48
geekosaur notes he forgot to change the an when rephrasing what he was saying, whoops
jnthn Well, it uses Docker 21:49
Deals with rolling container configurations out across clusters, configuring replication, etc.
I guess it's to production what something like docker-compose is to development 21:50
perlawhirl hi perlers 21:52
RabidGravy boo
timotimo yo
perlawhirl Earlier this year I had the silly idea to write a datetime module for parsing and formatting, but unfortunately i really don't have the time to give it much love 21:53
i've put it up here: github.com/0racle/p6-dately
RabidGravy cool
perlawhirl I haven't worked on it in over 6 months; it's low on comments and testts, and high on ugly code
but it's got some good ideas... so hopefully someone wants to clone it and improve it 21:54
or should i just put it on ecosystem under Acme.
since i haven't really thoroughly tested it
perlawhirl As far as I know... i don't think there are any other modules on ecosystem that do a pure perl version of strptime 21:55
xxdxdd When running 'rakudobrew build moar' I get the response 'Insecure dependency in mkdir while running setuid at /home/benj/.rakudobrew/bin/rakudobrew line 21.' 21:55
RabidGravy there's something that claims to I don't think it was complete last I looked
perlawhirl ye... DateTime::Format, i belive. it's still NYI 21:56
RabidGravy xxdxdd, that's a Perl 5 taint error 21:56
RabidGravy is your rakudobrew actually setuid? 21:57
(and if so why?)
xxdxdd I don't understand
RabidGravy which part don't you understand 21:58
xxdxdd everything lol
what do you mean by the question "is your rakudobrew actually setuid?" 21:59
RabidGravy er 22:00
RabidGravy the Perl 5 (which is what rakudobrew is written in,) knows that the script has been made "setuid" (that is the permissions indicate that the user should be changed on execution,) and performs some checks on inputs 22:02
if you do "ls -l /home/benj/.rakudobrew/bin/rakudobrew" what does it say? 22:03
xxdxdd -rwxr-xr-x 1 root root 28611 Oct 7 17:48 /home/benj/.rakudobrew/bin/rakudobrew 22:05
RabidGravy weird 22:06
seatek maybe it does that if it's being installed as user root
maybe it wants to be a normal user
xxdxdd I changed permissions and it didn't fix i t
seatek what are you logged in as?
who
whoami?
whoami
that file is owned by root 22:07
which could only happen if you ran it as root
at some point
RabidGravy yeah but I'm pretty sure the taint check is only turned on explicitly if it's setuid, which that isn't 22:11
RabidGravy of course the env or perl could be 22:12
implicitly rather
seatek i think he ran it as root
and it didn't like it
and was confused about what it was complaining about 22:13
but i'm guessing :)
xxdxdd I'm logged in as benj 22:14
and I changed the permissions
seatek to what?
chmod or chown ? 22:15
xxdxdd chmod
u+x
seatek can you do this? cd;sudo chown -R benj.benj .rakudobrew (that will change all the files to be owned by you and not root in .rakudobrew) 22:17
xxdxdd still didn't fix
RabidGravy what does "ls -l `which perl`" say? There must be something setuid there
seatek good idea :) 22:18
when you ran your rakudobrew build more -- did you "sudo" it, or did you run it as you, benj? 22:19
moar
xxdxdd I ran it as benj 22:19
RabidGravy the message is entirely correct if the taint checking was turned on by it being run setuid somehow
xxdxdd when I do the ls -l
root owns it
seatek what are the rwx bits on it? 22:20
xxdxdd -rwsr-xr-x 2 root root
seatek aha!
RabidGravy yes
xxdxdd how do I fix it lol
do I just chown
seatek how did that happen?
RabidGravy chmod 0755
seatek yeah u-s
lucasb I would just rm -rf the rakudobrew dir and clone again, as the normal user this time 22:21
seatek or 0755 is clearer ;)
lucasb oops, no, the moar/nqp/rakudo clones may be there... and it's slow to clone everything again
xxdxdd it still doesn't work ;-; 22:22
seatek same error about suid?
xxdxdd I recloned the repo without sudo this time
yeah
and I also chown 0755 /usr/bin/perl
seatek yeah don't do sudo
xxdxdd still no fix
lucasb xxdxdd: do this: which perl 22:23
and then ls -l `which perl`
xxdxdd ./usr/bin/perl
RabidGravy which part was "-rwsr-xr-x" the rakudobrew or the perl?
xxdxdd -rwxr-xr-x 2 755 root 1907192 mar 13 2016 /usr/bin/perl
perl
seatek insane 22:23
lucasb well, the perl binary seems ok
seatek it's owned by user 755 22:24
:)
lucasb oh, right!
RabidGravy this is all going pete tong
seatek i'm wearing pinwheels
geekosaur perl used to ship suid on some platforms, to allow it to emulate suid shell scripts (long, horrid story best forgotten)
seatek sudo chown root /usr/bin/perl 22:25
i can remember that :)
xxdxdd did that seatek
still no fix
RabidGravy geekosaur, but not in living memory eh? :)
geekosaur living memory for some of us, at least 22:26
lucasb reinstall your whole distribution :D
lol, just kidding
seatek ls -l /usr/bin/perl
xxdxdd -rwxr-xr-x 2 root benj 1907192 Mar 13 2016 /usr/bin/perl 22:26
seatek i'm going to kill myself
xxdxdd did I do something wrong lol
seatek chown root.root /usr/bin/perl 22:27
RabidGravy right but something has 'rws' there
seatek sudo chown root.root /usr/bin/perl
xxdxdd done seatek
still doesnt fix
seatek ls -ld .rakudobrew 22:27
lucasb xxdxdd: just curiosity, what linux distro are you on?
seatek ls -ld ~/.rakudobrew
RabidGravy whether ir's the perl, the env or the rakudobrew script
xxdxdd ubuntu 22:28
but it's one with no dm or anything preinstalled
drwxrwxr-x 4 benj benj 4096 ... rakudobrew
.rakudobrew*
geekosaur someone overwrote that perl
seatek that could be too
aw, the fun days 22:29
geekosaur the ubuntu perl is built with the perl shared object, so /usr/bin/perl is only around 18K
seatek cd; ls -l .rakudobrew
oh that' sfrom march 13 -- good eye 22:30
xxdxdd drwxrwxr-x 2 benj benj ... bin
seatek no mine is th esame thing here
xxdxdd -rw-rw-r-- benj benj ... README.md
lucasb ls -ld ~/.rakudobrew
the option -d is important here :)
xxdxdd drwxrwxr-x 4 benj benj ... /home/benji/.rakudobrew 22:31
geekosaur hm, maybe they changed it recently. (I'm actually on Mint, suppose they switched on Xenial for some reason but past releases also used the perl shared object...)
lucasb are you benj or benji? 22:31
xxdxdd benj
lucasb your home dir says different :)
xxdxdd oh that was a typo 22:32
lol
sorry
lucasb ah, ok
masak .oO( why copy-paste when you can make typos? ) :P
seatek would you mind starting it again? you could alwyas just move your existing .rakudobrew out of the way
i think he's not in a gui ;) 22:33
xxdxdd it is in a vm
seatek mv .rakudobrew .rakudobrew-funny
xxdxdd and can't use the two way clipboard thingy because virtualbox guest crap isnt installed
seatek and then do the rakudobrew install again, only not run as root this time
xxdxdd want me to just clone it again
masak 'night, #perl6 22:34
seatek yeah might want to move your .perl6 away too -- mv .perl6 .perl6-funny
then you can have a fresh start 22:35
but just don't do "sudo" on any of it
xxdxdd recloned it
without any sudos
still doesn't work
seatek i still haven't found a way to do perl6 site-wide yet
how did you clone it?
did you do git clone github.com/tadzik/rakudobrew ~/.rakudobrew 22:37
xxdxdd yep
that's how I do it
seatek echo 'export PATH=~/.rakudobrew/bin:$PATH' >> ~/.bashr
that too?
and then you sourced it?
sorry .bashrc 22:38
xxdxdd yep
I do that
seatek go ahead and log out.. then log back in
then cat .bashrc 22:39
xxdxdd at the very end of bashrc
seatek set | grep PATH
xxdxdd "export PATH=~/.rakudobrew/bin:$PATH"
seatek do you see rakudobrew there?
xxdxdd yep 22:40
./home/benj/.rakudobrew/bin
seatek who owns it?
lucasb tadzik owns it
xxdxdd benj
seatek does it have any "s"'s on the left?
what?
xxdxdd me
the user benj
seatek any "s"'s on the left when you do ls -l ? 22:41
dalek osystem: a741e59 | (Tom Browder)++ | META.list:
update per conversation: ugexe and moritz
22:59
tadzik owns it? :o 23:01
geekosaur someone said chown when they meant chmod 23:07
ugexe tbrowder: your source-url is a 404, it should be github.com/tbrowder/Net-IP-Lite-Pe...1.1.tar.gz 23:29
note if you update the META file to reflect that url you need to bump the version, release, and add the new release url as well. or if you're feeling lazy just change the source-url and replace your previous ecosystem META.list entry url with this updated META6.json link 23:30