»ö« 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. |
|||
[Coke] | phenny: tell jnthn to check the pull requests for nqp-prep. Also, how to hit gcd in existing nqp-on-parrot? | 00:01 | |
phenny | [Coke]: I'll pass that on when jnthn is around. | ||
[Coke] | r: say "ü" ~~ /:ignoremark 'u'/ | 00:04 | |
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Unrecognized regex modifier :ignoremarkat /tmp/93aS3IV3lu:1------> say "ü" ~~ /:ignoremark⏏ 'u'/» | ||
[Coke] opens a ticket for ignoremark | 00:05 | ||
r: say "ü" ~~ /:m 'u'/ | 00:06 | ||
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Unrecognized regex modifier :mat /tmp/2KXVJEYYKz:1------> say "ü" ~~ /:m⏏ 'u'/» | ||
00:17
tcpr1347 joined
00:20
whiteknight joined,
REPLeffect joined
00:44
xenoterracide joined
|
|||
JJ_Brain | Hi. Possible P=NP solution mathbin.net/133965 | 00:46 | |
Thank you | 00:47 | ||
grondilu | JJ_Brain: why do u post this here? | 00:57 | |
JJ_Brain | arXiv did not accept it. I think it is right. I don't know what is wrong | 00:58 | |
thanks | |||
grondilu | you're on #perl6 here. There are some people who know a bit of maths, but the N=NP problem is probably way above their competence. Try #maths | 01:01 | |
JJ_Brain | ok. thanks | ||
grondilu | correction: #math, not #maths | 01:02 | |
Or if you think u found the solution, just post it directly to the Clay institute. And get you million dollar price. | 01:05 | ||
JJ_Brain | they say it has to be in a journal | ||
or not to them directly. Not sure if it has to be in a journal | 01:06 | ||
sorear | JJ_Brain: show it to people who are actually competent, expect it to get shot down | 01:07 | |
JJ_Brain | they are busy. I am trying to reach them | ||
sorear | JJ_Brain: there have been literally hundreds of wrong P v NP proofs published. the only people who care to read more are the people who can do it fastest | 01:08 | |
JJ_Brain | i have emailed a few | ||
they have not replied yet | 01:09 | ||
I have checked blogs too | |||
grondilu | Couldn't there be a way of testing this thing with a computer? I mean, like an one million dollar Euler problem. | ||
sorear | grondilu: computer-checkable proofs need to be written to two orders of magnitude higher detail than human-targetted proofs | 01:10 | |
if JJ_Brain is willing to put in the time to make a machine-checkable version of eir proof, I bet a lot more people will give em the time of day | |||
grondilu | ok. too bad. That would be so cool if a millenium problem could be as easy to check as on the project euler. | ||
sorear: the solution could be expected to be so large that brute force would be pointless | 01:11 | ||
JJ_Brain | yes. I tried to use a code from CPAN in Perl5 | ||
thanks grondilu for project Euler | 01:12 | ||
grondilu | lol, u didn't know about it? | ||
JJ_Brain | 1st time | 01:13 | |
grondilu | I suggest you try it before you try solving a Clay millenium problem :) | 01:14 | |
sorear | JJ_Brain: another good way to make people pay attention would be to present a string which MD5's to the first 128 fractional binary digits of pi | ||
grondilu | lol | 01:15 | |
flussence | .oO( or signing the text with their own private gpg key... ) |
||
grondilu | would solving N=NP allow for such powerful stuff?? | 01:16 | |
JJ_Brain | thanks. I'll remember you grondilu and sorear | ||
sorear | grondilu: first, it's P=NP | 01:17 | |
flussence | it's commonly believed that SSL would fall apart if there was an O(n) way to factorise huge numbers | ||
sorear | grondilu: second, there are two ways to solve this. P=NP or P!=NP | ||
99.99% of the academic community beleives P != NP | |||
a proof of P = NP would be extremely suprising | |||
grondilu | ok | ||
sorear | if JJ_Brain's ideas pan out, he's $6M richer, because a P=NP proof can be used to quickly solve any math problem, including the other five millenium problems | 01:18 | |
grondilu | I'm skeptical. | 01:19 | |
sorear | I'm skeptical too. | ||
JJ_Brain | it's ok. thanks. | 01:20 | |
01:20
JJ_Brain left
|
|||
grondilu | P=NP means that there is a quick way to solve a NP problem, but it doesn't mean it's easy to find. | 01:20 | |
sorear | grondilu: I'm a constructivist. | ||
flussence | .oO( I get the impression from that pastebin that the writer thought it meant converting a polynomial equation to a non-polynomial... ) |
01:21 | |
grondilu | sorear: some demonstration are very short, but also freakingly smart. I don't see why it could not be possible to prove that a short demonstration exists, and yet being totally unable to tell what it is. | 01:24 | |
01:28
JJ_Brain joined
|
|||
grondilu | for instance by Reductio ad absurdum. You first assume that all solutions are very difficult. You somehow conclude to something false. So you have your proof that there must be at least one simple solution. And yet you have no idea about it. | 01:28 | |
sorear | grondilu: I said I'm a constructivist. | 01:30 | |
P = NP will not really be proved until there is a concrete algorithm. | 01:31 | ||
grondilu | I'm not sure I follow you. What do you expect such an algorithm to do exactly? Doesn't P=NP mean all easy-to-check problem are also easy to solve. So there can not be a single algorithm that proves them all, can it? | 01:38 | |
sorear | grondilu: there absolutely can be a single algorithm that proves them all | 01:42 | |
actually that's necessary from the definition of P | 01:43 | ||
if P=NP, then 3SAT is in P | |||
which means that there is an algorithm which solves 3SAT in polynomial time | |||
grondilu | nevermind. I obviously do not understand well this problem. I'll read more about it one of these day. | ||
01:46
MikeFair_ joined
01:48
tcpr1347 left
01:50
JJ_Brain left
|
|||
grondilu | anybody working on Buf.pm currently? | 01:56 | |
grondilu is looking forward a full implementation of pack/unpack for some reason. | 01:57 | ||
sorear | r: m/:m/ | 02:06 | |
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Unrecognized regex modifier :mat /tmp/lPbh_qZKTF:1------> m/:m⏏/» | ||
sorear | r: m/:a/ | ||
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Unrecognized regex modifier :aat /tmp/G2xm9pworV:1------> m/:a⏏/» | ||
Ayiko | happy 2013 for all! | 02:30 | |
and [Coke]: > say(pir::interpinfo__Si(30)); # gives MSWin32 on Win7 (64bit) | 02:31 | ||
sorear | hi Ayiko | 02:32 | |
Ayiko | hey :) | 02:33 | |
02:36
FROGGS_ joined
02:37
fgomez joined
02:45
JJ_Brain joined
02:47
bluescreen10 joined
02:52
JJ_Brain left
02:59
tcpr1347 joined
03:01
orafu joined
|
|||
grondilu | rn: say "happy {[*] <3 11 61>} everyone :) !" | 03:14 | |
p6eval | rakudo 13e805, niecza v24-12-g8e50362: OUTPUT«happy 2013 everyone :) !» | ||
03:28
sftp joined
03:44
whiteknight left
03:45
Targen joined
04:01
orafu left
04:04
orafu joined
05:50
JJ_Brain joined
05:52
JJ_Brain left
05:58
Targen left
06:03
Targen joined
06:07
xenoterracide left
06:13
xenoterracide joined
06:23
a_b joined
|
|||
a_b | any1 know any unix irc chats? | 06:23 | |
06:27
a_b left
06:34
rindolf joined
07:49
JJ_Brain joined
07:50
JJ_Brain left
07:53
rindolf left
07:54
rindolf joined
08:33
kaare_ joined
08:42
GlitchMr joined
08:52
quester joined
08:53
SamuraiJack joined
09:07
JJ_Brain joined
|
|||
JJ_Brain | sorear I acknowledged you in a new paper. You reminded me to put data | 09:08 | |
thanks | |||
09:14
JJ_Brain left
09:21
denisboyun joined
|
|||
moritz | \o | 09:32 | |
sorear | I'm actually kind of scared by the thought that my name will be attached to a PvNP paper | 09:33 | |
at least I still have neil mitchell's work when people look for academoidal references to stefan o'rear | |||
sjn | o/ | 09:36 | |
happy new year, #perl6 :) | |||
09:36
denisboyun left
|
|||
moritz echoes that wish | 09:36 | ||
sorear | y tu, sjn | ||
sjn | strange how some arbitrary position in the orbit around the sun can create a sense of new beginnings :) | 09:37 | |
sorear | never mind that there are about five different ways to define the *length* of our orbit | 09:39 | |
sjn | hehe | ||
sorear | but we just got done filling the 2012 bucket with awesome things, and I am *so excited* to see the next time bucket | ||
09:39
JJ_Brain joined
|
|||
sjn concurs | 09:39 | ||
rindolf | sjn: happy new year. | 09:41 | |
09:42
Psyche^ joined
09:45
Psyche^ is now known as Patterner
09:46
denisboyun_ joined
09:51
SamuraiJack left
09:53
SamuraiJack joined
09:56
bluescreen10 left,
FROGGS_ is now known as FROGGS
|
|||
FROGGS | morning | 09:57 | |
09:57
JJ_Brain left,
SamuraiJack left
10:00
SamuraiJack joined
10:03
quester left
10:05
JJ_Brain joined
10:06
Kharec joined
10:11
JJ_Brain left
10:17
bowtie joined
10:39
PacoAir joined
11:12
JJ_Brain joined,
JJ_Brain left
11:19
tcpr1347 left
11:24
JJ_Brain joined
|
|||
moritz | r: sub f() { fail 'foo' }; f; 1 | 11:24 | |
p6eval | rakudo 13e805: ( no output ) | ||
moritz | huh | ||
that should explode. | |||
FROGGS | r: fail 'foo'; 1 | 11:25 | |
p6eval | rakudo 13e805: OUTPUT«foocurrent instr.: 'throw' pc 329717 (src/gen/CORE.setting.pir:147558) (src/gen/CORE.setting:9197)called from Sub 'sink' pc 359116 (src/gen/CORE.setting.pir:159445) (src/gen/CORE.setting:10354)called from Sub 'MAIN' pc 464 (src/gen/perl6.pir:170) (src/main.nqp s… | ||
FROGGS | weird | ||
moritz | r: sub f() { fail 'foo' }; my $x := f; $x.sink; | 11:27 | |
p6eval | rakudo 13e805: OUTPUT«foo in method sink at src/gen/CORE.setting:10354 in block at /tmp/fzQIeEhBNN:1» | ||
moritz | r: sub f() { .say for 1 }; f; 0 | ||
p6eval | rakudo 13e805: OUTPUT«1» | 11:28 | |
moritz | so it's sunk | ||
r: sub f() { fail 'foo' }; my $x := f; say $x.DEFINITE | |||
p6eval | rakudo 13e805: OUTPUT«True» | ||
moritz | r: sub f() { fail 'foo' }; my $x := f; say $x.defined | ||
p6eval | rakudo 13e805: OUTPUT«False» | ||
moritz | rakudo: say "abcd".index("xyz") == 0 | 11:33 | |
p6eval | rakudo 13e805: OUTPUT«Parameter '' requires an instance, but a type object was passed in method Bridge at src/gen/CORE.setting:3053 in sub infix:<==> at src/gen/CORE.setting:2976 in block at /tmp/kMjXN8mBY6:1» | ||
moritz | r: sub f() { fail 'foo' }; my $x := f; nqp::say nqp::can($x, 'f') | 11:45 | |
p6eval | rakudo 13e805: OUTPUT«foo in method <anon> at src/gen/CORE.setting:10351 in at src/gen/Metamodel.pm:2404 in any find_method_fallback at src/gen/Metamodel.pm:2392 in any find_method at src/gen/Metamodel.pm:925 in block at /tmp/LnX0Ta5LP7:1» | ||
moritz | r: sub f() { fail 'foo' }; my $x := f; | 11:46 | |
p6eval | rakudo 13e805: OUTPUT«foocurrent instr.: 'throw' pc 329717 (src/gen/CORE.setting.pir:147558) (src/gen/CORE.setting:9197)called from Sub 'sink' pc 359116 (src/gen/CORE.setting.pir:159445) (src/gen/CORE.setting:10354)called from Sub 'MAIN' pc 464 (src/gen/perl6.pir:170) (src/main.nqp s… | ||
moritz | r: sub f() { fail 'foo' }; my $x := f; 0 | ||
p6eval | rakudo 13e805: ( no output ) | ||
11:46
JJ_Brain left
|
|||
moritz | r: sub f() { fail 'foo' }; my $x := f; nqp::say nqp::can($x, 'f'); 1 | 11:46 | |
p6eval | rakudo 13e805: OUTPUT«foo in method <anon> at src/gen/CORE.setting:10351 in at src/gen/Metamodel.pm:2404 in any find_method_fallback at src/gen/Metamodel.pm:2392 in any find_method at src/gen/Metamodel.pm:925 in block at /tmp/35FVI0ib4X:1» | ||
moritz doesn't understand this at all | |||
11:50
JJ_Brain joined,
JJ_Brain left,
JJ_Brain joined
11:53
JJ_Brain left
12:17
MayDaniel joined
12:25
JJ_Brain joined
12:35
JJ_Brain left
12:45
JJ_Brain joined
12:51
JJ_Brain left
13:13
werwerwer joined
14:00
JJ_Brain joined
14:07
JJ_Brain left
14:08
JJ_Brain joined
14:14
JJ_Brain left
14:30
att__ joined
15:04
hbg joined
15:26
birdwindupbird joined
15:27
fgomez left
15:33
hbg left
15:43
JJ_Brain joined
15:51
orafu left
15:52
orafu joined
15:53
xinming joined
15:54
JJ_Brain left
16:11
JJ_Brain joined
16:14
JJ_Brain left
|
|||
jnthn | Happy new year, #perl6 :) | 16:20 | |
phenny | jnthn: 00:01Z <[Coke]> tell jnthn to check the pull requests for nqp-prep. Also, how to hit gcd in existing nqp-on-parrot? | ||
dalek | p-jvm-prep: 921bdb8 | coke++ | t/ (2 files): Let "make test" work on non-windows |
16:23 | |
p-jvm-prep: ec0108c | jonathan++ | t/ (2 files): Merge pull request #1 from coke/921bdb85f3227e385d0c6b1f26388e0afa52fee8 Let "make test" run on non-windows |
|||
16:24
rindolf left
16:26
rindolf joined
|
|||
dalek | p-jvm-prep: 88de844 | jonathan++ | t/ (2 files): A couple of fixes to Windows detection. |
16:28 | |
p-jvm-prep: af474ba | coke++ | / (3 files): Add missing trig ops (via Math & Ops) |
16:31 | ||
p-jvm-prep: 0ec328a | coke++ | t/qast.t: Add tests for trig ops. |
|||
p-jvm-prep: 5ef650f | coke++ | lib/QAST/JASTCompiler.nqp: Fix atan2 opcode (mapped to wrong function) |
|||
p-jvm-prep: be71db6 | coke++ | docs/LHF.md: fixup LHF docs |
|||
p-jvm-prep: 5dab39e | jonathan++ | / (4 files): Merge pull request #2 from coke/master update trig function support. |
|||
jnthn | phenny: tell [Coke] Thanks - merged those and tweaked the Windows detection. All new tests pass here. Also, you now have a commit bit to the repo proper. | 16:35 | |
phenny | jnthn: I'll pass that on when [Coke] is around. | ||
jnthn | r: say nqp::p6box_i(nqp::gcd_i(42, 30)) | 16:36 | |
p6eval | rakudo 13e805: OUTPUT«6» | ||
jnthn | phenny: tell [Coke] It needs a pir::loadlib__vs('math_ops') or so in NQP, or just do it in Rakudo as nqp::p6box_i(nqp::gcd_i(42, 30)) if you just wanna see the output | 16:37 | |
phenny | jnthn: I'll pass that on when [Coke] is around. | ||
16:37
JJ_Brain joined
16:39
JJ_Brain left
|
|||
dalek | p-jvm-prep: 7d5255f | jonathan++ | / (2 files): Implement existskey and deletekey. |
16:47 | |
p-jvm-prep: de534b6 | jonathan++ | t/qast.t: Tests for existskey and deletekey. |
|||
p-jvm-prep: 163bf57 | jonathan++ | docs/ROADMAP: ROADMAP update. |
|||
[Coke] | r: nqp::p6box_i(nqp::gcd_i(42, 30)).say; | 16:50 | |
phenny | [Coke]: 16:35Z <jnthn> tell [Coke] Thanks - merged those and tweaked the Windows detection. All new tests pass here. Also, you now have a commit bit to the repo proper. | ||
p6eval | rakudo 13e805: OUTPUT«6» | ||
phenny | [Coke]: 16:37Z <jnthn> tell [Coke] It needs a pir::loadlib__vs('math_ops') or so in NQP, or just do it in Rakudo as nqp::p6box_i(nqp::gcd_i(42, 30)) if you just wanna see the output | ||
[Coke] | jnthn+= | ||
jnthn++ #even. | 16:51 | ||
jnthn | [Coke]++ # contributing to the Rakudo on JVM effort | ||
[Coke] | jnthn: looks like you have an extra "W" in there. | 16:53 | |
$c.add_method($m);W ? | |||
jnthn | [Coke]: ooh, where? | 16:54 | |
[Coke] | t/jast.t, near the top. | ||
jnthn | heh, and it doesn't even break it :) | ||
Thanks | |||
dalek | p-jvm-prep: 55797ef | jonathan++ | t/jast.t: Fix typo; [Coke]++. |
16:56 | |
17:05
ismail joined
17:06
spider-mario joined
17:08
birdwindupbird left
|
|||
dalek | p-jvm-prep: c660986 | coke++ | / (4 files): Add gcd_i |
17:20 | |
[Coke] | r: nqp::p6box_i(nqp::lcm_i(42, 30)).say; | ||
p6eval | rakudo 13e805: OUTPUT«210» | ||
[Coke] | r: say 42*30/6 | 17:21 | |
p6eval | rakudo 13e805: OUTPUT«210» | ||
17:25
sftp left
17:28
GlitchMr left,
GlitchMr joined
|
|||
dalek | p-jvm-prep: 7f36090 | coke++ | / (4 files): Add lcm_i |
17:28 | |
[Coke] | karma coke | 17:29 | |
aloha | coke has karma of 597. | ||
[Coke] | karma [coke] | ||
aloha | [coke] has karma of 0. | ||
[Coke] | karma [Coke] | ||
aloha | [Coke] has karma of 0. | ||
flussence | karma broke? | 17:30 | |
aloha | broke has karma of 0. | ||
[Coke] | I don't think [Coke]++ does what we thought it did. | ||
17:31
Kharec left
17:58
telex joined
|
|||
jnthn | coke++ :) | 18:03 | |
OK, gotta go... | 18:04 | ||
back tomorrow & | |||
alec | karma FROGGS | 18:05 | |
phenny | alec: 30 Dec 10:11Z <Ayiko> tell alec I edited my solution there, thanks for reporting it. Removed [ ]* and also changed literal fail to <!> even though f never appears in DNA string | ||
aloha | FROGGS has karma of 23. | ||
alec | karma Ayiko | 18:06 | |
aloha | Ayiko has karma of 1. | ||
FROGGS | ;o) | ||
alec | if i want to increase Ayiko's karma, i just write his name ++ right? | ||
FROGGS++ | |||
FROGGS | without the space, but yes | ||
tight | |||
alec | karma FROGGS | ||
FROGGS | right | ||
aloha | FROGGS has karma of 24. | ||
alec | Ayiko++ | ||
excellent system | |||
FROGGS | it is | ||
alec | i wish i'd known about it when i first started using this chat | 18:07 | |
i guess i can go back through my logs... | |||
sorear++ | |||
18:09
sftp joined
|
|||
alec | flussence++ | 18:10 | |
masak++ | |||
18:10
dorlamm joined
|
|||
alec | japhb++ | 18:11 | |
moritz++ | |||
can i get bots like phenny and aloha for my own use? and are they written in perl6? =) | 18:17 | ||
18:18
erkan joined,
erkan left,
erkan joined
|
|||
FROGGS | alec: can you please test something for me? do you see a diff there: github.com/FROGGS/rakudo/pull/new/nom | 18:18 | |
alec: I've heard phenny is written in pythen, and yes, I think they are free | |||
alec | ok | 18:19 | |
yes, there is a diff | 18:20 | ||
3 new lines at 266 and 3 new lines at 316 | |||
18:30
ismail left
|
|||
FROGGS | alec: really? it should be the opposite, removed lines (red) at these positions, and new lines between | 18:32 | |
phenny: tell jnthn that I have a better approach: github.com/FROGGS/rakudo/pull/new/nom | 18:33 | ||
phenny | FROGGS: I'll pass that on when jnthn is around. | ||
18:33
Abcxyz joined
|
|||
FROGGS | phenny: tell jnthn I would like to make a new branch in the rakudo/rakudo repo, and would like to have commit bit for this, do I get your ok for this? I will also ask pmichaud | 18:34 | |
phenny | FROGGS: I'll pass that on when jnthn is around. | ||
alec | ah, sorry FROGGS | ||
yes, that's what it was | |||
i'm not very good at git, sorry | |||
FROGGS | alec: no problem, I got the information I needed (I didnt know if somebody who is not the owner of the repo can see his page) | 18:35 | |
18:35
dorlamm left
|
|||
FROGGS | phenny: ask pmichaud if it would be possible to get commit bit for rakudo, my CLA is in walnut since november | 18:37 | |
phenny | FROGGS: I'll pass that on when pmichaud is around. | ||
moritz | \o | 18:42 | |
FROGGS | hi moritz | 18:45 | |
flussence | trying to understand something... is this the same thing as andthen/orelse? www.reddit.com/r/programming/commen...?context=1 | 18:51 | |
masak | oh hai, #perl6 | 19:08 | |
flussence: no, it's not the same. | |||
the 'foo bar mu zot' would be spelled $foo.bar.mu.zot in Perl 6. | 19:09 | ||
flussence | er... I meant the comment I linked to | ||
gfldex | masak: could you comment on irclog.perlgeek.de/perl6/2012-12-31#i_6287390 please? | 19:13 | |
masak | flussence: that looks more like `given query('#my-form') { ... }` to me. | 19:14 | |
gfldex: operators are allowed/encouraged as macros, as a quick reading of S06 will tell you :) | |||
gfldex: operators are just funnily-spelled subroutines. | |||
gfldex rakudobugs | 19:15 | ||
masak | r: macro infix:«test»($a, $b) { say 3 }; 1 test 2; | 19:16 | |
p6eval | rakudo 13e805: OUTPUT«3===SORRY!===too few positional arguments: 2 passed, 3 (or more) expected» | ||
masak | huh. | ||
how can that fail and the spectests still work? | |||
"I notice that I am confused." | 19:17 | ||
I'd better backlog fully first... | |||
19:19
pjcj_ is now known as pjcj
|
|||
masak | just so you know, it's possible to buy "The Hobbit" the book in Gothenburg, step on a train an read until the part where Bilbo and Gollum do riddles with each other in the dark before reaching Malmö. :) | 19:21 | |
gfldex | who won? | ||
masak | Bilbo. but he cheated, and his winning question wasn't a real riddle. | 19:23 | |
gfldex | Bilbo-- | 19:24 | |
masak | moritz: re conceptual similarity between role bodies and quasi blocks: more of one between role bodies and macro-argument thunks. because both these sometimes have to be snapshot before their surrounding scope has finished parsing. | 19:28 | |
19:29
ismail joined
|
|||
masak | <JJ_Brain> May I ask if there is a P=NP expert here? I may have solved the problem. The problem is arXiv did not accept it. | 19:33 | |
masak chuckles | |||
foiled again! I'll get you next time, arXiv! | 19:34 | ||
19:34
Chillance joined
|
|||
masak | nqp: nqp::gcd_i(1000) | 19:35 | |
p6eval | nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003') in file '(file unknown)' line 38» | ||
masak | [Coke]: I'm inclined to agree with sorear here. | ||
nqp isn't getting the kind of tuits where we fix these things right now. its purpose currently is only to be a stepping-stone to build Rakudo. | 19:36 | ||
not to be user-friendly or polished. | |||
that may sound a bit cynical, but it's also tuit-conservative. with luck, one day nqp will be more than that. | 19:37 | ||
r: class Foo { }; my $class = Foo; class Bar is $class { } | 19:38 | ||
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Unable to parse class definitionat /tmp/8MmEReUpjI:1------> Foo { }; my $class = Foo; class Bar is ⏏$class { } expecting any of: postfix infix or meta-infix infix stopper state… | ||
masak | doy: this could never work as it stands. | ||
consider the execution order :) | |||
you're too used to Moose where class construction happens at runtime. | |||
oh, the return of JJ_Brain. | 19:39 | ||
imagine the surprise of everyone if the P=NP problem were actually solved by someone named "JJ_Brain"... :D | |||
moritz | you can stop after "solved" :-) | 19:40 | |
masak | anyway, the comment at mathbin.net/133965 adequately sums it up. | 19:41 | |
and it says "sir, you're full of it" in the proper, duly respectful way. | 19:42 | ||
19:42
gaussblurinc joined
|
|||
masak | maybe I'm jaded, but nowadays when I see "I have tried to reach people about my solution of [very very hard problem], but they haven't replied", the prior for psychosis/schizophrenia goes up. | 19:44 | |
moritz | or simple mania | ||
masak | hm. yes. | 19:45 | |
but that's where I encounter mania most often. | |||
I guess something as simple as excessive caffeine intake could trigger it as well... :) | |||
19:45
gaussblurinc left
|
|||
sorear | see the part where I didn't even read the pastebin until after ey left | 19:45 | |
I actually assumed it was a 100+ page dissertation that fails because of an annoying technical reason | 19:46 | ||
like "failure to separate 3SAT from 2SAT" | |||
Abcxyz | r: my Num $n = 3.1415926 | ||
p6eval | rakudo 13e805: OUTPUT«Type check failed in assignment to '$n'; expected 'Num' but got 'Rat' in block at /tmp/qtfhzUuXrv:1» | ||
sorear | Abcxyz: do you understand that error? | 19:47 | |
masak | sorear: re "I'm a constructivist", I almost don't see how a well-versed programmer/mathematician would fail to be a constructivist. | ||
Abcxyz: there's no automatic casting between number types. | |||
r: my Num $n = 3.1415926e0 | 19:48 | ||
p6eval | rakudo 13e805: ( no output ) | ||
masak | r: my Rat $n = 3.1415926 | ||
p6eval | rakudo 13e805: ( no output ) | ||
Abcxyz | So this is intended behavior? | ||
sorear | Yes. | 19:49 | |
19:49
fgomez joined
|
|||
Abcxyz | I see. | 19:49 | |
Where can I read this? | |||
sorear | If you want a variable to hold real numbers both precise and imprecise, declare it as Real | ||
moritz | Abcxyz: where you can you read what? | 19:50 | |
masak | Abcxyz: what is it you're still curious about? | ||
generally, if you declare something to be of type A and then try to put something of type B into the first something (and B isn't a kind of A), the assignment will fail. | 19:51 | ||
that's not Perl 6, that's *typing* :) | |||
japhb | masak, There are proofs that have value simply by showing that something has a finite bound, without constructing the smallest such bound. | ||
moritz | doc.perl6.org has some documentation on number types | ||
and the synopsis has too | |||
japhb | Of course, you are free to consider me not well-versed as a mathematician. :-) | ||
masak | japhb: I meant no offense. but programming has definitely made me more of a constructivist. | 19:52 | |
japhb | I took no offense. I was teasing, and am not in fact a mathematician. ;-) | ||
masak | japhb: and I definitely agree with sorear's sentiment "if you have an extraordinary proof, construct us some extraordinary evidence from it" | ||
japhb | oh, quite. | 19:53 | |
sorear | I don't reject them outright, but I find proofs of finite statements by infinitary means to be less than satisfactory | ||
gfldex | Abcxyz: perlcabal.org/syn/S02.html#Coercive...clarations | ||
masak | if I came in here claiming "I invented anti-gravity!", you would say "ok, show us something that hovers". | ||
sorear: maybe it feels like swatting flies with a bazooka? :) | 19:54 | ||
japhb | When I found out about the million dollar prize to convince a famous skeptic that you really have some psychic power, I immediately began to wonder how he could be tricked. :-) | 19:55 | |
sorear | I'm not sure what to think about cases where there's a definite algorithm, but the proof that it works relies on uncountable mathematics | ||
masak | I have no qualms about uncountable mathematics as such. they're just models. | ||
japhb | (And then on the flip side, I thought "What if you actually did have a psychic power, successfully convinced him you had it in private, then refused the money and swore him to secrecy. What would he do then?") | ||
Abcxyz | Thanks for the info! | 19:56 | |
I was desperate of how to type in a floating point 3.1415926 at all | |||
sorear | e.g. Rabin's deterministic primality test (this is not quite an example because it assumes RH as an axiom, but still, complex anal) | ||
Abcxyz | And never thought about I could add "e0 ' after it... | ||
masak | Abcxyz: that's how you write Num literals. | ||
3.14 is a Rat literal, 3.14e0 is a Num literal. | 19:57 | ||
19:57
GlitchMr left
|
|||
sorear | there are several finitary statements which are equivalent to RH. I wonder if we will ever have a finitary proof of any of them | 19:57 | |
Abcxyz | I guess I an thinking in C / Mathematica's way... | ||
sorear | Abcxyz: 3.14e0 is valid syntax in C... | 19:58 | |
but yes Rat is fairly unusual to p6 | |||
not *unique* - our numbers model is actually not that far from R5RS | 19:59 | ||
Abcxyz | Rat is a ill behaved type for computation... | ||
sorear | Abcxyz: you keep sending me private messages and I do not think it is intentional | ||
they don't seem like things anyone would want to keep private | |||
Abcxyz | extremely expensive | ||
20:00
gaussblurinc joined
|
|||
Abcxyz | Oh, that's just because I see a red tag of the msg, then I reply it privately... | 20:00 | |
sorear | test | ||
Abcxyz: test | |||
test Abcxyz | 20:01 | ||
Abcxyz | I suppose those who speak privately to me would want me to speak to them privately in return also. | ||
:) | |||
Without realizing that this is not the case. | |||
japhb | Abcxyz, some people prefer to carry on two conversations with the same recipient: a public one and a private one. | 20:03 | |
sorear | I think the red tag is just an indicator that your name has been mentioned | ||
Abcxyz | I see. | ||
I thought the red color means a private msg to me... | |||
masak | seems not. | 20:05 | |
Abcxyz | It is not. Now I see. | ||
20:26
quester joined
20:32
stevan_ joined
20:41
SamuraiJack left
20:44
Bruce__ joined
|
|||
Bruce__ | rakudo: (1,2).map{ .say }; say "OK" | 20:51 | |
p6eval | rakudo 13e805: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method map at src/gen/CORE.setting:1235 in block at /tmp/_M8247WuVa:1» | ||
Bruce__ | rakudo: (1,2).map: { .say }; say "OK" | ||
p6eval | rakudo 13e805: OUTPUT«OK» | ||
Bruce__ | rakudo: (1,2).map: { .say } | ||
p6eval | rakudo 13e805: OUTPUT«12» | ||
rindolf | Hi all. | ||
Happy new year. | |||
Bruce__ | Happy new year | 20:52 | |
masak | Year.new.happy | ||
"What's up?" "2012." :P | |||
20:53
lorn joined
|
|||
masak | (either in the sense of "all used up", or in the Chinese spatial-temporal synesthesia sense of time proceeding downwards) | 20:53 | |
Bruce__ | Does anyone know why map loops don't seem to run with a print statement after them? | 20:55 | |
masak | Bruce__: you've fallen victim to insufficient sink-ness in the Rakudo implementation. | ||
niecza: (1,2).map: { .say }; say "OK" | 20:56 | ||
p6eval | niecza v24-12-g8e50362: OUTPUT«12OK» | ||
masak | rakudo: eager (1,2).map: { .say }; say "OK" | ||
p6eval | rakudo 13e805: OUTPUT«12OK» | ||
masak | the above is the temporary (forward-compatible) workaround. | ||
Bruce__ | Very nice, that fixes some code that stopped working with the December release | 20:59 | |
masak: Thank you | |||
masak | \o/ | 21:00 | |
doy | masak: so is there no way at all to construct classes at runtime then? | ||
masak | r: class Foo {}; my $parent = "Foo"; say (eval "class Bar is $parent \{ \}").WHAT | 21:01 | |
p6eval | rakudo 13e805: OUTPUT«Bar()» | ||
masak | r: class Foo {}; my $parent = "Foo"; say (eval "class Bar is $parent \{ \}") ~~ Foo | 21:03 | |
p6eval | rakudo 13e805: OUTPUT«True» | ||
dalek | p-jvm-prep: 12cdc07 | coke++ | / (4 files): DRY |
||
p-jvm-prep: 42eaa6a | coke++ | / (9 files): Break out tests into multiple files |
|||
[Coke] | phenny: tell jnthn I split up the qast tests, but I am not really confident about my organization. | 21:05 | |
phenny | [Coke]: I'll pass that on when jnthn is around. | ||
21:05
fgomez left
|
|||
doy | masak: that doesn't particularly help if $parent is potentially anonymous | 21:05 | |
masak | doy: hmmm. | 21:06 | |
doy | so taking a step back | 21:09 | |
what i'm actually trying to write is a sort of thunk | |||
21:09
bruges joined
|
|||
masak | r: class Foo {}; class Bar { BEGIN { Bar.HOW.add_parent(Bar, Foo) } }; say Bar ~~ Foo | 21:09 | |
p6eval | rakudo 13e805: OUTPUT«True» | ||
doy | which turns into a real object when it actually has things like methods called on it | ||
but getting it to pass type checks for the real object is certainly a trick | 21:10 | ||
masak | doy: have a look at find_method_fallback in src/Perl6/Metamodel/ClassHOW.pm | 21:11 | |
doy | well, the inflating part isn't the hard part | 21:12 | |
the part i'm stuck on is that trying to store the thunk in a typed attribute fails | |||
21:13
att__ left
|
|||
masak | r: class Thunk {}; class A { has Thunk $.thunk }; say A.new( :thunk( Thunk.new ) ) | 21:13 | |
p6eval | rakudo 13e805: OUTPUT«A.new(thunk => Thunk.new())» | ||
doy | no, i mean | ||
the object that the thunk becomes is of some class Foo | 21:14 | ||
and it should be able to be used in arbitrary places as though it were that object | |||
even if it hasn't been inflated yet | |||
masak | just make both the larva and the butterfly do some common role ;) | ||
and type the attribute with that role. | 21:15 | ||
doy | well, the point is that i want to be able to use it in arbitrary places that i don't necessarily control | ||
masak | that's stressing the limits of typing regardless of language and problem. | ||
doy | well, yeah | 21:16 | |
(: | |||
masak | Perl 6 rises to the challenge, but it doesn't turn lead into gold. :) | ||
doy | i feel like there's nothing conceptually wrong with the idea | ||
but expressing that in a real language is pretty tricky | |||
well, a real typed language anyway (it's pretty easy to do this in perl 5) | 21:17 | ||
masak | remember that we have subset types, which can ease some of the pressure in these cases. | 21:18 | |
21:18
gaussblurinc__ joined
|
|||
masak | r: subset Fooer where { .^does('foo') }; say (class { method foo {} }) ~~ Fooer; say (class {}) ~~ Fooer | 21:19 | |
p6eval | rakudo 13e805: OUTPUT«FalseFalse» | ||
masak | hrm. | ||
21:19
gaussblurinc left
|
|||
masak | r: subset Fooer where { .^can('foo') }; say (class { method foo {} }) ~~ Fooer; say (class {}) ~~ Fooer | 21:19 | |
p6eval | rakudo 13e805: OUTPUT«TrueFalse» | ||
masak | ah, right.\ | ||
this essentially moves a compile-time check down into runtime. | 21:20 | ||
doy | my current line of attack is to make the thunk an instance of a subclass of the class i want it to be, where all of the methods defined by the class are overridden to inflate the instance and then redispatch the method call | ||
(and things like BUILDALL are suppressed entirely) | 21:21 | ||
but that requires understanding the metamodel enough to do that sort of thing at runtime | |||
masak | best of luck. | 21:22 | |
would love to see code at some point. | |||
doy | (: | ||
21:23
gaussblurinc__ left
|
|||
[Coke] | phenny: tell jnthn I have 'chars' added locally - it maps directly to String's length, but since that's an instance method, we can't map it directly like we did with the math methods, so I'm wrapping it in the ops class. | 21:25 | |
phenny | [Coke]: I'll pass that on when jnthn is around. | ||
[Coke] | anyone know the diff between concat and concat_s off the top of their head? | 21:26 | |
masak | [Coke]: no, but I have a feeling the answer becomes evident once one sees what the argument and return types are. | 21:28 | |
21:28
rindolf left,
rindolf joined
|
|||
sorear | [Coke]: can you use them in context? | 21:35 | |
masak | 'night, #perl6 | 21:49 | |
21:51
bowtie left
21:53
denisboyun_ left
21:54
PacoAir left,
rindolf left,
PacoAir joined
21:55
rindolf joined
|
|||
[Coke] | masak: they both seem to be Sss | 22:05 | |
22:08
rindolf left
22:09
rindolf joined
22:14
MikeFair_ left,
tcpr1347 joined
22:15
MikeFair_ joined
22:34
rindolf left,
rindolf joined
|
|||
[Coke] | phenny: ask jnthn how to represent an array in JASTCompiler.nqp's op setup. | 22:36 | |
phenny | [Coke]: I'll pass that on when jnthn is around. | ||
[Coke] | nqp: say(nqp::concat("boo","berry")); | 22:37 | |
p6eval | nqp: OUTPUT«booberry» | ||
[Coke] | nqp: say(nqp::concat_s("boo","berry")); | ||
p6eval | nqp: OUTPUT«booberry» | ||
22:38
rindolf left
|
|||
doy | r: proto bar {*}; multi bar ($baz) { "BAZ" }; role Blorg { method do_stuff { bar "baz" } }; say Blorg.new.do_stuff | 22:45 | |
p6eval | rakudo 13e805: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub bar at /tmp/5CaNa5PWz1:1 in method do_stuff at /tmp/5CaNa5PWz1:1 in block at /tmp/5CaNa5PWz1:1» | ||
doy | r: proto bar {*}; multi bar ($baz) { "BAZ" }; class Blorg { method do_stuff { bar "baz" } }; say Blorg.new.do_stuff | ||
p6eval | rakudo 13e805: OUTPUT«BAZ» | ||
doy | multisub dispatch doesn't appear to work properly in roles for some reason? | ||
22:48
marloshouse joined
22:50
rindolf joined
|
|||
dalek | p-jvm-prep: f0b5907 | coke++ | / (4 files): add string ops: chars, lc, uc, x, concat, chr |
22:53 | |
[Coke] | masak: when I don't finish the p6cc this year, I blame jnthn for distracting me! ;) | 22:54 | |
22:55
denisboyun_ joined
|
|||
timotimo | i'm preparing my screencast on how to create a perl6 package and get it into the ecosystem | 22:56 | |
[Coke] | timotimo++ | ||
timotimo | who is responsible for pulling changes into the ecosystem? maybe i can get them to cooperate during the 'shoot'? ;) | ||
flussence | anyone with a commit bit in the perl6 org can | 22:58 | |
22:59
kaare_ left
|
|||
[Coke] | nqp: say(nqp::bitor_i(123,21)) | 22:59 | |
p6eval | nqp: OUTPUT«127» | ||
[Coke] | nqp: say(nqp::bitxor_i(123,21)) | 23:00 | |
p6eval | nqp: OUTPUT«110» | ||
[Coke] | nqp: say(nqp::bitand_i(123,21)) | ||
p6eval | nqp: OUTPUT«17» | ||
[Coke] | nqp: say(nqp::bitneg_i(123)) | ||
p6eval | nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003') in file '(file unknown)' line 38» | ||
[Coke] | nqp: say(nqp::bitshiftl_i(3,2)) | 23:12 | |
p6eval | nqp: OUTPUT«12» | ||
[Coke] | nqp: say(nqp::bitshiftr_i(-4,28)) | 23:14 | |
Abcxyz | r: sub postfix:<²> ($n) { return $n**2 }; say 16²; | ||
p6eval | nqp: OUTPUT«-1» | ||
rakudo 13e805: OUTPUT«256» | |||
[Coke] | nqp: say(nqp::bitshiftr_i(5,2)) | ||
p6eval | nqp: OUTPUT«1» | ||
Abcxyz | r: sub postfix:<²> ($n) { return $n**2 }; say 16²; | 23:15 | |
p6eval | rakudo 13e805: OUTPUT«256» | ||
Abcxyz | sub postfix:<²> is equiv(&infix:<**>) ($n) { return $n**2 };; say 16²; | 23:16 | |
[Coke] | r: sub a:b() {}; a:b(); | ||
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Undeclared routine: a:b() used at line 1» | ||
Abcxyz | r: sub postfix:<²> is equiv(&infix:<**>) ($n) { return $n**2 }; say 16²; | ||
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Missing blockat /tmp/l7dQwIpyZN:1------> sub postfix:<²> is equiv(&infix:<**>) ⏏($n) { return $n**2 }; say 16²; expecting any of: postfix infix or meta-infix infix stopper state… | ||
Abcxyz | r: sub a ( :$b ) { say $b }; say a :b | 23:18 | |
p6eval | rakudo 13e805: OUTPUT«TrueTrue» | ||
23:19
PacoAir left
|
|||
Abcxyz | r: sub a ( :$b ) { say $b }; say a:b | 23:20 | |
p6eval | rakudo 13e805: OUTPUT«===SORRY!===Undeclared routine: a:b used at line 1» | ||
[Coke] | nqp: say(nqp::bitneg_i(3)); | 23:23 | |
p6eval | nqp: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003') in file '(file unknown)' line 164318166» | ||
[Coke] | r: say nqp::p6box_i(nqp::bitneg_i(3)); | 23:24 | |
p6eval | rakudo 13e805: OUTPUT«-4» | ||
timotimo | so, the example module i want to produce during the screencast is going to turn ASCII into wide-spaced equivalent unicode characters | 23:27 | |
GlitchMr made the point that that is actually useful, so not a good fit for an ACME module. | |||
23:27
tcpr1347 left
|
|||
timotimo | could it be called Unicode::FatLetters? | 23:27 | |
flussence | there's a whole bunch of A-Z0-9 sets in unicode, no need to limit it to just that one... :) | 23:28 | |
dalek | p-jvm-prep: 3b196e2 | coke++ | / (4 files): implement bit{xor,or,and,shiftl,shiftr,neg}_i |
23:30 | |
23:31
dduncan joined,
dduncan left
23:32
ismail left
|
|||
timotimo | flussence: right. so Unicode::ASCIIMappings? | 23:39 | |
flussence | that'd work, though I'd probably go with LatinMappings or something since I don't think all of them are full charsets | 23:40 | |
moritz | Text::Unidecode in Perl 5 | ||
timotimo | that's not quite it, or is it? | 23:41 | |
sorear | seems like the opposite of T:Unidecode to me | ||
timotimo | anyway, for an example, it should suffice to make ascii characters fat. | 23:42 | |
moritz | T::Uniencode? :-) | 23:43 | |
timotimo | maybe i'll go for an ACME module after all, so that i don't get mixed up in this discussion :D | 23:44 | |
flussence | Acme::FatFace :D | 23:45 | |
timotimo | well, yeah | ||
that's kind of a fitting name | |||
23:50
fgomez joined
|