»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 atrodo left 00:18 MikeFair_ left, MikeFair_ joined 00:20 cognominal joined 00:21 dayangkun joined 00:27 yarp joined 00:43 yarp left 00:45 Teratogen joined
Teratogen hello 00:45
00:46 raiph joined
TimToady hmm, prompt("> ") isn't flushing its output in nom currently before asking for input 00:51
timotimo is it easy to declare a class as an exact copy of, say Int, so that i can require an argument to be, for instance in Kelvin? would it be class Kelvin is Int {}? 01:01
01:01 yarp joined 01:07 tokuhiro_ left
raiph r: sub a { say &?ROUTINE.name }; a 01:09
p6eval rakudo 220a69: OUTPUT«a␤»
timotimo oh, is that new?
raiph i'm trying to find where .name is defined. tried p6doc and searching spec. 01:10
r: sub a { say &?ROUTINE.^mro }; a 01:11
p6eval rakudo 220a69: OUTPUT«Sub() Routine() Block() Code() Any() Mu()␤»
01:12 Chillance left 01:16 cognominal left 01:17 hypolin joined 01:20 yarp left 01:21 cognominal joined
Pleiades` timotimo, subsets possibly? 01:24
01:30 kid51 joined
Circlepuller_ r: sub a { say &?ROUTINE.code; eval &?ROUTINE.code; } 01:50
p6eval rakudo 220a69: ( no output )
Circlepuller_ r: sub a { say &?ROUTINE.code; }
p6eval rakudo 220a69: ( no output )
Circlepuller_ r: sub a { say &?ROUTINE.code; } 01:51
p6eval rakudo 220a69: ( no output )
Circlepuller_ r: sub a { say &?ROUTINE.code; eval &?ROUTINE.code; }; a
p6eval rakudo 220a69: OUTPUT«No such method 'code' for invocant of type 'Sub'␤ in sub a at /tmp/Ckn4U23oOS:1␤ in block at /tmp/Ckn4U23oOS:1␤␤»
Circlepuller_ r: sub a { say a.code; eval &?ROUTINE.code; }; a
p6eval rakudo 220a69: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)␤called from Sub 'a' pc 109 ((file unknown):82) (/tmp/EeyWsCdcr7:1)␤called from Sub 'a' pc 133 ((file unknown):96) (/tmp/EeyWsCdc…
Circlepuller_ r: sub a { say a.code; eval a.code; }; a 01:52
p6eval rakudo 220a69: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)␤called from Sub 'a' pc 109 ((file unknown):82) (/tmp/gQDVuNkAcP:1)␤called from Sub 'a' pc 133 ((file unknown):96) (/tmp/gQDVuNkA…
Circlepuller_ ha
r: sub a { say a.code; }; a
p6eval rakudo 220a69: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)␤called from Sub 'a' pc 109 ((file unknown):82) (/tmp/r6hz_jpNk8:1)␤called from Sub 'a' pc 133 ((file unknown):96) (/tmp/r6hz_jpN…
Circlepuller_ :|
sorear Circlepuller_: say a.code parses as say a().code 01:53
no wonder it recurses indefinitely 01:54
Circlepuller_ oh hmm
sorear r: sub a { say &a.code; }; a
p6eval rakudo 220a69: OUTPUT«No such method 'code' for invocant of type 'Sub'␤ in sub a at /tmp/wlOsVBWR0p:1␤ in block at /tmp/wlOsVBWR0p:1␤␤»
Circlepuller_ lame
01:54 fgomez joined
sorear r: sub a { say &a.do; }; a 01:54
p6eval rakudo 220a69: OUTPUT«No such method 'do' for invocant of type 'Sub'␤ in sub a at /tmp/wnI0V37llk:1␤ in block at /tmp/wnI0V37llk:1␤␤»
Circlepuller_ i forgot about the ampersand
ha
sorear r: sub a { say &a.^methods; }; a
p6eval rakudo 220a69: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in method gist at src/gen/CORE.setting:4748␤ in sub say at src/gen/CORE.setting:7161␤ in sub a at /tmp/VvD5hpzOqf:1␤ in block at /tmp/VvD5hpzOqf:1␤␤»
sorear r: sub a { print &a.^methods; }; a 01:55
p6eval rakudo 220a69: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at src/gen/CORE.setting:5964␤ in method reify at src/gen/CORE.setting:5120␤ in method gimme at src/gen/CORE.setting:5485␤ in method print at src/gen/CORE.setting:7345␤ in sub print at src/…
timotimo r: subset PersonNumber of Int; sub frob(PersonNumber $a) { say "$a is a person" }; my Int $test = 99; frob($test)
p6eval rakudo 220a69: OUTPUT«99 is a person␤»
timotimo Pleiades`: doesn't seem to do what i want
this may be something for roles
Circlepuller_ r: sub a { say &a.^mro; }; a 01:56
p6eval rakudo 220a69: OUTPUT«Sub() Routine() Block() Code() Any() Mu()␤»
Circlepuller_ r: sub a { say &a.^routine; }; a
p6eval rakudo 220a69: OUTPUT«No such method 'routine' for invocant of type 'Perl6::Metamodel::ClassHOW'␤ in sub a at /tmp/b8GpN0I0fj:1␤ in block at /tmp/b8GpN0I0fj:1␤␤»
Circlepuller_ r: sub a { say &a.routine; }; a
p6eval rakudo 220a69: OUTPUT«No such method 'routine' for invocant of type 'Sub'␤ in sub a at /tmp/jiOMYxr_6l:1␤ in block at /tmp/jiOMYxr_6l:1␤␤»
Circlepuller_ i have no idea what i'm doing xD 01:57
sorear would be nice if .^methods could be made to work in something closer to all cases
01:58 FROGGS_ joined
Circlepuller_ it'd be nice if i could get a subroutine's code 01:59
timotimo r: role PNr {}; my Int $test = 99 but PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); 02:00
p6eval rakudo 220a69: OUTPUT«99 is PNr␤Constraint type check failed for parameter '$a'␤ in sub frob at /tmp/GPAXrz3ZdQ:1␤ in block at /tmp/GPAXrz3ZdQ:1␤␤»
timotimo Pleiades`: see this, works fine.
02:00 FROGGS__ left
timotimo r: role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); 02:00
p6eval rakudo 220a69: OUTPUT«99 is PNr␤99 is PNr␤»
timotimo this is a little bit surprising to me. wouldn't have thought the "99 does PNr" would modify 99 "in a global context" if that makes any sense at all. 02:01
(and one could build a subset of Int where .doen(PNr))
sorear timotimo: constant pooling. 02:02
02:02 FROGGS left
sorear it's not modifying 99, it's modifying a single Int instance for 99 that happens to be shared between all instances of the literal 99 in your program 02:02
timotimo is there a range for which rakudo does that? 02:03
02:03 FROGGS__ joined
timotimo or does it do that for all literals? 02:03
sorear all literals I think
doy seems like "99 does PNr" should be an error if that's the case
sorear n: : role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99);
p6eval niecza v21-1-ga8aa70b: OUTPUT«===SORRY!===␤␤Bogus statement at /tmp/MOTQKIOCPm line 1:␤------> <BOL>⏏: role PNr {}; my Int $test = 99 does PN␤␤Parse failed␤␤»
sorear n: role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99);
p6eval niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Cannot use 'does' operator with an immutable object␤ at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1368 (infix:<does> @ 8) ␤ at /tmp/c6RS17Pwkf line 1 (mainline @ 4) ␤ at … 02:04
02:08 orafu joined
cognominal r: for 0..Code.^methods-1 { print "$_ "; try { print Code.^methods[$_] } } 02:09
p6eval rakudo 220a69: OUTPUT«(signal SEGV)»
cognominal why am I so good at breaking things :(
r: print Code.^methods[0] 02:12
p6eval rakudo 220a69: OUTPUT«(signal SEGV)»
cognominal r: say Code.^methods[0]
p6eval rakudo 220a69: OUTPUT«No such method 'gist' for invocant of type 'Sub'␤ in sub say at src/gen/CORE.setting:7161␤ in block at /tmp/iTCfdex7tn:1␤␤»
benabik Hm. I guess the stringification bit for Code is a bit... broken.
r: Code.methods[0].Str 02:13
p6eval rakudo 220a69: OUTPUT«No such method 'methods' for invocant of type 'Code'␤ in block at /tmp/FuaLPyRT0k:1␤␤»
benabik r: Code.^methods[0].Str
p6eval rakudo 220a69: OUTPUT«No such method 'Str' for invocant of type 'Sub'␤ in block at /tmp/hfll5DuXtK:1␤␤»
02:13 OuLouFu left
benabik r: ~Code.^methods[0] 02:13
p6eval rakudo 220a69: OUTPUT«(signal SEGV)»
cognominal nope, some Sub are not boxed
but what is new to me is that it can crash rakudo 02:14
02:14 kid51_ joined
cognominal in fact, I crashed rakudo when trying (sic) to discover what subs were not boxed 02:15
r: for 0..Code.^methods-1 { print "$_ "; try { say Code.^methods[$_] } }
p6eval rakudo 220a69: OUTPUT«0 1 2 3 4 5 6 7 arity␤8 count␤9 signature␤10 outer␤11 static_id␤12 of␤13 returns␤14 ACCEPTS␤15 Str␤»
cognominal When the try fail the Sub is not boxed 02:16
now I don't know where they are set.
02:16 kid51 left
cognominal I am not to sure how to set -O0 to debug on my macbook. I will have to compile and debug on feather :( 02:21
benabik++ 02:24
prefix + crashes on unboxed values
two bugs for the price of one.
benabik r: +Code.^methods[0]
p6eval rakudo 220a69: OUTPUT«(signal SEGV)»
benabik Hopefully that's some boxing issue and not segfaults from Parrot's subs. 02:25
cognominal well, I think rakudo code should protect against unboxed value
*protect itself 02:26
02:27 cognominal left 02:30 cognominal joined 02:35 kid51_ left 02:53 cognominal left 02:56 gootle joined 03:01 adu joined 03:03 cognominal joined 03:12 cognominal left 03:14 raiph left 03:16 adu left 03:18 cognominal joined 03:20 cognominal left 03:40 yarp joined 03:44 scott_ joined, scott_ is now known as Guest66825 03:46 kaleem joined
ingy is "somesuchshizzle" a real word? 03:56
03:58 rking joined
ingy hi rking 03:59
rking Howdy, ingus. =)
ingy nothing is currently going on at all
here
rking That's an easy fix. 04:00
ingy r: +Code.^methods[0]
p6eval rakudo 220a69: OUTPUT«(signal SEGV)»
ingy r: say 'hi rking' 04:01
p6eval rakudo 220a69: OUTPUT«hi rking␤»
rking Wow, I didn't know about U+2424. A smart one. 04:02
ingy p6eval: pugs: say 42
p6eval ingy: pugs: OUTPUT«42␤»
rking What's the 220a69 about? Is that a persistent session?
sorear rking: Version number
rking Oh, hehe. 04:03
ingy p6eval: help
p6eval ingy: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program>
ingy
sorear rking: hello! are you new here?
ingy hi sorear
rking is my hacker guru of sorts 04:04
rking sorear: Yes. I'm only getting back into programming as of a few months ago, and my interest in Perl6 hasn't yet blossomed much.
ingy I just invited him here from #pegex
rking He always says that but all I did was hone in on a few principles back in the day and crammed them down his throat. I basically lucked out that the principles had some validity.
yarp r: say "good evening" 04:05
p6eval rakudo 220a69: OUTPUT«good evening␤»
04:07 skids left
ingy rking: we need to get uniscript and perl5i into the p6eval 04:07
sorear were you at ye2012?
ingy sorear: rking's never been to a yapc, afaik 04:08
unless you were talking to me, in which case, no :[ 04:09
sorear I was being deliberately vague.
rking ingy: You're wrong actually.
ingy oh yeah?
rking ingy: We met before you know we met, YAPC 2000, Montreal.
Urrr
Monterey, CA
ingy I often am
rking: that's oscon 04:10
rking Aha!
ingy or actually TPC
the Perl Conference
rking Then that one. =) And then you're right that I've never been to one.
TimToady hmm, TPC was only ever in San Jose
ingy ok
04:10 jaldhar_ joined
sorear well in 2000 I was not going to conferencez 04:10
ingy I guess it became oscon in 2000
TimToady 3rd year turned into OSCON
sorear (and people would have thought I was crazy if I had asked to go) 04:11
rking sorear: People at your company you mean?
ingy: But we did meet. I forget what you were talking about but it was really intense and detailed.
sorear rking: well, I was 10 at the time
ingy TimToady: I was giving mst lessons in language design today
rking sorear: Aha. =)
TimToady tries to imagine mst as an acmeist and fails 04:12
ingy TimToady: he's not one, but he has done more for acmeism in the past months that anyone 04:13
he's great to have on your side
mst++ 04:14
sorear I may have been to Monterey once or twice.
ingy we cranked out yet another acmeist data language 04:15
rking: Monterey 2k was my first Perl conf
sorear ingy: rking: ye2012 was my first
ingy sorear: I am very sorry to have missed it then
sorear: are you still somewhere in california? 04:16
sorear let me check
ingy :D
rking Random question: What's the bleeding edge of Perl live coding environments? I'm thinking Smalltalk+Lisp+Factor+etc.
sorear seems so.
rking Emphasis on capitalizing on the greater data set available at run-time vs. edit-time, on blurring the line between a user and a programmer, and on integrating with existing file-based coding systems. 04:17
ingy rking: #perl6 ;)
sorear ingy: so moritz++ was scheduled to talk to give a talk about exceptions at ye12 04:18
ingy: but he has a last minute tuit reassignment, so jnthn++ had to step up
ingy sorear++ 04:19
sorear ingy: but then half way though he went "now I'm going to hijack this talk to show everyone a Perl 6 debugger I wrote in secret last week"
you had to have been there.
rking sorear: Is it public? The tool.
sorear github.com/jnthn/rakudo-debugger 04:20
sorear wonders if rking is somewhere in CA 04:21
rking sorear: Nope. Texas headed to Kansas.
04:21 jaldhar_ is now known as jaldhar
sorear rking: do you think you might make austin 2013? 04:22
ingy rking: wtf's in kansas?
New Lubbock, KS ?? 04:23
rking sorear: I could probably do that. I'll try for it. =) 04:25
ingy: Not much. Just a better gig than what I have now.
04:26 adu joined 04:48 kaleem left, kaleem joined 04:58 adu left
moritz good morning 05:03
LlamaRider good morning moritz 05:04
sorear o/ 05:07
05:20 tipdbmp left, tipdbmp joined, tipdbmp left, tipdbmp joined 05:42 hanekomu_ left 06:11 stepnem joined 06:13 marmay joined
Teratogen everything is going the way of the cell phone and the tablet computer 06:17
how is Perl 6 going to address this fact?
Teratogen seriously wants know
err
s/cell phone/smart phone/
sorry 'bout that
bonsaikitten Teratogen: it'll just run the same on all platforms 06:19
I fail to see how a portable computer with a phone app is a special case
Teratogen well, I want to write android apps in Perl 6
what do you think of THOSE apples, eh?
tadzik if we run on JVM, that may be possible in some way 06:20
Woodi marning
tadzik good morning #perl
6
Woodi but is app for android much different then for linux ? 06:21
sorear Woodi: iiuc, yes.
Teratogen: do you remember perlito?
tadzik: morning!
tadzik morning! 06:22
sorear: I got a round to try Bailador on niecza. It's quite stunning
bonsaikitten Woodi: android is a java-ish dialect 06:25
06:25 yarp left
sorear Woodi: the android ecosystem frowns on creating Linux binaries, wants you to write Java classes instead 06:27
the rakudo folks are talking about JVM as the next backend, so.
Woodi got shivers......
I hear Java lastly was nicely bugged :) 06:28
but returning to Parrot: I was sure Perl6 should always be main concern for Parrot... that universal-dynamic-language-vm should be second... IMO 06:31
06:32 wk joined 06:34 mtk left 06:36 FROGGS__ left 06:37 FROGGS_ left
sorear Woodi: perl 6 does not exist for the benefit of parrot 06:38
tadzik: oh? 06:40
Woodi I was sugesting the other way,,,
sorear Woodi: it does not follow that rakudo needs to use parrot, exclusively or otherwise 06:42
Su-Shee verybody runs on the jvm these days so why not perl6 too.. 06:43
+e
good morning everyone.
sorear morning Su-Shee
Woodi o/
Teratogen why cannot Perl 6 run on JVM? 06:47
Woodi Teratogen: who say that ? :) 06:48
sorear Teratogen: it can, is your memory acting up again? 06:50
Teratogen I guess =) 06:51
06:51 FROGGS joined
sorear there are already reasonably complete perl 6 implementations running on .net, Javascript, Parrot, and GHC 06:51
06:51 FROGGS__ joined
FROGGS good morning! 06:51
sorear there is no reason it could not run on JVM too. 06:52
Su-Shee sorear: you're still counting the js experiment or is there a new one? :)
sorear and pmichaud et al have explicitly picked JVM as Rakudo's next target
Su-Shee: I'm speaking of perlito
my js experiment was never "reasonably complete"
Su-Shee sorear: what was your called? 06:53
yours
sorear working name niecza/js 06:54
Su-Shee hm, then I have another one in mind..
sorear there was at one point an experimental js pugs backend
also, several times I have seen threats to use enscript with p6 06:55
Su-Shee well I basically don't care for the backend, but after looking into clojure a little, I think the idea of being able to incorporate any Java thing I'd like to use within in a nicer programming language is amazing. and very practical as the Java world really has done its homework when it comes to libs and tools and frameworks.. 06:57
Woodi Su-Shee: much more then homework :) they invested into it from the start (GUI, HTTP) and later (BIG business-stuff)... 07:00
07:02 brrt joined 07:17 sirrobert left 07:27 kresike joined, FROGGS left, FROGGS__ left, FROGGS__ joined
kresike good morning all you happy perl6 people 07:27
07:32 fhelmberger joined 07:36 kenjiskywalker left 07:37 kenjiskywalker joined
bonsaikitten Su-Shee: hmm. I would claim that the java people are about the worst when it comes to build systems and packaging 07:38
sorear o/ kresike
LlamaRider bonsaikitten: you don't like the simplicity of JARs? 07:39
bonsaikitten LlamaRider: what's simple about a messed up zipfile?
LlamaRider: the best way to process JARs is to use zip and some shell magic because the jar tool can't do some operations 07:40
tadzik that discussion rings a bell
LlamaRider I miss having a JAR-like thing for Perl. Sometimes you just want an application fast and don't want to go through any hurdles to get it deployed on your machine and then quickly wiped out. 07:41
and you want average Joe to have the same experience on his machine 07:42
sorear never mind the unix stupidity where you can't treat a zip file safely and transparently as its contents
bonsaikitten LlamaRider: it's called cpan 07:43
07:43 hoelzro|away is now known as hoelzro
LlamaRider bonsaikitten: that's great for devs, pretty painful for simple users 07:43
sorear cpan used to be hell on new machines
Su-Shee bonsaikitten: I'm not talking about build systems and packaging but about what libs and modules and frameworks they've created - the amount and usefulness easily rivals CPAN. _And_ they took care of all the "boring shit" modules you're going to need at some point - SSL, r/w Excel files, parse broken CSV and so on.
bonsaikitten sorear: that sounds like lots of complication for little gain
mhasch LlamaRider: would that Jar-like thing not be PAR?
LlamaRider mhasch: does PAR work reliably? 07:44
actually is it alive at all?
bonsaikitten LlamaRider: hmm? where's the difference? "giev app" vs. download different crap from 30 locations
I'll take cpan over wget any day
LlamaRider so would I
but I love grabbing a JAR clicking twice and having Minecraft open 07:45
it's just simple
bonsaikitten no, it's not
but then I guess I'm lame because I want to have all such stuff managed by a sane package manager
"giev miencraft" and there it is, nothing to worry for me
sorear which system is giev for? 07:46
LlamaRider if you are selling a product to a consumer, sometimes you want to have really *everything* under control. So bundling the entire shebang together is great.
Timbus PAR works... 07:47
so does cava.
cava makes an installer, actually. so, eh
LlamaRider if PAR works I am throwing a party :D
Timbus it does. it even bundles in a perl interpreter and makes it into an exe 07:48
or binary
if you want
LlamaRider sweet
on-topic: keep that for perl6 :) 07:49
07:50 xinming_ joined
Woodi returning to parrot again: parrot-devs looks to be optimistic that concurrency will land soon. any info how good/bad it can be ? 07:50
brrt Woodi: whatyawannaknow
kresike hello sorear o/
sorear it is "interesting" concurrency
brrt i think so
sorear related to the actor model 07:51
brrt basically, its like this
interpreters are thread-local
objects are bound to interpreters (and threads)
if you share an object between threads
sorear it might work well, but it will require some odd gymnastics to use in languages
brrt then only the 'owner' thread will have write access 07:52
the rest can write, but only by sending a task to the owner thread
this is accomplished by a proxy object
07:53 xinming left
sorear so, for instance, parrot's new threads are probably not very useful for @foo>>.method 07:53
Timbus so its like when i pass methods back to the main thread loop in a UI application 07:54
Woodi can interpreter create threads/actors for himself ? 07:55
Timbus i am okay with this actually it seems fairly sane
Woodi or thread == interpreter ? 07:57
08:05 FROGGS joined
Woodi hmm, that means build-in atomicicity :) 08:06
08:07 leont joined 08:12 mucker joined
sorear yay mono assertion failures 08:13
08:20 Psyche^ joined 08:23 Patterner left, Psyche^ is now known as Patterner
FROGGS tadzik: would you mind that I add the tmpdir functionality (File::Spec) to your File-Tools repo? 08:25
tadzik FROGGS: not at all
FROGGS k
tadzik but but
FROGGS great
ya?
tadzik there were plans to split Shell::Command and File::Find
FROGGS k
tadzik will come back to it later &
FROGGS so I make a new project
sorear filed 08:26
dalek ecza: c592587 | sorear++ | lib/ (4 files):
Change constant table to use instance fields

By allowing different loads of the same load module to have independent constant tables, this is the first step towards allowing concurrent use of compartments in the same kernel instance.
08:32
sorear sleep&
masak morning, #perl6 08:36
hoelzro o/ masak
FROGGS hi masak
masak writes up a mini-challenge for today
tadzik FROGGS: ok I'm here 08:38
so, me, and a few confused people too think that File::Tools should be shed to pieces 08:39
and those pieces to be released as separate projects
now people can't find neither File::Find nor Shell::Command
masak granularity++
tadzik shudders every time he adds a new dep to Panda
masak oh, *that* was why. 08:40
I can see that being a reason, but it doesn't feel like a very strong reason. 08:41
tadzik right
well, that wasn't the reason really
tadzik looks at the git history
so it used to be File::Copy, File::Mkdir and File::Find in one repo 08:42
github.com/tadzik/perl6-File-Tools...365c15eca8
08:44 dakkar joined
leont tadzik: welcome to toolchaining 08:47
08:50 xinming joined
masak today's mini-challenge: gist.github.com/3712987 08:51
08:53 xinming_ left
tadzik oh, leont, good to see you 08:58
I was thinking about this custom build routines yesterday, for the module ecosystem
I sketched out something along this: gist.github.com/3709444 So extending the module installer's behaviour 08:59
so when it installs stuff, it looks for Build.pm, loads it if it's there, and then uses its build/test/install methods, if they're there
leont: what do you think? 09:00
leont I think that on the long term you want a make like system
moritz whatever you do, please make sure that providing a custom Build.pm doesn't mean you have to reimplement the build steps that you want to leave untuched :-) 09:01
leont Inversion of control is a very good thing in builders, because it allows you to easily extend things
tadzik yes, I'm keeping that in mind :)
leont Including what moritz just said 09:02
tadzik in the Build.pm I thought of, you _can_ extend several build steps, but you don't have to
in the simpliest case, you don't have to do anything at all
once you need some fancy stuff, you handle it yourself
leont paste? 09:03
tadzik gist.github.com/3709444
leont Things is, what if someone wants to change how something is compiled 09:04
Then you're screwed in that system
tadzik why?
leont Because code is a lot harder to modify than data 09:05
09:05 FROGGS__ left 09:06 FROGGS__ joined
tadzik hm, well 09:06
dalek kudo/nom: f3e1c3f | jonathan++ | src/Perl6/Grammar.pm:
Liberalize checking of whether we are in a proto.
kudo/nom: e067a34 | jonathan++ | src/ (3 files):
First cut of more complex proto bodies. Caveats: optimizer not aware of the non-onlystar case yet, and can't put {*} in nested blocks in the proto.
kudo/nom: e1bd5c9 | jonathan++ | src/ (4 files):
Mark onlystar protos.
kudo/nom: 3b9fc15 | jonathan++ | src/Perl6/Optimizer.pm:
Don't optimize away the proto in the non-onlystar case.
kudo/nom: 15bdbb4 | jonathan++ | src/Perl6/Actions.pm:
Auto-generated proto also needs to be marked as onlystar.
tadzik okay, what's the use case? doing perl6 -O2 for some files and perl6 -O0 for another?
ie what do you mean by "change the way files are compiled"
leont I mean that you don't know in advance what people will want to do 09:07
You can't
tadzik sure
that's why I wanted to make them able to write code rather than write metadata. Data is limiting, code's not
exactly because people will need things I didn't think of 09:08
FROGGS why have a case where we compile everything static instead of shared objects for example
the best way IMO is that you _can_ overwrite every method that panda calls, like compile_file( $file, $dest, $whatever ) 09:09
but you dont have to
leont This is a prototype I have (in perl5): paste.scsys.co.uk/207622 09:10
FROGGS and you can call something like SUPER::compile_file to jump to pandas sub, if you just need to do something special right before the usual code
leont One nice trait is that one paragraph creating a .pm file will automatically result in the other processing it, for example. 09:11
The order of the paragraphs doesn't affect this trait, they're completely independent (except the last one, but that could be rewritten independent too)
09:14 mdupont left
brrt i thought ionmonkey was in production by now 09:15
09:18 wamba joined 09:19 tomaw left, dayangkun left
FROGGS tadzik: I think the first step would be to design the single steps panda needs to do that might be of interest to handle in a custom Build.pm 09:20
then we might need to extend the metadata for the module (in what dirs it has to look for files for example) 09:21
09:21 dayangkun joined
FROGGS adding build steps for systems like macosx might also be handy 09:22
09:24 mdupont joined 09:25 tomaw_ joined
moritz for $work I'm now looking at merging tickets in OTRS, and I can't help to notice some similarities to inheritance and role composition 09:30
s/to/but/
masak what kind of similarities?
09:31 tomaw- joined 09:32 eternaleye left
moritz well, basically there are two things you can do 09:32
if you merged A into B and B into C, then the result is a tree of merged tickets, much like inheritance 09:33
otoh some resources get copied flatly along the merge direction (or should :-)
much like role composition
09:35 tomaw- is now known as tomaw
masak well, the "link vs copy" thinking comes back in DDD when thinking about aggregates, too. 09:35
aggregates tend to favor duplication and eschew links.
dalek kudo/nom: 4e07a76 | (Gabor Szabo)++ | / (2 files):
change most of the Test.pm functions to return their truth value and test this in the sanity test
09:36
kudo/nom: 61807a6 | (Gabor Szabo)++ | t/01-sanity/99-test-basic.t:
enable some commented out sanity test
kudo/nom: 792c782 | (Gabor Szabo)++ | / (2 files):
fix the rest of the Test functions to return their truth and test them
kudo/nom: ab08176 | (Gabor Szabo)++ | / (8 files):
merge from upstream and add the additional test cases
kudo/nom: 51435bd | moritz++ | / (2 files):
Merge branch 'nom' of github.com/szabgab/rakudo into nom
kudo/nom: 2ee2701 | moritz++ | / (13 files):
Merge branch 'nom' of git://github.com/rakudo/rakudo into nom
09:39 tomaw_ left 09:53 xinming left 09:54 dayangkun left, qinghandebaba joined 09:55 xinming joined
dalek kudo/nom: 0af9e7b | (Gerhard R)++ | src/binder/container.c:
Rename typename to type_name, which isn't a C++ keyword
09:59
kudo/nom: 8e2134e | (Gerhard R)++ | src/ (3 files):
Add pointer casts to quiet warnings
kudo/nom: 2f06eb0 | (Gerhard R)++ | src/binder/ (2 files):
Add parens to quiet precedence warnings
kudo/nom: 1007273 | moritz++ | src/ (5 files):
Merge pull request #80 from gerdr/gerdr/warnings

Quiet some gcc warnings
10:01 mdupont left 10:03 Exodist left, Exodist joined 10:08 hypolin left 10:10 leont left 10:14 Guest66825 left 10:27 daxim joined 10:30 spider-mario joined 10:50 xinming_ joined 10:53 xinming left 10:57 crab2313 joined 10:58 wk_ joined, wk left 11:01 yarp joined, brrt left
LlamaRider the abstract syntax actions in P6 grammars confuse the heck out of me. Is there a handy reference on them? 11:02
abstract syntax trees* 11:03
11:05 gootle left, Su-Shee_ joined
LlamaRider most revealing intro I read so far was in masak's blog, but I am still lacking more ambitious examples on how to manipulate them in grammar actions. 11:06
11:09 kaleem left, kaleem joined, Su-Shee left
masak LlamaRider! \o/ 11:10
11:10 Su-Shee_ is now known as Su-Shee
masak LlamaRider: I think you need to ask a more specific question. I agree that information is scattered and could be collected in one place. 11:10
LlamaRider I think my confusion is not with AST as a concept, but with the .ast method in particular 11:12
masak ok, let's start there, then. 11:13
LlamaRider there seems to be some interplay with using "make" in grammars and then retrieving what was returned by .ast
masak indeed.
"make" sets $/.ast
LlamaRider grammar actions that is
masak r: grammar G { regex TOP { { make 42 } } }; G.parse(""); say $/.ast
p6eval rakudo 100727: OUTPUT«42␤»
hoelzro listens up
LlamaRider what does this "make" stand for? 11:14
it's too vague to figure out
hoelzro masak: it's not typical to put the actions directly in the grammar, right?
you usually have an actions class?
masak sure. 11:15
that's by convention only, though.
moritz rakudo didn't support inline 'make' for a long time
LlamaRider: it sets the .ast attribute of the current match object
hoelzro so basically sub make($value) { $/.ast = $value }? 11:16
LlamaRider ok, so one point of confusion is that .ast does not really return an "abstract syntax tree", I could literally stuff anything in there
masak hoelzro: kinda. the $/ is a lexical, not a global.
hoelzro masak: oh, ok
masak LlamaRider: yes, but it's meant to contain an AST of some kind.
LlamaRider ok, so there is no structure imposed by design 11:18
that is what I was wondering about - if I need to create specific structures or expect some magic AST object
moritz well, the Match objects have a certain structure (depending on your regex), and you can attach an AST object to any level
LlamaRider which leads to my next query; if I have -- " token foo { <bar> <baz> } " can I access something like $<bar>.ast in the action for foo? 11:20
masak wow, you can do HEAD@{5 minutes ago} in git. did not know that.
LlamaRider: yes, absolutely.
11:21 dayangkun joined
LlamaRider masak: ok, now I can try the first approach to your teaser task then :) thanks 11:21
masak LlamaRider: that's the idea, even. to combine the ASTs of child nodes into bigger ASTs on the way up through the recursive descent.
LlamaRider: ooh!
LlamaRider already posted a solution using the second one, but it feels dumb
masak the task as such has been up for discussion now and then on the channel.
but I'm not aware that I've seen a solution to it.
LlamaRider are we talking about the same thing? gist.github.com/3712987 11:22
masak yeah, the second approach feels like not taking advantage of information from the parse.
hoelzro masak: in the token foo example, you'd probably do something like make FooToken.new(:bar($<bar>.ast), :baz($<baz>.ast)), right?
masak LlamaRider: yeah, today's mini-challenge :)
moritz masak: 'man git-rev-parse' is a relevation :-)
dalek rlito: d0f534c | (Flavio S. Glock)++ | / (4 files):
Perlito5 - javascript - glob assignment fix
11:24
11:24 JimmyZ joined
masak moritz: yes, well. I'm reading www.kernel.org/pub/software/scm/git...sions.html now. 11:26
wow, apparently the brace syntax is used for a number of things. 11:27
moritz ah yes, man git-rev-parse contains that
11:30 crab2313 left 11:36 lorn_ joined, TimToady_ joined 11:37 spider-mario_ joined, mucker_ joined, obra_ joined, sergot_ joined, orevdiabl joined, gfldex_ joined
LlamaRider are we talking about the same thing? gist.github.com/3712987 11:40
oops, sorry
11:42 spider-mario left, mucker left, kresike left, obra left, revdiablo left, sudokode left, gfldex left, sergot left, lorn left, TimToady left 11:44 mucker_ left, mucker joined 11:45 Pleiades` left 11:46 wamba left 11:49 zamolxes left, rsimoes left, Pleiades` joined, zamolxes joined 11:50 xinming joined, groky left, sjohnson left, broquain1 joined, REPLeffect left 11:51 REPLeffect joined, groky joined 11:52 snarkyboojum left 11:53 Vlavv_ left, erkan left, xinming_ left 11:54 robins joined, broquaint left, robinsmidsrod left, robins is now known as robinsmidsrod 11:55 snarkyboojum joined, Vlavv_ joined 11:56 erkan joined, erkan left, erkan joined 11:57 REPLeffect left, FROGGS__ left
LlamaRider I have <foo>? , how can I check in a grammar action whether $<foo> was matched? Is that variable always defined, even if no match occurred ? 11:57
11:58 Util left
moritz $<foo> will be an array with 0 or 1 element 11:58
so a simple if $<foo> { } does what you want 11:59
11:59 FROGGS__ joined
LlamaRider ok, so my bug is trickier, thanks 11:59
moritz (note that this is about to change, and $<foo> will be either a Match object or Nil, but the 'if' will still work)
jnthn r: my $x = "alpha\n beta\n gamma\ndelta\n epsilon\n zeta\n"; grammar Indentation { token TOP { <spaced(0)>* }; token spaced($sp, $s = ' ' x $sp) { $s (\N+) \n <spaced($sp + 2)>* } }; say Indentation.parse($x, actions => class { method TOP($/) { make $<spaced>>>.ast }; method spaced($/) { make $<spaced> ?? ~$0 => [ $<spaced>>>.ast ] !! ~$0 }; }).ast.perl; 12:01
p6eval rakudo 100727: OUTPUT«$("alpha" => ["beta", "gamma"], "delta" => ["epsilon" => ["zeta"]])␤»
jnthn masak: ^ what you wanted?
12:04 rsimoes joined, Util joined
LlamaRider ok, so my bug is trickier, thanks 12:04
argh, not again :(
masak jnthn: yes, that looks like exactly what I wanted.
LlamaRider jnthn, awesome, i stared for 2 minutes and understood 30% :D
masak I tried to use parameterized grammar rules yesterday, and completely failed at it. 12:05
glad to know that idea wasn't insane, then :)
jnthn++
jnthn Another masak challenge solved in a single line on IRC :P
masak :)
frettled Ow, my brane. 12:07
jnthn The bf interp I did in as many chars woulda been *worse* for your brane :P
arnsholt jnthn++ indeed 12:09
frettled jnthn: stop stop stop .)
arnsholt I wonder how far that gets you towards a Python parser =D
masak .oO( because Python is all Greek, too? ) 12:11
12:13 kresike joined 12:17 spider-mario_ left
arnsholt To a Perl programmer, it certainly is all Greek ;) 12:17
12:18 wamba joined, masak_ joined, estrai_ joined 12:19 mtk joined
LlamaRider I bet Greek Perl programmers disagree 12:21
masak_ freenode is having some trouble presently, it seems...
daxim ololol packets 12:22
12:22 pjcj_ joined 12:23 JimmyZ_ joined
JimmyZ_ token can have arguments? I never see it in std :) 12:23
12:23 yeltzooo7 joined
masak_ JimmyZ_: I think it's in there somewhere. 12:23
12:23 topo__ joined
JimmyZ_ rn: my $x = "alpha\n beta\n gamma\ndelta\n epsilon\n zeta\n"; grammar Indentation { token TOP { <spaced(0)>* }; token spaced($sp, $s = ' ' x $sp) { $s (\N+) \n <spaced($sp + 2)>* } }; say Indentation.parse($x, actions => class { method TOP($/) { make $<spaced>>>.ast }; method spaced($/) { make $<spaced> ?? ~$0 => [ $<spaced>>>.ast ] !! ~$0 }; }).ast.perl; 12:23
p6eval rakudo 100727: OUTPUT«$("alpha", " beta", " gamma", "delta", " epsilon", " zeta")␤» 12:24
..niecza v21-2-gc592587: OUTPUT«["alpha", " beta", " gamma", "delta", " epsilon", " zeta"]␤»
JimmyZ token can have arguments? I never see it in std :) 12:25
12:25 masak left, estrai left, yeltzooo left, nebuchadnezzar left, fhelmberger left, pjcj left, topo left 12:26 nebuchadnezzar joined
JimmyZ_ JimmyZ: who are you 12:26
12:27 masak_ is now known as masak, JimmyZ left, JimmyZ_ is now known as JimmyZ 12:29 fhelmberger joined, jaldhar left, daxim left 12:30 jaldhar joined, topo__ is now known as topo 12:32 PacoAir joined 12:34 eiro_ left, eiro__ joined 12:35 LlamaRider left 12:36 fhelmberger_ joined, gfldex_ is now known as gfldex 12:37 topo__ joined 12:38 daxim joined 12:42 fhelmberger left, eiro left, topo left, dayangkun left, eiro joined, jaldhar left, jaldhar joined, dayangkun joined 12:44 wamba left 12:47 sftp_ joined, topo__ is now known as topo 12:48 arnsholt_ joined, clkao_ joined, benabik left, BinGOs_ joined, Su-Shee_ joined 12:49 mst left, pnu_ joined, mst___ joined, moritz__ joined, zamolxes_ joined, mucker_ joined, ruoso_ joined, jnthn_ joined, xinming left 12:50 xinming joined, BinGOs left 12:51 BinGOs_ is now known as BinGOs, BinGOs is now known as 14WAAERGK 12:52 14WAAERGK is now known as BinGOs, BinGOs left, BinGOs joined, robinsmidsrod left, sftp left, jnthn left, sorear left, moritz left, Su-Shee left, arnsholt left, cxreg left, ruoso left, zamolxes left, clkao left, pnu left, mucker left, cxreg joined
JimmyZ masak: you're right, I didn't realize it 12:52
12:53 robinsmidsrod joined, adu joined, jnthn_ is now known as jnthn 12:54 avarab joined 12:55 spacebat_ joined, Gruber joined
daxim I made a distro upgrade and now am able to use libicu49 12:56
I can install native parrot/rakudo packages
masak JimmyZ: the nice realization here is that grammar rules are a kind of methods.
12:56 [Coke]_ joined, shachaf_ joined 12:57 sorear joined, mdupont joined
JimmyZ masak: yes, I know. I didn't know argment can be regex and insided in token 12:59
masak I believe it was an addition to S05 after it was created, but I'm not 100% sure. 13:01
13:02 sudokode joined, [Coke] left, spacebat left, Grrrr left, shachaf left, avar left
kresike the freenode network is slowly morphing into a notwork 13:04
13:04 fgomez left 13:05 atrodo joined
masak IRC is hard, let's go shopping! 13:09
13:09 xinming left 13:10 moritz__ left 13:11 ilogger2 joined, ChanServ sets mode: +v ilogger2, krunen joined, xinming joined 13:12 Util_ joined
adu masak++ 13:13
13:14 perigrin joined, yves_ joined, eiro_ joined 13:15 LoRe left 13:16 LoRe joined, skids joined 13:19 arnsholt joined 13:24 arkydo joined, fgomez joined
mucker_ is it theorectically possible to write a parser for perl6 using recursive descent technique ?? 13:26
masak mucker_: STD.pm6 is a recursive-descent parser. 13:28
jnthn modulo a little LTM ;)
masak mucker_: the parsers you get from grammars written in Perl 6 are recursive-descent parsers.
arnsholt And EXPR
masak true on both counts. 13:29
but the basic idea is still very much recursive-descent, if you ask me.
jnthn But yeah, it's rec desc for the main structure of the program for sure.
mucker_ cool
13:30 Gothmog__ joined 13:31 FROGGS_ joined
tadzik hmm hmm 13:31
PerlJam mucker_: I tend to think of parsers written in Perl 6 grammars as modal. For the main structure you get recursive descent, but then once you hit a certain "level", the parser switches modes and starts doing operator precedence parsing. (for instance) 13:32
tadzik it just occured to me that formatting code in Pod tables should not be that hard to implement
arkydo Where can I find a good intro tutorial about perl6? 13:33
tadzik or maybe
PerlJam mucker_: reality is generally more complicated though. You can have any number of "modes" by having parsers that call into each other. :-)
mucker_ arkydo: wikibooks worked well for me en.wikibooks.org/wiki/Perl_6_Programming 13:34
PerlJam arkydo: If you already know Perl 5, there's moritz's articles perlgeek.de/blog-en/perl-5-to-6/
masak TIL: you can compile .c files with `make` but without a Makefile: www.hackerschool.com/blog/7-unders...g-assembly
arkydo: check out perl6advent.wordpress.com/ 13:35
13:36 Gothmog_ left, Gothmog__ is now known as Gothmog_
arkydo thanks, for the recommandations, I will check them out. 13:37
13:38 kst joined, aloha joined, mucker joined 13:39 GlitchMr joined 13:42 tokuhiro_ joined 13:51 arkydo left 13:58 sjohnson joined 13:59 M_o_C joined 14:00 FROGGS_ left 14:01 FROGGS__ joined 14:08 mst joined
masak ...and the dust settles, and freenode is back to normal. (hopefully) 14:09
14:09 stopbit joined, FROGGS__ left 14:10 flightrecorder joined, xinming_ joined 14:13 FROGGS_ joined, xinming left 14:14 yarp joined
FROGGS_ is there a recommendation about *.pm or *.pm6 files? what should somebody use? 14:18
14:18 bluescreen10 joined
hoelzro prefers .mp6 14:18
er, .pm6
tadzik I prefer .pm
hoelzro otherwise I constantly have to tell Vim "hey, this is Perl 6!"
tadzik :)
hoelzro tadzik: why is that?
tadzik also, .pl not .pl6 14:19
hoelzro: it's one character less, obviously :)
and I don't use syntax hilighting anyway
PerlJam .pl is still "prolog" in my head :)
FROGGS_ .pl and .pm has the advantage that all system know its a perl file
tadzik and when I did, I just told vim that all my perl is perl 6 and it believed me
hoelzro I use .p6
masak I prefer .pm too. mostly because I started calling them that and see no reason to change.
hoelzro for scripts
masak I prefer scripts to have no extension.
extensions are for Windows users. 14:20
:)
hoelzro heh
PerlJam hoelzro: why can't vim read the #! line and figure out that it's perl6 ? :)
hoelzro well, I would like some advice on how to tell Vim and ack that those files are Perl 6 =)
PerlJam: but modules shouldn't have #!, right?
FROGGS_ right
PerlJam hoelzro: why can't vim read the first N lines of the file and look for the "use v6" or "module"? 14:21
:)
hoelzro PerlJam: that shouldn't be too hard 14:22
getting ack to do that is a little more complicated =)
daxim PerlJam, report here: github.com/petdance/vim-perl
skids tadzik: I believe github.com/skids/perl6sum should be ecosystem-friendly now. 14:23
14:25 wamba joined
tadzik skids: yep, looks good 14:26
care to send a pull request?
you want to add a path to raw META.info to github.com/perl6/ecosystem/blob/ma.../META.list
skids OK, I'll do that after work. Thanks, tadzik++ 14:27
dalek osystem: 5845251 | (Конрад Боровски)++ | META.list:
Add Sum module by skids
14:31
tadzik awesome :)
GlitchMr It might take a while to modules.perl6.org to update, but it's possible to install it now using Panda 14:33
(well, at least I think so)
tadzik not yet
now it is 14:35
skids BTW, if anyone needs any particular type of checksum added, let me know. Not that I read my email often enough. For now, I'm staying away from strong crypto, though.
FROGGS_ rqn: say $*OS
:/
tadzik skids: how about adding the existing Digest::lalala as possible backends?
masak skids++
tadzik we seem to have quite a few checksum modules now
skids I'll look at integrating those, sure. 14:37
moritz r: say nqp::p6box_s nqp::sha1('foo')
p6eval rakudo 100727: OUTPUT«0BEEC7B5EA3F0FDBC95D0DD47F3C5BC275DA8A33␤»
tadzik skids: that'd be awesome :)
skids++
GlitchMr r: say nqp::p6box_s nqp::sha1 'foo'
p6eval rakudo 100727: OUTPUT«0BEEC7B5EA3F0FDBC95D0DD47F3C5BC275DA8A33␤»
GlitchMr Shouldn't modules with nqp:: or pir:: be Parrot modules, not Perl 6 modules? 14:38
moritz parrot doesn't know about nqp:: 14:39
tadzik Parrot modules aren't easily usable from Perl 6 14:40
GlitchMr s/Parrot/Rakudo/
lol
tadzik ah :)
well, well
GlitchMr Technically, they could only work with Perl 6 implementations using Parrot
That would be only Rakudo
14:40 spider-mario joined
skids BTW, someone with an inclination to hack on test.pm might want to look at the hackery in e.g. t/siphash.t that makes sure the manpage synopsis works. Might make for an interesting addition. 14:42
moritz doubts there will ever be more than one major Perl 6 compiler targeting parrot
14:44 leprevost joined 14:46 thou joined
masak didn't Pugs target Parrot? 14:46
hoelzro I don't think so
GlitchMr Wasn't Pugs in Haskell? 14:47
JimmyZ there were some pir codes in Pugs, iirc
kresike bye folks 14:48
GlitchMr I hope that implementing pir:: won't be required to fully implement Perl 6 ;-).
Also, anything that uses CLR:: also isn't Perl 6. 14:49
14:49 benabik joined
tadzik it's just platform-specific Perl 6 :) 14:50
14:50 kst left
GlitchMr But, I guess that regular expressions with backreferences aren't regular 14:51
tadzik ww
GlitchMr But everybody implements backreferences... even with their low performance
masak backreferences are pretty useful. 14:52
14:53 tokuhiro_ left
arnsholt I dunno. I don't use them all that often in my regexes 14:53
Captures, sure. But things like /\w+ $1/? Not a lot 14:54
masak arnsholt: clearly you don't look for repeated words all that often. ;)
spider-mario it’s useful for RLE, is it not?
masak arnsholt: or for words with three occurrences of two letters, such as "bookkeeper".
GlitchMr arnsholt: Uhmmm... you probably meant /(\w+) \1/ or /(\w+) \s $0/ 14:55
arnsholt Er, right. What GlitchMr said
GlitchMr s/\\s/' '/
skids: Also, could you change name of module from "Sum::" to "Sum"? 15:02
tadzik heh
skids You mean in META?
tadzik yeah
GlitchMr I can make Pull Request for you, if you want 15:04
oh, you have done that 15:05
whatever
thanks
skids np
15:05 kaare__ joined 15:11 xinming joined
GlitchMr r: run "echo '//i' | a2p" 15:11
p6eval rakudo 100727: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub run at src/RESTRICTED.setting:8␤ in block at /tmp/Gui2qrQZTr:1␤␤»
GlitchMr b: run "echo '//i' | a2p"
p6eval b 922500: OUTPUT«Operation not permitted in safe mode␤ in 'Safe::forbidden' at line 2:/tmp/NNbwZulPxf␤ in main program body at line 22:/tmp/NNbwZulPxf␤»
GlitchMr n: run "echo '//i' | a2p"
p6eval niecza v21-2-gc592587: OUTPUT«Unhandled exception: run may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (run @ 0) ␤ at /tmp/C6qkMXbpwg line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.s…
GlitchMr Uhmmm... what is "b"?
I accidentally typed "b" instead of "n" 15:12
benabik GlitchMr: b is 'berlin', the last pre-nom release (IIRC)
Or 'beta', the branch after 'alpha' and before 'nom'
masak benabik: 'beijing', IIRC. 15:13
benabik masak: Drat. Well, I got two letters right...
masak GlitchMr: it took you three p6eval evaluations to realize that system calls are switched off? 15:14
15:14 xinming_ left
GlitchMr benabik: You got three 15:14
beijing berlin 15:15
oh wait
You got four
beijing berlin
benabik GlitchMr: Well, I meant the first two. But true.
GlitchMr I just have noticed this
15:16 perlhack joined
perlhack there know me ? 15:19
:-)
masak perlhack! \o/
perlhack: you're back!
perlhack :-)yes 15:20
masak :-)
masak perlhack: I thought of you just the other day.
15:20 fgomez left
perlhack masak:my english is very bad 15:21
:'(
hoelzro that sentence was perfect, though ;) 15:22
perlhack: 我的中文不好 =( 15:23
masak perlhack: 我的中文比你的英文真不好。
JimmyZ 大家好啊,我在深圳
hoelzro what are those last two characters?
it's been a few years.
masak perlhack: 你是勇敢的。
15:24 perlhack_ joined, perlhack left
perlhack_ sorry 15:24
TimToady_ Shenzhen
perlhack_ sorry all
刚才那个软件不支持中文 哈哈
masak perlhack_: irclog.perlgeek.de/perl6/2012-09-13#i_5984627
hoelzro I understood "哈哈" 15:25
=P
GlitchMr Uhmmmm... this Wiki is broken - wiki.perl6.org/
<script src="/js/jquery.min.js" type="text/javascript"> leads to 404
perlhack_ ‘’哈哈‘ = haha
sorry all ,i want to sleep.... 15:26
[Coke]_ GlitchMr: many 404s there. I dunno who maintains wiki, though.
15:26 perlhack_ left
TimToady Shenzhen must mean something like deep valley 15:26
masak good night, perlhack. 15:27
TimToady deep gorge, maybe
GlitchMr [Coke]_: It was working some time ago 15:28
[Coke]_ GlitchMr: no doubt.
GlitchMr If nothing would be done, nothing would break
Surely something has broken this wiki
masak TimToady: "deep drains", according to Wikipedia. 15:31
TimToady I suspect that's a mistranslation.
moritz I think uvtc was last seen maintaining the wiki. I just installed it. 15:32
TimToady it's more like "furrow"
and drainage as in drainage off a field
it's not about pipes, I suspect 15:33
masak TimToady: I don't dare change Wikipedia's translation, even though I believe you are right. 15:34
TimToady of course, it's possible that that is what a modern resident of Shenzhen thinks it means 15:35
in which case, trotting out the etymology is somewhat beside the point
the etymological fallacy is one that linguists learn to spot early :) 15:36
and certainly, China has had just a wee bit of time for semantic drift to occur...
otoh, this character occurs only in the city's name, so maybe I'm still right :) 15:37
masak :)
TimToady I might name a town "Deep Ditch" :) 15:38
the fact that the radicals are earth and river indicate that the original semantics were bound up in the relationship of those two things, probably 15:39
15:39 ponbiki joined 15:40 ponbiki is now known as Guest56876, Guest56876 left
skids
.oO(Hmm... where to draw the line between committing etymological fallacy and letting culture around you fall into complete slang.)
15:40
15:40 ponpon joined
TimToady but what if your slang is my native language? 15:42
PerlJam skids: if slang is the norm, then it isn't slang anymore.
TimToady it becomes a fractal problem, with a dependency on the scale at which you measure it 15:43
japhb o/ 15:44
skids PerlJam: yet norms don't become norms overnight, and can be strangled when young. :-) 15:45
moritz can they?
TimToady "A language is a dialect with an army and navy" 15:46
japhb Been away for a couple weeks, and looking through the Rakudo diffs. The onlystar work -- is that just to make sure that existing code that assumes proto bodies are just '{*}' doesn't break when larger bodies begin to be accepted? Or does this mean that larger proto bodies are actually fully working now?
PerlJam someone copied onlystar from nqp to rakudo? 15:47
moritz r: proto sub f(|) { say 42; {*}; say 23 }; multi f(Int) { say 'Int' }; f 18
p6eval rakudo 100727: OUTPUT«42␤Int␤23␤»
moritz japhb: looks good
PerlJam hasn't been paying attention
japhb moritz, ah, cool. 15:48
[Coke] r: say {*}.WHAT
p6eval rakudo 100727: OUTPUT«===SORRY!===␤{*} may only appear in proto at line 2, near ".WHAT"␤»
japhb I didn't realize that '{*}' could be used as just part of a larger proto.
moritz it's a new feature 15:49
in rakudo, at least
PerlJam newly implemented, but it's been in the spec that way for a while, right?
15:49 benabik left
japhb realizes he should pull the latest specs changes too ... 15:49
15:49 benabik joined 15:50 sjohnson left, sjohnson joined
moritz PerlJam: correct 15:50
TimToady r: proto sub f(|) { 42 + {*} + 23 }; multi f($i) { $i }; say f 18000
p6eval rakudo 100727: OUTPUT«18065␤»
TimToady \o/
JimmyZ That's a great feature 15:51
TimToady this now means we can put caching into the proto
[Coke] now you're just making stuff up. 15:52
(not about the caching, I see that.)
PerlJam Isn't that his job?
TimToady no, I made it up a while ago :P
[Coke] is time challenged. Thank goodness there is free coffee here. 15:53
[Coke] trundles away to get some.
JimmyZ It' a great feature for hooks
pre and post ;)
TimToady though I must admit some fondness for the double-struck A trick in rosettacode.org/wiki/Ackermann_function#Perl_6 15:54
yarp ==> Bootstrapping Panda ===SORRY!=== Could not find Shell::Command in any of: lib, /home/yarp/.perl6/lib, /usr/lib/parrot/4.0.0/languages/perl6/lib, . 15:55
:~
GlitchMr yarp: Uhmmm... when bootstraping, it shouldn't depend on anything
yarp perl6 bootstrap.pl
GlitchMr This sounds like a bug
yarp debian testing 15:56
JimmyZ it's hard to understand (state @a) to me
japhb That's a really old parrot tree, isn't it?
What's your perl6 version? 15:57
TimToady, ah yes, that double-struck A trick is cute. But I'm glad the RC code-block font makes the difference clear enough! 15:59
M_o_C TimToady: Whereas caching is used as memoization in the example?
yarp 0.1 2012.01-1
rakudo 0.1 2012.01-1
TimToady yes, this can also be called memoization, so that would be a more precise term
PerlJam JimmyZ: Hard to understand or hard to deal with? I have a slight problem that it's an almost-invisible syntactic change that begets a large semantic change. 16:00
japhb yarp, that Rakudo date is ancient in terms of its development speed.
yarp I am fosoil man
japhb yarp, you should probably either get the newest Rakudo Star (if you just want to get work done), or clone and build the latest Rakudo from Git (if you want to develop Rakudo itself). 16:01
JimmyZ hard to understand it without actually runing it, I think
TimToady I tend to avoid "-ize" words because of past trauma with proscriptive grammarians, but in fact that suffix goes all the way back into Greek at least, as -ιζω 16:02
so you'd think it would be acceptable by now...
yarp so , i try compile it
masak TimToady: proscriptive grammarians don't bother with newfangled ideas from Greek :P
TimToady We are all a product of our upbringing and our downloading... 16:05
M_o_C TimToady: Had to look up what proscritive grammarians means. Ok then. 16:06
TimToady that's a bit of a pun on "prescriptive grammarian"
PerlJam at least there are not conscriptive grammarians around here. 16:07
s/not/no/
TimToady people call themselves prescriptive, because they think they're telling you how to talk, but mostly they're telling you how not to talk. 16:08
moritz what about conspiratorial grammarians?
masak .oO( circumscriptive grammarians )
they never tell you exactly what to do!
geekosaur PerlJam, perhas only in the Nicolls sense... 16:09
TimToady superscriptive grammarians try to get you to write at a higher level
16:09 FROGGS_ left, flightrecorder left
geekosaur s/lls/ll/ feh, bad me 16:09
TimToady now to attack this monumentoidal backlog... 16:11
16:11 xinming_ joined
masak TimToady: and subscriptive grammarians insist that you sign up for their monthly gazette? :) 16:12
16:14 xinming left 16:15 benabik left
yarp error:imcc:The opcode 'getprop_p_p_sc (getprop<3>) was not found. Check the type and number of the arguments in file 'src/stage0/NQPCORE.setting-s0.pir' line 1074 16:17
japhb yarp: This is from rakudo nom, built with `perl Configure.pl --gen-parrot && make && make install`? 16:21
16:21 fhelmberger joined
[Coke] yarp: how old is your parrot? 16:21
yarp --get-nqp
--gen-nqp
[Coke] is this an old checkout of rakudo that you updated?
you might need to do a 'git clean -xdf' if very old. 16:22
yarp brand new
japhb yarp: --gen-parrot automatically implies --gen-nqp
yarp: and you're on the nom branch?
[Coke] if it's brand new, that should be happening., no.
*should not*
16:23 benabik joined
yarp you mean the parrot need to be compile also? 16:23
dalek href="https://glitchmr.github.com:">glitchmr.github.com: a33e1b0 | GlitchMr++ | index.css:
Add Pygments CSS
16:24
japhb yarp: yes
[Coke] gen-nqp also implies -gen-parrot, no?
japhb Otherwise you're going to get your ancient parrot, and things have changed.
[Coke] or is it trying to work with whatever parrot it found installed?
japhb [Coke], I don't think so, but it's been a while since I looked at the code. 16:25
[Coke] hokay.
japhb Yeah, looks like --gen-parrot or --with-parrot imply --gen-nqp, but not the other way around. 16:26
16:26 MayDaniel joined
yarp i try --gen-parrot 16:27
16:27 benabik_ joined, fhelmberger left
TimToady r: proto sub f(|) { my $m //= {*}; 42 + $m + 23 }; multi f($i) { $i }; say f 18000 16:30
p6eval rakudo 100727: OUTPUT«(signal SEGV)»
TimToady except it doesn't actually work for memoizing yet 16:31
16:31 benabik left, benabik_ is now known as benabik
masak SEGV? has that been reported? 16:32
TimToady doubt it
locally: get_pointer() not implemented in class 'QAST::Stmts'
masak submits rakudobug 16:33
japhb r: proto sub f(|) { my $m = {*}; 42 + $m + 23 }; multi f($i) { $i }; say f 18000
p6eval rakudo 100727: OUTPUT«18065␤»
japhb r: proto sub f(|) { my $m //= {*}; $m + 23 }; multi f($i) { $i }; say f 18000
p6eval rakudo 100727: OUTPUT«get_pointer() not implemented in class 'QAST::Stmt'␤ in sub f at /tmp/kpaEgbqysi:1␤ in block at /tmp/kpaEgbqysi:1␤␤»
japhb r: proto sub f(|) { my $m //= {*}; $m }; multi f($i) { $i }; say f 18000
p6eval rakudo 100727: OUTPUT«(signal SEGV)»
japhb r: proto sub f(|) { my $m //= {*}; $m }; multi f($i) { $i }; say f 1
p6eval rakudo 100727: OUTPUT«(signal SEGV)»
masak so, it's the //= in a proto that causes trouble?
japhb r: proto sub f(|) { my $m //= {*}; }; multi f($i) { $i }; say f 1
p6eval rakudo 100727: OUTPUT«(signal SEGV)»
TimToady apparently 16:34
which makes it hard to use for caching
japhb r: proto sub f(|) { my $m //= {*} }; multi f() { }; say f
p6eval rakudo 100727: OUTPUT«get_pointer() not implemented in class 'QAST::Op'␤ in sub f at /tmp/Sy24SMRnWy:1␤ in block at /tmp/Sy24SMRnWy:1␤␤»
16:34 benabik_ joined
japhb r: proto f(|) { my $m //= {*} }; multi f() { }; say f 16:34
p6eval rakudo 100727: OUTPUT«get_pointer() not implemented in class 'BlockInfo'␤ in sub f at /tmp/GfF9BDzNJJ:1␤ in block at /tmp/GfF9BDzNJJ:1␤␤»
japhb r: proto f(|) { my $m //= {*} }; say f
p6eval rakudo 100727: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' will never work with no arguments (line 1)␤ Expected any of:␤»
japhb Why should masak++ get all the golfing fun? ;-)
masak TimToady: "the segfault put a serious damper on my caching"? :P 16:35
japhb++
TimToady so why does it require an argument for (|)?
I guess it doesn't match any of the multi signatures :) 16:36
skids read damper as diaper. lol.
16:36 alester joined
TimToady but the message is a bit LTA 16:36
16:37 benabik left, benabik_ is now known as benabik
TimToady Oh, I don't think I mentioned last night that I added rosettacode.org/wiki/Pig_the_dice_game#Perl_6 16:40
16:41 FROGGS joined, flightrecorder joined, benabik_ joined
japhb TimToady, I only see the Python implementation ... 16:42
masak `for ^$players xx * -> $player` -- ooh, nice! 16:43
TimToady++
FROGGS is there a way to add a role to a class at runtime?
jnthn Ah, you've been making my patches earlier today segfault 16:44
oh...
TimToady japhb: that's very odd
16:44 benabik left, benabik_ is now known as benabik
jnthn Maybe I can guess why too 16:44
I didn't update the op to look anywhere besides current scope
And I guess it expects it to always be a routine 16:45
So probably goes looking at invalid memory or something :)
TimToady has to be thunkable to cache
jnthn right
What I pushed was "what I had time to do" :) 16:46
TimToady waits patiently for a few seconds
jnthn :)
May be able to get to it during the train journey but...laptop + train = backache... 16:47
TimToady does anyone else see the Perl 6 pig RC entry, or am I in a rosettacode honeypot of some sort?
oh, obviously masak sees it 16:48
duh
masak aye. 16:50
maybe we're both in a rosettacode honeypot :P
TimToady the prompt doesn't work in current rakudo, btw 16:53
well, last night's rakudo anyway
doesn't flush, and requires a ^D to see the input
jnthn ergh, on Windows too :/ 16:54
Wonder if that was the Parrot I/O refuctors.
masak those are the worst possible things to try and test, as well. 16:55
"and then the user said... and then Rakudo said..." 16:56
TimToady "I'm pining for the fjords! Rawk!" --the parrot
mhasch can see the rosettacode entry just fine 16:58
japhb bak 16:59
Huh, I see it now.
16:59 vs-midi joined
TimToady did you give any caching proxy an excuse to cache an older copy? 16:59
japhb Um ... no? 17:00
yarp rakudo compiling finished
TimToady you don't keep up the Recent Changes pages maybe?
masak .oO( what's a copy like you doing in a caching proxy such as this? )
japhb wonders if it is "eventual consistency" rearing its ugly head
TimToady a proxy might chase links from that
masak japhb: eventual consistency doesn't have an ugly head! it's beautiful, although slightly disruptive and misunderstood :) 17:01
TimToady maybe the speed of light is just slow where you are
jnthn eventual consistency is fine when your users don't find it disagreeable :)
dalek href="https://glitchmr.github.com:">glitchmr.github.com: 9f66b5c | GlitchMr++ | index.css:
Add padding at bottom, so sudden end of site wouldn't be so strange
href="https://glitchmr.github.com:">glitchmr.github.com: 467fd6a | GlitchMr++ | _posts/2012-09-13-breaking-compatibility-is-not-fun.md:
Breaking compatibility is not fun blog article
yarp ==>Bootstrapping Panda ==SORRY!== CHECK FAILED: Undefined routine '&rmdir' called (lines 29,31)
japhb I'm in a very deep gravity well ...
GlitchMr yarp: Perl 6 should have rmdir() function 17:02
What Perl 6 version it is?
s/Perl 6/Rakudo/ 17:03
17:03 spider-mario left
jnthn hm, the build I did earlier today has one :) 17:03
yarp git clone git://github.com/rakudo/rakudo.git at this afternoon 17:04
17:04 spider-mario joined
GlitchMr My oldest Perl 6 version I've (2012.07) has rmdir 17:04
2012.08 also has it
And Rakudo from git also has it
yarp I got it this afternoon. 17:05
GlitchMr It should have "rmdir" 17:08
Can you run perl6 -v?
dalek href="https://glitchmr.github.com:">glitchmr.github.com: 77896db | GlitchMr++ | / (3 files):
Fix lack of syntax highlighting when viewing posts directly
17:09
GlitchMr (almost free karma ;))
(ok, not that karma matters) 17:10
yarp This is perl6 version 2012.08-86-g220a691 built on parrot 4.7.0 revision RELEASE_4_7_0-165-g29796c6
And so?
GlitchMr Hmmm... perhaps panda runs your system perl6
Do you have your compiled panda in PATH?
perl6*
yarp no new perl6
GlitchMr It runs old perl6 17:11
You should add your new perl6 to PATH
And optionally remove your system perl6
17:11 xinming joined
yarp so i remove old perl 6 17:11
GlitchMr You don't have to, but this will make things less confusing
What you have to do is adding new perl6 to PATH 17:12
And running `which perl6` for sure
Why you would want old Perl 6 on system anyways if it's old?
17:13 Basim joined, Basim left, Basim joined
TimToady niecza has mkdir/rmdir, but doesn't have rename(), if someone wants to tackle some (presumably) LHF 17:14
17:14 xinming_ left
Basim Hey. You guys must save a lot of money on condoms. 17:14
17:15 Basim left
GlitchMr uhmmm... what? 17:16
17:16 xinming left
TimToady I wish people wouldn't post while drunk. 17:16
jnthn Yeah, we don't buy them in denmark.
17:16 xinming joined
huf oh come on, blame the user, not the substance ;) 17:16
jnthn :)
masak interestingly, that insult is generic enough to work on almost any IRC channel. 17:17
17:17 Futter joined
TimToady a bit early for Oktoberfest, nicht vahr? 17:17
jnthn That's in Germany :P
huf plenty of people manage to irc drunk, and their output is no worse than when they're sober...
(at least that's what they think)
jnthn masak: Oh, I took it as a compliment to my bargin-hunting skills :P
GlitchMr lol "insult" 17:18
TimToady nr: (lol "insult").perl.say
p6eval rakudo 100727: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&lol' called (line 1)␤»
..niecza v21-2-gc592587: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'lol' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1435 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home/…
GlitchMr Can you make insult to "guys"
This insult isn't very specific
Perhaps he was saying it about himself 17:19
huf i think he meant that you guys are all in committed relationships and are responsible enough to have children
yarp It's done, thank you GlitchMr
TimToady huf: well, some of certainly fall into that category
or used to... 17:20
GlitchMr yarp: no problem
TimToady *of us
huf TimToady: i'm sure everyone does, modulo time
GlitchMr masak: also, I doubt this insult would work on channels like #botters (full of IRC bots)
17:21 Futter left
TimToady maybe he was complimenting our sense of rhythm... 17:22
GlitchMr nr: say 45325683462858295239592853285 % 328581285132
p6eval rakudo 100727, niecza v21-2-gc592587: OUTPUT«5316156377␤»
GlitchMr nr: say -45325683462858295239592853285 % -328581285132
p6eval rakudo 100727, niecza v21-2-gc592587: OUTPUT«-5316156377␤»
GlitchMr -5316156377
Why?
nr: say -45325683462858295239592853285 % 328581285132 17:23
p6eval rakudo 100727, niecza v21-2-gc592587: OUTPUT«323265128755␤»
17:23 Basim joined
GlitchMr ok, that's fine 17:23
TimToady because that's how it's defined maybe?
GlitchMr I guess it makes sense 17:24
- is always confusing with modulo
Basim hey guys, sorry about my outburst before - what do you think about Ice Cube?
jnthn r: proto f(|) { my $m //= {*} }; say f
p6eval rakudo 100727: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' will never work with no arguments (line 1)␤ Expected any of:␤»
GlitchMr nr: say 1.5 % 0.6
p6eval rakudo 100727, niecza v21-2-gc592587: OUTPUT«0.3␤»
GlitchMr 0.3 :-)
jnthn I think this is (mostly) OK because I don't think writing an explicit proto should rob you of compile-time analysis of the call... 17:25
Could do a bit better when there's no candidates.
17:26 spider-mario_ joined
GlitchMr nr: sub never-worked($ where { False }) {} never-worked 17:26
p6eval niecza v21-2-gc592587: OUTPUT«===SORRY!===␤␤Whitespace is required between alphanumeric tokens at /tmp/UcleGuFHhq line 1:␤------> ub never-worked($ where { False }) {} ne⏏ver-worked␤␤Undeclared routine:␤ 'ver-worked' used at line 1␤␤Potential difficu…
..rakudo 100727: OUTPUT«===SORRY!===␤Confused␤at /tmp/WFcKqNBy8Z:1␤»
GlitchMr nr: sub never-worked($ where { False }) {]}; never-worked
p6eval niecza v21-2-gc592587: OUTPUT«===SORRY!===␤␤Unable to parse block at /tmp/1IkbhnsUrs line 1:␤------> sub never-worked($ where { False }) {⏏]}; never-worked␤Couldn't find final '}'; gave up at /tmp/1IkbhnsUrs line 1:␤------> sub never-worked($ wh…
..rakudo 100727: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "]}; never-"␤»
GlitchMr nr: sub never-worked($ where { False }) {}; never-worked
p6eval niecza v21-2-gc592587: OUTPUT«Unhandled exception: No value for parameter '' in 'never-worked'␤ at /tmp/Ve8ogh5s3p line 0 (never-worked @ 1) ␤ at /tmp/Ve8ogh5s3p line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.se…
..rakudo 100727: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in sub never-worked at /tmp/H5xUDQQZ0j:1␤ in block at /tmp/H5xUDQQZ0j:1␤␤»
GlitchMr oops
Basim I have this idea I would like to code in perl. "The Faxroulette". It works just like Chatroulette, but with a fax machine instead of a webcam. What do you think - is it doable?
GlitchMr nr: sub never-worked($ where { False }) {}; never-worked 42
p6eval rakudo 100727: OUTPUT«Constraint type check failed for parameter ''␤ in sub never-worked at /tmp/hBi2xc_AAd:1␤ in block at /tmp/hBi2xc_AAd:1␤␤»
..niecza v21-2-gc592587: OUTPUT«Unhandled exception: Constraint type check failed for parameter '' in 'never-worked'␤ at /tmp/0PsGcBsT3w line 0 (never-worked @ 1) ␤ at /tmp/0PsGcBsT3w line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤ at /home/p6eva…
17:26 spider-mario left
GlitchMr That error is useful 17:26
17:27 Futter joined
TimToady Basim: you're being boring, which is a cardinal sin in a comedian. 17:27
TimToady hugs Basim
GlitchMr Basim: oh hi 17:28
Futter www.youtube.com/watch?v=7mMyV2YQgAA
tadzik hugme: hug Basim
hugme hugs Basim
17:28 DrDoom joined
GlitchMr Basim: I'm sorry, but this channel is about pearls, not about "Ice Cubes"? 17:29
Basim Sorry guys
and thanks for the hugs
Futter Basim u suck!!
daxim now you ruined it
Basim don't listen to those rumors
Futter o rly!? 17:30
tadzik no need to insult anybody
masak someone in Denmark decided to have a beer party and crash #perl6? ;)
TimToady funny how we're getting multiple people in from the same address
or not
GlitchMr hugme: hug * 17:31
hugme hugs *
masak TimToady: they're probably all live in the same basement.
they*
TimToady they seem to be equivalently drunk
GlitchMr hugme: hug hugme
hugme hugs hugme
GlitchMr hugme: help 17:32
hugme GlitchMr: (add $who to $project | list projects | show $project | hug $nickname | tweet $twittername $message )
GlitchMr hugme: add glitchmr to perl6
hugme GlitchMr: You need to register with freenode first
17:32 yarp left
GlitchMr Am I not? 17:32
hugme: add GlitchMr to perl6
hugme GlitchMr: You need to register with freenode first
GlitchMr hugme: list projects 17:33
hugme GlitchMr: I know about Math-Model, Math-RungeKutta, MiniDBI, bench-scripts, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6, perl6-examples, perl6-wtop, proto, pugs, rakudo, star, svg-matchdumper, svg-plot, tardis, try.rakudo.org, tufte, ufo, web, yapsi
GlitchMr oh, nice
Can I add my projects to that list?
Basim But seriously. Here's a question that will define you as human beings:
Bebop or Rocksteady?
TimToady boring 17:34
GlitchMr Basim: »ö«
That would be my answer
tadzik Bool::True
TimToady tadzik++
Futter rocksteady
ofc -,- 17:35
GlitchMr Because Camelia is more awesome than Bebop or Rocksteady
TimToady I suppose they could be having a competition to see who gets kicked first...
GlitchMr Try to draw either of those using Unicode
ok, I guess I may try |O| 17:36
Or perhaps o<=
17:36 ajoe joined
Basim actually not, but I see how you could get there 17:36
I'm not here to cause trobule 17:37
or trouble
17:37 vs-midi left
Basim I will just sit back, and listen to you guys now 17:37
peace out!
17:37 Krabbe_ joined
GlitchMr rn: print "programming pearls 6" 17:37
p6eval rakudo 100727, niecza v21-2-gc592587: OUTPUT«programming pearls 6»
17:38 Futter left 17:45 Krabbe_ left
Basim We're missing our sausage wagon napkins, and it's kind of a crisis 17:51
17:51 Krabbe_ joined
colomon /o\ 17:51
Basim no reactions, huh? It's a bit different here. People are screaming 17:53
moritz Basim: if you want people screaming, please don't do it in here
Basim I would like people to stop their screaming 17:54
masak Basim: I feel a bit sorry for you and your attempts to attract attention.
TimToady you're not being at all amusing
Basim but I don't have the sausage wagon napkins that I need for it
GlitchMr Basim: congratulations for trying to get attention
TimToady someone please put him out of our misery
GlitchMr Basim: to bad that your attempt isn't good enough 17:55
too*
17:55 ChanServ sets mode: +o jnthn, Chillance joined, ChanServ sets mode: +o moritz
tadzik MAN THE CANNONS 17:56
TimToady in rosettacode.org/wiki/FizzBuzz#Perl_6 the second solution should not require 'is default' according to S12:1210
17:56 jnthn sets mode: +b *!*@*.tele.dk
tadzik FIREEEEEE 17:56
17:56 Basim was kicked by jnthn (Basim))
moritz thanks jnthn++, I was too slow 17:56
masak tadzik: dude, are you drunk on cheap Danish beer too? :P
jnthn I banned a whole ISP. Somebody who cares can fix it. :)
17:56 jnthn sets mode: -o jnthn, ChanServ sets mode: +o masak, moritz sets mode: -o moritz
GlitchMr Why ban whole ISP 17:56
Isn't this going too far? 17:57
jnthn Because I'm lazy.
moritz jnthn: we'll simply lift teh ban tomorrow
17:57 masak sets mode: -o masak
jnthn Right. 17:57
17:57 benabik left
TimToady masak: ^ rakudobug 17:57
masak TimToady: are you able to demonstrate it golfed on p6eval? that helps.
TimToady r: multi sub fizzbuzz(Int $ where * %% 15) { 'FizzBuzz' }; multi sub fizzbuzz(Int $ where * %% 5) { 'Buzz' }; multi sub fizzbuzz(Int $ where * %% 3) { 'Fizz' }; multi sub fizzbuzz(Int $number) { $number }; (1 .. 100)».&fizzbuzz.join("\n").say; 17:58
p6eval rakudo 100727: OUTPUT«Ambiguous call to 'fizzbuzz'; these signatures all match:␤:(Int )␤:(Int )␤:(Int )␤␤ in sub fizzbuzz at /tmp/Gu8BO4fHHS:1␤ in method dispatch:<hyper> at src/gen/CORE.setting:905␤ in block at /tmp/Gu8BO4fHHS:1␤␤»
TimToady :)
jnthn That's because I disagree with the spec so deliberately didn't follow it. :) 17:59
TimToady I golfed it by removing some newlines :P
jnthn I think you *shoulod* need "is default" rather than relying on ordering.
TimToady I don't
moritz also finds that spec highly dubious
jnthn Because when you've multis that are imported, ordering is dodgy.
TimToady and the paragraph in question gives the rational
*nale
jnthn TimToady: It seems cute today. :)
masak I think I agree with jnthn, too. but a rakudobug is a rakudobug.
jnthn I have a bad feeling it'll be less cute in the future.
masak submits rakudobug
TimToady I think it's a necessity to avoid forcing people into using 'is default' where that would be even boguser 18:00
jnthn When is it boguser?
TimToady most of the time 18:01
jnthn doesn't see how it's bogus in this case, fwiw.
18:01 benabik joined
moritz and, when isn't it bogus? 18:01
jnthn Source code ordering just feels to me like a poor tie-breaker of last resort, that's all. 18:02
TimToady so we substitute a poorer one
18:02 M_o_C left
jnthn I don't find being explicit about what you want poorer. I guess I don't see the real issue yet. 18:02
[Coke] ordering gives you a rank, is default gives you "the best" ? 18:03
I can't imagine doing something that crazy with multis and expecting it to work either way, though.
jnthn It only comes up with you have constraints that are not mutually exclusive. 18:04
[Coke] Seems like making it clear from the signature would be best.
jnthn *when
[Coke] jnthn: at which point a sane person would have a multi with a switch in it.
jnthn [Coke]: That is one way to look at it :)
I can see the attraction to using multis here, though. 18:05
TimToady the upside is much bigger than the downside, in my estimation
jnthn But yeah, the given/when feels more robust.
moritz one can still do (Int $ where { $_ %% 5 !! $_ % 3})
TimToady one can be as unclear as one likes, but lack of clarity is not what we're optimizing for here 18:06
masak moritz: huh? that doesn't parse.
moritz rm, s/'!!'/&&/ 18:07
masak oh.
TimToady in the general case, the compiler *can't know* whether constraints are mutually exclusive, so you're basically forcing all such cases to use an ugly partial solution, when ordering is what most people will expect most of the time, I suspect 18:11
wanting them to be unordered is kind of a false generalization from the nominal type case, seems to me
18:11 xinming_ joined
jnthn Yeah, I'd seen that generalization as the sane thing to do 18:12
TimToady anyway, *most* of the use cases I've see so far fit more into ordered switch category
moritz I could imagine tracking the number of epsilons
masak still doesn't resolve it in this case. 18:13
TimToady I admit that my statistics might be skewed by RC, but I don't think it's *that* skewed
moritz so if you wrote Int $ where * %% 5 where * %% 3, you have two epsilons, and you're tighter than just * %% 5 or just * %% 3
TimToady: well, RC optimizes for small(ish) programs
where you (nearly) never import multis from several modules 18:14
TimToady sure, but for largish programs most of these things will be resolved by scope instead, I think
(tiebreaker A)
18:15 xinming left
GlitchMr I guess I shouldn't make "is default" hack in my FizzBuzz program 18:16
TimToady well, that's what we're discussing, but you have to because of a difference of opinion between rakudo and S12 18:17
jnthn I can change it if it's something that is felt strongly about. I just tend to put off doing work on things I suspect stand a good chance of going away, especially when others feel the same :) 18:18
GlitchMr Well, guessing that $_ %% 15 matches more rarely is simply impossible because halting problem
18:21 thou left
masak depends how obstinate you are in solving the problem. 18:24
in this case, we could start analyzing ASTs and stuff.
I'm not saying it's worth it, just that this case is amenable to analysis.
jnthn Doing it by analyuzing AST => module :P 18:25
18:25 adu joined
moritz jnthn++ 18:25
jnthn Think my patch to get the {*} stuff working in the nested block/thunk case works.
r: proto foo(|) { if 1 { my $x = {*} + 1; return $x; } }; multi foo() { 2 }; say foo(); 18:27
p6eval rakudo 100727: OUTPUT«get_pointer() not implemented in class 'ResizablePMCArray'␤ in sub foo at /tmp/csdfMGi9h7:1␤ in block at /tmp/csdfMGi9h7:1␤␤»
TimToady I doubt I'm gonna change my mind on this one. We might tweak the exact ordering rules between cooperating modules as we get more such use cases, but the constraints would still be considered to be ordered, not unordered
jnthn++ 18:28
jnthn It looked like what I'd done in NQP, so no surprises. Yet :) 18:29
moritz: Do you think the prompt issue is something we should get Parrot to fix? 18:30
dalek kudo/nom: 7973660 | jonathan++ | src/ (4 files):
Make {*} showing up in a nested block or thunk rather than directly in the proto work.
jnthn moritz: Or add a flush explicitly somewhere in Rakudo?
OK, any issues with {*} in protos now are unexpected (to me). :) 18:31
mst could somebody have a go at cpan/cpanm-ing trout.me.uk/perl/Rakudo-Star-2012.08002.tar.gz just to sanity check it before I cpan it?
jnthn Need some tests...I'll get to them if I ain't beaten to 'em. Should look over a $dayjob thingy now.
tadzik mst: trying
mst I mean, run the install, do 'eval $(perl -MRakudo::Star::Paths); perl6' and check you have an install
tadzik: thanks
I realised my previous tarball had build files in it, so I reinlined star from the site; seems fine here but wanted to double check 18:32
18:37 thou joined 18:43 bluescreen10 left
tadzik mst: is that a problem if I also have an existing rakudo installation in PATH and stuff? 18:47
I'm getting a few ===SORRY!===
Method 'load_module' not found for invocant of class 'FixedPMCArray'
but it installed nonetheless
but it seems to have installed and works, at least for Hello World 18:48
mst it's probably better if you don't, although I don't know if it'll actually care 18:49
can you load a star-supplied module?
I guess that's the other obvious thing to check
tadzik no, I cant 18:50
well, I can load, I cannot run it
gist.github.com/3716669
mst sec
I get Method 'get' not found for invocant of class 'Str' 18:51
tadzik hrm
I don't see why you'd get that :)
mst LWP::Simple.get("perlcabal.org")
works perfectly 18:52
for me
tadzik hm
mst try that?
tadzik I get Could not find symbol '&Simple'
mst weird
tadzik hmm, I have more funny stuff
mst could you try starting a shell without any env vars for rakudo/parrot libs?
18:52 wk_ joined
tadzik gist.github.com/3716697 18:52
let's see
mst also, it was 'perl6 -MLWP::Simple' -then- LWP::Simple.get 18:53
you didn't load it in the second session
so of course it didn't work :)
tadzik ha, indeed :)
so then it fails with the first error :)
Method 'load_module' not found for invocant of class 'FixedPMCArray' 18:54
tadzik tries the shell magic
TimToady updated the final example of rosettacode.org/wiki/Ackermann_function#Perl_6 to use proto memoization (jnthn++) 18:55
but I am curious as to how that works without an 'is default'
tadzik mst: seems to react the same way
what was this module loading debug flag, hm
TimToady please don't tell me that it always evaluates all the constraints every time to see if they're exclusive?
18:55 bluescreen10 joined
TimToady that would be...inefficient... 18:56
dalek kudo/nom: 0f2e95a | moritz++ | src/core/Str.pm:
remove unused code, TimToady++
tadzik mst: okay, I'm in the same place
I removed ~/.perl6 so it won't load my precompiled modules
and now I also get Method 'get' not found for invocant of class 'Str'
mst right, and does LWP::Simple.get("perlcabal.org") now work? 18:57
tadzik ywis
mst what? 18:59
tadzik yes
masak "ywis" seems to be a typically Polish typo. where's the "y" on Polish keyboards? 19:00
tadzik heh, it's just me writing this
and I use colemak anyway ;)
TimToady r: multi foo($ where { say 'ONE'; $_ == 1 }) { say "one" }; multi foo($ where { say 'TWO'; $_ == 2 }) { say "two" }; foo 1
p6eval rakudo 100727: OUTPUT«ONE␤TWO␤ONE␤one␤»
TimToady eek 19:01
tadzik and ywis appears to be an alternative spelling of iwis, which means Certainly; assuredly in archaic English
19:01 xinming joined
TimToady I think I just found the strongest argument for ordered constraints 19:01
19:02 xinming_ left, DrDoom left
masak TimToady: which is...? 19:02
TimToady we're calling *all* the constraints on the off chance that they might not be exclusive
this is guaranteed to be inefficient 19:03
19:04 Moukeddar joined, Moukeddar left
TimToady r: multi foo($ where { say 'ONE'; $_ == 1 }) { say "one" }; multi foo($ where { say 'TWO'; $_ == 1 }) { say "two" }; foo 1 19:05
p6eval rakudo 100727: OUTPUT«ONE␤TWO␤Ambiguous call to 'foo'; these signatures all match:␤:()␤:()␤␤ in block at /tmp/uDUDkT1DfT:1␤␤»
TimToady yup, that's what it's doing 19:06
PerlJam How do the where constraints differ from multi foo(1) { ...} ; multi foo(2) { ... } ?
19:06 sqirrel joined
TimToady they don't 19:06
those unwind into Int where 1 and Int where 2
benabik In theory, the compiler could be faster with literals than code.
TimToady it could be recognized and optimized, sure 19:07
PerlJam r: multi foo(1) { say "one" }; multi foo(2) { say "two" }; multi foo(Int) { say "Int" }; foo 1;
p6eval rakudo 100727: OUTPUT«one␤»
PerlJam clearly something is different
mst heh
TimToady it's calling all of the where clauses every time
mst make release is going to take a little while since that insists on 'make disttest'
PerlJam oh, I see. 19:08
PerlJam was looking but not seeing
Anyway, I'm with TimToady on this one.
19:09 xinming left
PerlJam At least declaration order is something the programmer can *see* and have some measure of control over. 19:09
(not to mention the efficiency argument already postulated)
19:10 xinming joined
TimToady also note that the ordered constraints are within a particular nominal category, so likely to be defined in the same file 19:10
jnthn Unless one of your candidates is overwhemingly more likely, it's O(candidates) either way
PerlJam Though, in lieu of declaration order, how about a "is order($n)" or something? 19:11
TimToady rosettacode.org/wiki/Ackermann_function#Perl_6 defines multis over Int
which would not interfere at all with a set of constraints defined for Str in a different file
jnthn: on average, it's twice as much work 19:13
jnthn TimToady: That doesn't disagree with what I said ;)
sorear good * #perl6 19:14
TimToady if you want to be imprecise on purpse, fine :P
lovely word, "purpse"...
masak sorear! \o/ 19:15
jnthn :)
tadzik SOREAR!
jnthn sees if the obvious 2-line patch to change this will actually do so.
r: multi foo(1) { say 1 }; multi foo(1) { say 2 }; foo(1); 19:16
p6eval rakudo 0f2e95: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Int )␤:(Int )␤␤ in block at /tmp/1maFSLxDl8:1␤␤»
19:17 adu left
sorear TADZIK! 19:17
Su-Shee mst: your tar.gz builds and installs
jnthn ~[6~/win 15 19:21
tadzik hello Ron... oh wait
jnthn oops :)
darn laggy connection
Su-Shee mst: and I'm LWP::Simple.getting something. 19:22
mst Su-Shee: excellent 19:24
it'll ship itself to cpan shortly
Su-Shee mst: it installs itself here: /usr/local/lib/perl5/Rakudo/Star/Install/bin/perl6 if I really call it out of the box. 19:25
jnthn TimToady: Got a patch that doesn't regress anything in S06-multi/*.t
Guess I should wait for the spectest to run; takes a bit on this laptop 19:26
19:26 sqirrel left
jnthn Hmm, wonder if I can get a new one before Japan... 19:26
TimToady drop by the Lenovo facory on the way? :)
19:26 Krabbe_ left
jnthn ;) 19:27
TimToady *factory even 19:28
"facory" is not a lovely word
mst Su-Shee: yep, that's basically that it's supposed to do. excellent. thanks.
jnthn hah, I didn't even see the typo :)
TimToady me either, until I did
19:29 fgomez joined, shachaf joined
TimToady probably a sign of narcisism that I reread everything I wrote... 19:29
Su-Shee mst: if I print @*INC, I still get the source dir (where I just untar-ed and build your tar.gz), that's supposed to be that way? 19:31
masak TimToady: I do... I mean, some of my best friends do that, too.
FROGGS well, as long as you dont sign your own t-shirts ;o) 19:32
.oO( in love - larry )
Su-Shee mst: ah forget it, works, has path in /usr/local/andsoon
TimToady is glad you subtracted me
*him, darn that narcisim... 19:33
tadzik ;)
TimToady *narcissism, let's get it right at least once
tadzik if it is (a sign of narcissism), I have it too 19:34
although I think it's more like running 'make test'
only after you 'git push'
masak arrrgh, yes!
TimToady :D
masak sometimes wishes he could 'git push -f' the backlog 19:35
19:37 snearch joined
Su-Shee mst: should I try anything else? 19:38
mst Su-Shee: that'll do
Su-Shee fine, and I have a shiny new rakudo now ;) 19:40
19:43 araujo joined, araujo left, araujo joined
dalek kudo/nom: e03a22f | jonathan++ | src/binder/multidispatch.c:
Implement accept first matching constrained candidate rule for multi-dispatch.
19:47
jnthn Two of the rosettacode integration tests (greatest element of a list and sierpinski triangle) fail, seemingly due to newline handling related issues. 19:48
sorear o/ jnthn !!!!!!
long time no see 19:49
jnthn (unrelated to what I just pushed)
hi sorear
sorear gives jnthn a running-jumping-hug
jnthn :)
Mixture of sick and very busy
sorear yeah, I heard about the sick from masak
jnthn Which means I'm still not really 100% better, but muchly improved :)
sorear was releived to hear it's "just" a cold, though
jnthn And today I learned that next week will be wonderfully calm compared to the last two :)
Yeah, a very persistent one 19:50
19:50 fgomez left
masak learned today that his next week will not be wonderfully calm... :) 19:50
jnthn And my sleep has consistently averaged 5-6 hours for a while
diakopter mmm, teh sick 19:51
jnthn masak: Guess you ain't gonna be in Stockholm next week though? :)
jnthn will for a day...
Hopefully I can retrieve the bit of my clicker than I left behind there... 19:52
dalek kudo/nom: 0e36b2d | jonathan++ | docs/ChangeLog:
Add multi improvements to the ChangeLog.
19:57
Su-Shee where was this nice feature matrix table listing thingie? 19:58
tadzik perl6.org/compilers/features
20:01 mucker left
TimToady jnthn: I'll bet you have the metapneumovirus that was going around; persistence and lack of sleep are two of the hallmarks 20:01
I had it for a month or so
sorear eeep, a conference virus?
Su-Shee tadzik: thanks.
TimToady you'd have it by now if you were gonna 20:02
jnthn Urgh. Well, I'm up to about 2 weeks so far. 20:03
20:03 GlitchMr left
TimToady we were pretty sure it was metapneumovirus because I got it from @quietfanatic, who got it from @heidialayne who got it from Julian, who picked it up at the hospital (who also identified it specifically, since they do that for chemo kids) 20:04
20:04 fgomez joined
TimToady btw, Julian is now officially done with his 3-year treatment 20:04
sorear oh, that's the actual name 20:05
who are Julian and @heidialayne?
TimToady daughter and grandson 20:06
older daughter, older grandson, to be specific
sorear the other way around?
benabik I got it from Agnes. She got it from Jim.
TimToady er, yeah <->
20:12 telex joined 20:16 kaare__ left 20:22 bruges joined
jnthn time to go off the train & 20:22
20:27 ajoe left 20:29 UnknownCharacter joined
mst POSTing upload for Rakudo-Star-2012.08002.tar.gz 20:36
fear.
timotimo whoa.
masak trembles 20:38
[Coke] TimToady's list of disease carriers reminds me of ferris bueller "I heard it from..." ... it must be pretty serious. 20:39
20:40 spider-mario_ left
mst timotimo: object of the exercise: 'cpanm Rakudo::Star; eval $(perl -MRakudo::Star::Paths); perl6' 20:42
TimToady I dunno serious, but significantly irritating to have a virus that just wanders around your respiratory tract looking for places it hasn't hit yet, including ears and sinuses, and then stops just short of pneumonia, so you don't even get any bragging rights
timotimo that's pretty neat, installing rakudo via cpan 20:45
20:48 LlamaRider joined
jnthn Ahhh...home. :) 20:52
Su-Shee tadzik: does panda require a module being on github to be installable via panda?
forget it, I'm reading the wiki article..
20:53 szbalint joined 20:55 spider-mario joined 20:56 kst joined
sorear Are there any yapc::eu 2012 videos online yet? 21:03
masak I seriously doubt it. 21:04
21:05 skids left 21:07 LlamaRider left 21:09 snearch left
sorear this is very disturbing: blogs.perl.org/users/yapceurope_201...ent-122259 21:09
benabik Wrong attitude. :-( 21:11
21:12 benabik left
sorear I wonder how much of an influence ey has had on the horrible video situation we have 21:14
doy yapc::asia is generally pretty separate from most of the other conferences 21:17
21:17 Circlepuller joined
masak probably not much influence. 21:17
the real problem is that it's a big time-consuming pain to edit videos. 21:18
sorear masak: oh? 21:19
masak ya.
sorear I had no idea editing them was time-consuming 21:24
sorear tries to figure out how
21:25 fgomez left
jnthn Suppose that the post-processing were to take as long as the talk itself (which from what I've heard is maybe optimistic). Now you have 3 days of talks and maybe 2 or 3 tracks to process. That quickly adds up. :) 21:27
sorear jnthn: what is the most time-consuming part of the post-processing? 21:28
I thought they just cut the video files into sections according to the published schedule 21:29
jnthn sorear: I haven't done it, so I'm mostly going on what I've heard. I believe there's also the issue of encoding it into something suitable for web distribution, the copying it from the camera in the first place, ranging up to various horror stories I've heard where they got another device to record the sound then found they had a different idea of time so the audio got out of sync. 21:31
geekosaur there's also going through and perhaps cutting out inappropriate audience comments 21:32
jnthn :)
If you want to make a really nice video there's a lot of work, 'cus maybe you have a feed with the slides and another with the speaker. 21:33
And I guess working out what to show when is manual work.
masak from what I saw of the filming process at YAPC::Europe, the did have two feeds like that. 21:35
at least in some rooms.
jnthn remembers one talk he gave where he was told to only stand on a certain small area of the stage in order that he didn't disappear off the video, so presumes that there can be some coordination required with speakers to get really good results too.
masak .oO( don't step off this penny ) 21:37
sorear geekosaur: so what happens when you have a speaker going horribly off the rails like jnthn++ did? :D 21:44
masak: now I have to check the geographic distribution of pennies.
masak sorear: you mean, which countries still have pennies? I... have no idea, actually. 21:45
geekosaur that... depends. I have certainly seen videos of talks which had cuts with minimal fades around them
jnthn sorear: no no, that's what my talks are *noramlly* like :P 21:48
sorear masak: I was under the impression that the USA was the only country with pennies. Seems I was wrong 21:49
pennies, as opposed to pence or cents
jnthn England has pennies :)
Well, pluralized as "pence" I guess :) 21:50
But still, one is a penny :)
And it'd feel odd to talk about them as "pence" without a number in front.
masak .oO( Je pence que that sounds odd )
jnthn *groan* 21:51
masak :D
jnthn
.oO( no, no. Je pence que that makes no cents )
FROGGS hehe
masak *grouch*!
'night, #perl6
FROGGS gnight
jnthn masak: sleep well. see you brightly early, in my keynote :P
*bright and early
hm, wonder since I'm giving it if I should sleep too :) 21:52
21:52 alester left 21:56 M_o_C joined
jnthn 'night o/ 21:57
sorear who is jnthn keynoting to? 22:00
22:02 leprevost left 22:06 fgomez joined 22:11 sivoais joined 22:13 spider-mario left 22:16 crab2313 joined, stopbit left
crab2313 r: my $a = 'foo'; print $a; 22:17
p6eval rakudo 0e36b2: OUTPUT«foo»
crab2313 n: my $a = 'foo'; print $a;
p6eval niecza v21-2-gc592587: OUTPUT«foo»
sorear -2-? I've sure been lazy 22:18
crab2313 something is wrong with REPL 22:20
sorear what doy ou mean?
p6eval isn't a REPL, if you mean that
crab2313 gist.github.com/3718145 22:22
sorear crab2313: I think that's called line buffering. 22:23
Stuff you print isn't displayed until you either print a newline or the script ends
crab2313 and prompt() is broken
[Coke] crab2313: try: say "foo"
or: print "foo\n" 22:24
FROGGS TimToady said that too, that prompt is broken
[Coke] but, ISTR that at some point that worked in rakudo. Might be related to recent parrot IO updates.
sorear yaaaaay parrot regressions 22:25
22:25 bluescreen10 left
[Coke] It wouldn't have regressed if there was a test for it in rakudo. 22:25
So if some behavior changed that you like, please write a test and then the parrot folks have a prayer of catching it. 22:26
sorear [Coke]: how, pray tell, do you write tests for the flushing behavior of I/O to terminals and have said tests work on all the platforms parrot supports? 22:27
if it were just recent unixes I'd use psuedoterminals and fork
22:29 crab2313 left
[Coke] sorear: wow. if it's something that's really hard to write a test for, maybe you shouldn't give parrot crap about it. 22:29
22:30 crab2313 joined
crab2313 thanks 22:30
22:36 whiteknight joined 22:38 crab2313 left 22:43 MayDaniel left
FROGGS tadzik: that is what I got done today: github.com/FROGGS/p6-File-Spec 22:44
gnight 22:45
22:55 wamba left 22:56 Circlepuller_ joined 22:58 Circlepuller left 23:10 M_o_C left 23:41 DreamingInCode joined
sorear o hai DreamingInCode 23:46
DreamingInCode :D 23:47
23:50 whiteknight left 23:52 dayangkun joined 23:56 tokuhiro_ joined