Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-04-01

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:00 patrickas joined #perl6
00:03 patrickas TimToady: should fail('something'); show something or just fail silently in the absence of "use fatal;" ?
00:06 patrickas rakudo:sub f {fail 'HARD'}; f();say 'OK';
00:06 p6eval rakudo 4bf132: OUTPUT«OK␤»
00:06 chitragupt joined #perl6
00:08 patrickas left #perl6
00:10 lateau joined #perl6
00:10 TimToady it should throw the exception when the return value of f() hits a sink context
00:10 TimToady (probably)
00:17 ajs joined #perl6
00:18 silent_h_ joined #perl6
00:23 Chillance left #perl6
00:24 awwaiid left #perl6
00:26 awwaiid joined #perl6
00:27 sorear good * #perl6
00:27 sjohnson hello
00:29 sorear phenny: tell pmurias AFAICT GSoC doesn't like 'exploratory programming' much.  We don't know if the CL-backend will still have decent performance after you make 1 + "2" work
00:29 phenny sorear: I'll pass that on when pmurias is around.
00:39 sorear phenny: tell masak You need to go back in time to the 80s and check out X11's color parser, or at least /usr/share/X11/rgb.txt
00:39 phenny sorear: I'll pass that on when masak is around.
00:40 sorear Tene!
00:40 Tene sorear!
00:40 sorear Tene: I don't understand fail() very well.  Can you help?
00:41 Tene sorear: I can certainly try.
00:42 Tene fail ~~ currently-fatal ?? die Failure.new(...) !! return Failure.new(...);
00:42 Tene There's also some stuff about storing failures in $!
00:42 Tene Do you have specific questions, or should I explain those in more-detail?
00:43 silent_h_ left #perl6
00:47 sorear Tene: the nature of exception objects, to a large extent
00:49 Tene TimToady: I'm pretty sure that fatal can't just be lexically scoped, unless I misunderstand the spec.  "The fail function responds to the caller's use fatal state." -- does this refer to the caller of fail, or the caller of the caller of fail?
00:53 Tene sorear: Failure objects are fairly simple.  They have a 'handled' attribute, and if that's false, any use of the Failure as data (.Str, .Int, any other method calls afaict)  should cause it to be thrown.
00:53 Tene oops, train, brb
00:53 Tene will continue from train in a sec
00:57 sorear I think fatal should maybe do something like
00:57 sorear use fatal -> constant $?FATAL = True
00:57 sorear no fatal -> constant $?FATAL = False
00:58 sivoais left #perl6
00:58 sivoais joined #perl6
00:59 sivoais left #perl6
00:59 sorear be_fatal() -> loop (my $fr = caller; $fr; $fr .= caller) { return $_ if .defined given $fr.hints('$?FATAL') }
00:59 sivoais joined #perl6
00:59 sivoais left #perl6
00:59 sorear I can't remember if .hints is a Niecza extension though
01:00 sivoais joined #perl6
01:01 sivoais left #perl6
01:03 sivoais joined #perl6
01:07 TimToady Tene: the viewpoint of the description of fail is already from the first caller's perspective
01:07 GinoMan joined #perl6
01:07 TimToady so it means the caller's caller
01:08 TimToady or the caller of the code that called fail, more like
01:08 Tene TimToady: It's not clear to me what should happen when a scope with no fatal calls a sub in a scope that is fatal, which in turn calls a sub in a scope that is not fatal, which calls fail.
01:09 Tene I guess the fatal quality of the last sub is not relevant.
01:09 Tene is it just thrown?  only thrown up to the first non-fatal sub?
01:10 TimToady fail only cares about the lexical scope of the immediate caller
01:10 Tene sorear: .hints is a niecza extension, but yes, that looks very good.
01:11 TimToady if you explicitly return an exception into a 'use fatal' lexical scope, it would throw immediately though
01:11 Tene TimToady: so the ability to deal with "soft failures" is only possible as long as all of the code I call does not use fatal?
01:12 gfldex left #perl6
01:12 gfldex joined #perl6
01:12 mekameka joined #perl6
01:12 Tene So if I use fatal in my code, it makes my code more difficult to use for anyone who wants to use unthrown exceptions?
01:13 leprevost joined #perl6
01:13 TimToady yes, but then I'm a bit prejudiced against 'use fatal' to start with
01:14 ajs and libraries probably never have an excuse to do so
01:14 TimToady I don't think eager exceptions will work well in a parallel programming language
01:15 takadonet joined #perl6
01:15 Tene sorear: anyway, resuming, fail() will also push the returned failure onto the caller's $!
01:16 Tene sorear: at scope exit, all handled exceptions in $! are discarded, and any unhandled exceptions are thrown.
01:16 TimToady we may yet turn $! into @!
01:17 Rotwang left #perl6
01:17 Tene Ah, no, if there any unhandled exceptions in $!, they're all bundled into a single new exception, which is thrown, according to S04
01:17 TimToady yes, that's what S04 says, but I can change it :)
01:18 Tene So can I.
01:18 * sorear out
01:18 TimToady anyway, if we did that, CATCH would basically turn into a for @! {} rather than a given $! {}
01:20 Tene 'use fatal' vaguely feels like an exception handler that uses a third exit path (locally return)
01:20 ajs Too bad !! is taken... it would be a fun "re-bundle and throw" ala "CATCH { !! "Why?" }
01:20 Tene "no fatal" => FAIL { magic-local-return $! }
01:20 Tene ajs: die() defaults to $!
01:21 Tene implemented as an EH for every nonfatal scope would be horrible, though
01:21 ajs Yes, but die doesn't re-throw
01:21 ajs or bundle I mean
01:22 ajs So die $! just re-raises and die "Why?" raises a new exception.
01:24 ajs anyway, it was just a cute idea... I'm sure there will be an easy way to aggregate $! and a new exception
01:32 GinoMan left #perl6
01:33 GinoMan joined #perl6
01:34 whiteknight left #perl6
01:40 drbean left #perl6
01:42 drbean joined #perl6
01:53 mtk left #perl6
02:01 mtk joined #perl6
02:11 tylercurtis joined #perl6
02:13 ncow joined #perl6
02:14 ncow perl6: printf "$]";
02:14 p6eval niecza v4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Non-variable $ must be backslashed at /tmp/PvuZTtD0_j line 1:␤------> [32mprintf "[33m⏏[31m$]";[0m␤␤Parse failed␤␤»
02:14 p6eval ..rakudo 4bf132: OUTPUT«===SORRY!===␤Non-variable $ must be backslashed at line 22, near "$]\";"␤»
02:14 p6eval ..pugs: OUTPUT«$]»
02:14 ncow what the...
02:14 ncow what none-variable?
02:14 ncow perl6: printf "$[";
02:14 Eevee what the heck, why is there an eject symbol in v4's output
02:14 p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
02:14 p6eval ..niecza v4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Non-variable $ must be backslashed at /tmp/jrlAr2JIMq line 1:␤------> [32mprintf "[33m⏏[31m$[";[0m␤␤Parse failed␤␤»
02:14 p6eval ..pugs: OUTPUT«$[»
02:14 ncow perl6: print "$[";
02:15 p6eval niecza v4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Non-variable $ must be backslashed at /tmp/bZX5yGyd09 line 1:␤------> [32mprint "[33m⏏[31m$[";[0m␤␤Parse failed␤␤»
02:15 p6eval ..rakudo 4bf132: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
02:15 p6eval ..pugs: OUTPUT«$[»
02:15 nymacro joined #perl6
02:15 ncow no it's $], the first one
02:15 ncow perl6: print "$]";
02:16 p6eval niecza v4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Non-variable $ must be backslashed at /tmp/TD2aqP0tM3 line 1:␤------> [32mprint "[33m⏏[31m$]";[0m␤␤Parse failed␤␤»
02:16 p6eval ..rakudo 4bf132: OUTPUT«===SORRY!===␤Non-variable $ must be backslashed at line 22, near "$]\";"␤»
02:16 p6eval ..pugs: OUTPUT«$]»
02:16 TimToady std: $]
02:16 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $] variable; in Perl 6 please use $*PERL_VERSION at /tmp/FQ4eXJiHrq line 1:␤------> [32m$][33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
02:16 TimToady std: "$]"
02:16 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-variable $ must be backslashed at /tmp/N03DATmzZc line 1:␤------> [32m"$[33m⏏[31m]"[0m␤    expecting twigil␤Parse failed␤FAILED 00:01 119m␤»
02:16 TimToady hmm
02:16 TimToady std: "$|"
02:16 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Non-variable $ must be backslashed at /tmp/SahEVRo4NQ line 1:␤------> [32m"$[33m⏏[31m|"[0m␤    expecting twigil␤Parse failed␤FAILED 00:01 119m␤»
02:17 TimToady I guess the interpolator doesn't believe in obsolete special vars
02:18 ncow I thought Perl6 was still very much, well, Perl? Yet it can't even do a simple print statement?
02:18 ncow perl6: print "";
02:18 p6eval pugs, rakudo 4bf132, niecza v4:  ( no output )
02:18 ncow perl6: print "123";
02:18 p6eval pugs, rakudo 4bf132, niecza v4: OUTPUT«123»
02:18 TimToady that's fine, but most punctuational variables have gone away
02:19 TimToady most of them were "bad" globals
02:19 TimToady the STD parser will tell you the new usages, but apparently not if interpolated
02:19 TimToady std: $[
02:19 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $[ variable; in Perl 6 please use user-defined array indices at /tmp/ntH6MpFnfF line 1:␤------> [32m$[[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
02:20 TimToady std: $|
02:20 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $| variable; in Perl 6 please use :autoflush on open at /tmp/p_31XQgo9C line 1:␤------> [32m$|[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
02:20 TimToady the definition of "Perl" isn't a surface syntax, it's a way of thinking about computer languages
02:21 mekameka left #perl6
02:25 mekameka joined #perl6
02:25 mekameka left #perl6
02:27 GinoMan left #perl6
02:30 hudnix left #perl6
02:39 cdarroch left #perl6
02:43 tylercurtis jnthn: I've noticed that one of the ideas on the Perl Foundation's GSoC ideas page is optimizing multiple dispatch for Rakudo.
02:43 tylercurtis jnthn: Do you know if anyone is planning to apply for that?
02:44 ncow lol
02:45 ncow TimToady: sorry, I'm not sure what you mean by your last statement. Perl (Perl5) /is/ a language, not just a way of thinking, but as well defined syntax, et al
02:46 ncow maybe I'm not understanding your meaning
02:48 PerlJam ncow: Perl5 is Perl,  Perl6 is Perl.   Perl is philosophy more than syntax.
02:50 tylercurtis ncow: I think that, as far as this case specifically, he's saying that Perl 6's use of less opaque variable names for certain things doesn't make it less Perlish.
02:51 PerlJam Steal good ideas where you can.  TMTOWTDI (including ways that aren't perl).  Huffman.  Waterbed theory of complexity.  Easy things easy, hard things possible.   Be nice.  Hugs.  Camels.  Butterflies.  It's all "Perl"   :-)
02:52 aesop but perl isn't perl without the arcane globals!
02:53 TimToady that's a fable
02:53 PerlJam aesop: That's about as true as "perl isn't perl without using -> for method calls"
02:54 aesop i will miss the ->
02:54 PerlJam aesop: or look at it this way ... we've given up arcane globals and gotten twigils instead ;)
02:54 aesop ha
02:55 TimToady and you lose -> as method call but get it back as a "lambda"
02:56 TimToady rakudo: for %*ENV.kv -> $key, $value { say "$key='$value'" }
02:56 p6eval rakudo 4bf132: OUTPUT«Method 'key' not found for invocant of class 'String'␤  in <anon> at line 5228:CORE.setting␤  in main program body at line 1␤»
02:57 aesop was the `=>' retained
02:57 TimToady yes, but it really makes a Pair object now
02:58 * TimToady wonders why that didn't work...
02:58 PerlJam poor %*ENV implementations?
02:58 PerlJam er, s/s//
02:58 TimToady rakudo: say ~%*ENV.kv
02:58 p6eval rakudo 4bf132: OUTPUT«Method 'key' not found for invocant of class 'String'␤  in <anon> at line 5228:CORE.setting␤  in 'Any::join' at line 1␤  in 'List::Str' at line 2815:CORE.setting␤  in main program body at line 7538:CORE.setting␤»
02:58 TimToady looks like
02:58 TimToady anyway, thought I could demo both a twigil and the new ->
02:59 tylercurtis rakudo: say {}.kv
02:59 p6eval rakudo 4bf132: OUTPUT«␤»
02:59 TimToady pugs: for %*ENV.kv -> $key, $value { say "$key='$value'" }
02:59 p6eval pugs: OUTPUT«*** Can't modify constant item: VUndef␤    at /tmp/VaOTJhNphS line 1, column 5-14␤       /tmp/VaOTJhNphS line 1, column 5-14␤»
02:59 TimToady niecza: for %*ENV.kv -> $key, $value { say "$key='$value'" }
02:59 p6eval niecza v4: OUTPUT«Unhandled exception: Unable to resolve method kv in class Any␤  at /tmp/0ORFmdnnSP line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/CORE.setting line 1264 (CORE C525_ANON @ 2)␤  at /home/p6eval/niecza/lib/CORE.setting line 1265 (CORE module-CORE @ 39)␤  at
02:59 p6eval ../home/p6eval/niecz…
02:59 * TimToady strikes out
03:00 TimToady alpha: for %*ENV.kv -> $key, $value { say "$key='$value'" }
03:00 p6eval alpha : OUTPUT«PWD='/home/p6eval/rakudo-alpha'␤PATH='/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games'␤LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01…
03:00 TimToady hah!
03:03 takadonet night all
03:03 woldrich alpha: $0
03:03 p6eval alpha :  ( no output )
03:03 takadonet left #perl6
03:04 jaldhar joined #perl6
03:08 aesop i still am learning new things about perl5 every day
03:08 aesop $a = $b or $c;# bug: this is wrong
03:08 aesop ($a = $b) or $c;        # really means this
03:08 aesop this caught me today
03:09 TimToady general rule, use && when you want to do logic inside an assignment
03:09 TimToady this is still true in p6
03:10 aesop i see
03:10 PerlJam aesop: one of the neat things about Perl is that there's always something new to learn  :)
03:10 aesop i love the `english word' operators
03:10 aesop you can write statements that read like complete sentences
03:10 TimToady even more true in Perl 6 :)
03:13 TimToady rakudo: say so so not True
03:13 p6eval rakudo 4bf132: OUTPUT«Bool::False␤»
03:13 PerlJam I can't believe p5p is *just now* getting rid of the /o modifier and study and for all I know reset is still around too.
03:15 PerlJam I haven't used reset since *perl4* was the latest and greatest
03:16 TimToady rakudo: all for one; and one for all
03:16 p6eval rakudo 4bf132: OUTPUT«Could not find sub &and␤  in <anon> at line 22:/tmp/C91VsS8U_s␤  in main program body at line 1␤»
03:17 TimToady rakudo: all for one and one for all  # won't work, alas
03:17 p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Missing block at line 22, near ""␤»
03:17 * sorear is back
03:18 sorear TimToady: I hope fail can be made to work in a way that doesn't erase all the potential wins from parallelism...
03:19 lateau left #perl6
03:19 TimToady std: lol eager cat but not one caller
03:19 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'but' used at line 1␤Check failed␤FAILED 00:01 119m␤»
03:19 TimToady hmm
03:21 sorear TimToady: so the contents of a CATCH block might be executed multiple times?
03:21 leprevost left #perl6
03:21 sorear TimToady: what would my $err = try { }; do?  Would try { } fill @! with 'handled' exceptions?
03:22 TimToady if it's really a loop, yeah; but you could short circuit by eating up @!
03:22 TimToady I think @! probably would only keep unhandled exceptions
03:22 * TimToady waves hands in the usual way
03:23 sorear ncow: The eject symbol marks the exact location of the error.
03:24 TimToady std: splice one flat cat and make hash
03:24 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'and' used at line 1␤Check failed␤FAILED 00:01 119m␤»
03:24 lateau joined #perl6
03:25 sorear TimToady: currently you can say "try {}" and then use $!.  If $! becomes @! and @! only keeps unhandled exceptions, how will this work?
03:26 PerlJam sorear: TimToady waves his hands, there's a little puff of smoke and it just works.  ;)
03:27 Su-Shee left #perl6
03:27 TimToady $! might be the most recent unhandled exception
03:28 Su-Shee joined #perl6
03:29 tylercurtis PerlJam: I am opposed to language constructs in Perl 6 requiring TimToady's hand-waving. Imagine if someone tried to do "for 1..10000 { try { something; } }".
03:29 tylercurtis TimToady's arms would be ruined.
03:31 TimToady std: splice one hyper cat for now and chomp new hash
03:31 p6eval std 4608239: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/oswS_XeDAr line 1:␤------> [32mone hyper cat for now and chomp new hash[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 120m␤»
03:33 TimToady std: splice one hyper cat for now and chomp all hash lol
03:33 p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
03:34 Maddingue left #perl6
03:34 Maddingue joined #perl6
03:34 TimToady rakudo: say now
03:35 p6eval rakudo 4bf132: OUTPUT«Instant:2011-04-01T03:34:59.210172Z␤»
03:35 donri left #perl6
03:42 sorear PerlJam: I don't currently have a way to programmatically wave TimToady's hands
03:53 agentzh joined #perl6
04:04 sftp left #perl6
04:23 felipe left #perl6
04:27 ymasory left #perl6
04:31 mberends sorear: I have a very useful summer goal for you: get Niecza to support at least one GUI on Linux and then Windows
04:31 envi joined #perl6
04:32 fine joined #perl6
04:35 sorear mberends: cool
04:36 mberends callbacks are a big problem to solve, and probably handling native structures is too.
04:44 sorear callbacks?  te he he he
04:45 sorear take a look at SortHelper in Kernel.cs :>
04:48 ymasory joined #perl6
04:48 mberends cb.Invoke(...) yeah
04:52 mberends anyhow I predict that if Perl 6 early adopters could write GUI apps using Niecza, they would do so in large numbers.
04:53 sorear straw poll: what GUI(s) should Niecza support?
04:54 mberends tip: ignore technical cuteness, go for the lowest common denominator
04:54 * sorear likes :from<C#>, but there are a LOT of dark corners to make that work
04:54 mberends heh
04:54 * mberends likes :from<C>
04:54 sorear C# and P6 both depend heavily on multiple dispatch, but have not quite the same type system
04:55 sorear I don't think there are any good C GUI libraries
04:55 mberends I said ignore that
04:55 fine left #perl6
04:55 mberends go for largest potential user base
04:56 mberends we need to increase the bus number as top priority
04:57 sorear I thought by "technical cuteness" you meant stuff like yampa
04:57 mberends so the poll question should be (imho): which GUI has the lowest barrier for new users.
04:57 sorear so what do you want me to ignore? good, or C?
04:58 mberends ignore C, that was a subjective joke
04:59 sorear so we've got stuff like GTK, wx, and QT as the serious contenders in unix-land
04:59 sorear (my last Mac and Windows programing experience was in 7.6.0 and 98, respectively; I doubt either is still using the same GUIs)
04:59 mberends eliminate those that require additional installation steps. Out-the-box will win far more users.
05:00 sorear ok.
05:00 mberends Tene++ did a bit with E17 but almost nobody got it to run.
05:02 mberends the ideal first target platform (imo) is the Debian 6.0 Live CD.
05:03 kaare_ joined #perl6
05:04 birdwindupbird joined #perl6
05:05 birdwindupbird left #perl6
05:06 sorear diabian is at 6 now?
05:11 birdwindupbird joined #perl6
05:11 mberends yes, after a long long wait, 6.0 was officially released in February. It was like Christmas!
05:11 sorear mberends: I'm of two minds about the value of :from<C#>
05:13 sorear on the one hand, GUIs (several!), web servers, compression and encryption, networking, and much more for the price of a single summer's work
05:13 sorear on the other hand ... lockin
05:13 mberends understandably. It is probably very tempting, and scary.
05:14 * sorear does not like the idea of encouraging unportable Perl 6 much
05:15 lateau left #perl6
05:15 * sorear out
05:16 * mberends too
05:16 mberends left #perl6
05:26 lateau joined #perl6
05:28 donri joined #perl6
05:34 am0c^ joined #perl6
05:39 noganex_ joined #perl6
05:41 noganex left #perl6
05:43 ymasory left #perl6
05:49 moritz_ good morning
05:54 cosimo left #perl6
05:54 Tene mberends: I wasn't aware that anyone else even tried to get my e17 stuff to run
05:54 donri left #perl6
05:56 Tene sorear: I'm pretty pleased with EFL as a C GUI library, but I've never done anything very big with any GUI library, so I'm probably underqualified to comment.  I'm curious if you have more-detailed opinions.
06:02 wtw joined #perl6
06:03 kostja_osipov joined #perl6
06:36 Rotwang joined #perl6
06:52 am0c joined #perl6
07:00 tylercurtis left #perl6
07:09 shabble left #perl6
07:17 Mowah joined #perl6
07:34 fhelmberger joined #perl6
07:55 flussence_ joined #perl6
07:57 flussence left #perl6
08:15 Su-Shee hi everyone.
08:16 moritz_ good morning Su-Shee
08:16 Su-Shee what? GUI? Gtk3with GIR of course!
08:17 moritz_ your patches are very welcome :-)
08:17 kostja_osipov left #perl6
08:19 Su-Shee personally, I don't think desktop GUI support is very important as this is something slowly vanishing into the background anyways. also, if you're in your right mind, you go for seed anyways these days. so level of importance: low. (besides gathering experience and knowledge and show that it can be done etc.)
08:20 Su-Shee Tene: I did run your GUI stuff as well. ;)
08:22 * moritz_ thinks that GUI application designers could learn a lot from web apps
08:22 moritz_ for example: make all text copy&pastable
08:23 moritz_ don't use modal dialogs
08:23 moritz_ don't ask if I'm sure. JDFI, and maybe make my change reversible
08:24 Su-Shee moritz_: I don't know what gui you are using - but use another one :)
08:24 moritz_ make different views or functionality easily available with URIs
08:24 moritz_ Su-Shee: for example I'm using thunderbird/icedove. It gives me a modal dialog whenever it loses connection to a server
08:25 moritz_ when the internetz disconnected for a while, I have to click away a few such dialogs for each server I configured
08:25 Su-Shee moritz_: "baeh."
08:25 am0c^ left #perl6
08:26 Su-Shee moritz_: though that's because everything mozilla is highly optimized for windows gui and windows actually has the notion of modal dialogs.
08:26 moritz_ Su-Shee: and from my experience that's the norm rather than exception
08:26 moritz_ Su-Shee: even on windows I don't want modal dialogs
08:26 Su-Shee moritz_: haven't tried gnome 3 yet.
08:26 moritz_ what do I gain from not being able to use my program while that error message is displayed?
08:28 Su-Shee you're really barking up the wrong tree :) I don't even use desktop gui anymore besides maybe 5 applications and a very reduced window manager. everything else plays in web for me.
08:30 Su-Shee anyways. I'd look into how seed works if I'd had to make perl 6 bindings to gtk3.
08:33 kostja_osipov joined #perl6
08:37 dorlamm joined #perl6
08:45 mberends joined #perl6
08:49 dakkar joined #perl6
08:52 Su-Shee *hihi* #perl topic for today: "...| perl is currently being rewritten in Java for better portability and OO support
08:52 mberends mypaint is awesome! hwo sad for us that it is written in Python 2.6, and that we cannot write awesome software like that in Perl 6. http://mypaint.intilinux.com/
08:52 mberends *how
08:53 Su-Shee it probably can't be rewritten in python 3 too ;)
08:54 moritz_ mberends: I'm currently writing a project of mine in perl 5, because p6 just misses modules, and isn't fast enough. But man how I miss some of the syntactic goodies
08:55 moritz_ I keep writing $obj->update({title => $title}), and can't help thinking that it would just be :$title in p6, for example
08:55 mberends watching mypaint install and run is what prompted my GUI suggestion for Niecza
08:55 moritz_ or   post '/edit' => sub { ... }\n
08:55 Su-Shee mberends: hm, there's a couple of c and c++ libs involved, and cairo as well.
08:55 moritz_ p5 needs a newline after the }
08:55 moritz_ which I *always* forget
08:56 laui joined #perl6
08:58 moritz_ is now known as moritz
09:00 * mberends considers changing nick to mberends_ to preserve parity
09:01 laui left #perl6
09:02 moritz I'll try to get the freenode staff to drop the old registration for 'moritz'
09:03 moritz if that fails, I'll take up the underscore again
09:14 Rotwang left #perl6
09:17 am0c left #perl6
09:19 moritz \o/ my Hague grant has been accepted
09:19 moritz [Coke]: do you want to be my grant manager?
09:20 Khisanth left #perl6
09:20 f00li5h left #perl6
09:20 Khisanth joined #perl6
09:23 dorlamm left #perl6
09:23 am0c^ joined #perl6
09:28 bbkr_ rakudo: NaN.WHAT.say # oh irony :)
09:28 p6eval rakudo 4bf132: OUTPUT«Num()␤»
09:30 _twitch joined #perl6
09:31 bacek joined #perl6
09:35 lateau left #perl6
09:38 patrickas joined #perl6
09:39 mtk left #perl6
09:40 orafu left #perl6
09:41 orafu joined #perl6
09:45 birdwindupbird left #perl6
09:47 mtk joined #perl6
09:47 birdwindupbird_ joined #perl6
09:48 patrickas RT#87420 / RT#87440 are too narrow in scope is there a way to change the description? ot should it be closed and a new bug reopened? or should I just add a message leaving title and everything else as is?
09:49 am0c^ left #perl6
09:49 patrickas apparently I was having a communication fail about the failure of fail yesterday :-)
09:50 moritz patrickas: if you have write access to the perl6 queue on rt, you can change the title on the 'basics' link
09:51 moritz and merge them when you click on 'links'
09:51 patrickas oh cool! seems I do ... let me try
09:51 mberends moritz: congratulations on your grant!
09:51 patrickas Actually maybe just discuss it here first
09:52 moritz mberends: thanks
09:52 patrickas the real issue is that "fail" does not produce any visible errors in the abscence of 'use strict'
09:52 moritz s/strict/fatal/
09:52 patrickas right
09:53 patrickas the weird behavior of seq op is just one of tons of other examples
09:53 moritz yes, calling methods on Failure should result either in another Failure(), or in the original exception being thrown
09:53 patrickas rakudo: say (3+4i).Real;say ()[-3];say [*..*];
09:53 moritz agreed
09:53 p6eval rakudo 4bf132:  ( no output )
09:53 patrickas all thos fail with error messages in the same way ... so I will try to make the report about that :-)
09:56 patrickas permission denied on the RT :-( apparently I have enough privs to edit the message but not enough to save it!
09:56 f00li5h joined #perl6
09:57 pmurias joined #perl6
09:58 moritz I've changed the title now
09:58 moritz patrickas: maybe write a reply explaining the deeper underlying problem?
09:58 patrickas ok i will add a message explaining the issue
09:58 moritz replies don't need special permissions
09:58 patrickas sure, already half way through it
09:59 dakkar left #perl6
10:01 domidumont left #perl6
10:07 am0c^ joined #perl6
10:07 patrickas moritz ... I just realized maybe the issue of say (3+4i).Real;say ()[-3];say [*..*];
10:07 birdwindupbird_ left #perl6
10:08 patrickas should be in two separate bugs ?
10:08 birdwindupbird joined #perl6
10:08 moritz why?
10:08 patrickas s/two/a/
10:09 birdwindupbird left #perl6
10:09 moritz rakudo: say (3+4i).Real.WHAT
10:09 p6eval rakudo 4bf132: OUTPUT«Failure()␤»
10:09 moritz rakudo: say ()[-3].Real.WHAT
10:09 p6eval rakudo 4bf132: OUTPUT«Method 'Real' not found for invocant of class 'Failure'␤  in main program body at line 22:/tmp/YaECJqCXln␤»
10:09 moritz rakudo: say ()[-3].WHAT
10:09 p6eval rakudo 4bf132: OUTPUT«Failure()␤»
10:09 birdwindupbird joined #perl6
10:09 patrickas sorry I mean in a separate bug than the sequence one
10:09 moritz why?
10:09 moritz ok, we have two bugs
10:09 patrickas the seq is about new Failures not preserving old ones
10:09 moritz one is that say() silently fails
10:10 patrickas where as these are about Failure not showing up at all
10:10 moritz the other is that Failure.somemethod doesn't do what it should
10:10 moritz they look related to me, though maybe not identical
10:10 patrickas yes exactly .. I thought they were the same thing then when writing the reply I realized they might just be different
10:11 patrickas say ~()[-3];
10:11 patrickas rakudo: say ~()[-3];
10:11 p6eval rakudo 4bf132: OUTPUT«Cannot use negative index -3 on Parcel␤  in main program body at line 1␤»
10:11 patrickas rakudo: say ~(1, 3, 4, 7 ... 20);
10:11 p6eval rakudo 4bf132: OUTPUT«Method 'count' not found for invocant of class 'Failure'␤  in <anon> at line 861:CORE.setting␤  in 'List::Bool' at line 1␤  in <anon> at line 881:CORE.setting␤  in 'Any::join' at line 1␤  in 'List::Str' at line 2815:CORE.setting␤  in main program body at line
10:11 p6eval ..7538:CORE.setting␤»
10:12 moritz rakudo: say ~(1, 3, 4, 7 ... 20).perl;
10:12 p6eval rakudo 4bf132: OUTPUT«Method 'count' not found for invocant of class 'Failure'␤  in <anon> at line 861:CORE.setting␤  in 'List::Bool' at line 1␤  in <anon> at line 881:CORE.setting␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2845:CORE.setting␤  in main program body at line
10:12 p6eval ..22:/tmp/ZutBAtcthG␤»
10:12 zby_home_ joined #perl6
10:12 moritz rakudo: say ~(1, 3, 4, 7 ... 20)[0]
10:12 p6eval rakudo 4bf132: OUTPUT«1␤»
10:12 moritz it's a list of an element and a failure
10:12 patrickas it is lazy ... so at this point it still doesn't know
10:12 nymacro left #perl6
10:13 moritz but that's still an instance of "calling a method on a Failure doesn't do what it should"
10:13 moritz even if the method is called from within the iterator
10:14 patrickas I guess you are probably right...
10:14 patrickas so I will add those example to the bug after all
10:14 birdwindupbird left #perl6
10:14 moritz I kinda think we should avoid fail() in the rakudo code base until this is figured out somehow
10:15 patrickas any better suggestions ?
10:15 moritz fix Failure() :-)
10:16 patrickas oh sure I mean whad do we use until we fix failure ?
10:16 patrickas rakudo: say ('a'=>'b').Num
10:16 p6eval rakudo 4bf132: OUTPUT«Don't know how to numify a Pair␤  in 'Cool::Num' at line 1␤  in main program body at line 22:/tmp/g0wtFXekTY␤»
10:16 moritz die()
10:16 patrickas strage I though that failed in the same way
10:17 nymacro joined #perl6
10:17 moritz jnthn: is there some (maybe hacky) way to install a fallback method to a PIR class? (ie one that's called if another method can't be found)
10:18 birdwindupbird joined #perl6
10:18 patrickas rakudo: say ('a'=>'b').Numeric; #my bad ... that one does
10:18 p6eval rakudo 4bf132:  ( no output )
10:18 am0c joined #perl6
10:18 moritz the difference is probably that .Num goes through a vtable
10:18 moritz same for prefix:<~>
10:19 moritz whereas say uses .Str, or something
10:19 patrickas yap
10:20 moritz this whole vtable business is a huge mess
10:20 moritz we should avoid them for any Perl 6 objects
10:20 moritz and only use them for foreign objects
10:21 moritz but I think some very basic things like 'if' go through vtables
10:22 moritz if $x  should really desugar to  if True === $x.Bool  where === is a low level primitive
10:23 * moritz -> lunch
10:24 * patrickas too
10:24 moritz unlunch... the usual peers aren't around right now :-)
10:25 * patrickas goes through with the plans ... usual peers have been notified and are on stand by :-)
10:25 M_o_C joined #perl6
10:25 patrickas left #perl6
10:25 tzhs joined #perl6
10:30 donri joined #perl6
10:43 domidumont joined #perl6
10:47 felipe joined #perl6
11:00 ajs left #perl6
11:04 am0c^ left #perl6
11:31 agentzh left #perl6
11:36 leprevost joined #perl6
11:49 tzhs left #perl6
11:53 Patterner left #perl6
11:54 Psyche^ joined #perl6
11:54 Psyche^ is now known as Patterner
11:56 dakkar joined #perl6
12:19 kostja_osipov left #perl6
12:21 kostja_osipov joined #perl6
12:22 kostja_osipov left #perl6
12:24 M_o_C left #perl6
12:32 [Coke] moritz: I would not mind being your grant manager, but apparently I am a terrible hague grant manager.
12:33 moritz [Coke]: what makes you think so? pmichaud's not-yet-started doc grant?
12:34 [Coke] ah, see, you should be his grant manager, as you are more on top of it than I am.
12:37 moritz :-)
12:38 moritz [Coke]: I think that no grant manager could have changed pmichaud's unfortunate real life circumstances
12:46 [Coke] moritz: so, anyway, yes, feel free to suggest me as a GM.
12:47 moritz [Coke]: thanks, will tell Karen
12:49 takadonet joined #perl6
12:50 bbkr_ rakudo.org is down, "HTTP request sent, awaiting response... No data received."
12:50 moritz not again.
13:01 pmurias left #perl6
13:02 JimmyZ joined #perl6
13:02 arlinius left #perl6
13:07 hudnix joined #perl6
13:11 [Coke] I just pinged Andy.
13:11 M_o_C joined #perl6
13:24 ajs joined #perl6
13:25 sorear good * #perl6
13:26 sorear Tene: I've never used EFL
13:26 plobsing left #perl6
13:28 jaldhar left #perl6
13:28 sorear Su-Shee: What is "seed"?
13:28 jaldhar joined #perl6
13:29 Su-Shee sorear: Gtk3 exposes via GIR which is bound into Javascript which is called "seed". It's basically the entire Gnome environment fromGtk widgets down to the network stack
13:30 Su-Shee sorear: amazing API, they also managed the binding really fast, I think around 1.5 years for the whole thing.
13:31 sorear Su-Shee: are you telling me gtk3's official language is javascript?  is this a joke?
13:31 mberends commute &
13:31 mberends left #perl6
13:32 PerlJam sorear: doesn't sound very jokey even  though this is AFD
13:32 Su-Shee sorear: no, why would it? (it's C of course, JS is just the bindings.)
13:33 Su-Shee sorear: this discussion is really old and they chose javascript because it's a common language for people who even consider doing GUI stuff. Excellent choice. also, there's a couple of javascript standalones to choose from and they're blazing fast.
13:34 ronoreck left #perl6
13:35 ronoreck joined #perl6
13:36 JimmyZ left #perl6
13:46 sftp joined #perl6
13:47 sorear Su-Shee: ah... I thought you were saying that niecza would need to embed a javascript interpreter to use gtk3
13:48 Holy_Cow joined #perl6
13:49 Sarten-X left #perl6
14:00 jaldhar left #perl6
14:00 Sarten-X joined #perl6
14:00 slavik1 left #perl6
14:01 slavik1 joined #perl6
14:03 Su-Shee no :)
14:03 Su-Shee the key is GIR.
14:03 spq joined #perl6
14:05 PerlJam Victory!  Victory for Zim!
14:09 takadonet ?
14:13 xinming joined #perl6
14:16 xinming_ left #perl6
14:22 sorear PerlJam: that's my association too.
14:24 wtw left #perl6
14:25 demetro joined #perl6
14:27 bluescreen10 joined #perl6
14:32 Axius joined #perl6
14:33 M_o_C left #perl6
14:42 plobsing joined #perl6
14:44 mberends joined #perl6
14:48 am0c left #perl6
14:49 stkowski joined #perl6
14:54 bluescreen10 left #perl6
14:54 bluescreen10 joined #perl6
14:54 Axius left #perl6
14:56 Trashlord left #perl6
14:57 MayDaniel joined #perl6
14:57 Trashlord joined #perl6
14:59 stkowski left #perl6
14:59 hercynium joined #perl6
15:04 MayDaniel left #perl6
15:06 dual left #perl6
15:08 risou joined #perl6
15:08 ymasory joined #perl6
15:10 sorear TimToady: ping
15:10 sorear TimToady: how do 'dispatch' subs interact with 'lastcall; nextsame' ?
15:12 kjeldahl joined #perl6
15:12 sorear class A { method x() { say 0 } }; class B is A { proto method x() {*}; multi method x() { say 1; lastcall; nextsame } }; class C is B { multi method x() { say 2 } }; C.x()
15:12 sorear erm
15:12 sorear class A { method x() { say 0 } }; class B is A { proto method x() {*}; multi method x() { say 1; lastcall; nextsame } }; class C is B { multi method x() { say 2; nextsame } }; C.x()
15:13 sorear I am thinking this prints 2 1 1 0
15:13 stkowski joined #perl6
15:14 birdwindupbird left #perl6
15:14 sorear C.x (dispatcher) calls C.x:() and then B.x:(), which transfers control to the next non-multi method, which is B.x (dispatcher), which calls B.x:() again
15:17 birdwindupbird joined #perl6
15:18 domidumont left #perl6
15:23 * sorear punts on implementing the correct interaction between MMD and MI
15:30 M_o_C joined #perl6
15:34 quotemstr left #perl6
15:35 sirrobert clear
15:35 sirrobert left #perl6
15:37 [Coke] rakudo.org back, btw.
15:37 takadonet good
15:39 ymasory left #perl6
15:45 slavik1 left #perl6
15:45 tty234 joined #perl6
15:48 TimToady sorear: I think we should arrange things so it only prints 2 1 0; all the dispatchers for a proto have to cooperate somehow to know that their proto has already been handled, or lastcall should somehow disqualify anything under the proto
15:48 TimToady but it's an interesting problem
15:49 bbkr_ moritz ++ # rewriting IO::Socket::INET in http://rt.perl.org/rt3/Ticket/Display.html?id=83866 works now
15:51 TimToady same with MI, a lastcall invalidates the set of methods governed by the proto regardless of where the current dispatcher lives
15:52 TimToady if we can't make this work out nicely with set theory, we're probably going to do it wrong...
15:52 ymasory joined #perl6
15:54 TimToady and I suspect that lastcall invalidates all the methods visible downward, not just the subset of that visible upward from the point of call
15:55 TimToady it's more like we really called the proto, and it delegates to the dispatchers, but it's the proto that is abandoned with lastcall.
15:58 TimToady dispatchers are perhaps not real, but a convenient fiction to describe the cloning of the candidate list slot into different caller scopes, but the actual dispatcher code might just be in the proto
15:59 dakkar left #perl6
16:01 dakkar joined #perl6
16:02 fhelmberger left #perl6
16:09 PerlJam TimToady: does each proto then imply another dispatcher?  Or only if there's custom logic in the proot?
16:09 PerlJam er, proto
16:10 TimToady {*} implies a dispatcher, which might or might not be in-lined
16:10 PerlJam ok
16:11 TimToady if we have real dispatchers, they have to know which proto they belong to, so we don't get dup calls like the above example
16:12 kaare_ left #perl6
16:13 bbkr_ tadzik: I've read your module management post and "panda" is in fact very cool name for this. reminds me of "pan-da 3" on university (polish game of words) :D
16:14 slavik1 joined #perl6
16:16 sorear I think the proto model is closer to what niecza needs
16:19 TimToady you mean the model in which dispatchers aren't really there?
16:19 TimToady in which case you need some other means of managing candidate sets per caller scope...
16:20 sorear what's a caller scope?
16:20 sorear I'm implementing multi *methods* now.
16:21 TimToady S12:1044
16:22 TimToady in the case of multi methods, it's the actual class of the object
16:22 TimToady in the case of multi subs, it's the lexical scope of the call
16:23 MindosCheng joined #perl6
16:24 TimToady (the "inheritance" of lexical scopes is SI, as it were)
16:24 TimToady since you can't have two disjoint outer lexical scopes
16:24 sorear there will be dispatchers but they won't participate in the normal MRO system
16:24 sorear they will replace the corresponding proto in the per-class MRO tables
16:25 * sorear reads up on GTK3
16:25 cogno joined #perl6
16:25 moritz bbkr_: TiMBuS++ deserves the credit, he did nearly all of the work
16:26 nymacro left #perl6
16:26 M_o_C left #perl6
16:29 birdwindupbird left #perl6
16:29 risou left #perl6
16:29 risou joined #perl6
16:34 dakkar left #perl6
16:40 kostja_osipov joined #perl6
16:42 cdarroch joined #perl6
16:42 cdarroch left #perl6
16:42 cdarroch joined #perl6
16:43 cogno left #perl6
16:53 drbean left #perl6
16:55 sorear huh, it looks like gtk assumes C calling convention rules [ int(*)() can be cast to int(*)(int) and the argument will be ignored, etc ]
16:56 drbean joined #perl6
16:57 rdesfo joined #perl6
16:59 spq left #perl6
17:00 M_o_C joined #perl6
17:06 envi left #perl6
17:11 awwaiid left #perl6
17:16 Chillance joined #perl6
17:16 rdesfo left #perl6
17:18 awwaiid joined #perl6
17:20 slavik1 left #perl6
17:20 slavik2 joined #perl6
17:23 ymasory left #perl6
17:30 masak joined #perl6
17:30 masak oh hai zebras
17:30 phenny masak: 00:39Z <sorear> tell masak You need to go back in time to the 80s and check out X11's color parser, or at least /usr/share/X11/rgb.txt
17:30 masak there's a unicorn in my freenode :)
17:31 masak sorear: the 80s were so much better in every way.
17:33 ymasory joined #perl6
17:33 ymasory left #perl6
17:44 dual joined #perl6
17:48 Su-Shee masak: aren't you like in your end 20ies? ;)
17:50 masak aye
17:52 Su-Shee masak: the 90ies were better. ;)
17:52 PerlJam The 70s were so much better ...   ;)
17:53 ajs left #perl6
17:53 frettled Neither had Perl 6, so you're all wrong, the 10s are best.  :D
17:56 masak frettled++ # wins ;)
17:56 masak the 20s are gonna be awesome...
17:56 frodwith left #perl6
17:56 Su-Shee the 20ies already were awesome ;) famously so. :)
17:57 frettled Repeat performance!
17:57 flussence_ (but at the same time, you could say that it wasn't that bad since people still had Lisp Machines back then...)
17:57 frettled at La Cage aux Folles!
17:57 PerlJam Things were *so* much better before there was digital technology  :)
17:58 frettled PerlJam: you mean before people learned to count using their digits?  :D
17:58 PerlJam what digits?  we have octets.  :)
17:59 _twitch left #perl6
18:00 Su-Shee we europeans still have 10 toes and fingers ;)
18:01 frettled I thought we had 20?
18:01 PerlJam It's not the fingers or toes, but the space between them that's important
18:01 masak PerlJam: I think you and Lao Zi would make excellent drinking buddies.
18:02 frodwith joined #perl6
18:02 Su-Shee masak: if PerlJam makes it to china with 8 toes ;)
18:02 masak rakudo: sub frod(:$with($channel)) { say "OH HAI, $channel!" }; frod :with<#perl6>
18:02 p6eval rakudo 4bf132: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in sub-signature of parameter $with␤  in 'frod' at line 1:/tmp/KgR4rimIE2␤  in main program body at line 22:/tmp/KgR4rimIE2␤»
18:02 masak rakudo: sub frod(:with($channel)) { say "OH HAI, $channel!" }; frod :with<#perl6>
18:03 p6eval rakudo 4bf132: OUTPUT«OH HAI, #perl6!␤»
18:03 masak Su-Shee: making it to China with any number of toes sounds like a very difficult way to travel.
18:03 masak I'd rather use fast-moving transport of some kind...
18:04 Su-Shee masak: a former room mate of mine went with the transsiberian train to china :)
18:05 mkramer joined #perl6
18:06 masak some detour.
18:06 risou left #perl6
18:06 Su-Shee ah you just get in in berlin and change trains in moscow and that's about it for like 2 weeks or so. ;)
18:07 masak rakudo: say "siberia".trans(["s", "beri"] => ["ch", "n"])
18:07 p6eval rakudo 4bf132: OUTPUT«china␤»
18:07 masak \o/
18:07 * TimToady wonders if jnthn++ is taking the trans-siberian train back from Taiwan...
18:07 masak not that I know.
18:07 mkramer left #perl6
18:08 takadonet wonder when jnth branch lands....
18:09 takadonet could really use it right now in bioperl6
18:10 tadzik bbkr_: ;)
18:11 Tene takadonet: patches accepted ;)
18:12 takadonet Tene: I know :) Just enjoy coding in my little world : https://github.com/cjfields/bioperl6/commits/master
18:15 ymasory joined #perl6
18:26 tadzik bbkr_: I know this game of words far more than I should :)
18:32 slavik2 left #perl6
18:45 slavik1 joined #perl6
18:48 bacek left #perl6
18:52 stkowski left #perl6
18:53 stkowski joined #perl6
19:02 hercynium left #perl6
19:04 mkramer joined #perl6
19:09 takadonet left #perl6
19:09 prammer is there a p6 equivalent to a restricted hash, ala the p5 Hash::Util?
19:18 robinsmidsrod left #perl6
19:21 robinsmidsrod joined #perl6
19:22 MayDaniel joined #perl6
19:31 masak prammer: no, but (ideally) you can provide your own class instead of a hash in Perl 6.
19:31 masak prammer: something like 'my %restricted is RestrictedHash;'
19:32 masak or (I guess), you could do the same with a mixin role. 'role Restricted { #`[method declarations here] }; my %hash; %hash does Restricted;'
19:39 M_o_C left #perl6
19:40 prammer masak: thanks.  I guess that seems about right.
19:41 prammer I'm wondering if a Hash-like thing that dies if you ask for a value for a key that doesn't exist would be useful
19:41 donri left #perl6
19:41 frodwith left #perl6
19:41 frodwith joined #perl6
19:42 prammer rakudo: my %h; say %h<x> ?? 'true' !! 'false'; say (%h<x> eq 'Any()') ?? 'true' !! 'false'; # value is false but somehow is eq to something?
19:43 p6eval rakudo 4bf132: OUTPUT«false␤true␤»
19:43 * prammer wonders if that will bite someone
19:43 donri joined #perl6
19:43 masak prammer: ISTR S09 lets you restrict the domain of keys a hash can have.
19:44 masak hold on, let me check.
19:44 prammer masak: that's a bit different
19:45 prammer but useful in different ways
19:45 frodwith left #perl6
19:45 frodwith joined #perl6
19:46 masak oh, ok.
19:46 prammer I'm thinking of trying to catch typos in the key
19:46 masak it's at S09:1155, fwiw.
19:46 prammer kinda how the type system can potentially catch typos in method names
19:46 masak prammer: I thought that was what I was saying too.
19:47 masak if you restrict the keys you can have, you'll get an error when you typo outside of that.
19:47 masak not sure you can do more than that :)
19:47 prammer masak: ah, yes.  That's how the p5 restricted hash seems to work
19:47 masak one of the examples given in S09 is 'my num %hash{'a'..'f'};'
19:48 masak means you can only have nums as values and only 'a'..'f' as keys.
19:48 * prammer reads
19:54 masak S09 is definitely my favourite largely unimplemented S.
19:54 masak so many goodies in there. :)
19:54 prammer I don't think I've read it yes.  I spend too much time in S02
19:54 prammer s/yes/yet/
19:54 frodwith left #perl6
19:56 frodwith joined #perl6
19:58 frodwith left #perl6
19:58 masak S02 is large and ambitious. it's become bloated over the years because it introduces all the "bits and pieces", and Perl 6 has accrued quite a few bits and lots of pieces. :)
19:59 masak in fact, we should probably rename it Perl 26.
20:00 masak prammer: the more I think about your code with %<x> above, the less of a problem it seems in practice.
20:00 masak given how you can do this...
20:01 leprevost left #perl6
20:01 masak rakudo: my $foo = "OH HAI"; $foo does role { method Bool { False } }; say ?$foo; say $foo
20:01 p6eval rakudo 4bf132: OUTPUT«Bool::False␤OH HAI␤»
20:01 leprevost joined #perl6
20:01 masak it's false, yet it's equal to something... :)
20:01 frodwith joined #perl6
20:02 masak (actually, it just boolifies to False. but still)
20:02 mtk left #perl6
20:04 mkramer left #perl6
20:05 frodwith left #perl6
20:05 frodwith joined #perl6
20:06 frodwith left #perl6
20:07 prammer masak: you're probably right
20:08 frodwith joined #perl6
20:08 masak I suspect I am. if I'm worried that a hash key might not exist, I (a) wouldn't string-compare it to 'Any()' in the first place, but (b) use .exists or :exists instead.
20:10 sorear hi #perl6.
20:11 mtk joined #perl6
20:11 masak sorear! \o/
20:13 sorear I'm reading the GObject-Introspection documentation
20:13 sorear the introduction paragraph is, I quote, "Bla bla bla bla blah"
20:14 sorear this doesn't bode well
20:15 y3llow_ joined #perl6
20:15 masak :/
20:15 pothos_ joined #perl6
20:17 y3llow left #perl6
20:17 y3llow_ is now known as y3llow
20:17 pothos left #perl6
20:17 pothos_ is now known as pothos
20:20 frodwith left #perl6
20:20 frodwith joined #perl6
20:21 leprevost left #perl6
20:22 frodwith left #perl6
20:23 frodwith joined #perl6
20:27 ggoebel left #perl6
20:32 ggoebel joined #perl6
20:33 ggoebel left #perl6
20:33 frodwith left #perl6
20:33 icwiener joined #perl6
20:34 frodwith joined #perl6
20:36 bacek joined #perl6
20:37 masak lol! and yes, point. http://funcall.blogspot.com/2011/03/tail-recursion-and-debugging.html
20:41 masak by the way, the spec is totally silent on tail call optimizations.
20:41 masak it mentions 'tail call' once, in the context of callsame/callwith.
20:41 masak but a tail call does not in itself imply a tail call optimization.
20:41 Tene I note, btw, that hashes with fixed sets of keys should be fairly optimizable with 6model
20:42 masak 6model++
20:42 frodwith left #perl6
20:42 frodwith joined #perl6
20:42 Tene Some of them, at least. :)
20:43 frodwith left #perl6
20:43 masak I've had occasion to go back to perlmonks threads from 2003, and the optimism from various people about what Perl 6 will be able to do is sometimes... saddening in hindsight. :/
20:43 frodwith joined #perl6
20:43 masak Perl 6 will definitely be able to optimize those tail calls if you ask the perlmonks threads as of 2003.
20:44 masak not to mention it'll be faster in various respects, thanks to Parrot.
20:45 MayDaniel left #perl6
20:46 frodwith left #perl6
20:46 frodwith joined #perl6
20:46 masak threads. Perl 6 will handle threads from the start.
20:46 masak (yes, Niecza does that. sorear++)
20:47 kjeldahl left #perl6
20:50 frodwith left #perl6
20:50 frodwith joined #perl6
20:52 tadzik Happy Programmers' Day #perl6!
20:52 frodwith left #perl6
20:52 frodwith joined #perl6
20:53 frodwith left #perl6
20:53 frodwith joined #perl6
20:54 masak April 1st is Programmers' Day?
20:54 masak is it because programmers are fools? :P
20:54 tadzik ha, almost-gotcha
20:54 tadzik you were supposed to say "hey, that's not today, is it?"
20:55 masak :P
20:55 masak the only reason I didn't google for it is that it's Friday evening and I'm feeling lazy. :)
20:56 masak rakudo: sub infix:<;>($a, $b) { $a, $b }; say [5;42].perl
20:56 p6eval rakudo 4bf132: OUTPUT«[5, 42]␤»
20:56 masak \o/
20:56 masak rakudo: sub infix:<;>($a, $b) { $a, $b }; say [5;42;14].perl
20:56 tadzik whoa, whoa :)
20:56 p6eval rakudo 4bf132: OUTPUT«[(5, 42), 14]␤»
20:56 masak close enuf.
20:56 frodwith left #perl6
20:56 masak tadzik: in my spare time, I'm experimenting with emulating S09 :)
20:56 frodwith joined #perl6
20:57 frodwith left #perl6
20:57 frodwith joined #perl6
20:57 tadzik yeah, seen that
20:57 frettled left #perl6
20:57 tadzik oh, I should finish my proposal and maybe send it
20:59 frodwith left #perl6
20:59 frodwith joined #perl6
21:01 masak just like I should sign up as a GSoC menthol.
21:01 masak mentor. not menthol. mentor. :P
21:02 frodwith left #perl6
21:02 frodwith joined #perl6
21:03 masak let's see... I still can't set the operator precedence of a user-defined operator, can I?
21:04 frodwith left #perl6
21:04 moritz OMG, the amazon advertising API returns the weight of books in "hundreth pounds", and the dimensions in "hundreth inches"
21:04 frodwith joined #perl6
21:04 moritz masak: no, you can't
21:05 masak moritz: pounds and inches are so pre-enlightenment.
21:06 moritz masak: yes. And fractions thereof even more so
21:06 moritz imagine "milli horse power"
21:06 frodwith left #perl6
21:06 frodwith joined #perl6
21:06 moritz or british thermal units / (one score)
21:07 Tene I remember on one physics test back in university, I gave all velocities measured in furlongs per fortnight.
21:08 tadzik british thermal units? Like "Green Tea", "Earl Grey" and so on?
21:08 masak moritz: well, I think the "hundredths" pattern as such is likely a sign of design sanity. it makes a lot of sense to treat money as integer multiples of the lowest monetary unit, for example.
21:09 masak moritz: and the Android API measures progress bars in steps of .01%, and does integer multiples of those.
21:09 moritz masak: hm, right
21:09 moritz tadzik: BTU is like Joule, just not enlightened
21:09 masak Tene: I like the length unit "beard second", in analogy with "light year".
21:10 * tadzik tries to connect beard with lignt
21:12 moritz "bright, fast-growing beard"?
21:13 * masak pushes the buzzer
21:13 masak "Who is Albus Dumbledore?"
21:14 masak oh wait, what am I doing inside this overpowered IBM supercomputer?
21:15 frodwith left #perl6
21:16 frodwith joined #perl6
21:17 bluescreen10 left #perl6
21:17 tadzik btw, I got quite turned off HPatMoR after Harry blackmails and threatens Dumbledore and friends and actually wins the argument with almost no consequences
21:18 frodwith left #perl6
21:18 frodwith joined #perl6
21:18 masak it was a very uncharacteristic thing for a child to do.
21:18 masak but the Harry in MoR is not normal.
21:19 tadzik sure. But I was like "oh, come on". Alike feeling like with Narnia, when a boy betrays his sister and brother for the chocolates and is then called by them "Edward the Just"
21:20 masak also, consider that this all takes place against the unspoken backdrop of the canon, where Snape gets to be an unstopped bully the whole time.
21:20 tadzik Here it's like "Oh, so Harry is an überpower kid who can do everything he wants and is always The Man. Meh, good to know"
21:21 masak interesting. I think Eliezer is very aware of that effect and tries to avoid it.
21:21 tadzik OTOH, I don't have any more sensemaking on my mind
21:22 tadzik s/any/anything/
21:22 masak that's the impression I got from reading the Author's Notes and "The First Law of Fanfiction".
21:23 masak tadzik: oh, and I hadn't reflected on the "Edward the Just" thing :P
21:23 tadzik and the story of Harry getting angry, threatening Snape and wanting to change the situation is quite expected and funny, but I got quite disappointed at how it all ended
21:24 tadzik masak: I haven't read the book (Narnia), I was just seeing the film with dozens of kids on a scouting winter camp. Kids were amazed, I was...
21:24 tadzik phenny: "zdegustowany"?
21:24 phenny tadzik: "sick" (pl to en, translate.google.com)
21:24 tadzik not really
21:25 tadzik well, I was just too naive and silly for me. But I guess the book is better, as almost always
21:25 * moritz found the Harry vs. Snape part quite amusing, given that with the background info from the "real" HP, harry was actually fighting the "wrong" one
21:26 moritz phenny: "belehrend"?
21:26 phenny moritz: "didactic" (de to en, translate.google.com)
21:26 tadzik well, the fact that Snape is not the father of all evil in the book does not change the fact that he's an ass to the students
21:30 tadzik anyway, back to the point: the book doesn't get worse over time, does it?
21:35 Mowah left #perl6
21:36 wooden left #perl6
21:39 Holy_Cow left #perl6
21:41 masak tadzik: maybe the word you're looking for is something like "unconvinced". that's what happens when the suspension of disbelief breaks.
21:41 PerlJam masak: have you signed up to be a GSoC mentor?
21:42 masak no :/
21:42 * masak does that
21:42 bacek left #perl6
21:44 * PerlJam sure hopes next week sees an increase in the proposals actually submitted.
21:47 pmichaud good afternoon, #perl6
21:48 fhelmberger joined #perl6
21:49 PerlJam gutenTag herr pmichaud
21:51 tadzik hello pmichaud
21:51 masak on the gsoc mentor signup page: "gender: male/female/other"
21:51 tadzik shame it's not an entry field, like in Diaspora
21:52 fhelmberger left #perl6
21:53 PerlJam masak: I think that as "unintentional"  (developer humor showing through into production)
21:53 PerlJam At least it doesn't feel intentional.
21:54 masak PerlJam: I've now sent a mentor request to TPF.
21:55 masak phenny: "helt slut efter arbetsveckan"?
21:55 phenny masak: "exhausted after the working week" (sv to en, translate.google.com)
21:55 pmichaud I have to get my presentation ready for tomorrow.  :-|
21:55 masak phenny: "förändringsobenägen"?
21:55 phenny masak: Language guessing failed, so try suggesting one!
21:56 masak pmichaud: what presentation is that?
21:56 pmichaud http://texaslinuxfest.org/sessions/rakudo-perl-6
21:56 PerlJam pmichaud: Are you going to make a day-trip out of it?
21:56 pmichaud PerlJam: I'm already in austin
21:56 PerlJam ah
21:56 pmichaud spending the night here tonight, returning home tomorrow after the conference
21:57 awwaiid left #perl6
21:58 pmichaud I figured that driving both to and from austin (and the conference itself) in a single day was pushing it a bit.
21:58 bacek joined #perl6
21:58 PerlJam pmichaud: did you ever meet Ryan Edwards (student worker)?   He's in SA now.  I told him to stop by and heckle you if he goes to TLF  :)
21:58 pmichaud The name is familiar, so I think yes.  I'm expecting I'll get a fair number of hecklers.  :-)
22:00 tadzik self.zzzz
22:02 whiteknight joined #perl6
22:04 masak rakudo: class Tadzik { method zzzz { sleep 8 * 3600 }; method sleep { self.zzzz } }; Tadzik.new.sleep; say "awake!"
22:04 p6eval rakudo 4bf132: OUTPUT«(timeout)»
22:04 masak obviusly, the p6eval timeout is much too short.
22:04 PerlJam No, Perl thinks tadzik needs a timeout
22:05 masak isn't that what sleep is?
22:05 masak a timeout from all this awake business.
22:05 pmichaud it's more of an alarm, I think :-)
22:07 masak when Zhuang Zi dreamt he was a butterfly 2400 years ago, did he dream he was a butterfly with a wingspan of three meters?
22:10 pmichaud afk for a while
22:12 kfo joined #perl6
22:15 kfo_ left #perl6
22:21 dorlamm joined #perl6
22:31 kostja_osipov left #perl6
22:31 allbery_b left #perl6
22:47 allbery_b joined #perl6
22:48 allbery_b left #perl6
22:53 allbery_b joined #perl6
22:58 pjcj left #perl6
22:58 stkowski left #perl6
23:04 masak 'night, #perl6.
23:04 masak left #perl6
23:06 pjcj joined #perl6
23:07 dorlamm left #perl6
23:08 pjcj left #perl6
23:09 pjcj joined #perl6
23:11 Tene phenny: tell masak about http://ethanschoonover.com/solarized
23:11 phenny Tene: I'll pass that on when masak is around.
23:13 flussence_ saw that earlier. Looks pretty good, haven't tried it yet.
23:36 gottreu left #perl6
23:43 ymasory left #perl6
23:44 sorear looks as though Debian doesn't have GTK 3 yet.

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

Perl 6 | Reference Documentation | Rakudo