»ö« 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! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
00:11
soroush left
00:25
adu joined
00:26
glow left
00:39
jferrero left
00:44
sftp left
00:49
PacoLinux left
00:59
PacoLinux joined
01:02
Trashlord left
01:04
QinGW joined
01:05
redicaps joined
|
|||
jasonmay | rakudo: [<] 'almost'.comb().map(*.ord) | 01:25 | |
p6eval | rakudo : ( no output ) | ||
jasonmay | rakudo: say([<] 'almost'.comb().map(*.ord)) | ||
p6eval | rakudo : OUTPUT«Bool::True» | ||
jasonmay | is the object system metacircular? | 01:27 | |
if so, how can I get the methods of the meta? | |||
diakopter | rakudo: say [>] 'almost'.flip.comb.map(*.ord) | 01:30 | |
p6eval | rakudo : OUTPUT«Bool::True» | ||
01:34
masonkramer left,
masonkramer_ joined
|
|||
colomon | metacircular? | 01:53 | |
lue | ohai o/ | 01:55 | |
colomon | \o | 01:56 | |
lue | what exactly is the difference between an Instant and a DateTime object, besides the name? | ||
jasonmay | colomon: meta having a meta, etc | 01:57 | |
01:57
lichtkind left
|
|||
jasonmay | attributes having a meta, with attributes that have their own attributes, and so on | 01:57 | |
01:57
ch3ck3r joined
|
|||
Tene | jasonmay: You get their methods the same way you get the methods for anything else. | 01:57 | |
01:57
ch3ck left
|
|||
jasonmay | is ClassHOW the metaclass? | 02:00 | |
rakudo: ClassHOW.^methods | |||
p6eval | rakudo : OUTPUT«Method 'methods' not found for invocant of class '' in main program body at line 22:/tmp/VuGrZwU2sC» | ||
flussence | lue: Instant is meant to be a calendar-agnostic opaque type for making Durations with, DateTime is the sugar-coated alternative | 02:01 | |
sort of like a UUID compared to a username, or something. | |||
02:03
soroush joined
02:07
soroush left
02:08
soroush joined,
soroush left,
soroush joined,
soroush left
02:09
soroush joined,
soroush left,
soroush joined
02:12
envi joined
|
|||
lue | So, Instant displays in whatever current calendar, while DateTime, unmodified, is just Gregorian? | 02:20 | |
TimToady | Instant has no representation by itself | 02:38 | |
if you try to display an Instant, it should reformat your hard drive | 02:42 | ||
02:43
jaldhar joined
|
|||
lue | rakudo: say DateTime.new("1963-11-23T17:15:00Z").Instant | 02:44 | |
p6eval | rakudo : OUTPUT«Instant:1963-11-23T17:15:0.000000Z» | ||
02:52
ch3ck joined
02:53
ch3ck3r left,
molaf_ joined
02:57
molaf left
03:07
whiteknight left
03:09
p6eval left,
dalek left
03:10
sorear left,
diakopter left
03:15
cdarroch left,
TimToady left
03:20
cotto joined
03:24
adu left
03:41
Bzek joined
03:42
Bzek_ left
03:47
Guest36106 left
03:49
wars joined
03:50
adu joined
|
|||
wars | haw-haw! | 03:50 | |
perl6中文频道 #perl6-cn | 03:52 | ||
欢迎大家加入 | 03:53 | ||
大家 都在干什么啊? | 04:06 | ||
04:13
wars left
04:21
nymacro joined
04:26
satyavvd joined
04:41
bbkr left
04:44
bbkr joined
04:53
orafu left
04:54
dalek joined,
ChanServ sets mode: +v dalek,
orafu joined,
p6eval joined,
ChanServ sets mode: +v p6eval
05:00
orafu left
05:01
orafu joined
|
|||
lue | rakudo: my @a = [1,2,3], [4,5,6], [7,8,9]; my @b = [ [1,2,3], [4,5,6], [7,8,9] ]; say @a.perl; say @b.perl; | 05:03 | |
p6eval | rakudo : OUTPUT«[[1, 2, 3], [4, 5, 6], [7, 8, 9]][[[1, 2, 3], [4, 5, 6], [7, 8, 9]]]» | ||
lue | hm, @b.perl comes out [1,2,3,4,5,6,7,8,9] on my system. (I'd put en.wikipedia.org/wiki/Special:Searc...=brackets, w/o the space between, but I think that still causes the auto-wikipedia linking) | 05:04 | |
o hey, it does still do that! | |||
05:06
orafu left
05:07
orafu joined
|
|||
lue | nevermind, I found my problem. | 05:09 | |
05:10
sorear joined,
diakopter joined,
orafu left,
TimToady joined
05:12
orafu joined
|
|||
lue | S32::Temporal doesn't seem to explain what an Instant or Duration is. Could it be somewhere else in the spec? | 05:16 | |
(the names are self-explanitory, but there are no details as to their methods, what they're for, etc.) | 05:17 | ||
TimToady | grep is your friend | 05:19 | |
05:20
orafu left
|
|||
adu | rakudo: kthxbai! | 05:22 | |
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "kthxbai!"» | ||
adu | :/ | ||
lue | .oO(although ack is a friend that already knows some things about you) |
||
05:23
orafu joined
|
|||
allbery_b | "bad touch!" | 05:29 | |
(yes, I knowabout ack. I keep wanting to hack syntax support into it) | |||
lue | .oO( Some days I wonder if there's such a thing as "Temporal Science", and if I could major in it :) ) |
05:35 | |
05:39
adu left
05:40
molaf_ left
|
|||
allbery_b | .oO { gallifrey is over there somewhere ----> } | 05:44 | |
05:52
hudnix left
05:55
ggoebel left,
flatwhatson left,
Grrrr left,
spinclad left,
hugme left,
chitragupt left,
literal left
05:56
hudnix joined
05:59
ggoebel joined,
flatwhatson joined,
Grrrr joined,
spinclad joined,
hugme joined,
chitragupt joined,
literal joined,
hubbard.freenode.net sets mode: +v hugme
06:00
chitragupt left,
chitragupt joined
06:07
cjk101010 left
06:12
Axius joined
06:13
fhelmberger joined
06:17
_kaare joined
06:28
ggoebel left
06:33
ggoebel joined
|
|||
sorear | good * #perl6 | 06:33 | |
jasonmay: ClassHOW.^methods is supposed to work, but it still has a couple issues in Rakudo | 06:36 | ||
so I guess "yes" | |||
nqpnet: say(1.HOW) | |||
p6eval | nqpnet: OUTPUT«(timeout)» | ||
sorear | nqpnet: say(1.HOW.WHAT) | 06:37 | |
p6eval | nqpnet: OUTPUT«XBuild Engine Version 2.6.7.0Mono, Version 2.6.7.0Copyright (C) Marek Sieradzki 2005-2008, Novell 2008-2009.Build started 12/10/2010 6:37:06 AM.__________________________________________________Project "/home/p6eval/6model/dotnet/runtime/Rakudo.Net.csproj" (default target(s))… | ||
sorear | jnthn: I brokes it | ||
06:44
glow joined
06:50
Shozan joined
|
|||
jasonmay | sorear: sweet! | 06:55 | |
sorear | "nqpnet" is part of jnthn's project to rewrite the object system | 06:56 | |
06:59
Axius left
07:01
justatheory left
07:10
scp1 left,
scp1 joined
07:15
ggoebel left
07:19
ggoebel joined
07:24
cjk101010 joined
07:30
ggoebel left
07:32
daxim joined
07:34
cotto left
07:35
ggoebel joined
07:36
Wanjor joined,
Wanjor left
07:45
ggoebel left
07:48
nymacro left
07:50
ggoebel joined
|
|||
Shozan | hm | 07:52 | |
moritz_ | good morning | ||
Shozan | morning | ||
sjohnson | hi | 07:56 | |
07:57
ggoebel left
|
|||
sorear | good morning moritz_, Shozan | 07:58 | |
08:01
ggoebel joined
08:07
ggoebel left
|
|||
Shozan | does this rakudo thing have any kind of project plan or anything? | 08:11 | |
sorear | I guess docs/ROADMAP | ||
Shozan | mm ok | 08:12 | |
08:14
ggoebel joined
|
|||
Shozan | and that is still up to date? | 08:16 | |
moritz_ | I think so, yes | 08:17 | |
Shozan | i'm just trying to navigate and get a sense of how you work :) | 08:24 | |
moritz_ | one bit at a time :-) | ||
Shozan | ye.. | ||
i might be interested in helping you out, you see | 08:25 | ||
moritz_ | that would be awesome | ||
I have to leave now, I'll be back in ~0.5 hours (unless the traffic jams) | 08:28 | ||
Shozan | hf | 08:29 | |
sorear | IMPLEMENTOR'S RULING: := is to be seen as a low level operation, which other parts of the system can use. Since other forms of aliasing may be built upon :=, explicit use of := is allowed (but not required) to break aliasing set up by any other language feature, for instance, imports | 08:32 | |
If there are any cases where aliases need to be transparent to :=, I'd be interested to hear them | |||
Shozan: welcome! | 08:33 | ||
08:39
wtw joined
|
|||
daxim | *that* blog entry was masak's big friday surprise? I feel slightly let down | 08:47 | |
Shozan | sorear, thanks | 08:49 | |
daxim: which blog entry was that? | 08:50 | ||
best november? | |||
daxim | yes | ||
Shozan | but it was posted yesterday ;) | ||
moritz_ | daxim: I don't think so | 09:01 | |
tadzik | masak wouldn't have resisted to say "Look, that was the big announcement!" | 09:02 | |
daxim | we shall wait, then | ||
moritz_ | the day still has 14 hours, in CET | 09:03 | |
daxim | meanwhile: $cookie for @everyone | ||
moritz_ takes one. Thanks | |||
tadzik | oh, is there an occasion? | ||
moritz_ | there's always an occasion :-) | 09:04 | |
tadzik still has some candies from his birthday, passes the box to everyone | 09:05 | ||
sorear | it's exactly 1 month after my birthday. that's gotta count for something | 09:06 | |
09:06
risou left,
risou joined
|
|||
moritz_ | it's a fortnight 'til christmas | 09:07 | |
tirania.org/blog/archive/2010/Dec-09-1.html # it's amazing what the mono developers have been up to | 09:15 | ||
sorear | I've been using 2.9 | 09:16 | |
there's a 2.9-only bugfix that cuts 20 minutes off the time needed to run roast with niecza STD :) | |||
09:17
risou_ joined
09:19
risou_ left
09:20
risou left
09:26
kensanata joined
09:28
dakkar joined
09:31
ggoebel left
09:39
dju joined
09:41
redicaps left
09:44
dju left,
dju joined
10:05
JimmyZ joined,
wamba joined
10:07
QinGW left
10:08
JimmyZ left
10:14
risou joined
10:15
dju left
10:16
dju joined
10:25
uniejo joined
10:37
jhuni left
|
|||
sorear out | 10:39 | ||
10:42
IllvilJa joined
10:48
flussence joined
10:53
glow left
11:05
satyavvd left
11:06
jferrero joined
11:08
cotto joined
11:10
_kaare left
11:18
sundar joined
11:20
sundar left
11:30
mary_se7en joined
|
|||
mary_se7en | helo, I was here few months ago and asked about turning a perl6 app to single executable, there was 2 small notes I will need to build a shared libparrot with dynamic loading and that I can only run the Perl 6 binary from the root directory of a Parrot checkout.. I wonder if there is any update.. I since I need to create an executable that will be used on large number of PCs... thanks all ^_^ | 11:33 | |
moritz_ | mary_se7en: you can run it from anywhere if rakudo is properlz installed | 11:34 | |
lunch& | |||
mary_se7en | so I need to manually install rakudo on every PC right? | 11:36 | |
11:38
Trashlord joined
11:42
oyse joined,
oyse left
11:43
risou left,
risou_ joined
11:47
wamba left
11:50
wamba joined
11:52
mary_se7en left
11:53
_kaare joined
12:00
wamba left
12:01
wamba joined
12:02
smash joined
|
|||
smash | hello everyone | 12:02 | |
12:09
tzhs joined
12:20
flussence_ joined
12:22
am0c left,
flussence left
12:30
zby joined
12:34
am0c joined
12:36
bluescreen joined
12:37
bluescreen is now known as Guest96690
12:39
glow joined
12:40
uniejo left
12:49
inak1 joined
12:50
inak1 left,
Trashlord left
12:51
masak joined
|
|||
masak | greetings gentlemen. | 12:51 | |
are you ready? | |||
tadzik | go! | 12:52 | |
masak | ok. | ||
here comes... | |||
...the big announcement. | |||
*drum roll* | |||
strangelyconsistent.org/blog/masaks...ng-contest | |||
moritz_ | glad you rolled the drum, not the eyes :-) | 12:53 | |
tadzik | wow wow | 12:54 | |
masak | this, ladies and gents, was the big announcement. | 12:55 | |
takadonet | looks like I got here just in time! | ||
moritz_ | so, if there are multiple valid submissions, who will win? | ||
masak | moritz_: see WINNING. | ||
strangelyconsistent.org/p6cc2010/WINNING | |||
moritz_ sees | 12:56 | ||
takadonet | www.reddit.com/r/programming/commen...g_contest/ | ||
masak | \o/ takadonet++ | ||
takadonet | vote it up! | 12:57 | |
wow already a downvote :( | 12:58 | ||
masak | those trolls are quick... :) | ||
moritz_ | masak: your webserver doesn't send a charset header along with text documents | 12:59 | |
masak: it should, though | |||
masak | moritz_: agreed. any way I can make it do that? | ||
moritz_ | masak: if you webserver doesn't suck: yes | 13:00 | |
masak | frankly I don't know whether it sucks or not. | ||
I suspect it doesn't and that the bottleneck is in masak, not the webserver. :) | |||
moritz_ | and I can't know either, unless you tell me which one it is | ||
for files with extensions, in apache you can do something like AddType 'text/plain; charset=utf-8' txt | 13:01 | ||
masak | I believe it's an Apache server, yes. | ||
moritz_ | or just AddDefaultCharset UTF-8 | 13:02 | |
masak | that sounds like what I want. | ||
can this go into my .htaccess file? | 13:03 | ||
moritz_ | the AddT | 13:04 | |
sorry | |||
yes, it can | |||
13:05
masonkramer_ left
|
|||
masak | excellent. | 13:05 | |
better now? | 13:06 | ||
moritz_ | it is indeed | 13:07 | |
if you want to debug such things, I can highly recommend wget -S $url | |||
masak | noted. thanks. | ||
moritz_ | problem 3... I don't quite understand what you write | 13:08 | |
from the example it's clear that all range specs must must match the number | 13:09 | ||
ie if the first range includes it, and the second range excludes it, the number is not in the ranges | |||
masak | right. | ||
moritz_ | why is it then important that ranges are evaluated from left to right? | ||
masak | a third (or fourth...) range might include it again. | 13:10 | |
in essence, the inclusions are unions and the exclusions are set differences. | 13:11 | ||
moritz_ | so +[1 .. 5] +[1..6] would not include 6 | ||
and neither would +[1..6] +[1..5] | |||
correct? | |||
masak | both would be identical to just +[1..6] | ||
13:12
hdanak joined
|
|||
moritz_ tries to come up with an example where the order matters | 13:12 | ||
masak | +[1..5] -[2..4] | ||
vs -[2..3] +[1..5] | |||
er, -[2..4] | 13:13 | ||
moritz_ | the first would include 1 and 5 | ||
... and the second? | |||
masak | the second all of 1,2,3,4,5 | ||
since the exclusion operates on nothing. | 13:14 | ||
moritz_ | [x] click | ||
masak | :) | ||
"Before any inclusions/exclusions have been made, all integers are excluded." | |||
moritz_ wonders if the test can be made without constructing the full included subset | 13:16 | ||
he, I think it's possible | |||
masak | :) | ||
13:17
dual left
|
|||
moritz_ | once you understood the problem, parsing is likely the bigger problem :-) | 13:17 | |
masak | I didn't really institute a policy about silence... | ||
let's just say that if you plan to be a contestant, it's in your best interest not to discuss solutions. :) | |||
13:17
risou joined
|
|||
moritz_ didn't tell *how* to do the test | 13:17 | ||
masak | I'll happily discuss all of them in five weeks, though. :) | ||
hdanak | masak: what does the +[1..5] -[2..4] syntax do? the REPL returns the difference in sizes of sets... | 13:18 | |
masak | right now, the best way to make me happy is to email me your Amazon wishlists :D | ||
moritz_ | hdanak: it's not Perl 6 syntax. see strangelyconsistent.org/blog/masaks...ng-contest | 13:19 | |
masak | hdanak: as Perl 6, it means something different than in my problem. | ||
hdanak | ok i see | ||
masak | hdanak: as Perl 6, the arrays get numified as their lengths. | ||
something I did not at all consider :) | |||
13:19
risou_ left
|
|||
hdanak | can ranges be decreasing? | 13:22 | |
moritz_ | no | 13:23 | |
only sequences can | |||
smash | masak++ # coding contest | ||
moritz_ | indeed, masak++ | 13:24 | |
masak | thanks :) remember to upvote on proggit too :) | ||
www.reddit.com/r/programming/commen...g_contest/ | |||
moritz_ | nice christmas present :-) | ||
masak | good luck, everyone | ||
moritz_ | woa, 3 downvotes | ||
moritz_ wonders why redditers are that hateful | |||
masak | surely there are more love-ful #perl6ers, though :) | 13:25 | |
hdanak | will perl6 have coroutines? | ||
masak | hdanak: yes. | 13:26 | |
hdanak: they're called 'gather/take' | |||
hdanak | oh really | ||
moritz_ | and no need to use the future tense | ||
masak | ya rly | ||
moritz_ | they are implemented already | ||
hdanak | i thought gather/take was for lazy list comprehensions | ||
moritz_ | the two are not mutually exclusive | ||
hdanak | but i meant something like Perl6::Coro | 13:27 | |
masak | laziness and coroutines are built on the same principle: delayed evaluation. | ||
moritz_ | gather { a; take; b } runs a(), and b() when the list is consumed | ||
masak | hdanak: I imagine something like that will be a module in Perl 6, too. | ||
oha | masak++ | 13:28 | |
masak | you're appreciation makes me hopeful I'll see many contestants. may the best p6er win! | 13:29 | |
moritz_ | masak: in p5, by "fast solution" do you mean an asymptotically fast algorithm, or one that actually runs fast on today's rakudo? | 13:30 | |
masak | the former. | ||
moritz_ | ok | ||
masak | I basically mean something that wouldn't be rotten on long strings even on a fast Perl 6 implementation. | 13:31 | |
moritz_ just looked of all the problems | 13:34 | ||
p1: interesting | |||
p2: meh. (not really interesting algorithm, but ugly implementation) | 13:35 | ||
p3: nice, probably not too hard | |||
p4: need more thinking to figure out how hard it will be, which makes it interesting :-) | |||
p5: a solved problem, which could be fun to implement | 13:36 | ||
hdanak | something tells me that using perl5 threads on a robot is a bad idea... | ||
moritz_ | depends on the robot :-) | ||
hdanak | trying to do computer vision stuff in the background while looping through sensors and AI stuff in multiple perl5 threads, but i'm not sure what kind of performance hit it will take | 13:37 | |
moritz_ | if it's just for a game that runs on the inside of the huge fighting robot, go right ahead :-) | ||
masak | moritz_: an interesting review. :) you might be right about p2, but I also believe I'll receive a lot of variety there. | ||
hdanak | masak: p2 seems interesting | ||
moritz_ | heh :-) | 13:38 | |
hdanak | in that you can solve it using math | ||
or you can bash it with algorithms | |||
or a mix of both | |||
moritz_ | masak: there is some challenge to making a solution to such a problem nicely readable though | ||
masak | moritz_: yes. and fast. | ||
hdanak | moritz_: well, i'm thinking along the lines of concentric circles, and an edge case if the point lies in between | 13:39 | |
moritz_ | masak: did you solve all problems already? | ||
colomon | masak++ !!!! | ||
masak | moritz_: yes. | ||
colomon implemented p2 months ago.... | |||
masak | moritz_: for me, they take about 2 hours each. | ||
moritz_ | masak: I think you just killed my weekend :-) | 13:40 | |
masak | :D | ||
but I figured since people might have to learn about Perl 6, Rakudo and the problems, I'll give people a week for each problem. | |||
13:42
mtk joined
|
|||
hdanak | does parrot actually support python and ruby right now, or is it just a mere possibility? | 13:43 | |
moritz_ | hdanak: the compilers for both are very immature, and not at all feature complete | 13:44 | |
ie not at the point where you can take an arbitrary library written in that language, and run it | 13:45 | ||
hdanak | hmm | 13:46 | |
well, i still need to learn ruby though... but i severely dislike python | 13:47 | ||
13:47
thundergnat joined
|
|||
takadonet | thundergnat: hello sir | 13:47 | |
thundergnat | Hi takadonet et all | 13:48 | |
masak | hi thundergnat! | ||
thundergnat | masak: programming contest! ooo! | ||
masak | \o/ | ||
masak suddenly feels he hasn't over-hyped the Big Announcement too much after all :) | 13:49 | ||
moritz_ | currently most of the books on my wishlist aren't even published yet | 13:50 | |
thundergnat | #5) neutro Algorithm-Diff - use Algorithm::Diff; my $lcs = LCS($string1, $string2); # Heh | ||
moritz_ | :-) | ||
masak | heh :) | 13:51 | |
thundergnat | BTW, in S29 under Conversions, .flat is entered twice. I could edit myself but I wanted to check that it was actually extreaneous and I'm not just missing some context. | 13:54 | |
masak | thundergnat: it looks like a thinko. | ||
dalek | ecs: 493684e | thundergnat++ | S29-functions.pod: Removed redundant second entry for .flat |
13:59 | |
14:01
sftp joined
|
|||
thundergnat | Also, while I'm questioning things, Is the err operator depricated or NYI? It exists in Grammer.pm but isn't mentioned in S03. | 14:02 | |
moritz_ | std: 1 err 2 | ||
p6eval | std a194beb: OUTPUT«===SORRY!===Two terms in a row at /tmp/XnbgCy79hj line 1:------> 1 ⏏err 2 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 120m» | ||
thundergnat | rakudo: say 3 err 5 | ||
p6eval | rakudo : OUTPUT«3» | ||
masak | I think 'err' mutated into 'orelse'. | 14:03 | |
but I might misremember. | |||
moritz_ | if it's not in the specs, and not in STD, it shouldn't exist | ||
thundergnat | github.com/rakudo/rakudo/blob/mast...r.pm#L1974 should probably go away then. | 14:04 | |
arnsholt | masak: For problem 1, should we consider permutations of the order of the matrices, or only bracketings of neighbouring matrixes/brackets? | 14:09 | |
masak | the latter. | ||
moritz_ | arnsholt: matrix multiplication isn't commutative | ||
so you can't just permute multiplications | |||
masak | no, not in general. | ||
arnsholt | moritz_: I know, but for some inputss there might be permutations that are better | 14:10 | |
Which is why I wondered. Especially because enumerating all those permutations would make any hope of an efficient algorithm evaporate =) | |||
masak | arnsholt: even when the dimensions permit a reordering of the matrices, you'd be changing the original multiplication in a way that is likely not desired. | 14:11 | |
arnsholt | True, true | ||
An excellent point, in fact | |||
Just goes to show that I don't know enough maths =) | 14:12 | ||
moritz_ | that's what I meant with "not commutative" :-) | ||
arnsholt | I have what I think is an interesting way to look at it as well =) | 14:13 | |
masak | remember that just by signing up for the contest, you make the chance of winning 100 EUR worth of books non-zero. | ||
moritz_ | you mean if there only sign ups without valid submissions :-) | 14:15 | |
masak | right :) | 14:17 | |
14:18
risou_ joined
14:20
risou left
14:32
redicaps joined
14:33
mkramer joined
14:53
ggoebel joined
|
|||
pmichaud | masak++ # big announcement | 15:06 | |
phenny | pmichaud: 25 Nov 14:19Z <tadzik> tell pmichaud how didn't neutro build for Star, what was the reason? | ||
pmichaud: 26 Nov 19:16Z <tadzik> tell pmichaud may I get the access to perl 6 RT? I found like 10 bugs today which are alredy working and can be closed | |||
masak | \o/ | ||
pmichaud | 100€ can buy a lot of kindle books :) | 15:07 | |
am I somehow disqualified from entering? | |||
masak | pmichaud: no, that's why I denied you prior knowledge the other day. :) | ||
pmichaud | aha | ||
masak | feel free to sign up. | ||
pmichaud | is TimToady++ likely to enter? ;-) | ||
masak | I was wondering that too :) | ||
15:08
uniejo joined
|
|||
masak | that would be... interesting. | 15:08 | |
moritz_ | it would be indeed | ||
15:09
flatwhatson left
|
|||
pmichaud | hmmm, I've already solved #3 on paper (for handling character classes in nqp) | 15:10 | |
masak | *nod* | ||
moritz_ | inversion lists! | ||
masak | (dang) :) | ||
moritz_ cackles evily | |||
masak | don't tell anyone, OK? :) | 15:11 | |
moritz_ | but actually inversion lists are not the easiest solution for this one | ||
masak | no? | ||
moritz_ | no | 15:12 | |
takadonet | pmichaud: how were your holiday's? | 15:13 | |
pmichaud | overall they were really good | ||
takadonet | good to hear | 15:14 | |
15:15
Trashlord joined
15:21
MayDaniel joined,
flatwhatson joined
|
|||
dalek | : ee1a853 | duff++ | misc/perl6advent-2010/articles/feed.pod: Start on day 10 article |
15:22 | |
15:22
tzhs left
|
|||
PerlJam | okay, I started on my day 10 advent post last night, but I fell asleep. | 15:22 | |
Review what I have so far if you please (see above) | |||
masak reviews | |||
PerlJam: "...the data feeds from one operation to the next." | 15:23 | ||
shouldn't that be "from one operation to the previous"? :) | 15:24 | ||
PerlJam | don't make me second guess my prose too much or I'll spend all day futzing with it :) | ||
masak | just pointing out that "the next" operator might as well be read as "the one to the right", which wasn't what you intended. | 15:25 | |
moritz_ | then just say "to the left" instead of "next" | ||
masak | also, it'd be nice if it was a bit clearer that Perl 6 doesn't force the use of piping operators, just so we don't give any diehard Perl 5 users an unnecessary heart attack :) | ||
PerlJam | aye, already changing it | ||
masak | as in "would be written" -> "could be written", for example. | 15:26 | |
actually, I think I'd prefer to have both the functional and then methodological variants in there, just to show that they're still possible. (and that they also promote one reading direction each) | 15:28 | ||
15:28
redicaps left
|
|||
PerlJam | masak: yep, adding a note and such an example now :) | 15:28 | |
also, fyi, I was going to end the post with some real, working examples | |||
masak | \o/ | ||
Trashlord | hey dudes | 15:29 | |
masak | Trashlord! \o/ | ||
Trashlord | how's it going | ||
masak | splendid. and you? | ||
PerlJam obtains some Dr Pepper for continued writing | 15:30 | ||
Trashlord | same, just a slight headache, meh | ||
masak | huh. 9 upvotes, 9 downvotes on www.reddit.com/r/programming/commen...g_contest/ | ||
on average, Reddit is completely neutral to the idea of a Perl 6 Coding Contest. :P | 15:31 | ||
awwaiid | masak: I suggest making the WINNING details more prominent, or summarizing it on the front page or something. It's not immediately obvious how it is a 'contest' until I started reading that | ||
masak | awwaiid: good idea. I'll make it more prominent. | 15:32 | |
15:32
jaldhar left
|
|||
PerlJam | masak: btw, your "big announcement" was an *excellent* idea. (in case you weren't sure ;) | 15:33 | |
masak | thanks :) | ||
it sure seems to have struck the right note here ;) | |||
15:38
Patterner left
|
|||
moritz_ | www.perlmonks.org/?node_id=876467 # I did some advertising for the contest | 15:43 | |
masak | moritz_++ | 15:44 | |
awwaiid: better? strangelyconsistent.org/blog/masaks...ng-contest | |||
PerlJam | and an anonymonk already critiqued that the problems are mathematically bent. | 15:45 | |
moritz_ | just commented really, I didn't read that as critic | ||
PerlJam | eh maybe | ||
masak | same here. | 15:46 | |
I'm thinking of replying. | |||
15:48
hercynium joined
15:49
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
PerlJam is getting slowly sucked into too much reading with reddit, perlmonks, email, twitter, etc. :( | 15:50 | ||
15:52
plainhao joined
|
|||
[particle] thinks perljam needs a text to speech app to read all these aloud | 15:54 | ||
PerlJam | [particle]: but then I'll have a conflict with my currently playing music | ||
[particle] | i think a popular phone app that reads every tweet aloud as it is received would be great for society | 15:56 | |
awwaiid | masak -- better. As a contestent it's a bit hard to know how I should trust you though -- maybe this is all a rouse and you're going to give the 100 to your friend or something :) . But that is the nature of a single-sponsor contest I supose | 15:58 | |
15:58
thundergnat left
|
|||
masak | awwaiid: yes. | 15:58 | |
awwaiid: if it's any consolation, I plan to publish everyone's submissions after the contest. | |||
awwaiid | well _I_ trust you just fine :) | ||
PerlJam | awwaiid: I'm still going to play even knowing that masak may just keep the money :) | 15:59 | |
awwaiid | hehe | ||
masak | I promise I will do my utmost to buy someone 100 EUR worth of books. you have my word. :) | ||
I hope all my contestants will keep their end of the deal by being brilliant in unambiguous ways. | 16:00 | ||
[particle] | will you make the book list public, too? ;) | ||
oha | [particle]: eheh :) | ||
masak | [particle]: that's at the discretion of the winner. | ||
colomon | oh no, better take those romance novels off my wish list! ;) | ||
masak | colomon: thought you were going to say "Python books" :) | 16:01 | |
colomon | oh heavens, no, I'd never put a Python book on my wish list!! | ||
[particle] | you buy those cash, and bring a paper bag. | 16:02 | |
16:02
nancy joined
|
|||
awwaiid | (masak: minor nit, you might remove some \n's from your <pre> list of criteria) | 16:02 | |
16:02
nancy is now known as Guest95728
|
|||
masak | awwaiid: I considered that. now I will :) | 16:03 | |
Guest95728 | rakudo: doubles = [ c *2 for c in 'perl'] | ||
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "doubles = "» | ||
masak | rakudo: say $_ * 2 for 'perl'.comb>>.ord | 16:04 | |
p6eval | rakudo : OUTPUT«224202228216» | ||
masak | rakudo: my @soubles = ($_ * 2 for 'perl'.comb>>.ord); say @doubles.perl | 16:05 | |
p6eval | rakudo : OUTPUT«===SORRY!===Symbol '@doubles' not predeclared in <anonymous> (/tmp/WGGwBCe0Ak:22)» | ||
masak | rakudo: my @doubles = ($_ * 2 for 'perl'.comb>>.ord); say @doubles.perl | ||
p6eval | rakudo : OUTPUT«[224, 202, 228, 216]» | ||
masak | \o/ | ||
Guest95728 | masak: :))) | ||
masak | rakudo++ | ||
Guest95728: Python background? | 16:06 | ||
Guest95728 | masak: yup :/ | ||
masak hugs Guest95728 | |||
Guest95728 | masak: moving slowlllly to perl6 :D | 16:07 | |
masak | awwaiid: better, yes? strangelyconsistent.org/blog/masaks...ng-contest | 16:08 | |
Guest95728: no worries. even though you write with a heavy Python accent, I understood what you wanted. :) | 16:09 | ||
16:12
zby left
16:14
kensanata left,
glow left
|
|||
awwaiid | masak: yes | 16:14 | |
masak | \o/ | 16:15 | |
awwaiid++ # tiny, but important, nits | |||
16:16
_kaare left,
uasi joined
|
|||
uasi | hi | 16:16 | |
std: [ { say 'hi' } ]>>.() | |||
p6eval | std a194beb: OUTPUT«ok 00:01 120m» | ||
uasi | rakudo: [ { say 'hi' } ]>>.() | ||
p6eval | rakudo : OUTPUT«Tried to find null name in main program body at line 22:/tmp/h1pXG_t5IT» | ||
Guest95728 | rakudo: L+1 for L in [1,2,3] | 16:17 | |
p6eval | rakudo : OUTPUT«Could not find sub &in in main program body at line 22:/tmp/X_NrIw1pWu» | ||
Guest95728 | rakudo: [L+1 for L in [1,2,3]] | ||
p6eval | rakudo : OUTPUT«Could not find sub &in in main program body at line 22:/tmp/WEpfxZEcFw» | ||
awwaiid | man... I added a comment to the contest link on reddit and now reddit has given me a 5-year-club prize. Time flies. | ||
Guest95728 | rakudo: $L+=1 for $L in {1,2,3} | 16:18 | |
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "$L+=1 for "» | ||
uasi | rakudo: [ { say 'hi' } ]>>() | ||
p6eval | rakudo : OUTPUT«Tried to find null name in main program body at line 22:/tmp/vanzAwZaKd» | ||
uasi | found that bug while solving the problem 3 | 16:19 | |
16:20
Guest95728 left
|
|||
TimToady | rakudo: say ~ ord "perl" | 16:20 | |
p6eval | rakudo : OUTPUT«112 101 114 108» | ||
TimToady | masak: ^^ don't need .comb» | 16:21 | |
masak | TimToady: good to know. | ||
TimToady | well, maybe, unless we decide that's a bad idea | ||
masak | uasi: that's a known bug, I think. | ||
TimToady | rakudo: say +ord "perl" | 16:22 | |
p6eval | rakudo : OUTPUT«4» | ||
masak | uasi: diakopter found it a few months ago. | ||
TimToady | that seems wrongish | ||
uasi | ah | ||
masak | rakudo: my @a = 1,2,3; @a>>++; say @a.perl | ||
p6eval | rakudo : OUTPUT«[2, 3, 4]» | ||
masak | Guest96690: ^^ | ||
nom & | 16:23 | ||
16:23
masak left
|
|||
TimToady | rakudo: say chr(112, 101, 114, 108) | 16:24 | |
p6eval | rakudo : OUTPUT«Too many positional parameters passed; got 4 but expected 1 in 'chr' at line 3304:CORE.setting in main program body at line 22:/tmp/nD1V6IWQ2g» | ||
TimToady | and not the inverse of chr as it stands | 16:25 | |
rakudo: say chr(ord("perl")) | |||
p6eval | rakudo : OUTPUT«» | ||
TimToady | rakudo: say "perl".Buf | 16:27 | |
p6eval | rakudo : OUTPUT«Method 'Buf' not found for invocant of class 'Str' in main program body at line 22:/tmp/iTszj4tOl0» | ||
oha | am i wrong or in chr(ord("perl")) it call the @a signature instead of ($a) signature? and chr(123,101,114,108) do not call @a? | ||
TimToady | but the chr(ord()) should have called @a instead of *@a | 16:28 | |
so I doubt there's a sig with @a | |||
and I'm quite sure people will be surprised if +ord($string) returns the number of characters rather than the first codepoint | 16:29 | ||
so maybe we should have an ords() function do that instead | 16:31 | ||
oha | iff i'm not wrong, looking at rakudo ''.ord() fails, 'a'.ord() return a scalar and 'ab'.ord() return a gather/take list | 16:35 | |
TimToady | I think we should split ord/ords | 16:39 | |
colomon | +1 .... ish? | 16:41 | |
TimToady | we can't force people to say +ord($s)[0] | ||
colomon | TimToady: but isn't the right answer to leave off the + ? | ||
TimToady | the whole point of ord is to get the number of a codepoint, so + shouldn't change that | 16:42 | |
it'll have + semantics any time you use it as a number anyway | |||
the only way to finesse it would be to return a different list type that knows it's supposed to return the head when used as a scalar | 16:43 | ||
16:43
icwiener joined
|
|||
TimToady | and that seems like a bit of a crock | 16:43 | |
dalek | : 763904e | duff++ | misc/perl6advent-2010/articles/feed.pod: improvements from #perl6; added working examples |
||
PerlJam | everybody re-comment. | 16:45 | |
oha | rakudo: multi sub chr(*@a) { [~] @a>>.chr }; say chr(ord('perl')); | ||
colomon | TimToady: I guess where I have an issue with the idea is that it isn't obvious to me that Str.ord should return only the first codepoint. perhaps just because I haven't really used ord much. | ||
p6eval | rakudo : OUTPUT«perl» | ||
colomon | it seems to me that p6 has a quasi-consistent pattern of returning "one or a list" of items from its builtins. | 16:46 | |
oha | TimToady: what if the ord() returns a OrdList which overload + to return the first element? | ||
colomon | oha: that strikes me as a very bad idea. it's opening up an ugly can of worms, and violating Liskov as well. | 16:47 | |
oha | colomon: agreed | 16:48 | |
TimToady | PerlJam: I'd just write say ~@who-it's-at instead of using .join(" ") | ||
ord has a long history in programming languages of only paying attention to the first character of a string | 16:50 | ||
colomon | TimToady: then we should probably honor that history | ||
TimToady | or say "@who-it's-at"; | ||
PerlJam | you mean you mean "@who-its-at[]" :) | 16:52 | |
colomon | rakudo: say pir::box__PI(pir::ord__IS("This is a test")); | ||
p6eval | rakudo : OUTPUT«84» | ||
PerlJam | (I was trying to avoid that) | ||
16:52
justatheory joined
|
|||
PerlJam | I'll go with prefix:<~> | 16:52 | |
TimToady | and this way .ord can avoid starting up a useless pipeline, and .ords can be optimized for listiness | ||
PerlJam: right, needs [] | |||
colomon | TimToady: we already avoid a useless pipeline. | 16:53 | |
The interesting plus is you can say "".ords and get a meaningful result instead of a fail. | |||
PerlJam | TimToady: re ord paying attention to only the first character. I've long thought that a mistake or at the very least annoying. | ||
TimToady | how can use avoid a useless pipeline on .ord[0] semantics? | ||
if it's a multichar string? | |||
colomon | TimToady: given self.chars ... | 16:54 | |
TimToady: you change the spec, I'll change Rakudo? :) | |||
dalek | : 01f44e8 | duff++ | misc/perl6advent-2010/articles/feed.pod: remove .join from examples |
16:55 | |
PerlJam | other advent authors: how did you go from POD to wordpress? | 16:58 | |
moritz_ | pod2html => hand edit | 16:59 | |
(join ech paragraph to one line, fix links that your pod2html couldn't convert) | |||
PerlJam | okay, that's what I'm doing too. Just thought there might be a better way | ||
colomon just wrote in wordpress, distressingly low-tech ;) | 17:00 | ||
hmmm, ord / ords patch failed to compile, and it's lunch time. | 17:01 | ||
moritz_ | rakudo: grammar G { rule TOP { ^ \s* $ } }; say ?G.parse(' ') | 17:10 | |
p6eval | rakudo : OUTPUT«Bool::False» | ||
dalek | ecs: b578b58 | TimToady++ | S29-functions.pod: Distinguish listy ords/chrs from ord/chr It will be too confusing to overload ord/chr with both scalar and list semantics. This will also give more information to the optimizer at compile time, since it cannot know whether .ord will be passed a single- or multi-character string |
17:11 | |
moritz_ | urks | ||
(that was related to the regex thing) | |||
the implicit <.ws> before the ^ matches, so ^ is not at the start of the line anymore | 17:13 | ||
TimToady | yes, I've said before that such usage probably ought to generate a compile-time error, or maybe we should suppress .ws before certain tokens | 17:16 | |
matching \s* in a rule is suspect in any case | |||
moritz_ | rakudo: grammar G { rule TOP { ^ \w* $ } }; say ?G.parse(' ') | 17:17 | |
p6eval | rakudo : OUTPUT«Bool::False» | ||
moritz_ | doesn't need \s* to demonstrate that weirdness :-) | ||
TimToady | yes, separate issue | ||
17:18
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
moritz_ | ^ does not match whitespace | 17:18 | |
TimToady | I was talking about \s*, not ^ | 17:19 | |
PerlJam | I think moritz_ means it wouldn't have helped in this case. | ||
moritz_ | right | 17:20 | |
TimToady | I wasn't claiming it would | ||
I'm discussing "separate issue" | |||
moritz_ | right | ||
(in fact I only had a \s* in there for testing, because the implicit <.ws> didn'T seem to work, but it turned out that the whitespace before the ^ was the problem) | 17:21 | ||
TimToady | which is that currently that \s* will never match anything in that rule | ||
even if the ^ did match | |||
PerlJam votes for a warning on explicit whitespace matching whenever :sigspace is in effect. | 17:23 | ||
we could always relax that if we later decide to make it magically work | |||
(plus it trains people on the Right Way :) | |||
TimToady | otoh, LTM currently suppresses <.ws> in rules that begin with alternations | 17:24 | |
so suppressing it before ^ and ^^ would be similar | |||
17:24
dac joined
|
|||
PerlJam | and after $$ ? | 17:25 | |
TimToady | after isn't a problem, but before is, since it will eat the \n | ||
17:27
dac left,
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
PerlJam | won't a <.ws> after $$ eat whitespace that another rule in sequence may want to anchor to? | 17:27 | |
bbkr | std: map { } | ||
p6eval | std a194beb: OUTPUT«ok 00:01 118m» | ||
bbkr | rakudo: map { } | ||
p6eval | rakudo : OUTPUT«Can't call map() with a Hash argument, Callable requiredYou probably wrote a Hash composer accidentally - try todisambiguate it with a ; directly after the opening brace in 'Any::map' at line 1468:CORE.setting in 'map' at line 1814:CORE.setting in main program body at line … | ||
TimToady | PerlJam: yes, that could happen too | ||
bbkr | known bug? | ||
jnthn | bbkr: Rakudo is helping you there. | 17:28 | |
bbkr: Also it's a runtime check I think. | |||
PerlJam | rakudo: map {; } | ||
p6eval | rakudo : ( no output ) | ||
17:28
dac joined
|
|||
jnthn | rakudo++ | 17:28 | |
PerlJam | bbkr: see? no worries. :) | ||
TimToady | rakudo: map { $_ } | 17:29 | |
p6eval | rakudo : ( no output ) | ||
TimToady | rakudo: map { $_ => $_ } | 17:30 | |
PerlJam | rakudo: map { 5 } | ||
p6eval | rakudo : OUTPUT«Can't call map() with a Hash argument, Callable requiredYou probably wrote a Hash composer accidentally - try todisambiguate it with a ; directly after the opening brace in 'Any::map' at line 1468:CORE.setting in 'map' at line 1814:CORE.setting in main program body at line … | ||
rakudo : ( no output ) | |||
bbkr | rakudo: { 5 }.WHAT.say | ||
p6eval | rakudo : OUTPUT«Block()» | ||
TimToady | rakudo: say { $_ => $_ }.WHAT | ||
p6eval | rakudo : OUTPUT«Hash()» | ||
TimToady | I believe that is anti-spec | 17:31 | |
colomon finds Rakudo compiles much better if you don't have random failed patches sitting around to confuse it.... | |||
moritz_ | TimToady: indeed. But pmichaud pointed out that the spec has quite some holes | ||
colomon | > "This is a test".ord | ||
84 | |||
> "This is a test".ords | |||
84 104 105 115 32 105 115 32 97 32 116 101 115 116 | |||
PerlJam | colomon++ | 17:32 | |
colomon: and +ord("This is a test") == 84 ? | |||
colomon | > +ord("This is a test") == 84 | 17:33 | |
Bool::True | |||
bbkr | so "map { }" is not a bug. but should "map { 5 }" be reported? clearly first param is a block | ||
moritz_ | rakudo: say <a b c>.first('b') | ||
p6eval | rakudo : OUTPUT«b» | ||
PerlJam | rakudo: map { 9,5,3 }, () | 17:34 | |
p6eval | rakudo : ( no output ) | ||
PerlJam | I guess you can't create something from nothing. | ||
er, Nil :) | |||
rakudo++ | 17:35 | ||
TimToady | yes, S04:1580 requires that to be considered Code, not Hash | 17:36 | |
PerlJam | wait ... | ||
rakudo: map { 5 } | |||
p6eval | rakudo : ( no output ) | ||
PerlJam | correct | ||
rakudo: map { $_ => $_ } | |||
p6eval | rakudo : OUTPUT«Can't call map() with a Hash argument, Callable requiredYou probably wrote a Hash composer accidentally - try todisambiguate it with a ; directly after the opening brace in 'Any::map' at line 1468:CORE.setting in 'map' at line 1814:CORE.setting in main program body at line … | ||
bbkr | aw, works, indeed. i looked at wrong rakudo response. sorry | 17:37 | |
TimToady | that's what is violating spec, not { 5 } | ||
PerlJam | right | ||
TimToady | hash composers are not allowed to reference $_, basically | 17:38 | |
OUTER::<$_> would be fine though | |||
colomon | > chrs(112, 101, 114, 108) | 17:40 | |
Too many positional parameters passed; got 4 but expected 1 | |||
> chrs([112, 101, 114, 108]) | |||
perl | |||
whoops, missed the *@grid | 17:41 | ||
PerlJam | colomon: got a test for chrs(ords($string)) eq $string ? | 17:42 | |
colomon | PerlJam: Haven't looked at the tests yet. | ||
I'm assuming this change will break some of them. | |||
and I definitely don't have any tests for chrs / ords | |||
TimToady: don't we need both chrs( Int *@grid ) and chrs( Int @grid ) ? | 17:46 | ||
TimToady | still think it should be @who-it's-at, since the apostrophe is legal in P6 | ||
colomon | because chrs([112, 101, 114, 108]).ord == 4 seems as bad as where we started from... | 17:47 | |
TimToady | you can always use |@foo | ||
but yeah, we could multi in an array arg | |||
esp since it could be optimized better in some cases, methinks | 17:48 | ||
colomon | now if Rakudo can just handle it without blowing up.... | ||
bbkr | rakudo: map { 1 } X==> grep { 1 } # should this be forbidden as STD says? Rakudo compiles and looks for signature anyway (and almost gets it right!) | 17:49 | |
TimToady | would be funny if chrs(ords($foo),ords($bar)) was faster than ~ | ||
p6eval | rakudo : OUTPUT«No candidates found to invoke for method 'map' on object of type 'Array'; available candidates have signatures::(Mu : █; *%_) in 'map' at line 1814:CORE.setting in main program body at line 22:/tmp/eOo7gmSDCc» | ||
PerlJam | TimToady: I don't know ... for people that haven't seen it yet, using - in variables seems only slightly surprising while using ' in variables seems like the universe is out of whack :) | ||
and I didn't want to distract | |||
TimToady | the its/it's messup is also disturbing to may people | 17:50 | |
*many | |||
PerlJam | if it'll make you and tchrist happy ... :) | 17:52 | |
post updated to say @who-it's-at | 17:53 | ||
TimToady | it'll be a nice waitaminute easter egg at the end for sompe people | 17:56 | |
*some | |||
colomon | > chrs([112, 101, 114, 108]) | 17:58 | |
perl | |||
> chrs(112, 101, 114, 108) | |||
perl | |||
\o/ | |||
PerlJam | Lots of people rejoiced when Perl lost ' as namespace separator. I can't imagine those people would be happy to see ' crop up in variable names. | ||
TimToady | or I guess it'd be a christmas egg in this case | ||
colomon | PerlJam: any test progress? ;) | ||
TimToady | those people will have to get used to it sooner or later | ||
best to hit them with a good use case early | |||
and most of the ick factor of old ' was that it was short for :: | 17:59 | ||
admittedly, it also gives a bit of heartburn to syntax highlighers, but not much, really | |||
*ght | 18:00 | ||
PerlJam | I just have trouble remembering a single positive comment from people outside #perl6 about apostrophes in variable names. | 18:01 | |
granted, the sample size of people I've talked with on this subject is quite small. | 18:02 | ||
TimToady | we're not designing Perl 6 to please sticks-in-the-mud | 18:04 | |
slavik1 | TimToady: when is christmas? ;) | ||
TimToady | dec 25 | ||
slavik1 | not that christmas | ||
TimToady | dec 25, * | 18:05 | |
PerlJam | slavik1: it's christmas everyday (we've had rakudo for a while now) | ||
slavik1 | PerlJam: good opoint | ||
TimToady | .oO("The kingdom of heaven is already among you.") |
18:06 | |
PerlJam | repent! | ||
;) | |||
colomon | wasn't dec 25, * around -3 BC? ;) | 18:07 | |
allbery_b | -4BC, and don't forget to factor in whenever your area did the gregorian conversion because that could potentially be off by a day | 18:11 | |
(nd if you never did, like orthodox christianity, christmas is now january 7 on the civil calendar, having recently moved forward another day </pedant>) | |||
(aaaand now you know wht Instants and Durations are such a PITA to get right) | 18:12 | ||
PerlJam | allbery_b: those should be easy ... it's Mayan::Durations and Gregorian::Durations and such that should be a PITA | 18:13 | |
:-) | |||
unless you're going to factor in relativistic effects too. But I prefer choosing time as a fixed frame of reference for now as it makes everyday life easier | 18:15 | ||
allbery_b | you want real fun, try the Islamic calendar | ||
especially the bit about how every community has different conventions for when a new month starts (the two most common being local time and time at Mecca) | 18:16 | ||
rokoteko | so whats wrong with seconds since 01.01.1970 ? | 18:17 | |
TimToady | -3 AD is 4 BC | ||
allbery_b | the fact that even if it's signed you get about 50 years either side of 1970 | 18:18 | |
PerlJam | rokoteko: seconds since 01.01.1970 where? and which 01.01.1970 ? : | ||
TimToady | -4BC would be 3 AD :) | ||
allbery_b | (see the Y2038 problem) | ||
rokoteko | allbery_b: are you talking to me? you extend the timestamp to 64bits and have some time to think. | 18:19 | |
TimToady | just use FatRats and be done with it | ||
allbery_b | but the real issuew is Perl 6 wants to support more than the POSIX time model. Astronomical time is one key case IIRC | 18:20 | |
rokoteko | use RatsThatAlreadyExplodedBecauseTheyWereGettingTooFat; | ||
TimToady | the POSIX time model is fundamentally flawed | ||
allbery_b | also, it weants to not hardcode the Gregorian calendar, which is what you do if you use 1-1-1970 | ||
rokoteko | TimToady: personally I think all the floats are flawed. bad design. it should be something like 1 would be largest number ever existed, 2 would be the second largest etc. if you need fractions you got 1/<the smallest number> which is the most accurate you can get. | 18:21 | |
TimToady | I think the stringification of Instant should pick a random epoch every time you run | 18:22 | |
allbery_b notes that he regularly uses two calendar systems, and even has a watch that helps with it | |||
TimToady | perhaps Instants should numify to the start time of the program as the epoch | 18:23 | |
rokoteko | why just admit to the largest number your computer can recognize and to stick to that to avoid even more significant errors. | ||
TimToady | how much memory do you have? | ||
rokoteko | me? 4gb on this machine. | ||
allbery_b | gmp lets you have some pretty large numbers | ||
rokoteko | it will get me very far with somehow important calculations without erros, won't it? | 18:24 | |
TimToady | that's probably accurate enough for most practical purposes | ||
allbery_b | (see Haskell's Integer type, and the BigInt module for perl5) | ||
TimToady | or the Int type for perl6 :) | ||
rokoteko | and you avoid floating point errors. win-win. | ||
TimToady | or should I say "Perl 6" | ||
allbery_b | or i it BigNum? haven't used it in a while and antidepressant changes are mucking with my memory :/) | 18:25 | |
TimToady | by the time your temporal calculations exceed the capacity of FatRat, it'll be later than you think | ||
allbery_b | "it's always too late" problem solved | ||
colomon | heh. S29-conversions/ord_and_chr.t passes just fine after my change. :\ | ||
TimToady | he said testily... | 18:26 | |
colomon | he said swiftly... | 18:27 | |
rokoteko | TimToady: is this implemented as BigRats in perl6? | ||
TimToady | "Anything you can do, I can do meta." | ||
colomon | "I can do anything meta than you." | ||
TimToady | yes, that's the other end of it | 18:28 | |
rokoteko | "What is meta?" | ||
colomon must stop before he laughs himself sick(er) | |||
TimToady | Why do you ask? | ||
rokoteko | TimToady: to quote my thoughts. | ||
TimToady | that's what you think | ||
rokoteko | me realizes he is chatting with Larry Wall. | 18:29 | |
TimToady apologizes profusely, or perhaps confusely | |||
moritz_ | happens. | ||
Use of uninitialized value in numeric context in 'MapIter::reify' at line 1 | |||
that's... not very useful | |||
rokoteko | if chuck norris met something concrete he would meet TimToady being meta. | 18:30 | |
slavik1 | ... | ||
awesomes ^^ | |||
TimToady | rokoteko: there are no Big* types in Perl 6. Int is already arbitrary sized (but NYI in rakudo), and FatRat is the Int/Int version of rationals | ||
diakopter | When I'm good I'm very, very good, but when I'm bad, I'm meta. | 18:31 | |
rokoteko | what is the problem implementing them in rakudo? are they implemented anywhere? | ||
Im also curious, what is the big thing of making the feed operators to work? | 18:32 | ||
moritz_ | it needs doing | ||
allbery_b | rakudo is built on top of the parrot vm; if parrot doesn't support bignums yet, rakudo won't | ||
TimToady | feeds are partly done already | ||
but only support coroutine semantics so far; we'd like them to pipeline between manycores at some point | |||
diakopter | No one can give you better advice than yourself. | 18:33 | |
er | |||
bah. | |||
TimToady | which probably means putting some limititions on what can go on either side of a feed | ||
*tat | |||
rokoteko | not very well. and also the translation mapping of $src ==> @feed[@(*)] ==> \my $dest; .. you can probably substitude @feed with a subroutine call? | ||
TimToady | arrays and hashes can always be replaced by subroutine calls, as far as subscripting goes | 18:35 | |
PerlJam | @feed[@(*)] is already a "subroutine call" | ||
rokoteko | PerlJam: how? using lazy array to generate @feed ? | ||
TimToady | that's already @feed.&postfix:<[ ]>(@(*)) or some such | 18:36 | |
jnthn | The handling for feeds so far is, iirc, written entirely in NQP. The extra bits for it probably also could be. | ||
So no need to dive down to PIR even, for anyone who wants to hack on it. :) | 18:37 | ||
rokoteko | how what PIR is from NQP ? | ||
s/what/far/ | |||
TimToady | the main difference between foo() and @foo[] is that the latter is designed to support multidimensional slices | ||
jnthn | rokoteko: A language level. :) | 18:38 | |
PIR is an assembly-ish language. NQP is a small subset of Perl 6. | |||
TimToady | which is also, by the way, the reason that %hash.delete is kinda bogus | ||
rokoteko | so you insert @(*) there. what's the difference between the two? what is @(*) ? I always thought it refers to the current element. | ||
kinda like $_ in perl5 but in more obscure context. | |||
TimToady | no, it's a lazy list | ||
jnthn thought it meant "list goes here" | |||
TimToady | so more like @_, except lazy | 18:39 | |
rokoteko | ah. "each argument at a time, no more please" ? | ||
TimToady | (p5's @_, I mean) | ||
slavik1 | TimToady: does it make sense to have a non-lazy list? | ||
TimToady | if you want side effects in the calculation, sure | ||
we're not purist when it comes to FP | 18:40 | ||
slavik1 | TimToady: but wouldn't you still get that with a lazy list? | ||
TimToady | not if you wish to observe the side effect after the syncronization point | ||
allbery_b | slavik1: not always. compare let and let* in common lisp for example | ||
rokoteko | ok. any writings or thought on how the type system is going to be? ml/haskell like c/java like or something completely different? | 18:41 | |
slavik1 | allbery_b: I am not familiar with lisp that much to understand those | ||
PerlJam | "going to be"? | ||
moritz_ | rokoteko: S12 and S14 contain more info on the type system | ||
rokoteko: and signfificant parts of it are already implemented | |||
it's not like p6 was decided yesterday :-) | 18:42 | ||
rokoteko | no I was merely curious about the idea behind it. I think I've read those, but yes, I can take another look. :) | ||
TimToady | rakudo: my $x; my @foo := 1, { $x++ + $_ } ... * > 1000; say $x | ||
p6eval | rakudo : OUTPUT«Any()» | ||
TimToady | rakudo: my $x; my @foo := eager 1, { $x++ + $_ } ... * > 1000; say $x | ||
p6eval | rakudo : OUTPUT«Use of uninitialized value in numeric context in <anon> at line 22:/tmp/Imo3lVMImE46» | ||
TimToady | rakudo: my $x = 0; my @foo := eager 1, { $x++ + $_ } ... * > 1000; say $x | 18:43 | |
p6eval | rakudo : OUTPUT«46» | ||
TimToady | that uninit on ++ is bogus | ||
slavik1 | do rakudo star releases have proper installation scripts or is it best to compile it and use from whatever dir the code is in? | ||
TimToady | it should assume 0 | ||
moritz_ | TimToady: doesn't $x++ return $x? | ||
slavik1: there's an installer | 18:44 | ||
aka 'make install' | |||
colomon | rakudo: my $x; my @foo := 1, { ++$x + $_ } ... * > 1000; say $x | ||
p6eval | rakudo : OUTPUT«Any()» | ||
moritz_ | the README knows more | ||
TimToady | okay, me stands corrected, except I'm not | ||
slavik1 | moritz_: awesome, last time I tried it, it didn't put libraries in proper places or something | ||
TimToady | rakudo: my $x; my @foo := eager 1, { ++$x + $_ } ... * > 1000; say $x | ||
p6eval | rakudo : OUTPUT«45» | 18:45 | |
colomon | TimToady: In your first example, .... ah, you caught the eager | ||
TimToady | arguably, $x++ that assumes 0 should return 0 too | ||
colomon | Commencing spectest run for the ords / chrs patch. | 18:46 | |
rokoteko | what is $x here. the first parameter passed to the block because there are no more prioritized (alphabetically by variables name) variables to use? | 18:47 | |
moritz_ | rokoteko: $x is just the $x that was declared with 'my $x' | ||
rokoteko | where does $_ come from ? | ||
ahh.. | 18:48 | ||
moritz_ | $_ is the first argument of the block | ||
rokoteko | too much perl5 like. I got confused with $^x | ||
moritz_ | rakudo: say 1 <= -2 <= 5 | 18:51 | |
p6eval | rakudo : OUTPUT«Bool::False» | ||
dalek | ecs: ef12f7f | TimToady++ | S03-operators.pod: make $x++ return 0 on appropriate undefs Since the operator is doing something defined, the first value it returns should also be defined. |
||
moritz_ | rakudo: say <a b c>.first('d') | 18:52 | |
p6eval | rakudo : ( no output ) | ||
TimToady | rakudo: my $x; my @foo := eager 1, ++$x + * ... * > 1000; say $x | ||
p6eval | rakudo : OUTPUT«45» | ||
colomon | rakudo: my $x; my @foo = 1, ++$x + * ... * > 1000; say $x | 18:53 | |
p6eval | rakudo : OUTPUT«45» | ||
TimToady | assignment is eager, yes | ||
colomon | just trying to make sure I wasn't missing something there. :) | 18:54 | |
TimToady | well, mostly eager | ||
colomon | eager enough for the purposes of this conversation. | ||
TimToady | it should know to give up on infinities | ||
rakudo: my $x; my @foo = 1, ++$x + * ... *; say $x # should work eventually | |||
colomon | I still think assignment should be more lazy, but I'm not going to rehash that today. | ||
p6eval | rakudo : OUTPUT«(timeout)» | 18:55 | |
TimToady | it should see the * on the right and tell the assignment to be lazier | ||
and we've discussed allowing ,* on the ends of lists that are known to be infinite by the programmer but not by the compiler | 18:56 | ||
such a ,* is harmless even if it means replicate the final value, since an infinite list won't have a final value | |||
we should make sure it also works in: 1,2,3 ... :!defined, * | 18:58 | ||
PerlJam | std: @foo ==> @(*) ==> @bar | 19:00 | |
p6eval | std a194beb: OUTPUT«===SORRY!===Variable @foo is not predeclared at /tmp/2EpRZrvy2q line 1:------> @foo⏏ ==> @(*) ==> @barVariable @bar is not predeclared at /tmp/2EpRZrvy2q line 1:------> @foo ==> @(*) ==> @bar⏏<EOL>Check failedFAILED | ||
..00:0… | |||
PerlJam | std: my @foo ==> @(*) ==> my @bar | ||
p6eval | std a194beb: OUTPUT«ok 00:01 121m» | ||
19:04
gbacon_ joined
|
|||
moritz_ thinks he found a rakudobug, but has trouble reproducing | 19:08 | ||
rokoteko | TimToady: haha. this was just earlier today in thedailywtf. :9 thedailywtf.com/Articles/Really,-Re...Limit.aspx | 19:09 | |
19:09
dac left
|
|||
rokoteko | ... erm. or a couple days ago. | 19:09 | |
flussence | depends which planet you're on | ||
rokoteko | do you have collection I can choose out of? | 19:10 | |
flussence | actually, the link looks only 0.8 earth-days old... | 19:11 | |
flussence doesn't pay that much attention to the RPM of other orbital rocks anyway | 19:12 | ||
19:16
impious joined
|
|||
TimToady | funny that the comment talks about "all the 0s" when there are only 9s... | 19:18 | |
moritz_ | rakudo: class A { method ACCEPTS($x) { say "ACCEPTS: $x" } }; $_ = A.new; 3 ~~ $_; | 19:19 | |
p6eval | rakudo : ( no output ) | ||
moritz_ | rakudo: class A { method ACCEPTS($x) { say "ACCEPTS: $x" } }; 3 ~~ A.new; | ||
p6eval | rakudo : OUTPUT«ACCEPTS: 3» | ||
TimToady | surely the other rocks would have identical RPMs, if they define minutes as a fraction of their daily revolution... | 19:20 | |
moritz_ submits the first masak-contest-induced rakudobug | |||
19:28
jhuni joined
19:31
dju_ joined
|
|||
colomon | \o/ moritz_++ | 19:32 | |
jnthn | moritz_: Ain't that spec? | ||
e.g. $_ is set to the LHS of a smart-match | 19:33 | ||
Thus how $x ~~ .predicate works. | |||
moritz_ | jnthn: hm | ||
so it really does do { my $_ = 3; .ACCEPTS($_) } ? | 19:34 | ||
19:35
mkramer joined
|
|||
jnthn | moritz_: It really changes $_ for the time it takes to evaluate the RHS, yes. | 19:35 | |
moritz_: There used to be a bunch of syntactic special cases | 19:36 | ||
so $x ~~ .foo worked becuase it was syntactically special. | |||
But a while ago that went away in favor of just twiddling $_ | |||
jnthn remembers implementing that change | |||
TimToady | so ~~ $_ always asks an object if it finds its own self acceptable, I guess... :) | 19:37 | |
but maybe we should warn | |||
moritz_ | so, not a bug after all, just very unintuititve | ||
TimToady | rakudo: class A { method ACCEPTS($x) { say "ACCEPTS: $x" } }; $_ = A.new; say "yes" when $_ given 3 | 19:39 | |
p6eval | rakudo : OUTPUT«yes» | ||
19:39
dual joined
|
|||
TimToady | rakudo: class A { method ACCEPTS($x) { say "ACCEPTS: $x" } }; $_ = A.new; say "yes" if 3 ~~ $_ | 19:39 | |
p6eval | rakudo : OUTPUT«yes» | ||
TimToady | same thing, really | ||
jnthn | moritz_: Yes; otoh you're the first person I am aware has run into this issue since the change was implemented. | 19:40 | |
moritz_: Which dates back pre-R*. | |||
I imagine it's bizzare to run into though. +1 to warning. | |||
TimToady | what's the workaround to the warning? | ||
moritz_ | jnthn: actually I remember urging you to implement it, so that ~~ s/// coul work properly | 19:41 | |
~~ * # if the type accepts itself | |||
TimToady | that's always true | ||
moritz_ | right | ||
jnthn | TimToady: Just put the thing you want to test into anything other than $_ :-) | 19:42 | |
TimToady | rakudo: my $x = /foo/; say "yes" if $x ~~ $_ | ||
p6eval | rakudo : ( no output ) | ||
dalek | kudo: d1e6636 | colomon++ | src/core/Cool- (2 files): Split Any.ord into Any.ord and Any.ords, add Any.chrs. |
19:43 | |
TimToady | there's something that doesn't accept itself | ||
moritz_ | maybe Regex.ACCEPTS should only accept Cool, and Regex !~~ Cool | 19:45 | |
19:48
dju_ left
19:49
dju joined,
dju left,
dju joined
|
|||
TimToady | makes sense | 19:52 | |
colomon | "It should not matter whether the points in the polygon run clockwise or counterclockwise." Silly masak! | 19:53 | |
And silly colomon for looking at this problem when I should be doing an Advent post. | 19:55 | ||
moritz_ | TimToady: do you want to contribute a post for the advent calendar? | ||
TimToady | if I did, it'd probably be about cultural hacks | 19:56 | |
moritz_ | that's totally fine, as long as it's somewhat related to p6 (or the p6 community) | ||
TimToady | well, I think Camelia is related :) | ||
moritz_ | somewhat :-) | 19:57 | |
TimToady | and she'd definitely intended as a cultural hack | ||
PerlJam | So far the posts have been mostly technical. It would be nice to expose a little more of the culture. | 19:59 | |
20:00
mkramer left
20:01
jedai joined
|
|||
rokoteko | I think I need to get to bed. Good night all. Sleep tight, don't let the bed bugs bite! | 20:01 | |
TimToady | o/ | 20:02 | |
20:03
gbacon_ left
|
|||
TimToady | $.nomifications | 20:05 | |
20:06
dju left,
mkramer joined
20:10
l34k joined,
[Coke] joined
20:12
lichtkind joined
|
|||
sjohnson | xspblog.com/wp-content/uploads/2009...NomNom.jpg | 20:17 | |
flussence | that's a big bed bug. | 20:18 | |
rokoteko | what the heck. it's only 22:28 (in finnish time) and I was about to go to bed. I just realised that and go tback up. | ||
20:19
risou joined
|
|||
rokoteko | I think I will turn the radio on next. | 20:19 | |
jnthn | The day didn't finnish yet. :) | ||
rokoteko | It's a commercial about a christmas pig (that one is supposed to eat) on the radio | 20:20 | |
oh wait. god knows of finnish. maybe this is actually the song. lasts too long to be a commercial. | 20:21 | ||
20:22
Trashlord joined
|
|||
rokoteko | ahh. christmas songs :) | 20:24 | |
20:27
icwiener joined
20:34
dsp_ joined,
abra joined
20:35
abra left
20:42
Guest96690 joined
20:44
thelazydeveloper joined
20:45
abra joined
|
|||
sorear | good * #perl6 | 20:48 | |
jasonmay | hola | 20:49 | |
20:49
abra left
|
|||
jasonmay | so, I want to look at the HOW stuff in rakudo. are there any guides anywhere, docs the describe the internal architecture, anything like that? | 20:50 | |
(I have these crazy ideas in my head that I could just dig into the source, see what's going on, clean things up a bit) | 20:51 | ||
20:54
abra joined
|
|||
sorear | check docs/ | 20:55 | |
rakudo: say 2.PARROT | |||
p6eval | rakudo : OUTPUT«Int» | ||
sorear | rakudo: say 2.HOW.PARROT | ||
p6eval | rakudo : OUTPUT«ClassHOW» | ||
sorear | rakudo: say 2.HOW.HOW.PARROT | ||
p6eval | rakudo : OUTPUT«Method 'PARROT' not found for invocant of class '' in main program body at line 22:/tmp/LIoLsKfwJA» | ||
moritz_ | jasonmay: the meta object implementation is being reimplemented, see 6guts.wordpress.com/ for more info | ||
20:59
rgrau joined
|
|||
jasonmay | sorear/moritz_: thanks | 21:01 | |
lichtkind | why oh why #`() ? why not ##() ? | ||
moritz_ | lichtkind: because ` is the only printable ASCII character that doesn't appear in any other Perl 6 syntax | 21:02 | |
lichtkind | moritz_: because its hard to type :) | 21:03 | |
moritz_: thank you | |||
21:05
Chillance joined
21:19
risou left
21:20
risou joined
21:22
icwiener_ joined
21:23
abra left
21:24
icwiener left
21:26
icwiener_ left,
abra joined
21:31
abra left,
abra joined
21:32
finanalyst joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 21:32 | |
lichtkind | qx is evaled on BEGIN time? | 21:44 | |
or on runtime? | |||
moritz_ | what makes you think so? | ||
lichtkind | im not shure and cant find nothing in S02 | ||
moritz_ | when in doubt, it's the same as in p5 | ||
lichtkind | its also mit ambigous if qqx is really in the P6 definition or example macro | 21:45 | |
so runtime good | |||
21:45
abra left
|
|||
moritz_ | std: qqx/foo/ | 21:45 | |
p6eval | std a194beb: OUTPUT«ok 00:01 118m» | ||
moritz_ | lichtkind: feel free to clarify the spec | ||
21:45
abra joined
|
|||
lichtkind | i dont feel in position to do that :) | 21:45 | |
moritz_ | why not? | 21:46 | |
lichtkind | and i wonder if your qqx did a real system call | ||
moritz_ | of course it did not, since std only checks syntax | ||
lichtkind | ah | ||
i just start with clarifying tablets and i think i dont have commit bit anyway | 21:47 | ||
moritz_ | you have one | 21:48 | |
anyway, to me it's pretty clear | |||
"You may omit the first colon by joining an initial C<Q>, C<q>, or C<qq> with | |||
a single short form adverb" | |||
21:50
M_o_C joined
21:52
abra left,
abra joined
|
|||
lichtkind | moritz_: it was not clear to be if its evaled on runtime | 21:53 | |
21:53
abra left
21:54
abra joined
|
|||
lichtkind | and qqw was so close to that macro that i didnt know hes referring to it | 21:55 | |
21:56
abra left
22:07
am0c joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 22:11 | |
22:11
felliott joined
22:13
meraxes left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 22:16 | |
22:21
M_o_C left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 22:21 | |
22:28
finanalyst left
22:32
dsp_ left,
dsp_ joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | 22:32 | |
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet | |||
22:37
kfo_ joined
22:43
hercynium joined
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet | 22:43 | |
lichtkind | rakudo: my @a = <<one "two three">>;say @a.perl | 22:45 | |
p6eval | rakudo : OUTPUT«["one", "\"two", "three\""]» | ||
lichtkind | a bug :) | ||
cotto_work | what's the nomnom branch of nqp-rx for? | 22:47 | |
sorear | nomNOM? | ||
cotto_work | yes | ||
sorear | looks like there are only two commits different between nom and nomnom, both by colomon++ | 22:48 | |
ask him | |||
cotto_work | colomon: ping | 22:50 | |
colomon | pong | 22:51 | |
cotto_work | colomon: what's nomnom? | ||
and who do I talk to to get a commit bit for nqp-rx? | |||
the capitalization of STable.pmc breaks the build for me | |||
colomon | The goal of nomnom was to break HLL::Compiler away from PCT::HLLCompiler. In practice, that turned out to be a terrible disaster, so I haven't looked at it further. | 22:52 | |
I think I got my commit bit from jnthn or moritz_. | |||
Is the capitalization all you're worried about at the moment? | |||
cotto_work | for now | ||
I do want to play with it some more though. | 22:53 | ||
its mop is the future | |||
or some approximation thereof | |||
colomon | I can look at fixing that when I get the chance. (Need to take my little boy out to a Christmas walk at the moment.) | ||
22:53
MayDaniel joined
|
|||
cotto_work | k | 22:53 | |
sorear | cotto_work: are you cotto on github? | 22:56 | |
cotto_work | yes | ||
sorear | you now have an nqp-rx commit bit | 22:57 | |
cotto_work | sorear: should I expect some tests to fail? | 23:03 | |
sorear | dunno | 23:04 | |
23:04
dju joined
23:08
dju left,
dju joined
|
|||
lichtkind | should i file a bugreport? | 23:09 | |
colomon | cotto_work: I seem to recall jnthn++ telling me some tests were expected to fail when I asked the same question. | 23:16 | |
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet | ||
cotto_work | I'll push then. | 23:17 | |
colomon | cotto_work: feel free to push your filename fix, then. :) | ||
dalek | p-rx/nom: 361fef3 | cotto++ | src/pmc/ (2 files): rename STable.pmc to stable.pmc to avoid making case-sensitive OSs sad |
||
colomon | cotto_work++ | 23:18 | |
sorear | cotto_work: Why is that needed? | ||
cotto_work | on my ubuntu box gcc can't find pmc_STable.h | 23:19 | |
23:20
risou_ joined
|
|||
sorear | ah | 23:20 | |
colomon | ie the nom branches had only ever been built on Windows and OS X, likely. | ||
cotto_work | I figured | 23:21 | |
it's a weakness of pmc2c | |||
one of many | |||
colomon | it's a weakness of not testing your build on enough different machines. :\ | ||
Actually, come to think of it, I found a couple of things that didn't work on OS X when I tried building it for the first time. | 23:22 | ||
23:23
risou left
23:24
Guest96690 left
|
|||
cotto_work | What's the relationship between nom and 6model? | 23:24 | |
colomon | ah.... that's a darned good question. Do you know, sorear? | 23:25 | |
diakopter | the ideas prototyped in 6model are expected to someday be propogated back to nom | 23:26 | |
colomon | diakopter++ | ||
23:26
jferrero joined
|
|||
cotto_work | So does 6model exist to flesh out issues that came up in nom? | 23:28 | |
colomon | 6model is a complete rewrite of the object system, targeting CLR first | 23:29 | |
afk # off to Christmas walk | 23:30 | ||
23:31
MayDaniel left
|
|||
cotto_work | do nom and 6model implement the same object model, just with 6model targeting the CLR? | 23:36 | |
I'm trying to understand why they both exist and what role they fill. | |||
23:39
Bzek_ joined
|
|||
sorear | cotto_work: 6model came first | 23:40 | |
6model develops the new object system for multiple VMs at the same tim | |||
for pragmatic reasons, 6model/parrot is kept in the nqp repo | |||
but it's logically still part of 6model | |||
cotto_work | sorear: so nom is 6model/parrot? That makes sense. | 23:43 | |
jnthn | cotto_work: There even used to be a 6model/parrot. :) | 23:45 | |
cotto_work: But as soon as it started to get anywhere I realized a branch in the nqp-rx repo was going to be easier overall. | 23:46 | ||
So it's just as sorear++ said - pragmatic reasons. Or "jnthn wanted to do it that way" reasons. :) | |||
Generally, the implementation on the CLR is the bleeding edge one. | |||
cotto_work | What's more bleedinger about it? | 23:47 | |
jnthn | It's where I develop stuff / experiment first. | ||
Again, pragmatic: it's the easiest place to. | |||
cotto_work | how far ahead is it? | 23:48 | |
jnthn | Somewhat. (more) | ||
The hard thing tends to not be the implementation, but working out how to do it, and how to factor it. | |||
The big area it's way ahead in is multi-dispatch. | 23:49 | ||
The lexicals problem I mentioned aside, though, now I've got a factoring/design I'm happy with, porting it is not all that much effort. | |||
Generally I don't port until I (a) have a time slot to do it and (b) am fairly happy that the design of the thing I'm going to port is fairly solid, to try and avoid dupe work. | 23:50 | ||
cotto_work | It sounds like I won't lose too much by studying nom. | 23:51 | |
rather than 6model | |||
jnthn | The core data structures are in there. | ||
(in both) | 23:52 | ||
Both have a ClassHOW implemented in NQP. | |||
The nom one knows how to do MI, but not how to handle multi-methods. Vice versa for 6model. | |||
If there's a reason to study 6model, it's because it has to provide stuff that nom currently relies on Parrot having PMCs for. | 23:53 | ||
And it does it by fitting it in with the overall representation polymorphism model. | |||
cotto_work | So it'll be more like the eventual M0 implementation. | ||
jnthn | Well, nom grudglingly accepts the existence of PMCs. | 23:54 | |
So far as I care for them, they're in the same class as CLR objects. | |||
Something the rest of what I do has to interop with. | |||
And in some cases, build things out of. | |||
There's no real reason that PMCs couldn't just become another type of repr/HOW. | 23:55 | ||
Though their repr is really "a chunk of memory that C manages". | |||
er | |||
I mean, that's used like a struct by some C code. | |||
Though I guess with Lorito, iiuc, there's no C code per se. | 23:56 | ||
sorear | what I see right now is jnthn managing to attract lots of people to help with something | ||
cotto_work | jnthn: right | ||
23:57
nymacro joined
|
|||
sorear | despite not having the technical advantage | 23:57 | |
jnthn | sorear: wtf? | ||
sorear | Niecza can currently run more stuff than NQP.NET, IIUC | ||
I thought "run more stuff" was the best way to attract more people. It's not working out like that. | 23:58 | ||
jnthn | sorear: Yes. It always will be able to as well. :) | ||
sorear | ("technical advantage" is a bit vague and wrong here...) | ||
jnthn | sorear: If you want to attract people whose primary interest is "a full featured Perl 6 compiler", I suspect it is. | 23:59 |