»ö« 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.
takadonet1 ping * 00:05
TimToady Error: can't ping * without root privs 00:06
takadonet1 sudo ping *
TimToady pong
takadonet1 TimToady: how are you sir? 00:08
TimToady my wrist has improved to the point it doesn't feel like my hand is gonna fall off just yet 00:11
takadonet1 TimToady: Good to hear. 00:12
TimToady that too 00:13
I've been wearing earplugs to keep it that way :)
TimToady has been tearing siding off his house, hence the connection...
takadonet1 hehe
sjohnson wrists hurt from all that perl hacking 00:18
sorear good * #perl6 00:21
takadonet1 sorear: yo yo ! 00:22
uvtc TimToady and sjohnson: just to chime in about the wrist pain -- if it's related to possible RSI, what's helped me greatly is one of these kinesis-ergo.com/contoured.htm 01:13
along with a trackpad mounted in the middle.
uvtc I think I actually emailed TimToady a long time ago about it actually. (I've got no connection with the company other than buying a couple of them.) 01:14
Most important was to have it low enough (ex. on your lap) so your wrists can hangdown just a bit. Anyway, hth. 01:16
benabik I used a Kinesis for a long time, they're very nice. 01:47
Tene uvtc: I've been curious about trying one of those.
uvtc Tene: they're pretty amazingly comfortable. One possible drawback is that they have only a tiny rubber chicklet Esc key (along with the F-keys). 01:57
When using vim, I used ^[ in place of Esc though, and it was fine.
uvtc The keys though to avoiding hand pain is to have it low (as I mentioned), and also the use of a trackpad so you can avoid touching a mouse. 02:00
benabik I used a Kinesis and a trackball. Worked lovely. then I stopped using a desktop. 02:04
TimToady my problem is not with keyboards--it's with crowbars 02:08
uvtc benabik: I'm on a laptop. Using the Contoured/Advantage kybd externally (via USB). Hardly ever touch the built-in keyboard. Trouble is, I'm pretty stranded if I need to work somewhere and haven't brought the keyboard with me.
benabik TimToady: Don't hit your wrist with a crowbar. That's bad.
uvtc: Since I don't have a desk dedicated to my computer, I don't have a good place to use the keyboard. 02:09
uvtc benabik: Ah. Mine generally either stays on my lap, or on top of the laptop when it's folded closed. If I had no room, I'd probably try to figure a way of hanging it on a wall somewhere. :) 02:11
benabik uvtc: Mine also has a... problem. I bought it back when they had lifetime support, but proving that is always an issue, since I can no longer read the serial number.
uvtc TimToady: I'd suggest that typing with a crowbar is probably suboptimal.
Tene I spend most of my time with my feet up on my desk, leaning back in my chair, with the keyboard in my lap.
uvtc TimToady: ;) 02:12
Tene It's not great, but it's the most comfortable I've been able to manage.
benabik Mine is also PS2 interface, which sucks.
Tene Sitting like my co-workers do, straight up in my chair with keyboard on the desk and my legs hanging down on the floor gets very uncomfortable for me pretty quickly.
uvtc benabik: Ah, yeah, the newer ones are USB. I've got an older PS2 model as well as a USB. 02:13
Tene The best I can do similar to that is with my legs folded under me, up on the chair, but then I lose circulation, so when I have to sit like that, I alternate legs back and forth between up and down, which gets pretty annoying to need to do. 02:13
uvtc Tene: I've used a footstool in the past to help level things out. Putting the feet up once in a while sounds good for circulation. 02:14
flussence_ I got a new mouse today... and it ended up having terrible surface detection and sufficiently high friction on the loose slide-out keyboard thing on my desk as to be completely useless. 02:15
(guess I need a better desk)
uvtc flussence_: the trackpad is less accurate and slower than the mouse, but it's saved my mouse-button finger/hand. 02:16
Tene at home I've got this couch, and I sit on the extended section with my legs up. www.ikea.com/us/en/images/products/...824_S4.JPG 02:17
... I should probably ask a doctor to look into circulation problems or something someday. If I could be comfortable with my legs hanging down, that would be very convenient. 02:18
benabik I had a pretty high accuracy trackball. Had a cutout on the side that let me hold it with finger and thumb. 02:19
uvtc Tene: you might try the footstool idea (along with a regular chair) to see if it works for you.
Tene uvtc: ah, you mean a small stool underneath my desk? I hadn't considered that...
that might work. :) 02:20
I also should try a standing desk someday; I expect to hate it, but it's worth trying.
sorear good * #perl6 02:35
colomon \o 02:39
sorear o/ colomon 02:52
daemon hey all I am new to perl6 even though I do use perl 5 quite alot .. there is parrot and rukudo... if I understand this correctly they are the current compiles for perl6; which one is turnning out to be the more popular 04:32
compilers*
Eevee parrot is a virtual machine that rakudo runs on 04:34
daemon go it
just read it in ports descr
Eevee parrot doesn't understand perl 6 and rakudo doesn't work without parrot 04:35
sorear rakudo is a compiler which turns Perl 6 into Parrot bytecode 04:48
Parrot is a VM which Rakudo's output runs on
sorear daemon: do you follow? 05:00
daemon sorear, certainly do 05:04
its like erlang and BEAM
the language runs in a virtualized enviromen
t
sorear Almost. 05:05
Parrot is designed to be a reusable component (there is a pretty good Lua compiler, and several other things in various states of completeness)
And Perl 6 has several implementations, only one of which targets Parrot. 05:06
sufrostico hello! dumb question... arew you using .pl as perl6 file extension or the traditional .pl ?? 05:22
tadzik usually .pl
sufrostico I mean, .p6 or .pl
tadzik or .pl6 :)
sufrostico nice 05:23
thanks 05:27
tadzik you're welcome 05:39
dalek ecza: 3074e34 | sorear++ | / (6 files):
[mmd] Compiler support for multisubs
06:30
dalek ecza: c464669 | sorear++ | / (2 files):
[mmd] Finish "multi sub"s
06:48
dalek ecza: f40836b | sorear++ | / (2 files):
[mmd] Fixes for "my multi regex"
07:07
sorear -> sleep 07:08
dalek ast: 2b4b33c | moritz++ | S03-operators/range-basic.t:
[range-basic.t] fudge for niecza
07:56
moritz phenny: tell sorear to run t/spec/S06-multi/type-based.t in niecza - 'Unhandled exception: Unable to resolve method ast in class Any' at /home/moritz/p6/niecza/src/NieczaActions.pm6 line 212 (NieczaActions NieczaActions.mangle_longname @ 5) (seems to be triggered by param parsing code) 07:59
phenny moritz: I'll pass that on when sorear is around.
moritz phenny: tell sorear that bug seems to prevent compilation of most multi-related test files 08:00
phenny moritz: I'll pass that on when sorear is around.
dalek ecza: bfe938e | moritz++ | t/spectest.data:
7 new passing test files
08:52
takadonet morning all 11:59
tadzik good morning #perl6 14:19
PerlJam gutenMorgen tadzik 14:21
moritz oh hai 14:22
last call for GSOC proposals: about 4 hours left until submission deadline
tadzik yeah, 4;38
tadzik is now after physics exam, can work on GSoC proposal 14:23
PerlJam tadzik: no more spherical cows of uniform density!
tadzik ho, what? :) 14:24
PerlJam What kind of physics were you taking?
moritz PerlJam: nono, phycisists use point cows (ie with zero volume but finite mass) in most models :-) 14:25
tadzik Basics of Physics, it's what I failed last semester :\
moritz is that mechanics?
PerlJam moritz: yeah, but they always have ridiculous simplifying assumptions :)
moritz PerlJam: that's because the real world is too complicated to approach it without such simplifications... and it often turns out that even the ridicolous simplifications can be quite useful 14:26
tadzik moritz: yeah, that exam was mainly mechanics. I don't know the english equivalent names though. Dynamics? The changing mass? Vibrations, as in E = 0.5 * kx^2, this kind of stuff 14:28
PerlJam I don't need proselytizing :)
tadzik I don't think that last one is about vibrations
phenny: "drgania"?
phenny tadzik: "Vibration" (pl to en, translate.google.com)
tadzik or maybe
anyway, it went quite well 14:29
coming soon: magnetism, electostatic stuff, Faradays, Gausses etc
PerlJam tadzik: btw, you know of Kahn Academy? And ocw.mit.edu/courses/physics/? And other such resources? 14:32
tadzik PerlJam: never heard of it 14:41
PerlJam tadzik: www.khanacademy.org/ 14:42
tadzik oh, that looks cool
PerlJam I've been trying out Khan Academy on my kids and it works very well
tadzik woow 14:43
awesome
Thank you PerlJam 14:44
moritz tadzik: mechanics usually implies dynamics (and only the engineers study statics :-) 15:26
jaffa4 hi 15:37
jaffa4 coud not find compiler module for the language perl6 16:05
sbp jaffa4: rakudo.org/ is a perl6 compiler to parrot bytecode 16:07
not sure what you mean by module though. module of what system?
jaffa4 I have something like ahat: perl d:\m\perlscripts\time.pl parrot -y -v -r -L C:\parrot-3.2.0\lib\parrot\languages\rakudo\ D:\m\p6\pirout.pbc 16:09
This is an error message given back by parrot. 16:10
moritz how did you build and install rakudo? 16:11
jaffa4 downloaded the binaries
jaffa4 the win32 binaries 16:11
perl.exe works
just I want to run the generated pbc file 16:12
to see how fast an example in itself
moritz and did you install it?
jaffa4 ran two installers
moritz what two installers?
jaffa4 for parrot and rakudo, into the same directory
moritz be specific please 16:13
and how did you generate the .pbc?
jaffa4 setup-parrot-3.2.0.exe 16:14
setup-parrot-3.2.0.exe-raukdo-39.exe
setup-parrot-3.2.0.exe-rakudo-39.exe
jaffa4 THis line perl6 --target=pir -oD:\m\p6\pirout.pir D:\m\p6\array.p6 16:14
and parrot -L C:\parrot-3.2.0\lib\parrot\languages\rakudo\ -o D:\m\p6\pirout.pbc D:\m\p6\pirout.pir 16:15
now do you know everything, moritz?
moritz jaffa4: of course I don't know everything 16:16
jaffa4 do you have all information what you need now?
moritz I just tried the equivalent on linux, and it works there
jaffa4 same flags?
PerlJam jaffa4: What directory are you in when you execute the line that's giving your grief? 16:18
s/your/you/
moritz no, i left out all the options to parrot except -o
jaffa4 in c:\parrot-3.2.0\bin 16:19
moritz and it works for me outside of the install location too 16:20
PerlJam yeah. I dunno
perhaps the windows installer didn't install everything?
jaffa4 possible 16:21
WHat is a compiler module?
How can I recognise it?
WHat is its extension?
moritz I guess it's just a .pbc file named languages/$lang/$lang.pbc in the parrot installation 16:23
PerlJam jaffa4: does it work if you run it from whatever directory has the perl6.pbc file? 16:24
jaffa4 no, it does not. 16:26
ok, I am rebuilding it from the source 16:30
sorear good * #perl6 16:50
phenny sorear: 07:59Z <moritz> tell sorear to run t/spec/S06-multi/type-based.t in niecza - 'Unhandled exception: Unable to resolve method ast in class Any' at /home/moritz/p6/niecza/src/NieczaActions.pm6 line 212 (NieczaActions NieczaActions.mangle_longname @ 5) (seems to be triggered by param parsing code)
sorear: 08:00Z <moritz> tell sorear that bug seems to prevent compilation of most multi-related test files
sorear is jaffa4 |newbie|? 16:53
moritz seems like 16:54
.oO( the eternal newbie )
sbp shame that "newbie" as a word has so many negative connotations these days 16:56
sorear jaffa4: Don't try to benchmark Rakudo, it will only end in tears.
sbp: not here!
sbp yep, I know. perl6 could do with as many as it can get!
but it's like hacker amongst enthusiasts vs. use in the media
creates this ever-so-slightly-annoying usage rift... 16:57
jaffa4 you are everywhere, you are omnipotent.
sorear hugs sbp
jaffa4 sorear, have you cried a lot?
WHat is your experience? 16:58
sorear rakudo was never designed for runtime performance 16:59
jaffa4 I knew about compile time performance
not even run-time performance?
WHat about nietze?
pmurias * niecza 17:00
jaffa4 niecza: print 4*4
p6eval niecza v4-32-gbfe938e: OUTPUT«16»
moritz it has a horrible startup time, but it runs quite fast 17:01
jaffa4 niecza: my $g= print $g*$g
p6eval niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: Unable to resolve method Numeric in class Any␤ at line 0 (ExitRunloop @ 0)␤ at /tmp/yhCmgRZflt line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/CORE.setting line 1277 (CORE C535_ANON @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line
..1278 (CORE modul…
jaffa4 niecza: my $g=3; print $g*$g
p6eval niecza v4-32-gbfe938e: OUTPUT«9»
jaffa4 IS it possible to avoid the startup time? 17:02
niecza: 4 ==> my $g;
p6eval niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: Feed ops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line 1180 (CORE infix:<==>> @ 2)␤ at /tmp/33RZyULE2H line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/CORE.setting line
..1277 (CORE C…
pmurias sorear: if niecza was kept in a persistent process what would the startup performance be?
jaffa4 perl6: 4 ==> my $g; 17:03
p6eval niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: Feed ops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line 1180 (CORE infix:<==>> @ 2)␤ at /tmp/sJQaOE4Lzd line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/CORE.setting line 17:04
..1277 (CORE C…
..rakudo 4bf132: OUTPUT«Method 'push' not found for invocant of class ''␤ in main program body at line 22:/tmp/kXcwb31Ppc␤»
..pugs: OUTPUT«*** ␤ Unexpected " my"␤ at /tmp/iTY57VJgJz line 1, column 6␤»
jaffa4 perl6: my $g;4 ==> $g;
p6eval pugs: OUTPUT«*** ␤ Unexpected " $g"␤ at /tmp/oCHckmqV7d line 1, column 12␤»
..niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: Feed ops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line 1180 (CORE infix:<==>> @ 2)␤ at /tmp/34csMjAIsk line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/CORE.setting
..line 1277 (CORE C…
..rakudo 4bf132: OUTPUT«Method 'push' not found for invocant of class ''␤ in main program body at line 22:/tmp/5LdWaM6ovc␤»
jaffa4 well, I have different error now 17:12
Could not load oplib `perl6_ops'
moritz did 'make test' succeed? 17:13
jaffa4 yes
colomon rakudo: 4 ==> my @g 17:15
p6eval rakudo 4bf132: ( no output )
colomon rakudo: 4 ==> my @g; say :@g.perl 17:16
p6eval rakudo 4bf132: OUTPUT«"g" => [4]␤»
jaffa4 rakudo: 4 ==> print 17:17
p6eval rakudo 4bf132: OUTPUT«4»
sorear jaffa4: did you move Perl6 after compiling it? 17:24
jaffa4 no
sorear jaffa4: niecza has limited support for avoiding compilation time; try "run\Niecza.exe -c -e 'say "Hello, world"'" and then "obj\MAIN.exe" 17:26
jaffa4 what do you mean limited support? 17:28
sorear well if you want to save the output you need to copy files manually 17:30
jaffa4 what output? 17:32
sorear obj\MAIN.exe, obj\CORE.dll, obj\Kernel.dll, obj\CrossDomainReceiver.dll, I think those are the only ones you need to save 17:33
unless you're using modules
"output" = the .exe and .dll files 17:34
jaffa4 ok
sorear they get overwritten when you run niecza, so if you want to compile an app, you need to save them
jaffa4 you mean there are generated
and then there is no need for compilation
sorear niecza: multi foo(5) { } 17:37
p6eval niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: Unable to resolve method ast in class Any␤ at /home/p6eval/niecza/src/NieczaActions.pm6 line 212 (NieczaActions NieczaActions.mangle_longname @ 5)␤ at /home/p6eval/niecza/src/NieczaActions.pm6 line 207 (NieczaActions NieczaActions.simple_longname
..@ 2)␤ at /h…
pmurias sorear: do you know haskell? 17:39
sorear moritz: that's your type-based.t problem ^^ 17:52
pmurias: yes
moritz niecza: multi foo(Int $ where 5 ) { } 17:53
p6eval niecza v4-32-gbfe938e: OUTPUT«===SORRY!===␤␤Any()In parameter declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/u8IuoZwH7U line 1:␤------> multi foo(Int⏏ $ where 5 ) { }␤␤Parse failed␤␤»
sorear tries to find the Rakudo code for parsing signatues
moritz niecza: multi foo(Int $x where 5) { } 17:54
p6eval niecza v4-32-gbfe938e: OUTPUT«===SORRY!===␤␤Any()In parameter declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/Bfpg2i91fk line 1:␤------> multi foo(Int⏏ $x where 5) { }␤␤Parse failed␤␤»
moritz iirc rakudo stole from STD.pm
niecza: multi foo(Int $x) { }
p6eval niecza v4-32-gbfe938e: OUTPUT«===SORRY!===␤␤Any()In parameter declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/Zv_AOQdF3d line 1:␤------> multi foo(Int⏏ $x) { }␤␤Parse failed␤␤»
sorear niecza doesn't have an "Int" type yet
moritz oh.
sorear "where" is also NYI
moritz niecza: say 3.WHAT
p6eval niecza v4-32-gbfe938e: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at Niecza.CtxStrNativeNum2Str.Get (Niecza.Variable obj) [0x00000] in <filename unknown>:0 ␤ at CORE.C259_List_2Ejoin (Niecza.Frame ) [0x00000] in <filename unknown>:0
sorear as is ::T $x, which I don't even understand how it works
p6eval ..␤ at Niecza…
sorear niecza: say 3.WHAT === Num 17:55
p6eval niecza v4-32-gbfe938e: OUTPUT«Bool::True␤»
moritz ::T $x is basically my ::T := $x.WHAT;
sorear there are ripple effects - most of the rest of the system can't handle typenames being variables 17:56
sorear the simplest case being something like (::T $x, T $y) -- how does MMD see the type of $y? 17:56
jaffa4 perl6: ms:g/ (\S+:) <rocks> / 17:57
p6eval niecza v4-32-gbfe938e: OUTPUT«===SORRY!===␤␤Unsupported form of term:name at /tmp/6uX5qmOX2s line 1:␤------> ms:g⏏/ (\S+:) <rocks> /␤␤Any()Bogus term at /tmp/6uX5qmOX2s line 1:␤------> ms:g/ (\S+⏏:) <rocks> /␤␤Undeclared name:␤ 'S' used at
..line Any()1␤Unde…
..rakudo 4bf132: OUTPUT«===SORRY!===␤Adverb 'g' not allowed on m at line 22, near ""␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
jaffa4 perl6: "rrrr" ~~ ms:g/ (\S+:) <rocks> / 17:58
p6eval niecza v4-32-gbfe938e: OUTPUT«===SORRY!===␤␤Unsupported form of term:name at /tmp/HeXHGe8ruo line 1:␤------> "rrrr" ~~ ms:g⏏/ (\S+:) <rocks> /␤␤Any()Bogus term at /tmp/HeXHGe8ruo line 1:␤------> "rrrr" ~~ ms:g/ (\S+⏏:) <rocks> /␤␤Undeclared
..name:␤ 'S' used…
..rakudo 4bf132: OUTPUT«===SORRY!===␤Adverb 'g' not allowed on m at line 22, near ""␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
sorear the error message should make it clear. ms:g is not going to work. 17:59
sorear to really benefit from MMD, niecza will need roles and the numeric type ladder soon 18:01
moritz i guess that the lack of Int type prevents most MMD tests in the spectest suite to run 18:02
because most people consider it (or at leat a faked, non-bigint version of it) "easy" for a Perl 6 compiler
DWSR Is P6 production ready? 18:06
moritz "no", for most values of "production" 18:07
DWSR Cool.
iirc, 6 is supposed to be getting some OO enhancements, right?
For some reason, the site is not working for me. 18:08
So I figured I'd ask here
moritz which one? perl6.org?
yes, perl 6 has a pretty cool object model, and rakudo implements rather big parts of it
it does classes, roles, parametric roles, introspection, class construction through the metaclass 18:09
DWSR Huzzah
moritz multi method
PerlJam DWSR: moritz meant to say, "P6 is production ready for some small values of 'production'" :-) 18:10
moritz rakudo: role B { method c() { say "hello DWSR" } }; class A does B { method b() { self.c } }; A.new.b
p6eval rakudo 4bf132: OUTPUT«hello DWSR␤» 18:11
PerlJam fills moritz's glass halfway to empty
moritz rakudo: class A { has $.a = 3; has $.b = 5; has $.c = $.a * $.b }; say A.new(a => 2).c 18:12
p6eval rakudo 4bf132: OUTPUT«10␤»
jaffa4 introspection?
moritz this feature is quite nice
DWSR Anyway, nifty.
Thanks for the info.
moritz you're welcome
tadzik moritz: I've updated my proposal to consider the exams, would you mind taking a critic look at it before I update it on Melange? 18:15
moritz tadzik: URL?
sorear niecza: my token foo:abc { <[a..z]>+ }; my token foo:num { \d+ }; say "--abc--123de----".comb(/<&foo>/).perl
p6eval niecza v4-32-gbfe938e: OUTPUT«["abc", "123", "de"]␤»
sorear how much of a feature is this? 18:16
moritz wow, that's ncie
sorear++
tadzik moritz: gist.github.com/892249 18:16
looks like Github can't do gist revision diffs (yet)
moritz: wklej.org/id/508809/ the diff alone 18:17
moritz tadzik: looks fine 18:18
(I've cloned the gist locally and ran 'git show' there :-)
tadzik yeah, sane behaviour :) 18:20
ok, updating
tadzik done, whew 18:21
dalek ecza: 58c0836 | pmurias++ | hoopl/ (2 files):
[hoopl] seperate loading the optree into a seperate module
18:35
ecza: bfeeb72 | sorear++ | src/NieczaFrontendSTD.pm6:
Prevent redundant categorical generation in CORE (speeds up CORE parse by 50%)
18:41
ecza: a740a32 | sorear++ | src/niecza:
Refactor categoricals allowing user-defined postcircumfixes
pmurias looking up an lexical is side-effect free? 18:49
sorear pmurias: depends on what you mean by "looking up" 18:53
tadzik sorear: remember the locale issue? 18:54
my dot being comma, and so
sorear tadzik: oh yeah
dalek ecza: 290b117 | sorear++ | src/niecza:
Implement user-defined circumfix operators
18:55
pmurias sorear: scopedlex nam op 18:56
sorear pmurias: with 1 arg it's side effect free 18:57
tadzik sorear: is it fixable inside niecza, or the user involvement will always be necessary?
sorear tadzik: it is fixable 18:58
pmurias tadzik: you use polish locale? 19:02
tadzik pmurias: aye 19:07
I'm still looking for a "let me type ą in urxvt but don't translate apps" set of variables :)
sorear tadzik: how do you type that in urxvt? 19:08
tadzik sorear: right alt + a
it's in my keyboard layout, which is a modified colemak
pmurias tadzik: i have en_US.UTF-8 for everything 19:09
and i have a polish keyboard layout
tadzik hmm
heh, somebody submitted a GSoC proposal 150 seconds before the deadline 19:10
sorear tadzik: how do you set keyboard layouts like that?
tadzik sorear: `setxkbmap colemakpl`, having colemakpl in my /usr/share/somewhere 19:10
tadzik sorear: btw, the backtrace if full of at /home/stefan/rel/niecza-reboot/src/STD.pm6 line 812 (STD STD.dec_number @ 32) 19:17
is that something hard-coded? 19:18
sorear what, the path? 19:20
flussence_ ("ą" is AltGr + ['+', 'a'] on my en_GB layout; all the symbol keys are assigned compose functions. Never seen it documented anywhere though.) 19:21
sorear flussence_: what is the press/release sequence for that? 19:22
flussence_ hold altgr+shift, press the =/+ key, press a 19:23
sorear does nothing in en_US :( 19:24
flussence_ maybe it's a case of different keyboard layouts' code written by different people... 19:25
tadzik sorear: yeah 19:26
AltGr with + is × for me 19:27
I just hold AltGr, then press a
sorear tadzik: the paths for backtraces are compiled in at compile time, so it's telling you where I had STD.pm6 when I generated niecza-4.zip
tadzik sorear: what happens if you do `setxkbmap pl` before? 19:28
sorear: I see
sorear whee, 'LC_ALL=pl_PL' breaks niecza
flussence_ even more annoying is that gtk has ctrl+shift+u, urxvt has something that I can't figure out but seems to be an extension, and Qt apparently assigns unused altgr combinations randomly.
sorear: thousand/decimal separator bug? 19:29
sorear flussence_: yeah tadzik's been having decimal separator issues
I can now reproduce it
flussence_: (urxvt) hold down control-shift and type, say, 3080 19:30
tadzik flussence_: yeah, I don't know if it's possible to use emacs-style keyboard shortcuts in Qt 19:31
sorear: oh, ideograms 19:32
pmurias sorear: when manipulating nam if i want to change foo(bar()) into tmp=bar() and foo(tmp) i should use let? 19:35
sorear yes 19:36
sorear for hoopl it would probably be better to turn nam into register code in the parser 19:36
hoopl looks like it's really designed for register/SSA code
the fact that nam uses tree code is mostly because it's very hard to convert SSA into compact code for stack machines like the JVM and CLR 19:37
pmurias by parser you mean the niecza-hoopl loader or part of niecza? 19:38
sorear: i'm converting the tree form into register form as the tree form seems hard to do optimalisations on 19:40
i won't do SSA as it was invented in opposition to dataflow analysis 19:41
pmurias and it's mainly usefull for doing simple optimalisations fast (like a C compiler would do) 19:41
i implemented the transformation to SSA in mildew once
sorear hrm, en_GB layout *is* completely different... 19:46
pmurias sorear: it's slightly different 19:48
but really annoying to someone used to the us one 19:49
s/to/for/
sorear the letters are the same
benabik sorear: But the real question is: is all the punctuation needed for perl the same? 19:50
sorear benabik: no
benabik Then it's really annoying. :)
jnthn can't Perl on a US keyboard. It's all wrong. :P 19:52
(I suspect that the same feeling would occur the other way around.) 19:53
sorear After today I won't be able to either. :D
jnthn :)
sorear: Oh?
sorear: Switching keyboard layout?
sorear I kid, but only slightly. en_GB can get guillemots without compose-key trickery 19:54
jnthn :) 19:57
masak oh hai, zebras 20:03
tadzik oh hai maska
sorear hello masaka!
tadzik . o O ( hello roreas and datzik ) 20:04
jnthn Videl som masaka dnes :) 20:05
pmurias sorear: if i convert nam to a register based form how should i turn it back to something that can be compiled to .net efficently? 20:08
sorear pmurias: oh, I thought hoopl was something totally separate 20:10
hmm
I think the only good way is to map registers to .net locals
niecza: my token foo:abc { <[a..z]>+ }; my token foo:num { \d+ }; say "--abc--123de----".comb(/<&foo>/).perl # for masak
p6eval niecza v4-36-g290b117: OUTPUT«["abc", "123", "de"]␤» 20:11
sorear TimToady: Under what circumstances should Str/Num conversions be locale sensitive?
masak sorear++!
pmurias sorear: totally seperate to what? 20:13
pmurias sorear: doesn't the CPS transformation stop you from using the stack much? 20:14
sorear: is using .net local variables slower or does the jit handle them efficently? 20:17
Spogg Spogg; say 42 + 8 20:19
sorear pmurias: registers which are live across cpscalls need to be spilled to the frame
perl6: say 42 + 8
p6eval pugs, rakudo 4bf132, niecza v4-36-g290b117: OUTPUT«50␤»
Spogg Spogg: say 42 + 8 20:20
perl6: say 42 + 8
p6eval pugs, rakudo 4bf132, niecza v4-36-g290b117: OUTPUT«50␤»
Spogg perl6: say 55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555 + 555555555555555555555555555555555555555555555555555555555555555555555465783213546254356452146546 20:21
p6eval rakudo 4bf132: OUTPUT«6.02556267734054e+17␤» 20:22
..pugs: OUTPUT«55555555555555555555555555555556111111111111111111111111111111111111111111111111111111111111111111111021338769101809912007702101␤»
..niecza v4-36-g290b117: OUTPUT«5.55555555555556E+127␤»
pmurias sorear: so is the .net niecza backend register based internally?
Spogg fuck 20:23
fdds
fsd
fs
df
sd
f
sd
fds
f
s
df
masak ...right. 20:24
flussence_ ooh, his ISP's abuse page specifically has an "IRC abuse" option :) 20:25
masak ooh 20:26
sorear pmurias: the .net backend is stack based, but the JIT turns it into register code 20:29
pmurias so using locals a lot would just mean the bytecode would be bigger? 20:33
sorear I think so, but it depends on how good your spiller is 20:34
the CLRBackend spiller actually reorders code in some cases to improve spill quality, it's a rather large win
eg foo($x, bar()) will delay the $x so that it doesn't have to be spilled 20:35
masak alpha: my constant preoccupation = 42; say preoccupation
p6eval alpha : OUTPUT«Malformed declaration at line 10, near "constant p"␤in Main (file <unknown>, line <unknown>)␤»
sorear perl6: my constant preoccupation = 42; say preoccupation 20:36
p6eval pugs: OUTPUT«*** ␤ Unexpected "preoccupation"␤ expecting ":" or "("␤ at /tmp/kaqNNJKdv1 line 1, column 13␤»
..rakudo 4bf132: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= 42; say "␤»
..niecza v4-36-g290b117: OUTPUT«42␤»
masak niecza++
sorear rakudo: say Parcel.list.perl 20:37
p6eval rakudo 4bf132: OUTPUT«()␤»
pmurias sorear: where in code is the spiller implemented?
sorear pmurias: the heart is in CpsOp.Primitive at line 2075 20:38
that introduces lets where needed to avoid having anything on the eval stack across a cps call 20:39
pmurias what's a zyg? 20:44
moritz a child 20:45
masak short for 'zygote'.
moritz a larryism
pmurias hates all the strange names from gimme5 20:46
masak it's a $*HIGHMESS? :P 20:47
sorear rakudo: say "abc".WHAT 20:48
p6eval rakudo 4bf132: OUTPUT«Str()␤»
dalek ecza: 36c239a | sorear++ | / (5 files):
Fix locale sensitivity of JSYNC et al, fix undef handling in contexts
21:03
tadzik yay 21:04
sorear phenny: tell TimToady does it ever make sense for 1.5 eq "1,5" in Perl 6? When should locales be honored? 21:06
phenny sorear: I'll pass that on when TimToady is around.
tadzik sorear: I'll still need to workaround the included, precompiled niecza
LC_ALL="C" make doesn't work 21:08
flussence_ export LC_ALL="C" ? 21:12
I think sometimes the var doesn't get passed to subprocesses for whatever reason...
tadzik same
and after that `locale` gives ok results
I mean, everything's "C" 21:13
flussence_ hrm
sorear tadzik: yes that won't work fully until the next precompiled release 21:15
tadzik: also the .nam files are likely corrupted from the unsuccessful attempt 21:16
this change, by itself, still requires LC_ALL=C when running the compiler 21:17
it only allows to avoid it for precompiled code
tadzik see above, it doesn't work for me
sorear ie "mono run/Niecza.exe -c test.pl; LC_ALL=pl_PL mono obj/MAIN.exe" works for me now
TimToady the point of "zyg" is to sort all then end-weight child nodes to the end of the list of hash keys 21:21
phenny TimToady: 21:06Z <sorear> tell TimToady does it ever make sense for 1.5 eq "1,5" in Perl 6? When should locales be honored?
TimToady hates locales very much
TimToady thinks locale-based calls should contain "locale" somewhere in the function names 21:23
pyrimidine happens to like 'zyg'
pyrimidine also happens to be a biologist
flussence_ likes gettext's _() for the low effort of adding it to code 21:24
sorear do you think it's reasonable to legislate that (1/2) ~~ /\x2E/ the world around?
TimToady yes, I believe in cultural imperialism to that extent 21:25
flussence_ formatting it for regional human consumption should be an extra thing, like html-encoding and stuff like that. 21:26
moritz rakudo: say chr(0x2e)
p6eval rakudo 4bf132: OUTPUT«.␤»
moritz that's what I thought :-)
TimToady at most, I think locale-based computing should be restricted to scopes that declare "use locale" 21:27
moritz ... and that doesn't need to be a core pragma :-)
flussence_ there's no shortage of external libs to format numbers, and they usually come with language translation stuff since it's not much use doing it halfway.
core stuff should do machine-readable output for that reason 21:28
TimToady note also that "123 456,78" is TTIAR :) 21:29
flussence_ or to put it another way, do it in a way that minimises the number of developers who'll want to strangle you. 21:31
sorear tadzik: looks like I can't put out a bootstrap quite that easily, I seem to have introduced a bug somewhere and the bootstrapped niecza thinks "self" is a syntax error 21:33
sorear TimToady: the way STD generates declarative prefix DFAs with 5000+ states bothers me a bit... 21:47
not sure what to do about it though
masak 'night, #perl6 22:23
dalek ecza: d9bb470 | sorear++ | test2.pl:
Add tests for custom (post)circumfixes
22:46
ecza: 3c51536 | sorear++ | / (4 files):
Update bootstrap for locale bug fix
sorear tadzik: I just had a successful build with LC_ALL=pl_PL
sorear tadzik: any luck? 22:57