'-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6' Set by rafl_ on 5 November 2005. |
|||
azuroth_t | hmm | 00:01 | |
azuroth_t is trying out feather's web-based IRC client. cool | |||
Khisanth | CGI:IRC? | 00:02 | |
azuroth_t | I believe so | ||
doh. somehow I wiped out all of src/Pugs/PIL2.hs | 00:04 | ||
Khisanth | ... | 00:08 | |
well at least reverting changes is trivial :) | |||
azuroth_t | yeah. I was wondering for a few days why it wasn't compiling - just thought to try reverting then | 00:09 | |
?eval my @a = (Int(4), Str("blah")); say @a; | 00:20 | ||
evalbot_7905 | Error: cannot cast from VObject (MkObject {objType = (mkType "Class"), objAttrs = <ref>, objOpaque = Nothing, objId = 17}) to Pugs.AST.Internals.VCode (VCode) | ||
azuroth_t | err, stupid | 00:21 | |
geoffb | Anyone happen to know if there is a way to get use Perl journals from authors you are interested in to appear on the same page / in the same feed without declaring them friends? | 00:55 | |
scook0 | woo! | 02:17 | |
luqui | woo? | 02:18 | |
scook0 | oh, just finished exams this morning, so hopefully more time for Pugs stuff | 02:22 | |
luqui | ?eval +'0123' | 05:08 | |
evalbot_7905 | 0.0 | ||
svnbot6 | r7906 | luqui++ | Fixed +'0123' (used to return 0). | 05:10 | |
luqui | ?eval +'0123' | 05:11 | |
evalbot_7906 | 123.0 | ||
jdv79 | seen stevan | 05:36 | |
jabbot | jdv79: stevan was seen 3 days 8 hours 23 minutes 12 seconds ago | ||
gaal | liz6: ping | 07:06 | |
Yay, TaPL arrived. | 08:34 | ||
azuroth | TaPL eh? *adds to read-list* | 09:13 | |
d'aw, safari doesn't seem to have ti | 09:15 | ||
renormalist | Hi all! Are there any german speaking people here? I'm looking for german Pugs enthusiasts who want to participate in the German Perlworkshop 2006, to establish a Pugs focus. Currently I only know of german speaking rafl and iblech. | 10:49 | |
leo | Hi renormalist - just answered the mail - I'll come to Bochum | 11:06 | |
renormalist | nize, thanks | 11:17 | |
r0nny_ | re | ||
azuroth | fwd? | 11:18 | |
svnbot6 | r7907 | liz++ | Some more work on S17draft.pod: boy, is this hard to convey in English | 11:30 | |
r0nny_ | renormalist: i'm german | 11:31 | |
rafl | r0nny_: Hello. | 11:44 | |
Err. | |||
renormalist: Hello. | |||
renormalist: Got my mail WRT friday? | |||
r0nny_ | ;P | 11:45 | |
yo rafl | |||
svk mirror ? | |||
rafl | Nothing new. | 11:47 | |
sri_ | renormalist: i'll be there too | 12:31 | |
12:45
theorbtwo is now known as Dorwardsinnervoi,
Dorwardsinnervoi is now known as theorbtwo
|
|||
autrijus | renormalist: I think I may be able to make to the Deutscher Perl workshop. | 14:06 | |
esp. good if iblech also manage to come :) | |||
<- helsinki airport | 14:07 | ||
Limbic_Region | helsinki airport headed where? | 14:08 | |
salutations btw | |||
rafl | autrijus++; # German Perl Workshop! :-) | 14:09 | |
autrijus | headed to Zurich, then to Hong Kong, then to Taipei | ||
clkao waves at autrijus | |||
autrijus particles at clkao | |||
rafl | autrijus: wlan on the helsinki airport? I wasn't able to get connected there when I've been there the last time.. | ||
autrijus | wlan with AP "homerun", though require payment | ||
theorbtwo | Autrijus: International man of hackery. | 14:10 | |
autrijus | had a Very Long Conference with jhi and aevil last night | ||
rafl | I didn't care about payment when I was there. I was forced to wait 5 hours :-/ | ||
autrijus | on unicode, cpan (a perl6/ directory in cpan coming up), community, releng, and more | ||
rafl | autrijus: Only a perl6 directory which doesn't differ much from the rest of cpan beside there live perl6 modules or will some changes that were proposed by S22 be implemented? | 14:12 | |
autrijus | rafl: a new indexer. | ||
idea is when you upload to PAUSE it can shuffle the module into diff. dirs | |||
by the "language" part in the long name | |||
so perl5:DBI goes to orig perl5 dir | 14:13 | ||
perl6:DBI (implicit on a p6 "module DBI") goes to perl6 | |||
and to be indexed separatedly according to static analysis and multiversioning specs | |||
rafl | But ot the dists/ + pool/ structure? | ||
autrijus | pool? | 14:14 | |
(mm boarding calls) | |||
I'll write up more about what aevil/jhi and me tlaked about in journal... I've jotted things in analog dead trees | 14:15 | ||
and got a wonderful "Unicode Demystified" book from jhi | |||
so I'm happy -- but gotta run now | |||
autrijus waves & | |||
will try to pingback from the zurich airport ;) | 14:16 | ||
stevan | enjoy your flight autrijus | 14:17 | |
autrijus | thanks :) & | ||
nothingmuch | www.garg.com/jim/anime_laws6.0.html | 14:39 | |
renormalist | autrijus: It would be veeeeery nize, if you would come to the workshop. | 15:47 | |
sri_: sorry for late reading. It would be nize if you would come to the perlworkshop. Do you plan a talk? | 15:48 | ||
gaal | any language folks about? | 15:56 | |
renormalist brb in 1h | |||
gaal | why can't we give instance variables default values right in the C<has> declaration? | 15:57 | |
class Jabberwock; has $.claws = "catch" | |||
Oh, I see in S12 that in roles that's valid. Won't it be useful in general too? | 15:59 | ||
what's the latest spelling of the default invocant? "self" with no sigil? | 16:45 | ||
sili saw something about a $?SELF, but has no idea what it is | 16:48 | ||
PerlJam | gaal: aye. | 16:50 | |
sili | PerlJam: what's $?SELF ? | 16:51 | |
PerlJam | $?SELF and self are both in the "spec" | ||
sili | hmm. | ||
PerlJam | sili: it's the current invocant. | ||
Though the spelling may change soon. $Larry made some rumblings about unifying $?vars and $=vars | 16:52 | ||
sili | what's the difference? | ||
gaal | PerlJam: thanks. S12 on dev.perl.org is old! | 16:53 | |
PerlJam | $=vars were PODish and $?vars were stuff you knew at compile time. Since that's basically the same thing, $Larry was talking about unifying them under $=vars so that the ? twigil could be free for other nefarious uses. | 16:54 | |
gaal | what, you mean i can't do documentation that changes at runtime? :-p | ||
PerlJam | gaal: aye. The synopses need updating. | ||
gaal | hmm, and in-class method calls, are they now self.othermeth? | 16:57 | |
or would othermeth suffice? | |||
PerlJam | .othermeth or self.othermeth | 16:58 | |
or $?SELF.othermeth | |||
gaal | no, .othermeth is sometimes $_.othermeth | ||
s/sometimes// | |||
PerlJam | no, .othermeth is *always* $_.othermeth. It's just that sometimes $_ is the invocant :) | ||
gaal | yeah. | ||
sili | wha? so sub foo {$_ is self ?} | 16:59 | |
gaal | until assigned differently, yes. $_ is thankfully lexical now | ||
theorbtwo | ?eval class foo { method bar { } }; foo.bar | ||
evalbot_7907 | undef | 17:00 | |
theorbtwo | ?eval class foo { method bar { } }; &foo::bar | ||
evalbot_7907 | \sub {...} | ||
theorbtwo | Oy. | ||
theorbtwo doesn't remember the method of Method (or whatever it's called) to get the prototype. | |||
(Or even if there is one, come to think of it...) | |||
gaal | i doubt there's one in pugs now. dunno about the spec. | 17:01 | |
there is .arity... | |||
fwiw. | |||
PerlJam | theorbtwo: .prototype or .signature probably | 17:02 | |
theorbtwo | ?eval class foo { method bar { } }; &foo::bar.prototype | ||
evalbot_7907 | Error: No compatible subroutine found: "&prototype" | ||
theorbtwo | ?eval class foo { method bar { } }; &foo::bar.signature | ||
evalbot_7907 | Error: No compatible subroutine found: "&signature" | ||
theorbtwo | gaal: I know about arity (I wrote it), but that isn't very helpful here. | ||
gaal | theorbtwo: what are you trying to do? | 17:03 | |
theorbtwo | Find the default name of the invocant by asking. | ||
Twas just a silly idea. | |||
gaal | ahhhhh well i doubt that could even work, because it's likely folded in during paring. | 17:04 | |
parsing | |||
brb # tea | |||
renormalist | ?eval say "Hello"; | 17:05 | |
evalbot_7907 | Hello bool::true | ||
PerlJam | gaal: depends on when you ask. | 17:06 | |
If you asked at compile-time, just after static analysis you should get a reasonable answer. | |||
renormalist | ?eval "aaa" ~~ "aaa"; | ||
evalbot_7907 | bool::true | ||
renormalist | ?eval "aaa" ~~ rx/aaa/; | 17:07 | |
evalbot_7907 | *** Cannot parse PGE: :w::aaa *** Error: end of file Match.new( ok => bool::false, from => 0, to => 0, str => "", sub_pos => (), sub_named => {} ) | ||
renormalist | ?eval "aaa" ~~ rx:perl5/aaa/; | ||
evalbot_7907 | Match.new( ok => bool::true, from => 0, to => 3, str => "aaa", sub_pos => (), sub_named => {} ) | ||
gaal | PerlJam: who is this information useful for? | 17:08 | |
the only place it might conceivably be usa*ble* is inside the method itself | 17:09 | ||
Juerd | renormalist: Please find a pugs interpreter :) | ||
PerlJam | gaal: I don't know, it was theorbtwo's idea :) | ||
renormalist | Juerd: I have one, I just try out this channels eval thing. | ||
Juerd | renormalist: Okay. | ||
renormalist | Juerd: :-) | ||
Juerd | renormalist: It's meant for helping in conversation, though | 17:10 | |
To illustrate a point | |||
renormalist | Juerd: ah, ok | ||
theorbtwo | My idea is that it'd be useful for automagic documentation. | ||
PerlJam | yeah, I was wondering if you were pointing out that PGE was broken :) | ||
gaal | and to impress visitors. don't forget that. | ||
Juerd | PerlJam: So was I | ||
PerlJam | theorbtwo: perl6's introspection will be tremendously useful for automagic docs. | 17:11 | |
theorbtwo: but only in documenting "what we already know" in some sense. | |||
(where "we" are the programmers actually looking at the code) | 17:12 | ||
Juerd | I think signatures will prove very useful in documentation. | ||
Usage information so concise, and because of variable names even documenting, that the full description will often not even be needed. | |||
gaal | yeah, Poogle anyone? | 17:13 | |
Juerd | Eh, that reading it will often not be needed. | ||
It does have to exist, of course :) | |||
gaal: Sounds cute :) | |||
Though I'd prefer a php.net-like system | 17:14 | ||
php.net/keywoard | |||
s/oa/o/ | |||
theorbtwo | Also sounds like a trademark lawsuit waiting to happen. | ||
Juerd | I made something like it for Perl, under tnx.nl | ||
tnx.nl/print | |||
tnx.nl/func | |||
gaal | theorbtwo: www.haskell.org/hoogle | ||
Juerd | tnx.nl/op,OO,requick,vars | ||
gaal | it's spectacularly usefule. | ||
Juerd | Really great on IRC. | ||
gaal | s/e\././ | ||
theorbtwo | LOL: | 17:15 | |
gaal | Juerd: hoogle is of course available on #haskell. | ||
theorbtwo | "Roses are red. Violets are blue. Google rocks. Homage to you. | ||
gaal | yeah, ndm++. | ||
Juerd | I like the thinkgeek "Roses are #ff0000 / Violets are #0000ff" shirt | 17:16 | |
The spare ribs delivery guy is late :( | 17:17 | ||
HUNGRY | |||
integral | maybe he's still being marinaded? :) | 17:18 | |
Juerd | He? :) | 17:19 | |
Eh :) | |||
I think he's stuck in traffic. | |||
Traffic's terrible here around this time. | |||
And since this area is reachable only by car and by very brave people... :) | |||
gaal | getting back to the previous discussion: i don't see though, why doesn't "othermeth" Just Work like say in Java? is this on purpose to avoid confusion, or is there something preventing it from working? | 17:21 | |
i know this is an oooold discussion - i'm not beating it, just trying to summarize the results. | 17:22 | ||
PerlJam | gaal: 1) how is the programmer to know it's a method? 2) how is perl to distinguish between methods and ordinary subs? | 17:26 | |
nnunley | Java always has an object in context -- there are no global subs. | ||
gaal | PerlJam: 1 is quite a reasonable ergonomic point. 2 can be addressed similarly to how MMD questions are. | 17:27 | |
but that's fair enough. | |||
rafl | renormalist: Updates for friday? | 18:06 | |
renormalist | rafl: just sent you mail. Still dont know. I would like to come, but it collides with other things ... | 18:12 | |
rafl | renormalist: Would be great, though. | 18:16 | |
gaal | i'm waking up late, but Rules using <> as special symbols makes quick'n'dirty XML parsing a pain. | 18:23 | |
anyone have a PGE-enabled pugs on feather? | 18:26 | ||
..that works :) | |||
rafl | gaal: Doesn't /usr/bin/parrot work? | 18:35 | |
gaal: Please highlight me if it doesn't. I'll try to fix that later. I need to leave now. | 18:38 | ||
gaal | rafl: parrot -V runs, but all PGE matches via pugs fail. | 18:46 | |
?eval "moose" ~~ /m/ | |||
evalbot_7907 | Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode) | ||
gaal | ?eval say "ok" if "moose" ~~ /oo/ | ||
evalbot_7907 | Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode) | ||
gaal | rafl: that isn't the error I was getting from eric256's autopugs though. | 18:47 | |
I got: | |||
*** Cannot parse PGE: (the rule I was using) | |||
*** Error: end of file | |||
PerlJam | gaal: work for me (with freshly compiled parrot+pugs) | 19:11 | |
gaal | ath? | 19:15 | |
path? | |||
oh, on your own box? | 19:16 | ||
PerlJam | yeah, on my own box. Hold on a sec and I'll do it on feather. | ||
er, it might be a little more than a "sec" :-) | |||
gaal | thanks (i'm trying to concentrate on writing so fixing anything that's not english is too distracting) | ||
that's okay :) | 19:17 | ||
actually maybe you can help me by just porting a regexp: | |||
# rx:perl5{<description>(.+)</description>\s*</item>} | |||
is this going to be as ugly as i think it is on p6 rules? | 19:18 | ||
PerlJam | perhaps | ||
rx( <lt> description <gt> (.+) <lt> /description <gt> \s* <lt> /item ) # I think | 19:19 | ||
not sure if the <lt> <gt> rules are available in pugs/pge though | |||
theorbtwo | You can't just backwhack the angle brackets? | 19:23 | |
geoffb | PerlJam, it's been a while, but isn't the \s* not necessary? I thought rules defaulted to \s* between tokens? | ||
theorbtwo isn't big on rule-fu. | |||
PerlJam | geoffb: only when you use :w (:words) | ||
geoffb | Also, gaal, if you're using PerlJam's rule, he's missing a <gt> at the end. | ||
PerlJam, hmmm . . . I thought that implied \s+ as opposed to \s* | 19:24 | ||
PerlJam | ah, so I am | ||
geoffb: no, :w implies \s* or \s+ depending on the location of the spaces in your rule (i.e. what's on either side of the space) | |||
geoffb | sigh | 19:25 | |
Perl certainly is like English . . . so much power, and SO messy | |||
gaal | PerlJam: thanks. | ||
PerlJam | theorbtwo: and, yes you can backwhack the angles if you so choose. | ||
geoffb: yep. Fortunately for perl, the world is quite messy too. That makes it easier to get a one-to-one correspondence between reality and your software. | 19:26 | ||
geoffb | :-) | ||
gaal | hmm. I want to call a method in the condition of a when clause. can't I? | ||
?eval class X; method cc { 4 } my $o = X.new; given $o { when (.cc > 3) { say "ggg" } } | 19:27 | ||
evalbot_7907 | undef | ||
geoffb | autosave++ # At least Emacs has the decency to save your file before crashing . . . . | ||
gaal | whoa, which reminds me, ci time. | 19:28 | |
that looks like a bug to me. anyone think different? | 19:29 | ||
theorbtwo | Certianly looks like a bug to me. | 19:30 | |
svnbot6 | r7908 | gaal++ | tpd.pod: two examples/, some stuff on junctions, and minor fixes. | 19:34 | |
gaal | anyone on OSX here? | 19:37 | |
nothingmuch | 19:38 | ||
gaal | yo! | ||
Is there currently a Mac equivalent to "apt-get install pugs" now? | 19:39 | ||
nothingmuch | no | ||
all solutions are third party (fink, darwin port, gentoo-osx) | |||
and I doubt they have pugs | |||
gaal | s/one(currently, now).pick// | ||
nothingmuch | fink is apt-get ported | 19:40 | |
gaal | okay: how does someone get pugs on a mac? i hope there are at least binaries for GHC yes? :) | ||
nothingmuch | it might be easy (i have no clue) to make rafl's stuff into there | ||
yes, there are binaries | |||
www.haskell.org/ghc/download_ghc_641.html | |||
or you could use fink/darwinports for ghc | 19:41 | ||
the .pkg file is easy though | |||
gaal | so: what's the n-liner to install pugs on a mac? | ||
nothingmuch | download, double click | ||
double click GHC-6.4.1.pkg (it will unzip automatically, i think) | |||
(perhaps it will even open automatically, bringing you into the installer) | |||
(i don't remember) | |||
gaal | okay, and then cpan Perl6::Pugs in a shell yes? | 19:42 | |
nothingmuch | click next/i agree/install repeatedly | ||
yhes | |||
well, no | |||
sudo cpan | |||
gaal | yeah yeah | ||
nothingmuch | sudo is crucial - root does not have a password by default on OSX | 19:43 | |
i hate conscience games | |||
dad is pissing me off | |||
he said "do the dishes" | |||
i jokingly said "every time you ask me i'll reset my counter | |||
so he threw a fit, and then very dramatically did it himself | |||
and I'm supposed to feel bad | 19:44 | ||
gaal | which counter? | ||
nothingmuch | the counter for in how many seconds it's going to take me to finish what i was in the middle of when he first asked me | ||
wait, no, mom first asked me | |||
nothingmuch doesn't like when people try to manipulate him | 19:45 | ||
gaal | in that case resetting it is good, since that implies the job's finished ;-) | ||
nothingmuch | if he would have just asked it would have gotten done | ||
but because I need to feel guilty while doing it... | |||
gaal | hey, anyone feel like a nice Parsec task? | 19:47 | |
# www.nntp.perl.org/group/perl.perl6....uage/23996 | |||
tests exist in t/oo/attributes/attribute_initializement.t | |||
xinming++ | 19:48 | ||
nothingmuch passes | 19:49 | ||
Catalyst::Plugin::Authorization::ACL is nearly done | |||
what an exodus that was | |||
geoffb | 40 days in the desert? | 19:50 | |
nothingmuch | 3 days in the dispatcher ;-) | ||
gaal | heh | ||
gaal would not mind being in the desert now - I miss Sinai | 19:51 | ||
geoffb writing go-live push docs for $contract | |||
Ah, the sweet smell of a nearing push | |||
Juerd | dvoraks++ # both | 20:02 | |
nothingmuch | Juerd: the composer and the engineer? | 20:04 | |
Juerd | nothingmuch: If "the engineer" is the guy who made this great keyboard layout... :) | 20:15 | |
nothingmuch | that's what I meant | 20:16 | |
Juerd | Then, yea. | 20:17 | |
gaal | anyone understand Larry's last p6l post? specifically, what does a public interface do to a private member? | 20:27 | |
svnbot6 | r7909 | gaal++ | tpr.pod: | 20:32 | |
r7909 | gaal++ | * change $: to $! | |||
r7909 | gaal++ | * "see also" section | |||
gaal | nothingmuch: still there? | 20:40 | |
nothingmuch | yep | 20:41 | |
gaal | # haskell.org/ghc/download_ghc_641.html#macosx | ||
the very bottom says that ghc is available on darwinports | |||
does that mean if you install from there you build your own ghc? | |||
like on a freebsd system? | 20:42 | ||
"The compiler is built from source, using a binary bootstrap compilier" -> built on your machine? | |||
nothingmuch | i don't know | 20:43 | |
i think so | |||
gaal | ah, you mentioned that port above, didn't notice | ||
nothingmuch | but i don't use darwinports, so I have no clue | ||
gaal | ok thanks. | ||
nothingmuch | the pkg file is binary though | ||
i use it happily | |||
gaal | yeah, that's good stuff. | ||
stevan | nothingmuch: ping | 21:05 | |
nothingmuch hides | 21:09 | ||
stevan | I see you behind that terminal window | 21:10 | |
dduncan | gaal, I noticed you updated tpr.pod in accordance with Larry's email on private attr syntax ... do you plan to update the parser too, or is the change not official? | 21:35 | |
rafl | gaal: Does it work for your pugs with PGE support? | 21:43 | |
r0nny_ | yo | 22:03 | |
rafl | nothingmuch: I don't think Debian packages can be turned into fink packages that easily. | 22:04 | |
SamB | gaal: I can tell you that you can't build GHC without GHC | 22:06 | |
unless you are porting and build from .hc files generated by a cross-GHC | 22:08 | ||
dduncan | so that's why build ghc from source takes so long!\ | ||
on another note, I like that change from : to ! for private attrs; makes it look less like package qualification syntax | 22:10 | ||
eg, $:foo vs $::foo | |||
or $bar:foo vs $bar::foo | 22:11 | ||
(of course, the :: used in this way may not be valid perl 6, but it still evokes packages in my mind) | 22:12 | ||
nothingmuch | rafl: even for something that doesn't compile? | ||
rafl | nothingmuch: Err? | 22:37 | |
nothingmuch | rafl: well, pugs is more portable than e.g. some_app | ||
it works out of the box on OSX | |||
so is the tricky stuff the releng for the paths and stuff? | 22:38 | ||
rafl | nothingmuch: I don't understand "even for something that doesn't compile?", though. | ||
nothingmuch | it was a brain fart | ||
ignore it | |||
rafl | nothingmuch: AFAIK fink uses a single $package.info file to put all informations that are in debian/ for Debian packages in. | 22:40 | |
nothingmuch knows nothing of either debian or fink ;-) | |||
rafl | So it's hard to convert from Debian to fink, imho. | ||
nothingmuch | (that deeply, that is) | ||
ah, okay | |||
so screw it =) | |||
rafl | I don't know much about fink as well. | ||
OK. I don't care about fink anyway as my ibook croaked some months ago. | 22:41 | ||
(And because I used Debian on it anyway :-) | |||
svnbot6 | r7910 | liz++ | some more work on docs/AES/S17draft.pod | 22:51 | |
stevan | hey robkinyon | 23:26 | |
svnbot6 | r7911 | stevan++ | Perl6::ObjectSpace - | ||
r7911 | stevan++ | * adding return type checking for closure type | |||
r7911 | stevan++ | - added tests for this | |||
robkinyon | stevan: Yessssss? | ||
stevan | nothin | 23:27 | |
just sayin hey | |||
robkinyon | oh. | ||
hey! :-) | |||
leo | liz6: - Coros are _like_ processes (S17draft) | 23:34 | |
I seem to have a different view of Coros ;-) | |||
specifically there are *no* threads involved | 23:35 | ||
liz6 | leo: not necessarily... | 23:38 | |
or maybe we do think of it differently... ;-) | |||
robkinyon | How does Ruby do coros? they seem to have it down pretty well ... | 23:39 | |
leo is thinking of coros of course parrot-wise | |||
liz6 | I'm still trying to come up with a use case... | ||
leo | this means that exactly one interpreter is running the main code and the coro | 23:40 | |
implying there is never a concurrency problem | |||
liz6 | can two threads call the same coroutine? | ||
leo | sure as they can call the same sub | ||
*if* variables are share properly... | 23:41 | ||
shared even | |||
liz6 | but the second tread would block until it has yielded to the first thread? | ||
leo | nope | 23:42 | |
the caller get's the result - no one else | |||
liz6 | yes: | 23:43 | |
leo | coros aren's thread imho | ||
liz6 | (initially I thought the same, and maybe I'm seeing threads everywhere) | ||
but I wonder if it wouldn't be possible to have a coro continue execution | 23:44 | ||
until the next yield, so that another thread would get back the next result | |||
immediately? | |||
leo | either the caller or the coro is running | ||
all other things aren't cors but threads | 23:45 | ||
coros | |||
shit keyboard | |||
liz6 | hmmm... | 23:46 | |
could very well you're right... | |||
leo | because if there is any piece of concurrency the implementation (low-level) is different | ||
liz6 | it's been a long day with a lot of meetings and a lot of travel for me... | ||
leo | you can still call it coros of course | ||
liz6 | (yes) | ||
leo | but inside parrot or $other_machine these aren't coros anymore | 23:47 | |
liz6 | well, we're talking language design here, so whether at a lower level something is a thread or a coro, doesn't matter much or does it? | 23:49 | |
leo | no | ||
liz6 | I mean: autri and I have also discussed that detaching a thread | ||
_could_ mean doing a fork() | |||
leo | but coros which need threads per se are likely to be a lot slower | ||
I would make any concurrency explicit in the syntax | |||
liz6 | well, maybe not all coros need threads | ||
leo | just my 2c | ||
liz6 | I'm just wondering how coros could not be thread aware... | 23:50 | |
if two threads call the same coro | |||
one of the threads needs to block until the other has returned | |||
leo | do you now pthon generators? | ||
python | |||
liz6 | I've heard of them... | ||
but that basically means: no | |||
;-) | |||
leo | well, instead of blocking a thread the interpreter is just running the coro, then it continues in the caller | 23:51 | |
liz6 | so the code inside a coro could be executed by two threads at the same time? | 23:52 | |
how would that work for an iterator? | |||
leo | there is no advantage here basically in using threads - except if you want threads because there is parallelism | 23:53 | |
iterators usually don't do much work, run a few opcodes .yield(result), ... | 23:54 | ||
liz6 | well, you may well be right... | ||
for some reason (and I'm too dense at the moment to be really able to explain why) it feels wrong not to include the possibility that coros can be threads as well | 23:55 | ||
leo | that's not the problem - some coros better can be threads - but please make this really explicit in syntax | 23:56 | |
liz6 | working on that! | ||
it's still a draft! | |||
leo | of course - and thanks for considering | 23:57 | |
liz6 | no thanks... thank you for pointing out this issue... | ||
anyways.. going to catch some shuteye... | 23:59 | ||
night everyone! | |||
leo | yeah same here |