»ö« | 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:17
ignacio_ left
|
|||
cognominal | I have yet to understand all the relations between rakudo and parrot. Now I get No applicable candidates found to dispatch to for 'trait_mod:is' | 00:19 | |
so perl6 is loaded but not the libraries | |||
I probably need to read perl6.pir | 00:21 | ||
00:22
araujo left
00:35
gju joined,
cotto left
00:37
jlaire joined
00:39
araujo joined
|
|||
cognominal | I do load_language 'perl6' which probably calls load_bytecode for the appropriate pbcs | 00:52 | |
01:03
dugg left
01:04
xomas_ joined
01:20
Intensity joined
01:27
stephenlb left,
rachelBROWN joined
01:44
orafu left,
orafu joined,
xomas_ left
01:45
xomas_ joined
01:48
ShaneC left
01:49
avar left
01:50
jferrero left,
avar joined
02:00
avar left,
literal left,
avar joined,
literal joined
02:04
orafu left,
orafu joined
02:07
mariano__ left
02:09
xomas_ is now known as xomas
02:11
cotto joined
02:17
orafu left
02:18
orafu joined
02:21
fridim_ left
02:47
cdarroch left
03:11
ihrd joined,
ihrd left
03:43
regalia joined
03:58
japhb left,
cognominal left
|
|||
pugs_svn | r29487 | diakopter++ | [sprixel] several bug fixes; several simplifications; implemented dot() (any char) masak++ for the good test case | 04:01 | |
r29488 | diakopter++ | [sprixel] disable more debugging | 04:02 | ||
04:04
xinming_ joined
|
|||
mberends | diakopter: is any of sprixel usable yet to a non compiler builder? | 04:04 | |
04:04
cognominal joined
|
|||
diakopter | mberends: not really | 04:06 | |
mberends tries not to show impatience | |||
diakopter | heh | ||
it has a great foundation of a solid regex compiler (some optimizations remain to be implemented, though). Also, capturing groups have not yet been ported. | 04:12 | ||
mberends | (solid regex compiler)++ | ||
diakopter | hopefully tonight I can port over the named reference resolution & grammar composition. | 04:13 | |
04:16
Baggiokwok joined
|
|||
pugs_svn | r29489 | lwall++ | [S04] carry through consistenly on constant being a type declarator syntactically | 04:19 | |
r29490 | lwall++ | [constant.t] update to new constant declarator slot | 04:20 | ||
04:22
xinming left
|
|||
pugs_svn | r29491 | lwall++ | [STD,Cursor] track 'of' types and give error on extra declaration | 04:22 | |
r29491 | treat anon enums, subsets, etc more consistently | |||
TimToady | forgot the masak++ :) | 04:23 | |
mberends | the bots forget it more often than you do :) | 04:24 | |
04:25
cognominal left,
cognominal joined
|
|||
TimToady | bbl & | 04:26 | |
pugs_svn | r29492 | diakopter++ | [sprixel] implement root() and regen() methods | 04:30 | |
04:34
japhb joined
04:44
Baggiokwok left
04:46
Baggiokwok joined
|
|||
diakopter | well, .root is a field, not a method; oops. | 04:53 | |
04:58
adhoc joined
|
|||
TimToady | std: my Int constant pi of Num = 3; | 05:05 | |
p6eval | std 29492: ===SORRY!===Extra 'of' type; already declared as type Int at /tmp/VWtOiGj3SI line 1:------> my Int constant pi of Num ⏏= 3;FAILED 00:01 105m | ||
TimToady | std: sub foo returns Rat returns Cat {...} | 05:06 | |
diakopter | std: my Int constant Int of Num = 3; | ||
p6eval | std 29492: ===SORRY!===Extra 'of' type; already declared as type Rat at /tmp/a1ri7aYQeL line 1:------> sub foo returns Rat returns Cat ⏏{...}FAILED 00:01 104m | ||
std 29492: ok 00:01 105m | |||
diakopter | std: my Int constant Int of Int = Int; | ||
p6eval | std 29492: ok 00:01 105m | ||
diakopter | :/ | 05:07 | |
mberends | one's mind boggles at the thought of what it could all mean.. | ||
TimToady | forgot to remove the <typename>* from :constant... | 05:08 | |
diakopter | std: my Int of Int of Int of Int multi { }; | ||
p6eval | std 29492: ok 00:01 104m | ||
TimToady | std: my Int of Int sub foo returns Blob {...} | ||
p6eval | std 29492: ===SORRY!===Extra 'of' type; already declared as type Int of Int at /tmp/7n9r1raegU line 1:------> my Int of Int sub foo returns Blob ⏏{...}FAILED 00:01 104m | 05:09 | |
diakopter feels the fuzzer's engines fire. | |||
that...came out wrong. | |||
std: our Int of Int constant Foo =:= Foo; | 05:13 | ||
p6eval | std 29492: ok 00:01 105m | ||
diakopter | std: our Int of Int constant Foo == Foo; | ||
p6eval | std 29492: ok 00:01 105m | ||
pugs_svn | r29493 | lwall++ | [STD] remove old type slot from constant declarator discovered by diakopter++ | ||
diakopter | something's awry with the initializers a constant permits | 05:14 | |
TimToady | those aren't initializers | ||
mberends | heh, just been reading about "constant" variables in LLVM as well | 05:15 | |
TimToady | remember declarators aren't statements | ||
diakopter | o | 05:16 | |
TimToady | and initializers are deemed to be initializers at reduction time of binding/assignment | ||
if the left side is a declarator | |||
diakopter | std: our Int of Int constant Foo = our Int of Int constant Foo = 7; | 05:17 | |
p6eval | std 29492: ok 00:01 105m | ||
diakopter | std: our Int constant Foo = our Int constant Foo = Foo; | 05:18 | |
TimToady | that should carp about redeclaring Foo, I suspect | ||
p6eval | std 29492: ok 00:01 105m | ||
diakopter | oh | ||
mberends gives diakopter a trout's lap | 05:20 | ||
diakopter | std: our constant constant is Foo :Int<foo> = 7 | ||
p6eval | std 29492: ok 00:01 105m | ||
diakopter drools | |||
TimToady | std: our constant Foo = 1; our constant Foo = 2; | ||
p6eval | std 29492: ok 00:01 105m | 05:21 | |
TimToady | hmm, so much for that theory | ||
diakopter | our constant constant? | ||
05:22
gfx joined
|
|||
TimToady | std: constant Foo = 1; constant Foo = 2; | 05:24 | |
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'Foo' (from line 1) at /tmp/QC5bq4q4GG line 1:------> constant Foo = 1; constant Foo⏏ = 2;FAILED 00:01 105m | ||
TimToady | hmm, works there | ||
std: my constant Foo = 1; my constant Foo = 2; | |||
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'Foo' (from line 1) at /tmp/NMAzm2Odvi line 1:------> my constant Foo = 1; my constant Foo⏏ = 2;FAILED 00:01 105m | ||
diakopter | I thought constant were 'our' by default | ||
TimToady | std: our constant Foo = 1; our constant Foo = 2; | ||
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'GLOBAL::<Foo>' (from line 1) at /tmp/JM7BWAQmSI line 1:------> our constant Foo = 1; our constant Foo⏏ = 2;FAILED 00:01 105m | ||
diakopter blinks | 05:25 | ||
TimToady duz2 | |||
ah, rev change | |||
before, Foo was considered a valid type | |||
diakopter | o_O does that mean ... oh. | ||
diakopter tries the doozy again | |||
std: our constant constant is Foo :Int<foo> = 7 | 05:26 | ||
p6eval | std 29493: ok 00:01 105m | ||
diakopter | I think there it thinks 'constant' is a typename | ||
TimToady | std: our Int constant Foo = our Int constant Foo = Foo; | ||
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'GLOBAL::<Foo>' (from line 1) at /tmp/H60Ol9JSiL line 1:------> Int constant Foo = our Int constant Foo⏏ = Foo;FAILED 00:01 105m | ||
diakopter | std: our Int constant Foo = my Int constant Foo = Foo; | 05:27 | |
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'Foo' (from line 1) at /tmp/e96OnBerqt line 1:------> r Int constant Foo = my Int constant Foo⏏ = Foo;FAILED 00:01 105m | ||
TimToady | declarators don't generally care whether the word they're declaring is a keyword | ||
std: sub sub {...} | |||
p6eval | std 29493: ok 00:01 104m | ||
diakopter | std: my Int constant Foo = our Int constant Foo = Foo; | ||
p6eval | std 29493: ===SORRY!===Illegal redeclaration of symbol 'Foo' (from line 1) at /tmp/FuvLIiDJXN line 1:------> Int constant Foo = our Int constant Foo⏏ = Foo;FAILED 00:01 105m | ||
diakopter | std: my Int constant Foo = Int constant Foo = Foo; | ||
p6eval | std 29493: ===SORRY!===Confused at /tmp/TAGsxzE61m line 1:------> my Int constant Foo = Int ⏏constant Foo = Foo; expecting any of: bracketed infix dotty infix or meta-infix infix stopper postfix standard stopper statement | ||
..modifier loop terminatorFA… | |||
diakopter | ok | ||
std: our ::Foo constant u of Foo = 3 | 05:29 | ||
p6eval | std 29493: Use of uninitialized value $IN_DECL in string eq at STD.pm line 92428.===SORRY!===Extra 'of' type; already declared as type ::Foo at /tmp/PFXIjmHuHS line 1:------> our ::Foo constant u of Foo ⏏= 3FAILED 00:01 104m | ||
05:30
soupdragon joined
|
|||
diakopter | someone needs to fix that perl bug where it calls STD.pmc STD.pm | 05:30 | |
or at least file it | |||
pugs_svn | r29494 | lwall++ | [STD] avoid undefined error on $*IN_DECL | 05:42 | |
mberends | TimToady++ # bug-fix-o-matic | 05:43 | |
05:46
Baggiokwok left
|
|||
pugs_svn | r29495 | lwall++ | [reverse.t] there is no want function anymore | 05:46 | |
05:48
xinming_ is now known as xinming,
Baggiokwok joined
05:59
donaldguy joined,
donaldguy left
|
|||
mberends | TimToady: when do changes in pugs/src/perl6 require a 'make clean', and when do they require 'make distclean'? | 06:01 | |
TimToady | I don't recall every doing a distclean | ||
*ever | |||
mberends | heh, maybe a fossil then | 06:02 | |
thanks | |||
diakopter | is there a distclean target? | 06:04 | |
mberends | it says so in 'make help' ;) | ||
..which /me wrote, not knowing what /me was doing ;) | 06:05 | ||
STD is broken here after r29494 (on linux x86) </whimper> | 06:13 | ||
diakopter | std: are you btokrn? | 06:14 | |
p6eval | std 29495: ===SORRY!===Confused at /tmp/xvsl56RcPR line 1:------> are you btokrn⏏? expecting any of: POST argument list bracketed infix dotty infix infix or meta-infix infix stopper postfix postfix_prefix_meta_operator | ||
..standard stopper statement … | |||
mberends | locally it says (sorry for flood): ./std CORE.setting | 06:16 | |
===SORRY!=== | |||
Unable to parse signature; couldn't find final ')' at CORE.setting line 159: | |||
------> here { .signature === :(Any, Any --> Int⏏ ) }; | |||
std FAILED 00:12 47m | |||
TimToady | testing a fix | 06:20 | |
06:24
justatheory left
|
|||
pugs_svn | r29496 | lwall++ | [STD] restore missing ws after <typename> | 06:25 | |
TimToady | that should fix it | ||
mberends | yes it does :) | 06:29 | |
06:30
Baggiokwok left
|
|||
diakopter got distracted. | 06:30 | ||
the story of my life. | 06:31 | ||
Tene | Nobody has committed to ng since I added &warn on Wednesday? Huh. | ||
diakopter | where there's smoke, there's fire. except when there are mirrors. | 06:32 | |
06:32
spinclad_ joined
|
|||
Tene | time to find something to work on, I guess. | 06:32 | |
06:33
spinclad left
|
|||
Tene | actually, I think I'll sleep now instead. | 06:39 | |
I hope someone else is around working on rakudo tomorrow. | 06:40 | ||
06:42
Baggiokwok joined
06:43
nihiliad left
06:48
_jaldhar joined
06:53
justatheory joined
|
|||
diakopter | I look forward to the day when cores are counted like transistors are today | 07:01 | |
mberends | moore's law continues to apply, so in about 2028 years our computers will have as many cores are the Apple ][ CPU had transistors | 07:04 | |
s/2028 years/2028/ | 07:05 | ||
18 years from now | |||
07:07
regalia left
07:08
Baggiokwok left
07:10
Baggiokwok joined
|
|||
mberends | rakudo: (log(6502)/log(2)*1.5).fmt("%d years from now").say | 07:11 | |
p6eval | rakudo 3867ff: 19 years from now | ||
07:12
Baggiokwok left
|
|||
mberends | the Apple ][ still boots faster than most of today's PCs | 07:16 | |
07:16
meteorjay left
07:32
meteorjay joined
07:45
kaare joined
07:46
kaare is now known as Guest23920
07:51
colomon_ left
07:53
Baggiokwok joined
07:58
Baggiokwok left
08:03
cognominal left
08:08
Baggiokwok joined
08:26
meppl joined,
iblechbot joined,
jackyf joined,
snearch joined
08:48
Su-Shee joined
|
|||
Su-Shee | good morning | 08:48 | |
mberends | good morning Su-Shee, it is indeed | 08:51 | |
saschi | where is the promised blizzard? | 08:58 | |
Su-Shee | I will cook something french today, bake a bread and code some perl5 and 6. | ||
saschi: INDEED. | |||
lousy 4cm here. | |||
saschi | Su-Shee: it seems, that all we get is just a simple plain "childhood like" winter :) | ||
Su-Shee | ok, it's a winter, allright. but they promised a catastrophy! | 08:59 | |
09:00
gfx left
|
|||
saschi | yeah :/ | 09:00 | |
i've desided to make photos: yesterday 17:00, today 17:00 and tomorrow 17:00 ^^ | |||
to see the difference | 09:01 | ||
and if there isn't any, i'll sue the DWD or something :) | 09:02 | ||
09:04
Baggiokwok left
09:16
Intensity left
09:19
jackyf left
09:26
Intensity joined
09:47
kst` joined
09:55
Baggiokwok joined
09:56
bbkr joined
09:59
kst left
|
|||
saschi | Su-Shee: any cool recipies? i need some inspiration for this weekend :) | 10:12 | |
Su-Shee | I bought julia child yesterday and will cook beef bourguignon today. ;) | 10:33 | |
pugs_svn | r29497 | mberends++ | [vill] more docs, new LHF and a re-tweaked 'make clean' | 10:34 | |
saschi | Su-Shee: ah, nice, especially the burgundy part ^-^ | 10:35 | |
Su-Shee | :) | 10:36 | |
10:40
bbkr left
10:42
Intensity left
10:48
Intensity joined
10:50
Chillance left
10:54
Baggiokwok left,
colomon___ joined
11:11
Baggiokwok joined
11:28
beggars joined
11:36
xinming_ joined
11:55
xinming left
12:15
ive joined
12:20
Baggiokwok left
12:37
fridim_ joined,
iblechbot left
12:56
jackyf joined
13:07
araujo left
13:10
snearch left
13:14
meppel joined,
barney joined
13:23
ihrd joined,
ihrd left
13:27
meppl left
13:35
Baggiokwok joined
13:57
colomon___ left
14:15
adhoc left
14:17
colomon_ joined
14:19
IllvilJa left
14:41
Psyche^ joined
14:45
soupdragon left
14:51
Baggiokwok left
14:53
Patterner left,
Psyche^ is now known as Patterner
|
|||
saschi | Su-Shee: wow, now the real winter is coming ^^ | 14:56 | |
15:01
Psyche^ joined
15:03
Patterner left,
Psyche^ is now known as Patterner
15:07
hugues23 joined
15:15
Baggiokwok joined
15:21
IllvilJa joined
15:31
Intensity left
15:34
dbrock left
15:36
xinming_ left,
tylerni8 left,
xinming joined,
Intensity joined,
tylerni7 joined
15:47
am0c joined
15:54
barney left
15:56
soupdragon joined
15:59
Psyche^ joined
16:05
jackyf left,
jferrero joined,
jackyf joined
16:17
Patterner left,
Psyche^ is now known as Patterner
16:28
nihiliad joined
16:31
jaldhar_ joined
16:37
Baggiokwok left
16:43
_jaldhar left
|
|||
TimToady | so I can understand all the eu folks staying bundled up in their beds, but what's the excuse of all those hardy usians? all out snowmobiling or somethin'? :) | 17:03 | |
17:03
TimToady sets mode: +vvv buubot dalek hugme,
TimToady sets mode: +vvv ilbot2 ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny,
TimToady sets mode: +v pugs_svn
|
|||
diakopter | hi | 17:05 | |
17:05
pmurias joined
|
|||
TimToady | maybe they're all too busy hacking to waste time on irc :) | 17:05 | |
diakopter | we can only hope | ||
mberends is busy hacking all day long | 17:06 | ||
diakopter | somebody's gotta do the work while irc drains our brains line by line | ||
mberends has a brain full of !perl/hash:VAST::number__S_numish etc etc | 17:07 | ||
colomon_ | Had to take the boy to the doctor this morning. We're all sick, alas... | ||
TimToady | well, taking care of yourself is also important; we're in this for the long haul | 17:08 | |
TimToady is just trying to stir the pot, not make trouble :) | 17:09 | ||
colomon_ | The good news is his ear infection is clearing up. The bad news is he's got a cold just like my wife and me. | 17:10 | |
Su-Shee cooked french. dinner at 8. it's enough for 6 people. first come, first serve. ;) | 17:13 | ||
arnsholt | Su-Shee: What kind of French? | 17:14 | |
(And where's your here?) | |||
soupdragon | I wonder if there's anything I can do for perl6 | ||
colomon_ | soupdragon: I'm sure there is! | ||
soupdragon | the lisp stuff whatever that was is probably stagnant and I don't know what's going on with elf | ||
Su-Shee | arnsholt: I've seen the movie about Julia Child recently, so I bought her 2 volume "mastering the art of french cooking". today I've tried a beef stew in red wine. (which is essentially cooking itself, because it's in the oven) | 17:15 | |
TimToady | the author of elf is a hare rather than a tortoise, and he's been haring off for a while now | ||
soupdragon | yes | ||
arnsholt | Su-Shee: Oooh, Boeuf Bourginon. That does sound yummy | 17:16 | |
And I haven't gotten around to seeing Julie & Julia (which I assume is the movie you saw) yet, but I'd like to | 17:17 | ||
Especially since I understand there are some scenes taking place in the restaurant called La Couronne in Rouen, where I've actually been a couple of times ^^ | |||
Su-Shee | arnsholt: exactly this dish. :) meryl streep is _great_ in the movie, btw. and it has a huge drool-factor, no question. :) | 17:19 | |
arnsholt | Yeah, it looks good. I love food, so I think it's my kind of movie | 17:20 | |
And Meryl Streep tends to be good in most films I find | |||
Su-Shee | I dig her especially in the comedian and/or bitch-roles. in manchurian candidate she was a masterful iocaste-like power-hungry uber-mother. | 17:21 | |
17:22
jho left
|
|||
arnsholt | I think I remember that | 17:22 | |
diakopter | soupdragon: also, fglock has a bootstrapped implementation, of which one of the backends is sbcl | 17:23 | |
perlito | |||
descendant of mp6/kp6 | |||
pmurias | diakopter: mp6 | 17:28 | |
17:34
araujo joined,
pmurias left,
cls_bsd left
17:35
pmurias joined,
pmurias_ joined
17:51
eternaleye left
|
|||
rodi | You know, I think of a Hare as "is Contestant does Fast does Stop" and a Tortoise as "is Contestant does Slow", | 17:53 | |
which puts me firmly in the category of "is Contestant[Barely] does Slow does Stop" | |||
except I can't remember if there are parametric classes. | |||
Are there? Or only roles? | |||
TimToady | only roles | 17:54 | |
but roles used as classes will attempt to pun themselves into a class | |||
however... | 17:55 | ||
std: class Foo[Int] {...} | |||
p6eval | std 29497: ===SORRY!===Unable to parse class definition at /tmp/VveYV4h0Iv line 1:------> class Foo⏏[Int] {...} expecting any of: trait whitespaceFAILED 00:01 106m | ||
TimToady | std: rle Foo[Int] {...} | 17:56 | |
p6eval | std 29497: ===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/KAhJXv8P6n line 1:------> rle Foo[Int] ⏏{...} expecting any of: bracketed infix infix or meta-infix infix stopper | ||
.. standard s… | |||
TimToady | std: role Foo[Int] {...} | ||
p6eval | std 29497: ok 00:01 107m | ||
rodi | Is that pronounced "role Foo of Int"? # borrowing some British punctuation | 17:58 | |
Also, maybe this is the wrong place to bring it up, but I'll give it a shot and move to the list if it is: | 17:59 | ||
TimToady | yes, Foo of Int is basically the same thing | ||
rodi | S32/Containers has some descriptions of KeyHash, KeySet, and KeyBag that are very nice, but they're under a heading called "Classes", | 18:00 | |
KeySet is called a "KeyHash of True" in that, but it's really a KeyHash of Bool with a default value of Bool::False, whish is subtly different, | |||
And it might also be worth mentioning the default value for KeyBag, which I presume is 0? | 18:01 | ||
I'm crossing streams a little- I was implementing a class I was calling "Group" for lack of a better name, and discovered that KeySet has much nicer semantics than I had come up with. | 18:02 | ||
So, thanks for that :) | |||
Hopefully later this afternoon I'll have KeyHash done, or at least have hit some interesting roadbumps along the way. | |||
18:03
cls_bsd joined
|
|||
TimToady | yes, that could all be better written, but it sounds like you have it straight in your head | 18:03 | |
rodi | One last question, for anyone who's listening, I know that "my KeyHash %foo" makes a Hash of KeyHash. I presumed (probably wrongly) that I would want a % sigil on a KeyHash, but didn't know how to make that happen... | ||
TimToady | sigils are part of the name, and anonymous KeyHashes don't have a % in their name | 18:05 | |
except insofar as they are named by whatever the Hash key is | |||
it's not like in Perl 5 where you have to play %{} tricks | |||
rodi | But there is a %() trick, right? I used that on another module (e.g. gave it a Hash() method, and when I put a %() around it in rakudo it called that method...), maybe wrongly :-\ | 18:06 | |
Ah, but I see that is not a kind of coercion. | 18:07 | ||
TimToady | well, it's coercion to Associative, really | ||
rodi | Only a setting of context, perhaps? Or, even more simply, a sugar for calling of the .Hash() method. | ||
TimToady | we're still feeling out this business of coercing to a role, which tends to be dwimmy | 18:08 | |
rodi | I like the dwimmery so far. | ||
TimToady | unary + and ~ also turn out to be coercion to Numeric and Stringy, it seems | ||
rodi | Used them both, love the feel. | ||
TimToady | and in the case of Numeric, probably calls into the parser to figure out which kind of numeric to return | 18:09 | |
other role coercions might use a list of handlers, or some such | |||
or maybe it can degenerate to a multi dispatch of some sort | 18:10 | ||
"who most wants to turn this into something Foo-ish?" | |||
it's probably only the from-string ones that are mediated by the parser | |||
and coercion to Stringy is probably just coercion to Str for now, unless we want to make some things coerce to Buf | 18:12 | ||
it is not clear how that pecking order should work | 18:13 | ||
rodi | So, back to the dwimmery around coercing a role, if I C<my KeySet %foo .= new()>, and I want it to act Associative, I don't need to do anything funny with the name? | 18:14 | |
TimToady | correct | ||
rodi | Crap, except I spelled it wrong, right? | 18:15 | |
TimToady | but that is a bit of a bogus statement | ||
rodi | s/%/$/ | ||
TimToady | that is a Hash that returns KetSets | ||
*KeySets | |||
makes more sense with $ | 18:16 | ||
or you can do 'my %foo is KeySet;' | |||
rodi | Then I can say $foo<TimToady>++, and it returns true? | ||
TimToady | or 'my %foo := KeySet.new;' | ||
rodi | Oh, now we're cooking with grease. | 18:17 | |
I like that last one. | |||
TimToady | well, the $foo<TimToady>++ itself wouldn't return true the first time | ||
but $foo<TimToady> would be true after that | |||
since it's a postincrement | 18:18 | ||
rodi | Right, beautiful. | ||
18:19
Chazz joined
|
|||
rodi | Okay, before I start asking for a KeySet that acts like a TreeSet, I'm going to put my head back down and finish the KeyHash and KeySet module. | 18:19 | |
I'm sure someone's already done it, it just helps me grok the semantics to write them out myself :-\ | |||
Thanks for the help, the semantics really are beautiful. I know it's only a default syntax, but it's a nice default :-D | 18:20 | ||
18:20
astoria joined
18:22
cls_bsd left
|
|||
pugs_svn | r29498 | lwall++ | [S32/Containers] clarifications suggested by rodi++ | 18:28 | |
18:30
payload joined
|
|||
pugs_svn | r29499 | diakopter++ | [sprixel] patterns can now reproduce their own source code (in JavaScript). | 18:31 | |
18:45
almih joined
|
|||
pugs_svn | r29500 | diakopter++ | [sprixel] bugfix in the prefix & postfix codegen macro generators; cleanup of unused macros | 19:01 | |
19:01
pmurias_ left,
Chazz left,
Chazz joined,
Gothmog_ left,
Gothmog_ joined
|
|||
pugs_svn | r29501 | diakopter++ | [sprixel] make Grammars fully declarative (compilation deferred). | 19:02 | |
19:09
payload left,
payload joined
|
|||
diakopter | .* chews through 1<<21 UTF-32 chars in 1 second | 19:09 | |
8MB I guess | |||
19:09
mikehh left
|
|||
diakopter | (2MB of ascii/ansi input) | 19:09 | |
19:09
mikehh joined
|
|||
diakopter | both(star(dot()),end()) | 19:09 | |
mberends considers implementing vill strings internally in UTF-8 | 19:10 | ||
diakopter | but UTF-32 is just so much easier :P | 19:13 | |
mberends | it looks like swings and roundabouts imho | 19:14 | |
diakopter | if you save enough money to afford swings on your lawn by living far from town, you have to deal with more roundabouts on the commute. | 19:17 | |
TimToady | p6 specs NFG format, which naturally maps to arrays of integers, either unsigned if there are no strange characters, or signed if there are | 19:19 | |
mberends | UTF-32 is farther from town (the bytes in your I/O streams) | ||
TimToady | where "strange" is defined as any grapheme not having a precomposed form | ||
but Array[int32] and Array[uint32] can easily be optimized to smaller native types when the string is known to contain smallish characters | 19:21 | ||
mberends | what is NFG? | ||
TimToady | google for 'perl nfg' and you'll find a bunch of stuff | 19:23 | |
but it stands for Normalization Form G | |||
which you won't find in the Unicode standard | |||
it uses positive ints for any grapheme representable by a precomposed codepoint, and negative ints to represent lookup in a table for non-reducable graphemes with multiple codepoints | 19:24 | ||
our original conception had a single process-wide lookup table, but I think parrot currently specs per-string | |||
19:25
Chazz is now known as zz_Chazz
|
|||
TimToady | more work when you hit a negative "codepoint", but less vulnerable to DOS attack | 19:25 | |
but the idea is that Str is never represented internally in a variable-width format | 19:26 | ||
those belong out in Buf types | |||
so you can write all your Str algorithms with simple array indexing | 19:27 | ||
mberends | hmm, never thought that much about it. it would probably be counterproductive to deviate from NFG. | ||
TimToady | that's the goal | ||
which says UTF-32 is a good spot to start | 19:28 | ||
or think of it as UCS-4 | |||
downgradeable to UCS-2 if there are no plane 1 characters | |||
downgradeable to UCS-1 if there are no non-latin-1 characters :) | |||
19:30
frederico joined
|
|||
mberends | right. yes, there is no sense implementing it with variable byte counts. | 19:30 | |
TimToady | in the abstract, NFG is just a sequence of integers | ||
it's really just NFC plus inventing more precomposed graphemes on the fly as necessary | 19:32 | ||
and making sure they get translated back to the appropriate sequence of codepoints on output | 19:33 | ||
the negative codepoints are allocated from -1 on down to keep the wordsize small if possible | 19:34 | ||
mberends | that means the internal handling is simple code, I/O decoding/encoding is trickier. | 19:35 | |
TimToady | but that's why your computer has multiple cores :) | ||
mberends | but the algorithm is simple enough. it's surprising that Parrot decided to depend on a external library for that | ||
TimToady | yeah, always seems to me that it would be really easy to steal the unicore tables from Perl 5 | 19:36 | |
but there seems to be a mental block against that | |||
19:36
soupdragon left
|
|||
mberends | I/O is going to be slower anyway | 19:36 | |
pmurias | why? | 19:39 | |
TimToady | maybe we should take Perl 5's mktables and get it to emit P6 code that implements NFG | ||
mberends | sorry, that was vague. I meant I/O devices cause much longer delays than most internal processing, and when software is I/O bound, a small additional CPU overhead of UTF-8 decoding/encoding will be almost unnoticeable | 19:41 | |
TimToady | especially if done in a small additional CPU :) | 19:43 | |
funny if our first feed operators actually come from an IO layer | 19:44 | ||
mberends | in 19 years, our single processor equivalent machine could have 6502 CPUs | ||
TimToady | was the 6502 named after the number of trannies on it? | 19:45 | |
mberends | in urban legends at least. the 6800 also had that reputation. | ||
TimToady | was always partial to Z80s meself | 19:46 | |
mberends | my first PC was a TRS-80 Model 1 | 19:47 | |
TimToady | never actualy owned a Z80 though; first personal computer was an Amiga 1000 | 19:48 | |
my work computers were always sufficient to my needs up till then | |||
still have that Amiga, btw | 19:49 | ||
mberends | wikipedia says the 6502 had about 4000 transistors, no reference quoted | 19:50 | |
TimToady | still, 4000 cores will be somethin' | 19:52 | |
frettled | to keep your house warm :D | ||
TimToady | only if you say make -J 4000, otherwise most of them are probably turned off | 19:53 | |
frettled | I make it a rule to use $ncpus + 1, so that would be -J 4001 :D | ||
TimToady | 'course, if you do a make like that, you'll certainly discover your I/O bottlenecks :) | 19:54 | |
mberends | the future make will be written in Perl 6 and will autothread automatically | ||
frettled | autounravel! | ||
TimToady | now thinking about the scheduler built into recursive hyperoperators... | 19:55 | |
frettled | *cringe* | 19:56 | |
The good thing about that is that they'll no longer be talking about CCNUMA, but about P6NUMA ;) | 19:57 | ||
colomon_ | wait, *recursive* hyperoperators? | ||
frettled | colomon_: careful with that brain of yours | 19:58 | |
it's valuable | |||
20:00
xenoterracide left
|
|||
rodi | In composing KeySet from KeyHash, is this the right spelling: "class KeySet does KeyHash[Bool, Bool::True] {...}" ? | 20:02 | |
*grammar and spelling | |||
20:02
xenoterracide joined
20:05
Patterner left
|
|||
rodi | More generally, can a parametric role compose another role? | 20:06 | |
20:08
almih left
|
|||
TimToady | roles may do other roles, in theory | 20:10 | |
rodi | Okay, found an example of that in S16. | ||
role OS::Unix::User does User { | 20:11 | ||
20:12
cotto left
20:13
payload left,
payload joined
20:18
cotto joined
20:22
mikehh left,
mikehh joined
20:26
spinclad_ is now known as spinclad
20:28
pmurias left
20:40
_jaldhar_ joined
|
|||
mberends | the 8080 CPU had about 4500 transistors, 8085 => 6500tr, 8086 => 30000tr www.xnumber.com/xnumber/Microcomput...ention.htm | 20:48 | |
rodi | I bought a Xilinx Spartan-3 deal from Opal Kelly, their smallest one, has 400,000 gates. | 20:49 | |
20:49
jaldhar_ left
|
|||
mberends | so a Spartan-3 could emulate approximately a 12-core 8086 | 20:51 | |
20:51
kensanata joined
20:52
nihiliad left
20:59
nihiliad joined
|
|||
nadim | mberends: I'll write that future make with P6. In fact I'm waiting for P6 to become stable to re-write my build system ;) | 21:09 | |
mberends | nadim: that's the spirit! | ||
nadim | and I'm serious search.cpan.org/~nkh/PerlBuildSystem-0.44/ I actually have started on the next generation. I have a wooping 1000 requirements gathered | 21:11 | |
21:11
jackyf left
|
|||
nadim | the problem is what dowe build perl with :) !! | 21:11 | |
21:13
jackyf joined
|
|||
mberends | Wow, that's a fairly extensive system! Where are the 1000 requirements? | 21:13 | |
nadim | On my disk | ||
plus all the rquirements that are implemented in the current version, should be a lot too but I'm too lazy to do reverse requirement gathering yet | 21:14 | ||
I'll have to do it at some point . I had hopes my dormer employer was going to pay for the development but I was unlucky with that. | 21:15 | ||
mberends | nicely written main POD search.cpan.org/~nkh/PerlBuildSyste...manual.pod | ||
nadim | the build system is way better than the documentation. but I got better at _no- writing code too fast the last ten years | 21:17 | |
mberends | nadim: we are not as far progressed as PBS, but you could probably hack on our proto installer github.com/masak/proto/tree/installed-modules | ||
nadim | masak like in 'cooking' ? | 21:18 | |
diakopter | heh | ||
nadim | I had a look at it some time ago, I try to keep with the new build systems (I try but fail) | 21:19 | |
mberends | masak++ is our number one bug finder, tester and breaker of prototypes | ||
nadim | ah! masak means cooking in Indonesian I thought it was about cooking software :) | 21:20 | |
mberends | haha | 21:21 | |
21:22
payload left
21:23
payload joined
|
|||
mberends | phenny, tell masak is this you? irclog.perlgeek.de/perl6/2010-01-09#i_1894733 | 21:23 | |
phenny | mberends: I'll pass that on when masak is around. | ||
21:31
xinming_ joined
21:40
payload left
21:48
xinming left
|
|||
nadim | for those who haven't seen this example that can run in Rakudo waffle.wootest.net/2009/12/19/perl-...ature-ep1/ | 21:51 | |
Honestly, if this is the way we are going to present P6 to the world, our ranks are going to diminuish very quickly. | 21:52 | ||
diakopter | what do you mean? | ||
(what's the issue with the post) | 21:53 | ||
21:55
meppel left
|
|||
nadim | that it is going to be difficult for most people to understand it | 21:55 | |
diakopter | oh | 21:56 | |
nadim | I had to read it multiple times (which may mean tha I am dumb) | ||
of course this is the first time I see the syntax so I had to guess how macro works and how the 'but' is ised to load the trait | |||
I'm afraid P6 is going to be for an elite. JAva succeeded because most people were too dumb to understand C++ (and it lacked libs) | 21:57 | ||
diakopter | nadim: I didn't get it, and still don't. | ||
nadim | hehe, you say that to please me ;) | 21:58 | |
diakopter | seriously | ||
mberends | waffle or Jesper does not visit this channel or contribute to Perl 6 afaik. There was a positive trend in Jesper's regard for Perl 6 usability. | ||
nadim | diakopter: the example is interresting but the way to present it is, hmm, not very pedagogic. | 22:00 | |
mberends | nadim: libs are normal, also in Java and in Perl 5 and 6. They're a Good Thing. | ||
nadim | mberends: and the lack of them killed C++ | ||
that's what I meant | |||
mberends | it is true that "we" could have written the article better ;) | 22:01 | |
diakopter | waffle.wootest.net/2009/12/29/mark/ | ||
22:01
frederico left
|
|||
nadim | we had a java developer ask what a linked list was. I never had so much trouble keeping from laughing out loud. | 22:02 | |
diakopter | waffle.wootest.net/2009/12/23/perlinq/ | ||
mberends | He's exploring Perl 6 farther than most of the solo developers who occasionally call here. We could benefit each other. | 22:07 | |
nadim | absolutely | 22:10 | |
what we need is a huge body of examples and a proper P6 book | |||
diakopter | nadim: what about an implementation? | 22:11 | |
mberends | nadim, how you mean that C++ lacks libs? For specific problem domains? | ||
nadim | diakopter++ | 22:12 | |
Su-Shee | I plainly use just a part of p6. everything which is more handy than in p5. everything I don't get now I can't use properly anyway, so I don't miss it right now. | ||
nadim | mberends: I started using C++ when there was just a translator to a C compiler. there where not STL or anything else those days | ||
22:13
slavik joined
|
|||
nadim | an Java has a zillion libs which were decided upon by few Sun ppl. lobotomizing a whole generation of developers. | 22:13 | |
mberends | nadim: ok, that helps me. Perl 6 still needs to start with library building. | 22:14 | |
22:14
slavik1 left
|
|||
nadim | well, P6 run P5 just because it needs CPAN. so we do ahve 20_000 of them | 22:17 | |
mberends | importing or converting Perl 5 modules will probably go quite quickly after the infrastructure is made (core support, librarian, downloader, installer etc) | 22:18 | |
diakopter | nadim: but it doesn't. | ||
(yet) | |||
nadim | you mean doesn't yet | ||
IMO, dumping 80% of CPAN would be good. I'm getting tired of undocumented shit (that some of our star programer have) that pollutes CPAN. | 22:19 | ||
diakopter | CPAN is open because not everyone's definition of 'shit' is identical. | 22:20 | |
nadim | I'll stick to my own definition then | ||
diakopter | :) | 22:21 | |
nadim | although, no tests, no documentation is pretty universal | ||
22:21
patspam joined
|
|||
Tene | bbs.chinaunix.net/thread-1633922-1-1.html | 22:25 | |
google translate does a decent job on it. | |||
nadim | good for the 5 biliions Perl programer that don't get that language | 22:26 | |
diakopter | translate.google.com/translate?js=y...&tl=en | ||
does the title mean what I think it says | 22:27 | ||
Tene | Every post has this in it: "Your views on this paste: flowers [0] smelly eggs [0]" | 22:28 | |
nadim | "Perl 5 should first thoroughly understand I" sound like it's written by a small green jedi | ||
Tene | my guess is upvotes/downvotes | ||
I'm mentioned by name on page 2. Huh. | 22:30 | ||
"Do not forget, parrot's goal is multi-language interactive, embedded, concurrency, faster than Java, developers have already Tene, one of the basic functions of perl 5 embedded into the. | |||
jnthn on page 3 | |||
nadim | well the faster than Java remains to be seen. And I'd like to see it because a comparison in speed killed my last project. Managers are statistic suckers! | 22:31 | |
22:31
astoria left
|
|||
mberends votes the forum flowers [+1] | 22:32 | ||
Tene | "perl6's regex too strong blanket. 。 . 。 ." | ||
22:33
mikehh left
|
|||
nadim | P6 doesn't need to be automatically translated to look weird. wait till Abigail starts exploding our heads with P6 regexes | 22:33 | |
Tene | Who is abigail? | 22:34 | |
nadim | a regex lord | ||
sometimes I wonder if he doesn't rule them all | |||
22:34
mikehh joined
|
|||
nadim | search.cpan.org/~abigail/ | 22:35 | |
perl.abigail.be/Talks/Sudoku/HTML/ | 22:36 | ||
solving sudoku with regexp | 22:37 | ||
22:39
Su-Shee left
|
|||
mberends | 'write only software' roundtrips to 'actually has also been vilified as "not giving read"' :-) | 22:40 | |
nadim | You'd make a good guest. You're easily untertained | ||
mberends | troo | 22:41 | |
pugs_svn | r29502 | diakopter++ | [sprixel] ported (well, implemented, since lots couldn't port directly over) grammar | 22:42 | |
r29502 | (set of named patterns with one marked TOP) compilation from sprixel# to sprixel. | |||
r29502 | roll-up (inline emission, deeply) of non-recursive patterns. now to port the | |||
r29502 | invocations of recursive patterns with callsites and calltargets. should port over | |||
r29502 | with more straightforwardness. | |||
diakopter | I realized the other day that the callsites & calltargets implementation in sprixel# would actually be useful to compile programs (with subroutines) other than just parsers. | 22:46 | |
Tene | "Perl 6 has been listed to be available for $29.00 in markets in earlier spring 2010." -- techglimpse.com/index.php/perl-6-coming-soon.php | 22:48 | |
mberends | diakopter: that illustrates the similarities between grammars and classes, regexes and functions rather well | ||
diakopter | also, the algorithm for determining whether a subroutine is recursive (on any of its codepaths) was fun to solve. | 22:50 | |
mberends: yes, in a parsing system that must be implemented top-down. | |||
note that I haven't implemented an OPP (EXPR) | 22:51 | ||
yet. | 22:52 | ||
mberends | can the other implementations of OPP (STD, NQP) be of any help? | 22:54 | |
22:55
payload joined
|
|||
diakopter | absolutely. TimToady has explained the STD one to me, but I've likely forgotten it all. Probably I'll need to read some books on it. In general, it's very difficult for me to understand someone else's code unless I've written something very similar to it myself (in my head at least). | 22:56 | |
mberends looked at the STD.pm one, and quickly scrolled on ;) | 22:57 | ||
ah well, enough doc-tweaking here, now back to infix__S_Plus... | 23:00 | ||
23:02
jackyf left
23:03
Guest23920 left
23:06
ive left
23:11
fridim_ left
23:18
payload left
23:26
KyleHa joined
23:32
imaltb joined,
imaltb left
23:35
kensanata left
23:39
zz_Chazz is now known as Chazz
23:47
xomas is now known as xomas_,
xomas_ is now known as xomas
23:48
Chazz is now known as Chazz[ZNC]
23:55
dbrock joined
23:59
KyleHa left
|