»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
TimToady has added some weight over the last 40 years... 00:00
00:04 Ben_Goldberg left 00:12 btyler joined
timotimo is there something in core that would make line-breaking easy to implement? 00:14
er, text-wrapping 00:15
TimToady does it have to handle tabs? 00:18
if it doesn't .comb with an appropriate pattern can usually do it 00:20
.comb(/ \S . ** 1..79 [\s+ | $] /) or some such 00:22
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
well, you probably want <?before \s> 00:24
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
(for p6doc in the terminal)
TimToady yes, the width is negotiable, assuming you have ** {1..$max} available 00:31
otherwise you might need an eval
well, I guess 0..$max if you start with a \S 00:32
well, 0..^$max 00:37
00:43 btyler left
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
a good start, if you ask me.
well, only if you set the environment variable POD_TO_TEXT_ANSI to something 00:45
i suppose R should definitely be highlighted as well
it's kinda not neat that i only have inverse, bold and underline to work with
timotimo doesn't dare do colors 00:46
00:46 incDec joined 00:47 colomon joined
colomon o/ 00:47
00:48 incDec left
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
geekosaur tput cols 00:53
well, hm. cross platform 00:54
yeh, you lose
TimToady doesn't work consistently when called as a subshell
geekosaur not sure windows even has the concept
TimToady $ tput cols 00:55
114
$ perl6 -e 'say qx/tput cols/' 00:56
80
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 ...
not saying i'd do that
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
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 ???
TimToady $ perl -E 'say qx/tput cols/'
114
geekosaur tput used to query the terminfo database but allowed envars to override lines and cols
timotimo ..oh? 01:00
TimToady the problem is in rakudo, not tput
geekosaur resize does the xterm escapes thing
timotimo in that case i was wrong
geekosaur it is not impossible that someone has modified tput though (gnu feeping creaturism?)
TimToady qx works under p5, not under p6 01:01
geekosaur hm. screwing with the environment?
TimToady mebbe, or the fds
01:02 btyler joined
timotimo now has pretty excellent code that wraps after each word 01:05
ah, but of course! 01:07
silly me :)
01:08 Vlavv joined
timotimo now i get a whole line i nthe right length, a newline and then a single word :| 01:08
01:11 benabik joined
timotimo gives up on wordwrapping 01:20
dalek ecs: 3cbe9d4 | timo++ | S26-documentation.pod:
change <em><em/> to <em></em>
01:34
01:36 BenGoldberg joined 01:38 colomon left 01:50 FROGGS_ joined 01:54 FROGGS left 02:02 abnorman joined 02:23 konundra left
labster rn: class B { my $a = 3; method x { say $!a }; }; 02:26
camelia rakudo 8e0762: OUTPUT«===SORRY!===␤Attribute $!a not declared in class B␤at /tmp/Rl_ZU23Arv:1␤------> class B { my $a = 3; method x { say $!a⏏ }; };␤»
..niecza v24-86-g39ab531: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/s8L7acJ3uE line 1:␤------> class B { my ⏏$a = 3; method x { say $!a }; };␤␤»
labster rn: class B { my $!a = 3; method x { say $!a }; } 02:27
camelia niecza v24-86-g39ab531: ( no output )
..rakudo 8e0762: OUTPUT«===SORRY!===␤Cannot use ! twigil on my variable␤at /tmp/LQQVHUAPu7:1␤------> class B { my $!a ⏏= 3; method x { say $!a }; }␤ expecting any of:␤ scoped declarator␤ constraint␤»
labster nieczabug 02:29
rn: class B { has $a = 3; method x { say $!a }; }; 02:33
camelia rakudo 8e0762, niecza v24-86-g39ab531: ( no output )
labster is the first example notabug -- do class attributes not map to the $! twigil as instance attributes do?
[Coke] ok. it is repeatable that the commit from jonathan with initial thread stuff breaks the daily run. 02:37
the tests start aborting around S02-literals/char-by-name.rakudo.jvm ... 02:38
02:44 btyler left
[Coke] test works fine when it's run by itself, either directly or through a fresh copy of the eval server. 02:44
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
dalek ecs: d96e2c2 | (Brent Laabs)++ | S12-objects.pod:
define how "class attributes" are different from "attributes"
03:02
ecs: d88b5d9 | (Brent Laabs)++ | S32-setting-library/Rules.pod:
fix formatting on S32::Rules; role Cursor -> class Cursor
03:02 crab2313 joined
[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:14
dalek rl6-roast-data: 16afeb4 | coke++ | / (3 files):
today (automated commit)
03:15
[Coke] double ugh - today's rakudo.parrot run still has the wrongly marked-failing tests - those will get cleaned up tomorrow. 03:16
03:31 konundra left 03:38 raiph left 03:53 preflex_ joined, ChanServ sets mode: +v preflex_ 03:54 preflex_ is now known as preflex 04:04 prevost joined 04:10 abnorman left 04:29 BenGoldberg left 04:30 crab2313 left 04:31 benabik left 04:32 benabik joined 04:34 prevost left
sorear good * #perl6 04:45
04:46 prevost joined
labster yo sorear 04:47
04:49 SamuraiJack__ joined
dalek q: 113d600 | (Brent Laabs)++ | answers.md:
add What is the difference between Any and Mu?
04:50
sorear back from a SPECIAL MEETING of the San Diego Perl Mongers 04:53
04:56 prevost_ joined 04:57 birdwindupbird joined 04:58 prevost left, ztt joined
TimToady sorear: I take it you survived. 05:09
sorear Yep 05:15
05:44 prevost_ left 05:46 djanatyn joined 05:55 raiph joined 06:06 ssutch joined 06:18 ztt left 06:24 FROGGS_ left 06:32 kaleem joined 06:34 ssutch left 06:36 ssutch joined 06:41 notjack joined 06:46 abnorman joined 06:52 SamuraiJack__ left, SamuraiJack joined 06:54 cognominal joined 06:55 eternaleye left 06:56 raiph left, eternaleye joined 07:01 domidumont joined 07:09 eternaleye left 07:10 eternaleye joined 07:12 domidumont left 07:13 domidumont joined
dalek ecs: 486189a | moritz++ | S05-regex.pod:
[S05] define <punct> to be Unicody. Closes #57
07:16
07:21 ssutch left 07:24 eternaleye left 07:26 eternaleye joined 07:28 FROGGS joined 07:37 mattp__ joined, benabik_ joined 07:39 benabik left, benabik_ is now known as benabik, ssutch joined 07:40 patspam joined 07:43 autumn joined, ivan`` joined
dalek rlito: 360b966 | (Flavio S. Glock)++ | t5-bug/40-indirect-object.t:
Perlito5 - indirect-object tests
07:55
kudo/nom: 7157e1e | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
only dedent newlines found in the textual code of heredocs
07:58
kudo/nom: 3f1c71d | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
always do the dedenting at compile-time
kudo/nom: 663f6b5 | moritz++ | src/Perl6/Actions.nqp:
Merge branch 'heredoc_trim_fix' of github.com/timo/rakudo into nom
08:12 dmol joined
dalek kudo/nom: b529ab9 | (Timo Paulssen)++ | src/Perl6/Grammar.nqp:
allow multi-angle pod formatcodes, forbid nesting in C< and V<
08:17
rakudo/nom: afe3d3f | (Timo Paulssen)++ | src/Perl6/ (2 files):
rakudo/nom: allow nested FCodes, forbid nesting in C<> and V<>
08:17 dalek joined, ChanServ sets mode: +v dalek
masak good antenoon, #perl6 08:19
moritz \o masak 08:20
masak looks at thundergnat++'s pull request
thundergnat: merged. 08:23
I really like the 'succeed'/'proceed' pairing. and I really like 'next'/'last'/'redo'. 08:31
but sometimes it feels a bit strange to have both 'last' and 'succeed', for example.
even as I say that, it feels a bit like comparing apples and oranges... 08:32
08:32 abnorman left
dalek rlito: 840f866 | (Flavio S. Glock)++ | t5-bug/40-indirect-object.t:
Perlito5 - indirect-object tests
08:33
moritz www.ibm.com/developerworks/java/lib...x.html#3.4
08:34 daxim joined
masak moritz: ...yes? 08:34
moritz old news to many, I guess 08:35
no, certainly old news. The article is from 2004 :-) 08:36
08:44 PerlJam left
JimmyZ god article, I saw that MoarVM does some same things 08:45
*gOOd
08:45 PerlJam joined
FROGGS gets moar coffee 08:47
JimmyZ Listing 1 is what MoarVM is doing now 08:49
08:55 ssutch left 09:01 fhelmberger joined 09:05 rindolf joined
JimmyZ hmm, MoarVM is thread-local, not with lock 09:11
09:17 kivutar joined, nyuszika7h left 09:18 nyuszika7h joined 09:19 lue joined, sqirrel joined
timotimo moritz: thanks for the merges :3 09:23
moritz timotimo: thanks for the patches :-) 09:25
timotimo my pleasure :D 09:26
dalek ast: 79af625 | (Timo Paulssen)++ | S02-literals/ (2 files):
move heredoc tests into their own file.
09:28
ast: c02bce1 | (Timo Paulssen)++ | S02-literals/heredocs.t:
more heredoc patches
timotimo now if you could also add S02-literals/heredocs.t to the spectest.data, that would be great :)
jnthn morning, #pelr6 09:33
timotimo hello jnthn :) 09:34
mathw \o/
FROGGS mroning jthnn
:o)
JimmyZ morning, jnthn
FROGGS jnthn: you're thinking about threads?
mathw $timeofday, @people
jnthn :P
FROGGS hi mathw and all 09:35
timotimo i'm going to implement r, w and x for nqp-jvm today :)
FROGGS timotimo++
masak jnthn! \o/ 09:36
timotimo it's apparently very easy in java
who knew :)
09:37 Guest2669 joined
jnthn \o/ 09:37
Guest2669 hey
FROGGS hey Guest2669 09:38
Guest2669 am lisa frm jamaica
hey froggs 09:39
masak hey lisa from jamaica
rn: say "hey" xx 5
Guest2669 hey masak u good
camelia rakudo 00458e, niecza v24-86-g39ab531: OUTPUT«hey hey hey hey hey␤» 09:40
dalek kudo/nom: 6f93cae | jonathan++ | src/vm/jvm/core/Threading.pm:
Add 'then' method to Promise.

Attaches a piece of work to do when the promise is fulfilled or broken. Returns a new Promise that represents the completion of this extra work, allowing chaining.
Guest2669 dalek
masak jnthn: are you planning to be promises-aplus-compatible?
Guest2669: dalek just reports work done on some of our projects. 09:41
Guest2669: it's just a name. got nothing to do with the big homicidal salt-shakers from Doctor Who ;)
Guest2669 masak wat projects
masak Guest2669: in this case, Rakudo, our most active compiler. 09:42
it also reports commits to nqp (a smaller language used for bootstrapping), the spectest suite (for testing the compilers), and the spec.
Guest2669 masak am new, i know noting
masak Guest2669: it takes some time getting used to everything. 09:43
FROGGS Guest2669: it is about programming languages here, just to mention it
Guest2669 guys y are u avoidin me
jnthn masak: Not API compatible
masak Guest2669: may I suggest you change into a more memorable nick than 'Guest2669'? you can do this by writing '/nick lisa_jamaica'
jnthn: ok.
jnthn: just wondering.
Guest2669 oh froggs i neva know 09:44
jnthn masak: The then I've done is closer to the .Net Task .ContinueWith.
masak jnthn: I like the name 'then' better :)
jnthn masak: Me too
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'
masak Guest2669: without the quotes :)
Guest2669 masak i did it
masak didn't help :/
Guest2669 nick lisa jamaica 09:46
masak no, you need the slash at the start.
FROGGS with a slash, and without space in your name
jnthn masak: I'm working on trying to provide a decent "await" though
masak: So I don't expect so much use of "then" if I nail that ;)
masak jnthn: ok. awaiting that, then :P
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
masak :P
mathw I like the sound of this
masak .oO( boy, a guy can't even play thread pool in peace )
Guest2669 /nicklisa_jamaica
mathw I'm clearly behind on Perl 6 concurrency ideas 09:48
Guest2669 /nicklisa_jamaica/
it nt wrkin
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.
JimmyZ any changce to add deliver? :P 09:50
jnthn mathw: well, async/await are short words, though ;)
masak jnthn: 'then' is not a verb, but it's still very evocative.
09:50 Guest2669 is now known as shanice
shanice hey me name shanice nw. tanks masak 09:51
masak shanice++ 09:52
shanice hey froggs cud i get ur number
masak er.
shanice masak can i get ur number
masak what, like social security number? :)
FROGGS shanice: 42
masak shanice: I've always been partial to 65536.
FROGGS and seven
masak oh! oh! 1337! 09:53
rn: say pi
camelia rakudo 00458e: OUTPUT«3.14159265358979␤»
..niecza v24-86-g39ab531: OUTPUT«3.1415926535897931␤»
masak rn: say i
tadzik the number of the best
camelia rakudo 00458e, niecza v24-86-g39ab531: OUTPUT«0+1i␤»
masak though I guess "my" number would be something like my passport number. 09:54
mathw jnthn: this is true
shanice froggs that is 3 number
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 rindolf left
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)
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
masak FROGGS: VAT.
09:55 rindolf joined
masak only in Germany... :) 09:55
mathw That's expecting a lot of a one-year-old
FROGGS yeah, we are like that :P
masak .oO( that's expecting qVAT a lot of a 1yo ) 09:56
shanice masak am talkin your phone number
masak shanice: yes. why in the would would I give you that?
shanice froggs where is u number 09:57
masak so we could be frens
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.
masak is not donning the op hat. yet.
mathw: :D
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.
am 18 09:59
timotimo ah, at 18 you're not allowed to murder people yet, right?
masak oh, well that puts things in a totally different light. 10:00
shanice anyways am out because nobody want to be fren
masak peace, shanice.
tadzik piano arrives in twenty minutes :o
timotimo oooh yeah! :)
shanice masak am just a female
masak \o/
tadzik I almost feel sorry for the guy, who's doomed to carry a "big package" right to my door
timotimo you can even directly start playing if you want, moritz merged my two branches recently :)
tadzik yeah, I noticed :) 10:01
Good Guy Moritz
JimmyZ I have a guitar
:P
timotimo me, too. sadly i hardly play it :(
shanice guys lata love u
tadzik yeah, guitar here too :)
JimmyZ timotimo: me too :P
masak loves to play the piano, but doesn't have one now 10:02
10:02 shanice left
masak oh! Chatmosphere! 10:02
shoulda guessed.
JimmyZ decommute
dalek kudo-js: c40628e | (Pawel Murias)++ | / (2 files):
Implement nqp::unshift. Test QASTNode.{unshift,shift,pop}.
10:07
kudo-js: abb93d9 | (Pawel Murias)++ | run (3 files):
Fix KnowHOW.HOW.name. Pass test 65.
kudo-js: b332754 | (Pawel Murias)++ | runtime/ (2 files):
Implement .methods and .attributes for metaclasses for knowhow HOW's and .name for KnowHOWAttribute.
timotimo what's special about chatmosphere?
masak timotimo: it's set up in such a way that it sometimes randomly sends new users to #perl6. 10:08
timotimo: they are our most confused newbies, ever.
timotimo oh, that's strange
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."
timotimo interesting, i'm getting the "no subtests run" thing coke mentioned 10:16
when trying a spectest on the jvm
it starts at underscores.t for me and even when i have only one test runner i get that 10:18
10:18 ivan`` left
timotimo and perhaps more interesting is that that one test runner seems to exhaust my four cores to 100% each 10:18
10:18 ivan`` joined
timotimo at least file-tests.t now passes 100% 10:19
dalek p: 5669b32 | (Pawel Murias)++ | t/nqp/53-knowhow.t:
Expand test 53 to test the inspection of the name,methods and attributes of a knowhow.
10:22 mstefanko joined
mathw jnthn: presumably, all the JVM work would also make it easier to get NQP running on .NET? 10:27
jnthn mathw: Presumably...
yoleaux 10:22Z <not_gerd> jnthn: GC with STM support the PyPy guys are building: bitbucket.org/pypy/stmgc/src/tip/c...at=default
mathw bit obvious really 10:28
I'm just very excited
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
mathw O(MG) rofl
jnthn++
obviously you're quite busy enough as it is
timotimo rel2abs: $*CWD test: got: /home/timo/build/jakudo expected /home/timo/build/jakudo/
mathw and we've got niecza anyway
timotimo is that an oversensitive test or something that actually should be fixed?
moritz I guess the third backend will be easier to add than the second 10:30
timotimo .net may end up being the fourth :)
moritz timotimo: labster should know (or tell)
timotimo the rel2abs tests before that seem to all want no / at the end
mathw what's the third? :)
timotimo moarvm, duh :)
or is my interpretation of the status of moarvm grossly wrong? 10:31
dalek p: 0d19655 | (Timo Paulssen)++ | src/vm/ (3 files):
create file{readable,writable,executable,islink} on jvm and parrot.
10:32
mathw isn't moarvm kind of the second first backend?
10:32 rindolf left
mathw or is parrot support going to remain? 10:32
moritz mathw: the current plan is to keep parrot (if parrot keeps us) 10:33
timotimo github.com/rakudo/rakudo/pull/178 - corresponding pullrequest 10:34
jnthn Well, pmurias++ is working on JavaScript support too ;)
10:34 itz_ joined
mathw suffers a brain explosion 10:38
10:41 pmurias joined
mathw I had a hard enough time getting my head around ClojureScript 10:44
Perl 6 -> JavaScript... gargh
if only browsers had a common language which was actually a sane compilation target
timotimo the js backend for perl6 is currently only targeting node.js though 10:45
mathw it's still JS though 10:47
timotimo yeah, well ... 10:48
x86 assembly is also pretty insane
so there's that
masak mathw: JavaScript as a compilation target may be less insane than you think. 10:52
I mean, JavaScript has rather big and known flaws, sure.
and certain things make it hard to optimize. 10:53
but there's been incredible progress in working around those things in the past decade.
11:00 lizmat left 11:01 lizmat joined 11:10 sqirrel left 11:20 SamuraiJack left
dalek kudo/nom: 125f458 | jonathan++ | src/vm/jvm/core/Threading.pm:
A cheating 'await', to get the API in place.
11:27
jnthn Yes, I can reproduce the jvm spectest problems here. 11:31
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:35
masak pmurias: interesting. I would love to hear more about that. 11:36
masak likes the quote at the top of 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
timotimo do you blog or have some status metric or something?
i'm interested in seeing the progress, but i have no understanding of your roadmap or where you are o nit 11:40
masak pmurias: yes, I think you should. 11:41
re the quote: it's the whirlpool again, of course. implementation and specification informing each other in a (fractally) iterative process.
pmurias timotimo: I have a blog on parrot.org, the progress reports are a bit of stream of consciousness
timotimo ah, indeed yo udo! 11:42
man, i can *not* type properly today
lack of formatting makes me a sad panda :| 11:43
pmurias timotimo: I'll describe thing more clearly in the next on next Wednesday
timotimo looking forward to it :) 11:46
dalek kudo/nom: e587d79 | jonathan++ | src/vm/jvm/core/Threading.pm:
Default to starting no threads.

Hopefully this helps the spectests.
11:47
timotimo compiles and runs a spectest 11:49
jnthn I think the problem was that it was spawning a thread per spectest that was staying around forever in the eval server... 11:50
moritz timotimo: fwiw your pull request fails to compile on parakudo 11:51
Error while compiling op fileislink: No registered operation handler for 'fileislink'
FROGGS moritz: NQP_REVISION? 11:53
timotimo oh, yes, i forgot to bump the revision!
jnthn: i'm still getting the symptom
jnthn :/ 11:55
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.
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:58
pmurias jnthn: is it known that setinvokespec works incorrectly on nqp-parrot (as opposed to nqp-jvm)? 11:59
jnthn pmurias: No
pmurias jnthn: pastie.org/8134303
can cameilia eval nopastes? 12:00
jnthn gists, I think 12:01
moritz gists only, right
timotimo jnthn: maybe move some more code from BUILD into maybe_new_thread, using the $!started_any thing?
pmurias jnthn: have you seen that nopaste? 12:02
timotimo jnthn: will $PROCESS::SCHEDULAR be replaced when the evalserver starts a new evaluation? 12:03
could it be that's not properly cleaned up?
moritz timotimo: will try bumping NQP revision and rebuilding
jnthn timotimo: Should be
pmurias jnthn: the problem is that on parrot the code ref is fetched from the incorrect attribut 12:04
e
jnthn pmurias: hm, wtf...
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
jnthn timotimo: Well, it shouldn't start any threads at all by defaul tnow 12:08
I checked that it doesnt 12:09
pmurias: I see it gives a different result on Parrot vs JVM, yeah
yeah, certainly seems wrong 12:10
timotimo is intra-file-bisecting Threading.pm 12:12
pmurias jnthn: found the bug
jnthn pmurias: oh?
jnthn is guessing it's a silly one... 12:13
pmurias jnthn: wait for the commit ;) 12:14
timotimo it's going to be face .... .... wait for it ... ... palming! 12:15
jnthn ;)
JimmyZ Good evening
timotimo okay, commenting out the bodies of all the classes made it work again
now to allow a bit of code back
masak JimmyZ: 晚上好 12:16
pmurias timotimo: ;)
JimmyZ masak: 下午好 :D 12:19
timotimo jnthn: i have a very small piece of code that still triggers the problem
jnthn timotimo: What is it?
masak :)
timotimo well, i've let only the class * {, the }, the ThreadPoolSchedular.new and my $interop and the \ := $interop.TypeForName lines stay 12:20
and it triggers
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...
dalek kudo/nom: 44b57b5 | (Timo Paulssen)++ | / (2 files):
use nqp::file{read,writ,execut}able/fileislink on parrot and jvm
jnthn That's odd
timotimo maybe the jvm doesn't like too many of the jvmbootinteropt objects to stick around
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
timotimo with only interop and semaphore it still bombs, now with only jvmbootinteropt (and then without constructing an instance)
moritz: i saw. thank you!
moritz++ # for making me seem less incompetent to people who only read the commit logs 12:23
dalek p/fix-set-invocation-spec: 30d991e | (Pawel Murias)++ | / (2 files):
Fix nqp::setinvokespec on parrot. Add a test for it.
12:24
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
timotimo ooooh, uninitialised fields? :D
12:25 ztt joined
jnthn pmurias: And of course, we got lucky with the NQP and Rakudo objects, which put the $!do in the first slot... :) 12:26
masak pmurias++ # best attribute names 12:27
moritz pmurias++ # finding and fixing it 12:28
timotimo jnthn: it still bombs when the $PROCESS::... line is commented out 12:29
jnthn timotimo: So its merely having a $interop object?
timotimo yes
jnthn sorear++ may know what's going on...
timotimo my next test after the current one will be just my $interop outside of any class 12:30
and then just nqp::jvmbootinteropt without assigning it to something
12:31 skids left
pmurias jnthn: it would be convinient to have some tool to check if given changes to nqp break rakudo 12:33
12:33 fhelmberger left
pmurias jnthn: like a 'make test-for-rakudo-breakage' 12:34
timotimo and now to make sure i have actually been running the tests correctly, i'll run with a completely empty Threading.pm 12:36
indeed, that works 12:38
sorear: echo "nqp::jvmbootinterop();" > src/vm/jvm/core/Threading.pm causes the "no subtests run" problem 12:39
12:40 konundra joined
timotimo expects sorears client to tell him that when he returns to his computer, rather than relying on the messengerbot 12:41
jnthn I think sorear++ backlogs 12:47
timotimo perfect 12:49
jnthn bbl & 13:06
lizmat cycling&
13:11 zby_home_ joined
pmurias jnthn: what do we need the curlexpad opcode in a package def? 13:29
notjack is there a built-in for signum in p6? 13:31
moritz nr: say 42.sign
camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«1␤»
notjack r: sign(-42)
camelia rakudo 44b57b: ( no output )
notjack r: say sign(-42) 13:32
camelia rakudo 44b57b: OUTPUT«-1␤»
moritz nr: say (-42).sign
camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«-1␤»
notjack For functional operations, I prefer prefix notation
for mutate-y code, I prefer postfix/dot notation
13:34 ajr joined, ajr is now known as Guest46140, Guest46140 is now known as ajr_
timotimo hey notjack :) 13:35
notjack hey timotimo 13:37
thanks for all your help yesterday, btw
timotimo sure, no problem
it gives me joy :3
notjack now I'm trying to find a bigger project to get my feet wet 13:38
considering a rosettacode task
timotimo yeah, rosettacode is a good place to start
13:39 kaleem left
[Coke] jnthn: hio 13:46
masak notjack++ # wet feet 13:47
[Coke] kicking of a new build in advance to see if it fixed it. thanks. 13:48
*off
timotimo [Coke]: it did not 13:52
you have to empty out all of Threading.pm to make it work again
[Coke] Unfortunate. 13:55
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
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␤»
notjack Perl6: partially imaginary 14:04
moritz r: say ((-1).roots(5) X** 5 X+ 1)>>.abs
camelia rakudo 44b57b: OUTPUT«6.83434005098513 5.7699043378119 5 5.7699043378119 6.83434005098513␤»
moritz r: say (((-1).roots(5) X** 5) X+ 1)>>.abs
camelia rakudo 44b57b: OUTPUT«1.22460635382238e-16 3.67381906146713e-16 6.12303176911189e-16 1.40897493325354e-15 7.65717784317888e-16␤»
notjack what is the X prefix? 14:05
moritz cross meta op
r: say <a b c> X~ (1, 2)
camelia rakudo 44b57b: OUTPUT«a1 a2 b1 b2 c1 c2␤»
moritz (~ is string concatenation) 14:06
notjack oh, cartesian product
neato
JimmyZ r: say <a b c> Z~ (1, 2) 14:08
camelia rakudo 44b57b: OUTPUT«a1 b2␤»
notjack <> is just automatically qw// ?
r qw/what does this do now/
r: qw/what does this do now/ 14:09
camelia rakudo 44b57b: ( no output )
notjack r: say qw/what does this do now/
camelia rakudo 44b57b: OUTPUT«what does this do now␤»
notjack r: say elems qw/what does this do now/
camelia rakudo 44b57b: OUTPUT«5␤»
timotimo r: say qw/what does this do now?/.perl 14:10
camelia rakudo 44b57b: OUTPUT«("what", "does", "this", "do", "now?")␤»
JimmyZ .WHAT
notjack what's the inverse of .perl? .eval? .parse? 14:11
timotimo eval
PerlJam
.oO( and why isn't it .lerp ? :)
14:13
JimmyZ lrep
PerlJam yeah, modulo my spelling errors
timotimo use monkey typing etc etc 14:14
notjack easier to just rename the language lave
14:14 btyler joined
timotimo :D 14:15
notjack r: say qw/1+2 3+4 4+5/.perl
camelia rakudo 44b57b: OUTPUT«("1+2", "3+4", "4+5")␤»
notjack r: say (qw/1+2 3+4 4+5/.perl)>>.eval
camelia rakudo 44b57b: OUTPUT«1+2 3+4 4+5␤»
timotimo the >>.eval doesn't do what you expect
notjack apparently 14:16
how do you say it?
timotimo r: say qw/1+2 3+4 4+5/>>.eval
camelia rakudo 44b57b: OUTPUT«3 7 9␤»
timotimo the .perl turns the list into a string representation
notjack right, I forgot to trim that off
duh
timotimo ;)
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.
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.
timotimo are you going to visit the sun's surface?
PerlJam masak: have an excessive amount of fun in your really warm place! ;)
JimmyZ yeah, beijing!
masak timotimo: close enough.
JimmyZ: not Beijing this time ;)
JimmyZ :P
masak & 14:18
JimmyZ masak: 旅行愉快
pmurias jnthn: ping 14:24
14:25 birdwindupbird left
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
that is, the running product moving right-to-left
timotimo [\*] $list.reverse?
maybe with a (...).reverse around it
notjack the \ part makes it "running"? 14:30
r: say [+] 1..5;
camelia rakudo 44b57b: OUTPUT«15␤»
notjack r: say [\+] 1..5;
camelia rakudo 44b57b: OUTPUT«1 3 6 10 15␤»
notjack r: say reverse [\*] reverse (2,3,5,7,11); 14:31
camelia rakudo 44b57b: OUTPUT«2310 1155 385 77 11␤»
notjack be yoo ti full
14:31 raiph joined
notjack still think there needs to be an "under" operator 14:32
so you could say [\*] under reverse (2,3,5,7,11);
dalek ecs: b841b9c | raiph++ | S05-regex.pod:
typos
notjack let's say I want to make a role "has inverse" 14:33
how do I ask "hey, you, function: do you have an inverse?"
14:34 crab2313 joined
timotimo [...] is regular reduce, "[\" is triangle reduce because it looks like a triangle 14:40
also, i don't really understand what you mean by "under" 14:41
or by "reverse"
but there's an R metaop, where A - B == B R- A
bbl, balcony time :) 14:42
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:45
notjack PerlJam: yes, that's "under" 14:46
JimmyZ There will be one in CPAN6 :)
PerlJam I figured that what's you intended :)
notjack in the general case, it's function-inverse OP function data
some funcitons, like reverse, are self-inverse
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
notjack I don't think we need a full macro 14:47
but then I barely know p6 yet 14:48
we've just been introduced
oh wait, is i true only classes have roles? 14:50
I want to stick a role on a function
JimmyZ notjack: you can does a role 14:51
notjack r: sub f(Int i) {...}; &f does booze;
camelia rakudo 44b57b: OUTPUT«===SORRY!===␤A parameter may only have one prefix type constraint␤at /tmp/Nj0lYtTeKV:1␤------> sub f(Int i⏏) {...}; &f does booze;␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix…
notjack r: sub f(Int $i) {...}; &f does booze;
camelia rakudo 44b57b: OUTPUT«===SORRY!===␤Undeclared routine:␤ booze used at line 1␤␤»
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␤===SORRY!===␤Undeclared name:␤ Role used at line 1␤Undeclared routine:␤ booze used at line 1␤␤»
moritz notjack: lower-case 'role'
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 ajr_ left
notjack ok, that's a better error 14:54
now, since f is a sub, how do I make it have a method?
FROGGS r: role booze {method invert { } }; sub f(Int $i) { }; &f does booze; 14:55
camelia rakudo 44b57b: ( no output )
FROGGS notjack: dont execute stub code
r: f() { ... }; f()
camelia rakudo 44b57b: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/UoKL3Aq05H:1␤------> f() ⏏{ ... }; f()␤ expecting any of:␤ postfix␤ infix stopper␤ in…
FROGGS r: sub f() { ... }; f()
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
notjack FROGGS: I didnt' call the stub, did I? No invocations in my code. 14:59
JimmyZ r: proto f() { ... }; f();
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) …
JimmyZ r: proto f() { ... }; 15:00
camelia rakudo 44b57b: ( no output )
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…
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␤␤»
PerlJam that's one of my favorite mini-features I think
notjack bangin'. 15:03
15:03 ajr joined, daniel-s_ joined
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
notjack: so strip the ...
notjack well, I do want the function to implment invert() 15:06
15:06 Stygia joined
FROGGS notjack: so you want that role to implement it? 15:08
15:10 rindolf joined 15:11 kaleem joined
notjack I want sub halve is invertible (Int $i) {$i/2} <maglc glue> sub inverse(Int $i) {$i*2} 15:13
moritz it won't work with quite that syntax 15:15
15:16 kaleem_ joined, kaleem left
PerlJam maybe something like: sub halve($x) is inverse({ $^x * 2 }) { $x / 2 } 15:17
or using a parameterized role: sub halve($x) does Inverse[{ $^x * 2 }] { $x / 2 } 15:18
or something like that anyway
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␤»
moritz r: sub trait_mod:<is>(&a, :$inverse!) { &a does role { method inverse($: |c) { $inverse(|c) } } }; 15:21
camelia rakudo 44b57b: ( no output )
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)
camelia rakudo 44b57b: OUTPUT«42␤»
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␤»
PerlJam the parameterized role reads better though (assuming I got the syntax right)
moritz there ya go
notjack I like the parameterized role thing 15:23
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«===SORRY!===␤Missing block␤at /tmp/EWGe3FUpkr:1␤------> method role ⏏Inverse[&i] { method inverse($: \c) { i ␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»
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)
camelia rakudo 44b57b: OUTPUT«any(0+1i, 21)␤»
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)
camelia rakudo 44b57b: OUTPUT«42␤»
moritz ambigous use i (imaginary constant) 15:26
PerlJam yeah, it's still surprising.
notjack where did the i come from?
15:27 ztt left
PerlJam notjack: that was the parameter moritz used in the roel 15:27
er role
moritz r: say i
camelia rakudo 44b57b: OUTPUT«0+1i␤»
notjack r: say i, i, i, i #one more magarita 15:28
PerlJam r: say i()
camelia rakudo 44b57b: OUTPUT«0+1i0+1i0+1i0+1i␤»
rakudo 44b57b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&i' called (lines 1, 1)␤»
moritz likes :&inverse! as a named param
notjack hmm 15:29
r: say i > 1;
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 …
notjack r: say i > 2*i;
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 …
notjack hmm, the first failure is legit
the second is confusing
timotimo right, > tries to coerce 0+1i to a real, but it can't be coerced, because complex doesn't do real 15:30
doesn't do num* (?)
15:31 kaleem_ left 15:32 FROGGS[mobile] joined 15:34 domidumont left 15:35 domidumont joined 15:36 FROGGS left
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…
notjack r: say Inf/Inf 15:38
camelia rakudo 44b57b: OUTPUT«NaN␤»
notjack r: say Inf-Inf
camelia rakudo 44b57b: OUTPUT«NaN␤»
notjack r: say Inf*i 15:39
camelia rakudo 44b57b: OUTPUT«NaN+Inf\i␤»
notjack r: say 0+Inf*i
camelia rakudo 44b57b: OUTPUT«NaN+Inf\i␤»
[Coke] seems like those should just be NaN. 15:42
but then, I am old school enough to wonder why we have complexes in the core. :) 15:43
notjack they're surprisingly useful 15:45
once you have them
PerlJam I haven't used them yet.
15:45 Stygia left
notjack I'm coming from J. They're built-in there too. 15:46
only we spell 3+4i as 3j4 15:48
(as in EE circles)
PerlJam didn't know that EE people used that notation
15:50 birdwindupbird joined, FROGGS joined
[Coke] I studied ee in school and never saw that. but I haven't done any real ee work... ever. 15:51
ooh, lunchies.
TimToady is %j taken in sprintf?
well, you'd probably want to do the parts of it separately anyway... 15:52
complex numbers are in there for various reasons 15:53
they're rather important to a sizeable subset of the programmers
they tend to fit oddly into a language if not designed in
Perl 6 doesn't require people to say "use Math" and such
and they're not all that hard to do 15:54
notjack in Soviet Perl 6, Math use U!!
PerlJam "fit oddly if not designed in" is the most important bit I think.
similar to threads
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:55
TimToady is this the "everything must be useful for everyone" argument? :) 15:56
not all Americans use Unicode, but that's in there too
15:56 FROGGS[mobile] left
notjack yeah, but all Ämericans use Unicode 15:56
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 :)
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 ;)
gfldex: suddenly I feel like I'm in a Dr. Seussian conversation.
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
TimToady there are many sense in which complex numbers are much more fundamental to your existence than Unicode is 16:00
*senses
QM, electronics, etc 16:01
timotimo complex numbers can also be abused as coordinates into 2-dimensional cartesian space :)
they come with + and - operations already out of the box! and you can even easily swap the sign of the second parameter with .conj
PerlJam heh
TimToady I'll Mandel your Brot and your little dog too!
timotimo and it has an operator for length-of-vector, too
16:02 crab2313 left, kivutar left, colomon joined, crab2313 joined
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" ;)
TimToady: ah, that's it then ... I have no imagination.
notjack rn: say 3-7i.abs(); 16:04
gfldex it has to be a pretty big robot to kill you tho
camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«-4␤»
PerlJam gfldex: kill me?!? Why would I want to kill *myself*?
notjack how is that -4?
timotimo i was just wondering that myself
gfldex because it's better then to kill others with your mad robot experiments?
timotimo probably 7i.abs
r: say (3-7i).abs
camelia rakudo 44b57b: OUTPUT«7.61577310586391␤»
timotimo yup. 16:05
PerlJam notjack: abs isn't doing what you think it's doing
TimToady solipsist: someone whose world revolves around their helicoptor
notjack that's better
so, wait, is 3-7i is not atomic notation for a complex number, it's actually (3-(7i)
?
ok, I can see that
TimToady nr: say <3-7i>
camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«3-7i␤»
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
TimToady nr: say <3-7i>.abs
camelia niecza v24-86-g39ab531: OUTPUT«7.6157731058639087␤»
..rakudo 44b57b: OUTPUT«7.61577310586391␤»
notjack rn: say (3-7i).sign
TimToady oh-oh, they disagree
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…
..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…
TimToady notjack: (3-7i) works too, but relies on constant folding; <3-7i> is the approved literal form 16:07
notjack what exactly is <> ?
PerlJam niecza's error is perhaps the one that should be given when you try to ask 2 > i
TimToady it's an abused qw
moritz r: 7.6157731058639087 - 7.61577310586391
camelia rakudo 44b57b: ( no output )
moritz r: say 7.6157731058639087 - 7.61577310586391
camelia rakudo 44b57b: OUTPUT«-0.0000000000000013␤»
notjack PerlJam: agreed
PerlJam: or, maybe cleaner, Mu 16:08
TimToady we also have literal Rats
say <22/7>.floor
nr: say <22/7>.floor
camelia rakudo 44b57b, niecza v24-86-g39ab531: OUTPUT«3␤»
PerlJam
.oO( I always wonder where the Ships are that carry the Rats )
TimToady the Rats come in Parcels these days 16:09
notjack complex.sign should be (real.sign)+i*(imaginary.sign) 16:11
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
... which I've never found useful
16:14 kivutar joined, PerlJam left 16:15 Util left, dalek left, synopsebot left 16:20 dalek joined, ChanServ sets mode: +v dalek, Juerd joined, masak joined 16:21 PerlJam joined, hugme joined, ChanServ sets mode: +v hugme, Util joined, [Coke] joined, synopsebot joined 16:22 tadzik joined 16:23 vk joined, camelia joined 16:24 domidumont1 joined, ChanServ sets mode: +v camelia 16:25 domidumont left
colomon notjack: we already have that, but it's called .... 16:28
errr .... 16:29
moritz $c && $c / $c.abs
16:30 crab2313 left 16:31 domidumont1 left
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…
..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…
TimToady Cool!
colomon spectacular! 16:36
16:36 PacoAir joined
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.
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…
colomon moritz: it's definitely not in the source now, I checked
nor in niecza
16:43 vk_ joined 16:44 DrEeevil joined 16:46 mikemol_ joined, pecastro_ joined
dalek kudo/nom: 2eb3d1d | (Solomon Foster)++ | src/core/Num.pm:
Add JVM wrapper around code only needed for JVM.
16:48
16:49 robins joined 16:50 vk left, grondilu left, skids left 16:52 colomon left 16:57 skids joined 16:58 vk_ left
moritz off-topic question: does anybody know a good way to speed up this SQL query when the 'NOT EXISTS' mostly returns false? github.com/moritz/ilbot/blob/norma....mysql#L13 16:59
it would reduce the downtime of the IR Clogger
notjack moritz: change LIKE '#%' to LIKE '#asldjasldjasldjas' 17:00
17:00 lizmat_ joined
moritz notjack: a 'SELECT 1;' would also be faster, but still doesn't do what I want 17:00
17:02 dmol1 joined 17:03 skids_ joined, bonsaikitten joined
moritz MJD#11963 applies :-) 17:03
17:04 lizmat left, ajr left, dmol left, skids left, DrEeevil left
TimToady pity the ir clog thinks that's an RT ticket... 17:04
moritz I guess I should start mjd.perlgeek.de :-) 17:07
17:08 robins is now known as robinsmidsrod 17:10 spider-mario joined 17:16 birdwindupbird left
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:19
17:25 domidumont joined
FROGGS ha, hacking at 7:55 on file permissions is kinda funny 17:25
err
hold on, that is my remaining accu power -.-
moritz that's great, if it's in H:MM format :-) 17:26
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
I bought an extended one and a bay accu for yapc::na
17:30 daxim left 17:34 abnorman joined 17:37 bruges joined
itz_ is it Christmas yet? 17:54
moritz it's partial christmas 17:55
PerlJam itz_: it's christmas every day here
timotimo moritz: do you have something similarly easy to fix as heredoc trimming? 18:05
18:09 rindolf left 18:10 SamuraiJack joined
[Coke] .ask colomon if github.com/rakudo/rakudo/commit/2e...4f109fb44e 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.
PerlJam www.kickstarter.com/projects/smogbe...-of-dr-dem 18:46
dalek rl6-roast-data: 17a0bc5 | coke++ | / (4 files):
today (automated commit)
18:48
18:49 bluescreen10 joined 18:51 woolfy left 18:55 domidumont left 19:06 Rotwang1 joined
[Coke] .seen sorear? 19:13
yoleaux I haven't seen sorear? around.
[Coke] .seen sorear
yoleaux I saw sorear 05:15Z in #perl6: <sorear> Yep
[Coke] wonders what we could do to make that say "x hours ago" instead. 19:14
.time
.date
.help
yoleaux [Coke]: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
[Coke] .t
yoleaux Fri, 12 Jul 2013 19:14:51 UTC
[Coke] .suggest perl6 is the 19:15
yoleaux No suggestions for perl6 is the.
[Coke] .suggest perl is
yoleaux Perhaps perl is: is~a, ~numeric, ~number, ~dead, ~directory, ~array, ~defined, is~_deeply, ~hash, ~integer
[Coke] .suggest perl6 is
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
[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 bruges left
[Coke] stops poking the bot with a stick. 19:17
timotimo Preceded by
Perl 5Versions of PerlMost recent
what? but that's wrong, isn't it? 19:18
en.wikipedia.org/wiki/Perl_6 <- at the very bottom
19:18 sqirrel left, kaare__ joined
[Coke] timotimo: yes. I'll remove that. (there is no corresponding thing at the bottom of p5) 19:21
timotimo thanks 19:23
[Coke] done 19:24
timotimo donke :)
[Coke] en.wikipedia.org/wiki/Perl_6_rules - This is the grammar used to define Perl's sprintf string formatting notation. 19:25
butte.
19:37 mdxi joined 19:38 mdxi left, sitaktif joined
timotimo it feels like the perl6 wikia is pretty vestigious? 19:40
"to install rakudo perl6, install a linux virtual machine or get cygwin"
[Coke] ... what is "the perl6 wikia" ? 19:41
benabik perl6.wikia.com/wiki/Perl6_Wiki
19:48 araujo joined
[Coke] no attribution on edits, no indication of when edits happened. 19:48
ah, history.
yah, it's old.
timotimo there were two spelling fixes in june or july
benabik User pages have dates on edits.
19:53 stevan_ left 19:58 raiph left
notjack perl6: eval 'have you stopped beating your wife?' 20:03
camelia niecza v24-86-g39ab531: OUTPUT«Unhandled exception: Confused at (eval) line 1:␤------> have you stopped beating your wife⏏?␤␤ 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…
..rakudo 2eb3d1: OUTPUT«===SORRY!===␤Two terms in a row␤at eval_0:1␤------> have you stopped beating your wife⏏?␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ …
notjack no, camelia, the answer to that question is 'Mu' 20:04
20:04 bluescreen10 left
itz_ why does "for (1..1000) -> my $i" not work? 20:06
20:06 stevan_ joined 20:07 raiph joined
FROGGS itz_: the 'my' is implicit 20:07
and a block must follow 20:08
-> $i { } # that is called a point block, which is pretty much the same as a subroutine 20:09
pointy block*
20:10 kaare__ left
timotimo FROGGS: are you going to make nqp crosscompile itself onto moarvm soon? :) 20:11
FROGGS timotimo: I dont think I can do that :o) 20:12
but I can obviously add ops, so I do that
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
timotimo: I have no idea tbh
timotimo oke
MourVM
FROGGS hehe
timotimo huh, the wikibook for perl6 calls phasers "property blocks", is that canon anywhere? 20:17
FROGGS never heard of it
20:20 SamuraiJack left
PerlJam ack says S06 mentions the term. 20:27
S06:2744 20:28
synopsebot Link: perlcabal.org/syn/S06.html#line_2744
[Coke] timotimo: I would trust nothing that is on a wikia or a wikibook. :)
timotimo are wikibooks that bad? 20:31
FROGGS no, just be careful and dont believe everything written 20:34
[Coke] timotimo: no, no. Just that the perl6 stuff that isn't generated by people on this channel is often stale 20:36
I blame all the spec change log. 20:37
timotimo agreed
notjack the problem is Google doesn't know that 20:42
20:52 vk joined
sahadev can someone point me to some documentation about ":="? 20:52
notjack =:= is container (i.e. memory address) equivalence 20:54
don't know :-
:=
FROGGS binding 20:55
PerlJam sahadev: S03:2252
synopsebot Link: perlcabal.org/syn/S03.html#line_2252
20:55 spider-mario left
FROGGS r: my $a = "a"; my $b := $a; say $b; $a = "z"; say $b 20:55
camelia rakudo 2eb3d1: OUTPUT«a␤z␤» 20:56
sahadev PerlJam: thanks
20:57 konundra left 20:58 stevan_ left 20:59 revdiablo joined, revdiablo left 21:01 revdiablo joined 21:02 skids_ left 21:10 revdiablo left, notjack left 21:11 revdiablo joined, revdiablo left 21:12 revdiablo joined 21:13 stevan_ joined 21:18 Lorn joined 21:20 census joined 21:28 stevan_ left 21:30 zby_home_ left 21:31 kingbeast joined 21:39 stevan_ joined
timotimo anyone feel like implementing a clone of www.destroyallsoftware.com/blog/20...e-them-all in perl6? 21:39
21:39 ssutch joined
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? www.destroyallsoftware.com/blog/20...e-them-all 21:40
ssutch timotimo lolwut? 21:44
that's hilarious
benabik That's something all right.
lue timotimo: that sounds like a job for the most-derived class, Um :P 21:45
geekosaur which sounds appropriate
timotimo :D
lue (it actually shouldn't take too many language features to implement. I expect MOP to be involved.) 21:46
timotimo indeed 21:47
i feel tired. i won't implement anything more today i think
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
but that seems like a huge thing
21:49 benabik left 21:55 kivutar left
ssutch what does those push notices for this channel? 21:58
is it ilbot?
timotimo pmurias: how much ram does a node.js process with an nqp repl or nqp-compiled program in it use, roughly? 21:59
21:59 konundra joined 22:01 vk left, TimToady joined 22:07 colomon joined
dalek kudo/nom: 0562424 | (Solomon Foster)++ | src/core/Num.pm:
Workaround for % bug.

This can surely be done more efficiently, but for now this works.
22:07
ast: 9119a79 | (Solomon Foster)++ | S03-operators/arith.t:
Unfudge tests for rakudo.jvm.
22:09
ast: bfefc54 | (Solomon Foster)++ | S32-num/power.t:
Add tests for for 1e0 ** bigint.

Particularly test that the type is correctly a Num.
22:19
pmurias timotimo: how should I measure this? 22:21
timotimo guess
:P
would an empty perl6 repl likely end up at about 150 mb of resident memory usage?
like on parrot or the jvm?
dalek kudo/nom: 00cd347 | (Solomon Foster)++ | src/core/Num.pm:
Return proper type from infix:<**> patch.

  moritz++ for spotting this one.
22:22
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
pmurias timotimo: for a repl that is
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:25
ggoebel moritz: have you tried something like: 22:26
SELECT channel
FROM irclog il
LEFT JOIN ilbot_channel ic
ON 1=strpos(il.channel, '#')
AND il.channel = ic.channel
WHERE ic.channel IS NULL
GROUP BY channel
;
pmurias timotimo: for the compiler or generated programs? 22:28
22:28 colomon_ joined
timotimo well, can you have a running program without the compiler? 22:28
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:29
22:30 colomon left, colomon_ is now known as colomon, kst` is now known as kst
pmurias timotimo: if you don't use eval you don't need the compiler 22:30
timotimo: currently memory usage for 'while 1 {}' in nqp is under 32M, when running as a precompiled javascript program 22:32
* 33M 22:33
timotimo: do you want to develop on rasberry pi or just deploy code? 22:35
22:36 PacoAir left
timotimo deploy code. it's about having a nice language (as in: not java) to do some SocketCAN thingies 22:39
22:39 mls left, mls joined
pmurias under 100M for rakudo-js would be a rough guess 22:40
timotimo that's a bit too much :(
were you saying there's a way to have the compiler actually be missing from a running perl6 process with rakudo on some of the backends? 22:41
22:41 _ilbot joined
pmurias timotimo: if we give up on eval and similiar things it should be possible to get rid for stuff like the parser 22:42
timotimo but the code to do that is yet to be written, yes? 22:43
pmurias think so
timotimo OK
pmurias timotimo: how much memory usage is acceptable? 22:44
timotimo like ... 60 megs max? :|
22:44 Rotwang1 left 22:45 snoopy joined
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:46
timotimo: I wouldn't count on getting under 7 megs under node.js for sure as 'while (1) {}' in js uses that 22:47
22:49 konundra left 22:52 berekuk left 22:53 benabik joined, berekuk joined
timotimo mhm 22:54
pmurias timotimo: do you consider nqp a nice language? 22:55
timotimo it's an okay language
the lack of a debugger makes it a bit annoying to work in it 22:56
22:57 skids_ joined
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 github.com/rakudo/rakudo/commit/2e...4f109fb44e is not better put at the pow op level in nqp rather than in rakudo?
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:00
I suppose we could add one, I don't know how the performance trade-off would work out... 23:01
timotimo :is-inlinable(1) and be done with it :) 23:03
colomon maybe? I certainly do not understand the tradeoffs.
o/ # back to the cabin for some cards... 23:05
23:05 colomon left, benabik left 23:15 konundra joined 23:20 berekuk left 23:26 fridim_ joined 23:30 btyler left 23:37 benabik joined 23:54 pmurias left, benabik left