»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
b2gills Hotkeys: Zoffix came up with a shorter version using xx 9 rather than ^9.map 00:00
Zoffix I don't think it works. There's '9' in the output 00:02
00:02 m1ndgames joined
Hotkeys m: say sum await start {sleep 7;now -ENTER now} xx 9;say now -INIT now 00:05
camelia rakudo-moar f19241: OUTPUT«63.0100307252␤7.0132424␤»
Hotkeys it works
Zoffix oh
:}
Hotkeys m: say sum await start {sleep 7;now -ENTER now}xx9;say now -INIT now
camelia rakudo-moar f19241: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3sum await start {sleep 7;now -ENTER now}7⏏5xx9;say now -INIT now␤ expecting any of:␤ infix␤ infix s…»
Hotkeys m: say sum await start {sleep 7;now -ENTER now} xx9;say now -INIT now
camelia rakudo-moar f19241: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3sum await start {sleep 7;now -ENTER now}7⏏5 xx9;say now -INIT now␤ expecting any of:␤ infix␤ infix …»
Hotkeys m: say sum await start {sleep 7;now -ENTER now} xx 9;say now -INIT now
weird
camelia rakudo-moar f19241: OUTPUT«63.014306␤7.01916107␤» 00:06
00:11 huggable left 00:12 huggable joined 00:19 BenGoldberg left 00:24 cur8or left 00:27 AlexDaniel left 00:28 AlexDaniel joined 00:31 cpage_ joined 00:32 BenGoldberg joined, kurahaupo left 00:33 mohae_ left 00:35 mohae joined 00:50 webstrand left 00:53 aries_liuxueyang left, pmurias left 00:54 ocbtec left, aries_liuxueyang joined 00:59 rgrinberg joined, BenGoldberg left 01:01 AlexDaniel left, yqt left 01:08 m1ndgames left 01:09 molaf left 01:17 aries_liuxueyang left 01:18 aries_liuxueyang joined 01:21 molaf joined 01:22 jonadab joined 01:27 FROGGS_ joined 01:28 kurahaupo joined 01:31 FROGGS left 01:43 kid51 left 01:44 ilbot3 left, webstrand joined
Xliff \o 01:45
If an object has an attribute and a method of the same name, can I still access the attribute? 01:46
If so, how?
timotimo via the $! syntax 01:47
01:47 ilbot3 joined
Zoffix masak, interesting results (re blog post). 01:48
timotimo next step is a physics simulation to run actual trains?
Xliff Thanks timotimo.
Also, is there a way to determine if an attribute exists at runtime? 01:49
timotimo sure, you can .^attributes on your object
Zoffix m: class Foo { has $!bar = 'attr'; method !bar { 'private' }; method bar { 'public' }; method Str { $!bar ~ self!bar ~ $.bar } }.new.put 01:50
camelia rakudo-moar f19241: OUTPUT«attrprivatepublic␤»
02:03 _webstrand joined 02:04 kurahaupo left 02:05 cdg left 02:06 webstrand left 02:07 Zero_Dogg left, Zero_Dogg joined 02:08 dwarring left
Xliff There's definitely an endless loop issue relating to type checking in rakudo. 02:12
I have a reliable piece of code that generates it, too.
Zoffix whatisit? 02:14
Now I remember where I left off with IRC::Client... I want a restartable Promise 02:15
(as a module)
Xliff Well dammit... it won't do it now. *sigh* 02:20
02:24 noganex_ joined
Zoffix Perl 6 Mojolicious :) i.imgur.com/CzX5ZgW.png 02:25
Xliff Zoffix++ 02:26
02:26 noganex left
Xliff Good night! 02:27
02:27 Xliff is now known as Xliff_zzzz, ssotka left 02:34 BenGoldberg joined 02:35 mr-fooba_ left 02:36 mr-foobar joined 02:42 Ben_Goldberg joined 02:46 BenGoldberg left
Xliff_zzzz m: role B { has $.a; method set($_a) { $!a = $_a}; method A { say $.a } }; class A does B; my $A = A.new; $A.set("Aaa"); $A.A 02:52
camelia rakudo-moar f19241: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Too late for unit-scoped class definition;␤Please use the block form.␤at <tmp>:1␤------> 3 method A { say $.a } }; class A does B;7⏏5 my $A = A.new; $A.set("Aaa"); $A.A␤»
Xliff_zzzz m: role B { has $.a; method set($_a) { $!a = $_a}; method A { say $.a } }; class A does B { }; my $A = A.new; $A.set("Aaa"); $A.A 02:53
camelia rakudo-moar f19241: OUTPUT«Aaa␤»
02:54 Sgeo joined 03:10 Ben_Goldberg left
Zoffix m: class Bar { ... }; class Foo { trusts Bar; has $!meths = <foo bar ber>; }; class Bar { method do ($z) { .say for $z!meths } }; Bar.new.do: Foo.new 03:18
camelia rakudo-moar f19241: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤No such private method 'meths' for invocant of type 'Bar'␤at <tmp>:1␤------> 3lass Bar { method do ($z) { .say for $z!7⏏5meths } }; Bar.new.do: Foo.new␤»
Zoffix Why is it looking for meths in Bar? :S
m: class Bar { ... }; class Foo { trusts Bar; has $!meths = <foo bar ber>; }; class Bar { method do ($z) { .say for $z.meths } }; Bar.new.do: Foo.new
camelia rakudo-moar f19241: OUTPUT«Method 'meths' not found for invocant of class 'Foo'␤ in method do at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix Yet this looks in Foo
03:20 BenGoldberg joined
Zoffix m: class Bar { ... }; class Foo { trusts Bar; has $!meths = <foo bar ber>; method !m { $!meths } }; class Bar { method do ($z) { .say for $z!Foo::m } }; Bar.new.do: Foo.new 03:24
camelia rakudo-moar f19241: OUTPUT«(foo bar ber)␤»
Zoffix Is there a way to avoid hardcoding 'Foo' in there? 03:31
m: class Bar { ... }; class Foo { trusts Bar; has $!meths = self.^name.lc; method !m { $!meths } }; class Bar { method do ($z) { .say for $z!Foo::m } }; class Meow is Foo { has $!meths = 'not-meow'; }; Bar.new.do: Foo.new; Bar.new.do: Meow.new;
camelia rakudo-moar f19241: OUTPUT«foo␤meow␤»
Zoffix I want the result here to be 'foo not-meow'
03:34 wibble joined
Zoffix bisect: m: class Bar { ... }; class Foo { trusts Bar; has $!meths = <foo bar ber>; }; class Bar { method do ($z) { .say for $z!meths } }; Bar.new.do: Foo.new 03:36
bisectable Zoffix: on both starting points the exit code is 1 and the output is identical as well
Zoffix bisect: m: class Bar { ... }; class Foo { trusts Bar; has $!meths = <foo bar ber>; method !meths { $!meths } }; class Bar { method do ($z) { .say for $z!meths } }; Bar.new.do: Foo.new
bisectable Zoffix: on both starting points the exit code is 1 and the output is identical as well
03:37 wibble left
Zoffix m: class Bar { ... }; class Foo { trusts Bar; has $!meths = self.^name.lc; method !m { $!meths } }; class Bar { method do ($z) { .say for $z!::($z.^name)::m } }; class Meow is Foo { has $!meths = 'not-meow'; }; Bar.new.do: Foo.new; Bar.new.do: Meow.new; 03:39
camelia rakudo-moar f19241: OUTPUT«===SORRY!===␤cannot stringify this␤»
03:40 rgrinberg left
Zoffix m: use MONKEY-SEE-NO-EVAL; class Bar { ... }; class Foo { trusts Bar; has $!meths = self.^name.lc; method !m { $!meths } }; class Bar { method do ($z) { .say for EVAL "\$z!$z.^name()::m" } }; class Meow is Foo { trusts Bar; has $!meths = 'not-meow'; method !m { $!meths } }; Bar.new.do: Foo.new; Bar.new.do: Meow.new; 03:41
camelia rakudo-moar f19241: OUTPUT«foo␤not-meow␤»
Zoffix I can't use this. Is there a saner way to achieve the same result?
m: class Foo { has $.gibblets = <foo bar ber>; }; my $f = Foo.new; say $f.gibblets; $f but role { method gibblets { die 'Tis private!' } }; say $f.gibblets 03:45
camelia rakudo-moar f19241: OUTPUT«(foo bar ber)␤(foo bar ber)␤»
Zoffix *sigh* there gotta be a way to have private methods for use by other classes in my distro that aren't available to the users of my distro :(
03:46 khw left
Zoffix Or remove/disable an existing method on a specific object :\ 03:47
m: class Foo { has $.gibblets = <foo bar ber>; }; my $f = Foo.new; say $f.gibblets; $f = $f but role { method gibblets { die 'Tis private!' } }; say $f.gibblets
camelia rakudo-moar f19241: OUTPUT«(foo bar ber)␤Tis private!␤ in method gibblets at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Zoffix Ahhh
Well, ain't perfect but at least something
Digital duck tape
03:52 ChoHag left 03:53 khw joined 04:07 Cabanossi left 04:10 Cabanossi joined 04:11 huggable left 04:12 huggable joined 04:15 grondilu joined 04:17 wamba joined 04:28 kaare_ joined 04:30 khw left 05:52 BenGoldberg left
gfldex Zoffix: pod5 got F<> for filenames 05:54
05:59 ChoHag joined 06:10 jjido joined 06:16 jjido left 06:20 domidumont joined 06:22 CIAvash joined 06:24 domidumont left 06:25 domidumont joined 06:37 mr-foobar left 06:38 mr-foobar joined 07:06 Actualeyes joined 07:08 firstdayonthejob joined 07:18 jjido joined 07:22 rindolf joined 07:30 BenGoldberg joined 07:45 domidumont left 07:50 lizmat left 07:53 grassass joined, lizmat joined 08:04 mr-foobar left 08:05 mr-foobar joined 08:07 TEttinger left 08:11 huggable left, BenGoldberg left 08:12 huggable joined 08:16 rurban_ joined 08:29 grondilu left 08:33 grondilu joined 08:36 darutoko joined 08:44 setty1 joined 08:49 jjido left 08:52 kid51 joined 09:04 spider-mario joined 09:05 Ulti_ is now known as Ulti
dalek c: cc46aaa | (Steve Mynott)++ | doc/Language/operators.pod:
fix minor typo
09:08
09:25 RabidGravy joined
RabidGravy boom 09:26
09:38 kid51 left 09:44 cognominal joined
cognominal m, for 1..20 { print $_, Int.new($_) =:= Int.new($_) ?? '' !! '!', ' ' } 09:46
m: for 1..20 { print $_, Int.new($_) =:= Int.new($_) ?? '' !! '!', ' ' } 09:48
camelia rakudo-moar f19241: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15! 16! 17! 18! 19! 20! »
cognominal I suppose there is some form of caching going on here. 09:49
instanciating Ints below 15 gives an existing Int 09:50
j: for 1..20 { print $_, Int.new($_) =:= Int.new($_) ?? '' !! '!', ' ' } 09:53
camelia rakudo-jvm 40a953: OUTPUT«cannot connect to eval server: Connection refused␤»
09:55 araujo_ joined 09:56 araujo_ left 09:57 araujo_ joined 09:58 CIAvash left, araujo left 09:59 araujo_ left, sno left 10:00 sno joined
cognominal github.com/MoarVM/MoarVM/blob/mast...intcache.c indeed thru a nqp::box_i called in the new method of Int class 10:00
10:02 araujo_ joined
timotimo yeah, that's right 10:06
those ints are incredibly common
we also do it for -1 i believe
10:08 rurban_ left, jack_rabbit left
cognominal the mystery is there is 4 type of ints according to the code. 10:11
m: for -3..20 { print $_, Int.new($_) =:= Int.new($_) ?? '' !! '!', ' ' } 10:12
camelia rakudo-moar f19241: OUTPUT«-3! -2! -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15! 16! 17! 18! 19! 20! »
10:15 Actualeyes left
cognominal at the moar level, there are P6int and P6Bigints. Probably under the hood, there are many sorts of bigints? 10:19
Util Zoffix: I have not read the thread past the long first post, but this might help: 10:32
www.nntp.perl.org/group/perl.perl6....33409.html
"You never have privacy from your children in Perl 6"
10:35 FROGGS_ is now known as FROGGS
FROGGS o/ 10:35
Zoffix Util, what is that about? 10:37
gfldex, yeah, ok, but why are those filenames in that page?
Util Zoffix: in re: "there gotta be a way to have private methods for use by other classes in my distro that aren't available to the users of my distro" 10:38
Zoffix Ahh
Util Zoffix: Just woke up
10:39 ChoHag_ joined
Zoffix too 10:39
Actually, I'm going back in... 6:40AM
10:40 ChoHag left, ChoHag_ is now known as ChoHag 10:49 _4d47 joined, pmurias joined
timotimo cognominal: actually, p6int is the bigint 10:50
jnthn ...um, no? :) P6int is the REPR of native ints. P6bigint is the REPR of bigints :) 10:52
In reality you never see a naked object with REPR P6bigint in Perl 6, though; Int has it flattened into a P6opaque. 10:53
cognominal so why 4 kind of *Ints cahed
dalek ake: eebd456 | (Pawel Murias)++ | src/Snake/Actions.nqp:
Unbitrot.
jnthn cognominal: Cached where, exactly? 10:54
timotimo er, derp.
that's because there's BOOTInt and Int, for example
gfldex Zoffix: those ENV vars are an implementation detail, if you go that deep you might as well show where they come from. In my eyes they should be removed. They are quite long and ack can find them nicely. 10:55
10:58 iH2O joined
cognominal jnthn, github.com/MoarVM/MoarVM/blob/9c88...cache.c#L7 10:58
there is 4 "types" of *ints in the int cache 10:59
jnthn Oh, that... It doesn't mean there are 4 types, it just means it can hold up to 4 types
cognominal ok 11:00
jnthn I don't know why 4 was picked...I think maybe timotimo put the cache in and may remember... :)
Certainly NQP's integer type and Perl 6's Int make 2
cognominal so, I can create my fancy ints and have -1..14 cached 11:01
jnthn I guess some of the allomprphs may end up in there...
cognominal anyway, probably that discussion probably belongs to #perl6-dev :) 11:02
timotimo anything that we box_i on; do we box_i into our allomorph classes?
jnthn timotimo: Not sure...we may :)
I mean, it'd be a valid way to implement it. :)
cognominal jnthn++ timotimo++ for the kind answers 11:03
timotimo P6bigint can't hold mixins, so that's not a concern for that cache
dalek ake: 2f89820 | (Pawel Murias)++ | Makefile:
Fix Makefile by adding missing dependencies.
11:04
masak ahoy, #perl6 11:07
ooh, a snake commit
arnsholt: I remember I promised-ish to contribute to snake -- what's the status of the project right now? 11:08
jnthn ahoj, masak 11:09
masak ahoĵ
jnthn
.oO( Status: need to badger more people :P )
masak .oO( there's no shroom for more puns )
timotimo also mushroom some more people
jnthn I'm sure there's mush room for inprovement :P
hah :P
timotimo %)
masak damaged minds think alike 11:10
11:10 pochi left
iH2O obviously, all mind damages are alike 11:13
hahainternet what is this? #andyzaltzman? 11:14
iH2O is the trailing "?" really part of the channels name? 11:15
hahainternet i'd like to claim it's the name of the person, but even andy doesn't have such bombastic punctuation
iH2O no 11:16
masak for those who missed my blog posting late last night: strangelyconsistent.org/blog/train-tracks 11:17
iH2O ive never been good with knots 11:18
esp those uninvertible 11:19
hahainternet knots are really enjoyable
especially the few you tie with a big inversion
like the figure of eight loop
iH2O too much shrooming haha
hahainternet masak: i can't help but think this is scalextric track :)
masak "scalextric track" -- is that something I should know about? :) 11:20
hahainternet masak: 2e7fd430838d304f1516-467f5d9f2ca7b...-track.jpg
masak oh, oh no. this is wooden trains, not cars. 11:21
hahainternet yeah i saw your real photo
but you have done an impressively good job of reproducing a scalextric track in your diagrams too
masak there's no electricity involved. only small magnets keeping the train cars together.
hahainternet and they have almost exactly the same mechanism, with slightly less 'wiggle'
you get almost exactly the same track layout in the box
and you can produce approximately the same versions you showed
11:22 _4d47 left
hahainternet so, you didn't even realise it but you built a model for an entirely different system that mostly conforms :) 11:22
masak ah. wiggle, my nemesis.
hahainternet masak: scalextric tracks attach with two points at the joints, at the far edges, using a simple spring nub that fits into a hole 11:23
masak: one thing you haven't accounted for that is possible, is track banking
masak doesn't come up with these wooden tracks 11:24
hahainternet only at the scale you're working on
masak but yeah. *shudder*
hahainternet it requires only torsion, so you can't avoid it :p
i'm impressed by your vector space plot though, not quite sure how you did that, i'm no mathematician
masak if there's something I can do to help by clarifying, I'd be happy to do so 11:26
maybe it'd improve the blog post, too
hahainternet masak: well you don't label anything about it lol 11:27
so, i'm not sure what the numbers represent, piece count? 11:28
i'm not sure why there's an irregular grid
i'm not sure why only a minority of marks are unlabelled
masak those unlabeled are just a single solution at that point
11:28 domidumont joined
masak each point (x, y) represents a particular displacement -- for example (0, 0) has the 10 exact solutions 11:29
hahainternet oh i see they're number of solutions at that position
masak aye
that's how you get a total of 380
hahainternet i'd note that using a 'luggage tag' shape may be a bad choice
and adding a suffix 'x' is common
10x is many many times clearer than |10|
masak oh, that's a good suggestion
iH2O 10x or x10? 11:30
hahainternet are these top down X/Y offsets for the track end masak?
iH2O arent both confusing with hex?
hahainternet iH2O: either is fine, 'x' is read as 'times'
so it's '10 times' or 'times 10', either is perfectly fine
hex typically requires a leading 0 also
iH2O so its 10 in hex notation
hahainternet 0x10 is, x10 is not
iH2O which is 15?
good, im reassured 11:31
hahainternet brb 2 moments
masak re irregular grid: because of the 45-degree angles, the constant 1/sqrt(2) creeps into the coordinates 11:32
and so any given displacement coordinate is M + N/sqrt(2), M and N integers
11:32 abruanese left
masak all the thin lines in that diagram represent such M + N/sqrt(2) coordinates 11:32
the thicker lines are integral coordinates 11:33
iH2O why does perl6 implement sqrt(complex number), or any complex arithmetic. 99.99% of the folks will never use that in their lifetime
..
masak iH2O: that seems an odd complaint to me. are you upset that something is implemented? 11:35
iH2O folks, concentrate on the real stuff
11:35 AlexDaniel joined
iH2O implement the real stuff like parallel processing 11:35
i have 4 cores
masak .oO( folks, concentrate on the real plus the imaginary stuff )
iH2O i need parallel processing, all of it
the "i" stuff is for apple 11:36
not for perl6
masak iH2O: oh, I get it. you're here to tell people what to spend their time and energy on.
iH2O just saying...
:)
timotimo you do realize that complex arithmetic is a billion times easier and faster to implement than any kind of multithreaded stuff? 11:37
iH2O im sure it is
gfldex m: await do start { say "your point is?" }, do start { say "works nicely for me" }
camelia rakudo-moar 53af02: OUTPUT«your point is?␤works nicely for me␤»
hahainternet returns 11:38
masak: it makes much more sense to me now
masak: i feel that the asymmetry of the graph is now a problem though 11:39
the centre being (0,0) 11:40
i fail to comprehend how the graph should not be a reflection across x=0 or y=0
masak basically because of the symmetry breaking I'm doing on the tracks 11:41
let's say a track is a string like BBLLLLLSSRRRRR 11:42
hahainternet but if your initial track is oriented at a cardinal direction, and all tracks are equally 'wiggly', then the graph should exhibit symmetry regardless
as all Ls and all Rs can simply be swapped
masak then that track's representative is the lexicographically first among these: the track itself, same track opposite direction, its mirror image, mirror image in the opposite direction
hahainternet oh, so you're culling potentials before you get to the graph, so selecting for those with x>0? 11:43
masak this symmetry breaking greatly favors tracks that run counter-clockwise. and so you have a lack of symmetry in the graph.
hahainternet masak: i think that's a problem tbqh
without meaning to tell you how to do your blog 11:44
masak it gives me each solution only once, which I like
that's more important to me than symmetry in the graph :)
hahainternet it means that your solution count labels are inaccurate though
it means the graph requires orientation you don't denote
masak but your point is well taken -- because it means the signs of the displacement are quite meaningless
hahainternet and it makes it generally harder to understand, as you could begin to talk about the symmetry
11:44 Actualeyes joined
hahainternet without the symmetry, the graph is considerably harder to understand 11:44
masak I could plot it all as just one quadrant instead
hahainternet (imho)
masak: that, and perhaps some sort of tesselation, voronoi etc, would make a lot of sense to me 11:45
a terrain map would be preferable
where Z is joining force
or 'difficulty' of joining
but the 'islands of connectivity' to butcher a phrase would be interesting to see
masak I enjoy all your ideas
iH2O haha is genial 11:46
masak yeah, there's quite a fair bit to be done in order to fully understand all the non-exact solutions
hahainternet iH2O: i'm mostly useless, so when i can give somewhat valid criticism i'm super happy
11:51 Actualeyes left
iH2O you'll write the 1st program with real *artificial intelligence*, in perl6 11:52
hahainternet i think "artificial intelligence" is a term we should stop using now, because it's quite offensive, "machine intelligence" is the PC term :) 11:53
iH2O none exists at this time
11:54 domidumont left
iH2O they havent even solved the Turing test, theyre clueless 11:54
hahainternet iH2O: the logs of this channel aren't going away though
iH2O why? they have historical significance i think
hahainternet so when we create a viable machine intelligence, it will review history, and see us talking about it derisively, as only 'artificial'
11:54 domidumont joined
hahainternet but a machine intelligence is no more artificial than i am :) 11:55
iH2O they wont be any real machine intelligence or artificial intelligence before the year 2100
*there
hahainternet that's one hell of a claim iH2O!
iH2O why? theyre totally clueless about solving the Turing test 11:56
the hard problem of intelligence
theyve no clue
z.... 11:57
dalek c: 3f9f9aa | (Tom Browder)++ | htmlify.p6:
sort programs files by file name for desired order
c: 3c5ffe4 | (Tom Browder)++ | htmlify.p6:
Merge pull request #605 from tbrowder/progs-index

sort programs files by file name for desired order
hahainternet iH2O: i believe the topic is significantly more complex, i am not sure that free will exists, and i believe that building the mechanisms of the brain will cause intelligence to arise as emergent behaviour
gfldex you define artificial intelligence with "human like". That's quite narrow (in more then one sense).
masak also, there's a lot more to machine intelligence than the Turing test 11:58
iH2O haha, the human brain is a kludge loaded with cognitive biases/dissoances
you dont want to replicate that
11:58 brrt joined
iH2O what you want is clean, high level knowledge processing 11:58
hahainternet iH2O: it's not clear such a thing exists 11:59
iH2O AI papers do their best to figure it, i read them once in a while
brrt i'm fairly sure it doesn't exist
yoleaux 8 Jun 2016 09:53Z <Ven> brrt: interesting LuaJIT talk by one of the current DartVM engineers: mrale.ph/talks/vmss16
brrt .tell Ven thanks
yoleaux brrt: I'll pass your message to Ven.
hahainternet brrt: which ?:)
brrt 'clean high-level knowledge processing' 12:00
iH2O i glad you approve brrt
im
brrt well, let me phrase my complaint as accurately as i can
what we call 'intelligence' is nothing more than a vague collective idea of 'what autonomous living organisms do to control the circumstances of their lives' 12:01
hahainternet one thing that amuses me, is that when scifi shows portray future computers, they're almost always sleek electronic / mechanical devices, but the most advanced computers we're aware of are all completely organic
iH2O i think there is also a transcendent side to it
besides what you mention 12:02
brrt we, as well as most of the kingdom of animalia, have hardwired processing facilities for several tasks
iH20: I think there isn't, that's my point
iH2O O_O
we're not fancy automata
hahainternet i'm looking forward to my PC in 60 years, i'll feed it and myself with a glass of soylent each morning :)
iH2O we're transcendent
brrt if you are willing to give up that idea, then all of 'intelligence' etc becomes part of the regular world, the physical world
hahainternet iH2O: i disagree
we're nothing but complex simultaneous modelling computers that very quickly notice differences with our models and contain a primitive high level reasoning facility to determine the cause of these differences 12:03
brrt if you're willing to give up transcendence, then conciousness becomes explicable 12:04
iH2O brrt: we can recognize ourselves in the mirror, which is already more than what you suggest
there is a "meta" part in us
hahainternet iH2O: that's just a level of cognizance, we're social animals and so it's practically required
there's no evidence of a meta part in us
in fact, the opposite is true
iH2O tsk tsk
hahainternet by studying your brain in a PET machine
i can determine your response to yes/no questions
approximately 2 seconds before you are aware of making the decision
brrt lots of animals can recognize themselves in a mirror 12:05
iH2O only a few
hahainternet very few
iH2O very few
hahainternet three or four total
iH2O yes
brrt lots of animals which can't are not biased on visual inuts
iH2O elephants, crows
brrt lots of birds can
hahainternet some apes
iH2O which indicates that this ability is "special", beyond ordinary knowledge processing
hahainternet iH2O: it just shows specialisation 12:06
iH2O: babies can, for example, recognise facial differences between members of non human species
but by the time you are 2, you lose this ability
brrt no, i disagree fully with the first premise
iH2O hmm
brrt recognising yourself in the mirror is a specific instance of recognising peers in the mirror 12:07
iH2O absolutely not
brrt this is only relevant for social animals which operate visually
iH2O its more
brrt yes, yes it is
hahainternet indeed, but it requires a certain level of abstract thought, but this is likely built off a physical mechanism, not a transcendental 'meta' mechanism
iH2O lol 12:08
hahainternet there's an organisation of cells in our brain that allows us to reference images in a mirror vs tagged sensory data on 'ourselves'
iH2O this is a high level ability. you suggest it is low level
brrt no
12:09 Actualeyes joined
iH2O s/no/yes 12:09
hahainternet iH2O: what i'm saying is, what we see as 'high level' is just emergent behaviour from a brain very very similar to all others
FROGGS :D
hahainternet the difference between humans and dogs for example, will be far far smaller than we'd be comfortable with
imagine it in code, a language without $self and a language with it
you can accomplish many of the same things regardless 12:10
brrt i reject the notion that there is such a thing as high and low level
hahainternet the mechanisms don't even change very much
brrt: in the brain, or conceptually?
because conceptually i don't think you've an argument to make
brrt in the brain
hahainternet brrt: well we have actual evidence of these high and low level processes
brrt i'm not able to continue the discussion at this point
see you later :-)
hahainternet ciao 12:11
12:11 huggable left 12:12 huggable joined, brrt left
hahainternet anyhow, my favourite assertion i like to make is that of organic computers 12:12
many people have a scifi, startrek view of the future
where advanced medicine is tiny mechanical robots injected into your bloodstream
but in reality we know how effective programmed biology is 12:13
so when people see the future as VR goggles they strap on
i see it as a squishy lump of meat you get injected
masak .oO( that's all -- enjoy your lunch! ) 12:14
hahainternet :D
there's no good reason to think that the future of computers will be anything but biological though
in fact, you can argue it might not even be possible to make a brain without biology
it may be that fundamentally, non biological machine intelligences are not possible
iH2O intelligence has some *magic* 12:15
hahainternet [citation-needed] :p
iH2O we gotta to inject that into machines
masak I think describing it as "magic" is selling intelligence short 12:17
hahainternet i actually think it's doing the opposite, hyping it up as something notable 12:18
my view is this, there's no evidence for any mechanism by which 'free will' can occur, without the concept of free will, intelligence is just rapid environmental modelling and historical correlation to find a best course 12:20
and that is completely describable as a computable process right now, we just don't have the processing volume to test it
and if that is the case, 'intelligence' is an illusion, our deluded perception of a continuous modelling process we don't even have access to
our decisions bubble up from this mechanism and we, the deluded people living in our own brains, grasp on them as our own 12:21
cognominal this thread is interesting but does it belong to #perl6? 12:22
12:22 _mg_ joined
hahainternet cognominal: probably not, but it was quiet, feel free to get us on topic :) 12:23
AlexDaniel cognominal: well, if we're planning to change the world with perl 6, then… maybe? :D
iH2O cognominal: #AI is the quietest room on IRC, nothing ever happens there :(
12:23 telex left
iH2O i usually go there when i need a nap z... 12:23
masak I don't like the tendency to say "we figured out all the constituent parts, so X is an illusion" 12:24
12:24 telex joined
masak you can stop before the comma and things are still just as nice 12:24
and it leaves you with one more term that you can use and that people will understand
hahainternet masak: i don't have a problem with the term, i'm just pointing out how 'free will' is the part we find the biggest concern 12:25
but there's literally no evidence for it
and if we look at a person without assuming free will, the process of their brain is thoroughly understandable, and nothing but computing technology prohibits us recreating it
when we do that, we will produce the first Machine Intelligence (is my contention) 12:26
masak I'm fine with leaving "free will" completely aside. I'm not sure what a conclusion in the free will debate would even look like. 12:27
"yes, we have free will!" -- "oh, great. I'll use mine to grab a cup of coffee."
"no, we don't have free will!" -- "that's too bad. I'll go get a cup of coffee."
hahainternet from my perspective, the conclusion would be linking of intelligence to some underlying physics mechanism, quantum indeterminacy being the obvious choice 12:28
pmurias hahainternet: "nothing but computing technology", doesn't that apply to a lot of the far future scifi things?
hahainternet my argument is that free will behaves as potentiation of various options
pmurias: not at all, transporters are fundamentally impossible
shields, phasers, all these sorts of things are likely impossible
machine intelligences though? we'll be swimming in them before long
oh, and another impossible thing i'm sick of people bringing up, holographic displays 12:29
get over it hollywood, nobody but a designer would ever want one, and augmented reality is a better solution to that
cognominal Some strong deniers of free will have a strong will to prove their point
hahainternet i should really blog about light field displays in order that i can just link that
cognominal: i enjoyed the irony in that :) 12:30
masak no irony. it's a strong non-free will, duh
hahainternet in fact
i just realised
a VR headset is perfect to reproduce a video of a light field display
wonder if i can do the same with a phone's accel/gyro combo
FROGGS why not a more direct video "projection"? like, transmitting data directly into your head? 12:31
hahainternet FROGGS: nothing wrong with that, and that will come fairly soon, i just hate 'holographic displays' and they're everywhere at the moment
FROGGS I mean, you may also provide a solution for blind ppl 12:32
hahainternet endless people fawning over something few would ever want
cognominal So strong deniers of free will are just predestined to be,,, to get to another hot subject, predestination
FROGGS hahainternet: still, jarvis is awesome :o)
hahainternet what they actually would want is a 'light field display', but i've seen virtually no talk about them
FROGGS: indeed the most impressive technology in those movies by a very long way
cognominal: indeed
FROGGS I'd buy a voice-only jarvis system too, no doubt 12:33
pmurias hahainternet: the stuff in movies is supposed to look cool not actually be usefull/possible 12:34
hahainternet pmurias: i agree, but the meme has made its way into games and 'serious' discussion
FROGGS remember that joystick that riker used in star trek 10? >.<
hahainternet every futuristic setting now includes endless holographic displays 12:35
drives me nuts! :D
masak cognominal: "predestined to be dree-will deniers" reminds me of the saying "how magnanimous of God to even create atheists"
pmurias masak: re blog post the rail tracks renderings look cool 12:36
hahainternet hmm i've realised i'm not very clear on this point, i assume everyone here gets what a 'light field display' is? 12:37
cognominal masak, yea
iH2O i think you can do away with predestination if you assume that each person has his own individual timeline 12:38
FROGGS hahainternet: probably not
cognominal and kind of mischevious creating believers of one true god, but not the same.
masak pmurias: thanks. countless hours wasted on drawing them :P
hahainternet FROGGS: a display with control over the angle of emission of photons as well as the wavelength, this allows it to display depth 12:39
masak pmurias: made slightly worse by the fact that little Noa helpfully rebooted my computer in such a way that I lost my first attempt.
hahainternet it would appear as a virtual world extending into your screen with 'real' depth
FROGGS hahainternet: inst that what the star trek holodecks are about?
hahainternet FROGGS: to an extent 12:40
they also can magically cause those photons to be emitted from a 'forcefield' created in free air
which is a bit over the top
but simply imagine an FPS game, where you can move your head left and right to see left and right
that is a plausible future of displays within the next decade
holographic displays on the other hand would be translucent non physical nonsense 12:41
FROGGS ahh, I see
iH2O do you at least have a 3D LED monitor for now, ahah
hahainternet you can easily imagine a reverse lytro camera, if you understand how they work
in reality (and ironically) the mechanism to create these displays will likely be 'holographic' 12:42
12:42 colomon joined
hahainternet as in, it will use diffraction gratings rather than micro lenslet arrays 12:42
iH2O progress never stops
moritz masak++ # blog
hahainternet yeah sorry for the big diversion, masak despite my criticisms, your blog is excellent :) 12:43
masak I wish I could blog more
moritz next up: ball paths :-)
masak moritz: aren't those just parabolas?
hahainternet masak: perhaps you answered it in the blog and i missed it, how did you model the joint flexibility? 12:44
pmurias hahainternet: I can imagine things that "look like" holographic displays from scifi/games being used in augumented reality so that things aren't real can be distinguished
masak hahainternet: I didn't -- I skipped that bit
hahainternet: instead of modeling wiggle, I just count the eventual displacement 12:45
hahainternet masak: right ok, i see now that the graph includes impossible ones
my mistake
moritz masak: either my dictionay mistranslated, or the term is completely ambiguous
masak which term?
hahainternet pmurias: that'd be a funny one, but i am mostly just against the meme, i'd rather get people talking about light field displays, as they make so much more sense
moritz masak: ball path; I meant something like this: www.meinbaukasten.de/media/catalog/...versen.jpg 12:46
masak moritz: ooh!
er, I mean... "noooooooo!"
:P
hahainternet pmurias: imho we're likely to see glove type AR/VR interfaces within a decade or so, so that's a scenario where a 'hologram' would be useful, but it wouldn't be a hologram so, it's a bad term
masak I just just free of my last obsession!
hahainternet those actually seem very straightforward
you can probably get away with a tiny bit of 'wiggle' and a 3d vector sum? 12:47
i suppose you have the problem of calculating entry energy
but that would be true of masak's trains, so you can just assume constant speed
masak moritz: those look lovely. 12:49
hahainternet masak: are you aware of 'marble run' toys? :D 12:50
model this: www.youtube.com/watch?v=UxcJfaoK5xg
jast here you have to keep track of momentum. the train doesn't need to move on its own, but the marbles do, given an initial impulse
masak I'm not modeling the train at all. just focusing on the tracks and the possible ways to build them. 12:51
hahainternet jast: the problem masak was tackling wasn't 'ball paths' as such, but the potential arrangements in space
^^
masak basically a combinatorics problem.
jast sure, I read that.
my point is a train track in which trains don't have enough momentum is still useful, a marble slide not nearly as much
so the same simulation is quite a bit less interesting for the slide
hahainternet you can easily simplify the modelling though
there's only one unrestricted curve 12:52
so you can calculate the maximum velocity permissable
and then model at that
12:52 _mg_ left
hahainternet as there's no restrictions on entry energy, and as long as it's not a significant mach fraction it's good enough :) 12:52
12:53 finanalyst joined
hahainternet i suppose if you allow balls to fall off instead of using the z axis blocks that adds a significant challenge, but i'm just saying there are a lot of simplifying assumptions possible 12:53
jast sure
that marble machine is crazy btw
hahainternet it is, i've always wanted to build some big rube goldberg machine 12:54
jast so, a computer basically? ;)
hahainternet no no, just a ludicrously overcomplicated machine for a simple job 12:55
like this marble machine could be replaced by a single straight pipe
jast isn't that what I just said? :P
hahainternet i suppose so :)
being able to model that marble machine correctly would be such an unbelievably huge job people rarely comprehend it
jast not really something I'd be interested in, but it's definitely fun to see the result
hahainternet you'd require a datacentre of computers for a very very long time 12:56
jast depends on what level of accuracy you're after
hahainternet velocities are easily high enough that rigid body simulation would be woefully inadequate
jast: nah not in any meaningful way
it's into the range where damage is being done constantly and energy is being lost significantly in heating
so you're basically screwed from step #1
12:56 lizmat left
jast well, there's always toy-level simulation 12:57
with cheating and such
iH2O haha: do you have a PhD in cybernetics?
hahainternet i am completely unqualified
by US standards, and new UK standards, i didn't finish high school
if i'm talking authoritatively, i apologise, everything i've said is my opinion 12:58
jast qualifications on paper = boring
iH2O = theoretical
masak until you're applying for a job 12:59
jast I have a BSc in $field and know just enough to know how much I don't know
(and to know, a bit later, that I didn't actually want to finish the Master's programme)
iH2O jast = just enough
12:59 kaare_ left
hahainternet i wish i had gone to university because there's a lot of things i don't understand and would like to 12:59
but i'm in my early 30s, so i still have time to learn things 13:00
jast there's always self-study, and talking to people who know stuff
most of the stuff I was "taught" at university I actually learned from the internet
iH2O from wikipedia, right
hahainternet one of my favourite quotes is "knowlege doesn't weigh anything" .. it's factually incorrect but i take its meaning to heart
jast the most valuable thing you get from university is a learning path of sorts
and peers
well, how would you measure the weight of knowledge? ;) 13:01
hahainternet carefully :)
jast good answer
hahainternet it's from Ray Mears, a survival guide, so what he's saying is "knowledge is free"
iH2O knowledge is made of holes in punch cards 13:02
hahainternet it has no downside
jast human functioning is actually my other big field of interest, and knowledge is an interesting topic in that context
13:02 pmurias left
iH2O holes arent heavy 13:02
jast knowledge does have downsides
hahainternet does it though? 13:03
iH2O holes have downsides
jast yes
aside from the whole 'ignorance is bliss' thing
iH2O lol
jast (and there's some truth to that, too)
hahainternet it's a difficult argument to make, because the ignorant don't realise their bliss 13:04
jast it's an easy argument to make for someone who thinks they know too much :}
anyway. knowledge, if you think of it as more than just being able to recite facts, involves a more or less intuitive understanding of at least some elements of it
for instance, if you don't know what differentation is all about, reasoning about it doesn't become easier
hahainternet yeah the term is quite loosely defined, but the general principle is one i think is valuable to apply
'you might as well learn, because it won't do any harm' 13:05
jast and intution takes time to build and, presumably, occupies a rough equivalent to space
hahainternet actually that's an interesting one
because my personal view is that the brain is a series of constant modelling processes 13:06
jast I don't think equating human memory to disk space is a reasonable comparison, but still there are physical limits
hahainternet and it's arguable that a lot of 'memory' could be refinements of those models
but it doesn't follow per se that a model refinement is an increase in complexity
so there's an argument to be made that the brain of someone who has a vast corpus of knowledge and understanding may in fact be significantly simpler than the brain of someone without this
jast the more intuition you need (= more fields of knowledge), the more complexity there is in tuning your cognitive structure to fit them all together 13:07
simply put, sometimes understanding one thing makes it harder to understand some other thing
hahainternet it's not clear to me that that is inherently true
jast I don't want to put this up as a law, just as a tendency 13:08
hahainternet i'll give a brief example to try and illustrate my thoughts
masak sounds a bit like "the curse of knowledge", which is a thing
hahainternet take a physically impossible mechanism that is plausible on its face
jast I mean, often there is an equivalent payoff for getting a unified concept of two different fields
hahainternet i have this belief i find it hard to shake, and i know it's impossible, so if people don't mind the diversion i'll illustrate it
imagine a 1 mile long flat rectangular beam 13:09
atop that at one side, sit an electrical generator shaped as a cylinder, as it rolls down the beam, it spins and thus generates electricity
now lift one end of the beam up by a microscopic amount, sufficient for the generator to begin rolling, a perfect cylinder will begin rolling immediately
13:09 lizmat joined, pmurias joined
jast (not taking into account friction) 13:10
hahainternet when it gets to the other end, drop the end you started with by 2x the distance
allow it to roll back
now, arbitrarily extend the length of the plate, in theory increasing the amount of electricity extracted
now, this is clearly wrong, and i know it's wrong because i know enough to look at the sources of energy input, and i know that E=mgh
13:10 finanalyst left
hahainternet but it's plausible on its face, and someone without the understanding of that equation may have to go through an extensive and very complex process to find out it is false 13:11
yanmc guys, I can't get p6doc to work
hahainternet ok back on topic :D
yanmc haha, don't mind me :)
jast what does it do instead of working?
moritz hahainternet: you missed a critical step: the claim (that is wrong)
yanmc apparently its path is empty? 13:12
Cannot locate Type::Str in any of the following paths:
hahainternet moritz: that you can generate greater electricity output than the cost of raising and lowering the track to cause the generator to roll
pmurias why is the hexint rule is HLL::Grammar so weird?
moritz hahainternet: ah
yanmc: which version of rakudo are your using?
13:12 Emeric joined
yanmc rakudobrew version tells me moar-nom 13:13
jast hahainternet: okay, but that doesn't say anything about the complexity of the cognitive structure involved, only about the complexity of the overall process to determine the correct answer
Emeric is it possible to build a .exe from a perl6 script ?
yanmc perl6 says This is Rakudo version 2016.05-179-gf192415 built on MoarVM version 2016.05-37-ga126e0f
13:13 toddr joined
yanmc implementing Perl 6.c. 13:13
hahainternet jast: indeed, but it's simply an illustration of how more knowledge can lead to a simpler process
jast I don't disagree with that 13:14
hahainternet i don't pretend to have any facts about how the brain actually works :D
toddr FUI in Damian's Class right now. The link to download for OSX on rakudo.org/how-to-get-rakudo/ is bad.
jast nobody knows how the brain works, so that's good :)
moritz yanmc: and did you install p6doc? 13:15
yanmc moritz: I cloned the repo from github?
jast it's clear in this case that the knowledge helps. thing is, there was some mental effort involved in getting to a point where you can recognize that the formula applies to this, and what it means for the claim. the interesting question is whether that effort depends only on the complexity of the subject... clearly not. some people find some topics easier to grasp than others. 13:16
yanmc and added the executable to my path, but same thing happens regardless of how I call it 13:17
jast so, there are several forces in effect: more knowledge can have a holistic effect to speed up future learning, but we have some kinds of physical limitations and some concepts are contradictory. so where are the trade-offs? no idea :)
moritz yanmc: you might need to install it ("panda install .") for it find the doc files; but I'm kinda out of the loop wrt the docs
yanmc ok, will try 13:18
13:18 pmurias left
yanmc in the mean while, a related issue with trying to build the html version of the docs 13:18
it generates the graph images correctly, i.e. like type-graph-Int.png, but it looks for type-graph-int.png (lowercase) and errors out at that point 13:19
moritz huh, both int and Int exist 13:20
yanmc: what platform are you on?
yanmc ubuntu linux 13:21
moritz: yeah, very strange, the file system should have no problem with that 13:22
13:22 pmurias joined
moritz also, the build for doc.perl6.org runs on a Debian 13:22
so very similar
though probably on an older rakudo version
yes, on 2016.04 13:23
13:23 dha joined
yanmc moritz: first the folder was contained in my Dropbox and I got case conflicts on these 5 files 13:23
jast some unusual filesystems can mess up case in filenames 13:24
yanmc scratch that, 3, type-graph-Int.png type-graph-Int.svg Operators.X.html
moritz yanmc: oh, you might rerun htmlify.p6 with --type-graph to rerun them
*need to 13:25
iH2O équit 13:26
13:26 iH2O left
masak .oO( équit -- I'm outta hére ) 13:26
13:27 jameslenz left
yanmc oh boy, somehow I still had it installed in both locations, running it now, but don't expect that problem again 13:28
AlexDaniel .seen timeless 13:29
yoleaux I saw timeless 16 Jun 2016 03:33Z in #perl6: <timeless> this is what i was using to test a change like what you pushed www.irccloud.com/pastebin/TYiCATmm/
dha Hm. Damian is making Perl 6 look pretty cool. Also scary. 13:30
:-)
gfldex where is he doing that?
dha YAPC::NA 13:31
lizmat www.yapcna.org/yn2016/event/1858 13:32
13:33 BenGoldberg joined
dalek ake: 36e554f | (Pawel Murias)++ | / (2 files):
Use python rules for integer literals instead of NQP ones.
13:36
TimToady --> tpc hotel 13:37
yanmc moritz: panda install worked!
I don't know if this is correct and the path is hardcoded, but p6doc apparently looks for the pods in ~/.perl6/doc 13:38
maybe that information was missing from github.com/perl6/doc/blob/master/README.md
dalek ake: ec2bb60 | (Pawel Murias)++ | src/Snake/Grammar.nqp:
Remove TODO comment, it's python 3 not python 2 that we are implementing.
13:41
Woodi hahainternet: about holo displays :) such strong emotion... but it's just augmented flowerpot vs your augmented glasses, both can be tools :) also you looks you prefer short things that can be available in short term vs sci-fi... it's like don't liking poetry, it's for communicating idea but usually no immediate technical application 13:45
dalek c: 114bd1a | (Zoffix Znet)++ | doc/Programs/00-running.pod:
Fix unsupported POD directives
yanmc where do panda installed packages go on the filesystem?
dalek c: bf6b0ee | (Zoffix Znet)++ | htmlify.p6:
Move Programs to end of menu
13:46
moritz yanmc: into $install/share/perl6/site I think
13:47 pmurias left
yanmc moritz: oh, but panda is really the only way to interact with that? (no renaming {,.disabled} which is not necessarily a bad thing) 13:52
13:54 pmurias joined
pmurias masak: re state of snake, looking at the commit log arnsholt hasn't worked on it recently 13:56
dha Damian: "There's really no difference between a variable and a subroutine" I bet the audience is loving that. :-)
Woodi dha: where you hear/saw that ?
dha Damian's giving his Perl 6 multi-paradigm course at YAPC::NA 13:57
As usual, he's occasionally trying to scare us. :-)
13:57 toddr left
Woodi dha: Perl6 is scary by itself ;) 13:58
13:58 lizmat left 14:01 toddr joined
grondilu off topic: Blue Origin's launch livestream: www.youtube.com/watch?v=EI-tGVFg7PU 14:01
yanmc oh "earlier today", would be cool if it could be rolled out to launch pad and be launched in 30' time 14:03
Zoffix looks
Zoffix sees Russians dissing the rocket why others compare to a penis
14:04 toddr left
AlexDaniel Zoffix: have you figured out the thing with \-- ? 14:04
Zoffix AlexDaniel, are you talking about Programs POD? I've not even attempted 14:05
AlexDaniel yea
14:05 toddr joined
AlexDaniel tbrowder: hi! By the way, why 00-running? Why not have a beautiful link instead? 14:06
programs/running – looks fine!
14:07 dha left 14:08 kaare_ joined 14:09 sufrostico joined
pmurias (pythons tab/space mixing rule)-- # had to look at the interpreter source to understand how it works 14:09
14:11 toddr left
mst pmurias: hrm? all the python code I see uses 4 space indent 14:12
14:14 jjido joined 14:16 lizmat joined, toddr joined 14:18 dha joined, jjido left 14:30 kurahaupo joined
pmurias mst: that's the all way all the vaguely sane people indent Python code ;) 14:32
stevieb pep8 states 4-space tabs, and that's all I've ever seen: www.python.org/dev/peps/pep-0008/#indentation
mst pmurias: which is why, obviously, I end up using 2 space
being confused for vaguely sane would not help my life
pmurias mst: the Python tokenizer both treats the tabs as indenting up to a multiple of 8 and then checks that things don't change when treating tabs as having the size of a single space 14:35
mst oh yow 14:36
pmurias had to look up the rule so that the Python on QAST (aka snake) has the same semantics 14:37
afk&
14:43 DarthGandalf joined 14:44 adu joined, zakharyas joined 14:50 khw joined 14:55 rgrinberg joined
rjbs Huh, I thought Damian was @thoughtstream on Twitter. Seems not. 14:56
dha I'm not sure he's actually on twitter. 15:00
cognominal currently, is there any explicit types that does not fit in a register ? Meaning you are obliged to declare the boxed equivalent, say Buf instead of buf
BenGoldberg What are you calling a type? 15:04
m: my rat $x = 1.2; 15:05
cognominal related to the previous question. Is there any $v for which $v.REPR is not P6Opaque
camelia rakudo-moar 53af02: OUTPUT«5===SORRY!5===␤Type 'rat' is not declared. Did you mean 'Rat'?␤at <tmp>:1␤------> 3my rat7⏏5 $x = 1.2;␤Malformed my␤at <tmp>:1␤------> 3my7⏏5 rat $x = 1.2;␤␤»
cognominal m: say rat.REPR
camelia rakudo-moar 53af02: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ rat used at line 1␤␤»
cognominal oops
BenGoldberg m: say int.REPR
camelia rakudo-moar 53af02: OUTPUT«P6int␤»
BenGoldberg m: say num.REPR
camelia rakudo-moar 53af02: OUTPUT«P6num␤»
BenGoldberg m: say Num.REPR 15:06
camelia rakudo-moar 53af02: OUTPUT«P6opaque␤»
BenGoldberg m: say Mu.REPR
camelia rakudo-moar 53af02: OUTPUT«P6opaque␤»
cognominal ok
why not rat.REPR ?
BenGoldberg Because there is no native rat. 15:07
cognominal S02 says rat is native
lizmat it got implemented differently :-)
BenGoldberg std: my rat $x = 2.3;
camelia std : OUTPUT«No such file or directory»
lizmat Rational is implemented as a role 15:08
camelia std : OUTPUT«(timeout)cat: /home/camelia/std/snap/revision: No such file or directory␤»
rjbs Trying to figure out what determines legal names for variables.
15:08 toddr left
rjbs ...and whether that differs from $^vars 15:08
cognominal I think that native that don't fit in a register are in limbo
the specs talks about a lot of them but only their boxed counterpart exists 15:09
so my confusion
yanmc is there a way to make the REPL not quit on ^C?
15:11 toddr joined
rjbs how can I print a description of a subroutine signature? 15:11
geekosaur yanmc, not yet, it's a known bug 15:12
lizmat m: sub a($a,@b,%c) {}; dd &a.Signature
camelia rakudo-moar 53af02: OUTPUT«Method 'Signature' not found for invocant of class 'Sub'␤ in block <unit> at <tmp> line 1␤␤»
lizmat m: sub a($a,@b,%c) {}; dd &a.signature
camelia rakudo-moar 53af02: OUTPUT«:($a, @b, %c)␤»
lizmat rjbs: ^^
rjbs Got it, thanks. 15:13
dalek c: cfd3ee3 | (Jan-Olof Hendig)++ | doc/Type/IO/Socket/Async.pod:
Fix typo
15:13 adu left
rjbs So, it appears to be (to my great pleasure!!) that two $^x variables with canonical unicode equivalence are combined into one. 15:13
sub { $^􏿽xE2􏿽x84􏿽xAB + $^Å } is 1-ary, with the a-ring and angstrom sign unified
good job, perl6!
cognominal BenGoldberg, can you get a .REPR of a type non fitting in a register print anything than P6opaque without extensions or creating a new kind of OO using the metaobject systeem ? 15:14
lizmat rjbs: that's NFG for ya
moritz .U 􏿽xE2􏿽x84􏿽xAB
yoleaux U+212B ANGSTROM SIGN [Lu] (􏿽xE2􏿽x84􏿽xAB)
moritz .u Å 15:15
yoleaux U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE [Lu] (Å)
15:15 finanalyst joined
rjbs how does NFG do that? I knew it worked on grapheme clusters, but I didn't know it dealt with canonical equiv 15:15
15:16 toddr left
lizmat rjbs: ah, good point 15:17
hmmm... not sure about that
rjbs Okay! Who do I interrogate about that later? Also, who do I high five? :)
moritz I think NFG is based off NFKC
15:18 CQ joined
rjbs moritz: but would I then lose precision round-tripping through NFG? 15:18
moritz and we have a synopsis on unicode... S19 maybe?
rjbs moritz: Great, I'll look into that!
S15
Um: design.perl6.org/S15.html
moritz synopsebot6: S15 15:19
AlexDaniel rjbs: There's a list of people to high five on the bottom: perl6advent.wordpress.com/2015/12/...s-is-here/
15:19 finanalyst left
rjbs AlexDaniel: Thanks, but I was looking specifically for the person(s) who addressed this one very specific issue. 15:19
AlexDaniel huggable: dunno
huggable AlexDaniel, ¯\_(ツ)_/¯
rjbs But I'm on that list, so I'll high five myself whilst I wait! \o/ 15:20
AlexDaniel and I'm not :P
rjbs I'll high five you anyway. 15:21
moritz: synopsebot6 taking holiday? :)
15:27 dha left, rblackwe joined
moritz rjbs: I think it triggers only on more specific stuff 15:27
S02:1234
synopsebot6 Link: design.perl6.org/S02.html#line_1234
AlexDaniel S02: 15:28
S02:0
synopsebot6 Link: design.perl6.org/S02.html#line_0
15:28 dha joined
AlexDaniel S02:a 15:28
synopsebot6 Link: design.perl6.org/S02.html#a
Zoffix S02:⁣ 15:30
15:30 _webstrand left 15:31 webstrand joined 15:34 ocbtec joined 15:35 araujo_ left 15:41 finanalyst joined
Zoffix webstrand, the bug was fixed 15:49
15:49 dha left 15:51 webstrand left, webstrand joined
BenGoldberg m: use native 'int'; # S02:Numeric_Types 15:53
synopsebot6 Link: design.perl6.org/S02.html#Numeric_Types
camelia rakudo-moar 53af02: OUTPUT«===SORRY!===␤Could not find native at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUnit::Reposi…»
lizmat S15:1 15:54
synopsebot6 Link: design.perl6.org/S15.html#line_1
15:56 cosarara_ joined
lizmat lunch& 15:59
16:07 skids joined 16:10 finanalyst left 16:11 huggable left 16:12 huggable joined 16:21 skids left 16:31 finanalyst joined, zakharyas left 16:34 zakharyas joined 16:37 lambd0x joined 16:38 Zero_Dogg left, Zero_Dogg joined, Zero_Dogg left, Zero_Dogg joined
lambd0x Hi everyone! Does Rakudo Perl compiler already has support receive from a program an int input? 16:39
16:39 trnh joined 16:41 jonadab left
Zoffix doesn't understand what that means 16:42
ilmari perl6 porgrams can receive integers from other programs in many ways 16:44
lambd0x sorry typo. I want to receive an Integer from the Standard Input but am not getting it right, I think. the Prompt function for example can just return a string for as far as I saw. 16:47
Is that right?
b2gills Do you mean a native integer, or do you mean a human readable integer? 16:49
lambd0x b2gills: I mean native integer type of Perl.
16:49 jonadab joined
Zoffix lambd0x, well, sure, there isn't a "I'm now typing in integers" mode :P Just coerce it with .Int 16:50
m: my Str ( $a, $b ) = 2, 4; say $a + $b # it DWIMs anyway
camelia rakudo-moar 53af02: OUTPUT«Type check failed in assignment to $a; expected Str but got Int (2)␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: my Str ( $a, $b ) = '2', '4'; say $a + $b # it DWIMs anyway
camelia rakudo-moar 53af02: OUTPUT«6␤»
b2gills m: #`( here is a native integer ) $*OUT.write: Blob.new: 0x63 16:53
camelia rakudo-moar 53af02: OUTPUT«c»
b2gills m: #`( here is a human readable integer ) $*OUT.print: 0x63
camelia rakudo-moar 53af02: OUTPUT«99»
lambd0x ok, I'm just starting to learn Perl 6. Was playing around with some subs and a simple while menu that got input from the user to redirect it to some of the subs. Using variables in a static way. 16:54
thanks :) 16:56
16:57 Ben_Goldberg joined 16:59 pmurias_ joined 17:00 BenGoldberg left 17:01 pmurias left
lambd0x Here's what I actually got and what the compiler gives me so far: bpaste.net/show/2816d25cbf4e 17:02
17:03 iH2O joined
Zoffix lambd0x, just return prompt(); no need to assign it to a var 17:04
lambd0x really? that's nice. 'll try it. 17:05
17:05 iH2O left 17:06 finanalyst left 17:07 finanalyst joined
Zoffix lambd0x, I'd write it like this: gist.github.com/zoffixznet/8b115b4...8159a16980 17:08
default { say ... } isn't even needed in this case. Just say ... is enough because `when` will exit the block if it matches. 17:09
Though, may be good for clarity ¯\_(ツ)_/¯
lambd0x Zoffix: thanks I'm really enjoying learning Perl 6 so far. 17:10
Zoffix \o/
17:12 Deep_Thought joined
lizmat Zoffix: so I should / could merge now ? 17:12
Zoffix: just checking
TimToady rjbs, moritz: NFG is just based on NFC, not NKFC, but NFC itself canonicalizes a few weird characters such as greek semicolon, so this is probably similar; and yes, NFG does lose the original representation, just as NFC does for composing chars 17:14
AlexDaniel uhh! 「prompt '';」 without return but with semicolon /o\ 17:15
ilmari m: say "\c[ANGSTROM SIGN]".uninames 17:16
camelia rakudo-moar 53af02: OUTPUT«(LATIN CAPITAL LETTER A WITH RING ABOVE)␤»
Zoffix lizmat, yup 17:18
17:21 dha joined 17:26 finanalyst left, ptolemarch joined
rjbs TimToady: thanks! 17:28
17:29 abruanese joined 17:35 Some-body_ joined 17:36 DarthGandalf left, Some-body_ is now known as DarthGandalf 17:39 dj_goku joined 17:41 woolfy joined
woolfy The Perl 6 course at YAPC::NA in Orlando by Damian Conway is well-visited, lots of "Perl 5 faces", and it's going well, and 40+ attendees. 17:42
Zoffix Awesome 17:44
17:45 Ben_Goldberg left 17:48 Deep_Thought left
masak nice! 17:53
17:54 BenGoldberg joined
tadzik sweet :) 17:56
17:56 _webstrand joined 17:57 webstrand left
lambd0x :'-) 17:58
woolfy (of course, also some well-know Perl 6 faces, like Larry, DrForr, lizmat, dha)(and Ricardo Signes and Chip Salzenberg!!!) 18:04
18:04 CIAvash joined
jdv79 is the material up to date? 18:06
FROGGS .oO( well, Larry is perhaps a bit old :P )
lizmat jdv79: yes it is
jdv79 i meant things like glr and async 18:08
mst are the slides online now or do we have to wait til later for that?
woolfy mst: most of the time the courses by Damian are not made public, so I'm not sure. We did get handouts, a centimeter thick booklet with loads of info. 18:09
mst ah
of course it's PJF and Jacinta who publish everything
woolfy I will ask Damian in the upcoming break and get back to you about it. 18:10
lizmat mst: yeah
18:10 ptolemarch left
mst yeah, 's fair enough, I was mooostly curious which things he chose to highlight 18:10
woolfy (well, some people, like Damian, have giving courses as their business, and when he gives away his materials, some people might be less inclined to attend his courses) 18:11
It's a whole day, and he covers more than I can handle... but that does not say a lot. At the moment he is doing OO, and for me it's too deep.
nine woolfy: Chip Salzenberg? How is he? :) 18:12
jdv79 will a video be avail? 18:13
mst it's a paid training course
I continue to be glad that perltraining.com.au has decided that it makes sense to them to release a lot of their course materials, but it's entirely understandable that not everybody does 18:14
woolfy Damian's tutorial is among the most affordable ones, only $75 per person ( www.yapcna.org/yn2016/tutorials.html ). 18:16
Chip is looking well, and and active attendee, asking questions too.
jdv79: no, there will be no video 18:17
jdv79 oh well. id pay for materials or video or audio. just didnt make it to yapc. 18:19
dha To be fair, it was implied that the course is only $75 because it's being subsidized.
Also, I did *tell* you to come to YAPC. ;-) 18:20
jdv79 cool. i know. 18:21
18:26 _mg_ joined 18:27 ssotka joined 18:34 darutoko left
rjbs once again weeping because (obj.^methods.sort) doesn't dwiw; I should write a thiny to use in the reply to give me sorted method names 18:35
FROGGS m: say 42.^methods.sort: *.name 18:36
camelia rakudo-moar 1d93ad: OUTPUT«(ACCEPTS Bool Bridge Complex DUMP FatRat Int Num Numeric Range Rat Real Str WHICH abs acos acosec acosech acosh acotan acotanh asec asech asin asinh atan atan2 atanh base ceiling chr cis conj cos cosec cosech cosh cotan cotanh exp expmod floor gist is-prim…»
rjbs FROGGS: I end up using obj.^methods>>.name.sort 18:37
FROGGS: I'm just trained by Ruby. :)
18:37 finanalyst joined
FROGGS TIMTOWTDI :o) 18:37
rjbs I Wish My First Guess Always Was One Of The Ways To Do It
IWMFGAWOOTWTDI
dha WOOT 18:38
FROGGS ohh, that'd be the python way
18:38 kid51 joined
dha Guido once showed NY.pm TWO ways to do something. 18:38
FROGGS ohh wow
18:39 finanalyst left
dha I wish I could remember what it was. 18:39
FROGGS rjbs: installing 5.22 on a production right now btw :o) 18:41
18:41 zhmylove_ joined, vendethiel- joined
Zoffix There's 5.24! With no-experimental postfix deref! :P 18:42
*non
FROGGS hmmmm, worth a try I guess :o)
18:42 pRiVi_ joined
lizmat m: quietly say 42.^methods.sort # rjbs: another way :-) 18:43
camelia rakudo-moar 1d93ad: OUTPUT«(ACCEPTS Bool Bridge Complex DUMP FatRat Int Num Numeric Range Rat Real Str WHICH abs acos acosec acosech acosh acotan acotanh asec asech asin asinh atan atan2 atanh base ceiling chr cis conj cos cosec cosech cosh cotan cotanh exp expmod floor gist is-prim…»
18:44 obfusk joined, a3r0_ joined, ilmari_ joined, jdv79_ joined, kshannon joined, DrForr_ joined 18:45 jeek_ joined, rudi_s_ joined, Util_ joined, profan_ joined, johnjohn101 joined, mspo_ joined, Hor|zon_ joined, nowan joined 18:48 sufrostico left, _mg_ left 18:50 _webstrand left, zakharyas left, woolfy left, pRiVi left, vendethiel left, a3r0 left, Hor|zon left, Guest19630 left, jdv79 left, kshannon_ left, mspo left, rudi_s left, obfusk_ left, sftp joined, simcop2387 joined 18:53 CIAvash left 18:56 samb1 joined 18:57 _webstrand joined, woolfy joined 18:58 pmurias_ left, autarch joined
rjbs m: say 0o10; say 2⁸ 19:03
camelia rakudo-moar 1d93ad: OUTPUT«8␤256␤»
rjbs m: say 2⁰º¹⁰
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 2⁰7⏏5º¹⁰␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifier␤ …»
rjbs too bad :-)
Zoffix heh
FROGGS dammit, was fighting 15 minutes to install 5.24 via perlbrew through a proxy after I recognized I have to specify 5.24.0 -.- 19:04
jdv79_ wah wah:) 19:05
19:05 jdv79_ is now known as jdv79
Zoffix m: sub infix:<⁰º> ($b, $p) { say [$b, $p] }; say 2⁰º¹⁰ 19:06
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3x:<⁰º> ($b, $p) { say [$b, $p] }; say 2⁰7⏏5º¹⁰␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement …»
Zoffix too bad :)
m: sub postfix:<⁰º¹⁰> { $^b ** 8 }; say 2⁰º¹⁰ 19:07
camelia rakudo-moar 1d93ad: OUTPUT«256␤»
rjbs m: say 2⁰ᵇ¹¹ 19:08
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 2⁰7⏏5ᵇ¹¹␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modifier␤ …»
rjbs Zoffix: Well done.
Really, I'm cheating. There's no good legit superscript o or b.
Zoffix m: say '
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3say '7⏏5<EOL>␤ expecting any of:␤ argument list␤ single quotes␤ term␤»
Zoffix m: say 'ᵇ'.uninames
camelia rakudo-moar 1d93ad: OUTPUT«(MODIFIER LETTER SMALL B)␤»
19:09 pmichaud joined
pmichaud good afternoon, #perl6 19:09
Zoffix \o
dha hi pmichaud
jdv79 hello
lizmat pmichaud o/ 19:10
FROGGS pmichaud \o/
masak pmichaud! \o/
19:12 yqt joined
jdv79 pmichaud: at yapc? 19:14
or going
pmichaud at yapc -- arrived about an hour ago 19:17
19:17 pmurias joined
stevieb m: enum test <a b>; b.value.say 19:18
camelia rakudo-moar 1d93ad: OUTPUT«1␤»
stevieb m: my @a=("a","b"); enum test @a; a.value.say
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤ a used at line 1␤ enum used at line 1␤ test used at line 1␤␤»
stevieb how do I use an array to create an enum? I've tried several variants, none of which work 19:19
FROGGS m: my @a=("a","b"); enum test @a; say @a[0]
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤ enum used at line 1␤ test used at line 1␤␤»
Zoffix m: my @a=("a","b"); enum test (@a); a.value.say 19:20
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ a used at line 1␤␤»
Zoffix m: my @a=("a","b"); enum test (@a); @a.value.say
camelia rakudo-moar 1d93ad: OUTPUT«Method 'value' not found for invocant of class 'Array'␤ in block <unit> at <tmp> line 1␤␤»
FROGGS the enum is called test 19:21
m: my @a=("a","b"); enum test (@a); say test
camelia rakudo-moar 1d93ad: OUTPUT«(test)␤»
FROGGS m: my @a=("a","b"); enum test (@a); import test;
camelia ( no output )
FROGGS m: my @a=("a","b"); enum test (@a); import test; say a
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ a used at line 1␤␤»
FROGGS no, that probably wont work
stevieb m: <a b>.WHAT
camelia ( no output )
stevieb m: <a b>.WHAT.say
camelia rakudo-moar 1d93ad: OUTPUT«(List)␤»
stevieb m: my @a=<a b>; @a.WHAT.say 19:22
camelia rakudo-moar 1d93ad: OUTPUT«(Array)␤»
stevieb m: my @a=<a b>; @a.List.WHAT.say
camelia rakudo-moar 1d93ad: OUTPUT«(List)␤»
stevieb enum takes a list, so I even called List on it and still fail
m: my @a=<a b>; enum test @a.List; a.value.say 19:23
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤ a used at line 1␤ enum used at line 1␤ test used at line 1␤␤»
stevieb m: my @x=<a b>; enum test @x.List; a.value.say
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routines:␤ a used at line 1␤ enum used at line 1␤ test used at line 1␤␤»
stevieb ^^ just in case it was a name clash with @a, which (hopefully) could never happen
FROGGS m: BEGIN my @a=("a","b"); enum test (@a); say a
camelia rakudo-moar 1d93ad: OUTPUT«a␤»
Zoffix heh, damn. I tried with @a = BEGIN ... :) 19:24
stevieb m: my @a=("a","b"); enum test (@a); a.value.say
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ a used at line 1␤␤»
FROGGS stevieb: the enum declaration runs a compile time, and at that time the assignment has not happened yet
stevieb ahhhhh!
m: BEGIN {my @a=("a","b"); enum test (@a);}; a.value.say 19:25
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ a used at line 1␤␤»
FROGGS so, all is well until you time travell
19:25 cognominal left
FROGGS now it is only visible within that block 19:25
stevieb m: BEGIN my @a=("a","b"); enum test (@a); say a.value.say
camelia rakudo-moar 1d93ad: OUTPUT«0␤True␤»
arnsholt masak: Snake isn't dead, but it's not super-alive either 19:26
stevieb FROGGS: I'll play around with BEGIN. thanks!
arnsholt My copious free time is extra copious these days, with a three days old and a 12 month over due thesis 19:27
stevieb in fact, enum won't work in the case I wanted it for, as I want to be able to change it. I'll use a hash instead :)
FROGGS arnsholt: \o/
19:27 dha left
arnsholt But it's a projecy that's still fermenting in my brain, and I think it'd be interesting to make more progress on it 19:27
FROGGS arnsholt: girl or boy?
arnsholt So I'm pondering stuff like how to get the Python type system right, where object's type object is type and type itself extends object 19:28
Zoffix m: my $xºbar = 'wat'; say $xºbar 19:29
arnsholt Sort of a type croissant?
camelia rakudo-moar 1d93ad: OUTPUT«wat␤»
arnsholt FROGGS: Boy =)
FROGGS arnsholt: awesome :D
dalek ake: 2c4204e | (Pawel Murias)++ | src/Snake/ (2 files):
Rename sports to spaces-or-tabs.
pmurias arnsholt: hi
arnsholt pmurias: EHLO! =)
woolfy mst (and others who were interested): I just asked Damian, and he says "no", to "will the slides of the Perl 6 course be available online". For exactly the reasons I stated. It's his income. 19:30
pmurias arnsholt: renamed sports to spaces-or-tabs as I can't bend my mind not to parse it as a single word ;) 19:31
arnsholt pmurias: np =)
mst woolfy: well, yes, as I said, once I'd remembered it was only PJF+Jacinta who were outliers in that respect, I wasn't expecting any other response
Juerd would gladly pay to watch recordings of such talks 19:32
That'd still be much cheaper than actually going to a YAPC :)
Zoffix m: my \ʳᵘⁿ_ᶠᵒʳ-ᵗʰᵉ_ʰⁱˡˡˢ = 'run for the hills'; say ʳᵘⁿ_ᶠᵒʳ-ᵗʰᵉ_ʰⁱˡˡˢ 19:33
camelia rakudo-moar 1d93ad: OUTPUT«run for the hills␤»
Zoffix That's just obscene :P
arnsholt No, it's Unicode ;p
japhb arnsholt: Not mutually exclusive statements. :-) 19:35
arnsholt masak: Another thing that's annoyed me in Snake is the fact that the type() constructor is overloaded to also extract the type object of things 19:36
Now *that's* obscene!
dalek c: 6a252c5 | (Tom Browder)++ | htmlify.p6:
simplify for loop
19:38
c: 276c613 | RabidGravy++ | htmlify.p6:
Merge pull request #606 from tbrowder/rm-flat

simplify for loop
19:40 domidumont left, dha joined 19:42 Supervisor joined, Supervisor left
arnsholt masak: Anyways, I've given you a commitbit to Snake. No need to feel pressured to hack on it (I'm not doing much to it anyways, after all), but if you have ideas on how to proceed I trust your judgement. Bug tickets discussing implementation issues are most welcome too, of course =) 19:42
19:43 jjido joined
woolfy Juerd: in my experience, when a video of something is made avaliable in a website where you have to pay for it, very soon after many more people have a copy of the video and most have not paid for it... 19:48
19:50 rindolf left
mst woolfy: I liked 37signals' trick with their e-books where they embedded the purchaser's name 19:51
woolfy mst: yeah, me too, have some of such e-books copied and uploaded shamelessly by other people... 19:55
19:58 cognominal joined
Zoffix m: say $_ %% Ⅴ*Ⅲ ?? 'Fizz Buzz' !! $_ %% Ⅲ ?? 'Fizz' !! $_ %% Ⅴ ?? 'Buzz' !! $_ for ^Ⅹ*Ⅹ 19:58
camelia rakudo-moar 1d93ad: OUTPUT«Fizz Buzz␤1␤2␤Fizz␤4␤Fizz Buzz␤Fizz␤7␤8␤Fizz␤Fizz Buzz␤11␤Fizz␤13␤14␤Fizz Buzz␤16␤17␤Fizz␤19␤Fizz Buzz␤Fizz␤22␤23␤Fizz␤Fizz Buzz␤26␤Fizz␤28␤29␤Fizz Buzz␤31␤32␤Fizz␤34␤Fizz Buzz␤Fizz␤…»
Zoffix :) 19:59
Juerd woolfy: That happens, yes. 20:00
20:01 girafe joined 20:08 cognominal left 20:11 jjido left, jjido joined, huggable left 20:13 erdic joined, telex left 20:14 telex joined, jack_rabbit joined 20:15 rindolf joined 20:22 pmurias_ joined 20:26 pmurias left 20:34 pmurias_ is now known as pmurias
pmurias is passing an array of 2 integers cheaper in nqp than passing an object? 20:34
moritz the passing itself is just a reference, so should be the same performance wise 20:35
arnsholt Yeah, even a native array goes through the object paths
The *lookups* might be faster, but I wouldn't expect the passing to be 20:36
(lookups into the array vs. lookup of object attributes, that is)
moritz as for storage, I guess the array needs to store itse size somewhere, and the object needs to store its class
so, donno
arnsholt Array is probably more compact
As P6opaque also stores things like attribute name to offset tables and the like 20:37
pmurias arnsholt: that would be shared for all the object of the same class
moritz right, that's in the meta calss 20:38
*class
well, meta class instance
and the array also has a meta class instance
20:39 BenGoldberg left
arnsholt Oh, derp. That's true 20:41
moritz nqp-m: say([].^name)
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say([].^na"␤ at gen/moar/stage2/NQPHLL.nqp:706 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
moritz nqp-m: say([].HOW.name([])) 20:42
camelia nqp-moarvm: OUTPUT«NQPArray␤»
20:42 TEttinger joined 20:46 rindolf left
stevieb is there a way to constrain the size of an attribute? for instance, I want a read/write array, but I want to force it to contain exactly eight elements 20:47
moritz m: my int @array[8]; say @array.elems 20:48
camelia rakudo-moar 1d93ad: OUTPUT«8␤»
moritz stevieb: ^^ like that, but only for native arrays, afaict
m: my @foo[8]; say @foo.elems 20:49
camelia rakudo-moar 1d93ad: OUTPUT«8␤»
moritz oh, seems to work rather generally
gfldex m: my int @array[8]; say @array.elems; .say for @array;
camelia rakudo-moar 1d93ad: OUTPUT«8␤0␤0␤0␤0␤0␤0␤0␤0␤»
gfldex m: my @array[8]; say @array.elems; .say for @array;
camelia rakudo-moar 1d93ad: OUTPUT«8␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤»
stevieb moritz: thanks for that. I completely forgot I had read that... I should have known :) 20:50
20:54 mkende joined
gfldex m: my @a[8] is List; .say for @a; 20:55
camelia ( no output )
gfldex m: my @a[8] is List; @a[100] = 'oi!';
camelia rakudo-moar 1d93ad: OUTPUT«Cannot modify an immutable Nil␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: my @a[8] is List; @a[5] = 'oi!'; 20:56
camelia rakudo-moar 1d93ad: OUTPUT«Cannot modify an immutable Nil␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: my @a[8] is List[Str]; @a[5] = 'oi!';
camelia rakudo-moar 1d93ad: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Can't use unknown trait 'is ' in a variable declaration.␤at <tmp>:1␤------> 3my @a[8] is List[Str]7⏏5; @a[5] = 'oi!';␤ expecting any of:␤ TypeObject␤ default␤ dynami…»
20:56 pmurias left 20:58 mkende_ joined, mkende_ left
gfldex stevieb: you didn't read it because we didn't wrote it 20:58
i will plug that hole tomorrow
stevieb perhaps something like it was in an intro or something I read somewhere... 21:00
mkende Hi all, I have an issue with Rakudo/moarVM compilation times: if I use Rakudo as provided by the Debian testing package or if I build and install it myself with a --prefix=/usr/local/bin, then just running "perl6 -e ''" takes more than 2 seconds (entirely spent in the "parse" stage). If I install the compiler with --prefix=/home/user/foobar then this issue disappear (compilation is fast). 21:03
Is this a known issue?
21:03 rindolf joined
stevieb gfldex: the following doc describes "fixed size arrays", which is relatively similar to what I was asking, but not quite. That's where I remember it from perl6intro.com/ 21:03
timotimo mkende: can you give us the exact perl6 --version output? 21:04
woolfy Perl 6 course by Damian just ended. Several people will now go offline... byebye <3 21:05
21:05 woolfy left
timotimo o/ 21:05
mkende This is Rakudo version 2016.05-145-gac0dcdd built on MoarVM version 2016.05-34-gfbe9e24
implementing Perl 6.c.
that's the one that I built. 21:06
timotimo in that version we already have RAKUDO_MODULE_DEBUG, if you set that env var, you'll get a bunch of spam, but you could probably feel where more time is spent in the one version vs th eother
stage parse is, after all, also the place where modules get loaded and such
mkende The debian version is "version 2016.05 built on MoarVM version 2016.05 21:07
implementing Perl 6.c.
"
21:07 _webstrand left
timotimo ah, different versions. that makes it a bit trickier 21:07
21:07 jjido left
timotimo well, at least you're not running a parrot-based version from 2014 or something 21:07
mkende well, I can just ignore the debian version for the moment, as I see the issue with the other one, depending on where I install it. 21:08
timotimo ah, that's good!
there's also a flag for strace that might help locate what moar's doing around the time it slows down so much 21:09
i mean, you can make strace output the time since the start, so it'd be more visible
mkende I've already looked at the strace output and couldn't find anything suspicious
timotimo OK
do you have perf available on your machine?
mkende no, no "perf" 21:10
b2gills Could it be that one of them isn't precompiling corectly?
timotimo that's the c-level profiler i like using
might be
mkende That's my guess, that because the location where the compiler and libs are is not writtable, some precompilation is not happening. But the issue is the same if I call perl6 as root. 21:11
21:11 dha left 21:13 jjido joined
mkende with the debug flag I get this: 21:13
Stage start : 0.000
Stage parse : 1352 RMD: Loading settings CORE
1352 RMD: Setting up default paths: . blib
1352 RMD: going to load Perl6::BOOTSTRAP
1352 RMD: Settings CORE loaded
0.930
Stage syntaxcheck: 0.000
21:14 _webstrand joined, _webstrand is now known as webstrand
timotimo right. on my machine i get only 0.156s stage parse for -e '' 21:14
21:15 lizmat left 21:17 lizmat joined
mkende Another data point is that when I built rakudo, running "make test" before "make install" resulted in any tests that had a "use test" to fail. 21:18
Zoffix try with the latest and greatest rakudo?
mkende they passed after make install. The failure was related to a directory (I did not copy the name unfortunately) that could not be created 21:19
timotimo build systems are hard, let's go have ice cream 21:20
mkende might have been /usr/local/share/perl6/precomp 21:21
21:21 cognominal joined
BooK mmm ice cream 21:21
so, who do I ask for a code review of my first perl6 module? 21:22
Zoffix Anyone? :) Just give a github link 21:23
BooK I know it needs fixing, and I wanted to write some test for some of the internal functions (not methods)
github.com/book/p6-Git-Version/blo...Version.pm
Zoffix My eyes!!
😜
BooK it's a port of Perl5 metacpan.org/pod/Git::Version
Zoffix: sadly, my font does not have this unicode character 21:24
Zoffix m: '😜'.uninames.say
camelia rakudo-moar 1d93ad: OUTPUT«(FACE WITH STUCK-OUT TONGUE AND WINKING EYE)␤»
BooK nice
emojis will be the undoing of unicode 21:25
Zoffix I'd write these three lines with `given` github.com/book/p6-Git-Version/blo...ion.pm#L41 Like gist.github.com/zoffixznet/f4bd43e...ee00f8d06d
21:26 lizmat left
cognominal Book, why don't you calculate %cached from a here-in to protect our collective eyes. 21:26
BooK here-in ?
the cache is initialized with all the weird cases 21:27
in practice caching that kind of stuff is useless, given the number of time one does git version comparisons (except in the test script)
cognominal BooK heredoc, sorry 21:28
BooK Zoffix: oh given, yes of course
I don't like the push/append/push at the end either
Zoffix And I'd write this block as `@r = ( -1, @v.pop ) if @v[*-1] ~~ s/^rc//;`, but I'm guessing you wrote it that way for performance reasons github.com/book/p6-Git-Version/blo...ion.pm#L63 21:29
AlexDaniel .seen as
yoleaux I haven't seen as around.
BooK I'm not at the stage of doing things for performance reasons :-)
Zoffix m: for ^1000 { my $foo = 'foobar'; s/^foo//; }; say now - INIT now 21:30
camelia rakudo-moar 1d93ad: OUTPUT«0.10660804␤»
Zoffix m: for ^1000 { my $foo = 'foobar'; $foo.subst: 0, 2 }; say now - INIT now
camelia rakudo-moar 1d93ad: OUTPUT«0.17093622␤»
Zoffix oh heh. Regex is faster
Well, "faster" :) camelia isn't made for benchmarks
AlexDaniel ok, the book is talking, now I only have to see as… 21:31
masak 'night, #perl6
Zoffix night
webstrand So you can leave the { } off of phasers? that's really cool
AlexDaniel Zoffix: interestingly, you can probably use bisectable to find performance regressions. The regression has to be pretty bad though 21:32
webstrand Every new thing I find in perl 6 is a joy
Zoffix And this may or may not be the same thing as the three append/push/append lines you got: @v.append: 0 xx 4-@v, |@r, $c
AlexDaniel always wanted to try it
Zoffix goes back to killing people 21:33
(in FC4 :P)
21:35 rudi_s_ is now known as rudi_s
timotimo what's that again? 21:35
dalek ake: fb46df5 | (Pawel Murias)++ | src/Snake/ (2 files):
Accept more ways of indenting that Python 3 accepts.
ake: ff58c63 | (Pawel Murias)++ | src/Snake/Grammar.nqp:
Reject indentation as inconsistent if a source file mixes tabs and spaces in a way that makes the meaning dependent on the worth of a tab in spaces.
Zoffix Far Cry 4
timotimo ah
21:35 pmurias joined
TEttinger soon to be followed by Far Cry 4: Bloodier Dragonner 21:36
Zoffix Nah, it was followed by Far Cry: Primal
TEttinger I do like the idea of FC: Blood Dragon 21:37
and the soundtrack is good
pmurias arnsholt: fixed the indentation handling in snake, had to check the python source to figure out how it works ;)
21:37 pomJ joined
Zoffix Really? I absolutely hated the soundtrack. It made otherwise fun game depressing 21:37
TEttinger I do admit I haven't seen how it's been paired in-game 21:38
it does seem like it doesn't quite fit the titles
BooK Zoffix: thanks for the quick review 21:39
21:39 jjido left, ilmari_ is now known as ilmari
Zoffix no problem 21:39
BooK one last question: how can I call normalize() from outside ?
Zoffix Add `is export` on it 21:40
It will be exported.
BooK that was just for test, I don't want to export it
Zoffix Oh
21:41 wamba left
Zoffix m: module Foo { our sub bar { say 'hello' } }; Foo::bar 21:41
camelia rakudo-moar 1d93ad: OUTPUT«hello␤»
Zoffix I guess that may work (note the `our`), but that would let users use it too 21:42
mkende Zoffix: "latest and greated rakudo" does not compile :-p
--vmlibs=dynext/libperl6_ops_moar.so=Rakudo_ops_init gen/moar/m-BOOTSTRAP.nqp
Unknown constant 'CONTROL_RETURN'
Zoffix mkende, how did you try to compile it? 21:43
BooK Zoffix: ok
mkende the first line that was not copied above: /usr/local/bin/nqp-m --target=mbc --output=blib/Perl6/BOOTSTRAP.moarvm --encoding=utf8
TEttinger Zoffix: off topic, but I think maybe Karma To Burn might have been a better fit for the style of game than Power Glove www.youtube.com/watch?v=8bcCZ-tor8g
mkende git pull and then "make"
I'm not using rakudo star if that is the question. 21:44
timotimo you'll have to check the exact contents of build/tools/*_REVISION
Zoffix mkende, but did you update nqp and moar?
timotimo that's how we ensure you get compatible versions
Zoffix CONTROL_RETURN ... that sounds like something to do with `return` stuff and that got overhaul on moarvm level a few days ago 21:46
mkende ah... well I will update them then :)
timotimo maybe you actually need a branch in nqp or rakudo for that to work. i dunno. 21:50
sometimes after a git pull and such you really should Configure.pl or at least make clean
21:51 setty1 left 21:52 _webstrand joined 21:54 webstrand left
rgrinberg Can grammars handle "resumable" parsing? By that I mean they can say something like "not enough input" and let you resume the parser with more input 21:58
21:58 trnh left
timotimo we don't have support for that yet, sadly 21:59
not sure how much work it is to build such a solution yourself
rgrinberg timotimo: eh? were you answering me? 22:00
timotimo yes 22:01
rgrinberg timotimo: OK I see, thanks.
First time I'm looking at perl6 and grammars look very cool though. They seem like someone took ragel and embedded in the language. 22:02
Ragel's quite a powerful tool
timotimo haven't heard of it yet 22:04
jdv79 rgrinberg: you worked in nyc? 22:05
rgrinberg it's pretty old but definitely under used IMO - www.colm.net/open-source/ragel/
jdv79: briefly, why? 22:06
jdv79 boris? i worked with a mr. grinberg once.
rgrinberg jdv79: Not Boris here :) It's a common name anyway, especially in NYC. 22:07
jdv79 yeah but the perl world is small:). ok. 22:08
22:10 Emeric1 joined, TEttinger left, Emeric1 left 22:11 Emeric left 22:12 grondilu left 22:18 pomJ left
lambd0x Later guys o/ 22:19
22:19 lambd0x left 22:25 bjz left
mkende Well same things with the latest version of rakudo. 22:28
Anyway thanks for the advice, I'll go back to using a version installed in my home dir for the moment.
Zoffix weird 22:29
22:29 mkende left 22:32 kurahaupo left 22:42 spider-mario left 22:43 pmurias left 22:57 _webstrand left 23:03 bjz joined 23:04 skids joined, webstrand joined 23:05 firstdayonthejob left 23:06 yqt left 23:08 sherwool joined 23:11 RabidGravy left 23:15 bjz left 23:29 rindolf left 23:31 mr-foobar left 23:32 mr-foobar joined 23:33 cognominal left
Xliff_zzzz When adding invocant declarations to signatures for role methods. Would you do Role::Name:D: ? 23:43
23:44 Xliff_zzzz is now known as Xliff, AlexDaniel left
timotimo there's code examples for that in the core setting 23:48
i think you need ::?CLASS or something like that?
23:55 ocbtec left 23:59 BenGoldberg joined