svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by avar on 16 November 2006.
00:02 buetow joined 00:14 BooK joined 00:25 Aankhen`` joined 00:31 markstos joined 00:33 Schwern joined, rhizo joined
markstos I'm try to commit to pugs after a long hiatus. I keep getting "Merge conflict during commit" even though I'm up-to-date. Is there some administrative command I need to run to straighten things out? This is using svk on feather. 00:41
Oh, am commiting to svn.pugscode.org/pugs, which I assume is correct.
TimToady that's the right place. can't help with svk tho 00:42
allbery_b wasn't there a bugfix for svk "recently"? 00:45
allbery_b isn't an svk user but recalls discussion along those lines within the past few weeks 00:46
markstos Thanks for the responses. I'll keep poking.
00:52 justatheory joined
markstos svk sync -a; svk update; svk commit seemed to fix things. I don't know why. 00:52
nothingmuch off hiking, see you in 3 days 01:04
01:25 Aankhen`` joined
svnbot6 r15005 | markstos++ | A solution for problem 13 of 99. It's not pretty, but it passes the test. 01:29
01:32 ruz_ joined 01:36 nbrown04 joined 01:50 ruz__ joined 01:55 nbrown04_ joined 02:13 Schwern joined
svnbot6 r15006 | markstos++ | bump copyrights from 2006 to 2007. 02:13
02:51 phg joined 02:58 weinig is now known as weinig|zZz 03:22 diakopter left 03:25 lambdabot joined 03:34 bwk joined 03:39 neonse left 03:49 b00t joined 03:54 bwk joined 03:57 diakopter joined 03:58 diakopter left 04:47 bwk joined 05:22 leed joined 05:23 Sartak joined, spx2 joined
spx2 oh dear perl gods for give me ! *bows* for i have sinned and am not worthy of your knowledge(wich is actually read from books by people much smarter than you ) 05:24
05:41 jdv79 joined
jdv79 anybody have any ideas about how to optimize sub calls in p5? I'm asking here cause there's a lot of "Really Smart" people in here:) 05:43
dduncan optimize in what way? 06:01
06:07 nipra joined
TimToady @tell luqui the main problem I see with single dispatch on the right side of ~~ is junctions. $pat.accepts($_) has to autothread or it doesn't have a dispatch type. But that messes up current policy on all(@foo) ~~ any(@bar). 06:08
lambdabot Consider it noted.
jdv79 dduncan: the call overhead out i supose 06:11
TimToady most people here have done it by rewriting the routine in C.
jdv79 well, the point was to take out the bottleneck in accessors and "well factored" OO code where the subs are short and execution bounces around quite a bit... 06:13
06:17 BooK joined, bwk joined 06:27 iblechbot joined 06:30 Aankh|Clone joined 06:37 briank joined 06:42 bwk joined 06:43 lambdabot joined, nperez joined
QwestDawG ?eval `ls -la` 07:09
evalbot_r15006 Error: Unsafe function 'Pugs::Internals::runShellCommand' called under safe mode
07:16 lambdabot joined 07:28 Schwern joined
ingy hi Schwern 07:30
07:37 fasic joined 07:46 fasic left 08:05 devogon joined 08:51 elmex joined 09:17 alex____ joined, alex____ is now known as AlexLibman 09:46 bwk joined, AlexLibman joined 09:50 AlexLibman_ joined, AlexLibman_ is now known as AlexLibman 10:25 VanilleBert joined 10:28 buubot joined 11:01 iblechbot joined 11:06 elmex joined 11:15 _bernhard joined 11:34 buubot joined 11:40 polettix joined 11:50 chris2 joined 11:58 VanilleBert left 12:11 dduncan left 12:35 spacebat is now known as spacebot 12:39 spacebot is now known as spacebat 12:43 elmex joined 12:56 buetow joined 13:27 neonse joined 14:03 weinig joined 14:09 foo\ joined 14:25 foo\ joined
qmole [#umist.me] 14:28
kolibrie clkao: I am svk pulling darcs to a new computer and ran into 'Incomplete data: Delta source ended unexpectedly'. I vaguely remember needing to upgrade some SVK module. Do you recall which one? I'm using debian svk at the moment. 14:35
clkao svn::mirror ?
kolibrie I'll try it
clkao: that seems to have fixed it. thank you 14:47
14:50 rindolf joined 14:53 kanru joined 14:56 weinig is now known as weinig|bbl 15:16 turrepurre joined 15:40 nipra joined 15:47 Casan joined 15:51 theorb joined 16:06 weinig|bbl is now known as weinig 16:32 cognominal joined 16:33 wilx` joined 17:08 nperez joined 17:12 TimToady joined
TimToady hmm, was this channel really dead for more than 9 hours? 17:16
wolverian deadish, yes. kolibrie said something three hours ago. 17:17
TimToady ah, yes, I see that on colabti 17:18
wolverian you left nine hours ago with connection reset by peer.
TimToady odd, I always keep a connection running under screen. 17:19
allbery_b bitchx sometimes fails to notice that it's been disconnected, IME 17:20
TimToady maybe freenode or their isp hiccuped
cause it looks like lots of people were disconnected then.
wolverian buggy client 17:21
(try irssi!)
allbery_b I see only the usual join/part foo over the past 12 hours, no mass exodi
allbery_b fwaps himself for "exodi" :)
TimToady I'm using irssi!!! 17:22
wolverian oh. :)
TimToady ah well, if it doesn't happen again, I'll chalk it up to a cosmic ray.
allbery_b <TimToady> cause it looks like lots of people were disconnected then. 17:23
implies the server he was on netsplit, actually
wolverian true.
TimToady but for some reason I didn't get reconnected like usual
17:24 SamB joined
allbery_b you were still connected. your server wasn't 17:24
kolibrie if I get 'Setup: cannot satisfy dependency network-any' during 'make' what do I need to delete|upgrade|check ? 17:25
allbery_b ghc6.6? make sure you installed the ghc-extralibs bundle
kolibrie yes ghc 6.6
allbery_b if using a vendor package, it may be split out even farther, for example I recall separate network packages being mentioned on debian 17:26
kolibrie I am on debian
libghc6-network-dev? 17:27
allbery_b has little debian experience and no machines so can't help to omuch beyond that
kolibrie I'll try it
allbery_b libghc6-network-dev? 17:28
(googling)
(does debian have anything like freebsd's freshports.net or RPM's rpmfind.net?) 17:29
wolverian kolibrie, yes.
allbery_b, packages.debian.org
gaal kolibrie: i think so yes, also you will need an 'mtl' package with a similar naming scheme
kolibrie gaal: I got the mtl one already
gaal groovy 17:30
kolibrie just missed network for some reason
17:34 lichtkind joined
kolibrie hmm, don't recall seeing this one 17:36
pasteling "kolibrie" at 66.160.89.74 pasted "build failed in Pugs.Embed.Parrot" (37 lines, 1.4K) at sial.org/pbot/22156
kolibrie or maybe this is the one where I have old build files lying around? 17:37
gaal yeah, i think so. kill src/Pugs/Embed/Parrot.hs 17:38
svnbot6 r15007 | gaal++ | * ghc 6.7 has a shiny new debugger in interactive mode
r15007 | gaal++ | that works with Pugs! To use, set PUGS_GHCI_DEBUGGING
r15007 | gaal++ | to a true value in your environment.
r15007 | gaal++ | TODO: promote this to autodetection by GHC version and
r15007 | gaal++ | possibly a config.yml setting. (If someone benchmarks
r15007 | gaal++ | and finds that -fdebugging doesn't slow down / eat more
r15007 | gaal++ | RAM, we can just turn it on everywhere it's available.)
r15008 | gaal++ | svn:ignore props on mundane files
kolibrie all the .hs files in src/Pugs/Embed ? 17:39
the one does not seem to be enough 17:40
gaal well, anything that has a .hsc file 17:41
but don't delete the hsc
a clean moose will fix this, in a pinch
kolibrie ls src/Pugs/Embed/*.hs
src/Pugs/Embed/Haskell.hs src/Pugs/Embed/Perl5.hs
src/Pugs/Embed/Parrot.hs src/Pugs/Embed/Pugs.hs
ls src/Pugs/Embed/*.hsc 17:42
src/Pugs/Embed/Parrot.hsc
gaal ok then only Parrot.hs :)
you can also nuke dist/build/Pugs/Embed/
kolibrie ls dist/build/Pugs/Embed/ 17:43
Parrot.hi Pugs.hi Pugs.o
gaal them all.
kolibrie same error 17:44
gaal well, then make clean, or make realclean, or clean co, in this order :)
kolibrie ok 17:45
that seems to have worked: delete the files, then make clean 17:48
17:56 araujo joined 18:07 tcliou joined 18:11 ruz__ is now known as ruz, ruz joined 18:15 bwk_ joined 18:33 bwk__ joined 18:55 Eidolos joined 19:10 wilx` is now known as wilx, diakopter joined 19:12 ruz joined 19:14 brent[] joined 19:19 johnjra joined
johnjra why if i do whil(cond) \n instruction; i get error and if i use {} i dont get any error 19:19
Juerd johnjra: Because in Perl the {} are mandatory. 19:21
johnjra: In Perl 6, the () are optional, though.
johnjra Juerd: o rly
? 19:22
allbery_b yes
johnjra thx
Juerd johnjra: I don't know those abbreviations. Please type 6th grade English or I won't know what you're saying.
johnjra Juerd: sorry
diakopter I think "o rly" means "oh, really?" 19:24
19:25 colibri_ joined, colibri_ is now known as cm_
Juerd English isn't my native language. It's hard for me to figure such things out. 19:26
Although those two sentences aren't necessarily related.
kolibrie echt waar? :) 19:27
Juerd Ja, absoluut!
Hey, you're not Dutch, are you?
diakopter what is that, Afrikaans?
Juerd diakopter: Dutch
kolibrie no, just lived there for a couple years
diakopter close
kolibrie and now I speak it to my children 19:28
Juerd kolibrie: DON'T SPREAD THE DISEASE! :) 19:29
kolibrie there certainly isn't much of it here in the States 19:30
masak Juerd: "O RLY?" is more than an abbreviation and a slang phrase nowadays 19:53
it is something of an internet cult
en.wikipedia.org/wiki/O_RLY%3F
(that doesn't mean, however, that I endorse it or consider the use cultivated. I, too, am a non-native speaker) 19:54
Khisanth It might get mistaken for O'Reilly in some places :)
masak Khisanth: probably :)
TimToady So, I'm curious. *Why* do the Dutch continually deprecate their own language? 19:57
It's not a very Indo-European attidude... :) 19:59
Khisanth suspects it's some sort of Dutch joke that only the Dutch will understand
TimToady attitude, even.
19:59 mtve joined
gaal TimToady: maybe they just like to deprecate languages in general? e.g. Gerald Nolst Trenite's poem. 19:59
(about English spelling.)
TimToady my father and his mother used to tell jokes to each other, and then the punchline would come out in Flemish.
we'd say "what's it mean in English?
and they'd say "It's not funny in English." 20:00
gaal I thought $lang in that expression was ::= to Yiddish.
Juerd TimToady: Our language is hard and a bit inefficient. 20:02
TimToady: Better than English, but at least English is understood by more than a few dozen million people. 20:03
Khisanth hmmm Dutch6 ;) 20:04
Juerd Khisanth: Vapourware.
TimToady Dutch 3000, more likely. 20:05
Juerd TimToady: As in Terminator?
20:59 < TimToady> we'd say "what's it mean in English?
Interisting that "does" can be contracted. 20:06
Interesting.
I have a chicken/egg problem 20:07
diakopter many times, it's pronounced like "what-iz it mean in English?"
Juerd This 9V DC supply probably supplies too high a voltage. My multi meter has an empty battery, 9V.
diakopter to be more precise, "wuddiz it mean ..." 20:08
Juerd I want my spareribs. Ordered them 45 minutes ago
TimToady In my head it was pronounced "whatsit", not "whatizit" 20:11
20:11 jferrero joined
TimToady Might be a California thing though 20:11
But I don't think so. "What's it to ya?" has 4 syllables. 20:12
Juerd Stuff like this is why English is worse than Dutch :) 20:13
20:13 frankg joined
diakopter here in the midwest I hear/say "wuddizit mean.." I haven't heard "what's it to ya?" ever, I think. :) 20:14
masak Juerd: I hear you've had recent spelling reforms and stuff in Dutch
that sounds admirable
I wish English had one of those, but I doubt it'll happen 20:15
20:16 nipra joined
Patterner the german reform is a disaster. 20:17
20:18 pbuetow joined
masak Patterner: how so? 20:19
Patterner No idea. I still use the old spellings...
masak all I know about it is most double esses went away
Patterner Defin...
20:19 devogon joined
Patterner ^WDelfin 20:19
this looks so wrong 20:20
masak Patterner: not to me, I don't know either word
:)
Patterner Dolphin
masak Patterner: so the reform makes you spell it without an L? that is indeed weird 20:21
Patterner Delfin instead of Delphin.
masak ah, ok
so ph -> f in general?
Patterner And Spagetti
20:21 luqui joined
masak without an H? 20:22
Patterner yes.
masak yeah, we've got that particular one in Swedish too
Patterner ph->f almost everywhere, but not everywhere
masak I think I like that
Patterner (which is part of the stupididy)
masak sorry :)
not being consistent is Bad, of course
diakopter is memory usage of variables in ram (think "scalar overhead") part of the perl6 specification? i.e. can/should it be tested? 20:23
masak but ph -> f seems phine by me
20:24 markstos joined
luqui diakopter, surely not 20:30
lambdabot luqui: You have 1 new message. '/msg lambdabot @messages' to read it.
ofer0 heh
good lambdabot !
Juerd These spare ribs are the best. 20:32
TimToady no, P6 only specs that native types are biased towards optimizable.
Juerd re.
masak: Most Dutch people hate the spelling reform of 2006. 20:33
masak: Er, 2005. Typo.
TimToady date reform. :)
Juerd Hehe
I want a yyyy-mm-dd date reform.
But only if the US joins the reform
TimToady most USians don't mind that form, since it puts the month first. 20:34
Juerd Uhhuh
It's mm-dd-yyyy that really annoys me.
Not only because I'm not used to it. It's mostly because it fails to make sense.
TimToady well, if you were used to starting your letters with July 4, 1776 style dates... 20:36
Juerd I *am*.
In fact, I've used that form on juerd.nl for ages. Well, almost. It uses ordinalths. 20:37
But in recent years I changed my mind. 20:38
masak Juerd: do you hate the Dutch spelling reform of 2005 for the same reasons Patterner dislikes Germany's? 20:39
Juerd masak: No 20:40
Well, inconsistency is hateful, yes, and we have lots of that, but the main reason for hating the recent reforms is that ambiguities that were gone for decades were re-introduced
masak Juerd: bummer 20:41
Juerd "50 dollarbiljetten" is ambiguous now. It can both mean 50 * $1, or $n * $50
masak Juerd: yes. sounds in part like the reasons to oppose the Simplified Chinese Characters 20:42
they "fix" a system by partly destroying it
Juerd My theory is that this was done to "correct" the name of the language institute.
Their name is "Nederlandse Taalunie". This spelling has always been wrong, until 2005. They changed the rules in order to not have to change their name. 20:43
The correct spelling would have been "Nederlandse-Taalunie". It's the union for the Dutch language, not a language union that happens to be Dutch. 20:44
masak Juerd: *lol*
Juerd Because this institute isn't Dutch. It's NL+BE.
masak 's favorite jokes all involve at least two semantic points of view 20:45
Juerd We write compound words without whitespace because that prevents ambiguity. See also Perl 6 and postfix operators.
If the first part of the compound word already has whitespace in it, you "encode" it using dashes. 20:46
Patterner Donaudampfschiffahrtskapitaensmuetzenkordel!
Juerd So the "unie van de Nederlandse taal" (union of the Dutch language) would be the Nederlandse-taalunie.
That is (Nederlandse taal)unie
This rule was simple and useful. 20:47
johnjra WHAT IS THE PROBLEM HERE ????????
Patterner simple and useful.
masak johnjra: overly zealous use of caps?
Patterner We cannot have that in the 21st century
Juerd The only problem with it was that whenever the original part had whitespace in it because it was a proper noun, you wouldn't encode it. This exception made the rule confusing, and all they should have done was remove the exception.
johnjra masak: you shut up,i wasnt talkin to you 20:48
Juerd Albert Heijn-medewerker would become Albert-Heijn-medewerker (Employee of Albert Heijn, a supermarket chain)
masak johnjra: dreadfully sorry, sir
Juerd: I've had the same thought at times
I'm not sure I can do that in Swedish, though 20:49
people would consider it strange
even though from a mathematician's perspective it makes perfect sense
Juerd Anyway, this is just one of the many annoyances. But because of this thing with the name of the Nederlandse Taalunie, it upsets me the most.
This specific part of the reform just confirmed that the Unie behaves irresponsibly 20:50
diakopter johnjra: to whom were you talkin?
Juerd They fuck up a large part of the language just to fix their own name.
johnjra diakopter: you shut up too,i wanst talking to you
Juerd suggests that we all just put johnjra on ignore
johnjra looooooooooooooolz
Juerd /ignore johnjra 20:51
It should have been called /shun :)
masak /ignore johnjra
though I mostly feel sorry for him 20:52
johnjra it was just a joke actually but well ...
20:53 elmex joined
Juerd watches Scrubs S05E21 20:53
masak wow, there's already five seasons of Scrubs? cool. 20:55
luqui johnjra, don't say that about Juerd. that's not nice 20:56
haha, oh yeah, with masak? totally!
Juerd What with masak?
masak Juerd: I think he's emulating what would happen if we only saw one side of an exchange 20:57
quite clever, actually :)
Juerd Fortunately, Irssi has /ignore -replies 20:58
Which also filters out lines =~ /^$nick/
So seeing one side of the conversation only happens when people don't prefix the nick
Like in 21:56 < luqui> haha, oh yeah, with masak? totally!
20:58 ruz joined
masak Juerd: ok, it was preceded by luqui asking john jra not to say stuff about you, "that's not nice" 20:59
though far as I can tell, the gentleman in question had not said anything
luqui that is true
Juerd This is funnier than you think.
luqui i get it
masak Juerd: no, I don't think so :) 21:00
why would it be? 21:04
Juerd It's not funny in English ;) 21:05
TimToady: Good one. I'll use that a *lot*! :)
21:05 ruz joined
masak Juerd: O RLY? 21:05
Juerd: then please explain to me, in whatever language it is funny... :)
21:07 ruz joined
Juerd masak: 't Is grappig om mensen te zien uitleggen wat ik al weet, terwijl degene die 't uitlegt denkt dat ik niet weet wat hij wel weet, en er iemand bij is die wel weet dat ik het weet, waar de uitleg bovendien over ging, en waarvan degene die niet weet wat ik wel weet, niet weet dat hij weet dat ik het weet. 21:08
masak Juerd: but there's always the logs, right? 21:10
Juerd I don't log
masak no, the ones online
those have no /ignores in them
Juerd Doesn't matter.
masak ok, I'll get back to you in a few days, once I've consulted my neighbourhood Dutch person on the funniness of your explanation 21:12
my own reading of it (limited as my Dutch is) doesn't reveal anything
Juerd Heh
Be warned: it really isn't funny in English.
masak Juerd: consider me warned
21:14 larsen_ joined
Juerd Larsen doesn't sound italian 21:14
larsen_ yes, that's not my name
luqui dictionary.reference.com/translate/ does dutch :-)
larsen_ my name is Stefano 21:15
Juerd larsen_: That does sound Italian :)
luqui but it doesn't know "weet", which Juerd used more than a few times...
Juerd luqui: know/knows 21:16
luqui infers the meaning based on context. yay for context.
Juerd Context being irc? :)
TimToady luqui: I was worrying about reordering all(@foo) ~~ any(@bar) into any(@bar).accepts(all(@foo)), but I think by the rules in S02 the all always trumps the any regardless of the order, so maybe we're okay on that.
luqui what does all(@foo) ~~ any(@bar) mean?
TimToady S09 rather
any(@bar).accepts(all(@foo)) :) 21:17
luqui that is, without the ~~ rules for it
TimToady it is true if all the elems of @foo match somewhere in @bar 21:18
luqui you keep being ambiguous
luqui thinks about more junctive reform
ugh, junctions just bug me so much... they could be so much better... :-)
TimToady well, with the .accepts rewrite, the invocant must autothread or we don't have a proper type on the left 21:19
it simplifies if the argument to .accepts also autothreads, so we never write any of those with Junctions.
luqui the point being "if all of the strings match any of the patterns" is ambiguous in english
TimToady that is, all the method defs are straight types, not |Junction 21:20
yeah, I know.
luqui (and so is your sentence starting with "it is true")
:-
TimToady but English tends to priviledge the first one.
luqui I'm getting a necker cube out of that sentence, actually
(equal time given to each reading, flopping back and forth every five or six seconds) 21:21
masak luqui: me too, now that you mention it
I didn't have a problem with it until you pointed it out :/
luqui what did it mean before I pointed it out? 21:22
TimToady the rules in S02 basically say the all always autothreads before the any
S09, darn it.
masak lumi_: hm... "for all elements in @foo, the element matches somewhere in @bar" but that is quite inconsequential, I think
luqui considers changing the first two letters of his nick 21:23
masak luqui: oops, sorry :)
lumi_: also sorry. I meant luqui. hope I didn't wake you or something
lumi_ Still asleep, I assure you :P 21:24
luqui I seem to be settling on "there is one pattern which all strings match"
i.e. any threads first. 21:25
TimToady Whatever the rules are, I'd just like it not to be counter-intuitive for ~~ if all the other operators MMD left-to-right instead of right-to-left
masak lumi_: good to hear :)
luqui whereas "any of the strings match all of the patterns" is almost certainly "there is one string which matches all patterns" 21:26
again, any threads first
I'm sure there is literature on this kind of thing
if we must deal with multiple threadings in one sentence, we might as well base it on linguistic research
TimToady linguistics isn't generally gonna give you a consistent answer on that sort of thing... 21:27
luqui realizes that...
pick the theory we like best
:-)
TimToady is the theory funny in Dutch?
masak TimToady: as long as it is sane in perl6, that's all that matters to me :) 21:29
TimToady anyway, it's possible that S09 has the precedence backwards on autothreading. I do like that there is a precedence, if it solves the ~~ reordering problem.
Juerd ~~ doesn't need to be symmetric.
TimToady on the other hand, doing it by left-to-right consistenly might just mean we need to desugar ~~ to something smart enough to autothread backwards.
Juerd In fact, that only makes it confusing IMO
TimToady That's the whole point of what we're doing. 21:30
trying to see how the single dispatch form works out
Juerd Ah
TimToady I don't mind that reversed forms have to be written "when .accepts($value)"
I'm just worried about the junctions at this point. 21:31
Juerd Too bad there isn't a reversed ~ in unicode ;)
TimToady I did (briefly) think about spelling "when" backwards. :)
luqui wait, don't we get it for free if we write ~~ as sub infix:<~~> (Any, Any|Junction) ?
TimToady get what for free? 21:32
luqui the semantics we are looking for
Juerd luqui: And a junction on the LHS would cause autothreading?
luqui isn't quite sure what we're looking for
Juerd, yeah
TimToady but yeah, in the abstract rewriting twice could give us the autothreading in the other order naturally. 21:33
what is fairly certain to me is that the underlying comparison routines don't generally want to accept Junctions at all. 21:34
unless the Junction can be guaranteed to be type homogenous
any(1,"foo") ~~ any($a,$b) 21:35
luqui yeah, I don't think anything really wants to accept junctions...
luqui shuts himself up
TimToady even rewriting to $a.accepts(1|"foo") | $b.accepts(1|"foo") isn't gonna dispatch right if 21:36
Juerd :)
TimToady the right arg wants to distinguish Num from Str
so I think it just wants to completely autothread, based on Patterns that never contain junctions. 21:37
luqui here's a question:
TimToady The Selector type includes Junctions though, because it has a different purpose
luqui what does given(1|2) {...} mean?
yeah, I think grep (/^foo/ & /bar$/) @list is a useful use for junctions 21:38
and I don't want it to autothread lexically
TimToady well, to pick nits, it's a syntax error without a space after the given.
right, that's what Selector is for.
luqui (which would get you a junction of lists)
no kidding?
how come?
TimToady we're trying to be consistent about mumble(...) always being a function call. 21:39
luqui oh... given(1|2):{...} ?
TimToady that might work.
luqui right
it's coming back to me now
TimToady but why not just "given 1|2 {...}"
luqui yeah, that works too
TimToady anyway, it just pokes the junction into $_ is all.
luqui no threading? 21:40
TimToady I don't think people will expect threading the whole block.
luqui so it seems like there is a large class of functions which does accept junctions and a large class that does not
TimToady I think the assumption with given is that it's a distributed/factored ~~ 21:41
luqui neither is linguistically cofinite...
TimToady so each when is in charge of its own autothreading
luqui can I explicitly thread junctions?
or explicitly not thread them? 21:42
(the latter being the one I don't think I can do)
(because it would be a type error)
(ok)
TimToady well, you could pass in a junction within a container of some sort, but that takes type collusion
luqui would like a haskellish all() too, in order to be explicit 21:43
all @x -> $x { $x ~~ any @y }
TimToady how to force grep(all(@foo), @bar) to autothread is an interesting question.
luqui that's doable, but calling it all() might be a mistake
all @foo -> $x { grep $x, @bar } 21:44
:-)
TimToady currently doable as "all gather for @foo -> $x { grep $x, @bar }" 21:45
er, with a take
21:46 buubot joined
TimToady all gather for @foo -> $x { take grep $x, @bar } would do it. 21:46
luqui do you think it would be wise for 'for' to behave like map with args reversed?
thus: all do for @foo -> $x { grep $x, @bar }
TimToady it doesn't?
luqui wasn't sure
maybe it was like in perl 5
TimToady oh, you mean in returning values 21:47
luqui yeah
TimToady I'm trying to decide if it would violate Least Astonishment. 21:48
It's probably okay. Question is whether a final for in a function works the same. 21:49
or whether it's just "do" that turns on the collecting.
luqui what did a final for in a function do before? 21:50
return the last thing from the last iteration?
TimToady in p5 probably returns the virtual undef off the end of the list
possibly there's a performance issue
if you collect up all the results, and you were only interested in 21:51
the side effects, or you return 90% thru.
then you collect a bunch of stuff only to throw it away.
much like a final map would
P5 at least tracks whether the sub was called in void context. 21:52
I suppose P6 could also.
21:52 nipra joined
TimToady anyway, I don't see much reason for "do for" except to mappishly collect all the results. 21:53
so we could certainly do it there, I think.
21:53 buubot joined
luqui but what tells it to do that? 21:54
you can't just start making do do new things, lest it cannot be trusted
TimToady well, "do" just makes the context come from the expr on the left rather than the outer blocks context. 21:55
and presumably the expression on the left may supply a context that is known at compile time. But that's not certain either.
luqui oh right, we'd like to optimize at compile time 21:56
TimToady a bare "do" on the front of a statement is kind of a no-op, mostly.
luqui now the trade-off makes more sense...
TimToady It's hard to keep everything in mind simultaneously. :) 21:57
luqui of course, when the return value is explicitly typed it is not a problem 21:58
we know exactly what to do
21:58 diakopter left
TimToady I think of programming as a protracted negotiation with the computer over which order it should throw away information. :) 21:59
luqui remembers something about list comprehensions and goes to review it 22:02
22:04 aufrank joined
TimToady goes to hack on S03 some more on the assumption that ~~ and when can simply be resugared to $pat.accepts($value) 22:04
or somethink like that...
luqui don't be too long, I'll start to complain about comprehensions shortly 22:05
22:07 khisanth_ joined 22:08 khisanth_ is now known as Khisanth
masak apparently, the driving force today is complaints 22:09
(not that there's anything wrong with that :) 22:10
luqui when I am around, that's what drives design 22:11
TimToady I suspect you'll start complaining about comprehensions shortly whether or not I'm too long... :) 22:13
masak luqui: I'm glad of that. your complaints are often about lack of consistency, and I have a thing for consistency
TimToady I think we need spelling reform in Perl. when => wen for instance. 22:14
change do => doo 22:15
masak TimToady: if, so please make it a module :)
22:15 Entonian joined
luqui it wouldn't be a difficult one to write 22:15
22:17 khisanth_ joined
luqui first vaguely related question: in S03 there is my @args := @foo, @bar; 22:17
that doesn't flatten? 22:18
TimToady use iŋgliÅ”;
luqui ? 22:19
TimToady my *@args := would flatten
luqui okay... so, that doesn't die?
isn't that the same as: sub foo (@bar) {...} foo(@foo, @bar) 22:20
TimToady looks like "too many args" to me.
masak TimToady: I'd call it "iŋliāˆ«"
luqui the my @args := @foo, @bar; looks like too many args to you, you mean? 22:21
TimToady you don't put a g in the middle when you pronounce it?
22:21 weinig is now known as weinig_
allbery_b except that we mostly pronounce the "g" as well as the "ng" :) 22:21
22:21 weinig_ is now known as weinig
TimToady luqui: yes 22:21
my @args := [@foo,@bar] would work though.
luqui fixing 22:22
masak TimToady: not a hard one, no. the "ŋ" suffices in my dialect (or rather, rendering) of iŋliāˆ«
luqui why is capture flatten spelled | ? 22:23
instead of something more.. verbose and... obvious?
Khisanth so if @foo was 1,2,3 and @bar was a,b,c. push @foo, 4; would make @args[3] change from a to 4? O_o
TimToady don't what people assuming it's a listop. 22:24
luqui same goes for list comprehensions, I suppose ;-)
no, that's not my problem with them. but let's talk about | first 22:25
TimToady Khisanth: no, [...] constructs a new array.
luqui oh, I get what Khisanth was talking about. yikes... 22:26
oh, I'm dumb
that's not the fix I wanted
oh dear... 22:27
does my $x = $(@foo); mean the same thing as my $x = @foo;
?
TimToady yes. 22:28
luqui okay...
TimToady $x = item @foo
luqui this is getting uglier and uglier. you'll have to double check S03 when I'm done with it.
yeah, same ugliness factor
so, now the section on | reads: 22:29
my @args := [item @foo, item @bar];
push |@args;
TimToady oh, what you want is my @args := \(@foo, @bar)
captures don't commit to flattening or not 22:30
luqui I think you were trying to emphasize that it wasn't already a capture object
Khisanth that is a strange statement
TimToady in that case it should probably be [item @foo, @bar] 22:31
or you're just pushing the @bar object into @foo.
johnjra >just worked with sockets on perl,but i can pass information only one way,how do i pass it the other way too ? should i open another socket in the other way ?
luqui hmm, that's true
TimToady sockets are supposed to be 2-way 22:32
johnjra TimToady: how are they 2 way ? i'll tell you immediately the article that i read
TimToady that's what distinguishes them from pipes, primarily.
johnjra TimToady: ive used this www.perlfect.com/articles/sockets.shtml 22:33
lambdabot Title: Perl, Sockets and TCP/IP Networking.
luqui johnjra, you should go to #perlhelp and ask 22:34
we usually don't talk about perl 5 here
er
not perlhelp 22:35
uh... where is it?
#perlhelp on magnet maybe?
you might find help on #perl here on freenode...
johnjra luqui: if you can help me with something ,please related to my problem,i am searchig for a method ,i dont care if its perl 5 or 6,i really dont care about that at all 22:36
luqui you probably do care about that...
are you using pugs?
TimToady if you want to use a socket two ways, you probably need to use sysread/syswrite to avoid buffering issues with <$sock> and print $sock.
johnjra luqui: no i dont
Khisanth it will be rather difficult for you to use perl6 as it doesn't fully exists yet
luqui so, listen to TimToady (you can't find better help) or go to a perl 5 room 22:37
TimToady and the answers to this question will almost certainly be different.
luqui (sorry, I don't know much about perl networking)
johnjra Khisanth: i dont care,those are technical issues,im really very pragmatic about this,and im not going to turn this version stuff into a philosophy
luqui sigh... perl 6 is *very* different from perl 5 22:38
johnjra luqui: really,leave that away of the problem ,it really isnt important
TimToady pragmatically, as well as pholosophically...
luqui oh... kay
Khisanth I guess we can just provide the solutions in Haskell then ;) 22:39
luqui johnjra, my best advice would be to try TimToady's advice in this case 22:40
or go ask at #perl where there are more people who know the answer
so... anyway, list comprehensions 22:45
I do feel like list comprehensions are a really expressive and powerful way to, er, express some things
ofer0 perl6's motto is "there is exactly one way to do it, and it sucks"
luqui and I think list() list comprehensions miss out on most of that power, so you'll have to rely on map and grep
(which is annoying)
ofer0 nah, I'm just kidding. 22:46
luqui I thought it was "there are 39 ways to do it, or you can invent your own, and they're all slow"
ofer0 hey TimToady, what's Perl6 motto?
luqui for 1..6,12 -> $n { see "A$n" } 22:47
Khisanth ofer0: "my way or the highway" :P 22:48
luqui also, how is "1 < list(@a) < 10" supposed to read? 22:49
I'd read it as "the list of @a's which are between 1 and 10"
masak ofer0: "perl6: if we had it already, we could implement perl6 sooner" :)
luqui i.e. more like list @a -> { 1 < $_ < 10 } or something
masak, :-)
ofer0 masak, heh, nice one 22:50
masak night &
TimToady ofer0: Second System Syndrome Done Right 22:51
allbery_b heh 22:52
Khisanth SSSDR might be mistaken for someone trying to imitate a snake
ofer0 Khisanth, LOL 22:53
TimToady Perl 6 will be mistaken for a lot of things, I think...
the list() style comprehensions are just a way to write the corresponding grep. 22:54
I agree they aren't full list comprehensions.
so your reading of "1 < list(@a) < 10" is correct as it is currently defined. 22:55
it's just grep {1 < $_ < 10}, @a 22:56
luqui okay... 22:57
TimToady list is possibly not the best word for that. at one point we were using all(), I think, but then realized it implied unordering
luqui is that supposed to read more nicely?
(I'm used to putting a "such that" in english before such constructions)
TimToady used to be "for all(@x) < 32 {...}"
ofer0 maybe "each" ?
nah, not good 22:58
TimToady already use "each" for something else.
for every(@x) < 32 might work.
luqui all, each, every...
TimToady but it's just sugar.
nanonyme i have a suspicion perl6 is going to take a lot of time to learn... :/
luqui I think it'd be nicer to focus on real comprehensions 22:59
(maybe you did, and then couldn't come up with anything)
Khisanth nanonyme: same as 5
TimToady mostly just waiting for suggestions from young whippersnappers. :)
luqui I find that plausible, because not only does the [foo | bar] syntax not work, I don't think it's very good even if it did
nanonyme Khisanth: hmm, most stuff in perl5 seemed intuitive to me since they were similar to stuff in other programming languages 23:00
luqui well, I keep wanting to fit it into existing syntax
but that just ends up getting cluttered
TimToady actually, "do for" is now close
Khisanth nanonyme: if you start learning more languages now, then the p6 stuff will be similar too :)
nanonyme hmm 23:01
luqui yeah, you can rewrite (haskell's) [ f(x) | x <- list, pred(x) ] as do for @list { next unless .pred; take f($_) }
but that's not very, um, succinct
TimToady @list = do for @a { $_ if 1 < $_ < 10 }; 23:02
lambdabot No module "= do for @a { $_ if 1 < $_ < 10 };" loaded
luqui haha lambdabot, you so crazy
TimToady but that doesn't let you extend the do without {...} added.
luqui yeah, but you can't do multiple comprehensions veyr easily
TimToady -> $a, $b ?
luqui do for @a XX @b -> $a, $b { ... } 23:03
yeah, but then @b can't depend on $a
maybe I'm just spoiled
I would love to have that combinatorial power though 23:04
TimToady hmm, cursors...
luqui maybe we should look at it more like the list monad instead of comprehensions (they are the same, but I have begun writing combinatorial programs in the former)
but... 23:05
no, it just doesn't work for perl
TimToady we're already dangerously close to getting lynched just for introducing lazy lists...
luqui let's look at language, then
"the hair of every angry flea on each dog" 23:06
hmm, each would be better than every there
eh, language isn't good at this. list comprehensions come from math's set comprehensions 23:07
{ f(x) | x in A }
or { f(x) | x in A, x < 64 } 23:08
if I had to linguistify that, I would say f(x) for each x in A such that x < 64 23:09
or even f(x) for each x in A < 64
{ f(x,y) | x in A, y in B, x**2 + y**2 < 1 } 23:10
TimToady -> $x where { 1 < $_ < 10 } {...}
luqui interesting
TimToady It's one of them thar Selectors... 23:11
luqui but the big one that demonstrates the power is not from math
TimToady assuming for is smart enough to skip and not fail.
luqui [ f(y) | xs <- as, y <- xs ] 23:12
dependent bindings...
TimToady in theory our bindings are dependent, but don't auto-iterate lists.
23:13 Aankhen`` joined
TimToady -> $a, $b = $a {...} is legal 23:13
luqui in math you would have to say { f(y) | exists xs. y in xs in as }
TimToady these remind me of database joins as well.
23:13 JiggleButt joined
JiggleButt Howdy, yall! 23:14
JiggleButt in da house!
luqui haaaidy ho
JiggleButt Yipee yi yo!
Sup wid yall, homey?
luqui hmm, what is the join syntax from sql? 23:15
TimToady mercifully I forget
luqui never knew 23:16
JiggleButt smacks luqui
23:16 JiggleButt left
luqui whew, I needed that 23:16
TimToady was that a 'bot?
luqui that was johnjra 23:17
23:17 Psyche^ joined
johnjra luqui: shut up 23:17
luqui are you saying that that wasn't you? 23:18
luqui watches himself succumb to trolling
I don't mean to offend, I just inferred based on your similar ircnames...
TimToady different address tho 23:19
luqui true
nevermind
johnjra luqui: cut the crap,and leave me alone with your weird remarks,i am not to take part in such futile discussions 23:21
luqui johnjra, uh, okay 23:22
so....... that was awkward. back to business
invoke continuation(five minutes ago)
23:23 Vex joined
luqui SELECT table1.col1, table2.col3 FROM table1, table2 WHERE table1.col2 = table2.col2 23:24
simple enough
TimToady but see also S09:606 "Parallelized parameters and autothreading"
23:25 Psyche^ is now known as Patterner
luqui so we may want to unify the two ideas into one cleaner, saner one 23:25
TimToady -> $a in @A, $b in @b where { $a < $b } { f($a,$b) } 23:26
luqui though I do remember talking a lot about einstein threading...
so it may be unlikely that we'll find a better one
TimToady einstein?
luqui reminiscent of einstein notation
TimToady ah, yes 23:27
luqui it's amazing that we don't have the "in" keyword yet 23:29
TimToady -> $a in @A, $b in @b { f($a,$b) if $a < $b }
luqui we could use it... :-)
though that hardly strikes me as a -> block... 23:30
maybe "in @X" is short for "where { $_ in @X }", together with some magic
TimToady -> $a, $b {...} in @a, @b 23:31
luqui uh, yikes
keeping them together gives the possibility of $a in @A, $b in @$a
TimToady nod, just brainstorming 23:32
23:32 dduncan joined
TimToady it's a strange signature that doesn't look for an argument, unless they're really defaults. 23:34
luqui I mean, you could extend signatures to allow constraints...
TimToady sigs already allow constraints
using where
luqui yeah, but some constraints seem really weird with where
maybe you just put up with the weirdness 23:35
TimToady @fido in @pound where Dog
lambdabot Maybe you meant: id redo todo undo
luqui or maybe it's like that capture thingy we talked about a little while ago
zero-width parameters
the all-feared unification of regexes and signatures :-/
sub ($x, $y, $x < $y) 23:36
oh, right, we can have where outside
sub ($x, $y) where { $x < $y }
I fear that if I let my mind go free on this one I will come up with some incredibly powerful unacceptable thing 23:37
TimToady that'd be cool, at least temporarily. :P
luqui often my powerful proposals come at the expense of difficult-to-learn-ness (I know there's a word for that) or huge speed hits 23:38
...
well, expense of easy-to-learn-ness I suppose
anyway, I'm going to get some food 23:39
TimToady nap time &
luqui have you been traveling?
TimToady no, just getting old.
luqui ah
johnjra TimToady: im going to go read up sysread/syswrite now 23:42
where is perl used mostly ? 23:52
luqui johnjra, perl found its niche (some years ago) in the CGI script world 23:53
a lot of people use it for sysadminning
23:53 Limbic_Region joined
luqui and it has found some other useful applications (eg. RT (a bug tracker), svk (version control), ...) 23:54
I know I'm missing some big ones
johnjra are there others who know where perl is used mostly ? 23:55
luqui those who have used it, I imagine :-) 23:56
a lot of them are here and a lot of them are in #perl
johnjra im actually banned from #perl because i made fun of the admin gods 23:58
teh op gods that is