»ö« 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:00 ab5tract left 00:13 molaf joined 00:16 pernatiy left 00:17 abercrombie left 00:22 pernatiy joined 00:24 cexsum left 00:30 abercrombie joined 00:31 tokuhirom joined 00:36 flussence left 00:38 flussence joined 00:47 whiteknight joined 00:50 uasi joined 00:52 tokuhirom left 00:59 abercrombie left 01:00 uasi left 01:14 uasi joined 01:15 daniel-s left 01:16 daniel-s joined 01:28 whiteknight left 01:33 abercrombie joined 01:41 cexsum joined 01:57 pjcj left, woosley joined
lue what the heck is @@w supposed to mean? I remember reading not too long ago something about @@ and slices, but I don't know anything beyond that. 02:13
02:15 jaldhar joined 02:17 REPLeffect left 02:20 pjcj joined 02:31 REPLeffect joined 02:42 drbean left 02:51 am0c joined 03:01 dark_x joined
dalek : 1df6eb2 | lue++ | examples/functional/ (7 files):
[examples] fixed most of examples/functional to work with rakudo/nom

The entirety of the fixes include making sure functions returned Bool values when they said they would, flattening where it would otherwise cause infinite recursion, and avoiding redeclaration of variables (how that managed to happen is beyond me). Only monads.pl was untouched, due to an NYI error about typed arrays.
03:04
03:04 cexsum left 03:23 Su-Shee_ joined 03:25 Su-Shee left 03:28 agentzh joined 03:34 betterworld joined 03:37 jrockway joined 03:41 wolfman2000 left 03:42 natureboy joined 03:43 swarles joined
natureboy hi swarles :] 03:44
swarles hey =] 03:48
sorear hello and welcome, natureboy and swarles. 03:57
natureboy hello, thanks 03:58
mberends \o 03:59
TimToady »ö« 04:01
sorear lue: @@x sounds like something from the Dark Age of Pugs, perhaps 2003 04:02
04:03 drbean joined
TimToady was a little later than that 04:03
swarles hello o/
TimToady perl6: say "Howdy doody!" 04:04
p6eval pugs, rakudo 2bac6a, niecza v9-7-g252c6a5: OUTPUT«Howdy doody!␤»
mberends ▷☋◁ 04:05
TimToady a frog with fins?
mberends Iron Butterfly 04:06
TimToady looks kinda like a bat
sorear .u ☋ 04:07
phenny U+260B DESCENDING NODE (☋)
sorear bleh 04:09
.net's async IO model is very un-POSIX-like
they have Select but it's sockets only
other kinds of file descriptors use a stateful request/callback system 04:10
natureboy: swarles: anything we can help you with? 04:11
04:11 araujo left
swarles Nope I'm just here to watch/listern :) 04:11
listen*
TimToady ⊱ö⊰
⊱⍥⊰ 04:12
sorear has little idea what kind of interface to present to Perl 6
natureboy not really, but thanks sorear 04:13
TimToady ⊱⚉⊰ 04:15
decomputing &
natureboy is that supposed to look like "Camelia" ?
TimToady vaguely 04:16
mberends Campelia
04:17 jrockway left
mberends sorear: structuring async I/O around callbacks would be useful, to unify with other NCI events (eg GUI input) 04:18
04:20 birdwindupbird joined
lue severely detests Google's refusal to search symbols essential to any programmer's diet. 04:29
04:30 natureboy left
sorear mberends: I think I'm going to shift my month focus to general CLR integration and let someone else worry about API design. 04:32
I don't like API design.
mberends lue: you should look beyond Google, even if only to resist the creation of another kind of monopoly
sorear you should detest Google for other reasons.
mberends sorear: I'll gladly participate in API bikeshedding, but would like to work mainly with example use cases. 04:33
lue I got NoScript to stop Google from the stupid "guess what you want as you're typing" when they brought it to the SSL version. [It severely slows down my connection and makes Google think I'm using a bot to do mass searches!] 04:34
lue investigates other search engines
04:35 jrockway joined 04:38 jevin left 04:39 ccc_ left 04:40 jevin joined
mberends sorear: I'm very happy that you'll work on CLR integration instead. If you you devise something that goes beyond Zavolaj's NativeCall, it will create many application opportunities for Niecza and throw out a challenge for Rakudo to catch up. Therefore I hope you can make it as VM agnostic as possible. 04:43
lue: I'm not sure 'wormhole' is the best choice of word, could you help me with some possible improvements? github.com/sorear/niecza/blob/mast...mpiler.pod 04:47
lue looks 04:50
mberends that sentence reads better with "Perl 6 virtual world" and "executable real world" as well 04:54
lue instead of wormhole, maybe passageway? [also, I noticed this: "How is the Niecza compiler babby formed?" Are you sure it's babby? ] 04:55
04:55 Exodist joined
mberends lue: yes, I'm sure. I was hoping for something more cosmic, to spice up the text. 'bridge' is too mundane, 'stargate' too exotic. 04:57
lue
.oO(gateway perhaps?)
04:58
mberends yes, better. how about portal? 04:59
sorear rabbit-hole.
mberends yes, quite nice 05:00
lue I like rabbit-hole, reminds me of Alice in Wonderland (where CLR is real life, and P6 is Wonderland, according to your analogy) 05:01
mberends no, implies similar worlds too much, like wormhole
oh, the looking-glass!
sorear it's not really like a boundary between P6 and real life
and as I said yesterday, rawscall has nothing to do with system calls 05:02
the "s" stands for "static"
"rawcall" calls instance methods, "rawscall" calls class methods
mberends oh, I missed that totally 05:03
sorear CLR makes the distinction
mberends I'd kinda mapped VM to system
05:04 sftp left
mberends ok, that will get a rewrite. I'm really attracted to 'looking-glass', I think it triggers appropriate thoughts. 05:05
sorear DownCall/UpCall is kind of like a wormhole, it's a portal through time 05:06
it allows code compiled using last month's Niecza to call code compiled using the current Niecza, and vice versa (for eval)
05:06 sftp joined
mberends I assumed that was only during the bootstrap compile, and that in the next iteration of recompile the versions of caller and callee would be in sync. 05:08
sorear mberends: it would be possible to do it that way, and the release binaries are set up that way 05:09
mberends I like the time travel viewpoint of the bootstrap, that might be worth mentioning more explicitly.
sorear mberends: but for development I only want to build niecza once, which means that "self-compiled" is a bad idea
in ghc/gcc parlance builds from source are always stage1s 05:10
mberends aye, I hacked on Small-C many years ago and had the same self-hosting stability risks
sorear ... "Small-C"? haven't heard of that in ages. 05:11
mberends by James Hendrix, an excellent learning tool 05:12
sorear most of the "stability" problems went away when niecza started running roast
I don't fear that I'm rebooting with a broken niecza
mberends yes, testing++ 05:13
05:14 dukeleto left
sorear mberends: hrm, I wonder then if CLR interop should be more like Zavolaj or Blizkost 05:20
mberends sorear: so far I've preferred Zavolaj because it's more explicitly declarative 05:21
TimToady literal but non-portable interfaces are okay for building portability layers on top of
mberends sorear: Zavolaj is independent on what lies beyond, for example hooking up PostgreSQL was a breeeze. 05:23
*of, *breeze even 05:26
sorear mberends: preferred Zavolaj over...?
mberends sorear: Blizkost, the other option you mentioned for 'interop like' 05:27
05:28 araujo joined, araujo left, araujo joined
sorear mberends: yeah just wondering where you would have the option to use both 05:29
and goodnight.
mberends 'night
05:31 dark_x left 05:36 wamba joined 05:48 wtw joined
mberends phenny, tell sorear we have the option to use Zavolaj or Blizkost generally when a Perl 5 module abstracts a native library, for example a PostgreSQL or MySQL client. I preferred independence from the effect a Perl 5 layer might have on what is available to the Perl 6 code. In short, call direct. The question for the Niecza interop design is whether you can _always_ interrogate native code to tell you its methods and parameters, or not. I don't think 05:51
you can.
phenny mberends: I'll pass that on when sorear is around.
06:02 wamba left
mberends phenny, tell sorear otoh, CLR is easier to deal with than native code because CLR has Reflection. Calling from Niecza to native code involves jumping through two hoops, CLR and FFI. We don't want the solution to look like Perl 5 XS. 06:03
phenny mberends: I'll pass that on when sorear is around.
lue oh! I was reading up more on the capture sigil (¢) ooc, and found an irc log discussion mentioning ¢'s supposed alternative (@%) used to be @@. So, does that mean @@ is just ¢ ? 06:06
06:08 perlhack joined
perlhack 用中文 像大家问好 06:08
各位辛苦了
:-)
06:10 Su-Shee_ is now known as Su-Shee 06:16 molaf left 06:17 koban` joined, koban` left
tadzik good mornings 06:28
man, HPatMoR chapters are coming out at insane pace 06:30
06:34 jerome_ joined 06:58 cexsum joined 07:05 cognominal_ left 07:06 cognominal joined
tadzik rakudo: class A { has $!b; submethod BUILD { say $!b } }; A.new(b => 5) # correct? istr it worked 07:15
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
pmichaud I think the new standard is that private attributes aren't automatically initialized that way. 07:23
(nom implements the new version, ng had the old one) 07:24
07:25 wamba joined
pmichaud S12:882 07:25
07:26 daxim joined 07:28 perlhack_ joined
tadzik rakudo: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked 07:28
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
tadzik doesn't seem so, unless I miss something
07:28 TimToady left
pmichaud I think "rakudo: 07:28
07:28 TimToady joined
pmichaud I think "rakudo:" now refers to nom. 07:29
tadzik yes, that's what I'm hoping for
07:29 perlhack left
pmichaud ng: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked 07:29
b: class A { has $.b; submethod BUILD { say $.b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«Any()␤»
tadzik b needs callsame for that, I believe
b: class A { has $.b; submethod BUILD { callsame; say $.b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«5␤» 07:30
pmichaud b: class A { has $!b; submethod BUILD { say $!b } }; A.new(b => 5) # correct? istr it worked
p6eval b a55346: OUTPUT«Any()␤»
07:30 wamba left
tadzik that doesn't help nom though 07:30
pmichaud well, in nom's case you're overriding BUILD, so you don't get the default BUILD
tadzik rakudo: class A { has $.b; submethod BUILD { callsame; say $.b } }; A.new(b => 5) 07:31
p6eval rakudo 2bac6a: OUTPUT«Mu()␤»
tadzik no, something else's broken
pmichaud rakudo: class A { has $.b; submethod BUILD($!b) { say $.b } }; A.new(b => 5) 07:33
p6eval rakudo 2bac6a: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in submethod BUILD at /tmp/WM9GqkKeFO:1␤ in method BUILDALL at src/gen/CORE.setting:483␤ in method bless at src/gen/CORE.setting:473␤ in method new at src/gen/CORE.setting:458␤ in <anon> at /tmp/WM…
pmichaud rakudo: class A { has $.b; submethod BUILD(:$!b) { say $.b } }; A.new(b => 5) 07:34
p6eval rakudo 2bac6a: OUTPUT«5␤»
pmichaud hmmmmmmmmmm
07:36 wamba joined
tadzik I don't like it, again :) 07:41
07:41 wamba left
tadzik I believe BUILD { say $!b } used to Just Work in nom some time ago 07:42
07:46 mj41 joined
moritz \o 07:56
07:56 perlhack_ left
tadzik o\ 07:56
moritz doesn't that need to be BUILD(:$!b) { say $!b } ?
tadzik I hope not. I don't like easy things hard to do 07:57
I think I'm missing a being
07:57 perlhack joined
perlhack hi 07:57
tadzik hi perlhack
08:01 wamba joined
perlhack hello tadzik,i am ready to get off duty.i wish you have fun. 08:02
08:03 daxim left
woosley what is BUILD used for? just like BUILD in Moose? 08:05
08:06 perlhack left
tadzik woosley: I hope it to be, but it seems that it's a different magic 08:06
08:09 daxim joined
woosley tadzik: so what is the magic here? 08:09
tadzik woosley: it doesn't work as expected :) The attributes aren't neceserilly set in your BUILD, you may have to do that yourself. I mean, those passed to the .new 08:10
08:11 donri joined 08:14 swarles left 08:17 am0c left, swarles joined 08:19 apejens left, apejens joined 08:23 dakkar joined, bbkr_ joined 08:24 am0c joined 08:27 senobmeht joined 08:30 apejens left, apejens joined
mberends phenny, tell pmichaud the next timing accuracy improvement in Test.pm will be to move $time_before and $time_after assignments out from proclaim() to ok(), is*(), diag() etc, because some of those do lots of work before calling proclaim(). There should be negligible performance impact, but I'd like your opinion before proceeding. Also, there will probably be a few sub-microsecond times soon. We could record nanoseconds instead of microseconds (I pref 08:33
phenny mberends: I'll pass that on when pmichaud is around.
mberends er integers), even though clocks do not have nanosecond resolution (yet).
08:33 wamba left 08:36 y3llow_ joined 08:37 mberends left 08:38 y3llow left, y3llow_ is now known as y3llow 08:39 pnu joined
eiro hello all 08:41
tadzik hello eiro 08:42
eiro i'm trying to use the comments of arguments for doc (pastebin.com/cYwvCGxj)
it sends me the message: ===SORRY!=== 08:43
Whitespace character is not allowed as a delimiter at line 4, near " one of CR"
08:43 mberends joined
eiro hello tadzik. i was trying to write my first IA for the farm game. 08:43
AI 08:44
actually it's more like IS (artificial stupidity) 08:45
moritz well, natural stupidity we have more than enough :-) 08:47
tadzik eiro: docs for signatures are NYI 08:49
I may poke that soon, since someone actually needs this :)
lue docs for signatures? What's that? [Or rather, which spec would tell me about it, if it's too long to explain here] 08:51
eiro moritz, i can't just plug my brain to parrot :) 08:54
tadzik, NYI ?
moritz NYI = Not Yet Implemented 08:55
eiro arg :)
ok thanks
moritz lue: S26 allows attaching doc strings to just about anything
lue ohh, now that I know we're talking about doc strings, I can figure out exactly what docs for signatures are. 08:57
.oO(could you attach doc strings to doc strings?)
09:00
mberends lue: :) don't go there... 09:01
tadzik why, yes you can :) 09:02
lue
.oO(#=this is a doc string explaining method foo of class xyzzy. Its purpose is to tell you the purpose of foo)
tadzik rakudo: gist.github.com/1185757 09:03
p6eval rakudo 2bac6a: OUTPUT«Array.new("doc #= double doc")␤»
tadzik documented documentation :)
lue oooh, I didn't know p6eval took files 09:05
tadzik lives 09:06
lue I won't for much longer if I don't go to bed. Good night everyone o/ 09:08
09:10 orafu left 09:11 orafu joined 09:18 envi joined 09:29 im2ee joined
im2ee Could I find somewhere modules which are build in Perl6? 09:33
Like IO::Socket ? :)
mberends im2ee: IO::Socket in built in to Rakudo itself. Modules are here: modules.perl6.org/ 09:34
im2ee I know modules.perl6.org. So, there is no site about modules which are build in to Rakudo? :) 09:35
mberends im2ee: avoid confusion, what is built into Rakudo is not *modules*. The complete set of Synopses describes what *should* be built in perlcabal.org/syn/ and this is the progress so far: perl6.org/compilers/features 09:38
im2ee mberends, ok. Thank You! :) 09:39
09:40 birdwindupbird left, rhr left, eiro left, benabik left, Helios left, risou_awy left, tewk left, Exodist left, fhelmberger left, nine left, lumi_ left, LoRe_ left, jasonmay left
mberends im2ee: IO::Socket is specified in perlcabal.org/syn/S32/IO.html 09:40
im2ee Great. :)
09:42 birdwindupbird joined
mberends im2ee: examples of IO:Socket are github.com/cosimo/perl6-lwp-simple and github.com/mberends/http-server-simple 09:42
09:42 Exodist joined, rhr joined, eiro joined, benabik joined, Helios joined, risou_awy joined, tewk joined, fhelmberger joined, nine joined, lumi_ joined, LoRe_ joined, jasonmay joined 09:43 donri left, donri joined
im2ee mberends, thanks again. :) 09:43
mberends have lots of fun! :)
finally, a 6model/c raw list implementation is free of memory leaks according to valgrind. Next up, a bigger test suite :) 09:48
im2ee Hmm, some more questions. :) 09:50
What about threading in Perl6? :)
Using fork, or some modules?
And... does exist something like DO (from p5)? 09:51
:
:)
09:52 woosley left
mberends im2ee: not much implemented yet, your can use run('command') or qx(command). I think Niecza has some threading support but not Rakudo. I did create this example using Zavolaj: github.com/jnthn/zavolaj/blob/mast...ix-fork.p6 09:54
09:54 domidumont joined
mberends im2ee: oops, qx/command/ 09:57
im2ee hmmm.. No problem in total. :)
I'll be glad to help You with Perl6. :)
mberends great! when can you start?
im2ee But ... now I must get to know perl6 better. :) 09:58
I use Perl5 for 1 y (maybe 2), now I'll learn P6. :)
Hmm, I know C too. 09:59
mberends oh good, then you may be able to get involved with Parrot as well.
im2ee Hm, don't now exactly when - but I would as soon as possible :) 10:00
10:00 mux joined
im2ee Where I can find informations about what is to do? :) 10:00
mberends, You wrote Zavolaj? 10:01
mberends im2ee: I am contributor. jnthn++ is the author. 10:02
im2ee Ok. :) 10:03
mberends, Where I can find informations about what is to do? :) 10:04
mberends im2ee: first make sure that you can use Perl 6, (Rakudo, Niecza or both). The try to create your own module to share with the community. Then try to add a Perl 6 language test to github.com/perl6/roast. 10:05
10:06 mux left, mux joined
im2ee Hmm, is there maybe a site where I can find information abouts who is working on what? 10:06
10:07 cexsum left
im2ee I won't to work on something over which one is working now :) 10:07
mberends im2ee: not really. I recommend searching the logs of this channel at irclog.perlgeek.de/perl6/ 10:08
what would you *like* to work on? maybe I can remember who is interested in similar things. 10:09
moritz im2ee: people generally publish their work early and often 10:12
im2ee: so if something isn't on modules.perl6.org, you can be confident nobody has invested too much time in it
im2ee Hm, maybe for start on something like IRC bot module, etc. 10:15
You know - Im now professional, I hope You it'll be changed ! :) 10:16
And I hope You understand, that I'm not professional. :)
Right? :)
Hi moritz :)
moritz is not professional either :-)
im2ee :)
mberends there are already several people playing with IRC clients, I cannot remember names but that irc log search will find them.
10:16 wk joined
im2ee Hmm, but there is IRC Bot framework, right ? :) 10:17
moritz right, by TiMBuS++
im2ee Net::IRC::Bot
Ok. So .. hm, something else :)
mberends other people often ask for modules to build web applications. There are some incomplete frameworks, they need more love. 10:18
TiMBuS yay im getting attention
mberends :)
moritz TiMBuS: not you, just your module :-)
mberends lol
TiMBuS im2ee, feel free to contribute to make my module suck less
i never added module unloading support! the whole reason i made it modular 10:19
thats a good palce to start
moritz for example you could write a simple bot, and see if you miss any functionality from the framework
or find unintuitive, or so
mberends but please don't point a buggy bot at this lovely channel ;) 10:20
TiMBuS i miss the part where, the bot disconnects if it times out. because i have no async IO or threads >:[
mberends, the last bot someone sent here was a barrel of laughs
mberends oh yeah 10:21
im2ee TiMBuS, I don't thing that Your module sucks. :)
TiMBuS joke please
im2ee think*
TiMBuS thanks im2ee! but you can still probably make it better
im2ee TiMBuS, makeing irc module will be good lesson for me. :) 10:23
Hmm, does my English suck?
mberends nope 10:24
TiMBuS mines worse
10:25 saaki joined
im2ee mberends, thanks. :) 10:25
TiMBuS, where are You from? :)
mberends im2ee: :) 10:26
10:26 ccc_ joined
TiMBuS australia. 10:26
im2ee I must say something. This is the most friendly community that I have ever known. :) 10:27
mberends im2ee: thank you 10:28
im2ee No, I thank You. :)
So. :)
I'll learning P6 today. :) 10:29
mberends im2ee: one small thing, English people write 'you' with a small 'y'
im2ee Ok. :)
mberends im2ee: have you installed Rakudo or Niecza yet? It seems a logical first step. 10:30
10:30 showi left
im2ee I have Rakudo 07.2011 10:30
mberends good. Then also install Panda, as described on the Modules page. 10:31
10:31 cexsum joined, saaki left
im2ee i have Panda too. :) 10:31
and i installed some modules :)
mberends impressive :)
im2ee :) 10:32
So. I'm on the good way. :)
a instead of the :)
or? :)
nevermind :)
mberends I guess a, but nevermind 10:33
10:33 saaki joined 10:35 wk left
im2ee Now, I'll write some code which will help me learn the language. 10:35
daxim im2e++ for practicality 10:49
mberends im2ee++ even
im2ee :) 10:50
10:53 wamba joined 10:56 wamba left 11:01 sftp_ joined 11:02 mtk left 11:05 sftp left, awoodland joined
im2ee $sock.say("JOIN $chan\r") for @channels -> $chan; 11:06
what is wrong? :)
Trashlord uh 11:12
for my $chan @channels;
or 11:13
for my $chan (@channels);
flussence maybe $sock.say("JOIN $^chan\r" for @channels); 11:14
im2ee Works, thanks. :) 11:15
write method on IO::Socket::INET is better, isn't it? 11:19
11:22 espadrine joined 11:23 frettled joined
flussence .write would be better than mixing an explicit \r and implicit \n... 11:23
im2ee flussence, thanks :) 11:24
flussence (having a working &wrap would be better, just make $sock.say do the right thing...)
pmichaud good morning, #perl6 11:57
phenny pmichaud: 08:33Z <mberends> tell pmichaud the next timing accuracy improvement in Test.pm will be to move $time_before and $time_after assignments out from proclaim() to ok(), is*(), diag() etc, because some of those do lots of work before calling proclaim(). There should be negligible performance impact, but I'd like your opinion before proceeding. Also, there will probably be a few sub-microsecond times soon. We could record nanoseconds instead of micr
pmichaud mberends: I'll go with your judgement on this one. 12:00
mberends pmichaud: ok, we'll give it a try. Results so far are encouraging :) I'm curious how Niecza measures up. 12:02
the delay in is_deeply() is probably huge, and nondeterministic 12:04
bbkr_ rakudo: "aa" ~~ /(a)($0)/; $1.say # bug? 12:17
p6eval rakudo 2bac6a: OUTPUT«␤»
moritz yes 12:19
rakudo: "aa" ~~ /(a)($0)/; $0.say
p6eval rakudo 2bac6a: OUTPUT«a␤»
bbkr_ reported 12:20
moritz bbkr_++
12:36 espadrine left 12:39 awoodland left 12:40 awoodland joined
tadzik im2ee: good to see you around :) 12:42
PerlJam good * #perl6 12:45
12:46 mtk joined 12:48 odoacre left 12:49 JimmyZ joined 12:54 jferrero left 12:56 MayDaniel joined
im2ee tadzik, good to see you too. :) 12:57
mls morning perl6! 13:00
If you're interested whay perl6 does when it compiles the setting: www4.informatik.uni-erlangen.de/~ml...ing.out.gz 13:01
It's in kcachegrind input format 13:02
I've patched parrot's runloop to collect call statistics 13:05
bbkr_ rakudo: sub foo ( /abc/ ) { 1 }; foo( Regex ); # bug with method delegation?
p6eval rakudo 2bac6a: OUTPUT«===SORRY!===␤Cannot use a value type constraints whose value is unknown at compile time at line 1, near ") { 1 }; f"␤»
bbkr_ std: sub foo ( /abc/ ) { 1 }; # i don't know what kind of monster is it, but STD allows such declaration, therefore foo(Regex) should delegate 13:07
p6eval std e3c970e: OUTPUT«ok 00:01 123m␤»
flussence mls++
moritz bbkr_: I think it's a limitation in rakudo's current handling of constraints and literals 13:08
flussence (seems like the grammar is the slowest part...)
PerlJam using grammar is always faster than parsing grammar ;) 13:09
moritz mls++ 13:10
lineof is the function that takes the most time 13:11
13:12 daxim left
mls it is? 13:12
I don't see it 13:13
moritz mls: that's what your report says when I sort by the 'self' column in kcachegrind
flussence it's the longest per-call, it only gets called 18k times though 13:14
mls it takes the most ops, but you can switch to 'cycles'
flussence oh, *now* it makes more sense... 13:15
moritz mls: do you know what <cycle 7> as a routine name means?
flussence (.new looked strangely lightweight before)
mls turn off cycle detection
moritz ah 13:16
mls you get a cycle when you do recursion
moritz so post_children takes up a lot of time 13:17
ah, it shows the cycles in in the right window
moritz finally learns how to kcachegrind :-) 13:18
PerlJam attr gets called a lot 13:19
mls: can you patch rakudo to do the same thing but for perl 6 subs/methods? :) 13:20
flussence protoregex appears to be where a lot of the slowness in parsing originates 13:21
im2ee What means Z? (e.g. in @@( <a b> Z <c d> )) And where can I use this? :)
moritz im2ee: it's the "zip" operator
13:22 swarles left
flussence rakudo: say ('a'..'f' Z 1..6).perl 13:22
moritz rakudo: say (<a b c> Z 1, 2, 3).perl
p6eval rakudo 2bac6a: OUTPUT«(("a", 1), ("b", 2), ("c", 3), ("d", 4), ("e", 5), ("f", 6)).list␤»
rakudo 2bac6a: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).list␤»
13:22 wk joined
im2ee Great! Thanks :) 13:24
flussence
.oO( there's also the XZXZXZX operator, but we don't talk about that one here... )
13:26
arnsholt But no XYZZY? =) 13:30
PerlJam we've got Z X R and S I believe so far. Dunno what Y would be. 13:33
oh, and E too 13:35
flussence E? 13:36
flussence only knows the first three
PerlJam S03:2152
flussence aha
im2ee I know only Z :) hah 13:37
Everything is waiting for me.
13:38 cexsum left
moritz robey.lag.net/2011/04/30/dissolving...terns.html # seems the Builder pattern could be replaced entirely with named arguments 13:45
tadzik my physics is waiting for me, heh 13:50
moritz wishes tadzik best of luck 13:51
tadzik thanks. For now, I need some best of motivation :)
moritz rakudo: say (my @motivation).elems 13:52
p6eval rakudo 2bac6a: OUTPUT«0␤»
moritz seems motivation is out. Try sense of duty instead.
tadzik hmm, will think about it 13:54
rakudo: say "charmander".chars 13:55
p6eval rakudo 2bac6a: OUTPUT«10␤»
tadzik I liked "nom:", it was short
flussence rakudo: sub prefix:<+~>(Str $s) { $s.chars }; say +~'abcdef'; 13:56
p6eval rakudo 2bac6a: OUTPUT«0␤»
flussence rakudo: sub prefix:<+~>(Str $s) { $s.chars }; say +~ 'abcdef';
p6eval rakudo 2bac6a: OUTPUT«0␤»
flussence hm
rakudo: sub prefix:<+>(Str $s) { $s.chars }; say +'abcdef'; 13:57
p6eval rakudo 2bac6a: OUTPUT«6␤»
flussence
.oO(if only there was a unicode symbol for "number of chars" I could use there...)
13:58
13:58 bluescreen10 joined
flussence std: sub prefix:<+>(&infix<~>:($a, $b)) { } # I wonder... 13:59
p6eval std e3c970e: OUTPUT«===SORRY!===␤Unable to parse signature at /tmp/ZI_A6jK7jN line 1:␤------> sub prefix:<+>⏏(&infix<~>:($a, $b)) { } # I wonder...␤Couldn't find final ')'; gave up at /tmp/ZI_A6jK7jN line 1:␤------> sub prefix:<+>(&infix⏏[…
flussence nope, too crazy of an idea :) 14:00
std: sub prefix:<+>(&infix:<~>:($a, $b)) { }
p6eval std e3c970e: OUTPUT«Can't create infix:sym<~>:($a, $b): syntax error at (eval 233) line 18, near "qw<~>:"␤syntax error at (eval 233) line 30, near "qw<~>:"␤␤FAILED 00:01 122m␤»
flussence huh, that's the first time I've seen std output an error that didn't end in an ellipsis. 14:01
14:03 wtw left 14:04 wamba joined
moritz std: 1 14:06
p6eval std e3c970e: OUTPUT«ok 00:01 117m␤»
moritz that was easy :-)
14:08 Sarten-X left
sorear good * #perl6 14:08
phenny sorear: 05:51Z <mberends> tell sorear we have the option to use Zavolaj or Blizkost generally when a Perl 5 module abstracts a native library, for example a PostgreSQL or MySQL client. I preferred independence from the effect a Perl 5 layer might have on what is available to the Perl 6 code. In short, call direct. The question for the Niecza interop design is whether you can _always_ interrogate native code to tell you its methods and parameters, or not.
sorear: 06:03Z <mberends> tell sorear otoh, CLR is easier to deal with than native code because CLR has Reflection. Calling from Niecza to native code involves jumping through two hoops, CLR and FFI. We don't want the solution to look like Perl 5 XS.
JimmyZ good morning, sorear 14:10
moritz \o
14:17 MayDaniel left 14:24 zby_home joined 14:25 envi left 14:28 zby_home left 14:30 awoodland left 14:31 Sarten-X joined 14:33 kaare_ joined
mberends hi sorear. Maybe that should be three hoops - CLR, unmanaged code interop, and then FFI. I'm not sure. 14:36
14:38 envi joined
mberends The best way to find out is probably to attempt to create a working example. I think that would take me at least several hours. 14:39
moritz aren't there CLR-based drivers for most interesting things already? 14:40
14:41 wk left 14:42 [particle]1 joined 14:44 [particle] left
mberends yes there are CLR drivers for many things. When designing the overall API, I would prefer not to restrict it that way though. It would be best to be able to access as many different libraries as possible. The most high performance software on Windows is still compiled native (unmanaged) code. 14:48
dalek ecza: d3b0031 | sorear++ | lib/Builtins.cs:
Make sqrt return the *principal* square root in accordance with the spec
14:50
14:54 molaf joined 14:57 risou_awy is now known as risou
sorear mberends: I'm seeing three general approaches here. 15:02
"Blizkost like": CLR::System::Console.WriteLine("Hello, World");
"Zavolaj like (1)": sub writeLine is clr("System::Console", "WriteLine", "string", "void") { ... }; writeLine("Hello, World") 15:03
"Zavolaj like (2)": sub puts( Str $x ) is native() { }; puts("Hello, World") 15:05
mberends sorear: thinking 15:07
sorear mberends: when you talked about "Zavolaj like", which did you mean?
the tricky part of #0 is getting fully automatic type-directed marshalling to work. #1 can use hints 15:08
mberends sorear: I was thinking of (1)
sorear: I like each one for different reasons, almost want to have them all :) 15:09
moritz how would any of them deal with structs? 15:10
sorear I guess you could have a Perl 6 object encapsulating a struct 15:11
mberends moritz: very good point. we probably should sort out a Perl 6 struct spec out first. It's tricky.
sorear my $t = CLR::System::DateTime.new(0); 15:12
$t.AddDays(5);
CLR::Some::Class.MethodWhichChangesARefDateTime($t);
say $t.ToString(); 15:13
TimToady it sounds like a fancy type-mapping responder interface
mberends there is the risk of being pulled into a "CLR Perl 6" mindset
TimToady yes, we'd like to avoid becoming Perl# 15:14
flussence I was thinking of writing a struct role, but I'm waiting for Bufs + pack/unpack to work reasonably in new master first...
moritz mberends: I think natively typed attributes bring us a long way there, but it might need a custom metaclass (or at least a trait)
mberends structs might have to be specified as a kind of annotation (trait) for opaque data *handwave* 15:15
moritz: this connects back to our recent native types discussion
sorear TimToady: exactly a responder interface 15:16
moritz finds the *handwave* part particularly interesting
sorear ummm, all of you, why are you trying to define structs in Perl 6?
I thought the point of this exercise was to access *existing* code using *existing* types 15:17
flussence I want a nice way to mess with arbitrary binary files too
TimToady existing code uses structs :)
sorear flussence: oh, you said structs, I thought you meant C# structs 15:18
TimToady and it depends on what you mean by "existing types"
mberends talking to SQLite needs structs, that's why Zavolaj cannot atm
TimToady S12 talks about structs
sorear which have ~nothing to do with C structs
flussence I've no idea what C# structs are like, I just assumed everyone meant the C ones :)
15:18 am0c left
JimmyZ how about Link-C like? 15:18
TimToady sorear: the intent is to converge on the C(ish) representation if you use native types 15:19
sorear TimToady: in the C model, every compilation unit defines the struct, so defining structs in Perl 6 makes sense
TimToady S12:702 and S09:129
sorear TimToady: C# structs are defined in one place and referred to by reference only 15:20
TimToady so just different models of unificaiton
*tion
15:20 dual left
moritz TimToady: what I dodn't like about S09:129 is that attributes are meant to be private/internal 15:21
sorear defining structs in perl 6 code seems to be pointless since we can just refer to the existing structs
15:21 uasi left
TimToady moritz: which is what S12:702 is for 15:21
sorear and moreover, the CLR uses nominal identity - if you define your own struct, it is *not equivalent* to any predefined struct, and is therefore useless for FFI 15:22
TimToady sorear: assuming we can do the typemapping without p6-side hints, sure
moritz TimToady: which isn't quite the same as saying "the order of attribute declarations within the class matter"
15:22 Aridai joined
TimToady moritz: and there's issues of alignment too, if you get bored with the order :) 15:23
moritz TimToady: right
TimToady we're just trying to make it possible to get there from here, in a fashion that could be efficient someday
and without having to write more than a minimal amount of glue or even hints 15:24
sorear how would you write an anonymous bit-field?
TimToady by using only the sigil? 15:25
TimToady is full of facile answers this morning :) 15:26
15:26 jevin left 15:28 jevin joined
TimToady I'm fine with deriving types from external sources though; that's what 'use' is for, after all... 15:29
JimmyZ hopes most java projects in apache foundation will be rewritten in perl 6 eventually ;) 15:30
TimToady and to the extent that XS has taught us anything, it's that it's preferable to have any glue code in one or the other high-level language rather than inventing a 3rd language for it...or at least a 3rd language like XS :) 15:31
the other question is when the glue code (if any) is run, and who runs it? Compile time? Use time? 15:32
mberends TimToady: you answered my question before I had time to finish typing it :)
TimToady the Inline modules point toward 'use' type semantics 15:33
or BEGIN-time even
moritz and afaict they have quite some problems
because they want to run a compiler when you 'use' the module, making it slow and prone to permission errors 15:34
TimToady yes, an internal C/whatever compiler would be less error prone in that sense
we need a language that makes it easy to write parsers :)
15:35 uasi joined
TimToady anyway, not really trying to design it all for you; my job is handwaving :) 15:35
15:35 am0c joined
TimToady but I see it as mostly a funny kind of unification problem between two type systems, and the rest is details 15:37
maybe I should run for President with a "Yes we can!" motto... 15:38
oh wait, been done
moritz and it was successful
TimToady apologizes for having his brane in sideways this morning
moritz so, good chances for you, TimToady 15:39
TimToady hates both parties, so not much chance of it, even if I were suited for the job, which I ain't 15:40
moritz would certainly love to see a president who's not hungry for power
mberends sorear: do you think you will treat CLR interop and unmanaged code interop as two separate matters, or a single combined one? 15:41
im2ee Maybe you (or we in future :) ) could make site for Perl6 Developers, where each developers can find informations about - tasks (progress, whats to do, what is not completed)? 15:42
Where each developers can write : "I'm working on SOME::MODULE" etc.
He can write about progress etc. 15:43
Or it's unnecessary ? :)
mberends im2ee: several of our members blog a lot
TimToady so far, blogs + github + irc plus project-specific files seems to scale 15:44
tadzik well, if you examine the irc channel you're on, you'll notice that we tend to know who works on what. Note the #phasers meetings too
im2ee Of course, but is it enough mberends ? :)
TimToady but it might be possible to find a better organization for that info
tadzik irclog.perlgeek.de/phasers/2011-08-30
15:44 uasi left
im2ee Hm, right - but on this site would be all in one place :) 15:45
TimToady perlgeek.de is one place
im2ee Hm, ok. :)
TimToady and there's a sense in which these things evolve organically as needed 15:46
it's useful to push such an idea, but if you get too far out in front of the need, then it tends to get bypassed later
we've had lots of bypassed web sites in Perl 6 history
the real trick is to see the need at the point in time where people are ready for it 15:47
im2ee Ok, i'm new. So i didn't know. :)
TimToady well, we need a few visionaires too :) 15:48
*aries
im2ee :) 15:49
mberends im2ee: hope that answered your question :)
TimToady the people who do best here are the ones who are comfortable both with their head in the clouds and their feet on the ground
im2ee Yes. :) Thanks
TimToady and don't mind getting rammed by a few birds from time to time :) 15:50
sorry, told you my brane was in sideways today
15:51 agentzh left
im2ee :) no problem 15:51
TimToady should go do something useful instead of imagining impossible things before breakfast 15:52
flussence leaves this here because I seem to keep forgetting about it - gist.github.com/1186468 15:55
tadzik I like the way you think 15:56
moritz flussence: the default .new requires hashes 15:57
flussence: you you probably need my %values = self.^attributes.map(*.name) Z unpack($format, $blob);
15:57 apejens left
im2ee moritz, what means ^? (one?) 15:59
15:59 cognominal_ joined
im2ee I saw somewhere it today, but where? :) I forget. 15:59
moritz im2ee: $obj.^method is a method call on the meta class
rakudo: say 1.^method(:local) 16:00
p6eval rakudo 2bac6a: OUTPUT«Method 'method' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤ in method dispatch:<.^> at src/gen/CORE.setting:615␤ in <anon> at /tmp/0jeuZCIm_i:1␤ in <anon> at /tmp/0jeuZCIm_i:1␤␤»
moritz rakudo: say 1.^methods(:local)
p6eval rakudo 2bac6a: OUTPUT«Int Num Rat abs Bridge chr succ pred sqrt base Bool Str␤»
moritz these are methods defined in the Int class, of which 1 is an instance
im2ee Amazing. :) Thanks
16:02 cognominal left 16:04 birdwindupbird left
im2ee And what means "given"? I can't find it. 16:04
"given $attr.type {"
16:05 apejens joined
tadzik it's our switch-case, but better 16:05
16:06 pmurias joined
tadzik perlcabal.org/syn/S04.html#Switch_statements 16:06
im2ee Thanks! :) 16:07
pmurias sorear: re C# binding, what i would like to have is the ability to use a C# library without writing bindings for the individual functions even if that means an unperlish interface
OTOH a CPAN module might want to specify a nice perlish interface 16:09
16:12 uasi joined 16:20 JimmyZ left 16:25 ccc_ left
pmichaud re-good morning 16:27
mberends re-o/ 16:28
tadzik rehey
16:34 donri left 16:38 mj41 left 16:40 Holy_Cow joined, Holy_Cow left
pmichaud 13:05 <mls> I've patched parrot's runloop to collect call statistics 16:42
(1) that's really awesome
(2) how is it different from Parrot's profiling runloop?
(other than "it seems to work") 16:43
16:43 Aridai left 16:44 Trashlord left
pmichaud there's definitely a problem with lineof 16:47
looking.
....and I bet that problem is directly related to whatever is slowing down our compilation speed 16:48
because if lineof is having these problems, it implies that there are at least 18K source code objects lying about somewhere. 16:49
(although they might not be exactly clones)
phenny: tell mls would you be able to do the same sort of callgraph analysis for compilation of Rakudo ng's setting? 16:52
phenny pmichaud: I'll pass that on when mls is around.
pmichaud phenny: tell mls it would be really useful to be able to compare the differences between ng and master 16:53
phenny pmichaud: I'll pass that on when mls is around.
16:55 uasi left 16:57 dukeleto joined 17:01 colomon left 17:05 dakkar left 17:09 mj41 joined 17:17 cexsum joined
dalek odel: b19eb80 | (Martin Berends)++ | c/ (8 files):
odel/c] initial refcount memory manager with tests
17:21
17:22 daniel-s left, daniel-s joined 17:29 jevin left 17:31 jevin joined 17:32 localhost joined, localhost left 17:35 donri joined 17:39 cognominal___ joined
im2ee To write a standard function (like say, print etc.) what i must do? 17:40
It depends on Rakudo?
Or something like standard module? 17:41
17:42 cognominal_ left
pmurias im2ee: what do you mean by a standard function? one which is always avalible in all lexical scopes? 17:43
17:44 colomon joined
im2ee Yes. :) 17:44
Which is available in every programs written in p6. :) 17:45
17:45 ZaphrodZenovka left 17:46 ZaphrodZenovka joined
TimToady then it has to be put into the "setting", which is like a Haskell prelude, except we think of it as lexically around the user's code, not in front of it 17:46
tadzik im2ee: what do you plan to do? 17:48
17:48 ZaphrodZenovka left 17:50 pmurias left 17:54 risou is now known as risou_awy 17:55 masak joined
masak oh hai #perl6 17:57
im2ee tadzik, hmm, i have some ideas, but i must learn a bit more. :)
masak eiro: great! looking forward to hearing about your progress!
eiro: as far as I know, I'm the only one who's build such an AI so far. I didn't publish mine yet. (it's very naive) 17:58
Su-Shee call it "young and innocent" ;) 18:01
masak it's very young and innocent. 18:02
Su-Shee let 18:03
let's knit a nice cuddly toy!
masak imagines one knit cuddly toy for each animal type in Little Animal Farm 18:06
Su-Shee which can be automated by your young and innocent AI in need of some cuddly toys!
also, skynet will be fluffed and cuddled into submission.
masak awww 18:08
18:10 Trashlord joined, birdwindupbird joined 18:12 Sarten-X left
Su-Shee sees terminator kittens and bunnies. but maybe that was just my three hours at the dentist.. 18:12
18:12 daniel-s left 18:14 ZaphrodZenovka joined
masak TimToady: if strings are immutable, and cursors are immutable, and each cursor keeps an $.orig reference, what is it that actually changes when string-emitting macros change the source code? 18:16
im2ee Does exist something like auto-closing file? E.g. i open file, and i forget about close this file on the end of a scope . Does perl close it automatically? :) 18:20
18:20 colomon left, localhost joined
moritz im2ee: it should be closed eventually. It isn't now in rakudo and parrot (known bug) 18:20
im2ee moritz, ok. Fine. :) 18:21
tadzik is it a lack of DESTROY?
masak im2ee: Perl 5 closes it when its variable goes out of score. Perl 6 closes it when the value gets GC'd, which is any time starting from when its variable goes out of scope. :) 18:22
moritz tadzik: mixture of lack of DESTROY and lack of global destruction
tadzik mhm
18:23 colomon joined 18:29 zby_home joined 18:39 Vlavv` joined 18:42 Vlavv left
masak I don't know if I've posted "Enough is Enough: A Thinking Ape’s Critique of Trans-Simianism" here before... but it seems many in here would like the tone of that text. 18:45
it's even slightly on-topic if you believe Perl 6 will have a hand in the Singularity :P 18:46
18:46 masak left
TimToady we're working toward the Plurality instead... 18:46
18:47 [particle]1 is now known as [particle] 18:58 daniel-s joined 19:07 DarthGandalf left 19:10 birdwindupbird left 19:17 wamba left, zby_home left 19:21 daniel-s left
lue hello planet o/ 19:22
colomon \o
TimToady plant o/ greets you 19:23
*planet
lue TimToady: I noticed the P6 cheatsheet is no longer at wall.org/~larry/cheatsheet [had to use the Wayback Machine to get it] 19:27
pmichaud it should be in the perl6 repo somewhere 19:28
lue makes sense /me checks
TimToady okay, should be there now again (been restoring things piecemeal since a headcrash) 19:29
19:30 daniel-s joined
lue yep, it's in the mu repo. And TimToady++ for getting it back online (sometimes typing in a simple URL is faster than a dig through the mu repo) 19:32
TimToady I note that 'slice' should now be 'lol' 19:35
lue suddenly knows a bit more about what 'slice' used to mean, thanks to the new, more descriptive name 'lol' 19:46
19:56 wamba joined, bluescreen10 left 19:59 bluescreen10 joined 20:04 tylercurtis left 20:08 daniel-s left 20:09 daniel-s joined
pmichaud I'm having a hard time finding the time spent in 'lineof' as claimed by mls' kcachegrind file 20:37
20:37 mberends left
pmichaud what do the counts represent, ooc? 20:39
im2ee Have to go, bye! :) Have a nice day
or night :)
tadzik o/ 20:40
20:41 im2ee left
flussence does anyone know what happened to that old spec graph that used to be on the rakudo site? I remember seeing it a long time ago, dunno if it's been lost since 20:53
pmichaud some of the internals changed, so it was left to bitrot 20:54
i.e., we could no longer keep the totals up to date reliably
the program that created those graphs is tools/progress_graph.pl 20:55
er, tools/progress-graph.pl
flussence yeah, just curious to see what it looked like so I can tell if I missed anything important on my ones... :)
pmichaud oh, I have some old graphs in slideshows
just a sec
pmichaud.com/2009/pres/oscon-rakudo...lide6.html 20:57
there's an example.
flussence that looks like it, thanks
pmichaud also: pmichaud.com/2009/pres/images/rakud...-04-17.png 20:58
tadzik there was one in my talk too 20:59
github.com/tadzik/Perl6-slides/blo...ogress.png 21:00
flussence I'm not entirely sure what the regr(ession)? number is on those old ones, I've looked at the code too...
21:05 huf left 21:07 huf joined
cognominal___ sacré faciste de Callaghan! sur France 3 21:13
*fasciste 21:14
21:15 wamba left
cognominal___ il suffit qu'il se promène dans le quartier chinois de SF pour qu'il y ait un hold up 21:16
tadzik ww? 21:17
cognominal___ oops 21:18
wrong channel, again :(
tadzik happens to the best of us :)
flussence (meanwhile, some other channel is getting a long essay about hyperoperators...) 21:19
21:19 dorlamm joined
tadzik an actual laughter was produced, aloud 21:19
flussence++ # plain 'lol' is not sufficient these days 21:20
TimToady laughed out loud really == lolr, and then we can quantify it with lolr(1) 21:27
21:27 kaare_ left
sjohnson heh 21:27
$self->_lolr == 1
tadzik look ohead?
fatface!
pmichaud just _knows_ that we're going to end up with a .lolr contextualizer now. 21:28
probably instead of .tree(1) :-)
tadzik ( `ー´) 21:29
gets me every time :)
sjohnson heheh 21:30
21:32 tomaw left, tomaw joined, tomaw left, tomaw joined 21:34 natureboy joined 21:35 Sparky_ joined
Sparky_ natureboy: hi 21:36
21:36 swarles joined
natureboy Sparky_: hi 21:36
Sparky_ i l y l o l =]
natureboy swarles: people probably think we come in a package or something
swarles hahaha 21:37
TimToady, what text editor do you use?
21:37 tomaw left, tomaw joined
sjohnson he uses vim! 21:38
swarles I thought so haha 21:39
sjohnson too
swarles I could never get into vi because im not good with the key triggers or whatever you would call them
Sparky_ it just takes some getting used to 21:40
i use nano for my text-ui editor
gedit or kate for my gnome one
swarles nano is very easy to use, i use it as well 21:41
sjohnson after a long learning curve with vi 21:48
you become convinced that it is the best way to write code
swarles I have heard that a lot, why is that? 21:49
tadzik I had a moment of enlightenment when I realized that typing itself cannot be optimized really much. It's the editing, jumping through the document that the time is wasted on. vim changes that
Sparky_ 􏿽xF6.􏿽xF6 21:50
swarles Does it let you jump to certain code blocks or something? 21:51
I'll have to look it up
tadzik well. You can really easily jump for example 3 words forward. Or to the next opening bracket. To change the word on the cursor and nothing else
flussence typing can't be optimised, sure, but vim's drawing of those chars to screen leaves a lot to be desired... 21:52
tadzik I don't think I understand
flussence on my netbook the vim process tends to average 10% cpu just editing perl6 code 21:53
tadzik oh, I think our hilighting is a bit less than awesome in that sense
but I won't really seek vim's fault in that
flussence (anyone feel like writing a vimscript LLVM backend? :) 21:54
cognominal___ tiens on voit la voie rapide détruite par le tremblement de terre sur France 3 21:55
21:55 mkramer1 joined
tadzik hehe 21:56
cognominal___ Callaghan fait son jogging sur Embarcadero
21:57 Sparky_ left
sjohnson swarles: if if you're wondering why that is, then.. simply because when you get fast at doing what Vim can do with your fingers 22:00
it's just so much slower doing the same things in things like notepad, or nano
jump around, copy blocks of code quickly, delete lines quickly, and a hundred other things 22:01
swarles I'm trying it out right now, I'm reading a tutorial on it as we speak ^.^
donri a very strange enchanted boy.. 22:02
sjohnson swarles: took me many months to get used to using it
it has a steep learning curve, so try not to become too frustrated
also, i have found that setting up a .vimrc with simple macros to make qutting easier essential for my piece of mind 22:03
map :Q! :q!
shit like that
swarles o.o
22:03 bluescreen10 left
swarles :ZZ is quit and save right 22:03
?
flussence no, you can just write ZZ for that 22:04
or :x
swarles oic
I'm making sure that i read the tut carefully, because i know if i deviate i'll get mad when it doesnt work, haha
donri vim is best at editing, emacs at everything else
sjohnson my favourite custom mapping is: map q :q<CR> 22:05
i even read someone else figured that out, and even posted a blog about it
jasonmay do you have recording mapped somewhere else? I am intrigued
donri yehudakatz.com/2010/07/29/everyone-...was-wrong/ mandatory reading 22:06
tadzik I have a feeling that people are talking about vim a bit too much 22:07
donri because they are... vimpy. 22:08
22:09 dorlamm left
sjohnson jasonmay: you mean, do i have my mappings online somewhere? 22:10
lue I for the record use emacs as a secondary OS :) [remote editing and archive viewing go!, to name a couple of great things]
tadzik I use mc for that :)
22:12 dorlamm joined 22:13 dual joined
lue I tried vim (for, what, a minute, long time ago) and didn't like it too much (in particular the need to switch into an editing mode to do anything). There was something about emacs though that made me stick with it. 22:14
[Now if only I were allowed to change my Caps Lock key to Ctrl...]
22:15 bbkr joined 22:16 mj41 left
donri modal editing is effective if you can manage to train yourself to defer fixing errors to after you're done inputting, for example 22:18
i.e. stay in one mode longer instead of switching all the time between editing and inserting
felher lue: Well, most of the vim users love vim for its two modes. One may very well remap some key to escape though, so one doesn't have to leave the home-row for leaving insert-,command-,visual-mode. 22:19
donri ^C works for leaving insert mode
lue O.o 22:20
donri i rarely ever use escape in vim
djanatyn lue: You're not allowed to change your capslock key to control?
felher donri: well, yeah. But just for leaving. It is not the same as <esc> since it behaves quite differently. 22:21
TimToady I use CTRL-[, and I do have my capslock remapped
donri felher: in deed
TimToady so I don't leave the homerow to escape
djanatyn remapped his capslock key to ctrl
donri ^[ is like insanely complicated to type on a swedish keyboard
lue I think my keyboard is wired to not allow remapping Caps Lock. On Apple keyboards (at least this powerbook's), the CapsLock LED is in the key itself, which tells me the functionality is hardwired
donri ctrl+altgr+9
TimToady lue: not necessarily 22:22
22:22 bbkr left
lue [Trying to remap results in a dead Caps Lock key that does nothing] 22:22
22:22 bbkr joined
TimToady I've had capslock keys like that that remapped fine 22:22
lue Or perhaps I haven't been doing it right :)
TimToady the light went on or off every other time though :)
felher just did :imap fj <esc>. fj is very fast to type, one does not have to leave the homerow and i never had to realy insert fj.
djanatyn just used xmodmap
sjohnson TimToady: is your capslock remapped to ESC? 22:23
that's why i do
TimToady no, it's ctrl, like it oughta be :)
lue (other items on my keyboard agenda include learning Dvorak (just for the heck of it, haven't decided between English or Programmer), and designing my own keyboard
sjohnson i find it much easier for my left pinky to hit the caps
as ESC, that is
TimToady I switched to vi because emacs was wearing out my left pinky 22:24
lue I'd love to avoid the "Emacs Pinky" by CapsLock -> Ctrl. [as soon as my computer is done with the mass upgrade, I'll try all that again]
(Not that I've had "emacs pinky" yet, I'm not a shortcut-maniac)
sjohnson so far i'm the only guy i know who uses CAPS -> Esc for blissful vi editing
though one girl at work who doesn't use Vi still does it, and she said it's rocking her world. going over to her computer to do stuff is blissful cause it's just like my setup
donri i have caps as compose in x11 22:25
lue
.oO(The world would be much better off with clicky noise-making Space Cadet keyboards...)
22:26
plobsing you people must be really smart. My mind can never output sufficiently fast to put any kind of strain on my hands.
TimToady lue: not when you have an SO trying to sleep
pmichaud I've mapped individual pixels on the top row of my monitor to input characters, so that clicking at e.g. 0,65 sends an "A". Thus I can enter up to 1920 unique characters all with a single button. :-P
felher pmichaud: :D awesome idea! 22:27
lue perhaps s/The world/I/ then (or s/The World/Some/)
felher someone really should imlement a virtual-keyboard working that way :) 22:28
lue .oO[You quickly run out of buttons on a kb when you want to assign them to middle click, right click, compose, and uim/anthy] 22:29
felher lue: Yeah, but as pmichaud statet: With 1920x1080 res, mapping the first row of pixels of your screen to characters gives you 1920 characters :D If you use left,middle,right, even 5760 :) 22:31
lue rakudo: my $pixels = 1024 * 768; my $unicodechars = 0x110000; say ?($pixels >= $unicodechars); 22:33
p6eval rakudo 2bac6a: OUTPUT«Bool::False␤»
lue ponders an -Ofun keyboard 22:35
donri typematrix.com/
22:38 dorlamm left
lue I'll check that in more detail later (curse thee inadequate CPU!), but looks cool. [My favorite from looking for fun so far is Das Keyboard] 22:39
TimToady lue: if you have a color screen you can count each pixel 3 times :) 22:46
rakudo: my $pixels = 3 * 1024 * 768; my $unicodechars = 0x110000; say ?($pixels >= $unicodechars);
p6eval rakudo 2bac6a: OUTPUT«Bool::True␤»
lue I would love to see a Unicode keyboard (0x110000 keys, all produce a different character) 22:47
natureboy what is ?() ?
TimToady ? is a prefix operator that is the opposite of ! 22:48
so like !! in Perl 5
natureboy oh, that's convenient
donri rakudo: say 3 >= 2 22:49
p6eval rakudo 2bac6a: OUTPUT«Bool::True␤»
donri rakudo: say 1.Bool 22:50
p6eval rakudo 2bac6a: OUTPUT«Bool::True␤»
donri rakudo: say 0.Bool
p6eval rakudo 2bac6a: OUTPUT«Bool::False␤»
donri and of course "??" is the same as "!" (but only on a certain day in april) 22:51
TimToady "yeah, sure." <-- double positive 22:56
donri "do you mind" "yes of course!"
TimToady "You can say that again." === "That goes without saying." 22:57
lue
.oO(really unsure people should use the ???????????? prefix)
donri theoatmeal.com/comics/literally 22:58
TimToady perl6: ???????????
p6eval rakudo 2bac6a: OUTPUT«===SORRY!===␤Found ?? but no !! at line 1, near "???"␤»
..niecza v9-8-gd3b0031: OUTPUT«===SORRY!===␤␤Prefix requires an argument at /tmp/j9VGcHPr8v line 1 (EOF):␤------> ???????????⏏<EOL>␤␤Parse failed␤␤»
..pugs: OUTPUT«*** ␤ Unexpected "???????????"␤ expecting program␤ at /tmp/jnKDHxFXH6 line 1, column 1␤»
lue
.oO(I *literally* destroyed Jupiter when I saw that link to theoatmeal)
perl6: my $a = 3; say ????????????$a; 22:59
p6eval pugs: OUTPUT«*** ␤ Unexpected "????????????$"␤ expecting bare or pointy block construct, ":", identifier or operator␤ at /tmp/nS3U9Fktti line 1, column 16␤»
..niecza v9-8-gd3b0031: OUTPUT«===SORRY!===␤␤Expecting a term, but found either infix ?? or redundant prefix ?␤ (to suppress this message, please use space between ? ?) at /tmp/fL5Vlc1Ix5 line 1:␤------> my $a = 3; say ????????????⏏$a;␤␤Parse failed␤␤…
..rakudo 2bac6a: OUTPUT«===SORRY!===␤Found ?? but no !! at line 1, near ";"␤»
donri oh wait ??!! is the ternary right?
otherwise the rakudo error was hilarious
TimToady and ??? is a listop
23:00 drbean left
lue Darn. I was kinda hoping you could stack the ?'s ... [for no other reason than because you can, so it's not a loss] 23:00
TimToady perl6: ? ? ? ? ? ? ? ? ? 42
p6eval pugs, rakudo 2bac6a, niecza v9-8-gd3b0031: ( no output )
TimToady perl6: ??? ??? ??? 23:01
p6eval rakudo 2bac6a: OUTPUT«Could not find sub &warn␤ in <anon> at /tmp/9Fog6nNLRc:1␤ in <anon> at /tmp/9Fog6nNLRc:1␤␤»
..pugs: OUTPUT«*** Cannot cast from VUndef to GHC.IO.Handle.Types.Handle (VHandle)␤ at /tmp/RudZp1qt_6 line 1, column 9 - line 2, column 1␤»
..niecza v9-8-gd3b0031: OUTPUT«Unhandled exception: >>>Stub code executed␤ at /tmp/pQUH5dzr4l line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2045 (CORE C954_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2046 (CORE module-CORE @ 57) ␤ at /home/p6ev…
donri perl6: ! ? ! ! 0 ?? 1 !! 0
p6eval pugs, rakudo 2bac6a, niecza v9-8-gd3b0031: ( no output )
lue What does work though (and I've used it a couple of times) is !?$a 23:02
donri 2bac6a "oh that one"
chewbacca
23:02 swarles left 23:03 ralfradio joined
donri lue: what be the point though? 23:03
TimToady not so $a # much more poetical 23:04
lue To boolify the variable and negate it (I honestly can't recall why I do it, but I recall having good reason to)
rakudo: my $a = 1; say "hi" if not so $a; 23:05
p6eval rakudo 2bac6a: ( no output )
lue Although from I've read here just now !$a would do the same thing (i.e. the ? is redundant). I still like the look and clarification of !?$a :) 23:06
23:07 wolfman2000 joined
TimToady rakudo: if False == so not True { say so True } 23:07
p6eval rakudo 2bac6a: OUTPUT«Bool::True␤»
lue :D 23:08
.oO(only in P6...)
donri rakudo: say .WHAT
p6eval rakudo 2bac6a: OUTPUT«Any()␤»
donri rakudo: .say given * 23:09
p6eval rakudo 2bac6a: OUTPUT«*␤»
lue I'm also still searching (passively however) for a suitable English translation of %_
donri topical pair map! 23:11
natureboy what are the "postcircumfix" methods?
lue [$_ -> it, @_ -> them, %_ -> ???, &_ -> ???, ¢_ -> ???]
donri punctuation that goes around something, after something else
f.x. calling() is i think postcircumfix:<()> 23:13
the parenthesis are "post" the identifier and "circum" the arguments
natureboy i see 23:14
TimToady lue: there is no ¢, you've been reading ancient documentation 23:16
lue it's mentioned briefly in S08, as well as its ASCII equivalent @%
donri %_ -> "the respective"?
23:16 mkramer1 left
TimToady "thus" 23:17
donri ah
lue
.oO(get all the key-value pairs of thus)
23:18 mkramer joined
donri "thus get all the facts"? :) 23:18
lue I really like P6 because at times it feels like a natural language, almost as if a linguist designed it... 23:20
TimToady as if an almost linguist designed it, you mean :)
lue I agree with the "it's not a first language, it's a last language" sentiment. You'll never not want to use P6 once you know it. 23:22
donri a language to last 23:26
lue
.oO(It's also the only language with a lol type) There should be a grand list of "cool things about P6", where everyone adds a particularly amazing/cool/fun feature they've found
23:30
23:34 Psyche^ joined 23:37 wolfman2000 left, Patterner left, Psyche^ is now known as Patterner 23:38 saaki left
lue afk 23:38
23:52 [Coke] joined
[Coke] . 23:52
23:53 [Coke] left 23:54 [Coke] joined 23:58 tokuhirom joined, molaf left