Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg Set by rodi on 29 September 2006. |
|||
gnuvince | ?eval 1..10:by(2) | 00:01 | |
00:01
evalbot_r13755 is now known as evalbot_r13761
|
|||
evalbot_r13761 | Error: Unexpected ":" expecting "_", fraction, exponent, term postfix, comment, operator, statement modifier, ";" or end of input | 00:01 | |
00:01
dvorak left
00:24
mako132_ joined
00:43
dduncan joined
00:45
dduncan left
00:53
vel joined
00:59
cventers joined,
cventers left,
cventers joined
01:10
cventers joined,
cventers is now known as cventers_
01:11
Salzh joined
01:12
mako132_ joined,
szabgab joined
01:13
cventers_ is now known as cventers
01:14
cventers is now known as cventers__,
cventers__ is now known as cventers[a]
01:16
cventers[a] is now known as cventers__,
cventers__ is now known as cventers_
01:18
cventers_ is now known as cventers
01:19
cventers is now known as cventers_,
cventers_ is now known as cventers__,
cventers__ is now known as cventers[a]
01:20
cventers[a] is now known as cventers
|
|||
TreyHarris | argh... i need to figure out if i can make the perl debugger accept colons before its commands (:x, :q, :R, etc.), or if i can get ghci and Pugs to take just q, etc. i am constantly using colons in perldebug and no colons in pugs and ghci | 01:27 | |
stevan | seen ingy | 01:42 | |
jabbot | stevan: ingy was seen 1 days 8 hours 36 minutes 48 seconds ago | ||
stevan | ingy: pingy | ||
01:59
shobadobs joined
|
|||
audreyt | ingy: can you cut 0.19 of Module::Compile for release? I've committed all neccessary stuff into the kwiki repo that fixed the bug reported by fglock (with tests) | 02:07 | |
lambdabot | audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them. | ||
audreyt | @tell ingy can you cut 0.19 of Module::Compile for release? I've committed all neccessary stuff into the kwiki repo that fixed the bug reported by fglock (with tests) | ||
lambdabot | Consider it noted. | ||
clkao | hi audreyt | 02:09 | |
02:13
buffer joined
02:16
Limbic_Region joined,
ashleyb joined
|
|||
Limbic_Region | salutations all | 02:18 | |
audreyt | @tell lanny the bug was because implicit vars weren't ordered lexographically anymore! | 02:19 | |
lambdabot | Consider it noted. | ||
audreyt | @tell lanny {$^a <=> $^b} were erroneously taking the params in the wrong order. thanks for spotting this before release! | ||
lambdabot | Consider it noted. | ||
audreyt | Limbic_Region: greetings | ||
Limbic_Region | audreyt - there are still a few tests that blow up with the windows error I told you about earlier | 02:20 | |
but that has been going on for some time | |||
I just accepted it | |||
would you like me to run a smoke and give you the exact test names? | |||
audreyt | yes, please | 02:24 | |
Limbic_Region | running now | 02:25 | |
and I still have to delete several tests before smoking as they hang (already hivemindered) | |||
audreyt | k | 02:27 | |
Limbic_Region | what did you think about leo taking a less active role in parrot? | 02:31 | |
audreyt | I don't think about parrot much these days... | 02:33 | |
except when attempting (and failing) to fix embedding | |||
not specific to parrot, though, I think a $job where one can deploy one's active free software proejct is a real plus | 02:34 | ||
even though it may look like a distraction at first | |||
I know that Dan Sugalski (and parrot) benefitted from his deployment of parrot in his prev $job | |||
Limbic_Region | oh definately | ||
audreyt | and jifty/pugs/ghc all benefitted from my day $job | ||
Limbic_Region | I was just thinking that it was a much overdue "break" | 02:35 | |
audreyt | ^C | ||
yeah. although if one's job was utterly unrelated, then the FOSS side may suffer | 02:36 | ||
Limbic_Region | well, that depends on if you are looking at long or short term benefits | ||
being away totally for a while can give you perspective and renewed energy | 02:37 | ||
audreyt | that's true too | ||
Limbic_Region | assuming you come back - you may have more to offer than if you had stayed | ||
audreyt | in any case leo deserves a sabbatical :) | ||
Limbic_Region | yep - that was my thinking though I hope code monkeys step up to fill the gap | 02:38 | |
audreyt | there's certainly a lot of new PDDs to implement recently... | ||
Limbic_Region | yeah, I saw that | ||
going to try to build ghc on cygwin again tomorrow - afraid simon and I are talking past one another | 02:39 | ||
audreyt | oy | ||
#ghc may help | |||
Limbic_Region | it is strangely quiet | ||
audreyt | I've found them really helpful | ||
yeah, it only rises to action when someone raises some bork | |||
TimToady | rehi | ||
Limbic_Region | but I think the issue is that things *should* be getting further along then they are | ||
audreyt | TimToady: greetings! | 02:40 | |
TimToady: quick question. I realized that | |||
Limbic_Region | so I probably need to find out why they aren't before squawkig again | ||
audreyt | 1 < any(@x) 10 | ||
1 < any(@x) < 10 | |||
cannot work the same way as | |||
1 < ($j = any(@x)) < 10 | |||
i.e. the latter has no way to rewrite into a grep | |||
TimToady | whoever is documenting min and max should probably put them near sort and cmp and eqv with similar parameterization | ||
audreyt | and since it's a syntactical rewrite it doesn't matter if it occurs in the first two operand pos or not | 02:41 | |
pasteling | Someone at 220.135.90.73 pasted "S09 patch" (45 lines, 1.6K) at sial.org/pbot/20088 | ||
audreyt | so I patched S09 (see above) to say that | ||
02:42
lanny joined
|
|||
TimToady | somewhere I proposed that that be 1 < those(@x) < 10 instead | 02:42 | |
audreyt | where those() is also syntactic? | ||
TimToady | to make the desire for grep rewrite explicit | ||
Limbic_Region | lanny - did you see TimToady's comment from a minute ago? | ||
audreyt | what do you think about | ||
TimToady | and leave any() alone | ||
audreyt | 1 < list(@x) < 10 | ||
? | |||
TimToady | might work | ||
audreyt | those() doesn't anything in isolation troubles me | ||
TimToady | we're getting dangerously close to list comprehensions here. :) | ||
lanny | Limbic_Region: Missed it. There's always a delay between the logs and logging on through the browser irc | 02:43 | |
lambdabot | lanny: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
Limbic_Region | lanny - [22:41] <TimToady> whoever is documenting min and max should probably put them near sort and cmp and eqv with similar parameterization | ||
I know you worked on sort.t | |||
audreyt | TimToady: we'll just call it "list() comprehension" | ||
TimToady | lanny: was it you asking about min/max? | ||
lanny | Got it. :) | ||
Yes. There's a lot of tests on them and Damian mentioned them in p.p6.lang. | 02:44 | ||
TimToady | audreytā¼ | ||
svnbot6 | r13762 | audreyt++ | * Fix extraction of {$^a+$^b} so it's sorted lexographically | ||
r13762 | audreyt++ | again. (It was erroneously sorting with internal IDs.) | |||
r13762 | audreyt++ | lanny++ for noticing this. | |||
lanny | Wasn't sure about just going in to Functions.pod and fixing up whatever I thought was out of whack though. I'll do the needful. | ||
audreyt | TimToady?? | ||
TimToady | if something's missing, better to whack it in somewhere--can always be moved later. | 02:45 | |
audreyt: was just commenting on your list() comprehensible remark | |||
lanny | I noticed it but the tests were what did the work. I'm just glad it wasn't in op1MinMax. I must have looked through the code for 30 minutes trying to find the bug. | ||
@messages | 02:46 | ||
lambdabot | audreyt said 27m 28s ago: the bug was because implicit vars weren't ordered lexographically anymore! | ||
audreyt said 27m 5s ago: {$^a <=> $^b} were erroneously taking the params in the wrong order. thanks for spotting this before release! | |||
svnbot6 | r13763 | audreyt++ | * Pugs.Prim.List: Make max/min not compare the first element twice. | 02:47 | |
TimToady | min/max should take exactly same args as sort | 02:48 | |
audreyt | TimToady: I take that I can check it in? I'll move it from S09 to S02 where it belongs | ||
Limbic_Region | audreyt - the first test that causes Win32 to have the windows level error is t/regex/from_perl6_rules/codevars.t or combchar.t (it happens somewhere in between the two) | ||
TimToady | ci.WHICH? | 02:49 | |
Limbic_Region | the second is t/regex/p6regex/p6regex.t | ||
02:49
weinig is now known as weinig|sleep
|
|||
lanny | TimToady: min/max args -- noted | 02:49 | |
Limbic_Region | err, let me hiveminder these instead - you are busy | ||
TimToady | audreyt: ci the list() thing? | 02:50 | |
if so, yes. | |||
audreyt | thx :) | 02:52 | |
02:54
mauke_ joined
|
|||
Limbic_Region | ok, hivemindered | 02:58 | |
TimToady | audreyt: did you notice that .pick merely defaults to .pick(1) now? | 02:59 | |
and that .pick(*) is a shuffle? | |||
Limbic_Region | ?eval say (1..10).pick | 03:01 | |
evalbot_r13761 | OUTPUT[9 ] Bool::True | ||
TimToady | ?eval (^100).pick | ||
evalbot_r13761 | 26.0 | ||
audreyt | TimToady: no, that's cool | 03:03 | |
TimToady | I keep wondering if there's some way to refactor the 0-or-1-ary rand into something saner. | ||
audreyt | also, | 03:04 | |
$x = list(@y) ~~ {...} | |||
TimToady | make people write 1.rand maybe. | ||
audreyt | should comprehend as well | ||
the list-context constraint feels wrong here | |||
TimToady | those @x that match works there | ||
if that's what it means | 03:05 | ||
audreyt | yup | ||
$x = @y.grep:{...} | |||
same as this | |||
ok, implemented and specced and tested | |||
TimToady | $x = grep(@x) ~~ {...} | ||
audreyt | lunch, bbiab | ||
03:09
mauke_ is now known as mauke,
Limbic_Region joined
|
|||
svnbot6 | r13764 | audreyt++ | * Implement "list() comprehension": | 03:14 | |
r13764 | audreyt++ | pugs> 1 < list(1,1,2,3,5,8) < 8 | |||
r13764 | audreyt++ | (2, 3, 5) | |||
lanny | TimToady: On pick() is there any reason not to allow @a.pick(*, :replacement)? | 03:16 | |
Ooh. Well that was a bad example. @a.pick(7, :replacement); | 03:17 | ||
TimToady | seems like that would be hyperable somehow | ||
but that would certainly be more readable in some sense. | 03:18 | ||
wolverian | * seems quite hyper already to me, intuitively | ||
TimToady | well, @a.pick(*, :repl) would presumably give you an eternal supply h | ||
s/h// | |||
lanny | R has a sample() that will take a vector and do random selection with or without replacement. Very useful in a Stats system but since pick() is already there seems like the place for it. | ||
Hmm. "Pick a number from 1..100". repeat { (1..100).pick(*, :repl); } | 03:20 | ||
TimToady | repeat isn't legal without a conditional, btw | 03:21 | |
lanny | Darn. Had a long "discussion" with Juerd today about for ^$num { do_something; } for loops of a given length. He's agin' it and I can see his arguments. | ||
TimToady | yeah, I read it all. | 03:22 | |
lanny | I guess for 0..^$num { do_something(); } is as easy. | ||
ah. loop { ...pick(); } | 03:24 | ||
Limbic_Region | TimToady - even the part where I said you were subject to losing er uh, changing your mind | ||
TTFN all - almost tomorrow | 03:27 | ||
TimToady | laters | ||
Khisanth | besides you can only lose something if you still have it | 03:29 | |
lanny | If sort, min, max, cmp, and eqv all have the same MMD signature (is there a name for the collective signature of all Codes of the same name?) any objection to renaming it. CmpCriterion maybe? OrderCriterion? PosetCriterion? | 03:32 | |
SortCriterion would also make sense but some folks might wonder at sort being the kernel. | |||
TimToady | Ordering? | 03:33 | |
lanny | blah(@values, Ordering @by); subset Ordering of Sig | KeyExt | Comp | OrderingPair; | ||
TimToady | seems really strange to call that a subset | 03:34 | |
lanny | It makes coding it in Perl 6 a touch easier since given/when gets a bit easier. | 03:35 | |
subset of Any where { self ~~ Sig | KeyExt | Comp | OrderingPair } if it makes you feel better. :) | 03:36 | ||
TimToady | whew! | ||
so maybe it's really subset Ordering where Sig | KeyExt | Comp | OrderingPair; | 03:37 | ||
and it just defaults to "of Any" | |||
lanny | I need to read up on S05 so I can start talking the grammar but that would seem to have where taking a Junction or a Code. It's good sugar but was wondering earlier if everything needed couldn't be state with subset of Blah where { }? | 03:39 | |
TimToady | after all, you can't actually have an Ordering that is more than one of those... | 03:40 | |
lanny | * stated | ||
Agreed | |||
03:40
kanru joined
|
|||
TimToady | well, sure, in the same sense that every "when Blah" can be stated in terms of when {...} | 03:41 | |
but syntactic sugar is sweet | |||
and the whole point of smart matching is to sweep as much dwimmery into one spot so that we can use it all sorts of other places. | 03:42 | ||
including run-time type checking. | |||
and MMD | |||
lanny | Yes. | 03:43 | |
I like syntactic sugar. Maybe that hsould have been, "It's good sugar and..." | 03:44 | ||
In the end all sugar goes to something canonical (or circular) and I like those small islands of stability sometimes. Especially against the churning sea of the specs. | 03:45 | ||
TimToady | ?eval say ~(list(^100) ~~ /7/) | 03:46 | |
03:46
evalbot_r13761 is now known as evalbot_r13764
|
|||
evalbot_r13764 | *** Cannot parse regex: 7 *** Error: Error: 'require' trapped by operation mask at /home/audreyt/pugs/perl5/Pugs-Compiler-Rule/lib/Pugs/Runtime/Match/HsBridge.pm line 23. *** Cannot parse regex: 7 *** Error: Error: 'require' trapped by operation mask at /home/audreyt/pugs/perl5/Pugs-Compiler-Rule/lib/Pugs/Runtime/Match/HsBridge.pm line 23. *** Cannot parse regex: 7 *** Error: Error: 'require' trapped by operation mask at /home/audreyt/pugs/perl5 | 03:46 | |
TimToady | ?eval say ~(list(^100) ~~ m:P5/7/) | ||
evalbot_r13764 | OUTPUT[7 17 27 37 47 57 67 70 71 72 73 74 75 76 77 78 79 87 97 ] Bool::True | 03:47 | |
lanny | * wanders off to type of Orderings. | ||
bah. s/*/\/me/ | |||
TimToady | whatever. :) | ||
lanny | That's what I said. | ||
TimToady | ?eval say ~(list(^100) !% 7) | 03:56 | |
evalbot_r13764 | Error: Unexpected "!%" expecting comment, operator or ")" | ||
TimToady | ?eval say ~(list(^100) !% 7) | 03:57 | |
evalbot_r13764 | Error: Unexpected "!%" expecting comment, operator or ")" | ||
TimToady | ?eval say ~(list(^100) % 7) | ||
evalbot_r13764 | OUTPUT[2 ] Bool::True | ||
TimToady | I wonder if it's worth having a !% operator that means "is evenly divisible by" | 03:58 | |
seems odd that "?%" would mean "isn't evenly divisible by". | 03:59 | ||
lanny | Back in Modern Algebra that was | but you just used that one up. :) | ||
svnbot6 | r13765 | lanny++ | * minmax.t - fixed buggy test | ||
TimToady | just wondering, since chaining operators are special cased in various ways, and % is often used as a logical that way | 04:00 | |
but maybe we want ?/ and !/ | |||
lanny | It would be nice. Would save untold == 0 on $n % 2 == 0; | ||
TimToady | and list(^100) ~~ { $_ % 2 == 0 } | 04:01 | |
lanny | Of course anyone that wanted those could just code em. How do you tell when the Specs end and when "stuff the developer should do" begins? | 04:05 | |
TimToady | the Specs end when I get tired. :) | 04:06 | |
lanny | :) | ||
Course if you coded it as an infix then you'd have to grep over a list to extract from a list. Or MMD it I guess. | 04:08 | ||
TimToady | ?eval say ~(list(^100) ~~ { not $_ % 7 }) | 04:10 | |
04:10
evalbot_r13764 is now known as evalbot_r13765
|
|||
evalbot_r13765 | OUTPUT[0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 ] Bool::True | 04:10 | |
TimToady | I'd do ?% and !% in a shot if they weren't bassackwards... | 04:11 | |
lanny | Perl6 pass one question of the mini-mental physical. News at 11. | ||
They are "more" correct but I really think ?/ and !/ will be easier to remember. | |||
TimToady | but don't really decompose to not a / b | 04:12 | |
whereas !% would, unless we make ?% mean not a % b | 04:13 | ||
lanny | You could do that. If you just spell out, "yes, it's backwards. sue me" then I think you could chalk it up as a win and move on. | ||
You hardly need the !% op from above since that's just !% := % | 04:15 | ||
TimToady | if ?% were chaining you'd get !?% for free. :) !?!?! | 04:16 | |
buffer | i want left behind: the rising | ||
lanny | The wheels within wheels of Perl 6 remind me a LOT of lisp. It's gonna be a great language. | ||
buffer | anyone have it | ||
04:18
buffer left
|
|||
TimToady | maybe all the boolean ?^ ?& !| etc belong in chained ops rather than + and * | 04:23 | |
lanny | sort { $^a <=> $^b } is insensitive(&abs), @values; | ||
TimToady | sort { +abs($_) }, @values | 04:24 | |
sort -> Num $_ { .abs }, @values | 04:25 | ||
lanny | Oh yes. You *could* do it those ways. But if someone tacks on is insensitive all I've got for a meaning right now is "see if $a.can('lc')" | 04:26 | |
TimToady | sorry, didn't mean to trammel your very valid point. :) | ||
lanny | Personally I'd like to see insensitive go away for writing what you mean and descending go away for reverse(). | ||
TimToady | sort :(-Num), @values | 04:27 | |
lanny | Is that a new kind of smiley? | 04:28 | |
:) But what I'm really wonder is if the '-' is a typo on Num or not. | |||
Wow. What great typing. Time for sleep soon. | |||
TimToady | right now it would be a typo, but we could have +/- "zones" like * and | | 04:29 | |
or just sort :(Num is descending), @values | |||
descending is terribly cobolesque though | 04:30 | ||
lanny | That's already specced as I read it. | 04:31 | |
And how do you define descending for sort :(Dog is descending), @values; | |||
TimToady | depends on whether the type does Ordered in the first place | ||
lanny | Unless there's something like Dog does Order; | ||
TimToady | anything that does Ordered presumably has a default ordering. | 04:32 | |
lanny nods. | |||
TimToady | that's what makes Sig so powerful in sorts et al. | ||
lanny | Yeah. That seems to have dropped out of the specs lately or google can't tease it out but I recall that from an earlier question I asked in here. | ||
TimToady | it's implicit in the Sig as criterion idea though | 04:33 | |
lanny | Yes but implicit ideas in specs that others might code your language from to be standard might leave a lot of room for interesting Perl 6's. | 04:34 | |
TimToady | that's kinda why we're pushing to the the Haskell one done first. :) | ||
s/the/get/ | |||
even if it's not The Spec, it can at least point the True Way | 04:35 | ||
and if we're really lucky someone will have installed a regression test for the way pugs does it. | |||
lanny | Yeah. :) Saw that coming. | ||
TimToady | I've really been delighted with how that's been working out over the last while though. | 04:36 | |
I feel like the process is convergent. | 04:37 | ||
things will certainly diverge later, and that's okay | |||
but we're at a golden moment right now when the leverage on the future is spectacularly huge, for good and ill | 04:38 | ||
I think the intersection of what fits in audrey's brain and what fits in my brain will be something really useful. | 04:39 | ||
lanny | Yeah. Nice to watch y'all play off each other. | ||
TimToady | well, I oversimplify, of course, since @brains >>> 2 | 04:40 | |
@brains ā 2 | 04:41 | ||
lambdabot | I think so, Brain, but isn't that why they invented tube socks? | ||
lanny | Is that a hypered >? | 04:42 | |
No. Much-greater-than. | |||
TimToady | no, that's Unicode for VERY MUCH GREATER THAN | ||
much greater than is just ā« | 04:43 | ||
well, go put your brain in a tube sock. | |||
lanny | No. One more question. | ||
TimToady | @questions ā« 1 | 04:44 | |
lambdabot | Unknown command, try @list | ||
lanny | In role Ordered presumably there is cmp() to set up the ordering. Does it need a desensitize() to state how to make something is insensitive? | 04:45 | |
TimToady | more like :canonicalize($how) or some such | ||
04:46
mako132_ joined
|
|||
TimToady | that's really what KeyExt is doing | 04:46 | |
lanny | Ah yes. | ||
TimToady | anyway, I prefer to state it in the positive | 04:47 | |
ruz | hi, I don't get why "\Z(?!\n)" can be used instead of "\z" in perl5 code. And couldn't find anything related in docs. could you give me a hint? | ||
lanny | sort :(Dog is not_quite_there_on_the_empathy_thing_but_hopefully_soon), @values might be a bit rough just to say that Dog's are insensitive beasts. | 04:48 | |
TimToady | :D | ||
lanny | Off to find a tube sock. Cheers. | 04:49 | |
TimToady | ruz: \Z means \z|\n\z | ||
so the negative lookahead falsifies the second part. | |||
fortunately, Perl 6 has neither \z nor \Z | 04:50 | ||
but I have no clue why anyone would use the lookahead when \z works fine (except maybe for really old Perls?) | 04:51 | ||
ruz | is it possible that some perl 5.x version has no support for \z? | ||
TimToady | could be | ||
04:51
Tman joined
|
|||
TimToady | I think that's right, which is why there's \A and \Z and why \z doesn't match. | 04:51 | |
\Z and \z ought to have been switched. | |||
Tman | what's the general consensus on how far along pugs is/how far it has to go? | 04:52 | |
ruz | TimToady: yep, but do you have time machine? | ||
TimToady | it's come along spectacularly far, it still has a long way to go, and insane people are starting to play with it for real things. | 04:53 | |
ruz | :) ok, thanks, I think there is no another reason | ||
Tman | hmm. | 04:54 | |
what kinds of things are missing? | |||
TimToady | we haven't really installed the Moose meta-object protocol yet, so the OO support is still chewing gum and bailing wire. | ||
Tman doesn't know what that is :p | 04:55 | ||
TimToady | we're still in the process of bootstrapping the compiler in itself. | ||
and it's almost completely unoptimized. | |||
we're going for correctness first. | 04:56 | ||
Tman | right | ||
TimToady | but the P5ish subset of P6 works pretty well, if you ignore the fact that we switched regex engines recently and it's still pretty creaky | ||
Tman | cool | 04:57 | |
TimToady | would you like to help? | ||
knowing any of Perl | Haskell | English is a plus | 04:58 | ||
Tman | no Haskell and not a whole lot of experience with Perl (but some) | 04:59 | |
TimToady | we need the viewpoint of people who are just getting into it as well. | 05:00 | |
fresh eyes are always useful | |||
Tman | yeah | ||
TimToady | anyway, I can offer you a commit bit if you'd like | 05:01 | |
a lot of people just go in and start whacking on tests. | |||
Tman | I'll look into it | ||
TimToady | after finding holes in the specs | ||
Tman | not really any experience with interpreters either | 05:02 | |
which is worrying | |||
:/ | |||
TimToady | that matters very little, I think. | ||
since Perl 6 is agnostic as to whether it's compiled or interpreted. | |||
Tman | well, with parsing I mean | 05:03 | |
TimToady | anyway, you're welcome to hang around until you get the "itch" | ||
Tman | x) | ||
okay | |||
TimToady | reading through the specs is a good place to start, and if you read the ones that are backannotated with passing/failing tests, you can get a feeling for how far along pugs is. | 05:05 | |
Tman | okay | ||
cool | |||
TimToady | you can get an annotated view of the synopses by following SYN links from m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl? | 05:06 | |
lambdabot | Title: Pugs Smoke Reports, tinyurl.com/zs247 | ||
05:08
SubStack joined
|
|||
Tman | kk | 05:09 | |
TimToady | ciao & # chow | 05:10 | |
05:15
BooK joined,
shobadobs joined
05:19
Aankhen`` joined
|
|||
gaal | wow, those new list() comprehensions look weird | 05:34 | |
?eval list(1,2,3,4) < list(3,4,5,6) | 05:35 | ||
evalbot_r13765 | (1, 2, 3) | ||
gaal | > [(x,y) | x <- [1..4] | y <- [3..6]] | 05:36 | |
lambdabot | Parse error | ||
gaal | hm? | ||
ah, no -fglasgow-exts | 05:37 | ||
anyway: what do we do for parallel comprehensions? | |||
for those not familiar with the feature: in shiny haskell, that's: | 05:38 | ||
[(1,3),(2,4),(3,5),(4,6)] | |||
05:40
SubStack joined
05:42
b00t joined
05:43
takanori joined
|
|||
TimToady | ?eval say perl map { [$^x, $^y] }, each(1..4; 3..6) | 05:55 | |
evalbot_r13765 | OUTPUT[([1, 3], [2, 4], [3, 5], [4, 6]) ] Bool::True | ||
TimToady | ?eval say perl each(1..4; 3..6).map:{ [$^x,$^y] } | 05:57 | |
evalbot_r13765 | OUTPUT[([1, 3], [2, 4], [3, 5], [4, 6]) ] Bool::True | ||
gaal | okay.. sometihng that eludes me for the moment in my pre-caffeinated state, how do you get all pairs such that x < y and each is selected from their own list? | 06:03 | |
shobadobs | walk through the lists in the style of the merging algorithm that mergesort uses | 06:04 | |
gaal | cartesian_product(@x, @y).grep:{$x<$y} | ||
TimToady | ?eval say perl each(1..4; 3..6).map:{ $^x < $^y ?? [$^x,$^y] !! () } | ||
evalbot_r13765 | OUTPUT[([1, 3], [2, 4], [3, 5], [4, 6]) ] Bool::True | ||
gaal | [1,6] e.g. shoudl be there too | 06:05 | |
no longer a parallel query | |||
TimToady | ?eval say perl each(1..4; 3..6).map:{ $^x < $^y / 2 ?? [$^x,$^y] !! () } | ||
evalbot_r13765 | OUTPUT[([1, 3],) ] Bool::True | ||
TimToady | lessee. Did anyone implement my X,X yet? | 06:06 | |
?eval 1..4 X,X 3..6 | 06:07 | ||
evalbot_r13765 | Error: Unexpected "X" expecting comment, operator, statement modifier, ";" or end of input | ||
TimToady | nope | ||
anyway, that should be grep -> [$x, $y] { $x < $y }, @x X,X @y or some suc | 06:08 | ||
gaal | ah, I don't think XxX is implemented at all yet | ||
TimToady | *such | ||
gaal | okay, thanks. I'd better go wake up. | 06:09 | |
TimToady | list(@x X,X @y) ~~ -> [$x, $y] { $x < $y } in the new syntax | ||
svnbot6 | r13766 | Darren_Duncan++ | ext/Rosetta/ : minor update to Copying.pod | ||
TimToady | list(@x X,X @y) ~~ { $_[0] < $_[1] } | 06:10 | |
gaal | ah, it's a shame you can't use placeholders there | 06:13 | |
because there has to be unpacking | |||
TimToady | list(@x X,X @y) ~~ { infix:{'<'}(|$_) } | 06:14 | |
gaal | use Golf; # turns '&infix:' into 'i' | ||
TimToady | but maybe < is smart enough to do: | ||
list(@x X,X @y) ~~ .infix:{','} | 06:15 | ||
s/,/</ | |||
s:2nd/,/</ that is. 'course if this were APL you'd have started with X<X to get a selector map | 06:16 | ||
gaal | 'course! | ||
anyway.. bbiab & :-) | |||
TimToady | list(@x X,X @y) ~~ { [<] @$_ } | 06:18 | |
list(@x X,X @y) ~~ .[].'[<]' | 06:19 | ||
list(@x X,X @y) ~~ .'[<]' might possibly be forced to dwym | 06:20 | ||
masak | @brain makes lambdabot give a random "pinky and the brain" quote? | 06:24 | |
lambdabot | It must be inordinately taxing to be such a boob. | ||
masak | guess so | ||
:) | |||
TimToady | list([0,2],[1,2],[2,2],[3,2]) ~~ { [<] @$_ } seems to be broken. | 06:27 | |
that's cuz this appears to be broken: | |||
?eval say grep { [<] @$_ }, [0,2],[1,2],[2,2],[3,2] | |||
06:27
evalbot_r13765 is now known as evalbot_r13766
|
|||
evalbot_r13766 | OUTPUT[0 21 22 23 2 ] Bool::True | 06:27 | |
TimToady | ?eval [<] 1,2 | 06:29 | |
evalbot_r13766 | Bool::True | ||
TimToady | ?eval [<] 2,1 | ||
evalbot_r13766 | Bool::False | ||
TimToady | ?eval my @x = 2,1; [<] @x | ||
evalbot_r13766 | Bool::False | ||
TimToady | ?eval my $x = [2,1]; [<] @$x | 06:30 | |
evalbot_r13766 | Bool::True | ||
TimToady | hmm | ||
?eval my $x = [2,1]; [<] |$x | |||
evalbot_r13766 | Bool::True | ||
TimToady | ?eval my $x = [2,1]; [<] |@$x | 06:31 | |
evalbot_r13766 | Bool::True | ||
TimToady | ?eval my $x = (2,1); [<] @$x | ||
evalbot_r13766 | Bool::True | ||
TimToady | ?eval my $x = \(2,1); [<] @$x | ||
evalbot_r13766 | Bool::True | 06:32 | |
TimToady | ?eval my $x = \(2,1); [<] |$x | ||
evalbot_r13766 | Bool::True | ||
TimToady | it really seems to want to believe that 2 < 1. | 06:33 | |
?eval my $x = [2,1]; [~] @$x | 06:34 | ||
evalbot_r13766 | [2, 1] | ||
TimToady | ?eval my $x = [2,1]; [~] $x.[] | 06:35 | |
evalbot_r13766 | [2, 1] | ||
TimToady | ?eval my $x = [2,1]; [~] $x.[0,1] | ||
evalbot_r13766 | [2, 1] | ||
TimToady | ?eval my $x = [2,1]; [~] $x[0],$x[1] | 06:36 | |
evalbot_r13766 | "21" | ||
TimToady | this is wrong | ||
[x] should process its list as a list operator and insert the operator between list elements, not at literal commas. | 06:37 | ||
Khisanth | heh so everything is behaving the the opposite way they are supposed to? :) | 06:38 | |
TimToady | not really opposite, just kind of sideways. | 06:39 | |
well, it did work for [<] @x at least. | 06:40 | ||
so for some reason @$x isn't interpolating the array in $x. | 06:41 | ||
or maybe not. | 06:42 | ||
Khisanth | what is @$x supposed to be? | ||
TimToady | ?eval my @x = 2,1; [<] @x | ||
evalbot_r13766 | Bool::False | ||
TimToady | ?eval my @x = 1,2; [<] @x | ||
evalbot_r13766 | Bool::True | ||
TimToady | yeah, that's working | ||
?eval my $x = [2,1]; [~] @$x, 0 | 06:44 | ||
evalbot_r13766 | "210" | ||
TimToady | ?eval my $x = [2,1]; [~] @$x | ||
evalbot_r13766 | [2, 1] | ||
TimToady | ?eval my $x = [2,1]; [~] @$x, | ||
evalbot_r13766 | [2, 1] | ||
TimToady | heh. | ||
?eval my $x = [2,1,0]; [~] @$x | 06:45 | ||
evalbot_r13766 | [2, 1, 0] | ||
TimToady | $pugs.=audreyt() | 06:48 | |
TimToady .= zzz(); | 06:50 | ||
07:35
xinming_ joined
07:43
yts joined
07:50
shobadobs joined
08:05
shobadobs joined,
iblechbot joined
08:06
ashleyb joined
08:14
shobadobs_ joined
08:19
mdiep_ joined
08:20
shobadobs__ joined
09:00
norageek joined
09:57
rodi joined
10:07
kanru joined
10:17
imago joined
10:31
araujo joined
11:07
imago is now known as gunya
|
|||
pasteling | "TreyHarris" at 207.171.180.101 pasted "Why is one parsefail? I just hit up-arrow return..." (32 lines, 523B) at sial.org/pbot/20089 | 11:12 | |
TreyHarris | this seems odd to me | 11:13 | |
but i can't figure out how to write a test for it | 11:14 | ||
masak | worksforme in r13746 | 11:28 | |
11:29
xinming__ joined
|
|||
masak | or, rather, I didn't come upon the same error... | 11:29 | |
hard to say anything about a test case involving randomness | 11:30 | ||
11:30
frederico joined
|
|||
masak | solving this probably requires some familiarity with the internals | 11:31 | |
i.e. having an idea of how to answer the question "what could possibly enable this to happen?" | 11:32 | ||
TreyHarris | yes, but i mean i just wrote a test with that "3 d 6" repeated 1000 times | ||
and didn't get a single parsefail | |||
masak | TreyHarris: indeed. more likely it has something to do with pugs-the-commandline-interpreter than pugs-the-compiler | 11:34 | |
er, "commandline interpreter" is not a good term for what I had in mind | 11:35 | ||
"interactive interpreter", maybe | |||
11:41
SubStack joined
12:19
lollan joined
12:22
chris2 joined
12:49
kanru joined
12:50
integral|ZzZzz is now known as integral
12:56
imago joined
|
|||
svnbot6 | r13767 | kudra++ | Summary for the week | 12:56 | |
12:58
rindolf joined
|
|||
pasteling | "rindolf" at 88.154.17.16 pasted "Problem with ghc" (121 lines, 3.7K) at sial.org/pbot/20093 | 12:59 | |
13:02
imago is now known as gunya
|
|||
rindolf | Hi all. | 13:07 | |
Anyone here? | |||
13:08
Salzh joined
13:11
holoway joined
|
|||
audreyt | rindolf: "else return ()" | 13:16 | |
rindolf | audreyt: thanks. | ||
audreyt | you need to give return something to return | ||
np :) | |||
Juerd | I'm doing a PHP talk at amsterdam.pm next tuesday :) | ||
audreyt | cool! | 13:17 | |
masak | kudra++ # summary | ||
Juerd | PHP appears to be designed, solely to annoy Perl programmers :P | ||
So it makes a perfect subject for a Perl meeting. | 13:18 | ||
masak | Juerd: I've often thought the same thing | ||
rindolf | Juerd: nice. | ||
Juerd | -- nl3.php.net/manual/en/faq.languages.php | ||
<strike>The biggest advantage of PHP over Perl is that PHP was designed for scripting | |||
for the web where</strike> Perl was designed to do a lot more and can <strike>because of this</strike> | 13:19 | ||
lambdabot | Title: PHP: PHP and other languages - Manual, tinyurl.com/kjme4 | ||
Juerd | get very complicated. <strike>The flexibility / complexity of Perl makes it easier | ||
to write code that another author / coder has a hard time reading.</strike> PHP has | |||
a <strike>less</strike> confusing and stricter format <strike>without</strike> losing flexibility. PHP is | |||
easier to integrate into existing HTML than Perl. <strike>PHP has pretty much all | |||
the 'good' functionality of Perl: constructs, syntax and so on, without | |||
making it as complicated as Perl can be.</strike> Perl is a very tried and true | |||
language, it's been around since the late eighties, <strike>but PHP is maturing | |||
very quickly. </strike> | |||
(My strikes, of course) | |||
miyagawa_ | haha | 13:20 | |
13:20
holoway left
|
|||
masak | :) | 13:31 | |
rindolf | audreyt: how do I split a sentence into words in Haskell? | 13:34 | |
Like split(/\s+/, $str) in Perl? | |||
13:37
penk joined
|
|||
wolverian | rindolf, words | 13:46 | |
> words "foo bar baz" | 13:47 | ||
lambdabot | ["foo","bar","baz"] | ||
13:48
Limbic_Region joined
|
|||
svnbot6 | r13768 | kudra++ | changed quote | 13:53 | |
13:57
polettix is now known as poletti,
poletti is now known as polettix
|
|||
rindolf | wolverian: I see. | 13:58 | |
Ikarus | Juerd: you need to strike the late eighties stuff aswell | 13:59 | |
wolverian | rindolf, read the Prelude now and then - haskell.org/ghc/docs/latest/html/li...elude.html - it's like reading perldoc perlfunc :) | ||
lambdabot | tinyurl.com/ovjef | ||
14:01
prism joined
|
|||
Juerd | Ikarus: Hm, indeed! | 14:26 | |
pasteling | "rindolf" at 88.154.17.16 pasted "What's wrong with this Haskell function?" (6 lines, 162B) at sial.org/pbot/20095 | 14:30 | |
audreyt | hm. | 14:33 | |
in [+]<<, the [] part never gets run because << is defined recursively over arrays | |||
that seems like a spec bug. | |||
@tell TimToady I'm dropping support for [+]<< because << recurses into subarrays and so [+] never got a chance... | 14:35 | ||
lambdabot | Consider it noted. | ||
audreyt | rindolf: in the else clause you used monadic statements without a do. | 14:41 | |
else do rest <- main | |||
return (line:rest) | |||
will work | |||
rindolf | audreyt: yes, someone on #haskell helped me. | ||
audreyt | k cool | 14:42 | |
15:00
count_leto joined
15:13
Sartak joined
|
|||
svnbot6 | r13769 | audreyt++ | * operator_overloading.t: localize the test scope somewhat. | 15:18 | |
r13770 | audreyt++ | * Remove support for reduce+posthyper form "[+]<<" because | 15:21 | ||
r13770 | audreyt++ | as specced the hyper will recurse into arrays, so the reduce | |||
r13770 | audreyt++ | never got a chance to run. | |||
r13770 | audreyt++ | * Also add "Loop" as a subtype of "Block" (not used yet) | |||
clkao | audreyt: i am bored. give me an one hour task | 15:30 | |
svnbot6 | r13771 | audreyt++ | * Pugs::Runtime::Match::HsBridge: Implement autoanchoring of anonymous token/rules: | ||
r13771 | audreyt++ | However, when a ratcheted regex is called directly, it is automatically | |||
r13771 | audreyt++ | anchored on both ends. (You may override this with an explicit C<:p> or | |||
r13771 | audreyt++ | C<:c>.) Thus, you can do direct pattern matching using a token or rule: | |||
r13771 | audreyt++ | $string ~~ token { \d+ } | |||
r13771 | audreyt++ | $string ~~ rule { \d+ } | |||
r13771 | audreyt++ | and these are equivalent to | |||
r13771 | audreyt++ | $string ~~ m/^ \d+: $/; | |||
r13771 | audreyt++ | $string ~~ m/^ <ws> \d+: <ws> $/; | |||
clkao | i thought we are in release mode? do't see the failing test count going down in the smoke | ||
audreyt | hm, for me it is | 15:31 | |
svnbot6 | r13772 | audreyt++ | * t/operators/hyper.t: Comment out tests for [+]<<. | ||
r13772 | audreyt++ | Triaging for t/operators/ done, moving up to t/oo/... | |||
clkao | ok | ||
audreyt | it was going up for a while when I was fixing parsefails | ||
in tests, that is | |||
clkao | anymoose. find something small for me to do ? | 15:32 | |
audreyt | data_bind_callconv(\@pos1, \%nam1, \@pos2, \%nam2) support? | 15:33 | |
you can start by simply concat them together | |||
clkao | right, describe that @@ thing again | ||
audreyt | see =head2 Multidimensional argument list binding | 15:34 | |
in S06 | |||
I need to sleep ~now | |||
but the idea is that a slurpy array marked with @@ | |||
clkao | which test shuold i be looking t ? | ||
audreyt | become an array of captures with each element representing one feed | ||
that will let v6.pm get zipp() and each() | |||
clkao | so there zipp and each in prelude? | 15:35 | |
audreyt | zip, not zipp, sorry | ||
yeah. see t/builtins/container/cat.t | |||
and other container/* | |||
e.g. each | 15:36 | ||
sorry, *fades* | 15:37 | ||
& | |||
rindolf | Hi clkao | ||
clkao | ~hi | ||
rindolf | clkao: I filed a bug report about that SVN Perl bindings building bug. | 15:38 | |
clkao: and found a fix. | |||
clkao | url? | ||
rindolf | clkao: subversion.tigris.org/issues/show_b...gi?id=2617 | 15:39 | |
lambdabot | tinyurl.com/j3ydb | ||
clkao | thanks | ||
s29 smart links are not working | 15:47 | ||
15:48
buetow joined
|
|||
clkao | in "S6/Multidimensional argument list binding", the linked test has "*@;AoA". I don't find any reference to @;<bareword> in spec. or is it just changed to *@@AoA ? | 16:05 | |
16:06
Sartak is now known as Eidolos
16:13
elmex joined
|
|||
audreyt | it's just changed to @@A0A | 16:18 | |
clkao | ok. i will update the test | ||
16:19
imago joined
|
|||
clkao | audreyt: sub get_multidim_arglist (*@@AoA) { @@AoA } | 16:19 | |
audreyt: what about the return value? still multi dimension here | |||
16:20
ashleyb joined
|
|||
clkao | audreyt: current pugs fails to parse *@@ | 16:20 | |
audreyt | yes, pugs doesn't implement that | 16:21 | |
yet | |||
(bbl) | |||
clkao | i will leave that as broken | ||
but is the '@@AoA' right for the return value? or is it @AoA ? | 16:22 | ||
and i don't quite understand how you bind multi named | 16:23 | ||
audreyt | both will work | ||
the AoA is actually AoC | |||
%(@@c[0]) is named | 16:24 | ||
16:24
justatheory joined
|
|||
clkao | so foo(blah => 1; (2,3,4);bzz => 2, fnord => 3) would do what ? | 16:24 | |
or each slice would have their pos and named? | 16:25 | ||
audreyt | yes. | ||
@@c[0]<blah> | 16:26 | ||
@@c[1]<fnord> | |||
clkao | ok. i think i kind of understand. but i need to keep the c structure in runtime, so we can bind them later as well | ||
audreyt | really & :) | ||
clkao | you mean @@c[2]<fnord> | ||
Juerd needs to learn all these new metasyntactic variables. | 16:28 | ||
I found myself googling for fnord and not getting it. | |||
count_leto | thats scary... | 16:30 | |
svnbot6 | r13773 | clkao++ | 12:18 < audreyt> it's just changed to @@A0A | 16:31 | |
16:31
imago is now known as gunya
16:33
Psyche^ joined
16:49
Psyche^ is now known as Patterner
17:00
Aankhen`` joined
|
|||
clkao | i wonder where Container::cat is defined | 17:01 | |
code, not spec | |||
rindolf | perlbot: karma clkao | 17:02 | |
jabbot | rindolf: clkao has karma of 326 | ||
perlbot | Karma for clkao: 33 | ||
17:14
MacVince joined
17:31
mako132_ joined
17:36
Aankh|Clone joined
17:42
MacVince left,
MacVince joined
17:47
cjeris joined
18:32
wilx` joined
18:33
wilx` is now known as wilx
18:44
count_leto joined
19:06
TreyHarr1s joined
19:08
weinig|sleep is now known as weinig
19:10
etzel_ joined
19:14
kanru joined
19:31
Eidolos joined,
mugwump joined
19:32
buetow joined
19:38
mugwump joined
19:40
Eidolos joined
19:56
lichtkind joined
20:19
mdiep joined
20:54
mako132_ joined
21:01
crem joined
21:07
theorbtwo joined
21:10
Limbic_Region joined
21:12
bcorn joined
21:16
stevan joined
21:32
weinig is now known as weinig|bbl
|
|||
Tman is totally lost on all this bootstrapping plan stuff | 21:38 | ||
so you're writing a perl6->AST compiler in haskell right now.. and then going from there to C? or how...? | 21:39 | ||
you meaning anyone working on pugs | 21:40 | ||
22:05
Aankhen`` joined
22:17
LimbicRegion joined
22:22
LimbicRegion is now known as Limbic_Region
22:27
Teratogen joined
|
|||
Teratogen | PHP will never be a Real Language until it has namespaces! | 22:28 | |
oops wrong channel | |||
=) | |||
22:32
justatheory joined
22:44
aufrank joined
22:55
Psyche^ joined,
TreyHarr1s is now known as TreyHarris
22:57
Psyche^ is now known as Patterner
23:03
weinig|bbl is now known as weinig
23:07
Salzh joined
23:28
bsb joined
23:47
mako132_ joined
23:52
vel joined
|