Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-01-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 xomas_ joined #perl6
00:05 Chillance joined #perl6
00:06 |hugues23| joined #perl6
00:48 azhang2110 joined #perl6
00:54 diakopter whee
00:55 pugs_svn r29503 | diakopter++ | [sprixel] implemented recursive named pattern compilation.  there's a bug still, but I wanted to commit the progress so far.
01:19 nadim UGHHHH! Commiting bugged code
01:32 KyleHa joined #perl6
01:45 cls_bsd joined #perl6
01:59 diakopter nadim: very funny :P
02:03 xomas_ left #perl6
02:07 xomas joined #perl6
02:08 mikehh joined #perl6
02:17 cognominal joined #perl6
02:18 orafu joined #perl6
02:43 rgrau_ joined #perl6
02:59 Psyche^ joined #perl6
03:23 diakopter whee
03:25 Baggiokwok joined #perl6
03:25 pugs_svn r29504 | diakopter++ | [sprixel] finished implementing recursive named patterns; tested with right-recursive
03:25 pugs_svn r29504 | patterns up to 1<<10 invocations deep.  Note that the JS call stack is much
03:25 pugs_svn r29504 | shorter/shallower than that. :)
03:26 diakopter TimToady: the requirement for capturing group indexes to be statically determined isn't possible in recursive patterns
03:27 TimToady recursion counts as a subpattern, not as inlined
03:28 diakopter o
03:28 diakopter o yeah
03:28 diakopter thanks :)
03:28 TimToady any construct that would force a dynamic interpretation on those is forced to be lexical that way
03:29 TimToady if you want a dynamic version, you have to do your own gather/take
03:29 diakopter weeeeeeellllll
03:29 diakopter or something.
03:30 TimToady tmtowtdi
03:30 diakopter masak: where you be lurkin
03:30 TimToady in bed, probably
03:31 TimToady probably about 4:30 in the morning there
03:33 colomon joined #perl6
03:38 * diakopter thinks about what to implement next
03:38 diakopter let's see.  todos:  1) named capturing groups: done in sprixel#; easy port (also includes match object).
03:39 ashizawa joined #perl6
03:41 diakopter 2) whole-number indexed capturing groups
03:42 Baggiokwok joined #perl6
03:42 diakopter falls out from named capturing groups, mostly, plus (as masak pointed out) each alternation must compute and 'pass upwards' the largest of the minimum slots required by its alternatives.
03:43 diakopter 3) protoregexes: done in sprixel#; easy port
03:45 diakopter would anyone like to vote on which to do next?
03:48 diakopter ok, #1 it is
03:54 diakopter actually, counted (exact or by range) repetitions should be next.
04:03 Baggiokwok joined #perl6
04:05 diakopter hmm. matching this behavior will be tricky. print('aaaa'=~/((?:.?){9,9})/)
04:24 pugs_svn r29505 | diakopter++ | [sprixel] implemented repeat(pattern,min,max), a generalization of plus(pattern).
04:38 nihiliad joined #perl6
04:38 lisppaste3 joined #perl6
04:44 jaldhar joined #perl6
04:50 jaldhar joined #perl6
04:53 Baggiokwok joined #perl6
05:43 cognominal joined #perl6
05:54 gfx joined #perl6
06:01 mberends good morning
06:01 cognominal joined #perl6
06:04 cognominal TimToady: a  book (I have yet to read) about Edgar Morin is called "La pensée tourbillionaire"  (the whirlpool thought).
06:05 cognominal *tourbillonaire
06:06 cognominal but the guy is a also trublion so my mistake.
06:07 cognominal I wonder if the two words have a common root.
06:11 Baggiokwok joined #perl6
06:14 diakopter mberends: hi
06:15 mberends hi, yout seem to be making good progress (same here). can one test or try out jsemit.js in some way?
06:16 diakopter no; I'm refactoring majorly atm; thank you though :D
06:16 diakopter doing repetition *the right way* now
06:16 mberends :)
06:18 mberends taking extra care here laying out the first operator implementation of many, as it's likely to be copied/pasted often in future
06:20 diakopter many manies
06:20 mberends yes, I remember the previous Sprixel :)
06:20 mberends although Everything Is A String initially, there need to be hooks for other data types later on
06:22 mberends need to read more about LLVM Accurate Garbage Collection, hope it is suitable file:///usr/share/doc/llvm-do​c/html/GarbageCollection.html
06:23 * diakopter refrains from clicking
06:23 mberends ugh, local file ref
06:23 mberends :)
06:24 mberends http://llvm.org/docs/GarbageCollection.html
06:29 mberends "it leaves a lot of work for the developer of a novel language" hooray
06:29 diakopter :D
06:30 mberends there's always the prior art in Parrot to learn from ;)
06:57 mberends since concatenating is a frequent and potentially expensive operation, LLVM recommends replacing your String with a Rope made of Twines (lazy concatenation). nice. easier done at compile time than run time, however.
07:13 mikehh joined #perl6
07:15 cognominal I thought parrot was using ropes?
07:17 mberends don't know. the intent was to reduce heap thrashing, and quite a few parrot problems are heap related (GC etc)
07:18 mberends in the case of vill, it would be premature optimization. good to note though.
07:20 diakopter imho, proper design/exploration/refactoring is often mistaken for premature optimization (and it indicates a not-thoroughly-understood problem).
07:21 diakopter (in other words, proper design/exploration/refactoring is done for the purpose of thoroughly understanding the problem)
07:22 mberends well that does need consideration with something like String implementation, because omitting a Rope API would imply much more rewriting later on. where is that crystal ball?
07:23 diakopter i dunno. I think I saw it flying south.
07:23 mberends diakopter: please lend me your crystal ball, mine seems to have rolled away
07:23 diakopter heh
07:24 diakopter the one I was using floated away and flew south for the winter.  a long, dark winter.
07:25 mberends hmm
07:25 diakopter now all I've got is my marbles.  and those seem to be disappearing quickly, too.
07:25 * mberends lost his marbles quite a few times
07:27 diakopter debugging generated code without a debugger is... fraught with frustration.
07:27 mberends yes. sometimes only print is your friend.
07:28 diakopter perhaps I should use a debugger.  Alls Is needs tos dos is make it output to a file that's included in a .html page, and run it in IE.
07:28 * diakopter often slower than the average bear.
07:30 mberends (the next Perl 6 implementation will be developed and based on Internet Explorer) (!)
07:31 mberends and NotePad++
07:31 diakopter IE's debugger is the best/fastest available (still). firefox', chrome's, and safari's are still laggy/flaky.
07:32 jackyf joined #perl6
07:38 Baggiokwok joined #perl6
08:15 soupdragon joined #perl6
08:41 kaare joined #perl6
08:46 cognominal joined #perl6
08:48 jonasbn joined #perl6
09:05 pugs_svn r29506 | diakopter++ | [sprixel] still broken, but refactored _much_ betterly.
09:05 diakopter bed&
09:06 mberends good night
09:08 Su-Shee joined #perl6
09:09 Su-Shee good morning
09:09 Tene Hi!
09:09 mberends good morning, how's the winter weather today?
09:10 Su-Shee wonderfully winterish :)
09:10 Su-Shee all snowy and white and snow-crunching :)
09:21 Baggiokwok joined #perl6
09:28 meppl joined #perl6
09:31 pugs_svn r29507 | mberends++ | [vill] substantial but incomplete work on infix__S_Plus, README, Makefile
09:37 szabgab joined #perl6
09:51 sunnavy left #perl6
09:58 saschi gmorning ^^
10:09 Baggiokwok joined #perl6
10:14 Baggiokwok joined #perl6
10:16 saschi http://www.flickr.com/photo​s/46413323@N03/4262139322/
10:16 saschi ?~>
10:22 Baggiokwok joined #perl6
10:26 saschi Su-Shee: i've cooked boeuf bouguignon yesterday too, was a great idea
10:31 cognominal *bourguignon
10:34 saschi cognominal: thx, typo :)
10:36 Baggiokwok joined #perl6
10:36 saschi cognominal: but i used a german (hessian) spaetburgunder (pinot noir) >_<
10:40 Baggiokwok joined #perl6
10:41 Baggiokwok joined #perl6
10:43 fridim_ joined #perl6
10:44 Su-Shee saschi: how did your turn out? :)
10:45 Su-Shee yours.
10:45 Su-Shee saschi: I slaved 45 minutes alone over the stove to brown the beef properly.
10:49 saschi Su-Shee: my one needed app. 90-120 minutes, i guess
10:50 saschi Su-Shee: i switched between computer & wine and stove & wine
10:54 Su-Shee I took the notebook with me in the kitchen. why do we have wlan nowadays? ;)
10:55 Su-Shee mine took 2hrs 30 min to get ready, but the preparation was rather long.
10:55 saschi Su-Shee: to brown onions, stewing the beef and then the simmering process with wine and spicery took time
10:55 saschi Su-Shee: that true ^^
10:56 Su-Shee I skipped the onions and went for the mushrooms. :)
10:56 saschi Su-Shee: i started arround 7 PM and the supper was ready for serving arround 9 PM
10:56 saschi ah, ok :D
10:57 saschi i used carrots as "spicery" too
10:58 Su-Shee well I also made a fresh bread and an apricot tarte as dessert.. ;)
10:58 Su-Shee (still feeling exhausted ;)
10:58 saschi but they got lost in the sieve through which i passed the sauce through
10:59 Su-Shee mine was way too creamy to pass through anything.
10:59 Su-Shee thick, concentrated, aroma-laden.. :)
11:00 saschi so i needed to prepare some extra and placed them with the beef in the bonded (?) sauce ^^
11:00 saschi yeah, i needed s big spoon to force the process :D
11:00 saschi a
11:02 Su-Shee tomorrow, I get the two volumes book. ;) let's see. :)
11:03 utsav\ joined #perl6
11:03 saschi julia childs books you mentioned yesterday?
11:03 Su-Shee yes.
11:04 saschi nice
11:04 Su-Shee and something which is supposedly _the_ cake book. ;)
11:04 saschi cool
11:08 soupdragon joined #perl6
11:10 iblechbot joined #perl6
11:11 saschi Su-Shee: my mother-in-law has a viable collection of cook books, hmmm, maybe i can find those julia childs books there
11:15 Su-Shee I think, it's an american thing, I've never even heard of her until I watched the movie.
11:15 saschi Su-Shee: but my own exemplar of "Mastering the Art of French Cooking I&II" would be cool side by side with "The Art of Electronics" and "The Art of Computer Programming" >_<
11:16 saschi Su-Shee: yeah, she has american and english cook books, but i never looked for the authors names
11:17 saschi Su-Shee: i heard the first time about "The Art of French Cooking" and Julia Childs yesterday ;)
11:18 Su-Shee don't forget the art of war and the art of sql ;)
11:18 saschi and according to my personal experiences so called "french cooking" is the most solide teqnique to get yummy results IMHO
11:18 saschi war? _
11:18 saschi ^^
11:18 saschi omg
11:19 saschi not in my kitchen!!!one1
11:19 Su-Shee well mine usally does look like after one ;)
11:19 saschi but you cleaned it up already, or? ^^
11:20 Su-Shee no, mr shee did. ;)
11:20 saschi ah, cool :D
11:20 Su-Shee and my best friend, mr dishwasher. :)
11:21 saschi yeah, dishwashers are one of the greatest cultural archivements of humankind
11:21 Su-Shee and one of the rare occasions where technology actually _does_ solve social problems. :)
11:21 saschi yes
11:22 saschi they made non-psychotic stable residential communities possible
11:31 wayland76 I know people who blame communication problems in families on dishwashers, because they used to all wash the dishes together, and now they pack the dishwasher and sit around the telly :)
11:32 wayland76 I think the Art of War should be paired with the Art of XML
11:32 wayland76 Because of the saying "XML is like violence; if it doesn't work, use more"
11:35 mberends wayland76++
11:38 mberends that belongs next to "Object Relational Mapping is the Vietnam of Computer Science"
11:41 Baggiokwok joined #perl6
11:43 Baggiokwok joined #perl6
11:44 schmalbe joined #perl6
11:46 Su-Shee that's actually exactly what art of war is NOT saying. ;)
11:50 colomon joined #perl6
11:52 Baggiokwok joined #perl6
11:54 Baggiokwok joined #perl6
11:56 Baggiokwok joined #perl6
11:59 Baggiokwok joined #perl6
12:01 Baggiokwok joined #perl6
12:03 Baggiokwok joined #perl6
12:14 Baggiokwok joined #perl6
12:16 rgrau_ joined #perl6
12:16 Baggiokwok joined #perl6
12:19 Baggiokwok joined #perl6
12:27 pmurias joined #perl6
12:43 pugs_svn r29508 | mberends++ | [vill] minor tidying of a few source files
12:44 jferrero joined #perl6
13:15 Baggiokwok joined #perl6
13:38 Baggiokwok joined #perl6
13:58 payload joined #perl6
14:07 slavik joined #perl6
14:08 mikehh joined #perl6
14:22 pugs_svn r29509 | mberends++ | [vill] add (int) type casts for fprintf precision parameters, warned about by gcc 4.4.2 (ubuntu 10.4)
14:47 Slug1 joined #perl6
14:56 Pzt joined #perl6
15:00 colomon ng: say 6 !% 4;
15:00 p6eval ng 3f06c7: Confused at line 1, near "say 6 !% 4"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
15:12 cognominal joined #perl6
15:13 pugs_svn r29510 | colomon++ | [t/spec] Refudge a tad for ng.
15:13 Psyche^ joined #perl6
15:14 |hugues23| joined #perl6
15:16 tylerni7 joined #perl6
15:24 soupdragon joined #perl6
15:25 synth joined #perl6
15:31 soupdragon joined #perl6
15:57 revdiablo joined #perl6
16:04 Slug1 joined #perl6
16:11 payload joined #perl6
16:35 pugs_svn r29511 | diakopter++ | [sprixel] better.
16:39 kensanata joined #perl6
16:40 ive joined #perl6
16:41 pmurias joined #perl6
16:41 diakopter pmurias: hi
16:41 diakopter usually this time on Sunday you're on a train
16:42 diakopter where by "usually" I mean I think I remember you saying you were on a train once (maybe twice) on a Sunday.
16:44 pmurias_ joined #perl6
16:45 pmurias_ diakopter: hi
16:45 diakopter pmurias_: today I'm adding capturing groups/matches to sprixel
16:45 diakopter also match.next or whatever
16:46 pmurias diakopter: how far is sprixel from basic usefullness
16:46 pmurias diakopter: i'm not on the train as i didn't go home for the weekend
16:46 diakopter well, if I had stuck with C#, about 2 weeks. since I switched *back* to JS, about 3 weeks.
16:47 pmurias diakopter: why did you switch?
16:51 diakopter chromatic's argument about C#/mono was persuasive
16:54 synth joined #perl6
17:02 diakopter one benefit of JS is that I can actually *see* the code I'm generating (without writing it to disk)
17:02 diakopter not that it's easily readable...
17:02 * pmurias doesn't understand
17:03 diakopter in C# it was emitting CIL bytecode
17:03 pmurias you can dissassemble that right?
17:04 diakopter yeah but only if it's written to disk
17:06 lmc joined #perl6
17:06 cognominal joined #perl6
17:11 justatheory joined #perl6
17:26 slavik you compared javascript to C#?
17:28 diakopter slavik: what do you mean
17:28 slavik I wouldn't say that javascript and C# are in the same category of languages ...
17:29 diakopter what's wrong with comparing across categories?
17:30 slavik it's like comparing apples and oranges :P
17:30 diakopter right, what's wrong with comparing apples and oranges?
17:30 diakopter they're substitutes for one another at many level.s
17:30 diakopter levels.
17:31 slavik C# - compiled and serverside, Javascript - not really compiled and clientside
17:31 diakopter as projectiles, as food, as teaching tools
17:31 slavik haha
17:31 diakopter C# - JIT compiled and serverside/clientside, JavaScript - JIT compiled and serverside/clientside
17:32 diakopter C# is JIT compiled to machine code when invoked.  same with JavaScript.
17:32 diakopter better stated, CIL (what C# is translated to) is JIT compiled to machine code...
17:33 diakopter all of the JS engines other than IE's have standalone/command-line editions.
17:34 diakopter C# is generated/used on the clientside quite often (in silverlight apps).
17:34 diakopter JavaScript is used on the serverside too.
17:34 slavik silverlite is closer to flash though than javascript
17:34 diakopter flash's actionscript *is* javascript.
17:34 diakopter mostly.
17:35 slavik right
17:35 slavik no wait
17:35 slavik no it's not ... how is actionscript javascript?
17:36 slavik hmm, I see
17:36 slavik based on ecma script
17:36 slavik so they are both based on ecma script ...
17:36 slavik arrg, you win
17:36 slavik in that case, javascript can be nicer, since it's not statically typed ... but limited
17:37 slavik so it still sucks, that's why I use Perl. :D
17:37 diakopter well, ecmascript was the standard derived from the javascript implementations.  however, a good compiler can infer the types.
17:37 diakopter it's limited?
17:37 slavik diakopter: in a way that IE can infer array(1) to be the same as array[1] ?
17:38 slavik let me rephrase that. I find it limiting :)
17:38 slavik no proper hashes and coercing objects to be hashes is a hack IMO
17:39 diakopter someone could turn that around to say: no proper object and coercing hashes to be objects is a hack IMO
17:42 diakopter array(1) in IE does what?
17:44 diakopter IE doesn't infer array(1) to be the same as array[1].
17:46 diakopter (why would it?)
17:48 diakopter I should specify: "however, a good compiler can infer the types, iff the code is written as if it were strongly-typed, just not annotated with the types"
17:55 colomon_ joined #perl6
17:59 pmurias diakopter: javascript's OO is a definitvely hackish
17:59 arnsholt slavik: The thing that always trips me up with LS is the object system
17:59 arnsholt Prototype-based OO is funky
18:00 diakopter "a definitvely hackish"?
18:00 pmurias LS?
18:00 pmurias diakopter: hacked together would be a better word
18:00 slavik diakopter: IE6 does ...
18:00 slavik diakopter: ever hear of a term: IE only web page?
18:00 diakopter slavik: you're being rude... that question doesn't follow from that statement
18:01 arnsholt I'm not sure hacked together is the right way to describe JS OO. I think the problem is that it's so different from class-based OO
18:01 _hugues23_ joined #perl6
18:02 diakopter I agree with arnsholt. anything different from what one is accustomed to seems "hackish".
18:04 diakopter slavik: if IE<=6 lets you invoke an array like a function, I didn't know about it. can you point me to a URL where it is described?
18:04 pmurias diakopter: js seems hackish in the sense that i feel js developers were cutting corners
18:05 arnsholt The thing that annoys me with JS is that statements can be terminated with a newline as well as ;
18:05 arnsholt Which makes the syntax a lot more complicated than it should
18:05 cognominal joined #perl6
18:07 slavik looking for it
18:10 pmurias diakopter: it's different, more verbose and less powerfull and easier to implement
18:10 pmurias joined #perl6
18:11 diakopter pmurias: what is "it" in that statement? perl? js? C#? prototype-based-oo?  class-based-oo?  hash/bless-based-oo?
18:11 pmurias js-oo
18:12 pmurias properly done prototype-oo doesn't seem to be clearly bad
18:12 diakopter I can't think of a way it's less powerful, except that it can't do compile-time multiple-inheritance a la C++
18:14 pmurias it's less powerfull than perls
18:14 slavik hmm, can't find it
18:21 diakopter slavik: I looked too; I can't find it either. later today I'll pull up XP Mode and try it :)
18:22 IllvilJa joined #perl6
18:40 justatheory joined #perl6
18:44 colomon__ joined #perl6
18:47 colomon__ ng: say 1.2 == "1.2"
18:47 p6eval ng 3f06c7: sh: ./perl6: No such file or directory␤
18:53 diakopter ng: say 1.2 == "1.2"
18:53 p6eval ng 3f06c7: 1␤
18:58 colomon__ ng: my $a = 1.2; say "$a";
18:58 p6eval ng 3f06c7: 1.2␤
18:59 colomon__ ng: my $a = 1.2; my $b = "1.2"; say "$a == ";
18:59 p6eval ng 3f06c7: Multiple Dispatch: No suitable candidate found for 'concatenate', with signature 'PPP->P'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
18:59 colomon__ ng: my $a = 1.2; say "hello, $a";
18:59 p6eval ng 3f06c7: hello, 1.2␤
18:59 colomon__ ng: my $a = 1.2; say "1.2 pounds";
18:59 p6eval ng 3f06c7: 1.2 pounds␤
19:00 colomon__ okay, I'm very confused by this....
19:00 colomon__ afk
19:05 mberends it looks like concatenate( var, literal ) is not the same as concatenate( literal, var )
19:25 mikehh joined #perl6
19:37 mj41 joined #perl6
20:00 colomon__ ng: my $a = 1.2; say "$a pounds";
20:00 p6eval ng 3f06c7: Multiple Dispatch: No suitable candidate found for 'concatenate', with signature 'PPP->P'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
20:02 mberends ng: my $a = 1.2; say "pounds $a";
20:02 p6eval ng 3f06c7: pounds 1.2␤
20:02 mberends ng: my $a = 1.2; say "pounds $a pounds";
20:02 p6eval ng 3f06c7: pounds 1.2 pounds␤
20:03 mberends ng: my $a = 1.2; say "$a";
20:03 p6eval ng 3f06c7: 1.2␤
20:03 * mberends is also confused now
20:06 mathw Hmm
20:06 mathw That does look quite odd
20:10 payload joined #perl6
20:52 soupdragon joined #perl6
20:52 Su-Shee left #perl6
20:52 nihiliad joined #perl6
20:54 payload joined #perl6
20:57 s1n ng: my $a = 2...5; say $a.WHAT;
20:57 p6eval ng 3f06c7: Array()␤
20:57 s1n ng: my $a = 2..5; say $a.WHAT;
20:57 p6eval ng 3f06c7: Range()␤
21:04 cognominal joined #perl6
21:20 pugs_svn r29512 | mberends++ | [mildew/README] wrote more detailed installation instructions
21:25 ive joined #perl6
21:30 mberends pmurias: mildew r29512 test and test-js pass 100% on Linux x86 and amd64
21:53 chee joined #perl6
21:54 chee left #perl6
22:20 colomon joined #perl6
22:24 pmurias mberends: thanks
22:25 mberends :)
22:29 pugs_svn r29513 | diakopter++ | [sprixel] made grammars & their parsers re-entrant, enabling backtracking into a match.
22:29 pugs_svn r29513 |  Implemented named capture groups.  Example:
22:29 pugs_svn r29513 | var g = new Grammar('wp6'); var p = g.addPattern('toplevel', both(plus(dot()),both(group(p​lus(dot()),"tail"),end())));
22:29 pugs_svn r29513 | var input = utf32str(Array(4).join('a')); var m = g.parse(input);
22:29 pugs_svn r29513 | print(m.match.c["tail"].s); m = m.next(); print(m.match.c["tail"].s);
22:29 pugs_svn r29513 | // outputs 1 (newline) 2, as the tail portion of the match is backtracked.
22:30 diakopter er, I mean, outputs 2 (newline) 1
22:31 diakopter sry for using 're-entrant' imprecisely
22:34 patspam joined #perl6
22:34 rachelBROWN joined #perl6
22:54 payload1 joined #perl6
23:06 Manuary joined #perl6
23:38 justatheory joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo