»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
siruf left
00:02
siruf joined
00:03
siruf left
00:04
woolfy left,
lizmat left
00:10
siruf joined
|
|||
TimToady | rosettacode.org/wiki/Bernoulli_numbers is an interesting task. I couldn't figure out how do to it with folds and rotates, so for a second solution I used a self-destroying/reconstructing sequence operator :) | 00:10 | |
00:10
Mouq joined
00:11
treehug88 joined
|
|||
colomon | !!!! | 00:11 | |
TimToady | if anyone else wants to add solutions using other equations, feel free :) | ||
Bernoullis are weird beasties | |||
00:13
denisboyun left
|
|||
TimToady | colomon++ for making sure Rats and FatRats work :) | 00:13 | |
00:14
woolfy joined
|
|||
Mouq 's small Perl 6 contribution of the night codegolf.stackexchange.com/a/23787/15012 (sorry xfix++) | 00:15 | ||
00:16
FOAD left
00:17
siruf left,
siruf joined
|
|||
benabik | Mouq: You could make it shorter and remove the note about associativity simply by removing support for exponents. :-D | 00:17 | |
Mouq: It takes you 10 characters to include it anyway. ;-) | 00:18 | ||
colomon | TimToady: self-destroying sequence operator hurts my head. | 00:19 | |
TimToady | Mouq: this seems like it's solving a more complicated problem than is given at the top of the page | 00:20 | |
Mouq | colomon: Done | 00:22 | |
TimToady: .eval works too, but you get bonus negapoints for not using eval or similar | 00:23 | ||
00:23
siruf left
|
|||
Mouq | That should probably say 'points' not 'characters' come to think of it | 00:23 | |
00:24
siruf joined
00:26
siruf left,
dayangkun joined
|
|||
Mouq | I don't think the "accepted" Perl 5 solution gets anywhere close to actually solving it.. :/ | 00:28 | |
00:29
dayangkun_ left
00:30
siruf joined
|
|||
TimToady | the task at the top of the page says nothing about expressions | 00:30 | |
so maybe it's solving a different 'it' | |||
benabik | It does mention expressions, under Scoring. (poorly organized, IMHO) | 00:31 | |
00:31
rurban left
|
|||
Mouq | TimToady: "-50 Bonus if your code can handle simple expressions, for example 55*96-12" | 00:31 | |
00:31
jnap left
|
|||
TimToady | okay | 00:31 | |
00:31
cognominal__ joined
|
|||
Mouq | But I agree, it says otherwise in the beginning | 00:31 | |
Anywho | |||
The task is closed :) | 00:32 | ||
And I have homework to do | |||
o/ #perl6 | |||
00:32
Mouq left
00:34
cognominal left
00:35
siruf left,
FOAD joined
00:37
bjz joined
00:52
pecastro_ left
00:54
telex left,
[Sno]_ joined,
telex joined,
logie__ joined
00:55
wooden_ joined,
wooden_ left,
wooden_ joined,
btyler joined,
ribasushi_ joined
00:56
flussenc1 joined,
labster_ joined
00:57
gfldex_ joined,
itz joined
00:58
[Sno] left,
wooden left,
[Sno]_ is now known as [Sno],
ribasushi left,
ribasushi_ is now known as ribasushi,
labster left,
flussence left,
xenoterracide left,
logie left,
ggherdov_ left,
itz__ left,
japhb left,
exodist_ left,
Pleiades` left,
gfldex left,
hoelzro_ left,
geekosaur left,
rurban__ left,
labster_ is now known as labster,
Juerd left,
SHODAN left,
yogan left,
SHODAN joined,
sunnavy_ left
00:59
pdcawley left,
cxreg left,
hoelzro joined,
geekosaur joined,
ggherdov_ joined
01:00
Juerd joined,
rurban__ joined,
pdcawley joined,
sunnavy joined,
cxreg joined
01:01
timotimo left
01:02
Pleiades` joined
01:03
klapperl joined,
isacloud_ joined
01:04
go|dfish left,
felher left,
klapperl_ left,
isacloud left,
japhb joined,
isacloud_ is now known as isacloud,
Exodist joined,
zamolxes left,
zamolxes joined
01:05
timotimo joined,
yogan joined
01:06
xenoterracide joined
01:07
bjz_ joined
01:10
woolfy left,
bjz left
01:11
BenGoldberg left
01:19
ggoebel11111 joined,
__thou joined,
Vlavv joined
01:21
woolfy joined
01:22
jeffreykegler joined
|
|||
jeffreykegler | re Bernoulli numbers: this is in fact the problem Lovelace and Babbage solved for her 1843 paper | 01:26 | |
01:27
jnap joined
01:28
jnap left
01:30
btyler left
01:41
skids joined,
woosley joined
|
|||
TimToady | indeed | 01:42 | |
LootingLemur | looking to build rakudo 2014.02 but does proxy does not allow git. Since no star distribution, which do I need to build first: nqp & parrot? | 01:52 | |
02:00
jeffreykegler left
|
|||
skids | Are you specifically looking for rakudo-parrot rather than rakudo-moar or rakudo-jvm? | 02:01 | |
In any case, VM first then NQP then rakudo, I imagine. | |||
02:07
klapperl_ joined
02:08
treehug88 left
02:10
FROGGS_ joined
|
|||
LootingLemur | thanks | 02:11 | |
02:11
klapperl left
02:12
Sqirrel left
02:14
FROGGS left
02:16
bjz_ left
02:17
bjz joined
|
|||
timotimo | rakudo star is only available for parrot so far | 02:24 | |
02:28
Sqirrel joined
|
|||
colomon fears he is going to have to translate this $work code to p5 for speed. | 02:35 | ||
timotimo | colomon: not terribly long now and we'll be fast, too | 02:36 | |
timotimo beds | |||
colomon | hope so! | ||
02:38
BenGoldberg joined
|
|||
colomon | hmmm, 27 seconds forming and printing out a .perl of a large data structure... | 02:38 | |
02:57
go|dfish joined
02:58
felher joined
03:50
woosley1 joined
03:53
woosley left,
ponbiki_ left
03:54
Maddingu1 joined,
Maddingue left
03:55
woosley joined
03:56
hoverboard left
03:57
woosley left
03:58
woosley2 joined,
woosley1 left
|
|||
japhb__ | colomon: Yeah, the string performance is right now one of the most frustrating things for me -- partially because I'm used to (for perl5) only having to care if I was using an asymptotically horrid algorithm on a really big dataset. | 03:59 | |
I big part of what makes perl ... well ... "Perlish" for me is that I expect it is generally safe performance-wise to do things very idiomatically, rather than having to specify every little detail. Perl 6 helps me think even more abstractly than Perl 5, and yet Rakudo forces me to think about implementation more than perl5. That's jarring. | 04:01 | ||
But as timotimo says, hopefully that will be getting much better soon. :-) | 04:02 | ||
.ask jnthn Is there an operation similar to Promise.then that allows me to say I'm not going to fork the execution path, so please just keep it scheduled in the same thread, rather than pessimistically spinning up a new thread to schedule the 'then' code on? | 04:05 | ||
yoleaux | japhb__: I'll pass your message to jnthn. | ||
japhb__ | .tell jnthn I'm fine with something like the .vow semantics that would *enforce* the non-forking execution path. | 04:06 | |
yoleaux | japhb__: I'll pass your message to jnthn. | ||
04:13
woosley2 left,
woosley joined
|
|||
BenGoldberg | n: my @b := gather { my @a; for 0 .. * -> $m { push @a, FatRat.new(1, $m+1); for reverse 1..$m -> $j { @a[$j-1] = (@a[$j-1] - @a[$j]) * $j }; take $m => 0+@a[0] if @a[0] } }; say @b[^61] | 04:16 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«0 => FatRat.new(1, 1) 1 => FatRat.new(1, 2) 2 => FatRat.new(1, 6) 4 => FatRat.new(-1, 30) 6 => FatRat.new(1, 42) 8 => FatRat.new(-1, 30) 10 => FatRat.new(5, 66) 12 => FatRat.new(-691, 2730) 14 => FatRat.new(7, 6) 16 => FatRat.new(-3617, 510) 18 => Fat…» | ||
BenGoldberg | ^ a much faster technique for calculating Bernoulli numbers, for the RosettaCode task :) | 04:17 | |
04:17
SamuraiJack joined
04:21
ponbiki joined
|
|||
TimToady | well, except that then we only want about 30 of them :) | 04:21 | |
but yeah | 04:22 | ||
04:23
kaare_ joined
|
|||
TimToady | that's a heck of a lot faster :) | 04:27 | |
04:33
Maddingu1 left,
__thou is now known as thou,
Maddingue joined
04:34
ribasushi left
04:35
pdcawley left,
itz left
04:36
itz joined,
ribasushi joined
04:37
pdcawley joined
04:42
xenoterracide left
04:49
dwarring left
|
|||
TimToady | BenGoldberg++ for noticing the duplicated work, the new RC entry is much, much faster, so I ran it up to B(100) :) | 04:50 | |
BenGoldberg | :) | 05:03 | |
TimToady | though I'm sure some Haskeller is going to look at how I destroy @a every time through and say "ick" :) | 05:06 | |
but it was so convenient getting $j from the remaining size of @a | |||
I suppose I should write the point free version some time just for the good of my immutable^Wimmortal soul | 05:09 | ||
BenGoldberg | When I saw the way your code destroyed @a each time, my thought was... 'wtf?' :) | 05:10 | |
TimToady | yeah, it's sort of a phoenix algorithm :) | 05:12 | |
05:18
FOAD left,
FOAD joined
05:19
woosley left,
BenGoldberg left
05:27
[Sno] left
05:33
kaleem joined,
xenoterracide joined
05:46
woosley1 joined
05:52
hoverboard joined
|
|||
LootingLemur | compiling src/main.o In file included from src/main.c:4: src/moar.h:19:16: uv.h: No such file or directory src/moar.h:25:21: dynload.h: No such file or directory | 06:03 | |
trying to compile moar from source | |||
Timbus_ | have you cloned the cubmodules | 06:12 | |
submodules* | |||
TimToady | that's a buglette that jnthn++ left in his latest patches, I think | 06:13 | |
you probably want to use the versions picked by rakudo for the moment | |||
rather than using HEAD | |||
see irclog.perlgeek.de/moarvm/2014-03-11#i_8419288 | 06:15 | ||
or figure out how to get the right include directory installed maybe | 06:16 | ||
06:22
jlaire_ is now known as jlaire,
perl007 joined
06:26
perl007_ joined
06:27
perl007 left
06:28
perl007_ left,
perl007 joined,
vincent22 joined
|
|||
moritz | \o | 06:30 | |
06:32
[Sno] joined
06:41
hoverboard left
|
|||
LootingLemur | thanks | 06:46 | |
06:47
LootingLemur left
06:51
woosley joined
06:52
woosley2 joined
06:53
kaleem left,
woosley1 left
06:55
woosley left
06:57
woosley joined,
woosley2 left
06:59
woosley1 joined
07:00
xragnar left
07:02
woosley left
07:03
woosley joined,
woosley1 left,
clkao joined
07:13
dayangkun left
07:16
kaleem joined,
dmol joined
07:18
kaare_ left
|
|||
perl007 | hi | 07:18 | |
is there a number larger than any other number but itself, aka Inf? | 07:19 | ||
not for range construction, just simple assignment, comparison | 07:21 | ||
Timbus_ | .. you mean Inf ? | 07:22 | |
perl007 | where could i read about it? | 07:24 | |
Timbus_ | perlcabal.org/syn/S02.html#Infinity_and_NaN | 07:26 | |
perl007 | thanks | 07:27 | |
Timbus_ | theres not much there, | ||
07:30
slavik left
07:31
clkao left,
slavik joined
07:32
clkao joined
07:35
darutoko joined
07:38
clkao left,
clkao joined
07:47
clkao left
07:49
clkao joined
07:59
dayangkun joined
08:02
arnsholt_ left
08:04
rindolf joined
08:08
kaare_ joined
08:11
zakharyas joined
08:17
eternaleye left
08:23
brrt joined
08:25
rindolf left
08:28
rindolf joined
08:29
rindolf left
08:30
DarthGandalf left,
brother| is now known as brother
08:31
Rotwang joined,
Rotwang left
08:32
rindolf joined,
DarthGandalf joined
08:41
kaare_ left
|
|||
brrt | people are still talking about 2048 | 08:43 | |
awesome | |||
08:45
virtualsue joined
|
|||
moritz still only got to 1024 | 08:46 | ||
brrt only got to 256 or so before giving up… :-) | 08:47 | ||
yakudza | 512 ): | 08:48 | |
tadzik | hm. The game didn't appeal to me at all | 08:49 | |
cosimo_ | what game? | 08:51 | |
moritz | cosimo_: gabrielecirulli.github.io/2048/ | 08:52 | |
08:58
woosley1 joined
08:59
masak_ joined
|
|||
masak_ | morning, #perl6 | 08:59 | |
huh. someone seems to have taken my nick. or something. | |||
-!- Irssi: Your nick is owned by Martin Rychlovsky [~masak@20.38.broadband15.iol.cz] | |||
tadzik | huh | ||
masak_ | I didn't know that could happen. I'm pretty sure I needed to identify with NickServ every time, and so on. | 09:00 | |
anyone know what the prudent thing to do in this case is? | |||
tadzik | go to freenode #staff | ||
they fix problems | |||
masak_ | oki | ||
tadzik++ | |||
09:00
woosley left
|
|||
tadzik | they're the reason I'm not tadzik_ :) | 09:00 | |
on the other hand: tadzik was registered, tadzik_ wasn't, and thanks to freenode #staff I conquered tadzik | 09:01 | ||
because it was unused for a year or two | |||
09:03
masak_ is now known as masak
|
|||
masak | phew. | 09:03 | |
moritz | masak: you can /msg identify nickserv masak <yourpass> and then /ghost masak | 09:04 | |
oh, I see you already were successful | |||
09:04
denisboyun joined
|
|||
masak | yes, #staff did indeed help me quickly. | 09:04 | |
moritz: the incantation I used, btw, was 'regain masak <pwd>' | 09:05 | ||
(to nickserv) | |||
moritz | masak: oh nice, a shortcut | ||
jnthn | .tell japhb__ We don't have such introspection yet, sadly. Agree its needed. Also at some point the scheduler should start tuning itself based on throughput... | ||
yoleaux | 11 Mar 2014 23:43Z <japhb__> jnthn: Is there any way from Rakudo to see how many threads are actively running tasks, how many are blocked on e.g. IO, how many tasks *could* run if there was a thread available, etc? I'm at the point now that I'm wanting to optimize the use of my thread pool to keep all my cores busy, and it would help to be able to introspect the states. | ||
11 Mar 2014 23:47Z <japhb__> jnthn: A sample use case: I have an app that starts up chewing CPU in one or two cores, launches a bunch of tasks in different threads, they all start communicating with external processes, all cores max out briefly, some tasks finish, others go to low-CPU state and machine drops to only a core or two used for another 20 seconds before finishing. And now I want to know why. :-) | |||
04:05Z <japhb__> jnthn: Is there an operation similar to Promise.then that allows me to say I'm not going to fork the execution path, so please just keep it scheduled in the same thread, rather than pessimistically spinning up a new thread to schedule the 'then' code on? | |||
04:06Z <japhb__> jnthn: I'm fine with something like the .vow semantics that would *enforce* the non-forking execution path. | |||
jnthn: I'll pass your message to japhb__. | |||
masak | and then 'set enforce on', so it's less likely to happen again. | ||
jnthn | .tell japhb__ It will not spin up a new thread for "then" if there's already a free one, though I guess the current doesn't count as free. The right API design is to make .then take a scheduler to use to schedule the then, though. Then you'd just pass it CurrentThreadScheduler and be done. | 09:09 | |
yoleaux | jnthn: I'll pass your message to japhb__. | ||
tadzik | oh, I thought the regular masak was re-registered by someone | 09:10 | |
masak | not sure what happened. | 09:11 | |
but it was easy to undo. | |||
09:11
pecastro joined
09:12
vincent21 joined
09:16
woolfy left
09:17
Sqirrel left
|
|||
jnthn | TimToady: The "doesn't build" issue was about Rakudo's extops not building against latest Moar HEAD, nto Moar itself not building...that one looks like a separate issue... | 09:19 | |
09:19
thou left
09:25
Timbus_ is now known as Timbus
09:31
pecastro left
09:33
pecastro joined
09:34
FROGGS[mobile] joined
09:41
dakkar joined
09:48
eternaleye joined
10:00
kurahaupo joined
10:06
dayangkun left
10:10
kurahaupo left
10:12
eternaleye left
10:15
kurahaupo joined
10:17
eternaleye joined
10:23
virtualsue left
10:24
xenoterracide left
10:25
denisboyun left
10:27
woosley1 left
10:49
cooper left
11:00
brrt left
|
|||
timotimo | o/ | 11:11 | |
masak | \o | 11:12 | |
11:22
bionoid joined
|
|||
colomon | |o| | 11:24 | |
perl007 | perl6: ([7, 0], [9, 1], [14, 2], [Inf, 3], [Inf, 4]).min.perl.say; | 11:27 | |
eh | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«[7, 0]» | ||
..rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«[14, 2]» | |||
perl007 | how do we paste code here and what this should print? | 11:28 | |
timotimo | you can put code onto gist.github.com and then write r: and_so_on/... to execute it | 11:29 | |
masak | perl007: I don't remember reading anything about how arrays should sort wrt each other. | ||
perl007: arrays aren't really value objects, they're reference objects, so it's not clear to me they should even be orderable. | |||
timotimo | aye. it would probably be wise to use a .sort with a custom metric and just get the [0] | 11:30 | |
masak | perl007: what timotimo said. | ||
perl007 | well, min : {$_[0]} works, so no sorting, ok, thanks | 11:31 | |
timotimo | oh, i didn't realize min had that. cool. | ||
11:40
denisboyun joined
|
|||
masak | r: say [[1, 2, 3], [4, 5, 6], [-7, 5]].min( *[0] ) | 11:43 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«-7 5» | 11:44 | |
masak | perl007: *[0] is a shorter way to write { $_[0] } | ||
11:49
fhelmberger joined
|
|||
timotimo | r: my %foo of Hash; %foo<bar><baz> = 1; say %foo; | 11:58 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("bar" => {"baz" => 1}).hash» | 11:59 | |
11:59
hoverboard joined
|
|||
timotimo | i'm wondering if we should warn if the user types "my Hash %foo" or "my Array @a", as that means "hash of hashes" or "array of arrays" respectively, even though it *looks* like "my %foo is a hash" instead | 12:01 | |
we could then suggest to either use "my %foo of Hash" or "my %foo is Hash" instead to make it more clear | |||
moritz *finally* won 2048 | 12:03 | ||
time to close the browser tab, and forget the URL | |||
timotimo | a friend of mine also told me he won and is now free to be productive again | ||
12:06
kaare_ joined
|
|||
timotimo | masak: there's a rakudobug for you to report in #moarvm :) | 12:06 | |
12:13
virtualsue joined
|
|||
_sri | is the graal and truffle stuff for the jvm as exciting as it sounds here? www.chrisseaton.com/rubytruffle/how...y-truffle/ | 12:14 | |
12:16
skids left
12:18
brrt joined
|
|||
masak | moritz: so, what's the trick? :) | 12:20 | |
12:21
denisboyun left
|
|||
moritz | masak: the trick is to order the big-numbered tiles in ascending order, for example on the bottom row | 12:21 | |
masak | r: sub z of Int { }; say &z ~~ Callable | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«True» | ||
masak | r: sub z of Int { }; say &z ~~ Callable[Int] | ||
12:21
cognominal__ left
|
|||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«False» | 12:21 | |
masak submits rakudobug | |||
moritz: ooh | |||
moritz | and then row above that contains tiles with smaller numbers, with the biggest in right corner | ||
12:21
cognominal__ joined
|
|||
moritz | in fact I had the bottom two rows ordered | 12:22 | |
and then once you get a tile that's big enough, it can be propagated along the (2) bottom row(s) | |||
masak | r: multi x(Int &y) { say 1 }; multi x(Str &y) { say 2 }; sub z of Int { }; x &z | 12:23 | |
camelia | rakudo-moar 1aeb7c: OUTPUT«Cannot call 'x'; none of these signatures match::(Int &y):(Str &y) in sub x at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | ||
..rakudo-parrot 1aeb7c: OUTPUT«Cannot call 'x'; none of these signatures match::(Int &y):(Str &y) in any at gen/parrot/BOOTSTRAP.nqp:1219 in any at gen/parrot/BOOTSTRAP.nqp:1210 in sub x at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
..rakudo-jvm 1aeb7c: OUTPUT«Cannot call 'x'; none of these signatures match::(Int &y):(Str &y) in any at gen/jvm/BOOTSTRAP.nqp:1212 in any at gen/jvm/BOOTSTRAP.nqp:1202 in sub x at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
moritz | it's not quite trivial to actually keep it up, but with a few trials, I made it | 12:24 | |
12:25
denis_boyun joined
|
|||
masak | ...how come the stacktrace of moar is different from JVM and Parrot, above? | 12:27 | |
moritz | seems the stacktrace filtering only filters out BOOTSTRAP on moar | 12:28 | |
might be a bug | |||
masak | that's what I was thinking... | ||
sergot | hi o/ | 12:30 | |
masak | sergocie! \o/ | 12:31 | |
12:38
kaleem left
|
|||
colomon | r: my $a = "this is a test".comb.set; for $a -> $elem { say $a; }; | 12:38 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«No such method 'set' for invocant of type 'List' in block at /tmp/tmpfile:1» | ||
colomon | r: my $a = "this is a test".comb.Set; for $a -> $elem { say $a; }; | ||
camelia | rakudo-parrot 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«set(t, h, i, s, , a, e)» | ||
..rakudo-jvm 1aeb7c: OUTPUT«set(a, e, , h, s, i, t)» | |||
12:39
kbaker joined
|
|||
colomon could have sworn it was supposed to be .set rather than .Set... | 12:39 | ||
tadzik | the output from jvm almost says "shit" :) | 12:40 | |
12:42
hoverboard left
12:44
pdcawley left
|
|||
masak | colomon: no, it's .Set because it coerces to a Set. | 12:45 | |
colomon: as far as I know, only the subs are lower-case. | |||
colomon | but it's .hash rather than .Hash? | ||
masak | yeah :/ | ||
and .list rather than .List | 12:46 | ||
timotimo | oh, huh. | ||
colomon | I foolishly expected consistency. | ||
colomon is pretty sure he did try .Hash first, earlier this week | |||
colomon is using Set operations in his code for $work, btw. ;) | |||
12:50
himanshu joined
|
|||
himanshu | hello | 12:50 | |
tadzik | hello | ||
himanshu | how are you tadzik? | ||
tadzik | pretty well | ||
himanshu | I am glad to see so many people here... | 12:51 | |
how is perl 6 going on? | |||
masak | himanshu: it's going very well! | 12:52 | |
moritz | it's progressing fine, unless when I distract #perl6 with addictive games :-) | ||
masak | himanshu: Rakudo now has three very mature backends, each with its own superpower. | 12:53 | |
himanshu: Parrot has All The Modules, JVM has Really Quite Fine Threading Support, and moar is Quick and Nimble. | |||
yakudza | masak, So if I use parrot I can use all perl5 modules ? | 12:55 | |
timotimo | masak: well, moar is still a little immature | 12:56 | |
himanshu | so, when will it release? I was thinking of starting to use Rakudo | ||
hoelzro | good morning #perl6! | ||
himanshu: I've been using it for a while | 12:57 | ||
I haven't used it for | |||
*all* of my stuff, but it's fun to work with! | |||
you do encounter the occasional bug, though | |||
and performance is still improving | |||
on a side note, I saw this article on JRuby last night: www.chrisseaton.com/rubytruffle/how...y-truffle/ | 12:58 | ||
thought others here might find it intersting | |||
timotimo | currently the kinds of bugs you're going to encounter are usually easily workaroundable | ||
hoelzro | interesting, even | ||
himanshu | I want to create crawlers using Perl 6, will be crawling shopping site more | ||
hoelzro | timotimo: that's a good point | ||
timotimo | and "is still improving" is a nce way to spell "still sucks" :) | ||
12:58
kaleem joined
|
|||
timotimo | (and bugs you find are mostly fixed soon rather than late) | 12:58 | |
gotta run now | 12:59 | ||
hoelzro | timotimo: you saw right through me ;) | ||
but it's made *huge* strides since I started playing | |||
timotimo | aye | ||
timotimo kicks himself for still procrastinating so heavily on that block inlining optimization for nqp | |||
AFK for real now. | |||
himanshu | bye bye | 13:00 | |
tadzik | yakudza: nah, that doesn't work | 13:02 | |
masak meant all Perl 6 modules:) | |||
13:05
himanshu left
13:06
guru joined,
guru is now known as Guest68441,
Guest68441 is now known as ajr_
13:07
bionoid left
13:11
hoverboard joined
13:19
SamuraiJack left
|
|||
masak | timotimo: "is still improving" does not necessarily mean "still sucks"... "good" and "improving" are mostly orthogonal concepts. | 13:27 | |
13:27
xragnar joined
|
|||
JimmyZ | it's good but needs to be better | 13:29 | |
jnthn | Note that .hash/.list don't give you exactly Hash or List. .list on an Array gives you back the Array. | 13:34 | |
masak | yeah, that's a good point. | 13:47 | |
they're... "fuzzy casts" or something like that. | |||
moritz | they are more like .positional and .associative | 13:56 | |
13:58
jnap joined
14:02
btyler joined
|
|||
masak | right. | 14:05 | |
14:06
thou joined
|
|||
masak | type casting is hard. | 14:06 | |
14:08
kivutar joined
14:16
rom1504_ is now known as rom1504
14:19
treehug88 joined
14:26
bjz left,
bjz joined
14:29
zakalwe joined
14:31
zakalwe left,
zakalwe joined,
zakalwe left,
zakalwe joined
|
|||
[Coke] | what does the "of Int" in "sub z of Int {} " indicate? | 14:34 | |
masak | [Coke]: that the return value has to be Int. | ||
[Coke]: which, now that I think about it, is a weird, isn't it? because that empty sub obviously doesn't live up to that contract. | 14:35 | ||
AFAIR, 'of Int' and 'sub z(--> Int)' are the same. | |||
moritz | and 'returns Int' | 14:36 | |
[Coke] | -1 for timtoady there. | ||
at least lets collapse of/returns into one. | 14:37 | ||
14:37
FROGGS_ left
|
|||
[Coke] | m: sub z of Int {}; say z.WHAT | 14:38 | |
camelia | rakudo-moar 1aeb7c: OUTPUT«Type check failed for return value; expected 'Int' but got 'Any' in any return_error at src/vm/moar/Perl6/Ops.nqp:596 in sub z at /tmp/A973PQEEQX:1 in block at /tmp/A973PQEEQX:1» | ||
masak | now of/returns I'm pretty sure are/used to be different. | ||
[Coke] | masak: we get a runtime check, anyway. | ||
m: sub z of Int {return "eek"}; say z.WHAT | |||
camelia | rakudo-moar 1aeb7c: OUTPUT«Type check failed for return value; expected 'Int' but got 'Str' in any return_error at src/vm/moar/Perl6/Ops.nqp:596 in sub z at /tmp/qnviywe5Y7:1 in block at /tmp/qnviywe5Y7:1» | ||
[Coke] | ^^ seems like we could compile time catch that one, at least. | 14:39 | |
timotimo | there's "sub foo of Int (signature) { body }" and there's "sub foo (signature) returns Int { body }" | 14:42 | |
14:42
kaleem left
|
|||
timotimo | if you have a bunch of attributes, like "will post" and "will pre", you may find the "returns" form more readable | 14:42 | |
if you have a complex/smart signature, you may want to put a --> in there, since it's already a big thingie | |||
if it's just a little thing, the "of" form seems prettiest, i guess | |||
14:43
bluescreen10 joined
|
|||
moritz kindas likes the 'returns' form, and --> Int is valuable in a non-routine signature, where 'returns' or 'of' aren't an option | 14:44 | ||
*kina | |||
*kinda | |||
whatever | |||
[Coke] | so --> Int is the bare minimum, and of and returns are both sugar? | ||
moritz | aye | 14:45 | |
timotimo | what's the current spelling of "return nothing"? "returns Nil"? | 14:47 | |
r: sub foo returns Nil { 1 }; say foo; | 14:48 | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c: OUTPUT«Type check failed for return value; expected 'Any' but got 'Int' in block at /tmp/tmpfile:1» | ||
..rakudo-moar 1aeb7c: OUTPUT«Type check failed for return value; expected 'Any' but got 'Int' in any return_error at src/vm/moar/Perl6/Ops.nqp:596 in block at /tmp/tmpfile:1» | |||
colomon | Is there a p6 module for handling (english) pluralization and punctation in lists? | ||
tadzik | I don't know of any | 14:49 | |
colomon will put up with his report lacking proper grammar for a bit. | 14:50 | ||
[Coke] | colomon: that seems like a portable p5 module. | 14:54 | |
colomon | "portable"? | ||
[Coke] | (not that you want to port it, but I bet it would be doable by someone looking to get dirty with P6) | ||
able to be ported. | |||
colomon | oh, as in a non-lazy person could port it? | ||
14:54
kivutar left
|
|||
tadzik | if you find me a Perl 5 module, I can do this | 14:54 | |
[Coke] | Yes. not implying you, you're busy. :) | ||
tadzik | for now, I'm not exactly sure what you need :) | ||
turning 1 into 1st etc? | 14:55 | ||
colomon | no, turning attribute into attributes if there is more than one | ||
and then a list into A | |||
[Coke] | metacpan.org/pod/Lingua::ENG::Inflect ? | ||
colomon | or A and B | ||
or A, B, and C | |||
[Coke]: yes, like that for the first part. though that is seriously overkill for my current needs. | 14:56 | ||
WORDLIST there is the second bit | 14:57 | ||
masak | I think the 'of' form is defendable as well -- because it occurs for list and map types, where 'returns' doesn't make much sense. | 15:11 | |
don't ask me what the subtle difference was between 'of' and 'returns', though -- ISTR there was one, but I'm drawing a complete blank on what it might've been. | |||
timotimo | still wondering how best to work against the massive duplications of strings in rakudo | 15:12 | |
like __lowered_param_$n for example; there I can just have a little list of strings to cache these, since it definitely seems to be worth it | 15:13 | ||
but what about other cases? | |||
like OPER being crazy common | |||
15:24
kurahaupo left
15:26
Ven joined
|
|||
jnthn | OPER we should look into where it's coming from | 15:26 | |
Some of the others, though, we could have a %*INTERNS declared in TOP or comp_unit, and then write a sub intern in Actions.pm that we call in various places. | 15:27 | ||
timotimo | mhm | ||
i wasn't quite sure where OPER came from; it must be something non-constant, but it's not a composite of two, so it must be the result of some substring? | 15:28 | ||
jnthn | maybe, yeah... | ||
Well, it's the ones that make it into gen2 that we really want to worry about rather than those that just exist in the nursery for a bit. | |||
was OPER one of the gen2 ones | |||
? | |||
timotimo | yes | ||
incredibly common there | |||
Ven | (what's gen2 ?) | 15:29 | |
timotimo | where old objects come to live after they've proven that they're going to stick around longer | ||
garbage colllector terminology | |||
huh. | 15:31 | ||
Ven | (ooh :D) | ||
timotimo | my install/include contains dyncall/, but there's only dynload.h and dynload_alloc.h in there | ||
xfix | Interesting. I just installed Perl 1, and Perl 5 removes deprecated Perl 1 syntax, like do call()... | 15:33 | |
timotimo | oh, ouch | ||
modules.perl6.org shows "YAML Ainât Markup Language" | 15:34 | ||
xfix | Yet do call() still works in Perl 6. | ||
timotimo | we are perlers, we ought to know better than that! :) | ||
< Content-Type: text/plain; charset=utf-8 | |||
moritz | timotimo: yes, know better than that! | ||
timotimo | that's for raw.github.com/ingydotnet/yaml-pm6.../META.info | ||
15:35
FROGGS[mobile] left
|
|||
jnthn | timotimo: OK, curious... | 15:35 | |
huf | ingy, helping people debug unicode bugs since forever ;) | ||
timotimo | :3 | ||
well, the html claims to be utf8 | |||
Ven | never believe the html | 15:36 | |
timotimo | well, the http header doesn't give a content encoding, only the content-type text/html | ||
and then <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 15:37 | ||
and then YAML Ainâ<U+0080><U+0099>t Markup Language</dd> | |||
sergot | Is there one vm we should focus on or should we develop all of them? :) | 15:39 | |
huf | usual wtf8 | ||
timotimo | my $json = $ua->get($proj)->res->json; ← this is how the Info.pm in P6project of modules.perl6.org/web/lib fetches that; $ua is a Mojo::UserAgent | ||
i don't see how to tell mojo::useragent to do anything with encoding | 15:42 | ||
15:44
[Sno] left
|
|||
_sri | timotimo: encoding? | 15:44 | |
timotimo | maybe we should replace my $json = $ua->get($proj)->res->json; with my $json = decode_json($ua->get($proj)->res, binmode => ':encoding(UTF-8')) | ||
oh, hold on | |||
_sri | wtf? | ||
timotimo | that binmode came from read_file, not from decode_json | ||
my bad | |||
_sri | json is always utf-8 | ||
ingy | huf: :D | ||
15:44
ajr_ left
|
|||
ingy | huf: sorry ☺ | 15:45 | |
timotimo | okay, i have no clue of perl5. this is where i get off and someone else can hop on :) | ||
huf | ingy: huh? you provide a vital service! | ||
xfix | JSON is any UTF. | ||
_sri | not true | ||
huf | ingy: this is also why my name on certain sites is hüftlb cícáfős | 15:46 | |
xfix | _sri, RFC 4627 | ||
ingy | ☺ | ||
15:46
guru joined
|
|||
_sri | JSON is only UTF-8 now... the latest RFC revision made that pretty clear | 15:46 | |
xfix | To be exact, "3. Encoding" | ||
_sri | xfix: RFC 7159 | ||
15:46
guru is now known as Guest72697
|
|||
_sri | RFC 4627 is obsolete | 15:46 | |
15:46
Guest72697 is now known as ajr_
|
|||
_sri | the whole check the first two bytes to detect the encoding stuff is gone for good | 15:47 | |
a bare "null" is now valid JSON too... fun times | |||
huf | timotimo: this works fine: perl -Mstrict -Mwarnings -MData::Dumper -MMojo::UserAgent -E 'binmode STDOUT, ":encoding(UTF-8)"; say Mojo::UserAgent->new->get("raw.github.com/ingydotnet/yaml-pm6...cription}' | 15:48 | |
xfix | Makes sense... considering that now the first two characters aren't guaranteed to be ASCII. | ||
If you can return string directly. | |||
moritz | fwiw the Mojolicious version might just be Very Old | ||
huf | so either your module versions are old and this is an already fixed bug OR someone isnt setting encoding layers properly | ||
timotimo | moritz: that may be an easy fix in that case :) | ||
layers and layers and layers ... | |||
15:49
skids joined
|
|||
xfix | _sri, even in the newest JSON, UTF-16 and UTF-32 are allowed. | 15:49 | |
"JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32." | 15:50 | ||
timotimo | and JSON5? :) | ||
xfix | (by the way, I don't consider UTF-7 to be UTF) | ||
_sri | moritz: don;t think that matters here, it's just STDOUT not handling characters by default | ||
xfix | JSON5 doesn't exist. | ||
timotimo | it does not? | ||
xfix | Besides, it's not that JSON is compatible with JS. | ||
moritz | Jackson Five exists | ||
15:51
kaare_ left
|
|||
huf | well, used to | 15:51 | |
xfix | ES5 has JSON object, but JSON5 doesn't exist. | ||
_sri | timotimo: welcome to perl5 :) | ||
timotimo | xfix: you're not up to date then :) | ||
masak | xfix: what does 'doesn't exist' mean? | ||
Juerd | I've never encountered any UTF-16 or -32 JSON. | ||
xfix | Because it's waste of space, perhaps? | ||
masak | xfix: did you mean that you haven't heard of it? | ||
xfix | Possibly. | ||
_sri | xfix: yea right... except there is no official way to signal any encoding other than UTF-8 now ;) | 15:52 | |
timotimo | it's not really all that official, to be fair | ||
xfix | Anyway, JSON is not compatible with JS, because it allows \u2028 directly in strings, when JS doesn't. | ||
masak | right. not a strict subset. | ||
timotimo | what character is that? | ||
xfix | That could be as well a mistake, but it stays. | ||
Juerd | I think it'd be silly to have a JSON library handle anything other than UTF-8. It'd be spec-correct, but UTF-8 is the de facto standard for JSON. | ||
masak | m: say "\x2028".uniname | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«No such method 'uniname' for invocant of type 'Str' in block at /tmp/1ucLVVadpe:1» | ||
xfix | .u 2028 | ||
masak | dang. :) | ||
yoleaux | U+2028 LINE SEPARATOR [Zl] ( ) | ||
xfix | .u 2029 | 15:53 | |
masak | m: say "\x2028".uni | ||
yoleaux | U+2029 PARAGRAPH SEPARATOR [Zp] ( ) | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«No such method 'uni' for invocant of type 'Str' in block at /tmp/1RJpZrQgGi:1» | ||
masak | m: say "\x2028".uniprop | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«No such method 'uniprop' for invocant of type 'Str' in block at /tmp/bubYgHm9id:1» | ||
xfix | Those two characters are disallowed in strings. | ||
JS considers those to be new lines. | |||
timotimo | masak: .&uniprop | ||
xfix | But JSON doesn't. | ||
Juerd | _sri: UTF-16 or UTF-32 JSON can very easily be detected because there will be known plain text. The first character of JSON is always within the ASCII range. | ||
masak | timotimo: oh, right. | ||
m: say "\x2028".&uniprop | |||
camelia | rakudo-moar 1aeb7c: OUTPUT«Zl» | ||
TimToady | m: say "\x2028".&uniname | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«LINE SEPARATOR» | ||
_sri | Juerd: not anymore! ;p | ||
Juerd | _sri: ? | ||
_sri | Juerd: see RFC 7159 | ||
xfix | The first character is still in ASCII range. | 15:54 | |
masak | oh, so JSON is *finally* a strict subset? phew! | ||
timotimo | the first character still has to be ", doesn't it? | ||
_sri | Juerd: like i said before... a bare "null" is now valid JSON too :) | ||
xfix | null is in ASCII range. | ||
timotimo | is that a bare "null" or a "\"null\""? | ||
xfix | To write anything non-ASCII, you have to type " first. | ||
huf | who cares, " and n are both in ascii | ||
_sri | timotimo: bare | ||
timotimo | but not a null byte, yeah? | 15:55 | |
_sri | bare strings and numbers are valid too now | ||
Juerd | _sri: It explicitly defines null as %x6e.75.6c.6c so that's definitely within the ASCII range. | ||
string = quotation-mark *char quotation-mark | 15:56 | ||
xfix | Second byte may not be in ASCII range, but first has to be. | ||
Juerd | quotation-mark = %x22 ; " | ||
No bare strings. | |||
xfix | I mean, character. | ||
Talking about bytes doesn't make sense here. | |||
Juerd | xfix: First non-whitespace character. | ||
timotimo | huh. | 15:57 | |
Juerd | But it will still be one of less than two dozen allowed characters, each of which don't clash with any UTF-8 encoding of whitespace :) | ||
timotimo | my local ADT folder contains a .work with a bunch of subfolders (probably from when i installed it via "panda install .", and all of them include an "ogotype" directory | ||
note the missing l from the beginning | |||
how did that happen? %) | |||
Juerd | But still, nobody actually uses JSON with UTF-16 or -32 so why bother. | 15:58 | |
huf | hahahahah how sure are you? | ||
xfix | Also, JSON has at least one byte. | ||
The second doesn't have to exist. | |||
Juerd | huf: Incredibly. | ||
huf | .... just for that, lemme make one ;) | 15:59 | |
Juerd | huf: It wouldn't change the fact that nobody uses JSON with UTF-16 or -32. It would redefine "nobody" to include you :) | ||
xfix | JSON parser is easy. | ||
JSON writer is even easier. | |||
Juerd | xfix: And still there's so much "JSON" with unquoted keys... | 16:00 | |
huf | Juerd: well, i'm no scotsman :) | ||
xfix | Unquoted keys is not JSON. | ||
huf | it's jsonesque | ||
xfix | It could be JS5N, or whatever the JSON based on ES5 would be called, but I don't care. | ||
Juerd | xfix: Indeed it isn't. But unlike UTF-16 and UTF-32 JSON, illegal unquoted keys JSON does actually exist. | ||
xfix | And people parse it using eval(). | 16:01 | |
Juerd | It makes more sense to support bare keys than to support UTF-16 :) | ||
xfix | Well, as long they don't call it JSON, it's fine. | ||
It could be YAML easily. | |||
Juerd | I hate the semantic indents of YAML. | 16:02 | |
And Python. | |||
xfix | Nothing stops you from writing {a: "b", c: "d"} in YAML. | ||
Juerd | Sigh | ||
Oneliners aren't a solution :) | |||
xfix | Or even {a: b, c: d} | ||
Or even {name: YAML, description: Does stuff because why not.} | 16:03 | ||
Also, Python isn't that bad. Yes, it requires indentation. But at least it doesn't enforce whitespace any other way. b +c is perfectly fine, for example. | 16:05 | ||
CoffeeScript is more annoying. It cares about whitespace everywhere. | |||
And if you mistake whitespace position it won't make syntax error... no, it would be too easy - it will guess incorrectly what you mean. | 16:06 | ||
brrt | but coffeescript is totally self inflicted | ||
Juerd | This is what keeps me from using coffeescript | 16:07 | |
xfix | coffeescript.org/#try:call%28%29%20...f%28%29%0A | 16:08 | |
Deindent stuff(), and it will be parsed completely differently. | |||
At least some of this nonsense was fixed. For example, if you started the program indented, if you tried to deindent it, the lines simply disappeared. Now it simply complains about "missing indentation". | 16:10 | ||
For example, int main() {} is completely valid CoffeeScript. | 16:13 | ||
tadzik | reading this discussion makes me never want to touch coffeescript :) | 16:16 | |
16:17
denis_boyun left
|
|||
Ven | xfix: That's an issue we're trying to solve ;) | 16:17 | |
but the BDFL doesn't want to | 16:18 | ||
timotimo fixed ADT and wonders why it even worked in the mean time | |||
Ven | timotimo: how do you know it worked ;) ? | ||
xfix | And there are stupid design decision. ? is defined or operator. | ||
`a ? b ? 42` will complain about `b` not existing, because it's left-associative. | 16:19 | ||
decisions* | |||
Ven | xfix: Backwards compatibility issue | ||
xfix | Reminds me of ?: operator in PHP. | ||
Ven | I believe we all agree on the team that it'd be better the other way | ||
xfix | github.com/jashkenas/coffee-script/issues/2199 - it's wontfix. | 16:20 | |
Ven | xfix: I removed the wontfix :) | 16:21 | |
16:21
jnap1 joined,
fhelmberger left
|
|||
TimToady | it's very difficult to recover from early stupid design decisions when people are using your language :) | 16:22 | |
Ven | Yes. It's fixed in coffee's popular fork(s), though | ||
xfix | I actually wonder what would fixing this break. | ||
Ven | Even "Coffee 2.0" has it right | ||
16:22
jnap left
|
|||
Ven | xfix: Maybe corner cases of `and` & `or`, but these would probably be very very poor taste and discouraged in the first place | 16:23 | |
Some people abuse or/and to mean `if else` | |||
xfix | Alternatively, it could be chain operator, like certain operators in Perl 6. | ||
Ven | xfix: chain operator ? | ||
xfix | 1 < 2 < 3 | 16:24 | |
Ven | We have that too | ||
You mean `a?.b?.c` ? | |||
xfix | I mean a ? b ? c. | 16:25 | |
?. is fine. | |||
Ven | xfix: would work with right precedence | ||
TimToady wonders if this is quite the right forum for redesigning coffescript :) | |||
xfix | Design mistakes happen. | 16:26 | |
Ven | Haha, sorry. But you're definitely right on one point : changing stuff *after* is hard | ||
xfix | For example, it would be nicer if in fish shell () doesn't interpolate in "". | ||
16:26
mavcunha left
|
|||
Ven | Isn't even perl6 in that case ? | 16:26 | |
xfix | But fixing it would break the compatibility. | 16:27 | |
masak | Ven: isn't even perl6 what? | ||
Ven | masak: somewhat restricted due to bc breakages | ||
masak | Ven: well, yes, in the sense that we have users and code already. | ||
Ven: but not nearly to the same degree as Perl 5, say. | |||
16:28
mavcunha joined
|
|||
Ven | Yeah, that goes without saying ... | 16:28 | |
xfix | Perl 5 just removed in Perl 5.20 the old syntax deprecated in Perl 5. | ||
do stuff(); | |||
masak | \o/ | ||
xfix | That syntax existed in Perl 1, and it was a mistake. It was removed long time later. | ||
Ven | I remember reading TimToady saying something like "Perl 6 is like what Perl 5 could evolve after decades of deprecation warnings" | ||
s/evolve/evolve into/ | 16:29 | ||
16:29
brrt left
|
|||
masak | Ven: "Think of Perl 6 more as Perl 16" :) | 16:29 | |
Ven: that's from a perlmonks post somewhere. | |||
xfix | Features were removed, even with bc concerns. | ||
Ven | masak: Definitely :) | ||
xfix | The biggest example I can think of are pseudo-hashes. | ||
Ven | xfix: what are these ? | ||
xfix | It's the feature that let you access array keys as hash keys. | 16:30 | |
perldoc.perl.org/5.8.8/perlref.html...-as-a-hash | |||
Ven | xfix: Thanks -- I never actually used perl 5 | ||
xfix | It was removed in Perl 5.10, because it was problematic to support in the code. | ||
nwc10 | that wasn't the story that I was told. :-) | 16:31 | |
xfix | It was added in Perl 5.005, but even then it was a bad idea. | ||
16:31
mavcunha left
|
|||
xfix | They were* | 16:31 | |
nwc10 | It (also) slowed down all (regular) array accesses | ||
or was it hash accesses. I forget. But it hurt all the code that wasn't using it | 16:32 | ||
xfix | Everything could be a pseudo-hash. | ||
could have been* | |||
masak | that's like the lithmus test of a bad feature. | ||
Ven | uh yeah, I can see why people may call it a hack :p | ||
TimToady | well, it woulda worked out much better if Perl 5 actually dispatched based on a type system, rather than oddles of 'if' statements once you're past the opcode dispatch | ||
masak | does it punish people who are not using it? | ||
Ven | masak: the doc says it does | 16:33 | |
TimToady | we could easily put pseudohashes into Perl 6 as a type, and it would have very little effect on the built-ins | ||
nwc10 | masak: yes, because in Perl 5 everyone else still gets to execute the "if it's not this funny thing" check | ||
TimToady | just look at the typical opcode implementation in P5, it's a maze of nested ifs and elses | ||
16:33
pmurias joined
|
|||
masak fails to find TimToady's perlmonks post, and only finds a comment by chromatic old enough to sound optimistic: www.perlmonks.org/?node_id=861690 | 16:33 | ||
16:34
ajr_ left
|
|||
masak | by the way, I'm glad @people++ are digging into the concurrency bits. | 16:34 | |
Ven | masak: is that ++ concurrent :) ? | ||
xfix | github.com/fish-shell/fish-shell/issues/159 | 16:35 | |
masak | @people»++ :) | ||
xfix | This is one of most requested features in fish shell. | ||
But backwards compatibility is backwards compatibility. | |||
And $() is against fish shell design guidelines. | 16:37 | ||
masak | ooh, here www.perlmonks.org/?node_id=861950 is a *list* of things that constitute "ready" for Perl 6. | ||
from *2010*. | |||
I don't know about all y'all, but if I/we ever get around to make that isperl6readyyet.com page, then we should probably consider the things on that list. | 16:38 | ||
xfix | Does Perl 6 have logging framework now? | ||
TimToady | 'of' and 'returns' were always just synonyms | ||
masak | xfix: you can override $*OUT and $*ERR :) | ||
TimToady | but we probably would not have added 'returns' if '-->' had existed at that point | 16:39 | |
masak | srsly, though. no, I don't think it does have a logging framework. | ||
xfix | Something at least comparable with "console" object in JavaScript? | ||
masak | xfix: that's $*OUT. | ||
m: say $*OUT.^name | |||
camelia | rakudo-moar 1aeb7c: OUTPUT«IO::Handle» | ||
masak | m: say $*OUT.^methods | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«open close eof get getc lines read seek tell write opened t print slurp spurt copy chmod IO path flush encoding d e f s l r w x z modified accessed changed say Str gist perl <anon> <anon>» | ||
xfix | $*OUT doesn't even print timestamps. | 16:40 | |
16:41
kaleem joined
|
|||
Ven | masak: I actually got to that post :p | 16:41 | |
TimToady: what would be 5 things you would remove out of perl 6 if it still was only a spec (and somebody would do the editing part for you) ? | 16:44 | ||
TimToady | there is nothing in there that I would not change based on backward compat | 16:45 | |
I still reserve the right to change anything till 6.0.0 comes out | |||
xfix | The features that were considered to be bad were already removed. | ||
masak | sometimes to the dismay of some of us... :) | ||
(in reply to TimToady) | |||
Ven | TimToady: well, you mentioned "returns" | ||
TimToady | well, a case could be made for removing 'returns' at this point | 16:46 | |
masak | maybe we should ditch 'returns'. | ||
'of' is shorter. | |||
and I'm not aware of any big uses of 'returns', knock on wood. | |||
Ven likes `of` but it not quite used to `-->` | |||
xfix | This is like join() and implode() in PHP. | ||
Ven | I'm too used to "argument lists" | ||
16:46
aindilis left
|
|||
TimToady | after --> it's just reverse arguments :) | 16:47 | |
masak | the thing I feel is weird about '-->' is that signatures are all about parameters... *except* for the '-->' bit, which is about return values. | ||
TimToady | it's describing in parameters and out parameters | ||
masak | it doesn't make any sense in the var-decl/routine unification of signatures, for example. | ||
Ven | masak: same feeling | ||
xfix | But what else it could be? sub Int factorial(Int $value) { return [*] 1..$value; } looks quite ugly. | 16:49 | |
TimToady | it's my Int sub | ||
std: my Int sub factorial(Int $value) { return [*] 1..$value; } | 16:50 | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 129m» | ||
TimToady | std: my Int sub factorial(Int $value --> Num) { return [*] 1..$value; } | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 130m» | ||
TimToady | hmm, that used to catch the error | 16:51 | |
std: my Int sub factorial(Int $value --> Num) returns Str { return [*] 1..$value; } | |||
camelia | std 09dda5b: OUTPUT«===SORRY!===Extra 'of' type; already declared as type Int at /tmp/JG3AlSaNnb line 1:------> ctorial(Int $value --> Num) returns Str ⏏{ return [*] 1..$value; }Check failedFAILED 00:01 130m» | ||
TimToady | std: sub factorial(Int $value --> Num) returns Str { return [*] 1..$value; } | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 129m» | ||
TimToady | coulda sworn that one "worked" | 16:52 | |
n: sub factorial(Int $value --> Num) returns Str { return [*] 1..$value; } | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: &factorial is declared but not used at /tmp/o83DNsk0Pb line 1:------> sub factorial⏏(Int $value --> Num) returns Str { retur» | ||
16:52
jnap1 left
|
|||
TimToady | hmm | 16:52 | |
16:52
jnap joined
16:53
zakharyas left
|
|||
[Coke] | coming from java, I'd be happy with "Int sub foo" to mean "sub foo returns Int" | 16:53 | |
xfix | The thing is it's quite ugly. Integer subroutine foo? | 16:54 | |
Anyway, whatever the option will be choosed, don't choose TypeScript method. It's just awful - gist.github.com/xfix/9511216 | 16:55 | ||
Or perhaps it's not, if I think of ":" as "is"... | |||
sub factorial($value is Int) is Int { } | 16:56 | ||
Of course, backwards compatibility is backwards compatibility. It's not that such huge changes could happen. | 16:57 | ||
And well, "is" is already used for traits. | |||
TimToady | std: sub factorial($value of Int) of Int { [*] 2..$value } | 16:59 | |
camelia | std 09dda5b: OUTPUT«ok 00:01 128m» | ||
perl007 | For hash indexes <> is like {''}, shouldn't it be like {""}? For indexing hash of hashes with variable, different brackets look ugly. | ||
xfix | perl007, if you need variable, just use {} directly. | 17:00 | |
TimToady | or «» | ||
xfix | Why have both $a<$b> and $a{$b}. | ||
17:00
vincent21 left
|
|||
TimToady | because they're different | 17:01 | |
xfix | Exactly. | ||
perl007 | <var><string> or {var}<string> which one would be better? | ||
xfix | <var><string> is indexing a list as a hash. Obviously it won't work. | ||
variable<> is just a syntactic sugar, if you need a literal key. | 17:02 | ||
So you don't have to write $_GET['stuff']. | |||
perl007 | just sugar with double quotes | ||
why not? | 17:03 | ||
TimToady | because then $a<$b> would mean the wrong thing | ||
it's supposed to mean $a{'$b'} | |||
xfix | If you don't like it, you are free to modify language from language itself, or use $a«$b». | ||
And don't propose making single quotes interpolate. There is a reason why they don't. | 17:04 | ||
perl007 | no no, just that one :) | ||
xfix | < is single, « is double. It's consistency. | ||
TimToady | right, and then we have exactly the same kind of kludge that Perl 5 has with $hash{key} | 17:05 | |
xfix | Which I hate. | ||
Why I cannot simply type $hash{shift} = 42, or something like this. | |||
Juerd | I'm entirely happy with that kludge. | ||
I've learned to write $hash{+shift} | |||
17:05
metatodon joined
|
|||
TimToady | + as a no-op is another kludge :) | 17:06 | |
xfix | I also hate this + prefix operator. It's hack. | ||
It's a hack in my opinion*. | |||
Juerd | TimToady: I'm entirely happy with that one too, because I need it to cancel the other kludge out :) | ||
xfix: I'm a hacker. I don't mind hacks. | |||
TimToady | Physics teacher: Don't tell the mathematicians I said this, but you can just cancel out all these dx's and dy's... | 17:07 | |
Juerd | :) | ||
xfix | Another one is | & ^ behaving differently depending on the variable internal type that can change when you do something as basic as adding zero to it. | ||
Juerd | xfix: That I can't stand. | 17:08 | |
It's like The unicode bug, but worse. | |||
TimToady | well, now, that's the thing, everyone wanted about 361 different things to be fixed, but nobody wanted the same set of things to be fixed :) | ||
xfix | xfix@pear ~> perl -E 'my $x = "1"; print $x | "a"; $x + 0; say $x | "a";' | 17:09 | |
q1 | |||
Juerd | TimToady: I'm aware :) | ||
xfix | Why adding zero to variable, and doing nothing to it would do something. Because it's Perl. | ||
Juerd | xfix: Yes. This is just broken, but most people don't notice because they don't use this part of the language that much. | 17:10 | |
TimToady | but that's okay, because today is Everyone's a Language Designer Day :) | ||
Juerd | TimToady: Sweet! I'll begin this beautiful day by swapping => and : to make Perl 6 look more like Javascript | 17:11 | |
metatodon | ELDDAY! | ||
Juerd | (The real reason is, of course, to drive everyone nuts.) | ||
xfix | And I'm going to begin this by removing $ from variables, and adding automatic semicolon insertion. | ||
To make this look more like... JavaScript, you guessed it. | |||
my variable = 42 | 17:12 | ||
Juerd | s/my/var/, s/sub/function/ and they'll wonder who added classes, junctions and grammars to JS... :) | ||
metatodon | xfix: automatic semicolon insertion? That way lies chaos. | ||
xfix | I actually prefer my to var. | ||
var is ugly, but whatever. | |||
Juerd | xfix: So do I | ||
xfix | And function. Couldn't they have made a shorter keyword? | 17:13 | |
Juerd | Although I still like "a" better :P | ||
moritz | also, 'my' is shorter | ||
Juerd | moritz: "a" is even shorter! | ||
metatodon checks if it's April 1 today... | |||
xfix | metatodon, I like ASI. | ||
Juerd | xfix: fun'd be fun. | ||
xfix | github.com/xfix/python-format/blob...-format.js | ||
17:14
kaleem left
|
|||
moritz | Juerd: '' is even shorter | 17:14 | |
17:14
cooper joined
|
|||
Juerd | moritz: Yes, but very hard to see. | 17:14 | |
xfix | But that would make more bugs. | 17:15 | |
I don't want Python. | |||
Or CoffeeScript. | |||
Where you declare new variable without wanting to make a new variable. | |||
Juerd | xfix: Of course you don't want any of those. They're all so entirely not Javascript! | ||
TimToady | .oO(and '' is shorter than 'script') |
17:16 | |
xfix | I actually dislike $ in Perl. | ||
Juerd | TimToady: In fact, "" is shorter than almost every "$anything". | ||
huf | a 0byte source file has 0 bugs, therefore any shortening is worth it | ||
Juerd | huf: Except in Java | ||
xfix: I tried $ sigils in Javascript and found out that I really don't like how they look, but do like being able to tell the difference between things. | 17:17 | ||
typing-speed-test.aoeu.eu/ is one experiment from that time, that's still online. | 17:18 | ||
xfix | Perl source codes could be cleaner without $@%& noise, but well, it makes Perl feel like Perl. | ||
Juerd | Written in 2005 iirc. | ||
[Coke] realizes that xfix is not some new person. | |||
xfix: if you don't like sigils in Perl 6, you can avoid them. | 17:19 | ||
Juerd | [Coke]: New persons (often called "babies") often can't type yet. | ||
xfix | [Coke], GlitchMr, just mentioning. | 17:20 | |
Juerd: Anyway, 435CPM. QWERTY, lame laptop keyboard. | |||
Juerd | xfix: Now try it with a sigil in front of every word ;) | 17:21 | |
(Don't... Waste of time!) | |||
xfix | This keyboard typing test wouldn't allow me to pass with $ before each word. | 17:22 | |
Oh wait, I can. | |||
ok, afk for one minute. | 17:23 | ||
Juerd | It will give you the "raw cpm" at the end of the test. | ||
A typing test, afk? | |||
What are you... Jedi? | |||
428 CPM with $, 625 CPM without. | 17:24 | ||
xfix | 37 CPM. | ||
I mean, 378 CPM. | |||
Juerd | 37 would have been worrying. | ||
xfix | It's not that I have to type really quickly while programming. | ||
400CPM is reasonable, to be honest. | |||
Juerd | I can't program as fast as I can copy words, anyway. | 17:25 | |
xfix | True. | ||
Juerd | But I bet Java programmers can. | ||
17:25
aje__ left
|
|||
xfix | Nice job on 625 CPM. | 17:25 | |
I never bothered learning how to type on the keyboard. | |||
Juerd | Thanks. My high score of 666 was almost a year ago :| | ||
xfix | I also often press Backspac. | 17:26 | |
Backspace* | |||
Juerd | I have something for that too. learn.dvorak.nl/ | ||
xfix | I use QWERTY. | ||
Juerd | That's okay, the javascript will remap it for you ;-) | ||
And once you've learned how to type properly, you can change your system wide settings. | 17:27 | ||
It'll save you more finger movement than a lack of sigils could ever do. | |||
xfix | Is it worth it? I mean, I have lame laptop keyboard that simply cannot be typed on well. | ||
I get better results than 428 CPM when not being on laptop. | |||
Juerd | Yes. It's about the distance between keys. | ||
And that's the same for practically all keyboards. | |||
As for laptops: stick to higher end laptops, like Thinkpads, Apples and high-end Dells. | 17:28 | ||
tadzik | laptop keyboard can't be typed on well? Pfeh | ||
Juerd | My typing high score was on a Thinkpad keyboard. | ||
tadzik | I bought a thinkpad keyboard to my work computer, so I can have a trackpoint and not have to use a mouse | 17:29 | |
xfix | Well, I guess I'm lying now, considering I have Lenovo laptop. | ||
Juerd | tadzik: I found the external ones to be of a lousy build quality. | ||
xfix | And the keyboard looks similarly to that in Thinkpads, even if it's not Thinkpad. | ||
17:29
arnsholt joined
|
|||
Juerd | xfix: Oh, but it's different. | 17:29 | |
tadzik | Juerd: well, it's about as bad as the laptop ones, imo | ||
although the external one didn't lose a key yet | 17:30 | ||
17:30
denisboyun joined
|
|||
dalek | kudo-star-daily: 9066eed | coke++ | log/ (5 files): today (automated commit) |
17:30 | |
tadzik | and I lost my S after.... 2 weeks on a top-tier ThinkPad? | ||
xfix | I'm still a student. I don't have money for some expensive computer, lol. | ||
tadzik | it took about 2-3 years on a low-tier thinkpad too :P | ||
Juerd | tadzik: My external thinkpad keyboard had a few wobbly keys and it bent rather easily. | 17:31 | |
tadzik | I must say, I didn't try to bend mine :P But it doesn't bend by itself when I type on it, at least I don't notice it | ||
Juerd | I get angry. Well, not anymore, but I did. | ||
tadzik | it still uses the "old keys" though, I've read bad reviews on the "new keys" externals | ||
but I mostly didn't by the "new keys" because it was wireless | 17:32 | ||
Juerd | I could smash the actual Thinkpad without causing any real damage, but the external Thinkpad-ish keyboard couldn't take hat. | ||
s/hat\./that./ | |||
tadzik | heh, truee | ||
I don't think the external keyboard has a magnesium skeleton inside, or whatever it's made of | |||
Juerd | Yeah, it was the non-island style. | ||
tadzik | non-chickens | 17:33 | |
Juerd | Indeed it doesn't. | ||
Chickens? | |||
tadzik | I like island style, makes hair removal So Much Easier | ||
people called them "chicklets", so I changed that to "chickens | |||
" | |||
Juerd | I see | ||
tadzik | makes all those boring keyboard conversations a lot more interesting | ||
Juerd | Hair... yes. Nail clippings however become a new issue. | ||
tadzik | (no, I'm not relating it to this one) | ||
(I mean the "omg mechanical keyboards" thing :)) | 17:34 | ||
metatodon | tadzik: you mean flatbeds? | ||
Juerd | I have mechanical keyboards. I like them, but not as much as the Thinkpad laptop keyboards. | ||
tadzik | I never heard that work before | ||
er, word | |||
Juerd | Flat beds, those are image scanners, right? :) | ||
metatodon | yep :P | 17:35 | |
dylanwh | someone was like "Woah, a thinkpad. is that new? they still make those?" | ||
xfix | My leopard works, why should I change it? | ||
Juerd | dylanwh: It's taken them 4 years to make another high end Thinkpad, and they suck. | ||
17:35
telex left
|
|||
metatodon | They get hot and I think of them as flatbeds. :P | 17:35 | |
Juerd | dylanwh: I have an X240 now, and the X201s was better. I've used the T440, and the previous T (I forgot the number) was better. | ||
17:36
pmurias left,
kaare_ joined
|
|||
Juerd | But, I need the upgraded hardware, like USB3. | 17:36 | |
tadzik | I have T430, it's nice | ||
dylanwh | yeah. I have a x230. I had an T420 but the screen was *shit* | ||
17:36
aje_ joined
|
|||
Juerd | Thinkpad screens are always shit | 17:36 | |
dylanwh | 1600x900 but horrible colors and hard to see | ||
tadzik | but even on lenovo.com people rant on x40 series in reviews | ||
Juerd | The X240 has ghosting that takes minutes to go away. | ||
17:36
telex joined
|
|||
dylanwh | the x230 has a very nice screen. | 17:36 | |
Juerd | dylanwh: Low-res. | ||
dylanwh | well, yes | ||
Juerd | Low res screens are never very nice. | 17:37 | |
I don't want my laptop to have a lower resolution than my phone, for crying out loud. | |||
tadzik | hmm. I have a 14" 1600x900 in a laptop, and 1680x1050 22" next to it | ||
I hardly see the difference :) | |||
Juerd | (Not replacing the phone.) | ||
dylanwh | I would've asked for a chromebook pixel except that would've been awkward to ask @mozilla it... ;) | ||
Juerd | My external screen is 2560x1440, my laptop does 1920x1080. I'm addicted to high res displays. | ||
tadzik | I mean, the difference is extremely visibl | 17:38 | |
I'm not sure if it's worth it. It doesn't impact me in any way | |||
Juerd | Well, the past few years I've been doing web dev again | ||
dylanwh | I find my eyes are bad enough where I have to increase the font size so the extra real-estate isn't much | ||
Juerd | And I usually have a .css, a .js, a .html and a .pm open at the same time. | ||
Sometimes extra .pm's or extra .js'es | 17:39 | ||
17:39
metatodon left
|
|||
Juerd | And at the same time, I need a vertically huge browser window for debugging the javascript crap. | 17:39 | |
[Coke] | lwp-simple is failing tests on R* candidate. | 17:49 | |
jsonrpc still failing | 17:50 | ||
17:58
treehug88 left
18:00
isBEKaml joined
18:01
treehug88 joined
18:05
kurahaupo joined
18:07
dakkar left
18:08
hoverboard left
18:17
isBEKaml left
18:30
moises joined
18:32
darutoko left,
virtualsue left
18:37
dwarring joined
|
|||
dalek | ast: 6ef36a7 | (David Warring [email@hidden.address] | integration/advent2013-day08.t: adding basic tests for advent 2013 day |
18:42 | |
dwarring ... day 08 | 18:43 | ||
[Coke] | is warring here? | ||
ah, hi. | |||
are you on questhub? | |||
dwarring | hi Coke | ||
yes and no | |||
good idea, put it up on questhub | |||
[Coke] | I have some quests you can steal for advent coverage. | 18:44 | |
what's your ID? | |||
dwarring checking questhub been a while | |||
[Coke] | eh no big deal, you can create your own quests. :) ^H | 18:45 | |
18:46
kurahaupo_mobile joined,
kurahaupo left
|
|||
dwarring | [Coke]: I've created account dwarring on questhub | 18:48 | |
18:54
bluescreen10 left
18:56
Rotwang1 joined
|
|||
[Coke] | questhub.io/player/dwarring -> internal http error | 19:02 | |
19:02
treehug88 left,
treehug88 joined
|
|||
timotimo | yeah, rather than "no such player" it gives that | 19:04 | |
dwarring rechecking questhub | 19:05 | ||
19:07
sftp_ left
19:08
sftp joined
|
|||
dwarring | ok, looks like I just signed up then on questhub.org which is a knock-off of questhub.io !?? | 19:09 | |
I've got a very old account on questhub.io | 19:10 | ||
the id is 'david' | 19:11 | ||
timotimo | yeah, it would appear to be pretty cheap. | 19:13 | |
dwarring | yeah and misleading | ||
i don't think I can change my questhub id easily, so david it is | 19:14 | ||
timotimo | berekuk hangs out here sometimes, he could do it for you i'm sure | ||
dwarring would prefer dwarring but can live with david | 19:15 | ||
lue | Is it normal to get errors like "Missing or wrong version of dependency 'src/Perl6/Actions.nqp'" when running the spectest after making changes to rakudo, but before running make install? | 19:16 | |
timotimo | yes, though it's far from optimal. | ||
masak is typing on a en.wikipedia.org/wiki/Model_M_keyboard | 19:17 | ||
19:17
zaydon joined
|
|||
masak | force feedback, aah. | 19:17 | |
lue | timotimo: alright, that explains all the new failures I got from Moar and JVM (but strangely no new ones from Parrot ☺) | ||
19:18
zaydon left
|
|||
timotimo | did anybody want to look at why modules.perl6.org has busted characters in yaml's description? | 19:19 | |
[Coke] | dwarring: invited you to the roast/advent quests. Steal all the points! | ||
19:20
kurahaupo_mobile left
|
|||
lue | masak: lucky :) I still want a Space Cadet, or something just like it. | 19:21 | |
timotimo | a friend of mine bought a keyboard for advanced cash registers | ||
and re-ordered the buttons and re-programmed the firmware | |||
now he's running a modified neo2 layout on it | |||
19:25
xenoterracide joined
|
|||
vendethiel | r: 5 +| 6 | 19:33 | |
camelia | ( no output ) | ||
vendethiel | r: say 5 +| 6 | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«7» | ||
vendethiel | I don't remember seing these in S03, but I probably missed it | ||
19:34
stevan_ left
|
|||
timotimo | perlcabal.org/syn/S03.html#Additive_precedence - here they are | 19:36 | |
well, at least +| and +^ | 19:37 | ||
lue | timotimo: +& , +< , and +> are here: perlcabal.org/syn/S03.html#Multipli...precedence | 19:39 | |
timotimo | yup | ||
i figured ven could do that much work by himself :P | |||
dwarring has signed up to roast/advent quests | 19:41 | ||
vendethiel | timotimo: I don't remember reading anything of that :o. I might've either been really tired or skipped over some stuff | ||
timotimo | mhm | ||
vendethiel | I probably went "meh I know the maths stuff, let's skip over it" | 19:43 | |
timotimo | :D | ||
lue | .oO(come to think of it, I'm not sure the ~* family of ops could/should be used on strings. Such low-level-ness for a more abstract concept feels wrong) |
||
timotimo | well, strings are unicody | 19:44 | |
so you'll be getting quite strange results that depend on the normalisation form and everything | |||
[Coke] | for declaring multidim arrays, we have [4;2] - what about indexing them? | ||
lue | ~& and friends have to work on a specific encoding by their nature, so they currently coerce Strs to Bufs. (the spec even says such coercion is a design smell, fwiw ☺) | ||
timotimo | same deal, [Coke] | ||
[Coke] | same, yes? | 19:45 | |
timotimo++ | |||
timotimo | lue: fair enough | ||
[Coke]: but you can also do [2][1] | |||
lue | I personally think someone who needs to do bitwise ops on strings will know best what kind of buffer to convert to :) | ||
timotimo | "but strings are just series of numbers from 0 to 127!" | 19:46 | |
[Coke] | timotimo: I have a fiver ranting at me that [2][1] is too much syntax. :) | 19:47 | |
masak | [Coke]: I look forward to [4;2] landing and me getting used to it. | 19:48 | |
lue | .oO( @a[2][4]{'custom idx'}{7}[7] ) |
||
timotimo | [Coke]: i had a branch at some point that turned LoL inside [ ] into "the right thing" - almost | 19:49 | |
IIRC i was told to rather wait for the list respec before tackling an actual merge | |||
19:52
hoverboard joined
|
|||
timotimo | r: my %foobar; %foobar<hi> = "goodbye"; %foobar<bye>:delete; say %foobar; | 19:52 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«("hi" => "goodbye").hash» | ||
masak | m: say flat [1, [2, 3, [4, 5]]] | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«1 2 3 4 5» | ||
timotimo | sergot: you don't need to check for the existence of an element in a hash to use :delete, re github.com/sergot/http-headers/blo...rs.pm6#L28 | ||
masak | timotimo: you're probably right, but that line *doesn't* check for existence -- it checks for truthiness. | 20:00 | |
timotimo | masak: huh? | ||
oh | |||
masak | m: my %h = foo => 0; %h<foo> :delete if %h<foo>; say %h.perl | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«("foo" => 0).hash» | ||
timotimo | that may very well be a bug, too, though | ||
masak | I assume so. | ||
timotimo | m: my %h = foo => 0; %h<foo>:exists:delete if %h<foo>; say %h.perl | 20:01 | |
camelia | rakudo-moar 1aeb7c: OUTPUT«("foo" => 0).hash» | ||
timotimo | m: my %h = foo => 0; %h<foo>:exists:delete; say %h.perl | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«().hash» | ||
timotimo | er, that was nonsense :) | ||
20:02
stevan_ joined
|
|||
dalek | kudo/nom: a0a5990 | lue++ | src/core/ (2 files): Rename .ast to .made, as per S05. The .ast method is still around, though now it's deprecated. |
20:06 | |
timotimo | nqp: my %foo := nqp::hash("bar", 1, "baz", 2); my %frob := nqp::clone(%foo); say(%frob<bar>); | 20:10 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1» | ||
timotimo | neato | ||
vendethiel | Also, I'm (almost ! 2 to go) done with the synopsis and I'm wondering : why do we need so many declarators ? `let` `my` `temp` `our` etc | 20:14 | |
also local and others? | |||
timotimo | well, they all do different things | ||
skids | scoping and state can get complicated, is why. | ||
timotimo | i didn't know "local" is a thing in p6? | ||
vendethiel | timotimo: probably confused `state` | 20:15 | |
timotimo | ah, probably | ||
well, all i can do is go through the list and say what each does and why it's not the same as something else | |||
other than that: that's just the way it is | 20:16 | ||
i have written some code. now is the time to try it and see if it b0rks horribly | 20:17 | ||
20:17
perl007 left
|
|||
timotimo | oh, huh | 20:18 | |
how did that happen: Error while compiling op copy (source text: "nqp::copy(%antifilter)"): Arg count 1 doesn't equal required operand count 2 for op 'copy_f' | |||
skids | .oO(All those declarators and I still have to write $a++; $b = sub { my $a2 = $a; $a2 + $^arg } to capture value-at-closure-creation-time, is what gets me.) |
20:19 | |
erm. missed a closure in that. | 20:20 | ||
$a++; $b = { my $a2 = $a; { $a2 + $^arg } } | |||
or whatnot. | |||
timotimo | hmm, something like ENTER doesn't do it? | 20:21 | |
actually, shouldn't state do it? | |||
d'oh. i *tested* nqp::clone in this channel and i'm wondering why nqp::copy doesn't work | 20:25 | ||
skids | timotimo: yes, you can use state, but the problem is you have to introduce a new name even so. | 20:29 | |
Or use OUTER | |||
Really just a prettiness issue though, you can do it, it's just not poetry. | 20:30 | ||
20:34
DarthGandalf left
20:36
kaare_ left
|
|||
masak | vendethiel: technically `temp` and `let` aren't declarators. | 20:38 | |
vendethiel | r: my temp $a; #? | 20:39 | |
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«===SORRY!===Type 'temp' is not declaredat /tmp/tmpfile:1------> my temp⏏ $a; #?Malformed myat /tmp/tmpfile:1------> my ⏏temp $a; #? …» | ||
masak | vendethiel: also, after so many years with Perl 6, the only one I don't really care for is `our`. | ||
skids | What, not into sharing? :-) | 20:40 | |
masak | m: my $foo = 5; say $foo; { temp $foo = 42; say $foo }; say $foo | ||
camelia | rakudo-moar a0a599: OUTPUT«5425» | ||
masak | vendethiel: `temp` above is not a declarator, because the variable $foo is already declared. | ||
timotimo | same with let, no? | 20:42 | |
masak | aye. | ||
(and it's still the "same" variable, even when its value is being temporarily overwritten) | |||
or, as with `let`, hypothetically overwritten. | |||
xfix | rn: my %statuses = (normal => 1,sleep => 2.5,frozen => 2.5,paralyzed => 1.5,poisoned => 1.5,burned => 1.5,); | 20:43 | |
camelia | ( no output ) | ||
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: %statuses is declared but not used at /tmp/tmpfile line 1:------> my ⏏%statuses = (normal => 1,sleep => 2.5,fr» | |||
xfix | hm, ok | ||
lue | masak: ooc, what's your issue with 'our'? | ||
20:43
vincent22 left
|
|||
xfix | Weird, it considers this hash to have odd number of elements, but I'm not quite sure why. | 20:44 | |
rn: gist.github.com/xfix/9515886 | |||
camelia | rakudo-jvm a0a599: OUTPUT«("burned" => 1.5, "poisoned" => 1.5, "normal" => 1, "frozen" => 2.5, "sleep" => 2.5, "paralyzed" => 1.5).hashCannot unbox a type object» | ||
..rakudo-parrot a0a599: OUTPUT«("normal" => 1, "sleep" => 2.5, "frozen" => 2.5, "paralyzed" => 1.5, "poisoned" => 1.5, "burned" => 1.5).hashOdd number of elements found where hash expected in method STORE at gen/parrot/CORE.setting:9064 in sub MAIN at /tmp/tmpfile:24 in an…» | |||
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===In parameter declaration, typename 'uint' must be predeclared (or marked as declarative with :: prefix) at /tmp/tmpfile line 21:------> uint⏏ :$max-hp,Parse failed» | |||
..rakudo-moar a0a599: OUTPUT«("normal" => 1, "sleep" => 2.5, "frozen" => 2.5, "paralyzed" => 1.5, "poisoned" => 1.5, "burned" => 1.5).hashCannot unbox a type object in sub MAIN at /tmp/tmpfile:20 in sub checker at src/gen/m-CORE.setting:3117 in method cando at src/gen/m-CO…» | |||
xfix | Any idea what I'm doing wrong? | 20:45 | |
timotimo | what's with "where %statuses = "normal"? | ||
skids | trailing comma? | ||
timotimo | trailing comma should be allowed | ||
xfix | Oh... | ||
timotimo | i'd write { } instead, though | ||
[Coke] | look at the syntax highlighting. | ||
xfix | I want to have a default value, but this is a valid syntax. | ||
timotimo | ah, right | ||
sorry, that always gets me | |||
xfix | is not* | ||
Hm, how can I have where with default value? | 20:46 | ||
timotimo | er, didn't we fix that? | ||
skids | Try adding some newlines IIRC having run into that bug. | ||
timotimo | worst case, you have subset types "BallType" and "StatusType" | ||
[Coke] again wishes p6 had /* */ ;P | |||
lue | [Coke]: but it does! :) | 20:47 | |
xfix | #`() | ||
[Coke] | not quite the same, but ok. :) | ||
jnthn | evening, #perl6 | 20:48 | |
lue | o/ jnthn | ||
[Coke] | jnthn: O/! | ||
xfix | Also, yes, I've noticed syntax highlighting on GitHub. | 20:49 | |
lue | ( Of course, if you want to do embedded comments the Cool Way™, you should go for things like #`⦃⦃⦃ ... ⦄⦄⦄ or #`﴾ ... ﴿ or #`☃ ... ☄ ) | ||
xfix | .perl sorta confused me. If it assigned new value, why it has old value? | ||
timotimo | lue++ # snowman comet comment | 20:50 | |
xfix: what now? | |||
xfix | ("burned" => 1.5, "poisoned" => 1.5, "normal" => 1, "frozen" => 2.5, "sleep" => 2.5, "paralyzed" => 1.5).hashCannot | ||
Apparently, it's being written to, but it has old value. | |||
tadzik | I see pokemons | ||
xfix | Because this script is Pokeball capture rate calculator. | 20:51 | |
timotimo | you mean %statuses is being assigned to with the = "normal"? | ||
xfix | I think this happens. | ||
I want both where and default value. | |||
I tried Str :$ball = "poke" where %balls, but it's a syntax error. | |||
timotimo | yes | ||
have you tried a subset declaration? | |||
xfix | I guess I should try. | ||
timotimo | otherwise, an enum could also work | 20:52 | |
xfix | Seems to work. | ||
vendethiel | r: my $a = 0; say $a; { temp $a = 5; say $a; }; say $a; | ||
timotimo | and the .perl outputs the "old value" because the where clauses are being called after the whole script has run through | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«050» | ||
timotimo | i mean the main body of the script itself | 20:53 | |
vendethiel | ah yeah, I see. That's kinda like `my $*a;` | ||
20:53
DarthGandalf joined
|
|||
timotimo | bleh. my new nqp-level optimization causes a Exception in thread "main" org.perl6.nqp.runtime.UnwindException during compilation of nqp itself :( | 20:54 | |
20:55
jnap left
|
|||
jnthn | timotimo: Åhnejs! I think there's an envvar you can set to get more details. | 20:57 | |
timotimo | Ohneins! | ||
"Segmentation fault (core dumped)", well, that's interesting, too | 20:59 | ||
21:00
BenGoldberg joined
|
|||
jnthn | Ooh! | 21:00 | |
Crash ALL the backends! | |||
timotimo | aye aye, sir | 21:01 | |
full steam ahead! | |||
... wait | |||
i'd have to go in reverse to crash the *back*end, right? | |||
21:02
LLamaRider joined
|
|||
lue | timotimo: the backend is the core of what makes this train run, so obviously the backend is the engine at the front :) | 21:02 | |
vendethiel | what's the diff between `my $*a = 1;` and `temp $*a = 1;` ? | 21:04 | |
timotimo | there isn't really one, as $* is already dynamically scoped | ||
vendethiel | mmh. `temp` gets to dynamically scope too ? | 21:05 | |
BenGoldberg | 'temp' is how perl6 spells 'local' from perl5. | ||
vendethiel | r: my $a = 1; sub foo { say $a; }; foo(); { temp $a = 2; foo(); } | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«12» | ||
tadzik | um, not really | ||
vendethiel | BenGoldberg: I never did perl5, sorry | ||
tadzik | $* is the new local | ||
scope-wise | |||
jnthn | vendethiel: Essentially "none", but "my $*a;" and "temp $*a;" differ :) | ||
The latter being kinda useful. | 21:06 | ||
vendethiel | jnthn: mind explaining ? | ||
timotimo | the latter assigns the current value of $*a from before to the temporary new one | 21:07 | |
jnthn | vendethiel: If you write "temp $*a" then it keeps its value, but means any changes to the variable in the future will be reverted once you return from this routine. | ||
vendethiel | r: sub foo { say $*a; }; { my $*a = 1; }; foo(); { my $*a = 2; foo(); } foo(); | 21:08 | |
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> a = 1; }; foo(); { my $*a = 2; foo(); } ⏏foo(); expecting any of: …» | ||
vendethiel | r: sub foo { say $*a; }; { my $*a = 1; }; foo(); { my $*a = 2; foo(); }; foo(); | ||
camelia | rakudo-parrot a0a599: OUTPUT«Dynamic variable $*a not found in method gist at gen/parrot/CORE.setting:12402 in method gist at gen/parrot/CORE.setting:1056 in sub say at gen/parrot/CORE.setting:13335 in sub foo at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | ||
..rakudo-jvm a0a599: OUTPUT«Dynamic variable $*a not found in method gist at gen/jvm/CORE.setting:12381 in method gist at gen/jvm/CORE.setting:1053 in sub say at gen/jvm/CORE.setting:13293 in sub foo at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
..rakudo-moar a0a599: OUTPUT«===SORRY!===Dynamic variable $*a not found» | |||
21:08
kivutar joined
|
|||
vendethiel | r: sub foo { say $*a; }; my $*a = 1; foo(); { my $*a = 2; foo(); }; foo(); | 21:08 | |
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«121» | ||
vendethiel | so, `temp $*a` is like `my $*a = $*a` ? | 21:09 | |
r: sub foo { say $*a; }; my $*a = 1; foo(); { my $*a; foo(); $*a = 5; foo(); }; foo(); | 21:10 | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«1(Any)51» | ||
vendethiel | r: sub foo { say $*a; }; my $*a = 1; foo(); { temp $*a; foo(); $*a = 5; foo(); }; foo(); | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«1151» | ||
vendethiel | alrighty :-). | ||
r: sub foo { say $*a; }; my $*a = 1; foo(); { my $*a = $*a; foo(); $*a = 5; foo(); }; foo(); | |||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«1(Any)51» | ||
vendethiel | I guess the `my` comes first | ||
(conjecture : which might be why `my Dog $a .= new` works ?) | 21:11 | ||
BenGoldberg | r: my $*b = 1; { ++temp $*b; say $*b; }' say $^b; | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> my $*b = 1; { ++temp $*b; say $*b; }⏏' say $^b; expecting any of: …» | ||
BenGoldberg | r: my $*b = 1; { ++temp $*b; say $*b; }; say $^b; | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCannot use placeholder parameter $^b in the mainlineat /tmp/tmpfile:1------> b = 1; { ++temp $*b; say $*b; }; say $^b⏏;» | ||
BenGoldberg | r: my $*b = 1; { ++temp $*b; say $*b; }; say $*b; | ||
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«21» | ||
21:11
treehug8_ joined
|
|||
BenGoldberg | r: my $*b = 3; { (temp $*b) *= 5; say $*b; }; say $*b; | 21:11 | |
camelia | rakudo-parrot a0a599, rakudo-jvm a0a599, rakudo-moar a0a599: OUTPUT«153» | ||
vendethiel | Don't worry BenGoldberg, I got it :p | 21:12 | |
21:13
treehug88 left
|
|||
tadzik | mwahaha | 21:14 | |
eh, nevermind | |||
jnthn | ... | 21:15 | |
tadzik | well | 21:16 | |
lue | would anyone mind if I changed the custom 'say2's here to 'note's? github.com/rakudo/rakudo/blob/nom/...pm#L62-L71 | ||
tadzik | I tried one of the Javascript game frameworks | ||
21:16
hoverboard left
|
|||
tadzik | compiling the empty source file with typescript makes rakudo-jvm's startup overhead look blazingly fast | 21:16 | |
jnthn | o.O | 21:17 | |
tadzik | it takes almost 3 seconds | ||
21:17
hoverboard joined
|
|||
tadzik | and it's 2.5 even if I don't load any frameworks on the way | 21:18 | |
masak | clearly they have some reducible overhead there. | 21:19 | |
21:20
skids left
|
|||
dalek | kudo/nom: b6e4a8e | lue++ | src/core/Deprecations.pm: Deprecation messages now work on rakudo-moar Additionally, replace the say2 sub here with note, which fulfills the same purpose. |
21:23 | |
21:25
bjz left
|
|||
timotimo | good catch | 21:25 | |
lue | I was just wondering why my shiny new .ast deprecation wasn't showing up in r-m is all :) | 21:26 | |
jnthn | oh...we deprecated .ast in the end? :/ | 21:27 | |
timotimo | meh :| | 21:28 | |
jnthn | I'd really have rather not do such a drastic deprecation in the same month I'm hoping to prepare/cut a Star on Moar/JVM. | ||
Given it'll likely involve chasing lots of modules for fixes. | |||
So don't be surprised if I veto that deprecation ahead of release if things don't look how I want Star module wise. | |||
lue | jnthn: it's been in S05 for a while, just finally got annoyed enough that my future-looking attempts at using .made weren't working :) | 21:29 | |
jnthn | lue: Making ".made" work now is fine. Making ".ast" report that it's deprecated is what I'm worried about. | 21:30 | |
Those two are independent. | |||
lue | jnthn: yeah, I can definitely see where that can cause undue annoyances. Commenting out the DEPRECATED or something would be just fine for the next release. | ||
tadzik | I liked .ast :( | ||
21:30
treehug8_ left
|
|||
masak too | 21:31 | ||
timotimo too | |||
masak | don't really see why it's being deprecated. | ||
tadzik | because it's now .made | ||
masak | yeah, I know *that*. | ||
lue | make/made is a better pairing than make/ast, name-wise | ||
masak | but that doesn't make .ast wrong. | ||
tadzik | use Acme::BringBackDotAst | 21:32 | |
jnthn | masak: Yes, I've argued for keeping both too :) | ||
lue | masak and others: check here: github.com/perl6/specs/commit/2437...931c720b4c | 21:33 | |
"Perhaps the .ast method should be kept as a synonym for .made, and may even have a check for AST-nodeness added, to give it additional implicit documentational value in the Perl 6 internals." | |||
21:34
btyler left
|
|||
lue | so there's nothing saying we can't have .ast, it's just currently no longer a part of the spec. | 21:35 | |
21:37
hoverboard left
|
|||
timotimo | i have no idea what "ASTness" would be | 21:37 | |
especially since QAST isn't to spec. | |||
21:38
stevan_ left,
virtualsue joined,
btyler joined
|
|||
lue | Yeah, so I think we could just have .ast as a pure synonym. | 21:39 | |
21:40
kbaker left
|
|||
lue | (To be honest, I can't think of a time where you'd attach not-an-AST with make; in fact, it almost (almost) seems like make is the one that needs renaming) | 21:40 | |
jnthn | lue: One of my recent talks had an example where .ast didn't really bi^H^Hfit | 21:41 | |
*fit | |||
timotimo | "astize" :P | 21:43 | |
astify? | |||
lue | jnthn: could it perhaps be the talk linked in that commit? :) | ||
jnthn | mebbe :P | ||
lue | timotimo: I was thinking &node or &nodify | ||
timotimo | .o( turn the result of this code into javascript code ) | ||
jnthn | 'twas the one about temperature data I think :) | ||
lue | jnthn.net/papers/2014-fosdem-perl6-today.pdf is the one in the commit. | 21:45 | |
I wonder if it would be worth separating the concepts of "node in AST tree" and "annotation on Match object" | |||
jnthn | yeah, that's the one | 21:46 | |
timotimo | i have a kinda strong feeling that you'd hardly ever see both | ||
but you'll still have to pay for the extra storage, no? | |||
jnthn | Indeed...we don't want to make match objects any memory hungrier too :) | ||
timotimo | or mix in something | ||
lue | yeah, and I'm not sure "node in AST tree" could be much different from the other one. | 21:47 | |
The only real solutions I see is to just have .ast and .made as synonyms, or force people to give up .ast. I like the synonym one better. | 21:49 | ||
timotimo | agreed. | ||
21:51
hoverboard joined
|
|||
dalek | p: 3ebb27f | jonathan++ | tools/build/MOAR_REVISION: Bump to a MoarVM with NativeCall. |
21:53 | |
p: 2d19f41 | jonathan++ | t/nativecall/01-basic.t: Make NQP nativecall tests robust on Win32. At least, with MSVC. If we don't find standard C symbols, fall back to explicitly looking in the C library. |
|||
p: 05ab5cd | jonathan++ | tools/build/Makefile-Moar.in: Run t/nativecall/01-basic.t on MoarVM backend. |
|||
jnthn | So, that's the very simple native call tests that NQP has passing on Moar... | 21:54 | |
timotimo | \o/ | ||
jnthn | "just" need to do the rest of the stuff to have NativeCall.pm build and pass tests now :P | 21:55 | |
timotimo | how much stuff is it actually? | 21:56 | |
jnthn | Well, I think we at least need to stub CStruct to get NativeCall.pm6 to compile | 21:57 | |
timotimo | ah, CStruct, aye. | ||
did we have a good idea for how to make variables from C land reachable in perl6? | |||
jnthn | Then some more work to get the test harness to work out as it needs to be able to build the C libraries to test against. | ||
21:58
virtualsue left,
itz_ left
|
|||
jnthn | And after that comes CStr, CArray and CPointer... | 21:59 | |
uh, s/CPointer/CStruct | |||
CPointer we already have. | |||
And finally callbacks. | |||
So yeah, some work. | |||
22:00
dmol left,
stevan_ joined
|
|||
timotimo | i'm getting really, really, really few lex-to-locals in rakudo as opposed to nqp | 22:00 | |
jnthn | timotimo: Well, dlsym can be used to reach the variables | ||
22:02
itz left
|
|||
timotimo | oh. well, that's a good start | 22:02 | |
can we have re-use CPointer for that? | 22:03 | ||
jnthn | That feels a bit off... | ||
timotimo | not really exactly sure how to reach variables | 22:04 | |
jnthn | I'll ponder it a bit. | ||
22:04
itz joined
|
|||
jnthn | It's more an API design challenge than an implementation one, I think... | 22:04 | |
timotimo | aye | 22:05 | |
jnthn | I mean, "say get_cvar('lib', 'symbol', int32)" works... | ||
timotimo | and set_cvar as well, eh? | ||
jnthn | Yeah | ||
But it sucks too. :) | 22:06 | ||
'cus you have to resolve the symbol every time. | |||
timotimo | just exposing that is a good start; as far as i can tell people have been using Inline::C for the equivalent of that | ||
jnthn | nqp::nativevar('lib', 'symbol', int32) returning something appropriate is closer, I just need to ponder what the appropriate thinguymmy is :) | 22:07 | |
timotimo | that's right | ||
sergot | timotimo: thank you very much :) | ||
timotimo | you're welcome | 22:08 | |
sergot | timotimo: pushed :) | 22:09 | |
22:09
itz left
|
|||
dalek | osystem: db4499d | sergot++ | META.list: HTTP::Response added |
22:10 | |
jnthn | I wonder if it ain't the same problem as passing rw natives... :) | ||
timotimo | may very well be | ||
22:10
rindolf left
|
|||
timotimo | i'm looking forward to that fix as well :) | 22:11 | |
lue | Is it alright if I just spec .ast as a synonym of .made then? | ||
timotimo | jnthn: hm, how do i best figure out if my lexical-to-local stuff has any good effect? | ||
except for writing code and looking at the resulting qast | |||
22:11
itz joined
|
|||
jnthn | timotimo: Well, that's one way. Also counting the number of MAST::Frames that show up if you disassemble NQP code..should be less after the opt if you are inlining | 22:12 | |
sergot | timotimo: will be great if you check other my HTTP::* modules. | ||
timotimo | i don't even know that much about HTTP :) | 22:13 | |
jnthn: so i moar --dump the .moarvm and grep -c for what exactly? | 22:14 | ||
22:14
cognominal joined
|
|||
timotimo | ah, i just had a not so excellent example file | 22:14 | |
22:15
cognominal__ left
|
|||
jnthn | ^\s+Frame_\d+':' | 22:15 | |
timotimo | thank you | ||
22:16
itz_ joined
|
|||
timotimo | hm. --dump segfault'd | 22:17 | |
at least it segfaulted in vm_destroy_instance | 22:18 | ||
so that's not that terrible | |||
gist.github.com/timo/eda741286aaa16a8a8b5 | |||
well, ww i guess | |||
22:23
itz_ left,
itz left
|
|||
dalek | ecs: 3795799 | lue++ | S05-regex.pod: [S05] Reintroduce the .ast method. Every good language has a few synonyms anyway :) . |
22:25 | |
timotimo | my optimization is obviously not working, as it doesn't reduce the amount of frames at all. | 22:26 | |
jnthn | yeah, then it's inlining nothing... | 22:27 | |
22:30
Rotwang1 left
22:33
arnsholt left
|
|||
dalek | kudo/nom: 5b109d6 | lue++ | src/core/Match.pm: Undeprecate .ast |
22:34 | |
22:35
arnsholt joined
22:37
larks joined
22:39
hoverboard left
22:40
itz joined
|
|||
timotimo | i think i may be doing it all rong. | 22:44 | |
22:46
bowtie left,
itz left
22:47
Ulti joined,
bowtie joined
22:51
FROGGS joined
|
|||
FROGGS | hello from france! | 22:53 | |
timotimo | france from hello! | ||
lue | FROGGS: allô! | ||
timotimo | oh, maybe i'm close to the goal now | 22:55 | |
but i'm not treating the outermost blocks properly yet | |||
good ol' special cases | |||
22:57
adu joined
|
|||
timotimo | :\ | 23:04 | |
not having too much success with this project | |||
23:04
LLamaRider left
23:06
Psyche^ joined
|
|||
adu | timotimo: oh noes | 23:08 | |
23:10
Psyche^_ left
23:18
clkao left
|
|||
timotimo | do i have to scrap half of it and start over? :\ | 23:18 | |
23:19
clkao joined
|
|||
masak | 'night, #perl6 | 23:21 | |
lue | ♞ masak o/ | ||
23:29
denisboyun left,
kivutar left
23:32
skids joined
23:34
pecastro left
23:36
Kelder joined,
pecastro joined,
btyler left
23:37
d4l3k_ joined,
Util_ left,
Ayiko left,
Util joined,
tadzik left,
dalek left,
Mouq joined
23:38
tadzik joined,
d4l3k_ is now known as dalek
|
|||
Mouq | .tell colomon re: irclog.perlgeek.de/perl6/2014-03-12#i_8423436 There is github.com/perl-cldr/cldr-list-pm6/ by patch++, which solves half of your problem | 23:38 | |
yoleaux | Mouq: I'll pass your message to colomon. | ||
adu | timotimo: half of what? | 23:39 | |
23:41
hoverboard joined
|
|||
lue wonders what $*BORG in STD stands for; Block OR G... ? | 23:43 | ||
timotimo | adu: i'm trying to build proper block inlining for NQP so that we can have much fewer frames, fewer lexical variables (in favor of more locals) and smaller lexpads and stuff | 23:53 | |
adu | I understand inlining | 23:54 | |
but what do you mean by "fewer lexical variables" | 23:55 |