»ö« 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. |
|||
diakopter | std: say 3~~~~3 | 00:05 | |
p6eval | std 8632387: 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!===Expecting a term, but found either infix ~~ or redundant prefix ~ (to suppre… | ||
diakopter | mmm. line 66576 was my favorite. | ||
00:09
wolfman2000 left,
wolfman2000 joined
|
|||
[Coke] | r: say 2,4,8,..{* < 100000} | 00:10 | |
p6eval | rakudo 5da367: OUTPUT«===SORRY!===Preceding context expects a term, but found infix .. instead at line 1, near "{* < 10000"» | ||
[Coke] | r: say 2,4,8,...{* < 100000} | ||
p6eval | rakudo 5da367: OUTPUT«===SORRY!===Comma found before apparent series operator; please remove comma (or put parens around the ... listop, or use 'fail' instead of ...) at line 1, near "...{* < 10"» | ||
[Coke] | r: say 2,4,8...{* < 100000} | 00:11 | |
p6eval | rakudo 5da367: OUTPUT«2» | ||
[Coke] | O_o . o O (It looked so easy in the synopses) | ||
diakopter | r: say(my $a,=4) | 00:16 | |
p6eval | rakudo 5da367: OUTPUT« 4» | 00:17 | |
diakopter | p6eval is being slow | 00:18 | |
00:22
cognominal left
|
|||
dalek | p/qbootstrap: f8878e7 | jnthn++ | src/ops/nqp.ops: Fix an off-by-1. |
00:24 | |
p/qbootstrap: 9e36c01 | jnthn++ | / (3 files): Start loading the new regex lib so userspace code can do things like regex interpolation. Add a temporary flag for during the build - can go away once the bootstrap update is done. Gets another test file largely passing. |
|||
p/qbootstrap: 4b39917 | jnthn++ | t/nqp/50-regex.t: Update a test for new cursor object name. All pass, getting us down to a handful of failures in a couple of test files, probably with one root cause. |
|||
diakopter | jnthn++ | 00:25 | |
00:37
cotto left,
buubot_backup left,
imarcusthis left,
sorear left,
zb left,
felipe left,
lestrrat left,
baest left,
revdiablo left,
timotimo left,
xinming left,
pernatiy_ left,
plobsing left,
kranius_ left,
Grrrr left,
literal left,
Gruber joined,
timotimo_ joined,
pernatiy joined,
buubot_backup_ joined,
imarcusthis joined,
baest_ joined,
orevdiabl joined,
yeltzooo7 joined,
buubot_backup_ is now known as buubot_backup,
lestaway joined,
plobsing_ joined,
lestaway is now known as lestrrat,
drbean left
00:38
drbean_ joined,
drbean_ is now known as drbean,
Patterner left,
diakopter left,
ashleydev left,
Exodist left,
tokuhiro4 left,
kst left,
jlaire left,
renormalist left,
Maddingue left,
Tene left
00:39
Facefox left,
ponpon left,
domidumont left,
telex left,
Vlavv` left,
mikec_ left,
jnthn left,
sisar left,
simcop2387 left,
Woodi left,
sunnavy left,
arnsholt left,
BooK left,
szbalint left,
doy left,
Bucciarati left,
patch left,
LoRe left,
libertyprime left,
aloha left,
jtpalmer left,
itz left,
erkan left,
pjcj left,
awwaiid left,
tokuhirom left,
thou left,
TimToady left,
REPLeffect left,
frettled left,
stepnem left,
[Coke] left,
Juerd left,
prammer left,
moritz left,
BooK__ left,
Gothmog_ left,
PZt left,
benabik left,
bruges left,
alester left,
felher left,
jrockway left,
lumi_ left,
au left,
yves_ left,
kubrat left,
wolong left,
kcwu left,
cxreg left,
rhr left,
DreamingInCode left,
fgomez left,
Guest57249 left,
skids left,
sivoais left,
takesako left,
[particle] left,
jaldhar left,
mtk left,
crazedpsyc left,
Guest28776 left,
ivan`` left,
jerome_ left,
Util left,
colomon left,
broquaint left,
eternaleye left,
odoacre left,
ranguard left,
charsbar___ left,
mikemol left
|
|||
dalek | p/qbootstrap: eb98cba | jnthn++ | tools/build/Makefile.in: Stop building the now-unrequired PIR-based regex engine in stage 2, just to be sure it's not required any more. |
00:39 | |
00:42
Tene joined,
literal joined,
Patterner joined,
diakopter joined,
ashleydev joined,
Exodist joined,
tokuhiro4 joined,
kst joined,
jlaire joined,
renormalist joined,
Maddingue joined
00:44
Facefox joined,
xinming_ joined,
kranius joined,
sorear joined,
z-b joined,
c1sung_ joined,
DreamingInCode joined,
Guest57249 joined,
mikemol joined,
PZt joined,
skids joined,
tokuhirom joined,
benabik joined,
thou joined,
libertyprime joined,
bruges joined,
sivoais joined,
takesako joined,
ponpon joined,
[particle] joined,
alester joined,
felher joined,
domidumont joined,
jaldhar joined,
sisar joined,
mtk joined,
telex joined,
TimToady joined,
crazedpsyc joined,
jrockway joined,
Guest28776 joined,
aloha joined,
jtpalmer joined,
ivan`` joined,
REPLeffect joined,
jerome_ joined,
Util joined,
frettled joined,
itz joined,
stepnem joined,
erkan joined,
simcop2387 joined,
pjcj joined,
colomon joined,
Woodi joined,
kubrat joined,
lumi_ joined,
au joined,
Vlavv` joined,
jnthn joined,
mikec_ joined,
[Coke] joined,
Juerd joined,
awwaiid joined,
broquaint joined,
eternaleye joined,
odoacre joined,
ranguard joined,
prammer joined,
yves_ joined,
moritz joined,
BooK__ joined,
sunnavy joined,
arnsholt joined,
BooK joined,
szbalint joined,
wolong joined,
LoRe joined,
patch joined,
Bucciarati joined,
doy joined,
kcwu joined,
cxreg joined,
Gothmog_ joined,
rhr joined,
charsbar___ joined
|
|||
diakopter | phenny: ask TimToady S03 says "my :($b, $c)" is "okay" but STD doesn't parse it | 00:44 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
00:44
Facefox left,
literal left,
Patterner left,
diakopter left,
ashleydev left,
Exodist left,
tokuhiro4 left,
kst left,
jlaire left,
renormalist left,
Maddingue left
00:45
jnthn left,
Facefox joined,
tomaw joined
|
|||
dalek | ecs: bc016c6 | diakopter++ | S03-operators.pod: last batch of my S03 typo/grammaro fixes |
00:48 | |
00:50
literal joined,
Patterner joined,
diakopter joined,
ashleydev joined,
Exodist joined,
tokuhiro4 joined,
kst joined,
jlaire joined,
renormalist joined,
Maddingue joined
|
|||
diakopter | perl6: say [**]() | 00:54 | |
p6eval | pugs, rakudo 5da367: OUTPUT«1» | ||
..niecza v17-23-gfb775fb: OUTPUT«0» | |||
diakopter | phenny: ask masak try perl6: say [**]() # nieczabug | 00:55 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
00:57
cognominal joined
|
|||
colomon | it's a known nieczabug | 00:58 | |
dalek | Heuristic branch merge: pushed 368 commits to rakudo/str-numeric by japhb | 01:00 | |
01:01
felipe joined
01:02
Guest28776 left
|
|||
sorear | phenny: tell masak That would be github.com/sorear/niecza/issues/71 | 01:02 | |
phenny | sorear: I'll pass that on when masak is around. | ||
01:02
japhb joined
|
|||
colomon | sorear: how's school? | 01:02 | |
sorear | colomon: over, as of two hours ago. | 01:03 | |
colomon | \o/ | ||
I hope it went well. | 01:04 | ||
japhb | Now that moritz++ has turned on strict-by-default for old Str.Numeric, and I've brought the str-numeric branch up to date with nom, I'm thinking it's time to just do the merge and collect any stray fallout. | ||
Anyone disagree? | 01:05 | ||
Congrats, sorear! | |||
(Is that just for this year, or are you Done done?) | |||
sorear | Just for spring | ||
japhb | aww | ||
(Well, you may be happy about it, I guess. :-) | |||
01:12
scott_ joined
01:13
scott_ is now known as Guest95737,
oylenshpeegul joined
01:20
vinian joined
01:23
tokuhirom left
|
|||
oylenshpeegul | After compiling rakudo-star-2012.05, I failed some tests in t/spec/S32-temporal...is that something I should report? | 01:25 | |
sorear doesn't know if there are expected failures | 01:33 | ||
colomon | sorear: we're getting fresh failures in t/spec/S32-str/uc.t --- the test is the same, so presumably it is your recent neicza-changes | 01:35 | |
sorear: also looks like the same issue in t/spec/S32-str/capitalize.t | |||
sorear: oh, and perhaps the core issue is the failures in t/spec/S14-roles/basic.t | 01:36 | ||
sorear: everything seems to be related to roles | |||
sorear | what? I don't think I touched roles at all | 01:38 | |
colomon | Unhandled exception: No value for parameter 'self' in 'B init' | ||
sorear | that's an attribute thing ;) | 01:39 | |
colomon | for attributes in roles, yes? | 01:40 | |
at least, every time I've seen the problem show up there's a role involved. | |||
01:40
Guest57249 left
|
|||
sorear | is it always does/but? | 01:40 | |
colomon | For the three cases I've seen, yes | 01:41 | |
dalek | ecza: 026b805 | sorear++ | lib/Builtins.cs: Fix attribute initialization in BuildMostDerived() |
01:43 | |
sorear | the three that you name are now working. | 01:44 | |
colomon | sorear++ | 01:47 | |
01:51
oylenshpeegul left
|
|||
colomon | spectesting... | 01:51 | |
01:55
tyatpi left
|
|||
colomon | yeah, that's a lot better. :) | 01:56 | |
for.t failures are new tests... | 02:00 | ||
dalek | ecza: 9615535 | sorear++ | src/NieczaActions.pm6: Avoid internal error with my $.foo at top level (fixes #126) |
||
ast: d94ae21 | (Solomon Foster)++ | S04-statements/for.t: Fudge new tests for Niecza. |
02:02 | ||
02:05
shachaf left
|
|||
japhb | phenny, tell moritz With the switch to strict Str.Numeric handling, I'd like to consider merging str-numeric now (it's been brought up current with nom). Spectest results and analysis at: gist.github.com/2785389 . | 02:14 | |
phenny | japhb: I'll pass that on when moritz is around. | ||
02:15
fgomez joined
|
|||
japhb | phenny, tell moritz Cons: 1. No way to turn off strict handling. :-) 2. Needs some typed-exception love. 3. Not "complete". Pros: 1. Unorphans long-outstanding branch 2. Better than current state; ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.Numeric.perl.say ==> -62/15 | 02:18 | |
phenny | japhb: I'll pass that on when moritz is around. | ||
02:24
tyatpi joined,
japhb left
|
|||
dalek | ast: 3654c55 | (Solomon Foster)++ | S0 (2 files): Unfudge passing tests. |
02:25 | |
02:26
aesundstrom_ joined
|
|||
aesundstrom_ | Any perl6 macro writers out there? | 02:26 | |
02:36
shachaf joined
02:39
aesundstrom_ left
|
|||
colomon | ack, where's grammar::Tracer for niecza when I need it? :) | 02:40 | |
02:40
aesundstrom joined
|
|||
sorear | colomon: NIECZA_RX_TRACE=1, possibly with precompilation to avoid massive spam from STD | 02:41 | |
aesundstrom: I would not say anyone here specializes in writing macros | |||
colomon | sorear++ | 02:42 | |
02:42
raiph joined
02:46
japhb joined
|
|||
raiph | r: macro foo { quasi { say 1 } }; foo # wannabe macro writer... | 02:47 | |
p6eval | rakudo 5da367: OUTPUT«1» | ||
aesundstrom | raiph: ;) | 02:49 | |
Since I'm starting to learn perl6 macros, could somebody please point me to a good source of examples? | |||
I've been searching and the only examples I've found are in strangelyconsistent.org/blog/macros...hey-really and in the git specs?but they're very simple examples. | 02:50 | ||
japhb | aesundstrom, remember that Rakudo's macro support is in the early stages; it was discovered that the next major piece needed NQP support (QAST), which is in active development. | 02:53 | |
raiph | also read strangelyconsistent.org/blog/macros...-d1-merged | 02:54 | |
sorear | aesundstrom: why are you so interested to learn about a feature that barely exists? | 02:55 | |
diakopter | sorear: why would you assume aesundstrom knew the feature barely existed? | 03:00 | |
03:09
am0c joined
|
|||
masak | aesundstrom: chief wannabe macro writer, reporting in :) | 03:15 | |
phenny | masak: 00:55Z <diakopter> ask masak try perl6: say [**]() # nieczabug | ||
masak: 01:02Z <sorear> tell masak That would be github.com/sorear/niecza/issues/71 | |||
03:15
alester_ joined
|
|||
masak | diakopter: that one is known, I think. | 03:15 | |
diakopter | masak: !! it's, like, early, where you are | 03:16 | |
masak | yeah. | ||
nothing makes a programmer look dedicated like getting up at four in the morning. ;) | |||
sorear | diakopter: I'm not. | ||
diakopter: But if I asked in so many words, it would come across as horribly condescending, no? | 03:17 | ||
masak | depends. | 03:18 | |
"You are aware that the feature barely exists, right?" could be read as horribly condescending. | |||
aesundstrom: have you found my grant application? I've completed milestone D1 of that, and I'm currently working on D2. the macros that can be produced after D1 but before D2 are "very simple examples". sorry 'bout that ;) | 03:20 | ||
aesundstrom: fwiw, I'm always interested in vetting larger, more composed examples, and giving my opinion on whether they make sense or not. | 03:21 | ||
here's the grant application: news.perlfoundation.org/2011/09/hag...mplem.html | 03:22 | ||
03:23
replsos joined
03:25
Entonian joined
03:28
adu joined
|
|||
aesundstrom | masak: I hope I didn't offend you. In fact, your article was one of the only explanatory sources I could find worth reading. | 03:29 | |
03:32
replsos left
|
|||
masak | aesundstrom: no offense taken, or even contemplated. I love talking about this :) | 03:33 | |
03:36
Entonian left
03:38
aesundstrom left
|
|||
sorear | n: sub :: { } | 03:58 | |
p6eval | niecza v17-25-g9615535: ( no output ) | ||
dalek | ecza: 3bb38e5 | sorear++ | src/NieczaActions.pm6: Suppress spurious warnings in our $:: (fixes #127) |
04:06 | |
04:15
mikemol left
04:26
adu left
04:32
xinming joined
04:34
alester_ left
04:36
xinming_ left
|
|||
dalek | ecza: 124199c | sorear++ | lib/ (2 files): Do not NRE when calling (necessarily nonexistant) methods on a package or unfinished class (fixes #125) |
04:38 | |
04:39
cognominal left,
cognominal joined
04:42
raiph left
|
|||
moritz | \o | 05:02 | |
phenny | moritz: 02:14Z <japhb> tell moritz With the switch to strict Str.Numeric handling, I'd like to consider merging str-numeric now (it's been brought up current with nom). Spectest results and analysis at: gist.github.com/2785389 . | ||
moritz: 02:18Z <japhb> tell moritz Cons: 1. No way to turn off strict handling. :-) 2. Needs some typed-exception love. 3. Not "complete". Pros: 1. Unorphans long-outstanding branch 2. Better than current state; ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.Numeric.perl.say ==> -62/15 | |||
japhb | o/ moritz | 05:05 | |
moritz | japhb: how much effort do you think it is to fix the remaining failures? | 05:07 | |
japhb | In the spectest results, you mean? | ||
05:09
_ilbot left,
_ilbot joined
|
|||
moritz | japhb: yes | 05:09 | |
japhb | I think probably just a bit of time to do the typed exceptions, then decide which of the edge cases really should fail, and which should DWIM (several of the "failures" of my branch are actually places where I DWIM and the spectest doesn't) | ||
I don't think it's a ton of work, but with $day_job my tuits are pentagonal this month. But I don't want to see another month go by with a merge. :-/ | |||
moritz | japhb: I can help you at least with the typed exceptions branch | 05:10 | |
japhb | I think, BTW, that at this point just about anyone could do the typed exceptions, and a little discussion would resolve the edge cases, so I don't have to be the blocker. | ||
moritz | ok, great | ||
japhb | Excellent. | ||
05:17
wolfman2000 left
|
|||
sorear | o/ moritz | 05:18 | |
o/ masak # forgot | |||
moritz | \o sorear | 05:19 | |
japhb | o/ sorear # forgot :-) | 05:20 | |
dalek | ecza: ad2d70a | sorear++ | lib/CORE.setting: Saner infix:<cmp> for List (fixes #108) |
05:21 | |
05:28
birdwindupbird joined
|
|||
sorear | masak: I do, however, think Kalai has a point, that we don't really have a good empirical model of the noise process and there are still different ways things could go | 05:34 | |
tadzik | mood gorning | 05:36 | |
05:37
Ulti left,
Ulti joined
05:41
vinian left
05:51
kaleem joined
05:58
NamelessTee joined
06:34
am0c left
|
|||
moritz | noise process? what did I miss? | 06:42 | |
\m tadzik | |||
sorear | moritz: I'm still chatting with masak about universal quantum communication | 06:45 | |
computation | |||
hopefully we can wrap this up tomorrow, I won't have to leave quite so early :0 | |||
:) | |||
moritz | :-) | ||
06:46
wtw joined
06:47
bbkr1 joined
06:56
thou left
06:59
am0c joined
07:02
z-b is now known as zb
07:07
am0c left
07:08
brrt joined
07:15
stephenlb left
07:20
bbkr1 left
07:22
NamelessTee left
07:24
DreamingInCode left
07:26
am0c joined
07:27
replsos joined
07:30
am0c left
07:31
Gruber is now known as Grrrr
07:38
sergot joined
|
|||
sergot | hi o/ | 07:38 | |
sorear | o/ | 07:39 | |
07:43
replsos_ joined
07:45
replsos left,
replsos_ is now known as replsos
07:51
Antichoc joined
|
|||
Antichoc | Hello ! | 07:52 | |
07:52
replsos_ joined
|
|||
sergot | hi Antichoc ! :) | 07:52 | |
07:53
replsos left,
replsos_ is now known as replsos
|
|||
Antichoc | hi sergot | 07:53 | |
I'm search for moritz ! | |||
Woodi | hallo | 07:54 | |
moritz | Antichoc: your search was successfull. You reach the next level. Welcome to the matrix! | ||
sergot | \o/ :) | ||
Antichoc | hi moritz | ||
lol ! | |||
sorear | sisar: sorry | ||
Antichoc | I'm at your disposition if you have few time ! | 07:55 | |
07:55
fhelmberger joined
|
|||
sorear | phenny: tell sisar Sorry. See #124 comment | 07:56 | |
phenny | sorear: I'll pass that on when sisar is around. | ||
Woodi | I learned from raiph link to reddit thread something new for me - that Rakudo do not generate good pir... I would like to propose to not start kind of flame war between Perl6 subsystems developers, pls... | 07:57 | |
second: it would be nice or maybe it is realy needed to know what is not in right shape in Parrot and Rakudo cases... I am sure it is know by developers but they must do their work too and thing are fuzzy and forgotten | 07:59 | ||
tadzik | chromatic has moved away from Parrot/Perl 6 development some time ago and now is mostly posting negative comments in various media, sadly | ||
Woodi | tadzik: but he still provide true input on the state of things... | 08:00 | |
moritz | Woodi: well, his perspective is very skewed | ||
Woodi | can we do technical here, pls ? :) | ||
moritz | Woodi: there's a good reason for almost every aspect of the generated PIR, and it's usually "because it doesn't work otherwise" | 08:01 | |
Woodi | ok | ||
moritz | or sometimes, because it didn't work otherwise at the time the codegen was written | ||
Woodi | so no there is nothing more to do just sit and discuss in bigger family... | 08:02 | |
now* | |||
looks that for few years Parrot devs work for Parrot not for Perl6. things should return to first priority which is Perl6 | 08:05 | ||
sorear | Antichoc: you don't need permission to talk :) | 08:12 | |
moritz | sorear: FYI I'm helping Antichoc in private mesage to set up ilbot | 08:13 | |
Antichoc | sorear, i was waiting for moritz, i ask him if he has time to help me ! | ||
08:13
araujo left
|
|||
sorear | moritz: ah, ok | 08:13 | |
moritz | sorear: in the early days I wrote that I could be found on #perl6 to discuss ilbot, because that's where the bot started | 08:14 | |
sorear: I've tried to remove all mentions of that, and instruct people to /msg me directly, but the internet never forgets :-) | |||
sorear | moritz: I understand | ||
08:20
araujo joined,
araujo left,
araujo joined,
jnthn joined
|
|||
jnthn | morning | 08:21 | |
Grr...irssi seems to have wedged overnight. | |||
sorear | morning, jnthn | ||
frettled | grr morning, jnthn :) | 08:22 | |
08:28
cognominal_ joined
08:31
cognominal left
08:34
dakkar joined
08:42
snearch joined
08:45
am0c joined,
replsos left
08:46
fglock joined
|
|||
masak | sorear: re Kalai having a point -- url? | 08:47 | |
jnthn! \o/ | |||
jnthn: glad to hear you've unwedged yourself. | |||
diakopter: here's another attempt at explaining autopuns. like "Damn you autocorset", they derive their funny by being simultaneously *about* and *in* the phenomenon they're describing. | 08:52 | ||
so it's not so much a self-reference actually, as it is a conflation of signifier and signified. | |||
frettled | And if that doesn't signify some significance, I don't know. | 08:53 | |
08:53
am0c left
|
|||
masak | I may not be an expert at these things, but that doesn't stop me from throwing around big words. | 08:54 | |
moritz | I thought an expert was (by definition) somebody who throws around big words :-) | 08:55 | |
masak | that, sadly, seems to be a common enough definition of "expert" these days... | 08:57 | |
actually, it does seem I have no idea how to use "signifier" and "signified" correctly -- here are the actual definitions: en.wikipedia.org/wiki/Sign_(semioti...adic_signs | |||
sorear | masak: rjlipton.wordpress.com/2012/01/30/p...t-century/ | 08:58 | |
masak | thank you. | 09:00 | |
jnthn | moritz: I think you built/tested qbootstrap recently. I'm curious to see results from other platforms; I know there are just a small handful of failures leftover. | 09:01 | |
moritz: But should be almost clean now. | |||
moritz | jnthn: tried yesterday or the day before. Still lots of parse failures during 'make test' | 09:02 | |
masak .oO( the upside of failing at cooking is that there are failures leftover the next day ) | |||
tadzik | jnthn: tried today, 4 or so failures in t/nqp, t/qregex did not run | ||
moritz | jnthn: I can try again soon | ||
tadzik | something along 'no rule for target qregex' | 09:03 | |
jnthn | moritz: Yes, but I did like 6 commits last night that fixed lots of stuff. | ||
moritz | jnthn: ok, will try again :-) | ||
jnthn | tadzik: 4 failures as in, 4 individual test failures, not test files? | ||
tadzik | test failures. 4-ish | ||
sorear | sleep& | ||
tadzik | good knight sorear | 09:04 | |
jnthn | tadzik: OK, that's inline with what I have. | ||
o/ sorear | |||
tadzik | it was quite consistent with commit massages :) | ||
dalek | kudo/str-numeric: 1143b27 | moritz++ | src/core/Str.pm: make Str.Numeric throw typed exceptions |
||
jnthn | tadzik: Great. | ||
I need to attend to some $dayjob bits now, but will try and get it to really bootstrap itself later on. | |||
09:05
daxim joined
|
|||
jnthn | japhb++ # numeric work | 09:05 | |
moritz | japhb: that branch is now down to the test failures in t/spec/S32-str/numeric.rakudo | ||
jnthn | moritz++ # helping get it mergable | ||
moritz | n: say '0b1'.Numeric | 09:06 | |
p6eval | niecza v17-28-gad2d70a: OUTPUT«1» | ||
moritz | n: say '0b_1'.Numeric | ||
p6eval | niecza v17-28-gad2d70a: OUTPUT«1» | ||
moritz | in the branch, that also succeeds. The tests want it to fail | ||
I'm fine either way, so I'll accept convergence with niecza here :-) | 09:07 | ||
n: try { my $n = .Numeric; say "$_ = $n" } for <+-3/-2 +3/-2 ++3/-2 +3.0/2 +3/2.0> | 09:08 | ||
p6eval | niecza v17-28-gad2d70a: ( no output ) | ||
moritz | the branch allows all those. I'm more sceptic about that | ||
but I'm willing to fudge those tests, merge and fix later | 09:09 | ||
masak | I don't like ++3/-2 | 09:10 | |
I'm fine with the rest. | |||
p6: say +-3/-2 | |||
moritz | I also don't like +- at all | ||
p6eval | pugs, rakudo 5da367, niecza v17-28-gad2d70a: OUTPUT«1.5» | ||
masak | I'm fine with disallowing +-, though I personally don't have a problem with it. | ||
arguably it's not something val() need recognize. | 09:11 | ||
09:11
am0c joined
|
|||
jnthn | moritz: I'm guessing we win a bunch of tests as well as lose some? | 09:11 | |
moritz | oh | ||
the + is just part of the test output | |||
not of the test itself | |||
jnthn | Oh | ||
:) | 09:12 | ||
moritz | p6: try { my $n = .Numeric; say "$_ = $n" } for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> | ||
p6eval | pugs: OUTPUT«pugs: Missing required parameters: $_» | ||
..niecza v17-28-gad2d70a: ( no output ) | |||
..rakudo 5da367: OUTPUT«use of uninitialized variable $_ of type Any in numeric context in block <anon> at /tmp/g4ZfDIjocb:1use of uninitialized value of type Any in string context in block <anon> at /tmp/g4ZfDIjocb:1 = 0use of uninitialized variable $_ of type Any in numeric conte… | |||
moritz | for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } } | ||
p6> for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } } | |||
p6: for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { try { my $n = .Numeric; say "$_ = $n" } } | |||
p6eval | pugs: OUTPUT«pugs: Missing required parameters: $_» | ||
..rakudo 5da367, niecza v17-28-gad2d70a: ( no output ) | |||
09:12
snearch left
|
|||
moritz | p6: for <-3/-2 3/-2 +3/-2 3.0/2 3/2.0> { my $n = .Numeric; say "$_ = $n" } | 09:13 | |
p6eval | niecza v17-28-gad2d70a: OUTPUT«Unhandled exception: Cannot parse number: -3/-2 at /home/p6eval/niecza/lib/CORE.setting line 1379 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3424 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3426 (NumSyntax.str2num @ 4)  a… | ||
..rakudo 5da367: OUTPUT«Slash must be followed by denominator in method Str at src/gen/CORE.setting:9059 in method Stringy at src/gen/CORE.setting:695 in block <anon> at /tmp/cBB783UlyW:1» | |||
..pugs: OUTPUT«*** No such method in class Str: "&Numeric" at /tmp/yvDSIxw_a7 line 1, column 42-55» | |||
moritz wonders why niecza TODOs these tests then | |||
masak | how sneaky. | 09:14 | |
moritz | jnthn: I'm pretty sure we do | ||
masak | skewing its own test results -- downwards! it's a trap! | ||
moritz | jnthn: I got only two passing TODOs, but I guess autounfudge will find many more | ||
masak .oO( autounpun ) | 09:15 | ||
jnthn | moritz: ok | ||
moritz | masak: is that an IRC filter that blocks jnthn and you? :-) | ||
masak | am I feeling lucky... *punk*? | 09:17 | |
09:18
brrt left
09:19
brrt joined
09:22
plobsing_ left,
kresike joined
|
|||
kresike | hello all you happy perl6 people | 09:22 | |
tadzik | hey hey kresike | 09:23 | |
jnthn | o/ kresike | ||
kresike | tadzik, jnthn o/ | ||
fglock | Woodi: ping | ||
bbkr | hi. what a fine day for p6 hacking :) | ||
moritz | bbkr: indeed :-) | ||
sergot | o/ | ||
09:25
plobsing joined
|
|||
masak | kresike! \o/ | 09:29 | |
kresike | masak, o/ | 09:30 | |
dalek | Heuristic branch merge: pushed 19 commits to rakudo/nom by moritz | 09:33 | |
moritz | japhb++ | 09:34 | |
dalek | ast: d671183 | moritz++ | S (3 files): rakudo refudging for str-numeric branch |
09:35 | |
jnthn | japhb++ | ||
dalek | ast: a556162 | moritz++ | S03-operators/overflow.t: unfudge another passing test |
09:40 | |
moritz | jnthn: I've now tested qbootstrap | 09:55 | |
4 tests failing in t/nqp/34-rxcodeblock.t | |||
2 failing in t/nqp/49-regex-interpolation.t | 09:56 | ||
t/hll/05-commandline.t dies | |||
that last one looks like the test was merged over from master, but not the implementation | 09:57 | ||
jnthn | moritz: The t/nqp ones - yeah, same as here. Thanks. | ||
t/hll - good to know...that should be fixed before I do the bootstrap update. | |||
moritz | that was likely commit d49821658cabba0a97c13253313aaf2b45f9d003 in master | 09:58 | |
oh | 09:59 | ||
there's a src/QHLL/CommandLine.pm too? | 10:00 | ||
an automatic merge will just have fixed the one iin src/HLL/ | |||
masak | QHLL?! | ||
this quantum thing has gone too far... :) | |||
jnthn | moritz: Right. | 10:01 | |
moritz: So should just be copy/paste | |||
As I don't think that diverged | |||
moritz: There won't be two copies any more once I get the bootstrap finished up | |||
Though really don't want to lose stuff :) | 10:02 | ||
moritz | jnthn: ok. We just need to be careful to also get the changes to Compiler.pm | ||
jnthn | moritz: Yeah, I was planning to git log things to see what needed doing... | 10:03 | |
moritz: If you have tuits, feel free to update things, otherwise I get to it later on. | |||
sisar | o/ | ||
phenny | sisar: 07:56Z <sorear> tell sisar Sorry. See #124 comment | ||
sisar | sorear: no problem. I can wait. | ||
moritz | jnthn: I think I can just copy over both files. We'll just use the commit history by that | 10:04 | |
*loose | |||
*lose | |||
dalek | p/qbootstrap: 2c90c5d | moritz++ | src/QHLL/CommandLine.pm: copy changes to src/HLL/ over to src/QHLL |
10:12 | |
jnthn | moritz: Does that clear up the t/hll test fail? | 10:18 | |
moritz | jnthn: yes | 10:19 | |
jnthn | yay | 10:20 | |
moritz | does it have transitive LTM already? | ||
jnthn | Yeah | ||
moritz | \o/ | 10:21 | |
does anyone except rakudo use nqp's HLL::Compiler? | |||
jnthn | NQP itself may use it | ||
Probably does. | |||
moritz | ok | 10:22 | |
because sooner or later I want to rename some things | |||
I've recently added accessors for the parsed command line options and arguments | |||
10:23
Guest95737 left
|
|||
moritz | but there is currently a method 'commandline_options', but that contains the *spec* for the expected command line arguments | 10:23 | |
and that's highly confusing :-) | |||
10:24
NamelessTee joined
|
|||
moritz | maybe I should rename them to parsed_cli_{options,arguments} and commandline_spec or so | 10:24 | |
but that can wait until after the qbootstrap merge | |||
jnthn | +1 to deconfusing things :) | ||
yes | 10:25 | ||
It's also gonna need a branch in Rakudo to update Rakudo's grammar somewhat, I expect. | |||
There are surely places that make "we don't have transitive LTM" style assumptions. | |||
moritz | do inline alternations with | LTM in qbootstrap? | 10:26 | |
jnthn | No | ||
That needs doing, but it's kinda orthogonal. | 10:27 | ||
moritz | ok | ||
jnthn | Pm and I talked about how to do | LTM a bit in Oslo. | ||
moritz | is it different than proto token LTM? | 10:28 | |
10:28
kubrat left
|
|||
jnthn | Kinda | 10:30 | |
I mean, it's the same "run NFA, get fates" | |||
But the fates need to somehow be linked to which alternation branches to run | |||
10:30
kubrat joined
|
|||
jnthn | And then that calculation needs to be saved somewhere so we can backtrack and try other alternations in the correct order | 10:31 | |
And to make things trickier, that backtracking could be triggered by us having backtracked into a subrule. | |||
masak | hm. "what's the use case?" is a really nice way to help people stuck in an X/Y thinking. | 10:43 | |
10:48
birdwindupbird left
10:49
birdwindupbird joined
11:04
brrt left
|
|||
daxim | "I want to remove all accents" | 11:07 | |
that's the Y, now guess the X | 11:08 | ||
jnthn | X = "I'm going on holiday to Scotland and want to be able to understand what people are saying!" | 11:09 | |
Removing all the accents would really help :) | |||
.oO( It could be that you're turning stuff into ASCII by dropping accents, but nobody would do that! ) |
11:10 | ||
11:13
kaleem left
|
|||
moritz doubts that dropping an accent from an alpha gives you ASCII :-) | 11:27 | ||
jnthn | Clearly that becomes a ? :) | 11:33 | |
11:34
birdwindupbird left
|
|||
Woodi | fglock: pong, message sent && afk for some work | 11:36 | |
fglock | ok | 11:37 | |
dalek | p: 64c1b3c | moritz++ | src/HLL/Compiler.pm: [HLL::Compiler] expose the program name to the user |
||
kudo/nom: 5274a37 | moritz++ | / (2 files): fix $*PROGRAM_NAME for one-liners Closes RT #113078 |
11:39 | ||
p/qbootstrap: f135d3f | jnthn++ | tools/build/Makefile.in: Fix up make install for qbootstrap. |
11:54 | ||
12:01
birdwindupbird joined
12:16
JimmyZ joined
|
|||
[Coke] | QHLL SURPRISE. | 12:17 | |
12:20
brrt joined
|
|||
jnthn | [Coke]: ? :) | 12:20 | |
[Coke] | little punchy from dayjob deadlines. pay me no mind | 12:21 | |
12:24
woosley joined
12:46
NamelessTee left
12:48
_twitch joined,
_twitch left
12:50
Antichoc left
12:52
NamelessTee joined
12:57
NamelessTee left
|
|||
dalek | p/qbootstrap: 19e3d85 | jnthn++ | tools/build/Makefile.in: Update bootstrap-files target. |
13:04 | |
p/qbootstrap: 127134a | jnthn++ | src/NQPQ/Actions.pm: Move loading of NQPP6QRegex within --no-regex-lib guard. |
|||
p/qbootstrap: d559989 | jnthn++ | src/how/NQPClassHOW.pm: Temporarily change the way we do NFA caching so we don't end up with SC refs between levels of the bootstrap. |
|||
13:06
PacoAir joined
|
|||
moritz | ooh, looks like qbootstrapping being used for bootstrapping :-) | 13:07 | |
13:07
Psyche^ joined
|
|||
tadzik | waitwaitwaitwaitwait ;) | 13:08 | |
13:08
Patterner left,
Psyche^ is now known as Patterner,
REPLeffect left
13:12
REPLeffect joined
|
|||
jnthn | moritz: Well, working towards it. | 13:14 | |
13:19
jaldhar left
13:27
JimmyZ_ joined,
JimmyZ left,
JimmyZ_ is now known as JimmyZ
13:39
vinian joined
13:47
birdwind1pbird joined
13:50
timotimo_ is now known as timotimo,
adu joined
13:51
am0c left
|
|||
colomon | SpaceX capsule officially captured by the ISS. | 14:01 | |
moritz | \o/ | ||
14:02
grondilu joined
|
|||
benabik | "Houston, it looks like we got us a Dragon by the tail." | 14:02 | |
[Coke] | ... I wonder if ISS could repel boarders if necessary. | 14:05 | |
jnthn | \o/ | ||
moritz | [Coke]: probably not very effectively | 14:07 | |
though I can imagine that at least some of the inhabitants are armed | |||
[Coke] | Phineas, I know what we're going to do today! | 14:08 | |
14:09
daxim left
14:11
grondilu left
|
|||
[Coke] | wow. does this explain damian? io9.com/5903588/this-photo-of-a-spi...your-brain | 14:13 | |
crazy australia. | |||
14:14
grondilu joined,
wtw left
|
|||
grondilu | Does 'NativeCall' works for you guys? | 14:19 | |
14:20
dpm_ joined
|
|||
skids | What, just the use statement? | 14:20 | |
tadzik | it worked last time I checked | ||
skids | (because you have to have Zavolaj in the inclde path for that.) | ||
tadzik | which was 2012-05-20T22:46:04Z, according to tjs.azalayah.net/new.html | 14:21 | |
14:21
dpm_ left
|
|||
skids | I've successfully used it, but is was mixing a star-compiled zavolaj with a git checkout rakudo, so... | 14:21 | |
[Coke] | star: use NativeCall | 14:22 | |
p6eval | star 2012.04: ( no output ) | ||
jnthn | skids: That's because . and lib are no longer in @*INC by default | ||
14:23
grondilu left
14:24
vinian left
14:25
vinian joined
|
|||
moritz | yes, you might need to fiddle with PERL6LIB or the -I command line option | 14:26 | |
[Coke] wonders if tadzik is going through the modules in alphabetical order. | 14:27 | ||
tadzik | he is, yes | ||
or no, he's not | 14:28 | ||
they're just sorted on the webpage | |||
moritz | no sorting by dependency? | ||
tadzik | and dependencies are always rebuilt, afair | ||
[Coke] | tadzik: they just seem to be passing in alphabetical order. hurm. clicking on "exemel" doesn't take me to the exemel page. | ||
tadzik | I don't think so | ||
oh, clicking is NYI :) | |||
[Coke]: the top ones are the passing onse | |||
[Coke] | tadzik: i missed that the sort order wasn't uniform. whoops | 14:29 | |
moritz wants a robust topo sort module with cycle detection | 14:31 | ||
14:31
grondilu joined
|
|||
tadzik | ufo implements that | 14:31 | |
and Panda steals that :) | |||
not robust though, just for module files | |||
grondilu | I've made some updates in my pack/unpack customisations (see Buf.pm): github.com/grondilu/rakudo | 14:32 | |
I also tried to comply to ecosystem for my Digest module: github.com/grondilu/libdigest-perl6 | |||
14:32
fhelmberger left
|
|||
grondilu | but I got to go now :( | 14:33 | |
14:33
grondilu left
|
|||
[Coke] | I just typed "perl coke" instead of "git clone". wtf? | 14:42 | |
JimmyZ | wfm | ||
tadzik | ;) | ||
[Coke] | so, I grab a copy of exemel to play with. ... how do I play with it? | 14:43 | |
tadzik | run tests maybe :) | ||
[Coke] | tadzik: "make test" - ... boom | 14:44 | |
moritz | I guess that's why it's not all green in the emmentaler results | ||
[Coke] | do I need to whip up a manual 'prove' line? | ||
tadzik | I don't think so | ||
well, wanted to play with it? You can fix tests :) | 14:45 | ||
[Coke] | ok, different question: please point me at a module that is setup like we expect modules to be? | ||
moritz | how does it blow up? | ||
[Coke]: Math::Model for example | |||
[Coke] | moritz: "there is no makefile" | 14:46 | |
moritz | [Coke]: ah. ufo && make test | ||
[Coke] | ufo itself lacks directions. | 14:48 | |
does it need to be installed? | |||
tadzik | yes | 14:49 | |
it can be sort of boostraped, perl6 bin/ufo && make install | |||
or you can use panda | |||
[Coke] | I'm looking at the readme, and the first instruction on ufo is "ufo". which doesn't help. | ||
tadzik | but I think I still didn't fix its bootstrap | ||
[Coke] | pan... now you're just making things up. | ||
tadzik | oh, you didn't hear about it? :) | 14:50 | |
[Coke] gives up even pretending to look at perl6 modules today. | |||
tadzik | github.com/tadzik/panda is a real deal :) | ||
[Coke] | it would be nice, as a newcomer to modules, if modules.perl6.org had a writeup geared toward someone who was not a core developer. | ||
tadzik | it doesn't? | ||
These modules can be installed with panda, a module management tool which comes with Rakudo Star. | 14:51 | ||
[Coke] | ah. should have started there instead of here. | 14:52 | |
the panda readme is the most helpful thing so far, danke. | |||
tadzik | I'm glad to hear that | ||
[Coke] | ok. so if panda is used to /install/ modules, how can I /test/ them first? | ||
tadzik | panda tries that | 14:53 | |
it fetches, builds, tests, installes, in this order | |||
[Coke] | I don't want panda to try that. I wish to run it myself because I am hacking on a module intended to be installed via panda later. | ||
(so, panda for module users vs. module authors would be helpful) | 14:54 | ||
or is panda only for users? | 14:55 | ||
(or am I confused still, which is entirely possible.) | 14:57 | ||
also, are panda and ufo ... complementary? opposed? why do we have both? | 14:58 | ||
14:58
NamelessTee joined
|
|||
tadzik | panda is for users, ufo is for developers | 15:01 | |
generally | |||
you probably want to use ufo for module development | |||
tadzik decommutees | 15:02 | ||
15:05
brrt left
15:06
thou joined
|
|||
[Coke] | does star include ufo? (since it's not got a module underneath, like App:ufo, I cannot check from p6eval) | 15:07 | |
15:08
tokuhirom joined
15:13
birdwind1pbird left,
birdwindupbird left
15:14
fgomez left
15:15
cotto joined
15:34
plobsing left
15:36
plobsing joined
|
|||
adu | so ufo depends on naming convention? | 15:43 | |
colomon | adu: yes | 15:46 | |
15:50
fglock left
|
|||
skids | r: my @f; @f = 1,2,3; @f.perl.say; our @g; @g.push(1); @g = 4,5,6; @g.perl.say; our @h; @h = 7,8,9; @h.perl.say; | 15:53 | |
p6eval | rakudo 5274a3: OUTPUT«Array.new(1, 2, 3)[4, 5, 6]No such method 'STORE' for invocant of type 'Any' in block <anon> at /tmp/ClmlBx4KPE:1» | ||
kresike | bye all | 15:55 | |
15:56
kresike left
|
|||
japhb | moritz++ # thanks for the merge and cleanup assist! | 16:08 | |
16:09
JimmyZ left
|
|||
japhb | moritz, re: github.com/perl6/roast/commit/d671183d47#L2R44 note that Niecza and Rakudo's new Str.Numeric parser not only agree, they are correct according to S03:3210-3231 | 16:10 | |
16:10
sirrobert joined
|
|||
japhb | moritz, re: github.com/perl6/roast/commit/d671183d47#L2R91 my feeling is that the only sane way to parse a rational is as the ratio of two numbers -- in grade school arithmetic, we're taught to handle negation signs in the denominator, so I think Perl 6 should be at least that advanced. :-) | 16:13 | |
moritz, I feel the same about handling '3.0/2', by the way: It's just a simple ratio where one number is a rational, and that's easy to convert to a simple Rat, so we should. | 16:14 | ||
moritz, in short, I think the spectest is overrestrictive here, and there's no reason it shouldn't Just Work -- it's even easier to implement that way. | |||
moritz, Finally, re: irclog.perlgeek.de/perl6/2012-05-25#i_5636242 I'm not surprised you didn't see a ton of passing TODOs -- the spectests are rather heavily incomplete in parsing the full wonderfulness of numeric literals. :-) | 16:16 | ||
I have a private set of tests that I might be able to convert to spectest form. (They were optimized for performance as well as compliance testing, so didn't do normal TAP output.) | 16:18 | ||
I expect it will be a couple weeks before I have tuits of the right shape for that. :-( | |||
sirrobert | How complete is the "NativeCall" implementation right now? | ||
japhb | sirrobert, Last time I looked it handles a lot of the vanilla stuff, but not the chocolate yet. :-) | 16:19 | |
sirrobert | I guess I really mean, "How complete is the ability to call C libs right now?" | ||
heh ok | |||
jnthn | sirrobert: It does quite a bit; it's missing callbacks completely and there's a few issues with sized integer types in structs/arrays. | ||
sirrobert | Thanks | 16:20 | |
jnthn | sirrobert: If it helps: it's already good enough to call the C libs for Postgres, MySQL and Sqlite | ||
sirrobert: Also have tried calling Win32 APIs with it with some success. | |||
sirrobert: And I think others have done various other libraries. | |||
File an issue if you run into an unimplemented bit. There's a couple of people who hack on it. :) | 16:21 | ||
arnsholt++ did much of the recent stuff | |||
sirrobert | Great =) I was here yesterday (or Wednesday?) mentioning that I'm contemplating having my startup explore migrating development to P6. | ||
After talking about it with a few people, I think it's a good (read: fun and a little dangerous ;) idea. | 16:22 | ||
We want to start with some of the "lighter" stuff (web server, etc.) Is there any best way to get that started with visibility to people working on Rakudo, etc? | 16:23 | ||
PerlJam | sirrobert: you're doing it right now :) | ||
sirrobert | heh | ||
Do most of you use git/github for stuff? | 16:24 | ||
PerlJam | aye | ||
sirrobert | Ok (that's what we use). Is there a page where I can see how much of the spec is implemented in Rakudo? | ||
japhb | sirrobert, Seriously though, PerlJam is correct (on both counts, now): #perl6 is the best way to reach Perl 6 implementers, and yes, we use Github for most public repo storage. | ||
16:25
tyatpi left
|
|||
sirrobert | japhb: Great =) | 16:25 | |
jnthn | I think almost everyone who works on Rakudo is about here. | ||
See features.perl6.org/ for an idea of what Rakudo implements. | |||
gah | 16:26 | ||
japhb | sirrobert, perl6.org/compilers/features | ||
jnthn | See www.perl6.org/compilers/features | ||
:) | |||
japhb | :-) | ||
jnthn fail | |||
sirrobert | heh | ||
jnthn uses "I'm debugging a bootstrapping compiler" as an excuse :) | |||
moritz | japhb: ok, I'm fine with relaxing/fixing the tests | 16:28 | |
sirrobert | Thanks; good info there. I'll be back later (gotta meet my wife for lunch). | 16:29 | |
moritz | japhb: will look into it, at $some-point-in-future | ||
16:29
sirrobert left,
woosley left
|
|||
japhb | ++moritz # Thank you! | 16:29 | |
16:29
Vlavv` left
|
|||
japhb | & | 16:29 | |
jnthn | Aww, dang. The few remaining test fails actually matter for the bootstrap... | 16:30 | |
16:32
tokuhirom left,
tokuhirom joined
|
|||
masak | I should probably make a robust topo module with (opt-in) cycle detection. it's not like it's hard or anything. | 16:36 | |
in fact, I wanted to spend the summer doing fun things with graphs and other data structures. | |||
16:37
b1rkh0ff joined,
tokuhirom left
16:41
Vlavv` joined
16:54
dakkar left
16:57
aesundstrom joined,
tyatpi joined
16:58
tyatpi left
17:01
tyatpi joined
|
|||
moritz | japhb: the spec link you gave at irclog.perlgeek.de/perl6/2012-05-25#i_5637180 seems to be wrong (it talks about junctive operators, not rats :-) | 17:05 | |
aesundstrom | r: say $0; say $*0 | ||
p6eval | rakudo 5274a3: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/o2ij7xy5Qy:1» | ||
moritz | r: say '2+3i'.Numeric.perl | 17:07 | |
p6eval | rakudo 5274a3: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "2+3i", pos => 1, reason => "trailing characters after number"))» | ||
japhb | moritz, bah, That was supposed to be S02, not S03. | 17:09 | |
I had an odd feeling I would do that. :-/ | |||
moritz, Yeah, complex is NYI. It was on my short list -- approximately when I ran out of tuits. | 17:10 | ||
I will try to find some cycles for that again. :-) | |||
masak | r: my %deps = <shoes socks trousers shoes sweater shirt belt trousers>; sub toposort(%deps) { my @order; my %s; sub visit($k) { return if %s{$k} // 0 >= 1; %s{$k} = 1; visit .value for %deps.grep(*.key === $k); @order.push($k) unless %s{$k} == 2; %s{$k} = 2 }; visit .key for %deps; @order }; .say for toposort %deps | 17:11 | |
p6eval | rakudo 5274a3: OUTPUT«socksshoestrousersshirtsweaterbelt» | ||
masak | toposort isn't harder than that. | ||
geekosaur thought complex wasn't supposed to work without a pragma anyway... | |||
masak | complex works without a pragma. | 17:12 | |
but you have to intentionally show you want to make a complex calculation. | |||
dalek | p/qbootstrap: 5b5063b | jnthn++ | src/PASTRegex.pir: PASTRegex module needs to take care of exporting PAST namespace now that NQPRegex is going away. |
17:17 | |
p/qbootstrap: 191ac25 | jnthn++ | src/NQPQ/Compiler.pm: Be sure that we still always have the PAST stuff available for the moment. |
|||
p/qbootstrap: 30c0341 | jnthn++ | src/QRegex/NFA.nqp: Refactor/harden the rulename existence check in mergesubrules. |
|||
p/qbootstrap: 49ef826 | jnthn++ | src/NQPQ/Grammar.pm: Workaround for <?{ ... }> parsing issue; should be able to clear this up post-bootstrap, when only the new NFA implementation of LTM need care. This gets all tests passing in t/nqp again. |
|||
17:20
stepnem left
17:23
birdwindupbird joined
|
|||
diakopter | lol perl coke | 17:25 | |
masak | diakopter: "perl coke"? | 17:26 | |
jnthn | See backlog :) | ||
masak | haha :) | 17:27 | |
jnthn | Milestone. Can haz. | 17:31 | |
dalek | p/qbootstrap: d18b0c4 | jnthn++ | / (11 files): Update the bootstrap, using the QRegex engine. This eliminates the dependency on the old PIR-based regex engine. |
||
p/qbootstrap: 4fd22b2 | jnthn++ | t/nqp/29-make.t: Update a test that used the old regex engine's Match object. |
|||
p/qbootstrap: 5a14467 | jnthn++ | src/stage0/ (8 files): Go around the bootstrap loop once more, to (hopefully) fully eliminate mentions of the old NQPRegex library. Things work, aside from a regex interpolation issue that needs looking in to (and that was broken last time around too). |
|||
17:32
stepnem joined
|
|||
moritz | don't all the regex tests depend on regex interpolation? | 17:33 | |
jnthn | moritz: Yes. | ||
moritz: Well, the ones in t/qregex | |||
moritz: It's a "need PAST::Block available somewhere it currently ain't" style issue. | 17:34 | ||
Shouldn't be anything deep. | |||
moritz | good | 17:35 | |
jnthn | Not to mention that, if the regex engine was actually busted, it'd be rather struggling to compile itself ;) | ||
Well, parse itself, I should say. | 17:36 | ||
17:36
PacoAir left
|
|||
moritz | I'm aware of that :-) | 17:37 | |
jnthn is pretty glad to be at this point, though :) | |||
17:39
spider-mario joined
|
|||
masak | \o/ | 17:39 | |
moritz | jnthn++ | ||
moritz should configure irrsi to have shift+tab autocomplete to <nick>++ | 17:40 | ||
jnthn | Plan from here: clean up all the dupe stuff, toss unused things, fix that interpolation issue, go back and re-do something I did in a way that's slow to get us to this point. | ||
17:42
vinian left
|
|||
PerlJam | jnthn: and then ... make it awesome! ;) | 17:43 | |
jnthn | Indeed :) | 17:44 | |
moritz | and then make rakudo use it | ||
jnthn | Right. :) | ||
Currently it fails when compiling Pod.pm | 17:46 | ||
But that's a ** => % fix. | |||
sisar | www.programmersheaven.com/2/Perl6-F...on#modules --> "The name of a language followed by a single colon is the general syntax for using a module from another language, and in the future, with the Parrot VM, it should be possible to name various languages there." Is it true ? There are plans for such functionality? | 17:47 | |
dalek | p/qbootstrap: 4b5e511 | jnthn++ | tools/build/Makefile.in: Start to clear up the Makefile, removing things we no longer use. |
17:48 | |
p/qbootstrap: 2fb39d8 | jnthn++ | src/Regex (10 files): Remove most of the old Regex engine; a constants.pir is still referenced, but everything else goes. |
|||
p/qbootstrap: 1fa3e21 | jnthn++ | / (4 files): Remove the old PIR-based regex compiler. |
|||
17:48
japhb left
|
|||
sisar | Actually using modules from other languages looks quite a few years into the future... | 17:49 | |
PerlJam | sisar: Just grok the long now and it'll look like it's happening "now" :) | ||
sisar | no seriously, are there plans for that ? | 17:50 | |
jnthn | Well, at the very least for using Perl 5 modules. | 17:53 | |
17:53
kubrat left
17:54
Chillance joined,
PacoAir joined
17:55
sergot left
17:56
mucker joined
|
|||
dalek | p/qbootstrap: fea45a0 | jnthn++ | / (9 files): Collapse QHLL back into HLL. |
17:57 | |
p/qbootstrap: a57eda0 | jnthn++ | / (9 files): Collapse NQPQ back into NQP. |
|||
geekosaur | sisar: as I understand it, that is an eventual design goal for Parrot which rakudo should be able to use once it appears. But, at present it's not looking like Parrot will get it any time soon | 17:59 | |
dalek | kudo/world-rethrow: f211159 | moritz++ | src/Perl6/World.pm: [World] refactor exception handling and rethrowing into a separate method |
18:00 | |
kudo/world-rethrow: 6d6e154 | moritz++ | src/Perl6/World.pm: oops, fix method name |
|||
jnthn | nqp: say('a,b' ~~ /\w ** ','/) | 18:05 | |
p6eval | nqp: OUTPUT«a,b» | ||
jnthn | nqp: say('a' ~~ /\w ** ','/) | ||
p6eval | nqp: OUTPUT«a» | ||
jnthn | nqp: say('' ~~ /\w ** ','/) | ||
p6eval | nqp: OUTPUT«» | ||
jnthn | nqp: say(('a' ~~ /\w ** ',').Bool/) | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "say(('a' ~"current instr.: 'nqp;HLL;Grammar;panic' pc 22101 (src/stage2/gen/NQPHLL.pir:7077) (src/stage2/gen/NQPHLL.pm:329)» | ||
moritz | it's equivalent to \w+ % ',' | ||
jnthn | ah, + | ||
thanks :) | 18:06 | ||
moritz | you're welcome | ||
are you looking at Pod.pm? :-) | |||
jnthn | Wanted to check it wasn't * | ||
yeah | |||
cognominal_ | trhowing worlds, moritz and jnthn indulges in their demiurgic tendancies. | ||
18:06
DreamingInCode joined
|
|||
moritz | throwing worlds is fun! | 18:06 | |
geekosaur | whirling worlds? | 18:07 | |
gfldex | being able to throw them in a requirement for world domination after all | ||
18:07
japhb joined
|
|||
dalek | kudo/qbootstrap: 436e5de | jnthn++ | src/Perl6/Pod.pm: Update Pod.pm to new sep syntax. Now NQP on qbootstrap can compile it. |
18:07 | |
jnthn | Next up will be Grammar.pm. Which tells me, "ICU not loaded" right off | 18:08 | |
moritz | what the world-rethrow branch is doing is catching exceptions from within the metamodel, stick file and line numbers into it and rethrow the exception | 18:09 | |
jnthn | oh, because loading wrong library and crappy error reporting... | ||
moritz: Sounds sane enough. | |||
moritz: People are gonna write custom meta-objects so better not to give everybody the burden here. | 18:10 | ||
moritz | jnthn: we've discussed that two weeks ago | ||
jnthn | moritz: Did I think it was sane two weeks ago? ;) | ||
moritz | jnthn: yes :-) | ||
sorear | good * #perl6 | 18:11 | |
gfldex | the more linenumer the better | ||
cognominal_ | yea! | 18:13 | |
18:14
zby_home_ joined
|
|||
jnthn | o/ sorear | 18:15 | |
dalek | kudo/qbootstrap: a4ff26a | jnthn++ | src/Perl6/Grammar.pm: Load the QRegex version of P6Regex. Now we at least start compiling Grammar.pm. |
||
kudo/qbootstrap: 2fabe67 | jnthn++ | src/Perl6/Grammar.pm: Update ** usage to % in Grammar.pm; now we survive building it at least. |
|||
kudo/qbootstrap: e375fc3 | jnthn++ | src/Perl6/ (3 files): Few more 'use' statement updates; we now get all the way to trying to build main.nqp before failing. |
|||
kudo/nom: c663f0f | moritz++ | src/ (2 files): provide file and line number for method redeclaration errors |
18:16 | ||
kudo/nom: f211159 | moritz++ | src/Perl6/World.pm: [World] refactor exception handling and rethrowing into a separate method |
|||
kudo/nom: 6d6e154 | moritz++ | src/Perl6/World.pm: oops, fix method name |
|||
kudo/nom: ecf355f | moritz++ | src/ (2 files): Merge branch 'world-rethrow' into nom |
|||
kudo/nom: 4904b02 | moritz++ | docs/ChangeLog: note exception stuff in ChangeLog |
|||
pmichaud | wow, lots of good work on qbootstrap! jnthn++ | 18:17 | |
phenny | pmichaud: 22 May 15:34Z <TimToady> tell pmichaud I feel pretty strongly, but I think I don't want as much as you guys think I want. You can read a file that is growing, and it only matters when you hit the current end, no the end when you started. Buffering is fine, snapshotting existing elements is fine. Just go back and see if it has grown when you hit the end. | ||
pmichaud: 22 May 15:38Z <TimToady> tell pmichaud It's only one extra check for any array that hasn't grown. Arrays and lists can both be defined lazily; the issue isn't immutability here, but policy toward changing your mind; the API disallows it with a list, but changing existing elements of an iterating array is merely erroneous. | |||
pmichaud: 22 May 15:48Z <TimToady> tell pmichaud I think this is an area where a tagmemic "you can use an array as a list" is warranted; it's a relatively cheap check; it enables a bit more cargo-cult learning (a Perl feature, you'll recall); and it preserves the abstract idea of the array's identity longer | |||
moritz | \o pmichaud | 18:18 | |
pmichaud | It's going to take me a bit of time to digest that. | ||
japhb | o/ | 18:19 | |
pmichaud | "See if it's grown when you hit the end" isn't really how list iterators current work, I don't think. They don't keep a reference to the original data structure. | ||
(the array, in this case) | |||
jnthn | o/, pmichaud | 18:20 | |
pmichaud | well, maybe they do... but keeping track of "has grown" seems a bit weird | ||
japhb | pmichaud, er ... isn't what he's asking for satisfied by doing an extra check when your iterator runs dry? | ||
pmichaud | japhb: only if the iterator has a reference to the original data structure. and the iterator has to know how much was there in the first place | 18:21 | |
moritz | but if the iterator has a reference to the original, you can't do for 1..$large_number { } and garbage-collect the earlier elements | ||
japhb | Ah, because an iterator does not know how many values it has already yielded. | ||
dalek | kudo/qbootstrap: 8810de2 | jnthn++ | src/Perl6/Actions.pm: Make sure we get PAST nodes loaded. This gets us up to trying to compile the setting...which is immediate fail. |
18:22 | |
pmichaud | moritz: well, ranges are different here. we're really dealing with arrays | ||
ranges never produce elements except via iterators | |||
moritz | pmichaud: ah, right | ||
japhb | jnthn++ # Moving the 'fail' front | ||
18:23
mtk left
|
|||
PerlJam | To add something to the end of an array, do you need to reify all of the elements to that point? | 18:25 | |
pmichaud | PerlJam: for .push, yes. | ||
in the case of | 18:26 | ||
PerlJam | how about other than .push ? | ||
pmichaud | .plan doesn't require reification -- it's a lazy push | ||
if you add an element to @a[$n], then all of the elements up to (and including) index $n are reified | |||
PerlJam | Is there a lazy splice? | ||
pmichaud | .splice is (can be) lazy, yes | 18:27 | |
splice occurs after reifying the first $offset+$length elements | |||
the problem is with something like: | |||
18:27
mtk joined
|
|||
pmichaud | my @a = 'a'..'f'; for @a { @a.push(1); .say } | 18:27 | |
at the time the iterator is created for @a, @a is already fully reified. It has no active lazy component. | 18:28 | ||
And the iterator that gets created isn't actually tied to @a (because @a is already fully reified, it has no need for an iterator to populate its additional elements) | |||
dalek | kudo/qbootstrap: 55c9f1c | jnthn++ | src/Perl6/ (2 files): Update some references to the old regex engine's Cursor and Match types. Now we make a bit of progress with parsing CORE.setting (up to line 106). |
18:30 | |
pmichaud | now then, we could have an intermediate or temporary iterator created for @a in this case that checks somehow to see if @a has "grown" | 18:31 | |
sorear | hmm, it seems to me that even identifying *if* a list has grown is computationally intractible, unless the list maintains special housekeeping data | ||
18:31
Khisanth left
|
|||
sorear | if a list has unreified elements, but the final state is completely reified, then simply by querying the initial and final states, there is no way to establish if .plan was called in the middle | 18:31 | |
18:32
skyheights joined
|
|||
sorear | tangent: my biggest gripe with the current list iterator model is that for @biglist { last; } takes \Theta(n) time | 18:33 | |
pmichaud | huh? | ||
jnthn | The munch thing. | 18:34 | |
masak | pmichaud! \o/ | ||
pmichaud | I declared that to be wrong at the beginning. That's not the model, it's a misimplementation. | ||
jnthn | Right. | ||
sorear | jnthn: can you clarify on 'the munch thing'? | 18:35 | |
pmichaud | this line | ||
$count = $n.Int; $!list.gimme($argc * $count); | |||
is WRONG | 18:36 | ||
as is | |||
my $munched := $!list.munch($argc * $count); | |||
that's a mis-optimization trying to work around the fact that .munch is slower than it ought to be in the current implementation | 18:37 | ||
sorear | pmichaud: I am referring to List.pm lines 122 and 63 | ||
every time you start iterating a list, nqp::clone($!items) is called | 18:38 | ||
now tell me that nqp::clone on an RPA with 10 million items is fast | |||
erm, that came out wrong | 18:39 | ||
PerlJam | so the iterator that gets created in for @a { ... } is tied to a clone of @a? | ||
pmichaud | not really | ||
it's a clone of the list of @a's reified items | |||
it doesn't actually clone the items themselves | |||
I agree that the line would result in a really big memcpy | 18:40 | ||
PerlJam | And the goal is to preserve iterator immutability? | ||
Why the clone? | |||
pmichaud | because parcels are immutable | ||
and the thing being cloned could change | 18:41 | ||
jnthn | But...what would produce a 10 million item Parcel? | ||
pmichaud | @a[1..10000000] would do it, fwiw. | ||
jnthn | Ah. | 18:42 | |
pmichaud | as would @a[*] on a 10 million element array | ||
jnthn | Oh! For the *result* | ||
Not the range | |||
pmichaud | right | 18:43 | |
sorear | my @a = 1 .. 1e6 ; for 1 .. 1e6 { for @a { last } } # naively, this should take N * 1e6 for some small constant N. Both Rakudo and Niecza actually take 1e12 steps, where a "step" is defined in terms of memcpy's inner loop | ||
jnthn | OK, now I'm less worried :) | ||
18:44
adu left
|
|||
sorear | because 1e6 of the naive steps are actually 1e6-element memcpys | 18:44 | |
jnthn | sorear: Because @a is fully reified due to the assignment? | ||
18:44
birdwindupbird left
|
|||
sorear | jnthn: yes | 18:44 | |
pmichaud | well, the problem that sorear++ points to would actually be a problem with the Iterator.reify approach to doing things, since that returns a Parcel of the already-reified elements of the iteration | 18:45 | |
and it needs to be an immutable structure | |||
18:46
Khisanth joined
|
|||
pmichaud | i.e., we can't have the iterator returning different answers to each reify (that's what "immutable iterators" are all about) | 18:46 | |
sorear | what I just tried yesterday was to change Niecza's list iteration process to the equivalent of gather { loop (my $i = 0; $i < @a.elems; $i++) { take @a[$i] } } | ||
pmichaud | sorear: at any rate, you make an outstanding point; I'll see if I can fold some better answers into my thinking | 18:47 | |
sorear | unfortunately even in C# with a custom iterator type it's far too slow | ||
I think because it has to create so many intermediate objects | |||
jnthn | pmichaud: Should <before ...> be declarative? | 18:49 | |
pmichaud | jnthn: I don't think I've ever gotten a solid answer on that. | 18:50 | |
jnthn | pmichaud: OK. | ||
pmichaud | I've often wanted it to be declarative. | ||
moritz | I though that in <before <foo>> <bar>, the <foo> part is declarative, but the <bar> part isn't anymore | 18:51 | |
18:51
stepnem left
|
|||
moritz | but maybe that's outdated specs | 18:51 | |
pmichaud | oh, sorry, I think I answered the wrong question | ||
I was thinking "declarative" in a different context. | |||
sorear | my understanding concurs with moritz. S05:2701 is relevant | ||
moritz | I'm talking about declarative prefixes that count for LTM | 18:52 | |
pmichaud | right, I was thinking something else. | ||
sorear | The other list tweak I've considered is to replace all the parcels with self-balancing trees, which make cloning instant at the expense of making most of the other operations O(log N) | ||
also, this does nothing to help with sisar++'s problem | 18:53 | ||
pmichaud | one quick-ish optimization would be to re-use the same object for .iterator as long as we can detect that the List hasn't been modified | ||
sisar | :) | ||
pmichaud | that would resolve the 1e6 problem noted above | 18:54 | |
jnthn | pmichaud: Yes, I was asking about LTM :) | ||
18:54
stepnem joined
|
|||
pmichaud | jnthn: <before ...> for LTM purposes requires special handling, as noted by moritz++ and sorear++ | 18:55 | |
jnthn | pmichaud: OK. | ||
[Coke] | jnthn++ | ||
pmichaud | I suspect it can be built into the LTM returned by the .before method | ||
jnthn | "the LTM returned by the"? | 18:56 | |
pmichaud: You mean the argument passed to it? | |||
pmichaud | sorry, NFA | ||
jnthn | Oh | ||
OK :) | |||
sorear | jnthn: niecza treats <before <foo>> as <foo> {} for LTM purposes | 18:57 | |
this leads to an amusing consequence where assertions that are meant to be LTM-transparent are written as <!!{ ... }> | 18:58 | ||
pmichaud | it does make that look very important :-) | ||
sorear | pmichaud: you are proposing something along the lines of copy-on-write parcels? | 18:59 | |
jnthn | oops, I forgot to dinner... | ||
pmichaud | sorear: I don't think that's what I'm proposing. Parcels don't have a "write" | ||
I'm just proposing that List.iterator cache its results, and invalidate the cache whenever something happens that causes the List to change | 19:00 | ||
[Coke] | pmichaud: O/ | ||
pmichaud | [Coke]: o/ | 19:02 | |
...and also to note that reification doesn't have to invalidate the cache :-) | |||
only things like .push, .splice, etc would need to do it. and maybe bind | |||
afk, phone call then kid pickup | 19:03 | ||
jnthn -> shop | 19:04 | ||
19:04
whiteknight joined,
whiteknight is now known as Guest45497
|
|||
sorear | o/ | 19:05 | |
19:09
birdwindupbird joined
|
|||
tadzik | oh, stuff's happening when I'm not looking | 19:12 | |
sorear | o/ tadzik | 19:13 | |
tadzik | sorear: o/ | ||
19:19
[hds] joined
|
|||
masak | tadzik: must be en.wikipedia.org/wiki/Quantum_Zeno_effect :) | 19:26 | |
masak just watched en.wikipedia.org/wiki/Blink_(Doctor_Who) :) | |||
19:28
lichtkind joined,
PacoAir left
19:31
snearch joined,
rurban left
19:32
[hds] left
|
|||
masak | "The amount of patience, perseverance and determination required to make this a successful venture is enormous, but add to that the ridicule and criticism of your peers and it must be extremely difficult." news.ycombinator.com/item?id=4024633 -- made me think of Perl 6. :) | 19:34 | |
19:36
PacoAir joined
19:39
majrmovies joined
19:44
cognominal_ left
19:45
cognominal_ joined
19:50
plobsing left
19:53
plobsing joined
|
|||
colomon | masak: well spotted | 20:03 | |
majrmovies | Would this be the right forum to ask a question about the NativeCall module in Rakudo? I am trying to write a Perl6 module that would interface with libcurl using NativeCall. | 20:08 | |
diakopter | does someone know how to fix this: S32/Scalars and S32/Any are not linked from perlcabal.org/syn but they are mentioned in S29 | ||
20:08
pyrimidine joined
|
|||
moritz | there are no such .pod files in the specs | 20:09 | |
so it might be outdated names | |||
sorear | majrmovies: it would be the right place | 20:10 | |
masak | ...and it's very kind of you to ask first :) | 20:11 | |
majrmovies | Hehe. Well, so far the NativeCall API is AMAZING! I have never programmed any production system in C, but the hooks with Perl6 work great. | 20:13 | |
The challenge I am having is with constants. | |||
In the documentation for Curl (curl.haxx.se/libcurl/c/curl_easy_setopt.html) | |||
This method has two three params, the object, the option (which is a defined constant) and a paramter | 20:14 | ||
I am receiving an error when trying to supply the constant .. | |||
Because it isn't looking for a Str/Int, it is looking for a C-defined constant .. which the NativeCall module does not appear to support this data type | 20:15 | ||
masak | right. | ||
chances are it doesn't. | |||
jnthn++ is occupied presently, but he'll be here soon, I bet. | |||
he'll be able to reply better. | |||
majrmovies | Well, that was easy. I'm not crazy, it just isn't supported. | ||
Oh great. Thanks for your hlpe. | 20:16 | ||
help* | |||
masak | well, it's a preliminary answer. I'm not that deep into NativeCall | 20:18 | |
but I haven't hear people talk a lot about constants, so chances are it's still on the TODO list or something. | |||
majrmovies | I checked the current TODO on github and it wasn't there .. but maybe its easier to implement then some of these other components. Heck, maybe I could contribute to the "Awesome Documentation" TODO if he builds that in. | 20:19 | |
masak | oh, please do. | ||
github should make it easy to contribute a line to the TODO. | |||
majrmovies | Oh .. good point. | 20:20 | |
jnthn | ooh, yes I know something about NativeCall :) | 20:21 | |
jnthn reads the question | |||
[Coke] | jnthn: Only because you built it out of beer. | ||
20:21
fibo joined
|
|||
PerlJam | CURLoption is an enum looks like. | 20:22 | |
majrmovies | PerlJam: Yep | ||
PerlJam | majrmovies: so you should be able to use an enum in Perl6-land I think. | ||
Just like in SQLite.pm6 | |||
jnthn | Yes, you should be able to make this work | 20:23 | |
masak | ooh, suddenly lots of people with actually a clue. :) | ||
majrmovies | Wha!? | ||
moritz | I think a C enum just desugars to the integers used to define it | ||
jnthn | C enumerations and constants are really just sugar for instances. | ||
majrmovies | <- so excited | ||
jnthn | gah | ||
*just sugar for integers | |||
So you can get away with using int in the argument type | |||
20:23
zby_home_ left
|
|||
moritz | you can just printf("%d\n", . | 20:23 | |
CURLOPT_WRITEDATA ); | 20:24 | ||
in C | |||
and see what the result is | |||
jnthn | *nod* | ||
moritz | and use that integer in Perl 6 | ||
jnthn | Well, the header file must be somewhere...I bet it could be transcribed into constants in Perl 6. | ||
PerlJam | or just look in /usr/include/curl/curl.h :-) | ||
majrmovies | I tried passing the integer directly, but that didn't work. | ||
moritz | majrmovies: how did it not work? | ||
[Coke] | do we have something that will parse header files and create p6 enums? (like parrot does for PIR constants) | 20:25 | |
PerlJam | majrmovies: show your code? | ||
fibo | is it planned a porting of Mojo framework on Perl6 ? | ||
majrmovies | PerlJam: Sure, let me grab my other laptop | ||
moritz | fibo: yes-ish | ||
PerlJam | fibo: sri mentioned it a couple of times. | ||
fibo: in the mean-time there's Bailador (a Dancer-a-like) | |||
masak | fibo: why you ask, you want to do web programming in Perl 6? | 20:26 | |
fibo | great, I have an experimental Mojolicious app, an IDE for node visual programming and it would be wonderful to use Perl6 | ||
but can I install Perl6 from CPAN ? | 20:27 | ||
moritz | no | ||
20:27
cognominal___ joined
|
|||
sisar | New page: wiki.perl6.org/module. Should be good enuf for beginners. Comments welcome. | 20:27 | |
dalek | p/toqast: 9e3e240 | masak++ | / (2 files): [QAST::Block] implement .symbol |
||
jnthn | Yes, CURLoption is the world's biggest enum. :) | 20:28 | |
jnthn just found the .h file :) | |||
majrmovies | Code: pastebin.com/6N6xpjtV | 20:30 | |
Its very rough ... and I am working on Mac (hence the strange path to the library) | |||
20:30
cognominal_ left
|
|||
jnthn | Oh, I see what you're trying | 20:30 | |
sub curl_easy_setopt( OpaquePointer $curl, Str $option, Str $param) | 20:31 | ||
That won't work out - here you are passing a string, which will actually be turned into a char* to be passed to C, which means it's a pointer and you're basically passing junk :) | |||
20:31
skyheights_ joined
|
|||
jnthn | Instead it needs to be Int $option | 20:31 | |
And then you define a | 20:32 | ||
majrmovies | jnthn: As soon as you pointed it out, I tried it, and it worked. | ||
*facepalm | |||
jnthn | :) | ||
majrmovies | But now the best news: I can keep working on this module, play with testing in Perl6, and then throw it on Github!! | ||
PerlJam | majrmovies: what's this "maybe" business?!? ;) | 20:33 | |
20:33
skyheights left
|
|||
moritz | star: use NativeCall; sub _exit(Int) is native { * }; _exit; say 'still here'; | 20:33 | |
p6eval | star 2012.05: OUTPUT«===SORRY!===CHECK FAILED:Calling '_exit' will never work with no arguments (line 1) Expected: :(Int )» | ||
20:33
skyheights_ is now known as skyheights
|
|||
PerlJam | oh, there is no maybe | 20:33 | |
moritz | star: use NativeCall; sub _exit(Int) is native { * }; _exit(0); say 'still here'; | ||
p6eval | star 2012.05: ( no output ) | ||
PerlJam read stuff that wasn't there (curious) | |||
moritz | you can call C functions from p6eval. That's scary. | ||
diakopter | hee | ||
20:34
skyheights left
|
|||
diakopter | that should probably be un-safed | 20:34 | |
moritz | well, it requires quite some knowledge to exploit | 20:35 | |
we also allow pir:: and nqp:: opcodes | |||
and we have backups :-) | |||
well, I hope we do. Juerd knows :-) | 20:36 | ||
20:36
kresike joined
|
|||
kresike | evening all | 20:36 | |
20:36
MayDaniel joined
|
|||
jnthn | o/ kresike | 20:38 | |
kresike | o/ jnthn | ||
Juerd | We have backups. Restoring backups is annoying work. | 20:45 | |
masak | kresike! \o/ | ||
aesundstrom | r: my @foo = { ix -> $n { sub ($a,$b) { ($a+$b)*$n } } } ... *; say @foo[2](3,5); say @foo[1](3,5); say @foo[0](3,5); sub ix(&block) { state $p = -1; $p++; &block($p) } | ||
p6eval | rakudo 4904b0: OUTPUT«1680» | ||
aesundstrom | masak++ (you rock) | 20:46 | |
masak | aesundstrom++ has had a session with me about the need for a macro. | ||
turns out a sub was enough. :) this seems to be a regular theme in Perl 6. | |||
aesundstrom: now, the 'ix' sub is a bit "dirty". it has global state. use at your own risk. | 20:47 | ||
dalek | p/toqast: b0b24cf | masak++ | / (2 files): [QAST::Block] only create hashes when .symbol sets When the getter variant of .symbol is used, it now returns an undefined value, rather than autovivify a hash for it. |
20:49 | |
20:51
thou left
|
|||
jnthn | Just tracked down the latest parsing issue with CORE.setting in rakudo/qbootstrap. The good news is that we're getting a whole 1000 lines into it before hitting a failure, though. | 20:51 | |
masak | yay | ||
jnthn had feared worse | |||
tadzik | woot | 20:52 | |
niice | |||
good stuff happens when I'm not looking | |||
tadzik turns away | |||
aesundstrom | r: my @foo = { ix -> $n { sub ($a,$b) { ($a+$b)*$n } } } ... *; my @bar = { ix -> $n { sub ($a,$b) { ($a-$b)*$n } } } ... *; say @foo[2](3,5); say @foo[1](3,5); say @foo[0](3,5); say @bar[2](3,5); say @bar[1](3,5); say @bar[0](3,5); sub ix(&block) { state $p = -1; $p++; &block($p) } | ||
p6eval | rakudo 4904b0: OUTPUT«1680-10-8-6» | ||
20:55
shinobicl joined
|
|||
diakopter | aesundstrom: in case you weren't aware, you can put your code into a github gist, and give p6eval the gist url to run it | 20:55 | |
shinobicl | Hello | ||
masak | shinobicl! \o/ | ||
shinobicl | i have this simple class to support a "scheduling" system i'm working on | 20:56 | |
aesundstrom | diakopter: I didn't know that. How do I put my code into a github gist? | ||
shinobicl | github.com/shinobi/TaskScheduler/b...meOfDay.pm | ||
kresike | masak, o/ | ||
diakopter | aesundstrom: go to gist.github.com/ and paste it :) | ||
and click create public gist | |||
shinobicl | the idea is that you can add seconds to a certain time, and get the time from that, independently from a date | 20:57 | |
aesundstrom | diakopter: Thanks! | ||
sorear | diakopter, does it work with private gists? | ||
shinobicl | but it seems too simple, so i was wondering if i can get some advice of how to improve it | ||
so i can make it more generic or simply more useful | |||
masak | sorear: should do. | 20:58 | |
sorear: private gists are only private insofar as the URLs being hard to guess. | |||
shinobicl | so i can upload it to modeules.perl6.org | ||
masak | has Sexagesic $.s is ro = 0; | 21:00 | |
shinobicl: this doesn't take into account leap seconds, which are 0..61 | |||
aesundstrom | r: git://gist.github.com/2790514.git | ||
p6eval | rakudo 4904b0: OUTPUT«===SORRY!===Confusedat /tmp/_NBnlBB01N:1» | ||
diakopter | heh | ||
shinobicl | leap seconds? | ||
diakopter | r: gist.github.com/2790514 | 21:01 | |
shinobicl | ok the idea is to have this, independent from a specific date | ||
p6eval | rakudo 4904b0: OUTPUT«1680-10True-8-6» | ||
aesundstrom | thanks | ||
shinobicl | so, for example, if you have the time "12:59" and you add 120 seconds you'll get "00.01" and the "day_offset" in 1 (meaning that is the next day) | ||
aesundstrom | r: gist.github.com/2790514.git | 21:02 | |
p6eval | rakudo 4904b0: OUTPUT«===SORRY!===Confusedat /tmp/SsR15Dijxg:1» | ||
shinobicl | sorry, i meant "00:01" | ||
sorear | masak: The Frobenius Automorphism is quite simple imo. | ||
21:02
Guest45497 left
|
|||
shinobicl | ahhh sorry... i meant "23:59" not "12:59" | 21:03 | |
sisar | sorear: re your summer plans for Niecza, any plan for S09 ? | 21:04 | |
sorear | S09 is too much for me to think about all at once. | 21:05 | |
masak | sorear: are you reading twitter? | ||
sorear | masak: yes | ||
[Coke] | ALL OF IT!? | ||
21:05
sftp left
|
|||
sisar | sorear: right. | 21:05 | |
PerlJam | aesundstrom: btw, if you install App::Nopaste from CPAN, it makes it real easy to get stuff from your computer to a gist. | ||
masak | sorear: Wikipedia claims it's the "Frobenius endomorphism", and not always an automorphism. | 21:06 | |
[Coke] | jeez. chromatic is going to make me lose my cool. | ||
[Coke] supposes he'll just have to take a deep breath. | |||
PerlJam | [Coke]: what now? | ||
aesundstrom | PerlJam: Thanks for the tip; I'll have a look. | ||
[Coke] | PerlJam: No point in sharing. will just annoy others. | 21:08 | |
PerlJam | [Coke]: in that case ... ignorance is bliss :) | 21:09 | |
aesundstrom | r: gist.github.com/2790586 | 21:11 | |
p6eval | rakudo 4904b0: OUTPUT«210210» | ||
21:12
birdwindupbird left
21:21
sftp joined
|
|||
dalek | kudo/qbootstrap: ffe62f6 | jnthn++ | src/Perl6/Grammar.pm: Remove a check we hopefully don't need with proper LTM, and that prevented circumfix from getting its proper declarative prefix. |
21:21 | |
kudo/qbootstrap: 2dc246d | jnthn++ | src/Perl6/Grammar.pm: Fix copyO for new regex engine. Gets us to just past line 1400. |
|||
jnthn | r: say '()' ~~ /<?[ ) \] } ]>/ | 21:24 | |
p6eval | rakudo 4904b0: OUTPUT«q[)]» | ||
jnthn | wtbh | ||
Isn't that meant to be zero-width? | 21:25 | ||
p6: say '()' ~~ /<?[ ) \] } ]>/ | |||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
..niecza v17-28-gad2d70a: OUTPUT«#<match from(1) to(1) text() pos([].list) named({}.hash)>» | |||
..rakudo 4904b0: OUTPUT«q[)]» | |||
jnthn | r: say '()' ~~ /<?before <[ ) \] } ]> >/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
21:26
majrmovies left
|
|||
jnthn | r: say '()' ~~ /<?[)\]}]>/ | 21:26 | |
p6eval | rakudo 4904b0: OUTPUT«q[)]» | ||
jnthn | r: say '()' ~~ /<![)\]}]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[)]» | ||
jnthn | r: say 'a' ~~ /<?[a]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
jnthn | r: say 'ba' ~~ /<?[a]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
jnthn | r: say '()' ~~ /<?[(]>/ | 21:27 | |
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
jnthn | r: say '()' ~~ /<?[)]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
jnthn | r: say '()' ~~ /<?[)\]]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[)]» | ||
jnthn | r: say '()' ~~ /<?[)}]>/ | ||
p6eval | rakudo 4904b0: OUTPUT«q[]» | ||
masak | jnthn: \ doesn't work? | 21:30 | |
hm, no. that doesn't quite explain it. | |||
jnthn | Looking at what it's compiling to doesn't quite explain it either... | ||
masak | but there's something there about \] that doesn't make sense... | 21:31 | |
jnthn | It's somehow turning into an alternation. | ||
[Coke] | look buddy, I don't want an alternation here. | ||
21:32
kresike left
|
|||
masak | :P | 21:32 | |
21:34
snearch left
|
|||
aesundstrom | r: gist.github.com/2790753 | 21:37 | |
p6eval | rakudo 4904b0: OUTPUT«===SORRY!===Macro did not return AST at line 2, near " -> $n { {"» | ||
21:44
stephenlb joined
|
|||
masak | yeah. textual macros NYI. | 21:44 | |
someone more gullible than me will have to implement them :P | 21:45 | ||
21:45
kresike joined,
alester left
|
|||
sorear | if you go back to march '10 or so there's my text macro branch :p | 21:50 | |
masak | rightrightright | ||
and Pugs has had 'em for ages. | |||
22:03
SatoAmbush joined
22:07
kresike left
|
|||
diakopter | phenny: ask TimToady S09 says my Str %hash{Str; Int where {!.scared}}; is ok, but std doesn't like it; please advise | 22:07 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
22:08
aesundstrom left,
SHODAN left,
SHODAN joined
22:13
MayDaniel left
|
|||
dalek | kudo/qbootstrap: 137b998 | jnthn++ | src/Perl6/Grammar.pm: Avoid issue with <?[ ) \] ]> generating non-zerowidth matching. Gets us well beyond line 3000. |
22:13 | |
22:14
SatoAmbush left
|
|||
masak | 'night, #perl6 | 22:19 | |
cognominal___ | r: say [ "private cloud", "overpaid cult" ]>>.split('').sort.perl | 22:25 | |
p6eval | rakudo 4904b0: OUTPUT«(" ", " ", "a", "a", "c", "c", "d", "d", "e", "e", "i", "i", "l", "l", "o", "o", "p", "p", "r", "r", "t", "t", "u", "u", "v", "v")» | ||
cognominal___ | I would like an equivalent instruction so that I can do : | 22:26 | |
r: [eq] [ "private cloud", "overpaid cult" ]>>.split('').sort | |||
p6eval | rakudo 4904b0: ( no output ) | ||
cognominal___ | s/equivalent/similar/ | ||
without explicit loop. | |||
22:26
cognominal___ is now known as cognominal
|
|||
diakopter | sigh p6l | 22:27 | |
cognominal | in other words, I would like the sort ot to flatten the parcel resulting from the split. | 22:28 | |
*not to | 22:29 | ||
jnthn | r: say [ "private cloud", "overpaid cult" ]>>.split('')>>.sort.perl | 22:30 | |
p6eval | rakudo 4904b0: OUTPUT«(("p",), ("r",), ("i",), ("v",), ("a",), ("t",), ("e",), (" ",), ("c",), ("l",), ("o",), ("u",), ("d",), ("o",), ("v",), ("e",), ("r",), ("p",), ("a",), ("i",), ("d",), (" ",), ("c",), ("u",), ("l",), ("t",))» | ||
jnthn | r: say [ "private cloud", "overpaid cult" ]>>.split('').tree>>.sort.perl | ||
p6eval | rakudo 4904b0: OUTPUT«(("p",), ("r",), ("i",), ("v",), ("a",), ("t",), ("e",), (" ",), ("c",), ("l",), ("o",), ("u",), ("d",), ("o",), ("v",), ("e",), ("r",), ("p",), ("a",), ("i",), ("d",), (" ",), ("c",), ("u",), ("l",), ("t",))» | ||
jnthn | r: say [ "private cloud", "overpaid cult" ]>>.split('').tree.perl | ||
p6eval | rakudo 4904b0: OUTPUT«("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d", "o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list» | ||
jnthn | ah | ||
22:30
fibo left
|
|||
jnthn | r: say [ "private cloud", "overpaid cult" ]>>.split('').perl | 22:31 | |
p6eval | rakudo 4904b0: OUTPUT«(("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d").list, ("o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list)» | ||
cognominal | is there a way to thead an operation into a parcel? | 22:32 | |
22:32
fibo joined
|
|||
cognominal | *thread | 22:32 | |
22:33
fibo left
|
|||
cognominal | r: say [ "private cloud", "overpaid cult" ]>>.split('').sort.perl | 22:35 | |
p6eval | rakudo 4904b0: OUTPUT«(" ", " ", "a", "a", "c", "c", "d", "d", "e", "e", "i", "i", "l", "l", "o", "o", "p", "p", "r", "r", "t", "t", "u", "u", "v", "v")» | ||
cognominal | r: say [ "private cloud", "overpaid cult" ]>>.split('').perl | ||
p6eval | rakudo 4904b0: OUTPUT«(("p", "r", "i", "v", "a", "t", "e", " ", "c", "l", "o", "u", "d").list, ("o", "v", "e", "r", "p", "a", "i", "d", " ", "c", "u", "l", "t").list)» | ||
cognominal | r: say [ "private cloud", "overpaid cult" ]>>.split.perl | 22:36 | |
p6eval | rakudo 4904b0: OUTPUT«Cannot call 'split'; none of these signatures match::(Str:D , Regex $pat, $limit = { ... }, :all(:$all), Mu *%_):(Str:D , Cool $delimiter, $limit = { ... }, :all(:$all), Mu *%_):(Cool , Regex $pat, $limit = { ... }, :all(:$all), Mu *%_):(Cool , Cool $pat, $limi… | ||
mucker | doubts you have, young padawan.lead to confusion, doubts. leads to misery, confusion. do and eval. clear confusion. clarity attain. calm, you must seek. | ||
mucker lame | 22:37 | ||
sorear | cognominal: non-flatness in parcels is supposed to be ignored by nearly all operations | 22:38 | |
cognominal: so the fact that you want to flatten a parcel suggests there's a bug elsewhere in the system | |||
22:40
shinobicl left
|
|||
cognominal | in fact, I want the opposite, exploit the non flat stucture of the parcel. Apparently I use the wrong tool | 22:40 | |
may be .lol will help | 22:43 | ||
sorear | r: say map { sort comb $_ }, ['private cloud', 'overpayed cult'] | ||
p6eval | rakudo 4904b0: OUTPUT«Cannot call 'comb'; none of these signatures match::(Regex $matcher, Cool $input, $limit = { ... }) in block <anon> at /tmp/bgqJ5M6EDA:1» | ||
sorear | r: say map *.comb.sort, ['private cloud', 'overpayed cult'] | ||
p6eval | rakudo 4904b0: OUTPUT« a a c c d d e e e i l l o o p p r r t t u u v v y» | ||
sorear | r: say map *.comb.sort, 'private cloud', 'overpayed cult' | ||
p6eval | rakudo 4904b0: OUTPUT« a c d e i l o p r t u v a c d e e l o p r t u v y» | ||
sorear | r: say (map *.comb.sort, 'private cloud', 'overpayed cult').perl | 22:44 | |
p6eval | rakudo 4904b0: OUTPUT«((" ", "a", "c", "d", "e", "i", "l", "o", "p", "r", "t", "u", "v"), (" ", "a", "c", "d", "e", "e", "l", "o", "p", "r", "t", "u", "v", "y")).list» | ||
22:44
bluescreen10 joined
22:46
sisar left
22:47
sisar joined
|
|||
dalek | p/qbootstrap: 30b8951 | jnthn++ | src/QRegex/ (2 files): Special-case <before ...> to be declarative for LTM purposes. Fixes reduction parsing (and maybe other things) in Rakudo on qbootstrap. |
22:49 | |
22:51
sisar left
|
|||
jnthn | It must be time for a beer by now... | 22:51 | |
22:52
wolfman2000 joined
|
|||
cognominal | jnthn, you well deserve it. | 22:53 | |
jnthn chooses a rauchbier | 22:55 | ||
dalek | kudo/qbootstrap: 5b42a4c | jnthn++ | src/Perl6/Grammar.pm: Some more copyO and copyOPER fixing. With this and the <before ...> patch in NQP we now get up to line 9976 in CORE.setting. |
22:57 | |
jnthn | std: class A { ... } | 22:59 | |
p6eval | std 8632387: OUTPUT«ok 00:00 40m» | ||
jnthn | std: class A { ...} | ||
p6eval | std 8632387: OUTPUT«ok 00:00 40m» | ||
jnthn | n: class A { ...} | ||
p6eval | niecza v17-28-gad2d70a: OUTPUT«===SORRY!===Package was stubbed but not defined at /tmp/JtorZ4hdp7 line 1:------> class⏏ A { ...}Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3)  at /home/p6e… | ||
23:02
sisar joined,
shinobicl joined
23:05
b1rkh0ff left
23:08
[particle]1 joined
23:10
[particle] left
23:31
shinobicl left
23:33
spider-mario left
|
|||
japhb | Since it's been a month or so since I last hacked on it, I updated and recompiled all the implementations and ran my existing perl6-bench against it: gist.github.com/2791182 | 23:33 | |
(At the console, that's colorized by how far away from parity with perl5 that a given result is.) | 23:34 | ||
Now to actually hack on all the TODOs. :-) | |||
diakopter | japhb: in addition to the numbers including startup time, it might also be nice to see versions of all the figures with the measurement of the zero operation subtracted (to remove startup time) | 23:37 | |
japhb | diakopter, I'm thinking of making that an option -- whether to include or not. Otherwise, the output will get REALLY cluttered and/or twice as long | 23:38 | |
jnthn | Geez, Rakudo makes a crappy job on rc-forest-fire... | ||
23:39
DreamingInCode left
|
|||
sorear | I would argue startup time is perl6's biggest problem currently | 23:39 | |
japhb makes sure that startup time subtraction option is actually in the TODO. ;-) | |||
dalek | rl6-bench: f01483e | (Geoffrey Broadwell)++ | TODO: Add TODO item for choosing whether to include startup time in benchmark results |
23:40 | |
japhb | jnthn, Note the difference in performance between Rakudo doing the Perl 6 version of rc-forest-fire and the NQP version. | 23:41 | |
(And of nqp doing the NQP version) | 23:42 | ||
jnthn | sorear: Rakudo's startup time is, depending who you ask, about a third of Perl 5 + Moose, fwiw. | 23:43 | |
diakopter | japhb: why both d8 and node? (node uses v8) | ||
japhb | diakopter, I dunno. They get different results, and perlito6.js will only run on d8, but perlito5.js will run on both. Different optimizations, perhaps? | 23:45 | |
jnthn | japhb: Yeah, I noticed that too...I need to profile it some. | ||
23:45
[particle]1 is now known as [particle]
|
|||
dalek | p/qbootstrap: c4cc06a | moritz++ | src/HLL/Compiler.pm: expose parsed command line options and arguments to the user |
23:46 | |
p/qbootstrap: 64c1b3c | moritz++ | src/HLL/Compiler.pm: [HLL::Compiler] expose the program name to the user |
|||
p/qbootstrap: b77e472 | jnthn++ | src/NQP/Grammar.pm: Canonicalize name installed in %*RX<name> properly, so we call the correct action method. |
|||
p/qbootstrap: 62c44da | jnthn++ | src/HLL/Compiler.pm: Merge prog-name handling from master. |
|||
sorear | jnthn: wow, I don't remember moose being *that* bad | ||
japhb | diakopter, maybe fglock++ knows? | ||
jnthn | sorear: I'm going on what masak++ told me | ||
diakopter | perlito6.js must conflict with some global that node installs | 23:48 | |
jnthn | OK, I now have a Rakudo that builds on qbootstrap \o/ | ||
diakopter | O_O | ||
japhb | On my box 'perl6 -e0' takes .45 - .49 seconds, and 'perl -MMoose -e0' takes .27 - .28 seconds | 23:49 | |
jnthn | Lots of spectest fail to investigate. | ||
japhb: Curious. | |||
japhb | jnthn++ # W00t! | ||
sorear | jnthn: are you missing a comma there? | ||
jnthn | Wonder what makes the difference. | ||
sorear: ...where? | |||
sorear | 16:49 < jnthn> Lots of spectest fail to investigate. | ||
jnthn | sorear: er, spectest failures | 23:50 | |
:) | |||
diakopter | heh, fail as a aggregate noun | ||
as in failblog's "see more fail" link | |||
er, "but wait, there's more fail" | |||
jnthn | Apparently, roles are easy to parse, since rakudo/qbootstrap does pass all of S14 :) | 23:51 | |
japhb | jnthn, Oh, the Moose startup time I listed was for hot cache. For cold cache, it was slightly over a second. Maybe that's what masak was talking about? | 23:54 | |
jnthn | japhb: Ah, maybe. | ||
23:55
DreamingInCode joined
|