»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 static_perl left, static_perl joined 00:04 shi left 00:06 replore joined 00:13 tokuhiro_ joined
sorear this Aborted thing is quite frustrating :| 00:15
sorear misses being able to chase references through the kernel and C library source code 00:16
dalek kudo/nom: 300627d | Coke++ | t/spectest.data:
track failure modes.

  (mostly slightly reworded due to optimization branch.)
00:18
00:30 tokuhir__ joined, tokuhiro_ left 00:31 uasi joined 00:36 Entonian joined 00:40 Entonian left, jimmy1980 left 00:46 mkramer left, mkramer joined 00:50 plobsing_ left 00:51 replore left, plobsing joined 01:00 wolfman2000 joined 01:09 shinobicl_ left 01:12 packetknife joined
TimToady hopes it's not as frustrating as having an Ubuntu upgrade brick one's main home server 01:18
diakopter it bricked it already? 01:19
oh, the Aborted thing 01:20
diakopter feels sad for wasting sorear's day with tracking down a Windows problem
sorear diakopter: I am learning a lot of useful things; if the chase weren't a bit fun I'd have abandoned it hours ago 02:03
sorear back from dinner
incidentally I have solved half the problem; my tiny C test program can now invoke p5embed.so without segfaulting 02:04
02:10 risou is now known as risou_awy 02:11 overrosy left 02:15 overrosy joined 02:38 packetknife left 03:16 uasi left 03:23 mberends left 03:24 tokuhir__ left, tokuhiro_ joined 03:43 am0c left 03:50 donri left
dalek ecza/serialize: 6dd5b76 | sorear++ | lib/ (2 files):
Save delegates for kernel-defined subs
04:01
ecza: d468f8f | sorear++ | lib/p5embed.c:
Pass non-null argc,argv to PERL_SYS_INIT

Fixes a segfault on Win32, but not the "Aborted" issue...
04:03
04:07 icwiener left
dalek ecza/serialize: 8035d26 | sorear++ | lib/ (3 files):
Thaw code for VarDeque, VarHash, BigInteger, Complex, Rat, FatRat
04:27
04:44 Chillance left 04:54 wolfman2000 left
dalek kudo/nom: 05d6117 | moritz++ | docs/ChangeLog:
update ChangeLog
04:55
04:55 bluescreen10 joined
moritz good morning 04:56
phenny moritz: 15 Oct 16:04Z <jnthn> ask moritz should nom have + or +- on "Variable interpolation" (regex) in features?
moritz: 15 Oct 16:04Z <jnthn> tell moritz did +-
sorear good mroning moritz 04:57
04:57 soh_cah_toa left
dalek kudo/nom: ea25f3e | moritz++ | src/core/List.pm:
tweak error message
04:59
araujo pastie.org/2704022 05:01
araujo playing a bit with his toy language 05:02
moritz nom: my @a := 1; say "alive" 05:07
p6eval nom 300627: OUTPUT«alive␤»
sorear dubious
05:08 sayu joined
sorear on some, but not all, occasions when I've confronted jnthn about this, he's said := is low level and not supposed to do any type checking 05:08
niecza: my Str $x := 4; say "alive" 05:09
p6eval niecza v10-49-gd468f8f: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/D6rbas_27A line 1:␤------> my Str ⏏$x := 4; say "alive"␤␤␤Unhandled Exception: Nominal type check failed in nonparameter binding; got Int, needed Str␤ at /tmp/D6rbas_27A line…
sorear oops
moritz rakudo: say $a; my $a = 5; 05:10
p6eval rakudo 300627: OUTPUT«Any()␤»
moritz this is even more dubious :-)
05:11 orafu left
sorear longstanding behavior though 05:11
b: say $a; my $a = 5
moritz yes, both are
p6eval b 1b7dd1: OUTPUT«Any()␤»
05:11 orafu joined, tokuhiro_ left
moritz is going through the old part of the RT queue 05:11
dalek ast: 575ea0a | moritz++ | S0 (2 files):
RT #61844, (0,1)[*-1..*]
05:13
ecza/serialize: be108f9 | sorear++ | lib/ (3 files):
Thaw routines for P6opaque, DispatchEnt, double, int, Type, string, bool, arrays
05:14
05:26 araujo left
dalek ast: 77e0ced | moritz++ | S12-construction/BUILD.t:
remove non-spec test
05:26
05:31 sayu left
dalek ast: ddc1d53 | moritz++ | S14-roles/parameterized-type.t:
RT #68136, parameterized role doing non-parameterized role
05:35
06:00 bluescreen10 left 06:07 Trashlord joined 06:12 trexy left 06:22 reisio joined 06:30 kaare_ joined 06:51 lateau_1 joined, lateau_1 left
dalek ecza/serialize: 2ff6525 | sorear++ | lib/ (2 files):
Thaw routines for types
07:00
diakopter wonders what IFixup is 07:01
moritz the new handheld GC by Apple?
diakopter <giggle>
07:24 dual joined 07:33 mj41 joined 07:35 replore_ joined
moritz phenny: tell jnthn 39s on the mandelbrot benchmark now, 28s when adding type annotations. \o/ 07:55
phenny moritz: I'll pass that on when jnthn is around.
sorear D: 07:56
sorear -> sleep
08:01 Vlavv_ left 08:02 Vlavv_ joined
tadzik how fast is it on niecza? 08:05
moritz 8.6s 08:09
nom: say 39/8.6
p6eval nom ea25f3: OUTPUT«4.53488372093023␤»
08:19 kaare_ left 08:28 GlitchMr joined 08:34 GlitchMr42 joined 08:35 replore_ left 08:37 GlitchMr left 08:39 molaf joined 08:44 araujo joined, cognominal joined 09:02 kaare_ joined 09:06 uniejo joined 09:07 GlitchMr joined 09:09 am0c joined 09:10 GlitchMr42 left 09:19 am0c left 09:21 pmurias joined
masak mogornink, #perl6 09:32
cognominal bergium perl workshop was nice. Will now do some tourism in Brussels. 09:35
reisio maybe write belgiangovernment.pl ? 09:38
09:39 cognominal left 09:45 GlitchMr42 joined 09:49 GlitchMr left
masak ...ouch... 09:49
reisio Perl triumphs where Belgian politicians do not? :p 09:50
09:51 GlitchMr_42 joined 09:54 lateau__ left, GlitchMr42 left
jnthn moritz: ooh, nice 09:54
phenny jnthn: 07:55Z <moritz> tell jnthn 39s on the mandelbrot benchmark now, 28s when adding type annotations. \o/
jnthn moritz: Was that with --optimize=3, or just the default? 09:55
moritz jnthn: default
jnthn OK. 09:56
:)
10:00 dark_x joined, dark_x_ joined, dark_x_ left, dark_x left
dalek kudo/nom: aa1ea2a | moritz++ | src/core/Complex.pm:
prefix:<abs>(Complex)
10:01
kudo/nom: 25af2d0 | moritz++ | src/core/Complex.pm:
add return type annotations to Complex ops
10:02 MayDaniel joined
pmurias anyone with a current understanding how structures are now flattened etc. wants to update roast/S01-perl-5-integration/basic.t so that I can implement that test? ;) 10:15
moritz well, first we'd have to decide in which context to call perl 5 functions 10:17
some of these tests are... urks.
pmurias re context i lean towards scalar 10:18
moritz why?
pmurias mostly because it's a tiny bit easier to implement ;)
and things seems to return a compact object rather then a flattened list then 10:19
moritz do they?
everything that returns an array in p5 automatically only returns its number of elements in scalar context 10:20
which is why I'd lean towards list context
10:20 dark_x joined
pmurias moritz: that seems to be an important point 10:21
felher masak++ for blogpost about macros :D
felher goes on with reading jnthn blogpost about optimizer 10:22
masak \o/
10:22 GlitchMr_42 is now known as GlitchMr
pmurias moritz: and how do we represent a array of returned values in Perl 6 land? 10:22
masak felher: oh, so it was understandable? I wasn't sure... :)
pmurias moritz: i plan to make all the function/method calls on p5 objects accept a :context<list> and :context<scalar> argument 10:23
felher masak: it was completely comprehensible :) 10:28
masak nice to know. 10:29
I'll up the difficulty next time :)
moritz pmurias: then please also add a :context<void> :-)
masak there definitely are places where $brain.turn-into-pretzel with macros.
right now, I'm having trouble with the compile/runtime boundary, for example. 10:30
it would seem that D4 not only is essential for the grant work, but that little fractal pieces of it appear in all of the prior steps... :/ 10:31
10:33 MayDaniel left
masak on the plus side, I got to learn a lot of wonderful things about the state of the art of parsing Perl 6 over curry last night. :D 10:33
jnthn++
tl;dr: parsing is not a "pure" activity of just reading the source code and building a tree. nooo! 10:34
pmurias moritz: good idea 10:35
felher masak: keep your mind sharp with masak's macro brain teasers :)
masak it's that plus talking to an entity we increasingly like to call World, which keeps track of names and other stuff.
World is more than just a symbol table.
it's... the sum total of our knowledge of the environment that the program is building. 10:36
this becomes very important if we're to erase the compile/runtime boundary as much as we want. 10:37
I haven't looked, but I'm guessing sorear is building something very similar in his branch as well.
felher masak: Whats the compiletime/runtime boundary? The problem of getting objects/information from compiletime to runtime or vice versa? 10:39
pmurias felher: yes, with the compiletime having to store everything to disk
masak felher: in most languages, there's a hard wall between compile-time and runtime. 10:40
felher: in Perl 6, we basically say they're very similar, and information can flow from compile time to run time.
felher: even though compile time might happen years before and on the other side of the world.
felher: the solution to bridging that gap and making things survive until runtime is called "serialization" -- that is, preserving information about objects so that they can be recreated on the other side of the boundary. 10:42
much of the startup cost in Rakudo so far has been that we "cheat" in this regard, and recreate objects "manually", which is slow.
nom: my $c; my $name; BEGIN { $c = { say "OH HAI $name" } }; $name = "masak"; $c() 10:44
p6eval nom ea25f3: OUTPUT«Use of uninitialized value in string context␤OH HAI ␤»
10:45 reisio left
felher Ah, i see. Thnx :) 10:46
masak I'd expect the above to say "OH HAI masak".
are my expectations too high? :)
pmurias moritz: what's the policy on using stuff such as heredocs in tests? 10:47
jnthn masak: Seems reasonableish... :) 10:50
masak submits rakudobug
moritz pmurias: the policy is to avoid use of advanced, unrelated features 10:52
pmurias: ie you use heredocs when you test heredocs, otherwise you avoid them
pmurias moritz: '' seems to be enough 10:53
moritz q[...] or q<...> or so would be fine too 10:54
dalek ast: cab8084 | (Paweł Murias)++ | S01-perl-5-integration/context.t:
add test for :context<void> when calling p5 functions
pmurias moritz: ^^ is that ok? 10:55
colomon niecza: my $c; my $name; BEGIN { $c = { say "OH HAI $name" } }; $name = "member:masak"; $c() 10:56
p6eval niecza v10-49-gd468f8f: OUTPUT«OH HAI member:masak␤» 10:57
moritz pmurias: I kinda expected the :context flag to be on the eval(), not passed into the sub. But I guess this way is fine too 10:59
masak phenny: "Hviezdoslavovo"? 11:00
phenny masak: "Hviezdoslavovo" (sk to en, translate.google.com)
masak thanks for nuttin'. :/
jnthn masak: It's the name of a square.
masak oh!
moritz pmurias: I can't really answer design questions about the interop, from a pure test perspective it looks fine.
jnthn masak: Named after a nickname for a poet :)
masak is scared to consider his actual name
jnthn Hviezdo => star, slav => word, ovo => adjectivization :) 11:01
Or something like that :)
masak is more of a Hviezdorakudo guy :) 11:02
also, in my language group, "ovo" clearly means "egg".
s/my/my favourite/ 11:03
pmurias moritz: does it seem sane enough for initial implementation? 11:04
moritz pmurias: yes
jnthn masak: oh noes, a bunch of the neuter adjectives are going to make you think of eggs :P 11:05
masak jnthn: that's fine, I think about eggs a lot anyway. :P 11:06
masak .oO( mmm... eggs... ) 11:07
11:07 skangas left, jimmy1980 joined 11:08 replore_ joined
pmurias hmm, what is the return value of a perl5 sub called in a void context? 11:13
11:14 GlitchMr left
moritz Nil 11:16
11:17 dark_x left
dalek ecza: bf0cd86 | (Paweł Murias)++ | lib/ (2 files):
implement S01-perl-5-integration/context.t
11:20
pmurias 3 more passing spec tests for niecza ;) 11:21
felher jnthn++ for blog post (and great work on optimizer, of course) 11:30
dalek ast: 6976eea | (Paweł Murias)++ | S01-perl-5-integration/context.t:
add space in test description
11:32
ast: 73302b8 | (Paweł Murias)++ | S01-perl-5-integration/context.t:
add tests for :context<list> and :context<scalar>
pmurias moritz: how should i test for Nil?
11:37 Psyche^ joined 11:40 Patterner left, Psyche^ is now known as Patterner, [Coke] left 11:42 [Coke] joined 11:45 dark_x joined
moritz nom: say Nil ~~ Nil 11:46
p6eval nom 25af2d: OUTPUT«Bool::True␤»
moritz nom: say () ~~ Nil
p6eval nom 25af2d: OUTPUT«Bool::False␤» 11:47
moritz nom: say Any ~~ Nil
p6eval nom 25af2d: OUTPUT«Bool::False␤»
moritz looks like a pretty good test
11:48 im2ee joined
im2ee Hello! p/ 11:48
pmurias niecza: say Any ~~ Nil 11:52
p6eval niecza v10-50-gbf0cd86: OUTPUT«Bool::False␤»
pmurias niecza: say Nil ~~ Nil 11:53
p6eval niecza v10-50-gbf0cd86: OUTPUT«Bool::True␤»
dalek ast: a97d866 | (Paweł Murias)++ | S01-perl-5-integration/context.t:
test that p5 subs in void context return Nil
11:54
masak im2ee! \o/ 12:03
12:05 [Coke] left 12:06 GlitchMr joined, fhelmberger left 12:07 fhelmberger joined, bbkr joined 12:08 [Coke] joined, fhelmberger_ joined 12:09 JodaZ_ left 12:11 wk_ joined, fhelmberger_ left 12:12 fhelmberger left, fhelmberger joined 12:13 GlitchMr42 joined 12:14 wk left 12:16 GlitchMr left
bbkr I ran into weird problem with NOM. I have two files: A.pm containing "class A { use B; }" and B.pm containing "class B { has A $a }". When I run "use A" it says that "in has declaration typename A must be predeclared". Why class B cannot use class A as type, if class A loaded class B and it should be recognized in class B scope? This was working in ng branch. 12:17
jnthn Because B.pm doesn't "use A" 12:20
ng didn't do separate compilation properly 12:21
nom does, which means that you really can only see things a module imported
colomon .... a module exported? 12:23
jnthn er, that too but not what I meant :) 12:24
I meant that you need a "use" statement in a module to bring in any symbols from other modules that you wish to use
You can't rely on them just being there because of a use statement that took place elsewhere
bbkr how can I avoid recursion depth exceeded in circular loading now? Let's say: A.pm/ contains "use B; class A { has B $.b}", and B.pm/ contains "use A; class B { has A $a }" 12:25
Woodi about CPS... nondot.org/sabre/LLVMNotes/Explicit...Frames.txt - for what CPS can be usefull in Perl6 ? 12:28
moritz for implementing gather/take 12:29
bbkr nom: class A { use A; } # ooops ;) 12:30
p6eval nom 25af2d: OUTPUT«===SORRY!===␤Could not find A in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
bbkr hmm, it gives maximum recursion depth exceeded in 2011.09 12:31
moritz nom: ~Str 12:32
p6eval nom 25af2d: OUTPUT«Use of uninitialized value in string context␤»
12:32 jimmy1980 left
bbkr nom: class A { use B; }; class B { use A; }' 12:33
p6eval nom 25af2d: OUTPUT«===SORRY!===␤Could not find B in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
jnthn use operates on files 12:37
Within a file, use predeclaration 12:38
You can't recursively use as it doesn't make sense. We should really catch it and tell you that, rather than infinite recursion, though.
12:38 jimmy1980 joined
bbkr i'm building HEAD version now to test how it behaves. such looped typing makes perfect sense in tree structures: "class Parent { use Child; method child { Child.new{parent => self}} }" and "class Child { use Parent; has Parent $.p; submethod BUILD { Parent $p} }"… 12:47
masak bbkr: indeed. 12:48
moritz I think you're supposed to break the circularity with 'needs ClassName'
masak bbkr: I wrote about this to p6l about a year or so ago.
'class Child { ... }' works fine, too. 12:49
bbkr: www.mail-archive.com/perl6-all@perl...87470.html
bbkr nom: needs A; # this segfaults on 2011.09 12:50
p6eval nom 25af2d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&A' called (line 1)␤Undefined routine '&needs' called (line 1)␤»
bbkr oh, improvement
jnthn need 12:51
moritz nom: need A; say A.new
p6eval nom 25af2d: OUTPUT«===SORRY!===␤Could not find A in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
masak nom: class A { ... }; class B { has A $.a }; class A { has B $.b } # psst, bbkr 12:52
p6eval nom 25af2d: ( no output )
masak nom: class A { ... }; class B { has A $.a }; class A { has B $.b }; say "alive"
p6eval nom 25af2d: OUTPUT«alive␤»
bbkr boilerplate :) 12:53
thanks guys for your help. i can solve my problem now. 12:54
jnthn Well, that's a flip side of one-pass parsing.
masak bbkr: TimToady's reply to my email is illuminating and appropriately reproving: www.mail-archive.com/perl6-all@perl...87478.html 12:55
moritz I wonder if calling subs from namespaces is sufficiently common in Perl 6 to warrant A::B being parsed as A::&B
masak jnthn: yeah. for some reason I'm not as bothered by it anymore.
moritz maybe it should default to a type name now, which is automatically stubbed when it's not know yet 12:56
and you'd need explicit parens or pre-declaration to have it parsed as a sub call
masak feels a bit inconsistent with the 'foo' case. 12:57
moritz I know :/ 12:58
masak wow, reading TimToady's message again. 12:59
somehow, it's only when he *defends* design decisions that I truly recognize how much thought has gone into them, and how we really are avoiding some of the traps Perl 5 has fallen into. 13:00
13:06 sftp left
jnthn Train to Stockholm & 13:10
masak am I right in assuming that 'q:code' doesn't exist any more (if it ever did)? en.wikipedia.org/wiki/Perl_6#Macros 13:11
moritz I think so
masak edits 13:13
13:17 Chillance joined 13:21 sftp joined 13:22 sftp left 13:23 GlitchMr_42 joined 13:24 sftp joined 13:26 GlitchMr42 left 13:31 localhost left 13:33 localhost joined
masak perl6: say rand xx 3 13:36
p6eval rakudo 25af2d: OUTPUT«0.8685990956883 0.8685990956883 0.8685990956883␤» 13:37
..niecza v10-50-gbf0cd86: OUTPUT«0.911904731258706 0.911904731258706 0.911904731258706␤»
..pugs c943eeb: OUTPUT«*** No such subroutine: "&xx"␤ at /tmp/6ICurOe3L7 line 1, column 5 - line 2, column 1␤»
13:37 GlitchMr_42 is now known as GlitchMr
masak submits rakudobug 13:37
masak submits nieczabug
I would submit a pugsbug, but we're not quite there again yet ;) 13:38
13:41 wamba joined 13:46 uasi joined
moritz we should introduce the old pugsbug rule for rakudo (that you submit a bug report by committing a TODOed test) 13:51
13:52 mj41 left
masak begging your pardon, I don't like that idea. 13:56
I prefer the two tasks being separated.
(I'm also a-priori against the idea of having to provide an initial implementation for each test committed.) ;) 13:57
moritz wasn't quite serious 13:59
masak oh. I was unable to tell.
sjn ENOSMILEYFOUNDINJOKETOLDONTEHINTERNETS 14:01
masak masak's first rule of repeated community volunteer contribution: "Task needs be well-defined, atomic, and result in instant gratification on completion." 14:02
pmurias masak: why are you against having to provide a test with a bug? hard to exactly pin down bugs? 14:03
masak pmurias: see first rule above :)
pmurias: it breaks the "atomic" prat.
er, part*
pmurias masak: doesn't the lack of a test break the "well-defined" part ;) 14:04
masak it's the *task* that should be well-defined. and no, it doesn't.
moritz nom: my Int:D $x; say $x 14:05
p6eval nom 25af2d: OUTPUT«Int()␤»
moritz nom: my Int:D $x; $x = Int; say $x
masak a well-defined ticket can mostly be turned into a well-defined test with another turn of the crank.
p6eval nom 25af2d: OUTPUT«Int()␤»
masak and if it can't, we need to sharpen our definition of "well-defined ticket". but I don't think we do.
moritz masak: wanna submit rakudobug? :-) 14:06
masak submits rakudobug
whee! \o/
14:11 jimmy1980 left, dark_x left
lumi_ What does :D mean? 14:12
14:12 im2ee left
moritz defined 14:13
14:13 am0c joined
lumi_ What's the correct behaviour, then? 14:13
masak assignment error.
14:14 dark_x joined
frettled If the int is smiling, then it's okay. 14:14
lumi_ OIC, masak++ :)
Happy Int
14:14 grondilu joined
frettled But is :C undefined? 14:14
frettled goes meta. 14:15
moritz nom: say :C.perl
grondilu Trying to install panda, I get a ===SORRY!=== ~protoregexes not yet implemented at line 10, near ";\ntoken va"
p6eval nom 25af2d: OUTPUT«"C" => True␤»
benabik What is `my Int:D $x` supposed to be?
14:15 dark_x left
moritz grondilu: panda doesn't work on nom yet :( 14:15
masak :(
grondilu ok, I'll wait
masak we got hit by the bus on regex-related stuff. 14:16
moritz it depends on JSON::Tiny, which in turn depends on proto regexes
which in turn depend on pmichaud++ getting tuits
masak nom: my int $x; say $x
p6eval nom 25af2d: OUTPUT«57836072␤»
masak ahahahah.
masak submits rakudobug
14:17 jimmy1980 joined 14:18 satyavvd joined
grondilu Is there a place where I could download some Perl6 doc (blog entries, articles...) for off-line read? 14:19
masak nom: say my int $x; say my int $y; say my int $z 14:20
p6eval nom 25af2d: OUTPUT«64300656␤47128896␤57310040␤»
masak grondilu: perl6.org/documentation/
benabik masak: Are they supposed to be initialized? C doesn't for speed, I know. 14:21
masak grondilu: let me particularly recommend perlgeek.de/en/article/5-to-6 , rosettacode.org/wiki/Category:Perl_6 , and strangelyconsistent.org/blog/june-1...and-output
benabik: I'll check, but yes, they are :)
14:21 GlitchMr42 joined
masak S02:639: Variables of non-native types start out containing an undefined value 14:22
unless explicitly initialized to a defined value.
oops, I'm wrong! mooting ticket. 14:23
benabik++
14:25 GlitchMr left
moritz grondilu: you can download a PDF from the "Using Perl 6" book 14:25
masak but it's less completed than books are generally. 14:26
grondilu the 'Using Perl 6' is nice but quite short. I red it already. 14:27
I'll try to write a wget command to download the articles on perl6.cz/wiki
[Coke] nom: say 715-84 14:29
p6eval nom 25af2d: OUTPUT«631␤»
pmurias masak: don't variables of native types start out containing 0?
masak apparently not. 14:30
pmurias masak: any mention of that in the spec?
[Coke] rakudo: say (1,2,3)».&( * + 42 )
p6eval rakudo 25af2d: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 1, near "&( * + 42 "␤»
masak if some other part of the spec contradicts, S02:639, I'd be interested in hearing about it.
pmurias: S02:639. 14:31
benabik masak: That said "non-native types".
masak oh! :/
masak can't read
masak keeps looking through the spec
benabik S02:1212 14:32
masak yes. :)
just found it.
benabik masak: ^^ floats default to NaN, int to 0
masak reopens ticket
14:32 tokuhiro_ joined
benabik I was just remembering C where so many people think "oh it's 0", when the answer is really "it's garbage". 14:33
14:34 satyavvd left
[Coke] rakudo: multi foo(:$a!, *%_) {}; multi foo(:$b, *%_) {}; foo(:a, :b) 14:35
p6eval rakudo 25af2d: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Any $a, Associative %_)␤:(Any $b, Associative %_)␤␤ in block <anon> at /tmp/6V7yVjBiLw:1␤ in <anon> at /tmp/6V7yVjBiLw:1␤»
[Coke] rakudo: my @a = 1; say @a.WHAT 14:37
p6eval rakudo 25af2d: OUTPUT«Array()␤»
[Coke] rakudo: my @a = 1; say @a.WHAT; say @a.perl;
p6eval rakudo 25af2d: OUTPUT«Array()␤Array.new(1)␤»
[Coke] rakudo: my @a := 1; say @a.WHAT; say @a.perl;
p6eval rakudo 25af2d: OUTPUT«Int()␤1␤»
[Coke] Does any implementation support "NEXT" yet? 14:38
masak perl6: for 1, 2, 3 { NEXT {} } 14:39
p6eval pugs c943eeb: ( no output )
..niecza v10-50-gbf0cd86: OUTPUT«===SORRY!===␤␤Action method statement_prefix:NEXT not yet implemented at /tmp/TwmZDwoQa1 line 1:␤------> for 1, 2, 3 { NEXT {}⏏ }␤␤␤Unhandled Exception: Unable to resolve method statement_level in class Str␤ at /home/p…
..rakudo 25af2d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&NEXT' called (line 1)␤»
masak nope. 14:40
14:40 replore_ left
masak well, maybe Pugs :) 14:40
pugs: for 1, 2, 3 { NEXT { say "!" }; .say }
p6eval pugs c943eeb: OUTPUT«1␤!␤2␤!␤3␤!␤»
masak Pugs++!
[Coke] and is this legal: for @arr {} while $condition ? 14:41
rakudo: my @a=1,2,3; for @a { .say } while $_ < 3 14:42
p6eval rakudo 25af2d: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
[Coke] (there's a very old ticket I'm trying to triage)
rakudo: for 1, 2, 3 { NEXT { say "!" }; .say }
p6eval rakudo 25af2d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&NEXT' called (line 1)␤» 14:43
14:43 am0c left 14:44 am0c joined, MayDaniel joined
masak std: my @arr; for @aa {} while True 14:44
p6eval std 580b69a: OUTPUT«===SORRY!===␤Variable @aa is not predeclared at /tmp/hrb6ct6dp6 line 1:␤------> my @arr; for ⏏@aa {} while True␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/hrb6ct6dp6 line 1:␤------> my @arr; … 14:45
masak std: my @arr; for @arr {} while True
p6eval std 580b69a: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/6_ymfzfwrd line 1:␤------> my @arr; for @arr {}⏏ while True␤ expecting horizontal whitespace␤Parse failed␤FAILED 00:01 121m␤»…
masak [Coke]: no, it's not legal.
14:47 am0c left 14:49 GlitchMr_42 joined
[Coke] masak++ 14:49
14:49 grondilu left
[Coke] rakudo: sub { "hello" #`(test) }.() 14:49
p6eval rakudo 25af2d: OUTPUT«===SORRY!===␤Confused at line 1, near "sub { \"hel"␤»
[Coke] rakudo: (sub { say "hello" #`(hello) }).() 14:50
p6eval rakudo 25af2d: OUTPUT«hello␤»
[Coke] rakudo: my %h = a => '42'; given %h { when :(Int :$a) { say "lol int" }when :(Str :$a) { say "lol string" } } 14:51
p6eval rakudo 25af2d: OUTPUT«No applicable candidates found to dispatch to for 'ACCEPTS'. Available candidates are:␤:(Mu, Mu $topic, Mu %_)␤␤ in method ACCEPTS at src/gen/CORE.setting:482␤ in sub infix:<~~> at src/gen/CORE.setting:759␤ in block <anon> at /tmp/Md_hLfFFlm:1␤ in block <anon> …
14:52 GlitchMr42 left
[Coke] rakudo: die 14:52
p6eval rakudo 25af2d: OUTPUT«␤ in block <anon> at /tmp/goE0GS1Zpn:1␤ in <anon> at /tmp/goE0GS1Zpn:1␤»
[Coke] rakudo: fail
p6eval rakudo 25af2d: ( no output )
[Coke] rakudo: exit
p6eval rakudo 25af2d: ( no output )
[Coke] rakudo: .. 14:53
p6eval rakudo 25af2d: OUTPUT«===SORRY!===␤Confused at line 1, near ".."␤»
[Coke] rakudo: ...
p6eval rakudo 25af2d: ( no output )
[Coke] rakudo: try { die "foo" }; try { die; CATCH { say $!} }
p6eval rakudo 25af2d: OUTPUT«foo␤»
14:54 bluescreen10 joined
colomon is trying to figure out why the thunking change was made to infix:<xx> .... 15:02
15:03 mj41 joined 15:06 Trashlord left 15:12 MayDaniel left
moritz colomon: so that [^$x] xx $x makes a proper 2D array, not a list of references to the same array all over 15:12
colomon Should that really be a sensible way to build a 2D array? 15:13
15:14 Trashlord joined 15:17 bluescreen10 left 15:18 MayDaniel joined, tokuhiro_ left 15:19 mj41 left, johnjohn101 joined
johnjohn101 hello 15:19
15:21 MayDaniel left
moritz colomon: not sure, but the behavior was sufficiently surprising for some folks to warrant the change 15:27
hello johnjohn101 15:28
johnjohn101 i was curious if i load the perl 6 rakudo, will the threading work well or will I need to wait a few more month? 15:29
i'm ready to start seeing what's available.. I need odbc as well
15:30 uasi left
colomon moritz: huh. I find I don't think [1 2 3 4] xx 4 should generate a 2D array, but I kind of think Array.new xx 4 should, and it's the exact same thing in principle. 15:30
moritz johnjohn101: no threading in rakudo yet :(
colomon: Array.new xx 4 would, by the old spec, also return the same array four times 15:31
so if you assing to @a[0][0], it will also show up in @a[1][0] etc.
colomon moritz: yes, that's what I was trying to say
johnjohn101 moritz. does odbc work yet? 15:32
colomon johnjohn101: rakudo has no threading yet. niecza perl 6, the separate installation on mono, apparently has some threading working now.
johnjohn101: perl6.org/compilers/features
johnjohn101 thanks
i will probably wait until turn of the year to get started.. haven't followed to much 15:33
lately
moritz johnjohn101: I don't think so (odbc)
johnjohn101 looks like there has been a lot of progress since the last time I looked at the project 15:34
moritz there has been indeed 15:35
but interacting with the software world around it is one of rakudo's weaknesses :(
I've added some binary IO, but calling C functions and IPC is mostly non-existant :( 15:36
15:40 [Coke] left 15:47 GlitchMr42 joined 15:50 GlitchMr_42 left 15:52 GlitchMr42 left 15:56 drbean_ joined 15:57 drbean left, drbean_ is now known as drbean
johnjohn101 it will get there in time... 15:57
15:58 whiteknight joined
moritz no, it won't get there in time, people will implement it in time 16:00
things like that don't work all on their own 16:01
johnjohn101 yeah i know it takes people and money.. 16:04
16:09 drbean left
masak that's one of the backsides of having a "when will Perl 6 be released" outlook. it delays things. 16:11
we live in an imperfect now, where some things are possible and some aren't. we should focus on the things we can do with what we have today ;)
16:12 daniel-s left 16:13 lateau_ left 16:16 drbean joined
bbkr masak: i've read one-pass parsing threads you linked me today. very interesting, thanks. 16:23
masak you're welcome, bbkr. I think it's interesting, too. 16:27
16:36 GlitchMr joined
masak sub any_eq { my $lhs = shift; for (@_) { return 1 if $lhs eq $_ }; return } # a Perl 5 way to do emulate C<$str eq any(@strs)> 16:38
flussence
.oO( I'd just write any { $_ eq $str } @strs )
16:40
16:41 orafu left
masak that's from List::MoreUtils, yes? 16:42
flussence or List::Util, I can never remember which is which
16:43 orafu joined
sorear good * #perl6 16:43
masak flussence: nope, it's in ::MoreUtils
sorear: *
16:47 orafu left, replore joined
diakopter o/ 16:48
sorear diakopter: sometimes for speed niecza objects hold data that is canonically stored in other objects 16:51
like SubInfo.code is copied to Frame.code to save a memory reference in the trampoline 16:52
however, you can have a circular reference between SubInfo and Frame (e.g. protopads)
which means that, when thawing a Frame, n.info = (SubInfo) tb.ObjRef(); cannot guarantee to return a fully-thawed SubInfo 16:53
masak people talk so warmly about DRY, but not as often about the merits of duplicating information.
sorear so the copying has to be done later, after everything is loaded
that's what IFixup is for.
diakopter ah
sorear mumbles secure.wikimedia.org/wikipedia/en/...malization 16:54
masak right. 16:55
but compare the length of that article against the one for Normalization ;)
pmurias sorear: hi 16:58
\ 16:59
moritz mumbles something about comparing airplanes by weight
the denormalization article fails to mention that indexes themselves are a form of denormalization 17:02
17:06 orafu joined 17:10 wamba left
sorear in my mind it's more important that each piece of data have one _canonical_ location 17:14
masak yes, that's a nice summary. 17:15
17:15 donri joined
masak another important insight is that normalization and denormalization are only mutually exclusive *in the same model*. 17:21
pmurias sorear: it would be nice if niecza stack traces didn't include stuff past YOU_ARE_HERE 17:25
sorear masak: mutually exclusive? I normalize to the limits of possibility, then denormalize wherever it seems useful 17:26
pmurias: yes 17:27
pmurias hiding the xunit name would be nice to 17:29
*too
17:31 GlitchMr left
masak sorear: there may be a way to make what I mean slightly clearer. normalization/denormalization are different directions on the same scale. but that's only a problem if one figures on only has one model. 17:34
17:36 MayDaniel joined
pmurias sorear: what i would like to have is a way to hook in a custom backtrace printer 17:38
17:38 zby_home_ joined
pmurias sorear: so we can have both a niecza developer one with xrefs 17:39
and a fancy one with colors
17:47 shinobicl_ joined 17:50 soh_cah_toa joined 17:54 shinobicl_ left
moritz install an inner setting with a CATCH, and go wild on .backtrace 17:59
18:03 johnjohn101 left 18:07 preflex_ joined 18:08 preflex left, preflex_ is now known as preflex 18:15 mj41 joined 18:19 MayDaniel left
dalek rixel: 8ea1d05 | diakopter++ | src/ (4 files):
shortcircuiting OR for real this time
18:25
masak ooh, sprixel! 18:26
diakopter yes; I reused the name
(again)
masak so what is it now?
diakopter a C interpreter
masak \o/ 18:27
ooc, why interepreter and not compiler? 18:28
diakopter the design is such that JIT to bytecode or JIT to machine code (haha) is pluggable eventually 18:29
I hope.
but frankly:
pmurias diakopter: why C? 18:30
diakopter pmurias: so I can learn it
masak also wants to learn C better
pmurias good reason 18:31
moritz: re installing an inner setting is there a specced way to do that? 18:32
moritz pmurias: not sure 18:33
18:33 MayDaniel joined 18:34 GlitchMr joined 18:35 im2ee joined, bbkr left 18:36 Kivutarrr joined 18:42 [Coke] joined 18:47 masonkramer joined
masak perl6: say "Favorite day: ", <Monday Tuesday Wednesday Thursday Friday Saturday Sunday>.pick 18:51
p6eval rakudo 25af2d: OUTPUT«Favorite day: Tuesday␤»
..pugs c943eeb: OUTPUT«Favorite day: Thursday␤»
..niecza v10-50-gbf0cd86: OUTPUT«Favorite day: Wednesday␤»
masak funnily enough, the implementations come in in falling implementedness order :) 18:52
how many possible ordering combinations are there in the above situation? 18:53
if we don't allow duplicates, there are 6.
18:54 masonkramer left
masak enumerates them 18:54
seems there are 6 + 6 + 1 == 13 18:56
soh_cah_toa tadzik: i want to use your pod6 parser. show me! ;) 19:00
[Coke] nom: say 715-85 19:01
p6eval nom 25af2d: OUTPUT«630␤»
[Coke] thinks people are closing tickets and not cc'ing the list.
masak ah, seems I was chasing this: oeis.org/A000670
oeis++
sorear moritz: would work if niecza had exception objects yet. :) 19:02
19:03 dorlamm joined
sorear masak: pmurias: current sprixel is a Perl6-interpreter-written-in-C 19:03
not a C-interpreter
it's based on 6model/c
diakopter sorry, I misspoke 19:09
masak sorear: yes, I understood it that way. 19:10
"sprixel" would've been somewhat of a misnomer in the other case ;) 19:11
dalek rixel: bfe8229 | diakopter++ | src/ (8 files):
rearrange headers; add beginning of variable storage
19:12 bluescreen10 joined
masak b: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say A000670($_) for 1..5 19:17
p6eval b 1b7dd1: OUTPUT«1␤3␤13␤75␤541␤»
masak \o/
...could've included 0, I guess...
niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say A000670($_) for 0..5
p6eval niecza v10-50-gbf0cd86: OUTPUT«0␤NaN␤NaN␤NaN␤NaN␤NaN␤»
masak huh!
diakopter try to golf that! ;) 19:18
masak I will!
*this* is why having several implementations is a good thing! 19:21
19:22 replore left
moritz niecza: say map { (-1) ** $_ }; 1..10 19:22
sorear wait, why?
p6eval niecza v10-50-gbf0cd86: OUTPUT«␤»
moritz niecza: say map { (-1) ** $_ }, 1..10
p6eval niecza v10-50-gbf0cd86: OUTPUT«-1 1 -1 1 -1 1 -1 1 -1 1␤»
19:22 MayDaniel left
masak sorear: why what? 19:22
sorear 12:21 < masak> *this* is why having several implementations is a good thing!
masak because rakudo tells me it's probably not my fault it doesn't work in niecza. 19:23
so I can go forth basically having discounted the null hypothesis -- that I messed things up.
19:23 mj41 left
diakopter probably. rakudo could be "accidentally" getting it right. 19:24
masak indeed.
but it's fairly unlikely. :)
sorear I wonder if irssi will get this right
niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say A000670($_) for 0..5
p6eval niecza v10-50-gbf0cd86: OUTPUT«0␤NaN␤NaN␤NaN␤NaN␤NaN␤»
sorear wooh
niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say map -> $k { $k! * StirlingS2($n, $k) }, 1 19:25
p6eval niecza v10-50-gbf0cd86: OUTPUT«===SORRY!===␤␤Variable $n is not predeclared at /tmp/Tp1x4nql2B line 1:␤------> .$n }; say map -> $k { $k! * StirlingS2(⏏$n, $k) }, 1␤␤Potential difficulties:␤ &A000670 is declared but not used at /tmp/Tp1x4nql2B line …
sorear niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say map -> $k { $k! * StirlingS2($n, $k) }, 1 #OK
p6eval niecza v10-50-gbf0cd86: OUTPUT«===SORRY!===␤␤Variable $n is not predeclared at /tmp/ra3D_vT9v7 line 1:␤------> .$n }; say map -> $k { $k! * StirlingS2(⏏$n, $k) }, 1 #OK␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setti…
masak feels like King Midas sometimes: everything he touches turns into a bug report
sorear niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say map -> $k { $k! * StirlingS2(1, $k) }, 1 #OK
p6eval niecza v10-50-gbf0cd86: OUTPUT«NaN␤»
sorear niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say 1!; say StirlingS2(1, 1) #OK 19:26
p6eval niecza v10-50-gbf0cd86: OUTPUT«1␤NaN␤»
sorear niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; say 1/1! * [+] map -> $j { (-1) ** $j * comb(1, $j) * (1 - $j) ** 1 }, 0..$k; #OK 19:27
p6eval niecza v10-50-gbf0cd86: OUTPUT«===SORRY!===␤␤Variable $k is not predeclared at /tmp/7l0D1twTtQ line 1:␤------> $j * comb(1, $j) * (1 - $j) ** 1 }, 0..⏏$k; #OK␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 7…
sorear niecza: sub postfix:<!>($n) { [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; say 1/1! * [+] map -> $j { (-1) ** $j * comb(1, $j) * (1 - $j) ** 1 }, 0..1; #OK 19:28
p6eval niecza v10-50-gbf0cd86: OUTPUT«NaN␤»
masak sorear: man, don't you have a local copy of niecza? :P
sorear masak: I do, but this way is faster. :P
masak someone give sorear a better computer!
sorear aha 19:30
your code is evaluating 0!
which is 1. probably wrong 2. not correctly implemented in niecza
moritz nom: say [+] 0
p6eval nom 25af2d: OUTPUT«0␤»
moritz perl6: say (0..0).elems 19:31
p6eval pugs c943eeb, rakudo 25af2d, niecza v10-50-gbf0cd86: OUTPUT«1␤»
sorear niecza: sub postfix:<!>($n) { !$n ?? 1 !! [*] 1..$n }; sub comb($n, $k) { $n! / ($k! * ($n - $k)!) }; sub StirlingS2($n, $k) { 1/$k! * [+] map -> $j { (-1) ** $j * comb($k, $j) * ($k - $j) ** $n }, 0..$k }; sub A000670($n) { [+] map -> $k { $k! * StirlingS2($n, $k) }, 1..$n }; say A000670($_) for 0..5
p6eval niecza v10-50-gbf0cd86: OUTPUT«0␤1/1␤3/1␤13/1␤75/1␤541/1␤»
sorear perl6: say [*]
p6eval pugs c943eeb: OUTPUT«1␤»
..niecza v10-50-gbf0cd86: OUTPUT«0␤»
..rakudo 25af2d: OUTPUT«␤»
masak hah!
sorear really, rakudo?
moritz rakudo: say [*]()
p6eval rakudo 25af2d: OUTPUT«1␤»
moritz sorear: rakudo has parsingn problems with bare [infix] 19:32
masak ah.
moritz: is it rakudobugsubmitted?
moritz masak: yes, I'm sure we have at least one
masak uses moritz as his local cache
moritz: thank you ;)
sorear: as to "probably wrong", this was "straight off" OEIS, a very straightforward port from math-speak. 19:33
sorear: worked on the first try, too.
moritz niecza: say (1..0).elems 19:34
p6eval niecza v10-50-gbf0cd86: OUTPUT«0␤»
moritz niecza: say &infix:<*>()
p6eval niecza v10-50-gbf0cd86: OUTPUT«␤Unhandled Exception: No value for parameter $l in CORE infix:<*>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE infix:<*> @ 0) ␤ at /tmp/AxP7yHKYBw line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2165 (CORE C1037_ANON @…
moritz there should be a zero-arg multi that provides the default value 19:35
tadzik soh_cah_toa: ok, whatcha wanna know?
masak tadzik! \o/
tadzik masak! \o/
19:35 MayDaniel joined
tadzik masak: how are things? 19:36
dalek rixel: 95f5f2c | diakopter++ | src/ (4 files):
more work towards variable set/get; declare/assign is next
19:37
moritz niecza: say [*]()
p6eval niecza v10-50-gbf0cd86: OUTPUT«0␤»
moritz anyway, that's a bug
19:38 bluescreen10 left
moritz see S03:4488 19:39
19:39 GlitchMr left
moritz niecza: say [<]() 19:41
p6eval niecza v10-50-gbf0cd86: OUTPUT«Bool::True␤»
moritz niecza: say [~]
p6eval niecza v10-50-gbf0cd86: OUTPUT«␤»
masak tadzik: situation normal ;)
tadzik: a ty?
moritz niecza: say [min]
p6eval niecza v10-50-gbf0cd86: OUTPUT«␤Unhandled Exception: No value for parameter $a in CORE infix:<min>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE infix:<min> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1432 (CORE reduceop @ 10) ␤ at /tmp/Yl7Gilb0Rm line 1 (MAIN mainlin…
tadzik niezgorzej, dziękuję 19:42
I've spent the entire day playing board games :)
masak phenny: "niezgorzej"?
phenny masak: Language guessing failed, so try suggesting one!
masak phenny: pl "niezgorzej"?
phenny masak: "niezgorzej" (pl to en, translate.google.com)
tadzik I'm afraid that's some ancienty Polish
masak what's a zgorzej?
tadzik phenny: pl "nienajgorzej"?
phenny tadzik: "not bad" (pl to en, translate.google.com)
tadzik they're equal
masak ah.
board games, eh? 19:43
tadzik nienajgorzej is literally "not the baddest"
aye
masak I wonder how we can help people submit contestants for the Little Animal Farm game... :)
19:43 tokuhiro_ joined
tadzik hmm 19:44
moritz submits nieczabug
masak: give us more tuits :-)
niecza: say [||]() 19:46
p6eval niecza v10-50-gbf0cd86: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/lMJYo7EvWs line 1 (EOF):␤------> say [||]()⏏<EOL>␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2)…
moritz that's also wrong; should just be non-short-circuiting
masak moritz: I was thinking something more like providing better tuit-to-results conversion. :) 19:48
19:48 MayDaniel left 19:50 Kivutarrr left 19:53 molaf left, skangas joined
masak sorear: is there a large amount of spectests that either would pass in Niecza, or that would indicate LHF? 19:55
I'm asking because of the above '[*] 1..0' thing.
sorear masak: probably not, Coke++ colomon++ mberends++ swept over roast a few weeks ago 19:56
19:56 tokuhirom3 joined
masak oh, ok. 19:59
dalek rixel: 3097028 | diakopter++ | src/ (3 files):
variable assignment/retrieval partly working
20:00
soh_cah_toa tadzik: well, where is it? when i install rakudo, do i also get something like perl6doc? 20:02
tadzik soh_cah_toa: you get perl6 --doc 20:03
perl6 --doc <file>
that uses Pod::To::Text 20:04
you also have Pod::To::HTML in ecosystem, but you have to use it manually, as in "use Pod::To::HTML; html2text($=POD)
soh_cah_toa hm, looks like i get "Method 'WHY' not found for invocant of class 'Continuation'" 20:05
tadzik fuck no
try without GC 20:06
dalek rixel: 759353c | diakopter++ | src/ (2 files):
variable assignment/retrieval, lexical blocks working
soh_cah_toa tadzik: what do you mean?
although, it seems to work on this other nqp file :\ 20:07
wow, this is slow
tadzik soh_cah_toa: parrot -G perl6.pbc <file>
20:08 skangas left
soh_cah_toa it looks like it was just that one file i tried it on 20:09
oh neat, it renders declaractor blocks too. nice
tadzik++ 20:10
i've been waiting for this *forever*
tadzik Ha! Glad it meets your expectations 20:11
soh_cah_toa tadzik: any plans to use a pager in the future?
tadzik soh_cah_toa: never thought about that
20:12 jimmy1980 left
soh_cah_toa would make it a little easier to read w/o having to scroll up to read everything 20:12
tadzik file a ticket maybe? I'd like a few more voices on that
soh_cah_toa sure
tadzik true
soh_cah_toa actually, i've never even don't that before. i gotta figure this out :\ 20:14
wow, this is really annoying. i don't see any place to open a new ticket 20:15
tadzik just send an email
soh_cah_toa that's it? how do i set fields like severity, tag, platfor, etc? 20:16
flussence let Someone Else™ worry about them :) 20:17
soh_cah_toa alright then...
20:18 jimmy1980 joined 20:19 thou joined 20:24 kaare_ left 20:29 skangas joined 20:32 wolfman2000 joined
jnthn evenin' 20:32
masak jnthn! 20:33
jnthn masak!
masak perl6: my @nicks = <masak jnthn>; for @nicks, @nicks.reverse -> $a, $b { say "<$a> $b!" } 20:37
p6eval rakudo 25af2d, niecza v10-50-gbf0cd86: OUTPUT«<masak> jnthn!␤<jnthn> masak!␤»
..pugs c943eeb: OUTPUT«<masak jnthn> jnthn!␤<masak> !␤»
masak pugs-- # wut!? 20:38
jnthn That wasn't a very flattening interpretation of our code :) 20:39
masak flattening will get you nowhere :) 20:40
sorear JNTHN! 20:43
jnthn o/ sorear
20:52 sftp left 20:53 dorlamm left
dalek ecza/serialize: 2671ab4 | sorear++ | lib/ (3 files):
Add thaw routine for SubInfo
20:53
20:55 sftp joined 20:56 wolfman2000 left 20:58 pmurias left
im2ee Good night! :) 20:59
o/
masak 'branc, im2ee 21:01
[Coke] evening, folks.
21:02 im2ee left, zby_home_ left
colomon sorear, masak: actually, I wouldn't be surprised if there is a good bit of LHF still in niecza vs roast. I know, for instance, it would probably only be a matter of minutes to fix .pick to work completely, and as far as I know roll.t hasn't been turned on at all. I suspect S32 has a lot of things that could be implemented pretty easily hanging around, too. (for that matter, I never did anything to check on tests fixed with my open : 21:03
implementation.)
[Coke] #62244 is really old, and I wonder if the original problem is still relevant, or if NCI is now broken in new and interesting ways. 21:04
colomon: depends on your definition of LHF. I, for example, did a lot of skipping, TODOing, and unfudging. anything that involves writing C# is above my grade at the moment. ;) 21:05
[Coke] will do another run on unfudging possiblities.
masak \o/
maybe build a list of possible LHF-y things, too? 21:06
[Coke] masak: I would have no way of evaluating them.
[Coke] defers to at least a colomon. 21:07
you want LHF, we need spec tests for a bunch of stuff in the rakudo queue that would incidentally benefit niecza.
)
;)
I will keep my eyes open, though. 21:09
masak :) 21:11
dang. there was a logical bug in my code above. 21:13
perl6: my @nicks = <masak jnthn>; for @nicks Z @nicks.reverse -> $a, $b { say "<$a> $b!" }
p6eval pugs c943eeb: OUTPUT«<masak jnthn> jnthn masak!␤»
..rakudo 25af2d, niecza v10-50-gbf0cd86: OUTPUT«<masak> jnthn!␤<jnthn> masak!␤»
masak stil the same result, though. :)
colomon niecza: say infix:<*>(4) 21:14
p6eval niecza v10-50-gbf0cd86: OUTPUT«␤Unhandled Exception: No value for parameter $r in CORE infix:<*>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE infix:<*> @ 0) ␤ at /tmp/0nGjTzkSbf line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2165 (CORE C1037_ANON @…
masak so, essentially, infix:<xx> is a way for say 'map' now, but without the block and $_. 21:17
jnthn iiuc, xx is now macroesque? 21:20
e.g. there's no way to implement it as a normal multi-dispatch operator?
since the LHS is a thunk?
masak correct. 21:21
jnthn hmm
ok. Guess I can live with that.
What about x?
masak but it's neither more nor less macroesque than infix:<&&>, say.
jnthn Right, same niche.
masak x is unchanged.
jnthn wonders if that's a assymetry of if there's really no case for changing x. :)
I can't think of one off hand.
masak strings are not in such dire need of thunking, I guess ;) 21:22
jnthn no, I suspet not.
colomon what if it's a string-generating function on the lhs?
jnthn Plus it would probably utterly trash the performance of the operator...
...with no obvious way to recover it.
dalek ast: 946cccf | Coke++ | S0 (4 files):
niecza fudging
21:23
[Coke] niecza spectest passes again
21:23 mj41 joined
colomon [Coke]++ 21:24
[Coke] pretty sure those were mostly additions, not regressions. 21:25
though we had some TODOs passing, so someone isn't checking spectest when commiting to master. ;)
colomon I don't think those TODOs were my fault... but I admit to not always checking spectest before committing. :) 21:26
[Coke] masak: niecza doesn't seem to have Bags. 21:27
masak neither does Rakudo.
I believe it's a fairly LHF in both, probably. 21:28
except that we need object hashes to really make Set and Bag shine.
21:29 dorlamm joined 21:34 mj41 left
japhb Would someone mind applying the patch in #101464 to nom? 21:35
jnthn japhb: Need to sleep really soon...teaching tomorrow. If nobody picks it up before then, I'll do so after my teaching tomorrow. 21:41
masak does so
jnthn oh, masak++ :)
japhb thanks! 21:42
dalek kudo/nom: 6f86603 | (Geoffrey Broadwell)++ | src/core/Main.pm:
Merge WIP snapshot 2 of main-usage
21:43
sorear I can argue the asymmetry in two ways
1. Lists are lazy, so xx is a "generator" to begin with 21:44
2. I'm told Str is supposed to be a rope of some kind (at least in the long-string limit), and ropes have a convenient O(log n) x 21:45
jnthn Hmm 21:46
ok, sleep o/
masak moi aussi.
'night, #perl6ies 21:47
japhb o/ 21:48
colomon at least in theory, Cat x * is legal, no?
sorear incidentally, I'm wondering what the maximum string length should be 21:49
in a rope implementation there's no fundamental reason 'a' x (10 ** 100) can't work 21:50
...except that it would require using BigIntegers in the string-handling code and ick ick ick
colomon: cats are still quite slushy. possibly yes 21:51
21:53 colomon2 joined
colomon2 O/ 21:53
21:54 colomon3 joined
colomon3 Stupid phone 21:54
21:54 dual left
sorear \o/ TRIPLE COLOMON 21:56
colomon3 anyway, what I was trying to say was that it's at least possible that either side of infix:<x> is "infinite"
Just like xx
diakopter 21:57
sorear .u ⧻
phenny U+29FB TRIPLE PLUS (⧻)
colomon3 Admittedly I'm still inclined to think xx shouldn't thunk, rather than x should. 21:58
21:58 colomon2 left
sorear colomon3: erm, you were the one who was so suprised by the old behavior of [ 0 xx matrixColumns ] xx matrixRows :) 22:02
22:02 am0c joined
colomon3 I was? When? 22:02
22:04 dual joined 22:06 PacoLinux left
colomon3 The thing is, I can see the behavior both ways. 22:09
And given that, my first inclination I'd the easier to implement version is right. :)
*is 22:10
Swype alternates between being brilliant and sucking for IRC 22:11
22:12 replore joined 22:15 kfo joined
colomon3 just realized he's been thinking X and saying xx for this entire conversation. 22:18
22:18 kfo_ left 22:19 dorlamm left
dalek ecza/serialize: 9b6504a | sorear++ | lib/ (2 files):
Thaw routines for Frame
22:26
22:26 replore left
colomon3 Away from Droid # story time 22:29
22:29 colomon3 left 22:30 cognominal joined
[Coke] masak: I see a lot of unrunnable tests in niecza that say "unlink" is an undeclared routine. 22:32
dalek ecza/serialize: c0af787 | sorear++ | lib/ (3 files):
Fix fixup call order (oops!), serialization-compatible calling of phasers
22:41
sorear it almost works
stefan@stefans:~/rel/niecza$ mono-sgen obj/Kernel.dll -run CORE Hello, world (0)
Hello, world (0)
running a deserialized unit
22:46 cognominal left
diakopter sorear: \o/ 22:47
dalek ecza/serialize: 661b29c | sorear++ | lib/Kernel.cs:
Fix all subs being treated as INIT phasers by default
22:49
22:51 dual left 22:55 pjcj left 22:56 am0c left
[Coke] phenny: tell moritz that A61354_1 in S12-class/basic.t smells like the eval/try issue. 23:00
phenny [Coke]: I'll pass that on when moritz is around.
23:02 pjcj joined 23:06 Limbic_Region joined, mantovani left
sorear o/ Limbic_Region 23:07
colomon yeah, unlink would be great. 23:08
which, I suppose, means I need to get off my arse and write it.
Limbic_Region salutations 23:11
colomon sorear: looks like unlink (at a first approximation) is just a matter of calling File.Delete. 23:12
sorear: do you have a suggestion for the best approach to take with this in Niecza?
(hmmm, maybe more than once? unlink is a list function in p5, it looks like) 23:13
(and hmmm... p6 has Path.delete instead?) 23:14
woah, that's kind of freaky. 23:15
23:15 jimmy1980 left
colomon according to S29, unlink has been replaced by something in S32, presumably File.Delete 23:15
(or at least, it can be "found in" the IO modules, and there's no mention in S32-IO) 23:17
then the spec links immediately to unlink.t, which tests the unlink function.
sigh.
23:19 Chillance left
japhb Any more committers around that can apply #101474 to nom? 23:24
dalek rixel: 8cf3071 | diakopter++ | src/ (5 files):
pre,post inc,dec , while
23:29
[Coke] Hurm. does S32-num/rat.t really have 804 tests? 23:42
after fudging for niecza, I only have 797. 23:43
nevermind, I didn't fudge right. 23:46
23:58 kensanata joined