»ö« 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.
dalek blets: 3f82744 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
repair unicode file
02:39
colomon sorear: out there? 02:42
sorear colomon: hi 02:57
colomon sorear: no worries, I figured it out
bizarre error message, but my stupid 02:58
moritz \o 05:31
sorear o/
moritz what's the name of the thing that a database query returns? 05:42
it's not a table, because it's ordered
dalek Iish: fa853a9 | moritz++ | lib/DBDish/SQLite.pm6:
[sqlite] remove unspecific code from backend
05:46
moritz ah, ResultSet probably 05:47
jnthn morning, #perl6 07:37
frettled apparently it is! \o/ 07:41
sorear o/
moritz 'o 07:49
sorear: what would be the best approach to get databases running under niecza? 07:50
sorear: something like DBIish for niecza
sorear I guess indirecting through CLR 07:51
moritz is there some kind of module/package installing infrastructure for mono? 07:54
tadzik oh skark 08:25
bah, mornings--
moritz shark it's tadzik!
jnthn wasn't happy to find the morning had arrived either 08:28
Moar sleep woulda been nice :)
moritz aye
dalek osystem: 5ed4b81 | moritz++ | META.list:
add DBIish
08:33
moritz just added the 100ths module to that list
tadzik \o 08:35
time to run smoketests
moritz note that DBIish currently needs a branch of both nqp and zavolaj
tadzik ach
arnsholt But I suppose we could merge that branch 08:36
moritz ie test failures with an out-of-the-box rakudo are to be expected
arnsholt: please do
arnsholt First of all, I was holding off for a bit of independent verification that my code wasn't broken in some obvious way 08:36
tadzik moritz: do DBIish tests rely on DBDish backends?
moritz tadzik: yes 08:37
tadzik ack
we do need some cool mechanism for those
moritz tadzik: over time I want to make them more robust, so that unavailable dbs simply skip their tests
tadzik would be cool, yes 08:38
arnsholt I suppose we could at least provide a mechanism via the dyncall ops to try to load a lib and die if loading fails 08:41
jnthn suggests adding an extra op 08:43
And then a sub in NativeCall
arnsholt Yeah, that's what I was thinking too 08:45
arnsholt I just have to figure out how to add an op to nqp_dyncall.ops 08:45
arnsholt (I'd like to add a write-barrier op as well, to handle creepy action at a distance changes to C storage) 08:46
jnthn arnsholt: Edit the .ops file, inline op nqp_dyncall_can_load(out INT, in STR) { ... } 08:46
Something like that. 08:47
arnsholt Yeah, that looks familiar
moritz fwiw I don't even know if I need such an up 08:49
*op
I'll just do try { DBIish.connect(...); CATCH { skip "No DB connection: $!" , $number; exit }} 08:50
jnthn I suspect it's useful for implemetning the .bundle vs .dylib stuff, and good to have for other bits.
moritz yes, agreed
arnsholt Yeah, there's that as well
moritz just sayin' I'm not blocking on it
tadzik duh, panda suffers the same problem as URI, non-deterministic precompilation :/ 08:51
moritz :( 08:52
dalek volaj: 16af23b | moritz++ | README.markdown:
fix typo
rlito: ebce10f | (Flavio S. Glock)++ | / (5 files):
Perlito5 - parser: add __END__, __DATA__
moritz arnsholt, jnthn: should I delete examples/sqlite3.p6 (which segfaults), and instead point to working DBIish driver(s)? 08:55
from zavolaj, that is
jnthn moritz: yes 08:56
dalek volaj: d9250b0 | moritz++ | / (2 files):
remove segfaulting sqlite example, point to working DBDish/*.pm6 modules instead
08:59
jnthn -> office, bbl 09:06
jaffa4 hi
How do you debug perl 6 programs?
tadzik with say(), usually :)
tadzik and Grammar::Tracer for grammars 09:06
jaffa4 that is so archaic.
tadzik yes 09:07
moritz jnthn: you are welcome to contribute a proper debugger
erm, meant jaffa4
though jnthn is of course welcome too :-)
jaffa4 jnthn: please write us a debugger
moritz jaffa4: please write us a debugger 09:08
jaffa4 Is there support for tracing, brackpoints? 09:11
brack=> brakepoint
breakpoints
arnsholt There might be a Parrot-level debugger, but nothing on the Perl 6 level for Rakudo AFAIK 09:12
jaffa4 WHat about niecza?
arnsholt Dunno. Never used it 09:13
Probably some kind of Mono debugger at least
jaffa4 I guess then some kind of debugging should be inserted into generated bytecode 09:14
dalek rlito: b9c058b | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - parser: add TODO; considering whether to implement indirect object notation
09:20
dalek rlito: 486148a | (Flavio S. Glock)++ | / (3 files):
Perlito5 - parser: simplify internal expression data structure
09:40
jaffa4 moritz: What is the state of Perl 6 in your opinion? 09:48
moritz jaffa4: evolving. Fun to use for early adopters. 09:49
dalek rlito: 1dd6050 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - parser: be more strict
10:06
dalek rlito: 88914e1 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
12:23
kudo/nom: 1972721 | moritz++ | src/core/Backtrace.pm:
warnings should include line numbers from user-space programs, not from the setting
12:26
[Coke] yawns. 12:31
dalek ast: d9f7caa | moritz++ | / (2 files):
RT #112724, line numbers from warnings
12:35
jaffa4 Coke: are you bored? 12:46
[Coke] jaffa4: tired. 12:47
masak moritz: irclog.perlgeek.de/perl6/today gives an error message on IE9. "TypeError: Object doesn't support property or method 'hide'" 12:49
moritz masak: eeks
JimmyZ is tired too
moritz masak: works here on IE 9.0.6 12:50
oh, maybe I have js disabled 12:51
masak maybe. 12:52
which is a wise thing to do, no doubt.
estrai is there a way to open/readir in rakudo? 12:52
moritz estrai: dir() lists all entries of a directory
masak IE 9.0.8112.16421 here. 12:53
moritz estrai: lazy lists make explicit iteration over directories unnecessary
masak is tired, but less so than yesterday 12:55
estrai moritz: thanks, that worked, is there a way to use it with a glob?
masak moritz: that's actually a really good example of how lazy lists have emergen changes on the language.
moritz estrai: no
estrai: but you can grep with regexes 12:56
dir('.').grep: / \.txt $ /
masak wouldn't mind a module providing XPath-like search capabilities for dirs and files
jaffa4 Is it true that one can one use regular expressions on files directly?
tadzik well volunteered! :)
masak tadzik: there's a weekend coming up... :) 12:57
moritz masak: no, not before you've blogged about t4 :-)
estrai moritz: how efficient is that, will it read all contents first and then apply the regexp or is it smarter then that?
masak moritz: +1
moritz: I promise.
moritz estrai: it reads them all (at least if you consume all elements of the result list). But glob needs to do that too.
masak jaffa4: on what, the file contents, the file name, or the file's last-modified timestamp? :) 12:58
jaffa4 on file contents
moritz I'm pretty sure you can't regex file contents without reading them in some way
or at least mmap them
jaffa4 I mean regex on file handle or stream
moritz r: grammar A { token TOP { .*? (\w+) } }; A.parsefile('README') && say $0.Str 13:00
p6eval rakudo 0059aa: OUTPUT«Unable to open filehandle from path 'README'␤ in method open at src/gen/CORE.setting:6588␤ in sub open at src/gen/CORE.setting:6808␤ in method parsefile at src/gen/CORE.setting:8862␤ in block <anon> at /tmp/9RdQGzrdWw:1␤␤»
moritz r: grammar A { token TOP { .*? (\w+) } }; A.parsefile('/etc/passwd') && say $0.Str
p6eval rakudo 0059aa: OUTPUT«root␤»
tadzik hehe 13:01
moritz r: grammar A { token TOP { \N+ } }; A.parsefile('/etc/passwd') && say ~$/ 13:02
p6eval rakudo 0059aa: OUTPUT«root:x:0:0:root:/root:/bin/bash␤»
[Coke] r: www.cnn.com/ 13:07
p6eval rakudo 0059aa: OUTPUT«===SORRY!===␤Confused␤at /tmp/f63DG4u330:1␤»
masak [Coke]: what did you expect that to give? 13:10
[Coke] masak: perhaps a slightly more interesting error message, but not much. 13:11
[Coke] r: 'a'..'z'.roll(4).say 13:12
p6eval rakudo 0059aa: OUTPUT«z z z z␤»
[Coke] r: ('a'..'z').roll(4).say
p6eval rakudo 0059aa: OUTPUT«k y r n␤»
PerlJam Coke: your forgot to load your custom HTML grammar first so that cnn.com gets translated to code
dalek rlito: 0cacd93 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - parser: add "local $x[1]"
13:13
moritz r: constant C4 = 0x10000000; 13:16
p6eval rakudo 197272: ( no output )
moritz r: constant C4 = 0x1000000000000000; 13:17
p6eval rakudo 197272: ( no output )
moritz r: constant C4 = 0x1000000000000000; say C4 13:17
p6eval rakudo 197272: OUTPUT«1152921504606846976␤»
fglock clkao: hi! 13:18
dalek blets: bcf340e | (Chas. J. Owens IV)++ | docs/tablet-2-basic-syntax.txt:
typo fixes
13:18
blets: 3327915 | (It's secret to everybody)++ | docs/tablet-2-basic-syntax.txt:
Merge pull request #2 from cowens/patch-1

typo fixes
masak clkao! \o/ 13:19
moritz r: say '+' ~~ 34 13:20
p6eval rakudo 197272: OUTPUT«malformed numeric string␤ in method Numeric at src/gen/CORE.setting:8670␤ in sub infix:<==> at src/gen/CORE.setting:2377␤ in sub infix:<==> at src/gen/CORE.setting:2377␤ in method ACCEPTS at src/gen/CORE.setting:2159␤ in block <anon> at /tmp/7gE5uGTNsN:1␤␤»…
masak r: say ('+' ==> ord) ~~ 34 13:35
p6eval rakudo 197272: OUTPUT«False␤»
masak right, 'cus it... isn't :) 13:36
r: say chr 34
p6eval rakudo 197272: OUTPUT«"␤»
masak r: say ('"' ==> ord) ~~ 34
p6eval rakudo 197272: OUTPUT«True␤»
dalek blets: 4798709 | (Chas. J. Owens IV)++ | docs/tablet-2-basic-syntax.txt:
type fix
13:38
blets: 31b5d31 | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
Merge pull request #3 from cowens/patch-2

typo fix, cowens++
rurban I've got some packaging questions 13:47
moritz rurban: shoot 13:48
rurban parrot-4.0.3 generated a parrot-nqp (no nqp). rakudo perl Configure needs --with-nqp=/usr/bin/parrot-nqp 13:49
but then the Configure step generated a new nqp and copies it to /usr/bin
is this the same nqp as parrot's?
moritz no.
rakudo needs the nqp from github.com/perl6/nqp 13:50
rurban It should be forbidden for Configure to copy into prefix
moritz uhm, does it? 13:50
it only does for me if you use some --gen-<mumble> options
rurban I see. So --with-nqp=/usr/bin/parrot-nqp is wrong?
moritz which packagers shouldn't use 13:51
rurban It worked for me without the gen steps
moritz rurban: yes, it's worng
lichtkind eny git experts here, git say me that i have untracked files but there are none really
phenny lichtkind: 02 May 16:14Z <masak> tell lichtkind re github.com/perl6/tablets/blob/2c73...y.txt#L197 -- I believe you meant s/terms and statements/terms and operators/
lichtkind: 02 May 17:48Z <sisar> tell lichtkind the navigation links at the top of Appendix A are broken, especially the symbols row. I tried to fix it, but my markdown knowledge is limited.
lichtkind: 02 May 17:59Z <sisar> tell lichtkind i meant the navigation links just above the heading "Punctuation"
masak lichtkind: could you provide a relevant nopaste?
rurban Nexty problem: ./perl6.exe --setting=NULL --optimize=3 --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting
daxim lichtkind, paste of your command and the exact output, please
moritz lichtkind: 'git status' gives you a list of untracked files
rurban Parrot VM: PANIC: Out of mem! ha :) 13:52
moritz rurban: it needs about 1.2G on 64bit systems
rurban I'm building in a VM with 2GB RAM
masak Parrot says "ha :)" when it runs out of memory? :P 13:52
rurban I see. I need to document this.
lichtkind moritz: i tried that
rurban I said "ha :)"
moritz lichtkind: so, it told you which files were untracked?
masak I know. :)
tadzik rurban: you may need more than 2GB if you're on 64-bit
rurban Because just yestreday I posted my perl5 perlcc out of memory results to blogs.perl.org 13:53
lichtkind moritz: it doesnt
frettled 2 gigs should be enough for anyone!
moritz lichtkind: so how do you know there are untracked files?
sisar moritz++ (reporting line no. bugfix) It will help in debugging some panda issues. o/ 13:54
aloha Karma for moritz is now 3121
moritz aloha: please stop doing that
lichtkind moritz: becasue it says so
sisar whoa 3121 !
moritz lichtkind: which 'it'?
rurban I'll retry with 4GB. cygwin package is coming soon
moritz rurban: thank you very much 13:55
lichtkind masak: your right
daxim ~/code/perl/six/tablets/.gitignore is not part of the repo
moritz rurban: you'll hopefully notice much improved startup time
daxim `add` it and commit it
lichtkind moritz: git says : Untracked files: 13:56
masak lichtkind: I'm right? great!
moritz lichtkind: 'git' itself doesn't say that. A subcommand of git does. Which one?
lichtkind masak: i mean the phenny msg
masak oh, good. 13:57
lichtkind moritz: yes status
daxim case closed.
rurban At first I noticed that it needs more memory :) 13:59
lichtkind sisar: yes one anchor was missing fixed now
moritz rurban: what was the last version you compiled before that?
rurban But my compiler behaves the same, solwer compile-time, more memory, but faster run-time
last was 2011.07
lichtkind daxim: so i should add .gitignore? 14:00
moritz rurban: heh. 2012.01 took about 40% more than now :-)
daxim add it and commit it
rurban Yes, I skipped all those
dalek blets: 194b1cc | (Herbert Breunung)++ | docs/appendix- (2 files):
added missing anchor
dalek blets: 2a74194 | (Herbert Breunung)++ | .gitignore:
finally added gitignore
14:04
lichtkind sorry for inconveniance i read that message as if .gitignore will tell something
daxim you have both .gitignore and docs/.gitignore -- delete docs/.gitignore 14:06
[Coke] daxim: perhaps you mean "merge them into a singl .gitignore" 14:07
rurban Maybe I'll try an android cross-build then. Anyone tried before? 14:09
cygwin 32-bit only needed about free 500MB RAM 14:10
make spectest fails now in a non .git builddir. cd t/spec && git pull 14:12
spectest_update should maybe check for .git and clone it then 14:13
moritz rurban: that line in the Makefile has a - in front, which most make commands interpret as 'it's ok if this command fails'
moritz rurban: does the make in cygwin not do that? 14:13
rurban I see, it works fine without 14:14
S02-literals/quoting.rakudo and S02-magicals/args.t and some more fail. known problems? 14:15
moritz rurban: it has been reported on some platforms, but I don't think it has ever been diagnosed thoroughly
rurban I'll try. maybe a windowism 14:16
moritz rurban: can you please nopaste the output of PERL6LIB=lib ./perl6 t/spec/{S02-literals/quoting.rakudo,S02-magicals/args.t} ?
rurban RT 65304 fails, but not ok 94 - :pair<anglequoted># TODO << :pair(1) >> (eval failed) 14:17
oh, and I got a fork error in perl6_ops.dll. need to rebase 14:18
moritz so it's a TODOed test that fails?
moritz maybe some version of prove that doesn't like certain characters in the TODO message? 14:19
rurban everything alright. it's a cygwin rebase problem
I need to rebase the dll's before running the tests
94 is a TODO 14:20
I have to do the same with perl5
And all the copies of cygparrot-4.3.0.dll do not help with rebase problkems at all. makes it worse. better have only one in /usr/bin/ 14:23
moritz rurban: I think one in $PATH is enough, yes 14:24
moritz r: if 42, 44, 22 -> *@a { say @a.perl } 14:36
p6eval rakudo 197272: OUTPUT«Array.new()␤»
rurban yes, rebased the perl6 dll's and fork tests pass now. conflict was with dynext/perl6_ops.dll and cygiconv-2.dll 14:51
I'm not sure how to codify these steps, as normally you need a dash session without any service and bash running
moritz oh, "fun" 14:52
rurban if the rebase database is already initialized with cygparrot also, then it is only: ls dynext/*.dll nqp/dynext/*.dll > dll.lst; rebaseall -T dll.lst 14:53
rurban if cygparrot is not in, it will need more. I'll try to codify it for parrot and then for rakudo 14:54
moritz rurban: ah, I've seen those on 32bit platforms. Known problem :( 15:00
not_gerd rurban: gist.github.com/1641348 is how I do my rebasing
rurban overflow failures at nopaste.snit.ch/paste/137433
not_gerd (also, hello #perl6)
rurban gerd: find" -iname '*.dll' will find duplicate dll's 15:01
better only the ones in dynext
not the one in src
rurban ah I see. you rebase everything under c:/cygwin. hmm 15:02
not_gerd rurban: you need to invoke the script from your build directory 15:03
it looks for additional DLLs there and does a rebaseall
rurban I would omit the duplicates. ls dynext/*.dll nqp/dynext/*.dll is better 15:04
in cmd.exe syntax: dir /b dynext\*.dll nqp\dynext\*.dll
not_gerd rurban: the script is not specific to Parrot/NQP/Rakudo, but general purpose 15:05
rurban t/spec/S16-filehandles/filetest.rakudo: not ok 28 - ~~:z returns false on directories 15:07
filetest :z failure at nopaste.snit.ch/paste/137434 15:08
moritz rurban: that nopaste comes out empty here 15:09
PerlJam Should nom ultimiately only have nqp::mumble ops? (i.e., the pir::mumble will have been extirpated) 15:10
moritz PerlJam: probably
PerlJam: but some of the code is very parrot specific, and replacing pir:: by nqp:: doesn't help much 15:11
PerlJam moritz: for instance?
moritz PerlJam: exception handling. Backtraces. 15:12
PerlJam The reason I ask is because I noticed that there are several pir::mumble ops being used that have corresponding nqp::mumble (pir::split, pir::join, pir::chr, etc) 15:13
moritz those could and should be replaced by their nqp:: counterparts
PerlJam and your recently added nqp::die too
dalek rlito: 8d71fff | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
15:20
PerlJam Could someone remind what the letters after __ mean in pir::substr__SSI and pir::substr__SSi ? (or where to find out that info?)
moritz type signatures
the first letter is for the returned value
and upper case means it needs to be a register 15:21
PerlJam ok
moritz lower case means it can also be a constant/literal
benabik Type signatures and they're not well documented to my regular irritation. I should just comment them. 15:22
moritz they are documentated somehwere in PCT
benabik Oh.
moritz src/PAST/Compiler.pir 15:23
PerlJam so, the map for nqp::substr says maphash['substr'] = 'substr__Ssii' How does substr__SSI map to that? Is another nqp::substr variant needed?
benabik Yes, I even copied that comment around. 15:23
benabik shuts up now.
masak aloha_noise++ ?
aloha masak: Karma for _noise is now 1
moritz nqp: say(nqp::substr("abc", 1))
p6eval nqp: OUTPUT«bc␤»
masak do we have commit rights to aloha?
moritz PerlJam: seems you don't need a separate signature if you want fewer arguments 15:24
benabik aloha: aloha?
moritz PerlJam: and the lower-case variants are more general than the upper-case variants
benabik Hm. aloha seems to have lost it's facts database?
rurban I submitted a couple of cygwin reports to rakudobug
moritz PerlJam: there are just some parrot ops that don't like having constant arguments 15:25
rurban++
aloha Karma for rurban is now 9
masak benabik: I think aloha only does facts-database on #parrot
benabik Ah.
masak aloha: that is fiendishly annoying.
benabik masak++
aloha Karma for masak is now 715
PerlJam so that version of nqp::substr should work for both the __SSi and __SSI cases?
moritz yes
benabik masak: aloha is on github, so you could at the least submit a pull request to basek 15:26
masak ok.
moritz I dimly recall that we've had the exact same issue before
masak wohoo, trivial guess was correct: github.com/bacek/aloha 15:28
moritz POLS++ 15:28
aloha Karma for pols is now 1
masak huh! last commit was a year ago.
so, what changed lately?
benabik masak: Yeah, aloha has that knowledge in it's db which is why I was trying to query it.
moritz masak: probably some module it uses
benabik Probably an update to the plugin.
masak oh btw. I keep losing connection with feather today. but it might be on my end, because I didn't have any problems a few hours ago on a different computer. 15:31
masak just giving a heads-up, in case anyone else... g'ah it happened again! :) 15:34
TimToady is heading out to pick up quietfanatic from college; will be online occasionally to backlog 15:36
masak masak.o/ ==> TimToady ==> quietfanatic 15:37
TimToady Bool::True 15:38
moritz not OK[<mumble>]? :-) 15:39
masak not yet ;) 15:42
TimToady was tempted though, before settling on Bool::True 15:48
frettled As long as we don't get Bool::Mu 15:50
TimToady afk & 15:55
jnthn home o/ 15:59
dalek p/toqast: 0ce175f | masak++ | src/QAST/Operations.nqp:
[QAST::Operations] added lots of opcodes

Stopped at a couple that look like special cases.
Not all of these are tested, and some are probably wrong, but most of them should work.
16:01
jnthn Whoa! 16:02
masak++
aloha Karma for masak is now 716
masak aloha: shut. up.
jnthn aloha: I didn't ask you to tell me that. 16:03
masak also, I could easily do those as an AoA and a for loop.
that's an easy refactor.
in fact, I'll do that right away.
jnthn masak: er.
It's just fine like that IMHO :)
masak ok then.
jnthn +QAST::Operations.add_core_pirop_mapping('atkey', 'set', 'PQs');
rurban one more question: we do not install nqp? only parrot-nqp is there?
jnthn er, you didn't implemnt Q support yet, right?
masak jnthn: no. 16:04
jnthn: probably merits a test.
jnthn aye 16:05
masak: Which special casey ones bovvad you?
frettled Whose responsibility is this aloha annoyance?
(its help info is not helpful in that regard) 16:06
masak jnthn: $P0 = new ['Hash']; $P0['pasttype'] = 'list'; maphash['list'] = $P0 -- and a similar one for 'hash'
jnthn rurban: An NQP executable is installed by NQP's "make install", I believe.
masak: Oh, yeah
masak: Ignore those :)
jnthn masak: We get those ones for "free" thanks to a nice unification thanks to pmichaud++ :) 16:07
rurban top-level make install did not install nqp
jnthn "top-level"?
masak jnthn: ok, great.
rurban in the rakudo builddir
masak more opcodes coming up. 16:08
rurban should I call make -C nqp install?
jnthn rurban: No no, I meant NQP's "make install".
rurban yes, that's what make -C nqp install does 16:09
t/nqp/60-bigint.t: Failed tests: 28-29, 34
dalek p/toqast: d36485e | masak++ | src/QAST/Operations.nqp:
[QAST::Operations] some more opcodes

Do let me know if any of these aren't meant to be kept around any more. I'll remove them right away. :)
16:11
rurban Is there no nqp manpage? 16:15
well, there's at least a nqp --help 16:17
jnthn If it's not evident in the repo then probably not.
jnthn doesn't remember seeing one 16:18
masak nqp isn't so outward-facing. with time, it probably will be. but right now it's still a bit bare-bones and targeted towards bootstrapping Perl 6.
jnthn Aye. 16:19
PerlJam masak: with time nqp will be replaced with Perl 6 ;) 16:19
jnthn PerlJam: Uh. Eliminating NQP isn't anywhere in my vision for Rakudo for the foreseeable future. :) 16:21
sisar phenny, tell tadzik, due to moritz++ recent bugfix, we now get the line no. in warnings in panda. For example, lines 4 & 7 in gist.github.com/2586890.
phenny sisar: I'll pass that on when tadzik is around.
rurban Should I install it at all then? We have a parrot-nqp and a nqp which is a bit awkward to announce
PerlJam jnthn: sure ... no one specified the horizon for "with time" though :) 16:22
frettled PerlJam: I think someone mentioned a certain heathen holiday turned mainstream commercially and nominally Christian, once upon a time
jnthn rurban: Well, parrot-nqp is the old one...nqp is the one that is actively developed etc. 16:23
frettled I have a feeling that my slow-time refactoring of the cookbook will be finished before NQP is out of date ;)
rurban I will just install both, and refer to nqp which should be used 16:24
frettled å
rurban rakudo is done, now only star is left
jnthn yay :)
PerlJam rurban++
aloha Karma for rurban is now 10
jnthn aloha--
aloha jnthn: Karma for aloha is now -69 (pffft)
frettled My google-fu is weak these days, all of my attempts at googling for some sort of docs on what goes in NQP are in vain. :-/ 16:26
PerlJam frettled: what do you mean "what goes in NQP"? 16:28
felher moritz: ping 16:29
frettled PerlJam: Well, sort of a tutorial or spec, to get started with it :) 16:30
oops, gotta run :( 16:31
sisar phenny, tell lichtkind, why does the the navigation in Appendix A, second row, have "Cn", "Pn", "Rn", "Sn" aling with the other alphabets. Do they have any special meaning or are they there by mistake? 16:34
phenny sisar: I'll pass that on when lichtkind is around.
[Coke] wonders if mentioning job postings for non-perl positions here is suggested against. 16:47
PerlJam [Coke]: I doubt the reaction would be as violent as on other #perls 16:48
[Coke] (web dev, Albany NY. ping me privately) 16:49
dalek kudo/nom: 4823171 | duff++ | src/Perl6/Actions.pm:
nqp-ize pir::chr
16:53
rakudo/nom: 420739a | duff++ | src/ (25 files):
rakudo/nom: nqp-ize pir::die
rurban blizkost left star? 16:55
jaffa4 How would you cut down the length of an array? 16:59
PerlJam jnthn: splice?
er, jaffa4
jaffa4 n: my @a; @b.elems = 2; 17:00
p6eval niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Variable @b is not predeclared at /tmp/FiDXgBS4d1 line 1:␤------> my @a; ⏏@b.elems = 2;␤␤Potential difficulties:␤ @a is declared but not used at /tmp/FiDXgBS4d1 line 1:␤------> my ⏏@a; @b.el…
jaffa4 n: my @a; @a.elems = 2;
p6eval niecza v17-2-gb8fcf85: OUTPUT«Unhandled exception: assigning to readonly value␤ at /tmp/RaDW6sTC78 line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤ at /home/p6eval/niecza/lib…
rurban github.com/perlpilot/rakudo-dist/b...ter/README still includes subversion as req. Should be changed to git 17:01
PerlJam rurban: er ... you aren't using that for anything are you? 17:02
rurban I'm preparing the cygwin release 17:03
PerlJam rurban: that's not the offical rakudo-star repo. 17:04
rurban: rakudo-dist was more of an experiment to generate rakudo star using Dist::Zilla
It hasn't been kept up-to-date though 17:05
[Coke] github.com/rakudo/star
PerlJam rurban: but! If you find rakudo-dist useful, feel free to update it :-)
rurban oh thanks. I just found that on the net. the dist is based on rakudo-star. just stumbled upon the nqp-2012.04.1 update. 17:07
masak jaffa4: I guess .elems could be made rw, but I'm not sure I like the idea of that. 17:08
feels like a slippery-slope thing.
jaffa4 How would you do that otherwise? 17:09
PerlJam masak: the only (useful) reason $#array is writable in Perl 5 is to pre-extend the array so as to have between control over memory useage. Perl 6 doesn't need that at all. 17:09
rurban I was just wondering were blizkost is now
jaffa4 PerlJam: why not? 17:10
masak r: set-length(@a is rw, $l) { pop @a for ^(@a.elems - $l); push @a, Any for ^($l - @a.elems) }; set-length(my @x, 5); say @x.perl
p6eval rakudo 197272: OUTPUT«===SORRY!===␤Variable @a is not declared␤at /tmp/aYYHXbK8y5:1␤»
PerlJam s/between/better/ (now *that* was weird. I know I thought "better", I have no clue why my fingers typed "between")
masak r: sub set-length(@a is rw, $l) { pop @a for ^(@a.elems - $l); push @a, Any for ^($l - @a.elems) }; set-length(my @x, 5); say @x.perl
p6eval rakudo 197272: OUTPUT«Array.new(Any, Any, Any, Any, Any)␤»
masak jaffa4: like that, for example.
PerlJam jaffa4: Perl6 has other means for getting arrays of various sizes. 17:11
masak jaffa4: but like PerlJam said, it's not a very interesting thing to do.
jaffa4: you might as well dimension it from the start. 'my @a[5]'
PerlJam exactly
moritz felher: pong 17:13
masak PerlJam: though I've seen at least one other use case for '$#a =' in Perl 5: truncating arrays. 17:15
PerlJam I suppose so. 17:16
felher moritz: i thought about typed exceptions for IO and i noticed that we have exceptions as we have function Copy,Mkdir but nothing like a FileNotFoundException. Do we prefer one function <-> one exception? What do you think about mixing? Something like: gist.github.com/2587005 ? 17:17
moritz: the latter isn't a patch-request. It's just some thinking. 17:18
also, the example is kinda stupid, because copy ("valid-file", "non-existent-directory/file") also stringifies like "no such file or directory" :) 17:21
moritz felher: I think we should rather have a big enum with IO errors 17:22
felher: and then an X::IO::Copy exception could have an $.os-error which could be X::IOTypes::FIileNotFound 17:23
masak an enum would make it non-extensible.
moritz right 17:24
even if we don't do with enums, I think it should that the actual IO error should be inside the error from the operation 17:25
because "copying failed" is more high level than "file not found"
felher agreed :) 17:26
PerlJam will there be some convention for differentiating user-defined errors from built-in errors? 17:27
jaffa4 How do I call a method in a method?
PerlJam jaffa4: the same way you call a method anywhere else? 17:28
jaffa4 I tried to make a call as calling a sub... method not found... 17:29
felher has to go now and is therefore afk
PerlJam jaffa4: but methods aren't subs and you don't call them the same way. 17:31
jaffa4 PerlJam: that is why I am asking 17:32
moritz PerlJam: (re built-in errors) no
PerlJam: just like setting subs aren't different from "normal" subs
r: sub &CORE::<uc> === &uc 17:33
p6eval rakudo 83587b: OUTPUT«===SORRY!===␤Missing block␤at /tmp/GjPC1ju6t1:1␤»
moritz r: say &CORE::<uc> === &uc
p6eval rakudo 83587b: OUTPUT«False␤»
moritz r: say &CORE::<uc>
p6eval rakudo 83587b: OUTPUT«Any()␤»
moritz that explains it
r: say CORE::<&uc>
p6eval rakudo 83587b: OUTPUT«sub uc(Cool $s) { ... }␤»
moritz r: say CORE::<&uc> == &uc
p6eval rakudo 83587b: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Numeric at src/gen/CORE.setting:648␤ in sub infix:<==> at src/gen/CORE.setting:2377␤ in block <anon> at /tmp/XD07YAw003:1␤␤»
moritz r: say CORE::<&uc> === &uc
p6eval rakudo 83587b: OUTPUT«True␤»
moritz PerlJam: I guess you can employ the same mechanism with user-defined vs. core types, but it is a hack, and will remain it 17:34
PerlJam: ... unless there's a good use case
masak jaffa4: do you expect a method .foo to be callable with the foo() syntax, like in Java? that won't work.
PerlJam I don't have one; just curious and musing
moritz jaffa4: you call methods as self.method or $.method or @.method or %.method, depending on context
jaffa4 I can see it self.methodnamd();
masak r: class A { method foo { self.bar(); bar }; method bar { say "method" }; sub bar { say "sub } }; A.new.foo 17:35
p6eval rakudo 83587b: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
masak r: class A { method foo { self.bar(); bar }; method bar { say "method" }; sub bar { say "sub" } }; A.new.foo
p6eval rakudo 83587b: OUTPUT«method␤sub␤»
moritz it works in java because there are no subs in java :-) 17:35
jaffa4 moritz: you mean your can force the return context in that way 17:36
moritz jaffa4: correct
rurban rakudo.org/how-to-get-rakudo/ needs to add Cygwin to the list of packages. Hell I was the one who created installable parrots at first.
jaffa4 good idea 17:37
moritz rurban: do you have a link to the cygwin package ready?
rurban There is no link, just a GUI. In setup select parrot/rakudo/rakudo-star
moritz rurban: ok 17:38
rurban sources at code.google.com/p/cygwin-rurban/sou...e%2Fparrot
PerlJam rurban++ (this karma is worth putting up with aloha :) 17:39
aloha Karma for rurban is now 11
moritz rurban++ indeed
aloha Karma for rurban is now 12
rurban cygwin.com/packages/rakudo/ is a link you can use 17:41
moritz rurban: rakudo.org/how-to-get-rakudo/ updated
rurban Thanks
dalek blets: c7b1283 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
fix square brackets link
lichtkind sisar?
phenny lichtkind: 16:34Z <sisar> tell lichtkind why does the the navigation in Appendix A, second row, have "Cn", "Pn", "Rn", "Sn" aling with the other alphabets. Do they have any special meaning or are they there by mistake?
moritz ... and now with link 17:42
masak I hate it when my two-letter combinations go aling without me. 17:43
lichtkind phenny: tell sisar "just have a look section C is much larger than average so the C heading as a backling to the to looses its functionality if you have to scroll too much, so I added some C (second letter a-m)" 17:44
phenny lichtkind: I'll pass that on when sisar is around.
lichtkind phenny: tell sisar "and Cn for second letter N-z"
phenny lichtkind: I'll pass that on when sisar is around.
lichtkind masak: was that for me? 17:45
masak no, I was just being facetious without a recipient. for once.
dalek blets: aa9c11f | (Herbert Breunung)++ | docs/appendix-a-index.txt:
explain navigation menu; sisar++
17:50
colomon is fighting to remember Perl 5 syntax for the $work script he must write 17:53
moritz Juerd: you recommended that I copy the DBIx::Simple API, and I'm inclinde to do it at least partially... 17:56
jaffa4 colomon: that is bad
moritz Juerd: the only thing I don't like is that you can't seem to prepare a statement once and then execute is several times with multiple arguments; Is that really missing from the API, or am I just too dense to see it? 17:57
PerlJam jaffa4: when you're doing Perl 5 and Perl 6 there's not exactly a clear distinction between the two syntaxes :)
masak sure there is ;) 17:58
jaffa4 PerlJam: I have not confused them yet
moritz jaffa4: you will :-)
PerlJam I'm always writing Perl 6 code in the middle of my Perl 5 and then having to stop and re-think. 17:59
(I have never written perl 5 code in the middle of perl 6 yet though :)
jaffa4 I think it is a matter of being present sufficiently 18:00
masak good for you.
jaffa4 though I remember I confused C++ substr with perl substr 18:01
rurban So it looks like nqp should better be its own package right?
masak I sometimes have to spend an extra cycle thinking about whether I want .substr or .subst 18:02
moritz it's often small subtleties like adding writing map { 1 + $_}, @list in p5 :-)
rurban: yes
rurban Am I the first or what do the others say? fedora, debian, ... 18:03
moritz rurban: debian is working on packaging nqp separately 18:05
colomon jaffa4: figured it out. biggest problem was an accidentally dropped { -- not a p6 vs p5 issue at all! 18:09
jaffa4 colomon: all is well that ends well. 18:12
I find confusing $.foo(1,2,3);;; so what is the syntax if I want to call with $_ argument in this case and I do not want to use $_? 18:13
moritz .foo(1, 2, 3) 18:13
jaffa4 but then it is not a method call 18:14
moritz it is a method call on $_ 18:14
jaffa4 foo(1,2,3) did not work as method call but .foo(1,2,3) does? 18:16
PerlJam jaffa4: right. 18:17
moritz r: $_ = 'foo'; say .uc 18:18
p6eval rakudo 83587b: OUTPUT«FOO␤»
moritz it's very logical: if you leave off the $obj in $obj.method, you get a call on the default object, which is in $_ 18:20
ss/default object/topic/
jaffa4 .say print $_ 18:21
What is the object in there?
moritz std: .say print $_ 18:22
p6eval std fab64fc: OUTPUT«===SORRY!===␤Two terms in a row (method call requires colon or parens to take arguments) at /tmp/bK_uqImjO_ line 1:␤------> .say ⏏print $_␤ expecting any of:␤ infix or meta-infix␤ infixed function␤ statement modifier
..loop␤Parse…
moritz jaffa4: it's not valid syntax
jaffa4 .say is like say $_
r: $_="3"; .say;
p6eval rakudo 83587b: OUTPUT«3␤»
moritz well no. .say is a method call, say $_ is a sub call 18:23
They happen to do the same thing in this case, but the distinction is important
r: $_ = 3; .&say
p6eval rakudo 83587b: OUTPUT«3␤»
moritz now that's more like a sub call :-) 18:24
jaffa4 r: sub p { print @_[0];} $_=3; .p; 18:25
p6eval rakudo 83587b: OUTPUT«===SORRY!===␤Confused␤at /tmp/7D23VpVyL8:1␤»
jaffa4 r: sub p { print @_[0];} $_=3; .&p; 18:26
p6eval rakudo 83587b: OUTPUT«===SORRY!===␤Confused␤at /tmp/L57Pk85mxs:1␤»
moritz r: sub p { print @_[0]}; $_=3; .&p;
p6eval rakudo 83587b: OUTPUT«3»
jaffa4 r: sub p { print @_[0];}; $_=3; .p; 18:27
p6eval rakudo 83587b: OUTPUT«Method 'p' not found for invocant of class 'Int'␤ in block <anon> at /tmp/IyWeVXgtua:1␤␤»
masak right. subs != methods 18:28
you can use one as the other, if you really want to.
but they are different. they occupy different namespaces. only methods have a notion of an invocant. 18:29
moritz r: class A { our method p($x) { say $x } }; A::p(A.new, 'foo')
p6eval rakudo 83587b: OUTPUT«foo␤»
[Coke] rurban++ # disting.
aloha Karma for rurban is now 13
jaffa4 as in perl 5
[Coke] did anyone ping bacek about aloha? 18:30
I think he's on Москва time, and can't be online during work. 18:31
jaffa4 You wrote in cyril 18:32
moritz [Coke]: I didn't ping him
huf good heavens, communist characters? not in my these-colors-dont-run irc :D
rurban rakudo star tests do not work unless you install it first. 18:34
This should be documented
masak agreed. 18:36
rurban Or pass all module/*/lib paths to PERL6LIB 18:38
But this gets big
masak generally, one should be able to do 'make test' before 'make install'. that feels like one of those "ambient assumptions", somehow. 18:40
jnthn suspects it may not be the way it currently is on purpose 18:41
May be fallout of the removing of lib from the default path, for example.
masak oh! yes.
moritz at least we can now say prove -Ilib -e perl6 18:53
masak \o/ 18:54
rurban can I say that blizkost is gone? 18:59
moritz yes
jnthn rurban: Yeah. It doesn't work with current Rakudo.
rurban done
jnthn It should be done in terms of representation poly, in these post-6model times. 19:00
rurban announcements are out
moritz \o/ 19:01
masak url? 19:09
moritz there's one on parrot-dev 19:10
masak oh, ok. 19:11
jnthn And perl6-compiler 19:11
moritz is kinda annoyed by people who use rakudobugs to get help, not to report bugs 19:13
masak moritz: maybe it's a cry for help :) 19:14
masak "The mark of a moderate man is freedom from his own ideas." -- Laozi 19:28
I think Laozi was a postmodernist. :)
rurban And one on cygwin-announce cygwin.com/ml/cygwin-announce/2012-...00004.html 19:42
dalek Iish: 85a4f68 | moritz++ | lib/DBDish/Pg.pm6:
[Pg] a bit more introspection internally
19:53
tadzik 'evening 19:56
phenny tadzik: 16:21Z <sisar> tell tadzik due to moritz++ recent bugfix, we now get the line no. in warnings in panda. For example, lines 4 & 7 in gist.github.com/2586890.
masak tadziku!
\o/ 19:57
tadzik masaku! \o/
dalek p/toqast: 4422265 | jnthn++ | src/QAST/Operations.nqp:
Can't have sigless ops any more. Also concat should always work on strings.
20:01
p/toqast: 9eb078c | jnthn++ | src/QAST/Compiler.nqp:
Handling of lexical paramters, including natively typed ones. Also, lookup of lexicals declared in the current block; this is optimized right off to a register access.
p/toqast: 6999d2b | jnthn++ | src/QAST/ (2 files):
Slurpy can only go on a QAST::Var.
p/toqast: 63d58d9 | jnthn++ | t/qast/qast.t:
A couple of initial tests for lexical parameters.
PerlJam moritz: Am I missing something to compile DBIish? When I run make I get: gist.github.com/2588842
moritz PerlJam: you need the 'cstr' branches of both nqp and zavolaj 20:02
PerlJam gotcha. thanks 20:02
moritz PerlJam: I hope arnsholt++ will merge them soon :-)
tadzik sisar: ping
moritz it seems I need to at least tokenize SQL in order to support the ? placeholder syntax for postgresql
because postgres uses $1, $2 etc. instead of ? 20:03
jnthn Does it not provide soemthing in its API where it does the substs? 20:05
moritz I didn't find anything
jnthn Or is it up to the driver writer to keep bobby tables at bay?
tadzik phenny: tell sisar which Rakudo is that? I don't get any warnings in Panda, with or without line numbers
phenny tadzik: I'll pass that on when sisar is around.
moritz jnthn: it supports placeholders, just not in the syntax that perl people expect 20:06
jnthn: so the driver needs to convert it, but only in not-quoted constructs, obviously :-)
jnthn moritz: oh my... :) 20:07
PerlJam What does DBD::Pg do (perl 5)? 20:08
moritz PerlJam: I'm afraid to look :-) 20:08
fglock PerlJam: it is the PostgreSQL database driver for the DBI module 20:09
jnthn I...don't think that's the meaning of "What" and "do" PerlJam had in mind... ;) 20:10
dalek blets: 40a38ac | (Herbert Breunung)++ | docs/appendix- (2 files):
polish square bracketing items
20:12
fglock I've used B::C to convert perlito5.pl into a 18MB C source file; compiling now... 20:13
masak "Polish square" sounds like a math puzzle. 20:16
jnthn Or a place to meet up in central Europe to drink...
dalek blets: 5568f53 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
making secondary letter chapter headlines shorter
20:17
fglock reads the logs to get a clue on the context 20:18
[Coke] wierd. you can't create a .gitignore file using windows explorer. 20:32
spider-mario yeah, it’ll refuse 20:33
but cmd.exe will let you rename a file to .gitignore
masak spider-mario! \o/ 20:36
jnthn always just creates them at the command line :)
spider-mario o/ masak
jnthn e .gitignore
:)
(with "e" being aliased to my editor) 20:37
spider-mario is e edit.com?
oh
:D
jnthn No!
:)
masak not that there's anything wrong with edit.com :P
jnthn Aside from it appears it's nowhere in my path... :P 20:37
spider-mario it’s absent from 64-bit windows since it’s a 16-bit program 20:38
not that we’ll miss it, I guess. :)
jnthn Yes, I don't think I've used it for...probably over a decade. :) 20:39
benabik Edit.com? Man, memories. 20:40
gfldex p6: my class A { has $.b }; my $a = A.new(:b(10), :b(10)); say $a; 20:41
[Coke] jnthn: you can also create ".gitignore." in the explorer.
p6eval rakudo 83587b: OUTPUT«A.new(b => 10)␤»
..pugs: OUTPUT«<obj:A>␤»
..niecza v17-2-gb8fcf85: OUTPUT«A.new(...)␤»
spider-mario too bad DOSBox doesn’t come with it.
gfldex wouldn't that be a candidate for a warning? 20:41
having the same named parameter twice is most likely a typo
[Coke] is NOT going to YAPC::NA 20:44
jnthn
.oO( I was thinking about it, but those guys have totally sold out... )
20:44
colomon is not going to YAPC::NA either
[Coke] jnthn: *thwap* 20:45
jnthn :D
[Coke] jnthn: also: heee!
colomon jnthn: groan
colomon finally figured out why the money is so tight this year -- lost the business of a company that represented more than a third of my first quarter income the last two years. :( 20:49
rurban I'm going but my talk was too technical 20:50
not accepted
colomon rurban++
aloha Karma for rurban is now 14
rurban about address-sanitzer :) 20:51
jnthn colomon: ouch :( 20:52
masak rurban: what was your talk about?
rurban Forget valgrind, use code.google.com/p/address-sanitizer...sSanitizer 20:53
found many security relevant perl5 core bugs 20:54
masak oh, you wrote it above. sorry, missed that :)
rurban And DBI is still broken.
And perl-5.16.0 has also one left. Nobody cares 20:55
masak sounds implausible.
rurban Good idea: I'll check parrot and perl6 now. 20:56
masak 'night, #perl6
rurban auto::va_ptr fails with buffer-overflow 20:57
jnthn Goodnight, #perl6 22:57
spider-mario good night, jnthn 23:06
lichtkind good night 23:18
gfldex p6: enum MonthLength <0 31 28 31 30 31 30 31 31 30 31 30 31>; say MonthLength($_).Int for 0..12; 23:33
p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤ at /tmp/Ee_9Z0A6a0 line 1, column 1-57␤»
..niecza v17-2-gb8fcf85: OUTPUT«===SORRY!===␤␤Illegal redeclaration of symbol '31' (see line 1) at /tmp/2ClCin4ir6 line 1:␤------> <0 31 28 31 30 31 30 31 31 30 31 30 31>⏏; say MonthLength($_).Int for 0..12;␤␤Illegal redeclaration of symbol '30' (see …
..rakudo 83587b: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤»
gfldex std: enum MonthLength <0 31 28 31 30 31 30 31 31 30 31 30 31>; say MonthLength($_).Int for 0..12; 23:34
p6eval std fab64fc: OUTPUT«ok 00:00 42m␤»
dalek blets: eee3635 | (Herbert Breunung)++ | docs/appendix- (2 files):
explaining delegation and attribute, polish declarator and regularising distance between punctuation headlines
23:46
[Coke] bacek++ 23:47
aloha Karma for bacek is now 1735
_sri wouldn't an mruby-ish implementation of perl6 make sense? github.com/mruby/mruby 23:50
a reasonably fast subset with just enough features to get started writing real applications and port modules 23:52
flussence nqp sort of does that already, but it's not fast and a bit too much of a subset imo 23:53
(though the speed thing may be the fault of what it's running on, I dunno)
flussence I agree though, a perl6 with most of the standard library stripped away might be useful. Not everyone needs Str.indent after all 23:54
_sri yea, reduce it to the absolute minimal feature set 23:57