Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-10-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 lizmat joined #perl6
00:09 Geth ¦ modules.perl6.org/cpan-support: 0a3fa9823c | (Zoffix Znet)++ | 5 files
00:09 Geth ¦ modules.perl6.org/cpan-support: Render markdown READMEs
00:09 Geth ¦ modules.perl6.org/cpan-support: review: https://github.com/perl6/modules.perl6.org/commit/0a3fa9823c
00:09 Zoffix grrr.. that was positively unfun
00:09 * Zoffix switches personal preference for Markdown over POD6 to prefer POD6 instead
00:09 Zoffix Gotta be easier to manipulate
00:11 Zoffix Well, I think the prototype is merge-ready. It's presentable and the rest can be polished on master
00:11 cdg joined #perl6
00:15 BenGoldberg joined #perl6
00:23 hoffentlichja joined #perl6
00:30 Zoffix BTW, "expression" JIT backend got merged today. Over a year of work. Almost 500 commits. Will let us optimize more. https://github.com/MoarVM/MoarVM/pull/674
00:30 Zoffix rakudo HEAD already using it
00:30 Zoffix brrt++
00:31 skids wow.
00:31 hoffentlichja Zoffix: nice, I saw your tweet
00:31 hoffentlichja will it being used by default or do you have to specify some flag to use the JIT?
00:31 hoffentlichja be*
00:33 Zoffix JIT is used by default, unless you're on 32bit box
00:34 hoffentlichja will there be any difference felt in performance with he JIT enabled compared to previous versions?
00:35 hoffentlichja I mean right now, before optimizations
00:36 dpk is there a formal definition somewhere of how Perl 6 matches character classes like \w and \d given that it works on graphemes not codepoints? 'word character' and 'digit character' are, in Unicode, properties of codepoints i believe
00:38 Zoffix buggable: speed 10 :4
00:38 buggable Zoffix,     ↑      dates: 2017-10-01–2017-10-03
00:38 buggable Zoffix,  ▄  █      range: 3.154s–3.579s
00:38 buggable Zoffix, ▅█▃▇█▅     speed: 2% faster
00:38 buggable Zoffix, ██████▃▁▄▆
00:38 TEttinger dpk: I don't think they are definitively defined in unicode, word character in particular has some weird behavior across platforms that seems very non-standardized
00:38 Zoffix hoffentlichja: I'd say it's within the noise and I think that was expected. I'm really a n00b with this stuff. You could try hunting down brrt on #moarvm. They're the ones who did all this work and would know more
00:38 dpk where the first codepoint of the grapheme is a word/digit character it seems to match, but there are Complications™ about the definition of a grapheme
00:39 dpk TEttinger: well, right. how does Perl 6 definitively define it for Perl 6 purposes?
00:40 Zoffix The docs say "\w matches a single word character; i.e., a letter (Unicode category L), a digit or an underscore. "
00:40 hoffentlichja Zoffix: ok thanks, It's not so important, I was only curious
00:40 TEttinger it's a good question. I've seen some places allow a-zA-Z0-9_ only, others extend that to all Letter category and Number category codepoints plus either _ or the whole subcategory of connectors
00:41 TEttinger so that sounds like L, Nd, and the single char _
00:41 Zoffix In this section: https://docs.perl6.org/language/regexes#Backslashed,_predefined_character_classes
00:41 TEttinger oh that's weird, N not Nd
00:41 dpk Zoffix: so any grapheme containing one of those codepoints will match? (which, given that limited definition, i think implies that it will be the first codepoint in the grapheme)
00:42 Zoffix m: say "༳" ~~ /\w/
00:42 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
00:42 Zoffix TEttinger: No don't seem to match
00:42 dpk there are, as i mentioned, complications
00:42 TEttinger m: say "༳" ~~ /\d/
00:42 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
00:42 TEttinger docs seem wrong then
00:42 Zoffix dpk: no idea. I don't know this stuff, but I think a combiner would attain properties of the char its being applied on, so "7\x[308]" would match a \d and a \d
00:43 TEttinger "\d matches a single digit (Unicode property N)"
00:43 TEttinger which seems empirically incorrect...
00:43 dpk yeah, that's what i've found in my experimentation so far
00:43 TEttinger m: say "1" ~~ /\d/
00:43 camelia rakudo-moar 98fae3: OUTPUT: «「1」␤»
00:43 dpk m: say "1\x[300]23" ~~ /\d+/
00:43 camelia rakudo-moar 98fae3: OUTPUT: «「1̀23」␤»
00:43 Zoffix Yeah. We should get moritz++ to rake through the docs and correct them once he's done with his grammar book :PO)
00:44 TEttinger uhhh
00:44 Zoffix Or samcv++ to rake through the docs and correct them, once she rested from the Unicode grant :D
00:44 TEttinger where's samcv when you need her unicode expertise...
00:44 samcv hey TEttinger
00:44 samcv i have been summoned!
00:44 Zoffix \o/
00:44 TEttinger hallo!
00:44 TEttinger do you know why 1 with a diacritic counts as a \d char?
00:45 dpk m: say "\x1100\x11A2" ~~ /\w/
00:45 camelia rakudo-moar 98fae3: OUTPUT: «「ᄀᆢ」␤»
00:45 dpk okay, so it handle Hangul correctly
00:45 TEttinger dinner for meeeee
00:46 dpk m: say "🇪🇺" ~~ /\w/
00:46 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
00:46 Zoffix TEttinger: because the resultant grapheme still has Nd property
00:46 dpk Zoffix: Nd isn't a property of graphemes though, is it? it's a property of codepoints
00:47 Zoffix It's a pain in the butt when you want to just match digits
00:47 dpk well then you can just say [0-9]
00:47 Zoffix Oh, no idea
00:47 dpk it explains that in the docs
00:47 Zoffix No, but I want all the digits
00:47 dpk m: say "1\x[300]23" ~~ /[0-9]+/
00:47 camelia rakudo-moar 98fae3: OUTPUT: «5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at <tmp>:1␤------> 3say "1\x[300]23" ~~ /[07⏏5-9]+/␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']'␤at <tmp>:1␤------> 3…»
00:47 Zoffix m: say "1\x[300]23" ~~ /<[0..9]>+/
00:47 camelia rakudo-moar 98fae3: OUTPUT: «「23」␤»
00:47 samcv TEttinger, well because it matches the base character
00:47 samcv which is a digit
00:48 Zoffix You basically have to hack (at the moment, I hope in the future we get better interface for this)
00:48 dpk m: say ("1" + 1)
00:48 camelia rakudo-moar 98fae3: OUTPUT: «2␤»
00:48 dpk m: say ("①" + 1)
00:48 camelia rakudo-moar 98fae3: OUTPUT: «Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5①' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤»
00:48 samcv Zoffix, like something to say, nomark?
00:48 Zoffix `No` can only be used as literals. Use unival() to convert them from string
00:48 Zoffix samcv: yeah
00:48 dpk m: say unival("①")
00:48 camelia rakudo-moar 98fae3: OUTPUT: «1␤»
00:48 Zoffix so, say, `\d` matches just the base characters without any stuff on them
00:49 Zoffix m: say ① + 2
00:49 camelia rakudo-moar 98fae3: OUTPUT: «3␤»
00:49 dpk m: say unival("Ⅻ")
00:49 camelia rakudo-moar 98fae3: OUTPUT: «12␤»
00:49 Zoffix m: say Ⅻ²
00:49 camelia rakudo-moar 98fae3: OUTPUT: «144␤»
00:49 dpk m: say unival("1\x[300]23")
00:49 camelia rakudo-moar 98fae3: OUTPUT: «1␤»
00:50 dpk that … seems like a potential security issue for some apps
00:50 Zoffix https://6lang.party/post/Anguish--Invisible-Programming-Language-and-Invisible-Data-Theft
00:50 Morfent joined #perl6
00:51 Zoffix Oh the unival carying only about the first char...
00:51 Zoffix m: say unival("1\x[300]dasdsadsadsadsadasdsa")
00:51 camelia rakudo-moar 98fae3: OUTPUT: «1␤»
00:51 Zoffix Yeah. /me files
00:51 dpk m: say ("h\x[300]" ~~ /<:M>/)
00:51 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
00:51 dpk so the grapheme only has the properties of its base character, in other words
00:51 dpk m: say ("\x[300]" ~~ /<:M>/)
00:51 camelia rakudo-moar 98fae3: OUTPUT: «「̀」␤»
00:52 Zoffix Filed as https://rt.perl.org/Ticket/Display.html?id=132217
00:53 dpk 'base character' not being particularly well defined, but i think all the cases of graphemes that aren't (U+xxxx + Mn) happen to have the same properties for all characters in the grapheme. probably. i think
00:53 dpk oh no, wait, ZWJ definitely doesn't have the properties of the characters it joins
00:54 dpk Zoffix: thanks!
00:55 samcv also Zoffix if someone can tell me how to add new options for regex that would be nice
00:55 samcv like on the nqp side
00:56 samcv also not sure the code that messes up ignoremark for variables :(
00:56 Zoffix m: say ~("1\x[300]23" ~~ /[ (\d+) <?{$0.tail.ord.chr eq $0.tail}> ]+/)
00:56 camelia rakudo-moar 98fae3: OUTPUT: «23␤»
00:56 dpk m: say "🇪🇺" ~~ /<:So>/
00:56 camelia rakudo-moar 98fae3: OUTPUT: «「🇪🇺」␤»
00:56 Zoffix samcv: maybe moritz would know?
00:56 dpk m: say "🇪\x[300]" ~~ /<:So>/
00:56 camelia rakudo-moar 98fae3: OUTPUT: «「🇪̀」␤»
00:56 samcv lemme see if i have an rt
00:59 Zoffix k, I turned off modules.perl6.org cron job while I update stuff.... mentioning in case I forget to turn it back on again, like last time.
01:00 dpk m: say "👨‍👨‍👦".codepoints
01:00 camelia rakudo-moar 98fae3: OUTPUT: «No such method 'codepoints' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
01:00 dpk m: say "👨‍👨‍👦".codes
01:00 camelia rakudo-moar 98fae3: OUTPUT: «5␤»
01:00 Zoffix One benefit of CPAN storage is it's a hellalot faster to process than p6c dists
01:00 dpk m: say "👨‍👨‍👦" ~~ /<:So>/
01:00 camelia rakudo-moar 98fae3: OUTPUT: «「👨‍👨‍👦」␤»
01:01 dpk m: say "👨‍👨‍👦" ~~ /\x200D/
01:01 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
01:01 khw joined #perl6
01:01 dpk is there any way to match a grapheme with a particular codepoint in it, then?
01:01 samcv hmm i can probably maake .codes faster. though idk if it's that important. i know i made it 2.5x faster by making a moarvm function for it. .codes used to be .NFC.elems
01:02 samcv just thought of an optimization i can make
01:02 dpk i assumed NFG meant .codes was O(1)
01:03 dpk no wait, that's the other one
01:03 samcv yes .codes is still O(1)
01:03 dpk cannot think straight at 3am
01:03 samcv but it no longer renormalizes it into an array and then gets the .elems
01:05 samcv not sure if utf8-c8 synthetics should be counted as 1 or not with .codes. currently they are counted as many
01:06 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').ords
01:06 camelia rakudo-moar 98fae3: OUTPUT: «(20 20 1114109 120 65 70)␤»
01:06 samcv i'm inclined to keep .ords and .codes always returning the same numbers though
01:06 samcv recently i fixed  it if you read, made sure string operations wouldn't "flatten" utf8-c8 synthetics
01:06 samcv m: say Buf.new(20,20,1199).decode('utf8-c8')
01:06 camelia rakudo-moar 98fae3: OUTPUT: «􏿽xAF␤»
01:07 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').graphs
01:07 camelia rakudo-moar 98fae3: OUTPUT: «No such method 'graphs' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
01:07 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').Str.graphs
01:07 camelia rakudo-moar 98fae3: OUTPUT: «No such method 'graphs' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
01:07 samcv m: say Buf.new(20,20,1199).encode('utf8-c8').Str.graphs
01:07 camelia rakudo-moar 98fae3: OUTPUT: «No such method 'encode' for invocant of type 'Buf'. Did you mean 'decode'?␤  in block <unit> at <tmp> line 1␤␤»
01:07 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').^WHAT
01:07 camelia rakudo-moar 98fae3: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Cannot use .^ on a non-identifier method call␤at <tmp>:1␤------> 3.new(20,20,1199).decode('utf8-c8').^WHAT7⏏5<EOL>␤    expecting any of:␤        method arguments␤»
01:07 samcv weird
01:08 samcv say Buf.new(20,20,1199).decode('utf8-c8').Str.graphs
01:08 samcv No such method 'graphs' for invocant of type 'Str'
01:08 evalable6 samcv, rakudo-moar 98fae3d84: OUTPUT: «(exit code 1) No such method 'graphs' for invocant of type 'Str'␤  in block <unit> at /tmp/3Kb6URnnbI line 1␤»
01:08 samcv that… shouldn't happen
01:08 Zoffix m: say "".graphs
01:08 camelia rakudo-moar 98fae3: OUTPUT: «No such method 'graphs' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
01:08 Zoffix It's not a method tho?
01:08 samcv oh
01:08 samcv sorry i'm not thinking...
01:08 Zoffix :)
01:09 samcv i mean. at least thinking too hard on other bigger problems :p
01:09 dpk m: "\r\n\x[300]".chars
01:09 camelia rakudo-moar 98fae3: ( no output )
01:09 dpk m: say "\r\n\x[300]".chars
01:09 camelia rakudo-moar 98fae3: OUTPUT: «2␤»
01:09 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').chars
01:09 camelia rakudo-moar 98fae3: OUTPUT: «3␤»
01:09 samcv m: say Buf.new(20,20,1199).decode('utf8-c8').codes
01:09 camelia rakudo-moar 98fae3: OUTPUT: «6␤»
01:09 samcv but you guys think it's probably good that .ords and .codes are in sync? less suprising i think
01:10 * Zoffix shrugs
01:10 samcv i would like utf8-c8 graphemes to count as 1 code. but. i mean
01:10 samcv they're really bytes not codes
01:11 samcv and it just counts the representation if you did want to write it out using the internal representation form. of <Plane 16 Private Use-10FFFD> + 'x' + hex
01:11 samcv at least the docs tell you to count the bytes to use .Buf
01:21 llfourn joined #perl6
01:29 zakharyas joined #perl6
01:36 cdg joined #perl6
01:55 ilbot3 joined #perl6
01:55 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:58 Geth ¦ modules.perl6.org: 5dab433943 | (Zoffix Znet)++ | Build.PL
01:58 Geth ¦ modules.perl6.org: Add AssetPack's `recommends` as deps
01:58 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/5dab433943
01:59 Cabanossi joined #perl6
02:00 Zoffix ♩ ♪ ♫ ♬ *guitar solo* ♩ ♪ ♫ ♬
02:01 Zoffix w00t: http://modules.perl6.org/dist/Number::Denominate:cpan:ZOFFIX
02:01 Zoffix 50-100 github dists currently missing; got a lot of network errors during fresh rebuild; they'll come back on future runs
02:01 Zoffix eco: from:cpan
02:01 buggable Zoffix, Found 26 results: Acme::Anguish, Acme::Meow, App::Mi6, Backtrace::AsHTML, Bailador. See https://modules.perl6.org/s/from%3Acpan
02:02 Zoffix \o/ /o/ \o\ |o| -o- \o\
02:04 grondilu_ joined #perl6
02:06 MasterDuke cool beans
02:07 Geth ¦ modules.perl6.org: 2977144ae7 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Root.pm
02:07 Geth ¦ modules.perl6.org: Hide core dists on `from:` or `author:` searches
02:07 Geth ¦ modules.perl6.org:
02:07 Geth ¦ modules.perl6.org: Unless `from:` is from `core`
02:07 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/2977144ae7
02:09 hoffentlichja is there a possibility that any breaking changes would occur in the future or is it all set and it's all about the implementation now? is it ok to write something more serious in perl6 without having to worry about it?
02:10 hoffentlichja I know perl6 was officially released 2015 and that there's perl6 specifications that are implemented by rakudo and moar, but I want to make sure I understand what that means and what its state is
02:10 Geth ¦ modules.perl6.org: 0325ed4454 | (Zoffix Znet)++ | 3 files
02:10 Geth ¦ modules.perl6.org: Add search form to dist pages
02:10 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/0325ed4454
02:12 geekosaur joined #perl6
02:13 Zoffix hoffentlichja: we try very hard not to add any changes that would break current 6.c-errata roast (spec) branch. Theoretically, no breaking changes would happen. Practically, there is a lot of behaviour that's undefined, so if you end up using it, it might break. Somewhere starting with next year, we'll release 6.d language and 6.c compiler will be somewhat (more) change-safe. So if you got `use v6.c` in your
02:13 Zoffix code, it'll continue using 6.c compiler. So basically, we don't plan to break anything, but sometimes it happens
02:14 Zoffix And it'll start happening less and less as time moves on and more and more stuff is covered by the spec and more and more code is polished
02:15 hoffentlichja Zoffix: that's understandable, but I was thinking in terms of the API
02:15 Zoffix I think it's stable and usable.
02:16 hoffentlichja that's great to hear
02:19 kerframil joined #perl6
02:20 Geth ¦ modules.perl6.org: 3e92008bf7 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder.pm
02:20 Geth ¦ modules.perl6.org: Move CPAN dists to be processed before p6c
02:20 Geth ¦ modules.perl6.org:
02:20 Geth ¦ modules.perl6.org: They're MUCH faster to process, so it makes sense to chug through
02:20 Geth ¦ modules.perl6.org: them first.
02:20 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/3e92008bf7
02:22 Zoffix k, update is live; cron job is back in service. I backed up old db into ~/Oct-3-2017.modulesperl6.db.backup if needed.
02:22 * Zoffix goes to bed
02:22 Zoffix \o
02:22 hoffentlichja Zoffix: good night
02:23 shadoxx joined #perl6
02:23 hoffentlichja the morning is just arriving here
02:33 mcmillhj joined #perl6
02:44 noganex_ joined #perl6
02:47 Xliff Zoffix: Regarding your blog post on invisible chars, proper pre-commit hooks with sensible filtering would take care of that quite nicely.
02:47 Xliff Well, FEH
02:47 Xliff .tell Zoffix Regarding your blog post on invisible chars, proper pre-commit hooks with sensible filtering would take care of that quite nicely.
02:47 yoleaux Xliff: I'll pass your message to Zoffix.
02:51 yht joined #perl6
03:00 dpk m: say "héllo" ~~ /hello/
03:00 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
03:01 dpk m: say "héllo" ~~ /he<:M>llo/
03:01 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
03:02 hoffentlichja is there any difference between .. and ... in ranges like 1..10 ?
03:02 khw joined #perl6
03:04 wamba joined #perl6
03:05 shadoxx_ joined #perl6
03:08 MasterDuke hoffentlichja: yes. ... will try to figure out sequences
03:10 hoffentlichja MasterDuke: what does that mean exactly?
03:11 hoffentlichja m: for (1,4...20) { .say }
03:11 camelia rakudo-moar 98fae3: OUTPUT: «1␤4␤7␤10␤13␤16␤19␤»
03:11 hoffentlichja I see this doesn't work with ..
03:13 MasterDuke yeah. https://docs.perl6.org/language/operators#index-entry-sequence_operator has some more details
03:14 hoffentlichja MasterDuke: ok thanks, I haven't gotten to that part yet
03:14 shadoxx joined #perl6
03:17 lizmat joined #perl6
03:18 MasterDuke the tldr is that .. creates a Range and ... creates a Seq. in the case of something simple like 1 .. 4 and 1 ... 4 they'll pretty much act the same, but for more complicated constructs they'll do different things
03:18 hoffentlichja I see
03:27 abraxxa joined #perl6
03:43 redhands joined #perl6
03:44 kyan joined #perl6
03:48 redhands tryperl6.org finally has an updated rakudo image but probably can't handle more than a handful of concurrent sessions *sad*, also could be cuter (like tryruby.org)
03:48 rba__ joined #perl6
03:58 Cabanossi joined #perl6
04:02 weabot joined #perl6
04:05 weabot joined #perl6
04:13 cdg joined #perl6
04:20 Exodist joined #perl6
04:27 Ven`` joined #perl6
04:28 weabot joined #perl6
04:49 nativecallable6 joined #perl6
04:49 evalable6 joined #perl6
04:49 quotable6 joined #perl6
04:49 committable6 joined #perl6
04:49 bloatable6 joined #perl6
04:49 bisectable6 joined #perl6
04:49 unicodable6 joined #perl6
04:49 greppable6 joined #perl6
04:49 benchable6 joined #perl6
04:49 releasable6 joined #perl6
04:49 coverable6 joined #perl6
04:49 squashable6 joined #perl6
04:49 statisfiable6 joined #perl6
04:54 Todd joined #perl6
04:54 Todd Hi All,  I need some syntax help with the following:
04:54 Todd perl6 -e '( my $day, my $day-of-week ) = DateTime.now{.day, .day-of-week}; say "$day\n$day-of-week";'
04:55 Todd What am I doing wrong?
04:58 Cabanossi joined #perl6
05:00 ryn1x joined #perl6
05:14 yht joined #perl6
05:16 rba_ joined #perl6
05:21 shadoxx joined #perl6
05:26 ufobat joined #perl6
05:27 wamba joined #perl6
05:27 xtreak joined #perl6
05:30 xtreak joined #perl6
05:31 rba__ joined #perl6
05:31 domidumont joined #perl6
05:31 lowbro joined #perl6
05:31 lowbro joined #perl6
05:35 Todd okay an easier one.  how do I say either a - or a + in this at the beginning   `if ( $x ~~ /^"-"/ ) {}
05:38 hoffentlichja Todd: I think everybody is still asleep right now, the europeans will start being active soon :)
05:38 domidumont joined #perl6
05:38 Todd aw shucks!
05:38 xtreak joined #perl6
05:39 Todd I get "-7" and need to turn it into "-0700".  -11 -> -1100, +5-> +0500.
05:43 mcmillhj joined #perl6
05:46 shadoxx joined #perl6
05:46 Todd bye bey
05:59 mcmillhj joined #perl6
06:03 nadim joined #perl6
06:21 domidumont joined #perl6
06:32 leont_ joined #perl6
06:32 shadoxx joined #perl6
06:46 lizmat joined #perl6
06:52 redhands left #perl6
06:53 shadoxx joined #perl6
06:58 Cabanossi joined #perl6
07:01 wamba joined #perl6
07:08 u-ou why do I get 404 when I click IO::Socket::Async::SSL from modules.perl6.org?
07:09 xtreak joined #perl6
07:13 xtreak joined #perl6
07:14 Geth ¦ ecosystem: Tyil++ created pull request #371: Add MPD::AutoQueue to META.list
07:14 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/371
07:18 xtreak joined #perl6
07:18 shadoxx joined #perl6
07:19 eater u-ou: it's postfixing author fields
07:19 yoleaux 30 Sep 2017 01:18Z <MasterDuke> eater: some comments about the IPv6 io::socket::async test https://irclog.perlgeek.de/perl6-dev/2017-09-30#i_15237813
07:21 eater u-ou: and some people have email addresses in there (which is only sane) and it's breaking on that apperently
07:21 u-ou ok :)
07:23 DrForr Wow. I could make a career out of correcting the English in Czech corporate training manuals.
07:25 jast if someone is willing to pay for those corrections, sure... :)
07:27 daxim joined #perl6
07:28 Cabanossi joined #perl6
07:30 DrForr Of course they're not, because the market isn't there. But good god, even Google does better... at least in some cases.
07:30 eater u-ou: https://github.com/perl6/modules.perl6.org/issues/84
07:32 DrForr "Click gradually on the blue frame with picture." for instance.
07:34 mr-foobar joined #perl6
07:37 u-ou eater: I see.
07:39 dj_goku joined #perl6
07:39 dj_goku joined #perl6
07:40 okl joined #perl6
07:40 patrickz joined #perl6
07:40 shadoxx joined #perl6
07:40 El_Che DrForr: are you sure the market isn't there?
07:41 El_Che DrForr: and don't click like a brute on the button
07:41 DrForr Oh, I was *hammering* on that beast, nearly broke the switch twice :)
07:42 Geth ¦ ecosystem: 0eb645c113 | (Patrick Spek)++ | META.list
07:42 Geth ¦ ecosystem: Add MPD::AutoQueue to META.list
07:42 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/0eb645c113
07:42 Geth ¦ ecosystem: 1b60519357 | Altai-man++ (committed using GitHub Web editor) | META.list
07:42 Geth ¦ ecosystem: Merge pull request #371 from Tyil/master
07:42 Geth ¦ ecosystem:
07:42 Geth ¦ ecosystem: Add MPD::AutoQueue to META.list
07:42 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/1b60519357
07:42 darutoko joined #perl6
08:03 evalable6 joined #perl6
08:06 aindilis` joined #perl6
08:06 tony-o joined #perl6
08:13 alexk joined #perl6
08:14 cdg joined #perl6
08:15 alexk m: class Foo { has $.bar }.^methods(:local)
08:15 camelia rakudo-moar 98fae3: ( no output )
08:16 alexk m: say class Foo { has $.bar }.^methods(:local)
08:16 camelia rakudo-moar 98fae3: OUTPUT: «(bar BUILDALL)␤»
08:19 lizmat I was considering hiding 'BUILDALL' from .^methods, but it *is* introspection after all, and it *does* exist now
08:20 lizmat perhaps we need another flag to ^methods
08:20 lizmat afk&
08:21 nowan joined #perl6
08:21 AelxDnaiel squashable6: next
08:21 squashable6 AelxDnaiel, ⚠🍕 Next SQUASHathon in 2 days and ≈1 hour (2017-10-07 UTC-12⌁UTC+14). See https://github.com/rakudo/rakudo/wiki/Monthly-Bug-Squash-Day
08:28 AelxDnaiel where's the source code for http://tryperl6.org?
08:28 AelxDnaiel just tried 5 ÷ 2 there and it didn't work…
08:28 AelxDnaiel 2 * π doesn't work…
08:29 AelxDnaiel 79²¹ too… failed all tasks on the second screen :)
08:32 DrForr Oof.
08:33 dakkar joined #perl6
08:42 yht joined #perl6
08:56 AelxDnaiel OK I messaged the author
08:57 epony joined #perl6
08:58 wamba joined #perl6
09:00 jonas1 joined #perl6
09:09 imcsk8 joined #perl6
09:15 araraloren joined #perl6
09:15 araraloren evening
09:15 u-ou hey
09:18 araraloren o/
09:19 u-ou :)
09:20 xtreak joined #perl6
09:28 Cabanossi joined #perl6
09:34 scovit joined #perl6
09:35 scovit Hello, do any of you can give me an hint on how best to recover from a broken promise? I mean I can handle the exception with CATCH, but then I would like to resume just after the await
09:36 scovit it is not super-important, but it feels like one of those cases where a goto would be the right thing to do
09:37 rindolf joined #perl6
09:38 scovit I found the solution, introducing a bogus scope
09:39 scovit still feels like the goto is more elegant
09:39 jnthn You can also try await ...
09:39 jnthn And then check $!
09:39 scovit hi jnthn, what would $! contain?
09:40 jnthn The exception object, if any was thrown
09:40 jnthn If you want to ignore failures totally then you can just ignore it, of course :)
09:41 scovit sorry but I am a bit slow: if anything is thrown, doesn't the program die?
09:41 sproctor joined #perl6
09:43 scovit m: await start { fail "" }
09:43 camelia rakudo-moar 98fae3: OUTPUT: «An operation first awaited:␤  in block <unit> at <tmp> line 1␤␤Died with the exception:␤␤      in block  at <tmp> line 1␤␤»
09:43 scovit m: await start { fail "" }; say "hello:", $!;
09:43 camelia rakudo-moar 98fae3: OUTPUT: «An operation first awaited:␤  in block <unit> at <tmp> line 1␤␤Died with the exception:␤␤      in block  at <tmp> line 1␤␤»
09:43 sproctor Hey folks. So... at London PM last week I gave my 15 minute talk on Perl6 and reaons I think people should be thinking about using it in production. It seemed to go well and I'm going to be expanding on a bunch of it for the London Perl Workshop in November.
09:44 scovit m: await start { fail X::AdHoc.new("ciao") }; CATCH { default { } }; say "hello:", $!;
09:44 camelia rakudo-moar 98fae3: ( no output )
09:44 scovit m: { await start { fail X::AdHoc.new("ciao") }; CATCH { default { } };}; say "hello:", $!;
09:44 camelia rakudo-moar 98fae3: OUTPUT: «hello:An operation first awaited:␤  in block <unit> at <tmp> line 1␤␤Died with the exception:␤    Default constructor for 'X::AdHoc' only takes named arguments␤      in block  at <tmp> line 1␤␤»
09:44 scovit is it possible to avoid the extra scope?
09:45 sproctor I was planning in covering Unicode, Rats, Objects type and Roles and the threading stuff (and junctions... and loads of other bits I'll be sprinkling over the talk as I go along).... anyone got any thing you think I should mention?
09:45 ilmari[m] m: try await start { fail X::AdHoc.new("ciao") }; say "hello:", $!;
09:45 camelia rakudo-moar 98fae3: OUTPUT: «hello:An operation first awaited:␤  in block <unit> at <tmp> line 1␤␤Died with the exception:␤    Default constructor for 'X::AdHoc' only takes named arguments␤      in block  at <tmp> line 1␤␤»
09:46 scovit Ah ok, "try". nice
09:47 ilmari[m] scovit: when jnthn said "try await" he literally meant that
09:47 scovit :D
09:48 mniip joined #perl6
09:51 astj joined #perl6
09:55 u-ou which operator should I overload for "sameness"
09:56 u-ou there are a few, like ==, ===, eq, eqv
09:58 Cabanossi joined #perl6
09:58 sproctor Surely sameness would be to get ~~ to work with your objects?
09:58 u-ou hmm. I think I need eqv.
09:59 u-ou ah
10:00 u-ou I think in this particular case it's eqv
10:00 u-ou which I wouldn't need to override
10:03 astj joined #perl6
10:07 Aaronepower joined #perl6
10:09 margeas joined #perl6
10:09 gregf_ joined #perl6
10:13 dogbert2 joined #perl6
10:19 Zoffix ,
10:19 yoleaux 02:47Z <Xliff> Zoffix: Regarding your blog post on invisible chars, proper pre-commit hooks with sensible filtering would take care of that quite nicely.
10:23 Zoffix u-ou: make your own op :)  But... eqv is generally for "sameness". The rest aren't really: eq is string equality, == is numeric equality, === is object identity, and ~~ is RHS-dependant matching.
10:26 u-ou what does RHS stand for?
10:26 lichtkind joined #perl6
10:27 shadoxx joined #perl6
10:27 Zoffix Right Hand Side
10:27 u-ou ah
10:27 Zoffix The thing ont he right hand side of the ~~ op dictates how the match is performed
10:28 xtreak joined #perl6
10:28 Cabanossi joined #perl6
10:29 u-ou cool
10:29 u-ou I'm going to sleep, nn!
10:30 Zoffix \o
10:31 traxex joined #perl6
10:34 Geth ¦ modules.perl6.org: 1f96bc6263 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm
10:34 Geth ¦ modules.perl6.org: Fix crash when dist contains "README" file with no extension
10:34 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/1f96bc6263
10:38 W4RL0RD joined #perl6
10:38 Geth ¦ modules.perl6.org: dd269a29fb | (Zoffix Znet)++ | 2 files
10:38 Geth ¦ modules.perl6.org: [REBUILD] Widen dist route placeholders
10:38 Geth ¦ modules.perl6.org:
10:38 Geth ¦ modules.perl6.org: Since now dist name includes author names that contain all sorts
10:38 Geth ¦ modules.perl6.org: of things in them.
10:38 Geth ¦ modules.perl6.org:
10:38 Geth ¦ modules.perl6.org: Fixes #84
10:38 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/dd269a29fb
10:41 eater Zoffix++
10:41 eater :D
10:42 Zoffix Gonna eventually swap the "author" portion to "auth" that's made from sanitized "author" field if "auth" is missing
10:42 * Zoffix &
10:50 shadoxx joined #perl6
10:51 astj joined #perl6
11:06 robertle joined #perl6
11:13 cdg joined #perl6
11:17 Aaronepower joined #perl6
11:18 xtreak joined #perl6
11:22 nightfrog joined #perl6
11:32 d4l3k_ joined #perl6
11:32 synopsebot joined #perl6
11:33 moritz joined #perl6
11:34 moritz my datacenter colleagues accidentally power-cycled the server on which hack, www and irc.p6c.org run
11:35 dpk m: say "Ü" ~~ /U<:M>/
11:35 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
11:36 dpk is there any way to match a given character plus any diacritics?
11:37 dpk i.e. a regex that matches all of Ü, Ú, Ù, Û, etc
11:37 moritz m: say 'Ü' ~~ /:ignoremark U/
11:37 camelia rakudo-moar 98fae3: OUTPUT: «「Ü」␤»
11:37 dpk ahh
11:37 dpk thanks
11:37 hoffentlichja that's pretty nice
11:38 hahainternet that is quite neat
11:38 hahainternet one thing i feel is missing from a lot of languages, because it's supremely hard to do
11:38 hahainternet is homoglyphs
11:39 hahainternet it's mostly down to the render stage, but it'd be nice if a similar mechanism could be used to unify say cyrillic and latin chars etc
11:39 hahainternet i think i've probably mentioned before, but it's a rarely understood attack that can have absurdly serious consequences
11:39 timotimo well, there's the compatibility normalizations
11:39 dpk unicode has a database of confusable characters
11:39 dpk http://unicode.org/cldr/utility/confusables.jsp
11:40 Aaronepower joined #perl6
11:40 hahainternet ooh dpk i didn't know there was a canonical list
11:40 hahainternet i never have enough time to dig into this stuff :(
11:40 timotimo oh, that's just 1 billion items
11:41 timotimo no problem, we'll just put them in with the rest of the unicode db ...
11:41 jast we should all use an RFC 5242-based character encoding ;)
11:41 timotimo let's just store all our text in SIXEL ansi escape sequences
11:41 jast (tldr: encode the character shapes)
11:41 dpk timotimo: no, that's 1 billion possible recursively-enumerated strings that are confusable with 'paypal'
11:41 hahainternet yeah timotimo i think you're being a bit aggressive there
11:42 timotimo haha :)
11:42 hahainternet this can actually be a serious issue
11:42 hahainternet there have been many many sites i've used where it is trivial to impersonate "admin" or an individual user
11:42 timotimo i'm not sure i get which exact piece you're refering to
11:42 hahainternet and as soon as they're screenshotted or similar it is indistinguishable
11:43 hahainternet timοtimο or timotimo .. which is you?
11:43 jast yeah, this homoglyph stuff is nasty, and one reason I prefer restricting to ASCII in identifiers
11:43 timotimo the one that doesn't have question marks instead of os
11:43 hahainternet they both have os to me
11:43 timotimo yeah, my terminal is b0rked
11:43 timotimo i'd have to restart weechat to fix it and i don't wanna :|
11:43 hahainternet https://i.imgur.com/KU0lhfG.png
11:43 timotimo it's getting more and more annoying though
11:43 hahainternet so if i made say a forum post like this
11:43 hahainternet or a tweet like this
11:43 hahainternet etc etc
11:44 timotimo or a website hostname/URL
11:44 Zoffix hm, modules.perl6.org is ded
11:44 hahainternet there's some special handling there already
11:44 jast let's all start substituting characters for look-alikes here in chat to help timotimo make the decision to restart ;)
11:44 hahainternet firefox and chrome both show the full domain when there's potential confusables
11:44 hahainternet afaik
11:44 Zoffix if it was affected by the powercycle wonder why it didn't boot back up automagically
11:45 jast I think they just always show the punycode in all IDN cases
11:45 moritz Zoffix: I think there's a cron job that starts it, but it tries to process all modules first
11:45 hahainternet jast: i don't think that's true
11:45 Zoffix Ohhhhh
11:45 Zoffix ok, I'll fix it in about 15m
11:45 hahainternet Since version 22 (2013), Firefox displays IDNs if either the TLD prevents homograph attacks by restricting which characters can be used in domain names or labels do not mix scripts for different languages. Otherwise IDNs are displayed in Punycode.[10][11]
11:46 hahainternet Google Chrome uses an algorithm similar to the one used by Firefox since version 51. Previous versions display an IDN only if all of its characters belong to one (and only one) of the user's preferred languages.[17]
11:46 hahainternet ok so i'm slightly inaccurate, but they do attempt to address this issue
11:46 dpk timotimo: http://www.unicode.org/Public/security/8.0.0/confusables.txt is the actual database (WARNING: file is quite large)
11:46 hahainternet and imo i should be able to address it in perl6 with a single flag, function or what-have-you
11:46 timotimo oh it's much smaller than i thought
11:47 timotimo why did the confusables page say that there's one billion items?
11:47 moritz Zoffix: I've started modules.perl6.org now
11:47 dpk 13:41:43 <dpk> timotimo: no, that's 1 billion possible recursively-enumerated strings that are confusable with 'paypal'
11:47 timotimo oh, huh
11:47 Zoffix sweet
11:47 dpk put in a shorter string into the text box on that page and you'll see it lists them all
11:47 hahainternet timotimo: check the page again, there's an input at the top
11:47 pmurias joined #perl6
11:48 jast hahainternet: ah, it has changed since the last time I cared about this
11:48 hahainternet anyhow, perl6 should have an 'unconfuse' function or similar, soley because that name is excellent
11:48 timotimo pe?????6 pe???????? pe?????? pe????6 pe??????? pe??l?? pe??l6 pe??l??? pe??1?? pe??16 pe??1??? pe?????? pe????6 pe??????? pe???????? pe??????6 pe????????? pe?????? pe????6
11:49 timotimo does that come through as anything other than question marks?
11:49 hahainternet nope just question marks i'm afraid
11:49 jast yeah, there's a few ASCII characters in between ;)
11:49 hahainternet something is real broken with you
11:49 timotimo yeah
11:49 jast anyway, I don't think unconfuse works as a function because what would that even do
11:49 hahainternet normalise the characters to some consistent choice
11:49 hahainternet but i agree it's not ideal
11:49 jast except maybe delete all your source code
11:49 hahainternet i just want something called 'unconfuse' :D
11:50 jast here's an implementation:
11:50 jast return ''
11:50 timotimo but 1 and l are in the same language already
11:51 jast yeah, those are tricky cases
11:51 hahainternet what's actually needed is the ability to compare two strings as to their confusability
11:51 jast same for, say, i and its various accented variations
11:51 hahainternet normalisation is doable, but dubious
11:51 jast okay, but what would you compare the string to?
11:51 timotimo so what does NFKC do for these things?
11:52 hahainternet existing user accounts, for example
11:52 jast detecting confusable things is a human intelligence task
11:52 hahainternet clearly not
11:52 jast you don't want to compare your potential new username to all user accounts on file if you have millions of them
11:52 hahainternet you already have to, that's what a unique constraint is
11:53 jast no, a unique constraint can use an index
11:53 hahainternet as could any comparison like this?
11:53 jast there are too many special considerations for this case for an index to be any help
11:53 piojo joined #perl6
11:53 hahainternet there's a list of characters per character
11:53 hahainternet that is itself an index
11:53 hahainternet i don't agree jast
11:53 jast not in the database sense
11:53 jast also a character-by-character approach isn't sufficient
11:53 hahainternet why not?
11:54 timotimo the confusables thing puts all characters into equivalence classes
11:54 jast e.g. you have to match "fl" vs" "fl ligature"
11:54 hahainternet jast: you already have to
11:54 timotimo you can just choose representatives for each group
11:54 timotimo if you do that consistently, you're basically done
11:54 jast well, ligatures make that difficult
11:54 jast you might also have situations in which two characters ab look quite similar to character cde
11:54 dpk m: say "fl" ~~ /:ignoremark fl/
11:54 camelia rakudo-moar 98fae3: OUTPUT: «Nil␤»
11:54 hahainternet you adopt a consistent form in your database
11:54 hahainternet my point is, these problems are extant
11:55 jast there *is* no consistent form
11:55 hahainternet they are perhaps even common
11:55 jast there is *if* you assume one character exactly corresponds to one character in the same class of confusable strings
11:55 jast but that's false
11:55 dpk m: say "fl".NFKC ~~ /:ignoremark fl/
11:55 camelia rakudo-moar 98fae3: OUTPUT: «「fl」␤»
11:55 hahainternet jast: i have no idea what you're saying now
11:55 hahainternet there are consistent forms
11:55 hahainternet and this is a problem all sites that have usernames already face
11:55 jast visual similarity is not a property of characters by necessity, it can be a property of sequences of characters, too
11:56 hahainternet they already search for duplicates in a database, and use the same strategies of early bailing out that all list searching does
11:56 jast or, to be more accurate, sequences of grapheme clusters
11:56 hahainternet jast: that may be true, but you can't do anything about how the final rendering is done
11:56 jast searching for duplicates on a collated index is straightforward, but I don't think confusability can be implemented as a collation
11:56 hahainternet in the examples i gave, it doesn't require an obscure grapheme cluster match
11:57 hahainternet so there may be parts of this that are intractable
11:57 hahainternet but comparing two strings with the confusability rules certainly isn't, it may just be ugly and/or more CPU time
11:58 hahainternet i think in an ideal world this would be an option in postgresql, but i'd be happy with a perl6 trigger function ☺
11:58 jast I think you're underestimating the cost
11:58 hahainternet i've said nothing about the cost
11:59 jast you literally just said "more CPU time" :)
11:59 hahainternet but how can that be an underestimate, as that's got no upper bound lol
11:59 jast personally I think the I/O impact in particular would be massive
11:59 jast (or RAM, take your pick)
11:59 hahainternet that's impossible to say at this juncture
11:59 hahainternet and even if that's true
11:59 hahainternet this should absolutely pale in comparison to the pkdbf for password hashing
12:00 hahainternet which should take nearly a full second in an ideal world
12:00 hahainternet so this whole argument is pretty academic
12:00 jast PBKDF has entirely different scaling properties, it's constant in each login
12:00 jast something that has to scan all existing accounts, if an index-based solution is untenable (which I suspect it is), scales polynomially in the number of users
12:00 hahainternet how would an index solution be 'untenable'
12:01 hahainternet for every character, you have a list of characters
12:01 hahainternet look each up in the index
12:01 hahainternet even better, use an index that has these additional indexes adjacent
12:01 jast well darn, I've got a meeting, I'll be back in two hours or so :/
12:01 hahainternet i'm at home sick ☹
12:01 hahainternet best of luck jast
12:01 hahainternet and fwiw, this should not be polynomial or anything other than a straight up multiple
12:02 timotimo finding a confusable should be decomposable into smaller parts
12:02 hahainternet if every character has 9 confusables, that's 10 index lookups instead of 1 in the worst case
12:03 jast well, looks like the rest of the meeting hasn't assembled yet
12:03 hahainternet scheduled for 1pm? :)
12:03 jast no, that's not how it works
12:03 timotimo i still think the equivalence class approach should work, and work very fast
12:04 hahainternet timotimo: i'm not sure i know what your approach is, but i dn't think there are any severe computing challenges here
12:04 jast suppose your username is five characters long, then the number of index lookups with that kind of implementing would be 5**10
12:04 jast equivalence classes were my first thought, too
12:04 hahainternet no it would be 50
12:04 hahainternet not 5**10, 5*10
12:04 jast how?
12:04 hahainternet 5 characters, 10 lookups per character
12:04 jast with a standard index you have to check each *combination*
12:04 hahainternet 50 lookups
12:05 okl joined #perl6
12:05 hahainternet jast: oh i see what you're saying
12:05 hahainternet yeah i'm wrong, in the worst case where each character HAS all 10 confusables in the database
12:05 hahainternet by the end of the lookup it's scaled quite a lot
12:05 jast so in this case that's about 9 million index lookups
12:05 hahainternet but that's an absurdly niche case
12:05 timotimo hahainternet: which means your users will attack you with it :)
12:05 hahainternet timotimo: there are many more effective attacks
12:06 jast well, just the letter "p" has way more confusable characters, as does "i" and "l"
12:06 jast personally I think 10 is a low estimate
12:06 hahainternet you'd have to full the database to an absurd degree just to have this attack be feasible
12:06 timotimo anyway, if you immediately store a version of the user name with the confusables reduced to their representatives
12:06 jast you don't, because you have to do all of the index lookups anyway
12:06 timotimo then you can just do a single index lookup
12:06 jast which is why this this about equivalence classes came up
12:06 hahainternet jast: you bail out of any that don't match
12:06 jast meeting now
12:06 hahainternet timotimo: i agree but jast said that's impossible
12:06 jast that's not the way it works
12:06 jast you have to check them all to find out whether they match
12:07 jast I'll be back :)
12:07 hahainternet this is all rather academic anyway
12:07 hahainternet because this is a real problem
12:07 hahainternet it really exists
12:07 timotimo i'm not sure why that wouldn't work
12:07 hahainternet so debates about the complexity class of solutions
12:07 hahainternet it needs fixing regardless, and p6 is not a database
12:07 hahainternet so just supporting it in comparisons would be enough
12:07 hahainternet and then people can implement solutions as they see fit
12:08 xtreak joined #perl6
12:08 hahainternet timotimo: i assume you're talking about picking a canonical representation from each group of confusables and storing using that representation, so you can normalise any input to using those representations and do a quicker index lookup?
12:09 timotimo yeah
12:09 hahainternet the only problem there would be groups intersecting, but they are by definition confusable in that case too
12:09 hahainternet so i don't see that this would actually be an issue
12:09 hahainternet (ie l -> | and i -> l)
12:10 hahainternet i wonder how good postgresql's unicode support is
12:10 hahainternet would be neat to have an unconfusable_text type
12:13 timotimo oh, you can just do the equivalence class thing as a first step to throw out all the ones that are definitely different
12:14 timotimo like alice, bob, b0b, b06 - you'd be able to ignore alice immediately
12:15 hahainternet yeah it's a normal technique isn't it, to bail out as early as possible in comparisons
12:16 hahainternet anyhow i would like to vote that some sort of confusability comparison is implemented, and i think your idea of reducing to a canonical representation is good
12:16 hahainternet not sure if there's any way i can help
12:17 timotimo i'd say this belongs into module space
12:17 hahainternet well it's an official unicode thing
12:17 hahainternet and it's rather vital
12:17 hahainternet but i don't know what qualifies in p6 for modules/core/etc
12:18 Zoffix Everything is best first trialed as a module.
12:19 hahainternet well i am just saying i think it's an important feature, but i have no idea what category that'd be :D
12:19 Zoffix We get someone wanting something "rather vital" in core every week, but they're often the only ones who think it's "vital" and yet often can't be bothered to even implement a module for it
12:19 Zoffix Not important at all for me.
12:19 Zoffix Importants often depends on what type of programs you write.
12:19 hahainternet it's rather important for anyone who deals with presentable user input in any form
12:19 hahainternet it's not like this is a niche obscure feature
12:19 hahainternet it's just something that most people don't want to deal with, so they ignore
12:20 hahainternet i very rarely write websites and the like, so i don't think it'd be that amazingly useful for me directly
12:20 Zoffix Just because we add extra maintenance burden to already overburdened core devs won't make people ignore it less :)
12:20 * hahainternet shrugs, that's not really a great argument
12:20 hahainternet people are indeed busy
12:20 Zoffix The argument is it won't make people ignore it less, not that someone is busy
12:21 hahainternet having an actual implementable solution to a problem does indeed make people ignore it less
12:21 hahainternet honestly Zoffix i don't know what you're arguing here
12:22 Zoffix I'm responding to "well it's an official unicode thing and it's rather vital" that was given as response to "i'd say this belongs into module space"
12:22 hahainternet ah, you are ignoring my third line, which adds vital context
12:24 Cokebot joined #perl6
12:25 Cokebot any other users of irc.p6c.org ?
12:25 Cokebot (the reboot seems to have hosted my perlbrew, and also hosed re-installing perlbrew)
12:26 shadoxx joined #perl6
12:26 moritz Cokebot: can I help you?
12:27 Cokebot Trying to install perlbrew as me, I get (one sec)
12:29 Cokebot ah, actually, simpler: run this: perl -MConfig -e1;
12:29 Cokebot system perl is fubar'd.
12:30 Geth ¦ modules.perl6.org: 132cbf88d6 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm
12:30 Geth ¦ modules.perl6.org: Scrub `javascript:` URLs from <img> and <a>'s
12:30 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/132cbf88d6
12:31 astj joined #perl6
12:33 rba joined #perl6
12:33 moritz http://perlpunks.de/paste/show/59d4d528.5f24.270
12:33 Geth ¦ modules.perl6.org: ad4d8191b1 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm
12:33 Geth ¦ modules.perl6.org: Fix typo in JS URL scrubber
12:33 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/ad4d8191b1
12:34 okl joined #perl6
12:35 pmurias hahainternet: I would guess comparing if strings look similiar to each others is something that should be in a module rather then in Perl 6 itself
12:36 hahainternet pmurias: i'm not particularly opposed, i don't know what the standards are for putting things in a module
12:36 hahainternet my only contention was that it's an important feature people are happy to ignore, so it'd be nice to make it accessible and it would fix a lot of obscure issues
12:36 Geth joined #perl6
12:37 Geth ¦ modules.perl6.org: 2dd813e512 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm
12:37 Geth ¦ modules.perl6.org: Rewrite id=""s of title elemenents in rendered READMEs
12:37 Geth ¦ modules.perl6.org:
12:37 Geth ¦ modules.perl6.org: To follow more closely the way GitHub does it, so in-document
12:37 Geth ¦ modules.perl6.org: links that work on GitHub work here too
12:37 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/2dd813e512
12:41 rba joined #perl6
12:42 moritz where is Cokebot when you want to tell them the packages are fixed?
12:44 ShalokShalom_ joined #perl6
12:47 Zoffix hm... The HTML scrubber on modules.perl6.org scrubs what would normally be a safely encoded codeblock. Most of the docs are missing: http://modules.perl6.org/dist/Acme::Anguish:cpan:ZOFFIX
12:47 Zoffix Because one of the code lines has an opening `<` in it
12:47 timotimo i, too, have pairs of < > in my json::fast readme
12:47 timotimo that get thrown out completely
12:51 mcmillhj joined #perl6
12:55 Geth ¦ modules.perl6.org: b078a9e887 | (Zoffix Znet)++ | 2 files
12:55 Geth ¦ modules.perl6.org: Remove too-agressive HTML scrubber
12:55 Geth ¦ modules.perl6.org:
12:55 Geth ¦ modules.perl6.org: https://irclog.perlgeek.de/perl6/2017-10-04#i_15255589
12:55 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/b078a9e887
12:56 Geth ¦ modules.perl6.org: b68e6305aa | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm
12:56 Geth ¦ modules.perl6.org: Cleanup debug code
12:56 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/b68e6305aa
12:59 eliasr joined #perl6
12:59 Zoffix Added ~/start-modules.perl6.org-web-app script that just powers on the web app (without updating db) and replaced the old @reboot cronbjob with this one, so next time we reboot, teh site goes back on right away
12:59 Dawg1418 joined #perl6
13:03 wamba joined #perl6
13:13 pmurias hahainternet: modules are supposed to be easily accessible
13:13 Cabanossi joined #perl6
13:15 timotimo https://www.reddit.com/r/perl/comments/743t24/experimenting_in_pass_through_loops/ - can't help but think "this would be ridiculously easy to achieve in perl6"
13:22 pmurias hahainternet: and modules are much better for stuff that we aren't 100% sure how it should work (confusability also depends on the fonts etc.)
13:28 Geth ¦ modules.perl6.org: 6da85e52bc | (Zoffix Znet)++ | 6 files
13:28 Geth ¦ modules.perl6.org: Add larger icons indicating dist source
13:28 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/6da85e52bc
13:29 holyghost joined #perl6
13:31 timotimo here's a post about "kotlin's greatest feature" which is "lambda with receiver", basically what you get when you $object.&mysub and giving mysub an invocant and using "self"
13:34 raujika joined #perl6
13:37 Geth ¦ modules.perl6.org: 4ee8a7d4b2 | (Zoffix Znet)++ | 2 files
13:37 Geth ¦ modules.perl6.org: Make info bar titles be shown with tooltip plugin
13:37 Geth ¦ modules.perl6.org:
13:37 Geth ¦ modules.perl6.org: CSS selectors rewritten because the inserted tooltip
13:37 Geth ¦ modules.perl6.org: makes them no longer select the right stuff, causing element
13:37 Geth ¦ modules.perl6.org: wobbling when tooltips are shown
13:37 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/4ee8a7d4b2
13:38 HoboWithAShotgun joined #perl6
13:39 HoboWithAShotgun is there something like c# partial keyword in p6? so that i can spread code of the same class across several files?
13:40 HoboWithAShotgun if not,should I use roles for that?
13:43 timotimo roles sounds like a good idea, yeah
13:47 [ptc] joined #perl6
13:48 epony joined #perl6
13:59 ShalokShalom joined #perl6
14:00 thou joined #perl6
14:01 rba_ joined #perl6
14:02 dpk rip yoleaux
14:02 * dpk attempts fix
14:07 Geth ¦ modules.perl6.org: a13c7f81c8 | (Zoffix Znet)++ | 3 files
14:07 Geth ¦ modules.perl6.org: Shave off 431b per dist in search results
14:07 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a13c7f81c8
14:07 yoleaux joined #perl6
14:10 skids joined #perl6
14:11 Zoffix well, that was a waste of time....
14:12 Geth ¦ modules.perl6.org: 6493171f53 | (Zoffix Znet)++ | 3 files
14:12 Geth ¦ modules.perl6.org: Revert "Shave off 431b per dist in search results"
14:12 Geth ¦ modules.perl6.org:
14:12 Geth ¦ modules.perl6.org: This reverts commit a13c7f81c886d171a19dd7381a85103dd7c265d3.
14:12 Geth ¦ modules.perl6.org:
14:12 Geth ¦ modules.perl6.org: Reduces full-ecosystem display page by ~400KB, but overall
14:12 Geth ¦ modules.perl6.org: rendering quality is about the same on first load and much worse
14:12 Geth ¦ modules.perl6.org: on cached load.
14:12 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/6493171f53
14:12 zakharyas joined #perl6
14:15 cdg joined #perl6
14:26 Zoffix left #perl6
14:28 Cabanossi joined #perl6
14:31 atta load scripts/trackbar
14:31 atta ops. sorry
14:31 tyil allahu trackbar?
14:31 yoleaux 08:07Z <lizmat> tyil: the ghostbin seems to be out of order, so I have no idea what you mean  :-(
14:36 El_Che trackbar, best irssi plugin ever
14:40 atta El_Che: that's the one I was trying to load :)
14:45 mcmillhj joined #perl6
14:52 mr-foobar joined #perl6
14:58 Cabanossi joined #perl6
15:14 mayuresh joined #perl6
15:14 mayuresh hello.  :)
15:15 mayuresh in case any of you remember me, i want you to know that i tried my level
15:15 mayuresh best to get going with building that perl6 interpreter (standalone).
15:15 mayuresh failed, big time, now am tired, and am moving back to common-lisp.
15:16 mayuresh apologies to anyone who's expectations were heightened.
15:16 hoffentlichja mayuresh: what are you talking about?
15:16 SourceBaby joined #perl6
15:16 timotimo oh wait, dpk, you're yoleaux's owner?
15:16 dpk yes
15:17 mayuresh hffentlichja; i was working on "pxn"
15:17 mayuresh couldn't understand 'mop' all that well.
15:17 mayuresh utimately, fell in love with 'cl', again.
15:17 mayuresh moving back to it.
15:18 mayuresh i meant hoffentlichja*
15:18 hoffentlichja ok, well I'm sorry to hear that
15:18 mayuresh yeah
15:18 hoffentlichja mayuresh: did you try clojure? :)
15:18 mayuresh no, i hate those non-java languages running on the 'jvm'. ;)
15:19 mayuresh i liked java, for a long time, and then i encountered the foundation libs
15:19 mayuresh of objc
15:19 hoffentlichja yes, it's a disadvantage but it also has its advantages
15:19 hoffentlichja clojure itself as a language is great, my opinion
15:19 mayuresh and then i realized that the java libs are a major mess
15:19 timotimo i was going to ask you if we can have yoleaux in the moarvm channel but it seems like it's already there
15:19 mayuresh true, i have heard a lot of good things about clojure
15:20 mayuresh but, i really like straight and simple common-lisp. :)
15:20 mayuresh along with the 'clos', i must say. :)
15:20 hoffentlichja I understand, many common lipsers feel that way
15:20 hoffentlichja lispers*
15:20 hoffentlichja racket is also nice, but a common lisp lover would probably not like it either
15:20 hoffentlichja :)
15:21 mayuresh :D
15:21 mayuresh actually, if you can, check out "zenlisp" at http://www.t3x.org/
15:21 mayuresh it's in the "attic" section
15:21 mayuresh alrighty, i gotta go
15:21 mayuresh i have a whole lot of sleeping to do
15:21 mayuresh after not having slept a while
15:22 hoffentlichja alright
15:22 mayuresh been unable to decide
15:22 mayuresh finally did
15:22 mayuresh and now am very relaxed
15:22 mayuresh gotta get sleep
15:22 hoffentlichja you haven't said anything about your opinion of perl6 :)
15:22 mayuresh mr. wall sorry, hope you understand, a librans plight as being one yourself.
15:22 mayuresh perl6 was so interesting to me that i actually learnt c89 to build the interpreter
15:23 mayuresh but failed to understand 'mop' all that well.
15:23 mayuresh from the perspective of attempting an implementation for p6
15:23 hoffentlichja I'm not sure I understand what you mean by that, my logical brain tells me you were trying to implement the perl6 specifications but I doubt that's what you meant
15:23 mayuresh i meant, i was implementing a standalone perl6 execution environment.
15:24 mayuresh no compiling and then executing buisiness. ;)
15:24 deaninous joined #perl6
15:24 moritz mayuresh: Perl 6 stole many MOP ideas from common lisp :-)
15:24 mayuresh i called it the 'pxn' for "perl6 execution environment". :)
15:24 mayuresh moritz, i knew, that's why i was so interested.
15:24 mayuresh but i just simply couldn't figure out how to implement 'mop' using c89
15:25 mayuresh + p6 code
15:25 mayuresh luckily, i wrote very little code.
15:25 timotimo rakudo implements mop in C and some p6 cod e:)
15:25 mayuresh :)
15:25 mayuresh so it's a good thing. :)
15:25 hoffentlichja mayuresh: so why does that stop you from using perl6 with its current rakudo implementation?
15:26 mayuresh i wanted to learn. :)
15:26 hoffentlichja you still can
15:26 mayuresh how to implement the interpreter
15:26 hoffentlichja maybe it takes some time
15:26 mayuresh i have been trying for almost 4 years.
15:26 mayuresh though was very unwell for 2 years in between. :(
15:27 mayuresh alrighty, i really gotta go now, sleep needed.
15:27 hoffentlichja alright, good night
15:27 mayuresh thanks for the fantastic community support.
15:27 mayuresh have a good time ahead. :)
15:28 zakharyas joined #perl6
15:28 Cabanossi joined #perl6
15:31 hoffentlichja I've been meaning to implement my own lispy language for a while but haven't had the right mood to start it
15:32 mspo check out LFE
15:32 hoffentlichja Lisp Flavoured Erlang?
15:33 someuser joined #perl6
15:33 hoffentlichja I'm looking for something VM-free
15:34 moritz everything has a VM at some level
15:34 moritz or some sort of supporting libraries linked in
15:35 moritz the boundaries are fluid, really
15:35 hoffentlichja moritz: yes, by that I meant JVM / ErlangVM and the likes free
15:35 hoffentlichja moritz: It would be ideal to be a compiled language
15:36 hoffentlichja but I see no great path for what I would like it to be used for and how
15:36 jnthn Most things are eventually compiled languages today :)
15:36 hoffentlichja so my only option seems is to implement it in go, either write an interpreter or a compiler-to-go
15:37 hoffentlichja jnthn: I know, by compiled I meant ahead of time, to binary
15:39 moritz go also comes with a GC
15:39 moritz it's just statically linked into the resulting binary
15:40 hoffentlichja moritz: I know, the GC isn't an issue in this case
15:42 shadoxx joined #perl6
15:45 buggable New CPAN upload: Foo-Bar-Perl6-0.10.tar.gz by TBROWDER https://www.cpan.org/authors/id/T/TB/TBROWDER/Perl6/Foo-Bar-Perl6-0.10.tar.gz
15:45 buggable New CPAN upload: Foo-Bar-Perl6-0.10.zip by TBROWDER https://www.cpan.org/authors/id/T/TB/TBROWDER/Perl6/Foo-Bar-Perl6-0.10.zip
15:45 buggable New CPAN upload: Foo-Bar-Perl6-1.2.3.tar.gz by TBROWDER https://www.cpan.org/authors/id/T/TB/TBROWDER/Perl6/Foo-Bar-Perl6-1.2.3.tar.gz
15:45 buggable New CPAN upload: Foo-Bar-Perl6-1.2.3.zip by TBROWDER https://www.cpan.org/authors/id/T/TB/TBROWDER/Perl6/Foo-Bar-Perl6-1.2.3.zip
15:45 cdg joined #perl6
15:57 eroux joined #perl6
15:58 Cabanossi joined #perl6
15:58 setty1 joined #perl6
16:03 SHODAN joined #perl6
16:15 cdg joined #perl6
16:17 AlexDaniel grrrrrr… Everything looks fine but there's no sound
16:17 AlexDaniel is it you, PulseAudio?
16:18 * AlexDaniel reboots
16:21 AlexDaniel whenever I have to reboot I feel like killing somebody 😠
16:22 AlexDaniel works now…
16:23 mr-foobar joined #perl6
16:27 rba joined #perl6
16:28 Cabanossi joined #perl6
16:31 rba_ joined #perl6
16:32 buggable joined #perl6
16:32 dataangel joined #perl6
16:39 deaninous I also have a no audio and no bluetooth problem
16:39 deaninous Have not been able to figure it out
16:40 deaninous I get audio on a non root account but not on root.
16:40 deaninous bluetooth just is not there
16:40 deaninous any suggestion? my google fu has failed me so far
16:40 ilmari why would you want audio as root?
16:41 deaninous makes sense.
16:41 HoboWithAShotgun can i have a subset of two types? so a value can say either Str or Int but nothing else
16:41 deaninous but blueblooth is my main issue
16:42 deaninous {*bluetooth
16:43 deaninous nothing scarier than a hobo with a shotgun requiring only str/int :)
16:45 jnthn HoboWithAShotgun: subset StrOrInt where Str|Int
16:46 rba joined #perl6
16:47 robertle joined #perl6
16:47 jnthn home time &
16:59 wamba joined #perl6
17:01 steeznson joined #perl6
17:01 rba_ joined #perl6
17:03 steeznson left #perl6
17:07 mcmillhj joined #perl6
17:13 Cabanossi joined #perl6
17:16 Ven`` joined #perl6
17:16 rba joined #perl6
17:18 lizmat joined #perl6
17:21 astj joined #perl6
17:22 mr-foobar joined #perl6
17:24 shadoxx joined #perl6
17:25 mempko joined #perl6
17:28 Zoffix joined #perl6
17:28 Zoffix m: role Foo { ... }; role Foo is repr("VMArray") is array_type(int) {}; Foo.new
17:28 camelia rakudo-moar 98fae3: OUTPUT: «P6opaque: missing attribute protocol in compose of Foo␤  in block <unit> at <tmp> line 1␤␤»
17:28 Zoffix Is there some trick for the stub to not duplicate all of the `is blah` things?
17:30 Zoffix m: role Foo [::T = uint8] does Positional[T] does Stringy is repr('VMArray') is array_type(T) { ... }; role Foo {}; Foo.new
17:30 camelia rakudo-moar 98fae3: ( no output )
17:31 * Zoffix takes that for a spin
17:32 rba_ joined #perl6
17:33 Zoffix It don't like it :(
17:37 Zoffix brrr freaking house of cards
17:38 AlexDaniel squashable6: status
17:38 squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 1 day and ≈16 hours (2017-10-07 UTC-12⌁UTC+14). See https://github.com/rakudo/rakudo/wiki/Monthly-Bug-Squash-Day
17:40 andrzejku joined #perl6
17:47 rba joined #perl6
17:52 Aaronepower joined #perl6
17:58 lowbro joined #perl6
17:58 lowbro joined #perl6
17:59 tyil anyone who has any idea how to start troubleshooting https://travis-ci.org/moznion/p6-HTML-Escape/builds/283247515? `zef test .` seems to fail
17:59 Xliff Zoffix: Are you talking about 'also'?
18:00 Xliff m: role Foo [::T = uint8] { also does Positional[t]; also does Stringy; also is array_type(int); }; Foo.new;
18:00 camelia rakudo-moar 98fae3: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    t used at line 1␤␤»
18:00 Xliff m: role Foo [::T = uint8] { also does Positional[T]; also does Stringy; also is array_type(int); }; Foo.new;
18:00 camelia rakudo-moar 98fae3: OUTPUT: «P6opaque: missing attribute protocol in compose of Foo␤  in block <unit> at <tmp> line 1␤␤»
18:01 Xliff m: role Foo [::T = uint8] { also does Positional[T]; also does Stringy; also is array_type(T); }; Foo.new;
18:01 camelia rakudo-moar 98fae3: OUTPUT: «P6opaque: missing attribute protocol in compose of Foo␤  in block <unit> at <tmp> line 1␤␤»
18:01 Xliff Hrm.
18:01 holyghost joined #perl6
18:07 Zoffix tyil: try to see if there's a way to make zef show verbose TAP output; set it and run the travis job again so it shows what's actually wrong
18:07 Zoffix tests don't fail for me on Debian on that rakudo commit
18:08 ufobat joined #perl6
18:13 Cabanossi joined #perl6
18:16 Morfent joined #perl6
18:21 mr-foobar joined #perl6
18:22 shadoxx joined #perl6
18:29 pilne joined #perl6
18:30 tyil Zoffix: it fails locally as well for me with the same error, should I just add the --verbose to zef?
18:31 Zoffix tyil: try. I don't think that's the switch tho. A while back, there wasn't any switch, maybe now there is. Does it fail with `prove -e 'perl6 -Ilib' -vlr t` ?
18:31 Zoffix If yes, what's the error?
18:32 tyil No plan in TAP output
18:32 tyil I think I'm missing a plan
18:33 Zoffix That usually means it crashed during compilation. There should be verbose output with errors...
18:33 tyil adding `plan`s to all test files makes zef and prove happy
18:34 tyil the "verbose" error was
18:34 tyil t/01-basic.t   (Wstat: 256 Tests: 0 Failed: 0)
18:34 tyil Non-zero exit status: 1
18:34 tyil Parse errors: No plan found in TAP output
18:34 Zoffix But there's stuff before that output innit?
18:35 tyil lemme paste the full output
18:35 tyil the stuff before it is standard test output
18:35 Zoffix It should work fine without any plan; you have `done-testing` at the end
18:35 tyil https://cry.nu/p/yluy
18:35 tyil done-testing is only on 1 test file
18:35 tyil I added two new ones without done-testing and without plans
18:36 Zoffix huh... tyil those aren't the tests in the repo? https://github.com/moznion/p6-HTML-Escape/tree/master/t
18:36 * Zoffix is confused
18:37 tyil oh, you're looking at master, not the PR I made
18:37 Zoffix ah, it's a PR
18:37 tyil yes, I added a sub to his library, because it seemed easy to implement and I could make use of it
18:37 tyil was easier to extend his lib than make my own
18:38 Zoffix OK, now it makes sense :) Yes, those tests were missing a `plan`  (or a `done-testing` at the end)
18:38 tyil indeed, I added plans and zef was happy
18:38 tyil pushed it onto the PR, so now I just wait for travis to be happy
18:44 thou joined #perl6
18:47 zakharyas joined #perl6
18:52 shadoxx joined #perl6
18:53 ChoHag joined #perl6
18:58 Cabanossi joined #perl6
19:00 mulk[m] left #perl6
19:06 [Coke] joined #perl6
19:06 * [Coke] waves.
19:07 [Coke] moritz: finally able to try again, thanks, back in
19:08 tyil Zoffix: travis is ok with it too now, thanks for the assistance!
19:08 Zoffix \o/
19:08 tyil .hug Zoffix
19:08 * huggable hugs Zoffix
19:18 AlexDaniel awww somebody just kicked my ass in code golf
19:19 [Coke] moritz: wish I had realized the core problem before killing my perlbrew install. :)
19:19 tyil you mean "neat, someone just taught me some neat golfing tricks", AlexDaniel
19:19 AlexDaniel tyil: I don't see the solution, so had to figure it out on my own… but pretty much, yes
19:20 AlexDaniel ( https://code-golf.io/ )
19:26 ChoHag joined #perl6
19:29 perlpilot AlexDaniel: on which problem?
19:29 AlexDaniel perlpilot: prime numbers
19:31 Zoffix All the golfers should go down our RT tickets and see who produces the golfiest example for a bug :)
19:32 AlexDaniel no! We'd much rather have more bugs so that we have more room for golfing!
19:34 perlpilot I suck at golf ... I picked fibonacci thinking it would be easyish and I got 27 chars.  Not seeing how you got down to 18.   I mean just my fibo sequence without any output is 19 chars.
19:34 Zoffix Tag tickets with golf. Make a golfing site. People submit soltions. The person with the shortest golf gets $x of money when the ticket gets resolved :)
19:35 teatime important question:  is $x an Int or a Num
19:35 perlpilot Zoffix: and most of the proceeds go towards P6 grants  :)
19:35 perlpilot teatime: was there some preamble I missed?  Something with more information about $x?
19:36 Zoffix teatime: Num :)
19:36 teatime I was just wondering if we were talking dollars or cents :)
19:36 Zoffix 50cents a pop
19:36 teatime inb4 someone says "you should use a Rat for money"
19:36 Zoffix But mostly it's for fame
19:48 itaipu joined #perl6
19:52 tyil teatime: you should use a Rat for money
19:56 AlexDaniel .oO(or maybe FatRat?)
19:57 teatime https://t4.ftcdn.net/jpg/00/02/72/87/500_F_2728773_F4FdFG9FmWgbvALragi6PwiNGnt9OH.jpg
19:57 tyil lol
19:58 teatime AlexDaniel: I was gonna make that joke and use this image instead https://previews.123rf.com/images/rudall30/rudall301111/rudall30111100018/11131656-Cartoon-illustration-of-a-fat-rat-with-lots-of-money-Stock-Vector.jpg
19:59 AlexDaniel somewhere deep inside I hate Rat
19:59 AlexDaniel for its tendency to turn into a FatRat without my explicit approval
19:59 AlexDaniel oops
19:59 AlexDaniel to turn into Num*
20:01 mr-foobar joined #perl6
20:03 pecastro joined #perl6
20:07 Zoffix AlexDaniel: when does it do that?
20:09 epony joined #perl6
20:11 AlexDaniel m: my Rat $x = 1/3; $x *= $x for ^6
20:11 camelia rakudo-moar f04bd1: OUTPUT: «Type check failed in assignment to $x; expected Rat but got Num (2.91232405875626e-31)␤  in block <unit> at <tmp> line 1␤␤»
20:11 AlexDaniel when denominator does not fit in int64 or something like that, I don't remember
20:12 Zoffix ah
20:12 AlexDaniel so maybe it does not really matter for money, but I am not checking what values I have in denominators in all intermediate calculations…
20:14 AlexDaniel and if you try to calculate π or 𝑒 beyond values provided in constants this jumps right at you
20:14 AlexDaniel good thing is that FatRats are viral so you only have to introduce one FatRat somewhere and off you go
20:15 emeric joined #perl6
20:17 Praise- joined #perl6
20:17 Praise- joined #perl6
20:19 AlexDaniel Zoffix: I have a trick!
20:19 AlexDaniel don't know if it's a bug or not, but look
20:19 AlexDaniel m: my $x = 3.14159265358979323846; say $x.WHAT
20:19 camelia rakudo-moar f04bd1: OUTPUT: «(Rat)␤»
20:19 AlexDaniel m: my $x = 3.14159265358979323846; say ($x*1).WHAT
20:19 camelia rakudo-moar f04bd1: OUTPUT: «(Num)␤»
20:20 rindolf Hi all! zef test --all . gives me this - http://www.shlomifish.org/Files/files/text/zef-test-all-output.txt - any way to make it more sane?
20:21 AlexDaniel rindolf: this does not answer your question, but zef --help looks better
20:24 rindolf AlexDaniel: thanks
20:27 Zoffix rindolf: yes, stop using rakudobrew
20:28 Zoffix huggable: sauce
20:28 huggable Zoffix, Install untested latest development version of Rakudo from source: https://github.com/zoffixznet/r#table-of-contents
20:28 Zoffix rindolf: or submit a patch to it :)
20:29 Zoffix AlexDaniel: yeah, it's a bug. Currently slated to create a RatStr
20:30 Zoffix insteqd of a Rat with messed up nu/de
20:32 Zoffix I mean I'm working on it, but I'm taking a scenic route that takes care of uint bugs and swaps Rat to uint denums and probably adds a new nqp op
20:32 Zoffix Also need to learn C first :}
20:35 AlexDaniel I cannot come up with a realistic “simple” operation that would turn a Rat into a Num
20:36 AlexDaniel this is all I have:
20:36 AlexDaniel m: my $USA_yearly = 3_850_000_000_000.00; my $hobo_yearly = 0.01; say ($hobo_yearly/$USA_yearly).nude
20:36 camelia rakudo-moar f04bd1: OUTPUT: «(1 385000000000000)␤»
20:36 AlexDaniel you have to divide it by 100000 to turn it into a Nu
20:36 AlexDaniel m
20:37 AlexDaniel so it's close but not close enough
20:41 rindolf joined #perl6
20:53 rindolf Zoffix: hi
20:53 rindolf Zoffix: a patch to what?
20:54 zakharyas joined #perl6
20:56 rba joined #perl6
20:58 Zoffix rindolf: to rakudobrew. The issue you're seeing is due to a deficiency in rakudobrew, and nothing to do with rakudo compiler. The best I know it: rakudobrew creates wrappers scripts because it was made before the time when modules could be used by different versions of rakudo or something.
20:59 Zoffix rindolf: so you'd need to either patch it, or to not use it. Unless you're running multiple versions of rakudo at the same time, you don't need it
20:59 [Coke] rindolf: https://github.com/ugexe/zef/issues/121
21:00 itaipu joined #perl6
21:01 Zoffix rindolf: also this: https://github.com/rakudo/rakudo/pull/1155
21:15 evalable6 joined #perl6
21:18 astj joined #perl6
21:19 tyil Zoffix: I found the line that makes the "sh: 1: /home/tyil/projects/rakudo/install/bin/nqp-m: not found" show, I added a simple check to see if the file exists before trying to open it
21:19 tyil should I add a print with a nicer message?
21:28 mcmillhj joined #perl6
21:32 Zoffix Yeah
21:33 tyil "No pre-existing configuration file found at <path>"
21:33 tyil something like that?
21:34 Zoffix It's looking for nqp though, not configuration does it?
21:34 Zoffix There's #perl6-dev where more people might help out with this
21:34 * Zoffix goes for a night of relaxation
21:34 * Zoffix &
21:34 tyil will check
21:35 tyil thanks
21:37 TEttinger joined #perl6
21:43 Cabanossi joined #perl6
21:54 astj joined #perl6
21:58 epony joined #perl6
22:12 HoboWithAShotgun shouldn't that be a compile time error? : sub foo returns Int { return "a"; };
22:12 HoboWithAShotgun m: sub foo returns Int { return "a"; };
22:12 camelia rakudo-moar cef3bf: ( no output )
22:13 mst m: sub foo returns Int { return "a"; }; foo()
22:13 camelia rakudo-moar cef3bf: OUTPUT: «Type check failed for return value; expected Int but got Str ("a")␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
22:13 mst (just verifying the obvious)
22:20 HoboWithAShotgun what the fadpimiping ride did they think when they made every entry in an enum it's own symbol? talk about scope pollution
22:22 HoboWithAShotgun is there something else that behaves like a regular enum? one you can use as a type and access like "screen-mode.minimized"
22:22 evalable6 joined #perl6
22:29 timotimo you can just TheEnum::TheValue
22:37 HoboWithAShotgun ok. but once i import the enum from somewhere it pollutes my namespace with all its symbols, doesnt it?
22:37 HoboWithAShotgun s/namespace/scope/
22:38 timotimo hm, not actually sure about that
22:38 timotimo it might only do that if you mark it "is export"
22:39 timotimo whereas with "our" you'll get access to it via the name of the module you import
22:39 timotimo i'm a bit fuzzy about these details
22:52 BenGoldberg joined #perl6
23:01 skids joined #perl6
23:02 cdg_ joined #perl6
23:04 mudman joined #perl6
23:04 mudman release: status
23:04 releasable6 mudman, Next release in 16 days and ≈19 hours. No blockers. Changelog for this release was not started yet
23:04 releasable6 mudman, Details: https://gist.github.com/9f8db5783ceb3ee6b144a7f5124f0f64
23:08 aindilis joined #perl6
23:14 mcmillhj joined #perl6
23:22 avalenn joined #perl6
23:28 Cabanossi joined #perl6
23:32 shadoxx joined #perl6
23:33 HoboWithAShotgun meh, that's the second time i look for a bug caused by %hash<$somekey>
23:33 timotimo maybe better to get used to always using {' '}
23:33 timotimo for me, syntax highlighting makes it visible enough
23:43 HoboWithAShotgun i'm way past the point of recognizing color :D
23:43 HoboWithAShotgun i should probably hit the sack
23:43 perlawhirl bisectable6: old=2017.09 use experimental :collation; $*COLLATION.set(:quaternary(False), :tertiary(False)); say 'a' coll 'A';
23:43 bisectable6 perlawhirl, On both starting points (old=2017.09 new=cef3bf3) the exit code is 0 and the output is identical as well
23:43 bisectable6 perlawhirl, Output on both points: «More»
23:44 perlawhirl bisectable6: old=2017.08 use experimental :collation; $*COLLATION.set(:quaternary(False), :tertiary(False)); say 'a' coll 'A';
23:44 bisectable6 perlawhirl, Bisecting by output (old=2017.08 new=cef3bf3) because on both starting points the exit code is 0
23:44 bisectable6 perlawhirl, bisect log: https://gist.github.com/e94d3622e83b5cdd235622143e443bcd
23:44 bisectable6 perlawhirl, (2017-09-10) https://github.com/rakudo/rakudo/commit/9b42484a5d0ca6b5d340620cc5d8dd88e2eb331f
23:47 shadoxx joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo