»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
stevan_ joined
00:04
locsmif left,
stevan__ joined
|
|||
dalek | rlito: 7b453fd | (Flavio S. Glock)++ | / (5 files): Perlito5 - fix statement modifiers |
00:05 | |
00:06
stevan_ left
00:07
hacker joined,
hacker is now known as Guest80152
00:11
Guest80152 left
00:12
Psyche^ joined
00:14
stevan__ left
00:15
Psyche^_ left,
stevan_ joined
00:18
pmurias left
00:19
jnap left
00:20
jnap joined
|
|||
dalek | rlito: 896a405 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - emitter cleanup |
00:21 | |
00:22
pernatiy left
00:31
Vlavv` joined
00:56
thou joined
01:01
jnap left
01:03
krokite left
01:09
pernatiy joined
01:11
pernatiy left,
pernatiy joined
01:35
colomon left
01:36
colomon joined
02:14
EvanTeitelman left
02:24
kbaker left
02:46
btyler joined
03:00
fridim__ joined
03:10
preflex left
03:13
preflex joined,
ChanServ sets mode: +v preflex
03:26
BenGoldberg left
03:35
btyler left
03:40
btyler joined
03:42
zakame left
04:10
btyler left,
pernatiy left
04:11
pernatiy joined
04:15
fridim__ left
|
|||
moritz | preflex: karma lizmat | 05:01 | |
preflex | lizmat: 174 | ||
05:02
[Sno] left
05:04
census left
|
|||
Mouq | r: my \| = "test" | 05:05 | |
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/HlcmJ7Xd2GMalformed myat /tmp/HlcmJ7Xd2G:1------> my ⏏\| = "test" expecting any of: scoped declarator» | 05:06 | |
Mouq | std: my \| = "test" | ||
camelia | std 7c17586: OUTPUT«===SORRY!===Malformed my at /tmp/8xGB15BKHv line 1:------> my ⏏\| = "test" expecting any of: name scoped declarator statement end statement listParse failedFAILED 00:01 41m» | ||
05:08
thou left
05:13
[Sno] joined
05:19
SamuraiJack joined
05:20
panchiniak_ joined
|
|||
Mouq | r: $*PID++; say $*PID # Hmm | 05:37 | |
camelia | rakudo 69c3cc: OUTPUT«8494» | ||
Mouq | r: say $*PID++; say $*PID # Hmm | ||
camelia | rakudo 69c3cc: OUTPUT«84998500» | ||
05:46
dmol joined
06:05
xinming left
06:06
zakame joined
06:08
xinming joined,
mberends left
06:14
rhr joined
|
|||
diakopter | Mouq: :) | 06:19 | |
06:24
ggoebel2 joined
06:26
ggoebel left,
kaleem joined,
FROGGS joined
06:41
nebuchadnezzar left
06:53
raiph left
06:54
iSlug joined
06:55
pupoque joined
06:58
pupoque left
06:59
pupoque joined
07:05
dmol left,
dmol joined,
qiyong joined
|
|||
qiyong | rakudo is a compiler and interpreter? | 07:05 | |
07:05
domidumont joined
|
|||
moritz | qiyong: didn't we discuss this topic this week already? | 07:07 | |
qiyong | moritz: no | 07:08 | |
i was told rakudo is a compiler | |||
i wonder if it's a interpreter too | |||
07:09
zakharyas joined
|
|||
moritz | qiyong: the lines between compiler and interpreter are somewhat blurry | 07:10 | |
FROGGS | I was about to ask what the difference is | ||
morning btw | |||
moritz | in the very early days, interpreters would only parse the code as they executed it | ||
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 | ||
FROGGS: I have no idea how PHP works or worked | |||
TCL was a classical example | |||
FROGGS | well, hmm | ||
qiyong | i typed perl6 and got a prompt | ||
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 | ||
qiyong: code | |||
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 | ||
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 | ||
qiyong | repl? | 07:14 | |
FROGGS | read–eval–print loop (REPL) | ||
bonsaikitten | TCL is the classical example of an interpreter | ||
qiyong | p5, p6, which is easier to use? | ||
bonsaikitten | iirc php already "compiles" to bytecode (like python and java and most others) | ||
FROGGS | I'd say P6 | ||
because it is a bit saner than P5 | |||
bonsaikitten | in terms of documentation / tutorials / ... P5 should be easier to access | 07:15 | |
FROGGS | the programming language that is | ||
if you talk about which do I might have on my box already (or a foreign box), then it is clearly P5 | |||
qiyong | so all new projects should choose p6 | ||
FROGGS | depends on the task | 07:16 | |
that is, you should always think about which programming language to choose for what purpose | |||
qiyong | what python is good at and perl not? | 07:17 | |
and vice verse | |||
FROGGS | I probably would use P5 for a cronjob oneliner... | ||
qiyong: you might want to ask masak or tadzik about that, since I know nothing about python | 07:18 | ||
*lol* </insider> | |||
qiyong | FROGGS: what else do you know? besides perl | ||
FROGGS | C, PHP, JavaScript, TurboPascal | ||
hmmm | |||
C++ ten years ago | 07:19 | ||
qiyong | TurboPascal is dead | ||
JimmyZ guesses qiyong is a student | |||
FROGGS | I still know it :o) | ||
qiyong | JimmyZ: pourquoi | ||
FROGGS: do you use it? | |||
FROGGS | no | ||
ahh, and I'm forced to know and use VBA | |||
and btw, I didn't say HTML because it is not a programing language </rage> | 07:20 | ||
07:20
ssutch left
|
|||
qiyong | what about HTML5? | 07:21 | |
FROGGS | had no time/interest to get in touch with it yet | ||
qiyong | for a modern website project, what framework is good ? | 07:22 | |
python's, ruby's perl's? | |||
tadzik | oh, the compiler/interpreter problem | ||
always so much fun | |||
I don't think any alive language still uses an interpreter, so I'd say the term needs a redefinition of sorts | 07:23 | ||
or at least for a purpose of all those discussions | |||
07:23
nebuchadnezzar joined
|
|||
FROGGS | qiyong: the one that fits your needs and the one you like/understand most | 07:23 | |
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 | ||
JimmyZ | MoarVM use an interpreter, there is an interp.c file | ||
:P | |||
FROGGS | :P | ||
qiyong | are perl sites still populer? | ||
tadzik | at some point you always have an interpreter, even if it's in the CPU :) | ||
moritz | qiyong: seems like. bbc.co.uk for example. Or booking.com | 07:25 | |
JimmyZ | and ticketmaster.com | 07:26 | |
qiyong | moritz: how do you know bbc uses perl? | ||
FROGGS | this is what I call user-friendly btw: www.template-toolkit.org/ | ||
(the website itself) | |||
mathw writes sites in Perl, occasionally | |||
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 | ||
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. | ||
Of course the recruiter might have been lying, they do that sometimes. | 07:30 | ||
07:30
Rotwang joined
07:31
domidumont left
|
|||
bonsaikitten | that company name is about as bad as it gets :) | 07:32 | |
07:32
domidumont joined
|
|||
bonsaikitten took a while to realize that they are not, as the name suggests, erm, 'adult' material | 07:32 | ||
moritz | bonsaikitten: same here | 07:33 | |
tadzik | you dirty minds, you | ||
I just thought about Hippies | |||
but speaking of which, youporn was running on Perl for quite a time | |||
moritz | and a newer cool but not quite so popular perl project: lacuna expanse | 07:34 | |
07:43
Rotwang left
07:49
teslos joined
07:51
lizmat left
|
|||
qiyong | is perl suitable for web2.0? | 07:55 | |
bonsaikitten | of course | ||
moritz | is qiyong suitable for bullshit bingo? | ||
07:57
lizmat joined
07:59
iSlug left,
woolfy left,
ryanf joined
08:00
ryanf left,
ssutch joined
|
|||
tadzik | :) | 08:00 | |
08:03
woolfy joined
|
|||
FROGGS | qiyong: ooc, do you know what web2.0 is? | 08:04 | |
qiyong | FROGGS: not quite | ||
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:06 | |
(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 | rlito: fa4c162 | (Flavio S. Glock)++ | / (5 files): Perlito5 - AST tweak - statement modifiers |
||
08:10
iSlug joined
|
|||
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» | ||
JimmyZ | r: say "web1.0" ... "web10.0" | ||
camelia | rakudo 69c3cc: OUTPUT«(timeout)» | ||
FROGGS | r: say "web1.1" ... "web9.9" | 08:11 | |
JimmyZ | r: say "web01.0" ... "web10.0" | ||
camelia | rakudo 69c3cc: OUTPUT«(timeout)» | ||
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,
mberends joined
|
|||
tadzik | JimmyZ the prophet | 08:17 | |
Web 2.0 = HTML5 - CSS3 | |||
08:17
pupoque left,
johnny5_ left
08:20
dmol left
|
|||
mathw | web 2.0 = largely meaningless label | 08:22 | |
moritz | just like "cloud" | ||
08:23
iSlug left
08:25
dmol joined
|
|||
jnthn | morning, #perl6 | 08:25 | |
moritz | \o jnthn | 08:26 | |
masak | morning, #perl6! | 08:27 | |
08:29
poor_soul joined
|
|||
mathw | moritz: just put it in the cloud, and we won't have to worry about it anymore! Set your data free! | 08:29 | |
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 :-) | ||
*enough | |||
FROGGS | moritz: exactly # cloud | ||
hi jnthn, masak o/ | |||
jnthn: you make me post that link again? :P | 08:31 | ||
jnthn | FROGGS: aarrgh, no! | 08:32 | |
FROGGS | *g* | 08:33 | |
masak | jnthn: in your... WHAT WHAT? | ||
FROGGS | I've even seen the making of O.o | ||
hehe | |||
masak | haha | ||
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
cognominal left
|
|||
FROGGS | jnthn: what t-shirt size do you wear? (there might be sammy rockwell shirt available online as a gift) | 08:34 | |
shirts* | |||
08:34
mberends left
|
|||
FROGGS .oO( The Ghost-Shirt of Christmas' Future ) | 08:35 | ||
08:35
ssutch left
|
|||
tadzik | shame this song has almost no music, otherwise I'd learn to play it | 08:35 | |
FROGGS | tadzik: sad that I am unable to play a resican flute | 08:36 | |
we could play a duet in a jeffey's tube otherwise | |||
tadzik | there can be only one | 08:37 | |
FROGGS | jeffrey's* | ||
tadzik | oh yes, with the roll-up piano | ||
FROGGS | yeah | ||
that song is le awesome | |||
can you play it? | |||
tadzik | the Ressikan Flute? I don't think I ever tried | ||
FROGGS | I mean, I remember it was pretty simple | ||
tadzik | but I was actually inspired by that episode | ||
"hey, Picard can improvise on a flute, I should be able to do that to" | 08:38 | ||
FROGGS | Picard++ # I love this "man" | ||
tadzik | and those tips that his crush (heh, almost Crusher) gives is, while it sounds obvious, is actually quite useful too | ||
s/gives is/gives him/ | 08:39 | ||
"play this and then start adding random notes when you feel like it" | |||
FROGGS | yeah | ||
tadzik | that both makes sense and works quite well | ||
poor_soul | r: class A {our constant b = 5;}; my A $a .= new; say A::b #This should work | ||
camelia | rakudo 69c3cc: OUTPUT«5» | ||
FROGGS | I played guitar like 13 years ago, but I sold it unfortunately :/ | ||
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)» | ||
tadzik | aw | ||
I was never able to "feel" the guitar | |||
I can play stuff from the notes, but not so much from my head, if you know what I mean | |||
mathw had lute lessons for a short period | |||
mathw also dabbles on the ukulele, but has never played a guitar | |||
tadzik | it works quite well for me with the piano or even the recorder (?) | ||
no, not a recorder | 08:41 | ||
harmonica, that's the wor | |||
d | |||
mathw | mmm yes they're quite different | ||
particularly in that I can play the one, but not the other :) | |||
tadzik | I used to play the recorder too :o | ||
they taught us that in primary school | |||
mathw | me too | ||
tadzik | I wonder if they do that in every country | ||
08:42
dakkar joined
|
|||
mathw | I've got a lesson tomorrow, need to practice | 08:42 | |
doing my grade 8 exam this year | |||
tadzik | I remember getting a 6 (the highest possible grade) for learning to play the Star Wars theme on it | ||
mathw | :) | ||
nice | |||
tadzik | coincidentally, it was a year before I was sent to music school :) | ||
I need to ask my parents if that was a coincidence | |||
mathw | I doubt it had absolutely nothing at all to do with it | ||
in that it demonstrates some level of musical ability... | |||
tadzik | apparently | 08:43 | |
or at least some mana for it | |||
mathw | I think my highest musical achievement at school was learning to play the Wombles theme on the recorder | 08:45 | |
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:46 | ||
tadzik | story similar to mine | 08:47 | |
masak | that awful violin teacher gets around. | ||
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 | ||
and now I'm 22 and I started to relearn things because I'm old enough to appreciate them | 08:48 | ||
mathw | yeah | ||
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 | ||
if someone had taught me that... | |||
tadzik | I had this thought "gee, I need some hobby/skill other than computers... oh wait, I *do* have some..." | ||
08:49
mberends joined
|
|||
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:49 | |
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:50 | |
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 | ||
poor_soul | is it ok for this to crash? | ||
r: enum A (a=>3,b=>10,c=>1); class B { BEGIN for A.enums.kv -> $k, $v { our $k ::= $v }; }; say B.b | |||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!===Null PMC access in get_bool()» | ||
tadzik | certainly not in this way | ||
masak | poor_soul: certainly not ok. | 08:52 | |
masak submits rakudobug | |||
moritz | tadzik: maybe www.youtube.com/watch?v=KZ4ZNbiO15M will amuse you # Victor Borge, "A Mozart Opera" | ||
jnthn | Shouldn't crash, but I'm not sure I know what it should do either :-) | ||
mathw | "Null PMC access" is always a bug, IIRC | ||
moritz | overwriting B::k with each enum value in turn doesn't sound too useful | 08:53 | |
mathw: with one exception... | |||
r: say nqp::null() | |||
jnthn | moritz: yes :) | ||
camelia | rakudo 69c3cc: OUTPUT«(Mu)» | ||
moritz | oh | ||
jnthn | haha | ||
moritz | r: nqp::say(nqp::null()) | ||
camelia | rakudo 69c3cc: OUTPUT«Null PMC access in get_string() in block at /tmp/SXa_pNMoV4:1» | ||
mathw | moritz: that... that doesn't count | ||
jnthn | It actually knows how to turn null => Mu in places, which makes it harder to get a NPMCA :) | ||
poor_soul | i was trying to find a way to declare constants in a class based on a enum | ||
mathw | you caused that one deliberately | ||
jnthn | poor_soul: Does declaring the enum in the class not do it? :) | 08:54 | |
08:54
fhelmberger joined
|
|||
poor_soul | jnthn: it does only partially, since if i want to use it, i need to put the name of the enum | 08:54 | |
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()» | ||
jnthn | r: class A { enum B <c d e>; method m() { say e } }; A.m | ||
camelia | rakudo 69c3cc: OUTPUT«e» | ||
jnthn | r: class A { enum B <c d e>; method m() { say +e } }; A.m | ||
camelia | rakudo 69c3cc: OUTPUT«2» | ||
masak | ooh, in fact... | ||
r: enum A (a=>3); BEGIN for A.enums {} | |||
jnthn | Short names seem to work to me. | ||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!===Null PMC access in get_bool()» | ||
jnthn | r: enum A (a=>3); | 08:56 | |
camelia | rakudo 69c3cc: ( no output ) | ||
08:56
SamuraiJack_ joined
|
|||
jnthn | r: enum A (a=>3); BEGIN A.enums | 08:56 | |
camelia | rakudo 69c3cc: ( no output ) | ||
jnthn | r: enum A (a=>3); BEGIN A.enums.perl.say | ||
camelia | rakudo 69c3cc: OUTPUT«("a" => 3).hash» | ||
jnthn | r: enum A (a=>3); BEGIN { for A.enums { }; 1 } | ||
camelia | rakudo 69c3cc: ( no output ) | ||
jnthn | r: enum A (a=>3); BEGIN { for A.enums { } } | ||
camelia | rakudo 69c3cc: ( no output ) | ||
jnthn | r: enum A (a=>3); BEGIN for A.enums { } | 08:57 | |
camelia | rakudo 69c3cc: OUTPUT«===SORRY!===Null PMC access in get_bool()» | ||
jnthn | wow...you need the blockless form to trigger it. | ||
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:58 | |
moritz | poor_soul: it won't work that way | 08:59 | |
poor_soul: because 'our' doesn't install methods | |||
FROGGS | yeah, I would suggest you work with public attributes | ||
moritz | or maybe don't mix up constants and methods | 09:00 | |
09:00
SamuraiJack left
|
|||
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 | ||
FROGGS | poor_soul: no, the keyword is 'has' | 09:02 | |
r: class B { has $.a = 3 }; say (my $b = B.new).a | |||
camelia | rakudo 69c3cc: OUTPUT«3» | ||
poor_soul | FROGGS: that way $.a is not constant | 09:03 | |
jnthn | That's kinda wasteful though, as you store the constants per instant. | ||
FROGGS | jnthn: just install more RAM then :o) | ||
jnthn | While B::a is clearly package scoped | 09:04 | |
There's no reason to make it B.a. Then you convey to the reader, "this is something that may vary per instance". | |||
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 | ||
*instance | 09:06 | ||
jnthn | poor_soul: True, but the methods would work just fine on instances too... | ||
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' | ||
r: class B { enum A (a=>3,b=>10,c=>1);}; my $b = B.new; say $b::a | |||
camelia | rakudo 69c3cc: OUTPUT«(Any)» | ||
jnthn | $b::a has nothing to do with the variable $b | 09:07 | |
masak | rt.perl.org/rt3/Ticket/Display.html?id=119749 | ||
jnthn | It's the same as b::<$a> | ||
09:07
iSlug joined
|
|||
jnthn | r: class B { enum A (a=>3,b=>10,c=>1) }; say B::a | 09:08 | |
camelia | rakudo 69c3cc: OUTPUT«a» | ||
jnthn | r: class B { enum A (a=>3,b=>10,c=>1) }; say +B::a | ||
camelia | rakudo 69c3cc: OUTPUT«3» | ||
jnthn | Why not this? | 09:09 | |
poor_soul | jnthn: that method i already knew | ||
i just wanted to return directly th value | |||
jnthn | Then, why use an enum at all? | 09:10 | |
r: class B { constant \a = 3; }; say B::a | |||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/TcPFGgMLLYMissing initializer on constant declarationat /tmp/TcPFGgMLLY:1------> class B { constant ⏏\a = 3; }; say B::a expecting any of: statement list prefix or t… | ||
jnthn | r: class B { constant a = 3; }; say B::a | ||
camelia | rakudo 69c3cc: OUTPUT«3» | ||
masak | std: class B { constant \a = 3 } | 09:11 | |
camelia | std 7c17586: OUTPUT«ok 00:00 43m» | ||
masak | jnthn: weird way to write it, but should be OK, no? | ||
jnthn | I think we didn't pull in the defterm stuff from STD yet... | ||
masak submits rakudobug | |||
09:14
tzhs joined
|
|||
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:15 | |
masak | hm, I wonder if 'handles SomeEnum' could be made to cover that case... | 09:16 | |
jnthn | masak: Possibly, but feels weird/special-case-y given enums don't expose the values as methods really... | 09:18 | |
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» | ||
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 | ||
camelia | rakudo 69c3cc: OUTPUT«10» | ||
09:19
iSlug left
|
|||
jnthn | That's how you'd need to do it to have them as methods... | 09:19 | |
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:20 | |
09:20
mberends left
|
|||
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 | ||
camelia | rakudo 69c3cc: OUTPUT«("a" => 3, "b" => 10, "c" => 1).hash» | ||
poor_soul | r: enum A (a=>3,b=>10,c=>1); class B { constant %A = A.enums;}; say %B::A<a> | ||
camelia | rakudo 69c3cc: OUTPUT«3» | ||
poor_soul | jnthn: at this point, is there a way not to need to know the name of A | 09:23 | |
jnthn | poor_soul: So you can write B::a ? | 09:24 | |
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 | ||
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: … | ||
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 | ||
camelia | rakudo 69c3cc: OUTPUT«(Any)» | ||
JimmyZ | r: enum A (a=>3,b=>10,c=>1); class B { constant % = A.enums;}; say B::a | ||
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»… | ||
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… | ||
jnthn | Oddness... | ||
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 | |
so that i can do B.a | |||
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. | ||
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 … | ||
..rakudo 69c3cc: OUTPUT«10» | |||
jnthn | Oh, but niecza doesn't implement the MOP stuff yet. | 09:31 | |
FROGGS | okay, niecza would need some love | ||
but I think that should be no show-stopper | |||
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:32 | |
jnthn | poor_soul: It's going to stay like this. | 09:33 | |
09:33
dmol left
|
|||
jnthn | poor_soul: It'd work the same on Rakudo on JVM too. | 09:33 | |
09:34
dmol joined
|
|||
poor_soul | jnthn++ perfect! :) | 09:35 | |
09:35
daxim joined
|
|||
jnthn | (A lot of things depend on it staying like this. :)) | 09:36 | |
FROGGS | jnthn: btw, do you now when we are going to start on saturday? | 09:44 | |
jnthn | FROGGS: 9 | 09:45 | |
FROGGS: As in, 9 o-clock, not "nein, I don't know" :P | |||
FROGGS | *g* | ||
RATZFATZNBLATZ! | |||
that is cool, I'll finally get some sleep \o/ | 09:46 | ||
09:48
daniel-s joined
|
|||
FROGGS | does somebody know if Bailador works atm? I want to make a webshop the next days | 09:51 | |
colomon^^ ? | |||
tadzik? | 09:52 | ||
tadzik | if it doesn't, I'm willing to bring it back from the dead in the next 24 hours :) | ||
FROGGS | ohh, ossum | ||
tadzik | maybe even on both platforms | ||
FROGGS | I only care about parrot atm | 09:53 | |
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 | |
09:54
pernatiy left
|
|||
tadzik | also, I wanted to do an experiment with running Bailador on non-perl6 webserver | 09:54 | |
colomon | FROGGS: it's passing all its tests, according to the smoker. | 09:55 | |
FROGGS | cool! | 09:57 | |
10:00
berekuk joined
|
|||
dalek | rlito: 3fe2854 | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl5 emitter - grep, sort |
10:03 | |
nwc10 | gosh. rubini.us/ defaults to targeting 1.8.7. Support for 1.9 is "in progress". But MRI is on 2.0 now. | 10:07 | |
masak | dependencies are hard, let's go [Null PMC access] | 10:08 | |
10:13
berekuk left
|
|||
poor_soul | is there someone interested in helping me debug emmentaler? | 10:21 | |
i did wget 'feather.perl6.nl:3000/module/NativeCall' then called smoker NativeCall, but got this error: pastebin.com/k4cHMwAr | 10:23 | ||
10:24
berekuk joined
|
|||
arnsholt | tadzik: You're maintaining Emmentaler these days, no? | 10:24 | |
poor_soul | i'm having some problems in understanding the issue since the call stack passes through CORE.setting | 10:27 | |
moritz | poor_soul: ignore the lines that come from CORE.setting | 10:28 | |
poor_soul: they are just internals from how .new is implemented | |||
poor_soul | so, these lines give the error: method add-project(Panda::Project $p) { %!projects{$p.name} = $p; } | 10:30 | |
moritz | yes | ||
poor_soul | they're in panda | ||
dalek | Heuristic branch merge: pushed 18 commits to Perlito/replito by creaktive | 10:33 | |
tadzik | arnsholt: sort of | 10:34 | |
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 | ||
i'm forced every time to download the modules sources and include them with -I | 10:36 | ||
10:37
iSlug joined,
iSlug left,
yannickberthoud joined
10:38
iSlug joined,
yannickberthoud left
|
|||
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 | |
poor_soul: Feel free to file a rakudo-debugger ticket on that. | |||
poor_soul | jnthn: is there a way to implement it? | 10:39 | |
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 | |
poor_soul: And then the debugger can "just" use that. | |||
moritz | but Perl6::ModuleLoader is NQP code, so no rocket science | 10:43 | |
jnthn | aye | ||
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:47 | |
so $mod is just a field = value, and cannot behave like an hash like requested | 10:48 | ||
i guess it happened because i passed emmentaler a file with a single module info | 10:49 | ||
still, it's weird that it didn't check if there was a single object | 10:51 | ||
tadzik | ah, it'd do that | ||
poor_soul | im going out now, have fun | ||
11:01
teslos left
|
|||
qiyong | python3 become vm based as p6, right? | 11:33 | |
and parrot supports python3 | |||
tadzik | parrot doesn't quite support python, be it 1, 2 or 3 | 11:34 | |
as for the first question, I don't understand you | |||
hoelzro | python3 is as vm-based as python2 | ||
11:40
berekuk left
|
|||
GlitchMr | Python 3 is Python 2 with some relatively small differences. | 11:40 | |
Of course, relatively small differences are rather incompatible (like removal of "print" keyword), but still. | 11:41 | ||
11:41
berekuk joined
11:44
berekuk left
11:45
berekuk joined
|
|||
poor_soul | i'm back now | 11:48 | |
timotimo | at least you could get most of the changes with "from __future__" imports | 11:49 | |
11:50
berekuk left
11:51
sqirrel joined
11:52
berekuk joined
|
|||
GlitchMr | "print" in Python 2 was strange anyway. Sometimes it joined arguments with space, sometimes it didn't. | 11:55 | |
print "A\n", "B", "C" | |||
A | |||
B C | |||
11:55
iSlug left
|
|||
GlitchMr | I would rather expect something like "A\n B C", or "A\nBC", but definitely not that. | 11:55 | |
~ $ python2 -c 'print "P",; print "2",' | xxd | 11:59 | ||
0000000: 5020 320a P 2. | |||
Or this - I mean. The first print gives space, second gives new line. Too clever for me. | |||
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? | ||
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 | ||
GlitchMr | Or, you could simply parse it. | ||
And check whatever the result is array or object. | |||
jnthn | poor_soul: Is it not more robust to check what type the parsed output is? | ||
poor_soul | doesn't seem to me that JSON::Tiny gives a type | 12:01 | |
moritz | of course it does | ||
GlitchMr | Of course it does. | ||
12:01
iSlug joined
|
|||
moritz | it returns either Hash (json object) or something Positional (json array) | 12:01 | |
but | |||
tadzik | poor_soul: or use JSON::Unmarshal :) | ||
moritz | if the program always exepcts an array | ||
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 | ||
tadzik | I know that | ||
but what is that you're trying to do? | |||
12:02
skids left
|
|||
poor_soul | i was trying to fix Panda issue from before | 12:02 | |
dalek | rlito: 9391890 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - fix variable declaration inside expressions |
||
12:02
DarthGandalf left
|
|||
tadzik | are you sure that's panda's fault? | 12:02 | |
GlitchMr | sh: prove: command not found | 12:03 | |
Panda depends on Perl 5 to exist? | |||
tadzik | yeah :./ | ||
I once had an idea to change it to parrot-prove | |||
moritz | from what I've read so far, the problem could be either in emmentaler or in the user | ||
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 | ||
emmentaler is meant to get passed a json file for the whole ecosystem | |||
tadzik | so one day it'd be a good idea to finally make p6prove work | ||
timotimo | of course you could improve the error message in panda | ||
but i don't think that's the right approach, i would rather verify the ecosystem file in emmentaler | |||
poor_soul | timotimo: so i cannot test just one or a handful of modules? | ||
tadzik | poor_soul: you can. Make a 1-element array | 12:05 | |
12:05
berekuk left
|
|||
GlitchMr | > from-json('[]') ~~ Array | 12:05 | |
True | |||
> from-json('{}') ~~ Array | |||
False | |||
timotimo | star: use JSON::Tiny; say from-json('[]') ~~ Array; | ||
camelia | star 2013.08: OUTPUT«True» | 12:06 | |
12:06
Bzek left
|
|||
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,
Bzek joined
|
|||
tadzik | poor_soul: what do you want to fix? | 12:07 | |
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 | ||
you give it bogus data, you get bogus results | |||
GlitchMr | en.wikipedia.org/wiki/Garbage_In%2C_Garbage_Out | 12:09 | |
tadzik | I don't mind if it errors out in a more descriptive way though | ||
poor_soul | this also means that you cannot test a single module with emmentaler | ||
12:09
kbaker joined
|
|||
tadzik | no, it doesn't mean that | 12:09 | |
12:09
skids joined,
jnap joined
|
|||
tadzik | as I said 4 minutes ago, you can make a 1-element array in JSON | 12:09 | |
[{foo:bar}] | |||
timotimo | i think it would be nice if you could give emmentaler a filter predicate of some sort | ||
GlitchMr | tadzik, well, more like [{"foo":"bar"}] | 12:10 | |
JSON needs quotes. | |||
tadzik | whatever | ||
12:10
qiyong left
|
|||
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/languages/perl6/lib/JSON/Tiny.pm:21 in block at /tmp/daB6xpXcjY:1» | ||
jercos | red wizrad needs quotes, badly | ||
poor_soul | tadzik: ok, but the method that you suggest here [feather.perl6.nl:3000/] doesn't agree with you | ||
GlitchMr | star: use JSON::Tiny; say to-json({foo => "bar"}).perl | ||
timotimo | jercos: :D | ||
camelia | star 2013.08: OUTPUT«"\{ \"foo\" : \"bar\" }"» | ||
GlitchMr | star: use JSON::Tiny; say to-json {foo => "bar"} | 12:11 | |
camelia | star 2013.08: OUTPUT«{ "foo" : "bar" }» | ||
tadzik | poor_soul: what method do I suggest there? | ||
poor_soul | tadzik: it returns a single object, instead of an array | ||
tadzik | you can get a single META.info from /module/foo, yes | ||
colomon | what's the point of testing a single module in emmentaler, anyway? wouldn't panda be more appropriate for that? | ||
tadzik | but you don't give emmentaler, nor panda, a single META.info | ||
you give it a JSON file containing an array with many META.info contents | |||
GlitchMr | poor_soul, why not both? Array containing single object? | ||
12:11
woolfy left
|
|||
poor_soul | GlitchMr: it doesn't depend on me, i'm not the one who makes the json file | 12:12 | |
dalek | rlito: efea5bc | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
||
GlitchMr | if $result ~~ Hash { $result = [$result]; } | 12:13 | |
12:13
skids left
|
|||
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 [feather.perl6.nl:3000/] it says how to get a single module info and it returns a single object, not an array containing it | ||
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 | ||
poor_soul | the fix is, make the site return an array nonetheless | ||
GlitchMr | Well, @$result should work too. | ||
tadzik | so it'd just fetch META.infos ondemand, sort of like cpanm does | ||
poor_soul | or fix panda ecosystem to receive a single object | ||
tadzik | but I never used it anywhere | ||
12:14
Bzek left
|
|||
GlitchMr | feather.perl6.nl:3000/module/Acme;Meow | 12:14 | |
If you request a single module, you obviously get single module. | |||
(it's not an array) | |||
tadzik | using /module is not a recommended way for anything | ||
GlitchMr | feather.perl6.nl:3000/projects.json | ||
Well, it's just an exxample. | 12:15 | ||
But if you don't request any specific module, you get array, even with just one module. | |||
poor_soul | i stumbled upon this issue just because i wanted to check why 97.95.33.142:3001/report says Zavolaj doesn't pass test, when it clearly does | 12:17 | |
so i tried to reproduce the testing environment | |||
and here i am trying to get the info on a single module | |||
tadzik | feather.perl6.nl:3000 does not support crafting a desired list of modules | 12:18 | |
you can either get the list of all of them, or just one | |||
timotimo | huh, druids build fails | ||
but i just fixed that! :( | |||
lizmat | commute to Frankfurt& | 12:19 | |
12:20
lizmat left
|
|||
dalek | rl6-Text-Abbrev: 97948cc | (Konrad Borowski)++ | lib/Text/Abbrev.pm: Use "for" loop instead of "loop". I believe "for" caused problems previously, but they shouldn't exist anymore. |
12:22 | |
GlitchMr | Perhaps I should've disabled notifications here too. | ||
Whatever | |||
12:23
mtk left
|
|||
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:25 | |
dalek | rlito: 91ab027 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - some support for my+if |
12:26 | |
tadzik | poor_soul: it shouldn't get removed | 12:29 | |
12:41
Bzek joined
|
|||
timotimo | oh, i must have mistake'd | 12:43 | |
12:43
panchiniak_ left
|
|||
timotimo | oh damn | 12:46 | |
'no such method "dynamic" for invocant of type Sub' | |||
how to make &CALLER::some-sub work? | |||
moritz | have you tried CALLER::<&some-sub> ? | 12:48 | |
timotimo | er, falsche baustelle | ||
how to make the CALLER package properly handle subs? | |||
the subs in question are all our-scoped, so maybe that's how it should work? | |||
12:49
thou joined
|
|||
timotimo | alternatively, a trait "is dynamic" could be introduced for subs; not sure if that sounds helpful | 12:50 | |
12:50
berekuk joined
|
|||
timotimo | especially since "dynamic" when appended to a sub doesn't seem as clear as when it's appended to a variable | 12:50 | |
poor_soul | tadzik: sorry, i meant the results.json of 97.95.33.142:3001/report, not mine | 13:00 | |
tadzik | poor_soul: ah | ||
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 97.95.33.142:3001/project/NativeCall | ||
colomon | oh, that's this weekend! | 13:02 | |
tadzik | it doesn't get any more descriptive than "tests failed" | ||
13:02
FLOSSrookie joined
|
|||
jnthn | It's this weekend??!! | 13:02 | |
;-) | |||
jnthn is looking forward to it :) | |||
FLOSSrookie | Exactly why is perl6 taking so long? | 13:03 | |
To develop. | |||
tadzik | big things take a long time to develop | ||
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" | ||
tadzik | poor_soul: oh. I don't know that | ||
colomon may know :) | |||
poor_soul | tadzik: it's written on the resutls.json :) | ||
results* | 13:05 | ||
tadzik | ha! :) | ||
indeed it is | |||
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. | ||
colomon | tadzik: I'm lost in the context on that statement? | ||
tadzik | colomon: what Rakudo version is smoker running? | ||
colomon | tadzik: oh! | 13:06 | |
13:06
dmol left
|
|||
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 | |
13:07
dmol joined
|
|||
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 | ||
FLOSSrookie | Is there anyway you can make an estimate of it completion? | ||
its ^ | 13:09 | ||
poor_soul | colomon: i suppose there's a complete build env, like gcc etc | ||
daxim | FLOSSrookie, see perl6.org/compilers/features | 13:12 | |
13:12
LWA joined
|
|||
colomon | poor_soul: sure, it has to build somewhere. | 13:12 | |
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 | |
13:14
LWA left
13:15
mtk joined
13:17
mtk left
|
|||
colomon | poor_soul: I dunno know why it would be strange that zavolaj fails -- it's one of the most fiddly modules. | 13:17 | |
13:17
mtk joined
|
|||
poor_soul | colomon: it seems strange to me because here it passes and i would like to know how and why it fails | 13:22 | |
FLOSSrookie | Help me to understand this. Perl6 (lang) -> Rakudo [Parrot VM, JVM] right? Isn't that like Scala (lang) -> Scala Compiler -> JVM? | 13:23 | |
Perl6 (lang) -> Rakudo -> [Parrot VM, JVM] | |||
Correction. | |||
13:24
PacoAir joined
|
|||
FLOSSrookie | Perl6 (lang) -> Niecza -> [CLR]? | 13:24 | |
jnthn | FLOSSrookie: That looks right. | ||
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,
krokite left,
krokite joined
|
|||
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:24 | |
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) | ||
jnthn | Right, it's like that. :) | ||
nwc10 | and gcc compiles C to run on ARM, x86, Sparc, etc | 13:26 | |
13:26
lowpro30 joined
|
|||
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 | ||
colomon | quite sure, yes | 13:27 | |
r: say "hi" | |||
camelia | rakudo 69c3cc: OUTPUT«hi» | ||
colomon | That's the version I'm on | ||
FLOSSrookie | Wow, there sure are a lot VMs now. | ||
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? | ||
poor_soul | colomon: i got it! it's because arnsholt had to fix it in nqp | ||
jnthn: exactly right | 13:29 | ||
colomon | poor_soul: yes, if nqp isn't bumped, that would be a problem | ||
TimToady | nr: enum A (a=>3,b=>10,c=>1); class B { enum AA (A.enums) }; say B::a | ||
camelia | niecza v24-95-ga6d4c5f: OUTPUT«a» | ||
..rakudo 69c3cc: OUTPUT«===SORRY!===No such method 'returns' for invocant of type 'Hash'» | |||
arnsholt | jnthn: Oh, I didn't! | ||
TimToady | is that a rakudobug? | 13:30 | |
jnthn | TimToady: oh, that's cute... | ||
arnsholt | An arnsholtbug, perhaps | ||
jnthn | TimToady: Yes, we are a bit too special-case-y about enum handling in Rakudo at the moment... | ||
arnsholt | I didn't even think to bump NQP_REVISION, since I compile NQP and Rakudo separately | ||
poor_soul | colomon: it seems the mistery finally got found out | ||
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 | ||
jnthn | TimToady: Not quite easy to fix as the setting has enums and I think last time I tried I hit the circularity saw... :) | ||
TimToady | well, maybe the setting has pseudo-enums :) | 13:32 | |
13:32
lowpro30 left
13:33
lowpro30 joined
|
|||
TimToady is thinking the syntax should probably now be enum A = list; now that we have the notion of pseudoassignment to declarations | 13:33 | ||
then you could just write enum A = a=>3,b=>10,c=>1; | 13:34 | ||
forcing brackets seems rather...medieval... | |||
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 | ||
poor_soul | can i pledge to ask for a 'enum A = a=>3,b=>10,c=>1; class B { enum AA = A; };' ? | ||
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 | ||
camelia | niecza v24-95-ga6d4c5f: OUTPUT«a» | ||
..rakudo 69c3cc: OUTPUT«===SORRY!===No such method 'returns' for invocant of type 'Hash'» | |||
TimToady | already have that with anonymous declarations | 13:38 | |
jnthn | ooh, didn't think of that... | ||
...now just need to fix Rakudo so it works. | |||
TimToady | n: enum A (a=>3,b=>10,c=>1); class B { anon enum XX (A.enums) }; say B::a | ||
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… | ||
TimToady | heh | ||
poor_soul | that's exactly it, i just need to wait for rakudo devs to fix the issue | ||
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… | ||
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 :) | ||
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. | ||
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. www.xray.mpe.mpg.de/mailing-lists/p...00345.html and www.xray.mpe.mpg.de/mailing-lists/p...00490.html | ||
TimToady | rakudo will get to CLR eventually | ||
nwc10 | (and worth stealing) | ||
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 | ||
poor_soul | s/to that/to do that/ | ||
TimToady | There's More Than One Way To Screw It Up | ||
nwc10 | he was also benchmarking it with random data, if I understood this correctly: www.xray.mpe.mpg.de/mailing-lists/p...00931.html | ||
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 | ||
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 | |
13:44
skids joined
|
|||
nwc10 | It's not clear how Python is going to fare in the multicore future | 13:44 | |
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
|
|||
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" :) | ||
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 | ||
jnthn | We've been speculatively evaluating that future... :) | 13:47 | |
nwc10 | to say nothing of Perl 5. Er, I mean 3. :-) | ||
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. | ||
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 | ||
and there's a fifth thing that I forgot | |||
TimToady | a fanatical devotion to the pope? | ||
nwc10 | that too | ||
TimToady | oh wait, that's python | ||
nwc10 | but it was "self hosting" | ||
I have just laughed out loud that that. I didn't see that coming. | 13:49 | ||
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 | |
TimToady: I'm sorry but where is the humor in that? I don't get it. | |||
TimToady | python is named after Monty Python, not the serpent | ||
and that's an allusion to holy grail | 13:51 | ||
nwc10 | earlier would be this: en.wikipedia.org/wiki/The_Spanish_I..._Python%29 | ||
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 | |||
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 | ||
and we already grabbed that name :) | |||
FLOSSrookie | Here are the ones I was thinking so far. Python (Jython and IronPython) C(++) BASIC Java C# | ||
But if I should I could remove one...maybe C# and replace it with Perl6 | |||
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. :) | ||
PerlJam | FLOSSrookie: because, the ones you've chosen are all mostly conceptually similar. | ||
TimToady | you should really study something more FPish | ||
and maybe some Prolog | |||
PerlJam | FLOSSrookie: What TimToady said | ||
TimToady | some Haskell, say | ||
jnthn | Or ML | ||
PerlJam | FLOSSrookie: or ocaml, | ||
jnthn finds ML easier than Haskell :) | 13:55 | ||
nwc10 | which did you learn first? | ||
13:55
iSlug left
|
|||
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 | |
Like those languages I try to avoid. | |||
poor_soul is mind-bent by Monads | |||
PerlJam | jnthn: is that an argument that he should learn haskell? ;) | ||
nwc10 | and which is less crazy? | ||
jnthn | nwc10: ML. It's syntax is more, uh, "normal". :) | 13:56 | |
nwc10: ML was beat into me at The Unother Place... :) | |||
PerlJam | FLOSSrookie: lua, haskell, scheme, scala, etc. Are all "of use in the FOSS community" :) | ||
FLOSSrookie | When I say BASIC I mean FreeBASIC it seems to be capable of all that C++ is. | ||
hoelzro | Lua++ | ||
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
|
|||
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. | ||
jnthn | C is a pretty good DSL for building a GC in... :) | ||
nwc10 | Lukudo would be what? | ||
TimToady | lua, presumably | ||
poor_soul | jnthn: only if you're already very goot at C | ||
good* | |||
PerlJam | FLOSSrookie: why can't you learn them all? It just takes some time. Do you have a time limit? | ||
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. | ||
jnthn | poor_soul: Well, I was more meaning that it's a language well optimized for doing evil things with memory. :) | ||
PerlJam | FLOSSrookie: once you get the "big picture" concepts in your brain, you can recognize them in other languages and quickly pick them up. | ||
FLOSSrookie: how do you know apriori which languages you might or might not use? | |||
poor_soul | jnthn: oh right, *that* could never be wrong :) | ||
TimToady | FLOSSrookie: and you should also learn languages that teach you to think differently | ||
13:59
btyler joined
|
|||
PerlJam | FLOSSrookie: What TimToady said again! :) | 13:59 | |
TimToady | because you'll find yourself, say, programming with Lisp ideas in other languages | ||
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 | ||
FLOSSrookie | PerlJam: Fair enough but then where would it end. | ||
PerlJam | FLOSSrookie: why does it have to end? (I'm still learning new things all the time) | 14:00 | |
If you're not learning, you're probably dead. | |||
FLOSSrookie | I was looking at this lang-index.sourceforge.net/ | ||
TimToady | FLOSSrookie: you planning to retire soon? | ||
the most valuable employee these days is one who keeps on learning | |||
hoelzro | nwc10: seriously? awesome | ||
FLOSSrookie | Why is everyone against BASIC? | 14:01 | |
jnthn | nwc10: Was that implement NQP on Lua, or implement Lua in NQP? :) | ||
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
|
|||
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) | ||
jnthn wsn't sure which one hoelzro meant either :) | |||
FLOSSrookie | TimToady: It is not about that, it is about not making my computer my second wife. | ||
nwc10 | Maddingue: what was the Rakudo NQP or Lua related presnetation at the French Perl Workshop this year? | ||
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. | ||
I wonder how that would perform in comparison to moarvm even :) | |||
poor_soul | PerlJam: and then comquer the embedded world too | ||
conquer* | |||
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? journeesperl.fr/fpw2013/talk/4845 | ||
nwc10 | Maddingue: I think that I was. In which case it's NQP-free :-) | 14:05 | |
and Rakudoless | |||
14:05
SamuraiJack_ left
|
|||
poor_soul | implementing Python on NQP would give Python access to potentially better multicore support thanks to MoarVM | 14:05 | |
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) | ||
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
|
|||
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 | |
arguably, Perl 1 was a (per)version of BASIC too :) | |||
14:09
berekuk left
|
|||
poor_soul | FLOSSrookie: definitely not Parrot on the long run | 14:09 | |
jnthn | .oO( perlversion ) |
||
TimToady | FLOSSrookie: Parrot is not particularly multi-core friendly, though that was not by intent | ||
rakudo on JVM or MoarVM is much likelier to do multicore well | 14:10 | ||
FLOSSrookie | TimToady: rosettacode.org/wiki/Category:BASIC...mentations I see FreeBASIC. | ||
TimToady | well, nobody's contributed any examples under that name, or is it a name variant of some other version? | ||
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... | ||
FLOSSrookie | Maybe I should replace C# with perl6 because C# is not used as much in FOSS. | 14:15 | |
PerlJam | FLOSSrookie: neither is Perl 6 currently. (if that's your main criterion) | 14:16 | |
diakopter | argh; *way* too much interesting backlog | 14:17 | |
btyler | hoelzro: if you're playing with Lua, check out studio.zerobrane.com/ <-- lovely simple IDE (written in Lua) with live coding and debuggers for everything from LuaJIT to iOS Lua frameworks | ||
14:18
skids left
|
|||
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:18 | |
hoelzro | btyler: I've heard good things about ZeroBrane | 14:19 | |
I haven't gotten around to trying it | |||
I'm a hardcore Vimmer myself =) | |||
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 | ||
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. | ||
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 | ||
diakopter | completely disagree | ||
FLOSSrookie | TimToady: :) | ||
poor_soul | moritz: is this log enough of details for a bug? pastebin.com/UQXcHeis | ||
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 | ||
(unless it's the one from rakudo) | |||
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 | ||
hoelzro | cool | ||
I'll have to try it! | |||
poor_soul | moritz: no, it's not from Rakudo | ||
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? | ||
FLOSSrookie | diakopter: Disagree with me? If so, please state why. I am curious. | ||
14:23
sqirrel left
|
|||
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. | ||
btyler: but that would also be a perfect demo on top of what pmurias++ is doing. | |||
PerlJam | diakopter: forever?!?! That's a long time ;) | ||
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 :) | ||
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. | ||
TimToady | but we also have a Secret Jnthn! | ||
diakopter | FLOSSrookie: .NET's open-source library archive is bigger than CPAN... | ||
btyler | masak: yeah, that'd be a great setting to explore visual live coding. hmm.... | 14:25 | |
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 github.com/ugexe/Perl6-Text--Leven...n--Damerau | ||
PerlJam | FLOSSrookie: marketing :) | ||
diakopter | no | ||
there's no money behind it | 14:27 | ||
14:27
bluescreen10 joined
|
|||
diakopter | behind nuget, anyway | 14:27 | |
TimToady | marketing != money | ||
FROGGS | I'd think that .NET is the first choice for windows devs | ||
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# | |||
that is, niecza is | |||
14:29
kaare_ joined
|
|||
diakopter unfortunately must be aft the next 4 hours | 14:29 | ||
tadzik | away from TimToady | ||
diakopter | terminal, too | 14:30 | |
tadzik | ah :) | ||
TimToady must be daft | 14:32 | ||
FROGGS | TimToady: why? | ||
14:32
iSlug left
|
|||
TimToady | it's constitutional | 14:33 | |
FROGGS | if you say so :o) | ||
diakopter laughed | |||
masak .oO( nobody expects the Spanish constitution! ) | 14:37 | ||
14:38
iSlug joined
14:39
FROGGS left
14:40
kivutar joined
14:45
nyuszika7h left,
skids joined
|
|||
arnsholt | I didn't even think to bump NQP_REVISION, since I compile NQP and Rakudo separately | 14:47 | |
Whoops. Double tap from SSH lag :.; | |||
14:48
nyuszika7h joined
14:49
berekuk_ left
14:50
berekuk joined
14:52
pmurias joined
|
|||
masak | this HN discussion of "Black Perl" is surprisingly pleasant and level-headed: news.ycombinator.com/item?id=6371239 | 14:55 | |
14:55
iSlug left
14:56
FROGGS joined
14:58
berekuk left,
lowpro30_ joined
15:01
iSlug joined,
FLOSSrookie left,
dmol1 joined
15:02
dmol left,
lowpro30 left
15:05
tzhs left
|
|||
arnsholt | jnthn: Maybe get_boxed_ref on JVM has to return some kind of proxy object which twiddles the P6opaque behind the scenes? | 15:08 | |
15:12
berekuk joined
15:17
berekuk left
|
|||
jercos | r: sub recursqrt($square, Int $depth = 20 where {$_ > 0}){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say | 15:27 | |
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/fZwmqjkn8yMissing blockat /tmp/fZwmqjkn8y:1------> sub recursqrt($square, Int $depth = 20 ⏏where {$_ > 0}){return ($square, {($_ +  expecting any of: postfix infix s… | ||
15:27
krokite left
|
|||
jercos | hrm. is that supposed to work? | 15:27 | |
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» | ||
diakopter | how does it recurse? | ||
PerlJam | jercos: I think you just have the initialization in the wrong place. | ||
15:29
rindolf joined
|
|||
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:30 | |
PerlJam: well, I don't see where I'm meant to move it to :| | 15:31 | ||
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
fhelmberger left
|
|||
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» | ||
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 | ||
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» | ||
jercos | n: sub recursqrt($square, Int $depth where {$_ > 0} = 20){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say | ||
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… | ||
diakopter | r: sub recursqrt($square, Int $depth? where ($_ > 0 || ($_ = 20))){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say | ||
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… | ||
diakopter | masak: ^ error? | ||
lta at least | |||
jercos | n: sub recursqrt($square, Int $depth = 20 where {$_ > 0}){return ($square, {($_ + $square/$_)/2} ... *)[$depth]};recursqrt(2).say | ||
camelia | niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===Default expression must come last at /tmp/bY9Hk3eqH3 line 1:------> sub recursqrt($square, Int $depth = 20 ⏏where {$_ > 0}){return ($square, {($_ + Unable to parse signature at /tmp/bY9Hk3eqH3 line 1:-… | ||
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 | ||
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:37
dmol1 left
15:38
kaleem left
|
|||
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 | ||
camelia | std 7c17586: OUTPUT«===SORRY!===Preceding context expects a term, but found infix := instead at /tmp/kQepk20Ew6 line 1:------> say $_ ||⏏:= 3Parse failedFAILED 00:00 43m» | ||
diakopter | TimToady: bind can't go there? | ||
jnthn | There's only an assignment meta-operator, afaik. | 15:39 | |
diakopter | [implied question: why not?] | ||
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 | ||
jnthn | arnsholt: Yeah...I'm not sure we really need that. | 15:40 | |
arnsholt: i mean, you can inline several native ints, for example, but only one can be a box target... | 15:41 | ||
masak | diakopter: Bridge is colomon++'s invention. he says it was necessary to get math to work on Rakudo. | 15:47 | |
rn: say Bridge | |||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/JHzc1etHyyUndeclared name: Bridge used at line 1» | ||
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===Undeclared name: 'Bridge' used at line 1Unhandled 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… | |||
masak | apparently it's not a type, though. | ||
felher | masak: ("Nobody expects the Spanish constitution"). nice. I might have to steal that one... :) | ||
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. | ||
felher | masak: I see :) | 15:49 | |
dalek | rlito/replito: 9391890 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - fix variable declaration inside expressions |
||
rlito/replito: efea5bc | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
|||
rlito/replito: 91ab027 | (Flavio S. Glock)++ | / (3 files): Perlito5 - js - some support for my+if |
|||
rlito/replito: 62da2a6 | (Stanislaw Pusep)++ | / (4 files): Merge branch 'master' into replito |
|||
masak .oO( rickrollier than thou ) | 15:50 | ||
15:52
domidumont left
15:55
zakharyas left,
dmol joined
15:59
xenoterracide_ left
16:00
kivutar left
16:05
berekuk joined
16:07
jnap left
16:09
iSlug left,
cognominal joined
16:15
jnap joined
16:28
xenoterracide_ joined
|
|||
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» | ||
..rakudo 69c3cc: OUTPUT«1.41421356237309» | |||
16:31
daxim left
|
|||
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.272006289292631.27200628929263» | ||
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===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:39
pupoque left
16:40
lizmat joined
16:42
risou_awy is now known as risou,
xenoterracide_ left
16:43
benabik joined
|
|||
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» | ||
..rakudo 69c3cc: OUTPUT«1.41421356237309» | |||
16:46
spider-mario joined
|
|||
lizmat | arrived safely in Frankfurt | 16:47 | |
moritz: too bad :-( | |||
TimToady | .oO( ich bin ein frankfurter ) |
||
lizmat | .oO( nom nom ) |
||
jnthn | lizmat: Nice. I'll be there too by this time tomorrow \o/ | 16:48 | |
timotimo has not yet gotten a ticket :| | |||
lizmat | cool! we're going to go out now and check out some places to visit the coming evenings | ||
timotimo doesn't have to travel that far, and only by train I hope ? | |||
timotimo | indeed | 16:49 | |
i'll probably be easily able to reach the hotel and venue via tram from the main station, right? | |||
TimToady wonders how long it would take him to get there by canoe... | |||
lizmat | there is a train station across the street from the hotel | ||
timotimo | perfect :) | ||
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... ) |
||
lizmat | bbl & | ||
16:51
lizmat left,
not_gerd joined
|
|||
timotimo | flussence: floating point already is variable accuracy ;) | 16:51 | |
16:51
poor_soul left,
BabsSeed left
|
|||
flussence | yeah, but I mean of the "stop at an arbitrary point and still get a usable answer" kind | 16:52 | |
I guess those photon-simulating engines would qualify... | 16:53 | ||
timotimo | right | ||
16:53
xenoterracide joined,
dakkar left
|
|||
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:54 | |
16:55
dakkar joined
|
|||
not_gerd | timotimo: you can easily get from masin station to west via trains S3-S6 | 16:55 | |
s/masin/main/ | |||
timotimo | s3, s4, s5 and s6? | ||
not_gerd | should be S3..S6 in p6, I guess ;) | ||
timotimo | nice | 16:56 | |
probably only takes like 10 minutes, right? | |||
masak | only if S-es have a .next method :P | ||
16:56
dakkar left
|
|||
timotimo | yeah, should probably be ... instead? | 16:57 | |
not_gerd | r: 'S3'..'S6' | ||
camelia | rakudo 69c3cc: ( no output ) | ||
not_gerd | r: say 'S3'..'S6' | ||
camelia | rakudo 69c3cc: OUTPUT«"S3".."S6"» | ||
not_gerd | r: say @('S3'..'S6') | ||
camelia | rakudo 69c3cc: OUTPUT«S3 S4 S5 S6» | ||
jnthn | masak: .next? I think you .succ | 16:58 | |
masak | argh! | ||
yes! | |||
timotimo | so, any suggestions for how to make subs available through CALLER? | 17:00 | |
jnthn | hmm | ||
Declare them dynamic? | |||
hm | |||
std: sub *foo() { } | |||
camelia | std 7c17586: OUTPUT«===SORRY!===Malformed block at /tmp/x8pTxJ9JaA line 1:------> sub ⏏*foo() { } expecting routine_defParse failedFAILED 00:00 41m» | ||
jnthn | std: sub &*foo() { } | ||
camelia | std 7c17586: OUTPUT«ok 00:00 43m» | ||
jnthn | r: sub &*foo() { } | 17:01 | |
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/_EW0BgIuLQMissing blockat /tmp/_EW0BgIuLQ:1------> sub ⏏&*foo() { } expecting any of: statement list prefix or term prefix or meta-prefix new name to… | ||
jnthn | Implement dat feature :P | ||
timotimo | sigh :) | ||
TimToady | r: my &*foo = sub { say "here" }; { &*foo() } | 17:02 | |
camelia | rakudo 69c3cc: OUTPUT«here» | ||
jnthn | r: my &*foo = sub () { say 'omg CALLERable' }; sub bar() { CALLER::<&*foo> }; say bar().() | ||
camelia | rakudo 69c3cc: OUTPUT«omg CALLERableTrue» | ||
jnthn | oh, TimToady beat me to it. But I used CALLER :) | ||
timotimo | oh, that already works, cool :) | 17:04 | |
17:05
stevan_ left
|
|||
TimToady | interesting that that calls it | 17:05 | |
I guess it officially doesn't have a sigil on the front... | |||
jnthn | TimToady: How so? | ||
TimToady: Notice my bar().() | 17:06 | ||
TimToady | oic | ||
jnthn | I think it officialy does ;-) | ||
TimToady is fine with that | |||
jnthn | :) | ||
17:06
pernatiy joined
|
|||
jnthn | Oh, well, depends which "it" you mean... :) | 17:06 | |
TimToady | r: my &*foo = sub () { say 'omg CALLERable' }; sub bar() { &*foo }; say bar().() | 17:07 | |
camelia | rakudo 69c3cc: OUTPUT«omg CALLERableTrue» | ||
TimToady | not sure *why* you used CALLER tho | ||
jnthn | TimToady: 'cus timotimo was asking about CALLER | 17:08 | |
but yeah, you could easily write that case without it :) | 17:09 | ||
timotimo is going to fix up druid now | 17:10 | ||
although it doesn't look pretty :( | |||
strange, that doesn't work | 17:18 | ||
oh | 17:22 | ||
hehe | |||
turns out if you write it like my &*foo and try to access it before that line is run, it will not be defined | |||
TimToady | well, duh, that's why it's called "dynamic" | 17:23 | |
timotimo | hehe | 17:24 | |
17:27
stevan_ joined
|
|||
timotimo | masak: feel free to quickly review my pull request on druid? | 17:29 | |
17:36
zakharyas joined
|
|||
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:38 | |
17:42
pmurias left
|
|||
masak | timotimo: will do in a little while. | 17:47 | |
timotimo | cool | 17:48 | |
masak | colomon: that sounds interesting. do you have a concrete example of gracefully defining a new numerical type? | ||
maybe that would finally make the role of Bridge click for me. | |||
timotimo | sub params($method) { $method.signature.params ==> grep { .positional && !.invocant } ==> map { .name.substr(1) } } | ||
er | |||
r: sub params($method) { $method.signature.params ==> grep { .positional && !.invocant } ==> map { .name.substr(1) } } | |||
camelia | rakudo 69c3cc: ( no output ) | ||
timotimo | r: say "hi" | ||
camelia | rakudo 69c3cc: OUTPUT«hi» | ||
timotimo | r: sub params($method) { $method.signature.params ==> grep { .positional && !.invocant } ==> map { .name.substr(1) } } | ||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/QIKUPekZTlBogus statementat /tmp/QIKUPekZTl:3------> ⏏==> map { .name.substr(1) } } expecting any of: method arguments postfix statement end stateme… | ||
timotimo | is that a regression? that we need to put a \ at the end? | 17:49 | |
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:51 | |
masak | colomon: oki, will do. | 17:52 | |
colomon: my preferred example would (of course) be adding surreal numbers. :> | |||
timotimo: github.com/timo/druid/commit/6661f...23dd#L0R92 (and L94) seems to be... debug output? | 17:55 | ||
timotimo: apart from that, it looks good. | |||
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? | ||
jnthn can't look for it right now, though... | |||
timotimo | oh, yes, debug output | ||
that's why i didn't just push it to the repo | |||
colomon | jnthn: yes, but it was a relatively cheesy example I thought up quickly. | ||
jnthn | ah, ok | 17:57 | |
17:57
kbaker left
|
|||
timotimo | there we go, masak | 17:57 | |
masak | "there we go"? I only see the old pull request. :/ | 17:58 | |
timotimo | oh? but why? | ||
masak | you tell me. | ||
timotimo | look at the files changed, the debug output is gone | ||
17:58
ssutch joined
|
|||
timotimo | hey ssutch :) | 17:58 | |
how are you doing? | |||
masak | oh! | ||
yes, you're right. | |||
ssutch | oh hello | 17:59 | |
i'm swell | |||
masak | timotimo: merged. timotimo++ | ||
timotimo | masak: github.com/masak/crypt/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:01 | |
as far as i can see, LargerOnSmaller is derived from X::Hanoi | 18:02 | ||
and X::Hanoi is Exception | |||
changing the parameter ex_type to be Mu instead doesn't help | 18:03 | ||
masak | timotimo: could have to do with definedness. | ||
timotimo: passing in a type object there. | |||
timotimo | ah, mhm | ||
masak | timotimo: maybe the type should be Exception:U | ||
the error message sucks, though. | |||
perigrin | Whatsamotta:U | 18:04 | |
masak | r: class X::MyFootHurts is Exception {}; sub foo($ouch) {}; foo X::MyFootHurts | ||
camelia | rakudo 69c3cc: ( no output ) | ||
masak | hrm. | ||
seems it wasn't that easy, though. | |||
anyway, that was my first thought. | |||
timotimo | huh. | ||
masak | timotimo: my suggestion is to golf the error. | 18:05 | |
timotimo | i get one more test to pass, then the same error message ;) | ||
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» | ||
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); | ||
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» | ||
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); | ||
camelia | rakudo 69c3cc: OUTPUT«you can't do that» | ||
timotimo | now how do i properly check against that exception type? | 18:08 | |
maybe eqv is the right way to do it | |||
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» | ||
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); | ||
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» | ||
timotimo | r: class X::Hanoi is Exception { class LargerOnSmaller is X::Hanoi { method message { "you can't do that" } } }; say X::Hanoi::LargerOnSmaller.^methods | ||
camelia | rakudo 69c3cc: OUTPUT«No such method 'dispatch:<.^>' for invocant of type 'LargerOnSmaller' in block at /tmp/M6toAIEzgc:1» | ||
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) | ||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!=== Error while compiling /tmp/RpYo9gQGNCUndeclared name: B used at line 1» | ||
masak | r: class A is Exception { class B is A {} }; sub foo($x) {}; foo(A::B) | ||
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» | ||
masak submits rakudobug | |||
timotimo: yes. | |||
timotimo | putting it outside makes it work indeed. | ||
would you welcome a PR to do that change, so that the tests can run again?( | 18:11 | ||
masak | absolutely. ++timotimo | ||
yet another case of "this refactor makes, sense, and will never unearth yet another rakudobug" :P | |||
s/, // | |||
timotimo | :D | 18:12 | |
actually, mind giving me a commit bit? | |||
i always feel there's still too much administrative overhead to a one-commit-immediately-approved-pullrequest | 18:13 | ||
masak | indeed. hold on. | 18:14 | |
timotimo | yays :) | ||
masak | added. | ||
welcome aboard :) | |||
timotimo | huh? it denies me access | 18:18 | |
18:18
rindolf left
|
|||
timotimo | "ERROR: Permission to masak/crypt.git denied to timo." i don't think i typo'd? | 18:18 | |
masak | seems it didn't take. | 18:19 | |
added again. :) | |||
timotimo | ah, wonderful | ||
two more modules should be passing smoketests | |||
colomon | \o/ | 18:20 | |
masak | r: class A is Exception {}; class C { class B is A {} }; sub foo($x) {}; foo(C::B) | ||
camelia | rakudo 69c3cc: ( no output ) | ||
masak | hm; nesting in the same class you inherit from seems to be a required part of the problem. | ||
timotimo | tangent, have any of you played Antichamber? it's the kind of game i would expect perl6ians to enjoy | 18:22 | |
18:23
stevan_ left
18:25
zakharyas left
|
|||
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? | ||
TimToady | because the line-ending } always terminates a statement | ||
timotimo | www.antichamber-game.com/ | 18:28 | |
18:29
xinming left
|
|||
timotimo | it'll be 66% off on steam for another 4.5 hours (that makes it 6.45 euros in my region) | 18:30 | |
masak | timotimo: looks delightful. | 18:31 | |
18:31
kbaker joined,
xinming joined
|
|||
timotimo | i can confirm that it is | 18:32 | |
lots of non-euclidean fun and puzzles | |||
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 | ||
camelia | rakudo 69c3cc: OUTPUT«===SORRY!===invoke() not implemented in class 'QAST::Op'» | ||
moritz submits rakudobug | |||
masak | timotimo: non-EUCLIDIAN!? | 18:37 | |
masak buys it | |||
timotimo: though I think you mean "only locally Euclidian" :P | |||
timotimo | that's true | 18:38 | |
moritz | .oO( in first order approximation, everything is linear! ) |
||
timotimo | sometimes you turn around and behind you is a hallway that wasn't there before :3 | ||
jnthn | masak: Pretty sure that heritage one you just submitted is already in fwiw. :) | ||
masak | timotimo: speaking of which, have you read www.fimfiction.net/story/62074/Frie...is-Optimal ? | 18:39 | |
jnthn: ok, will scan for it. | |||
jnthn: hehe, "heritage" :P | |||
timotimo | i have not :) | ||
masak | timotimo: do. | ||
compared to HPMoR, it's a short read. | |||
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). | ||
jnthn | uh, what :) | ||
or why is it there... :) | |||
timotimo | oh, it's already completed! | ||
TimToady | jnthn: it's just the view that 'is' is syntactic sugar for an adverb | ||
masak | jnthn: scanned, and didn't find any dupe for that problem. | 18:43 | |
jnthn: if it's in there, then probably I didn't file it, because I tend to find my own tickets. | |||
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» | ||
..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» | |||
masak amends RT #98954 | 18:46 | ||
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=98954 | |||
masak | synopsebot: hey! gracias! | ||
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:48 | |
jnthn | TimToady: ah, so it dispatches to trait_mod:<is>? | 18:49 | |
TimToady: Passing the colonpair as a named arg? | 18:50 | ||
masak | btyler: :) | 18:54 | |
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:55 | ||
18:57
zby_home_ joined
|
|||
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:57 | |
masak | the same could be said of IRC. :P | 18:59 | |
TimToady | jnthn: :foo('bar') is supposed to be the same as "is foo('bar')" | 19:00 | |
jnthn | TimToady: ok, thanks | 19:01 | |
PerlJam | masak: or of programming languages :) | ||
masak | PerlJam: touché. | 19:03 | |
19:15
zwut00 joined,
thou left
19:18
xinming left
|
|||
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:21 | |
19:22
xinming joined
19:23
lowpro30 joined
|
|||
Ulti | timotimo I got the bundle too, but FEZ is all bugged on my Mac ;___; | 19:24 | |
timotimo | aaw :( | ||
Ulti | I'm assuming it will work under Windows though since its essentially an xbox, right? | 19:25 | |
moritz | masak: have you read "luminosity"? | ||
masak | moritz: no -- is it worth it? | ||
moritz | masak: I liked it. It's not as rational-y as HPMoR | ||
masak | moritz: I don't have much of a connection to the Twiligt universe at all. | ||
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 | ||
masak: at the end I thought "yes, that's how it would have happened" :-) | 19:27 | ||
19:27
lowpro30_ left
|
|||
timotimo | Ulti: it's known to have some performance issues ... | 19:28 | |
Ulti: OOC, what kind of buggyness are you getting? | |||
Ulti | the backdrops to rooms when you go inside is translated towards the bottom of the screen | 19:31 | |
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! | |||
timotimo | oh crap :( | 19:32 | |
Ulti | yeah :< | 19:33 | |
it doesn't run at all on more modern Macs with the Intel 4000 integrated graphics | |||
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 | >_< | ||
masak | moritz: I will give it a chance. | 19:35 | |
moritz: thanks for the tip. | |||
moritz | masak: let me know if/how you liked it :-) | 19:36 | |
19:37
risou is now known as risou_awy
|
|||
dalek | ast: a851ef3 | moritz++ | S02-names-vars/variables-and-packages.t: RT #74076: $OUTER::_ in a subroutine inside a loop |
19:38 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74076 | ||
masak | moritz: will do. | ||
19:42
not_gerd left
|
|||
moritz should download the newly-done early hpmor podcast episodes | 19:42 | ||
dalek | ast: 03d12d6 | moritz++ | S12-introspection/can.t: RT #76882: calling methods with sub call syntax outside the class |
19:44 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76882 | ||
masak | wow. cascade bot output, and it's actually useful. | 19:46 | |
19:46
SamuraiJack__ left
|
|||
[Coke] is to board the final leg to frankfurt. | 19:48 | ||
*about* | |||
19:48
stevan_ joined
|
|||
jnthn | [Coke]: Good flight. | 19:48 | |
[Coke]: And see you tomorrow! :) | 19:49 | ||
moritz | [Coke] is coming to .de, and I can't come :/ | 19:50 | |
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. | ||
colomon will be helping host a 5th birthday party part of the time | |||
[Coke] | jnthn: it'll still be today! | ||
FROGGS | my youngest son my my wife used to be ill almost two years in a row | 19:52 | |
[Coke] | FROGGS: ugh. | ||
lizmat++ lizmat++ | |||
FROGGS | [Coke]: he came three months early, it was hard for both | ||
[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 | ||
[Coke] | FROGGS: I hope everyone is ok now. | ||
FROGGS | yeah, it is all perfect since march or so | 19:54 | |
[Coke] | .tell lizmat I'm kind of dressed like a bald priest. | ||
yoleaux | [Coke]: I'll pass your message to lizmat. | ||
masak | now there's an utterance I didn't expect to see on #perl6 today... | ||
FROGGS | [Coke]: covered in aluminium? | ||
[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 | ||
[Coke] | jnthn++ | 19:57 | |
dalek | rl6-roast-data: fbab0bb | coke++ | / (5 files): today (automated commit) |
20:01 | |
[Coke] | sadface: rakudo.jvm failed to run today. | 20:02 | |
I may need to start capturing the build output also. | |||
I'll make sure we have a clean run again before the workshop ends. | |||
20:04
SmokeMachine left
|
|||
colomon is worried that some poor, unsuspecting priest is going to find himself dragged to the p6 workshop…. | 20:07 | ||
ingy salutes o> | 20:10 | ||
FROGGS | o\ | 20:11 | |
timotimo | [Coke]: would it be problematic to align the fields in the perl6_pass_rates.csv? | 20:13 | |
masak | ingy: <o <o <o | 20:19 | |
20:19
zby_home_ left
|
|||
masak .oO( if it greets like a duck... ) | 20:19 | ||
colomon: they would learn about Not Quite the Pearly Gates. :P | |||
20:21
lizmat joined
20:24
krokite joined
20:28
Rotwang joined
20:32
woolfy joined
|
|||
jnthn | > function omg($wtf) { echo $wtf . " bbq\n"; }; omg("beef") | 20:33 | |
oops | 20:34 | ||
ingy | looks like JavaShell | ||
jnthn | smells like meat! | 20:35 | |
ingy | jnthn! | ||
jnthn | o/ ingy | 20:36 | |
ingy | omg() { echo "$1 bbq"; }; omg beef | 20:37 | |
ingy PortGolfs to Bash | |||
20:39
TgMts joined,
woolfy left,
woolfy joined
|
|||
ingy is working on something like RosettaCode that is focused on Idioms rather than Tasks/Scripts | 20:39 | ||
with perl6 of course | 20:40 | ||
masak | could you be more specific about "with perl6 of course"? :) | 20:41 | |
20:42
tgt joined
|
|||
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 ;) | ||
FROGGS | "yes" | 20:43 | |
:P | |||
20:43
araujo left
|
|||
ingy | FROGGS: was writing in Bash. Quotes not needed. | 20:44 | |
or maybe that was YAML | |||
ingy can't stay focused, nanosec to nanosec | |||
FROGGS | I meant the quotes like in "lazer" | ||
20:44
tgt left
|
|||
ingy | ah, I think you mean "La" "Zer" | 20:45 | |
20:45
Rotwang left
|
|||
ingy | double double | 20:45 | |
FROGGS | might be the case | 20:46 | |
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 | ||
masak | like, keep sigils, but only the $ sigil. :( | ||
FROGGS | well, at least this one does not change | ||
preg_match('/^.$/', ...) # shudder | |||
20:48
lowpro30_ joined
|
|||
timotimo | :D | 20:48 | |
FROGGS | and operator precedence is insane too, dunno where they got that from | ||
lee_ | i always wondered why the delimiters are required in PHP, if it's all just a string | ||
FROGGS | lee_: nobody knows *g* | ||
lee_ | hehe | 20:49 | |
masak | I'm sorry. I forgot that talking about PHP makes me incredibly depressed. I apologise for bringing it up. | ||
lee_ | even the implementers don't know, i'm sure | ||
timotimo | can you use any delimiter you want? | ||
inside that string? | |||
FROGGS | not sure | ||
lee_ | yes | ||
timotimo | at least! | ||
20:49
ggoebel2 left
20:52
lowpro30 left
|
|||
lue | masak: think happy thoughts of Camelia casting shadows over all the other languages. | 20:52 | |
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. :) | ||
masak .oO( Perl 6 is the ingy of programming languages ) | 20:54 | ||
FROGGS | Perl 6 is naked? | 20:55 | |
PerlJam | Perl 6 is responsible for YAML? | 20:57 | |
20:57
kivutar joined,
spider-mario left
|
|||
ingy | Perl 6 (like me) is only *partially* responsible for YAML | 20:58 | |
20:59
araujo joined
|
|||
ingy | YAML: The Bad Parts™ -- Ingy döt Net | 20:59 | |
ingy has *no* time to write this future O'Reilly gem! | 21:00 | ||
diakopter | FROGGS: I can see Camelia's clothes; she's wearing an asteroid belt | 21:04 | |
21:08
stevan__ joined
21:11
alester left,
stevan_ left
|
|||
lue | So that's where the Kuiper belt went. | 21:14 | |
21:14
skids left
21:15
benabik left
|
|||
ingy | is there a POD grammar in p6g? | 21:23 | |
FROGGS | yes | 21:24 | |
ingy | great! | ||
FROGGS | github.com/rakudo/rakudo/blob/nom/...r.nqp#L487 | 21:25 | |
lizmat | gnight #perl6! | 21:27 | |
yoleaux | 19:54Z <[Coke]> lizmat: I'm kind of dressed like a bald priest. | ||
masak | tadzik++ # Pod | ||
21:27
thou joined
|
|||
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:27
lizmat left
|
|||
ingy | masak: lowercase is the future | 21:28 | |
21:28
kaare_ left
21:29
woolfy left
|
|||
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 | |||
Makefile is messing with me, though! | |||
modern shell envs don't sort README to the top | 21:30 | ||
21:31
ggoebel joined
|
|||
ingy | FROGGS: thx, btw | 21:31 | |
FROGGS | you're welcome | 21:32 | |
21:35
ggoebel left
21:36
donaldh joined
21:40
BenGoldberg joined,
lowpro30_ left
21:41
ggoebel joined
21:43
EvanTeitelman joined
21:50
FROGGS left
21:53
BitPuffin joined
|
|||
TimToady | maybe we should rename README to ABRACADABRA or some such | 21:53 | |
diakopter | DRINKME | 21:54 | |
TimToady | AARDVARK would sort before either of those | 21:55 | |
or name it 600DBEE8 and see if people mistake it for goodbeer | 21:58 | ||
masak wouldn't | |||
diakopter | booed bieber maybe | 21:59 | |
TimToady | okay, just name the file ^A if you really want it to sort to the front... | ||
donaldh | 1ST_README | 22:00 | |
TimToady | 0TH_README | ||
donaldh | 0H_PLEEZ_README | 22:01 | |
22:01
kbaker left
|
|||
masak | 0H_GOD_NOT_ANOTHER_README | 22:03 | |
22:03
dmol left
|
|||
masak | 0H_PLEASE_KILL_ME_NOW_BEFORE_I_READ_ANOTHER_USELESS_README | 22:03 | |
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:09 | |
ingy | flussence++ | 22:10 | |
22:10
berekuk left
|
|||
ingy | or follow the lead of git.git and put a grillion things at the top level | 22:11 | |
readme-if-you-can-findme | |||
flussence | .oO( unimportant files can go in a directory named .🐱 ) |
22:12 | |
masak | congratulations-you-finally-found-the-actual-readme-file | ||
hahaha-disregard-that-this-is-the-actual-readme-file | |||
those-other-files-are-full-of-lies-this-is-the-authentic-readme-file | 22:13 | ||
22:14
panchiniak joined
|
|||
ingy | r: say "🐱".lc | 22:15 | |
camelia | rakudo 69c3cc: OUTPUT«🐱» | ||
22:16
ajr joined
22:17
ajr is now known as Guest20540,
Guest20540 is now known as ajr_
|
|||
masak .oO( you can't lowercase ignorance! ) | 22:19 | ||
jnthn | .oO( I'm going to go on believing I can! ) |
22:20 | |
ingy | You can't lowercase german nouns either, iirc… | 22:22 | |
masak .oO( you can't lowercase "Ignoranz" ) | 22:24 | ||
donaldh | In NQP, can roles have attributes? | 22:35 | |
jnthn | yes | 22:37 | |
22:39
PacoAir left
|
|||
donaldh | hmm, getting a NullPointerException when trying to use an attribute defined in role Perl6::ModuleLoaderVMConfig | 22:40 | |
22:40
btyler_ joined
|
|||
jnthn | Hmm...but do we work on an instance of Perl6::ModuleLoader? I thought we only worked against the type object.. | 22:42 | |
22:42
skids joined
|
|||
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:43
btyler left
|
|||
masak is amazed the course even has a social dinner thingie | 22:50 | ||
22:55
jnap left
|
|||
Mouq | docs.perl6.org seems to have an error with escaping links: doc.perl6.org/routine/prefix:<?> should be doc.perl6.org/routine/prefix:<%3f> | 22:57 | |
Well, bug | |||
masak | Mouq: please report it at github.com/perl6/doc/issues | 22:58 | |
22:59
BitPuffin left
|
|||
Mouq | Well, or fix it myself … github.com/perl6/doc/blob/master/htmlify.pl#L26 | 23:02 | |
donaldh has panda working on jvm | 23:06 | ||
github.com/rakudo/rakudo/pull/208 | 23:07 | ||
Mouq | donaldh++ | ||
masak | donaldh++ | 23:08 | |
jnthn | donaldh++ | ||
dalek | kudo/nom: efac451 | (Donald Hunter)++ | src/ (4 files): Implement absolute path lookup in ModuleLoader. |
23:09 | |
kudo/nom: 628944c | (Donald Hunter)++ | src/Perl6/ModuleLoader.nqp: Remove whitespace. |
|||
kudo/nom: 67c6fd9 | (Carl Mäsak)++ | src/ (4 files): Merge pull request #208 from donaldh/abs-search-path Implement absolute path lookup in ModuleLoader. |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Display.html?id=208 | ||
masak | donaldh: merged. | ||
23:09
benabik joined
23:11
fridim__ joined,
pmurias joined
|
|||
donaldh | tadzik: github.com/tadzik/panda/pull/56 avoids LexoticException in panda | 23:11 | |
23:12
pmurias left
|
|||
donaldh thinks it's cleaner to use temp $*CWD instead of chdir and LEAVE { chdir $orig } | 23:12 | ||
timotimo | i think so, too | 23:13 | |
donaldh | ==> Successfully installed Term::ANSIColor | ||
timotimo | ooooh panda on jvm | 23:14 | |
this is awesome | |||
this is great news! | |||
jnthn | .oO( <sing>donaldh brings the JVM star...</sing> ) |
23:15 | |
ingy | where are you guys meeting up? | ||
masak | wow, panda on JVM! | ||
that deserves a blog post from *someone*. | 23:16 | ||
ingy would have to write the P6 blogging platform first :\ | |||
so you guys are in .de for??? | 23:17 | ||
masak | ingy: just use zblog :) | ||
donaldh is happy to help | |||
masak | donaldh: if I could merge that pull request, I would. but seems I don't have the ackles. | ||
'night, #perl6 | 23:18 | ||
donaldh | also goodnight from me | ||
jnthn | 'night | ||
ingy | masak: what's zblog? | ||
and what are ackles? | 23:19 | ||
donaldh | ACLs | ||
permissions | 23:20 | ||
diakopter | access control lists | ||
23:21
donaldh left
|
|||
timotimo | the pull request works fine on parrot? | 23:24 | |
i'll try. i think i have ackles to merge | 23:25 | ||
23:31
bluescreen10 left
|
|||
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 | |
that's ... interesting | |||
jnthn | Looks fair and balanced to me... :P | 23:40 | |
timotimo | shouldn't i be able to get the pull request just from fetching? | 23:41 | |
23:42
gdey joined
|
|||
Mouq | timotimo: no, you have to fork before making a pull request to fork | 23:42 | |
timotimo | yes! | 23:43 | |
no, wait | |||
you have to make a pull request to get the permission to fork | |||
Mouq .oO( Whoa, rakudo has over 10,000 forks! ) | 23:45 | ||
timotimo | for some reason the panda patch seems to up my memory usage by a whole lot or something | 23:47 | |
or something else is going wrong, which is always possible | 23:48 | ||
jnthn | 'night, #perl6 | 23:56 |