Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-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:01 stevan_ joined #perl6
00:04 stevan__ joined #perl6
00:05 dalek Perlito: 7b453fd | (Flavio S. Glock)++ | / (5 files):
00:05 dalek Perlito: Perlito5 - fix statement modifiers
00:05 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/7b453fdb79
00:07 hacker joined #perl6
00:12 Psyche^ joined #perl6
00:15 stevan_ joined #perl6
00:20 jnap joined #perl6
00:21 dalek Perlito: 896a405 | (Flavio S. Glock)++ | / (3 files):
00:21 dalek Perlito: Perlito5 - js - emitter cleanup
00:21 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/896a4052b8
00:31 Vlavv` joined #perl6
00:56 thou joined #perl6
01:09 pernatiy joined #perl6
01:11 pernatiy joined #perl6
01:36 colomon joined #perl6
02:46 btyler joined #perl6
03:00 fridim__ joined #perl6
03:13 preflex joined #perl6
03:40 btyler joined #perl6
04:11 pernatiy joined #perl6
05:01 moritz preflex: karma lizmat
05:01 preflex lizmat: 174
05:05 Mouq r: my \| = "test"
05:06 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/HlcmJ7Xd2Gâ�¤Malformed myâ�¤at /tmp/HlcmJ7Xd2G:1â�¤------> [32mmy [33mâ��[31m\| = "test"[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
05:06 Mouq std: my \| = "test"
05:06 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed my at /tmp/8xGB15BKHv line 1:â�¤------> [32mmy [33mâ��[31m\| = "test"[0mâ�¤    expecting any of:â�¤    nameâ�¤   scoped declaratorâ�¤      statement endâ�¤  statement listâ�¤Parse failedâ�¤FAILED 00:01 41mâ�¤Â»
05:13 [Sno] joined #perl6
05:19 SamuraiJack joined #perl6
05:20 panchiniak_ joined #perl6
05:37 Mouq r: $*PID++; say $*PID # Hmm
05:37 camelia rakudo 69c3cc: OUTPUT«8494␤»
05:37 Mouq r: say $*PID++; say $*PID # Hmm
05:37 camelia rakudo 69c3cc: OUTPUT«8499␤8500␤»
05:46 dmol joined #perl6
06:06 zakame joined #perl6
06:08 xinming joined #perl6
06:14 rhr joined #perl6
06:19 diakopter Mouq: :)
06:24 ggoebel2 joined #perl6
06:26 kaleem joined #perl6
06:26 FROGGS joined #perl6
06:54 iSlug joined #perl6
06:55 pupoque joined #perl6
06:59 pupoque joined #perl6
07:05 dmol joined #perl6
07:05 qiyong joined #perl6
07:05 qiyong rakudo is a compiler and interpreter?
07:05 domidumont joined #perl6
07:07 moritz qiyong: didn't we discuss this topic this week already?
07:08 qiyong moritz: no
07:08 qiyong i was told rakudo is a compiler
07:08 qiyong i wonder if it's a interpreter too
07:09 zakharyas joined #perl6
07:09 moritz qiyong: the lines between compiler and interpreter are somewhat blurry
07:10 FROGGS I was about to ask what the difference is
07:10 FROGGS morning btw
07:10 moritz in the very early days, interpreters would only parse the code as they executed it
07:11 FROGGS moritz: somewhat like php?
07:11 moritz in that sense, rakudo isn't an interpreter. It compiles the whole source code to an AST, compiles that AST to bytecode, and runs the bytecode
07:11 moritz FROGGS: I have no idea how PHP works or worked
07:11 moritz TCL was a classical example
07:11 FROGGS well, hmm
07:11 qiyong i typed perl6 and got a prompt
07:11 qiyong what is it waiting now?
07:12 moritz on the other hand, users tend to think of programs as interpreters when they don't need seprate compile and execute steps. In that sense, rakudo is an interpreter
07:12 moritz qiyong: code
07:12 FROGGS forget about php, I was thinking it only compiles the current file, but I was mising it up since php only has `require`, not use
07:13 arnsholt qiyong: That's the REPL, it's for quickly testing and prototyping things
07:13 FROGGS qiyong: it offers an interactive shell if you dont give it a script to execute
07:14 qiyong repl?
07:14 FROGGS read–eval–print loop (REPL)
07:14 bonsaikitten TCL is the classical example of an interpreter
07:14 qiyong p5, p6, which is easier to use?
07:14 bonsaikitten iirc php already "compiles" to bytecode (like python and java and most others)
07:14 FROGGS I'd say P6
07:14 FROGGS because it is a bit saner than P5
07:15 bonsaikitten in terms of documentation / tutorials / ... P5 should be easier to access
07:15 FROGGS the programming language that is
07:15 FROGGS if you talk about which do I might have on my box already (or a foreign box), then it is clearly P5
07:15 qiyong so all new projects should choose p6
07:16 FROGGS depends on the task
07:16 FROGGS that is, you should always think about which programming language to choose for what purpose
07:17 qiyong what python is good at and perl not?
07:17 qiyong and vice verse
07:17 FROGGS I probably would use P5 for a cronjob oneliner...
07:18 FROGGS qiyong: you might want to ask masak or tadzik about that, since I know nothing about python
07:18 FROGGS *lol* </insider>
07:18 qiyong FROGGS: what else do you know? besides perl
07:18 FROGGS C, PHP, JavaScript, TurboPascal
07:18 FROGGS hmmm
07:19 FROGGS C++ ten years ago
07:19 qiyong TurboPascal is dead
07:19 * JimmyZ guesses qiyong is a student
07:19 FROGGS I still know it :o)
07:19 qiyong JimmyZ: pourquoi
07:19 qiyong FROGGS: do you use it?
07:19 FROGGS no
07:19 FROGGS ahh, and I'm forced to know and use VBA
07:20 FROGGS and btw, I didn't say HTML because it is not a programing language </rage>
07:21 qiyong what about HTML5?
07:21 FROGGS had no time/interest to get in touch with it yet
07:22 qiyong for a modern website project, what framework is good ?
07:22 qiyong python's, ruby's perl's?
07:22 tadzik oh, the compiler/interpreter problem
07:22 tadzik always so much fun
07:23 tadzik I don't think any alive language still uses an interpreter, so I'd say the term needs a redefinition of sorts
07:23 tadzik or at least for a purpose of all those discussions
07:23 nebuchadnezzar joined #perl6
07:23 FROGGS qiyong: the one that fits your needs and the one you like/understand most
07:24 qiyong suppose i know non of them
07:24 FROGGS qiyong: just read an introduction to the popular ones of each language and look at the feature matrix
07:24 JimmyZ MoarVM use an interpreter, there is an interp.c file
07:24 JimmyZ :P
07:24 FROGGS :P
07:24 qiyong are perl sites still populer?
07:24 tadzik at some point you always have an interpreter, even if it's in the CPU :)
07:25 moritz qiyong: seems like. bbc.co.uk for example. Or booking.com
07:26 JimmyZ and ticketmaster.com
07:26 qiyong moritz: how do you know bbc uses perl?
07:26 FROGGS this is what I call user-friendly btw: http://www.template-toolkit.org/
07:26 FROGGS (the website itself)
07:26 * mathw writes sites in Perl, occasionally
07:29 mathw I don't really have a favourite language for it, as all the ones I've done serious work in have their own advantages and their own problems
07:29 moritz qiyong: a rather prominent figure from the perl community worked for the BBC on their website
07:29 mathw Lovefilm was all in Perl at one point, not sure about now but I was offered a job interview there as a Perl dev and told that their whole backend, warehousing, website and everything was Perl at the time.
07:30 mathw Of course the recruiter might have been lying, they do that sometimes.
07:30 Rotwang joined #perl6
07:32 bonsaikitten that company name is about as bad as it gets :)
07:32 domidumont joined #perl6
07:32 * bonsaikitten took a while to realize that they are not, as the name suggests, erm, 'adult' material
07:33 moritz bonsaikitten: same here
07:33 tadzik you dirty minds, you
07:33 tadzik I just thought about Hippies
07:33 tadzik but speaking of which, youporn was running on Perl for quite a time
07:34 moritz and a newer cool but not quite so popular perl project: lacuna expanse
07:49 teslos joined #perl6
07:55 qiyong is perl suitable for web2.0?
07:55 bonsaikitten of course
07:55 moritz is qiyong suitable for bullshit bingo?
07:57 lizmat joined #perl6
07:59 woolfy left #perl6
07:59 ryanf joined #perl6
08:00 ryanf left #perl6
08:00 ssutch joined #perl6
08:00 tadzik :)
08:03 woolfy joined #perl6
08:04 FROGGS qiyong: ooc, do you know what web2.0 is?
08:04 qiyong FROGGS: not quite
08:06 FROGGS qiyong: web2.0 basically reduces down to some javascript support of your web browser, it has not much to do with the  server-side programming language
08:08 FROGGS (web2.0 is just that you click something on a webpage, and due to some javascript magic you only fetch some data from the server and replace parts of the website's content for example)
08:08 dalek Perlito: fa4c162 | (Flavio S. Glock)++ | / (5 files):
08:08 dalek Perlito: Perlito5 - AST tweak - statement modifiers
08:08 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/fa4c162b15
08:09 iSlug joined #perl6
08:10 JimmyZ r: say "web1.0" ... "web9.0"
08:10 camelia rakudo 69c3cc: OUTPUT«web1.0 web2.0 web3.0 web4.0 web5.0 web6.0 web7.0 web8.0 web9.0␤»
08:10 JimmyZ r: say "web1.0" ... "web10.0"
08:10 camelia rakudo 69c3cc: OUTPUT«(timeout)»
08:11 FROGGS r: say "web1.1" ... "web9.9"
08:11 JimmyZ r: say "web01.0" ... "web10.0"
08:11 camelia rakudo 69c3cc: OUTPUT«(timeout)»
08:11 camelia rakudo 69c3cc: OUTPUT«web01.0 web02.0 web03.0 web04.0 web05.0 web06.0 web07.0 web08.0 web09.0 web10.0␤»
08:16 apejens joined #perl6
08:16 mberends joined #perl6
08:17 tadzik JimmyZ the prophet
08:17 tadzik Web 2.0 = HTML5 - CSS3
08:22 mathw web 2.0 = largely meaningless label
08:22 moritz just like "cloud"
08:25 dmol joined #perl6
08:25 jnthn morning, #perl6
08:26 moritz \o jnthn
08:27 masak morning, #perl6!
08:29 poor_soul joined #perl6
08:29 mathw moritz: just put it in the cloud, and we won't have to worry about it anymore! Set your data free!
08:30 jnthn .oO( The best place to host a Web 2.0 app is in my butt... )
08:30 moritz mathw: funny enought, my employer does "cloud" stuff too :-)
08:30 moritz *enough
08:30 FROGGS moritz: exactly # cloud
08:30 FROGGS hi jnthn, masak o/
08:31 FROGGS jnthn: you make me post that link again? :P
08:32 jnthn FROGGS: aarrgh, no!
08:33 FROGGS *g*
08:33 masak jnthn: in your... WHAT WHAT?
08:33 FROGGS I've even seen the making of O.o
08:33 FROGGS hehe
08:33 masak haha
08:33 mathw moritz: at my last job whenever we ran into some kind of problem with data storage we'd say "let's just put it in the cloud!", laugh, make a cup of tea and sit down with a giant sheet of paper and some pencils to come up witht he actual solution. Thus, an alien observing us would've concluded that "put it in the cloud!" means "let's discuss the problem over a cup of tea"
08:34 FROGGS jnthn: what t-shirt size do you wear? (there might be sammy rockwell shirt available online as a gift)
08:34 FROGGS shirts*
08:35 * FROGGS .oO( The Ghost-Shirt of Christmas' Future )
08:35 tadzik shame this song has almost no music, otherwise I'd learn to play it
08:36 FROGGS tadzik: sad that I am unable to play a resican flute
08:36 FROGGS we could play a duet in a jeffey's tube otherwise
08:37 tadzik there can be only one
08:37 FROGGS jeffrey's*
08:37 tadzik oh yes, with the roll-up piano
08:37 FROGGS yeah
08:37 FROGGS that song is le awesome
08:37 FROGGS can you play it?
08:37 tadzik the Ressikan Flute? I don't think I ever tried
08:37 FROGGS I mean, I remember it was pretty simple
08:37 tadzik but I was actually inspired by that episode
08:38 tadzik "hey, Picard can improvise on a flute, I should be able to do that to"
08:38 FROGGS Picard++ # I love this "man"
08:38 tadzik and those tips that his crush (heh, almost Crusher) gives is, while it sounds obvious, is actually quite useful too
08:39 tadzik s/gives is/gives him/
08:39 tadzik "play this and then start adding random notes when you feel like it"
08:39 FROGGS yeah
08:39 tadzik that both makes sense and works quite well
08:39 poor_soul r: class A {our constant b = 5;}; my A $a .= new; say A::b #This should work
08:39 camelia rakudo 69c3cc: OUTPUT«5␤»
08:39 FROGGS I played guitar like 13 years ago, but I sold it unfortunately :/
08:40 poor_soul r: class A {our constant b = 5;}; my A $a .= new; say $a::b #Why this doesn't?
08:40 camelia rakudo 69c3cc: OUTPUT«(Any)␤»
08:40 tadzik aw
08:40 tadzik I was never able to "feel" the guitar
08:40 tadzik I can play stuff from the notes, but not so much from my head, if you know what I mean
08:40 * mathw had lute lessons for a short period
08:40 * mathw also dabbles on the ukulele, but has never played a guitar
08:40 tadzik it works quite well for me with the piano or even the recorder (?)
08:41 tadzik no, not a recorder
08:41 tadzik harmonica, that's the wor
08:41 tadzik d
08:41 mathw mmm yes they're quite different
08:41 mathw particularly in that I can play the one, but not the other :)
08:41 tadzik I used to play the recorder too :o
08:41 tadzik they taught us that in primary school
08:41 mathw me too
08:41 tadzik I wonder if they do that in every country
08:41 dakkar joined #perl6
08:42 mathw I've got a lesson tomorrow, need to practice
08:42 mathw doing my grade 8 exam this year
08:42 tadzik I remember getting a 6 (the highest possible grade) for learning to play the Star Wars theme on it
08:42 mathw :)
08:42 mathw nice
08:42 tadzik coincidentally, it was a year before I was sent to music school :)
08:42 tadzik I need to ask my parents if that was a coincidence
08:42 mathw I doubt it had absolutely nothing at all to do with it
08:42 mathw in that it demonstrates some level of musical ability...
08:43 tadzik apparently
08:43 tadzik or at least some mana for it
08:45 mathw I think my highest musical achievement at school was learning to play the Wombles theme on the recorder
08:46 mathw Wish I'd done more then, but the environment didn't really encourage it and I was very put off by an awful violin teacher, so I dropped music again until I was 23 or so. So glad I picked it up again...
08:47 tadzik story similar to mine
08:47 masak that awful violin teacher gets around.
08:47 tadzik I almost entirely stopped playing after finishing the music school, but I think that was mostly due to the fact that I was fed up with attending 2 schools at once
08:48 tadzik and now I'm 22 and I started to relearn things because I'm old enough to appreciate them
08:48 mathw yeah
08:49 mathw masak: apparently. It's a shame, but at that time I did the violin because it was available, not because I particularly wanted to play it. I didn't know, then, about folk-style fiddle music
08:49 mathw if someone had taught me that...
08:49 tadzik I had this thought "gee, I need some hobby/skill other than computers... oh wait, I *do* have some..."
08:49 mberends joined #perl6
08:49 mathw these days I don't think I'll learn the violin. I consider it from time to time, but... time. I already play too many things. And I still don't have any bagpipes, or a nyckelharpa.
08:50 tadzik mathw: I often wonder how different my music education would be if someone showed me Tim Minchin and Richard Cheese instead of Mozart and Chopin
08:51 masak :)
08:51 tadzik if I knew that I can have fun myself, and not only amuse the audience. I was a bit too young to appreciate classical music back then
08:51 poor_soul is it ok for this to crash?
08:51 poor_soul r: enum A (a=>3,b=>10,c=>1); class B { BEGIN for A.enums.kv -> $k, $v { our $k ::= $v }; }; say B.b
08:51 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
08:51 tadzik certainly not in this way
08:52 masak poor_soul: certainly not ok.
08:52 * masak submits rakudobug
08:52 moritz tadzik: maybe http://www.youtube.com/watch?v=KZ4ZNbiO15M will amuse you # Victor Borge, "A Mozart Opera"
08:52 jnthn Shouldn't crash, but I'm not sure I know what it should do either :-)
08:52 mathw "Null PMC access" is always a bug, IIRC
08:52 moritz overwriting B::k with each enum value in turn doesn't sound too useful
08:53 moritz mathw: with one exception...
08:53 moritz r: say nqp::null()
08:53 jnthn moritz: yes :)
08:53 camelia rakudo 69c3cc: OUTPUT«(Mu)␤»
08:53 moritz oh
08:53 jnthn haha
08:53 moritz r: nqp::say(nqp::null())
08:53 camelia rakudo 69c3cc: OUTPUT«Null PMC access in get_string()␤  in block  at /tmp/SXa_pNMoV4:1␤␤»
08:53 mathw moritz: that... that doesn't count
08:53 jnthn It actually knows how to turn null => Mu in places, which makes it harder to get a NPMCA :)
08:53 poor_soul i was trying to find a way to declare constants in a class based on a enum
08:53 mathw you caused that one deliberately
08:54 jnthn poor_soul: Does declaring the enum in the class not do it? :)
08:54 fhelmberger joined #perl6
08:54 poor_soul jnthn: it does only partially, since if i want to use it, i need to put the name of the enum
08:55 masak r: enum A (a=>3); class B { BEGIN for A.enums {} } # golf'd
08:55 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
08:55 jnthn r: class A { enum B <c d e>; method m() { say e } }; A.m
08:55 camelia rakudo 69c3cc: OUTPUT«e␤»
08:55 jnthn r: class A { enum B <c d e>; method m() { say +e } }; A.m
08:55 camelia rakudo 69c3cc: OUTPUT«2␤»
08:55 masak ooh, in fact...
08:55 jnthn Short names seem to work to me.
08:55 masak r: enum A (a=>3); BEGIN for A.enums {}
08:55 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
08:56 jnthn r: enum A (a=>3);
08:56 SamuraiJack_ joined #perl6
08:56 camelia rakudo 69c3cc:  ( no output )
08:56 jnthn r: enum A (a=>3); BEGIN A.enums
08:56 camelia rakudo 69c3cc:  ( no output )
08:56 jnthn r: enum A (a=>3); BEGIN A.enums.perl.say
08:56 camelia rakudo 69c3cc: OUTPUT«("a" => 3).hash␤»
08:56 jnthn r: enum A (a=>3); BEGIN { for A.enums { }; 1 }
08:56 camelia rakudo 69c3cc:  ( no output )
08:56 jnthn r: enum A (a=>3); BEGIN { for A.enums { } }
08:56 camelia rakudo 69c3cc:  ( no output )
08:57 jnthn r: enum A (a=>3); BEGIN for A.enums { }
08:57 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Null PMC access in get_bool()␤»
08:57 jnthn wow...you need the blockless form to trigger it.
08:58 poor_soul basically, i would like to turn 'class B { enum A (a=>3,b=>10,c=>1);}; say +B::a' in 'class B { enum A (a=>3,b=>10,c=>1);}; say B.a'
08:59 moritz poor_soul: it won't work that way
08:59 moritz poor_soul: because 'our' doesn't install methods
08:59 FROGGS yeah, I would suggest you work with public attributes
09:00 moritz or maybe don't mix up constants and methods
09:01 poor_soul FROGGS: you're saying something like 'class B { our $.a ::= 3; our $.b ::= 10; our $.c ::= 1; }' ?
09:01 tadzik moritz: hahaha, that's awesome :D
09:02 FROGGS poor_soul: no, the keyword is 'has'
09:02 FROGGS r: class B { has $.a = 3 }; say (my $b = B.new).a
09:02 camelia rakudo 69c3cc: OUTPUT«3␤»
09:03 poor_soul FROGGS: that way $.a is not constant
09:03 jnthn That's kinda wasteful though, as you store the constants per instant.
09:03 FROGGS jnthn: just install more RAM then :o)
09:04 jnthn While B::a is clearly package scoped
09:04 jnthn There's no reason to make it B.a. Then you convey to the reader, "this is something that may vary per instance".
09:05 FROGGS well, you could add an accessor a that returns B::a
09:05 poor_soul jnthn: but i'm getting 'a' through the class type, not a class instanc
09:06 poor_soul *instance
09:06 jnthn poor_soul: True, but the methods would work just fine on instances too...
09:06 poor_soul btw this doesn't work too 'class B { enum A (a=>3,b=>10,c=>1);}; my $b = B.new; say $b::a'
09:06 poor_soul r: class B { enum A (a=>3,b=>10,c=>1);}; my $b = B.new; say $b::a
09:06 camelia rakudo 69c3cc: OUTPUT«(Any)␤»
09:07 jnthn $b::a has nothing to do with the variable $b
09:07 masak https://rt.perl.org/rt3/Tic​ket/Display.html?id=119749
09:07 jnthn It's the same as b::<$a>
09:07 iSlug joined #perl6
09:08 jnthn r: class B { enum A (a=>3,b=>10,c=>1) }; say B::a
09:08 camelia rakudo 69c3cc: OUTPUT«a␤»
09:08 jnthn r: class B { enum A (a=>3,b=>10,c=>1) }; say +B::a
09:08 camelia rakudo 69c3cc: OUTPUT«3␤»
09:09 jnthn Why not this?
09:09 poor_soul jnthn: that method i already knew
09:09 poor_soul i just wanted to return directly th value
09:10 jnthn Then, why use an enum at all?
09:10 jnthn r: class B { constant \a = 3; }; say B::a
09:10 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/TcPFGgMLLYâ�¤Missing initializer on constant declarationâ�¤at /tmp/TcPFGgMLLY:1â�¤------> [32mclass B { constant [33mâ��[31m\a = 3; }; say B::a[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or t…
09:10 jnthn r: class B { constant a = 3; }; say B::a
09:10 camelia rakudo 69c3cc: OUTPUT«3␤»
09:11 masak std: class B { constant \a = 3 }
09:11 camelia std 7c17586: OUTPUT«ok 00:00 43m␤»
09:11 masak jnthn: weird way to write it, but should be OK, no?
09:11 jnthn I think we didn't pull in the defterm stuff from STD yet...
09:11 * masak submits rakudobug
09:14 tzhs joined #perl6
09:15 poor_soul i used enum because it's already defined and i import it, then when i define the class, i would like to access its values without referring back to the original enum
09:16 masak hm, I wonder if 'handles SomeEnum' could be made to cover that case...
09:18 jnthn masak: Possibly, but feels weird/special-case-y given enums don't expose the values as methods really...
09:19 jnthn r: enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums -> $k, $v { B.HOW.add_method(B, $k, method () { $v }) } }; }; say B.b # may do it
09:19 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Not enough positional parameters passed; got 1 but expected 2␤»
09:19 jnthn r: enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B.HOW.add_method(B, $k, method () { $v }) } }; }; say B.b # may do it
09:19 camelia rakudo 69c3cc: OUTPUT«10␤»
09:19 jnthn That's how you'd need to do it to have them as methods...
09:20 poor_soul i would have thought to make it look like this one: enum A (a=>3,b=>10,c=>1); class B { constant %A = A.enums;}; say B::A
09:21 jnthn You'd need to write "say %B::A"
09:21 poor_soul r: enum A (a=>3,b=>10,c=>1); class B { constant %A = A.enums;}; say %B::A
09:21 camelia rakudo 69c3cc: OUTPUT«("a" => 3, "b" => 10, "c" => 1).hash␤»
09:21 poor_soul r: enum A (a=>3,b=>10,c=>1); class B { constant %A = A.enums;}; say %B::A<a>
09:21 camelia rakudo 69c3cc: OUTPUT«3␤»
09:23 poor_soul jnthn: at this point, is there a way not to need to know the name of A
09:24 jnthn poor_soul: So you can write B::a ?
09:25 poor_soul right!
09:25 jnthn r: enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B::{$k} = $v } } }; say B::a
09:25 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Error while compiling block  (source text: "enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B::{$k} = $v } } }; say B::a"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: …
09:26 jnthn Not like that, apparently... :)
09:26 JimmyZ r: enum A (a=>3,b=>10,c=>1); class B { constant % = A.enums;}; say %B::a
09:26 camelia rakudo 69c3cc: OUTPUT«(Any)␤»
09:26 JimmyZ r: enum A (a=>3,b=>10,c=>1); class B { constant % = A.enums;}; say B::a
09:26 camelia rakudo 69c3cc: OUTPUT«Could not find symbol '&a'␤  in method <anon> at src/gen/CORE.setting:11517␤  in any  at src/gen/Metamodel.nqp:2671␤  in any find_method_fallback at src/gen/Metamodel.nqp:2659␤  in any find_method at src/gen/Metamodel.nqp:946␤  in block  at /tmp/r8gZC7vEYe:1␤␤»…
09:27 jnthn r: enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B.WHO{$k} = $v } } }; say B::a # curious if this works...
09:27 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Error while compiling block  (source text: "enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B.WHO{$k} = $v } } }; say B::..."): Error while compiling op call: Error while compiling block : Error while compiling op call (source te…
09:27 jnthn Oddness...
09:29 poor_soul is this ok and portable? 'enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B.HOW.add_method(B,$k, method () { $v }) } } };'
09:29 poor_soul so that i can do B.a
09:30 FROGGS nr: enum A (a=>3,b=>10,c=>1); class B { BEGIN { for A.enums.kv -> $k, $v { B.HOW.add_method(B,$k, method () { $v }) } } }; say B.b
09:30 jnthn Yes, that's the same interface the compiler itself uses to add methods to a class.
09:30 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method add_method in type ClassHOW␤  at /tmp/Nn9Xa23VTp line 1 (ANON @ 4) ␤  at /tmp/Nn9Xa23VTp line 1 (ANON @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/src/NieczaBackendDotnet.pm6 line 75 …
09:30 camelia ..rakudo 69c3cc: OUTPUT«10␤»
09:31 jnthn Oh, but niecza doesn't implement the MOP stuff yet.
09:31 FROGGS okay, niecza would need some love
09:31 FROGGS but I think that should be no show-stopper
09:32 poor_soul jnthn: that's interesting, but what i meant was more of 'is this gonna stay like this because specced or is this peculiar to Rakudo (on Parrot) ?
09:33 jnthn poor_soul: It's going to stay like this.
09:33 jnthn poor_soul: It'd work the same on Rakudo on JVM too.
09:34 dmol joined #perl6
09:35 poor_soul jnthn++ perfect! :)
09:35 daxim joined #perl6
09:36 jnthn (A lot of things depend on it staying like this. :))
09:44 FROGGS jnthn: btw, do you now when we are going to start on saturday?
09:45 jnthn FROGGS: 9
09:45 jnthn FROGGS: As in, 9 o-clock, not "nein, I don't know" :P
09:45 FROGGS *g*
09:45 FROGGS RATZFATZNBLATZ!
09:46 FROGGS that is cool, I'll finally get some sleep \o/
09:48 daniel-s joined #perl6
09:51 FROGGS does somebody know if Bailador works atm? I want to make a webshop the next days
09:51 FROGGS colomon^^ ?
09:52 FROGGS tadzik?
09:52 tadzik if it doesn't, I'm willing to bring it back from the dead in the next 24 hours :)
09:52 FROGGS ohh, ossum
09:52 tadzik maybe even on both platforms
09:53 FROGGS I only care about parrot atm
09:54 tadzik unless our HTTP server is magically broken on JVM (I wouldn't be _that_ surprised), then I think it should Just Work on both
09:54 tadzik also, I wanted to do an experiment with running Bailador on non-perl6 webserver
09:55 colomon FROGGS: it's passing all its tests, according to the smoker.
09:57 FROGGS cool!
10:00 berekuk joined #perl6
10:03 dalek Perlito: 3fe2854 | (Flavio S. Glock)++ | / (2 files):
10:03 dalek Perlito: Perlito5 - perl5 emitter - grep, sort
10:03 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/3fe28542cb
10:07 nwc10 gosh. http://rubini.us/ defaults to targeting 1.8.7. Support for 1.9 is "in progress". But MRI is on 2.0 now.
10:08 masak dependencies are hard, let's go [Null PMC access]
10:21 poor_soul is there someone interested in helping me debug emmentaler?
10:23 poor_soul i did wget 'http://feather.perl6.nl:3000/module/NativeCall' then called smoker NativeCall, but got this error: http://pastebin.com/k4cHMwAr
10:24 berekuk joined #perl6
10:24 arnsholt tadzik: You're maintaining Emmentaler these days, no?
10:27 poor_soul i'm having some problems in understanding the issue since the call stack passes through CORE.setting
10:28 moritz poor_soul: ignore the lines that come from CORE.setting
10:28 moritz poor_soul: they are just internals from how .new is implemented
10:30 poor_soul so, these lines give the error: method add-project(Panda::Project $p) {         %!projects{$p.name} = $p;     }
10:30 moritz yes
10:30 poor_soul they're in panda
10:33 dalek Heuristic branch merge: pushed 18 commits to Perlito/replito by creaktive
10:34 tadzik arnsholt: sort of
10:35 tadzik poor_soul: I suppose $p.name is something else than you expect it to be
10:35 poor_soul here's a side question: since i installed both the .pm and the .pir in the right locations for every module, why doesn't rakudo-debugger use the .pm to show me the sources
10:36 poor_soul i'm forced every time to download the modules sources and include them with -I
10:37 iSlug joined #perl6
10:37 yannickberthoud joined #perl6
10:38 iSlug joined #perl6
10:38 jnthn poor_soul: Because it works by augmenting the compiled output with debug directives, and if there's a pre-compiled version there it doesn't have chance to do it.
10:38 jnthn poor_soul: Feel free to file a rakudo-debugger ticket on that.
10:39 poor_soul jnthn: is there a way to implement it?
10:41 jnthn poor_soul: It probably needs Perl6::ModuleLoader patching in Rakudo first, in order to give a way to insist it doesn't use pre-compiled modules.
10:41 jnthn poor_soul: And then the debugger can "just" use that.
10:43 moritz but Perl6::ModuleLoader is NQP code, so no rocket science
10:43 jnthn aye
10:47 poor_soul it seems like i got it: in Ecosystem.Build at line 32, it slurps the file and transforms it from json; then it does $list.list because it expected to find a list, but instead got an object!
10:48 poor_soul so $mod is just a field = value, and cannot behave like an hash like requested
10:49 poor_soul i guess it happened because i passed emmentaler a file with a single module info
10:51 poor_soul still, it's weird that it didn't check if there was a single object
10:51 tadzik ah, it'd do that
10:51 poor_soul im going out now, have fun
11:33 qiyong python3 become vm based as p6, right?
11:33 qiyong and parrot supports python3
11:34 tadzik parrot doesn't quite support python, be it 1, 2 or 3
11:34 tadzik as for the first question, I don't understand you
11:34 hoelzro python3 is as vm-based as python2
11:40 GlitchMr Python 3 is Python 2 with some relatively small differences.
11:41 GlitchMr Of course, relatively small differences are rather incompatible (like removal of "print" keyword), but still.
11:41 berekuk joined #perl6
11:45 berekuk joined #perl6
11:48 poor_soul i'm back now
11:49 timotimo at least you could get most of the changes with "from __future__" imports
11:51 sqirrel joined #perl6
11:52 berekuk joined #perl6
11:55 GlitchMr "print" in Python 2 was strange anyway. Sometimes it joined arguments with space, sometimes it didn't.
11:55 GlitchMr print "A\n", "B", "C"
11:55 GlitchMr A
11:55 GlitchMr B C
11:55 GlitchMr I would rather expect something like "A\n B C", or "A\nBC", but definitely not that.
11:59 GlitchMr ~ $ python2 -c 'print "P",; print "2",' | xxd
11:59 GlitchMr 0000000: 5020 320a                                P 2.
11:59 GlitchMr Or this - I mean. The first print gives space, second gives new line. Too clever for me.
11:59 poor_soul how would you detect if a given (hopefully) valid JSON string represents an object or a list of objects? Just check if you find [ before { or is there a more elegant way?
12:00 GlitchMr poor_soul, well, you need to detect spaces, but yeah.
12:00 moritz poor_soul: you decode it, and then look at the resulting object
12:00 GlitchMr Or, you could simply parse it.
12:00 GlitchMr And check whatever the result is array or object.
12:00 jnthn poor_soul: Is it not more robust to check what type the parsed output is?
12:01 poor_soul doesn't seem to me that JSON::Tiny gives a type
12:01 moritz of course it does
12:01 GlitchMr Of course it does.
12:01 iSlug joined #perl6
12:01 moritz it returns either Hash (json object) or something Positional (json array)
12:01 moritz but
12:01 tadzik poor_soul: or use JSON::Unmarshal :)
12:01 moritz if the program always exepcts an array
12:02 moritz why don't you just put the object into the array in the json file?
12:02 poor_soul tadzik: but Panda depends on JSON::Tiny
12:02 tadzik I know that
12:02 tadzik but what is that you're trying to do?
12:02 poor_soul i was trying to fix Panda issue from before
12:02 dalek Perlito: 9391890 | (Flavio S. Glock)++ | / (3 files):
12:02 dalek Perlito: Perlito5 - js - fix variable declaration inside expressions
12:02 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/9391890bed
12:02 tadzik are you sure that's panda's fault?
12:03 GlitchMr sh: prove: command not found
12:03 GlitchMr Panda depends on Perl 5 to exist?
12:03 tadzik yeah :./
12:03 tadzik I once had an idea to change it to parrot-prove
12:03 moritz from what I've read so far, the problem could be either in emmentaler or in the user
12:03 tadzik but it's not a good idea either, since now we don't neceserilly have parrot
12:04 timotimo i think it's PEBCAK
12:04 timotimo emmentaler is meant to get passed a json file for the whole ecosystem
12:04 tadzik so one day it'd be a good idea to finally make p6prove work
12:04 timotimo of course you could improve the error message in panda
12:04 timotimo but i don't think that's the right approach, i would rather verify the ecosystem file in emmentaler
12:04 poor_soul timotimo: so i cannot test just one or a handful of modules?
12:05 tadzik poor_soul: you can. Make a 1-element array
12:05 GlitchMr > from-json('[]') ~~ Array
12:05 GlitchMr True
12:05 GlitchMr > from-json('{}') ~~ Array
12:05 GlitchMr False
12:05 timotimo star: use JSON::Tiny; say from-json('[]') ~~ Array;
12:06 camelia star 2013.08: OUTPUT«True␤»
12:06 poor_soul tadzik: i now understand how to fix this, but do you want to?
12:07 GlitchMr I just noticed it, because I have really minimal Perl installation that only contains Perl itself.
12:07 DarthGandalf joined #perl6
12:07 Bzek joined #perl6
12:07 tadzik poor_soul: what do you want to fix?
12:08 poor_soul tadzik: if Panda receives a projectfile which has a single object instead of an array, it will error out
12:08 tadzik I don't see a probem with that
12:08 tadzik you give it bogus data, you get bogus results
12:09 GlitchMr https://en.wikipedia.org/wik​i/Garbage_In%2C_Garbage_Out
12:09 tadzik I don't mind if it errors out in a more descriptive way though
12:09 kbaker joined #perl6
12:09 poor_soul this also means that you cannot test a single module with emmentaler
12:09 tadzik no, it doesn't mean that
12:09 skids joined #perl6
12:09 jnap joined #perl6
12:09 tadzik as I said 4 minutes ago, you can make a 1-element array in JSON
12:09 tadzik [{foo:bar}]
12:09 timotimo i think it would be nice if you could give emmentaler a filter predicate of some sort
12:10 GlitchMr tadzik, well, more like [{"foo":"bar"}]
12:10 GlitchMr JSON needs quotes.
12:10 tadzik whatever
12:10 GlitchMr star: use JSON::Tiny; say to-json(foo => "bar").perl
12:10 camelia star 2013.08: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in sub to-json at /home/p6eval/star/lib/parrot/5.5.0/l​anguages/perl6/lib/JSON/Tiny.pm:21␤  in block  at /tmp/daB6xpXcjY:1␤␤»
12:10 jercos red wizrad needs quotes, badly
12:10 poor_soul tadzik: ok, but the method that you suggest here [http://feather.perl6.nl:3000/] doesn't agree with you
12:10 GlitchMr star: use JSON::Tiny; say to-json({foo => "bar"}).perl
12:10 timotimo jercos: :D
12:10 camelia star 2013.08: OUTPUT«"\{ \"foo\" : \"bar\" }"␤»
12:11 GlitchMr star: use JSON::Tiny; say to-json {foo => "bar"}
12:11 camelia star 2013.08: OUTPUT«{ "foo" : "bar" }␤»
12:11 tadzik poor_soul: what method do I suggest there?
12:11 poor_soul tadzik: it returns a single object, instead of an array
12:11 tadzik you can get a single META.info from /module/foo, yes
12:11 colomon what's the point of testing a single module in emmentaler, anyway?  wouldn't panda be more appropriate for that?
12:11 tadzik but you don't give emmentaler, nor panda, a single META.info
12:11 tadzik you give it a JSON file containing an array with many META.info contents
12:11 GlitchMr poor_soul, why not both? Array containing single object?
12:11 woolfy left #perl6
12:12 poor_soul GlitchMr: it doesn't depend on me, i'm not the one who makes the json file
12:12 dalek Perlito: efea5bc | (Flavio S. Glock)++ | TODO-perlito5:
12:12 dalek Perlito: Perlito5 - TODO update
12:12 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/efea5bca34
12:13 GlitchMr if $result ~~ Hash { $result = [$result]; }
12:13 tadzik poor_soul: I think you're misusing either panda, or emmentaler, or the feather API
12:13 poor_soul maybe i was not clear enough: here [http://feather.perl6.nl:3000/] it says how to get a single module info and it returns a single object, not an array containing it
12:14 GlitchMr Or actually, without conditionals, my @result = @($result);
12:14 tadzik the /module/ feature was something that I came up with to maybe, one day, not keep a moduleDB in panda at all
12:14 GlitchMr Well, @$result should work too.
12:14 poor_soul the fix is, make the site return an array nonetheless
12:14 tadzik so it'd just fetch META.infos ondemand, sort of like cpanm does
12:14 poor_soul or fix panda ecosystem to receive a single object
12:14 tadzik but I never used it anywhere
12:14 GlitchMr http://feather.perl6.nl:3000/module/Acme;Meow
12:14 GlitchMr If you request a single module, you obviously get single module.
12:14 GlitchMr (it's not an array)
12:14 GlitchMr http://feather.perl6.nl:3000/projects.json
12:14 tadzik using /module is not a recommended way for anything
12:15 GlitchMr Well, it's just an exxample.
12:15 GlitchMr But if you don't request any specific module, you get array, even with just one module.
12:17 poor_soul i stumbled upon this issue just because i wanted to check why http://97.95.33.142:3001/report says Zavolaj doesn't pass test, when it clearly does
12:17 poor_soul so i tried to reproduce the testing environment
12:17 poor_soul and here i am trying to get the info on a single module
12:18 tadzik feather.perl6.nl:3000 does not support crafting a desired list of modules
12:18 tadzik you can either get the list of all of them, or just one
12:18 timotimo huh, druids build fails
12:18 timotimo but i just fixed that! :(
12:19 lizmat commute to Frankfurt&
12:22 dalek perl6-Text-Abbrev: 97948cc | (Konrad Borowski)++ | lib/Text/Abbrev.pm:
12:22 dalek perl6-Text-Abbrev: Use "for" loop instead of "loop".
12:22 dalek perl6-Text-Abbrev:
12:22 dalek perl6-Text-Abbrev: I believe "for" caused problems previously, but they shouldn't exist anymore.
12:22 dalek perl6-Text-Abbrev: review: https://github.com/GlitchMr/perl​6-Text-Abbrev/commit/97948ccf01
12:22 GlitchMr Perhaps I should've disabled notifications here too.
12:22 GlitchMr Whatever
12:25 poor_soul so, i worked around by making that file an array, but the result is the same: zavolaj test pass but is checked as failing tests. Is there a way to see the results.json?
12:26 dalek Perlito: 91ab027 | (Flavio S. Glock)++ | / (3 files):
12:26 dalek Perlito: Perlito5 - js - some support for my+if
12:26 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/91ab0276b3
12:29 tadzik poor_soul: it shouldn't get removed
12:41 Bzek joined #perl6
12:43 timotimo oh, i must have mistake'd
12:43 panchiniak_ left #perl6
12:46 timotimo oh damn
12:46 timotimo 'no such method "dynamic" for invocant of type Sub'
12:46 timotimo how to make &CALLER::some-sub work?
12:48 moritz have you tried CALLER::<&some-sub> ?
12:48 timotimo er, falsche baustelle
12:48 timotimo how to make the CALLER package properly handle subs?
12:48 timotimo the subs in question are all our-scoped, so maybe that's how it should work?
12:49 thou joined #perl6
12:50 timotimo alternatively, a trait "is dynamic" could be introduced for subs; not sure if that sounds helpful
12:50 berekuk joined #perl6
12:50 timotimo especially since "dynamic" when appended to a sub doesn't seem as clear as when it's appended to a variable
13:00 poor_soul tadzik: sorry, i meant the results.json of http://97.95.33.142:3001/report, not mine
13:00 tadzik poor_soul: ah
13:01 hoelzro when we show up tomorrow, we just need to give our name at the hotel, yes?
13:01 tadzik poor_soul: well, everything that results.json will contain is on http://97.95.33.142:3001/project/NativeCall
13:02 colomon oh, that's this weekend!
13:02 tadzik it doesn't get any more descriptive than "tests failed"
13:02 FLOSSrookie joined #perl6
13:02 jnthn It's this weekend??!!
13:02 jnthn ;-)
13:02 * jnthn is looking forward to it :)
13:03 FLOSSrookie Exactly why is perl6 taking so long?
13:03 FLOSSrookie To develop.
13:03 tadzik big things take a long time to develop
13:04 poor_soul tadzik: i wanted to know which version of rakudo was used
13:04 FLOSSrookie I was just curious because on #programming they said it was "dead jim"
13:04 tadzik poor_soul: oh. I don't know that
13:04 tadzik colomon may know :)
13:04 poor_soul tadzik: it's written on the resutls.json :)
13:04 poor_soul results*
13:05 tadzik ha! :)
13:05 tadzik indeed it is
13:05 jnthn FLOSSrookie: Because it's a large project doing difficult things being done by mostly volunteers who care about the end result being good. We make monthly releases, each of which is an improvement on the last. If you're curious, give it a try...a LOT is in place.
13:05 colomon tadzik: I'm lost in the context on that statement?
13:05 tadzik colomon: what Rakudo version is smoker running?
13:05 colomon tadzik: oh!
13:07 colomon the smoker runs at 1:10 AM EST each night, and the first thing it does is pull the latest rakudo from github.
13:07 dmol joined #perl6
13:08 poor_soul colomon: that's strange, there should be no reason then for zavolaj to fail the tests...
13:08 colomon so last night's run was perl6 version 2013.08-133-g69c3cce
13:08 FLOSSrookie Is there anyway you can make an estimate of it completion?
13:09 FLOSSrookie its ^
13:09 poor_soul colomon: i suppose there's a complete build env, like gcc etc
13:12 daxim FLOSSrookie, see http://perl6.org/compilers/features
13:12 LWA joined #perl6
13:12 colomon poor_soul: sure, it has to build somewhere.
13:13 poor_soul colomon: then, it's even more strange that zavolaj (among others modules) fail the tests when it should pass them
13:13 FLOSSrookie So, Rakudo will probably finish first then.
13:14 LWA left #perl6
13:15 mtk joined #perl6
13:17 colomon poor_soul: I dunno know why it would be strange that zavolaj fails -- it's one of the most fiddly modules.
13:17 mtk joined #perl6
13:22 poor_soul colomon: it seems strange to me because here it passes and i would like to know how and why it fails
13:23 FLOSSrookie Help me to understand this. Perl6 (lang) -> Rakudo [Parrot VM, JVM] right? Isn't that like Scala (lang) -> Scala Compiler -> JVM?
13:23 FLOSSrookie Perl6 (lang) -> Rakudo -> [Parrot VM, JVM]
13:23 FLOSSrookie Correction.
13:24 PacoAir joined #perl6
13:24 FLOSSrookie Perl6 (lang) -> Niecza -> [CLR]?
13:24 jnthn FLOSSrookie: That looks right.
13:24 colomon poor_soul: just tried it separately (with a freshly pulled Rakudo) and it's failing t/02-simple-args.t because it thinks it has 11 tests but only 9 run
13:24 krokite joined #perl6
13:24 krokite joined #perl6
13:24 jnthn Perl 6 is a language spec + official test suite, Rakudo is an implementation, and it is designed so it can target more than one VM.
13:25 FLOSSrookie I don't fully understand...I am still very new :(
13:25 nwc10 C is a language. gcc is an implementation (as is clang, MSVC, etc)
13:25 jnthn Right, it's like that. :)
13:26 nwc10 and gcc compiles C to run on ARM, x86, Sparc, etc
13:26 lowpro30 joined #perl6
13:26 nwc10 (as does clang, etc)
13:26 poor_soul colomon: are you sure that it's freshly pulled? because that's the error arnsholt fixed no more than three days ago
13:27 colomon quite sure, yes
13:27 colomon r: say "hi"
13:27 camelia rakudo 69c3cc: OUTPUT«hi␤»
13:27 colomon That's the version I'm on
13:27 FLOSSrookie Wow, there sure are a lot VMs now.
13:27 poor_soul ok, i'll try to update to super-latest and retest
13:28 jnthn poor_soul, colomon: It's possible arnsholt did the fix in the NQP repo and didn't bump NQP_REVISION?
13:28 poor_soul colomon: i got it! it's because arnsholt had to fix it in nqp
13:29 poor_soul jnthn: exactly right
13:29 colomon poor_soul: yes, if nqp isn't bumped, that would be a problem
13:29 TimToady nr: enum A (a=>3,b=>10,c=>1); class B { enum AA (A.enums) }; say B::a
13:29 camelia niecza v24-95-ga6d4c5f: OUTPUT«a␤»
13:29 camelia ..rakudo 69c3cc: OUTPUT«===SORRY!===␤No such method 'returns' for invocant of type 'Hash'␤»
13:29 arnsholt jnthn: Oh, I didn't!
13:30 TimToady is that a rakudobug?
13:30 jnthn TimToady: oh, that's cute...
13:30 arnsholt An arnsholtbug, perhaps
13:30 jnthn TimToady: Yes, we are a bit too special-case-y about enum handling in Rakudo at the moment...
13:30 arnsholt I didn't even think to bump NQP_REVISION, since I compile NQP and Rakudo separately
13:30 poor_soul colomon: it seems the mistery finally got found out
13:31 jnthn TimToady: It's done out of AST analysis, I think, rather than just eval'ing the stuff.
13:31 poor_soul arnsholt: i do too, i didn't think of that
13:31 jnthn TimToady: Not quite easy to fix as the setting has enums and I think last time I tried I hit the circularity saw... :)
13:32 TimToady well, maybe the setting has pseudo-enums :)
13:33 lowpro30 joined #perl6
13:33 * TimToady is thinking the syntax should probably now be enum A = list; now that we have the notion of pseudoassignment to declarations
13:34 TimToady then you could just write enum A = a=>3,b=>10,c=>1;
13:34 TimToady forcing brackets seems rather...medieval...
13:35 jnthn yeah, but enum PromiseState <Promised Running Kept Broken>; or so is nice without the = :)
13:35 TimToady and a bit TTIARy when we start adding traits
13:35 poor_soul can i pledge to ask for a 'enum A = a=>3,b=>10,c=>1; class B { enum AA = A; };' ?
13:37 poor_soul even better would be a way to flatten AA inside B so that i don't need to know AA's name to get the values
13:37 TimToady nr: enum A (a=>3,b=>10,c=>1); class B { enum :: (A.enums) }; say B::a
13:37 camelia niecza v24-95-ga6d4c5f: OUTPUT«a␤»
13:37 camelia ..rakudo 69c3cc: OUTPUT«===SORRY!===␤No such method 'returns' for invocant of type 'Hash'␤»
13:38 TimToady already have that with anonymous declarations
13:38 jnthn ooh, didn't think of that...
13:38 jnthn ...now just need to fix Rakudo so it works.
13:38 TimToady n: enum A (a=>3,b=>10,c=>1); class B { anon enum XX (A.enums) }; say B::a
13:38 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤  at /tmp/1Xmbfm9ji5 line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576…
13:38 TimToady heh
13:38 poor_soul that's exactly it, i just need to wait for rakudo devs to fix the issue
13:39 TimToady n: enum A (a=>3,b=>10,c=>1); class B { enum (A.enums) }; say B::a
13:39 camelia niecza v24-95-ga6d4c5f: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5) ␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/src/N…
13:40 FLOSSrookie What is Rakudo not being used to send to the CLR? Why the need for Niecza?
13:40 PerlJam FLOSSrookie: Niecza does things differently  :)
13:41 TimToady FLOSSrookie: rakudo was targetting only parrot at the time niecza was started
13:41 colomon FLOSSrookie: it might be simplest to think of Niecza as a proof-of-concept that Perl 6 could run on a mainstream VM like CLR or JVM.
13:41 nwc10 Interesting disucssion on perl5-porters. It seems that the mergesort that John P. Linderman wrote for us about 10 years ago might actually be one of the most advanced sorts out there. http://www.xray.mpe.mpg.de/mailing-lis​ts/perl5-porters/2013-09/msg00345.html and http://www.xray.mpe.mpg.de/mailing-lis​ts/perl5-porters/2013-09/msg00490.html
13:41 TimToady rakudo will get to CLR eventually
13:41 nwc10 (and worth stealing)
13:42 poor_soul so happy, now that i know that Perl6 is indeed flexible enough to that what i wanted there XD
13:42 TimToady mergesort tends to work well with partially sorted data
13:42 poor_soul s/to that/to do that/
13:42 TimToady There's More Than One Way To Screw It Up
13:42 nwc10 he was also benchmarking it with random data, if I understood this correctly: http://www.xray.mpe.mpg.de/mailing-lis​ts/perl5-porters/2001-12/msg00931.html
13:43 FLOSSrookie Do you guys think that Perl6 will gain the traction worth all the effort? I ask because I see much of the NEW foss apps using python. There are numerous apps in perl historically but the new stuff seems to be in python.
13:43 poor_soul Do It or Screw It, it's up to the programmer, but only the language can be good enough to let it happen
13:44 TimToady FLOSSrookie: we wouldn't be working on it if we didn't think it would at least be possible for *us* to use it productively in the future :)
13:44 skids joined #perl6
13:44 nwc10 It's not clear how Python is going to fare in the multicore future
13:45 TimToady but we also wouldn't be working on it so hard if we didn't think a whole bunch of other people will like it too
13:45 poor_soul perl6++ Rakudo++ MoarVM++
13:45 pupoque joined #perl6
13:45 poor_soul it's a ++_fest
13:45 TimToady and to be honest, we're aiming for the next generation, that will think of Python as "that horrible language my parents had to use"  :)
13:46 FLOSSrookie So, Rakudo is forward thinking? About multi-core that is.
13:46 TimToady we've been forward thinking about multi-core for 13 years now
13:47 jnthn We've been speculatively evaluating that future... :)
13:47 nwc10 to say nothing of Perl 5. Er, I mean 3. :-)
13:47 colomon FLOSSrookie: I'm using p6 productively *today*.  I'm just sticking to tasks where 1) grammars are a huge help and 2) it doesn't matter if things are kind of slow.
13:48 * nwc10 finds Perl 6 interesting because of NFG, gradual typing and concurrency. And Rakudo is interesting because it's one implementation for multiple VMs. No-one else does that.
13:48 nwc10 and there's a fifth thing that I forgot
13:48 TimToady a fanatical devotion to the pope?
13:48 nwc10 that too
13:48 TimToady oh wait, that's python
13:48 nwc10 but it was "self hosting"
13:49 nwc10 I have just laughed out loud that that. I didn't see that coming.
13:50 FLOSSrookie Okay, I was just trying to pool some knowledge so I can create a group of languages I would like to learn.
13:50 FLOSSrookie TimToady: I'm sorry but where is the humor in that? I don't get it.
13:50 TimToady python is named after Monty Python, not the serpent
13:51 TimToady and that's an allusion to holy grail
13:51 nwc10 earlier would be this: http://en.wikipedia.org/wiki/The_Spa​nish_Inquisition_%28Monty_Python%29
13:52 poor_soul FLOSSrookie: definitely don't need to learn Ruby, a better Perl than Perl 5 can only be Perl 6
13:52 * TimToady now wonders if qiyong is really spanish
13:53 TimToady poor_soul: well, I would say there are many Perls that can be better than Perl 5, but unfortunately only one of them can be called Perl 6
13:53 TimToady and we already grabbed that name :)
13:53 FLOSSrookie Here are the ones I was thinking so far.  Python (Jython and IronPython)  C(++)  BASIC  Java  C#
13:53 FLOSSrookie But if I should I could remove one...maybe C# and replace it with Perl6
13:53 PerlJam FLOSSrookie: What's your goal in learning these languages?
13:54 jnthn tbh, I'd remove BASIC instead of C#. C# is kinda nice. :)
13:54 PerlJam FLOSSrookie: because, the ones you've chosen are all mostly conceptually similar.
13:54 TimToady you should really study something more FPish
13:54 TimToady and maybe some Prolog
13:54 PerlJam FLOSSrookie: What TimToady said
13:54 TimToady some Haskell, say
13:54 jnthn Or ML
13:54 PerlJam FLOSSrookie: or ocaml,
13:55 * jnthn finds ML easier than Haskell :)
13:55 nwc10 which did you learn first?
13:55 FLOSSrookie A) Not to overload myself by going over five. B) Focus not so much on a language which teaches good theory but is also of use in the FOSS community.
13:55 FLOSSrookie Like those languages I try to avoid.
13:55 * poor_soul is mind-bent by Monads
13:55 PerlJam jnthn: is that an argument that he should learn haskell?  ;)
13:55 nwc10 and which is less crazy?
13:56 jnthn nwc10: ML. It's syntax is more, uh, "normal". :)
13:56 jnthn nwc10: ML was beat into me at The Unother Place... :)
13:56 PerlJam FLOSSrookie: lua, haskell, scheme, scala, etc.  Are all "of use in the FOSS community"  :)
13:56 FLOSSrookie When I say BASIC I mean FreeBASIC it seems to be capable of all that C++ is.
13:56 hoelzro Lua++
13:56 poor_soul c/c++ only if you want to interact with hardware and/or existing libraries/projects (Qt, KDE, GTK, Gnome)
13:56 iSlug joined #perl6
13:57 * hoelzro might take what he learns this weekend and start on Lukudo
13:57 FLOSSrookie PerlJam: Yes, but I cannot learn them all. I don't want to overload.
13:57 jnthn C is a pretty good DSL for building a GC in... :)
13:57 nwc10 Lukudo would be what?
13:57 TimToady lua, presumably
13:57 poor_soul jnthn: only if you're already very goot at C
13:57 poor_soul good*
13:57 PerlJam FLOSSrookie: why can't you learn them all?  It just takes some time.  Do you have a time limit?
13:58 colomon I tried learning ML once.  But I gave up in frustration when the elegant code they dangled in front of me in chapter 1 was rejected in chapter 2 as hopelessly inefficient compared to mind-bogglingly complex way people actually coded in ML.  :(
13:58 FLOSSrookie PerlJam: I don't want to learn a language which I might not use. It would be a waste of time.
13:58 jnthn poor_soul: Well, I was more meaning that it's a language well optimized for doing evil things with memory. :)
13:58 PerlJam FLOSSrookie: once you get the "big picture" concepts in your brain, you can recognize them in other languages and quickly pick them up.
13:58 PerlJam FLOSSrookie: how do you know apriori which languages you might or might not use?
13:58 poor_soul jnthn: oh right, *that* could never be wrong :)
13:58 TimToady FLOSSrookie: and you should also learn languages that teach you to think differently
13:59 btyler joined #perl6
13:59 PerlJam FLOSSrookie: What TimToady said again!  :)
13:59 TimToady because you'll find yourself, say, programming with Lisp ideas in other languages
13:59 nwc10 I thought that someone had done a presentation about working on NQP on Lua at the French Perl Workshop this year, but I can't find it in the schedule
13:59 FLOSSrookie PerlJam: Fair enough but then where would it end.
14:00 PerlJam FLOSSrookie: why does it have to end?  (I'm still learning new things all the time)
14:00 PerlJam If you're not learning, you're probably dead.
14:00 FLOSSrookie I was looking at this http://lang-index.sourceforge.net/
14:00 TimToady FLOSSrookie: you planning to retire soon?
14:00 TimToady the most valuable employee these days is one who keeps on learning
14:00 hoelzro nwc10: seriously? awesome
14:01 FLOSSrookie Why is everyone against BASIC?
14:01 jnthn nwc10: Was that implement NQP on Lua, or implement Lua in NQP? :)
14:02 poor_soul btw, don't you think it could be possible to implement Python2/3 on top of NQP, and viceversa support NQP even on the Python VM? That would give a great installation base to conquer the world
14:02 TimToady FLOSSrookie: but if you want a job where you don't actually have to think, then I don't recommend programming
14:02 SamuraiJack__ joined #perl6
14:02 nwc10 jnthn: good point, I forget
14:02 PerlJam FLOSSrookie: I'm not against BASIC.  (But it doesn't have too many concepts to teach you as compared with other languages)
14:02 * jnthn wsn't sure which one hoelzro meant either :)
14:02 FLOSSrookie TimToady: It is not about that, it is about not making my computer my second wife.
14:02 nwc10 Maddingue: what was the Rakudo NQP or Lua related presnetation at the French Perl Workshop this year?
14:03 hoelzro for clarification: NQP that generates code to be run on the Lua VM
14:03 PerlJam It would be neat to see a lua-backed Rakudo.
14:03 PerlJam I wonder how that would perform in comparison to moarvm even  :)
14:03 poor_soul PerlJam: and then comquer the embedded world too
14:03 poor_soul conquer*
14:04 hoelzro if the P6 structures in Lua land weren't too big =)
14:04 Maddingue nwc10: hmm, maybe you're speaking about fperrad's talk? http://journeesperl.fr/fpw2013/talk/4845
14:05 nwc10 Maddingue: I think that I was. In which case it's NQP-free :-)
14:05 nwc10 and Rakudoless
14:05 poor_soul implementing Python on NQP would give Python access to potentially better multicore support thanks to MoarVM
14:06 Maddingue cognominal and liz talked about the current state of Perl 6, and liz did her "is Perl 6 Perl?" talk (the same that she did later in Kiev)
14:06 PerlJam lizmat++  (that talk put things in perspective for many people I think)
14:06 FLOSSrookie Which part is multi-core friendly Rakudo or Parrot? If it is Parrot then would not python do well on multi-core if run on it?
14:07 berekuk_ joined #perl6
14:08 TimToady FLOSSrookie: there are 26 different versions of BASIC on rosettacode.org, and it doesn't look like FreeBASIC is one of them...
14:08 TimToady arguably, Perl 1 was a (per)version of BASIC too :)
14:09 jnthn .oO( perlversion )
14:09 TimToady FLOSSrookie: Parrot is not particularly multi-core friendly, though that was not by intent
14:09 poor_soul FLOSSrookie: definitely not Parrot on the long run
14:10 TimToady rakudo on JVM or MoarVM is much likelier to do multicore well
14:10 FLOSSrookie TimToady: http://rosettacode.org/wiki/C​ategory:BASIC_Implementations I see FreeBASIC.
14:10 TimToady well, nobody's contributed any examples under that name, or is it a name variant of some other version?
14:14 poor_soul i'm getting ===SORRY!=== invoke() not implemented in class 'QAST::Op' doing perl6 -c on a library, does someone have an idea?
14:14 TimToady anyway, that's the nice thing about BASIC; you have so many different languages to choose from...
14:15 FLOSSrookie Maybe I should replace C# with perl6 because C# is not used as much in FOSS.
14:16 PerlJam FLOSSrookie: neither is Perl 6 currently.  (if that's your main criterion)
14:17 diakopter argh; *way* too much interesting backlog
14:17 btyler hoelzro: if you're playing with Lua, check out http://studio.zerobrane.com/ <-- lovely simple IDE (written in Lua) with live coding and debuggers for everything from LuaJIT to iOS Lua frameworks
14:18 FLOSSrookie It really is difficult. I would like to learn more it is just that I don't want to multiply languages past necessity.
14:19 hoelzro btyler: I've heard good things about ZeroBrane
14:19 hoelzro I haven't gotten around to trying it
14:19 hoelzro I'm a hardcore Vimmer myself =)
14:19 diakopter FLOSSrookie: C# is not used as much as perl6 in FOSS?  C# is used hundreds of thousands of times as much as perl6 in FOSS
14:20 PerlJam FLOSSrookie: "necessity"?  For me, it's more about "fun".
14:20 FLOSSrookie diakopter: True, I should have said acceptance in FOSS. Perl6 has more potential there. There is resistance to C# but when perl6 is complete I can't think of a reason why it would be resisted.
14:21 TimToady PerlJam: that would be known as "second wife syndrome" :)
14:21 moritz poor_soul: it's an error in rakudo or nqp. Please submit as a bug report
14:21 diakopter completely disagree
14:21 FLOSSrookie TimToady: :)
14:21 poor_soul moritz: is this log enough of details for a bug? http://pastebin.com/UQXcHeis
14:21 PerlJam Yeah, I guess my perspective is quite skewed because computing was more a "first wife" for me  :)
14:22 moritz poor_soul: if you include lib.pm6, yes
14:22 moritz (unless it's the one from rakudo)
14:22 btyler hoelzro: yep, vim here too :) I was investigating ZeroBrane as an environment for teaching programming, but found that the live-coding + integration with things like love2d (2d game engine) made it pretty snazzy
14:22 hoelzro cool
14:22 hoelzro I'll have to try it!
14:22 poor_soul moritz: no, it's not from Rakudo
14:23 masak FLOSSrookie: I'm curious -- why is your nick the way it is, and then you use the term "FOSS"?
14:23 btyler which reminds me, re teaching programming...does p6 have a turtle implementation yet?
14:23 FLOSSrookie diakopter: Disagree with me? If so, please state why. I am curious.
14:23 diakopter FLOSSrookie: there is a myriad of reasons Perl 6 will be resisted, rejected, derided, ignored... C# will be ahead of it in FOSS for decades, probably forever
14:23 masak btyler: there is one or two on RC.
14:23 masak btyler: but that would also be a perfect demo on top of what pmurias++ is doing.
14:23 PerlJam diakopter: forever?!?!  That's a long time ;)
14:24 masak btyler: then you could have *turtles* in *Perl 6* in the *browser*!
14:24 TimToady diakopter++ is just naturally pessimistic about his own efforts :)
14:24 FLOSSrookie masak: It used to be FOSSrookie but then I made a mistake and somehow way back when I could not get into the account. It was so long ago now, Oh...I changed email address. And oops forgot the password so could not reset it.
14:24 TimToady but we also have a Secret Jnthn!
14:24 diakopter FLOSSrookie: .NET's open-source library archive is bigger than CPAN...
14:25 btyler masak: yeah, that'd be a great setting to explore visual live coding. hmm....
14:26 FLOSSrookie diakopter: How did that happen? Perl has been around much longer.
14:26 poor_soul moritz: could i ask you to do it for me? i'm not registered. The .pm6 file is from Text::Levenshtein::Damerau at https://github.com/ugexe/Perl​6-Text--Levenshtein--Damerau
14:26 PerlJam FLOSSrookie: marketing  :)
14:26 diakopter no
14:26 diakopter there's no money behind it
14:27 bluescreen10 joined #perl6
14:27 diakopter behind nuget, anyway
14:27 TimToady marketing != money
14:27 FROGGS I'd think that .NET is the first choice for windows devs
14:28 diakopter FLOSSrookie: the same way Python's is bigger, JavaScript's is bigger, Ruby's is bigger, and Java's is hugely bigger than CPAN
14:28 * TimToady notes that the Perl 6 program he uses most for "production" is written in C#
14:28 TimToady that is, niecza is
14:29 kaare_ joined #perl6
14:29 * diakopter unfortunately must be aft the next 4 hours
14:29 tadzik away from TimToady
14:30 diakopter terminal, too
14:30 tadzik ah :)
14:32 * TimToady must be daft
14:32 FROGGS TimToady: why?
14:33 TimToady it's constitutional
14:33 FROGGS if you say so :o)
14:33 * diakopter laughed
14:37 * masak .oO( nobody expects the Spanish constitution! )
14:38 iSlug joined #perl6
14:40 kivutar joined #perl6
14:45 skids joined #perl6
14:47 arnsholt I didn't even think to bump NQP_REVISION, since I compile NQP and Rakudo separately
14:47 arnsholt Whoops. Double tap from SSH lag :.;
14:48 nyuszika7h joined #perl6
14:50 berekuk joined #perl6
14:52 pmurias joined #perl6
14:55 masak this HN discussion of "Black Perl" is surprisingly pleasant and level-headed: https://news.ycombinator.com/item?id=6371239
14:56 FROGGS joined #perl6
14:58 lowpro30_ joined #perl6
15:01 iSlug joined #perl6
15:01 dmol1 joined #perl6
15:08 arnsholt jnthn: Maybe get_boxed_ref on JVM has to return some kind of proxy object which twiddles the P6opaque behind the scenes?
15:12 berekuk joined #perl6
15:27 jercos r: sub recursqrt($square, Int $depth = 20 where {$_ > 0}){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:27 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fZwmqjkn8yâ�¤Missing blockâ�¤at /tmp/fZwmqjkn8y:1â�¤------> [32msub recursqrt($square, Int $depth = 20 [33mâ��[31mwhere {$_ > 0}){return ($square, {($_ + [0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix s…
15:27 jercos hrm. is that supposed to work?
15:29 jercos r: sub recursqrt($square, Int $depth where {$_ > 0} = 20){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:29 camelia rakudo 69c3cc: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in sub recursqrt at /tmp/JN5zFJSQFq:1␤  in block  at /tmp/JN5zFJSQFq:1␤␤»
15:29 diakopter how does it recurse?
15:29 PerlJam jercos: I think you just have the initialization in the wrong place.
15:29 rindolf joined #perl6
15:30 jercos diakopter: implicit recursion. the ... will call the inner function to be called with the result of the previous calls to produce deeper results.
15:31 jercos PerlJam: well, I don't see where I'm meant to move it to :|
15:32 jercos I mean the same result can be done with a subset, so it's not missing functionality per se, but that doesn't seem as elegant, to reserve a name in the type space just to constrain that. (unless there's a "positive whole numbers" type already?)
15:32 PerlJam jercos: well, I would have expected your second one to work, so maybe there is a bug somewhere.
15:32 jercos r: subset PositiveInt of Int where {$_ > 0};sub recursqrt($square, PositiveInt $depth = 20){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:32 camelia rakudo 69c3cc: OUTPUT«1.41421356237309␤»
15:34 jercos diakopter: I suppose recursion might not be the correct term... it's sorta the opposite of recursion actually now that I really think about it.
15:34 jnthn arnsholt: Maybe that. Or maybe for things like NativeCall that wants to inline multiple fields, we just inline an object with them and then return that, in tc.native_o or so
15:35 jercos star: sub recursqrt($square, Int $depth where {$_ > 0} = 20){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:35 camelia star 2013.08: OUTPUT«1.41421356237309␤»
15:35 jercos n: sub recursqrt($square, Int $depth where {$_ > 0} = 20){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:35 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: No value for parameter '$depth' in 'recursqrt'␤  at /tmp/k_PxEseNGP line 0 (recursqrt @ 1) ␤  at /tmp/k_PxEseNGP line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.s…
15:35 diakopter r: sub recursqrt($square, Int $depth? where ($_ > 0 || ($_ = 20))){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:35 camelia rakudo 69c3cc: OUTPUT«Invocant requires an instance, but a type object was passed␤  in method Bridge at src/gen/CORE.setting:3889␤  in sub infix:<>> at src/gen/CORE.setting:3812␤  in sub infix:<>> at src/gen/CORE.setting:3662␤  in sub recursqrt at /tmp/PDYESLhwN3:1␤  in block  at /tmp/P…
15:35 diakopter masak: ^ error?
15:35 diakopter lta at least
15:35 jercos n: sub recursqrt($square, Int $depth = 20 where {$_ > 0}){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:35 camelia niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0m��Default expression must come last at /tmp/bY9Hk3eqH3 line 1:�------> [32msub recursqrt($square, Int $depth = 20 [33m�[31mwhere {$_ > 0}){return ($square, {($_ + [0m��Unable to parse signature at /tmp/bY9Hk3eqH3 line 1:�-…
15:36 diakopter masak: (I have no idea what Bridge is)
15:36 jercos hrmkay, so that latter one is in fact the correct form, it's just broken in niecza *and* rakudo git :p
15:37 diakopter r: sub recursqrt($square, Int $depth? where (($_ ||= 20) > 0)){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say
15:37 camelia rakudo 69c3cc: OUTPUT«Cannot assign to a readonly variable or a value␤  in sub METAOP_TEST_ASSIGN:<||> at src/gen/CORE.setting:15735␤  in sub recursqrt at /tmp/N4jGHrbYKI:1␤  in block  at /tmp/N4jGHrbYKI:1␤␤»
15:38 arnsholt jnthn: Yeah, I think that's a good first approach. Then we can do the proxy thing later
15:38 diakopter std: say $_ ||:= 3
15:38 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix := instead at /tmp/kQepk20Ew6 line 1:�------> [32msay $_ ||[33m�[31m:= 3[0m�Parse failed�FAILED 00:00 43m�»
15:38 diakopter TimToady: bind can't go there?
15:39 jnthn There's only an assignment meta-operator, afaik.
15:39 diakopter [implied question: why not?]
15:39 arnsholt jnthn: There's a bit of a wrinkle in that Parrot lets you have several box_targets with different REPRs though. Think I'll ignore that bit for the time being as well
15:40 jnthn arnsholt: Yeah...I'm not sure we really need that.
15:41 jnthn arnsholt: i mean, you can inline several native ints, for example, but only one can be a box target...
15:47 masak diakopter: Bridge is colomon++'s invention. he says it was necessary to get math to work on Rakudo.
15:47 masak rn: say Bridge
15:47 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/JHzc1etHyyâ�¤Undeclared name:â�¤    Bridge used at line 1â�¤â�¤Â»
15:47 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared name:â�¤        'Bridge' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) â�¤  at /home…
15:47 masak apparently it's not a type, though.
15:47 felher masak: ("Nobody expects the Spanish constitution"). nice. I might have to steal that one... :)
15:48 arnsholt jnthn: Yeah, yeah. But if you have a look at get_boxed_ref on Parrot, you'll see what I mean. As long as the inlines have different REPRs, you can have as many as you want
15:48 masak felher: #perl6 is all about finding ways to parameterize memes.
15:49 felher masak: I see :)
15:49 dalek Perlito/replito: 9391890 | (Flavio S. Glock)++ | / (3 files):
15:49 dalek Perlito/replito: Perlito5 - js - fix variable declaration inside expressions
15:49 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/9391890bed
15:49 dalek Perlito/replito: efea5bc | (Flavio S. Glock)++ | TODO-perlito5:
15:49 dalek Perlito/replito: Perlito5 - TODO update
15:49 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/efea5bca34
15:49 dalek Perlito/replito: 91ab027 | (Flavio S. Glock)++ | / (3 files):
15:49 dalek Perlito/replito: Perlito5 - js - some support for my+if
15:49 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/91ab0276b3
15:49 dalek Perlito/replito: 62da2a6 | (Stanislaw Pusep)++ | / (4 files):
15:49 dalek Perlito/replito: Merge branch 'master' into replito
15:49 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/62da2a6c01
15:50 * masak .oO( rickrollier than thou )
15:55 dmol joined #perl6
16:05 berekuk joined #perl6
16:09 cognominal joined #perl6
16:15 jnap joined #perl6
16:28 xenoterracide_ joined #perl6
16:30 flussence rn: subset Nat of Int where * > 0; sub recursqrt(Nat $square) { $square, {($_ + $square/$_)/2} ... * }; say recursqrt(2)[20]
16:30 camelia niecza v24-95-ga6d4c5f: OUTPUT«1.4142135623730949␤»
16:30 camelia ..rakudo 69c3cc: OUTPUT«1.41421356237309␤»
16:35 flussence rn: subset Nat of Numeric where * > 0; sub recursqrt(Nat $square) { $square, {($_ + $square/$_)/2} ... * }; say recursqrt(1.618)[20]; say 1.618.sqrt
16:35 camelia rakudo 69c3cc: OUTPUT«1.27200628929263␤1.27200628929263␤»
16:35 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0mâ​�¤â�¤System.NullReferenceException: Object reference not set to an instance of an objectâ�¤  at Niecza.P6how.FillClass (System.String[] all_slot, Niecza.STable[] type_slot, Niecza.STable[] superclasses, Niecza.STable[] mro) [0x0000…
16:40 lizmat joined #perl6
16:43 benabik joined #perl6
16:46 TimToady rn: subset Nat of Int where 1..*; sub recursqrt(Nat $square) { $square, {($_ + $square/$_)/2} ... * }; say recursqrt(2)[20]
16:46 camelia niecza v24-95-ga6d4c5f: OUTPUT«1.4142135623730949␤»
16:46 camelia ..rakudo 69c3cc: OUTPUT«1.41421356237309␤»
16:46 spider-mario joined #perl6
16:47 lizmat arrived safely in Frankfurt
16:47 lizmat moritz: too bad   :-(
16:47 TimToady .oO( ich bin ein frankfurter )
16:47 lizmat .oO( nom nom )
16:48 jnthn lizmat: Nice. I'll be there too by this time tomorrow \o/
16:48 * timotimo has not yet gotten a ticket :|
16:48 lizmat cool!  we're going to go out now and check out some places to visit the coming evenings
16:48 lizmat timotimo doesn't have to travel that far, and only by train I hope ?
16:48 timotimo indeed
16:49 timotimo i'll probably be easily able to reach the hotel and venue via tram from the main station, right?
16:49 * TimToady wonders how long it would take him to get there by canoe...
16:49 lizmat there is a train station across the street from the hotel
16:49 timotimo perfect :)
16:50 lizmat Frankfurt am Main West (we think)
16:50 flussence .oO( I wonder if there's any game engines that maintain the framerate by using variable math accuracy everywhere... )
16:50 lizmat bbl &
16:51 not_gerd joined #perl6
16:51 timotimo flussence: floating point already is variable accuracy ;)
16:52 flussence yeah, but I mean of the "stop at an arbitrary point and still get a usable answer" kind
16:52 flussence I guess those photon-simulating engines would qualify...
16:53 timotimo right
16:53 xenoterracide joined #perl6
16:54 timotimo there's a connection that'll see me arrive at 1840 at the main station, is that sensible? i could easily arrive at 1808, too, but it says it'll probably be full of people and i prefer non-crowded trains :P
16:55 dakkar joined #perl6
16:55 not_gerd timotimo: you can easily get from masin station to west via trains S3-S6
16:55 not_gerd s/masin/main/
16:55 timotimo s3, s4, s5 and s6?
16:55 not_gerd should be S3..S6 in p6, I guess ;)
16:56 timotimo nice
16:56 timotimo probably only takes like 10 minutes, right?
16:56 masak only if S-es have a .next method :P
16:57 timotimo yeah, should probably be ... instead?
16:57 not_gerd r: 'S3'..'S6'
16:57 camelia rakudo 69c3cc:  ( no output )
16:57 not_gerd r: say 'S3'..'S6'
16:57 camelia rakudo 69c3cc: OUTPUT«"S3".."S6"␤»
16:57 not_gerd r: say @('S3'..'S6')
16:57 camelia rakudo 69c3cc: OUTPUT«S3 S4 S5 S6␤»
16:58 jnthn masak: .next? I think you .succ
16:58 masak argh!
16:58 masak yes!
17:00 timotimo so, any suggestions for how to make subs available through CALLER?
17:00 jnthn hmm
17:00 jnthn Declare them dynamic?
17:00 jnthn hm
17:00 jnthn std: sub *foo() { }
17:00 camelia std 7c17586: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed block at /tmp/x8pTxJ9JaA line 1:â�¤------> [32msub [33mâ��[31m*foo() { }[0mâ�¤    expecting routine_defâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
17:00 jnthn std: sub &*foo() { }
17:00 camelia std 7c17586: OUTPUT«ok 00:00 43m␤»
17:01 jnthn r: sub &*foo() { }
17:01 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/_EW0BgIuLQâ�¤Missing blockâ�¤at /tmp/_EW0BgIuLQ:1â�¤------> [32msub [33mâ��[31m&*foo() { }[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤        new name to…
17:01 jnthn Implement dat feature :P
17:01 timotimo sigh :)
17:02 TimToady r: my &*foo = sub { say "here" }; { &*foo() }
17:02 camelia rakudo 69c3cc: OUTPUT«here␤»
17:02 jnthn r: my &*foo = sub () { say 'omg CALLERable' }; sub bar() { CALLER::<&*foo> }; say bar().()
17:02 camelia rakudo 69c3cc: OUTPUT«omg CALLERable␤True␤»
17:02 jnthn oh, TimToady beat me to it. But I used CALLER :)
17:04 timotimo oh, that already works, cool :)
17:05 TimToady interesting that that calls it
17:05 TimToady I guess it officially doesn't have a sigil on the front...
17:05 jnthn TimToady: How so?
17:06 jnthn TimToady: Notice my bar().()
17:06 TimToady oic
17:06 jnthn I think it officialy does ;-)
17:06 * TimToady is fine with that
17:06 jnthn :)
17:06 pernatiy joined #perl6
17:06 jnthn Oh, well, depends which "it" you mean... :)
17:07 TimToady r: my &*foo = sub () { say 'omg CALLERable' }; sub bar() { &*foo }; say bar().()
17:07 camelia rakudo 69c3cc: OUTPUT«omg CALLERable␤True␤»
17:07 TimToady not sure *why* you used CALLER tho
17:08 jnthn TimToady: 'cus timotimo was asking about CALLER
17:09 jnthn but yeah, you could easily write that case without it :)
17:10 * timotimo is going to fix up druid now
17:10 timotimo although it doesn't look pretty :(
17:18 timotimo strange, that doesn't work
17:22 timotimo oh
17:22 timotimo hehe
17:22 timotimo turns out if you write it like my &*foo and try to access it before that line is run, it will not be defined
17:23 TimToady well, duh, that's why it's called "dynamic"
17:24 timotimo hehe
17:27 stevan_ joined #perl6
17:29 timotimo masak: feel free to quickly review my pull request on druid?
17:36 zakharyas joined #perl6
17:38 colomon masak, diakopter: Bridge isn't necessary to make math work on Rakudo; it's necessary to allow people to gracefully define new numerical types in Perl 6.
17:47 masak timotimo: will do in a little while.
17:48 timotimo cool
17:48 masak colomon: that sounds interesting. do you have a concrete example of gracefully defining a new numerical type?
17:48 masak maybe that would finally make the role of Bridge click for me.
17:48 timotimo sub params($method) { $method.signature.params ==> grep { .positional && !.invocant } ==> map { .name.substr(1) } }
17:48 timotimo er
17:48 timotimo r: sub params($method) { $method.signature.params ==> grep { .positional && !.invocant } ==> map { .name.substr(1) } }
17:48 camelia rakudo 69c3cc:  ( no output )
17:48 timotimo r: say "hi"
17:48 camelia rakudo 69c3cc: OUTPUT«hi␤»
17:48 timotimo r: sub params($method) { $method.signature.params␤ ==> grep { .positional && !.invocant }␤ ==> map { .name.substr(1) } }
17:48 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QIKUPekZTlâ�¤Bogus statementâ�¤at /tmp/QIKUPekZTl:3â�¤------> [32m [33mâ��[31m==> map { .name.substr(1) } }[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        statement endâ�¤        stateme…
17:49 timotimo is that a regression? that we need to put a \ at the end?
17:51 colomon masak: I don't have an example handy, and don't have time to think of one at the moment.  But keep bugging me about it (at suitable time intervals)....
17:52 masak colomon: oki, will do.
17:52 masak colomon: my preferred example would (of course) be adding surreal numbers. :>
17:55 masak timotimo: https://github.com/timo/druid/commit/6661f​b5a20ffd44c7a56760a477ae78b941123dd#L0R92 (and L94) seems to be... debug output?
17:55 masak timotimo: apart from that, it looks good.
17:56 masak timotimo: if it is debug output, feel free to amend that commit and re-pullrequest.
17:56 jnthn colomon: Was there not a spectest that exercises Bridge to do so?
17:56 * jnthn can't look for it right now, though...
17:56 timotimo oh, yes, debug output
17:56 timotimo that's why i didn't just push it to the repo
17:56 colomon jnthn: yes, but it was a relatively cheesy example I thought up quickly.
17:57 jnthn ah, ok
17:57 timotimo there we go, masak
17:58 masak "there we go"? I only see the old pull request. :/
17:58 timotimo oh? but why?
17:58 masak you tell me.
17:58 ssutch joined #perl6
17:58 timotimo look at the files changed, the debug output is gone
17:58 timotimo hey ssutch :)
17:58 timotimo how are you doing?
17:58 masak oh!
17:58 masak yes, you're right.
17:59 ssutch oh hello
17:59 ssutch i'm swell
17:59 masak timotimo: merged. timotimo++
18:01 timotimo masak: https://github.com/masak/cry​pt/blob/master/t/hanoi.t#L5  -  can you imagine why this would explode with this error: Nominal type check failed for parameter ''; expected Any but got LargerOnSmaller instead (when called from line 39)
18:02 timotimo as far as i can see, LargerOnSmaller is derived from X::Hanoi
18:02 timotimo and X::Hanoi is Exception
18:03 timotimo changing the parameter ex_type to be Mu instead doesn't help
18:03 masak timotimo: could have to do with definedness.
18:03 masak timotimo: passing in a type object there.
18:03 timotimo ah, mhm
18:03 masak timotimo: maybe the type should be Exception:U
18:03 masak the error message sucks, though.
18:03 perigrin Whatsamotta:U
18:04 masak r: class X::MyFootHurts is Exception {}; sub foo($ouch) {}; foo X::MyFootHurts
18:04 camelia rakudo 69c3cc:  ( no output )
18:04 masak hrm.
18:04 masak seems it wasn't that easy, though.
18:04 masak anyway, that was my first thought.
18:04 timotimo huh.
18:05 masak timotimo: my suggestion is to golf the error.
18:05 timotimo i get one more test to pass, then the same error message ;)
18:06 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; sub testsub($ex_type) { say $ex_type; }; testsub(X::Hanoi::LargerOnSmaller);
18:07 camelia rakudo 69c3cc: OUTPUT«Nominal type check failed for parameter '$ex_type'; expected Any but got LargerOnSmaller instead␤  in sub testsub at /tmp/NGF8YGarzP:1␤  in block  at /tmp/NGF8YGarzP:1␤␤»
18:07 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; sub testsub(Mu:U $ex_type) { say $ex_type; }; testsub(X::Hanoi::LargerOnSmaller);
18:07 camelia rakudo 69c3cc: OUTPUT«No such method 'gist' for invocant of type 'LargerOnSmaller'␤  in sub say at src/gen/CORE.setting:12408␤  in sub testsub at /tmp/ykGWbN3xXI:1␤  in block  at /tmp/ykGWbN3xXI:1␤␤»
18:07 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; sub testsub(Mu:U $ex_type) { say $ex_type.message; }; testsub(X::Hanoi::LargerOnSmaller);
18:07 camelia rakudo 69c3cc: OUTPUT«you can't do that␤»
18:08 timotimo now how do i properly check against that exception type?
18:08 timotimo maybe eqv is the right way to do it
18:09 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; sub testsub(Mu:U $ex_type) { X::Hanoi::LargerOnSmaller.new().WHAT eqv $ex_type }; testsub(X::Hanoi::LargerOnSmaller);
18:09 camelia rakudo 69c3cc: OUTPUT«No such method 'new' for invocant of type 'LargerOnSmaller'␤  in sub testsub at /tmp/M7uxBChzLL:1␤  in block  at /tmp/M7uxBChzLL:1␤␤»
18:09 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; sub testsub(Mu:U $ex_type) { X::Hanoi::LargerOnSmaller.new().WHAT eqv $ex_type.WHAT }; testsub(X::Hanoi::LargerOnSmaller);
18:09 camelia rakudo 69c3cc: OUTPUT«No such method 'new' for invocant of type 'LargerOnSmaller'␤  in sub testsub at /tmp/cRuvsHcLhC:1␤  in block  at /tmp/cRuvsHcLhC:1␤␤»
18:09 timotimo r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; say X::Hanoi::LargerOnSmaller.^methods
18:09 camelia rakudo 69c3cc: OUTPUT«No such method 'dispatch:<.^>' for invocant of type 'LargerOnSmaller'␤  in block  at /tmp/M6toAIEzgc:1␤␤»
18:10 timotimo i'm kind of getting the feeling that putting the class definition into the other class is making it bork
18:10 masak r: class A is Exception { class B is A {} }; sub foo($x) {}; foo(B)
18:10 camelia rakudo 69c3cc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RpYo9gQGNCâ�¤Undeclared name:â�¤    B used at line 1â�¤â�¤Â»
18:10 masak r: class A is Exception { class B is A {} }; sub foo($x) {}; foo(A::B)
18:10 camelia rakudo 69c3cc: OUTPUT«Nominal type check failed for parameter '$x'; expected Any but got B instead␤  in sub foo at /tmp/GdUTrLZ5on:1␤  in block  at /tmp/GdUTrLZ5on:1␤␤»
18:10 * masak submits rakudobug
18:10 masak timotimo: yes.
18:10 timotimo putting it outside makes it work indeed.
18:11 timotimo would you welcome a PR to do that change, so that the tests can run again?(
18:11 masak absolutely. ++timotimo
18:11 masak yet another case of "this refactor makes, sense, and will never unearth yet another rakudobug" :P
18:11 masak s/, //
18:12 timotimo :D
18:12 timotimo actually, mind giving me a commit bit?
18:13 timotimo i always feel there's still too much administrative overhead to a one-commit-immediately-approved-pullrequest
18:14 masak indeed. hold on.
18:14 timotimo yays :)
18:14 masak added.
18:14 masak welcome aboard :)
18:18 timotimo huh? it denies me access
18:18 timotimo "ERROR: Permission to masak/crypt.git denied to timo." i don't think i typo'd?
18:19 masak seems it didn't take.
18:19 masak added again. :)
18:19 timotimo ah, wonderful
18:19 timotimo two more modules should be passing smoketests
18:20 colomon \o/
18:20 masak r: class A is Exception {}; class C { class B is A {} }; sub foo($x) {}; foo(C::B)
18:20 camelia rakudo 69c3cc:  ( no output )
18:20 masak hm; nesting in the same class you inherit from seems to be a required part of the problem.
18:22 timotimo tangent, have any of you played Antichamber? it's the kind of game i would expect perl6ians to enjoy
18:26 TimToady timotimo: the ==> isn't a regression, but rakudo has not updated to use STD's recentish change to make ==> a statement separator rather than an operator
18:27 masak timotimo: url?
18:27 TimToady because the line-ending } always terminates a statement
18:28 timotimo http://www.antichamber-game.com/
18:30 timotimo it'll be 66% off on steam for another 4.5 hours (that makes it 6.45 euros in my region)
18:31 masak timotimo: looks delightful.
18:31 kbaker joined #perl6
18:31 xinming joined #perl6
18:32 timotimo i can confirm that it is
18:32 timotimo lots of non-euclidean fun and puzzles
18:34 timotimo also, may as well also recommend FEZ, which also does cool perspective-bending things and is available for windows, mac and linux starting at 4.60 dollars in the current humblebundle.com
18:34 moritz r: my $s :a
18:34 camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Op'␤»
18:34 * moritz submits rakudobug
18:37 masak timotimo: non-EUCLIDIAN!?
18:37 * masak buys it
18:37 masak timotimo: though I think you mean "only locally Euclidian" :P
18:38 timotimo that's true
18:38 moritz .oO( in first order approximation, everything is linear! )
18:38 timotimo sometimes you turn around and behind you is a hallway that wasn't there before :3
18:38 jnthn masak: Pretty sure that heritage one you just submitted is already in fwiw. :)
18:39 masak timotimo: speaking of which, have you read http://www.fimfiction.net/stor​y/62074/Friendship-is-Optimal ?
18:39 masak jnthn: ok, will scan for it.
18:39 masak jnthn: hehe, "heritage" :P
18:39 timotimo i have not :)
18:39 masak timotimo: do.
18:39 masak compared to HPMoR, it's a short read.
18:40 jnthn TimToady: Not sure if I asked or missed the answer, but why is the colonpair in rule trait about?
18:40 masak and it did teach me about optimizers (in the AI sense).
18:40 jnthn uh, what :)
18:40 jnthn or why is it there... :)
18:40 timotimo oh, it's already completed!
18:40 TimToady jnthn: it's just the view that 'is' is syntactic sugar for an adverb
18:43 masak jnthn: scanned, and didn't find any dupe for that problem.
18:43 masak jnthn: if it's in there, then probably I didn't file it, because I tend to find my own tickets.
18:45 masak rn: my @a = [1], [2], [3]; say (map { @a[1 - $_][0] }, 0 .. 3).perl
18:45 camelia niecza v24-95-ga6d4c5f: OUTPUT«(2, 1, Any, Any).list␤»
18:45 camelia ..rakudo 69c3cc: OUTPUT«(2, 1, Failure.new(exception => X::AdHoc.new(payload => "Cannot use negative index -1 on Array")), Failure.new(exception => X::AdHoc.new(payload => "Cannot use negative index -2 on Array"))).list␤»
18:46 * masak amends RT #98954
18:46 * synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=98954
18:46 masak synopsebot: hey! gracias!
18:48 btyler masak: I'd like to file a claim to recover 1.5 weekend days, given that said quantity of time was lost to reading the entirety of HPMoR after hearing you mention it here.
18:49 jnthn TimToady: ah, so it dispatches to trait_mod:<is>?
18:50 jnthn TimToady: Passing the colonpair as a named arg?
18:54 masak btyler: :)
18:55 masak btyler: I find myself haunting the hpmor subreddit these days, along with re-reading the fanfic through the podcast, and following reading suggestions from the author notes, *and* reading through the sequences over at LessWrong. so don't come here complaining about lost time! :P
18:57 zby_home_ joined #perl6
18:57 btyler masak: yikes, and I thought I'd be able to return to productivity once I'd finished the story archive...I steer clear of reddit, as 'finishing' has no meaning there.
18:59 masak the same could be said of IRC. :P
19:00 TimToady jnthn: :foo('bar') is supposed to be the same as "is foo('bar')"
19:01 jnthn TimToady: ok, thanks
19:01 PerlJam masak: or of programming languages :)
19:03 masak PerlJam: touché.
19:15 zwut00 joined #perl6
19:21 masak oh, and here's a reddit thread with people agreeing on how HPMoR "ruined" the original Harry Potter series for them simply by being superior.
19:22 xinming joined #perl6
19:23 lowpro30 joined #perl6
19:24 Ulti timotimo I got the bundle too, but FEZ is all bugged on my Mac ;___;
19:24 timotimo aaw :(
19:25 Ulti I'm assuming it will work under Windows though since its essentially an xbox, right?
19:25 moritz masak: have you read "luminosity"?
19:25 masak moritz: no -- is it worth it?
19:25 moritz masak: I liked it. It's not as rational-y as HPMoR
19:25 masak moritz: I don't have much of a connection to the Twiligt universe at all.
19:26 masak Twilight*
19:26 moritz masak: but I've at least seen parts of the first twilight movie, and got some ideas of the rest by proxy, and luminosity is refreshingly different
19:27 moritz masak: at the end I thought "yes, that's how it would have happened" :-)
19:28 timotimo Ulti: it's known to have some performance issues ...
19:28 timotimo Ulti: OOC, what kind of buggyness are you getting?
19:31 Ulti the backdrops to rooms when you go inside is translated towards the bottom of the screen
19:31 Ulti so you jump on things and the collision box is there but you have no idea what you are jumping on, or even where the door to get out again is!
19:32 timotimo oh crap :(
19:33 Ulti yeah :<
19:33 Ulti it doesn't run at all on more modern Macs with the Intel 4000 integrated graphics
19:34 Ulti which kind of sucks if they are doing an "OSX release" if it doesn't actually run on 99% of the computers that use OSX
19:34 timotimo >_<
19:35 masak moritz: I will give it a chance.
19:35 masak moritz: thanks for the tip.
19:36 moritz masak: let me know if/how you liked it :-)
19:38 dalek roast: a851ef3 | moritz++ | S02-names-vars/variables-and-packages.t:
19:38 dalek roast: RT #74076: $OUTER::_ in a subroutine inside a loop
19:38 dalek roast: review: https://github.com/perl6/roast/commit/a851ef3731
19:38 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=74076
19:38 masak moritz: will do.
19:42 * moritz should download the newly-done early hpmor podcast episodes
19:44 dalek roast: 03d12d6 | moritz++ | S12-introspection/can.t:
19:44 dalek roast: RT #76882: calling methods with sub call syntax outside the class
19:44 dalek roast: review: https://github.com/perl6/roast/commit/03d12d694a
19:44 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=76882
19:46 masak wow. cascade bot output, and it's actually useful.
19:48 * [Coke] is to board the final leg to frankfurt.
19:48 [Coke] *about*
19:48 stevan_ joined #perl6
19:48 jnthn [Coke]: Good flight.
19:49 jnthn [Coke]: And see you tomorrow! :)
19:50 moritz [Coke] is coming to .de, and I can't come :/
19:51 FROGGS moritz: I know how that sucks (not being able to come)
19:51 colomon moritz: we can hang out on #perl6 and bemoan our fates.
19:51 * colomon will be helping host a 5th birthday party part of the time
19:51 [Coke] jnthn: it'll still be today!
19:52 FROGGS my youngest son my my wife used to be ill almost two years in a row
19:52 [Coke] FROGGS: ugh.
19:52 [Coke] lizmat++ lizmat++
19:52 FROGGS [Coke]: he came three months early, it was hard for both
19:52 * [Coke] makes sure he grabs an up to date rakudo.jvm before boarding.
19:53 FROGGS and if you thought: yay finally we got it, then one (or both) of them got ill again, and went to hospital
19:53 [Coke] FROGGS: I hope everyone is ok now.
19:53 FROGGS yeah, it is all perfect since march or so
19:54 [Coke] .tell lizmat I'm kind of dressed like a bald priest.
19:54 yoleaux [Coke]: I'll pass your message to lizmat.
19:54 masak now there's an utterance I didn't expect to see on #perl6 today...
19:54 FROGGS [Coke]: covered in aluminium?
19:56 [Coke] ... an American priest? (all black, banded collar. just missing the white wraparound.)
19:56 jnthn [Coke]: Just borrow the pillowcase from the plane and you'll be good on that too :P
19:57 [Coke] jnthn++
20:01 dalek perl6-roast-data: fbab0bb | coke++ | / (5 files):
20:01 dalek perl6-roast-data: today (automated commit)
20:01 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/fbab0bb480
20:01 [Coke] sadface: rakudo.jvm failed to run today.
20:02 [Coke] I may need to start capturing the build output also.
20:02 [Coke] I'll make sure we have a clean run again before the workshop ends.
20:07 * colomon is worried that some poor, unsuspecting priest is going to find himself dragged to the p6 workshop….
20:10 * ingy salutes o>
20:11 FROGGS o\
20:13 timotimo [Coke]: would it be problematic to align the fields in the perl6_pass_rates.csv?
20:19 masak ingy: <o <o <o
20:19 * masak .oO( if it greets like a duck... )
20:19 masak colomon: they would learn about Not Quite the Pearly Gates. :P
20:21 lizmat joined #perl6
20:24 krokite joined #perl6
20:28 Rotwang joined #perl6
20:32 woolfy joined #perl6
20:33 jnthn > function omg($wtf) { echo $wtf . " bbq\n"; }; omg("beef")
20:34 jnthn oops
20:34 ingy looks like JavaShell
20:35 jnthn smells like meat!
20:35 ingy jnthn!
20:36 jnthn o/ ingy
20:37 ingy omg() { echo "$1 bbq"; }; omg beef
20:37 * ingy PortGolfs to Bash
20:39 TgMts joined #perl6
20:39 woolfy joined #perl6
20:39 * ingy is working on something like RosettaCode that is focused on Idioms rather than Tasks/Scripts
20:40 ingy with perl6 of course
20:41 masak could you be more specific about "with perl6 of course"? :)
20:42 tgt joined #perl6
20:42 masak does it mean "of course, Perl 6 is on the list of allowed languages on the site"... or "of course, I'm implementing the whole thing in Perl 6"? :)
20:42 ingy masak: yes ;)
20:42 FROGGS "yes"
20:43 FROGGS :P
20:44 ingy FROGGS: was writing in Bash. Quotes not needed.
20:44 ingy or maybe that was YAML
20:44 * ingy can't stay focused, nanosec to nanosec
20:44 FROGGS I meant the quotes like in "lazer"
20:45 ingy ah, I think you mean "La" "Zer"
20:45 ingy double double
20:46 FROGGS might be the case
20:47 masak wow, PHP really managed to grab the ugly bits of Perl, while throwing away the useful bits, didn't it? :/
20:47 FROGGS hehe
20:47 masak like, keep sigils, but only the $ sigil. :(
20:47 FROGGS well, at least this one does not change
20:47 FROGGS preg_match('/^.$/', ...) # shudder
20:48 lowpro30_ joined #perl6
20:48 timotimo :D
20:48 FROGGS and operator precedence is insane too, dunno where they got that from
20:48 lee_ i always wondered why the delimiters are required in PHP, if it's all just a string
20:48 FROGGS lee_: nobody knows *g*
20:49 lee_ hehe
20:49 masak I'm sorry. I forgot that talking about PHP makes me incredibly depressed. I apologise for bringing it up.
20:49 lee_ even the implementers don't know, i'm sure
20:49 timotimo can you use any delimiter you want?
20:49 timotimo inside that string?
20:49 FROGGS not sure
20:49 lee_ yes
20:49 timotimo at least!
20:52 lue masak: think happy thoughts of Camelia casting shadows over all the other languages.
20:53 masak lue: when Camelia casts shadows over other languages, the other languages light up :)
20:53 lue so they can still see in the darkness, sure. :)
20:54 * masak .oO( Perl 6 is the ingy of programming languages )
20:55 FROGGS Perl 6 is naked?
20:56 PerlJam Perl 6 is responsible for YAML?
20:57 kivutar joined #perl6
20:58 ingy Perl 6 (like me) is only *partially* responsible for YAML
20:59 araujo joined #perl6
20:59 ingy YAML: The Bad Parts™ -- Ingy döt Net
21:00 * ingy has *no* time to write this future O'Reilly gem!
21:04 diakopter FROGGS: I can see Camelia's clothes; she's wearing an asteroid belt
21:08 stevan__ joined #perl6
21:14 lue So that's where the Kuiper belt went.
21:23 ingy is there a POD grammar in p6g?
21:24 FROGGS yes
21:24 ingy great!
21:25 FROGGS https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/Grammar.nqp#L487
21:27 lizmat gnight #perl6!
21:27 yoleaux 19:54Z <[Coke]> lizmat: I'm kind of dressed like a bald priest.
21:27 masak tadzik++ # Pod
21:27 thou joined #perl6
21:27 masak ingy: by the way, it's "POD" for Perl 5, and "Pod" for Perl 6.
21:27 ingy seems like something that would be useful in its own grammar
21:28 ingy masak: lowercase is the future
21:29 woolfy left #perl6
21:29 masak definitely. if COBOL had been invented in 2013, it'd been called "iCobol".
21:29 * ingy has been tending to lowercase filenames like readme and changes and manifest
21:29 ingy Makefile is messing with me, though!
21:30 ingy modern shell envs don't sort README to the top
21:31 ggoebel joined #perl6
21:31 ingy FROGGS: thx, btw
21:32 FROGGS you're welcome
21:36 donaldh joined #perl6
21:40 BenGoldberg joined #perl6
21:41 ggoebel joined #perl6
21:43 EvanTeitelman joined #perl6
21:53 BitPuffin joined #perl6
21:53 TimToady maybe we should rename README to ABRACADABRA or some such
21:54 diakopter DRINKME
21:55 TimToady AARDVARK would sort before either of those
21:58 TimToady or name it 600DBEE8 and see if people mistake it for goodbeer
21:58 * masak wouldn't
21:59 diakopter booed bieber maybe
21:59 TimToady okay, just name the file ^A if you really want it to sort to the front...
22:00 donaldh 1ST_README
22:00 TimToady 0TH_README
22:01 donaldh 0H_PLEEZ_README
22:03 masak 0H_GOD_NOT_ANOTHER_README
22:03 masak 0H_PLEASE_KILL_ME_NOW_BEFORE_​I_READ_ANOTHER_USELESS_README
22:09 flussence the only safe answer is to make a directory named ^A and put the readme in there, to catch people who use dirs-first sorting...
22:10 ingy flussence++
22:11 ingy or follow the lead of git.git and put a grillion things at the top level
22:11 ingy readme-if-you-can-findme
22:12 flussence .oO( unimportant files can go in a directory named .🐱 )
22:12 masak congratulations-you-finally-​found-the-actual-readme-file
22:12 masak hahaha-disregard-that-this​-is-the-actual-readme-file
22:13 masak those-other-files-are-full-of-lies​-this-is-the-authentic-readme-file
22:14 panchiniak joined #perl6
22:15 ingy r: say "🐱".lc
22:15 camelia rakudo 69c3cc: OUTPUT«🐱␤»
22:16 ajr joined #perl6
22:19 * masak .oO( you can't lowercase ignorance! )
22:20 jnthn .oO( I'm going to go on believing I can! )
22:22 ingy You can't lowercase german nouns either, iirc…
22:24 * masak .oO( you can't lowercase "Ignoranz" )
22:35 donaldh In NQP, can roles have attributes?
22:37 jnthn yes
22:40 donaldh hmm, getting a NullPointerException when trying to use an attribute defined in role Perl6::ModuleLoaderVMConfig
22:40 btyler_ joined #perl6
22:42 jnthn Hmm...but do we work on an instance of Perl6::ModuleLoader? I thought we only worked against the type object..
22:42 skids joined #perl6
22:42 donaldh ah
22:42 timotimo is there a reason i should arrive a long time before the social dinner thingie? i can still get the hotel room after the dinner, right?
22:50 * masak is amazed the course even has a social dinner thingie
22:57 Mouq docs.perl6.org seems to have an error with escaping links: http://doc.perl6.org/routine/prefix:<?> should be  http://doc.perl6.org/routine/prefix:<%3f>
22:57 Mouq Well, bug
22:58 masak Mouq: please report it at https://github.com/perl6/doc/issues
23:02 Mouq Well, or fix it myself … https://github.com/perl6/doc​/blob/master/htmlify.pl#L26
23:06 * donaldh has panda working on jvm
23:07 donaldh https://github.com/rakudo/rakudo/pull/208
23:07 Mouq donaldh++
23:08 masak donaldh++
23:08 jnthn donaldh++
23:09 dalek rakudo/nom: efac451 | (Donald Hunter)++ | src/ (4 files):
23:09 dalek rakudo/nom: Implement absolute path lookup in ModuleLoader.
23:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/efac451801
23:09 dalek rakudo/nom: 628944c | (Donald Hunter)++ | src/Perl6/ModuleLoader.nqp:
23:09 dalek rakudo/nom: Remove whitespace.
23:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/628944cbd4
23:09 dalek rakudo/nom: 67c6fd9 | (Carl Mäsak)++ | src/ (4 files):
23:09 dalek rakudo/nom: Merge pull request #208 from donaldh/abs-search-path
23:09 dalek rakudo/nom:
23:09 synopsebot Link: https://rt.perl.org/rt3//Pub​lic/Bug/Display.html?id=208
23:09 masak donaldh: merged.
23:09 dalek rakudo/nom: Implement absolute path lookup in ModuleLoader.
23:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67c6fd98bb
23:09 benabik joined #perl6
23:11 fridim__ joined #perl6
23:11 pmurias joined #perl6
23:11 donaldh tadzik: https://github.com/tadzik/panda/pull/56 avoids LexoticException in panda
23:12 * donaldh thinks it's cleaner to use temp $*CWD instead of chdir and LEAVE { chdir $orig }
23:13 timotimo i think so, too
23:13 donaldh ==> Successfully installed Term::ANSIColor
23:14 timotimo ooooh panda on jvm
23:14 timotimo this is awesome
23:14 timotimo this is great news!
23:15 jnthn .oO( <sing>donaldh brings the JVM star...</sing> )
23:15 ingy where are you guys meeting up?
23:16 masak wow, panda on JVM!
23:16 masak that deserves a blog post from *someone*.
23:16 * ingy would have to write the P6 blogging platform first :\
23:17 ingy so you guys are in .de for???
23:17 masak ingy: just use zblog :)
23:17 * donaldh is happy to help
23:17 masak donaldh: if I could merge that pull request, I would. but seems I don't have the ackles.
23:18 masak 'night, #perl6
23:18 donaldh also goodnight from me
23:18 jnthn 'night
23:18 ingy masak: what's zblog?
23:19 ingy and what are ackles?
23:19 donaldh ACLs
23:20 donaldh permissions
23:20 diakopter access control lists
23:24 timotimo the pull request works fine on parrot?
23:25 timotimo i'll try. i think i have ackles to merge
23:34 timotimo fox business did a piece on github and they have a little dictionary on the side where they explain that "forked" means "edited code", pull request means "requesting edit rights" and a "reposotory" is a "big chunk of code" ... o_O
23:34 timotimo that's ... interesting
23:40 jnthn Looks fair and balanced to me... :P
23:41 timotimo shouldn't i be able to get the pull request just from fetching?
23:42 gdey joined #perl6
23:42 Mouq timotimo: no, you have to fork before making a pull request to fork
23:43 timotimo yes!
23:43 timotimo no, wait
23:43 timotimo you have to make a pull request to get the permission to fork
23:45 * Mouq .oO( Whoa, rakudo has over 10,000 forks! )
23:47 timotimo for some reason the panda patch seems to up my memory usage by a whole lot or something
23:48 timotimo or something else is going wrong, which is always possible
23:56 jnthn 'night, #perl6

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

Perl 6 | Reference Documentation | Rakudo