Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-03-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 stkowski left #perl6
00:10 cdarroch left #perl6
00:20 Alias_ left #perl6
00:33 sorear does nobody here understand mail etiquette? :/
00:35 sjohnson which part in particular?
00:36 sorear I have a reply to a thread
00:36 sorear But the reply has broader scope than the thread
00:36 sorear I want to send it to a different list
00:36 sorear Should I break the thread?  Should I crosspost it?
00:37 TimToady just break the thread, and maybe leave a short note in the other place
00:37 sjohnson just include the relevant info from the first thread, and start a new one
00:37 TimToady he wants to change mailing lists too
00:37 sorear ok.
00:41 gdey_ left #perl6
00:41 sorear ok, I have just posted to p6l
00:42 sjohnson hows TimToady
00:42 gdey_ joined #perl6
00:44 porter235 joined #perl6
00:47 Chillance left #perl6
00:48 porter235 left #perl6
00:51 icwiener left #perl6
00:54 coldhead left #perl6
00:56 coldhead joined #perl6
01:02 * sorear is playing "strip 1000s of lines out of STD to locate a bug in the compiler"
01:03 rgegregre joined #perl6
01:03 rgegregre left #perl6
01:05 plobsing left #perl6
01:06 sorear it seems as though #`「」 is slower than just commenting out every line with #
01:08 TimToady unicode issue maybe
01:09 TheMartianGeek You know something I just thought of?
01:09 TheMartianGeek Is there any plan for Perl 6 to have multi-line comments?
01:10 plobsing joined #perl6
01:11 woosley joined #perl6
01:13 sjohnson TheMartianGeek: yes
01:13 sjohnson already done
01:13 sjohnson #<...> i think
01:14 TimToady that is precisely what sorear++ was referring to
01:14 TheMartianGeek Yeah, his commentis what reminded me.
01:14 TimToady sjohnson: but requires a ` these days
01:14 TheMartianGeek *comment is
01:15 Util TheMartianGeek: http://perlcabal.org/syn/S02.html#Whitespace_and_Comments
01:15 TimToady bbl &
01:15 sjohnson oh.. backtick... oopsies
01:16 plobsing left #perl6
01:20 jevin left #perl6
01:20 sorear aha
01:20 sorear niecza isn't currently ignoring module-name adverbs correctly
01:22 stephenlb left #perl6
01:22 stephenlb joined #perl6
01:25 kunwon1 left #perl6
01:36 dalek niecza: 8d802f6 | sorear++ | src/niecza:
01:36 dalek niecza: Fix adverb stripping for STD:...
01:36 dalek niecza: review: https://github.com/sorear/niecza/commit/8d802f6a59
01:37 mtk left #perl6
01:40 GinoMan joined #perl6
01:46 mtk joined #perl6
01:47 sorear hello GinoMan
01:48 jasonmay fellow cplugger?
01:51 GinoMan hello Sorear
01:51 GinoMan yes
01:52 GinoMan brb..
01:52 sorear jasonmay: what's a cplugger?
01:52 jasonmay sorear: http://cplug.net/wp/
01:52 sorear also, how long have you been here? :)
01:53 jasonmay no idea!
01:53 sorear ah.
01:54 jasonmay I haven't been to a meetup in months, I just see GinoMan pop into the irc chnnel every once in a while
01:58 stephenlb left #perl6
01:59 whiteknight left #perl6
02:00 noganex_ joined #perl6
02:01 plobsing joined #perl6
02:01 noganex left #perl6
02:06 sorear jasonmay: I just think I rememeber the nick... was he from ih?
02:11 jferrero left #perl6
02:11 TheMartianGeek left #perl6
02:12 __rnddim__ is now known as lue
02:16 GinoMan it's ok, neither have I
02:16 GinoMan Jasonmay: did you see the one about Grub2/
02:16 GinoMan ?*
02:18 Tedd1 left #perl6
02:21 lichtkind joined #perl6
02:22 lichtkind left #perl6
02:29 jasonmay sorear: not sure
02:30 jasonmay GinoMan: I didn't. I'm hoping I can talk about my termcast project one of these meetups :)
02:32 GinoMan I was the speaker for the grub2 meeting, that's why I asked
02:33 GinoMan what's termcast?
02:38 dalek niecza: ddcccac | sorear++ | lib/Kernel.cs:
02:38 dalek niecza: Fix Match.[0] dying
02:38 dalek niecza: review: https://github.com/sorear/niecza/commit/ddcccac787
02:38 dalek niecza: 82bb637 | sorear++ | / (2 files):
02:38 dalek niecza: Update bootstrap to one built against the 2.0 runtime
02:38 dalek niecza: review: https://github.com/sorear/niecza/commit/82bb6370bd
02:38 sorear takadonet: ping
02:39 jasonmay GinoMan: broadcast your terminal across the internet
02:39 jasonmay for demos, pairing, etc. working on a telnet version and web version
02:42 * sorear doesn't have anything interesting to demo atm :/
02:45 porter235 joined #perl6
02:47 GinoMan ahhh
02:47 GinoMan screen as an example?
02:49 porter235 left #perl6
02:50 mberends joined #perl6
02:52 sorear GinoMan: ?
02:53 GinoMan a late friend of mine from PLUG used it to show me how to set up kde4 while it was still in beta
02:55 sorear so you don't need a demo?
02:56 GinoMan of termcast
02:56 GinoMan ?
02:57 sorear yes
03:02 PerlJam pmichaud++  (his answer to sorear is almost exactly the one I was going to type :)
03:05 PerlJam sorear: the only difference between pmichaud's version of "forgiveness over permission" and mine is that I would discuss it a bit on #perl6 first (maybe try to get a feel for TimToady), but ultimately change the spec if that's what you think is needed and you don't have any feedback about it
03:06 dsp_ left #perl6
03:12 takadonet1 joined #perl6
03:12 dsp_ joined #perl6
03:12 takadonet1 sorear: i been summoned
03:12 takadonet1 sup?
03:15 takadonet1 building now
03:19 fisted_ is now known as fisted
03:21 nymacro joined #perl6
03:26 sorear takadonet1: just going to tell you that the build issues seem to be resolved.
03:27 takadonet1 sorear: thx
03:27 takadonet1 build nice on my machine :)
03:27 sorear o/s?
03:27 takadonet1 ubuntu
03:30 entel left #perl6
03:32 jaldhar joined #perl6
03:36 TheMartianGeek joined #perl6
03:43 sorear hello TheMartianGeek
03:45 TheMartianGeek left #perl6
03:55 TimToady oh the subject in question, I've been trying to limit prefix ops to the ones normally seen as unaries in math, or that are basic functors like "temp"; sleep doesn't seem to rate that level of universality
03:56 satyavvd joined #perl6
04:05 dalek niecza: fc0955e | sorear++ | t/spectest.data:
04:05 dalek niecza: Remove test which only passed by accident.
04:05 dalek niecza: review: https://github.com/sorear/niecza/commit/fc0955e3d7
04:05 dalek niecza: 55abf9d | sorear++ | TODO:
04:05 dalek niecza: Add TODO items for features used by Yapsi
04:05 dalek niecza: review: https://github.com/sorear/niecza/commit/55abf9d8df
04:06 agentzh joined #perl6
04:06 jevin joined #perl6
04:08 lue Hello World o/  I came by just to say that Doctor Who airs 23 April!
04:08 sorear topic?
04:09 diakopter lue topic :)
04:15 takadonet1 left #perl6
04:17 lue I admit it's OT, I just wanted to share :) .
04:20 coldhead doctor who is more on-topic than that weird harry potter fanfic
04:20 ponbiki left #perl6
04:20 coldhead doctor who probably uses perl6
04:20 PerlJam Larry Wall is Dr Who
04:22 ponbiki joined #perl6
04:32 lue Well, it suddenly becomes way more on-topic if I mention masak's program  tardis  . But I won't mention it.
04:32 [particle]1 left #perl6
04:36 [particle] joined #perl6
04:38 donri left #perl6
04:40 sftp left #perl6
04:46 [particle]1 joined #perl6
04:47 [particle] left #perl6
05:15 Holy_Cow joined #perl6
05:17 mberends tardis has never been mentioned in #perl6, if you use a tardis to go back to before it was ever mentioned
05:18 Holy_Cow left #perl6
05:21 _twitch joined #perl6
05:21 benabik left #perl6
05:31 kaare_ joined #perl6
05:33 GinoMan is now known as GinoAFK
05:35 orafu left #perl6
05:35 arnsholt left #perl6
05:37 snearch joined #perl6
05:39 arnsholt joined #perl6
05:57 GinoAFK left #perl6
06:03 petdance left #perl6
06:04 moritz_ good morning
06:07 zorgnax joined #perl6
06:20 Khisanth left #perl6
06:23 zorgnax left #perl6
06:26 kst` joined #perl6
06:27 sorear hi moritz_
06:27 kst left #perl6
06:29 xinming_ joined #perl6
06:30 dalek evalbot: de1a65e | sorear++ | build-scripts/rebuild-niecza.sh:
06:30 dalek evalbot: For niecza build, also pre-build bundled libraries.
06:30 dalek evalbot: review: https://github.com/perl6/evalbot/commit/de1a65e939
06:31 sorear niecza: use Threads; my $p = ::Threads::ObjectPipe.new; ::Threads::Thread.new({ $p.put($_) for ^* }); loop { say $p.get }
06:31 p6eval niecza v3-65-g55abf9d: OUTPUT«(timeout)tance>␤»
06:32 xinming left #perl6
06:32 mberends \o moritz_
06:33 sorear niecza: use Threads; my $p = ::Threads::ObjectPipe.new; ::Threads::Thread.new({ $p.put($_) for 0..* }); loop { say $p.get }
06:33 p6eval niecza v3-65-g55abf9d:
06:33 p6eval ..OUTPUT«(timeout)␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤82␤83␤84␤85␤86␤8
06:34 sorear moritz_: was it you who wanted object pipes?
06:39 TimToady as if there were only one person who ever wanted object pipes...
06:39 Khisanth joined #perl6
06:40 moritz_ sorear: yes
06:40 TimToady (object pipes is why we have feed operators in the first place...)
06:42 sorear TimToady: who invented perl6 object pipes?
06:43 * TimToady bows
06:43 sorear ah.
06:43 sorear unrelated: how should 'our proto sub' work?
06:43 TimToady they've been in the design for man years...
06:44 TimToady well, poorly... :)
06:44 sorear suppose A.pm defines our proto sub GLOBAL::foo ...
06:44 sorear and B.pm defines our sub GLOBAL::foo ...
06:44 sorear does it matter whether use A or use B comes first?
06:45 TimToady I think the linker should probably refuse to unify those two names
06:45 sorear I still have only a tenuous understanding of our-linkage
06:45 sorear I get the feeling that the linking process should be order independant
06:46 TimToady that would be nice
06:46 sorear stash merging should be associative and commutative
06:47 TimToady different modules will have different subsets of GLOBAL, and these have to be merged somehow, so I'm in favor of order-less-ness if we can do it
06:47 sorear I guess it would be possible to say "multi may only be omitted if the proto is visible at BEGIN time"
06:47 TimToady like role composition, better to blow up than to leave a semantic timebomb in there
06:48 sorear right now the biggest semantic rough spot I have is with the import/export system
06:48 TimToady well, sure, but it the omission of 'multi' would merely be erroneous
06:48 sorear class Foo is export { } wants Foo:: to show up in three places
06:49 sorear TimToady: well, if you omit multi and there's no visible proto, you get an only sub, and the linker will refuse to unify an only with a proto
06:49 wtw joined #perl6
06:49 TimToady well, we'll catch what we can, and leave the rest for St Erroneus
06:53 * sorear out
06:57 moritz_ .oO( gotta catch 'em all! )
07:01 mberends left #perl6
07:11 noganex_ is now known as noganex
07:11 Mowah joined #perl6
07:24 gdey_ left #perl6
07:26 cjk101010 joined #perl6
07:28 gdey_ joined #perl6
07:29 fhelmberger joined #perl6
07:31 jaldhar left #perl6
07:31 jaldhar joined #perl6
07:40 [particle]1 left #perl6
07:59 justatheory left #perl6
08:04 cjk101010 left #perl6
08:10 cjk101010 joined #perl6
08:17 shi joined #perl6
08:23 masak joined #perl6
08:23 masak g'day, zebs.
08:24 jmm_ hi !
08:25 sjohnson hello
08:25 sjohnson hi masak, long time no see
08:26 masak sjohnson: $dayjob is eating my tuits lately.
08:26 * sjohnson doesn't understand "tuits"
08:26 sjohnson tuition fees? :<
08:26 masak you know when you say "I'll get around to it"?
08:26 sjohnson ahh yeah
08:26 sjohnson i got a whole text file of those
08:27 masak well, when you get around to it, you get... a round tuit. :P
08:27 sjohnson heh
08:27 sjohnson ive been doing a lot of p5 lately
08:27 masak me too.
08:27 sjohnson starting to realize perl 5 is more advanced than i thought... even though i thought it was advanced before
08:27 masak exactly :)
08:27 masak it's a fine language.
08:27 sjohnson it's like peeling an orange, as some eastern religions say
08:27 sjohnson err, peeling an onion i mean
08:28 masak :P
08:28 masak you're funny :)
08:28 sjohnson i guess that's why mr wall said "state of the onion"
08:28 sjohnson probably not, but i can see the parallel!
08:28 masak also, because Perl can make you cry...? ;)
08:28 sjohnson haha that too!
08:31 masak I consider Perl 5 to be a really solid consolation prize while we're building Perl 6.
08:31 masak with Moose, that's even truer.
08:34 masak sjohnson: did you see the Yapsi release last week?
08:35 sjohnson admittedly, i haven't been checking out much p6 development, mostly cause i keep forgetting how to code in it.  *whips himself*
08:35 masak aww.
08:36 masak yeah, like with every language you have to keep it fresh in mind.
08:36 sjohnson i do keep it in mind though... mostly cause p6 has some severe improvements to simple things i want to see in Perl, namely:  being able to do p5's qx//; in list context.
08:37 sjohnson even though p5's depth is far greater than my puny mind can fathom, forgetting to have a qx// version of system() in p5 is a huge mistake IMO
08:37 sjohnson but i think p6 solves this
08:37 masak &run (the new name for &system) has been criticized lately.
08:37 masak I think it was Tene who didn't like it.
08:38 masak I didn't understand the exact nature of the suggested improvement, though.
08:46 Tene masak: it's asking for shell injection and quoting errors.
08:46 masak right. that's the problem specification.
08:47 masak I got that part.
08:47 masak but I can't turn that into a spec change :/
08:49 marietta joined #perl6
08:49 shi left #perl6
08:51 amkrankruleuen left #perl6
08:52 marietta left #perl6
08:54 marietta joined #perl6
09:04 Mowah left #perl6
09:06 masak in SQL, prepare_statement helps avoid injection and quoting errors. I can't imagine a similar construct being useful/desirable for shell commands.
09:06 masak especially since the balance is very much tilted to the side of ease-of-use.
09:08 amkrankruleuen joined #perl6
09:14 marcio_ferreira left #perl6
09:17 woosley left #perl6
09:22 Axius joined #perl6
09:23 sjohnson Tene: do you agree with me?  or have i missed the big picture
09:25 mtk left #perl6
09:27 orafu joined #perl6
09:31 shi joined #perl6
09:33 mtk joined #perl6
09:34 masak left #perl6
09:42 snearch left #perl6
09:55 tzhs joined #perl6
09:57 dakkar joined #perl6
09:58 Axius left #perl6
09:59 Axius joined #perl6
09:59 sjohnson well, likes i have!  night night
10:00 jnthn morning, #perl6
10:00 Chillance joined #perl6
10:02 moritz_ morning jnthn
10:02 tadzik morning @all
10:06 tzhs left #perl6
10:13 domidumont left #perl6
10:20 orafu left #perl6
10:23 nymacro left #perl6
10:25 Axius left #perl6
10:25 nymacro joined #perl6
10:30 cosimo left #perl6
10:34 cpk joined #perl6
10:35 cpk hi there
10:35 cpk sorear : your fix for mono 2.0 seems to fix my issue with .net 4 on windows
10:36 Bo3Bo3 joined #perl6
10:36 moritz_ \o/
10:36 Bo3Bo3 left #perl6
10:36 cpk sorear: i can now run niecza, but it seems to have parsing issues
10:36 cpk i tried your rpg example
10:36 Tene phenny: tell masak to look at perldoc -f system.  You need to accept a *list*, not a string.  If you want ease of use, we already have nice list quoting semantics you can use.  If you really do want interpretation by a shell, call that specifically, or have a separate function for it
10:36 phenny Tene: I'll pass that on when masak is around.
10:37 cpk here is the error
10:37 cpk ←[31m===←[0mSORRY!←[31m===←[0m  Any()Strange text after block (missing comma, semicolon, comment marker?) at .\rpg.pl line 11: ←[0m--> ←[32m}←[33m?←[31m  Parse failed
10:38 Tene phenny: tell masak that if you accept a list, then there are no quoting concerns whatsoever, and you avoid a shell exec at the same time.  So much easier to deal with.  You also don't have to be aware at all of the quoting behaviour of the shell, be aware of variation between OS, etc.
10:38 phenny Tene: I'll pass that on when masak is around.
10:39 cpk sorear: same issue with a simple hello sub
10:39 cpk niecza: sub hello() { say "hello"; } hello();
10:39 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Strange text after block (missing comma, semicolon, comment marker?) at /tmp/NyPB_gB5Ot line 1:␤------> [32msub hello() { say "hello"; }[33m⏏[31m hello();[0m␤␤Parse failed␤␤»
10:40 moritz_ spectests are totally broken too
10:40 cpk moritz_: ok
10:40 cpk moritz_: something stupid maybe
10:40 Tene phenny: ask masak if that helps enough, and tell him that I'd be glad to continue in whatever depth he'd like.
10:40 phenny Tene: I'll pass that on when masak is around.
10:40 Tene phenny: thanks.
10:41 cpk moritz_: talk to you later, bye
10:41 cpk left #perl6
10:41 moritz_ Tene: I agree, and I don't like p5's behaviour
10:42 moritz_ where the first argument to system is shell-interpreted in the absence of more list items
10:42 moritz_ maybe run($command, @args) and run($expr, :shell)?
10:43 Juerd I think the default should really be to use the shell
10:43 Juerd Don't forget that perl's popularity is in part because of the powerful oneliners you can write with it.
10:44 orafu joined #perl6
10:44 domidumont joined #perl6
10:44 Juerd I'd even argue for different identifiers: shell($s) versus run($c, @a)
10:44 moritz_ +1 to different routine names
10:45 daxim joined #perl6
10:45 tzhs joined #perl6
10:46 Tene Juerd: Yes, exactly.
10:46 Tene although I'd name the former something like &please-inject-me-harder
10:47 moritz_ security-hole-shell($expr)
10:48 Tene phenny: tell masak that I also dislike the special one-arg case of &system, especially the overloading.  If we do keep a wrapper for invoking the shell, it needs its own (preferrably-dehuffmanized) name.
10:48 phenny Tene: I'll pass that on when masak is around.
10:49 moritz_ I don't actually think it must be dehuffamized
10:49 Tene moritz_: Sure.  I certainly don't want to push hard on that point specifically.
10:49 Juerd Tene: For huffmanization I'd suggest &ouch
10:50 Juerd That's just as short as &shell :)
10:50 Tene moritz_: there are some notable questions there, though.  Which shell does it use?  sh?  bash?  user's login shell?  something based on the OS?  What does it do on windows?  How do you specify a different shell?
10:51 Tene If we're keeping a "shell exec" function, those need to be answered, at least.
10:51 moritz_ the "default system shell", whatever that is
10:51 Tene Juerd: IMO, run('bash', '-c', ...); is not that long to type if you want that.
10:51 moritz_ (cmd on windows, /bin/sh on unix)
10:51 Juerd Tene: But it is.
10:52 Tene Juerd: I don't follow.  Can you explain further?
10:52 Juerd Tene: It is long, and hinders quick and dirty oneliners.
10:53 moritz_ S29 is very confusing
10:53 Tene Juerd: you mean, things you run from the shell?  Where you could just use the actual shell itself?  ;)
10:53 Tene Juerd: That disagrees with my experience, fwiw.
10:53 Juerd Tene: Yes. It's useful to do a perl -e' ... system(...) ...'
10:53 ab5tract joined #perl6
10:54 Tene Juerd: I've done that plenty of times, and every time it's been the list form of system.
10:54 Juerd Well, good for you
10:54 Juerd I'm used to those complex tasks that are very hard to express without shell syntax
10:54 Tene Juerd: I'm not trying to tell you that you're wrong, as I'm not confident whatsoever that my experiences are universal.
10:55 * moritz_ finds both list form and shell form useful
10:55 Tene Juerd: I'm hoping to understand where your experiences differ from mine.
10:55 moritz_ std: multi run( ; Str $command,) { }
10:55 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed parameter at /tmp/7nQLloyOVB line 1:␤------> [32mmulti run( [33m⏏[31m; Str $command,) { }[0m␤    expecting any of:␤    name␤   parameter␤      signature␤Parse failed␤FAILED 00:01 120m␤»
10:55 moritz_ wtf is that ; doing in S29?
10:56 Juerd system "tar cz $dir 2>/tmp/$logname | sudo -u $localuser ssh $remoteuser\@$remotehost 'do something'"
10:56 Juerd Good luck trying that with the list syntax.
10:57 Juerd And even if the same thing were really easy to do with Perl syntax, I'd still use the shell line because I've already learned that one and don't want to learn another syntax. (This is also why I don't use SQL::Abstract that much.)
11:05 Tene Hmm.  Okay.  For things like, I've always used abstractions from the shell, I guess.  I think I understand better now.
11:06 jnthn moritz_: It's some (conjectured, not even spec'd, iirc) multi syntax.
11:06 Tene I *do* think that run() or whatever needs to work well with pipelines, though.
11:06 Tene sorry, feed operators
11:07 dalek specs: 53821ac | moritz++ | S29-functions.pod:
11:07 dalek specs: [S29] reworked external command execution
11:07 dalek specs:
11:07 dalek specs: after discussions with Tene++ and Juerd++ I am convinced that it is best
11:07 dalek specs: to separate run() and shell(), where the former roughly corresponds to
11:07 dalek specs: p5s system(LIST), and the latter to system(SHELL_EXPR).
11:07 dalek specs:
11:07 dalek specs: Also removed some outdated note, and added conjecture about :$cwd
11:07 dalek specs: review: https://github.com/perl6/specs/commit/53821ac9ae
11:07 Tene run(<tar cz>, $dir) ==> run(<sudo -u>, $username, $cmd);
11:07 moritz_ for your considerationi.
11:08 daxim good that "run" is shorter than "shell"
11:08 Juerd And shell is shorter than system. Win!
11:08 * daxim hi5
11:09 moritz_ it seems people like my change. \o/
11:10 moritz_ Tene: the problem with run() and feeds is that running a shell results in two output streams
11:10 moritz_ so we have no elegant way to work with both of them
11:11 Tene moritz_: you may notice that as specced, I just fed the return code from the command into the next command.
11:11 Tene so, that's not the only problem.
11:11 moritz_ yes, I know
11:11 moritz_ currently you'd need to add :bg
11:12 moritz_ but it's one of the reasons I've decided not to go with an even more radical change for now
11:12 Tene moritz_: you may want to add a :shell arg to &shell, perhaps
11:13 moritz_ Tene: or you might :-). I didn't see much value, because if you select another shell explicitly, you can just as well do  run('bash', '-c', ...)
11:14 Tene moritz_: Sure, that's what I'd do, but my intuitions aren't necessarily that useful here. :)
11:14 moritz_ Tene: and you'd force the runtime to know about more shells, or assume default behaviour ('-c' for example), and I don't like that
11:16 colomon rakudo: say <a c g t>.roll(200)
11:16 p6eval rakudo a38d45: OUTPUT«tttgtccctggccacgacgttctactatatgttaatgaaacgtaaggaattgcgttggccaagaaacgtccttttcacagatacccgtcgtacctgattaccgctgtagggcgctttttccggctggggcgcgcgtgtctgttggccgggccctacgtaggcctataacggaaagatttgtaccaaattctactacgagg␤»
11:16 moritz_ colomon: more benchmarks?
11:16 colomon yup.
11:17 colomon want to see whether your code's advantage with the "DNA" test holds up as things get longer.  :)
11:17 moritz_ colomon: you are admirably thorough in your investigations
11:18 Bzek joined #perl6
11:19 lateau joined #perl6
11:27 Alias joined #perl6
11:32 colomon moritz_: so far, my version has a crushing advantage in longer text tests, but yours edges it out in the DNA tests.
11:32 plobsing left #perl6
11:32 moritz_ presumably due to the small character set
11:35 plobsing joined #perl6
11:35 ab5tract left #perl6
11:36 ab5tract joined #perl6
11:37 icwiener joined #perl6
12:25 sftp joined #perl6
12:32 kvakvs joined #perl6
12:33 marietta_ joined #perl6
12:34 marietta left #perl6
12:34 marietta_ is now known as marietta
12:44 mj41 left #perl6
12:45 _twitch left #perl6
13:02 takadonet morning all
13:04 coldhead left #perl6
13:11 woosley joined #perl6
13:19 agentzh left #perl6
13:22 MayDaniel joined #perl6
13:26 [Coke] Hio.
13:27 moritz_ \o
13:31 colomon o/
13:33 huf left #perl6
13:36 colomon phenny: tell mberends Do you want me to post the results for your p5 program?  It's a cool idea, but actual performance is pretty dire, I fear...
13:36 phenny colomon: I'll pass that on when mberends is around.
13:44 GinoMan joined #perl6
13:45 mberends joined #perl6
13:46 mberends \o
13:46 phenny mberends: 13:36Z <colomon> tell mberends Do you want me to post the results for your p5 program?  It's a cool idea, but actual performance is pretty dire, I fear...
13:48 mberends colomon: no objection to posting, as long as you separate it somehow from the coding contest. I blame the dire performance on the implementation problems (workman, tools... ;)
13:49 satyavvd left #perl6
13:49 GinoMan left #perl6
13:50 mberends (of course I cannot resist doing a C version for comparison, may finish that later today)
13:56 p3n left #perl6
13:57 tadzik so, run() semantics are now an LHF? :)
14:00 moritz_ moreorless
14:00 tadzik oh, :$cwd feels so rightish
14:00 tadzik or rather useful, at least I find it so
14:00 moritz_ that's why I included it :-)
14:01 tadzik I have lotsa < indir "foo", { system("blah") }; >
14:01 tadzik s/system/run/
14:03 moritz_ I just looked into regexes remembering their source string
14:03 moritz_ seems nontrivial
14:03 moritz_ there are only a couple of calls to Regex::P6Regex::Actions::buildsub()
14:03 moritz_ where i could just provide a portion of the source code
14:03 moritz_ but that thing constructs a PAST::Block
14:04 moritz_ and I don't know how to make that emit a code object with an additional data attribute
14:07 kvakvs left #perl6
14:08 [particle] joined #perl6
14:11 plainhao joined #perl6
14:14 kvakvs joined #perl6
14:20 masak joined #perl6
14:21 masak \o/
14:21 phenny masak: 10:36Z <Tene> tell masak to look at perldoc -f system.  You need to accept a *list*, not a string.  If you want ease of use, we already have nice list quoting semantics you can use.  If you really do want interpretation by a shell, call that specifically, or have a separate function for it
14:21 phenny masak: 10:38Z <Tene> tell masak that if you accept a list, then there are no quoting concerns whatsoever, and you avoid a shell exec at the same time.  So much easier to deal with.  You also don't have to be aware at all of the quoting behaviour of the shell, be aware of variation between OS, etc.
14:21 phenny masak: 10:40Z <Tene> ask masak if that helps enough, and tell him that I'd be glad to continue in whatever depth he'd like.
14:21 phenny masak: 10:48Z <Tene> tell masak that I also dislike the special one-arg case of &system, especially the overloading.  If we do keep a wrapper for invoking the shell, it needs its own (preferrably-dehuffmanized) name.
14:21 masak moritz_++ # spec change
14:21 moritz_ thanks
14:21 masak haven't read it yet, but the summary looks promising.
14:21 masak Tene++ Juerd++ # creating discussion that lead to the spec change
14:23 tadzik hah, just got my T-shirt from Google :) Sent for some guy named "So?nierz"
14:23 moritz_ :-)
14:23 moritz_ I got mine yesterday
14:23 _twitch joined #perl6
14:23 masak tadzik: now that I can parse your last name, I don't find it particularly difficult to pronounce.
14:24 masak tadzik: but then again, I'm used to the "rz" sound from other languages.
14:24 xinming_ Is there a way to use perl 6 it self as a template system?
14:24 spq joined #perl6
14:24 masak xinming_: yes.
14:24 masak xinming_: could you be more specific?
14:24 moritz_ masak: correct answer :-)
14:24 xinming_ Or wether there is a template system for perl 6 already. :-)
14:24 xinming_ masak: I mean like Template::Toolkit
14:25 masak xinming_: I recommend looking at Hitomi in the Web.pm repository.
14:25 masak xinming_: it's my best bet for a templating system.
14:25 xinming_ masak: thanks
14:25 moritz_ xinming_: does it need to be as broken as Template::Toolkit?
14:25 xinming_ perl 6 has really a big progress.
14:25 masak aye.
14:25 tadzik masak: it was a nice experience to see you guys fighting the Polish pronounciation. I was especially impressed with your morale against "tadzik" :)
14:26 xinming_ I just try to use perl 6 to write some simple script, For learning perl 6 while getting something done. :-)
14:26 masak tadzik: my "morale against 'tadzik'"?
14:26 masak tadzik: was that really me?
14:27 tadzik erm, I mean the willpower to say this :) I thought you will default to "Ted" :)
14:27 moritz_ rakudo: my $mess = -> |$/ { "My $0 has $1" }; say $mess('dog', 'fleas')
14:27 p6eval rakudo a38d45: OUTPUT«My dog has fleas␤»
14:27 gimix left #perl6
14:27 masak tadzik: oh!
14:28 moritz_ rakudo: my $mess = -> |$/ { "My $<who> has $<what>" }; say $mess(:who<dog>, :what<fleas>)
14:28 masak tadzik: for some reason, I keep using people's nicks as primary keys in the db of my brain.
14:28 p6eval rakudo a38d45: OUTPUT«My dog has fleas␤»
14:28 masak moritz_: :)
14:28 tadzik masak: hah. I thought everyone will be calling you "masak" :)
14:28 moritz_ just rehearsing some ideas by TimToady++
14:28 xinming_ masak: https://github.com/masak/web.git   <-- Is this reop what you mean?
14:29 masak xinming_: yes.
14:29 xinming_ thanks
14:29 * moritz_ tried real hard to call masak "Carl" IRL
14:29 xinming_ damn, too much things to learn.
14:29 masak moritz_: so does mberends.
14:29 tadzik moritz_: same here. I even succeeded once or twice
14:29 moritz_ and "jnthn" is a bit hard to pronounce :-)
14:29 xinming_ masak: Is it a framework?
14:29 masak moritz_: I don't mind being called either "Carl" or "masak" AFK.
14:29 masak moritz_: here on #perl6 I vastly prefer "masak".
14:29 xinming_ or it's just pieces of code for fun?
14:30 masak xinming_: Web.pm? it's something like a collection of webby things.
14:30 tadzik mberends copes well with this. I remember when I was talking to him on the airport waiting for you two, he was using the "Carl" form, and I thought "oh man, I'll have to get used to not call him „masak”" :)
14:30 xinming_ masak: Why do you call it web.pm? >_<
14:30 masak xinming_: old habit.
14:30 xinming_ hm, Ok, thanks, Seems got it.
14:32 xinming_ It seems the Web.pm will be the future catalyst. :-)
14:32 * moritz_ doubts that
14:32 masak something like that was once the idea.
14:33 mberends it would seem puerile to call people by their nicks IRL
14:33 masak but we never got to the Catalyst part.
14:33 moritz_ to me it seems a bunch of mostly rotting modules
14:33 masak mberends: maybe it's your grown-up perspective that makes it seem puerile. :)
14:33 tadzik :D
14:33 masak mberends: to me it seems like an elevation of someone's online identity.
14:33 mberends that's why I don' t say 'Kolomon'
14:33 moritz_ mberends: I wouldn't mind, depending on how you pronounce the _ :-)
14:34 masak mberends: I noticed.
14:34 jnthn .oO( gee, I hope I didn't call mberends "mberends" during the last week :) )
14:34 masak moritz_: :P
14:34 masak jnthn: that would have been highly mberendsing...
14:34 jnthn :P
14:34 tadzik mbrarassing :)
14:34 moritz_ mberends: I thought so too, but I've realized that in Perl 6 land, my nick is my real name (just not my legal name)
14:34 xinming_ @_@  Even - is valid variable names. >_<
14:34 mberends moritzshhhhhh
14:35 moritz_ xinming_: in Makefiles maybe :-)
14:35 arnsholt xinming_: the - is superior to _ if you ask me =)
14:35 arnsholt (But in Perl 6 they're not entirely interchangeable, mind)
14:36 moritz_ rakudo: say 5 - 3
14:36 p6eval rakudo a38d45: OUTPUT«2␤»
14:36 moritz_ rakudo: say 5 _ 3
14:36 p6eval rakudo a38d45: OUTPUT«===SORRY!===␤Confused at line 22, near "say 5 _ 3"␤»
14:36 moritz_ :-)
14:36 xinming_ rakudo:  my $hello-world = "hello"  $hello-world.say;
14:36 p6eval rakudo a38d45: OUTPUT«===SORRY!===␤Confused at line 22, near "my $hello-"␤»
14:36 xinming_ rakudo:  my $hello-world = "hello";  $hello-world.say;
14:36 p6eval rakudo a38d45: OUTPUT«hello␤»
14:37 xinming_ I mean the - in variable name, Not as variable
14:37 xinming_ rakudo:  my $hello- = "hello";  $hello-.say;
14:37 p6eval rakudo a38d45: OUTPUT«===SORRY!===␤Confused at line 22, near "my $hello-"␤»
14:38 xinming_ people from perl 5 needs to think when to use $abc-xyz vs $abc_xyz :-)
14:39 takadonet rakudo: my @a = (0) x 5; @a.perl.say
14:39 p6eval rakudo a38d45: OUTPUT«["00000"]␤»
14:40 takadonet I know it seems stupid why I want this but... is there a simple way to have 5 elems instead of all in one?
14:40 moritz_ takadonet: infix:<xx>
14:40 takadonet ...
14:41 xinming_ rakudo: my @a = ((0)) x 5; @a.perl.say;
14:41 p6eval rakudo a38d45: OUTPUT«["00000"]␤»
14:41 takadonet moritz_: thx
14:41 moritz_ it's not stupid to want it, just stupid to expect it to work the p5 way :-)
14:41 takadonet well convering p5 to p6
14:41 takadonet converting*
14:41 moritz_ rakudo: say (0 xx 5).perl
14:41 p6eval rakudo a38d45: OUTPUT«(0, 0, 0, 0, 0)␤»
14:41 takadonet after all the test pass, change it to p6ism ways of doing things
14:41 moritz_ Perl 6 tries to remove that kind of context magic
14:42 moritz_ just like reverse() doesn't do the dual function of reversing strings and lists anymore
14:42 mikehh left #perl6
14:42 takadonet .flip right?
14:42 plainhao left #perl6
14:42 moritz_ right
14:42 moritz_ and .invert for hashes
14:43 masak and prefix:<-> for numbers :P
14:43 plainhao joined #perl6
14:43 moritz_ the curious case of prefix - in perl 5 ... :-)
14:43 moritz_ I think we discussed that previously :-)
14:44 masak aye.
14:44 masak I mentioned that strange behaviour at the Amsterdam.pm meeting, and they questioned the truth of it. Perl 5 programmers rejecting the strangeness of their own operators! :P
14:45 moritz_ :-)
14:46 dalek roast: e50ee94 | moritz++ | S0 (2 files):
14:46 dalek roast: small rakudo unfudges
14:46 dalek roast: review: https://github.com/perl6/roast/commit/e50ee94057
14:46 masak or was it prefix:<+> we talked about? don't recall.
14:47 moritz_ prefix + is a pretty simple noop in p5
14:47 masak I use it mostly inside hash indexes.
14:48 masak $my_hash{+shift}
14:48 moritz_ print +($a + $b)/2
14:48 masak ah. nice one :)
14:48 moritz_ both cases that aren't needed in p6
14:48 masak right. those two plaster over p5 parsing oddities.
14:49 masak oh btw. I did some research for a blog post about -n and -p. I went to the Perl 5 sources to check how -n and -p are handled.
14:49 masak I found it, in toke.c
14:49 masak and... yuck :)
14:49 moritz_ wow.
14:49 masak stand by for blog post.
14:50 jnthn masak: You mean it's not nicely done by playing with AST? :)
14:50 masak probably tonight, after I try to rebound from colomon's invalidation of my statistics :)
14:50 masak jnthn: surprisingly, no!
14:50 jnthn :P
14:50 masak jnthn: that's why }{ works
14:51 jnthn oh my...
14:51 jnthn :)
14:51 masak so my blog post will probably be called "You bastards, you killed the Eskimos!"
14:51 * moritz_ would have thought it was just string concatenation prior to passing it to toke.c
14:52 envi joined #perl6
14:52 masak I didn't look long enough to understand why toke.c does it.
14:52 takadonet rakudo: my $x = 0 xx 5 ; $x.[0] = -1
14:52 p6eval rakudo a38d45: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/pOJZsSIPXc␤»
14:52 takadonet ??
14:52 moritz_ takadonet: xx creates a list
14:52 moritz_ takadonet: and a list is read-only
14:52 moritz_ takadonet: what would you expect?
14:53 takadonet that would work :)
14:53 takadonet need to make a list and modify it....
14:53 moritz_ well, then you need to make an array
14:53 takadonet ya
14:53 moritz_ you know how to do that
14:53 takadonet stupid p5 code!
14:53 moritz_ do it better :-)
14:54 moritz_ you can't sensibly assign a list to a scalar in p5 anyway
14:54 takadonet it does in this code...
14:54 moritz_ then it'll just contain the last item, or so
14:54 takadonet but I have no idea how old it is
14:55 takadonet it seems to contain an array ref in the p5 version
14:55 moritz_ which is quite different from a list.
14:55 takadonet ya
15:04 shi left #perl6
15:04 colomon masak: more detailed invalidation forthcoming.  ;)
15:05 masak yay
15:05 masak (outsourcing p5 benchmarking)++
15:05 masak colomon++
15:05 moritz_ colomon: stop that, you're delaying the final winning decision :-)
15:06 masak not really, I think.
15:06 colomon I'm just waiting for the current round of benchmarks to end.
15:12 bbkr_ rakudo: sub foo; # looks bad, this should be parse error, not attempt to call foo.
15:12 p6eval rakudo a38d45: OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/c10WrR9Dod␤»
15:12 moritz_ bbkr_: long known
15:12 jnthn std: sub foo;
15:12 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/89UskaNhFr line 1:␤------> [32msub foo[33m⏏[31m;[0m␤    expecting any of:␤       new name to be defined␤ routine_def␤    trait␤Parse failed␤FAILED 00:01 117m␤»
15:13 moritz_ bbkr_: oh wait, I misparsed :-)
15:13 moritz_ std: sub(foo())
15:13 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤        'foo' used at line 1␤   'sub' used at line 1␤Check failed␤FAILED 00:01 118m␤»
15:18 bbkr_ so it is bug or not? I don't understand the difference between "sub foo" and sub(foo()) in STD.
15:18 moritz_ the parenthesis :-)
15:18 moritz_ yes, bug
15:19 hanekomu joined #perl6
15:19 bbkr_ in STD (because parenthesized syntax behaves differently) or in rakudo?
15:21 moritz_ rakudo has the bug
15:21 * bbkr_ reports, thanks
15:24 satyavvd joined #perl6
15:25 sorear good * #perl6
15:27 Holy_Cow joined #perl6
15:29 bbkr_ today I did presentation about writing programming languages in my company. I used Perl6 Grammars+Actions to demonstrate how to write very simple language interpreter under 20 minutes. there were PHP and Ruby folks mostly there and jealousy on their faces... :P
15:31 cjk101010 left #perl6
15:32 masak *, sorear.
15:33 masak bbkr_++ # \o/
15:33 masak bbkr_: grammars and actions really expose the core strength of Perl 6.
15:35 colomon ooo, moritz_, looks like your code is coming out well in this benchmark, too.  :)
15:35 moritz_ colomon: it wasn't too bad in most of your benchmarks so far
15:37 colomon moritz_: I have one benchmark, not yet blogged, where my code crushes it.  ;)
15:37 woosley left #perl6
15:37 colomon but in the four symbol "DNA" tests, your code does very, very well.
15:38 moritz_ colomon: no surprise really. Algorithmically it has a very non-optimal worst case run time
15:40 wtw left #perl6
15:41 takadonet colomon: you should try protein :)
15:44 sorear niecza: sub foo;
15:44 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Malformed block at /tmp/kDLj_8WsO8 line 1:␤------> [32msub foo[33m⏏[31m;[0m␤␤Parse failed␤␤»
15:44 sorear moritz_: spectests?  broken?
15:44 sorear "they work fine for me"
15:45 colomon moritz_: okay, my code did finally beat yours on the DNA case (two strings length 200), 40 seconds to 64.  Still, considering how much simpler and more elegant your code is than mine, it's probably a moral victory for yours.
15:45 JimmyZ joined #perl6
15:45 masak heh. I used the term "moral victory" for the opposite type of victory -- when the code algorithmically is O(N)
15:46 moritz_ sorear: https://gist.github.com/864305 that's how they all look
15:47 moritz_ niecza: say 1
15:47 p6eval niecza v3-65-g55abf9d: OUTPUT«1␤»
15:48 moritz_ niecza: use Test; plan 1; ok 1, 'YA REALLY';
15:48 p6eval niecza v3-65-g55abf9d: OUTPUT«1..1␤ok 1 - YA REALLY␤»
15:48 moritz_ 'use Test;' blows up on my machine
15:48 sorear moritz_: ah... rm obj/Test.*
15:48 donri joined #perl6
15:49 sorear that error message is the backend whining that your existing Test.nam doesn't have variable type annotations
15:49 * sorear needs a saner way to handle incompatible changes to the nam format
15:49 moritz_ sorear: yes, works
15:50 Mowah joined #perl6
15:56 mberends left #perl6
15:59 synple joined #perl6
16:01 justatheory joined #perl6
16:05 tzhs left #perl6
16:06 tadzik http://wklej.org/id/490185/ -- book brainstorming ideas from the NLPW hackathon
16:07 masak tadzik++
16:07 masak https://gist.github.com/864350 # future-proof paste of same
16:08 masak would hate for those to get lost...
16:08 tadzik worry not, I can even commit them
16:08 szabgab_ is now known as szabgab
16:08 flussence Is that for https://github.com/perl6/book.git ?
16:08 masak aye
16:09 masak tadzik: please do.
16:09 moritz_ I've written about MAIN subs for my blog and for the advent calendar. I'm sure I can do it a third time too :-)
16:09 masak :)
16:10 synple left #perl6
16:10 tadzik hey, I want to write something too :)
16:10 tadzik As soon as I figure out how to compile this beast
16:11 moritz_ you don't need to compile it to write :-)
16:11 moritz_ * Modules, packages, classes
16:11 moritz_ I don't even know how packages and modules differ
16:11 moritz_ so I'd have a hard time writing about it :-)
16:12 jnthn I'm not sure if anyone knows that. :)
16:13 masak see S10 and S11, I guess...
16:13 dalek book: 20fa3fa | tadzik++ | src/classes-and-objects.pod:
16:13 dalek book: Don't use commas in angle brackets. Fixes GH-48
16:13 dalek book: review: https://github.com/perl6/book/commit/20fa3fa3f2
16:13 jnthn Ohter than "omg is this Perl 5?!" detection
16:13 moritz_ masak: looking at S10 and S11, I have to agree with jnthn
16:13 tadzik hmm, that should be "Closes for Github to notice"
16:13 masak "As in Perl 5, a module is just a kind of package.  Unlike in Perl 5, modules and classes are declared with separate keywords, but they're still just packages with extra behaviors."
16:13 tadzik s/ for/" for/;s/"$//
16:14 masak modules are packages plus exporting and versioning?
16:14 jnthn Every time I suggest a behavior that a mdoule could have in addition to a package, it seems to make packages seem kinda useless
16:14 tadzik oh, it noticed. github++
16:14 dalek book: 075458c | tadzik++ | book-ideas:
16:14 dalek book: Add some ideas to write about
16:14 dalek book: review: https://github.com/perl6/book/commit/075458c383
16:14 Patterner left #perl6
16:15 colomon loliblogupdated: http://justrakudoit.wordpress.com/2011/03/09/more-on-masaks-p5/
16:15 moritz_ tadzik++
16:15 risou joined #perl6
16:16 tadzik oh, I should have blug
16:17 synple joined #perl6
16:18 synple left #perl6
16:19 Psyche^ joined #perl6
16:19 Psyche^ is now known as Patterner
16:21 plainhao left #perl6
16:21 plainhao joined #perl6
16:22 Trashlord left #perl6
16:31 kst` left #perl6
16:35 nymacro left #perl6
16:36 kst joined #perl6
16:39 kvakvs left #perl6
16:39 nymacro joined #perl6
16:39 xinming_ is now known as xinming
16:40 jmm_ is now known as jww
16:45 _buno_ joined #perl6
16:50 fhelmberger left #perl6
16:54 hercynium joined #perl6
16:55 dalek book: a9d478b | moritz++ | / (2 files):
16:55 dalek book: [subs] first shot at MAIN
16:55 dalek book: review: https://github.com/perl6/book/commit/a9d478bedf
16:56 moritz_ somebody can still take 'multi MAIN'
16:56 fhelmberger joined #perl6
16:56 fhelmberger left #perl6
16:57 * tadzik still fighting with building
16:57 tadzik but I think/hope I found the problem
17:02 satyavvd left #perl6
17:03 masak you should accept buildings for what they are rather than fight them. look what happened to Mr. Quixote.
17:03 moritz_ he's dead. And so is everybody from his time. D'oh.
17:04 * moritz_ decommutes after this piece of wisdom
17:12 _twitch left #perl6
17:12 mtk left #perl6
17:15 masak "git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space." -- http://twitter.com/tabqwerty/status/45611899953491968
17:15 masak are they? I'm curious, and I don't grok all the big words.
17:18 masak seems all the big words refer to (continuous) topology... not sure I see the analogy.
17:18 PZt left #perl6
17:20 mtk joined #perl6
17:24 [particle] a hilbert space is a cartesian space of infinite dimension
17:24 [particle] think of each file in git as a dimension
17:25 [particle] each new revision of that file is a step away from the origin on that dimension
17:25 arnsholt masak: That's along the lines of "A monad is an endofunctor in the cactegory of monoids. What's the problem?"
17:25 arnsholt Trolling for academics, essentially =)
17:26 [particle] a manifold is a subset of that infinite hilbert space.
17:26 [particle] basically, the number of dimensions represented by each object in the git space
17:27 [particle] homeomorphic means that two objects, if squished in the right directions without changing the number of voids in their shape, can be transformed into each other
17:28 [particle] a disc and a square can be squished into each other, for example
17:28 jaldhar left #perl6
17:29 masak arnsholt: right, but the monad one seems more direct to me.
17:30 [particle] endofunctors are mapping functions.
17:30 pjcj left #perl6
17:30 masak [particle]: with you so far. how does homeomorphic squishing apply to branches?
17:30 [particle] ok...
17:30 plainhao left #perl6
17:31 [particle] if your branch point in the git tree is thought of as a point in space
17:32 [particle] this part is hard for me to describe clearly....
17:33 ymasory left #perl6
17:33 [particle] ok, use that branch point as a local origin for a new space (submanifold)
17:33 masak up until now, I was perfectly fine with the idea that in git, branches are basically just named leaf nodes of the big commit DAG.
17:34 pjcj joined #perl6
17:34 [particle] yes, then you make changes to each branch, separately
17:34 masak right.
17:34 [particle] with the  branch point being a local origin, you can create a function to map you from one frame of reference to another
17:34 masak which corresponds to applying separate endofunctors, I presume.
17:34 masak right.
17:35 [particle] that's the endofunctors
17:35 pjcj left #perl6
17:35 masak like rotations, translations etc, only higher-dimensional.
17:35 [particle] exactly
17:35 [particle] they map you, homeomorphically (since the overall space hasn't changed)
17:35 masak and commutative endofunctors correspond to the lack of conflicts?
17:35 [particle] from one view of reality to another
17:36 pjcj joined #perl6
17:36 [particle] yes!
17:36 [Coke] "monad one seems more direct to me" ... wow.
17:36 [particle] i'm with [Coke] on that one :)
17:37 flussence .oO( I have no idea what any of this means, but I can understand how git works all the same... )
17:37 [particle] ignorance is bliss
17:37 masak [Coke]: it's not that I'm unfamiliar with the terms. I just haven't seen them applied to git before.
17:37 * moritz_ likes the DAG better, but can follow the Hilbert space thing too
17:37 [Coke] [particle]: That line always reminds of the matrix, now.
17:38 [Coke] oh, I think they're both equally useless esoteric.
17:38 [Coke] *uselessly
17:39 [particle] the git api is full of esoterica. wow, i love git so much that i hate it.
17:39 masak [particle]: it still seems to me that the "Hilbert space" of a git repository would be discrete rather than continuous. but maybe that's not a big problem.
17:39 [particle] it is discrete
17:39 masak [particle]: anyway, thanks for taking the time to explain.
17:39 arnsholt Discrete spaces can be embedded in continuous ones, no?
17:40 masak as long as the endofunctors preserve the discreteness, it should work...
17:40 [particle] the git space is a submanifold of a hilbert space
17:40 masak ah, right.
17:40 masak now *that's* scary to visualize!
17:40 moritz_ it's just a discrete raster in a continuous space
17:40 [particle] oh, yeah, *that's* the scary part.
17:41 masak "You can code all you want, but you can never code yourself out of *this* submanifold of Hilbert space."
17:41 [particle] :D
17:41 moritz_ if you've ever seen a lattice, that's a good visualization (but apply it to infinitely many dimensions)
17:41 masak ooooaaaargh
17:42 sow joined #perl6
17:43 masak [Coke]: with monads, I spent some significant time collecting monad tutorials. so I've heard most explanations of them by now.
17:43 masak monads are space suits. monads are burritos. you could have invented monads, and probably have.
17:43 sow left #perl6
17:44 masak monads are endofunctors in the category of monoids. that's OK, just look up the terms "endofunctor", "category" and "monoid", digest the sentence and nod :)
17:45 moritz_ you see Hilbert spaces all the time, if you happen to look at the QM explanations of what you see :-)
17:45 * jnthn still remembers the first talk he ever went to that tried to explain monads
17:45 jnthn But that's mostly thanks to the title
17:45 jnthn "Kick in the monads"
17:45 masak jnthn: I can see you being attracted by a talk with a pun in the title :P
17:45 _buno_ left #perl6
17:46 JimmyZ left #perl6
17:46 jnthn The funniest bit was the speaker trying to politely explain to pun to those in the audience who didn't understand its origin. :)
17:47 jnthn s:2nd/to/the/
17:47 masak heh :)
17:47 gdey- joined #perl6
17:49 masak nowadays, I'd explain monads like this: Haskell tends not to want to commit on the exact sequence operations (possible thanks to referential transparency, and desirable for various optimization cases). but sometimes you do need the sequencing, and monads provide that. they also happen to fill other similar roles.
17:50 [Coke] *blank stare*
17:50 masak IO and List are good examples of ordering monads. Maybe and Either are more structural in nature.
17:51 masak er, s/sequence operations/sequence of operations/
17:51 envi left #perl6
17:51 masak think of the lazy evaluation in Perl 6, but more or less pervasive in the whole language.
17:52 gdey_ left #perl6
17:53 alester left #perl6
17:53 justatheory left #perl6
17:53 justatheory joined #perl6
17:57 PZt joined #perl6
17:57 justatheory left #perl6
17:59 dakkar left #perl6
18:00 cdarroch joined #perl6
18:00 cdarroch left #perl6
18:00 cdarroch joined #perl6
18:00 mkramer1 joined #perl6
18:03 mkramer left #perl6
18:03 mj41 joined #perl6
18:14 noganex_ joined #perl6
18:16 risou left #perl6
18:18 noganex left #perl6
18:24 benabik joined #perl6
18:27 Tene masak: Do you now feel comfortable with your understanding of my opinions about  process invocation functions?
18:30 tadzik yay, I managed to build The Book
18:33 Rotwang joined #perl6
18:34 alester joined #perl6
18:36 masak left #perl6
18:42 hanekomu left #perl6
18:45 nadim left #perl6
18:46 ymasory joined #perl6
18:50 Bzek left #perl6
18:50 plainhao joined #perl6
18:51 masak joined #perl6
18:52 nadim joined #perl6
18:59 benabik left #perl6
19:02 jeteve_ joined #perl6
19:03 masak Tene: yes. and I like the spec changes it caused.
19:11 mberends joined #perl6
19:13 mberends .oO( learning JVM bytecode assembler for 6model/java is no picnic )
19:14 mberends .oO( how did jnthn trick me into doing this? )
19:15 mberends pivo. the answer is in the pivo.
19:17 mberends aka weissbier tonight ;-)
19:18 jnthn \o/
19:19 jnthn mberends++ # being pivo-trickable ;)
19:19 mberends I can resist anything but temptation ;)
19:20 benabik joined #perl6
19:22 wooden left #perl6
19:26 Mowah left #perl6
19:30 impious joined #perl6
19:30 impious left #perl6
19:36 daxim left #perl6
19:37 Hackbinary left #perl6
19:38 cpk joined #perl6
19:39 cpk sorear: hi
19:44 synple joined #perl6
19:45 synple left #perl6
19:47 nadim left #perl6
19:48 ddima left #perl6
19:50 TimToady niecza: sub hello() { say "hello"; } hello();
19:50 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Strange text after block (missing comma, semicolon, comment marker?) at /tmp/oHrKZytRQu line 1:␤------> [32msub hello() { say "hello"; }[33m⏏[31m hello();[0m␤␤Parse failed␤␤»
19:50 sjohnson :)
19:50 TimToady cpk: note this error is correct
19:50 TimToady you're missing a semicolon right where it indicates
19:52 cpk TimToady: what is the right syntax ?
19:52 TimToady to install the missing semicolon, of course
19:52 TimToady niecza: sub hello() { say "hello"; }; hello();
19:52 p6eval niecza v3-65-g55abf9d: OUTPUT«hello␤»
19:52 cpk TimToady: ok
19:53 cpk TimToady: my mistake...
19:53 TimToady Perl 6 does not distinguish built-in blocks from user-defined
19:53 TimToady any block in mid-line has to have ; to continue on the same line
19:54 cpk TimToady: like closure i guess
19:54 masak std: if { 2 + 2 == 4 } { say "OH HAI" }
19:54 p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
19:54 TimToady and any block at the end of the line terminates the statement without ;
19:54 masak ;)
19:54 masak (there are exceptions in the midst of special forms)
19:54 TimToady yes, well, that's the only place we allow ttiar
19:54 jnthn rakudo: if { 2 + 2 == 4 } { say "OH HAI" }
19:54 p6eval rakudo a38d45: OUTPUT«OH HAI␤»
19:55 jnthn heh :)
19:55 jnthn It works too
19:55 TimToady in that case { is really a terminator
19:55 jnthn ;)
19:55 masak rakudo: if { 2 + 2 == 5 } { say "OH HAI" }
19:55 p6eval rakudo a38d45: OUTPUT«OH HAI␤»
19:55 masak :P
19:55 cpk rakudo: sub hello() { say "hello"; } hello();
19:55 p6eval rakudo a38d45: OUTPUT«===SORRY!===␤Confused at line 22, near "sub hello("␤»
19:55 cpk std: sub hello() { say "hello"; } hello();
19:55 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/43SkvM3qWb line 1:␤------> [32msub hello() { say "hello"; }[33m⏏[31m hello();[0m␤    expecting any of:␤     bracketed infix␤        infix or meta-infix␤    statement
19:55 p6eval ..modifier loop␤Pars…
19:55 jnthn rakudo: sub hello() { say "hello"; }; hello();
19:55 p6eval rakudo a38d45: OUTPUT«hello␤»
19:55 masak sorear: why does your error message has an 'Any()' before it?
19:56 sjohnson New Directions in Perl Obfuscation
19:56 jnthn Rakudo could learn a little about error reporting :)
19:56 masak niecza: sub hello() { say "hello"; } hello();
19:56 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Strange text after block (missing comma, semicolon, comment marker?) at /tmp/OqguAckliG line 1:␤------> [32msub hello() { say "hello"; }[33m⏏[31m hello();[0m␤␤Parse failed␤␤»
19:56 masak sorear: "Any()Strange"...
19:56 cpk rakudo error reporting is also confusing...
19:57 masak it's better than Yapsi's :)
19:57 cpk yapsi: sub hello() { say "hello"; } hello();
19:57 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤  .)␤»
19:58 justatheory joined #perl6
19:58 TimToady the error seems a bit...generic...
19:58 jnthn yapsi: use Yapsi;
19:58 p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/3.1.0-devel/languages/perl6/lib␤  .)␤»
19:58 masak :/
19:58 cpk jnthn: thanks
19:58 masak usually it says "Could not parse"...
19:59 cpk jnthn: oups
19:59 cpk jnthn: didn't see the yapsi error
20:00 jnthn cpk: Yeah, I think the Yapsi evalbot bits are busted
20:01 masak aye.
20:01 masak I don't know what I should do to fix it.
20:03 benabik left #perl6
20:07 nymacro left #perl6
20:08 mkramer1 left #perl6
20:10 shi joined #perl6
20:10 shi left #perl6
20:10 cpk adding some semicolons to the rcrpg example remove "Strange text" errors
20:11 shi joined #perl6
20:11 nadim joined #perl6
20:12 shi left #perl6
20:12 cpk however now i have: Potential difficulties:   &parser is declared but not used at D:\Aline\Bureau\niecza-3.02\rpg_raw.pl line 81: ←[0m--> ←[32m    sub parser←[33m?←[31m(*@bits) {
20:12 shi joined #perl6
20:13 shi left #perl6
20:13 cpk sorear: other point niecza loads faster on my win32 PC and uses few memory (30Mo)
20:14 cpk sorear: but on my win64 pc it starts by loading arround 300 Mo
20:17 synple joined #perl6
20:18 synple left #perl6
20:24 ab5tract left #perl6
20:24 synple joined #perl6
20:24 ab5tract joined #perl6
20:25 flussence left #perl6
20:25 wallberg joined #perl6
20:26 synple left #perl6
20:26 benabik joined #perl6
20:29 shi joined #perl6
20:30 shi left #perl6
20:30 shi joined #perl6
20:36 sji joined #perl6
20:36 shi left #perl6
20:36 sji left #perl6
20:37 sji joined #perl6
20:38 sji left #perl6
20:38 sji joined #perl6
20:39 sji left #perl6
20:40 sji joined #perl6
20:42 sji left #perl6
20:43 sji joined #perl6
20:43 sji left #perl6
20:44 sji joined #perl6
20:44 masak sji: hey. please stop that.
20:45 sji left #perl6
20:45 masak :(
20:45 sji joined #perl6
20:46 plobsing left #perl6
20:46 sji left #perl6
20:46 cpk bye guys
20:46 masak cpk: \o
20:46 cpk left #perl6
20:47 GinoMan joined #perl6
20:47 tadzik masak: well, that's basically stupidness of all the irc clients on earth
20:47 sji joined #perl6
20:47 tadzik I always think events like this should be printed to a separate buffer, having 2 or 3 lines
20:47 masak nice idea.
20:48 tadzik no client has that
20:48 masak maybe I should just hide join/leave messages...
20:48 sji left #perl6
20:48 tadzik I remember asking #irssi guys about this some time ago, and they said "you can do this if you learn irssi windows and buffers well enough"
20:49 masak tadzik: same goes for ERC, I guess.
20:49 sji joined #perl6
20:49 sji left #perl6
20:49 tadzik probably. Of for any other client. But still, I'd like to have this, not to spend hours learning some client and implementing this
20:50 masak g'ah! /ignore doesn't seem to hide join/leave messages :)
20:50 tadzik :>
20:50 tadzik doesn't it?
20:50 M_o_C joined #perl6
20:50 masak not for me.
20:50 tadzik seen sji
20:50 aloha sji was last seen in #perl6 55 seconds ago joining the channel.
20:50 tadzik oh thanks, that was so helpful
20:51 maja left #perl6
20:52 [Coke] I didn't see any of that. I must have figured out the irssi incantations ages ago.
20:52 sbp X-Chat has a "conference mode" which hides all joins and parts
20:52 sbp I've never used it, perhaps except to test it or by accident
20:52 [Coke] ignores = ( { level = "JOINS QUITS"; } );
20:53 tadzik ignoring is easy
20:54 tadzik OTOH, being online on irc means absolutely nothing these days
20:54 tadzik everyone idles anyway
20:55 tadzik and when they come to chat, they usually say hello
20:55 sbp hello
20:55 tadzik oh, hello
20:56 sbp what is the most significant development in perl6 from the previous week?
20:56 tadzik oh, weechat has something like smart-filter: "keep join/part/quit from users who spoke recently"
20:57 mberends sbp: rakudo is now -p -n complete
20:57 mberends or -n -p complete
20:57 tadzik nqp can serialize objects now, can't it?
20:58 tadzik the ctmo branch
20:58 jnthn tadzik: Ground work for that
20:58 * sbp reviews https://github.com/rakudo/rakudo/commit/7fb6341cdd71c3d5f236f4acdef45e9b2083334d
20:58 jnthn tadzik: Much more significant is the compile-time meta-object stuff in itself
20:59 hanekomu joined #perl6
20:59 sbp and -p = -np, I see
20:59 sbp charming
21:01 masak :)
21:01 masak I hope to write a blog post on it, and on Perl 5's -n and -p "handling".
21:03 sbp a fable, about an ultimate truth!
21:03 sbp I was at a meeting of Web Architecture wonks many years ago, in a pub in Bristol
21:03 sbp and I asked them, what processor do you use for XSLT?
21:03 cjk101010 joined #perl6
21:04 sbp there were many choices at the time, and it seemed to me that certain choices were used for certain tasks, such as xsltproc for use in CGI
21:04 sbp I went around the table, asking what people used
21:04 sbp "saxon" "saxon" "saxon..." "saxon!" "yep, saxon"
21:04 masak huh.
21:05 sbp no matter what the truth and motivation of the one-spec, many-implementations nature of perl6, I think that de facto the same situation will arise. predicting that might be as difficult as my prediction with xsltproc, though
21:05 sbp (a few years ago, one would have said pugs. where are you now, pugs!)
21:05 ymasory left #perl6
21:05 masak sbp: Pugs had a bus number error.
21:05 sbp it took the number 32 and ended up in Leightonstone?
21:06 TimToady pugs: say 'howdy doo!'
21:06 p6eval pugs: OUTPUT«howdy doo!␤»
21:06 masak sbp: you might very well be right about one implementation being the predominant one. in fact, that's already the case at this "early" stage.
21:06 masak sbp: but the fact is that already, different implementations help drive different parts of the spec.
21:07 masak even small implementations that never gained critical mass have helped the spec forward.
21:07 masak (I'm thinking of SMOP, for example)
21:07 TimToady I don't suppose you implemented -n and -p according to spec...
21:07 sbp I think what I'm saying is, there might be a nice presentational middle road between "one specs, many implementations" and "the nexus starts here". people need to feel assured, but the bright and tangible perl6 philosophy needs to seep out to people all the same
21:07 masak TimToady: nope.
21:08 masak TimToady: it was a "let's get this now rather than wait for the ability to do it right" kind of patch.
21:08 TimToady .oO(that way lies sadness...)
21:08 jnthn Plus it's done as an AST-level fixup, so I'm quite comfortable with the way it was done.
21:09 masak TimToady: feel free to revert the patch. in the meantime, I'll definitely be running a Rakudo with -n and -p available.
21:09 TimToady I'll wager the inside of the loop isn't the UNIT:: lexical scope :)
21:09 sbp fork, fork, fork!
21:09 masak are you really arguing for us to do things right on the first iteration? :)
21:10 jnthn You say that as if anyone's going to notice :P
21:10 sbp and so it started, the NPists and the True NPists took the first shots
21:10 masak :D
21:11 sbp they may call the NPists roundheaded in their stubborn ways, but the True NPists sure are cavalier with their "truth"
21:11 jnthn rakudo: sub foo() { 42 }; say UNIT::foo() # this is why nobody will notice :P
21:11 p6eval rakudo a38d45: OUTPUT«Can not find sub UNIT::foo␤  in main program body at line 1␤»
21:11 tadzik yay, got a bugreport for PIes
21:12 masak std: sub foo() { 42 }; say UNIT::foo()
21:12 p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
21:12 masak std: sub foo() { 42 }; say UNIT::UNIT::foo()
21:12 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'UNIT::UNIT::foo' used at line 1␤Check failed␤FAILED 00:01 120m␤»
21:12 sbp niecza: sub foo() { 42 }; say UNIT::foo()
21:12 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Unsupported form of term:name at /tmp/UFZGc6Hm9Q line 1 (EOF):␤------> [32msub foo() { 42 }; say UNIT::foo()[33m⏏[31m<EOL>[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 387 (CORE die @ 2)␤
21:12 p6eval .. at /home/p6…
21:13 TimToady hmm
21:13 TimToady niecza: sub foo() { 42 }; say &UNIT::foo()
21:13 p6eval niecza v3-65-g55abf9d: OUTPUT«Unhandled exception: Unable to resolve method INVOKE in class Any␤  at /tmp/oPHyivdoj9 line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/CORE.setting line 1261 (CORE C524_ANON @ 2)␤  at /home/p6eval/niecza/lib/CORE.setting line 1262 (CORE module-CORE @ 39)␤  at
21:13 p6eval ../home/p6eval/n…
21:13 TimToady niecza: sub foo() { 42 }; say &FOO::foo()
21:13 p6eval niecza v3-65-g55abf9d: OUTPUT«Unhandled exception: Unable to resolve method INVOKE in class Any␤  at /tmp/QqetJiLgad line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/CORE.setting line 1261 (CORE C524_ANON @ 2)␤  at /home/p6eval/niecza/lib/CORE.setting line 1262 (CORE module-CORE @ 39)␤  at
21:13 p6eval ../home/p6eval/n…
21:14 TimToady niecza: sub UNIT::foo() { 42 }; say UNIT::foo()
21:14 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Defining a non-our sub with a package-qualified name makes no sense at /tmp/5O88BckEdO line 1:␤------> [32msub UNIT::foo() { 42 }[33m⏏[31m; say UNIT::foo()[0m␤␤Unsupported form of term:name at /tmp/5O88BckEdO line 1 (EOF):␤------>
21:14 p6eval ..[32msub UNIT::…
21:14 TimToady :)
21:14 TimToady niecza: sub foo() { 42 }; say MY::foo()
21:14 sbp (and, Package subs NYI)
21:14 p6eval niecza v3-65-g55abf9d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Unsupported form of term:name at /tmp/LORiO_QssE line 1 (EOF):␤------> [32msub foo() { 42 }; say MY::foo()[33m⏏[31m<EOL>[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 387 (CORE die @ 2)␤
21:14 p6eval ..at /home/p6ev…
21:15 plobsing joined #perl6
21:16 TimToady ah, well, all in good time
21:18 synple joined #perl6
21:19 jnthn At least nqp believes in lexical settings now :)
21:20 TimToady not carping about all the good progress :)
21:20 masak no Carp;
21:21 jnthn std: { our sub foo() { ... } }; foo()
21:21 p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
21:21 jnthn 6model: { our sub foo() { ... } }; foo()
21:21 jnthn nqpclr: { our sub foo() { ... } }; foo()
21:21 jnthn hmm, dunno if we have evalbot for that... :)
21:22 masak anyway, std says it's OK.
21:22 flussence joined #perl6
21:23 TimToady hmm, seems a bit suspect
21:23 masak why?
21:23 jnthn TimToady: Yes, this came up before.
21:23 TimToady well, it can't be using the lexical alias
21:23 jnthn TimToady: I mentioned it to masak++ while we were in NL and he wanted to know why. ;)
21:24 TimToady and I'm of two minds about whether bare sub calls should look in the package at all
21:24 jnthn I had trouble with it in nqpclr and removed the test. It worked on nqp on Parrot just out of the way Parort's sub lookup works.
21:25 jnthn So I fear it works more "accidentally" rather than out of any deeper intent.
21:25 masak TimToady: the thing I see being at risk here is the closure-in-immediate-block idiom. not sure it's worth distorting the language over, but it does feel quite natural, at least from a Perl 5 viewpoint.
21:26 TimToady the fact that it works in std might be a fossil of when we had failover from lexical scopes to packages
21:26 TimToady I'll need to glare at the code to see what it's thinking
21:26 masak std: package A { { our $f }; say $f }
21:27 p6eval std 4608239: OUTPUT«Potential difficulties:␤  $f is declared but not used at /tmp/ZLmJUH2cuS line 1:␤------> [32mpackage A { { our $f[33m⏏[31m }; say $f }[0m␤ok 00:01 120m␤»
21:27 TimToady S06:454 pretty much prohibits it from working
21:27 masak std: package A { { our $f }; $f = 42 }
21:27 p6eval std 4608239: OUTPUT«Potential difficulties:␤  $f is declared but not used at /tmp/i5WaL3s06Y line 1:␤------> [32mpackage A { { our $f[33m⏏[31m }; $f = 42 }[0m␤ok 00:01 121m␤»
21:27 masak std: package A { { our $f }; $f = 42; say $f }
21:27 p6eval std 4608239: OUTPUT«Potential difficulties:␤  $f is declared but not used at /tmp/OCdtDlzs5n line 1:␤------> [32mpackage A { { our $f[33m⏏[31m }; $f = 42; say $f }[0m␤ok 00:01 122m␤»
21:27 masak seems there's a failover, yes.
21:28 TimToady on variables, yes, but not on function calls
21:28 masak what's the difference?
21:28 * masak thought foo() was just &foo()
21:28 TimToady don't want mutable candidate lists
21:29 TimToady not without explicit CANDOish declaration
21:29 mtk left #perl6
21:29 * masak doesn't understand
21:29 masak does it have to do with rebinding of &foo ?
21:29 TimToady &foo finds the immutable list as well
21:30 TimToady it's one of the reasons for the recent MMD redesign, to make sure there's an appropriate &foo there as a dispatcher
21:30 mtk joined #perl6
21:31 masak so... what's the difference between variables and function calls?
21:31 TimToady we don't do multi-variables hoping to optimize them at compile time
21:32 TimToady you can't do any compile-time reasoning about a multi call that is over an unknown set of candidates
21:32 sjohnson TimToady: am i correct to say that p6's feature of letting you do case-insensitive greps or not without an if statement is not present in p5?
21:32 sjohnson greps -> regexes*
21:32 TimToady no
21:33 TimToady /foo/i is case insensitive in P5
21:33 sjohnson but if you do:   if ($flag_case_insensitive) { /foo/i } else { /foo/ }
21:34 sjohnson i believe perl6  addresses this one... perhaps it's been addressed 10 years ago though and i'm missing something.
21:34 TimToady well, there's always eval :)
21:34 * sjohnson puts his dunce cap back on
21:34 sjohnson i'll suck it up and figure out the eval hint, thanks
21:34 TimToady but yeah, p5 has to compile it both ways somehow
21:35 TimToady s/both ways/either way/
21:35 sjohnson i have actually gotten around it with a cludge.. though i think it broke later on, though i did have it working...
21:35 sjohnson s/cow/pig/$insensitive_var
21:35 sjohnson where that var was 'i'
21:35 TimToady or nothin
21:35 sjohnson yep
21:35 sjohnson but i felt guilty after doing that.
21:36 TimToady you should
21:36 sjohnson haha
21:36 flussence wait... what's the p6 equivalent of this you're talking about?
21:36 TimToady :i($whatever)
21:36 flussence oh
21:36 masak ooh
21:36 sjohnson this is a blessing to all of mankind
21:36 flussence (I wasn't sure if that actually worked or not)
21:36 TimToady I doubt it does :)
21:36 sjohnson is there also a flag for a \Q / quotemeta?
21:37 TimToady there is no \Q anymore
21:37 masak sjohnson: no, there's a whole rethink instead.
21:37 sjohnson sounds like i need to 'rethink' perl6 too
21:37 flussence I think that's written <"$var"> or somesuch now
21:37 TimToady regexes aren't strings anymore, and don't interpolate like strings
21:37 * sjohnson scratches head
21:37 masak sjohnson: have you read Apocalypse 5?
21:37 TimToady /$foo/ already behaves like $foo is in a quotemeta
21:37 masak sjohnson: now might be a good time.
21:37 sjohnson TimToady: what if one wanted to so a substitution of grep's equivalent of --fixed-strings ?
21:38 sjohnson ok
21:38 flussence grep($fixed-string) I'd imagine
21:38 sjohnson looks like mr Toady has answered my question already
21:38 masak sjohnson: it's a good read, and explains many of these things.
21:38 flussence split() works for strings already
21:38 TimToady /@foo/ is defined to match multiple fixed strings
21:38 flussence (grep? I probably meant comb)
21:38 sjohnson i'm excited for this technology
21:39 sjohnson this is going to alleviate much headaches
21:39 masak many of us are :)
21:39 masak excited, I mean. not headaches.
21:39 sjohnson correct me if i'm wrong, but i believe p6 also addresses the qx// in a @LIST context instead of a giant string which needs escaping
21:39 * sjohnson crosses fingers
21:39 sjohnson i'm hoping i didnt have a dream about this.
21:40 masak sjohnson: not sure what you mean. qx// works in list context, AFAIK.
21:41 sjohnson in p5 or p6?
21:41 sjohnson in p5 i'm quite sure it's an interpolated-string
21:42 sjohnson this causes much grief in p5 for me.  and i think cludging a solution in CPAN is the only way to get around this.  i hope i'm wrong about that, too.
21:42 masak right. I don't think I see your use case.
21:43 masak there might be one, but you're describing suffering with which I am not acquainted.
21:43 sjohnson well, system(@LIST) will escape all your args for you, unlike system("some ugly bash command");
21:43 masak ok.
21:44 sjohnson if a clone function named shelloutput(@LIST) which returned the output instead of the errorlevel but had the same parameters.. the world would be a better place
21:44 masak oh! you're talking about preparing a quotemeta string with alternatives for a regex?
21:44 sjohnson (function name obviously might need more thanking)
21:44 sjohnson thinknig
21:44 sjohnson no, mostly dealing with system commands that have huge ugly filenames that require escaping.
21:45 sjohnson so far, the only viable solution is busting out CPAN and using String::ShellQuote to get around this.
21:45 sjohnson TimToady: was the reason for this not existing in p5 because it's a lot harder than I think it is?
21:45 sjohnson or maybe just not needed?
21:46 alester left #perl6
21:46 TimToady S29:558 speculates a "rungather" function
21:46 masak o.O
21:47 masak I'd gnrather not it have that name... :P
21:47 flussence .oO( let's just define these things in terms of syntactic sugar around a Proc object that can do everything... )
21:47 TimToady sjohnson: it can be done in P5 with open(PIPE, '-|') || exec @foo; or some such
21:48 sjohnson TimToady: *writing down advice*.  maybe i can argue p5p to have rungather in p5
21:48 sjohnson imagine the headaches disappearing like mirages for me
21:48 masak std: run gather { take 1; take 2 }
21:48 sjohnson and others
21:48 p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
21:48 sjohnson oh joyous day
21:48 TimToady well, p5 doesn't have gather, so run-gather is maybe problematic
21:48 marietta left #perl6
21:49 * sjohnson rubs chin
21:49 sjohnson ill ask on p5p.  hopefully i won't get yelled at
21:49 TimToady you'll get yelled at :)
21:50 TimToady anyway, p5 has readpipe()
21:53 TimToady unfortunately it doesn't grok lists
21:53 TimToady it could be taught to though
21:53 plainhao left #perl6
21:53 synple left #perl6
21:54 ab5tract left #perl6
21:55 * masak --> bed
21:55 hercynium left #perl6
21:55 masak 'night, #perl6.
21:55 flussence o/
21:55 masak left #perl6
21:56 flussence is there any language in existence (besides sh) that can handle file descriptors beyond stdin/out/err in a sane way?
21:56 lichtkind joined #perl6
21:56 TimToady um, C?
21:58 flussence I'd argue that using C as a glue language is the path to insanity, but *. :)
21:59 sjohnson LOLCODE
22:02 Holy_Cow left #perl6
22:04 sjohnson looks like i might be in luck
22:04 sjohnson for my idea
22:08 mkramer joined #perl6
22:11 flussence :( I just spent 10 minutes trying to find IO stuff on the lolcode wiki...
22:12 moritz_ flussence: perl 5?
22:13 moritz_ depending on your definition of "sane"; really
22:14 flussence tbh, I'm not sure myself what "sane" is with multiple IO streams
22:17 mathw left #perl6
22:18 huf joined #perl6
22:19 broquaint left #perl6
22:19 ilogger2 left #perl6
22:19 literal left #perl6
22:19 flussence would be nice if I could write things like "Proc.new('/usr/bin/whatever', :fd(err => open('error.log', :w)));"
22:19 broquaint joined #perl6
22:20 flussence where the thing on the right of the => is anything that can .read or .write, I guess
22:20 jnthn left #perl6
22:20 synple joined #perl6
22:20 Gothmog_ left #perl6
22:20 jnthn joined #perl6
22:20 perplexa left #perl6
22:21 synple left #perl6
22:22 TimToady well, you really want to be able to attach handles to feeds
22:23 flussence that sounds like it makes sense...
22:25 literal joined #perl6
22:28 spq left #perl6
22:28 flussence (this stuff makes more sense if I think about it in terms of databases, prepare/bind/execute...)
22:29 flatwhatson_ left #perl6
22:30 M_o_C left #perl6
22:31 MayDaniel left #perl6
22:31 literal_ joined #perl6
22:33 ilogger2 joined #perl6
22:33 literal left #perl6
22:33 literal_ left #perl6
22:33 literal joined #perl6
22:34 mathw joined #perl6
22:34 flussence (and then I realise that this is SQL and there's probably someone insane enough to write a stored proc that does exactly this sort of filehandle-munging through bind params...)
22:36 synple joined #perl6
22:37 Gothmog_ joined #perl6
22:40 kaare_ left #perl6
22:51 plobsing left #perl6
23:00 wallberg left #perl6
23:08 flussence_ joined #perl6
23:09 flussence left #perl6
23:18 perplexa joined #perl6
23:28 Trashlord joined #perl6
23:42 araujo left #perl6
23:48 risou joined #perl6
23:51 kst left #perl6
23:52 kst joined #perl6
23:52 plobsing joined #perl6
23:54 synple left #perl6
23:57 fisted left #perl6
23:58 araujo joined #perl6
23:58 fisted joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo