6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: feather.perl6.nl:8888/ | www.geeksunite.net Set by Juerd on 20 October 2005. |
|||
autrijus | yeah | 06:29 | |
geoffb | Has an odd visual impact. Mildly signifies that a | is somehow less than a $ . . . . | 06:30 | |
Khisanth waits for article titled "How to kill with a Sigil" | |||
autrijus | I sent the "sub Bool eqv (|T $x, |T $y) { ... }" suggestion to p6l. | 06:31 | |
Khisanth notes that sial.org/pbot/perl6 is back as well | |||
in place of ¢T ? | |||
autrijus | yeah | 06:33 | |
if we are to have tyvar, better have something easy to type. | |||
(imvvho.) | |||
Khisanth nods | |||
¢ requires hiting 4 keys here | 06:34 | ||
autrijus | yup | ||
I'm seeing ¢ the same way as haskell people and scheme people use λ | |||
PLT scheme even recognizes the λ form | |||
Khisanth | even with the compose thingy it's still 3 keys compared to 2 | ||
autrijus | but it's there just so pretty papers can be written | 06:35 | |
in everyday use, it'd be the easy to type equivalent. | |||
jql | methinks I'll be finding it unnecessary in everyday usage | 06:37 | |
and :: required hitting 3 keys. :) | 06:39 | ||
geoffb | To sleep or to hack, that is the question . . . | ||
Sleep is in the lead, at the moment | |||
jql avoids sleep on the weekend -- that's what work is for | 06:40 | ||
gaal | aloha! | 08:08 | |
autrijus | yo gaal | 09:13 | |
ooh, irc.pugscode.org back | |||
autrijus proceeds to upload new versions of XUL slides | |||
fixed the multi-xul problem | |||
lucs++ | |||
so they are now all one files each | 09:14 | ||
r0nny | morning | ||
autrijus | hi r0nny | ||
r0nny | is there a way, to use c++ libs with pugs ? | ||
autrijus | you can use haskell FFI and link it statically | 09:15 | |
or use Parrot NCI to call it | |||
or compile to JS and link Spidermonkey with C++ libraries | 09:16 | ||
depends on what specific lib you want to use I guess | |||
r0nny | quit hw problems | 09:28 | |
autrijus | NPW talk going to be on air in... 30mins | 10:44 | |
slightly updated slides are on pugscode.org/ | 10:45 | ||
xerox | Which one? | ||
autrijus | pugscode.org/euroscon/pugs.xul | 10:47 | |
the other ones are also condensed into single xul | |||
Juerd | autrijus: feather now accepts mail for perlcabal.org, by the way | 10:49 | |
autrijus: Sorry it took so long :) | |||
10:50
r0nny_ is now known as r0nny
|
|||
Juerd | (This was a few days ago, but I hadn't told you yet) | 10:50 | |
rafl_ | Cool.. 8-) | ||
Juerd | I wonder what keeps fucking up utmp | 10:51 | |
Clearly more users are logged in than are listed in utmp | |||
autrijus | I'll be off net... | ||
rafl_ also wants the slides of the other talks. Especially the UTF8 and SVK one.. | |||
autrijus | wish me luck :) | ||
xerox | Have fun autrijus! | ||
Juerd | autrijus: Good luck! | 10:52 | |
svnbot6 | r7696 | autrijus++ | * Slight tweak for Pugs.Compile: s/CompMonad/Comp/g | ||
Juerd | Heh, a last minute pugs commit during the last minute slide adjustments? :) | ||
cognominal | |T for a type variable will make difficult some future arithmetic on types. | 11:33 | |
Or blank would have to be significant. That is | T possibly meaning something different from |T | 11:34 | ||
I like significant spaces because that leaves more space (pun intended) for more grammar | 11:35 | ||
wolverian | hmm, ¢ is 3 keys here; altgr+shift+e. it's not that hard to type really. why don't all keyboards have altgr (or similar)? | 12:16 | |
Aankhen`` goes to sleep. | 12:27 | ||
clkao | rafl_: the svk talk is on opensource.fotango.com/~clkao/svk-intro/ | 12:32 | |
autrijus | cognominal: we have signif whitespace anyway. | 12:35 | |
compare: | |||
%hash vs % hash | 12:36 | ||
cognominal | yea but so far we are ashamed of it instead of claiming it an asset | 12:53 | |
autrijus | well, it's nothing to be ashamed of | 12:56 | |
it's an asset :) | |||
also | |||
&code vs & code | |||
which is very close to |type vs | type | |||
integral | pity prefix * is already used | 13:02 | |
xerox | Use µ :) | 13:03 | |
integral | ∀ or a capital lambda would make some sense ;) | ||
xerox | Ø ? :) | ||
cognominal | btw, on X window where is the doc about typing unicode chars? | 13:14 | |
autrijus | docs/quickref/unicode ? | 13:19 | |
r0nny | yo | 13:26 | |
does someeone have a getopt imp for perl6 ? | 13:27 | ||
autrijus | no, there's some test in ext/Getopt-Long | 13:35 | |
takers welcome | |||
svnbot6 | r7697 | iblech++ | * Usual svn props. | 13:53 | |
r7697 | iblech++ | * docs/quickref/unicode: Added some missing Vim ^K digraph sequences. | |||
stevan_ mumbles about crappy IRC clients ........ | 14:45 | ||
autrijus mumbles about incredibly crappy wifi | 14:49 | ||
stevan_: I'm reading PickAxe :) | |||
stevan_ | autrijus! | ||
autrijus: great book, I think i have a first edition around here somewhere | 14:50 | ||
stevan_ went out and bought it after reading pragmattic programmers | |||
autrijus: I have been giving some thought to the metamodel/container-type intregration | |||
autrijus | yes? | 14:51 | |
stevan_ | well I have some questions | ||
unboxed types will be implented in the interpreter/compiler right? | 14:52 | ||
and the boxed versions will be implemented in the metamodel, correct? | 14:53 | ||
autrijus | yes and yes. | ||
(wifi reset every 5min) | |||
stevan_ | autrijus: so, the metamodel needs to be written using the unboxed types | ||
autrijus | that is most likely the case, yes | 14:54 | |
stevan_ | will we want to wrap the metamodel after bootstrapping, so it deals with boxed types? or will be have automagic boxing? | 14:55 | |
14:57
stevan_ is now known as stevan
|
|||
autrijus | stevan: automagic? | 14:58 | |
stevan | automatic (with a little magic sprinkled on it) | ||
autrijus | there needs to be a wrapping there that exposes |class into |Class | 14:59 | |
just so you can augment it | |||
er, I mean ::class and ::Class. | |||
that part needs to be done by the runtime, so the compile will assume ::Class is already there | 15:00 | ||
stevan | hmm, so we will really need to wrap the metamodel post-boostrapping then | 15:01 | |
autrijus | yes, I think that is unavoidable | ||
stevan | ok | ||
autrijus | hi DaGo | 15:04 | |
DaGo | hi autrijus | 15:05 | |
stevan | autrijus: I am going to experiment with this using fglock's containers | ||
autrijus | greeitings from NPW | ||
1st day of conf just ended | |||
so wifi may go away anytime | |||
stevan: cool! | |||
stevan | fglock__: ping | 15:06 | |
autrijus | bbiab... & | 15:07 | |
featherpaste | "gaal" at 192.115.25.249 pasted "p5 emb warnings. linux / 6.4.1-1" (12 lines) at feather.perl6.nl:8888/2 | 15:40 | |
rafl_ | clkao: Thanks. | 15:52 | |
gaal | eep, now the build hangs on Compile.Run. I think this may be a problem with hs-plugins though. :/ | 15:53 | |
whoop, no, just got freed. | |||
r0nny | re | 15:55 | |
rafl_ | clkao: What does the graph in slide 24b show? | 16:09 | |
16:21
Limbic_Region_ is now known as Limbic_Region
|
|||
Limbic_Region | For anyone who wasn't aware - Dan has posted a Parrot post mortem | 16:39 | |
www.sidhe.org/~dan/blog/ | |||
fglock | stevan: pong | 16:50 | |
16:51
Limbic_Region_ is now known as Limbic_Region
|
|||
fglock | stevan: pong | 17:51 | |
stevan | fglock__: pong | 18:48 | |
autrijus: ping | 19:32 | ||
autrijus | stevan: pong! | ||
stevan | autrijus: some questions re: the container types | 19:33 | |
ifyou have a moment | |||
autrijus | sure | ||
stevan | so I am trying to make a list of the native "things" we will need | ||
autrijus | ok | ||
stevan | that the interpreter will need to support | ||
and I am using fglocks list to start with (from Perl6::Value) | |||
autrijus | ok | 19:34 | |
stevan | my question is.. how do those (Num, Int, Bit, List, etc) fit with the Scalar, Array Hash of the Perl6::Container group | ||
Are the Values just things which can be stored into a Cell? | |||
and will all the Value types be subtypes of Scalar? or is Scalar just another type? | 19:37 | ||
autrijus | ok | ||
for a Scalar cell, yes, a value is just something that can be stored into it | 19:38 | ||
a Scalar is an object type. | |||
stevan | boxed, unboxed, or either? | ||
autrijus | either. | ||
stevan | and the Cell is the native type from which Scalar gets it's implementation? | 19:39 | |
when you say "Scalar is an object type", do you mean a boxed type? | 19:40 | ||
autrijus | yeah, Cell is not exported | ||
stevan | hey luqui | ||
autrijus | yes, Scalar is a boxed type. | ||
stevan | there is no such thing as an unboxed Scalar right? | ||
luqui | hi stevan | 19:41 | |
stevan | do unboxed types have methods? like num.to_str()? or is that sugar for Num.new(num).to_str()? | ||
autrijus | there is no such thing as an unboxed scalar. | 19:42 | |
stevan | meaning we autobox it if you start "poking" it? | ||
luqui | I think they do... | ||
autrijus | autoboxing is on by default, that I'm pretty sure. | ||
svnbot6 | r7698 | autrijus++ | * remove the "t e s t" directory for testing as it gives | ||
r7698 | autrijus++ | sky problems on his osx, and we are not using them anyway. | |||
luqui | but the autoboxing behavior is unspecced, and probably will remain so | ||
autrijus | yup. | ||
stevan | ok | ||
luqui: just to catch you up, I am trying to seperate the native types from the boxed types | |||
so that I can figure out where the metamodel fits in | 19:43 | ||
luqui | the unboxed types are there so we can make code that needs to run fast do so, so features on boxed types are allowed to be limited | ||
s/boxed/unboxed/ | |||
heheh... including unboxed types in the metamodel could be... painful | |||
stevan | luqui: no, I need to build the metamodel out of unboxed types since the metamodel will provide the boxes themselves :) | 19:44 | |
luqui | er, why? | 19:45 | |
stevan | where are the boxes going to come from? | ||
luqui | where have they been coming from until now? | ||
stevan | if Array is a Role, then you need Roles before you have Array | ||
luqui would not consider unboxed types to be more "fundamental" than boxed types | |||
stevan | luqui: I have no idea :P | ||
luqui | instead, I consider them an optimization technique | ||
autrijus | we have a runtime. it provides certain stuffs natively. | 19:46 | |
we may choose to export those things into p6 land as unboxed types. | |||
we also need to use them to implement the metamodel. | |||
stevan | I am assuming that the runtime provides a set of unboxed types | ||
then we implement the metamodel with them | |||
autrijus | those two are not identical | ||
stevan | then we make all the pretty boxes for the types | ||
autrijus | we can use some stuff from runtime that we don't expose | ||
eg native "hash" | 19:47 | ||
luqui | ohh, assuming the implementation provides a set of unboxed types | ||
stevan | for the metamodel? | ||
autrijus | in the metamodel | ||
luqui | I get it | ||
autrijus | or we can also expose additional stuff we don't use in metamodel | ||
stevan | autrijus: why not an unboxed Map? | ||
luqui | I don't think that those are the same unboxed types as "int", "num", etc | ||
autrijus | like "complex" | ||
Juerd | Are unboxed types guaranteed to be available? | ||
autrijus | stevan: becasue it varies from runtime to runtime. | ||
stevan: and because it's not partof spec. | |||
Juerd | Or can only those be used that actually exist on the target platform? | ||
luqui | because they will be different from implementation to implementation, they should be hidden from userland | ||
stevan | ah, the spec :) | ||
autrijus | Juerd: if the target platform has no native unboxed complex, we need to emulate them slowly. | 19:48 | |
luqui | Juerd, they are always available, but they are not always guaranteed to be unboxed :-) | ||
autrijus | what luqui said. | ||
Juerd | I see | ||
stevan | autrijus, luqui: but can't we have a decent unboxed Map/Hash impl, just built on top of whatever the runtime supports? | 19:49 | |
luqui | of course | ||
stevan | the only reason I wonder is that the metamodel relys heavily on hashes | ||
luqui | but the unboxed underbelly need not be seen by perl users, need it? | ||
stevan | luqui: I dont care either way :) | ||
autrijus | stevan: we can assume the runtime has a very fast hash/map. | ||
stevan | autrijus: ok | 19:50 | |
autrijus | but the hash/map/dictionary thing operates differently on p6 | ||
unlike int or num which works pretty reliably | |||
stevan | ok | ||
autrijus | so it makes little sense to expose hash to userland. | ||
stevan | gotcha | ||
autrijus | :) | ||
stevan | now, what about code objects, they are a slightly different beast | 19:51 | |
autrijus is, of all things, hacking darcs<->svk support with clkao. | |||
luqui | autrijus, interesting | ||
luqui is starting to dislike svk a little | |||
maybe I'm not using it correctly | |||
stevan | blasphemer!!!!! | ||
autrijus | luqui: how so? | ||
luqui | svk blame foo.pl # all come up as my name | 19:52 | |
stevan | luqui: cause you dah man! | ||
luqui | no, I don't mind that they all come up as me when I do svk praise :-) | ||
clkao | blame -x ? | ||
stevan | autrijus: I am wondering how unboxed Code objects interact with pads. | ||
autrijus | stevan: talk in code? | 19:53 | |
(and also, "unboxed code" as such is not really part of p6 spec.) | |||
stevan | I am not sure how to do that | ||
ok, then what will native executable chucks look like? | |||
autrijus | again, "unspecced" | ||
stevan | hmm | ||
luqui | clkao, no luck | ||
autrijus | luqui: svk blame //mirror/pugs/path/to/file | 19:54 | |
luqui | autrijus, eeew, okay | ||
autrijus | luqui: unpleasant, I know. | ||
should have a blame --upstream or something | |||
stevan | autrijus: well we can assume all runtimes provide some type of subroutine right? | ||
forget about how it is exposed to the user for now | 19:55 | ||
luqui | stevan, you mean closure? | ||
stevan | luqui: yes (i think) | ||
clkao | ah | ||
luqui | hmm.. I think we can assume that | ||
yes we can (because we are assuming continuation :-) | |||
clkao | was talking about proper merge traversal api so we will be able to do that | ||
stevan | what I am getting at is that I would like to be able to bind things to a subroutines lexical scope/execution context | 19:56 | |
this would make the metamodel, and in particular the method "implementation" easier | |||
luqui | stevan, I don't quite follow | 19:57 | |
stevan | luqui: we are deep in the bowels of the runtime,.. what do the closures look like? | ||
luqui | stevan, think perl 5 | 19:58 | |
that's what you get | |||
stevan | can I say: $my_closure.bind_to_env('$?SELF' => $obj); | ||
luqui: I know next to nothing about the bowels of p5 | |||
luqui | the bowels of the p5 runtime is all in p5 userland | ||
however, a level of indirection will always get you what you want I think | 19:59 | ||
pass env as first parameter to sub | |||
bundle in the same object as the closure | |||
stevan | hmmm,. very LISPish | ||
autrijus | (we already do that for p5embed) | 20:00 | |
stevan | well, is that going to the be the sub types responsibility? or is the runtime going to manage pads? | ||
luqui | ohhhh, stevan, you are wondering what is in the runtime interface | 20:01 | |
stevan | luqui: yes, I care nothing for users :P | ||
luqui | I was actually approaching from the opposite direction, that you were in the guts of the runtime | ||
but you are actually the meat in the middle of the sandwich | |||
stevan | luqui: I am thinking from both ends sort of | ||
luqui | or jelly | 20:02 | |
okay, I think that the runtime has to provide a closure with an env | |||
stevan | agreed | ||
does each closure mange the env? or does the closure ask the runtime for the current env? | 20:03 | ||
or does that not matter really | |||
luqui | "ask the runtime"? | ||
stevan | autrijus: thoughts? | ||
luqui: is it | |||
$closure.add_to_env('$value' => 1); | |||
or: | |||
$env.add('$value' => 1); $closure->($env) | 20:04 | ||
who manages the pads I guess | |||
luqui | oh, I think the runtime does | ||
stevan | ok | ||
luqui | because it knows more about how it can make that fast | ||
also more about closures behave... | 20:05 | ||
more about everything actually | |||
hmm | |||
what' a good template that I can steal for writing an ext/ module | 20:07 | ||
stevan | uhm | ||
for what? | |||
luqui | L::AG in particular | ||
autrijus | luqui: Test-Builder? whatever | ||
luqui is just making sure he didn't steal a bad example | |||
autrijus | stevan: a native closure maintains its env in itself | 20:08 | |
stevan | ok | ||
but once it exits, then its back to the runtime? | |||
autrijus | I think so. | ||
stevan | or is the top level, just an implicit closure,.. | 20:09 | |
autrijus | the toplevel is definitely just an implicit closure | 20:11 | |
because you can capture that | |||
stevan | so all closures maintain their own state,.. | ||
autrijus | yes | ||
stevan | ok | ||
so it might look something like this: | 20:12 | ||
for a top level environment | |||
Closure->new(env => %{::main}); | 20:13 | ||
geoffb | mmm, tea | 20:18 | |
stevan | hey geoffb | ||
geoffb | Hey stevan, autrijus, luqui | ||
luqui | hi geoffb | 20:20 | |
?eval module Foo; our class Bar { } Bar.new.say | 20:22 | ||
evalbot_7698 | Error: unexpected "B" expecting variable name or "(" | ||
luqui | ?eval module Foo; class Bar { } Bar.new.say | ||
evalbot_7698 | <obj:Bar> bool::true | ||
stevan | autrijus: so, do we have a list of unboxed types that must exist? | 20:23 | |
luqui | are you talking about userland unboxed types, or runtime-interface types? | 20:24 | |
stevan | userland | ||
let me explain my motivation | |||
I want to (using Flgocks stuff) implement all the runtime stuff I will need for the metamodel | |||
luqui | stevan, see S09 | 20:25 | |
stevan | then I am going to re-write/hack the metamodel to be implemented in terms of them | ||
but I dont want to deal with any more unboxed types that I need to | |||
luqui | okay | ||
stevan | luqui: thanks | ||
I mean, the metamodel has no need for Pair, or Junction | |||
luqui | righto | ||
stevan | or Rat | ||
luqui | ?eval fail "foo" | 20:26 | |
evalbot_7698 | Error: No compatible subroutine found: "&fail" | ||
luqui | ?eval die "foo" | ||
evalbot_7698 | Error: foo | ||
luqui | ?eval class Foo { has $.bar = 1 } say Foo.new.bar | 20:27 | |
evalbot_7698 | Error: unexpected "=" expecting trait, "handles", ";" or "}" | ||
luqui | ?eval class Foo { has $.bar; method set($.bar) { } } my $foo = Foo.new; $foo.set(42); say $foo.bar | 20:29 | |
evalbot_7698 | 42 bool::true | ||
stevan | ok, thanks much luqui, autrijus .. I am going to sketch some of this out later tonight | 20:30 | |
but now I need to go pick up the kids from grandmas house :) & | |||
autrijus: one last question | 20:35 | ||
what about control structures | |||
should the metamodel use the native control strucutres? or the ones implemented in the runtime | |||
or does it not really matter since the internals of the metamodel are a black box anyway | 20:36 | ||
luqui | stevan, how would you possibly use the control structures in the runtime? | 20:37 | |
stevan | luqui: magic! | ||
luqui | ?eval switch 42 { default { say "hi" } } | 20:38 | |
evalbot_7698 | Error: No compatible subroutine found: "&switch" | ||
luqui | ?eval given 42 { default { say "hi" } } | ||
evalbot_7698 | hi bool::true | ||
luqui | (duh) | ||
stevan | ok, the I am going to assume a for-loop, while-loop and an if/then/else construct in the runtime | 20:39 | |
thats pretty safe | |||
luqui isn't sure why you're being so minimal | 20:40 | ||
stevan | s/runtime/native implementation language/ | ||
luqui: its a reference implenation of the metamodel,.. it can be optimized per-platform | |||
luqui | right | ||
so... why so minimal? | |||
stevan | uhm, ... I dunno,.. what do you suggest? | 20:41 | |
luqui | it's not like given can't be translated into a cascade or a switch | ||
stevan | yes, but why use it if I dont need it | ||
luqui | stevan, true | ||
but why not use it if it will help understanding | |||
stevan | luqui, true | 20:42 | |
luqui | just write it in canonical perl | ||
you're not bootstrapping with it, correct? | |||
so there's no need to write in a subset | |||
stevan | bootstrapping in what way? | ||
bootstrapping the compiler,.. no | 20:43 | ||
luqui | right | ||
stevan | although I am trying to keep that in mind | ||
but I really have to run now,.. I will be back later tonight, thanks & | |||
luqui | later | ||
dduncan | fyi, I'm now going to attempt moving my development to svk from svn, partly for its offline commits feature ... I may or may not encounter issues that would lead to questions here on those that use svk | 21:00 | |
my client for pugs and other projects, that is | |||
geoffb | dduncan, also you might want to join #svk too | ||
dduncan | good idea ... is it on freenode? | 21:01 | |
integral | yep | ||
dduncan | okay ... entering ... | ||
svnbot6 | r7699 | luqui++ | r2044@feather: fibonaci | 2005-10-22 23:02:20 +0200 | 21:05 | |
r7699 | luqui++ | Started working on L::AG. | |||
r7700 | luqui++ | Heh, perl5ism. | 21:11 | ||
wolverian | S04 says 'default {...}' is the same as 'when true {...}'. should it be 'if true {...}' instead? | 21:20 | |
Juerd | No | ||
when breaks | |||
default { ... } unreachable(); | |||
wolverian | right, but that means it does 'if $_ ~~ true { ...; leave }' (or so) | ||
Juerd | Yes | ||
But that's not if true { ... } | 21:21 | ||
I see what you mean, though | |||
wolverian | if $_ is false it doesn't execute | ||
I think. | |||
Juerd | It's that "~~ true" tests boolean equivalency | ||
I think that's useless anyway | 21:22 | ||
as there is no 'true' and there is no 'false' | |||
wolverian | I don't know which 'true' is meant here | ||
Juerd | In case of booleans, you'd do if/else, not when/when | ||
wolverian | bool::true or true() | ||
$_ ~~ true() would be even more bizarre (but no less wrong) | |||
Juerd | true should be a scalar op | 21:23 | |
And accept 1, no more, but certainly no less, arguments | 21:24 | ||
wolverian | anyway, I'd fix it if I could | ||
but I don't think the AES live in public repos? | |||
Juerd | They do indeed not | ||
wolverian | should I submit a bug report (if so, where? p6l?) | ||
Juerd | p6l | 21:25 | |
Don't forget the ;leave | |||
wolverian | right. | ||
Juerd | Alternatively, suggest removing ~~ true | ||
I don't believe it makes sense to have it. | |||
bool::true's explicit usage should be discouraged. | |||
wolverian | do you mean ~~ bool::true | ||
Juerd | Yes. | 21:26 | |
wolverian | right. | ||
I'm not sure what you mean with removing ~~ bool::true | 21:28 | ||
care to elaborate? | |||
(I'm really tired, so I might not get it anyway :) | 21:29 | ||
Juerd | Make ~~ bool::true not mean anything special | ||
eh, | |||
mean something special | |||
wolverian | I don't think it does now, does it? | ||
Juerd | okay, rephrase: | ||
Make ~~ bool::true always return true | |||
wolverian | ah. I think that is misleading. | ||
Juerd | I think allowing use of bool::true is misleading | 21:30 | |
As when bool::true appears in code, people start using if ($foo ~~ bool::true) instead of if ($foo) | |||
Too many languages prove this. | 21:31 | ||
When dealing with bools, use if, not when | |||
when is for smarter values | |||
wolverian | right. I'm just saying that making it return always true is misleading | 21:32 | |
make it blow up if you want. | |||
Juerd | You are right | ||
wolverian | btw - I think that ; leave will exit the block given to 'if', am I right? that is not what it should do. | ||
Juerd | I do think, though, that there should be an RHS for ~~ that makes it always return true | 21:33 | |
Because of when | |||
"default" should have an expansion with "when". | |||
wolverian | Juerd, id? when $_ { ... } | ||
Juerd | That's the one. Thanks for doing my thinking :) | ||
wolverian | :) | ||
Juerd | default { ... } is when $_ { ... }, but more efficiently. Makes sense. | ||
wolverian | sent. | 21:36 | |
do you have thoughts on the leave() issue? | |||
Juerd | leave 1 | 21:37 | |
wolverian | does that DWIM in for loops? | ||
Juerd | I don't think it exists yet. | ||
But I think it should. | 21:38 | ||
wolverian | right. | ||
it should also behave like next() in for loops | |||
buu | Quick! Someone cheer me up! | ||
wolverian | oh. leave() just might. | ||
Juerd | wolverian: Doesn't when do next anyway? | ||
buu: lol + lol = hihi. | 21:39 | ||
wolverian | Juerd, er. I think leave = next | ||
at least if for() is implemented as a sequence of calls to the block given to it | |||
(how else?) | |||
Juerd | buu: This may be a Dutch thing, though: ) | 21:40 | |
buu: Try it on a calculator: 707 + 707 = 1414. | |||
afk | |||
buu | I was reading Dan's "Parrot Post Mortem" and some related material about p6 and parrot | 21:41 | |
Very depressing =[ | |||
Juerd | buu: oliebol, then? | 21:42 | |
buu: (7083170) | |||
afk | |||
wolverian | whoa, my Epiphany has SVG support, apparently. Ubuntu++ | 21:45 | |
buu stares at Juerd | 21:46 | ||
wolverian | what the heck; my ISP's SMTP relay is denying me access | 21:55 | |
goddamn, I'm not paying nothing to them for this kind of a service! | |||
(unless I decide to upgrade the service) | |||
okay, at least they have a notification about it on their site. | 21:57 | ||
23:10
rep is now known as CrazyNeko
23:12
CrazyNeko is now known as rep
|