»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
patrickas joined
|
|||
patrickas | TimToady: should fail('something'); show something or just fail silently in the absence of "use fatal;" ? | 00:03 | |
rakudo:sub f {fail 'HARD'}; f();say 'OK'; | 00:06 | ||
p6eval | rakudo 4bf132: OUTPUT«OK» | ||
00:06
chitragupt joined
00:08
patrickas left
00:10
lateau joined
|
|||
TimToady | it should throw the exception when the return value of f() hits a sink context | 00:10 | |
(probably) | |||
00:17
ajs joined
00:18
silent_h_ joined
00:23
Chillance left
00:24
awwaiid left
00:26
awwaiid joined
|
|||
sorear | good * #perl6 | 00:27 | |
sjohnson | hello | ||
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. | ||
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. | ||
sorear | Tene! | 00:40 | |
Tene | sorear! | ||
sorear | Tene: I don't understand fail() very well. Can you help? | ||
Tene | sorear: I can certainly try. | 00:41 | |
fail ~~ currently-fatal ?? die Failure.new(...) !! return Failure.new(...); | 00:42 | ||
There's also some stuff about storing failures in $! | |||
Do you have specific questions, or should I explain those in more-detail? | |||
00:43
silent_h_ left
|
|||
sorear | Tene: the nature of exception objects, to a large extent | 00:47 | |
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:49 | |
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 | ||
oops, train, brb | |||
will continue from train in a sec | |||
sorear | I think fatal should maybe do something like | 00:57 | |
use fatal -> constant $?FATAL = True | |||
no fatal -> constant $?FATAL = False | |||
00:58
sivoais left,
sivoais joined
00:59
sivoais left
|
|||
sorear | be_fatal() -> loop (my $fr = caller; $fr; $fr .= caller) { return $_ if .defined given $fr.hints('$?FATAL') } | 00:59 | |
00:59
sivoais joined,
sivoais left
|
|||
sorear | I can't remember if .hints is a Niecza extension though | 00:59 | |
01:00
sivoais joined
01:01
sivoais left
01:03
sivoais joined
|
|||
TimToady | Tene: the viewpoint of the description of fail is already from the first caller's perspective | 01:07 | |
01:07
GinoMan joined
|
|||
TimToady | so it means the caller's caller | 01:07 | |
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. | ||
I guess the fatal quality of the last sub is not relevant. | 01:09 | ||
is it just thrown? only thrown up to the first non-fatal sub? | |||
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. | ||
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 joined,
mekameka joined
|
|||
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:12 | |
01:13
leprevost joined
|
|||
TimToady | yes, but then I'm a bit prejudiced against 'use fatal' to start with | 01:13 | |
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
|
|||
Tene | sorear: anyway, resuming, fail() will also push the returned failure onto the caller's $! | 01:15 | |
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
|
|||
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 :) | ||
Tene | So can I. | 01:18 | |
sorear out | |||
TimToady | anyway, if we did that, CATCH would basically turn into a for @! {} rather than a given $! {} | ||
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?" } | ||
Tene | "no fatal" => FAIL { magic-local-return $! } | ||
ajs: die() defaults to $! | |||
implemented as an EH for every nonfatal scope would be horrible, though | 01:21 | ||
ajs | Yes, but die doesn't re-throw | ||
or bundle I mean | |||
So die $! just re-raises and die "Why?" raises a new exception. | 01:22 | ||
anyway, it was just a cute idea... I'm sure there will be an easy way to aggregate $! and a new exception | 01:24 | ||
01:32
GinoMan left
01:33
GinoMan joined
01:34
whiteknight left
01:42
drbean joined
01:53
mtk left
02:01
mtk joined
02:11
tylercurtis joined
02:13
ncow joined
|
|||
ncow | perl6: printf "$]"; | 02:14 | |
p6eval | niecza v4: OUTPUT«===SORRY!===Any()Non-variable $ must be backslashed at /tmp/PvuZTtD0_j line 1:------> printf "⏏$]";Parse failed» | ||
..rakudo 4bf132: OUTPUT«===SORRY!===Non-variable $ must be backslashed at line 22, near "$]\";"» | |||
..pugs: OUTPUT«$]» | |||
ncow | what the... | ||
what none-variable? | |||
perl6: printf "$["; | |||
Eevee | what the heck, why is there an eject symbol in v4's output | ||
p6eval | rakudo 4bf132: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22» | ||
..niecza v4: OUTPUT«===SORRY!===Any()Non-variable $ must be backslashed at /tmp/jrlAr2JIMq line 1:------> printf "⏏$[";Parse failed» | |||
..pugs: OUTPUT«$[» | |||
ncow | perl6: print "$["; | ||
p6eval | niecza v4: OUTPUT«===SORRY!===Any()Non-variable $ must be backslashed at /tmp/bZX5yGyd09 line 1:------> print "⏏$[";Parse failed» | 02:15 | |
..rakudo 4bf132: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22» | |||
..pugs: OUTPUT«$[» | |||
02:15
nymacro joined
|
|||
ncow | no it's $], the first one | 02:15 | |
perl6: print "$]"; | 02:16 | ||
p6eval | niecza v4: OUTPUT«===SORRY!===Any()Non-variable $ must be backslashed at /tmp/TD2aqP0tM3 line 1:------> print "⏏$]";Parse failed» | ||
..rakudo 4bf132: OUTPUT«===SORRY!===Non-variable $ must be backslashed at line 22, near "$]\";"» | |||
..pugs: OUTPUT«$]» | |||
TimToady | std: $] | ||
p6eval | std 4608239: OUTPUT«===SORRY!===Unsupported use of $] variable; in Perl 6 please use $*PERL_VERSION at /tmp/FQ4eXJiHrq line 1:------> $]⏏<EOL>Parse failedFAILED 00:01 118m» | ||
TimToady | std: "$]" | ||
p6eval | std 4608239: OUTPUT«===SORRY!===Non-variable $ must be backslashed at /tmp/N03DATmzZc line 1:------> "$⏏]" expecting twigilParse failedFAILED 00:01 119m» | ||
TimToady | hmm | ||
std: "$|" | |||
p6eval | std 4608239: OUTPUT«===SORRY!===Non-variable $ must be backslashed at /tmp/SahEVRo4NQ line 1:------> "$⏏|" expecting twigilParse failedFAILED 00:01 119m» | ||
TimToady | I guess the interpolator doesn't believe in obsolete special vars | 02:17 | |
ncow | I thought Perl6 was still very much, well, Perl? Yet it can't even do a simple print statement? | 02:18 | |
perl6: print ""; | |||
p6eval | pugs, rakudo 4bf132, niecza v4: ( no output ) | ||
ncow | perl6: print "123"; | ||
p6eval | pugs, rakudo 4bf132, niecza v4: OUTPUT«123» | ||
TimToady | that's fine, but most punctuational variables have gone away | ||
most of them were "bad" globals | 02:19 | ||
the STD parser will tell you the new usages, but apparently not if interpolated | |||
std: $[ | |||
p6eval | std 4608239: OUTPUT«===SORRY!===Unsupported use of $[ variable; in Perl 6 please use user-defined array indices at /tmp/ntH6MpFnfF line 1:------> $[⏏<EOL>Parse failedFAILED 00:01 118m» | ||
TimToady | std: $| | 02:20 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Unsupported use of $| variable; in Perl 6 please use :autoflush on open at /tmp/p_31XQgo9C line 1:------> $|⏏<EOL>Parse failedFAILED 00:01 118m» | ||
TimToady | the definition of "Perl" isn't a surface syntax, it's a way of thinking about computer languages | ||
02:21
mekameka left
02:25
mekameka joined,
mekameka left
02:27
GinoMan left
02:30
hudnix left
02:39
cdarroch left
|
|||
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 | |
jnthn: Do you know if anyone is planning to apply for that? | |||
ncow | lol | 02:44 | |
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:45 | ||
maybe I'm not understanding your meaning | 02:46 | ||
PerlJam | ncow: Perl5 is Perl, Perl6 is Perl. Perl is philosophy more than syntax. | 02:48 | |
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:50 | |
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:51 | |
aesop | but perl isn't perl without the arcane globals! | 02:52 | |
TimToady | that's a fable | 02:53 | |
PerlJam | aesop: That's about as true as "perl isn't perl without using -> for method calls" | ||
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 ;) | ||
aesop | ha | ||
TimToady | and you lose -> as method call but get it back as a "lambda" | 02:55 | |
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» | ||
aesop | was the `=>' retained | 02:57 | |
TimToady | yes, but it really makes a Pair object now | ||
TimToady wonders why that didn't work... | 02:58 | ||
PerlJam | poor %*ENV implementations? | ||
er, s/s// | |||
TimToady | rakudo: say ~%*ENV.kv | ||
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» | ||
TimToady | looks like | ||
anyway, thought I could demo both a twigil and the new -> | |||
tylercurtis | rakudo: say {}.kv | 02:59 | |
p6eval | rakudo 4bf132: OUTPUT«» | ||
TimToady | pugs: for %*ENV.kv -> $key, $value { say "$key='$value'" } | ||
p6eval | pugs: OUTPUT«*** Can't modify constant item: VUndef at /tmp/VaOTJhNphS line 1, column 5-14 /tmp/VaOTJhNphS line 1, column 5-14» | ||
TimToady | niecza: for %*ENV.kv -> $key, $value { say "$key='$value'" } | ||
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 | ||
../home/p6eval/niecz… | |||
TimToady strikes out | |||
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… | ||
TimToady | hah! | ||
takadonet | night all | 03:03 | |
woldrich | alpha: $0 | ||
p6eval | alpha : ( no output ) | ||
03:03
takadonet left
03:04
jaldhar joined
|
|||
aesop | i still am learning new things about perl5 every day | 03:08 | |
$a = $b or $c;# bug: this is wrong | |||
($a = $b) or $c; # really means this | |||
this caught me today | |||
TimToady | general rule, use && when you want to do logic inside an assignment | 03:09 | |
this is still true in p6 | |||
aesop | i see | 03:10 | |
PerlJam | aesop: one of the neat things about Perl is that there's always something new to learn :) | ||
aesop | i love the `english word' operators | ||
you can write statements that read like complete sentences | |||
TimToady | even more true in Perl 6 :) | ||
rakudo: say so so not True | 03:13 | ||
p6eval | rakudo 4bf132: OUTPUT«Bool::False» | ||
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. | ||
I haven't used reset since *perl4* was the latest and greatest | 03:15 | ||
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» | ||
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 ""» | ||
sorear is back | |||
TimToady: I hope fail can be made to work in a way that doesn't erase all the potential wins from parallelism... | 03:18 | ||
03:19
lateau left
|
|||
TimToady | std: lol eager cat but not one caller | 03:19 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Undeclared routine: 'but' used at line 1Check failedFAILED 00:01 119m» | ||
TimToady | hmm | ||
sorear | TimToady: so the contents of a CATCH block might be executed multiple times? | 03:21 | |
03:21
leprevost left
|
|||
sorear | TimToady: what would my $err = try { }; do? Would try { } fill @! with 'handled' exceptions? | 03:21 | |
TimToady | if it's really a loop, yeah; but you could short circuit by eating up @! | 03:22 | |
I think @! probably would only keep unhandled exceptions | |||
TimToady waves hands in the usual way | |||
sorear | ncow: The eject symbol marks the exact location of the error. | 03:23 | |
TimToady | std: splice one flat cat and make hash | 03:24 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Undeclared routine: 'and' used at line 1Check failedFAILED 00:01 119m» | ||
03:24
lateau joined
|
|||
sorear | TimToady: currently you can say "try {}" and then use $!. If $! becomes @! and @! only keeps unhandled exceptions, how will this work? | 03:25 | |
PerlJam | sorear: TimToady waves his hands, there's a little puff of smoke and it just works. ;) | 03:26 | |
03:27
Su-Shee left
|
|||
TimToady | $! might be the most recent unhandled exception | 03:27 | |
03:28
Su-Shee joined
|
|||
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 | |
TimToady's arms would be ruined. | |||
TimToady | std: splice one hyper cat for now and chomp new hash | 03:31 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/oswS_XeDAr line 1:------> one hyper cat for now and chomp new hash⏏<EOL>Parse failedFAILED 00:01 120m» | ||
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 joined
|
|||
TimToady | rakudo: say now | 03:34 | |
p6eval | rakudo 4bf132: OUTPUT«Instant:2011-04-01T03:34:59.210172Z» | 03:35 | |
03:35
donri left
|
|||
sorear | PerlJam: I don't currently have a way to programmatically wave TimToady's hands | 03:42 | |
03:53
agentzh joined
04:04
sftp left
04:27
ymasory left
|
|||
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 | |
04:31
envi joined
04:32
fine joined
|
|||
sorear | mberends: cool | 04:35 | |
mberends | callbacks are a big problem to solve, and probably handling native structures is too. | 04:36 | |
sorear | callbacks? te he he he | 04:44 | |
take a look at SortHelper in Kernel.cs :> | 04:45 | ||
04:48
ymasory joined
|
|||
mberends | cb.Invoke(...) yeah | 04:48 | |
anyhow I predict that if Perl 6 early adopters could write GUI apps using Niecza, they would do so in large numbers. | 04:52 | ||
sorear | straw poll: what GUI(s) should Niecza support? | 04:53 | |
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 | |||
mberends | heh | ||
mberends likes :from<C> | |||
sorear | C# and P6 both depend heavily on multiple dispatch, but have not quite the same type system | ||
I don't think there are any good C GUI libraries | 04:55 | ||
mberends | I said ignore that | ||
04:55
fine left
|
|||
mberends | go for largest potential user base | 04:55 | |
we need to increase the bus number as top priority | 04:56 | ||
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. | ||
sorear | so what do you want me to ignore? good, or C? | ||
mberends | ignore C, that was a subjective joke | 04:58 | |
sorear | so we've got stuff like GTK, wx, and QT as the serious contenders in unix-land | 04:59 | |
(my last Mac and Windows programing experience was in 7.6.0 and 98, respectively; I doubt either is still using the same GUIs) | |||
mberends | eliminate those that require additional installation steps. Out-the-box will win far more users. | ||
sorear | ok. | 05:00 | |
mberends | Tene++ did a bit with E17 but almost nobody got it to run. | ||
the ideal first target platform (imo) is the Debian 6.0 Live CD. | 05:02 | ||
05:03
kaare_ joined
05:04
birdwindupbird joined
05:05
birdwindupbird left
|
|||
sorear | diabian is at 6 now? | 05:06 | |
05:11
birdwindupbird joined
|
|||
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#> | ||
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 | ||
on the other hand ... lockin | |||
mberends | understandably. It is probably very tempting, and scary. | ||
sorear does not like the idea of encouraging unportable Perl 6 much | 05:14 | ||
05:15
lateau left
|
|||
sorear out | 05:15 | ||
mberends too | 05:16 | ||
05:16
mberends left
05:26
lateau joined
05:28
donri joined
05:34
am0c^ joined
05:39
noganex_ joined
05:41
noganex left
05:43
ymasory left
|
|||
moritz_ | good morning | 05:49 | |
05:54
cosimo left
|
|||
Tene | mberends: I wasn't aware that anyone else even tried to get my e17 stuff to run | 05:54 | |
05:54
donri left
|
|||
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. | 05:56 | |
06:02
wtw joined
06:03
kostja_osipov joined
06:36
Rotwang joined
06:52
am0c joined
07:00
tylercurtis left
07:17
Mowah joined
07:34
fhelmberger joined
07:55
flussence_ joined
|
|||
Su-Shee | hi everyone. | 08:15 | |
moritz_ | good morning Su-Shee | 08:16 | |
Su-Shee | what? GUI? Gtk3with GIR of course! | ||
moritz_ | your patches are very welcome :-) | 08:17 | |
08:17
kostja_osipov left
|
|||
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:19 | |
Tene: I did run your GUI stuff as well. ;) | 08:20 | ||
moritz_ thinks that GUI application designers could learn a lot from web apps | 08:22 | ||
for example: make all text copy&pastable | |||
don't use modal dialogs | 08:23 | ||
don't ask if I'm sure. JDFI, and maybe make my change reversible | |||
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 | ||
Su-Shee: for example I'm using thunderbird/icedove. It gives me a modal dialog whenever it loses connection to a server | |||
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
|
|||
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 | ||
Su-Shee: even on windows I don't want modal dialogs | |||
Su-Shee | moritz_: haven't tried gnome 3 yet. | ||
moritz_ | what do I gain from not being able to use my program while that error message is displayed? | ||
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:28 | |
anyways. I'd look into how seed works if I'd had to make perl 6 bindings to gtk3. | 08:30 | ||
08:33
kostja_osipov joined
08:37
dorlamm joined
08:45
mberends joined
08:49
dakkar joined
|
|||
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. mypaint.intilinux.com/ | ||
*how | |||
Su-Shee | it probably can't be rewritten in python 3 too ;) | 08:53 | |
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:54 | |
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 | ||
moritz_ | or post '/edit' => sub { ... }\n | ||
Su-Shee | mberends: hm, there's a couple of c and c++ libs involved, and cairo as well. | ||
moritz_ | p5 needs a newline after the } | ||
which I *always* forget | 08:56 | ||
08:56
laui joined
08:58
moritz_ is now known as moritz
|
|||
mberends considers changing nick to mberends_ to preserve parity | 09:00 | ||
09:01
laui left
|
|||
moritz | I'll try to get the freenode staff to drop the old registration for 'moritz' | 09:02 | |
if that fails, I'll take up the underscore again | 09:03 | ||
09:14
Rotwang left
09:17
am0c left
|
|||
moritz | \o/ my Hague grant has been accepted | 09:19 | |
[Coke]: do you want to be my grant manager? | |||
09:20
Khisanth left,
Khisanth joined
09:23
dorlamm left,
am0c^ joined
|
|||
bbkr_ | rakudo: NaN.WHAT.say # oh irony :) | 09:28 | |
p6eval | rakudo 4bf132: OUTPUT«Num()» | ||
09:30
_twitch joined
09:31
bacek joined
09:35
lateau left
09:38
patrickas joined
09:39
mtk left
09:40
orafu left
09:41
orafu joined
09:45
birdwindupbird left
09:47
mtk joined
09:48
birdwindupbird_ joined
|
|||
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:48 | |
09:49
am0c^ left
|
|||
patrickas | apparently I was having a communication fail about the failure of fail yesterday :-) | 09:49 | |
moritz | patrickas: if you have write access to the perl6 queue on rt, you can change the title on the 'basics' link | 09:50 | |
and merge them when you click on 'links' | 09:51 | ||
patrickas | oh cool! seems I do ... let me try | ||
mberends | moritz: congratulations on your grant! | ||
patrickas | Actually maybe just discuss it here first | ||
moritz | mberends: thanks | 09:52 | |
patrickas | the real issue is that "fail" does not produce any visible errors in the abscence of 'use strict' | ||
moritz | s/strict/fatal/ | ||
patrickas | right | ||
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 | ||
patrickas | rakudo: say (3+4i).Real;say ()[-3];say [*..*]; | ||
moritz | agreed | ||
p6eval | rakudo 4bf132: ( no output ) | ||
patrickas | all thos fail with error messages in the same way ... so I will try to make the report about that :-) | ||
permission denied on the RT :-( apparently I have enough privs to edit the message but not enough to save it! | 09:56 | ||
09:56
f00li5h joined
09:57
pmurias joined
|
|||
moritz | I've changed the title now | 09:58 | |
patrickas: maybe write a reply explaining the deeper underlying problem? | |||
patrickas | ok i will add a message explaining the issue | ||
moritz | replies don't need special permissions | ||
patrickas | sure, already half way through it | ||
09:59
dakkar left
10:01
domidumont left
10:07
am0c^ joined
|
|||
patrickas | moritz ... I just realized maybe the issue of say (3+4i).Real;say ()[-3];say [*..*]; | 10:07 | |
10:07
birdwindupbird_ left
|
|||
patrickas | should be in two separate bugs ? | 10:08 | |
10:08
birdwindupbird joined
|
|||
moritz | why? | 10:08 | |
patrickas | s/two/a/ | ||
10:09
birdwindupbird left
|
|||
moritz | rakudo: say (3+4i).Real.WHAT | 10:09 | |
p6eval | rakudo 4bf132: OUTPUT«Failure()» | ||
moritz | rakudo: say ()[-3].Real.WHAT | ||
p6eval | rakudo 4bf132: OUTPUT«Method 'Real' not found for invocant of class 'Failure' in main program body at line 22:/tmp/YaECJqCXln» | ||
moritz | rakudo: say ()[-3].WHAT | ||
p6eval | rakudo 4bf132: OUTPUT«Failure()» | ||
10:09
birdwindupbird joined
|
|||
patrickas | sorry I mean in a separate bug than the sequence one | 10:09 | |
moritz | why? | ||
ok, we have two bugs | |||
patrickas | the seq is about new Failures not preserving old ones | ||
moritz | one is that say() silently fails | ||
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 | ||
they look related to me, though maybe not identical | |||
patrickas | yes exactly .. I thought they were the same thing then when writing the reply I realized they might just be different | ||
say ~()[-3]; | 10:11 | ||
rakudo: say ~()[-3]; | |||
p6eval | rakudo 4bf132: OUTPUT«Cannot use negative index -3 on Parcel in main program body at line 1» | ||
patrickas | rakudo: say ~(1, 3, 4, 7 ... 20); | ||
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 | ||
..7538:CORE.setting» | |||
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 | ||
..22:/tmp/ZutBAtcthG» | |||
10:12
zby_home_ joined
|
|||
moritz | rakudo: say ~(1, 3, 4, 7 ... 20)[0] | 10:12 | |
p6eval | rakudo 4bf132: OUTPUT«1» | ||
moritz | it's a list of an element and a failure | ||
patrickas | it is lazy ... so at this point it still doesn't know | ||
10:12
nymacro left
|
|||
moritz | but that's still an instance of "calling a method on a Failure doesn't do what it should" | 10:13 | |
even if the method is called from within the iterator | |||
patrickas | I guess you are probably right... | 10:14 | |
so I will add those example to the bug after all | |||
10:14
birdwindupbird left
|
|||
moritz | I kinda think we should avoid fail() in the rakudo code base until this is figured out somehow | 10:14 | |
patrickas | any better suggestions ? | 10:15 | |
moritz | fix Failure() :-) | ||
patrickas | oh sure I mean whad do we use until we fix failure ? | 10:16 | |
rakudo: say ('a'=>'b').Num | |||
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» | ||
moritz | die() | ||
patrickas | strage I though that failed in the same way | ||
10:17
nymacro joined
|
|||
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:17 | |
10:18
birdwindupbird joined
|
|||
patrickas | rakudo: say ('a'=>'b').Numeric; #my bad ... that one does | 10:18 | |
p6eval | rakudo 4bf132: ( no output ) | ||
10:18
am0c joined
|
|||
moritz | the difference is probably that .Num goes through a vtable | 10:18 | |
same for prefix:<~> | |||
whereas say uses .Str, or something | 10:19 | ||
patrickas | yap | ||
moritz | this whole vtable business is a huge mess | 10:20 | |
we should avoid them for any Perl 6 objects | |||
and only use them for foreign objects | |||
but I think some very basic things like 'if' go through vtables | 10:21 | ||
if $x should really desugar to if True === $x.Bool where === is a low level primitive | 10:22 | ||
moritz -> lunch | 10:23 | ||
patrickas too | 10:24 | ||
moritz | unlunch... the usual peers aren't around right now :-) | ||
patrickas goes through with the plans ... usual peers have been notified and are on stand by :-) | 10:25 | ||
10:25
M_o_C joined,
patrickas left,
tzhs joined
10:30
donri joined
10:43
domidumont joined
10:47
felipe joined
11:00
ajs left
11:04
am0c^ left
11:31
agentzh left
11:36
leprevost joined
11:49
tzhs left
11:53
Patterner left
11:54
Psyche^ joined,
Psyche^ is now known as Patterner
11:56
dakkar joined
12:19
kostja_osipov left
12:21
kostja_osipov joined
12:22
kostja_osipov left
12:24
M_o_C left
|
|||
[Coke] | moritz: I would not mind being your grant manager, but apparently I am a terrible hague grant manager. | 12:32 | |
moritz | [Coke]: what makes you think so? pmichaud's not-yet-started doc grant? | 12:33 | |
[Coke] | ah, see, you should be his grant manager, as you are more on top of it than I am. | 12:34 | |
moritz | :-) | 12:37 | |
[Coke]: I think that no grant manager could have changed pmichaud's unfortunate real life circumstances | 12:38 | ||
[Coke] | moritz: so, anyway, yes, feel free to suggest me as a GM. | 12:46 | |
moritz | [Coke]: thanks, will tell Karen | 12:47 | |
12:49
takadonet joined
|
|||
bbkr_ | rakudo.org is down, "HTTP request sent, awaiting response... No data received." | 12:50 | |
moritz | not again. | ||
13:01
pmurias left
13:02
JimmyZ joined,
arlinius left
13:07
hudnix joined
|
|||
[Coke] | I just pinged Andy. | 13:11 | |
13:11
M_o_C joined
13:24
ajs joined
|
|||
sorear | good * #perl6 | 13:25 | |
Tene: I've never used EFL | 13:26 | ||
13:26
plobsing left
13:28
jaldhar left
|
|||
sorear | Su-Shee: What is "seed"? | 13:28 | |
13:28
jaldhar joined
|
|||
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:29 | |
sorear: amazing API, they also managed the binding really fast, I think around 1.5 years for the whole thing. | 13:30 | ||
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
|
|||
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.) | ||
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:33 | ||
13:34
ronoreck left
13:35
ronoreck joined
13:36
JimmyZ left
13:46
sftp joined
|
|||
sorear | Su-Shee: ah... I thought you were saying that niecza would need to embed a javascript interpreter to use gtk3 | 13:47 | |
13:48
Holy_Cow joined
13:49
Sarten-X left
14:00
jaldhar left,
Sarten-X joined
14:01
slavik1 joined
|
|||
Su-Shee | no :) | 14:03 | |
the key is GIR. | |||
14:03
spq joined
|
|||
PerlJam | Victory! Victory for Zim! | 14:05 | |
takadonet | ? | 14:09 | |
14:13
xinming joined
|
|||
sorear | PerlJam: that's my association too. | 14:22 | |
14:24
wtw left
14:25
demetro joined
14:27
bluescreen10 joined
14:32
Axius joined
14:33
M_o_C left
14:42
plobsing joined
14:44
mberends joined
14:48
am0c left
14:49
stkowski joined
14:54
bluescreen10 left,
bluescreen10 joined,
Axius left
14:56
Trashlord left
14:57
MayDaniel joined,
Trashlord joined
14:59
stkowski left,
hercynium joined
15:04
MayDaniel left
15:08
risou joined,
ymasory joined
|
|||
sorear | TimToady: ping | 15:10 | |
TimToady: how do 'dispatch' subs interact with 'lastcall; nextsame' ? | |||
15:12
kjeldahl joined
|
|||
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 | |
erm | |||
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() | |||
I am thinking this prints 2 1 1 0 | 15:13 | ||
15:13
stkowski joined
15:14
birdwindupbird left
|
|||
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:14 | |
15:17
birdwindupbird joined
15:18
domidumont left
|
|||
sorear punts on implementing the correct interaction between MMD and MI | 15:23 | ||
15:30
M_o_C joined
|
|||
sirrobert | clear | 15:35 | |
15:35
sirrobert left
|
|||
[Coke] | rakudo.org back, btw. | 15:37 | |
takadonet | good | ||
15:39
ymasory left
15:45
slavik1 left,
tty234 joined
|
|||
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 | |
but it's an interesting problem | |||
bbkr_ | moritz ++ # rewriting IO::Socket::INET in rt.perl.org/rt3/Ticket/Display.html?id=83866 works now | 15:49 | |
TimToady | same with MI, a lastcall invalidates the set of methods governed by the proto regardless of where the current dispatcher lives | 15:51 | |
if we can't make this work out nicely with set theory, we're probably going to do it wrong... | 15:52 | ||
15:52
ymasory joined
|
|||
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:54 | |
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:55 | ||
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:58 | ||
15:59
dakkar left
16:01
dakkar joined
16:02
fhelmberger left
|
|||
PerlJam | TimToady: does each proto then imply another dispatcher? Or only if there's custom logic in the proot? | 16:09 | |
er, proto | |||
TimToady | {*} implies a dispatcher, which might or might not be in-lined | 16:10 | |
PerlJam | ok | ||
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:11 | |
16:12
kaare_ left
|
|||
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:13 | |
16:14
slavik1 joined
|
|||
sorear | I think the proto model is closer to what niecza needs | 16:16 | |
TimToady | you mean the model in which dispatchers aren't really there? | 16:19 | |
in which case you need some other means of managing candidate sets per caller scope... | |||
sorear | what's a caller scope? | 16:20 | |
I'm implementing multi *methods* now. | |||
TimToady | S12:1044 | 16:21 | |
in the case of multi methods, it's the actual class of the object | 16:22 | ||
in the case of multi subs, it's the lexical scope of the call | |||
16:23
MindosCheng joined
|
|||
TimToady | (the "inheritance" of lexical scopes is SI, as it were) | 16:24 | |
since you can't have two disjoint outer lexical scopes | |||
sorear | there will be dispatchers but they won't participate in the normal MRO system | ||
they will replace the corresponding proto in the per-class MRO tables | |||
sorear reads up on GTK3 | 16:25 | ||
16:25
cogno joined
|
|||
moritz | bbkr_: TiMBuS++ deserves the credit, he did nearly all of the work | 16:25 | |
16:26
nymacro left,
M_o_C left
16:29
birdwindupbird left,
risou left,
risou joined
16:34
dakkar left
16:40
kostja_osipov joined
16:42
cdarroch joined,
cdarroch left,
cdarroch joined
16:43
cogno left
16:53
drbean left
|
|||
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:55 | |
16:56
drbean joined
16:57
rdesfo joined
16:59
spq left
17:00
M_o_C joined
17:06
envi left
17:11
awwaiid left
17:16
Chillance joined,
rdesfo left
17:18
awwaiid joined
17:20
slavik1 left,
slavik2 joined
17:23
ymasory left
17:30
masak joined
|
|||
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 | ||
masak | there's a unicorn in my freenode :) | ||
sorear: the 80s were so much better in every way. | 17:31 | ||
17:33
ymasory joined,
ymasory left
17:44
dual joined
|
|||
Su-Shee | masak: aren't you like in your end 20ies? ;) | 17:48 | |
masak | aye | 17:50 | |
Su-Shee | masak: the 90ies were better. ;) | 17:52 | |
PerlJam | The 70s were so much better ... ;) | ||
17:53
ajs left
|
|||
frettled | Neither had Perl 6, so you're all wrong, the 10s are best. :D | 17:53 | |
masak | frettled++ # wins ;) | 17:56 | |
the 20s are gonna be awesome... | |||
Su-Shee | the 20ies already were awesome ;) famously so. :) | ||
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...) | ||
frettled | at La Cage aux Folles! | ||
PerlJam | Things were *so* much better before there was digital technology :) | ||
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
|
|||
Su-Shee | we europeans still have 10 toes and fingers ;) | 18:00 | |
frettled | I thought we had 20? | 18:01 | |
PerlJam | It's not the fingers or toes, but the space between them that's important | ||
masak | PerlJam: I think you and Lao Zi would make excellent drinking buddies. | ||
18:02
frodwith joined
|
|||
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> | ||
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» | ||
masak | rakudo: sub frod(:with($channel)) { say "OH HAI, $channel!" }; frod :with<#perl6> | ||
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. | ||
I'd rather use fast-moving transport of some kind... | |||
Su-Shee | masak: a former room mate of mine went with the transsiberian train to china :) | 18:04 | |
18:05
mkramer joined
|
|||
masak | some detour. | 18:06 | |
18:06
risou left
|
|||
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:06 | |
masak | rakudo: say "siberia".trans(["s", "beri"] => ["ch", "n"]) | 18:07 | |
p6eval | rakudo 4bf132: OUTPUT«china» | ||
masak | \o/ | ||
TimToady wonders if jnthn++ is taking the trans-siberian train back from Taiwan... | |||
masak | not that I know. | ||
18:07
mkramer left
|
|||
takadonet | wonder when jnth branch lands.... | 18:08 | |
could really use it right now in bioperl6 | 18:09 | ||
tadzik | bbkr_: ;) | 18:10 | |
Tene | takadonet: patches accepted ;) | 18:11 | |
takadonet | Tene: I know :) Just enjoy coding in my little world : github.com/cjfields/bioperl6/commits/master | 18:12 | |
18:15
ymasory joined
|
|||
tadzik | bbkr_: I know this game of words far more than I should :) | 18:26 | |
18:32
slavik2 left
18:45
slavik1 joined
18:48
bacek left
18:52
stkowski left
18:53
stkowski joined
19:02
hercynium left
19:04
mkramer joined
19:09
takadonet left
|
|||
prammer | is there a p6 equivalent to a restricted hash, ala the p5 Hash::Util? | 19:09 | |
19:21
robinsmidsrod joined
19:22
MayDaniel joined
|
|||
masak | prammer: no, but (ideally) you can provide your own class instead of a hash in Perl 6. | 19:31 | |
prammer: something like 'my %restricted is RestrictedHash;' | |||
or (I guess), you could do the same with a mixin role. 'role Restricted { #`[method declarations here] }; my %hash; %hash does Restricted;' | 19:32 | ||
19:39
M_o_C left
|
|||
prammer | masak: thanks. I guess that seems about right. | 19:40 | |
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 | ||
19:41
donri left,
frodwith left,
frodwith joined
|
|||
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:42 | |
p6eval | rakudo 4bf132: OUTPUT«falsetrue» | 19:43 | |
prammer wonders if that will bite someone | |||
19:43
donri joined
|
|||
masak | prammer: ISTR S09 lets you restrict the domain of keys a hash can have. | 19:43 | |
hold on, let me check. | 19:44 | ||
prammer | masak: that's a bit different | ||
but useful in different ways | 19:45 | ||
19:45
frodwith left,
frodwith joined
|
|||
masak | oh, ok. | 19:46 | |
prammer | I'm thinking of trying to catch typos in the key | ||
masak | it's at S09:1155, fwiw. | ||
prammer | kinda how the type system can potentially catch typos in method names | ||
masak | prammer: I thought that was what I was saying too. | ||
if you restrict the keys you can have, you'll get an error when you typo outside of that. | 19:47 | ||
not sure you can do more than that :) | |||
prammer | masak: ah, yes. That's how the p5 restricted hash seems to work | ||
masak | one of the examples given in S09 is 'my num %hash{'a'..'f'};' | ||
means you can only have nums as values and only 'a'..'f' as keys. | 19:48 | ||
prammer reads | |||
masak | S09 is definitely my favourite largely unimplemented S. | 19:54 | |
so many goodies in there. :) | |||
prammer | I don't think I've read it yes. I spend too much time in S02 | ||
s/yes/yet/ | |||
19:54
frodwith left
19:56
frodwith joined
19:58
frodwith left
|
|||
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:58 | |
in fact, we should probably rename it Perl 26. | 19:59 | ||
prammer: the more I think about your code with %<x> above, the less of a problem it seems in practice. | 20:00 | ||
given how you can do this... | |||
20:01
leprevost left
|
|||
masak | rakudo: my $foo = "OH HAI"; $foo does role { method Bool { False } }; say ?$foo; say $foo | 20:01 | |
p6eval | rakudo 4bf132: OUTPUT«Bool::FalseOH HAI» | ||
20:01
leprevost joined
|
|||
masak | it's false, yet it's equal to something... :) | 20:01 | |
20:01
frodwith joined
|
|||
masak | (actually, it just boolifies to False. but still) | 20:02 | |
20:02
mtk left
20:04
mkramer left
20:05
frodwith left,
frodwith joined
20:06
frodwith left
|
|||
prammer | masak: you're probably right | 20:07 | |
20:08
frodwith joined
|
|||
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:08 | |
sorear | hi #perl6. | 20:10 | |
20:11
mtk joined
|
|||
masak | sorear! \o/ | 20:11 | |
sorear | I'm reading the GObject-Introspection documentation | 20:13 | |
the introduction paragraph is, I quote, "Bla bla bla bla blah" | |||
this doesn't bode well | 20:14 | ||
20:15
y3llow_ joined
|
|||
masak | :/ | 20:15 | |
20:15
pothos_ joined
20:17
y3llow_ is now known as y3llow,
pothos_ is now known as pothos
20:20
frodwith left,
frodwith joined
20:21
leprevost left
20:22
frodwith left
20:23
frodwith joined
20:27
ggoebel left
20:32
ggoebel joined
20:33
ggoebel left,
frodwith left,
icwiener joined
20:34
frodwith joined
20:36
bacek joined
|
|||
masak | lol! and yes, point. funcall.blogspot.com/2011/03/tail-r...gging.html | 20:37 | |
by the way, the spec is totally silent on tail call optimizations. | 20:41 | ||
it mentions 'tail call' once, in the context of callsame/callwith. | |||
but a tail call does not in itself imply a tail call optimization. | |||
Tene | I note, btw, that hashes with fixed sets of keys should be fairly optimizable with 6model | ||
masak | 6model++ | 20:42 | |
20:42
frodwith left,
frodwith joined
|
|||
Tene | Some of them, at least. :) | 20:42 | |
20:43
frodwith left
|
|||
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 | |
20:43
frodwith joined
|
|||
masak | Perl 6 will definitely be able to optimize those tail calls if you ask the perlmonks threads as of 2003. | 20:43 | |
not to mention it'll be faster in various respects, thanks to Parrot. | 20:44 | ||
20:45
MayDaniel left
20:46
frodwith left,
frodwith joined
|
|||
masak | threads. Perl 6 will handle threads from the start. | 20:46 | |
(yes, Niecza does that. sorear++) | |||
20:47
kjeldahl left
20:50
frodwith left,
frodwith joined
|
|||
tadzik | Happy Programmers' Day #perl6! | 20:52 | |
20:52
frodwith left,
frodwith joined
20:53
frodwith left,
frodwith joined
|
|||
masak | April 1st is Programmers' Day? | 20:54 | |
is it because programmers are fools? :P | |||
tadzik | ha, almost-gotcha | ||
you were supposed to say "hey, that's not today, is it?" | |||
masak | :P | 20:55 | |
the only reason I didn't google for it is that it's Friday evening and I'm feeling lazy. :) | |||
rakudo: sub infix:<;>($a, $b) { $a, $b }; say [5;42].perl | 20:56 | ||
p6eval | rakudo 4bf132: OUTPUT«[5, 42]» | ||
masak | \o/ | ||
rakudo: sub infix:<;>($a, $b) { $a, $b }; say [5;42;14].perl | |||
tadzik | whoa, whoa :) | ||
p6eval | rakudo 4bf132: OUTPUT«[(5, 42), 14]» | ||
masak | close enuf. | ||
20:56
frodwith left
|
|||
masak | tadzik: in my spare time, I'm experimenting with emulating S09 :) | 20:56 | |
20:56
frodwith joined
20:57
frodwith left,
frodwith joined
|
|||
tadzik | yeah, seen that | 20:57 | |
20:57
frettled left
|
|||
tadzik | oh, I should finish my proposal and maybe send it | 20:57 | |
20:59
frodwith left,
frodwith joined
|
|||
masak | just like I should sign up as a GSoC menthol. | 21:01 | |
mentor. not menthol. mentor. :P | |||
21:02
frodwith left,
frodwith joined
|
|||
masak | let's see... I still can't set the operator precedence of a user-defined operator, can I? | 21:03 | |
21:04
frodwith left
|
|||
moritz | OMG, the amazon advertising API returns the weight of books in "hundreth pounds", and the dimensions in "hundreth inches" | 21:04 | |
21:04
frodwith joined
|
|||
moritz | masak: no, you can't | 21:04 | |
masak | moritz: pounds and inches are so pre-enlightenment. | 21:05 | |
moritz | masak: yes. And fractions thereof even more so | 21:06 | |
imagine "milli horse power" | |||
21:06
frodwith left,
frodwith joined
|
|||
moritz | or british thermal units / (one score) | 21:06 | |
Tene | I remember on one physics test back in university, I gave all velocities measured in furlongs per fortnight. | 21:07 | |
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. | ||
moritz: and the Android API measures progress bars in steps of .01%, and does integer multiples of those. | 21:09 | ||
moritz | masak: hm, right | ||
tadzik: BTU is like Joule, just not enlightened | |||
masak | Tene: I like the length unit "beard second", in analogy with "light year". | ||
tadzik tries to connect beard with lignt | 21:10 | ||
moritz | "bright, fast-growing beard"? | 21:12 | |
masak pushes the buzzer | 21:13 | ||
"Who is Albus Dumbledore?" | |||
oh wait, what am I doing inside this overpowered IBM supercomputer? | 21:14 | ||
21:15
frodwith left
21:16
frodwith joined
21:17
bluescreen10 left
|
|||
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:17 | |
21:18
frodwith left,
frodwith joined
|
|||
masak | it was a very uncharacteristic thing for a child to do. | 21:18 | |
but the Harry in MoR is not normal. | |||
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:19 | |
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" | ||
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 | |
s/any/anything/ | |||
masak | that's the impression I got from reading the Author's Notes and "The First Law of Fanfiction". | ||
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 | ||
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 | ||
phenny: "zdegustowany"? | |||
phenny | tadzik: "sick" (pl to en, translate.google.com) | ||
tadzik | not really | ||
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 | |||
phenny: "belehrend"? | 21:26 | ||
phenny | moritz: "didactic" (de to en, translate.google.com) | ||
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 | ||
anyway, back to the point: the book doesn't get worse over time, does it? | 21:30 | ||
21:35
Mowah left
21:36
wooden left
21:39
Holy_Cow left
|
|||
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? | ||
masak | no :/ | 21:42 | |
masak does that | |||
21:42
bacek left
|
|||
PerlJam sure hopes next week sees an increase in the proposals actually submitted. | 21:44 | ||
pmichaud | good afternoon, #perl6 | 21:47 | |
21:48
fhelmberger joined
|
|||
PerlJam | gutenTag herr pmichaud | 21:49 | |
tadzik | hello pmichaud | 21:51 | |
masak | on the gsoc mentor signup page: "gender: male/female/other" | ||
tadzik | shame it's not an entry field, like in Diaspora | ||
21:52
fhelmberger left
|
|||
PerlJam | masak: I think that as "unintentional" (developer humor showing through into production) | 21:53 | |
At least it doesn't feel intentional. | |||
masak | PerlJam: I've now sent a mentor request to TPF. | 21:54 | |
phenny: "helt slut efter arbetsveckan"? | 21:55 | ||
phenny | masak: "exhausted after the working week" (sv to en, translate.google.com) | ||
pmichaud | I have to get my presentation ready for tomorrow. :-| | ||
masak | phenny: "förändringsobenägen"? | ||
phenny | masak: Language guessing failed, so try suggesting one! | ||
masak | pmichaud: what presentation is that? | 21:56 | |
pmichaud | texaslinuxfest.org/sessions/rakudo-perl-6 | ||
PerlJam | pmichaud: Are you going to make a day-trip out of it? | ||
pmichaud | PerlJam: I'm already in austin | ||
PerlJam | ah | ||
pmichaud | spending the night here tonight, returning home tomorrow after the conference | ||
21:57
awwaiid left
|
|||
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 | |
21:58
bacek joined
|
|||
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. :-) | ||
tadzik | self.zzzz | 22:00 | |
22:02
whiteknight joined
|
|||
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)» | ||
masak | obviusly, the p6eval timeout is much too short. | ||
PerlJam | No, Perl thinks tadzik needs a timeout | ||
masak | isn't that what sleep is? | 22:05 | |
a timeout from all this awake business. | |||
pmichaud | it's more of an alarm, I think :-) | ||
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:07 | |
pmichaud | afk for a while | 22:10 | |
22:12
kfo joined
22:21
dorlamm joined
22:31
kostja_osipov left,
allbery_b left
22:47
allbery_b joined
22:48
allbery_b left
22:53
allbery_b joined
22:58
stkowski left
|
|||
masak | 'night, #perl6. | 23:04 | |
23:04
masak left
23:06
pjcj joined
23:07
dorlamm left
23:08
pjcj left
23:09
pjcj joined
|
|||
Tene | phenny: tell masak about ethanschoonover.com/solarized | 23:11 | |
phenny | Tene: I'll pass that on when masak is around. | ||
flussence_ | saw that earlier. Looks pretty good, haven't tried it yet. | 23:13 | |
23:36
gottreu left
23:43
ymasory left
|
|||
sorear | looks as though Debian doesn't have GTK 3 yet. | 23:44 |