Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-06-30

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:08 * cognominal notes he always ask questions when everyone is away and when he is exhausted. Not the best way for meaningful interactions.
00:13 cooper joined #perl6
00:14 lue cognominal: that line is inside a token { }, which means it doesn't backtrack.
00:15 lue nvm, I think I misread your question. <![<]> is still useful for documentation purposes, if nothing else. :)
00:16 cognominal so '<'+ eats the longest possible sequences of '+', does not backtrack, so there is any left.
00:16 cognominal ok.
00:16 cognominal thx, lue++
00:18 geekosaur wasn't ratchet broken in rakudo for a while?
00:18 geekosaur (or NYI?)
00:20 BenGoldberg joined #perl6
00:28 cognominal geekosaur, I have no idea
00:30 BenGoldberg Is it possible to run perl6 in a java applet?
00:30 dayangkun joined #perl6
00:37 ClarusCogitatio joined #perl6
00:58 ClarusCogitatio joined #perl6
01:00 Sqirrel_ joined #perl6
01:04 klapperl joined #perl6
01:05 Su-Shee_ joined #perl6
01:15 FROGGS joined #perl6
01:29 javan joined #perl6
01:30 labster joined #perl6
01:44 labster joined #perl6
02:00 labster joined #perl6
02:02 ClarusCogitatio joined #perl6
02:07 labster joined #perl6
02:16 Sqirrel joined #perl6
02:17 FROGGS joined #perl6
02:22 liztormato_ joined #perl6
02:23 liztormato_ Seems we hit something in the air. We lost one engine but are now safe on the ground at JFK
02:25 noganex_ joined #perl6
02:32 colomon_ woah
02:32 PerlJam (safe on the ground)++
02:35 BenGoldberg birds in engines -- ?
02:49 mr-foobar joined #perl6
03:11 Khisanth joined #perl6
03:14 liztormato joined #perl6
03:14 chenryn joined #perl6
03:15 liztormato Waiting for luggage and vouchers. Seems we're going to spend the night in NY
03:15 liztormato The line is long. :-(
03:16 liztormato No more flights to Europe today from JFK
03:26 khisanth_ joined #perl6
03:28 xragnar joined #perl6
03:33 hoverboard joined #perl6
04:02 kaare_ joined #perl6
04:09 Ben_Goldberg joined #perl6
04:09 xenowoolfy joined #perl6
04:30 chenryn joined #perl6
05:00 awwaiid on the REPL, is there a way to get a list of all infix: operators?
05:13 kaare_ joined #perl6
05:17 rindolf joined #perl6
05:31 pdcawley joined #perl6
05:33 moritz m: say ::.keys.grep(/infix/)
05:33 camelia rakudo-moar 77024f: OUTPUT«␤»
05:34 moritz m: say MY.keys.grep(/infix/)
05:34 camelia rakudo-moar 77024f: OUTPUT«␤»
05:34 moritz m: say OUTER.keys.grep(/infix/)
05:34 camelia rakudo-moar 77024f: OUTPUT«␤»
05:34 moritz m: say OUTER::OUTER.keys.grep(/infix/)
05:34 camelia rakudo-moar 77024f: OUTPUT«␤»
05:34 moritz m: say CORE.keys
05:34 camelia rakudo-moar 77024f: OUTPUT«␤»
05:34 moritz m: say CORE::.keys
05:34 camelia rakudo-moar 77024f: OUTPUT«%DEPRECATIONS @UNITS &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &proceed &succeed &redo &next &last &take &take-rw &return &return-rw &RETURN-PA…»
05:34 moritz m: say CORE::.keys.grep(/infix/)
05:34 camelia rakudo-moar 77024f: OUTPUT«&infix:<~~> &infix:<=:=> &infix:<eqv> &infix:<~> &infix:<x> &infix:<leg> &infix:<eq> &infix:<ne> &infix:<lt> &infix:<le> &infix:<gt> &infix:<ge> &infix:<~|> &infix:<~^> &infix:<~&> &infix:<===> &infix:<before> &infix:<after> &infix:<min> &infix:<max> &infi…»
05:34 moritz awwaiid: ^^
05:37 gfldex joined #perl6
06:10 denis_boyun_ joined #perl6
06:16 dayangkun joined #perl6
06:17 ivanshmakov joined #perl6
06:22 SamuraiJack joined #perl6
06:24 anaeem1 joined #perl6
06:25 mr-foobar joined #perl6
06:27 ivanshmakov joined #perl6
06:29 lizmat joined #perl6
06:29 SevenWolf joined #perl6
06:38 denis_boyun__ joined #perl6
06:42 telex joined #perl6
06:43 [Sno] joined #perl6
06:44 timotimo o/
06:44 nwc10 \o
06:45 woolfy joined #perl6
06:51 ribasushi joined #perl6
07:00 Akagi201 joined #perl6
07:00 igorsutton joined #perl6
07:05 darutoko joined #perl6
07:08 zakharyas joined #perl6
07:18 mr-foobar joined #perl6
07:22 sergot morning o/
07:30 virtualsue joined #perl6
07:35 timotimo panda still can't get its ecosystem connection thingie
07:35 timotimo moritz: did tadzik enable you to fix it?
07:41 timotimo i'm not sufficiently awake to actually think about this clearly, but: how do we handle situations where our commandline arguments could be "binary nonsense" and we blow up trying to parse it as utf8? how hard is it for us to switch stdin to read bufs instead of utf8 strings? IIRC outputting binary stuff is simple enough, though
07:41 timotimo also: do we do something dumb like python where if the stdout returns false for "isatty"?
07:41 timotimo a friend pointed out that an invalid utf8 string may be a valid filename
07:44 timotimo touch $(printf '\xff\xff\xff')
07:44 timotimo perl6-m -e '.say' \Xff\Xff\Xff
07:44 timotimo Unhandled exception: Malformed UTF-8 at line 1 col 1
07:44 FROGGS joined #perl6
07:45 timotimo generating a Buf instead of a Str if we encounter invalid UTF8 doesn't seem like a good fix, as that would likely break user programs a few lines later ...
07:46 timotimo and having Buf in the arguments array also sounds quite annoying
07:46 nwc10 what's the correct place to report spectest bugs? t/spec/S32-list/roll.t should be using ./perl6-m
07:46 nwc10 right now it's wrongly assuming that . is in $PATH
07:46 nwc10 (or that I'm running Windows)
07:46 salv0 joined #perl6
07:47 timotimo if we make our MAIN automatically try to decode Buf into Str when there's a Str argument, that could "work" but give the exact same situation as we have at the moment
07:47 timotimo our whole I/O shouldn't consider all filenames/paths to be valid utf8 ...
07:48 nwc10 aye, that was a mistake Python 3.0 made, which had to be fixed in 3.1
07:48 timotimo we should absolutely not make that same mistake
07:48 nwc10 no, brave new mistakes please
07:48 timotimo aye
07:49 timotimo quote from my friend: "but on a traditional unix filesystem, all you've got is bytes, and people'll just point and laugh at you if you put too much trust into the locale"
07:50 timotimo and since Buf is harder to use for common things than Str is ... ouch ...
07:52 timotimo the best solution may be to stay the way we are, put fingers in our ears and go "LA LA LA LA"
07:53 timotimo because this whole ordeal is shitty.
07:54 Akagi201_ joined #perl6
07:54 kivutar joined #perl6
07:55 timotimo if we offer @*ARGV as a list of bufs, we'll just prompt every single user to include "@*ARGS = @*ARGS>>.decode('utf8')
07:55 timotimo " at the beginning of their scripts and we move the exception from internal to user program
07:55 timotimo which sucks, too
07:56 dmol joined #perl6
08:05 khisanth_ joined #perl6
08:12 ribasushi joined #perl6
08:13 masak good late morning, #perl6
08:13 FROGGS morning
08:14 FROGGS nwc10: IMO it should use $*EXECUTABLE which should always give you an absolute path to the interpreter
08:14 masak lizmat: glad you're safe.
08:16 FROGGS timotimo: I'd like to see Buf handling easier... that's why there is a subbuf-rw now, and also why I'd like to add Buf.split
08:17 FROGGS made easier*
08:17 FROGGS or so
08:17 fhelmberger joined #perl6
08:27 arnsholt o/
08:28 jnthn o/
08:30 ribasushi joined #perl6
08:38 FROGGS hi arnsholt!
08:38 FROGGS arnsholt: how is everything?
08:39 arnsholt Pretty good
08:39 FROGGS sounds good :o)
08:39 arnsholt Was at $work conference all last week in the US, came back yesterday, so we'll see how this working day goes =)
08:41 unnisworld joined #perl6
08:41 unnisworld hi all
08:42 masak hi unnisworld. bye unnisworld.
08:47 brrt joined #perl6
08:51 khisanth__ joined #perl6
09:21 dakkar joined #perl6
09:30 anaeem___ joined #perl6
09:34 markov left #perl6
09:46 anaeem1_ joined #perl6
09:53 Psyche^ joined #perl6
09:58 pdcawley joined #perl6
10:02 virtualsue joined #perl6
10:11 sqirrel_ joined #perl6
10:25 chenryn joined #perl6
10:25 broquaint joined #perl6
10:49 denis_boyun_ joined #perl6
10:56 carlin joined #perl6
11:04 mr-fooba_ joined #perl6
11:06 tadzik timotimo: panda things should work
11:06 tadzik I see plenty of 200s in the backlog
11:11 salv0 joined #perl6
11:14 brrt joined #perl6
11:27 moritz \o
11:31 kaleem_ joined #perl6
11:36 brrt \o moritz
11:39 colomon_ o/
11:40 user3 joined #perl6
11:44 ChoHag How do you say without the \n?
11:45 ChoHag Never mind.
11:46 chenryn joined #perl6
11:48 masak ChoHag: :D
11:48 masak m: say "OH HAI"; print "\b"
11:48 camelia rakudo-moar 77024f: OUTPUT«OH HAI␤»
11:49 masak that doesn't work, though.
11:49 FROGGS that... doesn't ring a bell
11:49 masak FROGGS: you're thinking of "\a"
11:50 masak m: sub say-without-newline(*@stuff) { print @stuff }; say-without-newline "OH HAI"
11:50 camelia rakudo-moar 77024f: OUTPUT«OH HAI»
11:50 masak ChoHag: that's one solution.
11:50 FROGGS masak: ahh right, \a for alarm
11:51 masak FROGGS: http://www.funnyjunk.com/funny_pictures/4691282/The+Door+is+Alarmed/
11:51 ChoHag Yes. Maybe perl 6's catch phrase should be There Are More Ways To Do It Now.
11:52 masak well, it's more like "There Should Be One Obvious Way To Do It, But We Also Recognize That You Sometimes Want One Of The Others"
11:52 masak but that's more pithily summarized in "easy things easy, hard things possible"
12:02 sqirrel_ joined #perl6
12:15 spider-mario joined #perl6
12:15 guru joined #perl6
12:18 smls joined #perl6
12:19 smls o/
12:21 smls timotimo: I think Qt, for example, pretends that filenames are valid UTF strings
12:22 smls that's why KDE programs cannot handle files with non-UTF8 bytes
12:22 smls but they don't seem in a hurry to fix it
12:22 jnap joined #perl6
12:24 smls As for Perl 6 MAIN, if commandline parsing were allowed to use the type information of the MAIN signatures (as I proposed a while ago), users could easily decide themselves whether they want to get a Str or Buf
12:26 smls multi MAIN (Buf $file, :$opt1, :$opt2) { ... }  # like so
12:26 moritz prototype it
12:26 smls yes, yes
12:26 moritz if it works, it'll get adapted :-)
12:26 smls haven't even gotten through jnthn++'s NQP course material yet... :)
12:29 slavik joined #perl6
12:32 colomon_ smls: not sure that would help any with hacking MAIN.
12:33 * colomon_ admits he's at least a complete overhaul of rakudo behind on how MAIN's internals work.
12:33 sergot m: class A { has $.method; }; say A.new.method;
12:33 camelia rakudo-moar 77024f: OUTPUT«(Any)␤»
12:33 kurahaupo joined #perl6
12:34 awwaiid moritz: Thanks! that is most excellent!
12:34 awwaiid (re: getting list of all infix ops)
12:35 virtualsue joined #perl6
12:38 moritz awwaiid: you're welcome
12:38 moritz (note that if you look in CORE, you'll miss custom infixes imported from modules; those should be in MY:: or soemwhere in OUTER chain)
12:39 awwaiid ok
12:41 awwaiid sometimes when I use unicode in the repl and then backspace over them, I get my cursor being a few spots to the right visibly from where it actually is. This a common problem?
12:41 Alina-malina joined #perl6
12:43 moritz awwaiid: are you using moarvm as the backend?
12:43 moritz I think parrot simply uses readline
12:43 awwaiid yes
12:43 moritz and moarvm its own thingy
12:43 moritz might be a bug in moarvms readline replacement
12:43 awwaiid ah. lemme try others
12:44 moritz but I don't use the REPL much, so I can't tell
12:44 timotimo Could not download module metadata: Failed to connect: connection refused
12:45 ajr joined #perl6
12:46 carlin timotimo: are you on IPv6?
12:47 awwaiid huh. jvm backend works perfectly, parrot is even worse than moarvm. Maybe it's something on this end. Running Rakudo Star 2014.04
12:47 timotimo carlin: i'd hope so! :)(
12:47 timotimo :)
12:47 awwaiid oh well, not worth going into right now
12:48 carlin Someone was saying a few days ago that feather's port 3000 service isn't listening for IPv6 connections
12:49 Vlavv joined #perl6
12:50 timotimo that's not good
12:51 jnthn It's not moarvm's readline repalcement per se, it's another library (liblinenoise) that it builds if you don't request readline.
12:54 moritz tadzik: could we run the panda metadata server with starman? that supports serving over ipv6, I've read
12:57 FROGGS moritz: we probably need to update panda before we are doing this... because panda does not now about transfer-encoding for example
12:58 FROGGS I guess the service behind port 3000 is kinda special to spit it out in a way panda can handle
12:58 tadzik moritz: oh, I thought we did that
12:59 tadzik fixed now
13:02 moritz tadzik: thanks
13:10 tadzik thanks for reporting
13:10 timotimo what kind of program does that, btw?
13:10 timotimo and should panda learn to optionally use our HTTP::UserAgent module if available?
13:10 tadzik oh yes
13:14 jnthn For anybody in need of a distraction, another of my talks that got filmed has landed on the web... http://www.infoq.com/presentations/terminology-garbage-collector
13:15 masak \o/
13:15 cognominal jnthn++
13:15 brrt that site doesn't seem helpful at all
13:15 brrt (although your presentation might be awesome :-))
13:16 FROGGS nice
13:16 jnthn brrt: Oh?
13:16 FROGGS jnthn++
13:16 brrt i can't actually... see the slides, it seems
13:16 brrt oh....
13:17 brrt my bad, i don't have flash installed :-)
13:17 FROGGS timotimo and me also had that 'oh...' moment last time :o)
13:20 cognominal yafgjt      yet another f... good Jonathan talk.
13:28 woolfy left #perl6
13:35 * brrt is watching the talk now
13:39 lizmat joined #perl6
13:41 cognominal joined #perl6
13:41 chenryn joined #perl6
13:42 estrabd left #perl6
13:42 rurban1 joined #perl6
13:44 sergot joined #perl6
13:46 hugme joined #perl6
13:46 PerlJam joined #perl6
13:48 carlin has dalek beeen abducted by Time Lords again
13:48 tadzik joined #perl6
13:49 btyler joined #perl6
13:50 masak joined #perl6
13:57 bluescreen10 joined #perl6
14:08 pdcawley joined #perl6
14:31 timotimo i really like how jnthn pronounces "bump" in his talk
14:31 chenryn joined #perl6
14:32 FROGGS I also like how he says 'instruction' :o)
14:33 carlin (jnthn's accent)++
14:38 masak British people tend to ask him if he's an American :D
14:46 treehug88 joined #perl6
14:46 FROGGS *g*
14:47 sqirrel_ joined #perl6
14:48 user3 joined #perl6
14:50 anaeem1 joined #perl6
14:52 chenryn joined #perl6
14:55 * masak just accidentally wrote /[.!?]$/ in a Perl 6 regex
14:55 masak std: /[.!?]$/
14:55 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter ! (must be quoted to match literally) at /tmp/EXoH_4H4Ky line 1:�------> [32m/[.![33m�[31m?]$/[0m�Unable to parse bracketed regex at /tmp/EXoH_4H4Ky line 1:�------> [32m/[33m�[31m[…»
14:55 masak m: /[.!?]$/
14:56 camelia rakudo-moar 77024f: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter ! (must be quoted to match literally)�at /tmp/l4mvbMrOnD:1�------> [32m/[.[33m�[31m!?]$/[0m�Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' �at /tmp/l4…»
14:56 chenryn_ joined #perl6
14:59 hoelzro morning #perl6
15:00 FROGGS hi hoelzro
15:00 kaare_ joined #perl6
15:07 igorsutton joined #perl6
15:07 brrt left #perl6
15:10 user3 left #perl6
15:13 kaiserpathos joined #perl6
15:25 Nei joined #perl6
15:25 LLamaRider joined #perl6
15:25 Nei left #perl6
15:28 spider-mario joined #perl6
15:34 lizmat joined #perl6
15:37 pdcawley joined #perl6
15:43 lizmat joined #perl6
15:46 woolfy joined #perl6
15:48 * lizmat catches up on the clogs while sitting in the lobby of the Holiday Inn Jamaica
15:49 jnthn Jamaica? o.O
15:50 lizmat well, hardly
15:50 lizmat but it had a room with a bed
15:50 lizmat and wifi
15:53 ChoHag Is there an explanation of how perl 6 deals with nested hashes data structures via '%new = (%a, %b)'?
15:55 pdcawley joined #perl6
15:56 hoverboard joined #perl6
15:57 anaeem1 joined #perl6
15:58 lizmat ChoHag: by default, keys are strings
15:58 pmurias joined #perl6
15:58 lizmat so you will have a stringified %a as the key
15:59 lizmat hmm... guess not
15:59 lizmat seems it flattens first
16:00 lizmat m: my %a=(a=>1); my %b=(b=>2); my %c=(%a,%b); say %c
16:00 camelia rakudo-moar 77024f: OUTPUT«("a" => 1, "b" => 2).hash␤»
16:00 ChoHag It's quite reassuring when the regulars here also consistently forget what perl 6 does and how.
16:00 lizmat m: my %a=(a=>1); my %b=(b=>2); my %c=($%a,$%b); say %c
16:00 camelia rakudo-moar 77024f: OUTPUT«("a" => 1, "b" => 2).hash␤»
16:00 lizmat now *that* I find off
16:00 lizmat *odd
16:01 lizmat ChoHag: regulars are still newbies in many areas  :-)
16:02 jnthn %h = %a, %b; # will flatten, of course. Just like in Perl 5, no?
16:03 pdcawley joined #perl6
16:03 jnthn $%a flattening, otoh, is kinda odd
16:03 lizmat that's what I'm saying  :-)
16:03 jnthn I'm guessing Hash.STORE might just be looking at type, not containerness
16:04 lizmat m: my %a=(a=>1); my %b=(b=>2); ($%a,$%b).perl.say
16:04 camelia rakudo-moar 77024f: OUTPUT«({"a" => 1}, {"b" => 2})␤»
16:05 lizmat jnthn: I guess the:
16:05 lizmat elsif EnumMap.ACCEPTS($x) {
16:05 lizmat for $x.list { self.STORE_AT_KEY(.key, .value) }
16:05 lizmat is not checking containerness...
16:06 jnthn right
16:06 jnthn Also, should use nqp::istype($x, EnumMap)
16:07 lizmat you fix or I fix ?
16:08 vendethiel joined #perl6
16:09 jnthn Go for it, I'm working on an async sockets bug.
16:10 pdcawley joined #perl6
16:10 lizmat ok
16:10 * lizmat is not really awake yet
16:10 lizmat how do I check for containerness again?  nqp::something?
16:10 jnthn nqp::iscont
16:11 lizmat right
16:11 lizmat jnthn++
16:20 lizmat jnthn: it seems that the setting is depending on flattening behaviour  :-(
16:21 jnthn "fun"
16:24 lizmat fsvo fun
16:25 lizmat like landing a 747-400 without using the flaps
16:25 lizmat :-)
16:26 lizmat while being escorted  with fire engines with the full lightshow on
16:31 timotimo i think i'm going to need some more help finding things to report in the weekly
16:32 user3 joined #perl6
16:32 timotimo i remember performance improvements, some benchmark additions ... hmm
16:32 jnthn lizmat: That sounds rather concerning...
16:33 timotimo gotta run now, though
16:33 jnthn timotimo: OSR landed, inlining leanred ext ops, various other bits of performance work
16:33 timotimo yeah, those i remember well :)
16:33 jnthn timotimo: And some threads/async socket fixes from me today
16:33 lizmat jnthn: it was concerning when we where up there, down on the ground not so much
16:34 [Coke] . o O (Nevada)
16:36 timotimo thank you :)
16:36 jnap joined #perl6
16:37 vendethiel what's the perl 6 bench page against ? can't find it anymore
16:44 timotimo there's not "a page"
16:44 timotimo i just have a folder where i drop off lots of results
16:44 timotimo japhb/perl6-bench is the repository on github
16:44 Rotwang joined #perl6
16:47 chenryn joined #perl6
16:49 xusia joined #perl6
16:51 erkan joined #perl6
16:51 chenryn_ joined #perl6
16:51 erkan joined #perl6
16:53 chenryn__ joined #perl6
16:53 molaf joined #perl6
16:57 pdcawley joined #perl6
16:58 lizmat this seems wrong:
16:58 lizmat my %args = { :$!year, :$!month, :$!day, :$!hour, :$!minute,
16:58 lizmat :$!second, :$!timezone, :&!formatter, %_ };
17:00 jnthn yeah; wants to be parens or binding
17:00 jnthn ^
17:00 jnthn & even
17:01 kaleem_ joined #perl6
17:02 anaeem1__ joined #perl6
17:03 lizmat ok, builds now, spectest definitely not clean
17:03 lizmat :-(
17:04 timotimo jnthn: did you see kamils mail on the users list? i see the same failure
17:04 timotimo the imcc complains about emitted code after we check for poisoning mumble mumble
17:04 psch joined #perl6
17:04 psch hi #perl6
17:04 timotimo http://p6weekly.wordpress.com/?p=189&amp;shareadraft=53b198981e6b1 - here's the first draft of the weekly, i hope i've missed a lot of things :P
17:05 timotimo i'm going grocery shopping now-ish.
17:08 lizmat if my fix for Hash.STORE is breaking this many spectests: https://gist.github.com/lizmat/d217d59d0138c8ea0fd9
17:08 lizmat I wonder what it will do to the ecosystem and DarkPAN
17:09 Alina-malina joined #perl6
17:09 lizmat m: my %hash = {a => 1, b => 2};
17:09 camelia rakudo-moar 77024f: ( no output )
17:10 lizmat with my fix, this now breaks with:
17:10 lizmat $ 6 'my %hash = {a => 1, b => 2};'
17:10 lizmat Odd number of elements found where hash expected
17:10 lizmat TimToady: do you have an opinion on this behaviour?
17:11 FROGGS joined #perl6
17:12 chenryn joined #perl6
17:14 jnthn Ouch
17:14 jnthn Yes, let's get TimToady++'s take before putting it in nom
17:14 jnthn Can commit it in a branch for now, of course.
17:16 timotimo what  kind of problem does it fix?
17:17 jnthn timotimo: A case of seemingly unwanted flattening.
17:17 jnthn Or surprsing flattening, at least.
17:18 timotimo isn't  it  always?  ;)
17:21 jnthn Generally, no, but places where the rules get broken mostly aid the perception that it is.
17:22 anaeem1_ joined #perl6
17:22 lizmat oddly enough, it seems at least one TODO is pasing now
17:23 lizmat passing
17:23 lizmat #?rakudo todo 'non-flattening hash refs'
17:23 lizmat so it would appear that it is the intent to have it work this way
17:25 lizmat looking at the spectests so far, it seems they mostly suffer from the misunderstanding that my %h = {...} is the same as my %h = (...)
17:29 ChoHag Can I tell whether an attribute has been set by the hard-coded default, arguments to new or run-time use of the accessor?
17:30 ChoHag The only case I really care about right now is hard-coded vs. everything else.
17:31 lizmat not sure you can, unless you do something like:
17:31 lizmat has $!foo = 42 but hardcoded;
17:31 ChoHag Alternatively, can I wrap somehow the code which actually sets the default?
17:32 ChoHag the '= ...' magic is just a trait_mod sub with a callable argument somewhere isn't it?
17:32 ChoHag (FSVO 'just')
17:32 jnthn Can't quite remember, but I know that the callable is accessible on the Attribute instance.
17:32 jnthn And it's some kind of routine, iirc...it's probably wrappable.
17:33 jnthn m: say Attribute.^methods(:local)
17:33 camelia rakudo-moar 77024f: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> compose apply_handles get_value set_value container has-accessor readonly package Str gist␤»
17:33 moritz iirc it's not a routine is the LHS is a constant
17:33 jnthn Oh, yeah.
17:34 anaeem1 joined #perl6
17:34 jnthn A handy optimization until this point :)
17:34 jnthn m: say Attribute.^method_table.keys
17:34 camelia rakudo-moar 77024f: OUTPUT«new name type container_descriptor auto_viv_container has_accessor rw set_rw set_readonly default_to_rw set_build build set_box_target box_target positional_delegate associative_delegate is_generic instantiate_generic compose apply_handles get_value set_va…»
17:34 jnthn .build I'd guess
17:35 lizmat I think I'm going to correct the %hash = {} thinko's in the test-suite, when they're clearly wrong
17:35 lizmat they should still work without the container check in Hash.STORE
17:38 lizmat .oO( dalek, oooo, dalek, kitty kitty kitty, where aaaarre you? )
17:42 ChoHag How about another angle. I already have an attribute trait_mod function where it's relevant. Can I tell in there if a default value has been supplied to the attribute?
17:43 ChoHag And, as an aside, when does that default-setting block actually run?
17:45 virtualsue joined #perl6
17:48 carlin dalek is off fighting time lords again
17:50 xfix rn: say eval "2 + 2"
17:50 camelia rakudo-jvm 77024f: OUTPUT«(timeout)»
17:50 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'eval' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_…»
17:50 camelia ..rakudo-{parrot,moar} 77024f: OUTPUT«4␤Saw 1 call to deprecated code during execution.␤================================================================================␤Sub eval (from GLOBAL) called at:␤  /tmp/tmpfile, line 1␤Please use 'EVAL' instead.␤--------------------…»
17:53 colomon_ joined #perl6
17:55 woolfy left #perl6
17:55 anaeem___ joined #perl6
17:56 [Sno] joined #perl6
17:56 lizmat lunch and commute to JFK&
18:05 xinming joined #perl6
18:13 PZt joined #perl6
18:25 timotimo chohag, the default buildall does the invocation
18:25 timotimo try throwing an exception in the default value and look at the trace
18:25 * vendethiel has convinced those two that Perl 6 is A Great Thing
18:25 vendethiel one of them is happily hacking away
18:26 timotimo may need to use - ll-exception
18:28 vendethiel do we have any kind of docs on using jvm libs from perl6-jvm ?
18:29 teodozjan joined #perl6
18:30 FROGGS vendethiel: there might be a jnthn-talk somewhere
18:30 FROGGS from like april of last year
18:31 vendethiel yep, found it, thanks.  Man, what'd we do without the jnthn++ :)
18:32 FROGGS ohh, something less fun I guess :o)
18:38 vendethiel ah, it's on the internals :(
18:44 jnthn vendethiel: Somehwere in there is an example of calling a JVM lib
18:44 ChoHag God damn it. Hack. Run. Hack. Fail. Undo. Fail.
18:44 jnthn ChoHag: It's called from the BUILDALL, after all the BUILDs have had a chance to run and any supplied values have been applied.
18:45 lelf joined #perl6
18:46 rindolf joined #perl6
18:49 ChoHag <-- idiot
18:49 FROGGS we all are
18:50 * psch too!
18:50 psch i can't quite figure out how to sensibly implement timotimo++'s suggested optimization for tr///
18:50 FROGGS good that I forgot what it was a few days ago that made me feel idiotic :o)
18:50 psch i.e. returning an object that only calculates the changes when it's evaluated somewhere where an Int is requested
18:51 psch aside from that i'd call tr/// working in my branch, which is good i guess :)
18:52 psch although i don't know how good an idea adding a &distance method to Str was
18:52 FROGGS the Failure type does some magic when being used as an Int
18:53 FROGGS not really magic, but it does something
18:53 jnthn Implement a method Int that does the calc and probably a method Numeric to delegate to it
18:55 Alina-malina joined #perl6
18:56 chenryn__ joined #perl6
19:01 psch the "getting it into an object" part was what i was having problems with
19:01 psch i rewrote Str.distance to return an anon class that does Int, Numeric and Bool as makes sense there
19:01 masak what's your favorite way of saying "given @list, there are no two objects with the same .name" ?
19:02 psch but my local repo broke again it seems...
19:03 timotimo masak: (bag @list>>.name) == @list
19:03 jnthn ?one(@list>>.name) # cute but not the most efficient
19:03 timotimo er, not bag
19:03 psch p5-think made me want map to Pairs just now
19:04 timotimo set would probably be correct
19:04 jnthn oh, wait...what was I thinking :)
19:04 timotimo yeah, what the hell were you thinking? :)
19:04 * jnthn blames tasty distracting icecream :P
19:05 jnthn not defined @list.first-index({ (state %){.name}++ }) # maybe
19:11 timotimo that's ... wordy
19:11 timotimo doesn't first-index also want a matcher?
19:11 timotimo like, don't you have to search for "2" or something?
19:12 jnthn A closure will do as a matcher :)
19:13 masak I prefer timotimo++'s solution so far. jnthn's is far too stateful for me :)
19:13 timotimo oh, because it's *post*increment
19:13 jnthn masak: Local state isn't generally the problem :)
19:14 masak actually, I think I prefer timotimo's to mine, which involved .uniq(:as(*.name))
19:14 masak jnthn: I know, but it tickles my "declarative vs imperative" sense wrongly...
19:14 jnthn masak: I'll note that only my one so far can bial as soon as it finds the first duplicate.
19:14 masak jnthn: this problem doesn't feel to me like it should have moving parts.
19:14 jnthn *ail
19:14 masak jnthn: point.
19:14 masak oh, this problem is a monoid, then.
19:15 jnthn masak: All problems have moving parts on the inside. Just put what I wrote in a sub and it's pure again :P
19:15 masak like, we could solve it with MapReduce.
19:15 masak jnthn: :)
19:15 masak jnthn: your solution is clever, I'll give you that.
19:15 masak jnthn: but I really don't like to mutate things inside of a .map
19:16 masak (or any other HOP function, like .first-index in this case)
19:21 colomon_ +1
19:27 vendethiel joined #perl6
19:32 Hataketsu joined #perl6
19:33 Hataketsu left #perl6
19:36 masak m: class Duper { has %.seen; method add($key) { return %.seen{$key}++ } }; my $d = Duper.new; say ! [||] $d.add($_) for <a b c d e f g>
19:36 camelia rakudo-moar 77024f: OUTPUT«True␤True␤True␤True␤True␤True␤True␤»
19:36 masak hm.
19:36 masak m: class Duper { has %.seen; method add($key) { return %.seen{$key}++ } }; my $d = Duper.new; say ! [||]($d.add($_) for <a b c d e f g>)
19:36 camelia rakudo-moar 77024f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1Aw99Cawhh�Unable to parse expression in argument list; couldn't find final ')' �at /tmp/1Aw99Cawhh:1�------> [32my $d = Duper.new; say ! [||]($d.add($_) [33m�[31mfor <a b c d e f g>)[0m…»
19:37 masak m: class Duper { has %.seen; method add($key) { return %.seen{$key}++ } }; my $d = Duper.new; say ! [||] ($d.add($_) for <a b c d e f g>)
19:37 camelia rakudo-moar 77024f: OUTPUT«True␤»
19:37 masak m: class Duper { has %.seen; method add($key) { return %.seen{$key}++ } }; my $d = Duper.new; say ! [||] ($d.add($_) for <a b c d e b g>)
19:37 camelia rakudo-moar 77024f: OUTPUT«False␤»
19:37 masak ...that's the OO version of jnthn's stately solution.
19:37 masak though ISTR that [||] doesn't short-circuit.
19:38 jnthn If the list it gets is lazy then it can evaluate it only as far as needed, I think...
19:38 jnthn I'm really not sure what the class adds here :)
19:38 masak it doesn't add anything.
19:39 masak I'm only exposing the implicit class that your function-and-state created ;)
19:39 timotimo well, the set solution also doesn't short-circuit
19:40 dwarring joined #perl6
19:40 jnthn BTW, today - or maybe tomorrow - is last day to submit YAPC::EU talks.
19:43 masak aye.
19:43 masak m: my @list = map { (class { has $.name }).new(:name($_)) }, <a b c d e f g>; say so all((bag @list>>.name).values) == 1
19:43 camelia rakudo-moar 77024f: OUTPUT«True␤»
19:43 masak m: my @list = map { (class { has $.name }).new(:name($_)) }, <a b c d e b g>; say so all((bag @list>>.name).values) == 1
19:43 camelia rakudo-moar 77024f: OUTPUT«False␤»
19:43 masak this is my favorite solution so far, I think.
19:43 * jnthn doesn't suggest benchmarking the competing solutions :)
19:44 masak I'm dealing with arrays of < 10 elements here. I'm not so terribly worried about performance.
19:44 jnthn Ah, then fine :)
19:45 masak I'm just looking for a neat/clean way to express "there are no duplicates".
19:46 jnthn Yeah. It's just that folks here are often way too good at finding cute ways to do things and neglecting performance considerations, then saying "oh noes Perl 6 is slow" :)
19:46 timotimo i got no feedback for my blog post, so i'll publish it now
19:46 jnthn timotimo: I missed the link...guess I was doing dinner
19:46 timotimo ah
19:46 timotimo one sec :)
19:47 timotimo http://p6weekly.wordpress.com/?p=189&amp;shareadraft=53b198981e6b1
19:47 psch alright, Str.distance now returns a Bool with an anon role that does a lazy-ish Int, i.e. calculates the result when first called
19:47 jnthn I mean, in my solution we traverse a list and make a hash. This one products an intermediate list, then turns it into a bag, then produces a list of values in the bag, then makes a junction o fthose values, then auto-threads an operation over that junction. :)
19:47 psch if anyone wants to look it over, in case i'm doing something horrible: https://github.com/peschwa/rakudo/compare/implement_tr
19:47 masak jnthn: yes, your point is well taken.
19:48 jnthn It *is* a cute solution though :)
19:48 masak and yours is very... industrially sound.
19:48 masak :P
19:48 psch i guess the review would happen anyway when i open a PR, so i'll just do that :)
19:48 jnthn timotimo: " like in a for loop with many iterations." - I'd remove the 2for"
19:49 jnthn timotimo: I think japhb++ did some other work on perl6-bench besides the new benchmarks, btw
19:50 jnthn timotimo: You forgot the other inlining improvements too :)
19:52 timotimo mhm
19:53 timotimo what would i do without you people :)
19:54 colomon_ jnthn: one thing I've noticed over the years is every book on functional programming I've read starts out with "see how beautiful this functional code is!" and then ten pages later is telling you how to make a much uglier but efficient version.  ;)
19:57 chenryn__ joined #perl6
19:58 vendethiel masak: `+@a.uniq(:by(*.name)) == +@a` :P
19:59 masak vendethiel: yes, that's how I usually imagined it (only without the explicit prefix:<+>)
19:59 masak s/usually/originally/
19:59 masak I might still go with that solution.
19:59 FROGGS that one is actually readable
20:00 masak m: my $foo = "OH HAI"; role R[$bar] { method x { say $bar } }; class C does R[$foo] {}; C.new.x
20:00 camelia rakudo-moar 77024f: OUTPUT«(Any)␤»
20:01 masak I wonder if we shouldn't emit a warning at 'does R[$foo]'...
20:01 masak I just did this one by mistake in code -- yes, I ought to know better, but sometimes the brain slips.
20:01 masak a warning would've let me know something was amiss.
20:01 masak it's really the same kind of situation as this:
20:01 masak m: my $foo = "OH HAI"; BEGIN say $foo
20:01 camelia rakudo-moar 77024f: OUTPUT«(Any)␤»
20:01 masak (which could also do with a warning)
20:02 masak simple examples like this are easy to catch, but when stuff is in the middle of a bigger program...
20:04 masak m: class C { method foo { say "computing"; return 42 } }; given C.new { say .foo; say .foo }
20:04 camelia rakudo-moar 77024f: OUTPUT«computing␤42␤computing␤42␤»
20:04 masak m: class C { method foo is cached { say "computing"; return 42 } }; given C.new { say .foo; say .foo }
20:04 camelia rakudo-moar 77024f: OUTPUT«computing␤42␤42␤»
20:04 masak oh, nice. 'is cached' works on methods.
20:04 masak (whoever implemented that)++
20:04 FROGGS lizmat++
20:05 moritz probably lizmat++
20:05 masak I think it was lizmat++, yes.
20:06 masak m: class C { method foo is cached { say "computing"; return 42 } }; say C.new.foo; say C.new.foo
20:06 camelia rakudo-moar 77024f: OUTPUT«computing␤42␤42␤»
20:06 masak hm, but that could be a problem, depending on what the user expected.
20:07 masak I think I would expect caching to be per-object.
20:08 FROGGS nqp-m: my $foo := "OH HAI"; my role R[$bar] { method x() { say($bar) } }; class C {}; my $c := C.new(); $c.HOW.mixin($c, R.HOW.curry(R, $foo)); $c.x()
20:08 camelia nqp-moarvm: OUTPUT«OH HAI␤»
20:08 FROGGS masak: so it could work I guess
20:08 colomon_ m: class C { has $.x; method foo is cached { say "computing"; return 42 } }; say C.new(x => 2).foo; say C.new(x => 1).foo
20:08 camelia rakudo-moar 77024f: OUTPUT«computing␤42␤computing␤42␤»
20:08 colomon_ masak: presumably its cached on self as well
20:09 colomon_ *it's
20:09 timotimo does somebody remember who added what to rosettacode recently?
20:09 FROGGS masak: nvm
20:10 masak FROGGS: :)
20:10 masak FROGGS: compile-time, run-time.
20:10 FROGGS yeah
20:10 FROGGS but still
20:10 FROGGS :o)
20:10 masak colomon_: if it is, then why does it only run once for two different selfs?
20:11 colomon_ masak: ….. hmm
20:11 FROGGS m: class C { method foo is cached { say "computing"; return 42 } }; say C.new.WHICH; say C.new.WHICH
20:11 camelia rakudo-moar 77024f: OUTPUT«C|139757346896128␤C|139757346904040␤»
20:12 FROGGS I though this was the key....
20:12 timotimo publish'd
20:12 FROGGS timotimo++
20:13 colomon_ masak:  my $key := c.gist;
20:13 colomon_ m: class C { method foo is cached { say "computing"; return 42 } }; say C.new.gist; say C.new.gist
20:13 camelia rakudo-moar 77024f: OUTPUT«C.new()␤C.new()␤»
20:13 colomon_ that's why
20:13 FROGGS hmmm
20:13 * colomon_ thinks, anyway
20:14 FROGGS iiinteresting
20:15 colomon_ m: class C { has $.x is rw; method foo is cached { say "computing"; return 42 } }; my $c = C.new(x=>2); say $c.foo; $c.x++; say $c.foo;
20:15 camelia rakudo-moar 77024f: OUTPUT«computing␤42␤computing␤42␤»
20:17 virtualsue joined #perl6
20:24 masak colomon++
20:24 masak I don't know which part of that oughta change, but I don't think self should be cached that way ;)
20:30 colomon_ seems to me that's a fine first approximation to a solution.
20:31 xenowoolfy joined #perl6
20:38 masak well, what do you know -- my "does it have duplicates" solution ended up looking quite different, because the real question my code was asking was "which are the duplicates"...
20:39 timotimo oh
20:39 timotimo so more like .bag + grep(2)? :)
20:39 jnthn *>2
20:39 jnthn *>=2
20:39 jnthn but yeah, sounds cute
20:40 timotimo m: say 2 ~~ 2; say 3 ~~ 2
20:40 camelia rakudo-moar 77024f: OUTPUT«True␤False␤»
20:40 timotimo depends on your definition of "duplicate"
20:40 jnthn true :)
20:45 erkan joined #perl6
20:45 erkan joined #perl6
20:47 kaiserpa_ joined #perl6
20:50 slava-wr0k joined #perl6
20:51 masak at-least-duplicate :)
20:52 masak non-unique
20:52 timotimo multiples? :)
20:52 slava-wr0k heredoc adverbs confuse me ... :(
20:52 masak it's almost as if I were grasping for a method .nonuniq ;)
20:53 moritz :to<END>:confusing
20:53 masak :to<DIE>:to<SLEEP>
20:53 moritz good idea
20:53 moritz o/
20:53 * masak hopes moritz choose the "sleep" option o.O
20:53 * moritz too
20:53 masak :)
20:54 slava-wr0k I have XML that I want to generate (repeating the same block with differing values), so I have a loop that goes through all the values I need, I can't figure out the right operator with the right adverb, since in some cases it tries to interpret <TAG> as if it is the <> operator
20:55 timotimo as a quick fix: you could also use :to/foo/
20:55 slava-wr0k for @values -> $myvalue { say q:to/END/; <mytag>$myvalue</mytag> END }
20:55 slava-wr0k something like that
20:55 timotimo ah, hehe.
20:55 kaiserpathos joined #perl6
20:56 slava-wr0k I think I want to use :single
20:56 timotimo well, q should never interpolate
20:56 slava-wr0k but I am confused when
20:56 slava-wr0k qq:heredoc:s?
20:56 timotimo that would
20:56 timotimo and $foobar<test> would surely look like you wanted to do a hash access
20:56 timotimo would it be bad to always wrap your interpolated values in { }?
20:57 jnthn Yeah, that may be easiest
20:57 jnthn And then q:c:to/END/
20:57 timotimo i think in that case you can also use q? if not, q:c
20:57 slava-wr0k qq:heredoc:single with {} around variable
20:57 slava-wr0k works
20:57 slava-wr0k ty
20:57 slava-wr0k I think I get it now
20:57 slava-wr0k {} is always a good idea to denote access
20:58 timotimo "single" is hard to search for in the synopses >_>
20:58 slava-wr0k hmm, just qq:heredoc is fine
20:58 timotimo at least with the google search widget
20:58 slava-wr0k ty :)
21:03 masak m: sub foo {}; for foo -> $x {}; say "alive"
21:03 camelia rakudo-moar 77024f: OUTPUT«[31m===[0mSORRY![31m===[0m�Function foo needs parens to avoid taking the block.�at /tmp/TusXAJFOjz:1�------> [32msub foo {}; for foo -> $x {}[33m�[31m; say "alive"[0m�Missing block (apparently taken by 'foo')�at /tmp/TusXAJFOjz:1�----…»
21:03 masak std: sub foo {}; for foo -> $x {}; say "alive"
21:03 camelia std 0f2049c: OUTPUT«[31m===[0mSORRY![31m===[0m�Function 'foo' needs parens to avoid gobbling block at /tmp/NN0oiQaAMg line 1:�------> [32msub foo {}; for foo[33m�[31m -> $x {}; say "alive"[0m�Missing block (apparently gobbled by 'foo') at /tmp/NN0oiQaAMg line 1:�--…»
21:03 masak how come Rakudo prefers "taking" to "gobbling" there?
21:04 masak I always found "gobbling" rather charming, and descriptive.
21:04 cooper_ joined #perl6
21:04 jnthn You haz a commitbitz0r...
21:05 psch i don't remember if it rakudo used "gobble" before i added the typed exception, but i definitely used "take" for it...
21:06 psch sorry for removing a bit of charm :)
21:06 masak I can definitely change it back, just wanted to check for reasons first :)
21:07 masak "take" for me conveys accepting arguments, which isn't incorrect in this case.
21:07 masak but "gobble" conveys the parsing angle, which is the more fundamental problem.
21:07 jnthn psch++ # making it give an error at all
21:08 psch yeah, that makes sense; "gobble" didn't seem formal/professional enough to me, the difference wrt parsing angle/arguments didn't occur to me
21:11 timotimo when are we ever formal/professional? :)
21:13 FROGGS it is also interesting to see where std sets the eject
21:18 brrt joined #perl6
21:18 TimToady professionals communicate clearly, and "gobble" is precisely what it does :)
21:20 guru joined #perl6
21:21 masak right.
21:21 * masak changes it
21:22 * psch vows to pay close attention to existing wording. :P
21:24 masak psch: everybody wins. nice. :)
21:24 masak change made. building it.
21:25 jnthn psch: In 5e19a4bef09, I notice you go to the trouble of creating an anonymous lexical for orig_lhs, but here I think a local would do?
21:25 jnthn psch: Then ops :op<bind> to store in it
21:25 jnthn s/ops/use/
21:25 jnthn Instead of :op<p6store>
21:26 jnthn Then it won't leak.
21:26 silug joined #perl6
21:26 psch jnthn: i tried binding, but binding changes the value i want to compare later on
21:26 timotimo missing a decont?
21:26 mr-fooba_ joined #perl6
21:27 jnthn psch: Oh...what timotimo++ just said, though. QAST::Op.new( :op('decont'), ... ) around the lookup of $_
21:28 psch alright, i'll correct that, thanks
21:28 timotimo wow! i actually sniffed out a missing decont! :)
21:28 timotimo i'm getting better at this whole thing
21:28 larks joined #perl6
21:28 mls_ joined #perl6
21:28 c1sung_ joined #perl6
21:28 jnthn psch: Mostly it's worth correcting 'cus otherwise orig_lhs will leak
21:29 lee_ joined #perl6
21:29 tadzik1 joined #perl6
21:29 kaare__ joined #perl6
21:29 lyda_ joined #perl6
21:29 jnap1 joined #perl6
21:30 firefish_ joined #perl6
21:30 cxreg2 joined #perl6
21:31 jercos_ joined #perl6
21:35 Some-body_ joined #perl6
21:35 nhayashi_ joined #perl6
21:36 eternaleye joined #perl6
21:36 cognominal joined #perl6
21:39 * masak regrets that Perl 6 didn't nail eta reduction for methods :/
21:40 timotimo well, it's a hard thing, IMO.
21:40 ClarusCogitatio joined #perl6
21:41 masak I'm not so sure.
21:42 takesako joined #perl6
21:42 masak the hardest thing is probably that the "natural" syntax for it -- $obj.method -- already means "call .method on $obj"
21:43 masak and there's no natural analogue to &naming_not_calling_a_sub
21:44 masak though maybe &($obj.method) could be made to fly -- would need to be caught at parse time, though.
21:44 masak something tells me that won't be pretty.
21:44 psch jnthn: i fixed it as per your and timotimo++'s instructions
21:45 lue masak: way I see it, either we redefine .&sub-as-meth to be an uncalled method, or we find some unicode symbol for an amerpsandy dot, with the texas version something like $obj(.)method or $obj(&)method :)
21:45 lue *ampersandy
21:45 eiro joined #perl6
21:47 brrt left #perl6
21:48 telex joined #perl6
21:48 masak lue: I'm rather fond of .&sub-as-meth by now. I use it to define ad-hoc lexically scoped "exomethods" :)
21:49 masak lue: and I am always *very* skeptical to any unicode-y part of core.
21:49 masak I'm a traditionalist. I don't even like ¢
21:49 lue Perhaps we need a new, vaguely m-shaped sigil.
21:50 lue masak: I'm the opposite, I wish we never got rid of ¢apture, just because it meant I could use ¢ :)
21:50 masak lue: methods and subs are indistinguishable if you look deep enough.
21:50 timotimo &(obj.method) sounds really fishy
21:50 masak timotimo: yes, exactly.
21:50 masak timotimo: it's mostly a measure of my desperation.
21:52 lue I'm looking at my keyboard, and I can't immediately think of a good symbol for "give me this method" in place of the * in $obj.*meth
21:56 vendethiel I'm on windows and I despise these unicode symbols :(
21:57 lue vendethiel: why? I thought windows had a better grip on things.
21:57 vendethiel how so ?
21:57 vendethiel Requiring me to type alt+WXYZ everytime I want a symbol is something I will not accept out of a language
21:58 masak m: sub foo(&match) { say "matches" if match("foo") }; foo(/foo/)
21:58 camelia rakudo-moar 77024f: OUTPUT«No such method '!cursor_start' for invocant of type 'Str'␤  in sub foo at /tmp/mmpaWWJaCJ:1␤  in block  at /tmp/mmpaWWJaCJ:1␤␤»
21:58 masak m: sub foo(&match) { say "matches" if "foo" ~~ &match }; foo(/foo/)
21:58 camelia rakudo-moar 77024f: OUTPUT«matches␤»
21:58 flussence and entering non-latin1 chars on windows using alt-codes requires a regedit too...
22:00 lue vendethiel: I'd look into some sort of compose-key-ish solution. Compose + < + <  is an easy way to type «, for example :)   (or maybe ask jnthn how he handles it (or doesn't))
22:01 vendethiel lue: no, that's still annoying as hell. I want to be able to see this stuff on my keyboard
22:01 vendethiel and I don't have an APL one (though that'd be fun :P)
22:02 lue vendethiel: I don't know how feasible that desire is, 0x11_000 keys requires a lot of space :)
22:03 vendethiel mmh ?
22:03 lue (There's also the OSX solution that creates additional levels of modifier keys, similar to what Shift does)
22:03 lue sorry, 0x11_0000
22:06 * lue would suggest a hand-writing based input method, instead of keyboards, were it not for all the confusables.
22:10 anaeem1 joined #perl6
22:16 timotimo on windows, you can type these characters easily if you have the neo2 layout
22:16 timotimo but unfortunately it's a variant of the german layout
22:16 timotimo so you'll also have üöä directly on their own keys
22:17 lue timotimo: biggest problem for me using a german layout is that I don't have the extra keys to do it :)
22:21 timotimo extra keys?
22:22 lue Yeah, I have a US keyboard, so I'm missing a couple keys in (I think) the middle and bottom rows.
22:23 timotimo oh? i didn't know that
22:24 timotimo well, neo2 is a pleasure to work with, IMO
22:24 timotimo kinda sad i can't recommend it to you properly
22:26 masak 'night, #perl6
22:26 jnthn o/ masak
22:27 lue timotimo: I'm kinda used to how easily I can access all the symbols on my keyboard, so I'm not sure I want to demote them all to level 3. At least it gets ß ↔ ẞ right, unlike the standardized layout :)
22:27 lue ♞ masak o/
22:30 vendethiel m: say (flat (%(1 => 2, 3 => 4), ('foo', 'bar'))).perl
22:30 camelia rakudo-moar 77024f: OUTPUT«("1" => 2, "3" => 4, "foo", "bar").list␤»
22:34 timotimo heh
22:34 timotimo i feel quite comfortable using layer 3 for all the symbols
22:49 rurban1 joined #perl6
22:51 vike joined #perl6
22:55 bcode joined #perl6
22:59 chenryn__ joined #perl6
23:09 sftp joined #perl6
23:09 [particle] joined #perl6
23:13 jnap joined #perl6
23:30 bcode_ joined #perl6
23:34 xenoterracide__ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo