pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
TimToady | part of the bug backlog is because I've been out of town, and part because I've been refactoring the quoting parser to use parametric roles, so I didn't want to check in something completely inoperative | 00:00 | |
I'm sure I wouldn't mind small fixes by other people as long as they merge well with my code :) | |||
mncharity | :) so backlog is a transient, rather than a focus shift? | 00:01 | |
TimToady | but I do expect the code to stabilize somewhat once I get the quoting sorted out | ||
and I do expect to have more time in the next few weeks | |||
mncharity | ok. quoting will be nifty. | ||
It's the grep NONSPEC std.rb | wc #=> 62 which is getting painful. | 00:03 | ||
TimToady | basically, the LTM works fine for derived grammars, but there were various spots in STD that should have used derived grammars that didn't | ||
quoting, regex, etc | |||
and certainly some of your NONSPEC is due to lack of LTM, isn't it? | 00:04 | ||
STD will not only be making LTM possible, but relying on it | 00:05 | ||
as it already does, which is why there's no longer <nofat>, for example | |||
00:06
cognominal_ left,
alanhaggai left
|
|||
mncharity | re 'ļ»ædue to lack of LTM?', my impression is mostly not. more that random language feature x isn't parsed by the existing rules. | 00:06 | |
00:07
alanhaggai joined
|
|||
TimToady | how easy would it be to generate a list of those? | 00:07 | |
mncharity looks... | |||
TimToady | (I realize many of them have floated past here already... :) | ||
Eevee | how exactly does {*} work | 00:09 | |
mncharity | colabti.org/irclogger/irclogger_log...xt=checked | ||
lambdabot | Title: #perl6 irc log search, tinyurl.com/63x8or | ||
TimToady | as far as the parser is concerned, it's just a closure that executes * | ||
00:10
armagad_ left
|
|||
TimToady | which does nothing | 00:10 | |
however, the idea is that it's an easily recognizable nothing that you can attach various reduction hooks to via preprocessing | |||
00:11
braceta left
|
|||
Eevee | oh dear | 00:11 | |
TimToady | so any given compiler is allowed to substitute other reduction actions at that point | ||
presumably keyed by the comment out to the right | |||
as an official side effect, it's also equivalent to :: in terminating the longest token | 00:12 | ||
though it doesn't affect backtracking as :: does | |||
mncharity | The "TimToady: (" irc comments were this month's series. There's more in the NONSPEC lines of std.rb, and they tend to explain themselves, though some have already been incorporated in STD.pm. | 00:13 | |
00:14
cognominal_ joined
|
|||
TimToady | biab & # decommuting from $dayjob | 00:17 | |
00:17
alanhaggai left
00:18
alanhaggai joined
|
|||
Eevee skims through S05 | 00:18 | ||
pugs_svnbot | r20598 | putter++ | [STD_red] Unbreak statement modifiers. Eg, 'say 3 if 0'. | 00:24 | |
00:34
alanhaggai left
00:36
jjore is now known as zz_jjore,
zz_jjore is now known as jjore
00:37
bacek__ joined,
jferrero left
00:40
Southen left
|
|||
mncharity | TimToady: (n+1) The current STD.pm's quote:rx using quotenibble doesn't seem to permit adverbial modifiers, eg, 's:P5///'. | 00:41 | |
TimToady | that's part of the refactor | 00:43 | |
Juerd | What's a quotenibble? | 00:44 | |
TimToady | look for user-defined quotes, then nibble the insides | 00:45 | |
but in my copy it has worn down to "quibble" :) | |||
and the modifiers like :P5 are handled by derivation: <quibble(Perl::Q.tweak(:qq).tweak($<quote_mod>))> | |||
well, :P5 would be based on regex language, not qq language, but same basic idea | 00:46 | ||
00:48
tiglionabbit joined
|
|||
TimToady | dinner & | 00:49 | |
mncharity | ok. look forward to it. | 00:59 | |
spinclad also looks forward to TT's dinner # dinner:2nd(:courtesy($TT)) | 01:01 | ||
01:06
cls_bsd left
|
|||
mncharity just can bring himself to add the 700 lines of Class::Multimethods inline into EmitSimpleP5.pm. not sure how to proceed... | 01:06 | ||
01:06
alanhaggai joined
|
|||
mncharity | edit elsewhere... rewrite in mostly p6... ...? | 01:06 | |
*can't | |||
If anyone has a good grasp of how p6 core oo works, I'd love to sketch a p6 oo on javascript architecture... | 01:08 | ||
01:08
simcop2387 joined
|
|||
mncharity | aside from "it runs in peoples' browsers", js is also just about the only prototype-based oo language in widespread use, and thus perhaps a natural for supporting p6 oo. | 01:09 | |
Eevee | mm, still don't like having vars named $/ and $Ā¢ | 01:11 | |
p6 oo on js would be interesting | |||
mncharity | ruby is another candidate, but it has a nasty habit of "almost but not quite real" "it looks like x, but it's faked". | ||
* s//x looks like an object/ | 01:12 | ||
re js interesting, indeed. could be notably better than my current ruby generating js games. | 01:15 | ||
speaking of which... | 01:16 | ||
tiglionabbit | how do you mean ruby fakes things? | 01:19 | |
like how it doesn't have attributes, but accessors look and act just like them? | |||
01:20
ron joined
|
|||
mncharity | hmm... it's clear elf has insufficient visibility at present. rouso's wiki pages speaking of using kp6, which would be clearly silly at this point... | 01:20 | |
ron | rakudo: my $a2 = 3; $a2++ *= 5; say $a2; | ||
exp_evalbot | rakudo r27950 OUTPUT[4ā¤] | ||
tiglionabbit | also I'm with vee about being careful about allowing operators in variable names -- that makes some special cases in the parser, right? (then again, I guess it doesn't matter if it's no longer interpreted) | 01:21 | |
mncharity | STD_gray should probably stall, waiting for a STD.pm update and STD_red sync timesink... | ||
Auzon | mncharity: I've been thinking about blogging about elf, and I'd send it to the SoC2008 planet. Maybe I can get it quoted on Perlbuzz too, if you're interested in some visibility. | 01:22 | |
mncharity | ļ»ætiglionabbit: sorry, I overlooked your question, let's see... | ||
re 'ļ»æhow do you mean ruby fakes things?', eg, methods pretend to be objects, unless you try to use them in a not-common-case manner, at which point you find they are an object-like facade around a more limited C core construct. | 01:24 | ||
tiglionabbit | I think I need an example to understand what you mean there | 01:25 | |
mncharity | Yeah. Trying to remember an example. When doing anything aggressive you tend to keep hitting them... let's see... | 01:26 | |
tiglionabbit | hehe, aggressive | ||
I'm trying to remember if/how you can refer to methods without executing them | 01:27 | ||
01:27
ron left
|
|||
mncharity | ļ»æAuzon: re visibility, the difficulty is how to get p6 compiler writer types excited about it, without generating a lot of interest by other people, for whom it will clearly be a disappointment (at least until named arguments and user objects are working better). | 01:28 | |
01:28
ron joined
|
|||
tiglionabbit | then again you can always wrap stuff with lambda | 01:29 | |
01:29
wknight8111 joined
01:30
Caelum left,
Caelum joined
|
|||
tiglionabbit | or use __send__ ... | 01:30 | |
huh | |||
funny how I didn't think about this when I was using ruby | |||
mncharity | p6 has such noxious history out of parrot of saying things work when they don't, at least around Boston.pm and a few other samples, the primary characteristic of attitudes towards p6, is "I'll believe that bogus thing works when I actually see it". So expectation management seems at this point critically important. | ||
01:30
cognominal_ left
01:31
alanhaggai left
|
|||
Auzon | I see. | 01:31 | |
01:31
alanhaggai joined
|
|||
mncharity | soo... not sure how to deal with that. | 01:32 | |
tiglionabbit | make stone soup | ||
01:32
cognominal_ joined
|
|||
tiglionabbit | make it work but be crappy and slow, then get people excited enough to fix it up | 01:32 | |
mncharity | ļ»ætiglionabbit: re slow, we've tried that... didn't work, people got burned out on it. | 01:34 | |
tiglionabbit | hm? | ||
what do you mean? | 01:35 | ||
mncharity | kp6 was another p6 implementation. it was slow. that seemed a key aspect of peoples' individual decisions to cease working on it. | 01:36 | |
01:37
alanhaggai left
|
|||
tiglionabbit | yeah but parrot has something else going for it, right? The common language interface? | 01:37 | |
01:37
alanhaggai joined
|
|||
tiglionabbit | you just have to market it as tracer bullets. Like, "We used some stupid solutions in various places. Now good compiler designers can help us make it better" | 01:38 | |
it's not alive until it works | 01:39 | ||
wknight8111 | good compiler designers are key | ||
tiglionabbit | why would people abandon kp6 for this, anyway? | 01:40 | |
other than the cli | |||
01:40
braceta joined
|
|||
tiglionabbit | (for parrot I mean) | 01:41 | |
mncharity | re 'ļ»ærefer to methods without executing them', ruby-doc.org/core-1.9/classes/Modul...ml#M001273 , Method, etc. | 01:42 | |
lambdabot | Title: Class: Module | ||
tiglionabbit | instance_method(symbol) okay | 01:44 | |
.bind(object).call ? | |||
a bit obtuse, but oh well | |||
01:46
pmichaud left,
pmichaud joined
|
|||
mncharity | ļ»æAuzon: sooo.... not sure what to do. | 01:47 | |
but end of day for me. | |||
good night all & | |||
01:47
mncharity left
01:50
Caelum_ joined
|
|||
tiglionabbit | I am kind of worried that the project is named after the dead parrot skit | 01:50 | |
01:50
Caelum left,
wknight8111 left
01:53
edpratomo joined
01:59
alanhaggai left,
alanhaggai joined
02:02
ron left
|
|||
japhb | tiglionabbit: Parrot is not named after the python sketch, though of course that reference gets used at times. It's named after an April Fool's joke. | 02:03 | |
tiglionabbit | I see | 02:06 | |
02:06
Caelum_ is now known as Caelum
|
|||
tiglionabbit | hahah, like how people like to put out virus alerts about viruses that don't exist yet so no one will suspect when they actually make the virus | 02:06 | |
02:16
cls_bsd joined
02:26
edpratomo left
02:27
nipotan is now known as nipotaway
02:29
pmichaud left
02:30
pmichaud joined
02:38
alanhaggai left
|
|||
Khisanth | japhb: a joke gone bad seems worse :) | 02:40 | |
japhb | Khisanth: Parrot? I think of it as the joke that made good. :-) | 02:43 | |
Auzon | pugs: class Test {method Str {"qwerty"}} | 02:46 | |
exp_evalbot | RESULT[\method :($__SELF__ is rw is ref, @_, %_) "$_" := "Scalar" #<Scalar:0xb7b28354>ā¤ "@_" := "Array" #<Array:0xb7228d28>ā¤ "%_" := "Hash" #<Hash:0xb7b2835c>ā¤ "&?ROUTINE" := | ||
.."Sub" #<Sub:0xb6604cec>ā¤ ... | |||
Auzon | pugs: class Test {method Str {"qwerty"}}; my $t = Test.new; say ~$t; | ||
exp_evalbot | OUTPUT[<obj:Test>ā¤] | ||
Auzon | pugs: class Test {multi prefix:<~> is deep {"qwerty"}}; my $t = Test.new; say ~$t; | ||
exp_evalbot | OUTPUT[<obj:Test>ā¤] | ||
Auzon | pugs: class Test {multi prefix:<~> {"qwerty"}}; my $t = Test.new; say ~$t; | 02:47 | |
exp_evalbot | OUTPUT[<obj:Test>ā¤] | ||
02:52
justatheory left
03:03
kanru left,
FurnaceBoy left
03:04
elmex_ joined
03:07
elmex_ left
03:18
elmex left,
justatheory joined
|
|||
Auzon | pugs: say 1_000 | 03:20 | |
exp_evalbot | OUTPUT[1000ā¤] | ||
Auzon | pugs: say 1_0_0_0_000 | ||
exp_evalbot | OUTPUT[1000000ā¤] | ||
Auzon | TimToady: I don't see _ as a numeric separator mentioned in the spec explicitly, though it is used in the versioning comparison part of S02 (right before the heading "Context"). Is it still valid? | 03:26 | |
Eevee | could swear I've seen that in the spec somewhere | 03:27 | |
perlcabal.org/syn/S02.html#Literals | 03:29 | ||
lambdabot | Title: S02 | ||
Eevee | A single underscore is allowed only between any two digits in a literal number, where the definition of digit depends on the radix. | ||
Auzon | doh. Sorry TimToady | ||
pmichaud | @tell TimToady where is 'does' parsed, as in "class ABC does XYZ { ... }" ? | 03:33 | |
lambdabot | Consider it noted. | ||
Eevee | how will the grammar handle lexically-scoped custom operators? | 03:34 | |
pmichaud | operators are just subs | 03:36 | |
so it's the same as lexically-scoped subs | |||
operators just have a funny name. | |||
Eevee | except sub names don't tend to be stuck together with no intermediate illegal character | 03:37 | |
pmichaud | all characters are legal in sub names :-) | 03:38 | |
Eevee | well okay yes, but not bare :P | ||
audreyt | pmichaud: "does" is parsed as trait_auxiliary, mentioned around S12:1436 (or did I miss what you were asking about?) | ||
pmichaud | audreyt: I meant in STD.pm | ||
03:39
pbuetow_ joined
|
|||
audreyt | it should be under rule trait_auxiliary:will in line 2607 | 03:39 | |
but it's probably just missing? | |||
pmichaud | yes, I think it's missing. | ||
thanks. | |||
audreyt | or maybe it falls under the general (no special rule needed) trait_auxiliary rule | ||
line 335ish. not sure | 03:40 | ||
pmichaud | hmmmmm | ||
audreyt | i.e. it's parsed because it's defined in the symtable under the t_a categ | ||
instead of needing a special rule. | |||
pmichaud | right. | ||
seems like we should have a trait_auxiliary:general rule somewhere in STD.pm then | 03:42 | ||
but you answered my question, thanks. | |||
03:46
fridim_ joined
03:48
cognominal__ joined
03:49
pbuetow left
03:57
cognominal_ left
04:03
braceta left
04:06
alanhaggai joined
|
|||
spinclad | {audreyt! wb!}.trigger | 04:07 | |
04:08
eternaleye joined
04:32
kanru joined
04:55
pbuetow_ left
05:17
justatheory left
05:27
ikeda joined
05:30
garnm joined
05:42
ikeda_ joined
05:44
fridim_ left
05:51
ikeda left
05:58
ikeda joined
06:02
ikeda_ left
06:13
ikeda_ joined
06:23
ikeda left
06:34
ikeda_ left
06:38
alanhaggai left
06:44
ikeda joined
06:50
bnjmn-- joined
06:54
meppl joined
07:01
ikeda_ joined
07:03
cognominal__ left
07:07
bnjmn- left,
bnjmn-- is now known as bnjmn-
07:13
ikeda left
07:15
lisppaste3 left
07:16
tiglionabbit left
07:17
Ched- joined
07:19
ikeda_ left
07:22
meppl left
07:24
meppl joined
07:32
ikeda joined
07:37
lisppaste3 joined
07:47
ikeda_ joined
07:51
ikeda left,
ikeda joined
07:52
ikeda_ left
08:06
cognominal_ joined
08:07
ikeda_ joined
08:08
ikeda left
08:10
ikeda joined
08:11
ikeda left
08:13
iblechbot joined
08:31
ikeda_ left
08:50
schmalbe joined,
bacek__ left
08:51
bacek__ joined
08:52
dolmen joined
|
|||
dolmen | perl6: say "Salut, les potes!!"; | 08:57 | |
exp_evalbot | kp6 r20598: OUTPUT[Salut, les potes!!ā¤] | ||
..pugs: OUTPUT[Salut, les potes!!ā¤] | |||
..rakudo r27957: OUTPUT[Salut, les potes!!ā¤] | |||
..elf r20598: OUTPUT[Salut, les potes!!ā¤] | |||
dolmen | perl6: say <1 2 3>.perl; | 08:58 | |
exp_evalbot | kp6 r20598: OUTPUT[( '1', '2', '3' )ā¤] | ||
..pugs: OUTPUT[("1", "2", "3")ā¤] | |||
..rakudo r27957: OUTPUT[["1", "2", "3"]ā¤] | |||
..elf r20598: OUTPUT[["1","2","3"]ā¤] | |||
dolmen | perl6: say (1^..3).perl; | 09:08 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 4, line 1 column 4:ā¤say (1^..3).perlā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[(2, 3)ā¤] | |||
..rakudo r27957: OUTPUT[Could not invoke non-existent sub infix:^..ā¤current instr.: '_block11' pc 35 (EVAL_11:19)ā¤ | |||
..elf r20598: OUTPUT[syntax error at (eval 14) line 3, near "^.."ā¤ at ./elf_f_faster line 4492ā¤] | |||
dolmen | elf? | 09:10 | |
cognominal_ | comment allez vous yau de poele? | ||
dolmen | ;) | ||
09:15
lg joined
|
|||
lg | perl6 say hello | 09:16 | |
perl6 say 'hello'; | |||
perlbot say 'hello'; | |||
perlbot: say 'hello'; | |||
perl6: say 'hello'; | |||
exp_evalbot | kp6 r20598: OUTPUT[helloā¤] | 09:17 | |
..pugs: OUTPUT[helloā¤] | |||
..rakudo r27957: OUTPUT[helloā¤] | |||
..elf r20598: OUTPUT[helloā¤] | |||
dolmen | perl6: say (1^..3).perl; | ||
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 4, line 1 column 4:ā¤say (1^..3).perlā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[(2, 3)ā¤] | |||
..rakudo r27957: OUTPUT[Could not invoke non-existent sub infix:^..ā¤current instr.: '_block11' pc 35 (EVAL_11:19)ā¤ | |||
..elf r20598: OUTPUT[syntax error at (eval 14) line 3, near "^.."ā¤ at ./elf_f_faster line 4492ā¤] | |||
dolmen | perl6: say (1..3).perl; | ||
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 4, line 1 column 4:ā¤say (1..3).perlā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[(1, 2, 3)ā¤] | |||
..rakudo r27957: OUTPUT[[1, 2, 3]ā¤] | |||
..elf r20598: OUTPUT[Use of uninitialized value in range (or flip) at (eval 14) line 3.ā¤""ā¤] | |||
dolmen | perl6: say (1..3).WHAT; | 09:18 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 4, line 1 column 4:ā¤say (1..3).WHATā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[Arrayā¤] | |||
..rakudo r27957: OUTPUT[Listā¤] | |||
..elf r20598: OUTPUT[Use of uninitialized value in range (or flip) at (eval 14) line 3.ā¤Strā¤] | |||
dolmen | perl6: say 1..3 xx 2; | 09:22 | |
lg | perl6: my @stuff=1,2,4,foo;say @stuff[3] | ||
09:22
exp_evalbot joined
|
|||
dolmen | perl6: say (1..3 xx 2).perl; | 09:22 | |
lg | perl6: my @stuff=1,2,4,foo;say @stuff[3] | ||
09:22
exp_evalbot left,
exp_evalbot joined
|
|||
lg | perl6: my @stuff=1,2,4,foo;say @stuff[3] | 09:22 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 11, line 1 column 11:ā¤my @stuff=1,2,4,foo;say @stuff[3ā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[*** No such subroutine: "&foo"ā¤ at /tmp/cbQGmKGN2b line 1, column 17-20ā¤] | |||
..rakudo r27957: OUTPUT[Could not invoke non-existent sub fooā¤current instr.: '_block11' pc 42 (EVAL_11:23)ā¤ | |||
..elf r20598: OUTPUT[Undefined subroutine &GLOBAL::foo called at (eval 14) line 3.ā¤ at ./elf_f_faster line 4492ā¤] | |||
lg | perl6: my @stuff=1,2,4,'foo';say @stuff[3] | 09:23 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 11, line 1 column 11:ā¤my @stuff=1,2,4,'foo';say @stuff[3ā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[fooā¤] | |||
..rakudo r27957: OUTPUT[fooā¤] | |||
..elf r20598: OUTPUT[fooā¤] | |||
09:25
Lorn left
09:28
edpratomo joined
|
|||
dolmen | perl6: class Toto { has $name; } | 09:29 | |
exp_evalbot | kp6 r20598: RESULT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824be04)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169ā¤ | 09:30 | |
..main::DISPATCH('HASH(0x824be04)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/Kin... | |||
..pugs: RESULT[undef] | |||
..rakudo r27957: RESULT[Method 'perl' not found for invocant of class 'Sub'ā¤current instr.: '_block11' pc 38 (EVAL_11:18)ā¤ | |||
..elf r20598: RESULT[undefā¤] | |||
dolmen | perl6: class Toto { has $name; } say "Hello"; | ||
exp_evalbot | kp6 r20598: OUTPUT[Helloā¤] | ||
..pugs: OUTPUT[Helloā¤] | |||
..rakudo r27957: OUTPUT[Statement not terminated properly at line 1, near "say \"Hello"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Parse error in: /tmp/RApF9p0jBMā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: class Toto { has $name; } say ā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤ | |||
..STD_red/std.rb:210:in `_UNIT'ā¤ ./../STD_red/STD_red_run:108:in `... | |||
09:31
chris2 joined
|
|||
dolmen | perl6: class Toto { has $.name; } say "Hello"; | 09:31 | |
exp_evalbot | kp6 r20598: OUTPUT[Helloā¤] | 09:32 | |
..pugs: OUTPUT[Helloā¤] | |||
..rakudo r27957: OUTPUT[Statement not terminated properly at line 1, near "say \"Hello"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Parse error in: /tmp/ueGJQGwME9ā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: class Toto { has $.name; } sayā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤ | |||
..STD_red/std.rb:210:in `_UNIT'ā¤ ./../STD_red/STD_red_run:108:in `... | |||
dolmen | perl6: class Toto { has $.name; }; say "Hello"; | ||
exp_evalbot | kp6 r20598: OUTPUT[Helloā¤] | ||
..pugs: OUTPUT[Helloā¤] | |||
..rakudo r27957: OUTPUT[Helloā¤] | |||
..elf r20598: OUTPUT[Helloā¤] | |||
09:32
lisppaste3 left
|
|||
dolmen | perl6: class Student { has $.name; }.new( name => 'Toto'); | 09:37 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 29, line 1 column 29:ā¤class Student { has $.name; }.new( name => 'Toto')ā¤ ^ HEREā¤] | ||
..pugs: RESULT[Scalar.new(("name" => "Toto"),)] | |||
..rakudo r27957: OUTPUT[Statement not terminated properly at line 1, near ".new( name"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Parse error in: /tmp/fWeD1io3iOā¤panic at line 1 column 29 (pos 29): Statement not terminated properlyā¤WHERE: class Student { has $.name; }.new( name => 'Toto');ā¤WHERE: /\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:355:in | |||
..`eat_terminator'ā¤ STD_red/std.rb:269:in `block in statementlist'ā¤ STD_re... | |||
dolmen | perl6: say class Student { has $.name; }.new( name => 'Toto' ).perl; | ||
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling HASH(0x8e52364) on invalid object:$VAR1 = 'new';ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('new', 'HASH(0x8e52364)') called at - line 14ā¤] | ||
..pugs: OUTPUT[pugs: *** Can't modify constant item: VUndefā¤ at /tmp/ACdcNXZnBc line 1, column 1ā¤] | |||
..rakudo r27957: OUTPUT[Statement not terminated properly at line 1, near ".new( name"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Parse error in: /tmp/8eVeyGweziā¤panic at line 1 column 33 (pos 33): Statement not terminated properlyā¤WHERE: class Student { has $.name; }.new( name => 'Toto' ).perl;ā¤WHERE: /\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:355:in | |||
..`eat_terminator'ā¤ STD_red/std.rb:269:in `block in statementlist'ā¤... | 09:38 | ||
dolmen | perl6: say class { has $.name; }.new( name => 'Toto' ).perl; | ||
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling HASH(0x8e53388) on invalid object:$VAR1 = 'new';ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('new', 'HASH(0x8e53388)') called at - line 13ā¤] | ||
..pugs: OUTPUT[pugs: *** Can't modify constant item: VUndefā¤ at /tmp/MhIKvBsKgW line 1, column 1ā¤] | |||
..rakudo r27957: OUTPUT[attempt to define attribute '' outside of class at line 1, near "; }.new( n"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Parse error in: /tmp/1E81VG1WFBā¤panic at line 1 column 25 (pos 25): Statement not terminated properlyā¤WHERE: say class { has $.name; }.new( name => 'Toto' ).perl;ā¤WHERE: /\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:355:in | |||
..`eat_terminator'ā¤ STD_red/std.rb:269:in `block in statementlist'ā¤ STD_red/... | |||
dolmen | perl6: sub noop { ; } ; say noop.perl; | 09:51 | |
exp_evalbot | kp6 r20598: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib/KindaPerl6/Grammar/Sub.pm line 362, <> line 1.ā¤*** Syntax Error in sub '': missing closing curly bracket ā¤] | ||
..pugs: OUTPUT[undefā¤] | |||
..rakudo r27957: OUTPUT[Missing '}' at line 1, near "; } ; say "ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[Use of uninitialized value in join or string at ./elf_f_faster line 159.ā¤undefā¤] | |||
dolmen | perl6: sub noop { } ; say noop.perl; | 09:52 | |
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling perl on invalid object:$VAR1 = undef;ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('undef', 'perl') called at - line 24ā¤] | ||
..pugs: OUTPUT[undefā¤] | |||
..rakudo r27957: OUTPUT[Statement not terminated properly at line 1, near ".perl;"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | |||
..elf r20598: OUTPUT[undefā¤] | |||
lg | perl6: class Glass { has $content=0; method fill { $content++ }; method empty {$content--}}; class Pint is a GlassĀ {} | 09:53 | |
09:53
exp_evalbot left,
exp_evalbot joined
|
|||
dolmen | perl6: sub noop { } ; say noop().perl; | 09:53 | |
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling perl on invalid object:$VAR1 = 0;ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH(0, 'perl') called at - line 24ā¤] | ||
..pugs: OUTPUT[undefā¤] | |||
..rakudo r27957: OUTPUT[Null PMC access in find_method()ā¤current instr.: '_block11' pc 35 (EVAL_10:16)ā¤ | |||
..elf r20598: OUTPUT[undefā¤] | |||
dolmen | perl6: say (1..2).json; | 09:54 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 4, line 1 column 4:ā¤say (1..2).jsonā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[*** No such method in class Array: "&json"ā¤ at /tmp/1utekgeVTE line 1, column 5-16ā¤] | |||
..rakudo r27957: OUTPUT[Method 'json' not found for invocant of class 'List'ā¤current instr.: '_block11' pc 49 (EVAL_13:20)ā¤ | |||
..elf r20598: OUTPUT[Use of uninitialized value in range (or flip) at (eval 14) line 3.ā¤Can't call method "json" without a package or object reference at (eval 14) line 3.ā¤ at ./elf_f_faster line 4492ā¤] | |||
09:55
lisppaste3 joined
|
|||
lg | perl6: say 'hi folks'.WHAT | 09:59 | |
exp_evalbot | kp6 r20598: OUTPUT[Strā¤] | ||
..pugs: OUTPUT[Strā¤] | |||
..rakudo r27957: OUTPUT[Strā¤] | |||
..elf r20598: OUTPUT[Strā¤] | |||
lg | perl6: say Pari.WHAT | 10:00 | |
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling WHAT on invalid object:$VAR1 = undef;ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('undef', 'WHAT') called at - line 11ā¤] | ||
..pugs: OUTPUT[*** No such subroutine: "&Pari"ā¤ at /tmp/OCvysJRYjm line 1, column 5 - line 2, column 1ā¤] | |||
..rakudo r27957: OUTPUT[Null PMC access in find_method()ā¤current instr.: '_block11' pc 28 (EVAL_11:16)ā¤ | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
dolmen | perl6: say Int.WHAT | ||
exp_evalbot | kp6 r20598: OUTPUT[Intā¤] | ||
..pugs: OUTPUT[Intā¤] | |||
..rakudo r27957: OUTPUT[Intā¤] | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
dolmen | perl6: say Num.WHAT | ||
exp_evalbot | kp6 r20598: OUTPUT[Numā¤] | ||
..pugs: OUTPUT[Numā¤] | |||
..rakudo r27957: OUTPUT[Numā¤] | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
lg | perl6: say Pair.WHAT | ||
exp_evalbot | kp6 r20598: OUTPUT[Pairā¤] | ||
..pugs: OUTPUT[Pairā¤] | |||
..rakudo r27957: OUTPUT[Pairā¤] | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
10:03
edpratomo left
|
|||
dolmen | perl6: say Role.WHAT | 10:03 | |
exp_evalbot | kp6 r20598: OUTPUT[Classā¤] | ||
..pugs: OUTPUT[Roleā¤] | |||
..rakudo r27957: OUTPUT[./parrot: error while loading shared libraries: /home/evalenv/parrot/blib/lib/libparrot.so.0.6.2: invalid ELF headerā¤] | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
cognominal_ | perl6: say hash( a =>1, :b<2>, c(3), :d, :!e ) | ||
dolmen | perl6: say Class.WHAT | 10:04 | |
exp_evalbot | kp6 r20598: OUTPUT[syntax error at position 8, line 1 column 8:ā¤say hash( a =>1, :b<2>, c(3), :d, :!e ā¤ ^ HEREā¤] | ||
..pugs: OUTPUT[*** No such subroutine: "&c"ā¤ at /tmp/rDm19B1sAv line 1, column 25-29ā¤] | |||
..rakudo r27957: OUTPUT[Could not invoke non-existent sub cā¤current instr.: '_block11' pc 40 (EVAL_11:21)ā¤ | |||
..elf r20598: OUTPUT[Undefined subroutine &GLOBAL::c called at (eval 14) line 3.ā¤ at ./elf_f_faster line 4492ā¤] | |||
kp6 r20598: OUTPUT[Classā¤] | |||
..pugs: OUTPUT[Classā¤] | |||
..rakudo r27957: OUTPUT[Null PMC access in find_method()ā¤current instr.: 'parrot;P6object;WHAT' pc 107 (runtime/parrot/library/P6object.pir:123)ā¤ | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
cognominal_ | perl6: say hash( a =>1, :b<2>, :c(3), :d, :!e ) | 10:05 | |
10:05
exp_evalbot left
|
|||
dolmen | il n'a pas aimƩ | 10:05 | |
10:05
exp_evalbot joined
|
|||
cognominal_ | rakudo: say hash( a =>1, :b<2>, :c(3), :d, :!e ) | 10:05 | |
10:05
exp_evalbot left
10:06
exp_evalbot joined
|
|||
pmichaud | rakudo doesn't like that? I'm a bit surprised. | 10:06 | |
dolmen | rakudo svn is currently broken | ||
cognominal_ | it works on my computer, that's rakudo from Friday morning | ||
pmichaud | wow, that's old. | 10:07 | |
cognominal_ | I mean the rakudo of Friday works well for that statement | ||
pmichaud | right. | ||
dolmen | current rev 27957 is broken | ||
cognominal_ | jonathan talks is going well | ||
pmichaud | jonathan++ | ||
wish I was there. | |||
cognominal_ | jaws are dropping on the power of rakudo | 10:08 | |
pmichaud | is it rakudo or Perl 6 that jaws are dropping for? ;-) | ||
dolmen | Class 'Perl6Array' already registered! | ||
cognominal_ | he is demonstrating live | ||
hopeful on a buid that works | |||
dolmen | jonathan++ | ||
cognominal_ | I did yesterday a live presentation on pct doing a simple grammar (no code generation), and that was fun | 10:10 | |
pmichaud | yes, pct is fun also. | ||
cognominal_ | Francois Perrad was there to help me to fix my mistakes | ||
dolmen | pmichaud: sorry, make clean && make fixed the error | ||
pmichaud | dolmen: Whew! | ||
dolmen | perl6: say True.WHAT; | 10:11 | |
exp_evalbot | kp6 r20598: OUTPUT[DISPATCH: calling WHAT on invalid object:$VAR1 = undef;ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('undef', 'WHAT') called at - line 11ā¤] | ||
..pugs: OUTPUT[Boolā¤] | |||
..rakudo r27957: OUTPUT[Intā¤] | |||
..elf r20598: OUTPUT[STRINGā¤] | |||
dolmen | so, Bool or Int ? | ||
pmichaud | S12 says: | 10:12 | |
Two built-in enums are: | |||
our bit enum *bool <False True>; our bit enum *taint <Untainted Tainted>; | |||
cognominal_ | dolmen, I suppose that Bool is a subset of int | ||
pmichaud | so that implies to me that True is a bit | ||
dolmen | say (1 + (1 | 2)).perl; | 10:13 | |
perl6: say (1 + (1 | 2)).perl; | |||
exp_evalbot | kp6 r20598: OUTPUT[2ā¤3ā¤] | ||
..pugs: OUTPUT[(2 | 3)ā¤] | |||
..rakudo r27957: OUTPUT[any("2", "3")ā¤] | |||
..elf r20598: OUTPUT[4ā¤] | |||
cognominal_ | jonathan is localizing the example in his presentation. | 10:14 | |
dolmen | a stringification occured... | ||
pmichaud | localizing? | ||
cognominal_ | I gave him a very bad pun | ||
pmichaud | ahhhhh | ||
cognominal_ | yesterday he was telling me about him presenting some slide titled "No more SM" | 10:15 | |
about perl5 m//sm | 10:16 | ||
so I did the same with a dominatrix picture | |||
lg | perl6: say (1 + ((1|3) | 2)).perl | 10:25 | |
exp_evalbot | kp6 r20598: OUTPUT[2ā¤3ā¤4ā¤3ā¤] | ||
..pugs: OUTPUT[(2 | 3 | 4)ā¤] | |||
..rakudo r27960: OUTPUT[get_string() not implemented in class 'Junction'ā¤current instr.: 'infix_junction_helper' pc 6230 (src/gen_builtins.pir:4216)ā¤ | |||
..elf r20598: OUTPUT[4ā¤] | |||
10:26
wknight8111 joined
|
|||
lg | perl6: say (1 + (1|3 | 2)).perl | 10:29 | |
exp_evalbot | kp6 r20598: OUTPUT[2ā¤4ā¤2ā¤3ā¤] | ||
..pugs: OUTPUT[(2 | 3 | 4)ā¤] | |||
..rakudo r27960: OUTPUT[any("2", "4", "3")ā¤] | |||
..elf r20598: OUTPUT[4ā¤] | |||
10:30
cognominal_ left
|
|||
lg | perl6: say ( (1|3 | 2)).perl | 10:30 | |
exp_evalbot | kp6 r20598: OUTPUT[1ā¤3ā¤1ā¤2ā¤] | ||
..pugs: OUTPUT[(1 | 2 | 3)ā¤] | |||
..rakudo r27960: OUTPUT[any(1, 3, 2)ā¤] | |||
..elf r20598: OUTPUT[3ā¤] | |||
lg | perl6: say (1 + (1|3 | 2)).perl | 10:31 | |
exp_evalbot | kp6 r20598: OUTPUT[2ā¤4ā¤2ā¤3ā¤] | ||
..pugs: OUTPUT[(2 | 3 | 4)ā¤] | |||
..rakudo r27960: OUTPUT[any("2", "4", "3")ā¤] | |||
..elf r20598: OUTPUT[4ā¤] | |||
dolmen | time for lunch... | 10:33 | |
10:33
dolmen left
10:52
alanhaggai joined
10:55
masak joined
11:17
alanhaggai left
11:28
iblechbot left
11:30
pbuetow joined
|
|||
Juerd | Maybe this is a silly idea, but I find myself typing this a lot: | 11:43 | |
return "foo bar baz" if -e "foo bar baz"; | |||
Would be neat if you could write that as: | 11:44 | ||
return that if -e "foo bar baz"; | |||
if -e "foo bar baz" { return that } | |||
masak | Juerd: what about `return $_ if -e $_ for 'foo bar baz'`? | ||
Juerd | Works but looks /worse/ than what I have no. | ||
masak | hm | 11:45 | |
Juerd | s/no/now/ | ||
masak | so 'that' is the last thing sent in as a first argument to a function? | ||
Juerd | Yep | 11:46 | |
It would not be a variable. | |||
masak | of course not. variables have sigils :) | ||
Juerd | Well, in Perl 6 perhaps a twigil might make sense | ||
11:46
cognominal_ joined
|
|||
Juerd | But I was thinking of "that" as a construct with very limited visibility. | 11:47 | |
For all I care, it's just a macro that somehow knows the previous expression and evaluates it again. | |||
wolverian | that sounds like a race condition anyway :) | 11:48 | |
Juerd | It is. | ||
But there's no way to prevent the race condition with these kinds of things *anyway* | |||
So adding another race doesn't bother me much. | |||
Anyway, I'm not sure if this is implementable at all. It has all the ingredients of $& to be scary. | |||
11:51
alanhaggai joined
12:08
wknight8111 left
12:09
pbuetow left
12:12
gbacon left
12:20
iblechbot joined
12:22
IllvilJa left
12:43
Blasi joined
12:46
cognominal_ left
12:55
dolmen joined
12:57
cognominal_ joined
13:02
lisppaste3 left,
meppl left
13:04
dolmen left
13:05
ron joined
13:07
schmalbe left
13:11
chris2 left
13:12
lisppaste3 joined
13:14
pbuetow joined
13:15
meppl joined
13:16
alanhaggai_ joined
13:18
IllvilJa joined
13:32
alanhaggai left
|
|||
pmichaud | given 'foo bar baz' { -e $_ && return $_ } | 13:43 | |
"jaws are dropping" :-) | 13:46 | ||
14:02
gbacon joined,
alanhaggai_ left
14:17
wknight8111 joined
14:33
alanhaggai joined
|
|||
masak | pmichaud: I've revently been told that $_ can be clobbered within a given. what are your thoughts on that? | 14:34 | |
s/revently/recently/ | |||
14:50
poletti joined
|
|||
masak | what's the semantics of an INIT block inside eval'ed code? | 14:52 | |
S04 says "Code that is generated at run time can still fire off CHECK and INIT blocks, though of course those blocks can't do things that would require travel back in time." | 14:53 | ||
could someone give an example of a thing that would require such travel? | |||
also, what happens in such a case? runtime error? warning? nothing? | |||
masak just found the tests that come along with that paragraph | 14:55 | ||
pmichaud | given sets $_ for the block | 14:56 | |
masak | pmichaud: sure | 14:57 | |
but other things inside the block might set it to other things | |||
pmichaud | sure, they can do that | 15:01 | |
masak | I can see there's no danger in this case, but I got the impression that in larger given blocks there might be | 15:02 | |
15:02
Limbic_Region joined
|
|||
pmichaud | I suspect one can do given $foo -> $_ { ... } to make sure that $foo isn't modified. | 15:06 | |
masak | yes... | 15:07 | |
gotta rush, see you | |||
15:08
masak left
15:10
[particle] joined
15:13
iblechbot left
15:28
b_jonas joined
15:29
[particle]1 left
15:30
FurnaceBoy joined
15:31
silug joined
15:39
justatheory joined
15:55
dolmen joined
16:07
cognominal_ left
16:10
Psyche^ joined
|
|||
rakudo_svn | r27972 | pmichaud++ | [rakudo]: | 16:13 | |
r27972 | pmichaud++ | * Merge mutamerge + mutablerakudo branches into trunk. | |||
r27972 | pmichaud++ | * All spectest_regression tests pass. | |||
r27972 | pmichaud++ | * jonathan++ jonathan++ for Mutable implementation and merge help. | |||
16:14
dolmen left
16:17
iblechbot joined
16:23
Patterner left,
Psyche^ is now known as Patterner
16:29
kanru left
|
|||
rakudo_svn | r27973 | pmichaud++ | [rakudo]: | 16:33 | |
r27973 | pmichaud++ | * Fix "switch missing default case" warning reported by NotFound++ . | |||
16:45
cognominal_ joined
16:47
b_jonas_ joined,
charsbar_ joined
16:48
fullermd_ joined,
Patterner left,
xdg left,
thepler left,
pugs_svnbot left,
audreyt left,
tcliou left,
iblechbot left,
[particle] left,
alanhaggai left,
b_jonas left,
mj41_ left,
Jedai left,
yahooooo left,
fullermd left,
ilbot2 left,
allbery_b left,
TreyHarris left,
hcchien left,
gugod left,
charsbar left,
r0bby left,
buu left,
pasteling left,
b_jonas_ is now known as b_jonas
16:49
hcchien joined,
gugod joined
16:50
TreyHarris joined,
alanhaggai joined
16:51
kanru joined,
yahooooo joined
16:54
buu joined,
[particle]1 joined,
Torment joined,
Patterner joined,
xdg joined,
tcliou joined,
pugs_svnbot joined,
audreyt joined,
thepler joined
17:00
pasteling joined
17:05
allbery_b joined
|
|||
pugs_svnbot | r20599 | diakopter++ | [yap6] | 17:06 | |
r20599 | diakopter++ | I stole the name from smop's history. | |||
r20599 | diakopter++ | This is my functional/MJD approach to STD.pm | |||
r20599 | diakopter++ | ./yap6 will be autogenerated at some point; | |||
r20599 | diakopter++ | This is not ready for primetime or anything, | |||
r20599 | diakopter++ | but have fun playing with the toy calculator. | |||
diakopter | moritz_: irc logger? | 17:09 | |
oh; it was netsplit. oh well | |||
17:13
Blasi left
17:14
Blasi joined
17:22
fullermd_ is now known as fullermd
17:30
chris2 joined
17:44
sri_work joined
17:46
Limbic_Region is now known as asdfasfd
17:47
asdfasfd left,
lichtkind joined
17:48
Blasi left,
Limbic_Region joined
17:51
chris2 left
|
|||
lichtkind | TimToady: while yin() { yang() } say "done"; # ILLEGAL | 18:02 | |
TimToady: i get whyt but its that not a bit incosistent since you said that every } has an inherit ; | |||
pmichaud | no | 18:03 | |
every } at the end of a line is a statement terminator. | |||
(if a statement terminator could occur there.) | |||
lichtkind | pmichaud: thanks | 18:08 | |
pmichaud | you're welcome! | 18:09 | |
lichtkind | pmichaud: you i still writing the perl 6 tutorial series of articles, hopefully soon in english too :) | 18:18 | |
pmichaud | excellent! | 18:19 | |
rakudo even supports more of them now :-) | |||
18:21
jferrero joined
|
|||
lichtkind | pmichaud: i know i talked with jonathan and tene | 18:28 | |
18:38
FurnaceBoy left
|
|||
garnm | anyone worked on ircds? | 18:50 | |
nevermin OT | 18:51 | ||
pmichaud | just to copy a comment from #parrot to #perl6: | 18:52 | |
I _really_ like evalbot. Thanks to the folks who set it up and maintain it. | 18:53 | ||
18:53
jferrero left
|
|||
TimToady | I was just saying over there that it'd be cool if there was a mode in which you could get one-line summaries of the consensus answer (if any), and which engines are dissenting from that answer, with a link to the full report | 18:55 | |
lambdabot | TimToady: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
TimToady | @messages | ||
lambdabot | pmichaud said 15h 22m 31s ago: where is 'does' parsed, as in "class ABC does XYZ { ... }" ? | ||
TimToady | yes, does is missing from the trait_auxilliary list | 18:56 | |
s/ll/l/ | 18:57 | ||
19:00
Blasi joined
|
|||
pmichaud | audreyt++ helpfully suggested the answer | 19:01 | |
b_jonas | are p6 scalars like p5 scalars in that they may contain an integer, float, and string version of the data simultanously | 19:16 | |
? | |||
TimToady | p6 objects tend to think of themselves as having only one type, but that doesn't mean the implementation of a type couldn't cache other representations | 19:24 | |
such cached values shouldn't have any influence on mutable/immutable decisions, though | 19:25 | ||
b_jonas | if such caching happens, should the String, Float, Int etc classes do it, or the Scalar container itself? | 19:26 | |
having only one type... ah, so a string with a cached integer value and an integer with a cached string value is no longer the same? | |||
I see | |||
thanks | 19:27 | ||
TimToady | Scalar might be a useful spot to hang a cached value but it might be difficult to maintain cache coherency for mutable values. | 19:29 | |
would be fine for immutables, presumably | |||
19:29
braceta joined,
alanhaggai left
|
|||
TimToady | I guess the question would be whether all access to the mutable value goes through Scalar... | 19:30 | |
b_jonas | hmm | ||
TimToady | I'd be inclined to doubt it, unless proven otherwise | ||
b_jonas | so then probably Int and Float and String will do the caching | ||
that's more uniform anyway, since stringification and numification and integrification aren't cached for user objects by default anyway | 19:31 | ||
TimToady | well, to the first approx those are roles rather than classes, so some classes based on them could cache, and others not | ||
b_jonas | also String does more arcane kinds of caching, like strxfrm | ||
and substr helpers for variable-width encodings | |||
hmm | 19:32 | ||
TimToady | yes, strings get complicated wrt mutability | ||
b_jonas | so you could just have a role you can use for anything to cache the stringification or any other context? | ||
would make sense that way | |||
TimToady | dunno if there's a decent way to do wrapper methods with a role, offhand... | 19:33 | |
b_jonas | strings are mutable? | 19:34 | |
TimToady | since you'd want the same method name for the cached version as the underlying uncached version... | ||
b_jonas | they were immutable in perl5 | ||
TimToady | strings are mutable in p5 | ||
b_jonas | eek | ||
but will usual methods mutate them in place? | |||
I mean, why wasn't the perl5 way good for them? | |||
TimToady | there are times you want mutable strings, and times you want immutable | 19:35 | |
b_jonas | perl5 could catch lots of cases when there's just one reference so it actually performed the mutation in place | ||
if you just have a string in a mutable container, wouldn't that work? | |||
TimToady | well, perl5 didn't really care whether there was more than one ref | ||
b_jonas | semantically, yes | ||
dunno | |||
mutable strings also cause headaches for the c interface I think | 19:36 | ||
TimToady | a mutable container doesn't help you if you want to change one character in the middle of a 18gigabyte string. | ||
but mutable strings make less sense with Unicode | |||
b_jonas | I think that should happen transparently | 19:37 | |
that is, you just have an immutable string | |||
TimToady | so mainly we'll just rely on the Str container to decide when to "mute" :) | ||
b_jonas | and the compiler or interpreter knows you won't use the old copy when you do the 1-character change | ||
but mutable string can be useful as well | |||
TimToady | well, you'll note the S02 defines Str as immutable. | 19:38 | |
and Buf as mutable | |||
19:39
edpratomo joined,
iblechbot joined,
alester joined,
aindilis joined,
mj41 joined,
ilbot2 joined
19:42
eternaleye left
|
|||
Juerd | TimToady: I'm under the impression that 18 GB text strings are, at best, very uncommon. | 19:43 | |
19:44
poletti is now known as polettix
|
|||
TimToady | you've got a whole bunch of 'em inside you | 19:44 | |
Juerd | They're encoded into some binary form. | ||
TimToady | base 4, actually | ||
Juerd | I decode parts back to text when I need them, and that's how I expect Perl use will be for the next few decades too. | ||
I don't understand why the length of a string makes it being mutable make less sense. | 19:45 | ||
I'd expect it to make MORE sense. You certainly don't want to COPY all those 18 gigabytes, to insert a single character. | 19:46 | ||
TimToady | that was my point | ||
Juerd | Then I don't understand why I interpreted what you said as the exact opposite. | ||
19:50
edpratomo left
20:04
Blasi left
20:05
polettix left
20:06
Blasi joined
|
|||
lichtkind | pmichaud++ | 20:09 | |
20:12
thestarslookdown joined
20:16
r0bby joined
|
|||
b_jonas | oh, that's better | 20:29 | |
I wonder if maybe both Str and Buf should be immutable by default, but there could be some mutable variants as well for when you want to optimize stuff | |||
20:30
Blasi left
|
|||
b_jonas | just a few months ago, I wanted to implement the interface of a c function in ruby | 20:30 | |
20:30
Blasi joined
|
|||
b_jonas | the c function wants a string argument | 20:30 | |
and it can be blocking | 20:31 | ||
like write | |||
(but it wasn't write, write's already implemented) | |||
now in such a case you don't want to copy the string because it could be large | |||
but you also have to take care for ruby code could modify the string from another thread while you're blocking | |||
so that's one place when immutable strings could be useful | |||
otoh even if a string is immutable it might not seem so from c | 20:32 | ||
so it's really a different matter | |||
that's more the task of a real c interface | |||
which ruby doesn't have | |||
Patterner | Just learn from Java and have String and StringBuffer :) | 20:34 | |
pugs_svnbot | r20600 | diakopter++ | Lots o' changes. :) | 20:46 | |
21:02
wknight8111 left
21:11
meteorjay joined
21:15
b_jonas left
21:32
rindolf joined
|
|||
rindolf | Hi all. | 21:32 | |
TimToady: here? | |||
21:49
iblechbot left
22:02
jisom joined
|
|||
pbuetow | hi rindolf | 22:30 | |
rindolf | Hi pbuetow | 22:32 | |
22:32
thestarslookdown left
|
|||
rindolf | pbuetow: what's up? | 22:32 | |
I think I'll shave before I go to sleep. | |||
pbuetow | rindolf: not much! being lazy! | ||
rindolf | I feel uncomfortable. | 22:33 | |
pbuetow: so am I. | |||
pbuetow: what time is it there? | |||
pbuetow | its 00:32am | ||
only 1h difference :) | 22:34 | ||
22:34
jisom left
|
|||
rindolf | pbuetow: ah. | 22:39 | |
pbuetow: .eu, right? | |||
Or Africa. | |||
pbuetow | yes, .de | ||
rindolf | pbuetow: ah, cool. | ||
pbuetow | no not africa, ve never been there :/ | ||
rindolf | pbuetow: well, it's Sunday tomorrow. | 22:40 | |
pbuetow: I haven't been to Africa, either. | |||
Only Europe and NA. | |||
And Israel. | |||
pbuetow | i ll be in bulgaria next week, for a week :) | ||
rindolf | Which is technically in Asia. | ||
pbuetow: ah, cool. | |||
pbuetow: do you like Bulgaria. | |||
perlbot: .bu | |||
perlbot: .bl | 22:41 | ||
pbuetow | perlbot: .bg | ||
perlbot | .bg is Bulgaria | ||
rindolf | .bg | ||
I see. | |||
pbuetow | well its okay, but now it's better, because my GF is from .bg | ||
rindolf | Can I get rindolf.bg? | ||
pbuetow: ah. | |||
pbuetow | .bg domains are expensive | ||
rindolf | pbuetow: crazy Europeans. | ||
pbuetow: ah. | |||
gimps.bg | |||
pbuetow | .de are very cheap | ||
rindolf | wallpapers.bgf | ||
pbuetow: yes. | |||
pbuetow | loll | 22:42 | |
rindolf | I'd like a .to domain. | ||
I think they are cheap too. | |||
Already have shlomifish.org | |||
pbuetow | i am okay with my .org and .net domains :) | ||
rindolf | pbuetow: OK. | ||
pbuetow | yes i know your site :) | ||
22:42
charsbar_ left,
cookys left,
Eevee left,
SamB left,
lambdabot left,
japhb left
|
|||
pbuetow | well i dont use .de because i want to keep my content 'international', dont know if i gonna stay in .de | 22:42 | |
rindolf | pbuetow: I wanted to upload the Drupal for perl-speak.org today, but was too lazy. | 22:43 | |
pbuetow: OK. | |||
pbuetow | so i stay with generic SLDs | ||
mine is buetow.org :) | |||
rindolf | .co.uk etc. domains are also esteemed. | ||
22:44
charsbar_ joined,
cookys joined,
japhb joined,
Eevee joined,
lambdabot joined,
SamB joined
|
|||
rindolf | Hmmm... seems like KDE is a moving target now in this MDV upgrade. | 22:44 | |
buetow is nice and short. | |||
pbuetow | hmm, i prefer FVWM + some gnome apps :) | ||
rindolf | pbuetow: I'm a die-hard KDE user. | 22:45 | |
At least KDE-3.5.x | |||
pbuetow | do you like kde 4? or still using 3? | ||
rindolf | Been using it since 2.0.x or so. | ||
pbuetow | 4.1 is gonna be out soon | ||
rindolf | pbuetow: still KDE3. | ||
pbuetow: yes. | |||
pbuetow: I didn't like 4.0.x | |||
pbuetow | well you woll give 4.1 a shot i guess | ||
rindolf | pbuetow: but 4.1.x should be better. | ||
pbuetow: yes, I will. | |||
pbuetow | i used to use a lot of different desktops/windowmanagers | ||
rindolf | 4.0.x was very buggy. | ||
pbuetow: ah. | 22:46 | ||
pbuetow | but now i am sticking with fvwm since 2 years | ||
rindolf | pbuetow: I personally could never configure FVWM to my liking. | ||
perlbot: .co | |||
perlbot | .co is Colombia | ||
rindolf | Colombia. | ||
pbuetow | rindolf: configuring FVWM is like configuring sendmail :P | ||
rindolf | Useful instead of .com | ||
There's also .cc | |||
pbuetow: ah. | |||
pbuetow | (not the same syntax of course) | ||
rindolf | pbuetow: when I need something lightweight, I use IceWM. | 22:47 | |
pbuetow | i've a perl module for my fvwm, which is managing the transparency of my windows. | ||
rindolf | pbuetow: ah. | ||
pbuetow | rindolf: i used to use WindowMaker and Fluxbox too a lot, as well as wmii | ||
rindolf | pbuetow: MiGo has been doing some fvwm work. | ||
pbuetow: ah. | |||
pbuetow | but my FVWM has now keybindings like evilwm + more | 22:48 | |
rindolf | pbuetow: well, I'm using many KDE apps, so running the desktop seems reasonanble. | ||
pbuetow | rindolf: yeah | ||
rindolf: at least you can do your job :) | |||
rindolf | pbuetow: and I was able to run it comfortable on a P3-667MHz | 22:49 | |
Of course it runs faster on my P4-2.4GHz. | |||
pbuetow | rindolf: the newest version of KDE3? | ||
rindolf | pbuetow: don't know. | ||
pbuetow: what was back then. | |||
I had to upgrade my mem from 0.5 GB to 2.5 GB though. | 22:50 | ||
pbuetow | hehehe | ||
ram is always good | |||
rindolf | Because it seemed that 0.5 GB was a bit sluggish. | ||
Wwell, especially when I had Java. | |||
pbuetow | my laptop now has 2gb of ram, not 512mb any more. but i never use as much. | ||
well, 2gb of ram was a gift | |||
rindolf | My new computer should be able to scale up to 12 GB or 16 GB or so. | ||
pbuetow: ah, from who? | |||
pbuetow: what does your gf do, BTW? | 22:51 | ||
pbuetow | she is english teacher, nothing with computers :/ but well, i am ok with that :) | ||
rindolf: from my father for xmas, the 2gb of ram | 22:52 | ||
rindolf | pbuetow: ah. | ||
pbuetow: we still need teachers. | |||
pbuetow: computers are a poor substitute for teachers. | |||
pbuetow: well, when teachers are good. | |||
pbuetow | rindolf: where? | ||
rindolf | pbuetow: I mean humans need teachers. | ||
pbuetow | yes ;) | 22:53 | |
rindolf | I had a really good English teacher at the 11th grade. | ||
pbuetow | well i never was very good in english | ||
rindolf | And my other English teachers were also good. | ||
pbuetow: does she speak German, too? | |||
pbuetow | until i went to the US as an exchange student. now my english is much better, but still not perfect | ||
rindolf | pbuetow: ah. | 22:54 | |
pbuetow | rindolf: she speaks english and bulagarian (fluently), german, french, russian enough to communicate | ||
rindolf | pbuetow: my English has improved greatly after high-school. | ||
And still is. | |||
pbuetow: ah. | |||
pbuetow: so you communicate with her in English? | |||
pbuetow | rindolf: and some other languages, which are similar to russian and bulagarian, i think serbian etc | ||
rindolf | pbuetow: ah. | ||
I know a few kids from Croatia, Slovenia, etc. | 22:55 | ||
pbuetow | rindolf: english is the easiest way, but once a while we teach each other german or bulgarian | ||
rindolf | pbuetow: ah, I see. | ||
pbuetow | i ve been in slovenia and croatia last year :) | ||
rindolf | pbuetow: ah. | ||
pbuetow | slovenia on drive through to croatia | ||
rindolf | pbuetow: did you like it there? | ||
pbuetow: ah. | |||
pbuetow | in coratia for vacations, it was nice :) | ||
rindolf | pbuetow: ah. | 22:56 | |
pbuetow | slovenia, they have cheap gas | ||
rindolf | pbuetow: I didn't know Dalmatia was in Croatia. | ||
I just knew there was a Dalmatian dog. | |||
pbuetow | uh, me either | ||
rindolf | pbuetow: "um, neither did I." | ||
pbuetow: I'm the grammar nazi. | |||
pbuetow | hehehe | ||
rindolf | www.ozyandmillie.org/d/20080528.html | 22:57 | |
lambdabot | Title: Ozy and Millie: Grammar Nazi | ||
pbuetow | i think i ll learn bulgarian | ||
rindolf | pbuetow: well, at least in Hebrew. | ||
pbuetow | hehe | ||
we could conversate in perl poetry :P | 22:58 | ||
but here it's perl6, don't know perl6 good enough yet | |||
rindolf | pbuetow: Perl is not as useful for human<->human conversation as English or whatever is. | ||
pbuetow: I'm not very versed in Perl 6 either. | 22:59 | ||
pbuetow | well, at least it's fun | ||
rindolf | pbuetow: and poetry can be harmful. | ||
pbuetow | why can it be harmful? | ||
rindolf | pbuetow: Plato identified Poetry as divine madness. | ||
pbuetow: Poetry is a right hemisphere function. Freeform Speech is a left hemisphere function. | 23:00 | ||
pbuetow | ah | ||
rindolf | perlbot: bicameral | ||
perlbot: jaynes | |||
perlbot: search for jaynes | |||
perlbot | Sorry, no factoids contain the string "jaynes" | ||
rindolf | perlbot: search for bicameral | ||
perlbot | Sorry, no factoids contain the string "bicameral" | ||
rindolf | How is that possible? | 23:01 | |
pbuetow: en.wikipedia.org/wiki/Bicameralism_(psychology) | 23:02 | ||
spinclad | perlbot: search with your other hemisphere | 23:03 | |
perlbot | Sorry, no factoids contain the string "with your other hemisphere" | ||
pbuetow | rindolf: huh! i am not going to read that! i am too tired (and lazy) ;) | ||
rindolf | pbuetow: anyway, the book is a very reocmmended read. | ||
pbuetow: you can read the article. | |||
pbuetow | rindolf: maybe if i ve graduated (lots of stuff to do) | ||
rindolf | pbuetow: or you can bookmark it. | 23:04 | |
pbuetow | in 3 months | ||
rindolf | pbuetow: ah. | ||
pbuetow | i ll be, i hope | ||
rindolf | pbuetow: are you still an undergrad? | ||
pbuetow | yes | ||
i am writing on my diploma thesis atm | |||
lots of work :/ | |||
rindolf | Konqi looks weird now. | ||
pbuetow | rindolf: do you use LaTeX for your writings? | ||
rindolf | It doesn't happen with gtk+/gnome apps. | ||
pbuetow: a bit. | |||
pbuetow: but also DocBook/XML, HTML, POD , etc. | 23:05 | ||
pbuetow | rindolf: do you use a spell checker with LaTeX? | ||
rindolf | pbuetow: LaTeX is problematic. | ||
pbuetow | ispell/aspell? | ||
rindolf | pbuetow: no, I don't. | ||
23:05
justatheory left
|
|||
pbuetow | i need to | 23:05 | |
rindolf | pbuetow: I'm using aspell. | ||
pbuetow | i am used to LaTeX | ||
rindolf | pbuetow: for Englih. | ||
pbuetow | but need to set up a spell checker | ||
rindolf | Not for Hebrew. | ||
pbuetow | well i m writing in german | ||
rindolf | pbuetow: LaTeX is a kludge. | ||
pbuetow | i start writing next week, my software for the thesis ist almost done | ||
rindolf | pbuetow: there's no problem writing DB/XML in German. | 23:06 | |
pbuetow | now i ve to write those things down | ||
rindolf | pbuetow: you can convert latex to DocBook/XML or HTML+MathML. | ||
pbuetow: using h4t | |||
pbuetow | i think you can convert LaTeX to everything known in the universe :) | ||
well i can use the spell checker of vim or an external spell checker like a spell. which also should support LaTeX. | 23:07 | ||
s/a spell/aspell/ | |||
rindolf | pbuetow: I have an idea to write a post-modern typesetting system. | 23:09 | |
As an alternative to TeX/LaTeX and Troff. | |||
A saner alternative. | |||
pbuetow | can you complete it next week? :P | ||
so i can use it. | |||
(just kidding) | |||
rindolf | pbuetow: it will take a while. | 23:23 | |
I'm planning to generate XSL-FO, SVG, MathML, etc. | |||
To make my life easier. | 23:24 | ||
pbuetow | rindolf: i understand, sounds interesting | 23:26 | |
rindolf: tell me, if you want testers | 23:27 | ||
23:27
dominiko joined
|
|||
rindolf | pbuetow: sure. | 23:28 | |
pbuetow: it's still pie-in-the-sky. | |||
pbuetow: I haven't written a single line of code yet. | |||
pbuetow: just have two docs. | |||
pbuetow | rindolf: ok ;) planing is important | ||
rindolf | pbuetow: it's one of my "world-domination projects" | ||
pbuetow | lol | 23:29 | |
rindolf | Great ideas, but not enough motivation. | ||
Well, I'm going to sleep. | 23:35 | ||
Hopefully I can fall asleep easily. | |||
pbuetow | rindolf: good night. | 23:37 | |
rindolf | pbuetow: night. | ||
Or maybe I'll eat something beforehand. | |||
I could prepare rice in the microwave. | 23:38 | ||
pbuetow | i always need meat | ||
rindolf | Maybe I should do cog. psy. exercises. | ||
pbuetow: meat makes you active. | |||
dominiko | I'm new here, I thought this was about Perl. | 23:39 | |
pbuetow | dominiko: yes, it is about perl6 | 23:40 | |
dominiko | ok good, not just about food then. | ||
pbuetow | yes! | 23:41 | |
dominiko | I've been ignoring Perl6 so far but I read a bit about it today, and ... it looks promising. | 23:42 | |
rindolf | dominiko: it looks very promising to me too. | ||
dominiko: not sure if I like the entire thing, but it has many excitign features. | |||
dominiko: I think we'll see ideas from it in many places. | 23:43 | ||
dominiko | but gosh it takes time. Are we seeing the light at the end of the tunnel? I don't mean to say that as a criticism, all good things take time. | ||
rindolf | dominiko: well, right now Rakudo seems like the way to go. | ||
dominiko: Pugs is mostly dead. | |||
dominiko: and is dog-slow. | |||
dominiko: I voiced some criticism against perl 6 in the past. | 23:44 | ||
perlbot: perl6-crit | |||
perlbot: search for crit | |||
perlbot | Found 3 matches for "crit": port 2467, perl6crit, perl 6 critique | ||
rindolf | perlbot: perl6crit | ||
perlbot | rindolf's Perl6 critique: freshmeat.net/articles/view/1339 -- but be sure to read at least this comment too: freshmeat.net/articles/view/1339#comment-32746 | ||
lambdabot | Title: freshmeat.net: Editorials - Critique of Where Perl 6 is Heading | ||
pbuetow | pugs used to be about 20 times slower than perl5, last time i tested it. dont really remember what i tested, some parsing stuff i think. | ||
rindolf | pbuetow: yeah. | 23:45 | |
pbuetow: it was also slow for the Graham Function. | |||
dominiko | yes, I read... it's optmized for... fun | ||
instead of speed or memory | |||
but fun is important | |||
pbuetow | but it's very nice to have had pugs! | ||
rindolf | dominiko: but slow running code is not fun. | ||
dominiko: the faster a program runs, he happier you are. | |||
dominiko: wait a sec. | |||
dominiko | won't there be a c or c++ implementation? | 23:46 | |
pbuetow | perl6 (rakudo) will uses a virtual machine, which itself is in C | ||
rindolf | dominiko: shlomif.livejournal.com/52579.html - fun, happiness, etc. | ||
pbuetow | -will | ||
lambdabot | Title: shlomif: What Motivates People and How? | ||
pbuetow | dominiko: www.parrotcode.org | 23:47 | |
lambdabot | Title: Parrot Virtual Machine - parrotcode | ||
rindolf | Oooh... TimToady got op. | ||
A languages designer with power! | |||
pbuetow | hehe. | ||
rindolf | Is there spam or something? | 23:48 | |
23:50
rindolf left
23:51
bacek__ left
|