»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
lichtkind Type check failed in assignment to '$!geschwindigkeit'; expected 'Num' but got 'Rat' : bug or corect? 00:00
jnthn ...how can we know without seeing your code? :) 00:01
jnthn But if you're doing: has Num $!ichwillbier = 1.5 00:02
Or some such, then yes, correct
1.5 is a Rat.
dalek kudo/nom: fdba160 | jnthn++ | src/core/Numeric.pm:
Add round sub, so rounders.t at least compiles. It hangs, though, so this only half fixes RT#105272.
00:03
raiph mberends++ for game code, advent calendar post, and posting early
jnthn colomon: Dunno if you've any idea why .round hangs? 00:04
Anyway, my hacking time's up for today 00:05
lichtkind good night 00:06
jnthn 'night, #perl6
diakopter o/
lichtkind \o 00:07
sorear good * #perl6 00:17
felher o/ 00:20
lichtkind \o 00:25
Radvendii +j #conlang 01:37
damn
how do i add a channel to this irc client?
donri That quite depends on which particular IRC client it might be that you are using. :) 01:38
sorear donri: 185b3293@gateway/web/freenode/ip.24.91.50.147 is a dead giveaway
Radvendii: it's /j #conlang in that client 01:39
Radvendii webchat.freenode.net
bam! thanks ;-)
is there a command line version of irc?
sorear hundreds 01:40
I am not exaggerating... writing command line irc clients is a rite of passage for hackers
irssi is one of the most popular
I'm using that
Radvendii ooh… then maybe i'll make on in perl 6 :-P
does anyone have a tutorial to suggest for writing one? i have no idea where to begin. 01:41
donri sorear: ironically, my irc client does not show hostnames :) 01:42
Radvendii it seems there is a module Net::IRC for perl5 does such a module exist for perl6 as well? 01:48
sorear Radvendii: I never said it was a good idea :p
Radvendii ah. 01:49
donri but if you're feeling brave, you should look into grammars and network io 01:50
if you're feeling brave but lazy, you might be able to link to an existing library via blitzkost-what's-its-name, nativecall or niecza's clr support
sorear I think you mean "if you're feeling brave and have 5 years to burn" 01:51
Radvendii haha. what if im suuuper lazy and just look for one online. Irssi seems good.
donri beware that irssi sucks though 01:52
but don't tell anyone i said so
Radvendii oh?
damn. what should i use?
sorear irssi sucks, the rest suck more
donri graphics in the terminal is an ugly hack
Radvendii damn!
i dont want graphics
i want vim-style
sorear my copy of irssi doesn't do graphics
donri the command line is great as a command line
sorear it's vim-style
donri graphical toolkits are greater as graphical toolkits 01:53
sorear: vim is graphical
Radvendii i mean command line vim
not gvim
donri command line vim is graphical
www.gnu.org/s/freetalk/ is an example of a non-graphical terminal chat client 01:54
sorear bad donri. please don't get into semantic nitpicking with the newbies
Radvendii how are you defining graphical?
donri ed is an example of a non-graphical editor
Radvendii haha. oh. why do you say graphics in command line is ugly?
donri because it's a hack 01:55
and i repeatedly see that biting people
particularly with mispastes to irc
Radvendii i dont understand...
sorear Radvendii: if you want a vim-style irc client and don't fancy spending 5 years debugging one of your own, use irssi, it's the least bad of them
donri ncurses-like interfaces remove most of the benefits of the command-line, yet only providing half-assed graphics 01:56
weechat is arguably better than irssi
if you're into that sort of thing
sorear Radvendii: since you like vim, you don't care what donri has to say
donri :)
Radvendii awesome. ill try out irssi
donri loves gvim FWIW
Radvendii worst comes to worst, i'll stop using it ;-P
sorear Radvendii: donri is arguing against vim-style interfaces in general, not irssi in the specific 01:57
Radvendii ah
donri not vim-style in general, ncurses-style
Radvendii what's the difference?
donri well, vim in the terminal is ncurses-like
Radvendii gah! where do i get GILB?
donri but vim in itself is more than that
sorear Radvendii: donri defines vim to include gvim 01:58
Radvendii oh wait
it tells me
i see
sorear Radvendii: dunno, I just did sudo apt-get install irssi and angels sung for me
donri sorear: it could also be interpreted as my arguing against the modal editing of vim or something such
Radvendii i dont even have gvim. it's not compiled that way by default on mac.
donri quite oppositelike i think that part is genious
Radvendii: macvim?
Radvendii aw damn. sometimes i wish i used linux. but then again... i tried it. it didn't work out for me too well. 01:59
donri why not?
Radvendii but there is a version of apt-get for mac...
donri macports, homebrew and all those
Radvendii i dont remember. it was really buggy, especially with the mac trackpad
donri does not really know mac 02:00
hardware might in deed suck with linux-on-a-mac 02:01
i've heard it working out well but might depend on the mac or how long ago you tried it
sorear FreeBSD also has a respectable package manager, sudo pkg_add -r irssi
sorear sadly, you still can't expect to run Linux on arbitrary hardware and have it completely work 02:02
Radvendii it might also have hurt that for a while i tried arch linux
you have to build that one up from the ground
sorear I actually hear arch linux is quite good
donri oh dear god don't use arch linux
Radvendii i struggled through getting x11 isntalled.
sorear if you can adjust to a real Unix environment :p 02:03
benabik I would not recommend fink for the mac at this point. It's a bit outdated and clunky. It uses apt-get but more or less forces you to build from scratch. Homebrew is much better. And MacVim is the way to go for vim. 02:07
benabik re-lurks.
djanatyn say ~(1, 2, * + * ... *)[^10] # this piece of code still confuses me. 02:20
donri rakudo: say ~(1, 2, * + * ... *)[^10] 02:23
p6eval rakudo fdba16: OUTPUT«1 2 3 5 8 13 21 34 55 89␤»
donri djanatyn: any particular part of it?
djanatyn donri: I dunno. I think I get it.
Radvendii what is the [^10] up to 10? 02:23
djanatyn it's just, is there a difference between the * before the "..." and the * after the "..."?
donri yes and no 02:24
djanatyn Radvendii: pretty sure it takes the first ten elements and returns them as a new array 02:24
since it's an infinite list, it only grabs ten
donri ^10 is a range of 0 to 9 or 10 not sure
djanatyn: * is "Whatever" and its meaning depends on the context / how/where it is used
Radvendii that's kind of weird. we already have the .. operator
donri Radvendii: it's just a shortcut 02:25
for one you get away with less parenthesis
Radvendii mkay. what about ...? what is tha operator?
donri forgot what it's called but it's like .. ranges but more magical
... * means infinite, never-ending range 02:26
Radvendii hahaha
so how is *+*...* evaluated?
donri 1, 2 ... * means to continue the sequence 1,2...
Radvendii oh
that's brilliant
donri *+* is plus as a function
Radvendii and it just knows that by * we mean the last element? 02:27
donri 1, 2, some-function ... * uses the previous items in the sequence as arguments to some-function and the result is the next item
based on the arity of the function
Radvendii ah. so it's a very specific notation
djanatyn that seems very magical >_> 02:28
donri it's multiple notations working together
djanatyn i guess not when you think about it. I didn't really get it before
donri rakudo: (* + 2)(3)
p6eval rakudo fdba16: ( no output )
donri rakudo: (* + 2)(3).say
p6eval rakudo fdba16: OUTPUT«5␤»
donri if you use an operator on "Whatever" it produces a function that takes that place as an argument
so (* + 2) is the same as -> $x { $x + 2 } 02:29
Radvendii but 1, 2, (sub) ... * is very specific
donri (* + *) is the same as -> $x, $y { $x + $y }
Radvendii: how do you mean?
Radvendii what if i did 1, 2, *+*, 4, 5, *+*, ... *? 02:30
what would it do?
djanatyn donri: ...is that kind of like haskell partial function application?
like...in a weird twisted list sort of way?
except
donri rakudo: say (1, 2, *+* ... *<100)
p6eval rakudo fdba16: OUTPUT«1␤»
djanatyn never mind, then, I guess not
donri rakudo: say ~(1, 2, *+* ... *<100)
p6eval rakudo fdba16: OUTPUT«1␤»
donri mhm
djanatyn (...) reminds me of (loop) in common lisp 02:31
donri: wait, it is?
sorear djanatyn: in a weird twisted way, yes
donri djanatyn: kinda yes
Radvendii i guess my question is this: what does putting a lambda in a list do?
djanatyn Yeah, I think you get what i mean.
sorear it's just an object, it gets put in the list
Radvendii but when you apply "say" to it, it evaluates?
djanatyn Is there a perl debugger so I could step through that expression or somethig?
okay. 02:32
well. I think I've got this now :D
donri rakudo: say ~(1, 2, *+* ... *>100)
p6eval rakudo fdba16: OUTPUT«1 2 3 5 8 13 21 34 55 89 144␤»
djanatyn > say ~(1, 1, &[+] ... *)[^10]
donri instead of * for infinite you can also have a function that tells the end
djanatyn rakudo: say ~(1, 1, &[+] ... *)[^10]
donri *>100 is the predicate for "is more than 100"
p6eval rakudo fdba16: OUTPUT«1 1 2 3 5 8 13 21 34 55␤»
djanatyn rakudo: say ~(1,1 ... *)[^10] 02:33
p6eval rakudo fdba16: OUTPUT«1 1 1 1 1 1 1 1 1 1␤»
djanatyn ...oh! okay, got it
so where should I put this test case, and more importantly, what kind of test case should I write?
donri from what i understood what you're really testing is &[+] as *+* 02:34
djanatyn ...actually, I should figure that out myself
donri i've never seen that syntax though so i can't really help
djanatyn yeah, that's what I'm testing
it is the same
donri I only know it to be &infix:<+>
Radvendii rakudo: say ~(*+* ... *)[^10]
p6eval rakudo fdba16: OUTPUT«Not enough positional parameters passed; got 0 but expected 2␤ in whatevercode <anon> at /tmp/NqC40TOaKh:1␤ in sub coro at src/gen/CORE.setting:4423␤ in method reify at src/gen/CORE.setting:4398␤ in method reify at src/gen/CORE.setting:4183␤ in method reify at…
donri perl6: say (&[+]).WHAT 02:35
p6eval niecza v12-3-g193ca57: OUTPUT«===SORRY!===␤␤Undeclared name:␤ '[+]' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /home/p6ev…
..pugs b927740: OUTPUT«*** ␤ Unexpected "[+])."␤ expecting "::"␤ at /tmp/cOXelIqpdh line 1, column 7␤»
..rakudo fdba16: OUTPUT«Sub()␤»
donri looks like it does work in rakudo?
djanatyn ~(1, 2, &[+] ... *)[^10] == ~(1,2, *+* ... *)[^10] # I'm testing to make sure this is true 02:35
donri: yeah, the bug got fixed
...but then it says "my $foo = &prefix:<!>;say $foo.signature;" 02:36
that's just confusing - what does that have to do with this bug?
Radvendii rakudo: say ~(1, 1*+* ... *)[^10]
p6eval rakudo fdba16: OUTPUT«1 1 1 1 1 1 1 1 1 1␤»
djanatyn I should look at another bug report and the tests submitted
Radvendii rakudo: say ~(1, 1, *+* ... *)[^10] 02:36
p6eval rakudo fdba16: OUTPUT«1 1 2 3 5 8 13 21 34 55␤»
donri rakudo: &[+] === &infix:<+> 02:37
p6eval rakudo fdba16: ( no output )
donri rakudo: say (&[+] === &infix:<+>)
p6eval rakudo fdba16: OUTPUT«Bool::True␤»
donri djanatyn: all you need should be: ok (&[+] === &infix:<+>)
Radvendii i dont understand. when you evaluate a lambda in a list, it takes the previous elements and uses them as arguments?
is that right? 02:39
donri Radvendii: well it's particular to ..., not lists 02:40
Radvendii so what is the overarching rule? 02:41
donri perl6advent.wordpress.com/2010/12/0...-operator/
sleepy time for me 02:43
the rule is very liberal as all things perl
there's no single one way to use "..." 02:44
hope the link helps, gotta sleep
Radvendii ... is briliant 02:48
thanks!
colomon jnthn: no idea why round hangs. I barely had time to report the bug someone else found. :) 02:57
sorear I blame multiple dispatch 03:12
djanatyn moritz / tadzik: *poke* 03:39
sjn Question... Are there any good grammar tutorials online atm? 03:46
djanatyn /home/djanatyn/roast/S03-sequence/basic.rakudo .. ok 04:17
All tests successful.
\o/
djanatyn okay, I'm almost certain this won't be accepted, but I'm going to submit it anyway, because it's at the very least progress! 04:18
djanatyn github.com/perl6/roast/pull/9 04:37
Woodi hallo today 06:13
how to write class with fields not available for methods in that class except that field accesor ? 06:14
sorear You can't, sorry.
Woodi in Perl5 there was a way - using clousures 06:24
k, I will test clousures in v6 06:25
sorear uhm 06:28
I do not think I understand you
tadzik: ping 06:29
moritz djanatyn: *backpoke* 06:30
sjn: "Using Perl 6" has an introduction to regexes and grammars 06:32
dalek ast: 5d94616 | Jonathan++ | S03-sequence/basic.t:
RT #76046: &[+] in infix:<...>
ast: fcb6304 | moritz++ | S03-sequence/basic.t:
Merge pull request #9 from djanatyn/master

GCI - RT #76046
moritz djanatyn++ 06:33
aloha Karma for djanatyn is now 7
dalek ok: 84489ff | moritz++ | src/ (2 files):
fix a thinko and a grammaro, Entonian++
06:35
moritz mberends++ # advent post 06:40
aloha Karma for mberends is now 159
mberends \o/ gm moritz 06:41
tadzik sorear: pong 07:16
djanatyn: pong
moritz just had a small relevation 07:41
you know, method lookup and sub lookup are similar, excpt that sub lookup consults the outer lexpads, and method lookup the "outer" classes (ie the ones we inherit from) 07:42
and in this picture, role application is just like importing subs into a lexical scope 07:43
awwaiid or a lookup overlay 07:54
er, yeah I see what you mean. scopes overlay scopes 07:55
odoacre what was the name of that cool program that was like grep -r but had syntax hilighting and skipped over SCM files ? 08:15
moritz odoacre: ack 08:21
gist.github.com/1434231
odoacre moritz: right, thanks
moritz erm, wrong paste 08:22
betterthangrep.com/
odoacre yeah i have it i just could not remember the name
moritz nom: say 123.round 08:31
p6eval nom fdba16: OUTPUT«(timeout)»
moritz I'm fixing the rounders now 08:47
jnthn moritz: great, thanks :) 08:48
jnthn is getting stuff sorted out for Stockholm trip
moritz is there a *fast* way to check if a num is one of Inf, -Inf, or NaN? 08:54
dalek ast: d413b87 | moritz++ | S (2 files):
rakudo fudges
09:21
GlitchMr perl6: print .chr for 0x20..0x7E 10:30
p6eval niecza v12-3-g193ca57: OUTPUT«Unhandled exception: Unable to resolve method chr in class Int␤ at /tmp/sbvxchzAq4 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2225 (module-CORE @ 58) ␤ at /home/p6e…
..pugs b927740, rakudo fdba16: OUTPUT« !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~»
GlitchMr :)
perl6: print 2.2~400 10:32
p6eval niecza v12-3-g193ca57: OUTPUT«11/5400»
..pugs b927740, rakudo fdba16: OUTPUT«2.2400»
GlitchMr perl6: print {2+2}.eval.perl # probably invalid, but whatever... 10:41
p6eval rakudo fdba16: OUTPUT«Method 'eval' not found for invocant of class 'Block'␤ in block <anon> at /tmp/QQXVbDGWzA:1␤ in <anon> at /tmp/QQXVbDGWzA:1␤»
..pugs b927740: OUTPUT«<SubBlock(<anon>)>»
..niecza v12-3-g193ca57: OUTPUT«Unhandled exception: Unable to resolve method eval in class Block␤ at /tmp/N3JkUaPwpt line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2225 (module-CORE @ 58) ␤ at /home/…
djanatyn moritz: :D 11:25
what's my next task?
moritz djanatyn: there's another test writing tickets 11:51
djanatyn: search for me as a mentor, shouldn't be too hard to find then
djanatyn I don't think I can 11:52
I can only search by title or organization
...by the way, are there any tests involving bailador? 11:53
I was going to wait a little while before I accepted my next task, as our school is having a programming competition this week I'm participating in. 11:54
But, if I could use Bailador in that, I'd love to :) 11:55
moritz djanatyn: we can publish new tasks on Dec 18th, I think 11:57
djanatyn Oh, fun.
Well, it's over on friday ;)
moritz djanatyn: best contact tadzik about it, he knows bailador much better then me, and he's also a GCI mentor 11:58
djanatyn so I'll accept that new ticket task this weekend, then.
maybe. I might just use Dancer2 or a python web framework, still not sure 11:59
moritz djanatyn: www.google-melange.com/gci/task/vie...11/7174240
djanatyn but if bailador is usable and not terribly slow that would be fun
moritz aye 12:00
jnthn travel to stockholm - probably back this evening & 12:05
colomon nom: say 23.542323.round 12:39
p6eval nom fdba16: OUTPUT«(timeout)»
colomon nom: say "hello" 12:40
p6eval nom fdba16: OUTPUT«hello␤»
colomon nom: say 23.542323.round
p6eval nom fdba16: OUTPUT«(timeout)»
moritz erm, did I forget to push? 12:53
dalek kudo/nom: f5c1975 | moritz++ | / (4 files):
fix rounders

Does not handle big ints properly, but this is as good as old master ever got
12:54
colomon moritz++ 12:55
aloha Karma for moritz is now 2843
colomon nom: say 23.542323.round 13:02
p6eval nom fdba16: OUTPUT«(timeout)»
moritz evalbot rebuild nom 13:04
p6eval OK (started asynchronously)
moritz nom: say 23.542323.round 13:36
p6eval nom f5c197: OUTPUT«24␤»
colomon \o/ 13:40
awwaiid idea: define (at runtime) a new operator, say \\, which takes a list on the left and right, passing the list on the left as STDIN to shell execution to the list on the right, returning a list. 13:54
the idea being to add a simple op that would make the REPL good for doing some shell manipulations
hm. but that's not quite right. 13:55
awwaiid I'll noodle 13:57
tadzik djanatyn: what do you need about bailador? 14:01
djanatyn tadzik: How...complete is it? 14:15
and how fast is it?
and, is it possible to get it running on windows? 14:16
tadzik it's not complete at all :)
it should be running on windows just fine, but I can't tell, I have no windows
djanatyn ah. :) 14:17
well, is it possible to hack up a simple little website? 14:18
tadzik Requests per second: 11.97 [#/sec] (mean) 14:19
not bad for Rakudo :)
(that's a hello world app)
djanatyn okay :) 14:20
it seems very minimal. do I need any important modules to install it?
and, if so, how should I go about doing that? with panda?
tadzik HTTP::Server::Simple
panda should be able to install it, but there's no bailador in its DB
adding it may be a nice GCI task too
oh wait, isn't today a deadline for new projects? 14:21
tadzik oh, nope, 16th 14:21
djanatyn the deadline is december 18th, I think
PerlJam I thought it was the 16th 14:22
djanatyn oh, 16th, then :)
[Coke] yawns over coffee. 14:33
flussence Tests=20054 14:34
wow
tadzik yeah, superawesome 14:36
colomon \o/ 15:30
dalek kudo/nom: e1cd4c5 | coke++ | t/spectest.data:
track failure modes
15:36
sorear good * #perl6 15:50
colomon \o 15:51
[Coke] sorear: ho. 16:32
raiph 'hi','hallo','salut', &greets ... * 16:35
colomon ho.
raiph yesterday's advent cal entry was flipflop
Gernot Says: Nice, but flipflop operators are not yet implemented in Rakudo Nom :-( 16:36
colomon nom: say 4 ff 5
p6eval nom e1cd4c: OUTPUT«===SORRY!===␤Flip flop operators are not yet implemented at line 1, near " 5"␤»
colomon niecza: say 4 ff 5 16:37
p6eval niecza v12-3-g193ca57: OUTPUT«1␤»
colomon b: say 4 ff 5
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Flip flip operators are not yet implemented at line 22, near " 5"␤»
colomon Looks like they are implemented in niecza
raiph right 16:38
TimToady
.oO("How the Irish Saved Civilization")
[Coke] not everything is going to be available in every impl. I would recommend somehow tagging the articles to show which perl6 you should be trying these on. 16:39
TimToady
.oO(Civilization is unevenly distributed...)
16:40
[Coke] Huh. only one advent post from 2010 made it in as a test?
I thought we did that last year, not 2 years ago. woof.
raiph I didn't mean to say anything was wrong, or make work 16:41
[Coke] ugh, getting a lot of failures in niecza's spectest. 16:45
niecza: (2 + 3i) > (2 + 2i) 16:49
p6eval niecza v12-3-g193ca57: ( no output )
[Coke] nom: (2 + 3i) > (2 + 2i)
p6eval nom e1cd4c: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(Mu, Mu %_)␤␤ in method Real at src/gen/CORE.setting:643␤ in sub infix:<>> at src/gen/CORE.setting:2194␤ in sub infix:<>> at src/gen/CORE.setting:2194␤ in block <anon> at /tmp/CP9…
[Coke] std: (2 + 3i) > (2 + 2i) 16:49
p6eval std be1f10e: OUTPUT«ok 00:01 121m␤»
[Coke] sorear: github.com/sorear/niecza/issues/78 was accidentally closed. keyboard shortcuts suck if you're not aware you're using them, sorry 16:51
raiph What from a layered architectural pov is the common layers of existing/main P6 impls? 16:52
something like backend, nqp*, grammar, core settings, non-core ?
[Coke] there are no common layers, I think. the STD grammar is probably the only thing they have in common.
raiph do impl copy/paste from each other at the higher layers?
[Coke] parts of the setting are shareable, yes. not sure if anyone IS sharing them. 16:53
raiph could ff from niecza be copied to rakudo, and vice versa? 16:53
benabik ff might be able to be copied from b 16:54
raiph seems like an ff impl would be all higher level code reusing lower level stuff that might be common across impl
[Coke] what is the github way to write an issue number? "issue #79" ? 16:54
benabik Either #79 or gh-79 16:55
(IIRC)
[Coke] raiph: find the ff impl from niecza and see. ;)
PerlJam raiph: depends on what you mean by "copied" :-)
raiph: If you're just talking about conceptually, the answer is yes.
PerlJam raiph: if you mean to cut-n-paste code, that won't work at all 16:56
raiph coke: i'd already taken that on by dint of commenting. ;) 16:57
PerlJam: why not?
benabik niecza's ff impl is based on niecza's internals. github.com/sorear/niecza/blob/mast...r.pm6#L136 16:58
Things like ::GLOBAL::NieczaActions.gensym is unlikely to exist in Rakudo.
PerlJam raiph: as benabik says
raiph PerlJam: it can't be that way in general, of course, but for higher level stuff, implemented purely in terms of existing stuff, if that existing stuff is common to impls... 16:59
colomon doesn't ff have to be pretty low-level? it's got per-usage state, that's not normal for operators
raiph benabik, PerlJam: ok
colomon alpha: say 4 ff 5 16:59
p6eval alpha : OUTPUT«Confused at line 10, near "ff 5"␤in Main (file <unknown>, line <unknown>)␤»
colomon pugs: say 4 ff 5 17:00
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&infix:ff"␤ at /tmp/B9D8uwvNdU line 1, column 5 - line 2, column 1␤»
benabik b: say 4 ff 5
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Flip flip operators are not yet implemented at line 22, near " 5"␤»
benabik I thought ff existed in b. :-/
colomon Niecza's the only implementation, it appears.
PerlJam yep
[Coke] argh, niecza checks out an unpushable copy of spec.
raiph colomon: that might not be normal, but, unless an impl makes non-spec assumptions, why would that affect things?
[Coke] raiph: implementations might cheat for speed, or because they don't implement enough perl6 to not use the lower levels. 17:01
so, yes, as said: in theory, that sharing is possible. It just may not be practicable. 17:02
colomon ralph: I don't think you can implement ff in Perl 6 without macros, which no one supports yet. 17:03
raiph coke: right. but by doing that they ultimately slow things down. that's why it makes sense ff is not yet implemented; i'm pretty sure it ought to be done in terms of lower level p6 that should be the same across most p6 impls
colomon how else do you write a function which behaves different at every point it is called? 17:04
raiph colomon: gotcha.
colomon: must not only carry state, but state per appearance in code. even generated code. 17:06
[Coke] raiph: how are you sure of this? ;) 17:09
[Coke] (obviously, having experience with one of the perl 6 implementations would lend some weight to the theory.) 17:10
raiph coke: oops, dropped a must. must remember not to do that
coke: have a nanonats worth of experience from couple years ago 17:11
*nanognats
dalek ast: 4b1a35c | coke++ | S32-num/complex.t:
niecza fudge
17:12
[Coke] ugh. what is the correct way to git remote add a readwrite github so git shuts up when I try to do a rebase? 17:15
*github remote 17:16
raiph i thought i saw something about niecza dropping "official" support for mono for now; was that right?
[Coke] github.com/sorear/niecza/blob/mast...nounce.v12 doesn't seem to agree with that. 17:17
raiph coke: i recall some comment since then. will go try find. 17:19
TimToady sorear++ regularly panics about the CLR startup overhead, and thinks about other backends, but I don't see that mono is going away any time soon, given that it's still the most performant implementation once it gets going 17:19
aloha Karma for sorear is now 2038
[Coke] (that auto-announce was fixed in #parrot, btw. pinging bacek about this copy of aloha.) 17:20
jasonmay that is a lot of karma 17:21
TimToady well deserved
jasonmay I also read it as "karma for sorear is the new 2038" at first, with overflow in mind :)
colomon [Coke]: unless there's been some sort of change since the last time I looked, (2 + 3i) > (2 + 2i) should not fail, but what it does is not firmly defined (but it should be consistent). 17:23
raiph TimToady: thanks. 17:24
[Coke] colomon: there is a spec test saying it should die. 17:35
colomon [Coke]: how new is it? 17:35
[Coke] so feel free to update the ticket, the spec, the nieczabug, and create a rakudo bug. ;)
colomon: what should it do? it's nonsensical, at best. 17:36
colomon not crash and be consistent
PerlJam colomon: that's crazy talk! 17:37
[Coke] not crash is axiomatic, yes? or do you mean not throw an exception? (or not fail?)
and if "consistent"... with what?
colomon consistent with itself
not throw an exception, or return Fail or something 17:38
[Coke] ok, it should always return false? 17:38
colomon that's probably less than ideal, but I think it would be legal as I understand the state of things.
The idea is that we don't want numerical comparison blowing up because a Complex number snuck in. 17:39
[Coke] Anyway, there's a committed test. I'm just trying to clean things up. If you need it cleaner, by all means. ;)
tadzik hello 17:59
raiph tadzik: hi 18:07
colomon do we have any plans for tomorrow's advent calendar? 18:42
PerlJam colomon: I could probably finish my little write-up on Grammar::Profiler 18:46
colomon PerlJam++
aloha Karma for perljam is now 56
tadzik Grammar::Profiler? Wow, looking forward to that 18:48
PerlJam eh, it's not that big of a deal.
[Coke] niecza: say ~('foo,bar,baz,' ~~ m/[<alpha>+]+ % ','/ 19:56
p6eval niecza v12-3-g193ca57: OUTPUT«===SORRY!===␤␤Unable to parse parenthesized expression at /tmp/wY1tfiUhoX line 1:␤------> say ~(⏏'foo,bar,baz,' ~~ m/[<alpha>+]+ % ','/␤Couldn't find final ')'; gave up at /tmp/wY1tfiUhoX line 1 (EOF):␤------> ('fo…
[Coke] niecza: say 'foo,bar,baz,' ~~ m/[<alpha>+]+ % ','/
p6eval niecza v12-3-g193ca57: OUTPUT«#<match from(0) to(11) text(foo,bar,baz) pos([].list) named({"alpha" => (#<match from(0) to(1) text(f) pos([].list) named({}.hash)>, #<match from(1) to(2) text(o) pos([].list) named({}.hash)>, #<match from(2) to(3) text(o) pos([].list) named({}.hash)>, #<ma…
[Coke] niecza: print 'foo,bar,baz,' ~~ m/[<alpha>+]+ % ','/
p6eval niecza v12-3-g193ca57: OUTPUT«#<match from(0) to(11) text(foo,bar,baz) pos([].list) named({"alpha" => (#<match from(0) to(1) text(f) pos([].list) named({}.hash)>, #<match from(1) to(2) text(o) pos([].list) named({}.hash)>, #<match from(2) to(3) text(o) pos([].list) named({}.hash)>, #<ma… 19:57
[Coke] niecza: say 'foo,bar,baz,' ~~ m/[<alpha>+]+ %% ','/
p6eval niecza v12-3-g193ca57: OUTPUT«#<match from(0) to(11) text(foo,bar,baz) pos([].list) named({"alpha" => (#<match from(0) to(1) text(f) pos([].list) named({}.hash)>, #<match from(1) to(2) text(o) pos([].list) named({}.hash)>, #<match from(2) to(3) text(o) pos([].list) named({}.hash)>, #<ma…
dalek ast: 751e709 | coke++ | S05-m (2 files):
niecza un/fudge
20:00
jnthn evenin' from Stockholm 20:05
tadzik hello jnthn
jnthn o/ tadzik 20:11
tadzik how are things? 20:13
colomon \o 20:14
jnthn tadzik: Pretty good. My journey here ran very smoothly, I'm enjoying it being properly cold, and this week's course is pretty low stress to deliver.
tadzik: How's things there? Keeping busy? ;) 20:15
tadzik like hell 20:17
project, exam, project, exam, 3 projects, and then finally weekend :)
tadzik the only joy being 'make spectest' and seeing the numbers grow :) 20:18
jnthn tadzik: Ouch! :/ Good luck with it all.
tadzik at least I don't get to implement semaphores for Minix :) 20:19
a friend has it as his OS project for tomorrow, and he just saw that it was a GSoC project in 2009
PerlJam someone go look at perl6advent.wordpress.com/2011/12/0...arprofiler and give me a little feedback and it could tomorrow's post 21:03
(you have to be logged in to see it since it's a draft)
jnthn PerlJam: taking a look while I wait for a compile :) 21:12
"From the outside looking in, the basic technique is to replace the normal grammar mechanism with a custom grammar that intercepts method lookup" 21:13
What you're really doing is replacing the normal grammar *meta-object*, which is the thing that defines how grammar packages work.
Put another way, it's not so much a custom grammar as a custom implementation of what "grammar" means as a keyword. 21:14
PerlJam aye. I understand that, I just suck at writing :)
editing now :)
jnthn "so it looks like I need to add “WHAT” and “perl” to that list of methods to pass through unscathed."
Note tht WHAT is a macro, not a method 21:15
So you don't need to worry about that one.
PerlJam yeah, I wasn't sure
dalek kudo/nom: e7e343b | jonathan++ | src/ (4 files):
First cut implementation of ff, ^ff, ff^ and ^ff^. Runs at least enough for the advent post.
21:19
PerlJam jnthn++ nice 21:20
aloha Karma for jnthn is now 2465
PerlJam jnthn: re-look at my advent post? 21:20
PerlJam er, potential post on grammar profiling that is 21:22
jnthn PerlJam: I think you'll win "longest sentence in this year's advent calendar" award, but it's more accurate now :) 21:23
PerlJam heh
jnthn Note you could do .^name rather than .WHAT.perl by the way :)
PerlJam d'oh! I *knew* there was something simple I was forgetting! 21:24
jnthn heh, I forgot on my first read-through :)
[Coke] niecza: my class Foo { multi method gist(Foo:D:) { "gisted"; } } 21:25
p6eval niecza v12-3-g193ca57: OUTPUT«===SORRY!===␤␤In parameter declaration, typename 'Foo:D' must be predeclared (or marked as declarative with :: prefix) at /tmp/NGSE9EFSJ7 line 1:␤------> my class Foo { multi method gist(Foo:D⏏:) { "gisted"; } }␤␤Parse f…
[Coke] "niecza can't refer to a class while it's being defined" ? 21:26
PerlJam jnthn: I'll leave it the way it is and you can comment on the post to give the readers something to try :)
[Coke]: I looks like it's trying to use "Foo:D" as the name instead of just "Foo". Lookss like niezca buglet to me at the moment. 21:30
std: my class Foo { multi method gist(Foo:D:) { "gisted"; } }
p6eval std be1f10e: OUTPUT«ok 00:01 123m␤»
PerlJam rakudo: my class Foo { multi method gist(Foo:D:) { "gisted"; } } 21:30
p6eval rakudo e7e343: ( no output )
PerlJam Hmm. I just scheduled my post to publish on Dec 7 at 0000 and it updated the permalink. I never noticed that before. 21:31
[Coke] PerlJam++ 21:32
aloha Karma for perljam is now 57
dalek kudo/nom: f70f20a | jonathan++ | docs/ChangeLog:
Some ChangeLog entries.
21:33
volaj: 898c645 | jnthn++ | lib/NativeCall.pm6:
Add first cut of version 2 of Zavolaj. Doesn't do any pointer/array stuff just yet; that's coming soon.
21:35
volaj: a7ae5ba | jnthn++ | README:
Update README a little bit. We need much better docs really.
volaj: e293ff0 | jnthn++ | lib/NativeCall.pm6:
Add CStruct passing support. Improve error message when trying to pass a class or other object not based on CStruct.
volaj: d22dd75 | jnthn++ | lib/NativeCall.pm6:
Better string support, including multiple encodings.
volaj: 4561a4f | jnthn++ | lib/NativeCall.pm6:
Support opaque pointers in NativeCall.
jnthn Zavolaj's nom update is now in its master branch.
tadzik \o/ 21:36
does it pass its tests
?
[Coke] jnthn++
aloha Karma for jnthn is now 2466
dalek volaj: b082d38 | jonathan++ | examples/win32-api-call.p6:
Update Win32 API example.
21:37
jnthn tadzik: I didn't figure out how to even run the tests on Windows yet. :( 21:38
tadzik ah
I'll check it out
jnthn tadzik: nmake test gives me a syntax error in the makefile :(
PerlJam jnthn: What is the $c parameter in the pblock returned by find_method() in Grammar::Debugger?
tadzik can you show me?
[Coke] jnthn: ah, I might be able to help with that if I can stop attending winter concerts.
tadzik I don't have to work hard on me birthday :P 21:39
jnthn tadzik: show you the error? 21:39
[Coke] tadzik++ # old fart
aloha Karma for tadzik is now 841
jnthn tadzik: makefile(14) : fatal error U1000: syntax error : ')' missing in macro invocation
PerlJam: short for $cursor" 21:40
PerlJam gotcha.
jnthn PerlJam: Though I'm not sure right now why we actually pull it out explicitly from the rest of the args. 21:41
tadzik jnthn: long-ish paste: gist.github.com/1440125
[Coke]: thanks :)
jnthn tadzik: Seems the tests will want some updating... :) 21:42
tadzik: oh, I see what's up
tadzik: I'm guessing you used to be able to do "is native()" in order to load from the current executable 21:43
tadzik: Apart from I'm not especially sure that trick actually works on Windows...
dalek volaj: b0bedfa | jonathan++ | TODO:
The things that used to be in the TODO are now possible. Add a bunch of other things that do, however, need doing.
21:47
dalek : 12c29dc | duff++ | misc/perl6advent-2011/ (2 files):
[p6advent] "officially" claim Dec 7 :)
21:48
ast: 36085c3 | coke++ | S04-statements/for.t:
niecza fudge
21:49
ecza: 8c09133 | coke++ | t/spectest.data:
remove dead spectest file, skip broken one
21:50
[Coke] phenny: tell sorear that "make spectest" should be green again; all failures that were blocking it now have tickets. 21:51
phenny [Coke]: I'll pass that on when sorear is around.
jnthn early night & 22:16