»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 bluescreen10 left 00:04 bluescreen10 joined, benabik joined 00:13 whiteknight joined 00:15 Radvendii left 00:51 Moukeddar left 00:57 flussence left 01:00 packetknife left 01:06 japhb_ joined
japhb_ Just wanted to share a little anecdote: On my $day-job's IRC channel we were discussing chording keypresses with mouse buttons, and the question of how many combinations could be created for a user with a single mouse button. Someone gave a wild bound, so I tightened it a bit with the following, which I pasted verbatim: 01:10
$ ./perl6 -e 'multi postfix:<!>($n) { [*] 1 .. $n }; sub C($n, $k) { $n! / ($k! * ($n - $k)!) }; say [+] (C(101, $_) for 0..5)'
83463472
NOT A SINGLE PERSON was even mildly surprised by any of the code. 01:11
The discussion was entirely about improving the bound.
It was just that obvious to everyone.
That made me smile.
sorear good * #perl6 01:20
japhb_ o/ 01:24
01:26 flussence joined 01:36 am0c left 01:46 sftp left, sftp joined 02:21 wolfman2000 joined 02:32 drbean left
[Coke] japhb++ 02:34
02:36 cognominal_ left 02:38 cognominal joined 02:41 whiteknight left
colomon niecza: printf "%-20s\t%s\n", "Plosurin", '' 03:18
p6eval niecza v13-389-g852f0ff: OUTPUT«Unhandled exception: index out of range␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (sprintf @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1221 (printf @ 3) ␤ at /tmp/0yLkuA4RaN line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting…
colomon nom: printf "%-20s\t%s\n", "Plosurin", ''
p6eval nom acbec8: OUTPUT«Plosurin ␤»
03:21 orafu left, orafu joined
colomon hmm; list, update, and info all work in panda-niecza 03:26
search too 03:30
install is doing something weird at the moment, though. :\ 03:31
ah, it was the sharing violation on ~/.panda/state 03:34
oooo, I think I might have it figured out. :) 03:38
yup 03:40
so I've got panda-niecza fully functional, using ~/.niecza as the repo location
the only real drawback at the moment is figuring out how to add a proper #! line to the panda script when it is installed 03:42
but for now, it's time to sleep 03:43
sorear WOW! 03:56
colomon++ colomon++ colomon++
TimToady en.wikipedia.org/wiki/Panda!_Go,_Panda! 03:58
04:01 kmwallio joined 04:04 twirp joined, kmwallio left, twirp left 04:06 flussence left 04:18 cognominal left 04:32 jaldhar joined 04:34 bluescreen10 left 04:38 birdwindupbird joined 05:01 raiph joined
tadzik colomon: awesome! 05:08
colomon++
05:13 baest left
sorear I see Unicode 6.1 was released] 05:16
05:17 baest joined
tadzik with a PILE OF POO character! 05:18
benabik .u POO 05:19
phenny U+A576 VAI SYLLABLE POO (ꕶ)
benabik .u Pile of Poo
phenny benabik: Sorry, no results for 'Pile of Poo'.
sorear phenny doesn't do supplementary chars 05:20
benabik Oh.
fileformat.info says pile of poo was added in 6.0
sorear .u SHAVIAN LETTER PEEP 05:21
phenny sorear: Sorry, no results for 'SHAVIAN LETTER PEEP'.
sorear .u 1045 05:22
phenny U+1045 MYANMAR DIGIT FIVE (၅)
sorear .u 10450
phenny sorear: Sorry, no results for '10450'.
05:22 drbean joined
sorear .u d900 05:22
phenny U+D900 (No name found)
sorear demonstrates phenny's limitations
raiph phenny tell fasad i'd love to help; perlfoundation wiki has bits we probably want to use; tinyurl.com/6vp46ok; agree it's ugly; agree no yadda (yet another delusional doc answer); note github.com/features/projects/wikis 05:32
05:33 am0c joined 05:58 DarthGandalf left 06:06 kaleem joined 06:07 wolfman2000 left 06:08 DarthGandalf joined
japhb_ perl6: sub check($/) { "b" ~~ /./ }; check("a" ~~ /./) 06:15
p6eval rakudo acbec8: OUTPUT«Cannot assign to a readonly variable or a value␤ in method ACCEPTS at src/gen/CORE.setting:7656␤ in sub check at /tmp/Oxo9eVZFby:1␤ in block <anon> at /tmp/Oxo9eVZFby:1␤ in <anon> at /tmp/Oxo9eVZFby:1␤»
..niecza v13-389-g852f0ff: ( no output )
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
japhb_ ^^ Known problem in rakudo?
Ouch. Also, I cannot pull from (or do a fresh clone of) the niecza repo from github. 06:22
sorear, ^^
sorear japhb_: symptoms? 06:27
I can pull fine
japhb_ sorear: 06:34
$ git clone github.com/sorear/niecza.git
Cloning into niecza...
error: Proxy CONNECT aborted while accessing github.com/sorear/niecza.git/info/refs
fatal: HTTP request failed
Several other repos are working fine, so I don't think it's an outright misconfig on my side (though I suppose something might be hinky here) 06:35
sorear are you accessing the other repos in the same way? 06:37
i.e. https versus http versus git
doy you should really use the git:// url unless you really can't use anything but http 06:38
japhb sorear, oh interesting, you're right, I have write access (and thus use a git:// URL) to all the others I tested. Harumph, it probably is a local problem then. 06:39
(Though exactly *what* escapes me at the moment.)
sorear git:// URLs are always read-only
https:// is recommended for write access because it's the only one with real access control
japhb sorear, sorry, I was using [email@hidden.address] urls elsewhere. Man, clearly too much on my mind tonight. 06:40
sorear (technically you can set up a writable git://, but then it's world writable)
... what am *I* thinking
[email@hidden.address] "URLs" (which aren't actually URLs in the strict RFCish sense) use SSH internally and have access control 06:41
what I said at :39 was nonsense, ignore it
06:42 Trashlord left 06:43 raiph left 07:06 wtw joined
sorear japhb: now that you're using git://, is it working? 07:07
hmm. that was badly phrased 07:09
japhb: does changing the URL form work?
07:13 am0c left
moritz \o 07:18
japhb: re sub check($/), I think rakudo behaves according to spec 07:21
calling the sub binds $/ as read-only, and conversely regex matching complains
sorear last time I talked to jnthn about this, we came to the conclusion that it didn't matter whether $/ was bound or assigned as long as the compiler does it consistantly 07:24
niecza takes the bind route, which is why it accepts that - the read-only container is simply replaced
07:49 GlitchMr joined 07:56 tarch joined 08:00 birdwind1pbird joined
japhb_ sorear, using git:// works fine. Clearly the failure is with https:// (whether local or remote, I dunno), but haven't really looked. 08:07
08:08 am0c joined
japhb_ moritz, sorear, Rakudo's failure at handling that smoothly makes it more of a pain to do grammar action methods that need to do regex matches internally. 08:09
(The example I eval'ed was golfed down out of a failing grammar we'd found on RosettaCode.)
I ended up working around the problem by defining my method to be: 08:10
method TOP($m) { #{ use $m instead of $/ to build up $ast ... } $/ = $m; make $ast; } 08:11
08:15 cognominal joined
moritz I can see that that's annoying 08:15
japhb_ OK, time for some rest; night, all. 08:18
sleep & 08:19
08:33 Trashlord joined 08:42 birdwind1pbird left 08:50 mj41 joined
jnthn Not sure I understand the view that allowing $/ - which you bound in the parameter list and are using to build up the AST - to be silently replaced would be helpful. 09:12
Feels like a great way to get a hard to find bug
"Hey, all the code after I did this match does the wrong thing!"
moritz maybe an alternative would be to offer a Match.make method 09:17
which would mean you can simply say $m.make($ast)
instead going through the trouble of re-assigning $/ to be able to call make($ast) 09:18
*of
jnthn Yes.
masak mornin', #perl6 09:19
moritz implements Match.make 09:20
jnthn moritz++ 09:23
o/ masak
masak www.lispcast.com/modern-language-wishlist 09:33
masak commutes
moritz I've meant to write such a list myself eventually 09:34
it's an interesting list 09:36
perl6: say <good cheap fast>.pick(2) # always fun 09:43
p6eval pugs b927740: OUTPUT«cheapfast␤»
..rakudo acbec8, niecza v13-389-g852f0ff: OUTPUT«good fast␤»
moritz nom: #= yellow ␤sub marine() { }␤say &marine.WHY.content 09:45
p6eval nom acbec8: OUTPUT«yellow ␤»
moritz tadzik: is it intentional that the trailing blank isn't stripped?
09:48 Psyche^ joined 09:51 Patterner left, Psyche^ is now known as Patterner 10:04 Woodi left
masak nom: #= yellow ␤sub marine() { }␤say &marine.WHY 10:11
p6eval nom acbec8: OUTPUT«Block::Declarator.new(WHEREFORE => sub+{<anon>} marine() { ... }, config => ().hash, content => Array.new("yellow "))␤»
masak nom: #= yellow ␤sub marine() { }␤say ~&marine.WHY
p6eval nom acbec8: OUTPUT«yellow ␤»
masak colomon++ # panieczda 10:29
10:32 Woodi joined
moritz tries to pronounce that 10:35
colomon++ indeed
masak moritz: [panjeʈʃda] or something like it, I think. 10:42
I'm unsure whether it should be [nj] or [nʲ]. and maybe it's [dʃd] rather than [ʈʃd]. 10:44
10:47 am0c left 11:01 Moukeddar joined 11:16 zamolxes left, zamolxes joined 11:23 lestrrat left 11:24 lestrrat joined 11:32 icwiener joined 11:35 explorer__ joined 11:37 jferrero left 11:52 Moukeddar left 12:12 explorer__ left 12:40 bluescreen10 joined 12:47 Trashlord left, Trashlord joined 12:51 bluescreen10 left
masak how would you split a string into the first character and the rest of the string in Perl 6? 12:57
(I brought this up a few weeks ago, but I don't remember if we ever settled on an idiom.)
moritz my ($head, $tail) = .substr(0, 1), .substr(1)l
masak I'd like something more succinct than just... two .substr calls :)
in Perl 5 I'd use split or something. 12:58
or maybe a regex.
moritz .split(/<at_pos(1)>/)
jnthn ooh
moritz nom: say 'foobar'.split(/<at_pos(1)>/).perl
p6eval nom acbec8: OUTPUT«No type check cache and no type_check method in meta-object␤ in method reify at src/gen/CORE.setting:4380␤ in method gimme at src/gen/CORE.setting:4744␤ in method reify at src/gen/CORE.setting:4475␤ in method reify at src/gen/CORE.setting:4380␤ in method reify at…
masak bug? 12:59
I must say that reads very nicely.
moritz star: say 'foobar'.split(/<at_pos(1)>/).perl
p6eval star 2012.01: OUTPUT«No type check cache and no type_check method in meta-object␤ in method reify at src/gen/CORE.setting:4376␤ in method gimme at src/gen/CORE.setting:4740␤ in method reify at src/gen/CORE.setting:4471␤ in method reify at src/gen/CORE.setting:4376␤ in method reify …
jnthn How in the hell...
moritz jnthn: indeed.
masak b: say 'foobar'.split(/<at_pos(1)>/).perl
p6eval b 1b7dd1: OUTPUT«("foobar")␤»
masak maybe something else is broken?
nom: say "OH HAI" 13:00
p6eval nom acbec8: OUTPUT«OH HAI␤»
masak appears not.
jnthn nom: 'foobar'.split(/<at_pos(1)>/)
moritz I get the same output locally
p6eval nom acbec8: OUTPUT«No type check cache and no type_check method in meta-object␤ in method reify at src/gen/CORE.setting:4380␤ in method gimme at src/gen/CORE.setting:4744␤ in method reify at src/gen/CORE.setting:4475␤ in method reify at src/gen/CORE.setting:4380␤ in method reify at…
masak submits rakudobug
jnthn nom: 'foobar'.split(/./)
p6eval nom acbec8: ( no output )
moritz nom: say 'a' ~~ /<at_pos(1)>/
p6eval nom acbec8: OUTPUT«No type check cache and no type_check method in meta-object␤ in method reify at src/gen/CORE.setting:4380␤ in method gimme at src/gen/CORE.setting:4744␤ in method reify at src/gen/CORE.setting:4475␤ in method reify at src/gen/CORE.setting:4380␤ in method reify at…
jnthn nom: 'foobar' ~~ /<at_pos(1)>/
p6eval nom acbec8: OUTPUT«No type check cache and no type_check method in meta-object␤ in method reify at src/gen/CORE.setting:4380␤ in method gimme at src/gen/CORE.setting:4744␤ in method reify at src/gen/CORE.setting:4475␤ in method reify at src/gen/CORE.setting:4380␤ in method reify at…
jnthn OK, what is at_pos doing... :)
Wild guess: using nqp::getattr somewhere it should be using nqp::getattr_i :) 13:01
moritz erm, is it even spelled at_pos? 13:02
I might as well be misremembering something
nom: say 'a' ~~ /<at(1)>/
masak at the very least, it's an LTA error message.
p6eval nom acbec8: OUTPUT«=> <>␤ at => <>␤␤»
moritz star: say 'foobar'.split(/<at(1)>/).perl
p6eval star 2012.01: OUTPUT«("f", "oobar").list␤»
masak \o/
moritz ok, it helps to spell it correctly :-)
masak also reads well :)
jnthn \o/
masak so, error is in using something that doesn't exist :) 13:03
jnthn nom: say Any.^methods
p6eval nom acbec8: OUTPUT«eager elems end classify uniq infinite flat hash list pick roll reverse sort values keys kv pairs Array grep first join map min max minmax postcircumfix:<[ ]> at_pos all any one none postcircumfix:<{ }> reduce ACCEPTS␤»
masak typical "programmer never tried this path" thinko :)
oh!
moritz well, at_pos comes from Any
jnthn There's an at_pos in Any
masak right.
so it does something completely different.
moritz yes.
13:03 skids left
masak and the regex engine gets sad. 13:03
jnthn And doesn't return a cursor which...yes, that. :)
masak I will report this as best I can :P 13:04
13:04 bluescreen10 joined
jnthn So anyway, there's nothing here besides LTA error reporting. 13:04
masak nod 13:07
niecza: say 'foobar'.split(/<at(1)>/).perl
p6eval niecza v13-389-g852f0ff: OUTPUT«Unhandled exception: Unable to resolve method at in class Cursor␤ at /tmp/d7yD6gZrBa line 1 (ANON @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 449 (Cool.split @ 10) ␤ at /tmp/d7yD6gZrBa line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.se…
masak sorear: ^^ would be nice
moritz niecza: say 'foobar'.split(/<at_pos(1)>/).perl
p6eval niecza v13-389-g852f0ff: OUTPUT«Unhandled exception: Submatch to be bound to at_pos returned a Any instead of a Cursor, violating the submatch protocol.␤ at /tmp/OqtmCZAW19 line 1 (ANON @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 449 (Cool.split @ 10) ␤ at /tmp/OqtmCZAW19 lin…
masak that's the error Rakudo should be giving :) 13:08
sorear++
moritz masak: iirc niecza implements <at> in some non-standard way
niecza: say 'foobar'.split(/<AT(1)>/).perl
p6eval niecza v13-389-g852f0ff: OUTPUT«Unhandled exception: Unable to resolve method AT in class Cursor␤ at /tmp/9dSrvEtbBq line 1 (ANON @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 449 (Cool.split @ 10) ␤ at /tmp/9dSrvEtbBq line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.se…
13:10 fasad joined 13:14 maik_ joined
jnthn Should be fixable by patching method subrule in QAST::Compiler 13:16
13:22 maik_ left 13:28 grondilu joined
grondilu perl6: my ($x, $y) = (2**30, 1); say +^$x +& $y; 13:28
p6eval pugs b927740, niecza v13-389-g852f0ff: OUTPUT«1␤»
..rakudo acbec8: OUTPUT«-1152921504606846975␤»
masak based on the p6c question about heredocs, maybe we should add heredocs to perl6.org/compilers/features ? 13:29
grondilu rakudo gives a silly answer here
masak yes.
known, I think.
moritz +1 to heredocs on the feature matrix 13:31
jnthn ugh, it's the polymprhic literals thing again 13:33
oh, wait, it's not 13:35
moritz nom: my Int $x = 2 ** 30; say +^$x
p6eval nom acbec8: OUTPUT«-1073741825␤»
jnthn nom: say 2 ** 30 13:36
p6eval nom acbec8: OUTPUT«1073741824␤»
moritz that's just two's complement, as it should be (iirc)
jnthn perl6: my Int $x = 2 ** 30; say +^$x 13:37
p6eval pugs b927740, rakudo acbec8, niecza v13-389-g852f0ff: OUTPUT«-1073741825␤»
jnthn Ah, so it's the +& doing something odd.
masak dreams of the day when the Rakudo/Niecza optimizers take code written as junctions and turns it into something that runs fast 13:38
grondilu why should it be two's complement? 2^30 is below 2^31 so it is not supposed to be negative, is it?
moritz nom: say (2**30).fmt('%32b')
p6eval nom acbec8: OUTPUT« 1000000000000000000000000000000␤»
moritz nom: say (2**30).fmt('%032b')
p6eval nom acbec8: OUTPUT«01000000000000000000000000000000␤»
moritz so, flip each bit 13:39
and the most significant bit is 1
which is negative in 2's complement
grondilu I think rakudo treats the first four bits as sign bits
nom: say my Int $ = 2**28
p6eval nom acbec8: OUTPUT«268435456␤»
moritz grondilu: what makes you think so?
grondilu my previous experiments on my PC 13:40
nom: say my Int $ = 2**29
p6eval nom acbec8: OUTPUT«536870912␤»
grondilu nom: say my Int $ = 2**30
p6eval nom acbec8: OUTPUT«1073741824␤»
grondilu ah hang on
nom: say my Int $ = +^2**30
p6eval nom acbec8: OUTPUT«-1073741825␤»
grondilu nom: say my Int $ = +^2**28
p6eval nom acbec8: OUTPUT«-268435457␤»
grondilu nom: say my Int $ = +^2**27
p6eval nom acbec8: OUTPUT«-134217729␤»
grondilu nom: say my Int $ = +^2**10 13:41
p6eval nom acbec8: OUTPUT«-1025␤»
grondilu ok
moritz grondilu: +^ *always* flips the sign
grondilu indeed
[Coke] wonders if it's worth doing another spec run.
moritz except for 0 and +1 (which produce -1 and 0), because you can argue if 0 has a sign :-)
[Coke] nom: say -0 13:42
p6eval nom acbec8: OUTPUT«0␤»
[Coke] perl6: say -0
moritz nom: say -0e0
grondilu shouldn't it flip the sign only if the first bit is a 16, 32 or 64??
p6eval pugs b927740, rakudo acbec8, niecza v13-389-g852f0ff: OUTPUT«0␤»
nom acbec8: OUTPUT«-0␤»
[Coke] perl6: say -0e0
p6eval rakudo acbec8: OUTPUT«-0␤»
..pugs b927740, niecza v13-389-g852f0ff: OUTPUT«0␤»
moritz grondilu: no.
13:44 rasto joined
masak measuring how fast code runs is the shit. 13:44
grondilu nom: my ($x, $y) = (2**30, 1); my $z = +^$x +& $y; printf "%b\n", $_ for $x, +^$x, $y, $z;
p6eval nom acbec8: OUTPUT«1000000000000000000000000000000␤1111111111111111111111111111111110111111111111111111111111111111␤1␤1111000000000000000000000000000000000000000000000000000000000001␤» 13:45
grondilu see the four first bits of $z?
masak I just measured my code, removed one set of junctions, and then it ran at 2x the speed. I removed another set of junctions, and it didn't change. so I added them back because it was clearer that way. :) 13:46
grondilu nom: my ($x, $y) = (2**30, 1); printf "%32b\n", +^$x +& $y;
p6eval nom acbec8: OUTPUT«1111000000000000000000000000000000000000000000000000000000000001␤»
grondilu where do those four bits come from?? 13:47
niecza: my ($x, $y) = (2**30, 1); printf "%32b", +^$x +& $y;
p6eval niecza v13-389-g852f0ff: OUTPUT« 1»
jnthn masak: Is that in Rakudo? 13:48
moritz oh.
dalek gs.hs: f364756 | au++ | pugs-DrIFT/ (2 files):
* Update pugs-DrIFT to 2.2.3.20120203 for GHC 7.4.1.
gs.hs: 971da12 | au++ | Pugs/ (14 files):
* Pugs 6.2.13.20120203 for GHC 7.4.1 compatibility.
gs.hs: 2ce0226 | au++ | pugs-compat/ (2 files):
* pugs-compat-0.0.6.20120203 for GHC 7.4.1 compatibility.
gs.hs: 08f0e50 | au++ | / (18 files):
Merge branch 'master' into perl6
masak then I realized if I replaced some hash logic with just junctions, it ran at ~3x the original speed. o.O
jnthn: no, Niecza.
jnthn masak: ah, otherwise I'd ahve asked for code for profiling :)
moritz grondilu: I just realized, libtommath (which we use for storing bigints) uses 28bit "digits" 13:49
grondilu: so there might indeed a bug in there somewhere
grondilu oh, this explains a lot
moritz grondilu: feel free to submit as rakudobug (or even fix if you want :-)
masak then I realized that I could precompute a bunch of stuff; now it runs at ~160x the original speed. :)
grondilu I don't know how to. Someone please do it. 13:50
masak submits rakuodbug
moritz libtommath stores sign separately from the rest of the bits, which is why we need to emulate 2's complement math
and that part might be buggy
moritz not a big bit fiddler
masak au++ # alive
masak .oO( bit fiddler on the &ceiling ) 13:52
grondilu masak: you wrote 'rakuodbug' 13:53
masak grondilu: don't worry, things come out right in the end :)
grondilu ok, good 13:54
masak look, it's spelled right in the ticket: rt.perl.org/rt3/Ticket/Display.html?id=109740
:P
araujo mm..
masak (there's an intermediate typo correction step in there)
araujo Pugs resumed development?
masak araujo: no, just keeping things un-bitrotted, I think. 13:55
moritz araujo: seems to be just updating to newest haskell toolchain
araujo masak, moritz aaah .. mm
moritz audrey has been doing that for quite some time
13:56 xinming left
masak aye. 13:56
it makes it easier for future dauntless Pugsonauts to pick up the reins. 13:57
we never got that going, by the way. perhaps I should spend the next Perl 6 day trying to set up a Pugs dev environment...
araujo might try that out in his his free time on weekend
though I guess, right now, Pugs is long long far away from other implementations like rakudo? 13:58
[Coke] au++ ! 13:59
moritz araujo: well, it is out of date in many areas
[Coke] masak -if you do that, I can add pugs to the no-longer-daily spec test runs.
masak [Coke]: that's be nice, too. 14:01
[Coke]: I think Pugs has loads and loads of LHF and pending instant gratification. 14:02
arnsholt And there's ample inspiration in Rakudo and Niecza for solutions to various things as well, I suppose =) 14:05
masak right. 14:07
and it would lead to awesome blog posts.
moritz blog-driven development? :-)
14:16 xinming joined
[Coke] argh, I left my netbook at home. 14:20
masak moritz: ...which turns into an infinite regress if one's blog is written in Perl 6 :P
[Coke] Infinite Egrets. 14:22
14:25 skids joined 14:30 kaleem left
masak sorear: when I make timings with Niecza, in the style of 'use MyModule; my $t = now.val; #`<do something a fixed number of times>; say now.val - $t', the first time I run after modifying MyModule.pm, things always run significantly faster. why is that? 14:31
I'm guessing it's related to the compilation cache somehow, but it still feels counterintuitive to me.
ooh! maybe it's connected to deserialization, and that has a run-time penalty somehow?
moritz maybe deserialization is slower than recompilation? :-) 14:35
jnthn srsly hopes Rakudo's deserialization doesn't work out that way :)
14:37 xinming left 14:38 pernatiy joined
masak moritz: one would think the deserialization would be finished by the time the first 'my $t = now.val' runs, though. 14:39
jnthn woulda thunk so too, but it's always possible that it does something lazily... 14:42
masak aye. 14:43
14:43 PacoAir joined 14:48 birdwind1pbird joined 14:50 xinming joined 14:54 xinming left 14:55 birdwindupbird left 14:57 xinming joined 15:01 am0c joined
masak no matter how I tried, a 'for (@array) { ... }' is faster in Niecza than the corresponding loop construct with indices. 15:01
masak impressed
colomon surprised
15:02 Trashlord left
[Coke] aloha, seen hugme? 15:02
aloha [Coke]: hugme was last seen in #perl6 12 days 2 hours ago joining the channel.
jnthn masak: Oddness. 15:03
15:03 xinming left 15:05 xinming joined, am0c left
[Coke] sees a ton of drama on p5p. 15:08
masak [Coke]: over what?
[Coke] phenny: tell hugme to hug p5p.
phenny [Coke]: I'll pass that on when hugme is around.
[Coke] rt.perl.org/rt3//Ticket/Display.html?id=108470 15:10
[Coke] looks forward to our eventual RT upgrade. ;) 15:11
15:12 xinming left 15:13 xinming joined
masak I wonder if it would make sense to have a 'git undo' subcommand, which worked on at least a subset of the other subcommands. like I make a commit, and instead of 'git reset --hard HEAD^', I just go 'git undo'. 15:15
lower mental load.
15:17 zby_home_ joined
arnsholt There was a reasonably good critique of git's UI on HN the other day 15:18
I think it was quite correct in claiming that the UI is mostly a by-product of the implementation, and usability suffers correspondingly
15:20 xinming left
[Coke] masak: can't you add "undo" as a local alias? 15:21
masak [Coke]: maybe, but it'd have to somehow have enough state to know what the last subcommand was. 15:22
hm, maybe I can just do something nice with the reflog...
[Coke] oh, I mean to "git reset --hard HEAD^"
masak right, but that's specifically in the case of 'git commit'.
I think doing 'git reset --hard HEAD@{1}' might work quite well. 15:23
masak now has an 'undo' alias 15:26
[Coke]++ 15:27
one nice thing that just seems to fall out of this is that I can 'git undo' the last 'git undo' :)
mikemol So my boss absolutely *hates* Perl 5. Our build script is written in it, and Perl 5's syntax is driving non-Perl coders. I'm campaigning for it to be ported to Perl 6. 15:28
15:28 xinming joined
mikemol *driving non-Perl coders crazy 15:28
15:29 grondilu left
[Coke] So, I miss Modula 3. Is there a spec for trusted/untrusted||Safe ? or is safe mode just in bots? 15:29
masak mikemol: good luck. I'd advise you to tread really carefully so they don't feel burned by Perl 6 implementations' alpha-ness. 15:31
mikemol: it may turn out really well, but my guess is that it'll take a bit of work on your part. especially when people run into problems. 15:32
mikemol masak: What I'll probably do is ask for permission to take the code home and poke it on my own time.
masak mikemol: if you're the only one writing/maintaining the code, you're in a much simpler position.
but you definitely don't want a situation where someone takes it over, or has to look at it for an afternoon, and goes "what the #@&#%!@ is this?" 15:33
mikemol It'll need to run under niecza, as the build system is running Windows 7; having a .Net VM seems the obvious choice.
masak what other requirements do you have? speed? memory? refactorability?
mikemol Speed isn't a real issue in this case; it'll be spending far more time calling visual studio's build processes. 15:34
15:34 drbean left, birdwind1pbird left
mikemol Likewise, memory isn't going to be a real issue. It's a build system, and the heavy lifting is done by other tools. 15:34
Refactorability...Not a real concern here. Code clarity and the ease of understanding what's going on and of adding new functionality. 15:35
15:36 xinming left
mikemol The script is really quite low-end, as far as any kind of requirements. The big troubles are pieces of Perl 5's syntax that Perl 6 already dealt with. 15:37
masak sounds like a nice fit for Perl 6, then.
15:37 Trashlord joined
PerlJam mikemol: he hates perl 5, but he's okay with perl 6? 15:38
mikemol PerlJam: Hasn't seen Perl 6. Doesn't like that it has Perl in the name, though...
The biggest issue, at the moment, are how sigils work in Perl 5. 15:39
This code gets prodded perhaps every six months to a year, and the responsibility for maintaining it is moving away from its present maintainer. 15:40
PerlJam mikemol: how sigils work or that there are multiple sigils or that there are sigils at all?
Hmm.
mikemol: are you going to be the future maintainer?
15:41 drbean joined
mikemol my %hash; $hash{$key}; my $ref = \%hash; $ref->{$key}; my @array; my $array[$index]; 15:41
And so on and so forth
PerlJam gotcha
timotimo i've been kind of spreading the claim, that perl6 is kind of a "complete overhaul" and that unreadable, completely opaque programs are a thing of the past, is that actually true? i haven't read much perl6 code "out in the wild" yet, nor have i written more than a hundred lines
PerlJam timotimo: they aren't "a thing of the past" Obfuscation is still possible. 15:42
timotimo i have only been surprised quite often about how almost anything seems to boil down to not very many simple concepts
slavik timotimo: perl6, like any language does give you enough rope to deep fry your foot
PerlJam timotimo: but, "cleaner" programs are certainly encouraged more now than before
timotimo of course, but the claim was that perl5 would "actively encourage" unreadability
mikemol timotimo: Unreadable, opaque programs are an a fundamental of computer programming. Anyone can write an opaque program in any language they face, and probably will.
P5 doesn't encourage unreadability, it's just so flexible that unreadable code is too damn convenient... 15:43
timotimo i suppose what i'm getting at is more the kind of code you would find out in the wild. i wouldn't say "C is really unreadable! just look at the IOCC!"
masak timotimo: I've seen bad or unreadable Perl 6 code. there's also lots of Perl 6 code that's much less expressive than its true potential.
mikemol timotimo: It really depends on coder discipline and site/project coding conventions.
timotimo i suppose the sigil invariance thing, for instance, goes a long way, but i'm not very aware of the rest of it 15:44
masak timotimo: but we have the advantage that we're starting from another place than Perl 5, which started with Perl 1 which was a very different language with different idioms.
PerlJam timotimo: one of the problems is that people confusing "expressivity" and "readability"
mikemol And there will always be developers who look for ways to be clever, either out of boredom or out of some other motivation...
masak and there will always be developers who don't consider maintainability. 15:46
PerlJam mikemol: assuming you convince your boss to let you use Perl 6, you'll have to let us know how you got him to accept the "risk" of doing so.
15:46 xinming joined
timotimo i guess there isn't a satisfying answer to get for me. it was kind of a dumb question anyway 15:46
masak I like jnthn's graph with the three levels of programmers: "hey, I got it to compile!" -- "let's write this with all sorts of crazy features that I just learned" -- "I use the various parts of the language sensibly and in moderation". 15:47
mikemol timotimo: To say that Perl 6 makes unreadable code a thing of the past is like saying Python makes unreadable code a thing of the past.
It might be a desired outcome, but it's not something you can guarantee.
masak timotimo: what Perl 6 gives you is a very wide *range* of idioms to express everything from APL-like short code to enterprisey boilerplate-ish class hierarchies. 15:48
PerlJam timotimo: not a dumb question at all.
timotimo: though, if you can't get satisfaction, that's not our problem ;) 15:49
timotimo oh, that's another question i've pondered for only a second - can perl6 be adequately inspected to allow refactoring tools to do any non-trivial work?
mikemol PerlJam: The most powerful argument I've given so far is that Perl 6 is intended to be a lot more self-consistent, and doesn't have to carry the legacy of Perl 5.
masak timotimo: S11 has some wording on that, I believe.
mikemol That implies the language will be cleaner, and that it will be easier to re-learn as-needed.
timotimo it seems to me that that would be really hard, but i wouldn't know enough about perl to know 15:50
i'll have a look, thanks masak
masak timotimo: the general problem is unsolvable, since BEGIN block might affect the parsing of the rest of the program.
mikemol We're a multifunctional shop; we pick up skills and tools as we need them.
PerlJam timotimo: Perl 6 has more facility for introspection than Perl 5, certainly
masak PerlJam: Alias_ of PPI seems to think it's more difficult to parse out Perl 6, though.
timotimo right, but introspection i mostly in live running programs, right? 15:51
15:51 am0c joined
Alias_ yup 15:51
PerlJam timotimo: and since the Perl 6 grammar will be accessible, it's likely that we can do PPI-like-things without needing PPI :)
Alias_ PerlJam, nope
Perl 6 won't support document parsing
timotimo in python, for instance, i could completely change any functions bytecode or replace functions and silly things like that. that would make using introspection *really* useless for refactoring. then again, not everybody does this and rope - a refactoring tool for python - exists and can do a few non-trivial things 15:52
PerlJam Alias_: you don't think we can decouple syntax and semantics enough to repurpose the Perl6 grammar?
Alias_ And by encouraging more grammar diversity, it will actually be harder to parse
PerlJam: You need to be able to parse invalid syntax
You need to be able to parse code that use's modules that don't exist
masak I remain more optimistic than that, but I haven't written PPI.
PerlJam what masak said
Alias_ You need to parse code that launches nuclear weapons at BEGIN time
How would you parse the following Perl 6 document 15:53
}
[Coke] which is one of the reasons I was asking about Safe.
masak Alias_: you've described designing PPI as solving a problem by looking at it in another way. it wouldn't surprise me if Perl 6 requires yet another shift in perspective to feel parseable.
Alias_: you do realize the irony in first saying "Perl 5 wasn't possible to parse, but I did it!" and then "Perl 6 won't be possible to parse", right? :) 15:54
PerlJam masak: Apparently you and I are on the same wavelength today because I was thinking just that :)
Alias_ Perl 5 won't be parsable by 5.16 or so either 15:55
15:55 xinming left
masak that... didn't quite answer my question. 15:55
Alias_ To parse you need a grammar
masak granted. 15:56
and if the language moves out from under you, you're toast. I agree to that too.
Alias_ If the grammar itself is turing complete, you can't know if determining the grammar prior to commencing parsing will complete before the end of the universe
Right
You're toast
PPI evaded the problem, but just barely 15:57
masak but you're talking about the general case.
code never exists in the general case, it exists in specific individual cases.
PerlJam I think we can get a 90% solution and that will be good enough for most purposes
masak and special cases can often be solved even when the general case cannot.
Alias_ If you can write a parser that can parse fuzz, that would be good enough
masak for example, it's possible to parse Perl 6 code that doesn't muck with the grammar.
Alias_ If the parse halts and bails, then you're toast 15:58
It's ok to mis-parse, so long as you continue
Hence why PPI can parse the single character } as a document
masak because it doesn't match up braces?
Alias_ Because it finds ways to continue 15:59
masak ah, ok.
Alias_ } is an PPI::Statement::UnmatchedBrace
masak oh!
Alias_ PPI lets you put all sorts of illegal stuff in
The test suite parses every single possible Perl program 5 characters or shorter
And Audrey wrote a fuzz tester than generates random 128 character programs
And it parses all those too 16:00
It won't get the parse right, but it will complete the parse
And then it can round-trip the parse tree correctly back to the original string
No matter how weird or broken
So long as you can do that, you can be useful
PerlJam I can certainly be ignorant here, but that seems possible with Perl 6 too.
mikemol Alias_'s problem is that you could put an infinite loop somewhere where your grammar is still being modified. 16:01
Alias_ It's possible, but I'm assuming not by reusing the same parser as you execute with
mikemol At least, if I understand the conversation correctly.
Alias_ You can't modify grammar
Not safely
Or at least, not arbitrarily
masak is still enchanted by the fact that mentioning Alias_ by name caused him to rez and explain a bunch of stuff
PerlJam Maybe we end up with 2 Perl 6 grammars: 1 for actually parsing Perl 6 programs that are expected to work, and another for PPI-like parsing)
Alias_ PerlJam: Probably 16:02
Aborting a parse is meaningful and important when you are executing, but fatal when document reading
PerlJam yep
16:02 mj41 left
mikemol I haven't read enough of the spec to know much of anything about how grammer modding works, but I've seen at least an implication that it only happens in BEGIN blocks. 16:03
masak mikemol: having it happen later than parse-time isn't so useful :P
16:03 xinming joined
masak mikemol: but no, it can happen outside of BEGIN blocks. 16:04
mikemol I also don't know anything about PPI (or really what it does, outside this conversation), so I don't know if *anything* I say is going to make any sense...
masak mikemol: declaring a sub is essentially modifying the parser.
TimToady BEGIN blocks are a last resort, like eval
mikemol I suspect I should just be quiet and get some work done. I'm way out of my depth here. :)
masak ...and you know you're desperate if you're doing an eval in a BEGIN... :P
PerlJam mikemol: PPI is a magic parser of perl 5 programs :-) 16:05
16:05 mj41 joined
mikemol k, read through search.cpan.org/~adamk/PPI-1.215/lib/PPI.pm ... I think I undrestand now. 16:07
Definitely need to get some work done.
Woodi so, by introducing grammars Perl6 takes unparsability of Perl5 to naw Alef lvl ? :) 16:08
16:08 xinming left
Woodi *new Aleph lvl* 16:09
masak Woodi: well, it's not news that Perl 6 adds new knobs to twiddle. so, naturally it's going to be more difficult to predict what Perl 6 will be doing, that only makes sense. :)
TimToady it is certainly true that if you don't know what language you're parsing, you can't parse it, but that's not what we're aiming for 16:10
masak that was my point above.
Woodi so vim need to embed v6 engine :) +1 for me :)
masak Woodi: not "needs to", but it will be hard/impossible in the way Alias_ described if it does not. 16:11
TimToady or put a vim wrapper on the P6 parser :)
jnthn decommute &
TimToady what Perl 6 *is* trying to do is to break the notion that a file contains only a single language 16:12
so you might end up with a vim that can switch syntax tables within a file
Alias_ Which makes know which language it is you are parsing very hard
TimToady no 16:13
PerlJam Alias_: it's always a slang of Perl 6 :)
Woodi v5; ...; v6; ...;
TimToady Perl 6 always knows *exactly* what language it's parsing
Alias_ So does Perl 5...
TimToady no it absolutely doesn't
not if you include source filters 16:14
Alias_ I don't
It still doesn't know
TimToady we're including that capability while still knowing what language we're parsing
there is no two-pass parsing in Perl 6
16:15 xinming joined
Alias_ Perl 5 is undecidable already, even without source filters 16:15
TimToady only in the abstract halting problem sense
masak TimToady: do you see the need for a PPI-like "recover and continue" document parser like the one Alias_ describes, for Perl 6?
colomon masak++ # had no idea that heredocs with indentation worked properly in niecza! That was one of the things that most excited me about p6 when I learned about it (back in the pre-Pugs days...) 16:16
Alias_ If it was only an abstract problem, one of the parsers that was based on the perl 5 parser would have been useful at some point
TimToady I'm more interested in parsing new languages successfully than nailing down my language as a permanent fossil 16:17
if the new parsers are well-formed, they'll be useable to parse documents at some point 16:18
Alias_ The problem is that to have most kinds of useful tools, you need a grammar you can nail down
masak colomon: oh! I've been using heredocs in Niecza for nearly a year, I think.
Alias_ Unless we go with the "There is no source, only the running code"
masak with indentation.
Alias_ But that family of languages never seem to get much uptake 16:19
16:19 kmwallio joined
TimToady it's not high on my priority list to parse the garbage after a parse error, but it's certainly possible to try to recognize bits and pieces in the context of what language you think you were in 16:19
masak it almost sounds like a Ph.D. project.
PerlJam masak: almost?
TimToady but I don't mind if the rest of my file loses its color when vim finds an error
Alias_ Except most Ph.D. projects don't produce useful code at the end :) 16:20
16:20 xinming left
colomon masak: as somehow with large quantities of p5 scripts which generate C++ code, the lack of indentation handling in p5's heredocs is a major factor making that code of mine look very ugly. 16:20
Alias_ TimToady: It's going to flicker back and forth between color and not
As you type...
TimToady that's a good thing
16:20 mj41 left
Alias_ That's a bold assertion 16:20
Is there any prior art?
TimToady eh? that's kinda what happens now 16:21
16:21 MayDaniel joined
masak colomon: nod. I had that problem in GGE too. 16:21
TimToady you type, vim gets confused, then it gets unconfused
16:21 xinming joined
masak colomon: it's bad because it becomes like two competing landscapes of indentation. very distracting. 16:21
Alias_ TimToady, alas I have to bail from the discussion 16:22
colomon masak: right
Alias_ Packing for flight to the USA
I'll be in San Francisco for the next two weeks
PerlJam Alias++ thanks for weighing in :)
masak Alias_: thanks for stopping by!
TimToady have a safe flight
Alias_ Thanks
It's a happily short 14 hours
masak have the appropriate amount of san fran! 16:23
Alias_ No stops, phew
PerlJam Alias_: plenty of time to work on Padre or whatever suits your fancy
:)
Alias_ PerlJam, alas, no
It's a job trial
Job of a lifetime, literally
But will involve moving to 100% microsoft stack
TimToady Perl 6 runs on mono :) 16:24
s/mono/.NET/
Alias_ Part of the reason I have to take the trial, after 4 interviews, is that there's a question about whether I'm "too embedded in Perl"
huf wut
PerlJam Alias_: good luck!
TimToady have the appropriate amount of fun 16:25
Alias_ huf: Moving from a language and community I have some standing and social networks in, to one I'm unknown and starting from scratch
:)
So doing Perl stuff and talking about it much during this trip too much is probably not a good thing
I won't break out the Perl till AFTER I have the job :)
PerlJam Alias_: blow the interviewers away and have fun doing it :)
Alias_ later all
masak Alias_: good luck!
wow, that was great. how about we invite more golen-era people to the channel and interview them? :D 16:26
TimToady can I finally start backlogging now? <pant> <pant>
masak I think I could mention half a dozen interesting people from the Pugs days that it would be cool to have back on the channel. 16:27
if only for a few minutes.
TimToady well, we don't want to turn into a museum quite yet :)
masak I'm not talking about wax figures, I'm talking about people who used to be active and who are probably still bubbling with energy and good ideas. 16:28
only elsewhere.
PerlJam I haven't seen audrey in a while. :)
TimToady shes in the backlog via dalek :)
masak PerlJam: she made commits only a few hours ago... :)
PerlJam not quite the same 16:29
masak of course not.
she was around a bit in late 2010, according to the logs. 16:31
TimToady needs to write a talk about developing a language when your raw materials are hares, tortoises, Achilles, and Zeno. :)
tadzik moritz: no, it's not. I'll add a test and look at it todaymorrow
masak TimToady: haha
TimToady: now you *have to*. :) 16:32
16:32 PacoAir_ joined, PacoAir left, PacoAir_ is now known as PacoAir
PerlJam TimToady: sounds like a Hofstadter rip-off though 16:32
TimToady we need to find a way of making each development step to 6.0 take half as long as the previous one :) 16:33
more realistically, taking the long view, we just label something 6.0, and then with each regular release after that we reduce the need for 7.0 by half. :) 16:35
masak PerlJam: any sufficiently self-referent memetics is indistinguishable from a Hofstadter rip-off.
TimToady you can say that again!
that goes without saying!
PerlJam masak++
16:36 PacoAir_ joined 16:37 PacoAir_ left, PacoAir_ joined, PacoAir left, PacoAir_ is now known as PacoAir
TimToady well, Hofstadter was so complete that it's now all Hofstadter rip-offs, and all we can do now is put in different jokes 16:37
16:37 MayDaniel left 16:38 snearch joined
masak they all become part of the Strange Vortex. 16:40
TimToady fershure, Perl 6 is rather strange loopy, which bugs people who want to nail it down to being one thing :)
16:41 am0c left
mikemol It's possible that Perl 6 will take the need for coding conventions to a new level. 16:41
TimToady there's always hope :) 16:42
but also the ability to predeclare coding conventions is built in!
mikemol That'd be a nice feature to see in a demo. 16:43
TimToady use NailDownMyLanguageLikeAFloppingFish;
16:43 simcop2387 left
masak I've come to see Perl 6, in the abstract, as two interlocking strange loops: the grammar, and the MOP. 16:43
TimToady and you'll note we try to keep those as far apart from each other as possible 16:44
masak we do?
TimToady certainly
masak sometimes we put pmichaud and jnthn in the same room... :P
TimToady the grammar is lexically defined, and the MOP is off in single-dispatch land
and we try to keep lexical things like multi subs far, far away from single dispatch things 16:45
16:45 simcop2387 joined
TimToady we've been detangling those for years 16:45
Woodi think that "learning new programming language" is kind of obsolote for someone actually knowing one programming language. this relaxes somehowe need of picking only one of Perl5 or Perl6... 16:46
16:46 kaare_ joined
TimToady the question is whether Humpty Dumpty's language was different because of the lexical scope he was in, or because HD's metaobject was the master, that's all... 16:47
mikemol Woodi: I think a presumption of actually knowing a non-trivial programming language is likely an example of hubris.
That said, TimToady once identified hubris as a useful property of a programmer.
TimToady laziness, impatience, hubris only work when applied with industry, patience, and humility :) 16:48
moritz :-)
colomon sure... if it weren't for hubris, most of us with experience would have to run away screaming from any significant-sized programming project... ;) 16:49
Woodi they say that learning programming is hard becouse you need to control syntax, concepts like algoritms or objects with all theory below and other things in the same time...
TimToady industry == hare, patience == tortoise, humility == er, Achilles :)
Woodi but when someone know concepts then he can "easy" learn or just understand other language.... 16:50
TimToady and most of computer science education is tricking people into teaching themselves the concepts by revealing the surface syntax of a language and letting them grope towards the truth 16:52
there are exceptions of course, but they're exceptional
arnsholt Indeed. Doing it the proper way is so damn hard!
PerlJam TimToady: that is probably the most accurate description of computer science I have ever seen. 16:53
jnthn home
Woodi had lectures from C then C++ then Java then Mono...
err, C# :)
16:54 orafu left
Woodi all courses include 'if's and 'while' what was wasting time... 16:54
Woodi point is to do not scary new incomers to much :) 16:55
TimToady: humility == Achilles ? :)
TimToady sure, Achilles is humble *after* he had hubris :)
16:56 wtw left
TimToady at least, that's how it tends to work out in GEB 16:56
16:56 orafu joined
TimToady but that's why I added an "er," after all 16:56
Woodi i must re-learn story about hare and turtle to start parse :) 16:57
TimToady you can either watch the cartoon about them, or just read GEB if you're in too much of a hurry 16:58
masak I think you can parse it without knowing the story. you just can't assign values to the terms. :P
masak decommutes
TimToady watch out for those unmatched brackets though
Woodi understood that laziness and rest are "goals" :) 17:00
or wishes :)
TimToady they are ideals that push us out of the zone of always doing it the same way we did before 17:01
mikemol Woodi: You've got me thinking, now, about how best to demonstrate that knowing one or three useful langauges reasonably well won't necessarily make picking up a particular additional useful language.
Best case I can think of is suggesting poking declarative languages like SQL or PROLOG.
(Coming, as you do, from C, C++, C# and Java) 17:02
TimToady or Haskell, arguably :)
Woodi mikemol: first, I was saying about C-like. moving to Lisp like or other group is ofc harder 17:03
TimToady in Haskell you have to declare when you're doing something non-declarative :)
Woodi and I ommit preferences like sigils or tabs :)
TimToady linguistically, I translate that to "Do I want my language to enforce noun markers, or require everything to be written as an outline?" 17:04
Woodi however knowing concepts helps everywhere
mikemol TimToady: I thought of Haskell as a language to throw at people talking about language skill portability, but it seemed a softball if tossed to someone near Perl 6. 17:11
mikemol recalls the blog posts demonstrating translating Haskell syntax to Perl 6 syntax.
moritz TimToady: any objections to speccing a method form of make()? 17:12
that is, Match.make
see the discussion starting at irclog.perlgeek.de/perl6/2012-02-03#i_5094252 for the rationale
17:13 etneg joined
TimToady still haven't started backlogging <sniff> 17:13
etneg so did rakudo finalise on the logo yet?
17:13 chee is now known as Chee
etneg i know its been awhile but just wondering 17:13
looking at the rakudo site, it's still that old chinese thing up there
TimToady rakudo has had a logo for longer than Perl 6 17:14
moritz I don't think we've made any decisions on the logo
etneg no?
would you be interested?
i had sumitted designs before like a yr ago but then that was all on paper
moritz I dimly recall them, yes
etneg ye it was at a time i didnt know graphics, i think im ready to take on rakudo now:D 17:15
TimToady maybe you should work one up for niecza :)
etneg whats that
sure
moritz that's a new perl 6 compiler based on the CLR/mono
17:15 Chee is now known as chee
etneg do you want one for that as well? 17:15
moritz niecza: say "hi, it's me!"
p6eval niecza v13-389-g852f0ff: OUTPUT«hi, it's me!␤»
etneg i could do both if you want
moritz well, that's really sorear's decision, he's the main niecza author 17:16
and as for the rakudo logo, it's mostly pmichaud's decision
etneg ah k
TimToady this is a volunteer organization; we can't stop you from doing it, and we can't make other people accept what you do :)
moritz but if we like it better than what we have now, we'll take it :-) 17:17
etneg right right but no point in doing it if there's no need for it, so best clarifying it first is a rational approach:D
k
i'll put together aa a few concepts then
for niecza right?
TimToady at the moment niecza is more "in need" of a logo, in the sense that it doesn't have one yet
etneg ok 17:18
do you prefer a wordmark or an image?
or web2.0?
moritz now we need sorear :-)
17:18 icwiener left
etneg is there a meaning to niecza? 17:18
all im seeing is a bunch of xtian stuff regarding the word " niecza" 17:19
or we could wait till sorear is present:D 17:21
moritz etneg: irclog.perlgeek.de/perl6/2010-06-30#i_2498653 17:22
seems like we tried something czech, but didn't quite succeed :-)
czech for "we don't have time" 17:23
which alludes to the goal of making niecza a *fast* Perl 6 compiler
TimToady: anyway, I'm speccing Match.make now, forgiveness > permission 17:24
araujo so busy right now .... but ....
dalek ecs: 3154497 | moritz++ | S05-regex.pod:
spec method form of &make

the sub form just looks up whatever $/ it finds, which makes it unnecessary hard to work with multiple match objects at once, for example when doing regex matches in action methods
etneg moritz: so it means " we have no time"
heh
araujo who is in charge of pugs atm?, who should I contact?
etneg right
thats a tough one
tadzik araujo: try ingy, he was trying to resurrect it some time ago
etneg swirls to denote motion, followed by a nice typography of niecza comes to mind 17:25
araujo tadzik, all right, thanks
TimToady most of the letters in niecza look like swirls already
z is obviously a barred spiral galaxy 17:26
etneg oh so the typography would have to use characters like polish, etc? 17:28
TimToady e and a are nearly rotationally symmetrical
etneg ah i see what you mean 17:30
but that would still depend on the font
something like a sans serif font, easier to tweak to make the letters have some sort of motion 17:31
fasad hi #perl6 !
dalek kudo/nom: 6a17a5e | moritz++ | src/core/Match.pm:
implement Match.make
17:32
ast: 9a4df2d | moritz++ | S05-grammar/action-stubs.t:
implement Match.make
moritz argh, s/implement/test/
fasad can someone define 'documentation'? #as it applies to a programming language 17:33
etneg i'll see what i can come up with 17:34
see you guys in a bit, tx moritz , TimToady
moritz fasad: it's a bunch of media (text, possibly images, videos, ...) that you read to understand the language
s/read/consume/
fasad hmm... but... ok, define 'official documentation' :) 17:36
TimToady documentation that is supposed to be correct because it comes from the people who ought to know that :) 17:37
moritz it's the documentation that we've decided to call "official"
fasad: a better explanation would probably "like perl 5's *.pod files" 17:38
which comes with a mixture of tutorials and references
17:39 alvis joined
moritz for example perlretut is an introduction to regexes and how to use them, while perlre describes the various regex features in detail 17:39
fasad what about the writing style? here's is my understanding: tut's can have humour, informal writing style; while references are dry, to the point, have only one example for each point, comprehensive, and not dumbed down 17:46
s/here's/here 17:47
moritz mostly yes (though I don't necessarily agree with the "only one example")
feedback from the users will show which docs need more examples
fasad plus, tut's can have some kind of ownership, each author may have his own writing style & wud not like it being touched; while references are neutral so no kind of ownership 17:50
*would
moritz we usually operate under the assumption that the community will maintain all the docs eventually 17:51
so if the original author isn't around anymore, we'll continue to use and develop his stuff, even if he feels it violates his style :-) 17:52
17:52 kaleem joined 17:53 kaleem left
TimToady I prefer to put jokes into reference material :) 17:53
17:54 flussence joined
fasad one more thing, IMO reference material does not give you any advie on programming practice, (it treats everything equally), except security advice maybe 17:56
fasad afk
18:01 flussence left 18:02 flussence joined
[Coke] b: say 19593 - 19489 # 02/03/2012 - niecza at 99.46% 18:06
p6eval b 1b7dd1: OUTPUT«104␤»
18:06 phenny left
[Coke] no change in last 2 days. at all. 18:07
moritz [Coke]: I've just pushed a test that passes on rakudo (but not niecza) :-) 18:08
jnthn 105 :)
jnthn had a quick nap and now seems to have a little energy again :) 18:09
colomon moritz: :p 18:11
moritz colomon: but it was kinda cheating, because I just invented, specced and implemented that feature :-)
colomon yes, I know
you really shouldn't tempt me that way. ;)
dalek ast: 06bfb6e | moritz++ | S10-packages/joined-namespaces.t:
RT #71260, calling methods on packages that are autovivified by declaring multi-joined classes
18:13
moritz niecza: sub f() { for ^1 { } }; say f 18:15
p6eval niecza v13-389-g852f0ff: OUTPUT«Nil␤» 18:16
moritz niecza: sub f() { for ^1 { } }; say ~f
p6eval niecza v13-389-g852f0ff: OUTPUT«␤»
dalek ast: 8b33523 | moritz++ | S04-statements/for.t:
RT #71270, simple case of list comprehension
18:17
moritz std: @_ 18:18
p6eval std 48335fc: OUTPUT«===SORRY!===␤Placeholder variable @_ may not be used outside of a block at /tmp/OTOtLaDkwY line 1:␤------> <BOL>⏏@_␤Check failed␤FAILED 00:01 108m␤»
dalek ast: d5ac5a6 | moritz++ | S32-exceptions/misc.t:
RT #73502, @_ in the mainline
18:19
18:20 bluescreen10 left, bluescreen10 joined
dalek p/bs: d8b49c3 | jnthn++ | t/serialization/02-types.t:
Test for serializing a P6opaque/knowhow based type with native attrs; also tests serializing NQPAttribute.
18:22
p/bs: 6880263 | jnthn++ | src/6model/serialization.c:
Hack to handle Undef, which we didn't yet kill in NQP.
ast: ed9af51 | moritz++ | S32-basics/warn.t:
RT #73768, ~Any should warn
TimToady split /<at(1)>/ strikes me as a really lousy way to pull off the first character unless the optimizer is really clever about not checking <at(1)> over the whole rest of the string
etneg ok 18:23
TimToady moritz i44.tinypic.com/10i808y.png
let me know what you think, just a quick wordmark logo
brb
moritz likes the middle one 18:24
std: my $A::b
p6eval std 48335fc: OUTPUT«ok 00:01 108m␤»
moritz TimToady: should that die?
TimToady something a little strange about the vertical kerning
moritz putting something in a namespace in a *lexical* declaration feels wrong 18:25
TimToady global packages are assumed to exist, but you can't really know it till link time
oh, the my
it's declaring a lexically-scoped A package, I think 18:26
jnthn Yeah, that'd be consistent with my class A::B { ... }
TimToady std: my $A::b; UNIT::<$A::b>
p6eval std 48335fc: OUTPUT«===SORRY!===␤Variable UNIT::<$A::b> is not predeclared at /tmp/C5TS1BWP1w line 1:␤------> my $A::b; ⏏UNIT::<$A::b>␤Check failed␤FAILED 00:01 109m␤»
moritz nom: my $A::b = 3; say $A::b
p6eval nom 6a17a5: OUTPUT«3␤»
jnthn nom: { my class A::B { }; }; say A::B 18:27
p6eval nom 6a17a5: OUTPUT«Could not find symbol 'A::&B'␤ in block <anon> at /tmp/PDM1xTnclk:1␤ in <anon> at /tmp/PDM1xTnclk:1␤»
moritz nom: { my $A::b = 3;}; say $A::b
p6eval nom 6a17a5: OUTPUT«3␤»
jnthn Er.
moritz seems not so lexical to me :-)
TimToady niecza: { my $A::b = 3;}; say $A::b
p6eval niecza v13-389-g852f0ff: OUTPUT«===SORRY!===␤␤:: syntax is only valid when referencing variables, not when defining them. at /tmp/dM3zOtex33 line 1:␤------> { my $A::b ⏏= 3;}; say $A::b␤␤Potential difficulties:␤ $b is declared but not used at /tmp/…
jnthn Yes, I was rather surprised that it did anything, given I didn't remember implementing it :)
moritz ah, niecza++ forbids it outright 18:28
+1 to that
TimToady I'm quite sure STD is not declaring a global package
moritz because it's really monkey-patching into another package
TimToady std: my $A::b; my UNIT::A $foo; 18:29
p6eval std 48335fc: OUTPUT«===SORRY!===␤Malformed my at /tmp/3ujpFolPOL line 1:␤------> my $A::b; my UNIT::⏏A $foo;␤ expecting indirect name␤Parse failed␤FAILED 00:01 108m␤»
TimToady hmm
18:30 MayDaniel joined
TimToady std: my $A::b; UNIT::A 18:30
p6eval std 48335fc: OUTPUT«===SORRY!===␤Undeclared name:␤ 'UNIT::A' used at line 1␤Check failed␤FAILED 00:01 109m␤»
TimToady maybe it broke somewhere 18:31
std: my $A::b; UNIT::A::{'$b'} 18:32
p6eval std 48335fc: OUTPUT«===SORRY!===␤Variable UNIT::A::{'$b'} is not predeclared at /tmp/eLv8FTbvGw line 1:␤------> my $A::b; ⏏UNIT::A::{'$b'}␤Check failed␤FAILED 00:01 110m␤»
TimToady std: my $A::b; A::{'$b'}
p6eval std 48335fc: OUTPUT«ok 00:01 109m␤»
TimToady std: my $A::b; GLOBAL::A::{'$b'} 18:33
p6eval std 48335fc: OUTPUT«===SORRY!===␤Undeclared name:␤ 'GLOBAL::A::' used at line 1␤Check failed␤FAILED 00:01 110m␤»
TimToady not there either :)
std: my $A::b; MY::A::{'$b'}
p6eval std 48335fc: OUTPUT«===SORRY!===␤Variable MY::A::{'$b'} is not predeclared at /tmp/FCiO7HCKHp line 1:␤------> my $A::b; ⏏MY::A::{'$b'}␤Check failed␤FAILED 00:01 110m␤»
TimToady well, enough spamming
18:35 Chillance joined
dalek ast: 87f3d51 | moritz++ | S04-statements/for.t:
RT #74060, statment modifying "for" in list comprehension
18:35
ast: 3ee43f2 | moritz++ | S04-statements/for.t:
fix logic error in previous commit. Ooops.
18:37
moritz perl6: nextsame 18:38
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&nextsame"␤ at /tmp/eSZC1PVReq line 1, column 1 - line 2, column 1␤»
..rakudo 6a17a5: OUTPUT«No dispatcher in scope␤ in block <anon> at /tmp/reQP4BwVdY:1␤ in <anon> at /tmp/reQP4BwVdY:1␤»
..niecza v13-389-g852f0ff: OUTPUT«Unhandled exception: Illegal control operator: nextsame/nextwith␤ at /home/p6eval/niecza/lib/CORE.setting line 1375 (nextsame @ 3) ␤ at /tmp/a9QUNEEpCt line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3606 (ANON @ 3) ␤ at /home/p6e…
TimToady rakudo's error is the most awesomest 18:39
moritz aye
TimToady though could mention 'nextsame' specifically
something a bit odd about saying a dispatcher can be 'in scope', when it's more like 'in surrounding scope' 18:41
"scope" is one of those overloaded words we use to look two different directions 18:42
in the other sense, the dispatcher is *outside* the scope
jnthn handwaves :)
TimToady "nextsame is not in the dynamic scope of a dispatcher"
I'm only being picky because it's so close to awesome :) 18:43
it's just a really good thing when error messages can actually teach you to think of it precisely without being irritating 18:44
jnthn suddently gets a terrible feeling of uncertainty over whether nextsame in Rakudo is looking along the dynamic or static chain.
TimToady but if you can't have both, it's better to be irritating and precise 18:45
jnthn will look once he gets the re-calculation of P6opaque layouts on deserialization sorted out...
TimToady I think it wouldn't work at all if it were static :) 18:46
by definition you call a dispatcher which calls something else
jnthn oh, huh, my code compiled *and* passed the tests the first time and I didn't even have any beer yet today...
moritz jnthn: that means it has only one nasty bug hidden deep inside that we'll spend weeks debugging in about half a year :-) 18:47
jnthn \o/
:P
Sorry for coding before beer :P
dalek p/bs: 5a69d3e | jnthn++ | src/6model/reprs/P6opaque.c:
Recalculate various bits of P6opaque's layout data on deserialization. This fills in all the missing gaps, and means we should have no problem when we serialized on a machine with one word size and deserialize on one with another. Hopefully. :-)
18:48
etneg back 18:49
moritz: so the middle one? 18:50
moritz etneg: IMHO yes, but remember that it's sorear's opinion that counts
etneg oh ye ill do more
jnthn TimToady: Ah, phew: /* Follow dynamic chain. */
:)
dalek ast: e296115 | moritz++ | S06-multi/positional-vs-named.t:
RT #78738, dispatch of multis with empty and with mandatory named params
etneg whatswrong with the one on the left on the dark bg?
moritz nothing, I just don't like it as much 18:51
etneg ah ok
well the left and the bottom is for the same logo just in different schemes 18:52
18:52 tarch left, Chillance left
etneg some people like a b&w for print only and so forth 18:52
18:53 Chillance joined
etneg returns to the drawing board 18:53
TimToady moritz: if you want to be an aesthetic critic, you have to be able to say why you don't like something :)
etneg heh
moritz TimToady: I don't want to be one; I'm just thrown into that role by being asked for my opinion :-)
TimToady I don't like the upper case, I don't like the difference in whitespace above and below, and I don't really like the angles at the ends
moritz why? :-) 18:54
TimToady the reason I don't like the uppercase is that it's always lower here :)
etneg ah
moritz perl6: sub ($a? is rw) { }
p6eval niecza v13-389-g852f0ff: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/9qlLK9lbWI line 1:␤------> sub (⏏$a? is rw) { }␤␤»
..rakudo 6a17a5: OUTPUT«===SORRY!===␤Cannot use 'is rw' on an optional parameter␤»
..pugs b927740: ( no output )
18:54 japhb_ left
TimToady and it looks too much like a TRADEMARK® 18:54
moritz perl6: sub (*@a is rw) { }
p6eval niecza v13-389-g852f0ff: OUTPUT«Potential difficulties:␤ @a is declared but not used at /tmp/vu3JCjEiy6 line 1:␤------> sub (*⏏@a is rw) { }␤␤»
..pugs b927740, rakudo 6a17a5: ( no output )
etneg well thats what im aiming for, trademark is unique
logos fit into that scheme of things 18:55
TimToady the difference in whitespace sets off my bad-kerning neurons
etneg there's kerning issues?
TimToady vertical
moritz so according to rakudo, optional params cannot be rw-ed, but slurpy ones can?
etneg where exactly
TimToady the top swash is closer than the bottom
that's "kerning" too
etneg oh
TimToady it's just vertical kerning
etneg well i wanted the swirls to be a il different 18:56
jnthn moritz: I think the optional thing was in response to an RT. :)
etneg uniformity is boring
:P
jnthn moritz: The one you're probably about to write a test for :P
moritz jnthn: correct.
etneg only wanted it to be uniform in the sense it's perl6 and therefore the 3 on top and 3 below
moritz jnthn: I just wonder if I should throw a typed exception, and if yes, if it should generalize to other cases too
TimToady yes, but when you combine uniformity with non-uniformity in art, it has to look inevitable; this doesn't 18:57
anyway, I'd see if I can get something that flows out of the lowercase letters better than the uppercase
(that's obviously an editorial I, not a royal I :) 18:58
but don't let me speak for sorear++ 18:59
(except to the extent that I always take it upon myself to speak for everyone...) 19:00
19:01 kmwallio left
colomon moritz++ # just realized he add a fudge for niecza with his new test. :) 19:01
19:01 kmwallio joined
etneg bqack sorry had a call 19:03
i'll try with lower letters and see 19:04
19:04 raiph joined
etneg is there another context for niecza? 19:06
like does it need to say perl6 or something? 19:07
raiph phenny: tell fasad irclog.perlgeek.de/perl6/2012-02-03#i_5094173 19:09
19:10 slavik left
dalek ast: 1808a5d | moritz++ | S03-binding/scalars.t:
RT #89484, interaction between signature binding and := binding
19:11
colomon etneg: are you having trouble getting niecza running? 19:12
dalek kudo/nom: a47a56a | jnthn++ | src/ (2 files):
Improve error reporting for nextsame and friends when they are used with no dispatcher in the dynamic scope; TimToady++.
19:13
[Coke] colomon: he's making a logo.
colomon [Coke]: ah 19:14
etneg: never mind, excuse me! :)
jnthn moritz++ # down below 650 open tickets, and testneeded significantly below 100 \o/ 19:15
moritz 82 :-)
fasad is back 19:16
19:16 am0c joined
fasad raiph: so i looked at them... 19:17
raiph googled "how to use phenny" on the off chance it'd match. got "She is a chatbot - more specifically a warbot. This means that she can signal the start and end of a wordwar" 19:20
fasad heh
masak o.O 19:21
etneg colomon: no
fasad so i'm biased towards having a wiki, though not the current perl6 wiki
etneg k
:D
19:21 prammer left 19:22 prammer joined
raiph fasad: +1 19:22
dalek ast: aa6dff6 | moritz++ | S05-mass/stdrules.t:
unfudge <!> tests for rakudo
fasad raiph: Some advantagesof Wiki: 1. Is searchable, easy to edit (& gives instant post-editing result), and all the oh-so-many advantages which come with a Wiki. 19:23
2. We can have a pretty documentation, with pictures/diagrams, videos, audio, (imagine the Rakudo page having diagrams explaining its working; or the 'image processing with perl6' page...)
3. Perl6 hackers can have userpages, which enables them to have user-pages (a profile-like page), also have user-sub-pages, so every Tom, Dick & Harry dosen't need to set up a blog
4. Each page has a talk page, so can separate the discussions regarding each perl6 topic, instead of having them all on one place. e.g. the talk page for "array" can be the place for people to ask doubts related to arrays and to discuss the documentation itself 19:24
eviltwin_b didn't audrey have something to say about wikis?
fasad some disadvantages:
1. Will be open to every Tom, Dick & Harry, so chances of vandalism
moritz and spam 19:25
fasad 2. Yet another username and password to remember :( (however solutions like OpenID exist)
3. Editors will need to learn to use the Wikimarkup language. (as if learning Perl 6 (& POD6) was not enough!) (however, is there anyone hasn't edited Wikipedia at least once? ;-)
* who hasn't...
eviltwin_b waves
fasad 4. Will be hard to make an "official documentation" (however solutions do exist like protecting community-identified official 'documentaion' pages) 19:26
fasad should really make a document on his thoughts on perl6 documentation
19:27 slavik joined
moritz some points I'd like to make 19:27
fasad eviltwin_b: what did audrey have t say ?
moritz: sure
moritz 1) choice of wiki vs not wiki doesn't have any influence on whether we allow images or not 19:28
(sorry, being called away, will continue later)
fasad moritz: ok
eviltwin_b: *to 19:29
raiph fasad: when i say "wiki" i mostly mean the spirit of ward's original. wiki wiki means "quick".
fasad: i would expect us to adopt Pod 19:30
fasad: github's wiki (gollum) would let us use Pod (if we write the parser) 19:31
#perl6: am i right in saying that parsing Pod doesn't require a full Perl 6 parser? 19:32
fasad raiph: actually i'm very experienced with Wiki that's why have a bias :)
raiph: github.com/features/projects/wikis says that POD is supported
raiph fasad: POD and Pod are different
fasad is googling 19:33
eviltwin_b my network is sucking :/ 19:34
I was being snarky. "<lopbot> audreyt says: I think wiki in the original Hawaiian means "I can't find any damned thing""
fasad can't find the right keyword to google 19:36
raiph: um, whats's the difference
raiph fasad: p5 vs p6
fasad: Pod's a rewrite of POD 19:37
fasad duh,:) 19:38
fasad is reading S26
dalek p/bs: 8e4727f | jnthn++ | t/serialization/02-types.t:
Tests for creating a new instance of a deserialized type.
19:39
p/bs: 1b1ed1e | jnthn++ | src/6model/reprs/P6opaque.c:
Write barrier, Justin Case.
p/bs: 1aece91 | jnthn++ | src/6model/ (2 files):
Actually, barrier in serialization code.
p/bs: bd58479 | jnthn++ | src/6model/reprs/P6opaque.c:
Set missing sentinels.
raiph eviltwin_b: ha!
fasad raiph: yeah, i agree that not writing perl6's documentation in Pod send's out the wrong signal to the world ;-) 19:41
TimToady and not writing the wiki engine in Perl 6 is also a bit problematic that way too... 19:42
raiph right now i'm enamoured of going gollum 19:43
TimToady and obviously we just need a web-based IDE that will not allow people to think incorrect thoughts, and then it doesn't matter if you can embed Perl 6 code in the page :)
19:47 mj41 joined, birdwindupbird joined
raiph phenny: tell raiph how to speak to you so you hear him 19:49
fasad rakudo: say "phenny we miss you !"; 19:51
moritz some more points: * remember that the web is not the only way to consume docs (see: perldoc)
p6eval rakudo a47a56: OUTPUT«phenny we miss you !␤»
raiph moritz: gollum works offline as well as on 19:52
moritz * wikis are advantagous for drive-by edits, while storing stuff in a proper repo gives advantages to the core contributors. Who writes most of the docs?
raiph gollum is both 19:53
moritz raiph: I'm not arguing pro or contra gollum, just making some general points
raiph moritz: right. (and i agree with them)
moritz * one should consider (and avoid) lock-in 19:55
* linkability / nice URLs are important 19:56
fasad moritz: lock-in ? 19:57
TimToady every language is a dialect of Perl 6, so there's no lock-in possible :P 19:58
raiph fasad: the content formats and their assumptions about software to read and write them. eg if you go mediawiki, well, ug.
20:01 cognominal left
mikemol TimToady: I think you've got that reversed. :) 20:07
mikemol gets the joke 20:12
ingy hi mikemol 20:16
mikemol hi ingy. :)
Weren't you going to be driving through GRR some time back?
Also, not sure if I ever told you I got your post card. :) 20:17
raiph \o ingy
ingy mikemol: you mean my post code? 20:18
hi raiph
hi TimToady
TimToady: tell glo I made it home with little event after all that... :) 20:19
mikemol ingy: Wasn't it you who sent me a post card? I got one...thought I remembered it as being from you.
ingy it was a post *code*!
mikemol The written portion began with "use RosettaCode;"
ah
-.-
ingy from Oz
mikemol har har.
ingy iirc :)
mikemol is terribly slow on the uptake today. 20:20
ingy mikemol: you need to step up your uptake when TimToady's around!
mikemol Not sure he's finished backlogging yet. 20:21
TimToady I'm sure he's not...
ingy XD
raiph ingy: a couple of us (fasad and I) are playing with the idea of cooking goulash with P6 docs
20:21 phenny joined
raiph ingy: i like github's gollum. and using Pod. what about kwid? 20:22
ingy raiph: invite me to dinner
raiph: hmm.
araujo hi ingy , I was told you are current Pugs maintainer ... how true is that? ;)
ingy muhahaha
raiph bbi5
20:23 bluescreen10 left
ingy not really so true but I'd wear that hat for a bit if needed 20:23
20:23 MayDaniel left
ingy raiph: I have a todo to add *kwim* support to github. 20:23
TimToady
.oO(kill what I mean)
20:24
araujo ingy, well, just wanted to know current status of the project, and if you have some web link around for it
ingy github.com/perl6/Pugs.hs
20:24 mtk left
ingy :) 20:25
Merge branch 'master' into perl6
commit 08f0e5052c
audreyt authored about 6 hours ago
nice
20:26 mtk joined
ingy audreyt**ఴ 20:27
er
audreyt**τ 20:28
:D
20:33 birdwindupbird left 20:34 birdwindupbird joined 20:35 bluescreen10 joined
araujo ingy, yeah I saw the update :P 20:41
ingy raiph: kwim (know what I mean/Kwiki Markup) is my idea to take the best of the Socialtext Markup (previously maintained by me, currently maintained by audreyt), Kwid and other. It will be defined by a *model* rather than a syntax. The model of focus is close to the model of html that you can create inside a gmail editor richtext mode.
20:42 pochi_ left
raiph ingy: not important, but is it wikicreole 1 or 2 compat? 20:42
ingy: dumb q. model, not syntax 20:43
20:46 pochi joined 20:47 icwiener joined, icwiener left, icwiener joined 20:51 cooper left, zby_home_ left 20:52 cooper joined 20:56 pmurias joined 20:59 cooper left 21:01 chee left 21:05 GlitchMr left, am0c left
sorear good * #perl6 21:07
colomon o/ 21:08
sorear looks like a lot of stuff for me in backlog
21:09 jaldhar left
sorear 05:38 * masak dreams of the day when the Rakudo/Niecza optimizers take code written as junctions and turns it into something that runs fast 21:10
masak: I thought about that once, but it turns out junctions are the fastest way to write quite a few things, so it wouldn't be an optimization :D 21:11
masak: re. "significantly faster" - my best guess is JIT-cache involvement in Mono 21:13
21:14 erana_ left 21:28 kmwallio left
sorear etneg: I like the middle one best too, but I'm interested to see what becomes of TimToady's concerns. 21:30
Also, I need somewhere to put it. :D
21:31 am0c joined 21:34 birdwindupbird left 21:36 snearch left
etneg sorear: uploading 21:40
i39.tinypic.com/10p9d9e.png 21:42
masak sorear: what about something like 'return if any(@stuff) == any(@things)', which should really desugar to nested for loops which return ahead of time if equality is found, rather than run to completion? 21:44
dalek kudo/stdinit: ae89311 | jnthn++ | src/Perl6/Grammar.pm:
Align variable_declarator more closely with STDs.
21:47
kudo/stdinit: f57e879 | jnthn++ | src/Perl6/Grammar.pm:
Align 'scoped' more closely with STD.
kudo/stdinit: 00ffb42 | jnthn++ | src/Perl6/ (2 files):
Replace $*TYPENAME with $*OFTYPE, to match STD's naming/scoping of it.
kudo/stdinit: a2aef0e | jnthn++ | src/Perl6/Actions.pm:
Sync declarator action method with grammar change.
masak read that last commit message as "hot declarator action!" 21:49
jnthn o.O 21:50
sorear masak: :D actually that should use a hash table and .Numeric 21:52
masak sorear: I realized that after hitting Enter... :)
my point remains. sometimes it's possible to rewrite junctive expressions into more efficient for loops. 21:53
21:56 tarch joined
jnthn std: constant $x .= foo(); 21:56
p6eval std 48335fc: OUTPUT«ok 00:01 108m␤»
jnthn TimToady: Was allowing .= for constant intentional when doing the initializer changes? 21:57
(before we only allowed assignment to follow) 21:58
21:58 cooper joined
etneg TimToady, moritz sorear let me know what you think 21:58
sorear I think it looks a little too much like the MSDN logo. 22:01
etneg no way! 22:02
because they used a circular halftone ?
22:03 kaare_ left
etneg if you think its similar to _you_ well then i cant argue that.i'll put together something else 22:04
before i proceed for another concept, what do you have in mind? abstract? or do you have a concept in mind that you want portrayed in the logo? 22:05
cause right now im just randomly doing this just based on the fact it's a
c"compiler" and is called niecza
more context would help so i can go in that direction 22:08
masak ingy: wasn't kwid already defined by a model rather than by syntax?
etneg: I liked your first one a lot more than this iteration. far too much stuff going on in this one. 22:09
etneg masak: ah ok 22:10
sorear MSDN logo is a deformed surface in 3-space with a multicolored circular halftone, accompanied by a lettertype
masak etneg: here's some random inspiration :) gist.github.com/1733148
do with it what you like. 22:11
etneg masak: i'll look into that idea of yours as well
masak \o/
etneg the MSDN logo has a halftone, thats all is the similarity, there are zillion logos that use a halftone and also the illusion of 3d in the MSDN logo is sort of warped but thats my opiion of it 22:12
but what would you like as a concept?
masak I know! a green Sonic the hedgehog!
(because Niecza is pretty fast)
etneg so a mascot then? 22:13
masak I'm... reluctant to suggest a mascot for Niecza. because if it got one, Rakudo really wouldn't have any chance anymore :)
people would just flock around the implementation with the cute mascot.
22:14 icwiener left
flussence I dunno, Chrome's doing pretty well with just a beachball 22:14
sorear and it's not even the beachball mascot from Dark Star
masak beachballs work quite well with Google's kindergarten color scheme. 22:15
Niecza is any of the following things: a flash, a spaceship, a raygun, a ninja, a tornado. 22:16
masak .oO( or just a spaceship full of raygun-carrying ninjas in a tornado thunderstorm ) 22:17
flussence a spinning beachball! (oh wait, that's not a very good choice...)
masak :)
etneg maybe you guys can put together concepts you like and mail it over? 22:19
22:21 skids left
sorear my earlier comment stands - a logo is not much use unless I can stick it on a website, and I haven't come up with enough content for a website yet 22:24
etneg ok
masak etneg++ # thinking about Niecza logo 22:25
22:27 raiph left
etneg wont be needing one for awhile till the site is up, makes sense though:D 22:27
dalek kudo/stdinit: 571fb1e | jnthn++ | src/Perl6/Grammar.pm:
Add new initializer tokens to the grammar; not using them anywhere yet.
22:35
kudo/stdinit: 9257ce9 | jnthn++ | src/Perl6/ (2 files):
Start updating constant declarator to use <initializer>; add various initializer action methods.
jnthn That'll do for today. :) 22:36
22:43 ashleydev left
masak jnthn++ 22:46
blog post! \o/ strangelyconsistent.org/blog/t1-exp...four-nines 22:49
it is *on*.
y'all can thank moritz++ for the t1 blog post appearing as swiftly as it has. I've been far too busy with $dayjob and stuff, but moritz has been diligently working in the background, benchmarking programs, writing test harnessi and crafting reviews. 22:50
in a similar vein, the t2 post should be appearing in just a few days. 22:51
etneg masak: ah the concept you sent was the direction i was going for 22:52
trying to squeeze in "perl 6" or just something symbolizing "6" and niecza
22:52 bluescreen10 left
masak etneg: the butterfly symbolizes Perl 6, if that helps. 22:52
but really, don't try to cram too much into the logo. 22:53
etneg yes but i didnt wanna incorporate that into niecza because i dont know the licence for the perl6 logo
infact the last one with the halftone, the idea for the multicolored was t use the colors from the butterfly
but i used random colors in total 6 just for the time being
i guessi'll keep up with niecza's development and when the site is up i guess we could work out something 22:55
22:56 ashleydev joined
felher moritz++ , masak++ # for all the great p6cc work and latest blogpost :) 23:00
23:09 bluescreen10 joined 23:11 pmurias left 23:12 pmurias joined
TimToady moritz: why does a search of the irclog for 'div' return nothing? 23:19
(I recall someone asking if 'div' was okay, and getting a positive answer...) 23:21
23:28 whiteknight joined
masak TimToady: ISTR three-letter words or shorter are simply ignored. don't ask me why. 23:29
TimToady that would explain why I couldn't find GTK earlier either :/ 23:34
the feedback is LTA
23:34 skids joined
jnthn Well, yeah...it doesn't know what LTA is either :P 23:35
TimToady and it should really throw out frequent words, not short words
unfortunately LTA is a bit frequent too :) 23:36
23:36 tarch left 23:46 mj41 left 23:52 am0c left
masak it should just search for all words entered, with no silent eliminations. 23:55