»ö« 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
|