»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
00:03 xomas_ joined 00:05 Chillance joined 00:06 |hugues23| joined, hugues23 left 00:09 beggars left 00:13 Chazz[ZNC] is now known as Chazz, xomas left 00:25 lisppaste3 left 00:48 azhang2110 joined
diakopter whee 00:54
pugs_svn r29503 | diakopter++ | [sprixel] implemented recursive named pattern compilation. there's a bug still, but I wanted to commit the progress so far. 00:55
01:05 |hugues23| left, nihiliad left
nadim UGHHHH! Commiting bugged code 01:19
01:32 KyleHa joined 01:45 cls_bsd joined
diakopter nadim: very funny :P 01:59
02:03 xomas_ left 02:07 xomas joined 02:08 mikehh left, mikehh joined 02:17 cognominal joined 02:18 orafu left, orafu joined 02:30 jferrero left 02:37 KyleHa left 02:42 rgrau_ left 02:43 rgrau_ joined 02:59 Psyche^ joined, Psyche^ is now known as Patterner
diakopter whee 03:23
03:25 Baggiokwok joined
pugs_svn r29504 | diakopter++ | [sprixel] finished implementing recursive named patterns; tested with right-recursive 03:25
r29504 | patterns up to 1<<10 invocations deep. Note that the JS call stack is much
r29504 | shorter/shallower than that. :)
diakopter TimToady: the requirement for capturing group indexes to be statically determined isn't possible in recursive patterns 03:26
TimToady recursion counts as a subpattern, not as inlined 03:27
diakopter o 03:28
o yeah
thanks :)
TimToady any construct that would force a dynamic interpretation on those is forced to be lexical that way
if you want a dynamic version, you have to do your own gather/take 03:29
diakopter weeeeeeellllll
or something.
TimToady tmtowtdi 03:30
diakopter masak: where you be lurkin
TimToady in bed, probably
probably about 4:30 in the morning there 03:31
03:32 colomon_ left 03:33 colomon joined
diakopter thinks about what to implement next 03:38
let's see. todos: 1) named capturing groups: done in sprixel#; easy port (also includes match object).
03:39 ashizawa joined 03:40 Baggiokwok left
diakopter 2) whole-number indexed capturing groups 03:41
03:42 Baggiokwok joined
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:42
3) protoregexes: done in sprixel#; easy port 03:43
would anyone like to vote on which to do next? 03:45
ok, #1 it is 03:48
actually, counted (exact or by range) repetitions should be next. 03:54
04:02 Baggiokwok left 04:03 Baggiokwok joined, Baggiokwok left
diakopter hmm. matching this behavior will be tricky. print('aaaa'=~/((?:.?){9,9})/) 04:05
pugs_svn r29505 | diakopter++ | [sprixel] implemented repeat(pattern,min,max), a generalization of plus(pattern). 04:24
04:35 cognominal left 04:38 nihiliad joined, lisppaste3 joined 04:44 jaldhar joined 04:49 jaldhar left 04:50 jaldhar joined 04:53 Baggiokwok joined 04:55 _jaldhar_ left 05:04 Baggiokwok left 05:43 cognominal joined 05:54 gfx joined 06:00 cognominal left
mberends good morning 06:01
06:01 cognominal joined
cognominal TimToady: a book (I have yet to read) about Edgar Morin is called "La pensée tourbillionaire" (the whirlpool thought). 06:04
*tourbillonaire 06:05
but the guy is a also trublion so my mistake. 06:06
I wonder if the two words have a common root. 06:07
06:11 Baggiokwok joined
diakopter mberends: hi 06:14
mberends hi, yout seem to be making good progress (same here). can one test or try out jsemit.js in some way? 06:15
diakopter no; I'm refactoring majorly atm; thank you though :D 06:16
doing repetition *the right way* now
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:18
diakopter many manies 06:20
mberends yes, I remember the previous Sprixel :)
although Everything Is A String initially, there need to be hooks for other data types later on
need to read more about LLVM Accurate Garbage Collection, hope it is suitable file:///usr/share/doc/llvm-doc/html/GarbageCollection.html 06:22
diakopter refrains from clicking 06:23
mberends ugh, local file ref
:)
llvm.org/docs/GarbageCollection.html 06:24
06:25 justatheory left
mberends "it leaves a lot of work for the developer of a novel language" hooray 06:29
diakopter :D
mberends there's always the prior art in Parrot to learn from ;) 06:30
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. 06:57
07:08 azhang2110 left 07:13 mikehh left, mikehh joined 07:14 rgrau_ left
cognominal I thought parrot was using ropes? 07:15
mberends don't know. the intent was to reduce heap thrashing, and quite a few parrot problems are heap related (GC etc) 07:17
in the case of vill, it would be premature optimization. good to note though. 07:18
diakopter imho, proper design/exploration/refactoring is often mistaken for premature optimization (and it indicates a not-thoroughly-understood problem). 07:20
(in other words, proper design/exploration/refactoring is done for the purpose of thoroughly understanding the problem) 07:21
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:22
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
diakopter heh
the one I was using floated away and flew south for the winter. a long, dark winter. 07:24
mberends hmm 07:25
diakopter now all I've got is my marbles. and those seem to be disappearing quickly, too.
mberends lost his marbles quite a few times
07:26 Baggiokwok left
diakopter debugging generated code without a debugger is... fraught with frustration. 07:27
mberends yes. sometimes only print is your friend.
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.
mberends (the next Perl 6 implementation will be developed and based on Internet Explorer) (!) 07:30
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 07:38 Baggiokwok joined 07:46 Baggiokwok left 08:09 kst` left 08:15 soupdragon joined 08:41 kaare joined, kaare is now known as Guest66270 08:44 cognominal left 08:46 cognominal joined 08:48 jonasbn joined 08:55 szabgab left 08:57 gfx left
pugs_svn r29506 | diakopter++ | [sprixel] still broken, but refactored _much_ betterly. 09:05
diakopter bed&
mberends good night 09:06
09:08 Su-Shee joined
Su-Shee good morning 09:09
Tene Hi!
mberends good morning, how's the winter weather today?
Su-Shee wonderfully winterish :) 09:10
all snowy and white and snow-crunching :)
09:21 Baggiokwok joined 09:28 meppl joined
pugs_svn r29507 | mberends++ | [vill] substantial but incomplete work on infix__S_Plus, README, Makefile 09:31
09:37 szabgab joined 09:39 rachelBROWN left 09:41 Pzt left 09:51 sunnavy left
saschi gmorning ^^ 09:58
10:07 Baggiokwok left 10:09 Baggiokwok joined 10:14 Baggiokwok left, Baggiokwok joined
saschi www.flickr.com/photos/46413323@N03/4262139322/ 10:16
?~>
10:16 Baggiokwok left 10:22 Baggiokwok joined
saschi Su-Shee: i've cooked boeuf bouguignon yesterday too, was a great idea 10:26
cognominal *bourguignon 10:31
saschi cognominal: thx, typo :) 10:34
10:35 Baggiokwok left 10:36 Baggiokwok joined
saschi cognominal: but i used a german (hessian) spaetburgunder (pinot noir) >_< 10:36
10:39 Baggiokwok left 10:40 Baggiokwok joined, Baggiokwok left 10:41 Baggiokwok joined 10:43 fridim_ joined 10:44 Baggiokwok left
Su-Shee saschi: how did your turn out? :) 10:44
yours. 10:45
saschi: I slaved 45 minutes alone over the stove to brown the beef properly.
saschi Su-Shee: my one needed app. 90-120 minutes, i guess 10:49
Su-Shee: i switched between computer & wine and stove & wine 10:50
Su-Shee I took the notebook with me in the kitchen. why do we have wlan nowadays? ;) 10:54
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
Su-Shee: that true ^^
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
ah, ok :D
i used carrots as "spicery" too 10:57
Su-Shee well I also made a fresh bread and an apricot tarte as dessert.. ;) 10:58
(still feeling exhausted ;)
saschi but they got lost in the sieve through which i passed the sauce through
Su-Shee mine was way too creamy to pass through anything. 10:59
thick, concentrated, aroma-laden.. :)
saschi so i needed to prepare some extra and placed them with the beef in the bonded (?) sauce ^^ 11:00
yeah, i needed s big spoon to force the process :D
a
Su-Shee tomorrow, I get the two volumes book. ;) let's see. :) 11:02
11:03 utsav\ joined
saschi julia childs books you mentioned yesterday? 11:03
Su-Shee yes.
saschi nice 11:04
Su-Shee and something which is supposedly _the_ cake book. ;)
saschi cool
11:07 soupdragon left 11:08 soupdragon joined 11:10 iblechbot joined
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:11
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" >_<
Su-Shee: yeah, she has american and english cook books, but i never looked for the authors names 11:16
Su-Shee: i heard the first time about "The Art of French Cooking" and Julia Childs yesterday ;) 11:17
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
war? _
^^
omg
not in my kitchen!!!one1 11:19
Su-Shee well mine usally does look like after one ;)
saschi but you cleaned it up already, or? ^^
Su-Shee no, mr shee did. ;) 11:20
saschi ah, cool :D
Su-Shee and my best friend, mr dishwasher. :)
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. :)
saschi yes
they made non-psychotic stable residential communities possible 11:22
11:29 utsav\ left
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:31
I think the Art of War should be paired with the Art of XML 11:32
Because of the saying "XML is like violence; if it doesn't work, use more"
11:34 colomon left
mberends wayland76++ 11:35
that belongs next to "Object Relational Mapping is the Vietnam of Computer Science" 11:38
11:40 rodi left 11:41 Baggiokwok joined 11:42 Baggiokwok left 11:43 Baggiokwok joined 11:44 schmalbe joined
Su-Shee that's actually exactly what art of war is NOT saying. ;) 11:46
11:50 colomon joined 11:52 Baggiokwok left, Baggiokwok joined 11:54 Baggiokwok left, Baggiokwok joined 11:56 Baggiokwok left, Baggiokwok joined 11:59 Baggiokwok left, Baggiokwok joined 12:01 Baggiokwok left, Baggiokwok joined 12:02 Baggiokwok left 12:03 Baggiokwok joined 12:14 Baggiokwok left, Baggiokwok joined 12:16 Baggiokwok left, rgrau_ joined, Baggiokwok joined 12:18 Baggiokwok left 12:19 Baggiokwok joined 12:27 pmurias joined
pugs_svn r29508 | mberends++ | [vill] minor tidying of a few source files 12:43
12:44 jferrero joined 12:58 cognominal left 13:00 Baggiokwok left 13:07 patspam left 13:15 Baggiokwok joined 13:37 Baggiokwok left 13:38 Baggiokwok joined 13:58 payload joined 14:01 slavik left 14:07 slavik joined 14:08 mikehh left, mikehh joined 14:11 schmalbe left 14:14 Chillance left
pugs_svn r29509 | mberends++ | [vill] add (int) type casts for fprintf precision parameters, warned about by gcc 4.4.2 (ubuntu 10.4) 14:22
14:27 meteorjay left 14:29 Baggiokwok left 14:47 Slug1 joined 14:56 Pzt joined
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:03 pmurias left 15:12 cognominal joined, lestrrat is now known as lest_away
pugs_svn r29510 | colomon++ | [t/spec] Refudge a tad for ng. 15:13
15:13 IllvilJa left, Psyche^ joined 15:14 mikehh left, |hugues23| joined, Patterner left, Psyche^ is now known as Patterner 15:15 Slug1 left, tylerni7 left 15:16 tylerni7 joined 15:23 soupdragon left 15:24 soupdragon joined 15:25 synth joined, soupdragon left 15:31 soupdragon joined 15:32 payload left 15:53 revdiablo left 15:57 revdiablo joined 16:04 Slug1 joined 16:11 payload joined 16:25 lest_away is now known as lestrrat 16:28 lestrrat is now known as lest_away 16:29 Slug1 left
pugs_svn r29511 | diakopter++ | [sprixel] better. 16:35
16:36 synth left 16:39 kensanata joined 16:40 ive joined 16:41 pmurias joined
diakopter pmurias: hi 16:41
usually this time on Sunday you're on a train
where by "usually" I mean I think I remember you saying you were on a train once (maybe twice) on a Sunday. 16:42
16:44 pmurias_ joined, pmurias left
pmurias_ diakopter: hi 16:45
16:45 Chazz is now known as zz_Chazz
diakopter pmurias_: today I'm adding capturing groups/matches to sprixel 16:45
also match.next or whatever
16:45 pmurias_ is now known as pmurias
pmurias diakopter: how far is sprixel from basic usefullness 16:46
diakopter: i'm not on the train as i didn't go home for the weekend
diakopter well, if I had stuck with C#, about 2 weeks. since I switched *back* to JS, about 3 weeks.
pmurias diakopter: why did you switch? 16:47
diakopter chromatic's argument about C#/mono was persuasive 16:51
16:54 synth joined 17:01 cognominal left 17:02 colomon left
diakopter one benefit of JS is that I can actually *see* the code I'm generating (without writing it to disk) 17:02
not that it's easily readable...
pmurias doesn't understand
diakopter in C# it was emitting CIL bytecode 17:03
pmurias you can dissassemble that right?
diakopter yeah but only if it's written to disk 17:04
17:06 lmc joined, cognominal joined 17:11 justatheory joined
slavik you compared javascript to C#? 17:26
diakopter slavik: what do you mean 17:28
slavik I wouldn't say that javascript and C# are in the same category of languages ...
diakopter what's wrong with comparing across categories? 17:29
slavik it's like comparing apples and oranges :P 17:30
diakopter right, what's wrong with comparing apples and oranges?
they're substitutes for one another at many level.s
levels.
slavik C# - compiled and serverside, Javascript - not really compiled and clientside 17:31
diakopter as projectiles, as food, as teaching tools
slavik haha
diakopter C# - JIT compiled and serverside/clientside, JavaScript - JIT compiled and serverside/clientside
C# is JIT compiled to machine code when invoked. same with JavaScript. 17:32
better stated, CIL (what C# is translated to) is JIT compiled to machine code...
all of the JS engines other than IE's have standalone/command-line editions. 17:33
C# is generated/used on the clientside quite often (in silverlight apps). 17:34
JavaScript is used on the serverside too.
slavik silverlite is closer to flash though than javascript
diakopter flash's actionscript *is* javascript.
mostly.
slavik right 17:35
no wait
no it's not ... how is actionscript javascript?
hmm, I see 17:36
based on ecma script
so they are both based on ecma script ...
arrg, you win
in that case, javascript can be nicer, since it's not statically typed ... but limited
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.
it's limited?
slavik diakopter: in a way that IE can infer array(1) to be the same as array[1] ?
let me rephrase that. I find it limiting :) 17:38
no proper hashes and coercing objects to be hashes is a hack IMO
diakopter someone could turn that around to say: no proper object and coercing hashes to be objects is a hack IMO 17:39
array(1) in IE does what? 17:42
IE doesn't infer array(1) to be the same as array[1]. 17:44
(why would it?) 17:46
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:48
17:52 jaldhar left 17:55 colomon_ joined
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
Prototype-based OO is funky
diakopter "a definitvely hackish"? 18:00
pmurias LS?
diakopter: hacked together would be a better word
slavik diakopter: IE6 does ...
diakopter: ever hear of a term: IE only web page?
diakopter slavik: you're being rude... that question doesn't follow from that statement
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
18:01 _hugues23_ joined
diakopter I agree with arnsholt. anything different from what one is accustomed to seems "hackish". 18:02
18:02 |hugues23| left, zz_Chazz is now known as Chazz
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 cognominal left
arnsholt The thing that annoys me with JS is that statements can be terminated with a newline as well as ; 18:05
Which makes the syntax a lot more complicated than it should
18:05 cognominal joined 18:06 colomon_ left
slavik looking for it 18:07
pmurias diakopter: it's different, more verbose and less powerfull and easier to implement 18:10
18:10 pmurias left, pmurias joined
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
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++
pmurias it's less powerfull than perls 18:14
slavik hmm, can't find it
diakopter slavik: I looked too; I can't find it either. later today I'll pull up XP Mode and try it :) 18:21
18:22 IllvilJa joined 18:31 justatheory left 18:40 justatheory joined 18:44 colomon__ joined
colomon__ ng: say 1.2 == "1.2" 18:47
p6eval ng 3f06c7: sh: ./perl6: No such file or directory␤
diakopter ng: say 1.2 == "1.2" 18:53
p6eval ng 3f06c7: 1␤
18:55 payload left
colomon__ ng: my $a = 1.2; say "$a"; 18:58
p6eval ng 3f06c7: 1.2␤
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)␤
colomon__ ng: my $a = 1.2; say "hello, $a";
p6eval ng 3f06c7: hello, 1.2␤
colomon__ ng: my $a = 1.2; say "1.2 pounds";
p6eval ng 3f06c7: 1.2 pounds␤
colomon__ okay, I'm very confused by this.... 19:00
afk
mberends it looks like concatenate( var, literal ) is not the same as concatenate( literal, var ) 19:05
19:25 mikehh joined 19:33 ashizawa left, mj41 left 19:37 mj41 joined 19:45 synth left
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)␤
mberends ng: my $a = 1.2; say "pounds $a"; 20:02
p6eval ng 3f06c7: pounds 1.2␤
mberends ng: my $a = 1.2; say "pounds $a pounds";
p6eval ng 3f06c7: pounds 1.2 pounds␤
mberends ng: my $a = 1.2; say "$a"; 20:03
p6eval ng 3f06c7: 1.2␤
mberends is also confused now
mathw Hmm 20:06
That does look quite odd
20:10 payload joined 20:11 jonasbn left 20:33 nihiliad left 20:34 fridim_ left 20:51 soupdragon left 20:52 soupdragon joined, Su-Shee left, nihiliad joined, payload left 20:54 payload joined
s1n ng: my $a = 2...5; say $a.WHAT; 20:57
p6eval ng 3f06c7: Array()␤
s1n ng: my $a = 2..5; say $a.WHAT;
p6eval ng 3f06c7: Range()␤
21:00 cognominal left 21:04 cognominal joined 21:17 jackyf left
pugs_svn r29512 | mberends++ | [mildew/README] wrote more detailed installation instructions 21:20
21:23 wayland76 left 21:25 ive left, ive joined
mberends pmurias: mildew r29512 test and test-js pass 100% on Linux x86 and amd64 21:30
21:38 Guest66270 left 21:46 justatheory left 21:53 colomon__ left, _hugues23_ left, chee joined 21:54 chee left 21:55 PacoLinux left 22:20 colomon joined
pmurias mberends: thanks 22:24
mberends :) 22:25
22:27 lmc left
pugs_svn r29513 | diakopter++ | [sprixel] made grammars & their parsers re-entrant, enabling backtracking into a match. 22:29
r29513 | Implemented named capture groups. Example:
r29513 | var g = new Grammar('wp6'); var p = g.addPattern('toplevel', both(plus(dot()),both(group(plus(dot()),"tail"),end())));
r29513 | var input = utf32str(Array(4).join('a')); var m = g.parse(input);
r29513 | print(m.match.c["tail"].s); m = m.next(); print(m.match.c["tail"].s);
22:29 iblechbot left
pugs_svn r29513 | // outputs 1 (newline) 2, as the tail portion of the match is backtracked. 22:29
diakopter er, I mean, outputs 2 (newline) 1 22:30
sry for using 're-entrant' imprecisely 22:31
22:34 patspam joined, rachelBROWN joined 22:45 soupdragon left 22:46 ive left 22:54 payload1 joined 22:55 payload left 23:06 Manuary joined 23:07 meppl left 23:11 Manuary left 23:14 Intensity left 23:38 justatheory joined 23:39 nihiliad left