»ö« 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.
00:01 jerome_ left, derrazo joined 00:11 NamelessTee joined 00:13 derrazo left, jferrero left 00:14 xenu_ joined 00:15 jerome_ joined 00:20 fgomez joined 00:21 xenu_ left 00:26 envi_ joined
sorear good * #perl6 00:31
sorear ponders replying to Wenzel
00:32 xenu_ joined 00:40 NamelessTee left 00:43 xenu_ left 00:44 xenu joined, xenu is now known as Guest1408 00:52 wolfman2000 left 00:54 scott_ joined, scott_ is now known as Guest11254 00:55 Guest1408 left
colomon sorear, o/ 00:56
00:58 adu joined 01:00 xenu_ joined 01:04 fgomez left
adu what does <x>: mean? 01:10
01:10 sisar joined
TimToady don't backtrack into it 01:11
phenny TimToady: 08 May 22:48Z <diakopter> tell TimToady try 3875928375982735.383854792874359827349682.floor on p6eval
01:11 fgomez joined
TimToady perl6: say 3875928375982735.383854792874359827349682.floor 01:12
p6eval rakudo 415791: OUTPUT«3875928375982729␤»
..pugs, niecza v17-2-gb8fcf85: OUTPUT«3875928375982735␤»
adu TimToady: you've been soo helpful today :)
TimToady well, everyone here is that way because someone was helpful to them at some point 01:13
01:14 lestrrat left, envi_ left 01:15 lestrrat joined 01:19 xenu_ left 01:24 tokuhirom joined 01:26 xenu_ joined 01:55 adu left 01:56 adu joined 01:58 whiteknight left 02:01 xenu_ left
adu why is this not working? 02:03
"24" ~~ m{ \d ** 1..3 { +$0 < 256 or fail } }
TimToady put () around the capture 02:04
otherwise it doesn't get into $0
adu YEY thanks :) 02:05
that looks so much nicer on the eyes than [ \d | <[1..9]> \d | '1' \d \d | '2' <[0..4]> \d | '25' <[0..5]> ]
colomon or it could be +$/, instead of $0 ? 02:06
oh, no, never mind
TimToady and I'd write that <?{ $0 < 256 }> which tests a boolean expression more succinctly
adu ok
TimToady since it's not clear that 'or fail' is going to be the eventual backtrack trigger 02:07
colomon TimToady++
TimToady but <?{ ... }> will continue to work whatever
adu "257" ~~ m{ \d ** 1..3 <?{+$/ < 256}> }
YEY it fails :)
02:08 localhost joined, replore joined
adu I've learned so much in one day 02:08
TimToady don't worry, you'll forget most of it by tomorrow. :)
sisar moritz++ # range bugfix 02:10
adu how do I use tokens and rules in matches/regexes? 02:16
TimToady wanting to usually means you should write a grammar instead, but there's some support for calling <Grammar::rule> I think 02:18
generally a grammar is invoked with .parse though
adu ok
TimToady we may revise our view of that as we get more experience 02:19
adu I'm having trouble loading the whole grammar
TimToady syntactically? 02:20
adu if I do use dreme::datum::Grammar then it says Cannot call 'trait_mod:<is>'; none of these signatures match...
I probably suck at writing grammars 02:21
TimToady well, it'd be nice if it told you the line number, but rakudo is a bit weak on that for run-time errors (and traits, though run at compile time, are basically run-time code) 02:22
adu the only "is" is at the top
grammar dreme::datum::Grammar is HLL::Grammar;
should I delete the HLL::Grammar when testing with perl6?
TimToady I don't know; is that from parrot somewhere?
adu yes, well I started with parrot's language template 02:23
TimToady it sounds like one of those bits of nqp that doesn't really translate to P6 02:24
but I've never done anything with HLL::Grammar
in theory, just declaring 'grammar' should give you whatever base classes are necessary for a normal grammar 02:25
adu hmm
ok, the "use" worked i think 02:26
now how do I access this "parse" method?
02:27 fgomez left 02:30 sporous left, sporous joined 02:31 xenu joined 02:32 xenu is now known as Guest98332 02:36 orafu left
adu ok perlcabal.org/syn/S32/Rules.html says for the Grammar API, See Abstractions.pod 02:36
02:36 orafu joined, isBEKaml left
adu where is Abstractions.pod? 02:38
TimToady beats me; I've never seen that file before, despite my name being on it... 02:42
anyway, dinner &
oh, another thing you might try is running it under niecza, which has a different set of not-yet-implementeds than rakudo
bbl & 02:43
02:43 wolfman2000 joined
adu hmm 02:49
02:50 tokuhirom left 02:55 Guest11254 left 03:01 scott_ joined, scott_ is now known as Guest31955 03:03 envi_ joined
adu I keep getting Could not locate compile-time value for symbol dreme::datum::Grammar 03:05
how do I load a grammar? 03:06
03:13 benabik joined
adu what's the difference between require and import? 03:13
and need?
and use?
03:14 fgomez joined 03:19 aindilis joined 03:23 Guest31955 left 03:25 Guest98332 left, replore left 03:32 scott_ joined 03:33 scott_ is now known as Guest52272 03:35 xenu joined 03:36 xenu is now known as Guest89695
adu is so confused 03:39
diakopter hm 03:40
PerlJam adu: what about?
03:40 leprevost joined
adu import, require, use, need 03:40
diakopter did you see S11? 03:41
adu I'm reading S11 right now
but I'm not sure if it applies
because they seem to be for packages and modules
and I'm trying to import a grammar
diakopter about a 1/3 of the way through it it explains what need/import/use do 03:42
and require
just to be certain, you're reading perlcabal.org/syn/S11.html ?
adu yes
so I do this: use dreme::datum::Grammar; 03:43
and perl6 says "Nil"
then: dreme::datum::Grammar::TOP
and perl6 says Could not find symbol 'dreme::datum::Grammar::&TOP'
PerlJam adu: what's the name of the file that contains dreme::datum::Grammar? 03:44
adu dreme/datum/Grammar.pm
diakopter omg I just typed that exact question
adu in the current dir
I can pastebin it
PerlJam adu: please do 03:45
adu: your grammar declaration needs to be grammar dreme::datum::Grammar { ... } too:q 03:46
adu pastebin.com/dukkRaqd
diakopter did you try the { } form 03:47
adu hmm nope
diakopter might be a bug that makes that necessary
adu it would be nice if S11 mentioned grammars too
03:47 eternaleye left
diakopter agree 03:47
03:48 Guest89695 left
adu I'm still getting "Could not find symbol 'dreme::datum::Grammar::&TOP'" 03:49
03:49 noam_ left
diakopter can you pastebin the file that's using the grammar? 03:49
03:49 noam_ joined
adu I'm not importing it from a file 03:49
I'm using rakudo's repl 03:50
diakopter ah
that has problems, I seem to recall
adu ok I put it in a file 03:51
pastebin.com/q55xnv6e 03:52
diakopter I don't know that TOP will be accessible like that
adu hmm ok 03:54
how do I parse the grammar then?
03:54 xenu_ joined
diakopter r: gist.github.com/2641674 03:54
p6eval rakudo 415791: OUTPUT«Could not find symbol 'dreme::datum::Grammar::&TOP'␤ in block <anon> at /tmp/ekUGDqcmae:88␤␤»
PerlJam adu: dreme::datum::Grammar.parse($string); # assuming you meant use the grammar to parse something 03:55
diakopter r: gist.github.com/2641674
p6eval rakudo 415791: OUTPUT«Method 'ww' not found for invocant of class 'dreme::datum::Grammar'␤ in regex ws at /tmp/aDpwCyHU4r:11␤ in regex datum at /tmp/aDpwCyHU4r:31␤ in regex TOP at /tmp/aDpwCyHU4r:3␤ in method parse at src/gen/CORE.setting:8932␤ in block <anon> at /tmp/aDpwCyHU4r:88…
diakopter hmm
adu PerlJam: that gives me: "Could not find symbol 'dreme::datum::&Grammar'" 03:56
there must be something I'm missing about packages or importing 03:57
diakopter it worked ("broke") in my gist
maybe loading Grammars from another file doesn't work
it might not be implemented
PerlJam diakopter: it does work.
diakopter or spec'd, for that matter
oh
PerlJam ww might not be implemented though 03:58
diakopter adu: see my gist?
adu so you put it in the same file 03:59
PerlJam Hmm
adu that'll do for now
PerlJam adu: it works in separate files too, but it dies the same way as diakopter's gist 04:00
adu this is why I wanted to run it :)
so I could get feedback
PerlJam something weird is going on with <ww> 04:01
diakopter n: gist.github.com/2641674
p6eval niecza v17-2-gb8fcf85: OUTPUT«Unhandled exception: Unable to resolve method ww in class Grammar␤ at /tmp/CR6C7oeO3w line 16 (Grammar.ws @ 3) ␤ at /tmp/CR6C7oeO3w line 36 (Grammar.datum @ 4) ␤ at /tmp/CR6C7oeO3w line 11 (Grammar.TOP @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line…
adu I also have a lot of missing rules
diakopter: PerlJam: thanks! 04:03
diakopter yw 04:05
04:11 vlixes joined
adu bizarre, 04:14
the first argument is @*ARGS[0]
I thought it would be $*ARGS[0] 04:15
PerlJam adu: but @*ARGS is an array
adu must be thinking of perl5 04:16
oops
PerlJam yeah, in perl5 the sigil changes, not in Perl 6
04:20 warp0x00 joined
warp0x00 is it ready yet 04:20
PerlJam warp0x00: is what ready?
warp0x00 dinner 04:21
PerlJam and ready for what exactly?
warp0x00 me to eat
diakopter hm
adu lol 04:22
04:25 Entonian joined
warp0x00 perl6: say 3; 04:28
p6eval pugs, rakudo 415791, niecza v17-2-gb8fcf85: OUTPUT«3␤»
warp0x00 perl5: say 3;
what is with the u+2424 04:29
i must be missing a font 04:30
PerlJam you don't like newlines?
warp0x00 is that what that is
PerlJam ah, yes. that's a newline symbol
warp0x00 what font do i need for that
diakopter small N and L
depends on your platform
warp0x00 debian gnu/linux 6.0 04:31
so once various compilers pass all the tests 04:34
does that mean it its time to write more tests
04:34 Entonian left
adu I'm using gnu-unifont, and I can see NL just fine 04:35
warp0x00 idk what that is
and aptitude finds nothing
ah its just called unifont 04:36
adu unifoundry.com/unifont.html
warp0x00 downloading
04:36 bonsaikitten is now known as DrEeevil
warp0x00 i have a plush bonsai kitten 04:36
adu, welp i assume th next time i restart x or my client it will work 04:37
adu if you're on linux, you might have to log out 04:38
i dunno
warp0x00 more like bug out
just the program 04:39
i can see it now
p6eval: print 3; 04:40
perl6: print 3; 04:41
p6eval pugs, rakudo 415791, niecza v17-2-gb8fcf85: OUTPUT«3»
warp0x00 perl6: print 3.$\;
p6eval niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Unsupported use of $\ variable; in Perl 6 please use the filehandle's :ors attribute at /tmp/ptYB9JlSQ2 line 1:␤------> print 3.$\⏏;␤␤Parse failed␤␤»
..rakudo 415791: OUTPUT«===SORRY!===␤Unsupported use of $\ variable; in Perl 6 please use the filehandle's :ors attribute␤at /tmp/2kezzu296Z:1␤»
..pugs: OUTPUT«*** ␤ Unexpected "\\;"␤ expecting variable name␤ at /tmp/EfD6KxSIrZ line 1, column 10␤»
TimToady just use say
perl6: say 3 04:42
p6eval pugs, rakudo 415791, niecza v17-2-gb8fcf85: OUTPUT«3␤»
warp0x00 you just use say
04:42 eternaleye joined
adu hmm 04:42
how do I get ws to not match? 04:43
I'm getting the match "number => <1 #|comment|#>"
TimToady use token instead of rule maybe
04:43 warp0x00 left 04:44 inchok78 joined
inchok78 hello all 04:44
adu hello 04:45
04:47 xenu_ left, jaldhar left
inchok78 can u recommend webpages with stories of Perl 6 used for production work? 04:49
join #kubuntu
(boy am I rusty) 04:51
04:52 wolfman2000 left
sisar is having fun and wasting time with ie.microsoft.com/testdrive/Graphic...chEffects/ 04:52
sorear inchok78: 'stories' isn't really how stuff gets done. 04:54
masak might havge something, but he won't be here for a few more hours
also, 'production' is a pretty nebulous concept 04:55
we once had a user in #mono come in asking if it was production ready... after much harassing, I got them to admit their goal: create a website able to serve equal or greater traffic load to Wikipedia 04:56
inchok78 ok... non-technical people trying to get a 30000 feet feeling for whether Perl 6 is able to be a player in a project BEFORE the programmers get involved...
this is about connecting a heart recording device to a remote database 04:57
diakopter I think a good definition of used in production is: used in business or large-scale personal activities
inchok78 forgive my ignorance and if my tone is not right, forgive that too
diakopter :)
there's lots of forgiveness around here
sorear inchok78: I'm not mad at you
inchok78 yeah. i used to do scripting in 5.8 or something, when the universe was young. now i do project for big research and haven't touched a proper programming lang. in 5 yrs 04:58
04:58 xenu joined
sorear Perl 5 and Perl 6 are being developed concurrently 04:59
04:59 xenu is now known as Guest45159
sorear Perl 5 is still a lot faster and is less likely to break on you 04:59
inchok78 oh
(i used to keep tabs on pugs back in the day) 05:00
sorear for various regrettable reasons, Perl 6 did a lot of stalling back in the mid-2010s 05:01
diakopter inchok78: to get that 30000 feet feeling would be difficult at this point, I think.
inchok78 mmhhhh 05:02
sorear I'm the main developer of one of the currently active implementations and I have a lot of forest/trees problems, yeah 05:03
performance (broadly construed) of implmentations currently... in a word, inconsistantg
some things work compellingly better than Perl 5. other things will cause major slowdows. You don't get to know in advance 05:04
is this a project which requires certainty or high speed? if so, definitely stay away from 6
05:05 kboga left, Guest45159 left
inchok78 got that. i will do my due diligence 05:05
05:05 kboga joined
inchok78 just for curiosity, what is the implementation you're working on? 05:05
05:05 Guest46584 left 05:06 xenu_ joined
diakopter niecza 05:06
05:06 infosophy joined
diakopter github.com/sorear/niecza 05:06
05:07 infosophy is now known as Guest35406
inchok78 thanks... will look it up on the windows machine... this here kubuntu has no web access 05:07
sorear fwiw, niecza works fine on mono 05:08
oh, wait, if you haven't looked it up yet you must not be commenting on that 05:09
inchok78 my wife is a mono guru. i am not currently into programming but want to get back on soooo badly
05:09 sisar left
sorear inchok78: I'm sorry I can't give a straight answer. I won't say "use Perl 6" because there are a zillion things that are still very much broken with it. I won't say "avoid it" because there are even more things that work fine. 05:10
inchok78 i guess that sums it up. looking niecza on the other computer, but pretty aware this is mostly to satisfy my curiosity at this point 05:11
05:12 sisar joined, xenu_ left
sorear another note... popular perception of Perl 6 among programmers is still mostly at the "dismal failure" stage 05:13
diakopter and they're probably mostly right, by their definition of dismal failure. 05:14
inchok78 i clearly recall that was the feeling on reddit a few years ago, but then left that too (...)
sorear the community was in a sorry state 2-3 years ago, and sometimes information propagates amazingly slowly through the internet
adu I think perl6 definitely needs more tutorials 05:15
TimToady if success is eventually defined by not letting the bastards wear you down, we've gotten real good at that part of it :)
the tutorials could use work though :)
diakopter to amend my previous statement, I agree that there is also lots of false information believed. 05:17
adu YEY 05:20
pastebin.com/GJ3enmmw
0 to Scheme in less than a day! 05:21
diakopter anyone like/dislike my definition of used in production?
adu++ # most impressive
inchok78 may I say, usage of "production" differs slightly across segments of industry 05:22
in my case, since it involves clinical/medical/veterinarian, a production system is one that has been validated to comply with applicable laws and regulations and is used to produce (quack!) information that is to be delivered to a customer 05:23
05:23 shinobicl joined
TimToady production, in the case of a language, also implies more commitment to backward compatibility than you're likely to find yet in Perl 6 05:23
adu Go took that step recently 05:24
they released "Go 1"
inchok78 (even though you'd be surprised what crap can be validated by the naive organization)
TimToady yes, and we'll get there as soon as our implementations and specs/tests converge on each other
shinobicl hi,,, i'm finished a module for perl6. i dont think it's ready for the ecosystem, though. But i think is good enough for a beta version. 05:26
TimToady at that point we'll also provide the user the ability to freeze at a particular semantic version, even if emulated by something newer
shinobicl github.com/shinobi/p6/tree/master/...ayCalendar
adu diakopter: thanks
05:26 shinobicl left
adu diakopter: I think "used in production" has more to do with risk than business or large-ness 05:27
05:27 xenu_ joined
diakopter I think you and TimToady are defining "production ready", which is different from what I was defining 05:28
adu like keeping 1 person's heart beating isn't large or busy, but the risk of railure is high 05:29
fail
diakopter that's definitely a business activity
adu i suppose
05:30 shinobicl joined 05:32 shinobicl left 05:34 carlin left 05:35 inchok78 left 05:36 shinobicl_ joined 05:37 am0c joined
TimToady shinobicl_: \o/ 05:37
diakopter is still reading WorkdayCalendar.pm 05:38
shinobicl_ hi... had to switch computers...
i'm on a tablet now :(
diakopter ooo repeat-until
05:39 leprevost left
diakopter shinobicl++ # it looks neat 05:42
shinobicl_: which implementation(s) did you develop on?
shinobicl_ rakudo only
afaik niecza does not have Date yet 05:43
diakopter oh
adu crap
diakopter I wish I knew enough to comment on how idiomatic it is
adu parrot won't let me do that 05:44
shinobicl_ do what?
05:46 kaleem joined
adu have 2 languages 05:48
ergh 05:55
05:55 NamelessTee joined 06:00 xenu_ left 06:03 odoacre_ left 06:05 xenu joined, xenu is now known as Guest74289 06:07 odoacre joined 06:24 wtw joined 06:27 Guest74289 left 06:37 xenu joined 06:38 xenu is now known as Guest51091 06:39 fhelmberger joined
moritz \o 06:47
adu hi moritz 06:48
moritz r: say 241025348275725.3352 06:50
p6eval rakudo 415791: OUTPUT«241025348164334␤»
moritz r: say 241025348275725.3352.WHAT
p6eval rakudo 415791: OUTPUT«Rat()␤»
moritz wtbh 06:51
r: say 241025348275725.WHAT
p6eval rakudo 415791: OUTPUT«Int()␤»
moritz r: say 241025348275725
p6eval rakudo 415791: OUTPUT«241025348275725␤»
adu r: say (a=>1).WHAT
p6eval rakudo 415791: OUTPUT«Pair()␤»
adu r: say :a(1).WHAT 06:52
p6eval rakudo 415791: OUTPUT«Pair()␤»
diakopter wtbh?
adu diakopter: which one? 06:53
diakopter I'm asking what wtbh means
moritz what the bloody hell
diakopter oh; heh 06:54
adu I'm guessing moritz is not from texas
moritz no, I'm not
diakopter is
adu wow
moritz I'm closer to great britain than to use US, which might explain some of my vocabulary :-)
diakopter but I live in Cali now 06:55
moritz r: say 241025348275725.3352.perl
p6eval rakudo 415791: OUTPUT«301281685344656669/1250␤»
moritz so it's just Rat.Str that is broken 06:56
phew
for a moment I thought the number parsing code is off again
06:56 goraki joined
diakopter did you see TimToady's r2s? 06:56
moritz no
diakopter in the backlog he gisted one 06:57
moritz ok
diakopter but it didn't work in p6eval parrot because of different word size
but it worked on TimToady's local rakudo
06:58 vlixes left
diakopter if I recall correctly 06:58
me++ for exposing the bug 06:59
well, masak++ too 07:00
karma me
aloha me has karma of 1.
diakopter giggle
adu lol
karma adu
aloha adu has karma of 1.
adu yey
moritz ok, the real problem is that Rat.floor falls back to Num, which it should not 07:02
jnthn morning, #perl6
diakopter ahoy
adu hi jnthn
jnthn is teaching today and will be fairly distracted. But I'm aboutish :)
moritz \o jnthn 07:03
r: say (-9) div 4
p6eval rakudo 415791: OUTPUT«-2␤»
07:04 zby_home joined
diakopter r: say (-9) mod 4 07:04
sisar ^ thats the same bug i reported a few days back :)
p6eval rakudo 415791: OUTPUT«-1␤»
moritz sisar: I know
sisar: and I have to take it into account when fixing Rat.floor 07:05
adu how is that a bug?
sisar oh right. :)
moritz adu: div is supposed to round down
adu: not towards zero
sisar adu: "$x div $y == floor($x/$y)" 07:06
yeah, what moritz++ said
adu I wrote a blog entry about that
sisar "round down" ~~ "round towards -Inf " :)
adu straymindcough.blogspot.com/2012/02...ivmod.html
07:07 fridim_ left
moritz adu++ # nice survey 07:08
adu :) thanks
07:09 Guest51091 left 07:10 alim joined, xenu_ joined 07:12 raiph joined 07:13 shinobicl_ left 07:14 lestrrat left 07:15 daxim left, lestrrat joined 07:17 xenu_ left 07:18 xinming_ joined 07:21 xinming left 07:22 kresike joined 07:24 fglock joined 07:26 NamelessTee left 07:28 scott_ joined, scott_ is now known as Guest11403, Guest52272 left 07:30 sisar left 07:32 alim left 07:35 raiph left 07:43 lestrrat left 07:44 lestrrat joined
moritz n: say <1/3>.gist 07:47
p6eval niecza v17-2-gb8fcf85: OUTPUT«0.33333333333333331␤»
07:47 xenu joined 07:48 xenu is now known as Guest71582, Guest11403 left
dalek kudo/nom: 2abb9b7 | moritz++ | src/core/Rat.pm:
fix Rat.floor
07:49
kudo/nom: b0cd3cb | moritz++ | src/core/Rat.pm:
rewrite Rat.Str to use code by TimToady++

in particular it does not go through Num now
kudo/nom: 24ffc9c | moritz++ | src/core/Str.pm:
Revert "add native str concatenation op"

This reverts commit ad3a7b6403d430a681a497b9ec4b67d0eeeacd52. It lead to occasional segfaults in splice.t
ast: bc7e40e | moritz++ | S32-num/rat.t:
test stringification of big Rats (RT #112822)
moritz note that this fails a few tests in t/spec/S32-num/stringify.t; I'll take care of them later today
adu nom nom
diakopter p6eval: rebuild rakudo 07:52
I forget the lingo
moritz diakopter: that functionality is gone
diakopter oh :) 07:53
moritz diakopter: lost in the move to a different box
dalek ast: 59349dc | moritz++ | S32-num/rounders.t:
unfudge rounders.t for rakudo
07:56
08:00 estrai left, estrai joined 08:02 daxim joined 08:04 alim joined, adu left 08:07 bbkr1 left 08:08 Guest71582 left 08:10 rindolf joined
diakopter n: $_="pattern"; s[pattern] = say(44) 08:13
p6eval niecza v17-2-gb8fcf85: OUTPUT«44␤»
diakopter interesting
08:18 xenu_ joined
moritz diakopter: what did you expect? 08:18
diakopter oh; I was just testing out what I was reading in S05 08:19
didn't have an expectation
I guess "interesting" meant "interesting that it worked" 08:20
08:21 xenu_ left 08:24 fgomez left
moritz that's the good kind of "interesting" :-) 08:24
afk
08:26 odoacre left 08:27 odoacre joined
dalek rlito: b8def8a | (Flavio S. Glock)++ | / (4 files):
Perlito5 - javascript: add GLOB references
08:28
08:33 xenu_ joined 08:37 carlin joined 08:39 xenu_ left, xenu joined 08:40 xenu is now known as Guest82894 08:42 Guest82894 left 08:45 carlin left 08:47 lestrrat left 08:48 lestrrat joined
dalek rlito: 47648d1 | (Flavio S. Glock)++ | README-perlito5-js:
Perlito5 - javascript data model: about compile-time lexicals
08:52
08:53 am0c left, preflex left, sporous left
colomon moritz: DId you change Rat.floor and Rat.Str because Rat.Num is wrong? 08:57
moritz colomon: because Rat.Num isn't precise enough for large rats 08:58
08:59 xenu_ joined
colomon won't that affect all uses of Rat.Num, not just those two? 08:59
08:59 dakkar joined
moritz no, I didn't touch Rat.Num 09:00
colomon not your changes, the imprecision problem.
moritz colomon: well, Num only has that much precision. Users of Rat.Num have to work with that.
it's not that Rat.Num is too imprecise, it's that Num is too imprecise 09:01
rindolf fglock: here? 09:04
colomon r: say 3875928375982735.383854792874359827349682.floor 09:05
p6eval rakudo 24ffc9: OUTPUT«3875928375982735␤»
colomon r: say 3875928375982735.383854792874359827349682.ceil
p6eval rakudo 24ffc9: OUTPUT«Method 'ceil' not found for invocant of class 'Rat'␤ in block <anon> at /tmp/Zsk1OGwc_u:1␤␤»
09:05 alim left
jnthn ain't it .ceiling 09:06
colomon r: say 3875928375982735.383854792874359827349682.ceiling
p6eval rakudo 24ffc9: OUTPUT«3875928375982730␤»
fglock rindolf: hi!
moritz .ceiling not yet fixed
colomon r: say 3875928375982735.383854792874359827349682.floor.Num 09:07
p6eval rakudo 24ffc9: OUTPUT«3.87592837598274e+15␤»
rindolf fglock: hi.
sorear r: say 3875928375982735.383854792874359827349682.WHAT
p6eval rakudo 24ffc9: OUTPUT«Rat()␤»
jnthn
.oO( ceiling still floored )
sorear r: say '383854792874359827349682'.chars
p6eval rakudo 24ffc9: OUTPUT«24␤»
fglock :)
rindolf fglock: what's up?
sorear r: say 3875928375982735.383854792874359827349682.denominator 09:08
p6eval rakudo 24ffc9: OUTPUT«500000000000000000000000␤»
sorear r: say 3875928375982735.383854792874359827349682.denominator.chars
p6eval rakudo 24ffc9: OUTPUT«24␤»
sorear does rakudo know the difference between rats and fatrats?
fglock rindolf: all is fine, hope you are well too
sorear a number that long ought to be a Num
r: say (2**64).chars 09:09
p6eval rakudo 24ffc9: OUTPUT«20␤»
rindolf fglock: why are the Perlito -I paths limited to 20 characters or so? I tried setting up a shell script to run it from its installation path (to test if some of my CPAN code works with it), and it trimmed the path and complained about missing modules.
colomon n: say 3875928375982735.383854792874359827349682.WHAT
p6eval niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
sorear r: say pi.WHAT 09:10
p6eval rakudo 24ffc9: OUTPUT«Num()␤»
fglock rindolf: that's perlito5, right? are you using perl5 or node.js backend?
rindolf fglock: yes, it's Perlito5 - I think it happens with both.
09:11 xenu_ left
fglock rindolf: stupid bug: $lib = substr($ARGV[0], 2, 10); # no idea why it is limited 09:12
I'll fix
rindolf fglock: thanks!
masak mornin', #perl6
fglock I think it was copy-pasted from some other line
09:12 xenu_ joined
sorear hi masak. 09:12
tadzik hi masak
rindolf masak: good morning. 09:13
sorear (I will sleep& as soon as someone notices my Rakudo query, maybe sooner)
dalek rlito: 933767d | (Flavio S. Glock)++ | / (2 files):
Perlito5 - unlimited -I path (rindolf++)
09:14
sorear sleep&
jnthn Rakudo certainly makes a Rat/FatRat distinction. I think it 09:15
oops
think it does it at the point of operation.
rindolf fglock: ah, without a test. :-(
09:16 xenu_ left
fglock rindolf: btw about modules, Exporter.pm doesn't work yet because globs are still under implementation 09:17
rindolf fglock: I see. 09:18
daxim coke, you're my hero. www.reddit.com/r/perl/comments/tdq8...ification/ 09:19
colomon jnthn: looking at the code, it looks to me like Rakudo makes the Rat / FatRat distinction but only when doing operations on Rat; it appears to allow you to construct what should be illegal Rats.
r: say Rat.new(10, 45984695385934859843905893789385943859038590839485983).WHAT 09:20
p6eval rakudo 24ffc9: OUTPUT«Rat()␤»
colomon guess it is a bit of an interesting question what that should do
n: say Rat.new(10, 45984695385934859843905893789385943859038590839485983).WHAT
p6eval niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
masak would someone like to help me put together a good reply to www.reddit.com/r/perl/comments/tdq8...on/c4lvyhw ? 09:21
09:22 xenu_ joined
moritz masak: I'm in a meeting, but after that I'll help you 09:22
masak here's what I have so far: S29 specifies fork/wait. 09:23
Rakudo certainly doesn't implement it. does Parrot have it? don't know. does Niecza implement it? will find out. 09:24
Rakudo implements IO and sockets. don't know about Niecza -- guessing not. Rakudo doesn't have async stuffs yet.
C embedding -- see zavolaj. 09:25
09:25 xenu_ left
masak CPAN -- see, to a limited extent, blizkost. 09:25
arnsholt masak: In re ZeroMQ, it's in my inqueue of stuff to do
phenny arnsholt: 08 May 18:57Z <moritz> ask arnsholt if anything is blocking the merge of the cstr branches
arnsholt Just blocking on tuits 09:26
And that, right
No, nothing blocking to my knowledge. Just never got around to it
I'll try to get it merged today 09:31
09:32 xenu_ joined
colomon n: say "3875928375982735.383854792874359827349682".FatRat 09:34
p6eval niecza v17-2-gb8fcf85: OUTPUT«3875928375982735.5␤»
colomon r: say "3875928375982735.383854792874359827349682".FatRat 09:35
p6eval rakudo 24ffc9: OUTPUT«Method 'FatRat' not found for invocant of class 'Str'␤ in block <anon> at /tmp/3yoEonTvzo:1␤␤»
09:35 xenu_ left
colomon r: say "3875928375982735.383854792874359827349682".Rat 09:35
p6eval rakudo 24ffc9: OUTPUT«3875928375982735.383854792874359809218276␤»
tadzik masak: Rakudo has .poll for non-blocking stuff though 09:39
MuEvent uses those
still, the .poll we have is quite LTA 09:40
masak ok. 09:42
arnsholt: ok, great.
tadzik and I know of no fork besides the one we were using through NativeCall
masak S29 specifies it.
arnsholt masak: But if people want/need it, I'd be happy to provide help with Zavolajing up an interface 09:44
masak \o/ 09:47
arnsholt Hmm. I should ask the missus if she'd consider a trip to Frankfurt in late August 09:49
Also, get around to submitting a Zavolaj talk
09:50 xenu joined, xenu is now known as Guest40955, sisar joined
masak \o/ 09:55
09:56 araujo left
masak when I read 6guts.wordpress.com/2012/05/08/sin...hackathon/ this morning -- jnthn++ -- I got the feeling that, wow, we're really building up steam now. have we even been this productive? 09:56
dalek blets: cefc0f9 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
add some links for regex modifier and num types
09:59
masak r: my $var = 5; say $var; { say $var; temp $var = 42; say $var }; say $var 10:03
p6eval rakudo 24ffc9: OUTPUT«5␤5␤42␤5␤»
masak \o/
masak starts a background job in his brain to find out what fun uses 'temp' can be put to 10:04
tadzik hmm 10:06
frettled masak: I was very jnthn++ when I read about temp and let 10:07
tadzik r: my $a = 3; sub transaction { temp $a = 7; say "a = $a. Commiting"; OUTER::$a = $a }; transaction(); say $a
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
frettled I think I have around a bazillion use cases, give or take a few fantazillions.
tadzik r: my $a = 3; sub transaction { temp $a = 7; say "a = $a. Commiting"; OUTER::<$a> = $a }; transaction(); say $a 10:08
p6eval rakudo 24ffc9: OUTPUT«a = 7. Commiting␤3␤»
tadzik meh
oh, right
r: my $a = 3; sub transaction { let $a = 7; say "a = $a. Commiting"; OUTER::<$a> = $a }; transaction(); say $a
p6eval rakudo 24ffc9: OUTPUT«a = 7. Commiting␤7␤»
masak r: my $a = 3; sub transaction { let $a = 7; say "a = $a. Commiting" }; transaction(); say $a 10:11
p6eval rakudo 24ffc9: OUTPUT«a = 7. Commiting␤7␤»
masak don't need the OUTER::<$a> thing.
just make sure not to fail out of that block ;)
tadzik huh 10:12
okay, I don
't get it :)
masak that's what "let" does. it's "set this variable to this value... but if we start backtracking/failing, revert it".
r: my $a = 42; sub foo { let $a = "this will never stick"; say $a; fail }; say $a; foo; say $a 10:13
p6eval rakudo 24ffc9: OUTPUT«42␤this will never stick␤this will never stick␤»
masak o.O
masak submits rakudobug
tadzik :> 10:14
masak my hands are cursed.
jus' gonna make sure that's how 'let' is actually spec'd.
There is also a C<let> function that sets a 10:15
hypothetical value. It works exactly like C<temp>, except that the
value will be restored only if the current block exits unsuccessfully.
exhibit A.
moritz r: sub f { LEAVE say 'leaving A' ; fail "foo"; }; f
p6eval rakudo 24ffc9: OUTPUT«leaving A␤»
masak In any case, returning an unthrown exception is considered failure 10:16
from the standpoint of C<let>.
exhibit B.
it's a bug.
10:18 avar joined, avar left, avar joined
moritz r: sub f { UNDO say 'leaving A' ; fail "foo"; }; f 10:25
p6eval rakudo 24ffc9: ( no output )
10:26 Guest40955 left, sisar left 10:27 xenu_ joined
masak yeah. should trigger. 10:27
moritz same underlying cause 10:28
jnthn Hmm, what underlies that one?
moritz because let uses an UNDO to restore the state
jnthn And UNDO...doesn't trigger here?
colomon std: 'abc def' ~~ ms/abc def/ 10:30
p6eval std f4748eb: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66537.␤Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66576.␤===SORRY!===␤Bogus term at /tmp/uhlig4Lkiw line 1 (EOF):␤------> 'abc def' ~~ ms/abc …
colomon :\
n: 'abc def' ~~ ms/abc def/
p6eval niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Bogus term at /tmp/a7iNtI9TEu line 1 (EOF):␤------> 'abc def' ~~ ms/abc def/⏏<EOL>␤␤Undeclared routines:␤ 'def' used at line 1␤ 'ms' used at line 1␤␤Parse failed␤␤»
colomon std: 'abc def' ~~ m:s/abc def/ 10:31
p6eval std f4748eb: OUTPUT«ok 00:00 42m␤»
colomon n: 'abc def' ~~ m:s/abc def/
p6eval niecza v17-2-gb8fcf85: ( no output )
10:32 snearch joined 10:34 snearch left
masak are next/redo/last (or a subset of those) meant to trigger UNDO? 10:36
it feels odd for them to trigger KEEP...
though I seem to be able to say that with a bit more certainty about next and last than about redo. curious :) 10:37
tadzik (Perl 5 question, or is it?) having a sub like "do_something_ok" used for testing, is there a way to, somehow, test if it fails? 10:39
masak you want to test the testing function? 10:41
(just trying to understand your question)
depends how it fails, I guess. 10:42
tadzik not really
I have a function which does use ok() inside itself
I want to test its opposite reaction, somehow. I expect this test to fail
so I really want something like that_function_nok(), but it's not available 10:43
masak right.
moritz invokes_like &function, $result, $string;
masak localize &ok to mean &nok :P
though moritz++' proposal is probably saner. 10:44
tadzik where does invokes_like come from?
moritz tadzik: you write it 10:45
tadzik :)
10:45 NamelessTee joined, xenu_ left 10:46 xenu joined
masak .oO( aw man! no-one told me when I went into this software business that I'd have to write stuff on my own! :( ) 10:47
10:47 xenu is now known as Guest16604
tadzik I just thought it might be an already-solved problem 10:47
masak you wanted to re-use stuff? what are you, a hippie? :P 10:48
tadzik ;)
masak "That's not how we do things in an Enterprise environment."
mikec__ heh 10:49
10:50 Guest16604 left 10:53 alim joined 10:56 xenu_ joined 11:01 xenu_ left 11:05 fridim_ joined 11:07 am0c joined
colomon phenny: tell TimToady Just looking over quote:mm in Niecza and std, wondering if there was a copy and paste mistake. Seems to me that maybe quote:mm is implemented the way quote:ms should have been (it's not there at all) and quote:mm should also have .tweak(:mm) ? 11:08
phenny colomon: I'll pass that on when TimToady is around.
11:10 JimmyZ joined
colomon phenny: tell TimToady errr... or does quote:mm not make any sense at all? "The :mm (or :samemark) variant may be used on a substitution...." 11:12
phenny colomon: I'll pass that on when TimToady is around.
11:16 xenu_ joined
moritz mm// would be m:ignoremark// 11:24
just as ms is m:sigspace and ss is s:samespace
afk
11:25 rindolf left 11:32 xenu_ left 11:35 immortal joined, immortal left, immortal joined, mdcw`_ joined 11:37 kst` joined 11:38 ponbiki joined, risou_ joined 11:39 ranguard_ joined, PerlPilot joined, BooK__ joined, moritz_ joined, sivoais_ joined, szabgab_ joined, sirhc_ joined, sirhc_ left, sirhc_ joined
cognominal p6: my int $a = "1" # this should not kick up from rakudo REPL 11:40
p6eval niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/0IDibzbhXB line 1:␤------> my⏏ int $a = "1" # this should not kick up␤␤Parse failed␤␤»
..pugs, rakudo 24ffc9: ( no output )
cognominal r: my int $a = "1" ; say $a 11:42
p6eval rakudo 24ffc9: OUTPUT«1␤»
11:42 erkan left, phenny left, hugme left, risou left, buubot_backup left, sivoais left, PerlJam left, moritz left, sirhc left, hillu joined
mikec__ eee 11:42
colomon moritz: the sigspace.t file seems to claim mm// implies :sigspace as well. but that doesn't make sense to me, and I don't see any trace of it in S05
cognominal strange, maybe this is due to local modifs
11:42 hugme joined
masak colomon: that might be a fossil. 11:42
11:42 ChanServ sets mode: +v hugme
colomon masak: or a thinko? 11:43
masak masak: ISTR that mm// used to mean "match sigspace".
colomon oh!
masak the spec commit log can probably be trawled to confirm this, but... orka!
colomon orka? 11:44
11:44 buubot_backup joined 11:48 bruges_ left 11:49 bruges joined
colomon hmmm.... The line mentioning ms// changed 18 months after the surrounding lines. 11:50
and the quote:mm in STD.pm6 certainly makes more sense if it used to me m:s//
11:53 alim left, alim joined
colomon masak: fossil indeed: github.com/perl6/specs/commit/cb59...66ff45fd25 11:54
so, am I brave enough to patch STD.pm6 myself? 11:55
11:56 skids left
jnthn r: sub f { UNDO say 1; Mu }; f 11:58
p6eval rakudo 24ffc9: OUTPUT«1␤»
11:58 alim_ joined
jnthn r: sub f { UNDO say 1; fail }; f 11:58
p6eval rakudo 24ffc9: ( no output )
jnthn r: sub f { UNDO say 1; fail }; say f.defined
p6eval rakudo 24ffc9: OUTPUT«False␤»
jnthn r: sub f { UNDO say 1; fail }; say f.DEFINITE
p6eval rakudo 24ffc9: OUTPUT«True␤»
11:58 xenu joined
jnthn Hmmm...I wonder if UNDO is considering DEFINITE or defined. 11:58
11:59 xenu is now known as Guest86594, fridim_ left 12:01 alim left, alim_ is now known as alim
dalek ast: 8a1e45c | (Solomon Foster)++ | S05-modifier/sigspace.t:
Turns out mm// should have been switched to ms// years ago.
12:02
jnthn /* Otherwise, need to consider the definedness of the return value. */ 12:03
if (IS_CONCRETE(result))
...yeah, that'll not get failures.
12:05 Guest86594 left
jnthn It's a very easy fix, but I'm at $classroom right now. 12:05
dalek d: 8632387 | (Solomon Foster)++ | STD.pm6:
Change quote:mm to quote:ms, update Copyright for 2012.
12:11
12:11 sisar joined 12:20 xenu_ joined
dalek blets: 4e43cd1 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
minor fixes
12:20
colomon don't think I've ever committed to std before. I feel very daring.... ;)
dalek ecza: daf09af | (Solomon Foster)++ | src/ (2 files):
Switch quote:mm to quote:ms and add an action for it.
sisar colomon++ 12:21
12:23 ponbiki left, xenu_ left
dalek blets: e6c936a | (Herbert Breunung)++ | docs/ (6 files):
rename file of appendix F
12:25
12:28 bacek joined 12:29 shinobicl_ joined 12:30 xenu_ joined 12:32 phenny joined 12:36 xenu_ left, sisar left
frettled yay 12:37
12:37 xenu_ joined
[Coke] moritz_: that alert is several weeks too late. Thanks. ;) 12:44
Oh. You added a dot.
ARGLEBARGLE.
moritz_: is that spec? it's different than P5, no? 12:45
12:45 birdwindupbird joined
[Coke] moritz_: updated. 12:46
jnthn has laregly picked up the impression that this is somewhere we *should* be different from P5 :)_ 12:47
[Coke] TimToady: FYI, I'm pretty sure most of those badly named parrot config items came from p5 about 12 years ago. ;)
daxim++ 12:51
12:52 xenu_ left 12:53 xenu joined, xenu is now known as Guest36722 12:54 smash left 12:56 PacoAir joined, smash joined
smash hello everyone 12:57
12:58 PerlPilot left
frettled Hello, smash! 12:58
[Coke] au, sorear, colomon: recent rakudo advances are causing our percentages to slip!
masak smash! \o/ 12:59
[Coke]: but... that's a *good* thing, right? I mean, the net number of features implemented in compilers has increased.
[Coke] masak: ... I'm trying to guilt them into passing more tests. 13:00
masak by the way, I like how at one point Niecza was
13:00 PerlJam joined
masak at the same point as Rakudo, or even past it. 13:00
[Coke] it's a common motivational technique that works better when I don't explain it in front of them. ;)
masak and then the benefits of nom kicked in.
[Coke]: oh, crap. sorry :P
colomon [Coke]: I just got three more passing tests!
[Coke] masak: also, hey... you owe me a pugs patch. ;) 13:01
colomon: WOOO
masak [Coke]: I do?
[Coke] btw, rakudo just got like 200+ yesterday. :(
masak in the future, I'll try not to make it seem we're all on the same side here... :P
[Coke] masak: yes. the only reason I started testing pugs was because you and ingy were going to hack on it!
13:01 shinobicl_ left
masak [Coke]: it's right there on my list of priorities. 13:02
smash pugs still lives !?
masak right below macros for Rakudo and finalizing p6cc2011.
[Coke] smash:
# 05/08/2012 - rakudo++ (21760); niecza (93.61%); pugs (41.9%)
PerlJam smash: pugs is still on life-support, but it lives :)
[Coke] those are yesterday's numbers. rakudo is over 22K before today's run, though.
smash very nice 13:03
[Coke] "Impl", "pass","fail","todo","skip","plan","spec"
# 05/08/2012 - rakudo++ (21760); niecza (93.61%); pugs (41.9%)
"niecza", 20371, 16, 762, 1455, 22589, 24103
"pugs" , 9119, 9, 3339, 1555, 14022, 23964
"rakudo", 21760, 70, 709, 1884, 24423, 24113
rakudo's failure #'s slipping. wonder if that was due to the libpath issue. 13:04
13:04 sivoais_ left, sivoais joined 13:05 araujo joined 13:06 Guest36722 left 13:07 xenu_ joined
tadzik huh, why are "spec" numbers different between implementations? 13:09
13:09 JimmyZ_ joined, ocharles left, JimmyZ left
masak and why is Rakudo's "plan" higher than its "spec"? 13:10
13:10 JimmyZ_ is now known as JimmyZ
mikec__ heh 13:11
13:11 JimmyZ left
[Coke] tadzik: I believe spec is "number of spec tests I looked at while running". different due to individual t/spectest.data 13:11
13:11 xenu_ left, envi_|2 joined
tadzik mhm 13:12
13:13 envi_ left
[Coke] masak: Probably due to "no plan" 13:14
13:14 JimmyZ joined
[Coke] masak: I'm only guessing on that one. 13:14
masak how would "no plan" make "plan" higher? :P 13:15
dalek ast: 52e175f | (Solomon Foster)++ | S05-modifier/counted.t:
Fix plan. (Suspect there may be a skip count problem under Rakudo.)
[Coke] masak; t/spec/test_summary - I just run it. 13:16
daxim [Coke], we can haz pugs on <perl6.org/compilers/features>? is it enough to symlink roast as Pugs.hs/t/spec and then execute t/run_spectests? 13:17
[Coke] daxim: check out HACKING in github.com/perl6/Pugs.hs
daxim - some enterprising soul could add pugs to compiler features, sure. 13:18
(probably not going to be me, at least not until June.)
masak: so, I don't see anything obvious there to explain your question.
daxim what's so special about June?
[Coke] daxim;I have a huge project due this month 13:19
$dayjob
13:19 benabik left
daxim aha 13:19
jlaire n: module A { }; say A.WHAT 13:20
p6eval niecza v17-3-gdaf09af: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.STable.FindMethod (System.String name) [0x00000] in <filename unknown>:0 ␤ at Niecza.P6any.InvokeMethod (Niecza.Frame caller, System.String…
dalek ast: 30c291b | (Solomon Foster)++ | S06-multi/proto.t:
Refudge for niecza.
13:21 localhost left 13:22 carlin joined, xenu_ joined 13:23 skids joined 13:26 ocharles joined 13:27 xenu_ left, xenu_ joined 13:29 tyatpi joined
[Coke] daxim - so, in the meantime, by all means, start hacking on that. ;) 13:30
13:30 xenu_ left 13:31 ocharles left 13:32 ocharles joined, xenu_ joined 13:33 am0c left 13:38 xenu_ left, xenu_ joined 13:41 sisar joined
colomon moritz_: what's your justification for 241025348275725.3352.Str ~~ /241025348275725\.33/ ? 13:45
13:47 mdcw`_ is now known as mdcw` 13:48 JimmyZ_ joined
dalek ast: de9b0b4 | kboga++ | S05-modifier/counted.t:
remove erroneous DOES marking, in answer to 52e175f
13:50
13:51 brrt joined 13:52 JimmyZ left, JimmyZ_ is now known as JimmyZ 13:54 xenu_ left 14:00 xenu joined, xenu is now known as Guest76077 14:01 sirhc_ is now known as sirhc
colomon moritz_: actually, now reading what the spec actually say and getting worried that both approaches are incorrect.... 14:04
dalek ast: 0d67b20 | kboga++ | S05-modifier/counted.t:
Oops, restore doc comment accidently removed in de9b0b4, kboga--
14:07 thou joined, tokuhirom joined 14:11 shinobicl joined 14:15 brrt left 14:17 adu joined 14:20 sudokode left 14:21 alim_ joined 14:22 brrt joined
tadzik oh, kboga++ keeps rocking :) github.com/rakudo/rakudo/pull/66 14:22
14:22 PacoAir left
colomon ack, there are mistakes all over the specs for Rat.perl and Rat.Str. :( 14:22
14:23 kaleem left
kboga tadzik, mostly copy pasted from the ng branch, was just wondering why this wasn't in the nom branch yet :) 14:24
tadzik kboga: nice catch :)
colomon phenny: tell TimToady We need to talk about Rat.perl and Rat.Str....
phenny colomon: I'll pass that on when TimToady is around.
14:24 alim left, alim_ is now known as alim
tadzik and nice patch 14:24
(pun indented)
14:24 sudokode joined
kboga :) 14:24
tadzik I'm at $work atm so I can't really give it a try though :( 14:25
kboga np, also, the pack.t tests seem to require Buf to have a contents method, couldn't find it in the spec's tho... 14:26
tadzik you should probably ask masak++ about it
14:27 alim_ joined
masak yeah, probably. 14:28
masak claims he knows a bunch about pack/unpack and how to implement them in Perl 6.
myself, I think he's just a poser. :P 14:29
14:29 alim left, alim_ is now known as alim, sudokode left
kboga didn't he implement that initial version I blatantly copy pasted? :) 14:29
14:30 sudokode joined
masak probably. 14:30
I hear he's tried to port the Perl 5 tests to Perl 6 as well, but nothing concrete's even come of that.
kboga: here's a gist from long ago about pack/unpack: gist.github.com/1239203 14:31
tadzik hmmm. Doesn't perlito have a perl5-to-perl6 compiler?
PerlJam Do we have a list of the things that were once implemented and working in Rakudo, but got left behind as we moved from alpha to ng to nom?
14:32 Guest76077 left 14:34 adu left 14:35 kresike left, crab2313 joined, crab2313 left
jnthn [Coke]: Is that 21xxx passing number you posted today from yesterday's run? 14:35
jnthn is curious where the increasing failures come from too... 14:36
brrt r: sprintf("hello, %d", 42); 14:37
p6eval rakudo 24ffc9: ( no output )
14:37 benabik joined
brrt r: say(sprintf("hello, %d", 42)); 14:37
p6eval rakudo 24ffc9: OUTPUT«hello, 42␤»
jnthn kboga++
kboga masak: oh, so pack should really impose some kind of type restriction on the item its packing using a certain template rule? 14:39
test failures come from: t/spec/S32-num/stringify.t (so it seems)
jnthn ah, ok
Which I think moritz++ is on top of already 14:40
masak kboga: yes, that's a good summary. Perl 6 is more type-constrained in this area than Perl 5. so it needs to disallow certain combinations.
kboga: that said, we still want to make easy things easy, so it's a balance for sure. one we haven't found yet. 14:41
jnthn
.oO( it's like trying to balance a camel on the wings of a butterfly )
14:42
masak metaphor++ 14:43
14:43 xenu_ joined
frettled Are you trying to see how many metaphors you can balance on the head of a pin, or how big a metaphor you can phase through the eye of a needle? 14:44
colomon actually, by current spec most of the Rat tests in stringify.t are wrong. 14:45
kboga I'm curious about how compact structs will mix with pack & unpack. Somehow it reminds me of Convert::Binary::C. 14:46
gfldex S03 says: "Any class composing the Pattern role may choose to provide a single ACCEPTS method to handle everything, which corresponds to those pattern types that have only one entry with an Any on the left above." 14:47
14:47 xenu_ left
gfldex yet i can't find any role named Pattern, is that NYI? 14:47
14:50 kresike joined 14:51 kresike left
jnthn Wow, I didn't even know it existed... 14:52
14:52 kresike joined
jnthn wonders if there's any spectests for it 14:53
kboga: Compact structs should go fairly nicely with it.
Well, they probably are an alternative I guess...
Taking a Buf and using the data in it to populate the compact struct. 14:54
Though, we could actually implement the data extraction from Buf using unpack I guess.
14:57 spider-mario joined
jnthn You get into all kinds of fun questions about what "compact" implies 14:57
Like, does it mean "pack it as tightly as you can" or does it mean "pack it as tightly as the usual way to back a struct on the underlying architecture would allow"
s/back/pack/ 14:58
14:58 kaare_ joined, xenu joined 14:59 xenu is now known as Guest78904 15:02 JimmyZ_ joined, Guest78904 left 15:03 xenu_ joined 15:04 JimmyZ left, JimmyZ_ is now known as JimmyZ 15:08 xenu_ left 15:09 sporous joined 15:10 preflex joined
[Coke] how soon until I can use perl 6 instead of J2EE. bleargh. 15:11
jnthn: yes, yesterday's run (it's even got the date in it, sir. ;)
15:14 wtw left, sporous left
fglock tadzik: perlito has some basic perl5-to-perl6 stuff implemented, just to try out and see what kind of problems would come up 15:14
15:18 sporous joined, sporous left, sporous joined, xenu_ joined 15:19 sporous left, sporous joined
fglock tadzik: are you interested in p5-to-p6? 15:20
15:23 sporous left, sporous joined 15:27 envi_|2 left, envi_ joined 15:28 xenu_ left 15:29 xenu_ joined 15:34 snearch joined 15:35 brrt left, bluescreen10 joined
sisar if I recompile Rakudo, do I need to recompile _all_ my modules too ? coz i'm getting an error: "Missing or wrong version of dependency 'src/gen/Metamodel.pm'" 15:36
15:37 sporous left, fglock left
sisar hmm, maybe i need to recompile panda first ? 15:38
15:38 sporous joined, sporous left, sporous joined 15:39 preflex left, JimmyZ left 15:40 xenu_ left, localhost joined 15:41 xenu_ joined, preflex joined, sisar left 15:43 raiph joined 15:52 Patterner left
gfldex p6: my @data = $<1 2 3>, $<4 5 6>; say @data.perl; 15:54
p6eval niecza v17-3-gdaf09af: OUTPUT«[Any, Any, Any, Any, Any, Any].list␤»
..rakudo 24ffc9: OUTPUT«Array.new(Any, Any, Any, Any, Any, Any)␤»
..pugs: OUTPUT«\(undef, undef, undef, undef, undef, undef)␤»
16:00 xenu_ left, thelazydeveloper joined, mspaulding joined
colomon interesting 16:01
guess that's $/{1 2 3} etc?
n: "abc" ~~ /(.)*/; my @data = $<1 2 3>; say @data.perl 16:03
p6eval niecza v17-3-gdaf09af: OUTPUT«[Any, Any, Any].list␤»
colomon n: "abc" ~~ /(.)*/; my @data = $<1 2 3>; say @data.per
p6eval niecza v17-3-gdaf09af: OUTPUT«Unhandled exception: Unable to resolve method per in class Array␤ at /tmp/p4JczqkKid line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤ at /home/p…
colomon bah
n: say 241025348275725.3352.WHAT 16:04
p6eval niecza v17-3-gdaf09af: OUTPUT«Rat()␤»
gfldex i think $<...> is just a syntax error but i would not wonder to be wrong 16:05
16:05 xenu joined
colomon std: $<1 2 3> 16:05
p6eval std 8632387: OUTPUT«ok 00:00 40m␤»
16:05 xenu is now known as Guest50086
colomon n: my %hash = 1..10 X=> 3; say %hash<1 2 3> 16:06
p6eval niecza v17-3-gdaf09af: OUTPUT«3 3 3␤»
gfldex if it's not just a false positive on line noise i would it expect to do the same as $(1,2,3)
*would expect
16:07 xinming_ left
colomon $a<1 2 3> is the same as $a{1, 2, 3} 16:07
16:08 snearch left
gfldex maybe TimToady can enlighten us here 16:08
colomon I think (as I said) that $<1 2 3> ought to be the same as $/{1, 2, 3} (where $/ is the match result) 16:09
16:09 Guest50086 left
colomon n: "456" ~~ /<digit>*/; say $<digit> 16:10
\
p6eval niecza v17-3-gdaf09af: OUTPUT«#<match from(0) to(1) text(4) pos([].list) named({}.hash)> #<match from(1) to(2) text(5) pos([].list) named({}.hash)> #<match from(2) to(3) text(6) pos([].list) named({}.hash)>␤»
colomon n: "456" ~~ /<1=digit><2=digit><3=digit>/; say $<123> 16:11
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Unrecognized regex assertion at /tmp/t6CcR74EDi line 1:␤------> "456" ~~ /<⏏1=digit><2=digit><3=digit>/; say $<123>␤␤Parse failed␤␤»
colomon n: "456" ~~ /<digit=3><digit=3><digit=3>/; say $<1 2 3>
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Unrecognized regex assertion at /tmp/zs2UA3mvLT line 1:␤------> "456" ~~ /<digit=⏏3><digit=3><digit=3>/; say $<1 2 3>␤␤Parse failed␤␤»
gfldex i found it perlcabal.org/syn/S02.html#Twigils
colomon n: "456" ~~ /<d1=digit><d2=digit><d3=digit>/; say $<d1 d2 d3> 16:12
p6eval niecza v17-3-gdaf09af: OUTPUT«#<match from(0) to(1) text(4) pos([].list) named({}.hash)> #<match from(1) to(2) text(5) pos([].list) named({}.hash)> #<match from(2) to(3) text(6) pos([].list) named({}.hash)>␤»
16:12 brrt joined
colomon n: "456" ~~ /<d1=digit><d2=digit><d3=digit>/; say ~$<d1 d2 d3> 16:12
16:12 sjn joined
p6eval niecza v17-3-gdaf09af: OUTPUT«4 5 6␤» 16:12
colomon there you go
n: say 241025348275725.3352.nude 16:13
p6eval niecza v17-3-gdaf09af: OUTPUT«301281685344656669 1250␤»
colomon n: say 241025348275725.3352.Rat.nude
p6eval niecza v17-3-gdaf09af: OUTPUT«258138148003301834 1071␤»
colomon :\
16:13 MayDaniel joined
colomon this is going to be one stupid looking test in rat.t 16:15
16:16 fglock joined
gfldex as long as nobody tries to google for "nude rat" ... 16:16
jnthn back 16:18
colomon gfldex: already plenty of hits for that without p6
16:21 raiph left
colomon 's code is now .Rat.norm.nude anyway 16:21
..... which NIecza doesn't implement yet. Arrrrrgh! 16:22
this is quickly becoming a rathole
16:22 MayDaniel left
TimToady might be awake enough to discuss rats 16:23
phenny TimToady: 11:08Z <colomon> tell TimToady Just looking over quote:mm in Niecza and std, wondering if there was a copy and paste mistake. Seems to me that maybe quote:mm is implemented the way quote:ms should have been (it's not there at all) and quote:mm should also have .tweak(:mm) ?
TimToady: 11:12Z <colomon> tell TimToady errr... or does quote:mm not make any sense at all? "The :mm (or :samemark) variant may be used on a substitution...."
TimToady: 14:24Z <colomon> tell TimToady We need to talk about Rat.perl and Rat.Str....
colomon TimToady: I think I sorted out the mm/ms thing -- when mm// became ms//, STD.pm6 was never updated to match. (I have now done so.) 16:24
TimToady I saw that
TimToady wonders if we should allow <1=digit> and such
and maybe simplify <~~1> to <1>
colomon well, I was just trying it to get $<1 2 3> to make sense
16:25 kresike left
colomon as for Rats -- my big question is, are we really serious about "The .perl method will produce a decimal number if the denominator is a power of 10, or normalizable to a power of 10 (that is, having factors of only 2 and 5 (and -1)). Otherwise it will normalize and return a rational literal of the form -47/3." ? 16:25
(and that should be <-47/3>, right?)
the spec is not at all consistent on this.
TimToady
.oO(now they want the specs to be *consistent*, sheesh...)
16:26
colomon I'm working on implementing a new Rat -> Str conversion that follows what the spec actually says. :)
TimToady well, the spec might be wrong :) 16:27
it's happened once or twice
colomon the spec certainly is wrong somewhere here... it's 100% definitely not consistent
masak r: "foobarbaz" ~~ /$<foo>=(...)$<bar>=(...)$<baz>=(...)/; my (:$foo, :$bar, :$baz) := $/; .say for $foo, $bar, $baz 16:28
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤Binding to signatures in my declarations not yet implemented. Sorry. ␤at /tmp/S72cea3Vyz:1␤»
masak huh!
should the above work? or some equivalent of it? 16:29
sometimes we want to mass-assign from Match objects.
TimToady why not? Captures are named that partly because they're like match objects
masak r: "foobarbaz" ~~ /(...)(...)(...)/; my ($foo, $bar, $baz) = $/[^2]; .say for $foo, $bar, $baz
p6eval rakudo 24ffc9: OUTPUT«=> <foo>␤␤=> <bar>␤␤Nil␤»
masak r: "foobarbaz" ~~ /(...)(...)(...)/; my ($foo, $bar, $baz) = $/[^3]; .say for $foo, $bar, $baz 16:30
p6eval rakudo 24ffc9: OUTPUT«=> <foo>␤␤=> <bar>␤␤=> <baz>␤␤»
masak off-by-one fail ;)
jnthn masak: The error message is accurate.
masak that it's not yet implemented? 16:31
tadzik fglock: it just came to my mind that it could be used to translate pack/unpacn tests to Perl 6
jnthn masak: Yes.
masak: It knows what it is, and it knows that it doesn't know how to do it :) 16:32
TimToady tadzik: I seriously doubt that bit of the translator is implemented
colomon TimToady: personally I like essence (as I take it) of the stated Rat rules; I just want to clean up the rest of the spec bits to match.
TimToady or do you mean translate everything around the tests, but leave the formats the same?
16:32 birdwind1pbird joined
tadzik TimToady: possible; just a random thought 16:33
masak jnthn: I think this used to work, in b, no?
jnthn masak: "work"
PerlJam TimToady: does <!~~1> exist? If so, what would that become if <~~1> became <1>?
jnthn masak: Also, the implementation of it was horrible.
masak oki 16:34
tadzik phenny: tell sisar yes, you need to recompile ALL THE THINGS
phenny tadzik: I'll pass that on when sisar is around.
TimToady reducing <~~1> to <1> doesn't help get rid of <~~foo> anyway, since <foo> means something different
but <1=foo> is easier to read than $1=<foo>
jnthn It's probably more consistent to leave it as <~~1>
<1=foo> wfm though
16:34 fridim_ joined
TimToady as for <!...>, that's really a sort of metaoperator, and recursively calls <...> 16:35
s/calls/parses/
so you can pretty much put a ! in front of any assertion, even ones that don't make sense
std: / <!foo=bar> / 16:36
p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
TimToady that would set $<foo> then immediately fail if bar matched :/
16:38 goraki left, tyatpi left
TimToady n: 'foobar' ~~ / <?foo=bar> /; say $/ 16:39
p6eval niecza v17-3-gdaf09af: OUTPUT«Unhandled exception: Unable to resolve method bar in class Cursor␤ at /tmp/RsVoOywMev line 1 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2803 (Regex.ACCEPTS @ 4) ␤ at /tmp/RsVoOywMev line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.…
TimToady duh
n: 'foobar' ~~ / <?foo=ident> /; say $/
p6eval niecza v17-3-gdaf09af: OUTPUT«#<match from(0) to(0) text() pos([].list) named({}.hash)>␤»
TimToady n: 'foobar' ~~ / <?foo=ident> /; say $<foo>
p6eval niecza v17-3-gdaf09af: OUTPUT«Any()␤»
masak TimToady: maybe the ones that don't make sense could have nice error messages, like "you did A and B, but they don't make sense" :) 16:40
PerlJam I don't know ... they makes sense, just not *useful* sense :)
TimToady maybe we could fill memory with nice error messages that most people will never see 16:41
some things just have to be erroneous
masak n: fork; say "alive" 16:42
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fork' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) ␤ at /home…
16:42 sporous left
dalek ast: eeb63aa | moritz++ | S32-num/stringify.t:
fudge some Rat stringification tests for rakudo
16:43
TimToady masak: easy to fix: just port blizkost to niecza, then call P5's fork
colomon :p 16:44
jnthn star: use NativeCall; sub fork() is native returns Int { * }; fork(); say "alive"; 16:45
p6eval star 2012.04: OUTPUT«alive␤»
jnthn :)
TimToady um, shouldn't it have said alive twice if it really worked?
eval: fork; print "alive\n"; 16:46
buubot_backup TimToady: alive 1
jnthn TimToady: It does, but p6eval doesn't capture the one from the subprocess.
TimToady ah
eval: sleep 1 if fork; print "alive\n";
buubot_backup TimToady: alive 1
TimToady how does it lose STDOUT from the grandkid? 16:47
masak moritz_: I wrote a reply to www.reddit.com/r/perl/comments/tdq8...on/c4lvyhw
moritz_ masak++ 16:49
masak: sorry for abandonding you on this one
16:49 sergot joined
sergot hi o/ 16:49
masak sergocie! \o/ 16:50
sergot masak! \o/
masak moritz_: no worries at all. I'm glad I remembered ;)
fglock tadzik: t/op/pack.t uses simple perl5, it should be easy to re-edit to perl6 by hand (if the expected results are the same)
sergot I'll be 'back' in few days. It'll be the end of school masak! :) 16:51
ingy [Coke]: I've fallen into an ActivePit! 16:52
16:53 PacoAir joined
masak moritz_: what's the URL to your post about "no, passing all the spectests won't mean anything". 16:53
moritz_ masak: perlgeek.de/blog-en/perl-6/when-we-...wrong.html 16:54
masak thanks.
moritz_ it's easy to search for if you happen to remember the title :-)
16:55 birdwind1pbird left, dakkar left
TimToady colomon: anyway, I've taken a dislike to the part of the spec that stringifies Rat via Num, which violates POLS by throwing away precision above the decimal point for largish numbers 16:55
masak well, I tried ddg'ing before asking.
moritz_: used your post in a reply here: www.reddit.com/r/perl/comments/tdq8...on/c4lzli7 16:56
moritz_ masak: I ddg'ed too. But I remembered the exact title :-)
masak aye, that helps. 16:57
TimToady I think a Rat.Str should always produce the integer part exactly, and how much of the fraction is negotiable
16:58 birdwindupbird left
TimToady of course, my stupid little routine doesn't handle :base, nor did it bother to round the last digit 16:58
it was more a proof of concept
and running 1/3 all the way out to 50 digits could be construed as antisocial :) 16:59
17:00 preflex left 17:06 Exodist joined 17:07 wolfman2000 joined
fglock p5-to-p6 would emit unmaintainable code that goes through an emulation layer, that's not good for translating tests (this is not a perlito specific problem) 17:10
17:13 preflex joined
masak nod. 17:15
though for narrower use cases, it's still possible to get something useful out the other end.
TimToady I could see a use for a translator that does the easy stuff, but just marks the hard stuff rather than trying to emulate it 17:16
fglock hmm - that sounds... easy 17:19
TimToady contemplates the delicious disruption of putting overbars on the repeating digits of a rat that repeats... 17:22
(and of reading those overbars correctly on input :) 17:23
sorear good * #perl6 17:26
masak: the Mono documentation is pretty clear that calling fork() from inside Mono is a Bad Idea
something something finalizer threads not being copied to the new process
masak oki 17:34
jlaire I want to create and export many subs of the form sub h1($x) { f('h1', $x) } for various values of h1, any suggestions for a good way to do that? I'm using niecza 17:48
moritz_ jlaire: I could only help you with rakudo 17:49
jlaire moritz_: that would be interesting to see, too 17:50
I just don't have enough memory to compile rakudo at the moment
moritz_ jlaire: perlgeek.de/blog-en/perl-6/2012-rak...lists.html 17:51
jlaire moritz_: thanks, I'll read it
I'm trying to create a library/dsl for generating CSS, somewhat like lesscss but inside Perl 6 17:53
sorear jlaire: it seems you can't use eval until I fix the newest bug 17:54
jlaire sorear: okay
I'm in no hurry with this
sorear jlaire: try generating your subs using a closure, like sub make_foo($foo) { sub ($x) { f($foo, $x) } } 17:55
then poke them into $::EXPORT::DEFAULT::($foo) at BEGIN time; some trial and error will be needed, and it might not work at all
I have to leave now&
moritz_ n: trait_mod:<is>(sub f() { "oh hai" }, :export); 17:56
p6eval niecza v17-3-gdaf09af: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'trait_mod:<is>' used at line 1␤␤Potential difficulties:␤ &f is declared but not used at /tmp/Sbb1hzPnKC line 1:␤------> trait_mod:<is>(sub f⏏() { "oh hai" }, :export);␤␤Unhandled exce…
jlaire thanks, I'll experiment
at the moment I'm generating lesscss with a Perl 5 script, which is then translated to css; I'd love a single tool that does both steps 17:57
moritz_ in rakudo you can also put stuff into EXPORT packages 17:58
r: module A { package EXPORT::DEFAULT { }; BEGIN EXPORT::DEFAULT::<&foo> := sub () { say 'OH SHARK' } }; import A; foo() 17:59
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
17:59 noam_ left 18:00 noam_ joined
moritz_ oops. 18:00
r: module A { our package EXPORT::DEFAULT { }; BEGIN EXPORT::DEFAULT::<&foo> := sub () { say 'OH SHARK' } }; import A; foo()
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
18:01 pyrimidine joined, birdwindupbird joined
masak TimToady: [backlog] in English, n-ple negation is considered nonstandard. in Polish, it's mandatory. 18:03
tadzik hm?
daxim "I don't know nobody!" 18:08
masak tadzik: I'm no expert, but it seems to me there are often >1 negation in negated Polish sentences. 18:09
daxim slavic is funny that way
masak tadzik: words like "nobody", "nowhere" etc get used rather than "anybody", "anywhere" as would be the case in English. 18:10
nom &
18:10 daxim left
tadzik I see 18:11
yeah, double negation is normal :)
TimToady masak: yes, English is in the minority on that issue 18:12
jnthn moritz_: Hmm...why'd that import not find foo? 18:13
moritz_ jnthn: I don't know
r: module A { sub f() is export { } }; import A; f() 18:14
p6eval rakudo 24ffc9: ( no output )
moritz_ r: module A { sub f() is export { } }; module B { }; import B; f()
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&f' called (line 1)␤»
moritz_ I thought it might wronly use the UNIT::EXPORT. It doesn#t 18:15
jnthn yeah, that was top of my guess list. But glad it's not that :)
r: module A { package EXPORT::DEFAULT { }; BEGIN OUR::EXPORT::DEFAULT::<&foo> := sub () { say 'OH SHARK' } }; import A; foo()
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
jnthn r: module A { package EXPORT::DEFAULT { }; BEGIN EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' } }; import A; foo() 18:16
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
moritz_ r: module A { sub f() is export { } }; say A::EXPORT::DEFAULT::.keys
p6eval rakudo 24ffc9: OUTPUT«&f␤»
jnthn wt?
moritz_ r: module A { package EXPORT::DEFAULT { }; BEGIN EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' } }; say A::EXPORT::DEFAULT::.keys 18:17
p6eval rakudo 24ffc9: OUTPUT«Could not find symbol 'A::EXPORT::&DEFAULT'␤ in block <anon> at /tmp/YcRu5ZDxGA:1␤␤»
moritz_ r: module A { our package EXPORT::DEFAULT { }; BEGIN EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' } }; say A::EXPORT::DEFAULT::.keys
p6eval rakudo 24ffc9: OUTPUT«Could not find symbol 'A::EXPORT::&DEFAULT'␤ in block <anon> at /tmp/r9bbdlawoS:1␤␤»
jnthn r: module A { package EXPORT { package DEFAULT { } }; BEGIN OUR::EXPORT::DEFAULT::<&foo> := sub () { say 'OH SHARK' } }; import A; foo() 18:18
p6eval rakudo 24ffc9: OUTPUT«OH SHARK␤»
moritz_ r: our package A::EXPORT::DEFAULT { }; BEGIN A::EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' }; say A::EXPORT::DEFAULT::.keys
p6eval rakudo 24ffc9: OUTPUT«&foo␤»
moritz_ r: our package A::EXPORT::DEFAULT { }; BEGIN A::EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' }; import A; f()
p6eval rakudo 24ffc9: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&f' called (line 1)␤»
moritz_ r: our package A::EXPORT::DEFAULT { }; BEGIN A::EXPORT::DEFAULT::<&foo> = sub () { say 'OH SHARK' }; import A; foo()
p6eval rakudo 24ffc9: OUTPUT«OH SHARK␤»
jnthn moritz_: Looks like the package EXPORT::DEFAULT { } inside A does the wrong thing. 18:20
moritz_: It's looking rather too hard for an EXPORT to already exist. 18:21
And then finds UNIT::EXPORT.
moritz_ oh, right
jnthn dinner, bbiab
18:23 sporous joined 18:31 shlomif joined, brrt left, birdwindupbird left, shlomif is now known as rindolf 18:35 tyatpi joined 18:38 derrazo joined
colomon TimToady: aiiii! so not only are the spectests and examples in the spec wrong, the spec itself is wrong too? yowsa! 18:40
TimToady: mind you, I think I agree with your basic idea. 18:41
fglock I'm reading old stuff to find more about Perl5 implementation decisions 18:42
www.perl.com/pub/1999/09/topaz.html - I wonder why no perl5-in-perl5 at that time
[Coke] r: sub f { UNDO say 'leaving A' ; die "foo"; }; f 18:44
p6eval rakudo 24ffc9: OUTPUT«foo␤ in sub f at /tmp/DOMBKYe3eC:1␤ in block <anon> at /tmp/DOMBKYe3eC:1␤␤»
moritz_ does anybody know a nice palindrome which contains non-ASCII characters? 18:51
TimToady en.wikipedia.org/wiki/Palindrome#No...alindromes 18:53
[Coke] moritz_: ΝΙΨΟΝ ΑΝΟΜΗΜΑΤΑ ΜΗ ΜΟΝΑΝ ΟΨΙΝ. 18:54
jlaire can't think of any finnish ones with ä or ö
[Coke] (jeppesn.dk/utf-8.html) I probably should have run it through gtrans first. ;)
TimToady something about "winds" 18:55
moritz_ TimToady++, [Coke]++ 18:56
TimToady phenny: gk en "ΝΙΨΟΝ ΑΝΟΜΗΜΑΤΑ ΜΗ ΜΟΝΑΝ ΟΨΙΝ"?
phenny TimToady: "NIPSON sins MONAN NOT COVERED" (el to en, translate.google.com)
TimToady oh, okay, that's an alpha privative on "laws", so "lawless" 18:57
jlaire phenny: "saippuakivikauppias"?
phenny jlaire: "soap stone dealer" (fi to en, translate.google.com)
TimToady yeah, but that's ascii... 18:58
jlaire right
18:59 alim left
jlaire สวัส is phonetically palindromic, kinda 19:00
19:08 birdwindupbird joined 19:12 fgomez joined
jnthn back from noms 19:17
19:18 wolfman2000 left 19:23 envi_ left 19:26 derrazo left
rindolf jnthn: hope you enjoyed your meal. 19:27
19:32 preflex_ joined, preflex left, preflex_ is now known as preflex 19:34 bluescreen10 left
jnthn rindolf: yes, thanks :) 19:37
rindolf jnthn: what did you have?
jnthn rindolf: Some mushroomy pasta dish :) 19:39
rindolf jnthn: ah.
jnthn: with cream?
jnthn Yeah. Cream, and some white pepper. 19:40
TimToady perl6: gist.github.com/2648301 19:45
p6eval rakudo 24ffc9, niecza v17-3-gdaf09af: OUTPUT«241025348275725.3352␤42.666667␤0.5␤0.333333␤0.25␤0.2␤0.166667␤0.142857␤»
..pugs: OUTPUT«*** ␤ Unexpected end of input␤ expecting operator␤ at /tmp/nEgANf2kzT line 10, column 25␤»
TimToady this is more like what we should have by default for Rat.Str 19:46
colomon: ^^
moritz_ will steal it for rakudo :-) 19:47
TimToady the precision is determined by the size of the denominator remaining after removing the integer part
but with a minimum of 6 19:48
but that automatically gets shortened for things that go evenly into decimal
jnthn TimToady++, moritz_++
rindolf jnthn: nice.
TimToady the funny thing is that it's using string increment to round the fractional part :) 19:49
19:49 moritz_ is now known as moritz
TimToady also, I'm sure the whole thing could be made considerably more efficient 19:50
19:51 benabik left
TimToady it's also possible all the hanky panky with %% 2 and %% 5 is unnecessary due to the +1 fudge 19:51
19:53 kaare_ left 19:55 shinobicl_ joined
dalek kudo/nom: 9a49814 | jnthn++ | src/ops/perl6.ops:
Consider .defined, not just .DEFINITE, when deciding whether to run KEEP/UNDO phasers. Fixes fail() not triggering UNDO, and that in turn fixes the 'let' handling.
19:56
moritz jnthn++
19:57 shinobicl left
TimToady yes, it seems unnecessary, since multiplying by 2 or 5 can give at most one more digit, which the fudged length will catch even for 1/5000000000 and such 19:57
jnthn Tagged the ticket for it testneeded too. Plus one about ff 19:59
20:02 fglock left
TimToady simplified the gist 20:03
perl6: gist.github.com/2648301
p6eval pugs: OUTPUT«*** ␤ Unexpected "denominator"␤ expecting operator or "}"␤ at /tmp/N4yZd76w5k line 9, column 22␤»
..rakudo 24ffc9, niecza v17-3-gdaf09af: OUTPUT«0.0000000002␤0.0000000005␤»
TimToady moritz: ^^ use this one instead 20:04
colomon TimToady: interesting, your approach to this was very different than mine...
20:04 alim joined
TimToady if yours is faster and produces the same results, go for it 20:05
I was more prototyping policy than anything else
20:07 mspaulding left
TimToady the important part is to leave the integer part out of the precision calculation entirely 20:07
the rest is negotiable, but 6 digits for repeaters seems to fit with the %f format default 20:08
and gets all the repeating digits for 1/7 20:09
the important thing is that it never loses precision for denominators that are sufficiently decimal 20:10
I *think* one digit of slop is enough to guarantee that, but I have no proof... 20:11
anyway, the gist above has a rudimentary test of that out past the six digit minimum 20:12
and seems to work for those two numbers anyway
there's probably a faster way to take the log10 of the number than look at the length of the string conversion 20:13
jnthn figgers out what's up in #112624 20:14
colomon well, my approach was very different, as I was only trying to get all the decimal digits for cases that were supposed to be exact according to the existing spec.
jnthn Not sure I've got the energy to fix it tonight, though.
jnthn leaves it for tomorrow
TimToady colomon: well, turns out you can get that for "free" with this approach 20:15
jnthn moritz: I think rt.perl.org/rt3/Ticket/Display.html?id=112586 is taken care of now? 20:17
TimToady it's also probably faster to compare the number with 1_000_000 than to stringify it and max with 6 20:18
so that line would be something more like: 20:19
my $want = $r.denominator < 1_000_000 ?? 6 !! $r.denominator.Str.chars + 1;
or maybe that wants to be 100_000, since we should fudge a large 6-digit number up to 7 20:20
okay, gist revised again 20:23
perl6: gist.github.com/2648301
p6eval rakudo 9a4981, niecza v17-3-gdaf09af: OUTPUT«0.0000000002␤0.0000000005␤»
..pugs: OUTPUT«*** No such method in class Int: "&Str"␤ at /tmp/h4BykFVpxF line 9, column 15-81␤»
20:23 PacoAir left
shinobicl_ hi all.... is there a way to get a "review" to a perl6 module i did, so it gets published in modules.perl6.org? 20:24
jnthn shinobicl_: Does it already have a META.info? 20:28
shinobicl_ yes
github.com/shinobi/p6/tree/master/...ayCalendar
jnthn Then it just needs to end up in github.com/perl6/ecosystem/blob/ma.../META.list
20:28 sergot_ joined
shinobicl_ i just have a doubt about what to put exactly on the source-url field 20:29
dalek osystem: 17179c6 | jonathan++ | META.list:
Add Date:WorkdayCalendar to ecosystem; shinobicl++.
20:30
jnthn shinobicl_: Put the URL of the git repo: git://github.com/shinobi/p6.git 20:31
shinobicl_ thanks!
ok
jnthn oh, wait...
You have one repo for all Perl 6 stuff
I think it's meant to be one per module
shinobicl_ oh i see
jnthn yeah...otherwise I suspect panda won't know to look inside that "p6" directory 20:32
20:32 shlomif joined
jnthn I guess easiest solution is that GitHub lets you rename a repo, and then just do a commit that moves stuff out of the directoy into top-level 20:33
20:33 rindolf left, shlomif is now known as rindolf
shinobicl_ i'll create a new one then 20:33
jnthn ah, ok 20:34
20:34 sivoais_ joined
jnthn Let me know when you're done and I can update the ecosystem list again. 20:34
20:34 sergot left, sivoais left, bacek left, hillu left, tokuhiro4 left 20:35 tokuhiro4 joined 20:36 bacek joined 20:39 bruges left, hillu joined 20:41 clkao_ joined, sorear_ joined 20:42 Util joined, ingyfoo joined, Tene_ joined, Tene_ left, Tene_ joined, jnthn_ joined, huf_ joined, bruges joined, shachaf_ joined, bjarneh_ joined, ddima_ joined, moritz_ joined 20:44 moritz left, moritz_ is now known as moritz 20:46 shinobicl_ left 20:47 araujo left, jnthn left, ddima left, Util_ left, sorear left, ranguard_ left, shachaf left, huf left, ingy left, Tene left, cognominal left, clkao left, cognominal joined, araujo joined, birdwindupbird left 20:50 ranguard joined 20:53 bjarneh left 20:56 jnthn_ is now known as jnthn, aindilis left 20:57 aindilis joined 20:59 eiro left
TimToady I think there's a bug in r2s for values that round up .9999 and such; it won't carry back to the integer part 21:01
21:01 ocharles left 21:06 shinobicl joined
shinobicl ahh... another thing..... i'm using "Date" as the namespace for WorkdayCalendar 21:06
21:06 drschumtzenberg left
shinobicl should i use this namespace or "DateTime" instead? 21:06
21:07 libertyprime left, pomysl left
dalek blets: fab2926 | (Herbert Breunung)++ | docs/_nav- (2 files):
repair spacing in header and footer
21:07
21:08 eternaleye left 21:10 ingyfoo is now known as ingy, drschumtzenberg joined, dalek left
shinobicl i ask because there is a module listed as DateTime::Utils 21:11
21:12 ivan`` joined, skids left, robinsmidsrod joined
moritz if you work with dates, Date. If you work with dates and times, DateTime 21:13
21:13 eiro joined
TimToady well, maybe it's a "can't happen" 21:16
21:16 dalek joined, ocharles joined, kranius left, drschumtzenberg left, dalek left, Exodist left 21:17 sjn left 21:18 drschumtzenberg joined 21:19 sjn joined 21:24 drschumtzenberg left, sjn left 21:26 sjn joined, sisar joined
TimToady I can't come up with a case that forces it to carry back to the integer part 21:26
sergot_ 'night o/ 21:27
21:27 sergot_ left, pomysl_ joined, fhelmberger left, libertyprime joined
spider-mario in case you’re interested and you understand french, I’ve had a little discussion regarding the readability of a Perl 6 code vs. its Common Lisp equivalent 21:28
progmod.org/forum/sujet/333/message/3949/
(the Lisper is Zeta)
[Coke] huh chrome offers to translate, says it has, but it's allf rench to me.
TimToady wonders if dalek will report the spec change I just pushed for Rat.Str
21:28 kranius_ joined
[Coke] TimToady++ # there you go 21:28
TimToady oh, I don't care about the karma, I just wanted people to see it :)
21:28 exodist_ joined
colomon TimToady: just got a notification for it in my e-mail. :) 21:28
21:28 d4l3k_ joined
colomon TimToady: why did you change it there and not in S02? 21:28
TimToady lazy :)
21:28 drschumtzenberg_ joined
colomon BTW, S02 also seems to say that every number with a decimal point should either become a Rat or a RatStr. Does that seem likely to stay to you? 21:28
21:28 exodist_ is now known as Exodist, lichtkind joined, d4l3k_ is now known as dalek, baest joined, ggoebel left, ggoebel joined
dalek ecs: e1cc4fa | larry++ | S02-bits.pod:
also tweak Rat.Str description here for colomon++
21:32
TimToady where does it say that?
colomon TimToady: search for "Allomorphic Rats"
lichtkind TimToady: grrrreetings
what is actuall U ?
some sort of undefined?
TimToady I do still think that .perl should try for decimal notation if it works. 21:33
colomon TimToady: agreed.
TimToady it means it's not a real object
colomon TimToady: if it is exact
jnthn lichtkind: As in, Any:U style things?
lichtkind: It means it's a type object.
Equivalent to checking that .DEFINITE is False 21:34
colomon TimToady: should Rat.perl be one of either N.M or <N/M> ?
TimToady yeah 21:35
lichtkind jnthn: i dunno i just saw moritz to use the U method
TimToady yes, only if it's exact do you get N.M
lichtkind so its true if its a type object?
jnthn lichtkind: Method? Oh...then I dunno :) 21:36
lichtkind jnthn: what is this Any:Uß
jnthn lichtkind: It's a type modifier. 21:38
21:38 sftp left
jnthn r: class A { }; sub foo(A) { say "ok" }; foo(A.new); foo(A); 21:38
p6eval rakudo 9a4981: OUTPUT«ok␤ok␤»
TimToady colomon: it doesn't say 'any number with a decimal', it says 'any rational literal'
jnthn r: class A { }; sub foo(A:U) { say "ok" }; foo(A.new); foo(A);
p6eval rakudo 9a4981: OUTPUT«Parameter '' requires a type object, but an object instance was passed␤ in sub foo at /tmp/V5K06_21PO:1␤ in block <anon> at /tmp/V5K06_21PO:1␤␤»
jnthn r: class A { }; sub foo(A:D) { say "ok" }; foo(A.new); foo(A);
p6eval rakudo 9a4981: OUTPUT«ok␤Parameter '' requires an instance, but a type object was passed␤ in sub foo at /tmp/lXw6kMrJui:1␤ in block <anon> at /tmp/lXw6kMrJui:1␤␤»
TimToady but it does seem that pi.perl should probably print 3.141592653589793238 rather than the fractional form 21:39
21:39 sftp joined
TimToady or maybe it should return the .Str form 21:39
jnthn Uh...pi should be a Num, no?
colomon jnthn: that's what I'm asking.
jnthn rakudo: say pi.Num
p6eval rakudo 9a4981: OUTPUT«3.14159265394248␤»
jnthn grr
rakudo: say pi.WHAT
p6eval rakudo 9a4981: OUTPUT«Num()␤»
colomon I think TimToady has a real good case for making it a RatStr 21:40
21:40 derrazo joined
TimToady constant pi is export = 3.14159_26535_89793_23846_26433_83279_50288; 21:40
jnthn Having an irrational number being a Rat is irrational!
TimToady I see no 'e' there...
21:40 derrazo left
jnthn my constant pi = 3.14159_26535_89793_238e0; 21:40
From Rakudo.
colomon TimToady: pi.perl should totally return the .Str form
jnthn pi.perl should probably do whatever $any-other-num.perl would do ;) 21:41
TimToady jnthn: well, that's not according to spec, then
jnthn TimToady: Then I think the spec is being silly. 21:42
lichtkind is pi officially part of prelude?
TimToady yes, and so are e and i 21:43
21:44 sivoais_ left 21:45 sisar left
TimToady it's fine by me if a RatStr also provides a pre-converted .Num value 21:45
21:45 sisar joined
TimToady likes allomorphic literals 21:45
jnthn Is RatStr still multiple inheritnace?
ah, just found the bit in S02. Yes. 21:46
TimToady last I heard
21:47 zby_home left
jnthn remains unfond of ending up with MI being used in CORE.setting 21:48
(It's not that it's a problem in any technical sense. I just...find MI uncomfortable.)
(As does 6model, which takes "this is MI" to mean "skip these nice optimizations"...) 21:49
masak something about this irclog.perlgeek.de/perl6/2012-05-09#i_5563296
made me write this gist.github.com/2649172
I don't know what you think. sometimes I just like stories. :)
21:50 alim left
TimToady putting on my lit crit hat, the ending seems a bit abrupt... 21:53
au that reads like the first half of a story...
TimToady why do I feel like that poor guy in Star Wars saying "Almost there...Almost there..." 21:54
masak I'm sorry, I don't know the ending to this one.
TimToady we need some young, over-confident whippersnapper to nail the heat exhaust port... 21:55
au it may worth noting that both p5 and p6 now both meets and exceeds the scope of the initial apocalypse/exegesis vision, although I'm not exactly sure how to work that into the narrative. :)
diakopter Stay on target ...
21:56 ggoebel left
TimToady well, I'm sure I can find some bits that P5 has ignored... 21:56
masak au: I think that's all part of the tuning fork narrative. Perl split into 5 and 6, providing everything from redundancy to heterogeneity.
21:57 huf_ is now known as huf
TimToady 'course, there are some bits that P6 has ignored too... :) 21:57
au :)
21:57 ggoebel joined 21:58 tyatpi left, wolfman2000 joined
TimToady had an interesting mental sideslip the other day, when he thought "tuning fork" and said "pitch fork" instead 21:59
which...almost works...
masak :D
diakopter pitch ;pipe 22:00
masak a pitch fork has more than two branches, right? we need more Perls.
MOAR
actually, I wish someone would develop more successful Perls.
diakopter peace pipe
masak but maybe there's not niches enough for more than Perl 5 and Perl 6? 22:01
TimToady well, there are other attempts to revise Perl 5 out there
hopefully they'll turn out to be better designed and less successful than PHP :D
22:02 orphu joined
TimToady s/and/or/ 22:02
masak there are parts about perl5i that reach halfway to Perl 6 and then stop.
like, they have a Str.reverse 22:03
that's about what you'd get if you stopped being inspired by Perl 6 about 2008, I guess :)
hm, seems .flip was born in 2009. 22:04
22:12 Chillance joined
jnthn 'night #perl6 22:15
diakopter /
masak 'night, #perl6
spider-mario good night
tadzik /
spider-mario ffffuuu-
I broke it :(
tadzik happens to the best of us 22:16
masak tell me about it.
22:16 rindolf left
tadzik a sleepy-tale? Or how do you call it 22:16
dalek blets: a5200d9 | (Herbert Breunung)++ | docs/appendix- (2 files):
adding constants e i pi
22:17
huf bedtime story?
tadzik oh, yes 22:18
huf i had to swap for a bit to find the phrase 22:19
tadzik lichtkind: tablets.perl6.org/appendix-e-exciti...-construct shouldn't "when 'g'" be "when /g/"?
also, the top-left if seems to have some trailing }} 22:20
lichtkind tadzik: depends if eq is nuff 'g' works too
tadzik lichtkind: but the Perl 5 version uses =~ /g/
so that's more like when /g/ than when 'g'
lichtkind right 22:21
the braces are added in translation
i fix that
tadzik tablets.perl6.org/appendix-e-exciti...nd-setters
that one probably wants has $.speed is rw; 22:22
otherwise "$hg1.speed = 100;" is illegal
dalek blets: f337812 | (Herbert Breunung)++ | docs/appendix-e-exciting.txt:
fix case construct, tadzik++
22:23
lichtkind yes 22:24
tadzik lichtkind++
dalek blets: ca4edcb | (Herbert Breunung)++ | docs/appendix-e-exciting.txt:
attr should be "is rw" tadzik++
tadzik oh, did you see the "Wrath of the Lichtking" I, khem, drawed? :P 22:25
lichtkind my brother is a wow veteran all these jokes are long made :)
by myself :)
tadzik i.imgur.com/V7z2j.jpg
lichtkind hahha 22:26
tadzik heh, should've suspected that
lichtkind i keep that
tadzik it's time for me too. Good knight #eplr6 22:28
Some men, when in need to write something, think "I know, I'll use two hands!". Then they have #eplr6
huf :) 22:29
22:32 noam_ left, noam_ joined 22:42 ponbiki joined
lichtkind haha 22:43
good night tadzik
22:47 sisar left, sisar joined 22:51 NamelessTee left 22:53 kst` is now known as kst, immortal left, erkan joined, erkan left, erkan joined 22:56 thou left 22:58 fridim_ left 23:00 thou joined 23:05 noam_ left, spider-mario left, noam_ joined 23:06 noam_ left, noam_ joined 23:07 ponbiki left, shinobicl left 23:08 noam_ left, noam_ joined, thou left 23:28 yves_ left, yves_ joined, domidumont left, tyatpi joined, sorear_ is now known as sorear
sorear good * #perl6 23:29
23:29 domidumont joined
[Coke] "I know, I'll use a J2EE container to house this app." Now I have ... well, more than 2 problems, anyway. 23:36
23:41 whiteknight joined 23:42 Chillance left 23:51 Tene_ is now known as Tene__
sorear Best Perl 5 error message: (Do you need to predeclare my?) 23:51
23:53 drschumtzenberg_ left