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 |