Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-07-12

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 * TimToady has added some weight over the last 40 years...
00:12 btyler joined #perl6
00:14 timotimo is there something in core that would make line-breaking easy to implement?
00:15 timotimo er, text-wrapping
00:18 TimToady does it have to handle tabs?
00:20 TimToady if it doesn't .comb with an appropriate pattern can usually do it
00:22 TimToady .comb(/ \S . ** 1..79 [\s+ | $] /) or some such
00:23 timotimo i don't think it has to do tabs :)
00:23 TimToady maybe with a case in there for if there are no spaces
00:24 TimToady well, you probably want <?before \s>
00:25 timotimo i suppose the idea is to wordwrap at a smaller width than whatever width the user's terminal may be at that point, aye?
00:25 timotimo (for p6doc in the terminal)
00:31 TimToady yes, the width is negotiable, assuming you have ** {1..$max} available
00:31 TimToady otherwise you might need an eval
00:32 TimToady well, I guess 0..$max if you start with a \S
00:37 TimToady well, 0..^$max
00:43 timotimo neato. now Pod::To::Text will output C<...> as bold and X<...>, L<...>, D<...> with only the part before the | as well as underlined
00:43 timotimo a good start, if you ask me.
00:45 timotimo well, only if you set the environment variable POD_TO_TEXT_ANSI to something
00:45 timotimo i suppose R should definitely be highlighted as well
00:45 timotimo it's kinda not neat that i only have inverse, bold and underline to work with
00:46 * timotimo doesn't dare do colors
00:46 incDec joined #perl6
00:47 colomon joined #perl6
00:47 colomon o/
00:50 timotimo 'tis quite unfortunate, that finding out the current terminal width is so difficult ...
00:50 * timotimo settles on 75 characters wide for now
00:53 raiph joined #perl6
00:53 geekosaur tput cols
00:54 geekosaur well, hm. cross platform
00:54 geekosaur yeh, you lose
00:54 TimToady doesn't work consistently when called as a subshell
00:54 geekosaur not sure windows even has the concept
00:55 TimToady $ tput cols
00:55 TimToady 114
00:56 TimToady $ perl6 -e 'say qx/tput cols/'
00:56 TimToady 80
00:57 TimToady I've had better luck parsing the output of stty -a
00:57 timotimo it might even be worthwhile to come up with Pod::To::Troff some day ...
00:57 timotimo not saying i'd do that
00:58 timotimo in windows you can't make the terminal wider iirc
00:58 * geekosaur wonders if tput is a builtin in some shell that is doing too much tty-aware stuff without exporting it
00:59 timotimo no, tput sends a bit of control character schmutz to the terminal emulator and it'll give you the answer that it expects to get
00:59 geekosaur ???
00:59 TimToady $ perl -E 'say qx/tput cols/'
00:59 TimToady 114
00:59 geekosaur tput used to query the terminfo database but allowed envars to override lines and cols
01:00 timotimo ..oh?
01:00 TimToady the problem is in rakudo, not tput
01:00 geekosaur resize does the xterm escapes thing
01:00 timotimo in that case i was wrong
01:00 geekosaur it is not impossible that someone has modified tput though (gnu feeping creaturism?)
01:01 TimToady qx works under p5, not under p6
01:01 geekosaur hm. screwing with the environment?
01:01 TimToady mebbe, or the fds
01:02 btyler joined #perl6
01:05 * timotimo now has pretty excellent code that wraps after each word
01:07 timotimo ah, but of course!
01:07 timotimo silly me :)
01:08 Vlavv joined #perl6
01:08 timotimo now i get a whole line i nthe right length, a newline and then a single word :|
01:11 benabik joined #perl6
01:20 * timotimo gives up on wordwrapping
01:34 dalek specs: 3cbe9d4 | timo++ | S26-documentation.pod:
01:34 dalek specs: change <em><em/> to <em></em>
01:34 dalek specs: review: https://github.com/perl6/specs/commit/3cbe9d42b0
01:36 BenGoldberg joined #perl6
01:50 FROGGS_ joined #perl6
02:02 abnorman joined #perl6
02:26 labster rn: class B { my $a = 3; method x { say $!a }; };
02:26 camelia rakudo 8e0762: OUTPUT«[31m===[0mSORRY![31m===[0m�Attribute $!a not declared in class B�at /tmp/Rl_ZU23Arv:1�------> [32mclass B { my $a = 3; method x { say $!a[33m�[31m }; };[0m�»
02:26 camelia ..niecza v24-86-g39ab531: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/s8L7acJ3uE line 1:â�¤------> [32mclass B { my [33mâ��[31m$a = 3; method x { say $!a }; };[0mâ�¤â�¤Â»
02:27 labster rn: class B { my $!a = 3; method x { say $!a }; }
02:27 camelia niecza v24-86-g39ab531:  ( no output )
02:27 camelia ..rakudo 8e0762: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Cannot use ! twigil on my variableâ�¤at /tmp/LQQVHUAPu7:1â�¤------> [32mclass B { my $!a [33mâ��[31m= 3; method x { say $!a }; }[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤Â»
02:29 labster nieczabug
02:33 labster rn: class B { has $a = 3; method x { say $!a }; };
02:33 camelia rakudo 8e0762, niecza v24-86-g39ab531:  ( no output )
02:33 labster is the first example notabug -- do class attributes not map to the $! twigil as instance attributes do?
02:37 [Coke] ok. it is repeatable that the commit from jonathan with initial thread stuff breaks the daily run.
02:38 [Coke] the tests start aborting around S02-literals/char-by-name.rakudo.jvm ...
02:44 [Coke] test works fine when it's run by itself, either directly or through a fresh copy of the eval server.
02:47 [Coke] I can't see anything in the code that would cause a leak or anything that might eventually cause it to crash. Iunno.
02:47 * [Coke] kicks off a run to just record the numbers. :|
02:55 konundra joined #perl6
03:02 dalek specs: d96e2c2 | (Brent Laabs)++ | S12-objects.pod:
03:02 dalek specs: define how "class attributes" are different from "attributes"
03:02 dalek specs: review: https://github.com/perl6/specs/commit/d96e2c2da1
03:02 dalek specs: d88b5d9 | (Brent Laabs)++ | S32-setting-library/Rules.pod:
03:02 dalek specs: fix formatting on S32::Rules; role Cursor -> class Cursor
03:02 dalek specs: review: https://github.com/perl6/specs/commit/d88b5d99cf
03:02 crab2313 joined #perl6
03:14 [Coke] ugh. the rakudo.jvm will take so long to fail it's not worth waiting for at this point. killing it, just pushing everything but rakudo for today.
03:15 dalek perl6-roast-data: 16afeb4 | coke++ | / (3 files):
03:15 dalek perl6-roast-data: today (automated commit)
03:15 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/16afeb4db8
03:16 [Coke] double ugh - today's rakudo.parrot run still has the wrongly marked-failing tests - those will get cleaned up tomorrow.
03:53 preflex_ joined #perl6
04:04 prevost joined #perl6
04:32 benabik joined #perl6
04:45 sorear good * #perl6
04:46 prevost joined #perl6
04:47 labster yo sorear
04:49 SamuraiJack__ joined #perl6
04:50 dalek faq: 113d600 | (Brent Laabs)++ | answers.md:
04:50 dalek faq: add What is the difference between  Any and Mu?
04:50 dalek faq: review: https://github.com/perl6/faq/commit/113d600d47
04:53 * sorear back from a SPECIAL MEETING of the San Diego Perl Mongers
04:56 prevost_ joined #perl6
04:57 birdwindupbird joined #perl6
04:58 ztt joined #perl6
05:09 TimToady sorear: I take it you survived.
05:15 sorear Yep
05:46 djanatyn joined #perl6
05:55 raiph joined #perl6
06:06 ssutch joined #perl6
06:32 kaleem joined #perl6
06:36 ssutch joined #perl6
06:41 notjack joined #perl6
06:46 abnorman joined #perl6
06:52 SamuraiJack joined #perl6
06:54 cognominal joined #perl6
06:56 eternaleye joined #perl6
07:01 domidumont joined #perl6
07:10 eternaleye joined #perl6
07:13 domidumont joined #perl6
07:16 dalek specs: 486189a | moritz++ | S05-regex.pod:
07:16 dalek specs: [S05] define <punct> to be Unicody. Closes #57
07:16 dalek specs: review: https://github.com/perl6/specs/commit/486189a403
07:26 eternaleye joined #perl6
07:28 FROGGS joined #perl6
07:37 mattp__ joined #perl6
07:37 benabik_ joined #perl6
07:39 ssutch joined #perl6
07:40 patspam joined #perl6
07:43 autumn joined #perl6
07:43 ivan`` joined #perl6
07:55 dalek Perlito: 360b966 | (Flavio S. Glock)++ | t5-bug/40-indirect-object.t:
07:55 dalek Perlito: Perlito5 - indirect-object tests
07:55 dalek Perlito: review: https://github.com/fglock/Perlito/commit/360b9667fb
07:58 dalek rakudo/nom: 7157e1e | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
07:58 dalek rakudo/nom: only dedent newlines found in the textual code of heredocs
07:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7157e1e803
07:58 dalek rakudo/nom: 3f1c71d | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
07:58 dalek rakudo/nom: always do the dedenting at compile-time
07:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f1c71d9fa
07:58 dalek rakudo/nom: 663f6b5 | moritz++ | src/Perl6/Actions.nqp:
07:58 dalek rakudo/nom: Merge branch 'heredoc_trim_fix' of https://github.com/timo/rakudo into nom
07:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/663f6b5e35
08:12 dmol joined #perl6
08:17 dalek rakudo/nom: b529ab9 | (Timo Paulssen)++ | src/Perl6/Grammar.nqp:
08:17 dalek rakudo/nom: allow multi-angle pod formatcodes, forbid nesting in C< and V<
08:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b529ab9266
08:17 dalek rakudo/nom: afe3d3f | (Timo Paulssen)++ | src/Perl6/ (2 files):
08:17 dalek rakudo/nom: allow nested FCodes, forbid nesting in C<> and V<>
08:17 dalek joined #perl6
08:19 masak good antenoon, #perl6
08:20 moritz \o masak
08:20 * masak looks at thundergnat++'s pull request
08:23 masak thundergnat: merged.
08:31 masak I really like the 'succeed'/'proceed' pairing. and I really like 'next'/'last'/'redo'.
08:31 masak but sometimes it feels a bit strange to have both 'last' and 'succeed', for example.
08:32 masak even as I say that, it feels a bit like comparing apples and oranges...
08:33 dalek Perlito: 840f866 | (Flavio S. Glock)++ | t5-bug/40-indirect-object.t:
08:33 dalek Perlito: Perlito5 - indirect-object tests
08:33 dalek Perlito: review: https://github.com/fglock/Perlito/commit/840f866abc
08:33 moritz http://www.ibm.com/developerworks/java/library/j-jtp01274/index.html#3.4
08:34 daxim joined #perl6
08:34 masak moritz: ...yes?
08:35 moritz old news to many, I guess
08:36 moritz no, certainly old news. The article is from 2004 :-)
08:45 JimmyZ god article, I saw that MoarVM does some same things
08:45 JimmyZ *gOOd
08:45 PerlJam joined #perl6
08:47 * FROGGS gets moar coffee
08:49 JimmyZ Listing 1 is what MoarVM is doing now
09:01 fhelmberger joined #perl6
09:05 rindolf joined #perl6
09:11 JimmyZ hmm, MoarVM is thread-local, not with lock
09:17 kivutar joined #perl6
09:18 nyuszika7h joined #perl6
09:19 lue joined #perl6
09:19 sqirrel joined #perl6
09:23 timotimo moritz: thanks for the merges :3
09:25 moritz timotimo: thanks for the patches :-)
09:26 timotimo my pleasure :D
09:28 dalek roast: 79af625 | (Timo Paulssen)++ | S02-literals/ (2 files):
09:28 dalek roast: move heredoc tests into their own file.
09:28 dalek roast: review: https://github.com/perl6/roast/commit/79af6257d1
09:28 dalek roast: c02bce1 | (Timo Paulssen)++ | S02-literals/heredocs.t:
09:28 dalek roast: more heredoc patches
09:28 dalek roast: review: https://github.com/perl6/roast/commit/c02bce1e6d
09:28 timotimo now if you could also add S02-literals/heredocs.t to the spectest.data, that would be great :)
09:33 jnthn morning, #pelr6
09:34 timotimo hello jnthn :)
09:34 mathw \o/
09:34 FROGGS mroning jthnn
09:34 FROGGS :o)
09:34 JimmyZ morning, jnthn
09:34 FROGGS jnthn: you're thinking about threads?
09:34 mathw $timeofday, @people
09:34 jnthn :P
09:35 FROGGS hi mathw and all
09:35 timotimo i'm going to implement r, w and x for nqp-jvm today :)
09:35 FROGGS timotimo++
09:36 masak jnthn! \o/
09:36 timotimo it's apparently very easy in java
09:36 timotimo who knew :)
09:37 Guest2669 joined #perl6
09:37 jnthn \o/
09:37 Guest2669 hey
09:38 FROGGS hey Guest2669
09:38 Guest2669 am lisa frm jamaica
09:39 Guest2669 hey froggs
09:39 masak hey lisa from jamaica
09:39 masak rn: say "hey" xx 5
09:39 Guest2669 hey masak u good
09:40 camelia rakudo 00458e, niecza v24-86-g39ab531: OUTPUT«hey hey hey hey hey␤»
09:40 dalek rakudo/nom: 6f93cae | jonathan++ | src/vm/jvm/core/Threading.pm:
09:40 dalek rakudo/nom: Add 'then' method to Promise.
09:40 dalek rakudo/nom:
09:40 dalek rakudo/nom: Attaches a piece of work to do when the promise is fulfilled or
09:40 dalek rakudo/nom: broken. Returns a new Promise that represents the completion of
09:40 dalek rakudo/nom: this extra work, allowing chaining.
09:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f93caec4e
09:40 Guest2669 dalek
09:40 masak jnthn: are you planning to be promises-aplus-compatible?
09:41 masak Guest2669: dalek just reports work done on some of our projects.
09:41 masak Guest2669: it's just a name. got nothing to do with the big homicidal salt-shakers from Doctor Who ;)
09:41 Guest2669 masak wat projects
09:42 masak Guest2669: in this case, Rakudo, our most active compiler.
09:42 masak it also reports commits to nqp (a smaller language used for bootstrapping), the spectest suite (for testing the compilers), and the spec.
09:42 Guest2669 masak am new, i know noting
09:43 masak Guest2669: it takes some time getting used to everything.
09:43 FROGGS Guest2669: it is about programming languages here, just to mention it
09:43 Guest2669 guys y are u avoidin me
09:43 jnthn masak: Not API compatible
09:43 masak Guest2669: may I suggest you change into a more memorable nick than 'Guest2669'? you can do this by writing '/nick lisa_jamaica'
09:43 masak jnthn: ok.
09:43 masak jnthn: just wondering.
09:44 Guest2669 oh froggs i neva know
09:44 jnthn masak: The then I've done is closer to the .Net Task .ContinueWith.
09:44 masak jnthn: I like the name 'then' better :)
09:44 jnthn masak: Me too
09:45 jnthn I like it taking a single lambda that gets passed the promises and can process it as it chooses better, though :)
09:45 Guest2669 '/nick lisa_jamaica'
09:45 masak Guest2669: without the quotes :)
09:45 Guest2669 masak i did it
09:45 masak didn't help :/
09:46 Guest2669 nick lisa jamaica
09:46 masak no, you need the slash at the start.
09:46 FROGGS with a slash, and without space in your name
09:46 jnthn masak: I'm working on trying to provide a decent "await" though
09:46 jnthn masak: So I don't expect so much use of "then" if I nail that ;)
09:46 masak jnthn: ok. awaiting that, then :P
09:47 * masak is excited about using those constructs
09:47 * jnthn throws masak out of the thread pool so he doesn't waste resources while awaiting :P
09:47 masak :P
09:47 mathw I like the sound of this
09:47 * masak .oO( boy, a guy can't even play thread pool in peace )
09:47 Guest2669 /nicklisa_jamaica
09:48 mathw I'm clearly behind on Perl 6 concurrency ideas
09:48 Guest2669 /nicklisa_jamaica/
09:48 Guest2669 it nt wrkin
09:49 mathw jnthn: masak: "ContinueWith" is definitely better written as "then". Microsoft like slightly verbose names for things I think.
09:49 masak Guest2669: sorry I can't help you more. it should work with exactly what I wrote to you the first time: '/nick lisa_jamaica', sans quotes.
09:50 JimmyZ any changce to add deliver? :P
09:50 jnthn mathw: well, async/await are short words, though ;)
09:50 masak jnthn: 'then' is not a verb, but it's still very evocative.
09:51 shanice hey me name shanice nw. tanks masak
09:52 masak shanice++
09:52 shanice hey froggs cud i get ur number
09:52 masak er.
09:52 shanice masak can i get ur number
09:52 masak what, like social security number? :)
09:52 FROGGS shanice: 42
09:52 masak shanice: I've always been partial to 65536.
09:52 FROGGS and seven
09:53 masak oh! oh! 1337!
09:53 masak rn: say pi
09:53 camelia rakudo 00458e: OUTPUT«3.14159265358979␤»
09:53 camelia ..niecza v24-86-g39ab531: OUTPUT«3.1415926535897931␤»
09:53 masak rn: say i
09:53 tadzik the number of the best
09:53 camelia rakudo 00458e, niecza v24-86-g39ab531: OUTPUT«0+1i␤»
09:54 masak though I guess "my" number would be something like my passport number.
09:54 mathw jnthn: this is true
09:54 shanice froggs that is 3 number
09:54 mathw jnthn: but that's language syntax, the TPL API in general is a little lengthy. Fairly easy to read as a result though :)
09:55 masak shanice: sorry, we are making fun of you a little. it's not socially correct to ask for a number like that, I think.
09:55 mathw (even if I can never quite figure out which bit of it I want to use right now)
09:55 FROGGS masak: or VAT number... it is funny, my kids get an official letter with their VAT number (addressed to them) when they got 1yo
09:55 masak FROGGS: VAT.
09:55 rindolf joined #perl6
09:55 masak only in Germany... :)
09:55 mathw That's expecting a lot of a one-year-old
09:55 FROGGS yeah, we are like that :P
09:56 * masak .oO( that's expecting qVAT a lot of a 1yo )
09:56 shanice masak am talkin your phone number
09:56 masak shanice: yes. why in the would would I give you that?
09:57 shanice froggs where is u number
09:57 shanice masak so we could be frens
09:57 mathw masak: that... that is awful. Not only are you making terrible soundalike puns, you're doing it in a second language. I feel inadequate.
09:57 * masak is not donning the op hat. yet.
09:57 masak mathw: :D
09:58 masak shanice: we'd love to be frens with you. but not through giving out phone numbers to strangers on IRC.
09:58 shanice oh i wont kill u.
09:59 shanice am 18
09:59 timotimo ah, at 18 you're not allowed to murder people yet, right?
10:00 masak oh, well that puts things in a totally different light.
10:00 shanice anyways am out because nobody want to be fren
10:00 masak peace, shanice.
10:00 tadzik piano arrives in twenty minutes :o
10:00 timotimo oooh yeah! :)
10:00 shanice masak am just a female
10:00 masak \o/
10:00 tadzik I almost feel sorry for the guy, who's doomed to carry a "big package" right to my door
10:00 timotimo you can even directly start playing if you want, moritz merged my two branches recently :)
10:01 tadzik yeah, I noticed :)
10:01 tadzik Good Guy Moritz
10:01 JimmyZ I have a guitar
10:01 JimmyZ :P
10:01 timotimo me, too. sadly i hardly play it :(
10:01 shanice guys lata love u
10:01 tadzik yeah, guitar here too :)
10:01 JimmyZ timotimo: me too :P
10:02 * masak loves to play the piano, but doesn't have one now
10:02 masak oh! Chatmosphere!
10:02 masak shoulda guessed.
10:02 * JimmyZ decommute
10:07 dalek rakudo-js: c40628e | (Pawel Murias)++ | / (2 files):
10:07 dalek rakudo-js: Implement nqp::unshift. Test QASTNode.{unshift,shift,pop}.
10:07 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/c40628e62f
10:07 dalek rakudo-js: abb93d9 | (Pawel Murias)++ | run (3 files):
10:07 dalek rakudo-js: Fix KnowHOW.HOW.name. Pass test 65.
10:07 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/abb93d9db4
10:07 dalek rakudo-js: b332754 | (Pawel Murias)++ | runtime/ (2 files):
10:07 dalek rakudo-js: Implement .methods and .attributes for metaclasses for knowhow HOW's and .name for KnowHOWAttribute.
10:07 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/b332754a71
10:07 timotimo what's special about chatmosphere?
10:08 masak timotimo: it's set up in such a way that it sometimes randomly sends new users to #perl6.
10:08 masak timotimo: they are our most confused newbies, ever.
10:08 timotimo oh, that's strange
10:09 timotimo after 10 iterations, the ops i made also compile on the jvm!
10:09 masak I can just imagine them staring at their Blackberry going "this Chatmosphere thing sucks. people are so rude and cryptic."
10:16 timotimo interesting, i'm getting the "no subtests run" thing coke mentioned
10:16 timotimo when trying a spectest on the jvm
10:18 timotimo it starts at underscores.t for me and even when i have only one test runner i get that
10:18 timotimo and perhaps more interesting is that that one test runner seems to exhaust my four cores to 100% each
10:18 ivan`` joined #perl6
10:19 timotimo at least file-tests.t now passes 100%
10:19 dalek nqp: 5669b32 | (Pawel Murias)++ | t/nqp/53-knowhow.t:
10:19 dalek nqp: Expand test 53 to test the inspection of the name,methods and attributes of a knowhow.
10:19 dalek nqp: review: https://github.com/perl6/nqp/commit/5669b32c29
10:22 mstefanko joined #perl6
10:27 mathw jnthn: presumably, all the JVM work would also make it easier to get NQP running on .NET?
10:27 jnthn mathw: Presumably...
10:27 yoleaux 10:22Z <not_gerd> jnthn: GC with STM support the PyPy guys are building: https://bitbucket.org/pypy/stmgc/src/tip/c4/doc-stmgc.txt?at=default
10:28 mathw bit obvious really
10:28 mathw I'm just very excited
10:29 jnthn mathw: If somebody starts an NQP on .Net backend, I'm fine with that. Not planning to personally work on that, 'cus I've already got O(MG) other things to do. ;)
10:29 timotimo oh
10:29 mathw O(MG) rofl
10:29 mathw jnthn++
10:29 mathw obviously you're quite busy enough as it is
10:29 timotimo rel2abs: $*CWD test: got: /home/timo/build/jakudo expected /home/timo/build/jakudo/
10:29 mathw and we've got niecza anyway
10:29 timotimo is that an oversensitive test or something that actually should be fixed?
10:30 moritz I guess the third backend will be easier to add than the second
10:30 timotimo .net may end up being the fourth :)
10:30 moritz timotimo: labster should know (or tell)
10:30 timotimo the rel2abs tests before that seem to all want no / at the end
10:30 mathw what's the third? :)
10:30 timotimo moarvm, duh :)
10:31 timotimo or is my interpretation of the status of moarvm grossly wrong?
10:32 dalek nqp: 0d19655 | (Timo Paulssen)++ | src/vm/ (3 files):
10:32 mathw isn't moarvm kind of the second first backend?
10:32 dalek nqp: create file{readable,writable,executable,islink} on jvm and parrot.
10:32 dalek nqp: review: https://github.com/perl6/nqp/commit/0d196555c3
10:32 mathw or is parrot support going to remain?
10:33 moritz mathw: the current plan is to keep parrot (if parrot keeps us)
10:34 timotimo https://github.com/rakudo/rakudo/pull/178 - corresponding pullrequest
10:34 jnthn Well, pmurias++ is working on JavaScript support too ;)
10:34 itz_ joined #perl6
10:38 * mathw suffers a brain explosion
10:41 pmurias joined #perl6
10:44 mathw I had a hard enough time getting my head around ClojureScript
10:44 mathw Perl 6 -> JavaScript... gargh
10:44 mathw if only browsers had a common language which was actually a sane compilation target
10:45 timotimo the js backend for perl6 is currently only targeting node.js though
10:47 mathw it's still JS though
10:48 timotimo yeah, well ...
10:48 timotimo x86 assembly is also pretty insane
10:48 timotimo so there's that
10:52 masak mathw: JavaScript as a compilation target may be less insane than you think.
10:52 masak I mean, JavaScript has rather big and known flaws, sure.
10:53 masak and certain things make it hard to optimize.
10:53 masak but there's been incredible progress in working around those things in the past decade.
11:01 lizmat joined #perl6
11:27 dalek rakudo/nom: 125f458 | jonathan++ | src/vm/jvm/core/Threading.pm:
11:27 dalek rakudo/nom: A cheating 'await', to get the API in place.
11:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/125f458235
11:31 jnthn Yes, I can reproduce the jvm spectest problems here.
11:35 pmurias masak: I think some of JavaScript's insanity helps in using it as a compilation target, like it's crappy object models seems a nice fit for our P6opaque repr
11:36 masak pmurias: interesting. I would love to hear more about that.
11:39 * masak likes the quote at the top of http://diveintohtml5.info/past.html
11:39 pmurias hmm, maybe I should create an INTERNALS/HACKING description on how things are being mapped in nqp-js
11:39 timotimo do you blog or have some status metric or something?
11:40 timotimo i'm interested in seeing the progress, but i have no understanding of your roadmap or where you are o nit
11:41 masak pmurias: yes, I think you should.
11:41 masak re the quote: it's the whirlpool again, of course. implementation and specification informing each other in a (fractally) iterative process.
11:41 pmurias timotimo: I have a blog on parrot.org, the progress reports are a bit of stream of consciousness
11:42 timotimo ah, indeed yo udo!
11:42 timotimo man, i can *not* type properly today
11:43 timotimo lack of formatting makes me a sad panda :|
11:43 pmurias timotimo: I'll describe thing more clearly in the next on next Wednesday
11:46 timotimo looking forward to it :)
11:47 dalek rakudo/nom: e587d79 | jonathan++ | src/vm/jvm/core/Threading.pm:
11:47 dalek rakudo/nom: Default to starting no threads.
11:47 dalek rakudo/nom:
11:47 dalek rakudo/nom: Hopefully this helps the spectests.
11:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e587d79590
11:49 * timotimo compiles and runs a spectest
11:50 jnthn I think the problem was that it was spawning a thread per spectest that was staying around forever in the eval server...
11:51 moritz timotimo: fwiw your pull request fails to compile on parakudo
11:51 moritz Error while compiling op fileislink: No registered operation handler for 'fileislink'
11:53 FROGGS moritz: NQP_REVISION?
11:53 timotimo oh, yes, i forgot to bump the revision!
11:53 timotimo jnthn: i'm still getting the symptom
11:55 jnthn :/
11:57 timotimo moritz: can you try bumping nqp_revision for me? it should definitely compile with the newest nqp
11:57 jnthn timotimo: OK, then I've no idea what it could be.
11:58 jnthn Guess could try commenting out bits of Threading.pm and see if a particular piece is to blame, but it's pretty much all just declarations...
11:59 pmurias jnthn: is it known that setinvokespec works incorrectly on nqp-parrot (as opposed to nqp-jvm)?
11:59 jnthn pmurias: No
11:59 pmurias jnthn: http://pastie.org/8134303
12:00 pmurias can cameilia eval nopastes?
12:01 jnthn gists, I think
12:01 moritz gists only, right
12:01 timotimo jnthn: maybe move some more code from BUILD into maybe_new_thread, using the $!started_any thing?
12:02 pmurias jnthn: have you seen that nopaste?
12:03 timotimo jnthn: will $PROCESS::SCHEDULAR be replaced when the evalserver starts a new evaluation?
12:03 timotimo could it be that's not properly cleaned up?
12:03 moritz timotimo: will try bumping NQP revision and rebuilding
12:03 jnthn timotimo: Should be
12:04 pmurias jnthn: the problem is that on parrot the code ref is fetched from the incorrect attribut
12:04 pmurias e
12:04 jnthn pmurias: hm, wtf...
12:06 timotimo jnthn: i've just removed the Thread.Start call and i'm still seeing the symptom
12:06 pmurias jnthn: trying to fix that atm
12:08 jnthn timotimo: Well, it shouldn't start any threads at all by defaul tnow
12:09 jnthn I checked that it doesnt
12:09 jnthn pmurias: I see it gives a different result on Parrot vs JVM, yeah
12:10 jnthn yeah, certainly seems wrong
12:12 * timotimo is intra-file-bisecting Threading.pm
12:12 pmurias jnthn: found the bug
12:12 jnthn pmurias: oh?
12:13 * jnthn is guessing it's a silly one...
12:14 pmurias jnthn: wait for the commit ;)
12:15 timotimo it's going to be face .... .... wait for it ... ... palming!
12:15 jnthn ;)
12:15 JimmyZ Good evening
12:15 timotimo okay, commenting out the bodies of all the classes made it work again
12:15 timotimo now to allow a bit of code back
12:16 masak JimmyZ: 晚上好
12:16 pmurias timotimo: ;)
12:19 JimmyZ masak: 下午好 :D
12:19 timotimo jnthn: i have a very small piece of code that still triggers the problem
12:19 jnthn timotimo: What is it?
12:19 masak :)
12:20 timotimo well, i've let only the class * {, the }, the ThreadPoolSchedular.new and my $interop and the \ := $interop.TypeForName lines stay
12:20 timotimo and it triggers
12:20 timotimo now i'm down to only jvmbootinteropt() and getting the Semaphore and i'll see if that still triggers and then i'll look if it triggers even if there's only the my $interop line
12:21 jnthn OK, so it's something with the interop stuff, seems...
12:21 dalek rakudo/nom: 44b57b5 | (Timo Paulssen)++ | / (2 files):
12:21 dalek rakudo/nom: use nqp::file{read,writ,execut}able/fileislink on parrot and jvm
12:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/44b57b5ec1
12:21 jnthn That's odd
12:21 timotimo maybe the jvm doesn't like too many of the jvmbootinteropt objects to stick around
12:22 jnthn Well, I thought they were attached to the GlobalContext though...
12:22 moritz timotimo: fwiw I've squashed the NQP revision bump into that one commit
12:22 timotimo with only interop and semaphore it still bombs, now with only jvmbootinteropt (and then without constructing an instance)
12:22 timotimo moritz: i saw. thank you!
12:23 timotimo moritz++ # for making me seem less incompetent to people who only read the commit logs
12:24 dalek nqp/fix-set-invocation-spec: 30d991e | (Pawel Murias)++ | / (2 files):
12:24 dalek nqp/fix-set-invocation-spec: Fix nqp::setinvokespec on parrot. Add a test for it.
12:24 dalek nqp/fix-set-invocation-spec: review: https://github.com/perl6/nqp/commit/30d991ebab
12:25 moritz (actually I wanted to leave as is, then couldn't push because of a new commit by jnthn++, did a 'git pull --rebase', that got rid of the merge commit, and then I felt inclined to squash the two remaining commits :-)
12:25 jnthn pmurias: ahahaha
12:25 timotimo ooooh, uninitialised fields? :D
12:25 ztt joined #perl6
12:25 jnthn pmurias: And of course, we got lucky with the NQP and Rakudo objects, which put the $!do in the first slot... :)
12:27 masak pmurias++ # best attribute names
12:28 moritz pmurias++ # finding and fixing it
12:29 timotimo jnthn: it still bombs when the $PROCESS::... line is commented out
12:29 jnthn timotimo: So its merely having a $interop object?
12:29 timotimo yes
12:29 jnthn sorear++ may know what's going on...
12:30 timotimo my next test after the current one will be just my $interop outside of any class
12:30 timotimo and then just nqp::jvmbootinteropt without assigning it to something
12:33 pmurias jnthn: it would be convinient to have some tool to check if given changes to nqp break rakudo
12:34 pmurias jnthn: like a 'make test-for-rakudo-breakage'
12:36 timotimo and now to make sure i have actually been running the tests correctly, i'll run with a completely empty Threading.pm
12:38 timotimo indeed, that works
12:39 timotimo sorear: echo "nqp::jvmbootinterop();" > src/vm/jvm/core/Threading.pm causes the "no subtests run" problem
12:40 konundra joined #perl6
12:41 * timotimo expects sorears client to tell him that when he returns to his computer, rather than relying on the messengerbot
12:47 jnthn I think sorear++ backlogs
12:49 timotimo perfect
13:06 jnthn bbl &
13:06 lizmat cycling&
13:11 zby_home_ joined #perl6
13:29 pmurias jnthn: what do we need the curlexpad opcode in a package def?
13:31 notjack is there a built-in for signum in p6?
13:31 moritz nr: say 42.sign
13:31 camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«1␤»
13:31 notjack r: sign(-42)
13:31 camelia rakudo 44b57b:  ( no output )
13:32 notjack r: say sign(-42)
13:32 camelia rakudo 44b57b: OUTPUT«-1␤»
13:32 moritz nr: say (-42).sign
13:32 camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«-1␤»
13:32 notjack For functional operations, I prefer prefix notation
13:32 notjack for mutate-y code, I prefer postfix/dot notation
13:34 ajr joined #perl6
13:35 timotimo hey notjack :)
13:37 notjack hey timotimo
13:37 notjack thanks for all your help yesterday, btw
13:37 timotimo sure, no problem
13:37 timotimo it gives me joy :3
13:38 notjack now I'm trying to find a bigger project to get my feet wet
13:38 notjack considering a rosettacode task
13:38 timotimo yeah, rosettacode is a good place to start
13:46 [Coke] jnthn: hio
13:47 masak notjack++ # wet feet
13:48 [Coke] kicking of a new build in advance to see if it fixed it. thanks.
13:48 [Coke] *off
13:52 timotimo [Coke]: it did not
13:52 timotimo you have to empty out all of Threading.pm to make it work again
13:55 [Coke] Unfortunate.
13:56 [Coke] If we can't fix it in a day or so, maybe move it to a branch, I guess.
13:56 timotimo sorear will know
13:59 skids joined #perl6
14:03 notjack r: say join " ",(-1).roots(5);
14:03 camelia rakudo 44b57b: OUTPUT«0.809016994374947+0.587785252292473i -0.309016994374947+0.951056516295154i -1+1.22460635382238e-16i -0.309016994374948-0.951056516295154i 0.809016994374947-0.587785252292473i␤»
14:04 notjack Perl6: partially imaginary
14:04 moritz r: say ((-1).roots(5) X** 5 X+ 1)>>.abs
14:04 camelia rakudo 44b57b: OUTPUT«6.83434005098513 5.7699043378119 5 5.7699043378119 6.83434005098513␤»
14:04 moritz r: say (((-1).roots(5) X** 5) X+ 1)>>.abs
14:04 camelia rakudo 44b57b: OUTPUT«1.22460635382238e-16 3.67381906146713e-16 6.12303176911189e-16 1.40897493325354e-15 7.65717784317888e-16␤»
14:05 notjack what is the X prefix?
14:05 moritz cross meta op
14:05 moritz r: say <a b c> X~ (1, 2)
14:05 camelia rakudo 44b57b: OUTPUT«a1 a2 b1 b2 c1 c2␤»
14:06 moritz (~ is string concatenation)
14:06 notjack oh, cartesian product
14:06 notjack neato
14:08 JimmyZ r: say <a b c> Z~ (1, 2)
14:08 camelia rakudo 44b57b: OUTPUT«a1 b2␤»
14:08 notjack <> is just automatically qw// ?
14:08 notjack r qw/what does this do now/
14:09 notjack r: qw/what does this do now/
14:09 camelia rakudo 44b57b:  ( no output )
14:09 notjack r: say qw/what does this do now/
14:09 camelia rakudo 44b57b: OUTPUT«what does this do now␤»
14:09 notjack r: say elems qw/what does this do now/
14:09 camelia rakudo 44b57b: OUTPUT«5␤»
14:10 timotimo r: say qw/what does this do now?/.perl
14:10 camelia rakudo 44b57b: OUTPUT«("what", "does", "this", "do", "now?")␤»
14:10 JimmyZ .WHAT
14:11 notjack what's the inverse of .perl?  .eval?  .parse?
14:11 timotimo eval
14:13 PerlJam .oO( and why isn't it .lerp ? :)
14:13 JimmyZ lrep
14:13 PerlJam yeah, modulo my spelling errors
14:14 timotimo use monkey typing etc etc
14:14 notjack easier to just rename the language lave
14:14 btyler joined #perl6
14:15 timotimo :D
14:15 notjack r: say qw/1+2 3+4 4+5/.perl
14:15 camelia rakudo 44b57b: OUTPUT«("1+2", "3+4", "4+5")␤»
14:15 notjack r: say (qw/1+2 3+4 4+5/.perl)>>.eval
14:15 camelia rakudo 44b57b: OUTPUT«1+2 3+4 4+5␤»
14:15 timotimo the >>.eval doesn't do what you expect
14:16 notjack apparently
14:16 notjack how do you say it?
14:16 timotimo r: say qw/1+2 3+4 4+5/>>.eval
14:16 camelia rakudo 44b57b: OUTPUT«3 7 9␤»
14:16 timotimo the .perl turns the list into a string representation
14:16 notjack right, I forgot to trim that off
14:16 notjack duh
14:16 timotimo ;)
14:16 masak fellow #p6ers, I'm going on a two-week leave to somewhere really warm. I may stop by occasionally, though much less regularly than usual.
14:17 timotimo well, have a good time!
14:17 masak with luck, I'll find a tuit or two for doing p6cc reviewing on various flights or airports. we'll see.
14:17 timotimo are you going to visit the sun's surface?
14:17 PerlJam masak: have an excessive amount of fun in your really warm place!  ;)
14:17 JimmyZ yeah, beijing!
14:17 masak timotimo: close enough.
14:17 masak JimmyZ: not Beijing this time ;)
14:17 JimmyZ :P
14:18 masak &
14:18 JimmyZ masak: 旅行愉快
14:24 pmurias jnthn: ping
14:29 notjack given [2,3,5,7,11] what's a short way to express (2*3*5*7*11,*3*5*7*11,7*11,11)
14:29 notjack that is, the running product moving right-to-left
14:29 timotimo [\*] $list.reverse?
14:29 timotimo maybe with a (...).reverse around it
14:30 notjack the \ part makes it "running"?
14:30 notjack r: say [+] 1..5;
14:30 camelia rakudo 44b57b: OUTPUT«15␤»
14:30 notjack r: say [\+] 1..5;
14:30 camelia rakudo 44b57b: OUTPUT«1 3 6 10 15␤»
14:31 notjack r: say reverse [\*] reverse (2,3,5,7,11);
14:31 camelia rakudo 44b57b: OUTPUT«2310 1155 385 77 11␤»
14:31 notjack be yoo ti full
14:31 raiph joined #perl6
14:32 notjack still think there needs to be an "under" operator
14:32 notjack so you could say [\*] under reverse (2,3,5,7,11);
14:32 dalek specs: b841b9c | raiph++ | S05-regex.pod:
14:32 dalek specs: typos
14:32 dalek specs: review: https://github.com/perl6/specs/commit/b841b9ca86
14:33 notjack let's say I want to make a role "has inverse"
14:33 notjack how do I ask "hey, you, function: do you have an inverse?"
14:34 crab2313 joined #perl6
14:40 timotimo [...] is regular reduce, "[\" is triangle reduce because it looks like a triangle
14:41 timotimo also, i don't really understand what you mean by "under"
14:41 timotimo or by "reverse"
14:41 timotimo but there's an R metaop, where A - B == B R- A
14:42 timotimo bbl, balcony time :)
14:45 PerlJam it would be interesting to have an operator that encapsulates the "reverse OP reverse LIST" pattern.   (like the example: reverse [\*] reverse 2,3,5,7,11)
14:46 notjack PerlJam: yes, that's "under"
14:46 JimmyZ There will be one in CPAN6 :)
14:46 PerlJam I figured that what's you intended :)
14:46 notjack in the general case, it's function-inverse OP function data
14:46 notjack some funcitons, like reverse, are self-inverse
14:47 JimmyZ well, Perl6 have MACRO :P
14:47 notjack but to make "under" valueable, we'd have to have a role/mixin that let a function delcare itself invertible (and how)
14:47 sqirrel joined #perl6
14:47 notjack I don't think we need a full macro
14:48 notjack but then I barely know p6 yet
14:48 notjack we've just been introduced
14:50 notjack oh wait, is i true only classes have roles?
14:50 notjack I want to stick a role on a function
14:51 JimmyZ notjack: you can does a role
14:51 notjack r: sub f(Int i) {...}; &f does booze;
14:51 camelia rakudo 44b57b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤A parameter may only have one prefix type constraintâ�¤at /tmp/Nj0lYtTeKV:1â�¤------> [32msub f(Int i[33mâ��[31m) {...}; &f does booze;[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefix…
14:51 notjack r: sub f(Int $i) {...}; &f does booze;
14:51 camelia rakudo 44b57b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    booze used at line 1â�¤â�¤Â»
14:53 notjack r: Role booze {method invert {...} }; sub f(Int $i) {...}; &f does booze;
14:53 camelia rakudo 44b57b: OUTPUT«Useless declaration of a has-scoped method in mainlineâ�¤[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    Role used at line 1â�¤Undeclared routine:â�¤    booze used at line 1â�¤â�¤Â»
14:53 moritz notjack: lower-case 'role'
14:54 notjack r: role booze {method invert {...} }; sub f(Int $i) {...}; &f does booze;
14:54 camelia rakudo 44b57b: OUTPUT«Method 'invert' must be implemented by Sub+{booze} because it is required by a role␤  in any  at src/gen/Metamodel.nqp:2291␤  in any compose_method_table at src/gen/Metamodel.nqp:2282␤  in any apply at src/gen/Metamodel.nqp:2300␤  in any  at src/gen/Metamodel.nqp:2…
14:54 notjack ok, that's a better error
14:54 notjack now, since f is a sub, how do I make it have a method?
14:55 FROGGS r: role booze {method invert { } }; sub f(Int $i) { }; &f does booze;
14:55 camelia rakudo 44b57b:  ( no output )
14:55 FROGGS notjack: dont execute stub code
14:55 FROGGS r: f() { ... }; f()
14:55 camelia rakudo 44b57b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/UoKL3Aq05H:1â�¤------> [32mf() [33mâ��[31m{ ... }; f()[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        in…
14:55 FROGGS r: sub f() { ... }; f()
14:55 camelia rakudo 44b57b: OUTPUT«Stub code executed␤current instr.: 'throw' pc 353637 (src/gen/CORE.setting.pir:151295) (src/gen/CORE.setting:9269)␤called from Sub 'sink' pc 386002 (src/gen/CORE.setting.pir:163579) (src/gen/CORE.setting:10554)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) …
14:58 grondilu joined #perl6
14:59 notjack FROGGS: I didnt' call the stub, did I?  No invocations in my code.
14:59 JimmyZ r: proto f() { ... }; f();
14:59 camelia rakudo 44b57b: OUTPUT«Stub code executed␤current instr.: 'throw' pc 353637 (src/gen/CORE.setting.pir:151295) (src/gen/CORE.setting:9269)␤called from Sub 'sink' pc 386002 (src/gen/CORE.setting.pir:163579) (src/gen/CORE.setting:10554)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) …
15:00 JimmyZ r: proto f() { ... };
15:00 camelia rakudo 44b57b:  ( no output )
15:01 PerlJam r: sub foo { ... "What?!?" }; foo;
15:01 camelia rakudo 44b57b: OUTPUT«What?!?␤current instr.: 'throw' pc 353637 (src/gen/CORE.setting.pir:151295) (src/gen/CORE.setting:9269)␤called from Sub 'sink' pc 386002 (src/gen/CORE.setting.pir:163579) (src/gen/CORE.setting:10554)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:148) (src/gen/ma…
15:02 PerlJam r: sub foo { !!! "no way!" };  foo;
15:02 camelia rakudo 44b57b: OUTPUT«no way!␤  in sub foo at /tmp/1wPYD6oHpr:1␤  in block  at /tmp/1wPYD6oHpr:1␤␤»
15:02 PerlJam that's one of my favorite mini-features I think
15:03 notjack bangin'.
15:03 ajr joined #perl6
15:03 daniel-s_ joined #perl6
15:04 FROGGS notjack: still, when you have a role that makes a method required using ..., the thing you mixing it in needs to have that method
15:04 FROGGS notjack: so strip the ...
15:06 notjack well, I do want the function to implment invert()
15:06 Stygia joined #perl6
15:08 FROGGS notjack: so you want that role to implement it?
15:10 rindolf joined #perl6
15:11 kaleem joined #perl6
15:13 notjack I want sub halve is invertible (Int $i) {$i/2} <maglc glue> sub inverse(Int $i) {$i*2}
15:15 moritz it won't work with quite that syntax
15:16 kaleem_ joined #perl6
15:17 PerlJam maybe something like:  sub halve($x) is inverse({ $^x * 2 }) { $x / 2 }
15:18 PerlJam or using a parameterized role:   sub halve($x) does Inverse[{ $^x * 2 }] { $x / 2 }
15:18 PerlJam or something like that anyway
15:19 moritz r: sub half(Numeric:D $x) { $x / 2 }; &half does role { method inverse(Numeric:D $x) { $x * 2 } }; say half(42); say &half.inverse(half(42))
15:19 camelia rakudo 44b57b: OUTPUT«21␤42␤»
15:21 moritz r: sub trait_mod:<is>(&a, :$inverse!) { &a does role { method inverse($: |c) { $inverse(|c) } } };
15:21 camelia rakudo 44b57b:  ( no output )
15:21 moritz r: sub trait_mod:<is>(&a, :$inverse!) { &a does role { method inverse($: |c) { $inverse(|c) } } }; sub half($x) is inverse({ $^x * 2 }) { $x / 2 }; say &half.inverse(21)
15:21 camelia rakudo 44b57b: OUTPUT«42␤»
15:21 moritz r: sub trait_mod:<is>(&a, :$inverse!) { &a does role { method inverse($: |c) { $inverse(|c) } } }; sub half($x) is inverse({ $^x * 2 }) { $x / 2 }; say &half.inverse(half 42)
15:22 camelia rakudo 44b57b: OUTPUT«42␤»
15:22 PerlJam the parameterized role reads better though (assuming I got the syntax right)
15:22 moritz there ya go
15:23 notjack I like the parameterized role thing
15:24 moritz r: method role Inverse[&i] { method inverse($: \c) { i |c } }; sub trait_mod:<is>(&a, :&inverse!) { &a does Inverse[&inverse] }; sub half($x) is inverse({ $^x * 2 }) { $x / 2 }; say &half.inverse(half 42)
15:24 camelia rakudo 44b57b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Missing blockâ�¤at /tmp/EWGe3FUpkr:1â�¤------> [32mmethod role [33mâ��[31mInverse[&i] { method inverse($: \c) { i [0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»
15:24 moritz r:  role Inverse[&i] { method inverse($: \c) { i |c } }; sub trait_mod:<is>(&a, :&inverse!) { &a does Inverse[&inverse] }; sub half($x) is inverse({ $^x * 2 }) { $x / 2 }; say &half.inverse(half 42)
15:24 camelia rakudo 44b57b: OUTPUT«any(0+1i, 21)␤»
15:25 PerlJam uh ...
15:25 moritz r:  role Inverse[&in] { method inverse($: \c) { in |c } }; sub trait_mod:<is>(&a, :&inverse!) { &a does Inverse[&inverse] }; sub half($x) is inverse({ $^x * 2 }) { $x / 2 }; say &half.inverse(half 42)
15:25 camelia rakudo 44b57b: OUTPUT«42␤»
15:26 moritz ambigous use i (imaginary constant)
15:26 PerlJam yeah, it's still surprising.
15:26 notjack where did the i come from?
15:27 PerlJam notjack: that was the parameter moritz used in the roel
15:27 PerlJam er role
15:27 moritz r: say i
15:27 camelia rakudo 44b57b: OUTPUT«0+1i␤»
15:28 notjack r: say i, i, i, i #one more magarita
15:28 PerlJam r: say i()
15:28 camelia rakudo 44b57b: OUTPUT«0+1i0+1i0+1i0+1i␤»
15:28 camelia rakudo 44b57b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&i' called (lines 1, 1)␤»
15:28 * moritz likes :&inverse! as a named param
15:29 notjack hmm
15:29 notjack r: say i > 1;
15:29 camelia rakudo 44b57b: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in method Real at src/gen/CORE.setting:892␤  in sub infix:<>> at src/gen/CORE.setting:3342␤  in sub infix:<>> at src/gen/CORE.setting:3340␤  in sub infix:<>> at src/gen/CORE.setting:3342␤  in …
15:29 notjack r: say i > 2*i;
15:29 camelia rakudo 44b57b: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in method Real at src/gen/CORE.setting:892␤  in sub infix:<>> at src/gen/CORE.setting:3342␤  in sub infix:<>> at src/gen/CORE.setting:3340␤  in sub infix:<>> at src/gen/CORE.setting:3342␤  in …
15:29 notjack hmm, the first failure is legit
15:29 notjack the second is confusing
15:30 timotimo right, > tries to coerce 0+1i to a real, but it can't be coerced, because complex doesn't do real
15:30 timotimo doesn't do num* (?)
15:32 FROGGS[mobile] joined #perl6
15:35 domidumont joined #perl6
15:37 notjack r: say 1/0;
15:37 camelia rakudo 44b57b: OUTPUT«Divide by zero␤  in method sink at src/gen/CORE.setting:10554␤  in method BUILDALL at src/gen/CORE.setting:822␤  in method bless at src/gen/CORE.setting:763␤  in method new at src/gen/CORE.setting:748␤  in method new at src/gen/CORE.setting:746␤  in method floor at…
15:38 notjack r: say Inf/Inf
15:38 camelia rakudo 44b57b: OUTPUT«NaN␤»
15:38 notjack r: say Inf-Inf
15:38 camelia rakudo 44b57b: OUTPUT«NaN␤»
15:39 notjack r: say Inf*i
15:39 camelia rakudo 44b57b: OUTPUT«NaN+Inf\i␤»
15:39 notjack r: say 0+Inf*i
15:39 camelia rakudo 44b57b: OUTPUT«NaN+Inf\i␤»
15:42 [Coke] seems like those should just be NaN.
15:43 [Coke] but then, I am old school enough to wonder why we have complexes in the core. :)
15:45 notjack they're surprisingly useful
15:45 notjack once you have them
15:45 PerlJam I haven't used them yet.
15:46 notjack I'm coming from J.  They're built-in there too.
15:48 notjack only we spell 3+4i as 3j4
15:48 notjack (as in EE circles)
15:48 * PerlJam didn't know that EE people used that notation
15:50 birdwindupbird joined #perl6
15:50 FROGGS joined #perl6
15:51 [Coke] I studied ee in school and never saw that. but I haven't done any real ee work... ever.
15:51 [Coke] ooh, lunchies.
15:51 TimToady is %j taken in sprintf?
15:52 TimToady well, you'd probably want to do the parts of it separately anyway...
15:53 TimToady complex numbers are in there for various reasons
15:53 TimToady they're rather important to a sizeable subset of the programmers
15:53 TimToady they tend to fit oddly into a language if not designed in
15:53 TimToady Perl 6 doesn't require people to say "use Math" and such
15:54 TimToady and they're not all that hard to do
15:54 notjack in Soviet Perl 6, Math use U!!
15:54 PerlJam "fit oddly if not designed in" is  the most important bit I think.
15:54 PerlJam similar to threads
15:55 PerlJam But, I need a "killer app" for complex numbers that would make me see just how useful they are.  I haven't needed or wanted to use them.
15:56 TimToady is this the "everything must be useful for everyone" argument? :)
15:56 TimToady not all Americans use Unicode, but that's in there too
15:56 notjack yeah, but all Ämericans use Unicode
15:57 PerlJam no, not at all.  I see the widespread utility of unicode.  not so much for complex numbers :)
15:57 TimToady you're talking like a solipsist today :)
15:58 gfldex PerlJam: do you like those fancy little robot helicopters that dance as a group in the air?
15:58 PerlJam maybe today I'm in a solipsissy mood  ;)
15:58 PerlJam gfldex: suddenly I feel like I'm in a Dr. Seussian conversation.
15:59 PerlJam gfldex: I do.  I do like those fancy helicopters.  I do like them to dance in the air.
15:59 gfldex well, if you do and you want to do that in perl 6, you want complex numbers
16:00 TimToady there are many sense in which complex numbers are much more fundamental to your existence than Unicode is
16:00 TimToady *senses
16:01 TimToady QM, electronics, etc
16:01 timotimo complex numbers can also be abused as coordinates into 2-dimensional cartesian space :)
16:01 timotimo they come with + and - operations already out of the box! and you can even easily swap the sign of the second parameter with .conj
16:01 PerlJam heh
16:01 TimToady I'll Mandel your Brot and your little dog too!
16:01 timotimo and it has an operator for length-of-vector, too
16:02 colomon joined #perl6
16:02 crab2313 joined #perl6
16:03 TimToady anyway, we put complex numbers into Perl 6 for the people with imagination :P
16:03 PerlJam gfldex: so far, yours has been the closest to "killer app for complex numbers"   ;)
16:03 PerlJam TimToady: ah, that's it then ...  I have no imagination.
16:04 notjack rn: say 3-7i.abs();
16:04 gfldex it has to be a pretty big robot to kill you tho
16:04 camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«-4␤»
16:04 PerlJam gfldex: kill me?!?  Why would I want to kill *myself*?
16:04 notjack how is that -4?
16:04 timotimo i was just wondering that myself
16:04 gfldex because it's better then to kill others with your mad robot experiments?
16:04 timotimo probably 7i.abs
16:04 timotimo r: say (3-7i).abs
16:04 camelia rakudo 44b57b: OUTPUT«7.61577310586391␤»
16:05 timotimo yup.
16:05 PerlJam notjack: abs isn't doing what you think it's doing
16:05 TimToady solipsist: someone whose world revolves around their helicoptor
16:05 notjack that's better
16:05 notjack so, wait, is 3-7i is not atomic notation for a complex number, it's actually (3-(7i)
16:05 notjack ?
16:05 notjack ok, I can see that
16:05 TimToady nr: say <3-7i>
16:05 camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«3-7i␤»
16:06 moritz notjack: rakudo constant-folds 3-7i at compile time
16:06 timotimo notjack: it does get turned into an actual complex object during compile time
16:06 TimToady nr: say <3-7i>.abs
16:06 camelia niecza v24-86-g39ab531: OUTPUT«7.6157731058639087␤»
16:06 camelia ..rakudo 44b57b: OUTPUT«7.61577310586391␤»
16:06 notjack rn: say (3-7i).sign
16:06 TimToady oh-oh, they disagree
16:06 camelia rakudo 44b57b: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 101128 (src/gen/CORE.setting.pir:44796) (src/gen/CORE.setting:9426)␤called from Sub 'Numeric' pc 220154 (src/gen/CORE.setting.pir:95206) (src/gen/CORE.setting:3098)␤called from Sub 'Numeric' pc 1…
16:06 camelia ..niecza v24-86-g39ab531: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order␤  at /home/p6eval/niecza/lib/CORE.setting line 3494 (sign @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 491 (Cool.sign @ 4) ␤  at /tmp/k8XjQh…
16:07 TimToady notjack: (3-7i) works too, but relies on constant folding; <3-7i> is the approved literal form
16:07 notjack what exactly is <> ?
16:07 PerlJam niecza's error is perhaps the one that should be given when you try to ask  2 > i
16:07 TimToady it's an abused qw
16:07 moritz r: 7.6157731058639087 - 7.61577310586391
16:07 camelia rakudo 44b57b:  ( no output )
16:07 moritz r: say 7.6157731058639087 - 7.61577310586391
16:07 camelia rakudo 44b57b: OUTPUT«-0.0000000000000013␤»
16:07 notjack PerlJam: agreed
16:08 notjack PerlJam: or, maybe cleaner, Mu
16:08 TimToady we also have literal Rats
16:08 TimToady say <22/7>.floor
16:08 TimToady nr: say <22/7>.floor
16:08 camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«3␤»
16:08 PerlJam .oO( I always wonder where the Ships are that carry the Rats )
16:09 TimToady the Rats come in Parcels these days
16:11 notjack complex.sign should be (real.sign)+i*(imaginary.sign)
16:13 notjack in J, a complex is treated as a point in the complex plane, and sign(complex) is the intersection of the unit circle with the line from the origin to that point
16:13 notjack ... which I've never found useful
16:14 kivutar joined #perl6
16:20 dalek joined #perl6
16:20 Juerd joined #perl6
16:20 masak joined #perl6
16:21 PerlJam joined #perl6
16:21 hugme joined #perl6
16:21 Util joined #perl6
16:21 [Coke] joined #perl6
16:21 synopsebot joined #perl6
16:22 tadzik joined #perl6
16:23 vk joined #perl6
16:23 camelia joined #perl6
16:24 domidumont1 joined #perl6
16:28 colomon notjack: we already have that, but it's called ....
16:29 colomon errr ....
16:29 moritz $c && $c / $c.abs
16:35 TimToady nr: say <1+1i>.sign
16:35 camelia rakudo 44b57b: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 101128 (src/gen/CORE.setting.pir:44796) (src/gen/CORE.setting:9426)␤called from Sub 'Numeric' pc 220154 (src/gen/CORE.setting.pir:95206) (src/gen/CORE.setting:3098)␤called from Sub 'Numeric' pc 1…
16:35 camelia ..niecza v24-86-g39ab531: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order␤  at /home/p6eval/niecza/lib/CORE.setting line 3494 (sign @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 491 (Cool.sign @ 4) ␤  at /tmp/28ZeVI…
16:35 TimToady Cool!
16:36 colomon spectacular!
16:36 PacoAir joined #perl6
16:36 TimToady oh, notjack++ already did that
16:36 * colomon would swear there was a Complex method to do that $c && $c / $c.abs, .uni or something like that.
16:37 moritz r: say Complex.^methods(:local)
16:37 camelia rakudo 44b57b: OUTPUT«new BUILD reals isNaN coerce-to-real Num Int Rat Complex conj abs polar sqrt roots sin asin cos acos tan atan sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh floor ceiling round truncate log log10 exp suc…
16:37 colomon moritz: it's definitely not in the source now, I checked
16:37 colomon nor in niecza
16:43 vk_ joined #perl6
16:44 DrEeevil joined #perl6
16:46 mikemol_ joined #perl6
16:46 pecastro_ joined #perl6
16:48 dalek rakudo/nom: 2eb3d1d | (Solomon Foster)++ | src/core/Num.pm:
16:48 dalek rakudo/nom: Add JVM wrapper around code only needed for JVM.
16:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2eb3d1d19b
16:49 robins joined #perl6
16:57 skids joined #perl6
16:59 moritz off-topic question: does anybody know a good way to speed up this SQL query when the 'NOT EXISTS' mostly returns false? https://github.com/moritz/ilbot/blob/normalized/sql/migration.mysql#L13
16:59 moritz it would reduce the downtime of the IR Clogger
17:00 notjack moritz: change LIKE '#%' to LIKE '#asldjasldjasldjas'
17:00 lizmat_ joined #perl6
17:00 moritz notjack: a 'SELECT 1;' would also be faster, but still doesn't do what I want
17:02 dmol1 joined #perl6
17:03 skids_ joined #perl6
17:03 bonsaikitten joined #perl6
17:03 moritz MJD#11963 applies :-)
17:04 TimToady pity the ir clog thinks that's an RT ticket...
17:07 moritz I guess I should start mjd.perlgeek.de :-)
17:10 spider-mario joined #perl6
17:19 moritz and I think I have the optimization; replace the NOT EXISTS with a left join on the same table, and check that its id IS NULL
17:25 domidumont joined #perl6
17:25 FROGGS ha, hacking at 7:55 on file permissions is kinda funny
17:25 FROGGS err
17:25 FROGGS hold on, that is my remaining accu power -.-
17:26 moritz that's great, if it's in H:MM format :-)
17:27 FROGGS well, if I do nothing it shows up to 13:00 but only for the main accu (it doesnt take the bay accu into account)
17:27 FROGGS I bought an extended one and a bay accu for yapc::na
17:34 abnorman joined #perl6
17:37 bruges joined #perl6
17:54 itz_ is it Christmas yet?
17:55 moritz it's partial christmas
17:55 PerlJam itz_: it's christmas every day here
18:05 timotimo moritz: do you have something similarly easy to fix as heredoc trimming?
18:10 SamuraiJack joined #perl6
18:21 [Coke] .ask colomon if https://github.com/rakudo/rakudo/commit/2eb3d1d19b570c50517acef180c78f4f109fb44e is not better put at the pow op level in nqp rather than in rakudo?
18:21 yoleaux [Coke]: I'll pass your message to colomon.
18:46 PerlJam http://www.kickstarter.com/projects/smogberrytrees/under-the-smogberry-trees-the-true-story-of-dr-dem
18:48 dalek perl6-roast-data: 17a0bc5 | coke++ | / (4 files):
18:48 dalek perl6-roast-data: today (automated commit)
18:48 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/17a0bc5a92
18:49 bluescreen10 joined #perl6
18:51 woolfy left #perl6
19:06 Rotwang1 joined #perl6
19:13 [Coke] .seen sorear?
19:13 yoleaux I haven't seen sorear? around.
19:13 [Coke] .seen sorear
19:13 yoleaux I saw sorear 05:15Z in #perl6: <sorear> Yep
19:14 * [Coke] wonders what we could do to make that say "x hours ago" instead.
19:14 [Coke] .time
19:14 [Coke] .date
19:14 [Coke] .help
19:14 yoleaux [Coke]: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
19:14 [Coke] .t
19:14 yoleaux Fri, 12 Jul 2013 19:14:51 UTC
19:15 [Coke] .suggest perl6 is the
19:15 yoleaux No suggestions for perl6 is the.
19:15 [Coke] .suggest perl is
19:15 yoleaux Perhaps perl is: is~a, ~numeric, ~number, ~dead, ~directory, ~array, ~defined, is~_deeply, ~hash, ~integer
19:15 [Coke] .suggest perl6 is
19:15 yoleaux Perhaps perl6 is: is~-prime, perl 6 is dead, is perl 6 dead, perl 6 is a joke, perl 6 isa, perl 6 is export, is perl 6 release, where is perl 6, perl 6 release, is perl 6 ready
19:16 [Coke] .wa calculate the distance from the moon to the earth over the distance from the earth to the sun
19:16 yoleaux Moon: distance from Earth/Sun: distance from Earth: 0.002601 (0.2601%)
19:17 * [Coke] stops poking the bot with a stick.
19:17 timotimo Preceded by
19:17 timotimo Perl 5Versions of PerlMost recent
19:18 timotimo what? but that's wrong, isn't it?
19:18 timotimo http://en.wikipedia.org/wiki/Perl_6 <- at the very bottom
19:18 kaare__ joined #perl6
19:21 [Coke] timotimo: yes. I'll remove that. (there is no corresponding thing at the bottom of p5)
19:23 timotimo thanks
19:24 [Coke] done
19:24 timotimo donke :)
19:25 [Coke] https://en.wikipedia.org/wiki/Perl_6_rules - This is the grammar used to define Perl's sprintf string formatting notation.
19:25 [Coke] butte.
19:37 mdxi joined #perl6
19:38 mdxi left #perl6
19:38 sitaktif joined #perl6
19:40 timotimo it feels like the perl6 wikia is pretty vestigious?
19:40 timotimo "to install rakudo perl6, install a linux virtual machine or get cygwin"
19:41 [Coke] ... what is "the perl6 wikia" ?
19:41 benabik http://perl6.wikia.com/wiki/Perl6_Wiki
19:48 araujo joined #perl6
19:48 araujo joined #perl6
19:48 [Coke] no attribution on edits, no indication of when edits happened.
19:48 [Coke] ah, history.
19:48 [Coke] yah, it's old.
19:48 timotimo there were two spelling fixes in june or july
19:48 benabik User pages have dates on edits.
20:03 notjack perl6: eval 'have you stopped beating your wife?'
20:03 camelia niecza v24-86-g39ab531: OUTPUT«Unhandled exception: Confused at (eval) line 1:â�¤------> [32mhave you stopped beating your wife[33mâ��[31m?[0mâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 5603 (STD.panic @ 75) â�¤  at /home…
20:03 camelia ..rakudo 2eb3d1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at eval_0:1â�¤------> [32mhave you stopped beating your wife[33mâ��[31m?[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statement endâ�¤       …
20:04 notjack no, camelia, the answer to that question is 'Mu'
20:06 itz_ why does "for (1..1000) -> my $i" not work?
20:06 stevan_ joined #perl6
20:07 raiph joined #perl6
20:07 FROGGS itz_: the 'my' is implicit
20:08 FROGGS and a block must follow
20:09 FROGGS -> $i { } # that is called a point block, which is pretty much the same as a subroutine
20:09 FROGGS pointy block*
20:11 timotimo FROGGS: are you going to make nqp crosscompile itself onto moarvm soon? :)
20:12 FROGGS timotimo: I dont think I can do that :o)
20:12 FROGGS but I can obviously add ops, so I do that
20:13 timotimo how far is it, btw?
20:13 FROGGS just to take a short break of v5, and get into "our" vm, so I know what is going on when rakudo lands on planet moar
20:13 FROGGS timotimo: I have no idea tbh
20:13 timotimo oke
20:13 timotimo MourVM
20:13 FROGGS hehe
20:17 timotimo huh, the wikibook for perl6 calls phasers "property blocks", is that canon anywhere?
20:17 FROGGS never heard of it
20:27 PerlJam ack says S06 mentions the term.
20:28 PerlJam S06:2744
20:28 synopsebot Link: http://perlcabal.org/syn/S06.html#line_2744
20:28 [Coke] timotimo: I would trust nothing that is on a wikia or a wikibook. :)
20:31 timotimo are wikibooks that bad?
20:34 FROGGS no, just be careful and dont believe everything written
20:36 [Coke] timotimo: no, no. Just that the perl6 stuff that isn't generated by people on this channel is often stale
20:37 [Coke] I blame all the spec change log.
20:37 timotimo agreed
20:42 notjack the problem is Google doesn't know that
20:52 vk joined #perl6
20:52 sahadev can someone point me to some documentation about ":="?
20:54 notjack =:= is container (i.e. memory address) equivalence
20:54 notjack don't know :-
20:54 notjack :=
20:55 FROGGS binding
20:55 PerlJam sahadev: S03:2252
20:55 synopsebot Link: http://perlcabal.org/syn/S03.html#line_2252
20:55 FROGGS r: my $a = "a"; my $b := $a; say $b; $a = "z"; say $b
20:56 camelia rakudo 2eb3d1: OUTPUT«a␤z␤»
20:56 sahadev PerlJam: thanks
20:59 revdiablo joined #perl6
21:01 revdiablo joined #perl6
21:11 revdiablo joined #perl6
21:12 revdiablo joined #perl6
21:13 stevan_ joined #perl6
21:18 Lorn joined #perl6
21:20 census joined #perl6
21:31 kingbeast joined #perl6
21:39 stevan_ joined #perl6
21:39 timotimo anyone feel like implementing a clone of https://www.destroyallsoftware.com/blog/2011/one-base-class-to-rule-them-all in perl6?
21:39 ssutch joined #perl6
21:40 timotimo ssutch: hey you :)  -  rubyists just came up with a radical new approach to OO and i think we should have that in perl6, too. feel like implementing it? https://www.destroyallsoftware.com/blog/2011/one-base-class-to-rule-them-all
21:43 ssutch timotimo lolwut?
21:44 ssutch that's hilarious
21:44 benabik That's something all right.
21:45 lue timotimo: that sounds like a job for the most-derived class, Um :P
21:45 geekosaur which sounds appropriate
21:45 timotimo :D
21:46 lue (it actually shouldn't take too many language features to implement. I expect MOP to be involved.)
21:47 timotimo indeed
21:47 timotimo i feel tired. i won't implement anything more today i think
21:48 timotimo the only thing i can think of right now that's kind of sort of in my area of capabilities is fixing >> to be properly "nodal"
21:48 timotimo but that seems like a huge thing
21:58 ssutch what does those push notices for this channel?
21:58 ssutch is it ilbot?
21:59 timotimo pmurias: how much ram does a node.js process with an nqp repl or nqp-compiled program in it use, roughly?
21:59 konundra joined #perl6
22:01 TimToady joined #perl6
22:07 colomon joined #perl6
22:07 dalek rakudo/nom: 0562424 | (Solomon Foster)++ | src/core/Num.pm:
22:07 dalek rakudo/nom: Workaround for % bug.
22:07 dalek rakudo/nom:
22:07 dalek rakudo/nom: This can surely be done more efficiently, but for now this works.
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05624246f8
22:09 dalek roast: 9119a79 | (Solomon Foster)++ | S03-operators/arith.t:
22:09 dalek roast: Unfudge tests for rakudo.jvm.
22:09 dalek roast: review: https://github.com/perl6/roast/commit/9119a79c59
22:19 dalek roast: bfefc54 | (Solomon Foster)++ | S32-num/power.t:
22:19 dalek roast: Add tests for for 1e0 ** bigint.
22:19 dalek roast:
22:19 dalek roast: Particularly test that the type is correctly a Num.
22:19 dalek roast: review: https://github.com/perl6/roast/commit/bfefc54c56
22:21 pmurias timotimo: how should I measure this?
22:21 timotimo guess
22:21 timotimo :P
22:21 timotimo would an empty perl6 repl likely end up at about 150 mb of resident memory usage?
22:21 timotimo like on parrot or the jvm?
22:22 dalek rakudo/nom: 00cd347 | (Solomon Foster)++ | src/core/Num.pm:
22:22 dalek rakudo/nom: Return proper type from infix:<**> patch.
22:22 dalek rakudo/nom:
22:22 dalek rakudo/nom: moritz++ for spotting this one.
22:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00cd347382
22:24 pmurias timotimo: currently nqp-js is running on parrot so yes
22:24 timotimo the thing is, i was asked if it would be sensible to try to deploy something written in perl6 on a raspberry pi, which is much too tight on ram
22:24 pmurias timotimo: for a repl that is
22:25 timotimo okay, that makes sense; what are your (perhaps more realistic than) hopes and dreams for ram usage when you've self-hosted nqp and compiled rakudo?
22:26 ggoebel moritz: have you tried something like:
22:26 ggoebel SELECT  channel
22:26 ggoebel FROM    irclog il
22:26 ggoebel LEFT JOIN ilbot_channel ic
22:26 ggoebel ON      1=strpos(il.channel, '#')
22:26 ggoebel AND     il.channel = ic.channel
22:26 ggoebel WHERE   ic.channel IS NULL
22:26 ggoebel GROUP BY channel
22:26 ggoebel ;
22:28 pmurias timotimo: for the compiler or generated programs?
22:28 colomon_ joined #perl6
22:28 timotimo well, can you have a running program without the compiler?
22:29 timotimo i suppose that would be a great space saver for jvm and parrot as well, if a script could be run without having the compiler available in memory at all time
22:30 pmurias timotimo: if you don't use eval you don't need the compiler
22:32 pmurias timotimo: currently memory usage for 'while 1 {}' in nqp is under 32M, when running as a precompiled javascript program
22:33 pmurias * 33M
22:41 _ilbot joined #perl6
22:41 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
22:42 pmurias timotimo: if we give up on eval and similiar things it should be possible to get rid for stuff like the parser
22:43 timotimo but the code to do that is yet to be written, yes?
22:43 pmurias think so
22:43 timotimo OK
22:44 pmurias timotimo: how much memory usage is acceptable?
22:44 timotimo like ... 60 megs max? :|
22:45 snoopy joined #perl6
22:46 pmurias it's really hard for me too guess performance/memory usage as I haven't tried to measure anything yet, or do any optimalisation
22:47 pmurias timotimo: I wouldn't count on getting under 7 megs under node.js for sure as 'while (1) {}' in js uses that
22:53 benabik joined #perl6
22:53 berekuk joined #perl6
22:54 timotimo mhm
22:55 pmurias timotimo: do you consider nqp a nice language?
22:55 timotimo it's an okay language
22:56 timotimo the lack of a debugger makes it a bit annoying to work in it
22:57 skids_ joined #perl6
22:58 colomon hmmm, nqp not nearly so annoying as working in the java bits that make nqp-jvm work, IMO.  :)
22:58 yoleaux 18:21Z <[Coke]> colomon: if https://github.com/rakudo/rakudo/commit/2eb3d1d19b570c50517acef180c78f4f109fb44e is not better put at the pow op level in nqp rather than in rakudo?
23:00 colomon [Coke]: there is *no* pow_n op level in nqp jvm, so far as I can see … I think it's calling directly into the JVM or something.
23:01 colomon I suppose we could add one, I don't know how the performance trade-off would work out...
23:03 timotimo :is-inlinable(1) and be done with it :)
23:03 colomon maybe?  I certainly do not understand the tradeoffs.
23:05 colomon o/ # back to the cabin for some cards...
23:16 konundra joined #perl6
23:26 fridim_ joined #perl6
23:37 benabik joined #perl6

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

Perl 6 | Reference Documentation | Rakudo