»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:05
tyatpi left
00:06
fgomez joined
|
|||
dalek | ast: 39bcd72 | jnthn++ | S05-metasyntax/angle-brackets.t: Correct a precedence fail in a test. Rakudo unfudge. |
00:13 | |
kudo/nom: 04b1809 | jnthn++ | src/ (3 files): Implement <( and )>. |
|||
00:15
xinming left
|
|||
dalek | kudo/nom: 8523061 | jnthn++ | docs/ChangeLog: Couple more ChangeLog entries. |
00:17 | |
kudo/nom: 5f9d1ad | jnthn++ | docs/ROADMAP: Remove a completed item, update some items and add the mark_commit thing. |
|||
00:21
xinming joined
00:24
colomon_ joined,
colomon left,
colomon_ is now known as colomon
00:26
thelazydeveloper left
|
|||
jnthn | 'night, #perl6 | 00:27 | |
diakopter | o/ | 00:28 | |
00:29
colomon left
00:34
wooden joined,
wooden left,
wooden joined
00:37
derrazo joined
00:38
derrazo left
|
|||
diakopter | anyone around who knows git? | 00:40 | |
dalek | p/add-goto: c98f22b | (Matthew Wilson)++ | src/ (3 files): initial attempt at labels/goto. limitations: can't goto into/from a block if the block declares lexicals; can't forward goto (will aim at fixing this soon) |
00:41 | |
p/add-goto: f0bf33d | diakopter++ | / (2 files): Merge github.com:perl6/nqp into add-goto |
|||
diakopter | hunh. why do my commits have different usernames | 00:42 | |
00:48
colomon joined,
thou left
00:52
fibo left
00:59
spaceships left
01:00
mikec_ joined
01:02
thou joined
01:13
PacoAir left
|
|||
felher | Hey folks. Why was ./lib/ removed from nom's @*INC? | 01:25 | |
01:28
Loki7 joined
01:37
jaldhar left
01:43
derrazo joined
01:46
Guest14837 left
01:48
Chillance left
01:50
wolfman2000 joined,
carlin_ left
01:54
derrazo_ joined
01:55
thou left
01:56
tokuhirom joined,
JimmyZ joined
|
|||
JimmyZ | felher: see 6guts.wordpress.com/2012/05/08/sinc...hackathon/ | 01:57 | |
01:57
Guest15969 joined,
derrazo left
01:58
spaceships joined
|
|||
felher | JimmyZ++, thanks a lot :) | 01:58 | |
and jnthn++ for the blogpost, that i totally missed :) | 01:59 | ||
*which | |||
02:01
Loki7 left
02:04
araujo left
02:05
Guest15969 left
02:07
Guest15969 joined
02:08
Guest15969 left
02:09
Guest15969 joined,
Guest15969 left
02:11
PacoAir joined,
PacoAir left
02:13
derrazo_ left
02:14
alim left
02:25
colomon left
02:32
orafu left,
orafu joined
02:38
carlin_ joined
02:41
carlin_ is now known as carlin
02:42
leprevost joined
02:45
JimmyZ left
02:49
thou joined
|
|||
sorear | diakopter: I know some git | 02:50 | |
03:09
jaldhar joined
03:29
bruges joined
03:35
d4l3k_ joined,
dalek left,
hugme left
03:37
tadzik left,
Juerd left,
pmichaud_ left,
masak left,
dalek joined,
ChanServ sets mode: +v dalek,
d4l3k_ left,
masak joined,
Juerd joined
03:38
[Coke] joined,
Util left,
pmichaud joined,
Util joined,
tadzik joined
03:40
masak left,
dalek left
03:41
pmichaud left,
dalek joined,
ChanServ sets mode: +v dalek
03:42
isBEKaml left
03:43
Util left,
dalek left,
Juerd left
03:44
dalek joined,
ChanServ sets mode: +v dalek,
Util joined,
Juerd joined,
hugme joined,
ChanServ sets mode: +v hugme
03:46
dalek left
03:47
dalek joined,
ChanServ sets mode: +v dalek
03:48
lestrrat left,
lestrrat joined
03:50
d4l3k_ joined,
dalek left
03:52
dalek joined,
ChanServ sets mode: +v dalek
03:53
d4l3k_ left,
derrazo_ joined,
derrazo_ is now known as derrazo,
masak joined,
pmichaud joined
03:55
dalek left
03:56
dalek joined,
ChanServ sets mode: +v dalek
03:58
pmichaud left,
dalek left,
d4l3k_ joined,
pmichaud joined
03:59
d4l3k_ is now known as dalek
04:00
Juerd left
04:01
dalek left,
Juerd joined
04:02
dalek joined,
ChanServ sets mode: +v dalek
04:03
pmichaud left
04:04
d4l3k_ joined,
dalek left,
pmichaud joined
04:05
d4l3k_ is now known as dalek
04:06
Juerd left
04:08
Juerd joined,
d4l3k_ joined,
benabik joined,
dalek left
04:09
plutoid joined
04:10
dalek joined,
ChanServ sets mode: +v dalek
04:11
d4l3k_ left
04:13
dalek left
04:14
araujo joined,
araujo left,
araujo joined,
dalek joined,
ChanServ sets mode: +v dalek
04:16
dalek left,
d4l3k_ joined
04:17
derrazo left,
d4l3k_ is now known as dalek
04:19
dalek left
04:20
dalek joined,
ChanServ sets mode: +v dalek
04:21
masak left
04:23
masak joined,
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
04:24
Util left
04:25
Util joined,
dalek left
04:26
dalek joined,
ChanServ sets mode: +v dalek
04:29
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
04:30
masak left
04:31
masak joined
04:32
d4l3k_ joined,
dalek left
04:33
Util left
04:34
kaare_ joined,
Util joined
04:35
dalek joined,
ChanServ sets mode: +v dalek,
d4l3k_ left,
jaldhar left
04:39
masak left,
tadzik left,
hugme left,
dalek left,
PerlJam left,
Util left
04:40
tadzik joined,
dalek joined,
ChanServ sets mode: +v dalek,
PerlJam joined
04:41
masak joined,
Util joined
04:43
birdwindupbird joined,
p6eval joined,
ChanServ sets mode: +v p6eval
04:45
hugme joined,
ChanServ sets mode: +v hugme
05:04
mikec_ left
05:10
mikec_ joined
|
|||
moritz | \o | 05:14 | |
sisar | o/ | ||
sorear | o| | 05:15 | |
sisar | moritz: on rakudo.org, now that Rakudo development has fully switched to nom, "How to get Rakudo Perl 6" and "How to get Rakudo nom" don't make any sense, right? | 05:19 | |
moritz | sisar: right | ||
sisar | where is the source code for the page, i would like to fix that | ||
*the site | |||
moritz | sisar: it's a wordpress installation, nothing in git :( | 05:20 | |
sisar: create an account, and I'll ask pmichaud++ to give you suffificent permissions | |||
sisar | moritz: oh, ok | ||
moritz | sisar: and tell me the account name once you have done it :-) | 05:21 | |
sisar | moritz: you mean a wordpress.com account ? | ||
moritz | sisar: no, a rakudo.org account | 05:22 | |
sisar | ah | ||
moritz | hm, not sure if account creation is public | ||
I'll investigate | |||
05:24
spaceships left
|
|||
moritz | sisar: see /msg | 05:26 | |
sisar | moritz: a few days back you were considering renaming 'nom' back to 'master'. What happened to it ? | 05:27 | |
moritz | sisar: I want to clear it with pmichaud first | ||
sisar | moritz++ | 05:30 | |
i need to get a bit familiar with wordpress first :) | |||
looks kinda easy | |||
moritz | sisar: when you are logged in, you can click on 'Pages' on the left | 05:32 | |
sisar: I'm not sure, but I guess that's where you'll find a way to change the front page | |||
hm, maybe not | 05:33 | ||
I'll leave it to you :-) | |||
05:44
mdupont joined
|
|||
dalek | kudo/version: f85e438 | moritz++ | / (4 files): first shot at Version literals and objects LTM-fail means that v6-split() is parsed as a version number, not as a sub call :( |
05:45 | |
kudo/version: 6c2a8b5 | moritz++ | src/ (3 files): fix version literal parsing. Add Version.perl |
|||
05:50
jaldhar joined
|
|||
dalek | kudo/nom: 85f636b | moritz++ | / (4 files): first hacky shot at Version and version literals |
06:25 | |
moritz | that's a squashed merge of the version branch | ||
06:32
HarryS joined
06:35
fgomez left
06:40
icwiener joined
|
|||
icwiener | moritz: Hi. If you say Now fixed in 2012.04.1-93-g128e996", what does that refer to? Is that in Parrot or in Rakudo? I updated today and it does not work, that's why I ask. | 06:42 | |
benabik | 2012.04 is a rakudo version number, not a Parrot. | ||
icwiener | Hmm, ok. What branch is recommended to use then? It seems that commit is neither in master nor in nom? | 06:43 | |
benabik | It's in nom. | 06:44 | |
github.com/rakudo/rakudo/commit/12...163e8ca3c0 | |||
icwiener | Hmm, let me look locally again. | ||
moritz | icwiener: that's a rakudo revision | 06:45 | |
icwiener | Oh, my./ the 'g' is not part of the commit hash? Learning that cost me almost an hour. :D | 06:47 | |
benabik | The g is to mark it as a commit hash. | ||
icwiener | Thank you both for your help. :) | ||
benabik | Commits are hexadecimal, and g's one too far. | ||
icwiener | Yep, makes sense somehow. But one has to know. :) | ||
Oh, right. Now I feel stupid. :( | 06:48 | ||
benabik | icwiener: Happens to the best of us. | ||
Well, at least it happens to me, and occasionally I have ego. | |||
06:48
fgomez joined
|
|||
icwiener | :) | 06:48 | |
06:49
fgomez left
|
|||
icwiener | When I focus on other things, I miss quite obvious things quite often. | 06:49 | |
Now it works. :) | 06:59 | ||
moritz | icwiener: nearly all git tools accept the full string '2012.04.1-93-g128e996' in place of a SHA1 | 07:02 | |
ie you can do 'git show 2012.04.1-93-g128e996', and it works | |||
icwiener | Ah, nice. | 07:03 | |
07:10
mdupont left
07:13
Entonian joined
07:14
thelazydeveloper joined
|
|||
dalek | volaj: 8619523 | (Arne Skjærholt)++ | lib/NativeCall.pm6: Add vim modeline to NativeCall.pm6. |
07:16 | |
volaj: e94f45c | (Arne Skjærholt)++ | / (3 files): Tests and support functions for explicitly managing strings. |
|||
volaj: 216d11c | (Arne Skjærholt)++ | lib/NativeCall.pm6: Pass encoding parameter to CStr representation. |
|||
volaj: a4f37b4 | (Arne Skjærholt)++ | lib/NativeCall.pm6: Make Str parameter of explicitly-manage rw. moritz++ |
|||
volaj: b356310 | moritz++ | / (3 files): Merge branch 'cstr' |
|||
volaj: 2a2c373 | moritz++ | t/0 (7 files): include path fixes |
|||
volaj: d419ffa | moritz++ | lib/NativeCall.pm6: adapt to updated trait calling conventions |
|||
07:22
alim joined
|
|||
masak | good morning, Tuscon! | 07:24 | |
moritz | good shark, masak! | 07:25 | |
dalek | volaj: a78f01d | moritz++ | lib/NativeCall.pm6: update calling convention of other traits too |
07:26 | |
moritz | U MAKED ME A NATIFCALL BUT I FIXED IT 4 U! | ||
sorear | masak: Tuscon? | 07:32 | |
you just took a trip from Sweden to ... Arizona? | 07:33 | ||
I am thinking you have made a terrible blunder! :D | 07:34 | ||
sorear imagines masak standing in a small sea of sweat | |||
moritz | I don't think masak is in Alberta anymore :-) | ||
sorear | why Alberta? | ||
moritz | sorear: it's a "Wizard of Oz" reference | 07:35 | |
sorear | doesn't masak live in Malmö ? | ||
moritz: iirc the original line used Kansas | |||
moritz | oh | ||
moritz should update his memes | 07:36 | ||
07:42
Entonian left,
Entonian joined
|
|||
dalek | Iish: b3973e7 | moritz++ | t/ (2 files): [t] skp all tests if the first connect throws an error |
07:45 | |
masak | yes, the original line used is Kansas. | ||
"good morning Tuscon" is a song by Jonathan Coulton. | 07:46 | ||
www.jonathancoulton.com/wiki/Good_M...son/Lyrics | |||
07:49
Entonian left
|
|||
sorear | masak: oh, you aren't actually in the process of sacrificing yourself to the Sun? *phew* | 07:51 | |
masak | ;) | 07:52 | |
07:53
NamelessTee joined
07:56
zhutingting joined
|
|||
tadzik | good mornings | 07:58 | |
08:01
noam left
08:02
noam joined
|
|||
moritz | nah, Sun has been bought by Oracle :( | 08:05 | |
sorear | Oracle does not own the giant thermonuclear furnace in the sky. | 08:07 | |
Yet. | |||
masak | sorear: www.qwantz.com/index.php?comic=2200 | 08:11 | |
tadzik | heh, every image is the same, only the text changes. I can't help but think what a waste of storage and bandwidth this is :) | 08:15 | |
masak | I can't believe the guy has written 2200 of those. | 08:17 | |
tadzik | ...without anyone telling him! | ||
08:17
mdupont joined
|
|||
tadzik | or maybe the server just keeps the background image and generates jpgs automagically, on demand | 08:18 | |
I should probably be reading dinosaur comics instead of thinking about this | |||
masak | probably. | 08:19 | |
sorear | but it uses pngs. | 08:23 | |
masak | as it should. | 08:34 | |
jpg is lossy. | |||
and reading pixellated text in it would make the eyes water :/ | 08:35 | ||
good git commit messages: news.ycombinator.com/item?id=3961358 | 08:47 | ||
08:49
fhelmberger joined
08:52
lestrrat left
08:53
lestrrat joined
08:55
mucker joined
|
|||
tadzik | I think the last line wants to be two lines | 08:57 | |
09:08
fhelmberger left
09:10
JimmyZ joined
|
|||
moritz | probably hn markup fail | 09:10 | |
tadzik: how do I run modules mass test? | 09:11 | ||
tadzik | moritz: github.com/tadzik/emmentaler#README has instructions | 09:13 | |
moritz | tadzik: thanks | ||
tadzik | DBIish should pass everywhere now, aye? | ||
moritz | it should, yes | 09:14 | |
tadzik | I ponder a thought of stating a policy of | 09:15 | |
"please keep master working and stable, and do development in devel-ish branches" for modules | |||
then versioning is easier too; one just bumps version in META.info on branch merges | |||
oh, and since we have a Template::Mojo I could probably write formatter in Perl 6 too :) | 09:17 | ||
moritz | tadzik: I have a small patch that silences a warning in emmentaler. Want to give me a commit bit? | 09:19 | |
tadzik | moritz: sure | ||
moritz | erm, sorry, that should have been "CAN HAZ ..." :-) | ||
tadzik | add'd :) | 09:20 | |
moritz | push'd | ||
dalek | mentaler: 5228d87 | moritz++ | smoker: silence a warning |
||
tadzik | hmm, that seems to be a common idiom, panda got that too recently | 09:21 | |
moritz | flussence: Text-Tabs-Wrap needs a few use lib '.' in some test files | 09:25 | |
tadzik | that's odd | ||
moritz | flussence: CAN HAZ commit bit PULESE? | ||
tadzik | ah, I see a reason | 09:26 | |
moritz | flussence: I can send you a patch too if you prefer that | ||
09:47
alim left
09:52
plutoid left
09:58
localhost left
10:00
icwiener left,
localhost joined,
spider-mario joined
10:10
mucker left
10:11
thou left
10:23
whiteknight joined,
whiteknight is now known as Guest79136
10:24
mdupont left
10:37
sisar left
10:50
JimmyZ left
|
|||
moritz | www.groklaw.net/article.php?story=2...1165908331 on the one hand, I'm fascinated how detailed they go into the dex/dalvik code | 10:52 | |
OTOH I don't think a non-technical jury will understand much of it | |||
10:55
alim joined
11:07
mucker joined
11:10
colomon joined
|
|||
jnthn | Afternoon, #perl6 | 11:19 | |
moritz | \o jnthn | 11:20 | |
11:24
mdupont joined
11:25
goraki joined
|
|||
tadzik | oh shark jnthn | 11:25 | |
jnthn | moritz++ # version literals, zavolaj merging, etc :) | ||
r: say 'foo123bar' ~~ / foo <( 123 bar / | 11:26 | ||
p6eval | rakudo 85f636: OUTPUT«=> <123bar>» | ||
moritz | jnthn: sadly I'm a bit stuck with the enum-nonint branch | ||
jnthn | r: say 'foo123bar' ~~ / foo <( 123 )> bar / | ||
p6eval | rakudo 85f636: OUTPUT«=> <123>» | ||
jnthn | \o/ | ||
moritz: OK, I'll be able to take a look at it later today. What's it stuck on? | |||
moritz | jnthn: it dies with "Can only use nqp_get_sc_for_object with a SixModelObject", in World.get_ref, called (indirectly) from nqp;Perl6;Actions;term:sym<name> | 11:27 | |
while compiling the setting | |||
jnthn | Wow :) | ||
moritz | I assume that it's while accessing an element of the Order enum | ||
hm, maybe one of the values is not a properl 6model object | |||
jnthn: is there any easy-ish way to test from PIR if something contains a 6model object? | 11:28 | ||
jnthn | That can happen if, for example, you were pass a PAST node instead of an object or something... | ||
moritz: typeof should | |||
Oh...maybe... | |||
r: nqp::say(pir::typeof__SP(42)) | |||
p6eval | rakudo 85f636: OUTPUT«Int» | ||
moritz | I thought typeof was transparent to 6model vs. non-6model | 11:29 | |
jnthn | Yeah, it hadn't used to be. :) | ||
moritz | r: nqp::say(pir::typeof__SP(pir::set__PI(42))) | ||
p6eval | rakudo 85f636: OUTPUT«Null PMC access in set_integer_native() in block <anon> at /tmp/WJtyUaVlo7:1» | ||
jnthn | moritz: Anything like .WHAT will fail on non-6model immediately though | ||
moritz | jnthn: ah, good idea | ||
jnthn: then I at least know a way to attack the problem | 11:30 | ||
jnthn | But anywya, if you suspect what a certain thing, typeof is good. Because if it comes up with, say, Undef or Integer, you know "oh, a Parrot type snuck in" | ||
wtf, that sentence made no sense at all | |||
if you suspect a certain variable is to blame | |||
:) | |||
moritz | wait, repr_change_type is in-place, right? | 11:31 | |
jnthn | Yes. | ||
moritz | ok, that simplifies the World code a bit more | ||
jnthn | Thus my "clone the value and then change the type of the clone" | 11:32 | |
11:32
NamelessTee left
|
|||
jnthn | Since you still need the original one around. | 11:32 | |
moritz | oh, I forgot to clone | ||
hm | |||
that's not good | |||
with nqp::clone? | |||
11:32
alim left
|
|||
jnthn | No, don't use that on 6model objects | 11:32 | |
I was gonna say .clone | |||
BUT we have enums in the setting so that's probably a bad idea | 11:33 | ||
pir::repr_clone_PP(...) # forget if we have an nqp:: for that yet | |||
moritz | no, the nqp::clone is just clone__PP | 11:35 | |
jnthn | bbiab | 11:42 | |
tadzik | r: my @a = qw<<< a b c d >>>; say @a.perl | 11:50 | |
p6eval | rakudo 85f636: OUTPUT«Array.new("a", "b", "c", "d")» | ||
tadzik | how (where) does rakudo implement quoting with arbitrary number of delimiters? | ||
moritz | all the values passed to $*W.create_enum_value are proper sixmodel values | 11:51 | |
tadzik: look for quote:sym<qw> in Grammar.pm | |||
tadzik: it probably calls into some obscure quoting method from NQP or HLL::Compiler or so | |||
tadzik | true | ||
it just uses quote_EXPR | 11:53 | ||
moritz | is that still some wad of impenetrable PIR code? | 11:54 | |
tadzik | not anymore, it seems :_) | ||
but the heart of it is quote_delimited, which may be what I need | 11:55 | ||
dalek | blets: 0936234 | (Hayden Stainsby)++ | docs/tablet-2-basic-syntax.txt: Grammatical corrections and a couple of extra defs |
||
11:58
JimmyZ joined
11:59
NamelessTee joined
12:11
PacoAir joined,
isBEKaml joined
12:16
JimmyZ_ joined
12:18
JimmyZ left,
JimmyZ_ is now known as JimmyZ
|
|||
jnthn | tadzik: See my patch for < foo bar baz > in regexes last night, which also involved quote_delimited. | 12:19 | |
tadzik | seems that quote_delimited doesn't help me much. I'm trying to implement arbitrary number of <<'s in formatting codes, and they content can be Pod too, so quote_delimited is not enough | 12:20 | |
moritz | jnthn: I'm stuck again on origin/enum-nonint. All enum values seem to be fine 6model objects (Int in the case of Order, then promoted to Order), so I don't know where that error message might come from :/ | ||
tadzik | so I'm trying to use <starter> and <stopper> by hand | ||
jnthn | moritz: OK, will build it here while I make some noms :) | 12:23 | |
tadzik | weird. self.pos() in Grammar.pm gives me Method 'pos' not found for invocant of class 'String'. It seems to work in other methods | 12:26 | |
12:27
plobsing left
|
|||
jnthn | moritz: Looking more closely at the stack trace where it crashes... | 12:28 | |
moritz: I'm suspsecting it is failing when it tries to do a lookup of the enum, or maybe an enum value. | |||
moritz: It's happening in term:sym<name>, and looks like whatever was installed under that name is the wrong thing. | |||
12:30
plobsing joined
|
|||
jnthn | moritz: Am I missing it, or has the code to install the enum type itself vanished? | 12:32 | |
moritz: oh...I see it | |||
$*W.install_package($/, $longname.type_name_parts('enum name', :decl(1)), ($*SCOPE || 'our'), 'enum', $*PACKAGE, $*W.cur_lexpad(), $type_obj); | |||
That comes too early | |||
It needs to come almost at the end, after the other call to make_type_obj | 12:33 | ||
12:40
Chillance joined
12:50
colomon_ joined,
colomon left,
colomon_ is now known as colomon,
skids left
12:51
skids joined
|
|||
moritz | ok | 12:57 | |
right, if I change the order, I can get through the setting | 13:03 | ||
13:04
rurban left,
rurban joined
|
|||
dalek | kudo/enum-nonint: f48c49d | moritz++ | src/Perl6/ (2 files): install enum after it has been created. also clone the enum value before downcasting it |
13:05 | |
moritz | jnthn++ | ||
alan.dipert.org/post/153430634/the-...f-progress | 13:08 | ||
and in p6, you can drop the parens :-) | |||
dalek | blets: 36571be | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: added glossary term symbol |
||
blets: 6b69705 | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt: Merge branch 'master' of github.com:perl6/tablets |
|||
jnthn | moritz: yay | 13:12 | |
moritz: Do the enum tests still pass after these changes, ooc? | 13:13 | ||
*lol* at the Java in 1996 one from that blog post :) | 13:14 | ||
tadzik | Enterprise Printing Since 1996 ;) | ||
13:15
cognominal joined
13:16
mucker left
|
|||
isBEKaml | moritz: java was the slump in '96? :) | 13:16 | |
I can almost see it like a bell curve in terms of number of lines. | 13:17 | ||
13:35
zhutingting left
13:36
Guest79136 left
|
|||
moritz | jnthn: seems ssome spectests hang. I'm trying to find out which ones | 13:39 | |
oh wtf | 13:41 | ||
t/spec/S02-lexical-conventions/comments.rakudo is the first test that loops | |||
wtih | |||
use of uninitialized value of type Any in string context repeated quite some times | |||
JimmyZ | moritz: I'm just curious with this line: "make_type_obj unless $has_base_type", but the make_type_obj definition has a arg | 13:43 | |
moritz | JimmyZ: good catch, thanks | 13:44 | |
JimmyZ: though that line only triggers for empty enums | |||
13:44
goraki left
|
|||
JimmyZ is just curious how it can be compiled ... | 13:45 | ||
r: sub f($foo) { say $foo }; f if 0; | |||
p6eval | rakudo 85f636: OUTPUT«===SORRY!===CHECK FAILED:Calling 'f' will never work with no arguments (line 1) Expected: :($foo)» | ||
moritz | JimmyZ: nqp only checks arguments at run time | ||
JimmyZ: it's nqp code | |||
JimmyZ | oh | ||
jnthn | Additionally, in nqp f is not a call | ||
It's always a term. | |||
f() is a call | |||
moritz | oh right | 13:46 | |
JimmyZ | that explains it... | ||
moritz | anyway, I still don't see why S02-lexical-conventions/comments.rakudo could possibly hang | ||
there's no enum declaration in the whole file | 13:47 | ||
and I don't see any enum used either | |||
jnthn | moritz: Does it use e.g. the cmp or <=> operator? | 13:48 | |
moritz: Or generally, anything that uses the Order enum... | |||
moritz | the test that fails is | ||
oh wait, now it fails much earlier | 13:49 | ||
oh, ranges loops | |||
jnthn | They certainly use things taht rely on the Order enum | ||
Does 1 <=> 2 loop in the repl? | |||
moritz | ./perl6 -e 'say +Increase' | ||
use of uninitialized variable $!value of type Any in numeric contextuse of uninitialized value of type Any in string contextuse of uninitialized value of | |||
jnthn | aha | 13:50 | |
moritz | and then loops | ||
jnthn | ouch | ||
I'm thinking that $!value ain't being set properly then | |||
It should be set to the original thingy that you later clone and rebless. | |||
moritz | ah | ||
I don't do that, I think | |||
jnthn | ah :) | ||
moritz | I thought I didn't need to, because I reblessed the thing, so the orignal was still there, in some sense | 13:51 | |
jnthn | moritz: I'm sure it's "still there", but if it's not being installed in $!value... | ||
moritz | right | ||
jnthn | Anyway, I expect a lot of things will be quite upset if they're missing that. | ||
13:51
zhutingting joined
|
|||
moritz | yes, I noticed :-) | 13:51 | |
easy enough to fix too | 13:52 | ||
(at least I hope :-) | |||
13:58
sisar joined,
not_gerd joined
|
|||
not_gerd | moritz: github.com/libtom/libtommath/issues/3 | 13:58 | |
the current code can lose precision unnecessarily | |||
moritz | not_gerd: actually I had an updated version in the nqp repo already | 13:59 | |
not_gerd: which I had not posted on that issue tracker, iirc | |||
not_gerd | as far as I can tell, the noop-loop is unneessary | ||
I only read the code, not tried it, though ;) | 14:00 | ||
moritz | it had other problems, iirc | ||
src/ops/nqp_bigint.ops in nqp has the code we currently use | |||
not_gerd | moritz: reading... | 14:01 | |
moritz: still the same problem - it only inspects 2 digits, but it might need to inspect 3 to get the full 53 bits of double precision | 14:02 | ||
14:03
alim joined
|
|||
not_gerd | my code is missing a call to mp_clamp(), though | 14:03 | |
14:08
fgomez joined
14:13
JimmyZ left
|
|||
not_gerd | to be fully generic, we'd actually need to pach parrot's configuration system as well | 14:14 | |
flussence | oh hai | ||
not_gerd | currently, we do not know the precision of FLOATVAL | ||
flussence | moritz: I'll give you a commit bit on that | ||
not_gerd | s/pach/patch/ | ||
14:15
JimmyZ joined
|
|||
moritz | not_gerd: but usually it's just a double | 14:17 | |
14:20
tokuhirom left
14:21
tokuhirom joined
|
|||
moritz | flussence: patch pushed | 14:22 | |
not_gerd | moritz: perhaps Configure.pl should warn if floatval isn't a double? | 14:23 | |
moritz | maybe | ||
not_gerd | take a look at parrot for what not to do: it has configurable intval and opcode_t, but if intval != opcode_t, stuff breaks... | 14:24 | |
flussence | moritz++ | ||
14:27
tokuhirom left
14:29
plobsing left
14:31
noam left
14:48
bjarneh left
15:00
not_gerd left
15:05
birdwindupbird left
15:08
alim left,
alim_ joined
15:11
orphu left
|
|||
[Coke] | phenny: ask not_gerd if there's a ticket for the intval/opcode_t bug in parrot | 15:20 | |
phenny | [Coke]: I'll pass that on when not_gerd is around. | ||
dalek | kudo/enum-nonint: f72c306 | moritz++ | src/Perl6/ (2 files): two enum fixups, jnthn++ JimmyZ++ |
15:21 | |
moritz | ok, now enums work if you explicitly provide the values | 15:22 | |
tadzik | what do you mean? | 15:28 | |
15:29
plobsing joined
|
|||
tadzik | oh, no .succ? | 15:29 | |
moritz | it does call .succ | 15:30 | |
but it complains that it can't call repr_change_type on a non-6model value | |||
tadzik | Oh, .succ may change type, aye? | 15:33 | |
like, Int -> BigInt | 15:34 | ||
15:35
fgomez left
|
|||
moritz | thereis no BigInt type | 15:35 | |
Int stays Int | |||
Str.succ also returns a Str | |||
r: say Int.succ | |||
p6eval | rakudo 85f636: OUTPUT«Parameter '' requires an instance, but a type object was passed in method succ at src/gen/CORE.setting:2666 in block <anon> at /tmp/aLauviio9x:1» | ||
tadzik | hmm, so why would it repr_change_type upon .succ? | 15:36 | |
moritz | if we do an enum A <b c>;, then $cur_value for 'b' is 0, but we want it to be of type A | ||
ie we fudge up type A to inherit from Int | 15:37 | ||
15:37
plutoid joined
|
|||
moritz | and then downcast the Int 0 to the A 0 | 15:37 | |
aund it dies with "Can only use repr_change_type on SixModelObjects" | |||
15:38
Enlik joined
|
|||
moritz | even though it pir::typeof__SP($value) says it's an Int | 15:38 | |
which looks pretty SigModelObject-ish to me | |||
tadzik | aye | ||
moritz | on the upside, Str enums work | 15:39 | |
$ ./perl6 -e 'enum A (b => "foo", c => "bar"); say b.Str;' | |||
foo | |||
tadzik | odd | 15:40 | |
moritz | and it even works with | ||
./perl6 -e 'enum A (b => 0, "c"); say c.Int;' | |||
1 | |||
so it's the default value that is off somehow | |||
my $cur_value := nqp::box_i(-1, $*W.find_symbol(['Int'])); | 15:41 | ||
r: my $cur_value := nqp::box_i(-1, $*W.find_symbol(['Int'])); say $cur_value | |||
p6eval | rakudo 85f636: OUTPUT«Dynamic variable $*W not found in method <anon> at src/gen/CORE.setting:8776 in <anon> at src/gen/Metamodel.pm:2260 in any find_method_fallback at src/gen/Metamodel.pm:2258 in any find_method at src/gen/Metamodel.pm:828 in block <anon> at /tmp/FLigbASday:… | ||
moritz | r: my $cur_value := BEGIN nqp::box_i(-1, $*W.find_symbol(['Int'])); say $cur_value | 15:42 | |
p6eval | rakudo 85f636: OUTPUT«(signal SEGV)» | ||
moritz | ooh look, a SEGV | ||
r: BEGIN { my $cur_value := nqp::box_i(-1, $*W.find_symbol(['Int'])); say $cur_value } | |||
p6eval | rakudo 85f636: OUTPUT«(signal SEGV)» | ||
15:43
Patterner left
|
|||
moritz | r: BEGIN { my $cur_value := nqp::box_i(-1, Int); say $cur_value } | 15:44 | |
p6eval | rakudo 85f636: OUTPUT«-1» | ||
moritz | r: BEGIN { my $cur_value := nqp::box_i(-1, Int); say $cur_value.succ } | 15:45 | |
p6eval | rakudo 85f636: OUTPUT«0» | ||
moritz has no clue what's wrong | 15:46 | ||
15:47
leprevost left
15:51
ranguard left
|
|||
moritz | jnthn: I fear you have to look at that again | 15:54 | |
15:59
ranguard joined
|
|||
jnthn | moritz: You're passing NQP code a Perl 6 Array. | 16:09 | |
masak | salut, #perl6 | ||
jnthn | In the BEGIN above | ||
Not surprised it fails. | |||
But why the .succ call would fail from Actions...that's odd. | |||
16:12
JimmyZ left
|
|||
jnthn | moritz: If you say($cur_value) after the .succ call, what does it give? | 16:15 | |
16:18
snearch joined,
snearch left,
snearch joined
|
|||
moritz | why should it fail in the BEGIN? | 16:19 | |
I've tried to diagnose the non-6model type in repr_change_type | 16:20 | ||
... and I got a segfault | |||
jnthn | $*W.find_symbol(['Int']) | ||
You're writing Perl 6 code. [...] is a Perl 6 Array. | |||
moritz | oh | ||
jnthn | find_symbol is used to getting an RPA | 16:21 | |
16:21
skyheights joined
|
|||
jnthn | But anyway, the call you have in CORE.setting should work out fine | 16:21 | |
Though, using the integer constant thing would probably be easier. | |||
We already have a 0 in the SC somewhere probably :) | |||
moritz | we need -1 | 16:22 | |
jnthn | oh | ||
moritz | because I only call .succ if no value is supplied | ||
jnthn | Right | ||
16:22
skyheights left
|
|||
jnthn | In this code path, when does make_type_obj get called? | 16:22 | |
I think it's complaining about the $type_obj not being a 6model object, not what comes back from .succ | 16:23 | ||
Yeah, if the first thing ain't a pair, I think we never call make_type_obj | |||
But we pass $type_obj to create_enum_value | 16:24 | ||
That seems to be why it fails. | |||
The succ call itself is probably fine. | |||
moritz | oh | 16:29 | |
16:33
fgomez joined
16:34
tokuhirom joined
|
|||
moritz currently has a cold, and uses that as an excuse for his sloppy coding | 16:37 | ||
jnthn | awww | ||
get well soon | |||
moritz | thanks | 16:38 | |
qwq | |||
q | |||
no, not Ronja's fault :-) | 16:39 | ||
16:40
tokuhirom left
16:41
tokuhirom joined
|
|||
masak | she's trying to quit irssi :) | 16:41 | |
moritz | no, vim :-) | ||
16:43
fgomez left,
ranguard left
16:44
ranguard joined
16:45
tokuhirom left
16:51
ranguard left
|
|||
masak | well, it requires tricky motor skills to do a colon on most keyboard layouts. | 16:51 | |
just 'q' in vim will record a macro into some register. | |||
16:53
zhutingting left
|
|||
moritz | actually I was just joking around; it was just me typing into a laggy ssh connection, and the wrong screen window too | 16:54 | |
most tests pass again | 16:56 | ||
I suspect the two failures are due to my branch being out of date | |||
masak | moritz: oh, you said '*not* Ronja's fault'. I misread that :) | 16:57 | |
dalek | kudo/enum-nonint: d2012e2 | moritz++ | src/Perl6/Actions.pm: fix enums without explicit values |
||
17:00
alim_ left,
ranguard joined,
alim joined
17:09
plutoid left
17:10
ranguard left,
fgomez joined
17:11
ranguard joined
17:17
ranguard left
17:18
mdupont left
|
|||
spider-mario | r: say Order.^methods | 17:23 | |
p6eval | rakudo 85f636: OUTPUT«enums kv pair perl pick roll Int postcircumfix:<( )> Str Numeric gist <anon> <anon> Int Num Rat FatRat abs Bridge chr succ pred sqrt base floor round ceiling sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh ta… | ||
spider-mario | where does it get e.g. cos from? | 17:24 | |
n: say Order.^methods | |||
p6eval | niecza v17-4-ge5b869e: OUTPUT«Unhandled exception: Unable to resolve method methods in class ClassHOW at /tmp/T4MJRS1wu7 line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at … | ||
moritz | r: say Order.^mro(:all) | ||
p6eval | rakudo 85f636: OUTPUT«too many named arguments: 1 passed, 0 used in any mro at src/gen/Metamodel.pm:669 in block <anon> at /tmp/IagCum6Bg0:1» | ||
moritz | r: say Order.^mro() | ||
p6eval | rakudo 85f636: OUTPUT«Order() Int() Cool() Any() Mu()» | ||
moritz | spider-mario: from Int | ||
spider-mario | oh, ok | ||
moritz | spider-mario: or more specificaly from Real, which Int composes | ||
spider-mario | oh, I see that orders can be treated as integers. | 17:25 | |
my bad. | |||
thanks :) | |||
jnthn | .^mro always includes everything. | ||
It's .^parents that stops at Cool | |||
moritz | ah right | ||
spider-mario | r: say +Increase | ||
p6eval | rakudo 85f636: OUTPUT«-1» | ||
jnthn | Potentially, .^parents(:all) and .^mro may not give the same thing too | 17:26 | |
PerlJam did not know about ^mro | 17:27 | ||
jnthn | It's used heavily inside the various meta-objects. | 17:29 | |
masak | PerlJam: it seems a very central concept in Perl 6's (or at least Rakudo's) MOP. | ||
PerlJam | yeah, I always thought it was more implicit than explicit though I think | 17:30 | |
Like when you asked for ^parents, you'd get them all in MRO (but obviously that's not true) | |||
moritz | jnthn: in ROADMAP, what are the "missing bits of enums"? | 17:33 | |
jnthn | moritz: Whatever somebody thinks we need in order to have green for enums in Features ;) | ||
dalek | kudo/nom: 417d760 | moritz++ | src/Perl6/Actions.pm: start to make enums less int centric |
17:34 | |
kudo/nom: 24a3016 | moritz++ | src/ (3 files): [enum] defer creation of type object until we know the base type now setting compilation blows up in term:sym<name> with Can only use nqp_get_sc_for_object with a SixModelObject |
|||
kudo/nom: f48c49d | moritz++ | src/Perl6/ (2 files): install enum after it has been created. also clone the enum value before downcasting it |
|||
kudo/nom: f72c306 | moritz++ | src/Perl6/ (2 files): two enum fixups, jnthn++ JimmyZ++ |
|||
kudo/nom: d2012e2 | moritz++ | src/Perl6/Actions.pm: fix enums without explicit values |
|||
kudo/nom: 777259d | moritz++ | src/ (3 files): Merge remote branch 'origin/enum-nonint' into nom |
|||
kudo/nom: e9e7a27 | moritz++ | docs/ (2 files): update ChangeLog and ROADMAP |
|||
17:34
ranguard joined
|
|||
moritz | hey, that was a proper merge | 17:34 | |
masak | well, maybe 'heuristic' means "there has to be this many commits for me to successfully guess it was a merge"? | 17:35 | |
anyway. moritz++ | |||
spider-mario | yes | 17:36 | |
moritz++ | |||
jnthn | moritz++ | ||
17:36
mdupont joined
|
|||
jnthn | This next release keeps getting better and better :) | 17:36 | |
spider-mario | “6 commits at the same time and ‘merge’ in a commit message ain’t a merge” | 17:37 | |
TimToady | r: say (1/10000000000).base(3) | ||
p6eval | rakudo 85f636: OUTPUT«0.0000000000000000» | ||
TimToady | that's kinda wrongish still | 17:38 | |
masak | is there an open RTzi for it? | ||
TimToady | yur the xpurt | ||
masak | no, I do fire and forget :P | 17:39 | |
colomon | is base specified on Rats? | ||
TimToady | I didn't say you was perfect | ||
colomon is at his parents, may have missed a lot... | |||
spider-mario | how is # supposed to be interpreted? | ||
TimToady | r: say (1/10000000000).Str(:base(3)) | ||
p6eval | rakudo 85f636: OUTPUT«0.0000000001» | ||
TimToady | well, at least that works | ||
masak | perfection is overrated anyway. | ||
spider-mario | I wrote it somehow accidentally in a rakudo repl and got “Nil” | ||
PerlJam | r: say (1/7).base(3) | 17:40 | |
p6eval | rakudo 85f636: OUTPUT«0.0102120102120102» | ||
spider-mario | r: say #anything | ||
p6eval | rakudo 85f636: OUTPUT«» | ||
masak submits rakudobug | |||
PerlJam | nice | ||
spider-mario | r: say (#anything).perl | ||
p6eval | rakudo 85f636: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2» | ||
moritz | spider-mario: # starts a comment | ||
spider-mario | oh, obviously a comment. | ||
TimToady | r: say (1/7).Str(:base(3)) | ||
p6eval | rakudo 85f636: OUTPUT«0.142857» | ||
spider-mario | how could I forget that. :D | ||
moritz | spider-mario: so you produced an empty statement | ||
which returned Nil | |||
masak | spider-mario: try #`[anything] | ||
spider-mario | I have really no idea how I forgot that | 17:41 | |
17:41
ranguard left
|
|||
masak | r: say (#`[nothing]).perl | 17:41 | |
p6eval | rakudo 85f636: OUTPUT«()» | ||
TimToady | anyway, Rat.base can trivially just call Str(:base) now | ||
dalek | Heuristic branch merge: pushed 19 commits to nqp/toqast by jnthn | ||
colomon | PerlJam++ | ||
TimToady: no it can't. | |||
dalek | p/toqast: 105ff32 | jonathan++ | / (2 files): Implement immediate blocktype handling; test it. |
||
colomon | TimToady: r: say (1/7).Str(:base(3)) | ||
[1:40pm] p6eval: rakudo 85f636: OUTPUT«0.142857» | |||
Str(:base) just ignores :Base | 17:42 | ||
TimToady | that's already a bit of false precision | ||
hmm, yer write | |||
colomon was pretty sure 7 was not a digit in base 3. ;) | |||
TimToady | the conversion process has some inaccuracies :) | 17:43 | |
17:43
ranguard joined
|
|||
dalek | ast: 1ec0b65 | moritz++ | S12-enums/non-int.t: first basic tests for non-integer enums and enums of mixed types |
17:44 | |
colomon | so, is Num.base($n) supposed to be Num.Str but in base $n? | ||
TimToady | or the other way around maybe | ||
colomon | errr, I mean Numeric.base($n) | ||
TimToady | maybe Str defaults to .base(10) | ||
17:45
spaceships joined
|
|||
TimToady | though as I mentioned the other day, probably want to special case common bases in separate routines for efficiency | 17:45 | |
dalek | kudo/nom: 6b8c360 | moritz++ | t/spectest.data: run non-int.t enum tests |
||
TimToady | so Str could be base 10, and just leave the base code in .base | ||
moritz | +1 | 17:46 | |
TimToady | er, put the :base code I prototyped in as .base I mean | ||
colomon | TimToady: either way, I don't think we've gotten the base 10 routines straightened out yet. :) | ||
spider-mario | speaking of that, I’m a little surprised that numbers in lojban are implicitly in base 10 | ||
TimToady | lojban is mainly only logical on the surface issues :) | ||
spider-mario | :) | 17:47 | |
17:48
wolfman2000 left
|
|||
spider-mario | “forty-two” in lojban is “vo re” | 17:48 | |
TimToady | colomon: not sure what you're referring to there... | ||
spider-mario | which translates to “four two” | 17:49 | |
I meant “vore” | |||
colomon | TimToady: in terms of implementations. unless there's been great progress in Rakudo while I was looking elsewhere.... | ||
spider-mario | (there is no space) | ||
moritz | in Space there is no space | 17:50 | |
colomon | r: say 3248902489023489028590809252.02 | ||
p6eval | rakudo 85f636: OUTPUT«3248902489023489028590809252.02» | ||
colomon | ooo, nice | ||
TimToady | r: say (3248902489023489028590809252 + 1/1728347837928739473) | ||
p6eval | rakudo 85f636: OUTPUT«3248902489023489028590809252.00000000000000000058» | ||
TimToady | r: say (3248902489023489028590809252 + 1/2500000000000) | 17:51 | |
p6eval | rakudo 85f636: OUTPUT«3248902489023489028590809252.0000000000004» | ||
dalek | p/toqast: 5d24bc1 | masak++ | / (2 files): implement compilation of Q operands |
||
masak | \o/ | ||
TimToady | I'd just like to see that niceness extend to .base, and it hasn't quite yet | ||
r: say (3248902489023489028590809252 + 1/2500000000000).base(10) | 17:52 | ||
p6eval | rakudo 85f636: OUTPUT«3248902489023489028590809252.00000000» | ||
TimToady | to wit | ||
colomon | r: say 23940294092304925259023943.2.perl | ||
p6eval | rakudo 85f636: OUTPUT«119701470461524626295119716/5» | ||
colomon | that's still wrong, in two different ways... | ||
TimToady | we don't have that yet either | ||
uh, yeah | |||
or maybe 3 is now divisible by 5 | |||
you never know in these days of uncertainty | 17:53 | ||
dalek | p/toqast: 2cd5cd6 | jonathan++ | / (2 files): Add handling of blocktype declaration, and add a basic test for it. |
17:54 | |
colomon | n: say 23940294092304925259023943.2.perl | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«<119701470461524626295119716/5>» | ||
colomon | slightly less wrong... | 17:55 | |
TimToady | actually I misspoke; 3 is divisble by 1/5 :) | 17:56 | |
it seems no amount of coffee can make up for senility... | 17:57 | ||
doesn't stop me from trying though... | 17:58 | ||
colomon: if you care to take a whack at a better .base, the proto code is in gist.github.com/2648301 | 17:59 | ||
PerlJam | r: (1/25000000).base(10) | 18:00 | |
p6eval | rakudo 85f636: ( no output ) | ||
PerlJam | r: say (1/25000000).base(10) | ||
p6eval | rakudo 85f636: OUTPUT«0.00000004» | ||
PerlJam | r: say (1/250000000).base(10) | ||
p6eval | rakudo 85f636: OUTPUT«0.00000000» | ||
18:00
birdwindupbird joined
|
|||
colomon | n: say 10.base(3) | 18:01 | |
p6eval | niecza v17-4-ge5b869e: OUTPUT«101» | ||
TimToady | r: gist.github.com/2648301 | ||
p6eval | rakudo 85f636: OUTPUT«0.00000000DC0.000000LA-101010.111111111111111111111111111111111111111111111101» | ||
TimToady | just needs to be turned into a method, is all | 18:02 | |
oh, and use log instead of string length, moritz++ suggested | 18:03 | ||
colomon | .... does it handle the exact representation part correctly? I'm not seeing anything in the code for it. Or does the denominator base thing handle it automatically? | 18:05 | |
$r.denominator.base($base).chars + 1, I mean. | |||
TimToady | yes, but let me put the log version there first | ||
colomon | okay | ||
TimToady | okay, it's there now | 18:07 | |
and seems to produce the same result | |||
yes, if the selected number of digits overshoots, the loop exits when the remainder is 0 | 18:08 | ||
araujo greets around | 18:09 | ||
TimToady | so 1/2.base(10) selects 2 digits, but it stops after generating .5 | ||
araujo: o/ | |||
araujo | hello TimToady :) | ||
colomon | araujo: \o | ||
araujo | hello colomon o/ | 18:10 | |
araujo thinking to get perl6 into (semi)-production code | |||
TimToady | colomon: the last 4 lines could also be turned into tests, I suppose | ||
it's a nano-optimization, but 'if $r >= 0.5' could maybe fasterly be written '$r.de * 2 > $r.nu' | 18:16 | ||
er, >= | |||
er, < actually | 18:17 | ||
TimToady hopes to think clearly once or twice today... | |||
18:21
shinobicl joined
18:23
mdupont left
18:25
fgomez left
18:35
mikemol left
|
|||
moritz | TimToady: actually I did it as $r * 2 >= 1 in rakudo, because I can't use Rat literals inside the Rational role :-) | 18:36 | |
TimToady | I guess that is likely to avoid cross multiplying as well | ||
well, unless it converts 1 to 1/1 and cross multiplies | 18:37 | ||
which it might, since the comparison has to happen in the Rat domain, not the Int domain | 18:38 | ||
so mine might still be nanofaster | |||
it's not like that test is in the main loop | |||
moritz | well, we can actually do infix:«>=>(Rat, Int) if we want | ||
18:38
ranguard left
|
|||
TimToady | there is that | 18:39 | |
moritz | but currently we don't | ||
18:39
mucker joined,
Enlik left
|
|||
TimToady | more effective optimizations will probably be in shifting instead of multiplying (if that's supported more efficiently in libtommath), or possibly conversion to a native rat type that is big enough and then do nothing with Rat overhead | 18:40 | |
but I figure "correct first" here | |||
moritz | I guess there's lots of potential for micro optimizations in Rat | 18:43 | |
TimToady | the inability to use a Rat literal in a Rational role makes me think we have not yet solved the problem of allomorphic literals with sufficient generality | ||
or is there some non-reducable self-reference there? | 18:44 | ||
moritz | well | ||
we have basically two choices | 18:45 | ||
we can compile 0.5 directly to a Rat | |||
TimToady | I guess we have to attach the type to the notation somehow | ||
moritz | or we can compile it to something that generates a Rat | ||
we've moved from the second to the first option during nom+bs transition | |||
and it was generally a good idea so far | 18:46 | ||
TimToady | $?CLASS('0.5') could conceivably learn how to convert at instantiation time | ||
moritz | except that in Rational, Rat isn't even declared yet | ||
TimToady | but it's knowing that 0.5 is supposed to do that which is the issue | ||
moritz | well, we could always do | ||
my class Rat { ... } | |||
TimToady | who said you need to know Rat? | ||
moritz | role Rational { # in here, use Rat.new(1, 2) } | ||
moritz | 18:47 | ||
TimToady | $?CLASS('0.5') doesn't commit | ||
moritz | self.new(1, 2) would also do | 18:48 | |
TimToady | $?CLASS is awfully clunky, and isn't quite a compiler constant | ||
moritz | isn't it ::?CLASS anyway? | ||
moritz always confuses those | |||
TimToady tends to think they both exist | 18:49 | ||
I worry that self.new is a bit too OOy for natives, but maybe not | 18:50 | ||
masak | $?LINE isn't quite a compiler constant either. | ||
18:51
ranguard joined
|
|||
TimToady | maybe it should be $=LINE | 18:51 | |
since it's file-based | |||
moritz | we should think of ?-twigil variables as "not assignable and provided by the compiler" | ||
but it's not doc-based | |||
TimToady | sure, it's just the line in the doc :) | ||
moritz | gnaa | 18:52 | |
TimToady | anyway, efficient native generics are challenging to use insofar as we're used to the object carrying the type rather than the object's container, and expressions like self.new also have to carry that type info out-of-band to the native value | 18:54 | |
more generally, all native expressions have to know their type statically | |||
moritz | TimToady: the fact that I understood that sentence scares me | ||
TimToady | well, it's partly that I was trying to write clearly for once... :) | 18:55 | |
not really succeeding, but at least trying... | |||
moritz | TimToady: is v1.0 ~~ v0.1+ True? | 18:58 | |
ie, does the '+' scope to the whole version literal, or just to the last chunk? | 18:59 | ||
I guess the whole thing | |||
19:01
ranguard left
19:02
ranguard joined
|
|||
masak | aye. | 19:03 | |
19:05
thou joined,
derrazo joined
|
|||
TimToady | the other thing is spelled ~~ v0.* | 19:05 | |
masak | r: my $a = v6; say $a | ||
p6eval | rakudo 6b8c36: OUTPUT«v6» | ||
masak | r: my $a = v6; say $a.^name | ||
p6eval | rakudo 6b8c36: OUTPUT«Version» | ||
19:06
derrazo_ joined
|
|||
masak | r: my $spinal-tap = v11; say "This one goes up to $spinal-tap!" | 19:06 | |
p6eval | rakudo 6b8c36: OUTPUT«This one goes up to v11!» | ||
masak | \o/ | ||
TimToady is beginning to think P6 should just reserve all the indentifiers that start with a letter. :) | 19:07 | ||
sorear | good * #perl6 | ||
19:08
shinobicl left
|
|||
TimToady | o/ | 19:08 | |
moritz | TimToady: which gist was the one containing your .base code? | ||
or r2s with base | |||
TimToady | r: gist.github.com/2648301 | 19:09 | |
p6eval | rakudo 6b8c36: OUTPUT«0.00000000DC0.000000LA-101010.111111111111111111111111111111111111111111111101ABIGRADIXEN.DSWITHZ» | ||
19:09
ranguard left
|
|||
moritz | TimToady: tusen takk | 19:09 | |
TimToady | colomon++ might or might not be working on that | ||
19:09
ranguard joined
19:10
derrazo left
|
|||
moritz | probably in n4a | 19:10 | |
r: say 255.base(16) | 19:11 | ||
p6eval | rakudo 6b8c36: OUTPUT«FF» | ||
19:15
ranguard left
|
|||
TimToady deduces that moritz's c or z key is broken | 19:17 | ||
moritz | or maybe the e key :-) | 19:18 | |
TimToady | no, he typed .base | ||
moritz | masak: is github.com/perl6/nqp/commit/5d24bc1d40 basically the backend stuff for quasi splicing? | 19:19 | |
19:25
spaceships left,
kaare_ left
19:29
sergot joined
|
|||
sergot | hi o/ | 19:29 | |
jnthn | o/ sergot | 19:31 | |
19:33
whiteknight joined
|
|||
moritz | r: say Whatever.new.perl | 19:33 | |
p6eval | rakudo 6b8c36: OUTPUT«*» | ||
19:33
whiteknight is now known as Guest17862
|
|||
moritz | ok, trick question | 19:35 | |
does v1.0 stringify to 'v1.0' or to 'v1'? | |||
and is v1.0 eqv v1 true? | |||
TimToady | I wouldn't think so | 19:37 | |
dalek | kudo/nom: f685cb6 | moritz++ | src/core/Rat.pm: Rat.base by TimToady++ |
||
moritz | ok, they just compare the same with ~~ and with cmp, right? | ||
TimToady | they're more like ranges; there can be inequalities involved | ||
v1.1 ~~ v1 for instance | 19:38 | ||
and v1.0beta comes before v1.0 comes before v1.0.1, but they're all v1 | 19:39 | ||
moritz | waitwaitwait | 19:40 | |
v1.0foo comes before v1.0 too? | 19:41 | ||
sorear | how do gamma and delta compare? | 19:42 | |
moritz | ASCIIbetical, I hope | 19:43 | |
what does v1.0 cmp v0.5+ return? | 19:49 | ||
any(Same, Decrease, Increase) ? | 19:50 | ||
:-) | |||
dalek | ast: 8cca77c | moritz++ | S02-literals/version.t: basic tests for version literals and Version objects |
19:51 | |
moritz | sanity checking of those would be very welcome | ||
19:51
sisar left
|
|||
masak haz a look | 19:52 | ||
moritz: I love the "(-)" convention. I might steal that for a TDD course or other. | 19:55 | ||
moritz | :-) | ||
masak | it's like "and then we test the opposite scenario (for some value of 'opposite')" | ||
19:56
ranguard joined
|
|||
moritz | well, I think of it specifically as testing for "negative" outcome, not "opposite" | 19:56 | |
ie "this match failed" | |||
masak | moritz: | 19:57 | |
ok v1.2 ~~ v1.3+, 'smart-matching and plus (-)'; | |||
this looks wrong. | |||
19:57
derrazo_ left
|
|||
moritz | right, that shoulbe nok | 19:57 | |
masak | right. | ||
also, you're not testing something like v5 ~~ v1.2+ | 19:58 | ||
'sides that, those tests look verra good. | |||
moritz: might also be interesting to do &infix:<cmp> on some * and + variants. | 19:59 | ||
dalek | ast: 8ee4713 | moritz++ | S02-literals/version.t: [version.t] fix a test, masak++ also add v5 ~~ v1.2+, masak++ here too |
||
masak | to the extent that makes sense... | ||
moritz | masak: except that I have no idea what they should return | ||
masak | :) | ||
enum Order ( Same => 0, Increase => -1, Decrease => 1, You'reInsane => 1i ); | 20:00 | ||
moritz | but I should add some ~~ tests with * | ||
dalek | ast: 29b5ad1 | moritz++ | S02-literals/version.t: [version.t] wildcards and smart-matching |
20:02 | |
masak | I think v5 cmp v1+ should give Same. | ||
hm, wait. :) | |||
no, I think we need to step back and define what we mean by such a comparison. | |||
moritz | think of cmp as the argument to List.sort | ||
masak | nodnod. | ||
I think maybe you shouldn't cmp things with wildcards in them. | 20:03 | ||
moritz | I'd ignore the final + while cmp'ing two Versions | ||
masak | they're like intervals, and intervals don't sort naturally. | ||
moritz | or maybe make one with a + an epsilon larger | ||
is that (v1, v5+, v5).sort gives you (v1, v5, v5+) | 20:04 | ||
20:04
ranguard left,
snearch left
|
|||
moritz | ETOOMUCHMAGIC | 20:04 | |
dalek | p/toqast: 47ee5af | jonathan++ | src/QAST/Operations.nqp: Compile method calls, including name indirection and pay attention to :returns for register return type (probably quite hard to take advantage of in Perl 6, mind). |
20:05 | |
p/toqast: 2a41c7d | jonathan++ | t/qast/qast.t: Tests for callmethod. |
|||
diakopter | I wish there was a way to control explicitly when a contextual "pops" (as opposed to always at the end of the routine it's declared in) | 20:06 | |
masak | diakopter: then maybe you should use an explicit array ;) | ||
moritz | diakopter: use case? | ||
TimToady | comparing versions is like trying to compare regexes | ||
diakopter | masak: yeah | 20:07 | |
masak | diakopter: jnthn is sitting oppose | ||
opposite me. | |||
he says "we're doing this in a few places in Rakudo" | |||
keeping an explicit array, that is. | |||
jnthn | @*BLOCK | ||
er, wait, we killed that :) | 20:08 | ||
20:08
tadzik is now known as StuntmanMike
|
|||
jnthn | It's a normal array though, just $*W has methods that hide it away :) | 20:08 | |
masak | TimToady: comparing regexes feels like it might be booby-trapped with Entscheidungsproblem *somewhere*. even before you add in actual closures. | ||
StuntmanMike: JUMP! | 20:09 | ||
moritz | well, we do have @*PACKAGES | 20:11 | |
which the exporter uses | |||
StuntmanMike | masak: I think I fail to make a connection :) | 20:12 | |
masak | that sounds like a good example. | ||
StuntmanMike: between stuntmen and jumping? | |||
StuntmanMike: dude, if you don't make the connection, you probably need to look for a different job, and quickly! | |||
moritz | :-) | ||
StuntmanMike | oh :) It's kind of more remote reference | ||
masak .oO( he's more of a remote stuntman ) | 20:13 | ||
20:14
ranguard joined
|
|||
colomon | TimToady: working in spirit, driving back home in practice (and playing a dance when I get there) | 20:15 | |
20:15
colomon left
|
|||
TimToady | .oO("What!?! You hired me to jump *off* of this building?!?") |
20:15 | |
20:22
thou left
20:24
ranguard left
|
|||
dalek | p/toqast: efa345e | jonathan++ | src/QAST/ (2 files): Make BVal consistent with the various other Val nodes. Also fix compilation of it. |
20:24 | |
p/toqast: 0147855 | jonathan++ | t/qast/qast.t: Test QAST::BVal node. |
|||
20:27
to1776 joined
|
|||
sorear | masak: Comparing regexes without closures is decidable. | 20:29 | |
masak: In fact, it's PSPACE-complete. | |||
20:30
spaceships joined
|
|||
masak | sorear: oh, ok. | 20:30 | |
then my intuition was too pessimistic ;) | 20:32 | ||
is graph isomorphism PSPACE-complete? | 20:33 | ||
20:33
spaceships left,
spaceships joined
|
|||
sorear | masak: Graph isomorphism is suspected to be easy (in P) | 20:34 | |
it's probably not even NP-complete | |||
flussence has an itch to go write a module to Do Stuff With various v-string formats... | 20:35 | ||
masak | sorear: how far down in the Chomsky hierarchy do you have to go before comparing two expressions becomes undecidable? | ||
sorear | it may be intermediate (in NP, but neither NP-complete or P; such problems must exist if P != NP, another current candidate is factoring) | ||
masak: comparing context-free languages is undecidable, iirc | |||
masak | oh, ok. | ||
so one step is enough. | |||
jnthn | I'm guessing the decidability is tied to the restrictions of regular language | 20:36 | |
masak | aye. | ||
and that's part of why regular languages are desirable, I guess. | |||
sorear | there is a rather obvious (but exponential-time) algorithm for comparing regexes | ||
masak | they're "small enough". | ||
sorear | convert both to DFAs, compute the tensor project, and then check if any node with differing acceptance is reachable using DFS | ||
masak | s/project/product/ ? | 20:37 | |
sorear | yes | ||
masak | inneresting. | ||
sorear | personally, I find the existance of natural PSPACE-complete problems to be much more suprising than the existance of natural NP-complete problems | 20:38 | |
20:39
ranguard joined
|
|||
masak | why? | 20:39 | |
TimToady | QM is optmized for harder problems :) | 20:40 | |
sorear | masak: PSPACE seems like it has less useful structure | 20:41 | |
masak | the things I've learned about QM, even it is not a silver bullet. | ||
we'll probably end up with GPUs in our computers, and that'll be it. | |||
er, QPUs. | |||
sorear | QM gives you factoring and better physics simulators, and that seems to be about it | ||
masak | yeah. | 20:42 | |
will probably be a hit in gaming :P | |||
sorear | the lattice QCD people will *love* scalable quantum computing | ||
masak | :D | 20:43 | |
seems a good fit, yes. | |||
masak .oO( Finally! With Quantum Computing, we can at last do sensible Quantum Mechanics simulations! ) | 20:44 | ||
sorear | model checking, etc | ||
QCD gives the right cross sections for collisions in the LHC but nobody knows if it gives the right ground state energy for the proton | 20:45 | ||
which is a kind of embarrassing state of affairs | |||
masak | sorear: have you seen www.scottaaronson.com/democritus/ ? | ||
heady stuff. | |||
sorear | yes | ||
masak suspected that | |||
sorear | I have read basically everything under that domain | 20:46 | |
including the ~entire blog archive | |||
masak | yeah. me too. | ||
I never quite got through that course, but I intend to at some point. it's good. | |||
sorear | ok, so I don't need to worry about whether you have a firm grasp on PSPACE :) | ||
masak | I need the occasional reminder. these terms still don't come easy to me. | 20:47 | |
but yeah. I'm aiming for a firm grip on complexity theory. it seems important. | |||
sorear | PSPACE = functions which can be computed in polynomial space, possibly exponential time | 20:48 | |
the most important fact about PSPACE is Savitch's theorem | |||
masak looks that up | 20:49 | ||
20:49
eternaleye joined
|
|||
masak | ah. | 20:49 | |
I love how ddg+Wikipedia brings going from ignorance about something to knowing it to about 10 seconds ;) | |||
or O(typing speed * term length + reading speed * introduction length) | 20:50 | ||
sorear: Savitch's theorem reminds me of some "quadratic speedup" results I hear about sometimes in QC. | 20:51 | ||
sorear | quadraticness is not, IMO, the most salient feature there. | ||
if you have a turing-like machine with 'there exists' quantifiers, you get NP in polynomially many steps | 20:52 | ||
what Savitch's theorem tells us is that if you are allowed to alternate 'there exists' and 'for all', you get (N)PSPACE | |||
masak | ok. | 20:53 | |
sorear | this is where the entire theory of PSPACE competeness comes from | ||
masak | "Although it seems that nondeterminism may produce exponential gains in time, this theorem shows that it has a markedly more limited effect on space requirements." -- this seems to summarize it well. | ||
20:54
to1776 left
|
|||
sorear | this is why many games are PSPACE-complete to play optimally - you are solving problems of the form 'do I have a move such that for all opposing moves I have a move such that ...' | 20:54 | |
while 1-player games are usually at most NP-complete | |||
masak | hm, yes. | 20:56 | |
2-player games seems to naturally result in an EAEAEAEAEA... quantifier structure. | 20:57 | ||
that's the same as saying we're trying to find the optimal move in a game tree. | |||
TimToady | .oO(speccer vs implementor) |
20:58 | |
sorear | (oh, and the other reason nobody uses context-sensitive grammars: the 'does string X match grammar G' problem is in P for CFGs but PSPACE-complete for CSGs) | 20:59 | |
masak | TimToady: that sounds like a game I'd like to try! oh wait. | 21:00 | |
sorear: yeah, that sounds... bad. | |||
OTOH, Perl regexes aren't regular any more, so we're outside of P anyways. | 21:01 | ||
TimToady | that probably explains why Perl 5 was such a failure :) | 21:02 | |
masak | :P | ||
21:02
ranguard left
|
|||
sorear | Perl regexes cheat by having operational semantics. | 21:02 | |
They aren't so much grammars as a DSL for writing parsers. | |||
masak looks forward to the day when we have optimized the heck out of Perl 6 grammars | |||
sorear | Now, I have an $obligation to attend to, be back in a few hours | ||
masak | o/ | 21:03 | |
jnthn | o/ | ||
21:03
ranguard joined
21:12
birdwindupbird left
|
|||
dalek | p/add-goto: bda247f | diakopter++ | src/NQP/ (2 files): enable forward gotos. can't have unused labels. can't jump into blocks, and can't jump out of blocks that declare their own lexicals. |
21:13 | |
21:15
ponbiki joined,
ranguard left
|
|||
masak | diakopter++ | 21:16 | |
diakopter | thanks. it took only 46 questions to jnthn++ to accomplish.... | 21:20 | |
dalek | p/toqast: 68f99e6 | jonathan++ | src/QAST/Compiler.nqp: First crack at lexical lookup; needs a little more work on native handling, but hard to test until NQP's LexPad is updated to handle those. |
||
p/toqast: b505a99 | jonathan++ | t/qast/qast.t: A couple of tests for lexical lookup/binding in an inner block. |
|||
jnthn | You counted them?! | ||
diakopter | well, no | 21:21 | |
TimToady | another 4600 and nqp will turn in to Perl 6, completing the bootstrap | ||
diakopter | just a guess | ||
TimToady | *into | ||
jnthn | TimToady: Uh. :) | ||
TimToady: We have divergent expectations on NQP ;) | |||
It is, however, getting native types soon :) | |||
Well | |||
I hope QAST lands soon :) | |||
masak | r: v6 | 21:22 | |
p6eval | rakudo f685cb: ( no output ) | ||
masak | r: v6; say "alive" | ||
p6eval | rakudo f685cb: OUTPUT«alive» | ||
masak | clearly, NQP is approaching Perl 6 asymptotically... | 21:30 | |
21:30
ponbiki left
21:33
thou joined
21:42
silug joined
21:48
ranguard joined
|
|||
dalek | p/toqast: 8fc6415 | masak++ | t/qast/qast.t: added more tests for keyed operations |
21:55 | |
diakopter | jnthn: will qast use POST? | 21:56 | |
or anyone | |||
masak | think so. | ||
jnthn | yeah | ||
masak | well, it already does in the toqast branch, if I'm reading things correctly. | 21:57 | |
jnthn | Pm noted that POST is easy to re-write into NQP since it's tiny. | ||
But it's also Parrot specific, so there's not so much incentive to port it from PIR. | 21:58 | ||
21:58
mikemol joined
22:02
ponbiki joined
|
|||
dalek | p/toqast: b0705d6 | masak++ | t/qast/qast.t: added tests for pos operations |
22:06 | |
22:09
ranguard left
22:17
ranguard joined
|
|||
masak | I think I'm getting the hang of this QAST thing. | 22:26 | |
22:28
smf joined
|
|||
smf | when is perl 6 stable coming? | 22:28 | |
masak | smf: when people say "perl 6 stable" they mean different things. what do you mean when you say that? | 22:29 | |
smf | when perl 6 has its 1.0 release, its gold release, its final release, its official release, not its perl 6 v0.99 release., but v1.0, like not 5.9.9 but 6.0.0 | 22:30 | |
dalek | p/toqast: 4924891 | jonathan++ | src/QAST/Compiler.nqp: Basic implementation of attribute lookup; doesn't use the indexed lookup hints yet. |
||
p/toqast: ef0edcb | jonathan++ | t/qast/qast.t: Test attribute binding. |
|||
smf | when perl 6 isnt 6-dev anymore | ||
when perl 6 is official, and 5 is considered -legacy | 22:31 | ||
masak | smf: Perl 6.0.0 will be a release of the Perl 6 specification, not of any particular implementation. it will not make Perl 5 legacy :) | ||
smf | oh | ||
but wont there be any official implementation? | |||
masak | smf: whether Perl 6 is dev or production still depends on who you are and what requirements you have. | ||
there will be several official implementations. | |||
hopefully. | 22:32 | ||
smf | why several? perl5 just had one, and that was enough | ||
masak | yeah, but Perl 5 didn't have a spec. | ||
smf | ein volk, ein reich, ein implementation! | ||
oh | |||
masak | as soon as you have a spec, anything which fulfills the spec is an official implementation. | ||
jnthn | git st | ||
smf | okie | ||
masak | so it's sort of an open world. | ||
jnthn | oops | ||
masak | like interfaces and classes :) | ||
smf | will anyone want to use perl 6, now that there is Python and Ruby? | ||
masak | yes. | ||
know why? | 22:33 | ||
smf | yes | ||
why? | |||
masak | because Perl 6 is really, really, nice. | ||
smf | oh | ||
masak | it's a good language. | ||
you should try it. | |||
smf | how come you say Perl 6 is so nice, when everybody says Perl 5 is so ugly | ||
masak | there have been some changes. | ||
improvements. | |||
smf | do you think Perl 5 is ugly? | ||
masak | not really, | ||
more like it contains ugly legacy things. | |||
which you can choose to use or not use. | 22:34 | ||
smf | people say Perl is a read-only language, you can write code but not read | ||
22:34
crab2313 joined
|
|||
masak | people who don't really understand the freedom of choice will always claim that Perl is ugly. | 22:34 | |
smf | i mean a write-only | ||
masak | because they see all the bad things that you *can* do, given the choice. | ||
but that's kinda the point. | |||
smf | huh? | ||
masak | Perl gives you enough rope to shoot yourself in the foot. | ||
but don't do that. do something awesome instead ;) | |||
the theory being that if you don't have enough rope, you can't really do the awesome things either. | 22:35 | ||
jnthn afk for a bit | |||
masak | c.f. various bondage-and-discipline languages out there. | ||
smf | oh | ||
geekosaur | perl5 does have a lot of odd syntax in it, though; perl6 is more rational. where perl5 has idiosyncratic syntax, perl6 found a more general, cleaner way to do the same thing. | 22:36 | |
22:36
NamelessTee left
|
|||
smf | will Perl 6 run on JVM and CIL/.NET ? | 22:36 | |
masak | smf: most likely. | ||
smf | cool | ||
masak | smf: it already runs on .NET | ||
geekosaur | niecza already runs on CIL | ||
smf | oh sweet | ||
geekosaur | / NET | ||
masak | n: say "hello from .NET!" | ||
p6eval | niecza v17-4-ge5b869e: OUTPUT«hello from .NET!» | ||
smf | and Python, Ruby , etc can run on Parrot? | ||
masak | ideally. | 22:37 | |
there's already Python and Ruby implementations on there. | |||
diakopter | sort of. | ||
masak | I can't speak to their completeness. | ||
or bit-rottedness. | |||
and there doesn't seem to be a big community around them. | |||
but they exist. | |||
22:38
thou left
|
|||
masak | the language interop dream in Parrot seems... oddly absent. I'd like to hear more from Parrot people about that. | 22:38 | |
smf | why did Parrot was written, when there is already JVM and CIL ? | ||
masak | hubris :) | ||
and the opinion that there was still a niche to fill. | |||
smf | oh | ||
diakopter | some didn't like the source code license of mono and .NET and the JVMs | ||
masak | given the goals of Parrot, I would say there is still a niche to fill. but JVM and CLR keep nibbling on that niche, I guess. | 22:39 | |
as long as Parrot doesn't bloom out and claim it. | |||
smf | whats so good about Parrot? | 22:40 | |
diakopter | it's debatable | ||
geekosaur | Parrot predates the CLR, doesn't it? | 22:41 | |
diakopter | no | ||
masak | 'night, #perl6 | 22:42 | |
Tene | Parrot predates an open-source CLR with any kind of support for dynamic languages. | ||
I believe. | 22:43 | ||
masak: I believe you're familiar with my experiences with PArrot language interop? | |||
diakopter | imho, parrot's big failings are its lack of a JIT and lack of threads. last I heard. | ||
spider-mario | parrot had a JIT compiler once | 22:45 | |
if I understand correctly, it was of so low quality that it was dropped | |||
diakopter | that's my understanding too. | 22:46 | |
Tene | The primary issue with the jit compiler was that it could only work on very small pieces at a time, due to frequent calls to/from C | ||
as I understand it. | |||
spider-mario | I believe it was x86-only, too | 22:47 | |
diakopter | when I ran some of the benchmarks included with parrot against other VMs, parrot was tens to hundreds of times slower. I don't think it's improved much since then. | 22:50 | |
I was surprised the examples were distributed with parrot as examples of speed | |||
sergot | 'night o/ | 22:53 | |
22:53
sergot left
|
|||
diakopter | Tene: the fact parrot "predated" mono's support for dynamic languages doesn't make parrot good now. | 22:55 | |
Tene | diakopter: I was responding to "< smf> why did Parrot was written, when there is already JVM and CIL ?" | ||
diakopter | it might have made parrot better at the time for those sharing parrot's dream/goals. | ||
oh | |||
sry | |||
Tene | np | 22:56 | |
diakopter | In that case, I guess no one answered "what's so good about parrot" | ||
smf: I'm curious to know the answer to that question too. If you find someone who would like to make arguments for parrot, I'm interested to hear them. | 22:57 | ||
smf | :) | ||
diakopter | other than "not not invented here" | 22:58 | |
geekosaur | I am under the impression that, at the time, Parrot promised something that neither the JVM nor the CLR delivered; and while it isn't necessarily doing any better than either of them now, at this point it would be difficult to retarget Rakudo to something else. | 22:59 | |
diakopter | efforts to make rakudo/nqp more platform-independent have been proceeding for a long time now, it's difficult work, sure, but people are doing it. | 23:00 | |
geekosaur | I don't know if the JVM is a suitable target now any more than it was back then, though; it seems to me like it has a strong bias toward the way Sun^WOracle Java works, whereas the CLR is a bit more general | 23:01 | |
diakopter | notably, the toqast branch of nqp | ||
(re: retargetting rakudo) | 23:02 | ||
23:06
ponbiki left
|
|||
diakopter | hmm, maybe I'm wrong on toqast being that... | 23:16 | |
sorear | good * #eprl6 | 23:19 | |
masak: still here? | |||
23:20
thou joined
|
|||
TimToady | haven't seen a signoff | 23:22 | |
oh wait | |||
yes we did | 23:23 | ||
sorear | ah | 23:39 | |
23:49
spider-mario left
23:51
lestrrat left,
cogno joined
|
|||
dalek | p/toqast: 2d2de4e | jnthn++ | t/qast/qast.t: Test compilation of attribute lookup also. |
23:52 | |
23:53
lestrrat joined,
drschumtzenberg left
|
|||
jnthn | OK, sleep time o/ | 23:56 | |
23:58
mucker left,
mdupont joined
|