Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-02-05

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:03 jeffythedragonsl p6: say 3
00:03 camelia rakudo-moar f325ee: OUTPUT«3␤»
00:05 lizmat timotimo: re rakudobrew, was discussing this earlier with nine today
00:05 lizmat it's from a time where you would need to re-install all of your modules whenever you re-compiled rakudo
00:05 lizmat those days are long gone now...  modules just stay installed and recompile automatically on first use nowadays :-)
00:10 timotimo that's true
00:16 jeffythedragonsl are there any open source projects being converted to perl6?
00:16 jeffythedragonsl I want to see thing language succeed but I feel like it just needs more users
00:16 El_Che I hope not. I hope new project rice.
00:16 El_Che rise
00:16 jeffythedragonsl ah
00:17 El_Che although rice is also nice
00:18 IOninja heh
00:18 IOninja "converting" is an antipattern :)
00:19 jeffythedragonsl so you wouldn't recommend trying to port perl 5 code to 6, got it
00:19 timotimo nighty night
00:19 * El_Che going tomorrow. Long day tomorrow at the #perl devroom at fosdem. Many perl 6 talks btw
00:19 AlexDaniel joined #perl6
00:19 El_Che jeffythedragonsl: libraries are always welcome
00:19 El_Che jeffythedragonsl: but that not migrating, but porting as you said
00:19 bjz joined #perl6
00:19 El_Che porting is nice
00:20 jeffythedragonsl any 3d graphics libraries?
00:20 El_Che If I have libraries for my perl5 and perl6 code I am double happy :)
00:20 jeffythedragonsl like to talk to opengl?
00:20 El_Che anyway, me off to bed (not a lot hours left)
00:21 jeffythedragonsl ttyl
00:21 IOninja jeffythedragonsl: wasn't my point. Converting a successful project from one language to another is a huge undertaking that would need very serious reasons to warrant doing. So looking for open source projects that are being converted to Perl 6 likely won't net you many :)
00:22 IOninja Unless you mean developing thing X in Perl 6 because we lack it, basing your designs on some other lang's lib.
00:23 jeffythedragonsl like what types of projects is perl6 going to be good at today?  Just to help the lang reach critical mass?
00:24 IOninja Teaching and anything that can be best solved by making your own mini language
00:25 jeffythedragonsl icic
00:26 * IOninja is an advocate of Build It And They Will Come philosophy.
00:27 IOninja Build what you like. If it's really good, it'll have users. Artificially trying to knock out a bunch of libraries for sake of moar users will just leave piles of bitrot
00:28 jeffythedragonsl agreed
00:28 jeffythedragonsl so I'm trying this tut: http://www.jnthn.net/papers/2015-spw-perl6-course.pdf
00:29 jeffythedragonsl I copy this into the REPL: loop (my $i = 10; $i > 0; $i--) {say $i;}
00:29 jeffythedragonsl 10
00:29 jeffythedragonsl 9
00:29 jeffythedragonsl 8
00:29 jeffythedragonsl 7
00:29 jeffythedragonsl 6
00:29 jeffythedragonsl 5
00:29 jeffythedragonsl 4
00:29 jeffythedragonsl 3
00:29 jeffythedragonsl 2
00:29 jeffythedragonsl 1
00:29 jeffythedragonsl Type check failed in binding to $value; expected Any but got Mu (Mu)
00:29 jeffythedragonsl in any interactive at src/Perl6/Compiler.nqp line 62
00:30 jeffythedragonsl but if I put it in a file it runs with no error
00:30 IOninja A bug
00:30 IOninja Report it :)
00:30 IOninja huggable: rakudobug
00:30 huggable IOninja, Report bugs by emailing to rakudobug@perl.org
00:31 IOninja Ah hehe, and I even have a good feeling of what it is
00:32 IOninja aye see it, I think
00:32 * IOninja compiles
00:36 jeffythedragonsl ok I sent email
00:38 jeffythedragonsl joined #perl6
00:39 jeffythedragonsl that's a new bug?
00:41 BenGoldberg m: my ($one, $two) = (1, 2); $one = ($two, ($two=$one))[0]; say [ $one, $two ]
00:41 camelia rakudo-moar f325ee: OUTPUT«[1 1]␤»
00:41 BenGoldberg m: my ($one, $two) = (1, 2); $one = (eager $two, ($two=$one))[0]; say [ $one, $two ]
00:41 camelia rakudo-moar f325ee: OUTPUT«[1 1]␤»
00:41 AlexDaniel mch: loop (my $i = 10; $i > 0; $i--) {say $i;}
00:41 committable6 AlexDaniel, ¦«2015.12,HEAD»: 10␤9␤8␤7␤6␤5␤4␤3␤2␤1
00:41 AlexDaniel so it's a RELP issue?
00:42 AlexDaniel repl*
00:42 jeffythedragonsl i think so
00:42 jeffythedragonsl p6: loop (my $i = 10; $i > 0; $i--) {say $i;}
00:42 camelia rakudo-moar f325ee: OUTPUT«10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤»
00:43 jeffythedragonsl evalbot isn't the same as the REPL then?
00:44 geekosaur no, it's not
00:46 IOninja jeffythedragonsl: it was introduced on Aug. 26, 2016
00:47 IOninja So not that new. It had a chance to live a happy life.
00:47 jeffythedragonsl yay I'm helping
00:47 * IOninja prepares sandwich bread
00:47 IOninja Bug sammich yum yum
00:47 pyrimidine joined #perl6
00:49 geekosaur one difference between the evalbot and the repl is that the evalbot doesn't remember anything between uses, whereas the REPL does... and the REPL does so somewhat hackily, which occasionally shows up in weird ways
00:49 IOninja jeffythedragonsl: did you get an email back with ticket number?
00:50 jeffythedragonsl it's  [perl #130719]
00:50 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130719
00:50 IOninja Thanks :)
00:50 cyphase_eviltwin joined #perl6
00:50 pyrimidine joined #perl6
00:56 IOninja aaaand... Fixed :)
00:57 jeffythedragonsl that was fast!
00:57 IOninja That's how we roll ;)
00:58 samcv oh i've got that error before
00:58 samcv idk if i'd say it crashes
00:58 samcv it doesn't die
00:59 jeffythedragonsl 3 character change
00:59 samcv you could also just type "Mu", and the repl would give that error
01:03 jeffythedragonsl so Mu is like Java's Object... interesting
01:03 jeffythedragonsl but for types
01:06 jeffythedragonsl is this out of date? http://www.jnthn.net/papers/2008-upw-perl6-slides.pdf
01:07 jeffythedragonsl if not I found more bugs
01:07 IOninja Very. Our first stable release was in 2015.
01:07 IOninja And before it things were changing rapidly
01:08 jeffythedragonsl was wondering why anyone would want to do: say "hello" & "goodbye";
01:08 jeffythedragonsl p6: say "hello" & "goodbye";
01:08 camelia rakudo-moar 34626e: OUTPUT«all(hello, goodbye)␤»
01:09 IOninja m: sub z { say $^v }; z "hello" & "goodbye"
01:09 camelia rakudo-moar 34626e: OUTPUT«hello␤goodbye␤»
01:09 jeffythedragonsl ah and Mu used to be called Object!
01:13 rightfold What are the pronunciation rules of Perl 6?
01:16 samcv is Inline::Perl5 broken or do i need to update
01:16 samcv i'm getting Type check failed in binding to $handle; expected CompUnit::Handle but got Sub (sub EXPORT (*@args) {...)
01:23 BenGoldberg m: my ($one, $two) = (1, 2); $one = ("$two", ($two=$one))[0]; dd [ $one, $two ]
01:23 camelia rakudo-moar 1b9919: OUTPUT«["2", 1]␤»
01:23 BenGoldberg m: my ($one, $two) = (1, 2); $one = (+$two, ($two=$one))[0]; dd [ $one, $two ]
01:23 camelia rakudo-moar 1b9919: OUTPUT«[2, 1]␤»
01:33 jeffythedragonsl does anyone use #moarvm anymore?
01:34 IOninja Yes.
01:34 IOninja (tis the weekend)
01:35 jeffythedragonsl I know C and C++ very well so maybe that's a good place for me to contribute
01:36 IOninja Sweet
01:36 IOninja +++++++++++++++++++++++
01:36 IOninja oops
01:37 jeffythedragonsl C+++++++++++++++++++ would be an interesting language
01:43 MasterDuke jeffythedragonsl: may i point you toward https://github.com/MoarVM/MoarVM/issues?
01:45 jeffythedragonsl I might take a stab at https://github.com/MoarVM/MoarVM/issues/59
01:45 jeffythedragonsl looks easy enough
01:46 Geth ¦ doc: 266c917427 | (Will "Coke" Coleda)++ | xt/code.pws
01:46 Geth ¦ doc: learn new code snippet
01:46 Geth ¦ doc: review: https://github.com/perl6/doc/commit/266c917427
01:52 pyrimidine joined #perl6
01:53 jeffythedragonsl how am I gonna test it?
01:53 jeffythedragonsl don't expect a rename to break anything, but still
01:55 bjz_ joined #perl6
01:59 Ben_Goldberg joined #perl6
01:59 IOninja git clone https://github.com/rakudo/rakudo; build it (perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install) and MoarVM is in nqp/MoarVM. Make changes. in MoarVM dir run: perl Configure.pl --prefix=../../install; make -j8; make install; then go back to rakudo's dir (you don't need to rebuild it if it was just a MoarVM change) and run TEST_JOBS=8 make spectest. If it's clean,
01:59 IOninja your change didn't break anything.
02:00 khw joined #perl6
02:06 MasterDuke the way i do it is to have rakudo, nqp, and moarvm all checked out into their own directories, but build each with a shared --prefix. YMMV
02:07 MasterDuke *build all with a shared --prefix
02:17 jeffythedragonsl compiling now
02:20 jeffythedragonsl compiling src/6model/reprs.o
02:20 jeffythedragonsl src/6model/reprs.c: In function ‘MVM_repr_initialize_registry’:
02:20 jeffythedragonsl src/6model/reprs.c:189:23: warning: passing argument 2 of ‘register_repr’ makes pointer from integer without a cast
02:20 jeffythedragonsl register_repr(tc, MVM##name##_initialize(tc), NULL)
02:20 jeffythedragonsl ^
02:21 jeffythedragonsl src/6model/reprs.c:199:5: note: in expansion of macro ‘register_core_repr’
02:21 jeffythedragonsl register_core_repr(Array);
02:21 jeffythedragonsl ^
02:21 jeffythedragonsl src/6model/reprs.c:139:13: note: expected ‘const struct MVMREPROps *’ but argument is of type ‘int’
02:21 jeffythedragonsl static void register_repr(MVMThreadContext *tc, const MVMREPROps *repr, MVMString *name) {
02:21 jeffythedragonsl ^
02:21 jeffythedragonsl is this ok?
02:24 jeffythedragonsl not done a ton of C++ on linux so not sure how to handle it not linking to .so
02:26 sammers hi #perl6
02:26 jeffythedragonsl hi
02:27 sammers I was looking at this, https://docs.perl6.org/routine/is%20pure, does 'is pure' on a sub have any performance impact?
02:30 jeffythedragonsl i fixed the warning
02:30 geekosaur it means that if you use it on something that can be constant-folded at compile time, it can be run on that at compile time and the constant result compiled in (so, should generally be a bit faster)
02:30 geekosaur there might be other optimizations possible in the future, the current optimizer is kinda lame
02:32 agentzh joined #perl6
02:36 sammers thanks geekosaur, I was just curious if there were any optimizations implemented at the moment
02:36 geekosaur I think at the moment rakudo relies more on JIT (spesh) than optimization
02:38 * geekosaur does wonder if there's any reason to poke at peephole optimization, but lacks the interest in wading through moarvm bytecode :)
02:39 geekosaur (not that peephole optimization could take advantage of that; it's mostly about noting runs of instructions that could be compacted/combined/possibly eliminated
02:40 samcv ok i updated Inline::Perl5 and it seems to work again. that's good
02:41 jeffythedragonsl I'm doing make spectest and Inline::Perl5 was broken
02:47 jeffythedragonsl lucky guess that I have 8 cores ;)
02:48 ilbot3 joined #perl6
02:48 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!
02:49 jeffythedragonsl what's the command to push to the repo?
02:51 jeffythedragonsl going to try forking and submitting a pull request
02:53 jeffythedragonsl not having much luck
02:54 MasterDuke fork the repo, clone your fork, checkout -b branch_name, make change, commit change, push origin -u branch_name, go to parent repo and create a pull request across forks
02:55 MasterDuke in fact, if you load the parent repo's page on github you'll usually see a link/button to create a pr from the branch you just pushed to your repo
02:56 MasterDuke you may have to set the parent repo as a remote in your fork for that though, not sure
02:57 geekosaur you don't, it remembers you forked from it
02:57 pyrimidine joined #perl6
02:58 geekosaur setting a remote is mainly useful to keep your branch up to date with upstream changes
03:04 labster joined #perl6
03:05 jeffythedragonsl I already had committed my changes to master on my hhd
03:08 rmusial joined #perl6
03:09 MasterDuke you can do the same thing on master, i just find it easier to work with branches. if your pr doesn't get merged for a while it can be annoying to have your master out of sync with upstream
03:10 jeffythedragonsl I don't know git super well so this is a learning experience tooo
03:10 jeffythedragonsl ➜  MoarVM git:(VMArray) git remote -v
03:10 jeffythedragonsl origingithub.com/jeffythedragonslayer/MoarVM.git (fetch)
03:10 jeffythedragonsl origingit@github.com:MoarVM/MoarVM.git (push)
03:10 jeffythedragonsl trying to set push remote to my github fork
03:12 MasterDuke push should be to your fork also
03:13 IOninja Don't know The Right Way™, but git remote remove origin && git remote add origin https://github.com/jeffythedragonslayer/MoarVM && git push --set-upstream origin master; should do the trick
03:13 MasterDuke and then something like `git remote add upstream git@github.com:MoarVM/MoarVM.git`
03:13 IOninja https://xkcd.com/1597/
03:13 MasterDuke ^^^ the steps i glossed over
03:14 jeffythedragonsl lol
03:23 jeffythedragonsl I submitted the pull request
03:23 bjz joined #perl6
03:24 Sgeo joined #perl6
03:24 MasterDuke jeffythedragonsl++
03:26 jeffythedragonsl what's the Travis CI build?
03:26 rmusial joined #perl6
03:27 MasterDuke automatically builds the project with your changes and runs some tests
03:28 jeffythedragonsl nice
03:29 MasterDuke it doesn't work perfectly, so failures don't necessarily mean there was a problem with your code, but it's a start
03:29 agentzh joined #perl6
03:30 jeffythedragonsl that was my first ever time contributing to an open source project
03:32 MasterDuke it gets addictive
03:32 jeffythedragonsl and people do this for free?
03:34 noganex_ joined #perl6
03:40 jeffythedragonsl joined #perl6
03:40 ilmari joined #perl6
03:42 jeffythedragonsl all checks passed
03:48 aborazmeh joined #perl6
03:48 aborazmeh joined #perl6
03:58 itcharlie left #perl6
03:59 pyrimidine joined #perl6
04:01 IOninja Hehe cool :) Welcome to the open source world! Do people do this for free? Well, they gain skills and knowledge. Karma for doing work that needs doing. Or just a challenge: some solve sudokus other solve bugs. And some apply to The Perl Foundation with a grant proposal and get coin for the work.
04:01 IOninja Or: build your own tools. A lot of stuff I made I use at work to make my life easier.
04:03 Eddward joined #perl6
04:05 sammers joined #perl6
04:10 jeffythedragonsl joined #perl6
04:10 jeffythedragonsl hey
04:11 jeffythedragonsl how long does it usually take for pull requests to be approved?
04:17 IOninja jeffythedragonsl: varies wildly due to many factors (is it easy to see the work is needed or discussion is needed? is the person who knows that part of codebase available to review it? is the PR very large, requiring a lot of time to review, etc). It's the weekend so fewer people are around to review it.
04:18 IOninja jeffythedragonsl: if it's still unmerged by end of monday, remind folks in #moarvm :)
04:18 jeffythedragonsl gotcha
04:19 jeffythedragonsl almost 250 sloc change so it's not like the bugfix from earlier today I guess
04:22 IOninja :)
04:22 MasterDuke and moarvm prs usually take a little longer than nqp/rakudo (fewer people to review, C may be more complicated to read than Perl, etc.)
04:24 jeffythedragonsl so is Not Quite Perl a language like Perl minus a bunch of features?
04:26 IOninja Sorta yeah.
04:26 IOninja There's https://github.com/edumentab/rakudo-and-nqp-internals-course course that goes into it
04:26 IOninja PDFs: http://edumentab.github.io/rakudo-and-nqp-internals-course/
04:36 agentzh joined #perl6
04:38 faraco_ joined #perl6
04:43 Cabanoss- joined #perl6
04:49 faraco_ howdy
04:54 IOninja \o
05:05 pyrimidine joined #perl6
05:06 masak faraco_: ahoy!
05:06 faraco_ o/
05:06 masak faraco_: are you here for the Perl 6? or for the excruciating puns? :P
05:07 faraco_ I enjoy both. :D
05:07 * masak .oO( I came here to code Perl 6 and to make excruciating puns, and I'm fresh out of Perl 6 )
05:08 masak faraco_: so do we! welcome! :D
05:10 * BenGoldberg is here to kick ass, chew gum and program perl6.  Ooh, is that gum?  *nom nom nom*
05:14 jeffythedragonsl joined #perl6
05:14 jeffythedragonsl I can confirm this 2 year old bug is fixed: https://github.com/MoarVM/MoarVM/issues/151
05:15 masak \o/
05:16 masak so, we close it?
05:16 IOninja Cool :) You could write a test for it (all bug fixes need a test). You can clone your fork of  https://github.com/perl6/roast to rakudo's t/spec
05:16 IOninja bisect: m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
05:16 bisectable6 IOninja, On both starting points (old=2015.12 new=1b99196) the exit code is 0 and the output is identical as well
05:16 bisectable6 IOninja, Output on both points: 1
05:17 jeffythedragonsl can't close, I don't have have permission on the MoarVM repo
05:17 samcv i can close it jeffythedragonsl
05:17 samcv closed
05:18 IOninja jeffythedragonsl: t/spec/integration/weird-errors.t is a good place. there's lives-ok routine you can use: https://docs.perl6.org/language/testing#index-entry-lives-ok-lives-ok%28%24code%2C_%24description%3F%29
05:19 samcv IOninja, does it have to be lives ok? it could just check the output of it right?
05:19 samcv i mean it will fail if it doesn't output anything
05:20 samcv j: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
05:20 camelia rakudo-jvm fb4f16: OUTPUT«Tried to get the result of a broken Promise␤  in method new at gen/jvm/CORE.setting line 29183␤  in method result at gen/jvm/CORE.setting line 41316␤  in sub await at gen/jvm/CORE.setting line 43578␤  in block  at gen/jvm/CORE.setting line 43577␤ …»
05:21 samcv ah so it doesn't work on jvm still
05:21 samcv so i guess lives-ok is fine
05:22 samcv IOninja, this should probably go in the rakudo specific tests right?
05:22 samcv not in roast
05:22 jeffythedragonsl what's t/spec?
05:22 samcv that's a folder inside the rakudo directory
05:22 samcv that is used for `make spectest`
05:23 samcv jeffythedragonsl, if you jsut run `make spectest_update` it should download it for you
05:23 samcv what distro are you using jeffythedragonsl
05:23 jeffythedragonsl Ubuntu
05:24 jeffythedragonsl make: *** No rule to make target 'spectest_update'.  Stop.
05:24 samcv you are in the rakudo folder?
05:24 samcv maybe try running `make spectest`
05:24 samcv it is possible you need to run that before trying to update it
05:25 jeffythedragonsl ➜  spec git:(master) pwd
05:25 jeffythedragonsl /home/jeff/rakudo/rakudo/t/spec
05:25 samcv though since you have no rule, you may need to run Configure.pl again
05:25 jeffythedragonsl think I already have it
05:25 samcv ok then run Configure.pl again
05:25 samcv jeffythedragonsl, i would recommend installing the `hub` tool https://www.calazan.com/installing-hub-git-wrapper-on-ubuntu-the-easy-way/
05:25 samcv with it, you can easily fork repos you have
05:26 samcv so you could cd into t/spec and run `hub fork` and it will fork it on github for you and add your fork as one of the remote places you can push to
05:26 samcv also can make pull requests from terminal
05:26 samcv i ♥ hub
05:27 samcv adding extra remotes is always annoying to do manually
05:27 jeffythedragonsl ah cool
05:27 samcv yeah :)
05:27 raiph samcv: Have you read https://github.com/apple/swift/blo​b/master/docs/StringManifesto.md ?
05:27 samcv i get not found warning
05:27 samcv also i have not
05:27 jeffythedragonsl Not found
05:27 samcv i guess this https://github.com/apple/swift/blob/master/docs/StringManifesto.md
05:28 samcv jeffythedragonsl, did running Configure.pl again allow you to run `make spectest`?
05:28 pyrimidine joined #perl6
05:28 jeffythedragonsl yeah it's running
05:28 samcv cool
05:29 samcv you don't really need to run the whole thing now
05:29 samcv i mean full spectest. unless you want to. also you should set the TEST_JOBS env var to the number of cpus +1 that you have
05:29 jeffythedragonsl +1?
05:29 samcv plus one
05:30 samcv nproc + 1, run the nproc command and add one
05:30 samcv then `export TEST_JOBS=number`
05:30 samcv i would also add it to your ~/.bash_rc or whichever file depending on yoru shell
05:30 jeffythedragonsl curious about why plus one
05:30 samcv because test jobs don't always use 100% of a thread's cpu
05:30 jeffythedragonsl I use oh-my-zsh
05:30 cibs joined #perl6
05:31 jeffythedragonsl ohh interesting
05:31 IOninja samcv: why rakudo specific?
05:31 samcv i have my things in .zshrc.local
05:31 samcv hmm IOninja ?
05:31 IOninja heh
05:31 samcv i keep my path type things in ~/.profile and then just import them in my .zshrc.local
05:33 samcv i have ` export TEST_JOBS=$(expr 1 + $(nproc))` in my zsh config
05:33 jeffythedragonsl my gosh so much faster now.  Here I thought this thing was single threaded
05:33 samcv just so it can work if i change computers or whatever
05:35 gdonald joined #perl6
05:36 jeffythedragonsl any reason why make can't do this automatically other than the error messages might come out out of order?
05:37 samcv can't do what automatically?
05:37 jeffythedragonsl know to put a job on each core
05:37 samcv you should put `export TEST_JOBS=$(expr 1 + $(nproc))` into your ~/.zshrc.local file
05:38 samcv then you will be set
05:38 jeffythedragonsl yeah I did
05:38 samcv cool
05:38 samcv what do you mean by automatically?
05:38 jeffythedragonsl like most software nowadays will auto detect how many cores your machine has and spawn enough threads to take full advantage of them all whenever you do something intensive
05:39 samcv ah
05:39 jeffythedragonsl but I guess if you have several jobs writing to stdout all at once it could get confusing
05:40 samcv and i think the perl 6 harness (make spectest uses a perl 5 one) has problems with large numbers of threads
05:40 jeffythedragonsl ok make spectest passed
05:40 samcv but i suppose make spectest could automatically do it in case there is no ENV var set i guess
05:40 samcv jeffythedragonsl, you wanted to add in that MVM bug that just got closed right?
05:42 jeffythedragonsl well don't know if I would call it a bug but yeah
05:43 jeffythedragonsl I'm waiting for #522 to be accepted, that's the MVM rename.  Now I'm going to write a test for #151 which is fixed
05:44 samcv kk
05:44 jeffythedragonsl but that will probably have to wait for tomorrow, getting late here
05:45 jeffythedragonsl thanks everyone
05:45 raiph samcv: that swift doc includes a well written 2-4 year Unicode roadmap that's a natural fit for P6
05:45 samcv maybe put it in S17-promise
05:45 samcv in that folder jeffythedragonsl, find some file that looks close enough
05:45 raiph heh
05:45 samcv roadmap?
05:46 samcv There is strong evidence that developers cannot determine how to use internationalization APIs correctly.
05:46 samcv haha
05:46 raiph for ex, they're focusing on non-locale specific Unicode for Swift 4
05:47 samcv i'm curious what swift's string compare function works and how/if they implement the Unicode Collation Algorithm
05:47 raiph They cover that in that doc
05:47 samcv nice. i will have to take a nice look at it
05:48 samcv i hate this word
05:48 samcv "Lexicographically compare the flattened keys."
05:48 samcv i hate it
05:48 samcv it's so vague
05:48 samcv i guess pet peeve
05:48 samcv we use it in our docs about the 'leg' operator. but that's not even what the leg operator does
05:48 samcv it compares by codepoint
05:50 samcv what they say about collation is semi-true. well for what MVM is eventually gonna do when i have full UCA support. i mean you don't always need to decompose the items
05:50 samcv in mvm we're only going to decompose both strings in case one of the graphemes is not in our UCA collation weight table
05:50 samcv there are many things that you can decompose which are in the table, and that saves us work
05:52 samcv to not always have to decompose, and if let's say string A or string B doesn't have anything in the collation weight table, we decompose both and then additively add the weights for each of the decomposed cp's together to form the weight for that one character
05:52 jeffythedragonsl joined #perl6
05:52 samcv but i guess we have it easier since strings are basically always stored in normalized form
05:53 samcv not sure about swift and their handling of normalization
05:57 raiph "for equality, it is sufficient to compare the strings' normalized forms [and] entirely skip [multi level collation]"
05:57 samcv nice
05:57 samcv yeah
05:58 raiph "Next, naturally, anything that applies to equality also applies to hashing: it is sufficient to hash the string's normalized form, bypassing collation keys."
05:59 samcv not sure why you need collation keys to hash a string for a hash?
05:59 stmuk is fanlang on github? a quick searh suggests not
06:00 raiph stmuk: it's (currently?) proprietary
06:02 stmuk odd
06:02 raiph stmuk: https://irclog.perlgeek.de/perl6/2017-02-03#i_14039629
06:04 stmuk ah thanks
06:14 araraloren joined #perl6
06:15 araraloren Afternoon, #perl6
06:15 samcv top secret
06:16 raiph good night #perl6
06:17 araraloren raiph, good night
06:22 TEttinger I really don't know enough about these funky unicode internals
06:24 TEttinger how does perl6 usually hash strings? I seem to recall the mention of SipHash in regards to either Perl5 or Perl6, but it might have just been an option
06:27 TEttinger I feel like collation and to a lesser extent normalization are rather advanced unicode topics, and I don't think I've even heard of collation before. I've used normalization as part of some steps to remove diacritics from text at one point.
06:30 pyrimidine joined #perl6
06:31 TEttinger ah, so the collation algorithm is for locale-sensitive comparison?
06:34 araraloren The wikipedia said that `The Unicode collation algorithm (UCA) is an algorithm defined in Unicode Technical Report #10, which defines a customizable method to compare two strings. These comparisons can then be used to collate or sort text in any writing system and language that can be represented with Unicode.`
06:37 TEttinger yep, that's where I was. rather short article, but the actual unicode technical report is ridiculous
06:37 wamba joined #perl6
06:40 samcv TEttinger, i implemented incomplete UCA with nqp::unicmp_s operation
06:40 TEttinger true heroes...
06:40 CIAvash joined #perl6
06:40 samcv m: use nqp; say nqp::unicmp_s('B', 'a', 15,0,0)
06:40 camelia rakudo-moar 1b9919: OUTPUT«1␤»
06:40 samcv m: use nqp; say nqp::cmp_s('B', 'a', 15,0,0)
06:40 camelia rakudo-moar 1b9919: OUTPUT«===SORRY!===␤Arg count 5 doesn't equal required operand count 3 for op 'cmp_s'␤»
06:40 samcv m: use nqp; say nqp::cmp_s('B', 'a')
06:40 camelia rakudo-moar 1b9919: OUTPUT«-1␤»
06:41 TEttinger ?
06:41 samcv well 'B' sorts before 'a' currently
06:41 samcv but with UCA it sorts B after a
06:41 TEttinger ahhh ok
06:41 samcv m: my @a = 'a', 'B'; say @a.sort
06:41 camelia rakudo-moar 1b9919: OUTPUT«(B a)␤»
06:41 samcv :(
06:42 samcv m: my @a = 'a', 'B'; say @a.sort({nqp::unicmp_s($^a, $^b, 15,0,0) } )
06:42 camelia rakudo-moar 1b9919: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Could not find nqp::unicmp_s, did you forget 'use nqp;' ?␤at <tmp>:1␤------> 3@a.sort({nqp::unicmp_s($^a, $^b, 15,0,0)7⏏5 } )␤»
06:42 samcv m: use nqp; my @a = 'a', 'B'; say @a.sort({nqp::unicmp_s($^a, $^b, 15,0,0) } )
06:42 camelia rakudo-moar 1b9919: OUTPUT«(a B)␤»
06:42 TEttinger because B is earlier in codepoint order than a, but comes after a in (most?) latin-alphabet languages' ordering traditions
06:42 samcv yeah
06:42 samcv exactly
06:42 samcv there is some debate if we want sort to do UCA in 6.d
06:42 TEttinger how would you specify... uh... turkish locale
06:43 TEttinger is that the 15 parameter?
06:43 samcv https://github.com/MoarVM/MoarVM/commit/875867d1
06:43 samcv read that commit and it will tell you everything you need to know :)
06:44 samcv that default 7 is going to change to a 15 though
06:44 samcv currently the integer terms don't do anything because it's NYI
06:44 samcv it just does primary, secondary, tertiary and it breaks ties by cp
06:45 TEttinger huh, what's the 8 bit do in 15? that just specifies meaning for 1,2,4
06:45 samcv so the newest plan is 15 is the default, and ties are broken by cp
06:45 samcv 8 is break ties with cp number
06:45 TEttinger ahh
06:45 samcv (4th level)
06:45 samcv so if you read that i also explain what the levels corrolate with
06:45 TEttinger quaternary or tetrary or what even is the word...
06:45 samcv for latin
06:45 samcv While the Primary, Secondary and Tertiary mean different things for
06:45 samcv different scripts, for the Latin script used in English they mostly
06:45 samcv correspond with Primary being Alphabetic, Secondary being Diacritics
06:45 samcv and Tertiary being Case.
06:46 TEttinger ohoho man the ch thing in spanish. from what I remember that was a big deal, but I can't remember if they added or removed ch as its own item in the alphabet as taught to children
06:47 TEttinger so also as affects dictionaries
06:47 samcv heh
06:49 TEttinger they might have removed rr as its own? since it doesn't start any Spanish words, though that logic isn't considered in English where x primarily starts loanwords or loaned roots, like xylophone (wood sound)
06:51 TEttinger samcv: if you gave it 0 for a bitmask instead of 15 or 7, what happens then? just falls back to cmp_s ?
06:51 samcv gonna add that op now to the nqp markdown
06:52 samcv doesn't compare anything probably
06:52 samcv haha
06:52 samcv that is what it would imply. it would return 0 for any result
06:52 samcv since it won't do primary secondary tertiary or fallback by cp
06:53 samcv but giving it an 8 would be similar to cmp_s except it would compare by cp for synthetic graphemes
06:53 samcv synthetic graphemes can sort unreliably with cmp_s, because it sorts by the synthetic number that just happened to be assigned to some grapheme
06:58 * TEttinger eyes window, estimates jump distance
06:59 samcv :P
07:25 Tonik joined #perl6
07:27 darutoko joined #perl6
07:32 pyrimidine joined #perl6
07:43 jeffythedragonsl joined #perl6
07:52 bjz joined #perl6
07:54 lizmat joined #perl6
07:55 Cabanossi joined #perl6
07:56 pyrimidine joined #perl6
07:59 pyrimidi_ joined #perl6
08:05 bjz_ joined #perl6
08:05 * lizmat waves from the Perl Devroom at FOSDEM
08:06 pyrimidine joined #perl6
08:12 jjido joined #perl6
08:21 samcv o/ :)
08:27 lizmat http://live.fosdem.org/watch/k4201
08:30 samcv i was wanting to get a sticker btw
08:30 samcv camelia sticker
08:37 lizmat samcv: we still have them  :-)
08:38 samcv i want one!
08:38 samcv if somebody from the US is there and can save me one and mail it to me
08:38 samcv yeah
08:38 El_Che yeah, that could work :)
08:39 samcv or whatever cool things you guys are handing out :)
08:39 El_Che too much cool stuff around here. Customs could be tricky :)
08:47 FROGGS joined #perl6
08:47 El_Che DrForr: ping
08:48 robertle joined #perl6
08:48 sanctusgray joined #perl6
09:00 RabidGravy joined #perl6
09:02 gdonald joined #perl6
09:08 pyrimidine joined #perl6
09:09 RabidGravy boom!
09:24 rindolf joined #perl6
09:26 RabidGravy Does the date time format "2011/04/06 14:55:30 +0000" have a name? I probably know somewhere in my brain but not this morning.
09:28 lizmat https://tools.ietf.org/html/rfc3339 ?
09:34 zakharyas joined #perl6
09:35 faraco joined #perl6
09:36 samcv what format is that RabidGravy
09:37 samcv it's not ISO 8601 since it uses '/' instead of '-'
09:37 RabidGravy It's the "whatever stupid format SoundCloud uses in its REST api" format
09:38 sena_kun joined #perl6
09:42 FROGGS joined #perl6
09:46 timotimo o/
09:48 RabidGravy boo!
09:53 araraloren joined #perl6
09:54 bjz joined #perl6
09:54 pyrimidine joined #perl6
09:55 rumble joined #perl6
09:55 RabidGravy I think there's something in ecosystem that parses it actually
09:56 timotimo "we have this strtotime function in our php, how do we get a proper format for that?" "oh i'll just read the docs and come up with something"
09:58 timotimo ugh, ovid got bitten pretty hard by dark background, bright text ... and ... what? a bad font?
09:59 lizmat yeah, a lot of light from the back
09:59 timotimo it also looks terrible on the stream
09:59 timotimo like, you can't read it at all
09:59 timotimo it's rather dark, and not sharp at all
09:59 pyrimidine joined #perl6
10:00 lizmat yeah, unreadable from where I sit  :(
10:00 timotimo unreadable from wherever on the world you are, it seems like
10:00 lizmat this one's better  :-)
10:00 timotimo yup
10:06 samcv well i'm almost done making unicmp_s work for synthetic graphemes too
10:06 samcv "\c[woman facepalming]" unicmp "\c[man facepalming]" #> Less
10:07 samcv seems to be working as expected!
10:07 lizmat seems wrong to me  :-)
10:07 samcv heh
10:07 DrForr El_Che: pong
10:07 * samcv checks the UCA data
10:08 samcv woman seems to have a higher collation score than man
10:08 samcv so maybe it's not working properly
10:09 TEttinger how unchivalrous, I thought it was ladies first... in collation order
10:09 lizmat that was not the (joke) point I was making, but if it has a higher collation score, it indeed feels wrong ?
10:09 samcv so it works fine
10:09 samcv Less as in, it sorts before
10:09 El_Che Told you, but in case it was too loudy in the room: video room at available at reception (just say we need Xamount for perl devroom). For after your talk maybe :)
10:10 samcv so sorting the two, the woman facepalming would go first
10:10 samcv so Less is actually correct
10:10 TEttinger ah, so it's right then?
10:10 samcv a is less than b
10:10 samcv yeah so it seems to be working \o/
10:10 * samcv fats self on back
10:10 * TEttinger backs self on fat
10:10 samcv heh
10:11 samcv gotta now try with some ones that have the same first grapheme
10:11 TEttinger mm. so those would depend purely on the joined parts, like man cheering and man frowning would have some defined order?
10:11 samcv yeah
10:12 samcv m: "\c[man frowning]".uninames.say
10:12 camelia rakudo-moar 5af02a: OUTPUT«(PERSON FROWNING ZERO WIDTH JOINER MALE SIGN VARIATION SELECTOR-16)␤»
10:12 samcv oh actually. it is sorting by the last one
10:12 TEttinger wowza
10:12 samcv since the woman cp is not first
10:12 samcv so. everything works perfect \o/
10:12 samcv success
10:12 TEttinger eyyyy
10:13 TEttinger neat!
10:13 samcv :-D
10:13 samcv you may now proceed to throw self out window
10:13 samcv i was promised!
10:13 * timotimo watches
10:13 lizmat and go back to procedural programming ?
10:13 samcv lol
10:14 TEttinger oh I am always procedural
10:14 geekosaur joined #perl6
10:14 * TEttinger flops out of chair, aiming for window, swerves to avoid cat
10:15 TEttinger this guy... https://dl.dropboxusercontent.com/u/11914692/Satchmo_Portrait_small.png
10:16 samcv cute
10:16 timotimo pretty!
10:17 samcv can we add a unicmp op just so people can play with it? before deciding on a final name?
10:17 andrzejku joined #perl6
10:18 TEttinger he's a good kitty. we were worried about him as a kitten because he never drank water from the bowl. turns out he needed a new strategy... using his paw like a cup and drinking in a raccoon-like way
10:18 timotimo d'aaw
10:18 moritz samcv: +1
10:18 timotimo an op, as in ... nqp::unicmp, or an &infix:<unicmp>?
10:18 samcv yeah. it's not gonna go on the docs or anything, but would be cool if people can test it out
10:18 timotimo we can use the "use experimental" mechanism for that, fwiw
10:19 samcv how do i make it experimental
10:19 timotimo you can probably steal off of "pack"?
10:21 moritz in src/core/Buf.pm fwiw
10:22 moritz lol I blogged: https://perlgeek.de/blog-en/perl-6/2017-006-book-grammar.html
10:25 samcv kk have a PR for MVM with support for synthetics now :)
10:25 samcv will look at pack @timotimo
10:34 TimToady joined #perl6
10:40 lukaramu joined #perl6
10:46 timotimo next up is brian duggan: Informal Domain Specific Languages with Perl 6
10:46 timotimo https://live.fosdem.org/watch/k4201
10:47 mr-foobar joined #perl6
10:48 timotimo did ... the camera just asploded?
10:48 timotimo or maybe the stream just problemed for me
10:48 * lizmat has no idea
10:48 timotimo sound disappears, the camera feed disappears
10:48 timotimo after that it "catches up"
10:49 timotimo so i think it's the stream, not on your end
10:49 lizmat ah, ok
10:49 lizmat I don't want to stress the local network by trying to stream here as well
10:49 timotimo yeah, good idea
10:49 timotimo people trying to IRC from inside the conference will thank you for that
10:59 bjz_ joined #perl6
11:01 espadrine joined #perl6
11:12 * nine thanks lizmat :)
11:13 lizmat ;-)  yw  :-)
11:13 * nine is now watching the libuv lightning talk...in hope of enlightenment
11:14 El_Che nine: libuv is what blocking solaris support for rakudo (moarvm)
11:15 nine So I will ask later on when they are going to support Solaris ;)
11:16 El_Che they kind of support Solaris 11 but their tests failed
11:16 El_Che I talked with the dev and well "kind of"
11:16 El_Che :)
11:16 nine I find it quite funny that Perl 6 is driving the development of a library that's a base for the current hipster thingy with millions of users.
11:17 Alikzus joined #perl6
11:18 El_Che :)
11:20 samcv unicmp now pushed, hiden under 'use experimental :unicmp'
11:21 timotimo oooh, bduggan could have written @<indent> here, instead of @$<indent>, right?
11:22 grondilu to get the last character of a string, I must do .substr(*-1, 1), right?  If so, it doesn't degrades well with empty strings
11:22 grondilu m: say ''.substr(*-1,1)
11:22 camelia rakudo-moar 5af02a: OUTPUT«Start argument to substr out of range. Is: -1, should be in 0..0; ␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
11:22 grondilu m: say 'foo'.substr(*-1,1)
11:22 camelia rakudo-moar 5af02a: OUTPUT«o␤»
11:23 timotimo m: say ''.comb.tail
11:23 camelia rakudo-moar 5af02a: OUTPUT«Nil␤»
11:23 timotimo m: say 'hello'.comb.tail
11:23 camelia rakudo-moar 5af02a: OUTPUT«o␤»
11:23 grondilu nice, I did not know about .tail
11:23 timotimo it's the better form of [*-1] :)
11:24 samcv m: "".comb.tail.say
11:24 camelia rakudo-moar 5af02a: OUTPUT«Nil␤»
11:25 grondilu what about .substr(0, *-1)?
11:25 bjz joined #perl6
11:25 grondilu .comb[^.comb.end].join  :P
11:25 jjido joined #perl6
11:26 aborazmeh joined #perl6
11:26 aborazmeh joined #perl6
11:26 samcv my $var = ''; $var.chars ?? $var.subst(*-1, 1) !! ""
11:26 samcv why not this?
11:27 samcv m: my $var = ''; say ($var.chars ?? $var.subst(*-1, 1) !! "")
11:27 camelia rakudo-moar 5af02a: OUTPUT«␤»
11:27 samcv m: my $var = 'test'; say ($var.chars ?? $var.subst(*-1, 1) !! "")
11:27 camelia rakudo-moar 5af02a: OUTPUT«(timeout)»
11:28 samcv m: my $var = ''; say ($var.chars ?? $var.substr(*-1, 1) !! "")
11:28 camelia rakudo-moar 5af02a: OUTPUT«␤»
11:28 samcv m: my $var = 'test'; say ($var.chars ?? $var.substr(*-1, 1) !! "")
11:28 camelia rakudo-moar 5af02a: OUTPUT«t␤»
11:28 grondilu using a ternary for that is LTA
11:28 samcv true
11:28 timotimo yeah
11:29 samcv we could just make a .tail which returns the last character?
11:29 timotimo nope
11:29 timotimo items pretend they are a list with only them in it
11:29 samcv yeah that won't wor
11:29 timotimo m: say "hey".elems; say "hey".tail
11:29 camelia rakudo-moar 5af02a: OUTPUT«1␤hey␤»
11:29 grondilu frankly IMHO ''.substr(*-1, 1) should return Str rather than dying
11:30 samcv imo substr for just getting a single character of a string is lta too
11:30 samcv but that's just me
11:30 grondilu yeah but what about ''.substr(0, *-1)?
11:30 timotimo oh, do you know about chop?
11:30 timotimo m: say "hello".chop
11:30 camelia rakudo-moar 5af02a: OUTPUT«hell␤»
11:30 timotimo er, wrong way around :)
11:30 grondilu oh boy
11:30 timotimo m: say "hey".chop
11:30 camelia rakudo-moar 5af02a: OUTPUT«he␤»
11:30 grondilu m: say ''.chop
11:30 camelia rakudo-moar 5af02a: OUTPUT«␤»
11:30 timotimo m: say "".chop
11:30 camelia rakudo-moar 5af02a: OUTPUT«␤»
11:30 AlexDaniel joined #perl6
11:30 timotimo that's what i meant
11:30 grondilu nice
11:31 timotimo but still it's the wrong way around, isn't it?
11:31 grondilu timotimo++
11:31 samcv what's the opposite of chop
11:31 timotimo pohc, clearly
11:31 samcv err reverse
11:32 samcv pohc?
11:32 grondilu .comb.tail and .chop were exactly what I needed
11:32 samcv since when did the docs get more ugly looking :\
11:32 timotimo btw did you know
11:33 timotimo if unicode has italic ? and italic !, we can have a variant of ?? !! that uses definedness of the LHS instead of truthness
11:33 timotimo u: questionmark
11:33 unicodable6 timotimo, Found nothing!
11:33 andrzejku hi people
11:33 timotimo u: question mark
11:33 unicodable6 timotimo, U+003F QUESTION MARK [Po] (?)
11:33 unicodable6 timotimo, U+00BF INVERTED QUESTION MARK [Po] (¿)
11:33 samcv does it have italic question mark tho :\
11:33 samcv i don't think so
11:33 unicodable6 timotimo, https://gist.github.com/ef5a84a090b6726cac2fa8c9263e3477
11:33 samcv the italic and bold characters only exist for transcription purposes
11:33 samcv i believe
11:33 samcv retaining data of the text
11:33 timotimo :(
11:34 samcv if transcribing something bold
11:34 samcv $var ?/ 'this' ?/ 'that'
11:34 samcv lol.
11:34 samcv err
11:34 samcv $var ?/ 'this' !/ 'that'
11:34 timotimo not sure about that :) :)
11:35 samcv tho you could make it super horrible and $var //?? 'this' //!! 'that'
11:35 El_Che yeah dana is up
11:35 timotimo you can't declare ternary ops just with &infix:<//?? //!!>
11:35 timotimo sadly we have to write a slang if we want that
11:35 samcv how is ?? !! declared? i remember seeing it was different than the other things
11:36 timotimo yes, it's special-cased in the Perl6::Grammar
11:36 samcv yeah that's what i thought
11:36 samcv $var.defined ?? 'this' !! 'that'
11:36 samcv that's not too hard
11:36 samcv also going to point out i love ?? !! compared to ? and :
11:36 samcv much better to look at and easier to tell what it's doing
11:36 timotimo right, and since ?? doesn't give you a $_ based on the LHS, it doesn't even make a difference
11:37 timotimo aye, i prefer ??!! over ?:, too
11:37 samcv we could have texas, $var ?TRUE 'this' !FALSE 'that'
11:37 samcv lol
11:37 samcv so many horrible syntax things you could do
11:37 timotimo i wouldn't call that texas …
11:38 timotimo though ... maybe?
11:38 jjido joined #perl6
11:38 samcv it is bigger and uglier
11:38 timotimo that's not a nice thing to say about texas/texans
11:38 samcv :\ i lived there for like a year
11:39 samcv but just from perl 6's texas operators they're generally hard to look at
11:40 timotimo uh oh, the sieve of erathostenes in perl6 on rosettacode is wrong? :o
11:40 timotimo oh just because it uses %% to check each entry
11:40 timotimo rather than looping over all entries and marking proactively instead
11:41 timotimo well "just" isn't the right word for that
11:41 samcv perl 6 programmers are lazy!
11:42 timotimo right, you can't really do that lazily
11:42 timotimo though you can save a whole bunch of "marking progresses that have reached this point"
11:43 timotimo then you can actually do it lazily even without trial division
11:46 samcv m: my @list = "\c[woman facepalming]", "\c[man facepalming]"; say @list.sort({$^a unicmp $^b})
11:46 camelia rakudo-moar 5870ef: OUTPUT«Use of the 'unicmp' operator is experimental; please 'use experimental :unicmp'␤  in block <unit> at <tmp> line 1␤␤»
11:46 agentzh joined #perl6
11:46 samcv m: use experimental :unicmp; my @list = "\c[woman facepalming]", "\c[man facepalming]"; say @list.sort({$^a unicmp $^b})
11:46 camelia rakudo-moar 5870ef: OUTPUT«(🤦‍♂️ 🤦‍♀️)␤»
11:47 samcv m: use experimental :unicmp; my @list = "\c[woman facepalming]", "\c[man facepalming]"; say @list.sort({$^a unicmp $^b})
11:47 camelia rakudo-moar 5870ef: OUTPUT«(🤦‍♂️ 🤦‍♀️)␤»
11:47 samcv hmm it sorts that way. hmm
11:47 samcv m: use experimental :unicmp; my @list = "a", "b"; say @list.sort({$^a unicmp $^b})
11:47 camelia rakudo-moar 5870ef: OUTPUT«(a b)␤»
11:47 timotimo interesting. Bool(...) rather than using so
11:48 timotimo instead of {$^a unicmp $^b} you should be able to write &[unicmp]
11:48 samcv oh. it sorts wrong
11:48 samcv because it doesn't have the MVM update yet ;P
11:48 AlexDaniel even “with” is not that popular, and you want “defined” version of ?? :S
11:48 timotimo that's why it's experimental :P
11:48 samcv well. timotimo wanna look at my PR and see if anything is amiss. it should be perfectly fine
11:48 samcv i'd like to commit it if somebody looks at it and doesn't notice anything weird
11:49 timotimo let me have a quick look
11:49 El_Che Dana forces me to realiaze how long ago it was that I had real math :)
11:49 samcv kk
11:49 timotimo that's a whole lot of eulerplate!
11:50 El_Che hahaha
11:50 El_Che don't "Digress"
11:50 timotimo interesting, he pronounces it sigil rather than sigil
11:50 timotimo i thought it was meant to be sigil, but what do i know …
11:51 samcv those are both the same letters
11:51 timotimo :P
11:51 samcv sigil rather than sigil
11:51 timotimo it was a slight mocking of english
11:52 timotimo uh oh
11:52 timotimo he has a slide with "perl 6 uses *. good, right?" :D
11:52 samcv looking again i just see two unused vars, just pushed with those removed
11:52 samcv curious how many of the unicode collation tests we pass now
11:52 timotimo phew, we fail at primality tests because we just rely on libtommath
11:53 samcv we do timotimo ?
11:53 timotimo there's a paper that has an algorithm to create numbers that libtommath will tell you are prime, but they are not prime
11:53 samcv :\
11:53 samcv that's a pretty big issue
11:53 timotimo because libtommath uses the first 100 bases instead of 100 random bases
11:54 timotimo which is not how you do that algorithm
11:55 samcv m: use experimental :unicmp; my @list = "\c[man facepalming]", "\c[woman facepalming]"; say @list.sort({$^a unicmp $^b})
11:55 camelia rakudo-moar 5870ef: OUTPUT«(🤦‍♀️ 🤦‍♂️)␤»
11:55 samcv yeah that's what i thought. depending on the order you declare, cmp is going to sort in the opposite order :P
11:55 samcv tho will be fixed with this MVM change at least for unicmp
11:56 samcv i think we could call 'unicmp_s(a, b, 8, 0, 0)' and that will sort without collation (NYI tho) at least will fix it not sorting synthetics correctly
11:56 timotimo i'd like to review your code, but i'm afraid i'm dead tired. i've already made a major mistake today that requires a bit of intervention from someone with more permission bits set …
11:56 samcv kk
11:57 timotimo i might need a nap or something? though that oftentimes leaves me just as (or more) destroyed :\
11:57 araraloren joined #perl6
11:57 timotimo ooooh bloom filters
11:59 timotimo too tired to review code, but at least i can marvel at this number theory
11:59 timotimo not following the algorithms, of course
11:59 timotimo talk over; i'm really looking forward to all those improvements landing in moar and such :)
12:00 timotimo it'd be fantastic if there was like a volunteer sitting at an audio mixer or something who could mute the microphone when the speaker begins putting it on their clothes, or removing it from their clothes and putting it down on the table
12:01 timotimo and people pushing chairs around and such
12:01 timotimo also: hooray, it's liz and wendy
12:01 pyrimidine joined #perl6
12:05 timotimo oooh, leaked secret information!
12:08 tadzik yiss :]
12:10 samcv what secret info? i missed it
12:10 tadzik Wendy broke a mug and announced Perl 7
12:11 samcv oh my
12:11 samcv how did that happen
12:11 timotimo yes, it was very loud
12:11 timotimo there was a microphone placed where the mug was supposed to break
12:11 timotimo it went BANG
12:11 samcv oh lol
12:12 samcv they didn't really announce perl 7 though right
12:13 timotimo you won't know unless you re-watch the stream :P
12:13 samcv haha
12:13 samcv i think jnth will like it more if i make a function to iterate synthetics
12:14 samcv so i will code that
12:14 El_Che \o/ Wendy !
12:14 samcv i hope i get swag ;3
12:14 El_Che I heard there are some camelia stickers set aside for you :)
12:14 samcv yay!
12:15 samcv i am excited
12:16 geekosaur joined #perl6
12:16 samcv that's not suspicious at all.... https://i.imgur.com/J02gL4F.png
12:16 itaipu joined #perl6
12:17 El_Che https://twitter.com/nxadm/status/828215835156176896
12:18 timotimo wow, the room looks so much brighter than in the stream video feed
12:19 El_Che I measure the lightning  on the screen :)
12:20 timotimo ride the lightning?
12:22 mr-foobar joined #perl6
12:25 timotimo BBIAB
12:26 tokomer joined #perl6
12:27 El_Che hehe, great albu
12:27 El_Che m
12:33 pmurias joined #perl6
12:34 samcv i can't hear this
12:34 samcv no mic noise
12:34 El_Che He has his mic on. I don't think it's a good idea to disturb drforr now (he's in the middle of an explanation)
12:36 pmurias m: say("\c[PARAGRAPH SEPARATOR]" ~~ /<print>/)
12:36 camelia rakudo-moar 5870ef: OUTPUT«「
」␤ print => 「
」␤»
12:37 pmurias ^^ is that correct
12:37 pmurias j: say("\c[PARAGRAPH SEPARATOR]" ~~ /<print>/)
12:37 camelia rakudo-jvm fb4f16: OUTPUT«Nil␤»
12:38 samcv <print> shows printable characters?
12:38 pmurias \c[PARAGAPH SEPARATOR] is a printing character according to moar, it's not one according to the jvm
12:38 samcv not familiar with that token
12:38 pmurias samcv: <print> matches printing characters
12:38 samcv m: "\c[PARAGAPH SEPARATOR]".ord.say
12:38 camelia rakudo-moar 5870ef: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name [PARAGAPH SEPARATOR]␤at <tmp>:1␤------> 3"\c[PARAGAPH SEPARATOR7⏏5]".ord.say␤»
12:38 samcv m: "\c[PARAGRAPH SEPARATOR]".ord.say
12:38 camelia rakudo-moar 5870ef: OUTPUT«8233␤»
12:39 samcv hmm curious what MVM looks at for <print>
12:39 samcv i am busy for a bit but i will take a look pmurias
12:39 samcv in like 10 min
12:40 samcv El_Che, still can't hear anything :\
12:40 samcv it's so quiet and i have my volume on 120%
12:43 pmurias MoarVM uses !((cp >= 0 && cp < 32) || (cp >= 127 && cp < 160)) so it's the opposite of <cntrl>
12:43 samcv it doesn't use any unicode data?
12:43 samcv bleh
12:43 samcv please make a bug report on github pmurias
12:44 samcv m: "\c[PARAGRAPH SEPERATOR]".uniprop.say
12:44 camelia rakudo-moar 5870ef: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name [PARAGRAPH SEPERATOR]␤at <tmp>:1␤------> 3"\c[PARAGRAPH SEPERATOR7⏏5]".uniprop.say␤»
12:45 pmurias do we have unicode data for that?
12:45 samcv m: "\c[PARAGRAPH SEPARATOR]".uniprop.say
12:45 camelia rakudo-moar 5870ef: OUTPUT«Zp␤»
12:45 samcv i will investigate it
12:45 samcv and decide the best properties for us to use
12:45 El_Che should be ok now
12:45 samcv very good :)
12:47 gdonald joined #perl6
12:47 El_Che I didn't want to interrupt him in the middle of his example
12:47 El_Che train of thought and stuff
12:54 jferrero m: say ["a" .. "z"]
12:54 camelia rakudo-moar 5870ef: OUTPUT«[a b c d e f g h i j k l m n o p q r s t u v w x y z]␤»
12:54 jferrero m: say ["" .. "z"]
12:54 jferrero Oops
12:55 camelia rakudo-moar 5870ef: OUTPUT«(timeout)»
12:55 geekosaur joined #perl6
12:55 lizmat m: dd "".succ
12:55 camelia rakudo-moar 5870ef: OUTPUT«""␤»
12:55 lizmat hmmm
12:58 ggoebel joined #perl6
12:58 z448 joined #perl6
13:03 nine Stevan Little is waiting in the line for his own talk :)
13:04 samcv k pushing my fixes for unicmp_s. should get the latest in camelia shortly
13:04 tadzik hah, today I thought "if you want to make sure you get to see the talk you want on fosdem, you have to be the speaker". Apparently even that is not enough :D
13:04 pyrimidine joined #perl6
13:05 samcv haha
13:07 pmurias nine: if there aren't enough free slots for him, does a randomly selected memeber of the audience take it over? ;)
13:08 samcv pmurias, also ZWJ matches print too
13:08 nine tadzik: but that's exactly my strategy for getting into Stevan's talk ;)
13:08 samcv m: say "\c[ZWJ]" ~~ /<print>/
13:08 camelia rakudo-moar 5870ef: OUTPUT«「‍」␤ print => 「‍」␤»
13:09 samcv tho, you could argue it is printed and it joins but. uh.......
13:10 samcv space matches print, but tab does not
13:10 samcv j: say "\c[TAB]" ~~ /<print>/
13:10 camelia rakudo-jvm fb4f16: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name TAB␤at <tmp>:1␤------> 3say "\c[TAB7⏏5]" ~~ /<print>/␤»
13:10 tadzik woo the talk
13:10 tadzik HYYPE
13:10 samcv j: say "" ~~ /<print>/
13:10 camelia rakudo-jvm fb4f16: OUTPUT«Nil␤»
13:10 samcv j: say "\t" ~~ /<print>/
13:10 camelia rakudo-jvm fb4f16: OUTPUT«Nil␤»
13:11 samcv j: say " " ~~ /<print>/
13:11 camelia rakudo-jvm fb4f16: OUTPUT«「 」␤ print => 「 」␤»
13:11 samcv also odd how \t is control character, but ZWJ is control formatting. i'd argue tab is formatting but
13:12 samcv but i guess can make it easy and just say no control characters, anything with C in general category
13:13 kurahaupo__ joined #perl6
13:13 El_Che damn; we're too packed here
13:13 lizmat https://gist.github.com/lizmat/a98b5115f624416a3a0534b12c9469d4   # Ovid made me do this
13:13 lizmat conceptual "is write-once" trait for Attributes   ^^^
13:15 ambs joined #perl6
13:16 MasterDuke samcv: i don't think your moarvm pr was merged, so the version bump in nqp didn't match any commit in the moarvm master branch
13:16 samcv it didn't i commitedit
13:16 samcv directly
13:18 MasterDuke it's not showing up on the moarvm master branch
13:18 samcv oh crap
13:18 samcv ok now it's commited :)
13:19 MasterDuke heh, travis should be ok now
13:19 samcv :P
13:20 samcv i bet camelia failed too
13:24 samcv pushed a small edit to the readme, so hopefully camelia will build now
13:25 hartenfels joined #perl6
13:42 Rawriful joined #perl6
13:44 xtreak joined #perl6
13:47 lizmat itttttttsssssssss....  nine!
13:50 KDr2 joined #perl6
13:54 El_Che you guys get the sound ok?
13:56 sena_kun El_Che, all is fine.
13:56 imcsk8 joined #perl6
13:56 AlexDaniel which sound?
13:56 sena_kun AlexDaniel, fosdem live.
13:56 AlexDaniel link?
13:56 El_Che nine is now on
13:57 El_Che https://live.fosdem.org/watch/k4201
13:57 sena_kun AlexDaniel, https://live.fosdem.org/watch/k4201
14:01 samcv m: use experimental :unicmp; say "cmp: ", "\c[woman facepalming]" cmp "\c[man facepalming]"; say 'unicmp: ', "\c[woman facepalming]" unicmp "\c[man facepalming]"
14:01 camelia rakudo-moar ecb7ed: OUTPUT«cmp: More␤unicmp: Less␤»
14:01 samcv cool working
14:01 samcv m: use experimental :unicmp; say "cmp: ", "\c[man facepalming]" cmp "\c[woman facepalming]"; say 'unicmp: ', "\c[woman facepalming]" unicmp "\c[man facepalming]"
14:01 camelia rakudo-moar ecb7ed: OUTPUT«cmp: More␤unicmp: Less␤»
14:02 samcv as you can see if you reverse the order of woman facepalming and man facepalming it still outputs 'more' since it dosen't compare synthetic graphemes properly
14:02 samcv but yay
14:06 pyrimidine joined #perl6
14:09 Ulti urgh setting up a Windows build environment is incredibly tedious
14:10 Ulti BTW there are some build issues on Ubuntu for Windows 10 with rakudobrew but might just be some deps, will take a proper look later
14:24 pmurias m: say "\c[TAB]" ~~ /<print>
14:24 camelia rakudo-moar ecb7ed: OUTPUT«5===SORRY!5===␤Regex not terminated.␤at <tmp>:1␤------> 3say "\c[TAB]" ~~ /<print>7⏏5<EOL>␤Unable to parse regex; couldn't find final '/'␤at <tmp>:1␤------> 3say "\c[TAB]" ~~ /<print>7⏏5<EOL>␤    expecting any of:␤        in…»
14:25 timotimo what talk was the one tadzik was so hype about 1.5h ago?
14:26 tadzik timotimo: stevan's
14:26 timotimo i gathered as much
14:26 timotimo topic?
14:26 tadzik p5-mop again, basically :P
14:26 timotimo oh
14:26 timotimo hm, do i care?
14:26 tadzik I don't know, do you do Perl 5?
14:26 timotimo nah
14:27 tadzik then no :)
14:27 timotimo OK
14:31 * El_Che sings: "I am so exicited, I just can hide it..."
14:31 El_Che :)
14:34 itaipu joined #perl6
14:38 cale2 joined #perl6
14:38 ocbtec joined #perl6
14:48 timotimo is brrt actually in the room? :D
14:49 Cabanossi joined #perl6
14:49 El_Che she looked into the camera (I think)
14:49 timotimo oh, ok
14:50 El_Che but there are 2: the fosdem one, and one shadowcat one
14:50 timotimo ah, was probably the shadowcat camera
14:50 El_Che the didn't look at the one used in the live stream
14:50 El_Che :)
14:50 timotimo right
14:50 timotimo better idea, IMO :)
14:56 pyrimidine joined #perl6
15:01 pyrimidi_ joined #perl6
15:07 timotimo uh oh, more super dark slides ;(
15:08 El_Che timotimo: he changed it to make it readable in the room
15:09 timotimo yup, i saw
15:09 timotimo it's much better
15:09 El_Che the other video catches the slides directly
15:09 timotimo a framegrabber hopefully?
15:10 El_Che indeed
15:12 ocbtec_ joined #perl6
15:17 ocbtec joined #perl6
15:22 pyrimidine joined #perl6
15:30 cyphase joined #perl6
15:35 samcv i'm thinking about getting rid of Rakudo::Internals.PROPCODE
15:35 samcv because it's like 5x slower than just calling the nqp op
15:35 samcv so thinking of just totally removing the Rakudo::Internals sub. about to replace all our uses of PROPCODE with the nqp op for some nice 2x speedups for like .uniprop for the default argument
15:35 timotimo perl5 makes stuff faster. i want perl6 to have faster stuff, too :)
15:36 samcv ^
15:36 samcv we are making stuff faster tho!
15:36 timotimo yeah, that's true
15:36 timotimo AMIGAOS SUPPORT!
15:36 samcv he has a lot of energy
15:36 timotimo shit, i don't think we can get the libuv people to support that :(
15:37 samcv i know what VS-16 is!
15:37 * samcv raises hand
15:37 El_Che hehe
15:37 timotimo apparently it's "color: red", which i assume is wrong, but funny?
15:38 samcv wrong
15:38 samcv but idk funny? somehow?
15:38 timotimo dunno
15:38 samcv well i guess it's colored as opposed to being uncolored?
15:38 samcv i guess it being colored is semi accurate
15:38 samcv since it says to use emoji presentation
15:38 timotimo right
15:38 samcv or you can use perl 6 and just do one \c sequence ;)
15:38 timotimo yup.
15:39 samcv he talked about a lot of things he couldn't talk about
15:39 timotimo you can even have $ZWJ = "ZERO WIDTH JOINER" and write \c[foo, $ZWJ, bar] ... at least you should be able to
15:39 samcv hm
15:39 samcv but you can just do ZWJ since it supports unicode aliases ;)
15:39 timotimo ooooh
15:39 samcv checkmate!
15:40 timotimo m: my $zwj = "ZERO WIDTH JOINER"; say "\c[$zwj]".encode('utf8')
15:40 camelia rakudo-moar ecb7ed: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized \c character␤at <tmp>:1␤------> 3my $zwj = "ZERO WIDTH JOINER"; say "\c[7⏏5$zwj]".encode('utf8')␤    expecting any of:␤        argument list␤        double quotes␤        term␤»
15:40 timotimo noooooo :<
15:40 samcv surely this is the most important feature and users will flock to us!
15:40 samcv m: say "\c[ZWJ]".uninames.say
15:40 camelia rakudo-moar ecb7ed: OUTPUT«(ZERO WIDTH JOINER)␤True␤»
15:40 samcv i didn't think we allowed using $ in them either
15:40 timotimo what is this about script runs... protection against unicode look-alikes?
15:41 timotimo like how punycode would allow you to craft URLs that look benign?
15:41 timotimo avocado, indeed
15:41 samcv what did i see default collation q;uickly
15:41 samcv go back to that slideeeee
15:41 samcv ahh
15:41 samcv i saw something about collation
15:41 timotimo something something locale
15:41 timotimo script extensions?
15:42 samcv we need thattttt
15:42 samcv yeah
15:42 samcv some characters are used it multiple scripts
15:42 samcv that is on my list to add
15:42 timotimo OK, cool
15:42 samcv and the characters can have like as many script extension values as unicode says so
15:42 ocbtec joined #perl6
15:42 samcv so some have like 12
15:43 timotimo wow, indented heredocs
15:43 samcv fancy
15:43 timotimo soon there won't be a reason to get perl6 any more :P
15:43 samcv they're going to steal our STD grammar!
15:43 samcv just watch!
15:43 samcv heh
15:43 timotimo you can even put spaces inside char classes
15:43 samcv i really like that one
15:44 samcv i found out myself that they were not allowed by accident
15:44 timotimo but perl6 has had that for like 10 years
15:44 samcv heh
15:44 samcv whoever decided that spaces in charclasses should matter in /x should not have done this
15:44 samcv tho it could have been an overlooked thing
16:02 samcv always good to make things 2x as fast. take that perl 5!
16:02 samcv heh. it is cool all the stuff they're adding to perl 5
16:03 samcv need to play around with some of those sometime
16:06 moritz m: say '/'.IO.s
16:06 camelia rakudo-moar ecb7ed: OUTPUT«'/' is not a regular file while trying to do '.s'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
16:06 moritz on Linux at least, a directory itself also takes up measurable space, not just files
16:06 moritz (for the listing of contained files)
16:06 moritz can I get that somehow?
16:08 samcv nice, RFC's are now allowing unicode symbols \o/ https://tools.ietf.org/pdf/rfc7997.pdf
16:08 samcv the future!
16:08 samcv before they only allowed ascii characters
16:08 moritz please don't tell me I have to use Nativecall to do a stat call... :(
16:08 moritz samcv: nice!
16:09 samcv curious why you need the size of the directory itself
16:10 moritz I want to write a directory size visualizer
16:11 moritz and I had the case in the past where a directory that used to contain many files was signficantly larger than 4k
16:11 moritz and I'd like to show where disk usage actually goes :-)
16:11 samcv m: say Rakudo::Internals.FILETEST-S('/')
16:11 camelia rakudo-moar 411782: OUTPUT«136␤»
16:11 samcv there you go moritz
16:12 moritz samcv: thanks; but that's not really something I want to showcase in my book :(
16:12 samcv true
16:12 gdonald joined #perl6
16:12 itaipu joined #perl6
16:12 samcv curious what that shows on windows
16:12 samcv we could just not have it do a failure. i don't see why we couldn't have no failure
16:12 samcv just use the number that the OS spits back. if it's 0 hen it's zero
16:12 moritz +1
16:14 samcv will make that change after spectest run
16:19 samcv also it seems .z also tests if it's a file
16:19 samcv but the docs page it says it returns true if the invocant is a path and the size is 0
16:19 samcv tho i guess less important to change that than .s i guess
16:21 noganex joined #perl6
16:24 timotimo stream's over, right?
16:24 samcv yeah
16:24 samcv no event scheduled atm
16:24 samcv so says the site
16:25 timotimo right
16:25 timotimo i just got the player that kept apparently refreshing or something
16:26 itaipu joined #perl6
16:28 samcv moritz, commited
16:35 samcv hmm moritz it seems .s isn't showing the same size I see with ls
16:35 samcv oh wait nvm false alarm :)
16:35 samcv all is fine
16:35 jeffythedragonsl joined #perl6
16:35 jeffythedragonsl hey
16:36 samcv hey jeffythedragonsl
16:39 timotimo ohai
16:39 jeffythedragonsl i think https://github.com/MoarVM/MoarVM/issues/150 is fixed now too
16:41 IOninja wow. So much backlog, for a second I thought that maybe I slept through a whole day...
16:41 MasterDuke timotimo: any idea why this bit of nqp `sub a() { my int $i := 0; my int $s := 0; while $i < 10 { ++$i; ++$s; $s }; say(a())` would cause 6218 calls to the MVM_coerce_smart_numify function?
16:42 timotimo in a case like that i'd turn on MVM_SPESH_LOG and check where coerce_* is called
16:42 jeffythedragonsl i get MoarVM panic: Memory allocation failed; could not allocate 131072 bytes
16:42 timotimo also, it has a } too few
16:42 jeffythedragonsl yes
16:42 timotimo the way it is now it endlessly recurses
16:43 timotimo the extra } needs to go before say(a())
16:44 jeffythedragonsl oh with the } before it prints nothing
16:44 timotimo i'll try
16:44 AlexDaniel buggable: LTA
16:44 AlexDaniel buggable: tag LTA
16:44 buggable AlexDaniel, There are 147 tickets tagged with LTA; See http://perl6.fail/t/LTA for details
16:45 timotimo ah, yes, it needs to go before $s };
16:45 MasterDuke whoops. with correct } placement MVM_coerce_smart_numify is called 14273 times instead
16:45 AlexDaniel … websites that use fonts.googleapis.com …
16:46 samcv i gotta gotta go to bed guys
16:46 samcv stayed up to watch the live stream. pushed some commits. time to hang my metaphorical hat
16:46 AlexDaniel I hope one day google goes down for everyone, not just me… just to see how brittle your websites are
16:46 timotimo 14k out of 15k calls go into p6int
16:46 samcv .oO(ZZZzzzzzz...)
16:46 AlexDaniel samcv: good night!
16:46 IOninja … are awesome
16:47 timotimo gnite samcv
16:47 MasterDuke i don't see 'p6int' anywhere in the spesh log?
16:47 timotimo spesh has a piece of code in it that's supposed to turn smart numify into get_int if it's known ahead of time that it'd just do that anyway
16:47 timotimo that is correct
16:48 timotimo i meant P6int.c
16:48 IOninja AlexDaniel: but in vast majority of cases google isn't down :) That's like saying look how brittle your banking app is: just wait until power goes out and you can't use your computer.
16:49 timotimo oh
16:49 timotimo MasterDuke: there's actually a moar op smart_numify
16:49 timotimo so you can look for that
16:49 timotimo we use smart_numify to turn stuff into floats
16:49 jeffythedragonsl left #perl6
16:50 MasterDuke but i declared everything to be int
16:50 timotimo right
16:50 timotimo and that was nice of you
16:50 timotimo however
16:50 AlexDaniel m: say “\c[man facepalming]”
16:50 camelia rakudo-moar 411782: OUTPUT«🤦‍♂️␤»
16:50 timotimo nqp says "bad luck"
16:50 AlexDaniel IOninja: ↑
16:50 AlexDaniel I've been suffering for 3 days and you're not trying to help
16:50 timotimo sometimes it's weird like that :(
16:51 timotimo there's some code in nqp's optimizer that tries its best to use ints whenever possible
16:51 timotimo but apparently nums are still slipping through the cracks
16:51 AlexDaniel and by help I mean just host your goddamn fonts, what's the big deal…
16:51 MasterDuke where is nqp's optimizer?
16:51 MasterDuke ah, ./src/NQP/Optimizer.nqp
16:51 timotimo yup
16:51 IOninja It's much easier to copy-paste a URL from google than write all the hacks yourself.
16:52 timotimo cool, when i replace 10 with a my int $target := 10, that doubles the number of calls to smart_numify
16:52 MasterDuke !!
16:53 timotimo um, okay, using islt_i doubles the number of calls another time apparently?
16:53 jeffythedragonsl joined #perl6
16:53 timotimo um, hold on a minute
16:53 timotimo nope, it was putting all my callgrind.out.* files into consideration rather than just the latest one
16:53 timotimo and so it added up all calls across all runs
16:53 MasterDuke heh
16:54 timotimo so none of the values i mentioned are correct.
16:54 timotimo anyway, you can set a breakpoint in MVM_somethingsomething_smart_numify and call MVM_dump_backtrace(tc)
16:54 timotimo can even do it with "commands"
16:54 timotimo like "break ..." "commands" "call MVM_dump_backtrace(tc)" "c" ""
16:54 timotimo or maybe it wants "end"
16:55 MasterDuke i'll try, but i think i have successfully used gdb all of one time in my entire life
16:56 timotimo time to double that! :)
16:57 pyrimidine joined #perl6
16:59 timotimo the first few K are in the compiler, moarop_return_type
16:59 timotimo i should make the breakpoint more precise
16:59 timotimo so i can get around these 1k calls that don't end up in P6int :)
17:00 timotimo i'd bet a big percentage of those calls should not be numifying an int, anyway.
17:01 timotimo huh
17:01 timotimo it kind of seems like all those calls are in the compilation
17:01 timotimo not in running the code
17:01 pyrimidine joined #perl6
17:02 MasterDuke so i did this: gdb --quiet --ex=run --args /home/dan/Source/perl6/install/bin/moar --libpath="/home/dan/Source/perl6/install/share/nqp/lib" nqp.moarvm -e 'sub a() { my int $i := 0; my int $s := 0; while $i < 10 { ++$i; ++$s; }; $s }; say(a())'
17:02 jeffythedragonsl what roast suite would be a good place to test https://github.com/MoarVM/MoarVM/issues/151
17:02 MasterDuke then `break MVM_coerce_smart_numify`
17:02 MasterDuke then run
17:02 timotimo nqp-m -e '' has 28.5k calls to smart_numify
17:02 MasterDuke then bt
17:02 timotimo how's that?
17:02 MasterDuke !!!
17:02 timotimo jeffythedragonsl: to me that's the hardest question
17:03 timotimo every time i want to add a test somewhere :(
17:03 timotimo no, it did the add stuff together again
17:03 timotimo it's just 13k calls
17:04 IOninja jeffythedragonsl: https://irclog.perlgeek.de/perl6/2017-02-05#i_14045231
17:04 MasterDuke jeffythedragonsl: i usually search roast for some of the relevant keywords, so test with `await`, `start`, etc might be a good place to look
17:04 jeffythedragonsl oh right
17:05 MasterDuke timotimo: still, 13k calls just to do nothing?
17:05 timotimo it does more than just nothing
17:05 timotimo it still compiles a qast tree down to mast
17:06 MasterDuke true, but why is it numifying things 13k times to do that
17:06 timotimo let me show you an output
17:06 jeffythedragonsl so plan should be updated manually...
17:06 MasterDuke jeffythedragonsl: yes
17:08 timotimo gdb enrages me.
17:10 timotimo ok cool.
17:10 * timotimo scps the file up on hack
17:10 timotimo 23MB, that's fine
17:10 * timotimo compresses it a tiny bit
17:11 timotimo 151kb, much better
17:11 timotimo http://hack.p6c.org/~timo/all_calls_to_coerce.txt.gz
17:12 MasterDuke No source file named coerce.c. The program is not being run.
17:13 MasterDuke looks like a giant nqp stack trace?
17:13 timotimo yeah, it's a few thousand stack traces
17:13 timotimo imagine a newline before every one that starts "at"
17:13 timotimo what exactly were you typing in all in all?
17:13 MasterDuke oh, every place in nqp that causes a MVM_coerce_smart_numify?
17:13 timotimo like, gdb --args moar --libpath=... blah/blah/blah/nqp.moarvm -e ''
17:14 timotimo every place in nqp -e ''
17:14 MasterDuke exactly what i pasted above
17:14 timotimo well, the same place occurs a whole bunch of times
17:14 timotimo you can probably dedup it easily, i didn't bother
17:14 timotimo what is --ex=run for?
17:15 timotimo anyway, i do it like this:
17:15 MasterDuke whoops, took that out, it ran the program immediately
17:15 timotimo gdb --args /home/timo/perl6/install/bin/moar --libpath=/home/timo/perl6/install/share/nqp/lib /home/timo/perl6/install/share/nqp/lib/nqp.moarvm -e ''
17:15 timotimo know what, i'll paste it
17:16 timotimo https://gist.github.com/timo/a43e7b066c6fddfe2e1277caa26b146b
17:16 pyrimidine joined #perl6
17:17 timotimo if you just run "bt", you'll get the backtrace based off of the C stack, which will just be main -> run_program -> interp.c -> coerce_smart_numify
17:19 MasterDuke looks like the nqp function that causes the most is `/home/timo/perl6/install/share/nqp/lib/NQPCORE.setting.moarvm:is_narrower`
17:19 MasterDuke based on: grep 'at ' all_calls_to_coerce.txt | sort | uniq -c | sort -n
17:19 jeffythedragonsl ➜  integration git:(master) ✗ panda install Test::Util
17:19 jeffythedragonsl resolve stage failed for Test::Util: Project Test::Util not found in the ecosystem. Maybe try "panda update" first?
17:19 jeffythedragonsl in sub die at /home/jeff/.perl6/sources/582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 246
17:19 jeffythedragonsl in method resolve at /home/jeff/.perl6/sources/582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 249
17:19 jeffythedragonsl in sub MAIN at /home/jeff/panda/bin/panda line 20
17:19 jeffythedragonsl in block <unit> at /home/jeff/panda/bin/panda line 165
17:19 jeffythedragonsl Failure Summary
17:19 jeffythedragonsl ----------------
17:19 jeffythedragonsl Test::Util(
17:19 jeffythedragonsl *resolve stage failed for Test::Util: Project Test::Util not found in the ecosystem. Maybe try "panda update" first?)
17:19 timotimo no, test::util is inside roast
17:19 jeffythedragonsl I tried panda update no dice
17:20 timotimo other files that use Test::Util also have a "use lib" to go with it
17:20 timotimo so you can just steal that line in question and it'll work out all right
17:21 jeffythedragonsl but I'm getting this ➜  integration git:(master) ✗ perl6 weird-errors.t
17:21 jeffythedragonsl ===SORRY!===
17:21 jeffythedragonsl Could not find Test::Util at line 5 in:
17:21 jeffythedragonsl /home/jeff/roast/integration/t/spec/packages
17:21 jeffythedragonsl /home/jeff/.perl6
17:21 jeffythedragonsl /opt/rakudo/share/perl6/site
17:21 jeffythedragonsl /opt/rakudo/share/perl6/vendor
17:21 jeffythedragonsl /opt/rakudo/share/perl6
17:21 jeffythedragonsl CompUnit::Repository::AbsolutePath<184206768>
17:21 jeffythedragonsl CompUnit::Repository::NQP<183574520>
17:21 jeffythedragonsl CompUnit::Repository::Perl5<183574544>
17:21 jeffythedragonsl line 5 is "use Test::Util;"
17:22 timotimo i think you're expected to run these tests from inside the rakudo checkout
17:22 IOninja jeffythedragonsl: on IRC, it's common courtesy to not paste large chunks of text. Instead, please use a pastebin, like https://gist.github.com/ and past the URL to channel
17:22 timotimo that's why it's saying "/home/jeff/roast/integration/t/spec/packages"
17:22 timotimo normally the t/spec/ folder is placed off of rakudo/
17:22 timotimo you can just put -I../packages i guess
17:23 IOninja jeffythedragonsl: run it from rakudo's dir, using t/fudgeandrun:    t/fudgeandrun t/spec/....
17:24 IOninja 'cause there are also fudges: tests that will fail if run directly and need to be preprocessed by the fudger to change them to TODO/SKIP tests
17:25 lichtkind joined #perl6
17:30 MasterDuke timotimo: just saved 918 calls by making this an int: https://github.com/perl6/nqp/blob/master/src/core/NQPRoutine.nqp#L65
17:30 MasterDuke passes `make m-test`
17:30 timotimo wonder if it'll also pass on jvm :)
17:30 timotimo it's sometimes weird what changing something to a native attribute in classes does to the jvm
17:31 timotimo though with locals/lexicals it should be fine?
17:32 MasterDuke trying it with jvm now (though don't expect a result anytime soon...)
17:33 timotimo hm
17:33 timotimo you can just push it to a branch and let travis do it
17:35 MasterDuke i'm letting the *able server do it
17:35 timotimo OK
17:35 timotimo good that it's ... able :)
17:36 MasterDuke badum ching
17:37 timotimo can you find more places to intify? maybe some in the QAST parts?
17:37 timotimo because the QAST parts are basically shared between rakudo, nqp, 007, rubyish, ...
17:38 MasterDuke just got another 598 by making these https://github.com/perl6/nqp/blob/master/src/core/NQPRoutine.nqp#L65 ints
17:39 timotimo that's the same link as before :)
17:39 MasterDuke https://github.com/perl6/nqp/blob/master/src/core/NQPRoutine.nqp#L54-L58
17:39 MasterDuke and that passes `make m-test` also
17:40 timotimo BBIAB
17:44 leah2 joined #perl6
17:46 trnh joined #perl6
17:46 trnh joined #perl6
17:49 agentzh joined #perl6
17:57 MasterDuke timotimo: how did you get those backtraces into a file?
17:58 timotimo at first i thought i could use gdb's logging
17:58 timotimo but i ended up just gdb --args ... ... ... 2> output.txt
17:58 MasterDuke heh, ok
17:58 MasterDuke down to 9k
17:59 MasterDuke wait, i tried that and all i got was a couple lines of gdb output
18:01 MasterDuke nm, i did something wrong before i guess, working now
18:03 timotimo yeah, it'll only give you a few lines, you'll have to keep hitting the return key until it's done
18:03 girafe joined #perl6
18:06 MasterDuke down to 7618
18:06 MasterDuke still passes make m-test
18:07 timotimo that's not a lot! \o/
18:13 MasterDuke 5850
18:18 pyrimidine joined #perl6
18:21 agentzh joined #perl6
18:36 MasterDuke 2m fewer MVM_coerce_smart_numify when running `make m-test` than before
18:45 MasterDuke huh, but it seems to add 10s to rakudo parse time
18:46 labster joined #perl6
18:48 pyrimidine joined #perl6
18:53 Geth ¦ doc: c92441c3a3 | (Brad Gilbert)++ | doc/Type/Proc.pod6
18:53 Geth ¦ doc: Add info about discarding the three STD IO streams
18:53 Geth ¦ doc: review: https://github.com/perl6/doc/commit/c92441c3a3
18:57 sena_kun joined #perl6
18:57 MasterDuke or not, some other commit caused that
19:00 pyrimidine joined #perl6
19:15 agentzh joined #perl6
19:15 Tonik joined #perl6
19:25 khisanth_ joined #perl6
19:28 cale2 gfldex: https://gfldex.wordpress.com/2017/02/02/cale2-asked-a-hard-question/ If we all forgot that "RTFM" was ever a thing, the programming community would be all the better for it :)
19:29 itaipu joined #perl6
19:31 RabidGravy cale2, I disagree otherwise the whole thing would be a one way street
19:31 RabidGravy someone has to make an effort
19:32 TEttinger joined #perl6
19:32 cale2 RabidGravy: It's the sentiment, not the message. The difference between saying "see this doc link for more info" vs "RTFM". Even if RTFM is taken as tongue in cheek (which it won't be by a new-comer), it still gives an aire of "us vs them" that's a bit uncouth
19:32 cale2 my 2 cents
19:33 RabidGravy some people need rtfm
19:33 cale2 If an individual does not have time to devote to answering a newbie question, then that individual should not answer rather than answer and be rude.
19:34 RabidGravy some people just want other people to do their thinking for them
19:34 cale2 Especially in the context of that blog, it is rude. As $_, $, and * are not exactly easy to search for in the docs.
19:34 timotimo MasterDuke: with the other commit out of the way, were you able to measure any improvement at all?
19:36 MasterDuke timotimo: i didn't notice a difference in parse time, but a perf record showed MVM_coerce_smart_numify was 0.43% before and 0.39% after (of a rakudo parse)
19:37 timotimo have you tried a count of calls for the rakudo core setting compile?
19:37 timotimo not only the parse, but also the mast stage?
19:38 MasterDuke not yet, but can give that a shot
19:38 timotimo is that exclusive or inclusive time?
19:39 timotimo because the smart numify function doesn't do very much ... hopefully
19:40 MasterDuke exclusive i think. whatever `perf report --call-graph=none --no-children` shows
19:40 timotimo that sounds like exclusive, yeah
19:40 timotimo i can callgrind it, though that'll take a while :D
19:40 timotimo don't have your patch, though?
19:41 MasterDuke i'll gist it
19:41 timotimo i guess i'll just create a somewhat accurate pre-count
19:43 MasterDuke https://gist.github.com/MasterDuke17/6eda8cc98b67f57b48856324cec09706
19:43 timotimo i can't build nqp because it wants a newer moar version than is available
19:44 MasterDuke there was a bit of a mixup with commits, but if you get to HEAD on all you should be fine
19:45 japhb RabidGravy: I find it far more common that someone is trying to do some thinking about A, gets blocked by B, attempts to solve B, gets blocked by C, tries to solve C, gets blocked again by D, gets frustrated, and finally says "Could someone *please* just give me the answer to D?"  Except that when they ask, no one sees that they're already 3 yaks deep in shavings.
19:46 timotimo nope, not possible to get it working
19:47 timotimo huh wtf
19:47 japhb In fact, I'd say that sequence is pretty damn common for me, actually.  Except I'm usually somewhere between half a dozen and a dozen yaks deep by the time I finally just ask for a solution.
19:48 timotimo it's a dumb idea to forget to "make install"
19:49 japhb timotimo: Common mistakes probably aren't dumb.  It shouldn't be that easy for so many people to make the same mistake so often.
19:51 RabidGravy I'd recommend Go, it's proponents claim it even does the washing up after the party and everything ;-p
19:54 MasterDuke timotimo: a little more than 15m fewer MVM_coerce_smart_numify calls during a complete rakudo build after my patch
19:54 agentzh joined #perl6
19:54 RabidGravy whoah
19:55 RabidGravy but I bet it still makes it slower in this  macine
19:56 RabidGravy nearly twice as slow to build now than a year ago :)
19:56 RabidGravy *shrug* I can do other things while it's building
19:57 RabidGravy I remember when Perl 5 used to take an hour and a half on a server
19:57 timotimo MasterDuke: if you measured with callgrind, what's the inclusive time?
19:58 MasterDuke no, i just stuck a print in MVM_coerce_smart_numify, sent those to a file, and counted the lines
19:58 timotimo oh, ok
19:59 timotimo that file must be pretty big
19:59 timotimo if it's 16m calls
19:59 MasterDuke 650mb
19:59 timotimo heh.
19:59 timotimo find anything salient?
19:59 timotimo maybe grep " at " | sort | uniq -c?
20:00 MasterDuke when gdbing ./perl6-m -e ''? haven't done that yet
20:00 timotimo oh, i thought you were refering to rakudo core setting compilation
20:01 MasterDuke gonna run a spectest first
20:01 timotimo callgrinding that is ... time-consuming :)
20:02 MasterDuke i was referring to that, but i wasn't logging anything useful, it just gave me number of times called
20:02 pyrimidine joined #perl6
20:02 timotimo OK
20:03 MasterDuke to be more precise, it was number of time that MVM_coerce_smart_numify chose to numify as an int
20:04 andrzejku joined #perl6
20:06 timotimo food time!^
20:11 bjz joined #perl6
20:13 MasterDuke timotimo: got a single failed test in t/spec/S03-operators/div.t. `Failed test 'large `int` values do not overflow prematurely' expected: 2500000000000000 got: 468729856`
20:13 MasterDuke any idea which change could have caused that?
20:20 jdv79 that's it!  no more vim p6 syntax for me.  the ui lag is intolerable.
20:20 jdv79 feels like i'm editting over a 2400 baud modem on a noisy line
20:21 rindolf jdv79: heh, heh
20:27 sena_kun joined #perl6
20:28 geekosaur "vimpetuous"
20:28 geekosaur (or: vimpatient...)
20:29 wamba joined #perl6
20:30 rindolf geekosaur: heh
20:41 RabidGravy jdv79, that's exactly why I still use something like vi - I still rememember that :)
20:41 timotimo MasterDuke: it's a recent moarvm change
20:41 timotimo changing "int" to "MVMint64" twice in interp.c in the div_i implementation
20:42 MasterDuke huh, i have that change in my moarvm though
20:42 timotimo Stage parse      :  2214.158
20:42 MasterDuke m: say 10000000000000000 div 4
20:42 camelia rakudo-moar c0a907: OUTPUT«2500000000000000␤»
20:43 MasterDuke m: say (my int $ = 10000000000000000) div 4
20:43 camelia rakudo-moar c0a907: OUTPUT«2500000000000000␤»
20:43 RabidGravy whoah, that's RPi slowness
20:43 MasterDuke i get 468729856 for the second
20:43 MasterDuke timotimo: is that parse time while callgrinding?
20:44 timotimo yup
20:45 MasterDuke i suspect it's one of the method signatures i changed in src/vm/moar/QAST/QASTOperationsMAST.nqp
20:45 timotimo 47m calls to coerce_smart_numify
20:46 timotimo that is pre-all-patches
20:46 MasterDuke yup, that's what i had before. 32m after
20:47 timotimo callgrind says 2.58 inclusive, 1.21 self
20:47 RabidGravy not to be sneezed at then :)
20:48 timotimo so it basically spends 2x as much time all in all compared to just inside the function itself
20:48 timotimo of course it also has ripple effects
20:53 smls joined #perl6
20:53 timotimo fwiw, coerce_istrue is called almost as often, but takes only half the time
20:53 timotimo yay
20:53 _28_ria joined #perl6
20:53 smls bisectable6: (*.sort)(<2 3 1>).^name
20:53 bisectable6 smls, On both starting points (old=2015.12 new=c0a907f) the exit code is 0 and the output is identical as well
20:53 bisectable6 smls, Output on both points:
20:54 timotimo forgot a .say? :)
20:54 smls right
20:54 smls bisectable6: say (*.sort)(<2 3 1>).^name
20:54 bisectable6 smls, Bisecting by output (old=2015.12 new=c0a907f) because on both starting points the exit code is 0
20:54 bisectable6 smls, bisect log: https://gist.github.com/be2c5772d33f3d7a90e45b326adae2ef
20:54 bisectable6 smls, (2016-07-30) https://github.com/rakudo/rakudo/commit/15ee3c3b9d94855aa96816216c43a352bc89b7ca
21:03 jdv79 m: %(foo => <a c>, bar => <b d e>).values>>.elems.say # ok
21:03 camelia rakudo-moar c0a907: OUTPUT«(3 2)␤»
21:03 jdv79 m: %(foo => <a c>, bar => <b d e>).values>>.?elems.say # wut
21:03 camelia rakudo-moar c0a907: OUTPUT«((1 1 1) (1 1))␤»
21:04 jdv79 how is .? different from . when the meth exists?
21:05 IOninja .? isn't handling nodals it seems
21:05 timotimo oh, interesting
21:05 jdv79 that's your opinion;)
21:05 timotimo a good combination of things
21:05 smls Is it okay to commit a simple test for a fixed RT directly to perl6/roast, or should I always make a pull request?
21:05 jdv79 bug it?
21:06 IOninja m: %(foo => <a c>, bar => <b d e>).values.map(*.elems).say
21:06 camelia rakudo-moar c0a907: OUTPUT«(3 2)␤»
21:06 IOninja smls: just submit it
21:06 smls IOninja: ok
21:06 IOninja *just commit
21:06 timotimo yeah, feel free to skip the PR
21:07 IOninja m: %(foo => <a c>, bar => <b d e>).values».*elems.say
21:07 camelia rakudo-moar c0a907: OUTPUT«(((1) (1) (1)) ((1) (1)))␤»
21:07 IOninja jdv79: don't forget to file it :)
21:07 IOninja huggable: rakudobug
21:07 huggable IOninja, Report bugs by emailing to rakudobug@perl.org
21:08 timotimo huggable: um i think IOninja already knows that!
21:08 huggable timotimo, nothing found
21:12 moritz m: say 5.fmt('%02d')
21:12 camelia rakudo-moar c0a907: OUTPUT«05␤»
21:26 nine Haha damnitstevan!
21:27 nine Turns out, Stevan actually showed the solution to the problem I discussed in my talk. That and the blocker for precompiling Inline::Perl5's users.
21:27 nine Exporting INIT blocks :)
21:28 Geth ¦ Inline-Perl5: f461fabb67 | (Stefan Seifert)++ | 5 files
21:28 Geth ¦ Inline-Perl5: Pass =finish POD data to Perl 5 as DATA handle
21:28 Geth ¦ Inline-Perl5:
21:28 Geth ¦ Inline-Perl5: use Foo:from<Perl5>;
21:28 Geth ¦ Inline-Perl5: =finish
21:28 Geth ¦ Inline-Perl5: This data can be read by Foo by slurping <DATA>
21:28 Geth ¦ Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/f461fabb67
21:28 smls joined #perl6
21:28 nine .tell lizmat https://github.com/niner/Inline-Perl5/commit/f461fabb67 is the solution :)
21:28 yoleaux nine: I'll pass your message to lizmat.
21:30 nine When I thought of this solution I was sitting at a bus station on the way to the airport and really hat to lought out loud. Probably confused some people around me :)
21:34 espadrine joined #perl6
21:40 timotimo so little code!
21:42 Geth ¦ Inline-Perl5: 54e9c5aa62 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6
21:42 Geth ¦ Inline-Perl5: Remove unneeded import
21:42 Geth ¦ Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/54e9c5aa62
21:42 nine Even less code now ;)
21:43 nine With that it's not worse regarding poking in rakudo's internals than Inline::Perl5 has been for a year
21:44 SmokeMachine Is some one selling stuffed camelias at fosdem?
21:45 nine SmokeMachine: was
21:45 SmokeMachine I'd love to buy one of those... :(
21:46 gfldex SmokeMachine: you could ask a chinese manufacturer to "appreciate" them
21:47 bjz joined #perl6
21:49 SmokeMachine Any thing from China takes almost 6 months to come to Brazil... if it arrives...
21:50 gfldex SmokeMachine: if you are from Barzil I would expect you to be able to build most colourful things yourself :-P
21:50 gfldex and then dance a little ofc
21:51 SmokeMachine Only at carnival
21:53 SmokeMachine Almost there: http://www.aboutbrasil.com/modules/brazil-brasil/carnival_carnaval.php?hoofd=8&amp;sub=44&amp;art=476
21:56 jdv79 I'm not sure moar like having a bunch of IO bound threads
21:56 jdv79 my app seems to be coming to a halt slowly
21:56 pyrimidine joined #perl6
21:56 nine At dinner at the airport I had a very interesting conversation with a catholic flat earther who happens to be a (male) porn star.
21:57 labster joined #perl6
21:58 nine Lives in Brussels, was on his way to a movie shoot in Prague and will bring the money he earns to a bank in Hungary to avoid taxes
21:59 Celelibi lolwut?
22:01 moritz sounds like an interesting combination
22:01 nine Apparently he's big into conspiracy theories. But I could stump him by asking why flights from Europe to New Zealand usually go via the US which would be a very large detour on his map. And why as a pilot I get much larger radio range at high altitude.
22:01 jdv79 hmm, strace said it was just doing a bunch of shed_yields.  maybe a race in teh scheduler or soemthing?
22:03 pyrimidi_ joined #perl6
22:03 moritz nine: the highest indicator for somebody believing a conspiracy theory is the person believing in other conspiracy theories
22:04 moritz nine: there seem to be personality traits and/or education/upbringing that make people believe all sorts of weird stuff
22:13 AlexDaniel http://rationalwiki.org/wiki/Crank_magnetism and http://rationalwiki.org/wiki/Fractal_wrongness
22:15 nine Oh yes, there was something about magnetism. But his English was not that good and I am quite tired, so I did not follow up on that.
22:19 IOninja pfft, the Earth *is* flat. How would the turtle holding it could balance it on its back were it round? Checkmate.
22:20 RabidGravy boom!
22:22 AlexDaniel u: EARTH
22:22 unicodable6 AlexDaniel, U+23DA EARTH GROUND [So] (⏚)
22:22 unicodable6 AlexDaniel, U+2637 TRIGRAM FOR EARTH [So] (☷)
22:22 unicodable6 AlexDaniel, https://gist.github.com/49188025ccfb5d9dd2cf6ba858906cfe
22:23 AlexDaniel u: GLOBE
22:23 unicodable6 AlexDaniel, U+1F30D EARTH GLOBE EUROPE-AFRICA [So] (🌍)
22:23 unicodable6 AlexDaniel, U+1F30E EARTH GLOBE AMERICAS [So] (🌎)
22:23 unicodable6 AlexDaniel, https://gist.github.com/344a187d0392376c8b2a75a758717c47
22:27 jeffythedragonsl joined #perl6
22:27 jeffythedragonsl left #perl6
22:29 nine FOSDEM++ # they outsourced the video reviews to the speakers. So I can now check the video/audio of my talk, set the start and end points and their system will automatically create and upload the final version.
22:29 AlexDaniel NICE!
22:30 nine That's why there are already quite a lot of videos available
22:30 geekosaur re flat earthers, does this character use gps (or I guess galileo)?
22:30 AlexDaniel FOSDEM++ this year, FOSDEM-- all the previous years
22:31 AlexDaniel geekosaur: you're making it more complicated, it doesn't have to be
22:31 AlexDaniel geekosaur: just ask them what map they use, or what map they think is actually working
22:33 AlexDaniel (spoiler: there's no flat earth map, most flat earthers admit they have no idea how the earth looks like)
22:33 nine AlexDaniel: this one https://en.wikipedia.org/wiki/Flat_Earth#/media/File:Flat_earth.png
22:33 AlexDaniel (also, they can't really explain why the “globe” version actually works)
22:35 pmurias moritz: is the "flat earth conspiracy" a pure joke?
22:36 AlexDaniel pmurias: when it comes to conspiracies, almost nothing is a joke…
22:37 AlexDaniel I know at least one person who believes that the earth is flat…
22:37 stmuk that was a great FOSDEM
22:39 gfldex a great FOSDEM that got Perl 6 is a tautology :->
22:40 chansen_ joined #perl6
22:41 geekosaur it's more a modern perversion, I think; seafarers knew thousands of years ago that if you watched a vessel heading off into the ocean, it didn't just get smaller, it was dropping away below the apparent ocean surface
22:41 nine geekosaur: there are obscure counter examples for pretty much everything.
22:42 geekosaur that was not so "obscure" back then
22:43 AlexDaniel nine: well, why this one? It is heavily distorted near the edge, people living in Australia can easily spot that there's something wrong… :)
22:46 Hotkeys joined #perl6
22:47 pmurias AlexDaniel: a lot of the conspiracy theories are about things that are hard to verify or complicated. You could convice someone non-technical that Rakudo is slow because it's mining bitcoins
22:47 stmuk the Ancient Greeks even accurately calculated the diameter of the Earth
22:49 AlexDaniel nine: for example, if you take this https://en.wikipedia.org/wiki/Goode_homolosine_projection and fill the nothingness with water, then draw a circle around it… well, you might end up with something that is a bit more accurate
22:51 AlexDaniel just a little bit though. It is going to fail one way or another in all cases
22:52 AlexDaniel I mean, if I was going make people believe in this bullshit, I'd at least make sure they can't disprove it just by driving around a bit in Australia…
22:52 AlexDaniel to*
22:57 nine AlexDaniel: just compare https://wiki.tfes.org/Bedford_Level_Experiment and https://en.wikipedia.org/wiki/Bedford_Level_experiment
23:04 IOninja One has 21 references and the other zero? :)
23:04 pyrimidine joined #perl6
23:05 AlexDaniel not just that, the text is almost identical
23:05 AlexDaniel a bit more one-sideish though
23:06 AlexDaniel geekosaur: ha! “It is proven that the ship does not sink behind a hill of water, but that it is actually perspective which hides it. This demonstrates that the earth is not a globe”
23:06 AlexDaniel geekosaur: :|
23:06 IOninja lol
23:07 MasterDuke timotimo: https://github.com/perl6/nqp/pull/345
23:07 nine This is really all you have to read: "Most results have served to prove Flat Earth Theory, and although a few have claimed otherwise they have been soundly disproved by Flat Earthers."
23:10 Vynce joined #perl6
23:15 IOninja Fascinating this stuff really exist. People asking question on forums. "The phases of Venus constitute an advanced topic in FET." heh
23:17 IOninja NASA spends billions of dollars each year to fabricate 24/7 footage of round earth. Wonder why...
23:18 lizmat joined #perl6
23:18 AlexDaniel IOninja: “Why are you posting pictures of optical illusions?” :)
23:19 AlexDaniel (in a response to this picture: http://www.fredseye.com/img/s4/v68/p1441921748-3.jpg )
23:23 IOninja heh
23:28 OnlineCop joined #perl6
23:29 OnlineCop Does Perl6 have a whitespace boundary (similar to how  \b  is a word boundary)?
23:29 OnlineCop As an example, something like this:  (?<=^|\s)255\.255\.255\.255(?=\s|$)
23:30 OnlineCop If I tried just  \b255\.255\.255\.255\b  then something like   1.255.255.255.255.1  could match, where with the one using look-arounds would fail.
23:31 IOninja OnlineCop: « for left » for right or <wb> for any side
23:31 IOninja << and >> can be used as well
23:31 IOninja ummm
23:31 IOninja m: /\b/
23:31 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of \b; in Perl 6 please use <|w> for word boundary (or « and » for left/right boundaries). If you meant the backspace character, quote it ("\b") or use it as inside a character class (<[\b]…»
23:31 IOninja OnlineCop: oh, it's <|w> not <wb>
23:31 lep-delete joined #perl6
23:32 OnlineCop Interesting construct. Okay, thank you.
23:35 AlexDaniel m: say ‘hello 255.255.255.255 world’ ~~ / «‘255.255.255.255’» /
23:35 camelia rakudo-moar c0a907: OUTPUT«「255.255.255.255」␤»
23:56 newkidintown joined #perl6
23:56 newkidintown start react whenever Supply.interval(360) { scan(); }
23:56 newkidintown Is there a shorter way of doing that?
23:59 IOninja newkidintown: Supply.interval(360).tap: {scan}

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

Perl 6 | Reference Documentation | Rakudo