»ö« 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.
diakopter how's it different from lookahead? 00:00
TimToady a quick way to write <?before ...> for those things that are assertions
diakopter oh
00:01 Guest34898 is now known as Trashlord, Trashlord left, Trashlord joined
diakopter also, that section in S05 links to github.com/perl6/roast/blob/master...#L461-L481 which doesn't seem to have anything to do with "A leading ? indicates" ... 00:01
00:03 jkeats_ joined 00:04 wolfman2000 joined, cognominal_ joined 00:06 Trashlord left 00:07 cognominal left 00:10 floyy left, replore_ joined, replore_ left, replore_ joined
diakopter niecza: say "foo" ~~ / <[ z .. a ]> / 00:11
p6eval niecza v10-44-g82a2206: OUTPUT«Match()␤»
diakopter niecza: say 44 if "foo" ~~ / <[ z .. a ]> / 00:15
p6eval niecza v10-44-g82a2206: ( no output )
diakopter niecza: say 44 if "zoo" ~~ / <[ z .. a ]> /
p6eval niecza v10-44-g82a2206: ( no output )
diakopter niecza: / (\d**1..3) { $0 < 256 or fail } / 00:17
p6eval niecza v10-44-g82a2206: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'fail' used at line 1␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36) ␤…
diakopter seems like fail should be easy to implement
00:21 wolfman2000 left 00:31 wolfman2000 joined 00:32 wolfman2000 left 00:35 lateau_ joined 00:37 eternaleye left, shampaa joined 00:42 shampaa left 00:44 sivoais joined 00:49 envi_ joined 01:11 Chillance left 01:20 wolfman2000 joined 01:23 tokuhiro_ left 01:24 benabik joined, colomon joined 01:34 shinobicl_ left 01:38 cognominal joined 01:39 sivoais left, sivoais joined 01:40 cognominal_ left 01:43 daniel-s joined 01:45 whiteknight left
dalek ast: 2212c58 | (Solomon Foster)++ | S (3 files):
Merge branch 'master' of github.com:perl6/roast
01:47
colomon crap, what did I do now? 01:48
[Coke]: ping? 01:49
benabik ?
colomon: Looks like you merged something.
colomon I certainly didn't mean to. And my own change seems to have disappeared. 01:50
benabik Oh. That's poor
colomon yeah, I screwed the pooch somehow
01:50 cognominal_ joined
colomon I was hoping [Coke] could tell me if I just somehow undid his last commit(s). 01:52
benabik colomon: I'll see if can figure out what changed, in case [Coke] isn't paying attention.
colomon danke
01:53 cognominal___ joined, sivoais left, cognominal left, sivoais joined
benabik colomon: It looks like a clean merge. I see your changes to S32-list/pick.t and [Coke]'s and moritz's changes to a variety of others. 01:54
colomon benabik++ 01:55
01:55 cognominal_ left 01:58 cognominal___ left, cognominal joined 02:00 jaldhar left 02:04 shinobicl_ joined
shinobicl_ hi... how should i debug perl6 programs? i want something like "pdb" ... 02:05
i mean.. ptkdb
02:07 jaldhar joined 02:12 blackdog joined, aloha left 02:14 mantovani joined, aloha joined
flussence
.oO( with a needle and a steady hand... )
02:18
benabik liberally sprinkle calls to say.
02:21 blackdog left 02:32 jkeats_ left 02:33 jaldhar left, jaldhar joined 02:39 lateau_ left 02:40 bluescreen10 left 02:41 bluescreen100 left
ingy moritz: Pugs problem solved (I hope). Install GHC 7.2.1 then goto gist.github.com/1169332 and scroll down to "Installing cabal-install", apply the patch, and cabal will install. Then 'cabal update; cabal install Pugs'. 02:46
\o^ 02:47
02:52 lateau_ joined 02:57 sivoais left, sivoais joined
ingy shachaf: I don't see your commits :\ 02:57
dalek gs.hs: 903e98a | (Ingy dot Net)++ | / (2 files):
remove script and revert INSTALL
03:05
03:07 jaldhar left, jaldhar joined 03:08 jaldhar left, jaldhar joined 03:09 jaldhar left, jaldhar joined 03:10 cognominal left, cognominal joined 03:11 tyatpi_ joined, shinobicl_ left 03:14 jaldhar left 03:15 jaldhar joined
sorear good * #perl6 03:19
masak: it would be lowish-hanging fruit to s/Infinity/Inf/. Is the full behavior specced? 03:21
03:21 cognominal_ joined
sorear colomon: what libraries are you thinking of using for a Perl 6 CAD program? 03:22
03:23 molaf joined
ingy sorear: do you and shachaf know each other? 03:23
shachaf: 23:17 < ingy> just commit on a branch and put your concerns in the commit msg, and I'll poke audrey to comment 03:24
03:24 cognominal left
ingy that was for you in #haskell, not sure if you saw it 03:25
sorear phenny: tell GlitchMr github.com/sorear/niecza/issues/67 03:29
phenny sorear: I'll pass that on when GlitchMr is around.
03:30 donri left
sorear masak: github.com/sorear/niecza/issues/68 too now. 03:30
PerlJam: Unity is pretty popular over in #mono. 03:31
sorear never expected xmonad would become this popular ( awwaiid ) 03:32
awwaiid what hmm?
iffin y'all want to go xmonad but are afraid to take that trip -- bluetile 03:33
sorear diakopter: github.com/sorear/niecza/issues/69 03:34
ingy: shachaf and I go way back, yes 03:35
ingy: I'm not in #haskell anymore 03:36
shachaf sorear: That was for me, I think.
Is there any reason you're not in #haskell anymore? :-) 03:37
sorear shachaf: dons 03:38
shachaf Oh? What happened?
sorear also I don't Haskell nearly as much as I used to
03:42 cognominal___ joined 03:46 cognominal_ left 03:51 sivoais left 03:52 sivoais joined 03:56 satyavvd joined 04:06 tyatpi_ left 04:09 molaf left 04:11 mkramer joined 04:13 sivoais left 04:14 sivoais joined 04:30 sivoais left, sivoais joined 04:31 envi_ left 04:56 wk joined 05:11 orafu left, orafu joined 05:18 Khisanth left 05:23 lestrrat left 05:24 lestrrat joined 05:28 Khisanth joined, sivoais left, sivoais joined 05:45 sivoais left, sivoais joined 05:47 kaleem joined 05:51 araujo left 06:27 koban joined
moritz pugs: say 'alive' 06:31
phenny moritz: 13 Oct 22:06Z <soh_cah_toa> tell moritz good eye. i took care of it. thanks :)
p6eval pugs: OUTPUT«alive␤»
moritz phenny: tell soh_cah_toa my log files have a good eye indeed :-)
phenny moritz: I'll pass that on when soh_cah_toa is around.
06:35 cotto left 06:36 cotto joined 06:41 mj41 joined
dalek albot: 2a08401 | moritz++ | build-scripts/rebuild-pugs.sh:
first shot at pugs rebuild script
06:43
albot: c1461f2 | moritz++ | build-scripts/rebuild-pugs.sh:
[pugs] improved sanity
06:44
06:47 Chillance joined
dalek albot: ba87ddd | moritz++ | evalbot.pl:
pick up the pugs that is installed from git
06:51
albot: c090c2f | moritz++ | evalbot.pl:
Revert "exclude pugs from "perl6:" target while its installation is busted; include b for the lulz"

This reverts commit e94ed5d07016def461554266281b30d60d6d445b.
06:54 wtw joined 07:04 cognominal___ left 07:05 cognominal joined 07:10 Alias joined 07:13 Alias_ left, Alias_ joined 07:16 Alias left, Alias joined 07:19 Alias_ left
diakopter moritz++ 07:19
std: /;/ 07:23
p6eval std 580b69a: OUTPUT«===SORRY!===␤Semicolon must be quoted at /tmp/3qwncUe9RA line 1:␤------> /;⏏/␤Parse failed␤FAILED 00:01 119m␤»
diakopter nom: /;/
p6eval nom ce15be: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at line 1, near "/"␤»
07:27 risou_awy is now known as risou 07:32 cognominal left, cognominal joined 07:34 mj41 left
moritz evalbot control restart 07:35
07:35 p6eval left, p6eval joined, ChanServ sets mode: +v p6eval
moritz pugs: say 1 07:36
p6eval pugs c943eeb: OUTPUT«1␤»
07:37 lateau_ left
moritz masak: you might like nathanmarz.com/blog/how-to-beat-the...eorem.html 07:39
masak: it's about event sourcing; sad that he dilutes the information by bullshit about beating the CAP theorem (which he doesn't, of course)
07:44 mj41 joined 08:02 koban left 08:07 Kivutarrr joined 08:20 am0c left 08:21 Alias_ joined 08:24 Alias left 08:27 envi joined 08:32 uasi joined 08:37 GlitchMr joined 08:50 mtk left 08:51 BLZbubba left, BLZbubba joined, risou is now known as risou_awy
masak good moritz, #perl6 09:00
moritz: thanks. looks interesting.
09:05 wk left 09:06 satyavvd left
mls_ morning perl6! 09:07
masak good mls_! 09:09
mls_ what should the output of gist.github.com/1286654 be? 09:18
09:18 mj41 left
mls_ my guess is R3U2R1 09:18
(sorry bout the "if (1)"... too much perl5...) 09:19
masak std: if (1) { say "OH HAI" } 09:22
p6eval std 580b69a: OUTPUT«ok 00:01 120m␤»
09:27 Mowah_ joined
moritz mls_: R3U2R1 sounds sane to me 09:27
mls_ my code currently returns R3R2R2, which is probably wrong 09:29
moritz I'm pretty sure that the first one should be U3 09:30
and that R2 shouldn't appear twice
not sure about the 1, I could argue for either U or R
mls_ yes, I meant R3R2R1 ;)
Why U3?
moritz sorry, confused
masak what are you two talking about? 09:31
moritz 11:18 < mls_> what should the output of gist.github.com/1286654 be?
masak ah.
masak blind
moritz let me get this straight... if the exception is *not* caught, then the UNDO phasers never fire 09:40
correct?
09:42 uasi left
mls_ that depends on the return value, in this case yes 09:51
09:52 mj41 joined 09:56 GlitchMr left 10:01 Kivutarrr left 10:04 wk joined
masak it's a wonderfully gnarly example, like a knot. 10:08
moritz what's the return value if the exception is not caught? 10:09
masak moritz: nice article. the biggest advantage I see nowadays with CQRS and ES is that it (when done right) basically forces the designer to make the model private. and that's very, very good. this realization has also made me really suspicious about Ruby on Rails. 10:11
a designer in CQRS mode says "here are my aggregate roots. they accept these commands and emit these events." *everything* else is internal and private. 10:12
10:13 Trashlord joined
masak joins cqrs-perl6 to avoid polluting #perl6 with his insistent CQRS propaganda 10:14
10:15 colomon_ joined, colomon left, colomon_ is now known as colomon 10:16 replore_ left 10:17 agentzh joined 10:24 trexy joined 10:33 yagoubix joined
ingy moritz: did you see my fix? 10:36
moritz: it 10:37
moritz: it's actually in the topic of #haskell :)
moritz pugs: say 'yes, ingy' 10:38
p6eval pugs c943eeb: OUTPUT«yes, ingy␤»
ingy :D
\o/
thx
moritz I also built a rebuild script for pugs, but haven't crontabbed it yet 10:39
ingy ok
10:44 Kivutarrr joined 10:54 colomon left
masak moritz++ 11:18
pugs: say "我很高興回來了!" 11:19
p6eval pugs c943eeb: OUTPUT«decodeUTF8': bad data: '\25105'␤decodeUTF8': bad data: '\24456'␤decodeUTF8': bad data: '\39640'␤decodeUTF8': bad data: '\33288'␤decodeUTF8': bad data: '\22238'␤decodeUTF8': bad data: '\20358'␤decodeUTF8': bad data: '\20102'␤decodeUTF8': bad data: '\65281'␤æå¾é«è…
masak *cough*
guess that might be Pugs's fault, tho'
as far as I know, I'm utf-8-conf'd here. 11:20
the IR clogs corroborate this.
perl6: say "!" 11:25
p6eval pugs c943eeb, rakudo ce15be, niecza v10-44-g82a2206: OUTPUT«!␤»
masak oh, so 'b' is no longer à la mode? 11:26
niecza: say "我很高興回來了!"
p6eval niecza v10-44-g82a2206: OUTPUT«我很高興回來了!␤»
masak rakudo: say "我很高興回來了!"
p6eval rakudo ce15be: OUTPUT«我很高興回來了!␤»
11:32 sftp left 11:37 envi left, Psyche^ joined 11:40 yagoubix left 11:41 Patterner left, Psyche^ is now known as Patterner 11:43 trexy left 11:52 cognominal left 11:53 cognominal joined 11:55 replore_ joined 12:05 replore_ left 12:08 lateau_ joined 12:09 Kivutarrr left 12:11 Kivutarrr joined 12:20 replore_ joined 12:21 bluescreen10 joined 12:39 Mowah_ left 12:40 Trashlord left 12:41 [Coke] left
PerlJam masak: ping 12:46
masak pong
PerlJam masak: I asked Karen about your grant and she said that it goes for vote on Oct 23.
masak PerlJam: yes, she emailed me about that yesterday. 12:47
PerlJam oh good. :)
masak PerlJam: I'm going to reply to her email today. she asked about D4 and stuff.
jnthn should really get his current grant wrapped up... 12:48
Especially as I think I've actually done everything I said I'd do on it.
moritz typed arrays weren't part of the grant?
moritz only has a vague recollection
PerlJam She also updated the wording on the website about Hague grants to include a bit of a timeline for public review and when a vote is supposed to happen.
jnthn moritz: Don't think so, no
moritz: Natively typed attributes were 12:49
masak PerlJam: ooh, nice!
jnthn moritz: That was the only native thing I said I'd do int he grant.
moritz: As it happens, we got native lexicals and native operators during the course of it too :)
(Yes, compact arrays are on my radar.)
moritz
.oO( "int he grant" when talking about native types :-)
12:50
jnthn :P
moritz well, native ops only in a branch... :-) 12:51
jnthn Looks like I should - exhaustion aside - get tuits to land said branch next week, though :) 12:53
12:54 Trashlord joined
moritz wonders if passing a Perl 6 Str to the regex engine maybe results in oh so many vtable calls 12:55
jnthn I *think* cursor points directly to a str 12:56
So at most once, I think.
moritz is nqp::isconcrete the test that should be DEFINITE in Perl 6? 12:58
masak wow, sigil variance is so *weird*! :)
jnthn yes
moritz masak: it has its own logic 12:59
masak it does indeed.
my reaction is mostly knee-jerk because Perl 5 keeps nagging me about gettin it rong :) 13:00
moritz jnthn: you're right, !cursor_init binds $target with nqp::bindattr_s to a str-typed attr
masak for arrays, that is. if I get it rong for hashes, the only way I'll know is that everything hits the fan at once.
moritz well, a transcoded version of $target that is
13:04 sftp joined 13:05 Trashlord left 13:12 Trashlord joined 13:14 GlitchMr joined 13:15 trexy joined
trexy hi 13:15
thought I would delurk for a bit ... 13:58:12
It's been great to see developments on nom + niecza and rakudo 13:58:59
I was wondering about the feasibility of using the JVM 13:59:18
? 13:59:21
13:22 wtw left 13:23 wolfman2000 left 13:24 bluescreen10 left 13:25 mtk joined 13:27 tokuhiro_ joined
masak trexy: hi! 13:29
13:29 Trashlord left
masak trexy: definitely feasible. 13:29
trexy: what's needed: someone to spearhead a JVM implementation of 6model. 13:30
we don't have that, because our developer resources are scarce.
13:30 awwaiid left, Trashlord joined 13:31 localhost left
masak also, I've gotten the impression that even if we were to have more tuits for expanding to other VMs, the CLR and maybe V8 seem more attractive. 13:32
but that doesn't completely rule out the JVM, of course.
13:33 localhost joined
masak would be way cool to have Perl 6 running on Android. 13:34
13:35 trexy left 13:39 daniel-s left 13:42 bluescreen10 joined, Trashlord left 13:43 sayu joined 13:46 Trashlord joined 13:47 daniel-s joined 13:52 uasi joined
masak decommutes 13:53
13:54 tyatpi_ joined 13:58 Kivutarrr left, Holy_Cow joined, Holy_Cow left, Kivutarrr joined 14:00 Trashlord left 14:01 Trashlord joined 14:02 agentzh left
mls_ (Hah! I now get R3U2R1!) 14:03
14:04 lateau__ left
moritz cool 14:05
mls_ so I now have working CATCH/CONTROL/ENTER/LEAVE/KEEP/UNDO phasers 14:07
missing: NEXT/LAST/REDO and those other two
I think I'll implement leave() and call it a wrap for today 14:08
moritz sounds like somebody is having fun :-)
mls_ those loop phasers are tricky
14:09 jferrero left 14:11 Trashlord left 14:16 Trashlord joined 14:17 risou_awy is now known as risou, trexy joined
trexy sorry connection keeps dropping out ... 14:18
I still only have a superficial understanding of nom
is the plan that nom will be a bit like DBI/DBD
nom provides the DBI part
and the VM underneath does the DBD
- metaphorically speaking .... 14:19
moritz a bit like that, yes
trexy ok that sounds exciting
moritz nom: nqp::print("foo")
p6eval nom ce15be: OUTPUT«foo»
trexy from the DBI experience ... people learnt from other DBD's 14:20
moritz for the parrot backend, that compiles to a PIR opcode
trexy it seems as an onlooker
moritz for other backends, that would compile to System.Out.print() or whatever
trexy hmm ok
I look at the dartlang ideas for implementation
moritz and we have the object runtime library called 6model
trexy and they have JS plans 14:21
14:21 jferrero joined
moritz which needs translating to other VMs that we want to run on 14:21
trexy ah OK - maybe 6model is more like the DBI then?
the API that perl6 implementation must use 14:22
moritz that's another way to see it
trexy for which there is a DBD that does the work in the vm?
and is 6 model expressed in nqp? 14:23
moritz 6model is written in C
(for parrot) 14:24
6model for JVM would be written in java or JVM bytecode or so
trexy ah ok
and the Perl6 grammar how does that interact with 6model? 14:25
moritz it doesn't
at least not directly 14:26
for example if you write class A { }
then the grammar only creates a parse tree 14:27
and another translations stage which we call the "actions" turns it into method calls to the meta object model 14:29
something like
my $A = ClassHOW.new_type(name => 'A')
14:29 Trashlord left
moritz $A.HOW.finalize($A) 14:29
trexy hmm ok 14:30
moritz and ClassHOW allocates some storage for the class -- and that is where 6model kicks in
14:30 Trashlord joined
trexy ok - so I need to get my head around compile time vs runtime 14:31
if we take javac for example
- and we wanted to run Perl6 on the JVM
we need to apply the grammar first off
and the application of the grammar - requires Perl6 - as it is a Perl6 grammar 14:32
moritz correct
trexy so this phase can be handled by Patrick's grammar engine?
moritz yes
the way to start an effort would be roughly: 14:33
1) use the parrot-based nqp ("not quite perl", a mini Perl 6 compiler), and teach it to emit JVM code
and at the same time, write a 6model in Java
2) use this modified nqp to compile itself to JVM 14:34
3) use the now bootstrapped nqp-on-JVM to build rakudo, and teach rakudo do emit JVM code (which isn't so much effort anymore, because it re-uses the code generation facilities from nqp) 14:35
moritz realizes that this is probably a bit confusing :-)
trexy 4) open XMAS cracker ;-) 14:36
moritz 5) consume said cracker
trexy hmm OK - need to mull over 3) 14:37
I'm surprised rakudo - features in 3) 14:38
I would have thought it would be like niecza and standalone 14:39
moritz well, nom is a rakudo branch
and now "the" rakudo branch
well, niecza also contains a compiler and a runtime part
I don't see how it is more standalone than rakudo on JVM would be 14:40
or less, for that matter
trexy ... probably my fuzzy understanding - please ignore
moritz ignores
mls_ perl6: sub foo returns Int { Mu } ; say foo()
p6eval pugs c943eeb: OUTPUT«*** No such subroutine: "&Mu"␤ at /tmp/GJPI5maQAH line 1, column 23-26␤» 14:41
..rakudo ce15be, niecza v10-44-g82a2206: OUTPUT«Mu()␤»
mls_ perl6: sub foo returns Int { return Mu } ; say foo()
p6eval pugs c943eeb: OUTPUT«*** No such subroutine: "&Mu"␤ at /tmp/9D4KJL890x line 1, column 30-33␤»
..niecza v10-44-g82a2206: OUTPUT«Mu()␤»
..rakudo ce15be: OUTPUT«Type check failed for return value␤ in sub foo at /tmp/Z7ulfnjlGl:1␤ in block <anon> at /tmp/Z7ulfnjlGl:1␤ in <anon> at /tmp/Z7ulfnjlGl:1␤»
mls_ Hmm. Rakudo bug.
moritz aye
14:42 Trashlord left, mj41 left
jnthn ...where's the bug? 14:45
trexy and what about the potential for loading Java classes in the JVM ...
jnthn oh, I see it
trexy where does this fit in?
moritz nom: sub foo returns Int { Mu } ; say foo()
14:45 Trashlord joined
p6eval nom ce15be: OUTPUT«Mu()␤» 14:45
trexy Perl6JVM
jnthn moritz: yeah, bug...please file ticket 14:46
moritz trexy: if you perl 6 running on the JVM, loading and using Java classes should be quite possible and fast
though maybe not trivial, because Perl 6 Int aren't Java Integer objects
jnthn: ticket filed 14:48
14:50 kaleem left
mls_ simple leave() works. 14:50
(but not Code.leave())
moritz well, good start :-)
isn't leave() basically just a PIR .return, plus a bit of managing overhead? 14:51
mls_ well, yes ;)
Except it works on Blocks, not Routines
moritz somehow it surprises me it took us so long to get there :-)
but since we compile block to PIR level subs, that's exactly what PIR .return gives us, no? 14:52
jnthn gotta get train...bbl
(quite a bit later...3 hour journey...)
mls_ moritz: well, as we don't have macros yet you need to return from the caller 14:53
trexy approaching the problem from another way
14:54 jaldhar left
trexy the expressiveness of the Perl6 grammar is pretty amazing 14:54
could a Java grammar be written with it
and you have more of a Java -> Perl6 translator 14:55
as Perl6 seems offer a superset of Java stuff (threads excepted)
so a Java program is converted into Perl6 ... or is the where TImToady's idea of "slangs" applies? 14:56
14:57 Trashlord left
moritz should be possible, but it would probably run slower than if you execute the Java classes with javac+JVM 14:57
trexy yes - is that due to JVM having the hell optimised out of it? 14:58
moritz that's one major point
and a second is that we optimize Perl 6 runtime for Perl 6, not for Java 14:59
trexy hmm - ok
and the translated Java -> Perl6 step would happen too late for the optimiser?
14:59 Trashlord joined
moritz hm, might not be too late 15:00
15:08 Trashlord left
trexy I wonder if it is feasible/possible for a Perl6 grammar to parse Java source into something that could be fed into subsequent steps? 15:11
moritz it sure is possible
just a decent bit of work to do
trexy could you outline what is required for that? 15:12
15:13 Kivutarrr left
tadzik probably some regex-fu :) 15:13
moritz write a grammar. Test it. Improve it until you're happy. 15:14
15:15 lateau_ left
moritz probably after steps -1 and 0, learn about perl 6 regexes/grammars, and read the java specs 15:16
15:16 wk left
moritz even if you think you know a language, always read the spec (if one exists) before starting to write a parser :-) 15:17
15:17 GlitchMr42 joined
moritz otherwise you'll end up like those poor folks how wrote "xml parser" that choke on namespaces, simply because the author has never seen/used them :-) 15:18
trexy hmm - indeed ... I don't underestimate the complexity of all this ... just trying to gauge the respective height of each mountain 15:19
... and what kind of view there might be at the top ;-)
moritz :-) 15:20
the key is to not just do it for the view at the top, but for the fun of climbing too
trexy yes ... indeed
15:20 GlitchMr left
trexy could learn quite a bit on the way 15:21
I wonder how TimToady's idea of 'slangs' fits in with language translation ...
can you define a grammar for a slang and incorporate it into the enclosing grammar? 15:22
moritz yes, that's the whole point
for example in Perl 6, regexes are defined as a slang 15:23
if you write if m/foo/ { ... }
then the mainline parser switches to the regex slang as soon as it sees the m/
and tells it that the expected terminator is another /
and when the regex slang parser is done, it tells the mainline parser how far it got (up to the second /, inclusive) 15:24
trexy ok - sounds cool
moritz and the mainline parser then parses the rest
... until it meets another slang, etc.
trexy and internally there is a parse tree with potential actions
? 15:25
moritz yes
(I'm not sure how well rakudo implements slangs, but STD uses them that way)
trexy ok - could you have some superficial wrapper around a .java source file that kicks off a Java slang 15:26
class JavaWrapper {
... java source in here ....
}
moritz right 15:27
javaclass Perl6.System.Out { ... }
:-)
15:28 sayu left
trexy I assume that the regex slang is "included" in the grammar somehow 15:29
? 15:30
moritz yes
trexy and the Java slang would get included in the same way 15:31
- it sits in its own grammar file?
tadzik probably
trexy - so to load a whole lot of java source files you could wrap them in Perl6 wrappers with slang markers 15:34
15:34 colomon joined
moritz or you could write a small program that starts off with parsing the Java slang 15:35
15:35 tyatpi_ left
moritz easier than lots of wrappers 15:35
15:36 gbacon joined
TimToady just don't call it Jerl :) 15:37
trexy haha - no risk there
TimToady I'd prefer Perva...oh wait...
sorear good * #perl6
TimToady o/
sjohnson how about Perlthon? 15:38
moritz \o sorear, TimToady
15:38 am0c joined
moritz
.oO( just call it javap, what could possibly go wrong? )
15:38
trexy jamelia
sjohnson Duke -> Puke
TimToady unfortunately, JPL is taken... 15:39
moritz TimToady: did you see my smartmatch rant blog post?
TimToady yes
moritz TimToady: any comments?
TimToady I prefer to think before I say something :) 15:40
moritz ok :-)
TimToady in particular, I've been thinking about whether it's feasible to combine an infix topicalizer with a precedence bender 15:42
also about whether it's possible to combine it with andthen 15:43
moritz kinda like 'given', but more operator-y?
TimToady since andthen also topicalizes
moritz well, if we have a topicalizer infix t, we can always construct &&t and ||t from it :-) 15:44
TimToady thing is, you can't do precence bending and also expect $result = $string foo m/bar/ to work
*precedence
moritz right
15:45 awwaiid joined
moritz std: for m:g/a/ given $x { } 15:46
p6eval std 580b69a: OUTPUT«===SORRY!===␤Missing block at /tmp/hS2Ra1525m line 1:␤------> for m:g/a/ ⏏given $x { }␤Parse failed␤FAILED 00:01 121m␤»
moritz std: for (m:g/a/ given $x) { }
p6eval std 580b69a: OUTPUT«===SORRY!===␤Variable $x is not predeclared at /tmp/OAQh7_HDVt line 1:␤------> for (m:g/a/ given ⏏$x) { }␤Check failed␤FAILED 00:01 123m␤»
moritz std: for (m:g/a/ given '') { }
p6eval std 580b69a: OUTPUT«ok 00:01 122m␤» 15:47
TimToady is tempted to borrow 'wa' from Japanese 15:51
all the English infix topicalizers are very heavyweight 15:52
being the case, having been said, being so.... 15:53
being taken as given...
moritz that said
TimToady English tends to prefer prefix topicalizers
15:54 MayDaniel joined
TimToady but a low-precedence andthen equiv probably wants to be punctuational 15:55
er, high-prec
tighter
Metaphors We Live^WDie By 15:56
moritz sad that -> is already taken
TimToady most of the arrows are took
moritz my @matches = $str -> m:g/../ # wouldn't read too badly
TimToady considered » for a while, which might work in isolation 15:57
but probably has too many hyper overtones
15:57 gbacon left
TimToady -» is available 15:57
_ is available, and has a mnemonic 15:58
but not very pretty
moritz but it's <alpha> by our very own classification :-)
TimToady no problem for an infix 15:59
the main thing I keep coming back to on the prec bend issue is that, as soon as you go to two chars for you're infix, you don't gain much over normal parens
*your
moritz ... if counting characters is your main metric 16:01
TimToady yes, but requiring understanding of precedence is not an unmixed blessing
sorear $string は s/foo/bar/ ? 16:02
TimToady we could almost get away with using -->
sorear I have to admit this amuses me
moritz TimToady: almost? 16:03
16:03 daniel-s left
TimToady --> doesn't topicalize in a signature :) 16:03
but if pronounced "returns", it has some syn<mumble>ness 16:04
and resonates quite nicely as the item analog of ==>
moritz it also fits when piping a Cat into a regex 16:07
TimToady if put at ==> precedence, does have the problem of $result = $string --> m/foo/ not working as expected
moritz yes, needs tighter precedence
TimToady well, but you also want a precedence bender topicalizer
moritz wonders how for $str --> m:g// -> $match { } looks
moritz -> commute 16:08
TimToady std: for $str ==> m:g/foo/ -> $match {...} # just seeing if it parses
p6eval std 580b69a: OUTPUT«===SORRY!===␤Variable $str is not predeclared at /tmp/9nK5eYr2rt line 1:␤------> for ⏏$str ==> m:g/foo/ -> $match {...} # jus␤Potential difficulties:␤ $match is declared but not used at /tmp/9nK5eYr2rt line 1:␤------> for $… 16:09
TimToady std: for 42 ==> m:g/foo/ -> $match {...} # just seeing if it parses
p6eval std 580b69a: OUTPUT«Potential difficulties:␤ $match is declared but not used at /tmp/g7acqbLPvQ line 1:␤------> for 42 ==> m:g/foo/ -> ⏏$match {...} # just seeing if it parses␤ok 00:01 125m␤»
TimToady std: for 42 ==> m:g/foo/ -> $ {...} # just seeing if it parses
p6eval std 580b69a: OUTPUT«ok 00:01 125m␤»
16:15 wooden left, molaf joined 16:17 tyatpi_ joined, Holy_Cow joined
TimToady is now thinking about a metaoperator that causes the left side of any infix to become the topic for the right side 16:19
16:20 am0c left
TimToady I guess it would only work on thunky ops, so maybe a metaop is overkill 16:22
masak +1. overkill. 16:23
besides, doesn't infix:<andthen> already topicalize in such a way?
TimToady a postfix topicalizer is probably wanted, and maybe a better noop infix
yes, that is one of the many points above
masak backlogs 16:24
<mls_> those loop phasers are tricky
mls_: you, sir, are awesome.
16:28 kboga joined 16:32 kboga left
TimToady hmm 16:36
maybe 'at' as a tight 'andthen'
16:36 Alias_ left, domidumont left
masak cute. 16:36
TimToady $foo at m/bar/ # almost works
maybe too cute
masak it's like a reversed statement_mod 'given'. 16:37
TimToady and 'andthen' is a bit misnamed, since it's based on definedness
masak should be 'defthen' :)
TimToady andthen is not pure topicalizer
masak right.
TimToady which is why I start wondering about other ways of composing so we get pure topicalization and pure def checks 16:38
suppose, for the sake of argument a postfix metaop : that topicalizes the left side
sorear is anyone else bothered by the funky pseudo-topicalizer-ness of orelse?
TimToady $foo &&: m/bar/ works for true values 16:39
sorear
.oO( Everybody wants the colon )
TimToady we don't currently have a tight defand 16:40
masak \\
SCNR
or maybe && but in italics. 16:41
TimToady was my though too, but pity we can't have italic && :)
*ght
masak we'd have to write <i>&&</i>
ugliest operator in town.
TimToady 16:42
sjohnson that doesn't show up on my end :/
.u house
phenny U+2302 HOUSE (⌂)
TimToady pity there's not a turned HOUSE that we could use for home plate
and where's MOTEL, so we can play Monopoly? 16:43
er HOTEL
sjohnson .u hotel 16:45
phenny sjohnson: Sorry, no results for 'hotel'.
masak verdire, statement_mod_loop:given is my infix topicalizer of choice.
it has its operants in the correct order, too ;)
operands*
TimToady what is this "correct" of which you speak, grasshopper? 16:46
masak The One That I Like™
PerlJam masak++
16:46 simcop2387 left
masak srsly though. we don't need more infix topicalizers. 16:47
we need a smaller spec.
diakopter +Inf
16:48 simcop2387 joined
TimToady shrinks the spec to 1/+Inf 16:48
masak perl6: say 1/+Inf 16:49
16:49 GlitchMr joined
p6eval pugs c943eeb, rakudo ce15be, niecza v10-44-g82a2206: OUTPUT«0␤» 16:49
TimToady is sorely tempted to blow the spec away and see if git can really recover it... :)
tadzik (:
masak TimToady: now let's not get agitated. put down the spec and step away from the keyboard. :) 16:50
masak .oO( speak softly and carry a big spec )
TimToady ow
16:52 GlitchMr42 left
masak fwiw, I think chromatic++'s question "what's in the way for new people to go from 0 to productive with Perl 6" is highly, highly relevant. 16:53
at least if we don't want to condemn Perl 6 to obscurity a la "it would've been a nice language, had it ever gained traction". 16:54
16:54 Patterner left 16:55 Psyche^ joined, Psyche^ is now known as Patterner
TimToady you have tremendous powers of oversimplification :) 16:55
masak I am a self-proclaimed Perl 6 application developer. but I am one not on the grounds of "wow, Perl 6 is so fit-for-purpose!", but rather "let's see which holes I fall into if I do this" 16:56
how do we actively create more of the first kind? note that it's then more about implementations (and distributions) than about spec. 16:57
16:58 donri joined
masak for example, there has been ideas about a one-click-install PHP-ish Rakudo distro wherein source files can be pure HTML with Perl 6 inside <% %> tags. 16:58
16:58 tokuhiro_ left
masak (that's not all PHP gets right, of course, but it's still an intriguing idea) 16:58
geekosaur the return of eperl? 16:59
donri php: perl learning environment for kids
16:59 sayu joined
TimToady sure, and if you think I'm supposed to be in the business of designing specific implementations, you've not been paying attention :P 17:00
diakopter I still wonder who made that request/insistence, and if it's still relevant
TimToady originally it was because people thought Perl 5 was badly implemented (hah), but nowadays it's more to avoid the perception of favoritism 17:01
diakopter ah, political correctness 17:02
(to oversimplify)
TimToady if I had not done that, we might well have neither pugs nor niecza 17:04
ask yourself if that would be a beneficial outcome
diakopter perhaps, maybe not too likely, seeing how the pre-rakudos turned out 17:05
masak TimToady: in the case I gave above, and similar cases, I do not expect you to design such things, no.
TimToady and our mandate has always been not just to invent another crappy language
so the process has been biased toward slow convergence on the right spot over fast convergence on the wrong spot 17:06
we knew we'd take a hit for that
masak TimToady: are you concerned over the slow convergence?
is there such a thing as too slow convergence? 17:07
TimToady well, rakudo's grammar has not converged on std's as fast as I'd like, but that's primarily because it's a volunteer organizatoin 17:08
sorear woah, woah
diakopter heh
moritz well, nom is still laying the foundations for STD convergence
sorear what's going on here? why has the channel tepmerature just shot up 25? 17:09
moritz we now have roles in nqp
TimToady masak++ is having his Official Panic now becuase of something chromatic++ wrote
masak seems so.
waa waa waa panic panic panic
TimToady :) 17:10
masak there, I'm done.
moritz once we can use qregex for parsing rakudo, std convergence becomes possible
wow, that was a short panic :-)
masak I'm efficient :)
moritz <.panic('OH NOEZ')>
TimToady I'm not faulting rakudo for the path it's taking; we got 6model out of it, after all
masak like removing a band-aid.
TimToady I'm just expressing one spot where I'm impatient 17:11
diakopter a bandaid that's been stuck to the skin for years ;)
masak TimToady: I'm always grateful/happy for each new functionality Rakudo or Niecza brings online. and I don't think we've stalled at all.
diakopter tries Really Hard not to panic again 17:12
masak TimToady: but I am... interested, let's say, in whether there are things we as a community could do to lower the thresholds chromatic talks about.
TimToady: if diakopter panics again, do we get to deport him to Python? :D 17:13
TimToady I think we're getting on toward the point where it makes sense to consider that, but it didn't really makes sense back when rakudo was running like a dog
diakopter actually I had to do some Python at $work the other day 17:14
TimToady we want to add adopters at the point they're ready for Perl 6
and I don't think we're quite ready to Cross the Chasm
despite the fact that P6 is always quite a bit more functional than P1 17:15
diakopter remembers the Bridge Illustration from his Navigators days
TimToady *already
mls_ afk -> weekend...
TimToady o/
masak one cross Perl 6 has to bear is that the bar is so much higher now than it was at the time of P1. 17:16
mls_ (TimToady: regarding gist.github.com/1286654 , is R3U2R1 correct?)
masak P1 started out at zero. P6 started out as P5.
diakopter I thought P1 started out at shell/awk/sed/etc 17:17
17:18 mkramer left
masak fair enough. 17:18
17:18 mj41 joined
TimToady yes, shell/awk/sed was P1's bar 17:18
masak still a smaller bite than P5, which does everything.
TimToady and I delayed P1 till I was sure we could clear the bar 17:19
masak well, we haven't released P6 yet either :P
TimToady if you're going to be better at everything like P6 is, we have to get a little better at distributing the future unevenly
colomon wait, I thought we were releasing P6 every month! ;) 17:20
TimToady that's...orthogonal...to the issue of the Innovator's Dilemma
sorear seems chromatic doesn't use Linux for patent reasons
TimToady chromatic can give you lots of reasons for all his opinions :)
masak as part of my Official Panic, can I write a blog post titled "Perl 6 Will Never Be Released"? 17:21
it'll be a good one, I promise.
TimToady no, that's ingy's job :)
17:21 espadrine left
sorear Perl 6 doesn't need to be released. It escaped, years ago. 17:21
TimToady Perl 6 is released in the same sense as floodwaters are released from a dam; it'll go where it makes sense, and not elsewhere 17:22
colomon is trying desperately to think of a The Fugitive related joke here.
TimToady the future finds it's own future-level, as it were
which is why it's unevenly distributed 17:23
diakopter oops, someone turned off the gravity
TimToady that's fine, we still have levity
diakopter but not brevity 17:24
masak :P
plenty of suavity.
TimToady was looking for briefer 'andthen', or a way of factoring it out entirely, but Someone took that as adding complexity 17:25
colomon For what it's worth, I've found trying to implement a short "real world" program in Niecza very rewarding. But on the other hand, I had to stop and code up four or five "core" routines for Niecza that I desperately needed for my code. 17:26
TimToady same here
well, only two for me
colomon now if we could just get another twenty people to do the same.... ;) 17:29
masak I'm enjoying using Niecza for "real world" stuff too. just not making much noise about it at the moment. 17:30
17:31 donri left
TimToady we really don't know where the breakout will be first; in the Golden Age we thought it would be in FP, and others think we'll obsolete some OO language, or PHP, or... 17:31
I think it would be fun to breakout everywhere at once, but I don't really expect it 17:32
sorear I think niecza/clr is a bad setup for attacking the command line scripts field. Too much overhead
TimToady depends on the script :)
diakopter is hoping sorear's serialization work cuts startup time by 90% 17:33
wishful thinking.
17:33 espadrine joined
sorear I'm hoping for more like 30% 17:34
TimToady sorear: the obviously solution is to write a bash emulator for .NET that calls into niecza efficiently )
diakopter heh.
sorear the real wins will come from rearranging the build to make better use of AOT 17:35
masak "AOT"?
"Aspect-Oriented Turtles"? (all the way down?) 17:36
diakopter ahead-of-time compilation to binaries in mono
masak ooh
TimToady and it's quite possible that the breakout will come via some engine that is still only a twinkle in someone's eye 17:37
PerlJam As long as the someone that will initiate the breakout isn't still a twinkle in someone's eye 17:38
masak in retrospect, I'm disappointed at my Official Panic. I'm thinking I should have researched it better, and flailed my arms around more. :/
TimToady you'll get better at it as you go along :)
colomon I still halfway expect it will be the first .NET p6 which can use p5 modules on CPAN. Even if it was generally slower than p5, the ability to use two entire huge families of libraries seems like it would be a huge win.
ashleydev /mark
TimToady I'll let you take a continuation
masak ooh
17:39 uasi left
masak I was about to propose defacing S01, but continuation is cleaner, yes. 17:39
PerlJam colomon: I think anything that makes using p6 for real world problems super easy would be win enough
TimToady well, cleaner for the user, but someone has to implement CPS, and get it to integrate with the non-CPS world somehow 17:40
slavik1 CPS?
PerlJam slavik1: continuation passing style
TimToady continuation passing style
geekosaur hasn't been able to get mono on lion so far, so no niecza here...
awwaiid Gimme a C --- "C!" ... etc
slavik1 layman's terms?
hurray for wikipedia 17:41
PerlJam slavik1: heh, I was just about to link you there :)
sorear CPS is kind of a misnomer in this context
TimToady layman's terms? like, universes that allow time travel vs universes that don't :)
geekosaur also has utter crap for network, so that's been hung for >5 min
sorear basically, the high degree of stack introspection and manipulation allowed in Perl 6 forces Perl 6 implementations to use their own stack 17:42
colomon geekosaur: how are you trying to get mono?
geekosaur macports, bmacports; once you use any of the package managers, you're more or less stuck with it, or you punt and install *everything* manually
17:43 sayu left
geekosaur gah 17:43
geekosaur typing blind (did I mention crap network?)
diakopter geekosaur: did you try the package download from go-mono.com?
sorear Parrot is designed to support Perl 6's stack requirements
geekosaur could you read past the first word?
never mind
sorear we're doomed to support two parallel stacks if we want to mix P6 with C code
colomon I use macports in general, and mono didn't work properly until I tried to use the package download from go-mono.com. 17:44
geekosaur problem is, I've helped 6 people this week alone (one of them *here*) solve a problem caused by mixing stuff.
I mean, sure, go-mono.com and then hope like hell that nothing else on this machine never notices or the result will be unfixable without nuke-from-orbit. BTDT 17:45
diakopter iirc the package doesn't install itself to your $PATH, you have to add it there yourself 17:46
so how could it corrupt anything?
geekosaur too many overly "smart" configure scripts that look everywhere under the sun 17:47
which is why macports is strict on the "don't mix with anything else" and homebrew is moving there after a brief attack of "they're just dumb, *we're* smarter than tha...oh $#!+" 17:48
colomon ah. well, by all means, continue trying what wouldn't work for me and apparently isn't working for you. :) 17:54
geekosaur I haven't tried with latest release yet; they only just imported lion compatibility 17:55
17:55 kst left
geekosaur (that is the one downside, but impossible hairsnarls requiring the Gordian solution are worth avoiding) 17:56
mikemol would be very happy to have an ePub documenting NQP syntax and keywords, for study prior to trying to implement it. 18:00
Granted, at the rate I get around to things, that'd probably start happening in 2013... 18:01
18:03 kst joined
sorear NQP is an implementation-defined language 18:07
geekosaur sorry, I am a little hyper about this ting, I have one machine to work with right now and stuff with a track record of hosing machines is Right Out
18:08 overrosy joined
geekosaur (in motel room, unemployed, resume etc. lives on this machine, yes it's backed up but that's not so useful if I can't do anything with it...) 18:08
sorear geekosaur: want a feather account? 18:09
geekosaur installing diretly *might* be safe but I'm not in a position to be the test subject
sorear has anyone seen Juerd lately?
I sent him mail asking permission to make a new account months ago
geekosaur still eed something to accessit with (if it comes to that I still have this account at CMU, but getting-at is still a problem.)
also see "crap network"
18:10 tyatpi_ left
sorear well the idea was that you could install mono/niecza on someone else's machine. :) 18:10
geekosaur (actually, it would be nice if I could run another OS X in a VM, except that it'd probably be a bit heavy on this laptop)
sorear but yes crap network...
you could probably run something a bit lighter than OSX in the VM
Linux 2.2.x would boot in 4MB 18:11
geekosaur (I do have a Windows VM for that matter which would be ideal except VMs suck pretty badly on here)
sorear I wonder how hard it would be to get Mono running on Linux 2.2 or 2.4
18:13 Limbic_Region joined 18:14 GlitchMr42 joined 18:17 kaleem joined
sorear wonders how much of a class should be saved 18:17
18:17 GlitchMr left
diakopter wonders if you mean a class at school 18:17
sorear no, I'm looking at niecza's P6how class 18:18
there are approximately two levels of caching herr
some stuff is done only at .compose time, other stuff has to be redone after an augment 18:19
18:21 uasi joined
geekosaur is stifling some additional rants, like parallels 6 doesn't use VTx on this machine and Digital River failed to let him download after he purchased P7 which has the fix...) 18:24
18:30 jferrero left 18:33 tyatpi_ joined
sorear geekosaur: if VMs are problematic, I encourage you to consider acquiring a (probably used) second computer. I have a 1994 laptop that I occasionally use for dangerous experiments 18:34
18:36 uasi left, Trashlord joined
geekosaur see "unemployed" above 18:36
also, I have like 3 more computers - in storage (see "mote room")
geekosaur is in a sucktastic hell in terms of lots of things atm :( 18:37
but I keep trying to get some kind of perl6 going on here because I don't want to just drop out of existence like I've had to do with so many things
18:38 [Coke] joined
TimToady we will try to remain a relatively cheap addiction :) 18:39
masak perl6: say <cheap fast correct>.pick(2) 18:45
p6eval pugs c943eeb: OUTPUT«cheapcorrect␤»
..rakudo ce15be, niecza v10-44-g82a2206: OUTPUT«cheap fast␤»
awwaiid sweet
diakopter perl6: say <cheap fast correct>.pick(1)
p6eval rakudo ce15be: OUTPUT«cheap␤»
..niecza v10-44-g82a2206: OUTPUT«fast␤»
..pugs c943eeb: OUTPUT«correct␤»
masak :P
moritz lol
diakopter lol 18:46
masak Pugs insists on claiming to be correct :)
perl6: say <panic waa>.roll(6) 18:47
p6eval niecza v10-44-g82a2206: OUTPUT«␤Unhandled Exception: Unable to resolve method roll in class Parcel␤ at /tmp/QDZfYs8bZt line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2160 (CORE C1034_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2161 (CORE module…
..pugs c943eeb: OUTPUT«*** No such method in class Array: "&roll"␤ at /tmp/tmYzXteV2r line 1, column 5 - line 2, column 1␤»
..rakudo ce15be: OUTPUT«waa panic waa panic panic waa␤»
masak wut? Niecza has .pick but not .roll?
someone went for the higher-hanging fruit...
18:48 Trashlord left
colomon I defined what I needed, thank you. 18:49
masak ok... let's see if I can put together a patch for .roll, then. 18:50
colomon masak++ 18:51
masak compiling... 18:54
PerlJam
.oO( .pitch .roll .yaw )
18:55
geekosaur .widdershins? 18:56
diakopter niecza: say { say 5; }()()
p6eval niecza v10-44-g82a2206: OUTPUT«5␤␤Unhandled Exception: No value for parameter $key in CORE CommonEnum.postcircumfix:<( )>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE CommonEnum.postcircumfix:<( )> @ 0) ␤ at /tmp/_FlB402bj5 line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza…
TimToady it's okay by me if Airplane.roll doesn't call List.roll... 18:57
or Ship.list 18:58
[Coke] returns from a network outage. 19:01
colomon: pong?
TimToady so when you're coming in for a landing, why do they call it a rollout? 19:02
geekosaur that's what happens to the rubber on the tires?
colomon [Coke]: hopefully old news now -- I had some sort of git muck-up in roast, and was hoping you could verify your most recent patches to it were still correct.
masak sorear, colomon: gist.github.com/1288000 19:05
[Coke] colomon: I'll assume you didn't screw it up until proven otherwise.\
jnthn back
colomon benabik checked last night and claimed it was correct. but I have no idea what I did to trigger a merge, so relying on my git competence may be dodgy 19:06
benabik colomon: It looks like the result of a `git pull`. 19:07
19:07 imarcusthis left
colomon hmmm... forgot the --rebase, maybe? 19:07
benabik yeah 19:08
19:08 soh_cah_toa joined
[Coke] I have an alias so I /always/ do a pull --rebase. hardcode git people seem to think this is bad, though. 19:09
benabik I just set branch.master.rebase
On _most_ of my repos.
colomon I still use svn for $work, so when I hadn't done a lot of p6 work lately I tend to start forgetting things like --rebase
19:09 imarcusthis joined
[Coke] colomon: Ah, I cheat by using git-svn for work! 19:10
makes my life much easier, and the muggles never notice.
colomon [Coke]: I wasn't at all happy with it when I tried that.
dalek ecza: f03032c | (Solomon Foster)++ | t/spectest.data:
Turn on pick.t.
19:11
ecza: b99829c | masak++ | lib/CORE.setting:
add .roll
TimToady git tends to punish cargo culters from time to time
[Coke] colomon: I'm much happier with it now that I'm a git regular.
when I wasn an svn regular, it was horrible.
*was an
colomon I like git, but I don't use it often enough to keep all the useful invocations in my head all the time. 19:12
[Coke] whoa. awesome perl job about 15m north of here, 60K-150K+10K signon bonus.
colomon where do you live?
[Coke] is so happy to see that, even if he can't leave his current job. ;)
tadzik 15 meters?
[Coke] I work in albany, ny.
TimToady the problem with relying on distributed expertise is that isn't :)
[Coke] tadzik: miles: I live in the us
tadzik ah, those different units 19:13
colomon and miles versus minutes is probably about the same. :)
[Coke] whoops! and I meant minutes! colomon++ FTW.
tadzik :)
[Coke] I just instinctively countered meters with miles. ;)
TimToady we need more letters... 19:14
19:14 araujo joined
colomon [Coke]: I could (in theory) switch to git for $work, but my svn usage is heavily based on the "one repository, dozens of different sub-repos" model that's not allowed in git. 19:14
afk # needs to read book to a 3yo
benabik [Coke]: Sometimes I remember that actually programming for a living would pay better. But despite this thesis taking forever to come together, it's far more interesting. 19:15
TimToady yotto-ounces?
[Coke] nom:say 721-77 19:16
nom: say 721-77 #ETOOMUCH WHITESPACE
p6eval nom ce15be: OUTPUT«644␤»
TimToady you leave out the whitespace when you use : in English, do you? 19:17
[Coke] rakudo: enum A <1 2 3>; enum B <a b c>; say A.enums.keys; say B.enums.keys;
p6eval rakudo ce15be: OUTPUT«1 2 3␤a b c␤»
[Coke] TimToady: that would be a more convincing argument if I was speaking english to the eval bot. 19:18
TimToady 'say' sure looks like English to me
19:19 risou is now known as risou_awy
[Coke] rakudo: enum A <a b c>; enum B <a b c>; say &a.perl 19:19
p6eval rakudo ce15be: OUTPUT«===SORRY!===␤Symbol '&a' not predeclared in <anonymous> (/tmp/JQVXYcGEKu:1)␤»
[Coke] TimToady: I am not arguing with about your language design. I was being snarky about "nom:say" not working, and needing "nom: say" instead. 19:20
I know better than to argue with you about such things, which is why I am your RT monkey.
rakudo: enum A <a b c>; enum B <a b c d>; say &d.perl 19:21
p6eval rakudo ce15be: OUTPUT«===SORRY!===␤Symbol '&d' not predeclared in <anonymous> (/tmp/K6YZxsJPTD:1)␤»
[Coke] rakudo: enum A <a b c>; enum B <a b c d>; say d.perl
p6eval rakudo ce15be: OUTPUT«B::d␤»
[Coke] rakudo: enum A <a b c>; enum B <a b c d>; say c.perl
p6eval rakudo ce15be: OUTPUT«B::c␤»
[Coke] rakudo: enum A <a b c>; enum B <a b c>; say c.perl 19:22
p6eval rakudo ce15be: OUTPUT«B::c␤»
19:23 kaleem left
[Coke] rakudo: enum foo <>; say foo[1] 19:23
p6eval rakudo ce15be: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list at line 1, near "<>; say fo"␤»
[Coke] rakudo: enum foo < >; say foo[1]
p6eval rakudo ce15be: OUTPUT«===SORRY!===␤Cannot put type arguments on foo because it is not a parametric type at line 1, near ""␤»
[Coke] rakudo: enum foo; say foo[1]
p6eval rakudo ce15be: OUTPUT«Could not find sub &foo␤ in block <anon> at /tmp/OY9MFrJAR6:1␤ in <anon> at /tmp/OY9MFrJAR6:1␤»
TimToady S12:1936 says that c.perl should be an error
19:25 molaf left
jnthn TimToady: What do we stick in c? 19:25
Failure?
jnthn checks that really is the line of spec he's thinking of :) 19:26
TimToady Failure might work
needs to have something there in case there's a 3rd one
[Coke] That was RT #72696 if anyone wants to update it.
rakudo: enum somenum <a b c d e>; my somenum $temp = 3; say $temp.key; 19:27
p6eval rakudo ce15be: OUTPUT«Type check failed in assignment to '$temp'; expected 'somenum' but got 'Int'␤ in block <anon> at /tmp/5fZwMAEju3:1␤ in <anon> at /tmp/5fZwMAEju3:1␤»
[Coke] rakudo: enum somenum <a b c d e>; my somenum $temp = d;
p6eval rakudo ce15be: ( no output )
[Coke] rakudo: enum somenum <a b c d e>; my somenum $temp = d; say $temp;
p6eval rakudo ce15be: OUTPUT«somenum::d␤»
[Coke] TimToady: should the line with $temp = 3 work? 19:28
or anyone who answers spec questions, really.
TimToady there are at least two theories about that, and they're both wrong :) 19:29
[Coke] just updates the ticket with the code output, then.
TimToady it kinda depends on whether you think enums are subject to type erasure, such that the run-time only knows about integers 19:30
Perl 6 has tended to be anti-erasure 19:31
[Coke] TimToady: RT #75370
TimToady but it could be made to work either way, really
19:31 espadrine left
TimToady it would have to be an implicit conversion, in the non-erasure view 19:32
[Coke] nom: enum X is export <A B C>;
p6eval nom ce15be: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $type, Any $size, Any $nativesize)␤:(Attribute $attr, Any $rw)␤:(Attribute $attr, Any $readonly)␤:(Routine $r, Any $rw)␤:(Routine $r, Any $default)␤:(Parame…
[Coke] nom: enum X <A B C> is export;
p6eval nom ce15be: OUTPUT«===SORRY!===␤Confused at line 1, near "enum X <A "␤»
TimToady and we'd presume there was a unique mapping, which isn't guaranteed by enums
reverse mapping, that is
but the response of Perl 6 to native typing is mostly to hoist the type info into the container or into the metadata, not to throw it away 19:33
so it would be up to the $temp container to enforce the coercion to somenum(), if anyone did 19:34
[Coke] Do we have an evalbot with no ICU lib available?
jnthn TimToady: Well, Rakudo mostly does "container erasure" there too, though we do have sufficient meta-data to hand at runtime if we need to know that $x is a native int, for example. 19:35
TimToady well, yes, given that you'd like your typical container to optimize down to a C pointer 19:36
or better :)
[Coke] nom: 0 but last; 19:37
p6eval nom ce15be: OUTPUT«Warning␤»
[Coke] ... what warning?
ah. no warning. weird.
nom: last;
p6eval nom ce15be: OUTPUT«Warning␤»
TimToady Obviously, it's your Last Warning! 19:38
jnthn :P
I guess that's nothing catching an unhandled "last" control exception, and Parrot trying to figure out what on earth to do with it :) 19:39
[Coke] rakudo: class Foo does Positional[::T] {}; say Foo ~~ Positional
p6eval rakudo ce15be: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
jnthn That looks correct.
It needs to know what T is there to use it as a type argument at compile time.
[Coke] T isn't some magic thing that is a type?
ah, yes, but not magical. OK.
jnthn [Coke]: That's a role usage, not a role definition.
[Coke]: If it was being done in a role's signature, then yes, it'd be a type capture. 19:40
Maybe the submitter was confused, or just fuzzin' :)
[Coke] it was masak.
colomon definitely confused. ;)
jnthn ;)
Definitely trying to bust Rakudo :P
[Coke] rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say join ", ", $a.candidates 19:41
p6eval rakudo ce15be: OUTPUT«Could not find sub &Multi␤ in block <anon> at /tmp/DDhSVoAEMI:1␤ in <anon> at /tmp/DDhSVoAEMI:1␤»
[Coke] Is Multi gone?
19:41 pmurias joined
pmurias sorear: hi 19:41
jnthn [Coke]: Yes 19:42
pmurias sorear: re serialize branch of niecza, any ideas how it will deal with Perl 5 interop?
[Coke] rakudo: class A { method b { 'b' } }; my $a = A.new; my $b = &A::b.assuming($a); $b() 19:43
p6eval rakudo ce15be: OUTPUT«Method 'assuming' not found for invocant of class 'Any'␤ in block <anon> at /tmp/6__8CGzj6s:1␤ in <anon> at /tmp/6__8CGzj6s:1␤»
[Coke] is .assuming also gone?
jnthn No, assuming is there
But A::b is (correctly) not
The method has to be decalred "our" for that to work. 19:44
[Coke] rakudo: class A { our method b { 'b' } }; my $a = A.new; my $b = &A::b.assuming($a); $b()
p6eval rakudo ce15be: ( no output )
[Coke] k.
jnthn++
rakudo: my @t; for < a b > { @t.push( sub { $OUTER::_ } ) }; say $_() for @t 19:46
p6eval rakudo ce15be: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in block <anon> at /tmp/3c0i82rwTB:1␤ in method reify at src/gen/CORE.setting:3752␤ in method reify at src/gen/CORE.setting:3657␤ in method reify at src/gen/CORE.setting:3657␤ in method gimme at src/…
[Coke] rakudo: { say $OUTER::_ }
p6eval rakudo ce15be: OUTPUT«Any()␤»
jnthn OUTER NYI
jnthn should do that one...
[Coke] it used to NPAE 19:47
TimToady
.oO(National Party of Automotive Engineers)
19:48
[Coke] Is it a legitimate problem that we cannot run perl6 outside of the build dir if it's not installed? There is a comment on #68636 about this, paraphrased, "what if a user is trying to use rakudo and there's a system parrot they don't have access to?" ... I don't think this is our problem.
we've made it very easy for them to build their own parrot. 19:49
(and install it!)
[Coke] comments on the ticket, cc's the list, and will close-if-warnocked. 19:54
masak [Coke]++
[Coke] rakudo: my %h; say %h.WHAT 19:55
p6eval rakudo ce15be: OUTPUT«Hash()␤»
[Coke] rakudo: my %h; say %h.WHENCE
p6eval rakudo ce15be: OUTPUT«Method 'WHENCE' not found for invocant of class 'Hash'␤ in block <anon> at /tmp/5OnJ5IBAie:1␤ in <anon> at /tmp/5OnJ5IBAie:1␤»
[Coke] ok. Looking at rt.perl.org/rt3/Ticket/Display.html?id=64928, it closes with a reference to WHENCE. the WHAT bit seems to be covered already; can someone write me some code that tests what pmichaud is saying there? 19:58
19:59 Limbic_Region left
[Coke] rakudo: sub foo($v, $w?, $x?, $y?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,,3,); 19:59
p6eval rakudo ce15be: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤1|3||␤»
[Coke] nom: say 720-81 20:03
p6eval nom ce15be: OUTPUT«639␤»
20:06 gbacon joined, trexy left, gbacon left 20:07 donri joined
[Coke] be nice to get the total number down under 700, even though the "total" number is. 20:08
20:10 GlitchMr42 left 20:11 wk joined 20:13 mj41 left 20:15 icwiener joined 20:19 mkramer1 joined 20:21 silug left 20:38 mkramer1 left 20:46 f00li5h left 20:47 f00li5h joined
masak heh, Perl 5 hasn't even renamed their "system" to "run" yet, and we're already on "shell" :P 20:57
tadzik :P 20:58
diakopter php has exec and shell_exec
tadzik and their print is still just say without a newline!
diakopter as I learned earlier this week while doing some php.
tadzik *snicker*
diakopter SCNR always reminds me of *snicker* 20:59
tadzik same here
it's like a square-rectangle situation
masak diakopter: me too!
tadzik: how is it like a square-rectangle situation? 21:00
flussence hey, php's print isn't just say without a newline, it's also echo with a return value!
diakopter I think tadzik was still talking about p5 there
flussence (and echo is also a "language construct", which means "we can't be bothered parsing this properly so you can't use it in places where a function call would work"...) 21:01
tadzik no, I meant snicker-scnr
diakopter heh, I meant your "and your print ..." line
*"and their print"
tadzik as in, where you say "SCNR", snicker would be appliable too. Where you say *snicker*, SCNR not neceserilly would be
diakopter errors' commedy
LOL 21:02
errors' comedy
diakopter gets it
sorear good * #perl6 21:03
diakopter HOW
tadzik HOWGH, sorear 21:04
masak tadzik: oh, so you meant it's a superset-subset relationship?
tadzik masak: yes, exactly
phenny: "to tak jak z prostokątem i kwadratem"?
phenny tadzik: The id to en translation failed, sorry!
tadzik phenny: pl "to tak jak z prostokątem i kwadratem"? 21:05
phenny tadzik: "it's like a rectangle and square" (pl to en, translate.google.com)
masak sorear: oh hai -- please apply my humble patch at gist.github.com/1288000
diakopter masak: no ocmmit bit?
masak haha, prostokątem
diakopter: nope.
tadzik: "kąt" is "angle"? 21:06
tadzik: and "prosto" is, hm, "straight"?
tadzik lols when imagining masak as an elegant gentleman, in a hat, suit, a monocle, sitting there with a cup-o wine saying "prostokątem" and giggling 21:07
masak well, I've taken off my hat...
tadzik masak: exactly (translations)
masak and they say Polish is hard! 21:08
tadzik wcale nie jest :)
now say "Brzęczyszczykiewicz"
masak I managed it, but it took more than three seconds. 21:09
tadzik ;)
anyway, you are capable, I even taught you the "tą" and "tę" difference
masak oh yes.
tadzik I have a lot of fun correcting proffesors at lectures all the time
masak which one was the biernik again?
tadzik
masak ah, right. 21:10
so I thought.
21:10 MayDaniel left
masak tadzik: you just reminded me of blackouts in Białowieża :) 21:11
tadzik blackouts?
masak as in, no electricity.
tadzik oh, right :)
masak my mind is very situational. topics remind me of the setting the discussion took place in. 21:12
tadzik since I'm living in the Big City I'm not so familiar with blackouts anymore
21:12 bluescreen10 left
tadzik I thought we discussed that one on the bus 21:12
masak we did, too. 21:13
sorear masak: are you trying to tell me you don't have a commit bit yet? fixed.
masak \o/
sorear tadzik: apparently Big City is not located in California.
masak crosses out "Perl 6 implementor" on his business card and writes "haz commit bit to all major Perl 6 implementations" 21:14
sorear "and some minor"
masak no, no minor ones :)
tadzik sorear: nope, but the small town I used to live in is like 8 kilometers outside of Warsaw, but it has a different power supply, and goes blacked out all the time
masak sorear: to be fair, you Californians seem to have a thing for recurring blackouts. 21:15
sorear masak: you lost your yapsi bit?
masak no, just trying to pretend Yapsi isn't a minor implementation...
not doing to well, I see.
too* 21:16
sorear tadzik: I live in a small town with 57k residents and 1-2 yearly blackouts
tadzik oh, 1-2 yearly blackouts is nothign
they're like weekly in Izabelin
sorear yeah, I have to keep in mind that 99% uptime is still good
tadzik I mean, they think that if they turn off the power for one second on 1 AM then nobody would notice 21:17
sorear supposes 57k is a huge city in eastern europe
tadzik Warsaw is 1 720 398
sorear: not really, now as I look at various statistics about Polish cities 21:18
I'm trying to find something comparable that I've been in 21:19
erm, been to
diakopter niecza: my &foo = { say 66 }; BEGIN { foo }; &foo = { say 55 } 21:22
p6eval niecza v10-46-gb99829c: OUTPUT«␤Unhandled Exception: Unable to resolve method postcircumfix:<( )> in class Any␤ at /tmp/1FOlX0sMRs line 1 (MAIN C2_ANON @ 1) ␤ at line 0 (ExitRunloop @ 0) ␤ at line 0 (boot-MAIN @ 0) ␤ at line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/boot/lib/…
jnthn That assignment isn't at compile time. 21:23
(so it's correct that it doesn't say 66)
diakopter niecza: { BEGIN { say 44 } }; BEGIN { say 55 } 21:27
p6eval niecza v10-46-gb99829c: OUTPUT«44␤55␤»
masak niecza: BEGIN { END { say 3 }; say 1 }; say 2 21:31
p6eval niecza v10-46-gb99829c: OUTPUT«1␤2␤»
masak sorear: ^^
21:31 icwiener left, icwiener joined 21:32 saaki left
jnthn nom: BEGIN { END { say 3 }; say 1 }; say 2 # *hope* this works... 21:33
p6eval nom ce15be: OUTPUT«1␤2␤3␤»
jnthn phew
diakopter why should that END occur after the say 2 ? 21:34
doesn't it mean END of that block?
jnthn END is "end of program"
benabik nom: BEGIN { LEAVE { say 2 }; say 1 }; say 2
p6eval nom ce15be: OUTPUT«===SORRY!===␤LEAVE phaser not yet implemented at line 1, near "; say 1 };"␤»
jnthn LEAVE is more "end of that block"
benabik Awh.
diakopter ah
jnthn benabik: mls++ is working on that...I should review his patch, when I'm less exhausted than I am today 21:35
masak oh, you too, eh?
jnthn Teaching does that to me.
Especially when it's first time through with a class. 21:36
Hope to have a few optimizer branch merge shaped tuits tomorrow :)
sorear masak: END isn't really implemented in niecza... neither is BEGIN for that matter. :) 21:38
21:44 y3llow_ joined, pothos_ joined
masak heh. 21:45
wk sorear: in Estonia we have 47 cities and 3 are bigger than yours :)
21:46 y3llow left, y3llow_ is now known as y3llow, pothos left, pothos_ is now known as pothos
tadzik :P 21:46
21:59 saaki joined
masak wk: Oh, sa oled Eestist? 22:01
wk masak: Jah, lisaks Perlile valdad Sa eesti keelt ka? 22:03
masak ei :) 22:05
wk masak: how sad :) 22:06
masak Minu vanaisa oli Eestist, kuigi.
pmurias sorear: what's the state of the serializer branch? 22:07
wk masak: your name recalls Estonian
masak correct. 22:08
wk wk: but could be swedish too (as few as i know swedish names)
masak no, it's Estonian.
mee saak :) 22:09
wk masak: like 'honey harvest'?
masak so I'm told. 22:11
wk i did not see it this way
*saw
masak well, it's not certain that that's where it comes from. 22:12
wk still, it has a sweet story in
masak :P
22:13 trexy joined
sorear o/ trexy 22:14
pmurias: it can compile the setting and has most of the code in place to serialize it, but not all 22:15
wk like Hemingway said: Estonian in every harbor :) 22:17
22:19 silug joined
sorear I wonder if the instantiation cache for roles ought to be part of the serialized state 22:26
i.e. my ($x, $y); BEGIN $x = Foo[Int]; $y = Foo[Int]; say $x === $y 22:27
I'm leaning to "no"
22:28 Holy_Cow left 22:32 am0c joined
pmurias sorear: why not? 22:40
22:40 carlin left 22:43 Exodist left 23:01 pmurias left
masak 'night, libikad. 23:08
23:16 mkramer joined 23:17 preflex_ joined 23:18 preflex left, preflex_ is now known as preflex 23:25 tyatpi_ left 23:30 djanatyn` is now known as djanatyn 23:32 Exodist joined 23:34 Chillance left 23:48 uasi joined