»ö« 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 :ignoremark␤at /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 :m␤at /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 :m␤at /tmp/lPbh_qZKTF:1␤------> m/:m⏏/␤»
sorear r: m/:a/
p6eval rakudo 13e805: OUTPUT«===SORRY!===␤Unrecognized regex modifier :a␤at /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«foo␤current 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«foo␤current 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 definition␤at /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«1␤2␤»
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«1␤2␤OK␤»
masak rakudo: eager (1,2).map: { .say }; say "OK"
p6eval rakudo 13e805: OUTPUT«1␤2␤OK␤»
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«False␤False␤»
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«True␤False␤»
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 block␤at /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«True␤True␤»
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