Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 wolfman2000 joined #perl6
00:27 fgomez joined #perl6
00:37 localhost joined #perl6
00:46 benabik joined #perl6
00:58 tokuhiro_ joined #perl6
01:07 lutok joined #perl6
01:13 scott__ joined #perl6
01:15 leprevost joined #perl6
01:22 lutok joined #perl6
01:32 Trashlord joined #perl6
01:43 jlaire masak: (re:your hex blog post) did you consider using knuth's generalized exact cover problem and algorithm, making every square constraint a "secondary column"? knuth says it's more efficient than marshmallows, at least in some cases
01:43 jlaire "A generalized cover problem can be converted to an equivalent exact cover problem if we simply append one row for each secondary column, containing a single 1 in that column. But we are better off working with the generalized problem, because the generalized algorithm is simpler and faster."
01:44 jlaire it starts on page 17 in knuth's paper, http://www.ocf.berkeley.edu/~jchu​/publicportal/sudoku/0011047.pdf
02:06 lichtkind good night
02:16 diakopter .
02:21 sorear :
02:21 doy ·
02:22 geekosaur
02:24 jlaire ː
02:25 Psyche^ joined #perl6
02:28 false_fisherman joined #perl6
02:28 false_fisherman anybody online now ?
02:35 TimToady nope
02:35 shachaf There is only silence and some second-hand clothes.
02:37 false_fisherman I understand
02:37 false_fisherman tommorow I have an interview
02:37 false_fisherman anyway
02:38 false_fisherman I wanted to ask
02:38 false_fisherman I'm a long-time Perl5 user
02:38 false_fisherman like 2007, yea I realize there are people with much more Perl experience around..
02:38 false_fisherman so, what I was going to ask is about Perl6's syntax
02:39 false_fisherman I want to port a project of mine to it, mainly because of its expressive power(Perl6's)
02:39 false_fisherman but I'm afraid about the syntax changes
02:39 false_fisherman and I came here to ask how stable is the current spec
02:39 false_fisherman and if you guys realize that it's a risk for someone to write something in Perl6 if you don't freeze the spec in some way or the other
02:39 TimToady for the Perl 5 subset of Perl 6, it's pretty stable
02:39 false_fisherman that subset is quite empty
02:40 sorear The fancier stuff like threads is still in a lot of flux
02:40 TimToady we are freezing the spec as fast as we can, but we can't freeze the bits that haven't actually been implemented yet :)
02:40 sorear We mean the semantic subset
02:40 sorear Things like 'say $x + $y' are not going to change
02:40 false_fisherman I'm talking about the new features, like infinite lists and various operators you have in Perl6 right now
02:40 TimToady well, it depends on what level you mean to translate at
02:40 false_fisherman I want to put them to good use
02:41 false_fisherman to take full advantage of them
02:41 TimToady you can write in the subset that corresponds most closely to Perl 5, and that's stable
02:41 false_fisherman but if you guys change the compiler again and my code breaks I won't be very happy
02:41 TimToady well, someone has to be the guinea pig
02:41 TimToady Perl 6 is still largely for early adopters
02:42 geekosaur that said, I think the places the syntax changes most are the ones that aren't well specced as yet
02:42 TimToady large parts of it are largely stable, but we're still converging on a spec that several implementations can implement
02:42 sorear nitpick: we're using a model with several competing compilers
02:42 TimToady and if something breaks, it's likely to be a minor tweak to fix
02:44 TimToady if you limit yourself to the features that both implementations do well, it's pretty safe; see http://perl6.org/compilers/features to see which features have green in both columns
02:44 xinming joined #perl6
02:45 sorear most of the time when people complain of compiler changes breaking their code, it winds up being a case of "that should never have worked to begin with"
02:46 sorear the P6 spec has a fair amount of undefined behavior, and the implementations don't catch as much as they reasonably could
02:47 sorear that reminds me, I need to release niecza today
02:51 false_fisherman hmm
02:51 false_fisherman I am trying to figure out
02:51 false_fisherman who will be the guinea pig then ?
02:51 sorear TimToady was joking it'd be you
02:52 TimToady people who are willing to try things and then have to tweak them later: "early adopters"
02:52 sorear I think if you write sane code you're not in much danger of large disruptive changes
02:52 false_fisherman sorear: would you place a bet on that ?
02:52 sorear it would not be a bad idea to spec a specific version of a specific compiler
02:53 false_fisherman sorear: I'd bet $100 with you that a 10k line project in Perl6 will need 10% changes after 1 year of Perl6 compiler development
02:53 false_fisherman oh let's say 20%
02:53 false_fisherman to make it more interesting
02:53 false_fisherman sorear: would you take that bet ?
02:54 TimToady you'd lose that bet
02:54 sorear I wouldn't; I have about half that much money
02:54 sorear (I'm a dependant minor)
02:54 false_fisherman TimToady: well, I just lose $100 , I've lost much more money on a lot of ... let's say silly things..
02:55 TimToady most of the rosettacode entries that were written a year or so ago still work
02:55 jlaire how would you define "sane code"
02:55 sorear syntax volatility is a red herring - there are much better reasons to think twice about building stuff on Perl 6
02:56 sorear like the insane amount of memory that Perl 6 interpreters use (both of the major ones want 50+ MBs just to load)
02:57 false_fisherman TimToady: could you tell me a bit about rosettacode, I thought http://pleac.sourceforge.net/   was the norm in terms of implementing basic stuff in multiple languages
02:57 sorear jlaire: insane code, typical example: storing junctions in a variable, updating using | and &, testing with ~~, when a hash table would have done exactly the same thing
02:57 false_fisherman sorear: I got 4GB RAM, and if that's a problem I go to the store and pump this up to 8GB or 16GB if necessary
02:58 sorear sane code is co-RE for me :)
02:58 sorear false_fisherman: try and count how many Perl 5 interpreters are running on your system right now.
02:59 sorear I suspect it is at least 10.
02:59 jlaire I'm actually not sure who I directed that question to, I just thought that judging whether a 10k line project is "sane code" sounds hard :)
02:59 sorear if all of those were replaced with Perl 6 interpreters, it would make a significant dent in your memory supply
02:59 false_fisherman I have some morbo instances.. just 3 I'm afraid
03:00 jlaire false_fisherman: perhaps pleac *was* the norm
03:00 jlaire "Little changes in the top 5 on the last 4 years"
03:00 false_fisherman and their(Perl5 interpretors) mem consumption together is around 0.3% which is 122MB for me..
03:01 false_fisherman not very much
03:01 jlaire you mean 3% ?
03:02 jlaire add a biggish constant factor to that and it might be significant for some people
03:02 false_fisherman damn, then it's even less
03:02 jlaire although of course you aren't going to replace all those perl5 instances
03:02 false_fisherman 12.2MB
03:03 false_fisherman jlaire: thx
03:03 false_fisherman I'm a bit concerned about the VM you guys are using
03:03 false_fisherman this Parrot thing
03:04 false_fisherman I don't know how to put this but.. It doesn't give me too much confidence
03:04 sorear I agree.
03:04 TimToady that's only one of the implementations
03:05 false_fisherman from an outsider's point of view it seems like a castle of cards(Parrot).. and I'm a bit worried because I don't see it being mediatized or given enough attention. I would normally expect when a VM is so great, everybody should praise it at some conference right ?
03:05 false_fisherman but all I found online were some talks with Alison Randal (if I remember her name correctly)
03:05 sorear No, I mostly make jokes at Parrot's expense.
03:05 false_fisherman isolated talks.. and then .. *poof* .. nothing .. only silence
03:05 cooper joined #perl6
03:06 TimToady and while rakudo runs on Parrot currently, it's been redesigned to be more portable to other VMs
03:06 false_fisherman could Rakudo run without a VM ?
03:07 TimToady conceivably
03:07 benabik depends on your definition of VM.
03:07 false_fisherman why not compile the code ? like Python does with .pyc files
03:07 TimToady niecza already runs on mono/.NET
03:07 benabik Aren't .pyc files just python bytecode?
03:07 false_fisherman TimToady: does that mean niecza converts Perl6 => NQP => Mono ?
03:07 sorear false_fisherman: VM is a buzzword, it doesn't have a well-defined meaning
03:08 TimToady no, it goes directly to mon, no nqp
03:08 TimToady *mono
03:08 false_fisherman benabik: didn't know that. you must know more about them than me
03:08 sorear false_fisherman: what Python is doing under the hood is very close to what Rakudo does
03:08 orafu joined #perl6
03:08 false_fisherman TimToady: so niecza is a language translator ?
03:09 false_fisherman sorear: cool, but why does Rakudo need a VM and Python doesn't ?
03:09 sorear with the exception of AUTOCODE and Tcl, I have never seen a serious programming system that *wasn't* a language translator
03:09 sorear false_fisherman: python has a VM component, but it comes with python
03:09 TimToady false_fisherman: you're asking a "Have you stopped beating your wife question"
03:09 benabik false_fisherman: Python essentially has a VM used only by itself.
03:10 sorear this is an organizational question
03:11 doy perl 5 has a vm too
03:11 sorear Python has the huge advantage that their compiler team and VM team don't hate each other
03:11 TimToady likewise Perl 5 as a...what doy said
03:11 swarley joined #perl6
03:11 false_fisherman doy: oh I didn't know that... I mean, I thought it had some sort of interpretor, I've written XS code and apparently I don't yet know how Perl5 works.. funny.. I mean I really don't know
03:12 benabik The difference between an interpreted language (ruby, python, perl 5) and one running on a virtual machine (Parrot, Java, Mono) is that there is a defined interface for a VM separate from the language.
03:12 sorear to implement a language, you generally need two components, a compiler (which translates the input language into something simpler) and an interpreter (also called VM) component which runs the simpler form
03:12 false_fisherman doy: when I compiled Perl5 once, I noticed there are many many "onion layers" to building Perl5, like miniperl and so forth, I don't recall the others. in which layer is this Perl5 VM ?
03:12 sorear AUTOCODE and tcl do not have a compiler, the interpreter does everything.
03:13 TimToady miniperl is basically that VM
03:13 doy false_fisherman: perl -MO=Concise -e'print 1+$x'
03:13 sorear there are several VMs that have defined interfaces that are used by multiple languages
03:13 false_fisherman TimToady it is ?! wow
03:13 sorear Parrot tries to be one, but the only real user is Rakudo
03:14 sorear one of the most popular defined VMs is i386, which has several silicon implementations
03:14 sorear a number of language implementations rely on i386 as their VM, so the only language-specific part is the compiler
03:14 razorfish joined #perl6
03:15 TimToady most everything else in the non-mini perl is to get dynamically loadable modules to work, which is the basis of half of CPAN
03:15 doy sorear: that's kind of a backwards derivation of the term 'vm'
03:15 doy (:
03:15 TimToady it'a vm that isn't v
03:16 sorear The proper terms are "interpreter" and "hardware interpreter", but I think that might be even more confusing
03:16 razorfish hi can rakudo run on 100mb vps
03:16 sorear razorfish: No.
03:16 razorfish why not
03:16 sorear Well, it might, but it will never compile on something that small.
03:17 razorfish I think I can manage that
03:17 sorear TimToady: I am curious how much of an immediate effect there was on the community when y'all first got DynaLoader working
03:17 razorfish sorear; do you happen to know the base memory usage for the interpreter
03:18 TimToady running ./perl6 for rakudo makes a process that is 106MB
03:18 TimToady (on a 64-bit machine)
03:18 TimToady and how big is a millibit, anyway?
03:19 sorear n: say 0.001 * ln(2), " nats"
03:19 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'ln' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/p…
03:19 sorear n: say 0.001 * lg(2), " nats"
03:19 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'lg' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/p…
03:19 sorear n: say 0.001 * log(2), " nats"
03:19 p6eval niecza v15-6-gefda208: OUTPUT«0.00069314718055994533 nats␤»
03:20 * sorear blinks
03:20 sorear why is log computing the natural logarithm?  should it?
03:20 sorear p6: say log 10
03:20 p6eval niecza v15-6-gefda208: OUTPUT«2.3025850929940459␤»
03:20 p6eval ..pugs: OUTPUT«2.302585092994046␤»
03:20 p6eval ..rakudo 57a681: OUTPUT«2.30258509299405␤»
03:21 TimToady natural logarithms are rather, er, natural...
03:21 jlaire that's what it does on Perl 5
03:21 sorear natural logarithms are ln, common logarithms are log, binary logarithms are lg
03:21 TimToady perl6: say log10(100)
03:21 p6eval pugs, rakudo 57a681, niecza v15-6-gefda208: OUTPUT«2␤»
03:22 jlaire that's my favourite convention, too
03:22 jlaire since ln exists
03:23 sftp joined #perl6
03:26 swarley I realize this is a very broad question, but why does rakudo require so much memory?
03:27 razorfish Because it has to allocate magnets.
03:27 swarley but... how do magnets work?
03:27 benabik Because neither Rakudo nor Parrot have really been optimized for memory usage.
03:27 sorear Very well, thank you.
03:28 swarley ah
03:28 swarley yeah that makes sense
03:28 sorear I'm more inclined to blame massive layering of abstractions
03:28 swarley lol
03:28 benabik And they are currently in an awkward stage where Rakudo reimplemented a pile of things that Parrot has.  So there's much duplication.  :-/
03:28 sorear You build a tower of abstractions ten deep with a 3-fold penalty at each layer and you're wondering why it barely works
03:29 TimToady memory usage will go down as objects get reimplemented to look more like structs and less like hashes
03:29 swarley i tried a little work at making faux objects in C with structs before.
03:29 swarley failed miserably
03:30 swarley because i learned i should stick with scripted languages where i belong
03:36 sorear *blink*
03:39 sorear I refuse to beleive that people like that exist.
03:40 TimToady um, then why are you working on a language for such people? :)
03:40 swarley indeed
03:41 sorear I refuse to beleive that people exist who are *incapable* of writing their own object system
03:42 jlaire o_O
03:42 sorear I readily beleive that people have better things to do witht their time
03:42 swarley o-o
03:42 TimToady I know lots of people who couldn't, but are otherwise pretty competent
03:43 razorfish I'm incapable of understanding that statement sorear
03:43 TimToady but "couldn't" is taking personal proclivities into account, fersure
03:43 swarley I dont see why the average programmer would be able to set up oo in C ._. if so then i should quit now
03:44 jlaire well, average programmers (with enough time) can become above average programmers
03:44 swarley i like to think im above average.. with scripting
03:45 swarley doesnt mean that is true of course
03:45 jlaire some of the more elaborate attempts at doing oo in C make me wonder why didn't they just use another language...
03:45 swarley lol
03:46 TimToady "theoretically could" is a relatively uninteresting concept to me, druther help people where they are and wait for them to be ready to learn later
03:46 icwiener joined #perl6
03:57 sorear colomon: ping
04:00 dalek niecza: 28ed094 | sorear++ | docs/announce.v16:
04:00 dalek niecza: Add announce.v16
04:00 dalek niecza: review: https://github.com/sorear/niecza/commit/28ed094079
04:06 _jaldhar joined #perl6
04:14 ashleydev joined #perl6
04:21 havenn joined #perl6
04:28 envi_ joined #perl6
04:34 sorear running a spectest currently
04:52 NamelessTee joined #perl6
04:53 fgomez joined #perl6
04:54 icwiener joined #perl6
05:04 fgomez joined #perl6
05:06 sorear hmm, failed 3 chdir tests
05:16 havenn joined #perl6
05:16 sorear ah, symlink artifact
05:26 birdwindupbird joined #perl6
05:27 kaleem joined #perl6
05:37 havenn joined #perl6
05:42 moritz \o
05:44 sorear o/ moritz
05:44 sorear hmm, think I'll have to release without colomon
05:51 eternaleye joined #perl6
05:54 eternaleye joined #perl6
05:55 eternaleye joined #perl6
06:06 sorear release complete.
06:06 dalek niecza: 5294701 | sorear++ | FETCH_URL:
06:06 dalek niecza: Update bootstrap to v16
06:06 dalek niecza: review: https://github.com/sorear/niecza/commit/5294701554
06:11 moritz sorear++ # v16
06:11 moritz .oO( twice as advanced as v8! )
06:19 wtw joined #perl6
06:40 cxreg is http://perl6.org/compilers/features still current?
06:40 tadzik I think so
06:41 am0c joined #perl6
07:21 razorfish joined #perl6
07:21 razorfish joined #perl6
07:27 mj41 joined #perl6
07:34 moritz cxreg: mostly, yes
07:34 moritz I think there are a few phasers that rakudo now implements but which still have a - there
07:35 moritz but all in all it's rather up to date
07:49 havenn joined #perl6
07:49 mucker joined #perl6
07:56 xinming_ joined #perl6
07:56 noteventime joined #perl6
08:00 fglock joined #perl6
08:04 masak good antenoon, #perl6
08:04 arnsholt Moin, masak
08:04 phenny arnsholt: 26 Mar 20:23Z <jnthn> ask arnsholt what else does it currently depend on?
08:04 phenny arnsholt: 26 Mar 20:28Z <jnthn> tell arnsholt anyways, patches that improve Zavolaj portability are welcome.
08:07 masak n: my @a = [[1, 2], [3, 4]], [[5, 6], [7, 8]]; say @a[1;0;1]
08:07 p6eval niecza v16-1-g5294701: OUTPUT«6␤»
08:07 masak wow!
08:08 masak sorear: another boon of a release: it's easier to learn of new changes from a well-written monthly release announcement than from a month's trickle of commit messages.
08:11 masak does S09 actually permit non-multidimensional arrays to be accessed that way?
08:11 masak I guess it doesn't hurt -- but I hadn't read it that way.
08:16 masak specifically, S09:753: "Arrays by default are one dimensional, but may be declared to have any dimensionality supported by the implementation."
08:17 sorear that is my (somewhat broad) interpretation of S09:803
08:18 masak I was just getting to that one... :)
08:18 masak "For all multidimensional array types..."
08:18 masak but it doesn't say anything about the one-dimensional arrays.
08:19 moritz IMHO autovivifcation gives array a kind of ad-hoc multidimensionality
08:19 masak I actually think I agree with Niecza's interpretation, but I think S09 is pretty vague there.
08:19 moritz so it's OK to treat normal arrays as multidimensional
08:20 sorear my current feeling on the matter is that all Array types have the potential to be multidimensional with the right shape
08:20 sorear also it seems to me that all arrays except infinite rank ones behave semantically as trees
08:24 moritz how so?
08:24 sorear I think that was a stale thought
08:29 sorear one thing that is quite relevant to implementation is TimToady's comment that my @foo[*;*;*] declares a jagged array
08:30 sorear so some kind of tree-ish storage is most likely needed
08:30 sorear I am also still quite undecided on how laziness should interact with higher-rank arrays
08:31 masak jlaire: I'm well aware of the generalized version of the exact cover problem. I spent my commute thinking about whether the marshmallow's can be represented that way, and I really don't think so. let me know if you're seeing something I'm missing.
08:31 masak mashmallows*
08:32 sorear what's this about exact covers?
08:32 masak sorear: http://strangelyconsistent.org/​blog/counting-t4-configurations http://irclog.perlgeek.de/​perl6/2012-03-27#i_5355614
08:32 jlaire masak: okay, I maybe didn't think it through
08:32 * sorear spent the afternoon reading _Reducability among Combinatorial Problems_ by Richard M. Karp for no particular reason
08:35 masak sorear: was it any good?
08:36 masak (and does the title really contain a typo?) :P
08:36 sorear probably not, where?
08:36 sorear I wouldn't really classify it as good/not good
08:37 jlaire masak: wouldn't it work if every column was a secondary column? (except for the fixed l12 piece)
08:37 sorear I kind of wish I could find the same content in a source that uses modern language AND ISN'T A FLEEPING PDF SCAN
08:37 mikemol false_fisherman: When I created Rosetta Code five years ago, I didn't know about PLEAC. There are a bunch of other side-by-side comparison sites out there, too.
08:37 masak sorear: it must be spelled "reducIbility", because "reducAbility" would make the "c" come out as /k/
08:38 sorear yes, it's printed as REDUCIBILITY
08:38 sorear the document contains a large number of typos, but that isn't one of them ;)
08:39 mikemol false_fisherman: I couldn't tell you what sets RC apart from PLEAC or progopedia, though. Maybe that I/we have tried to respond to users' feature requests to make things more convenient. (I haven't always been successful at that, though)
08:39 sorear I hate reading proofs with typos in them
08:39 jlaire adding rows with exactly one 1 for each column (the marshmallows) just sounds like they could just as well be treated as secondary columns
08:41 moritz occcasionally I fantasize about writing a math or CS text book that uses two columsn everywhere, the left column describing everything in prose, the right column containing the formalism
08:42 moritz in such a way that you can read either or both, depending on how well you can deal with formalisms, and what interests you
08:43 sorear do you mean like, normal math books formalism, or statements of FOL+ZFC craziness?
08:44 sorear btw, masak, following release.txt worked ;)
08:44 jlaire .oO( three columns )
08:45 sorear masak: the document to which I refer is where NP-completeness started - definitions and the original 21 problems
08:46 sorear some of the reductions, like chromatic number, don't seem to ever get given except as references
08:46 masak sorear: I'm looking at it now. it looks like a tempting read.
08:47 sorear it needs more prose in the second half
08:47 masak moritz: one of the best math books I've ever read contained in the introduction "ok, this book is a bit informal. but the idea is that you'll be able to formalize at your convenience, whereas going in the other direction is difficult"
08:48 sorear I think that in the reduction for chromatic number, all the xs are supposed to be us; and in the edge set definition, sigma quantifies over both x and x-bar, and there's at least one missing bar
08:49 sorear couldn't follow it at all until i figured out the form of the colorings that would be found
08:49 sorear and, erm, --->sleep
08:49 moritz masak: well, that's what I want, except that I don't want to force you to formalize if you want the formalism; it would be right there for your convenience
08:49 masak 'night, sorear. dream of Karps in clear water. :)
08:50 masak moritz: (that introduction also contains the gem "oh btw, epicycles are equivalent to Taylor expansions")
08:52 moritz masak: which book is it?
08:53 dakkar joined #perl6
08:56 masak http://usf.usfca.edu/vca//
08:57 HarryS joined #perl6
09:02 mj41 joined #perl6
09:02 masak sorear: backlogging over you refusing to believe that people exist who are incapable of implementing their own object system. you remind me of rational!Harry, always disappointed in normal people.
09:07 moritz most people aren't even capable of implementing their own objects</Quirrel>
09:08 masak :P
09:09 moritz ... and if the glass is 90% full, the empty 10% show that nobody /really/ cares about water :-)
09:17 DarthGandalf joined #perl6
09:51 daxim joined #perl6
09:56 lutok joined #perl6
10:14 icwiener joined #perl6
10:20 DarthGandalf joined #perl6
10:22 masak speaking of which -- we've been promised a HPMoR episode later today. by European clocks it'll show up in the middle of the night, though.
10:25 colomon phenny: tell sorear Sorry, I was sound asleep when you pinged me.
10:25 phenny colomon: I'll pass that on when sorear is around.
10:28 daxim haha, it will be delayed again
10:49 Teedev joined #perl6
10:51 NamelessTee joined #perl6
10:53 zhutingting joined #perl6
11:04 pernatiy joined #perl6
11:52 derrazo joined #perl6
11:54 kaleem joined #perl6
11:56 kaleem joined #perl6
11:58 kaleem joined #perl6
12:09 masak perl6: sub circumfix:<| |>($n) { abs $n }; say |-42|
12:09 p6eval rakudo 57a681: OUTPUT«===SORRY!===␤Confused␤at /tmp/lEzMLd4t0_:1␤»
12:09 p6eval ..niecza v16-1-g5294701: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus term at /tmp/TZZVJH4vLT line 1 (EOF):�------> [32mircumfix:<| |>($n) { abs $n }; say |-42|[33m�[31m<EOL>[0m��Parse failed��»
12:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected end of input␤    at /tmp/4SDrZj8mbI line 2, column 1␤»
12:09 moritz masak: note that there's a prefix:<|> already
12:09 masak indeed.
12:10 masak perl6: sub circumfix:<|| ||>($n) { abs $n }; say ||-42||
12:10 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    at /tmp/g8YuxyyQQq line 2, column 1␤»
12:10 p6eval ..rakudo 57a681: OUTPUT«===SORRY!===␤Confused␤at /tmp/EaRpnzfQ68:1␤»
12:10 p6eval ..niecza v16-1-g5294701: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus term at /tmp/oMLGO0QAOL line 1 (EOF):�------> [32mmfix:<|| ||>($n) { abs $n }; say ||-42||[33m�[31m<EOL>[0m��Parse failed��»
12:10 masak next youl'' be telling me that there's a prefix:<||> too :P
12:11 masak you'll*
12:12 masak perl6: sub infix:<·> (@a,@b) { [+] @a »*« @b }; say (1, 2, 3) · (2, 3, 4)
12:12 p6eval pugs, rakudo 57a681: OUTPUT«20␤»
12:12 p6eval ..niecza v16-1-g5294701: OUTPUT«Rebuild in progress␤»
12:13 masak heh :)
12:16 masak TimToady: re https://gist.github.com/1951347 -- I just found https://groups.google.com/group/perl​.perl6.language/tree/browse_frm/thre​ad/05e3e963af533c66/556d922352badfe2 from 2005.
12:18 masak also, fun fact: back in 2005-04-08, &say in Perl 6 defaulted to $_.
12:22 p6eval joined #perl6
12:24 benabik joined #perl6
12:31 icwiener joined #perl6
12:33 masak .can answers the question "is there a method with this name?"
12:33 masak what would I use to answer the question "will a method with this name dispatch with these arguments?"
12:33 moritz masak: take a look at MAIN_HELPER
12:34 moritz masak: it does exactly that
12:41 * masak takes a look
12:43 masak 哈哈 hack-val()
12:45 masak ah, .candidates_matching
12:47 xenu joined #perl6
12:47 tokuhiro_ joined #perl6
12:50 masak r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o.WHAT
12:50 p6eval rakudo 57a681: OUTPUT«Odd()␤»
12:50 masak \o/
12:50 masak r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o
12:50 p6eval rakudo 57a681: OUTPUT«Odd()␤»
12:51 masak r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o ~~ Odd
12:51 p6eval rakudo 57a681: OUTPUT«True␤»
12:51 moritz r: subset Odd of Int:D where { $_ %% 2 }; my Odd $o; say $o ~~ Odd
12:51 p6eval rakudo 57a681: OUTPUT«True␤»
12:53 moritz these type modifiers (do they have a name?) are only implemented in signatures yet
12:56 masak I hereby dub them "type smilies".
12:56 moritz +1
12:58 araujo joined #perl6
13:00 masak r: my @array = '   foo   ', '   bar  '; @array .= trim; say @array.perl
13:01 masak whoa.
13:01 sftp joined #perl6
13:01 masak moritz: I killed p6eval :/
13:01 PerlJam type smilies?
13:02 PerlJam Only one of them resembles a smiley that makes any sense to me  :)
13:02 p6eval joined #perl6
13:02 moritz r: say 1
13:03 moritz fwiw the p6eval on feather3 now runs niecza, rakudo, b and std
13:03 masak PerlJam: you've never had a day when you were all, like, :U ? :P
13:03 p6eval rakudo 57a681: OUTPUT«Array.new("foo       bar")␤»
13:03 p6eval rakudo 57a681: OUTPUT«1␤»
13:03 masak p6eval: 哈哈
13:04 moritz wait, what? p6eval reports output form before its disconnect?
13:04 masak how... persistent.
13:04 moritz that line reminds  me of the movie "keeping mum"
13:05 moritz "that's a persistent little fellow" # about a dog that barks all night long, and then dies a sudden, sad death
13:05 PacoAir joined #perl6
13:07 * masak .oO( no pugs were harmed during the production of this movie )
13:17 colomon \o/  Appear to have successfully built Niecza on my 64-bit Windows box!
13:17 PerlJam colomon: yay!  Now package it up for distribution  :)
13:18 colomon PerlJam: don't need to, sorear posts a binary for every release that works fine.
13:18 colomon I'm just celebrating having a working toolchain for it.  :)
13:19 colomon had to install wget and unzip on cygwin
13:19 colomon as well as mono
13:19 PerlJam oh, then you should tell the rest of the world about your toolchain  :)
13:19 colomon (even though I have .NET, niecza uses the mono C# compiler
13:19 colomon )
13:20 moritz \o/ pugs works now on feather3
13:20 colomon \o/
13:20 masak so, I got curious why anyone would want to write things like https://github.com/rakudo/rakudo/​blob/nom/src/core/Routine.pm#L29
13:20 masak (define a lexical sub and then call it)
13:21 masak so I commented it out and re-ran the spectests.
13:21 masak sure enough, main-eval and main-usage fail. so it's clearly not a no-op.
13:22 masak my current is that it somehow matters that the pir::find_lex__Ps('call_sig') is done from a sub, not a method.
13:22 masak s/current/current hypothesis/
13:22 moritz yes, because the method has 'self' in the call sig
13:23 masak right.
13:23 moritz but then, why can't you use $c directly, instead of $cap?
13:23 moritz r: class A { method x(|$c) { $c } }; say A.x().[0].WHAT
13:24 p6eval rakudo 57a681: OUTPUT«Any()␤»
13:24 masak hm, nqp value vs Rakudo value?
13:24 moritz hm, maybe
13:24 moritz r: class A { method x(|$c) { $c } }; say A.x().elems
13:24 p6eval rakudo 57a681: OUTPUT«0␤»
13:24 moritz r: class A { method x(|$c) { pir::find_lex__Ps('call_sig') } }; say A.x().elems
13:24 p6eval rakudo 57a681: OUTPUT«Method 'elems' not found for invocant of class 'CallContext'␤  in block <anon> at /tmp/h93iDKzvMn:1␤␤»
13:25 masak I can compile and spectest using $c directly.
13:25 ascent_ joined #perl6
13:25 moritz never mind
13:25 moritz r: class A { method x(|$c) { $c } }; say A.x().WHAT
13:25 p6eval rakudo 57a681: OUTPUT«Capture()␤»
13:25 moritz it's Capture vs. CallContext
13:25 masak oh!
13:25 * masak aborts build
13:26 moritz anyway, a comment explaining that wouldn't go amiss
13:26 masak noted.
13:27 moritz masak: do you want to do it, or should I?
13:28 masak I'm on it.
13:28 masak isn't $cap a bad name for that variable, if it's really a CallContext? :P
13:28 masak can I rename it to ccxt?
13:29 moritz just name it $call-context
13:29 moritz well, it's a low-level capture
13:29 moritz on a different VM it wouldn't be called CallContext
13:30 moritz so maybe $cap isn't too bad after all
13:30 Juerd cxt is a weird abbreviation.
13:30 masak then I'm keeping it.
13:30 PerlJam conservation of characters in variable names is often a mistake too
13:30 envi_ joined #perl6
13:30 Juerd PerlJam: Yes. And it's one more thing to remember?
13:30 PerlJam say what the thing is with a comment as to why and it'll make much more sense N months from now for the next guy
13:31 Juerd Did we abbreviate 'message' as 'mess', 'mesg', or 'msg' today?
13:31 Juerd 'conf', is that 'conference call' or 'configuration'?
13:31 * moritz likes "mess", but for the wrong reasons :-)
13:31 masak 'cxt' is common in Parrot source code, fwiw.
13:31 PerlJam moritz: are you sure they're the wrong reasons?  :)
13:32 Juerd masak: That's unfortunate. In at least one other place, context is usually abbreviated as ctx
13:32 PerlJam masak: is that an argument for or against it?  ;)
13:32 Juerd Equally weird, though.
13:32 moritz r: qr/a/
13:32 p6eval rakudo 57a681: OUTPUT«===SORRY!===␤Confused␤at /tmp/l6Kla5xJjH:1␤»
13:32 moritz std: qr/a/
13:32 p6eval std 3c2fb9c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Bogus term at /tmp/VCSFvELZy7 line 1 (EOF):â�¤------> [32mqr/a/[33mâ��[31m<EOL>[0mâ�¤Undeclared routines:â�¤     'a' used at line 1â�¤     'qr' used at line 1â�¤      (in Perl 6 please use rx instead)â�¤Parse failedâ�¤FAILED 00:01 109mâ�¤Â»
13:34 masak Juerd: ah -- 'ctx' it is. I'm just being confused.
13:34 Juerd I think that does kind of prove our point :)
13:35 masak actually, 'cxt' would've made more sense as an abbreviation, in my eyes. maybe that's why I got it wrong.
13:35 masak and I don't think it's the first time I get it wrong.
13:35 moritz ConteXT vs. ConTeXt
13:36 masak right. when was the last time you abbreviated something by choosing the first, fourth and sixth characters? :)
13:37 PerlJam so ... abbreviations serve to add confusion.  QED  :)
13:37 moritz there's a certain tendency to chose those characters that stand out when pronouncing it
13:40 smash joined #perl6
13:41 GlitchMr joined #perl6
13:41 skids joined #perl6
13:41 GlitchMr perl6: print $a // ':)'
13:41 p6eval rakudo 57a681: OUTPUT«===SORRY!===␤Variable $a is not declared␤at /tmp/0KLNtZ33d7:1␤»
13:41 p6eval ..pugs: OUTPUT«*** ␤    Unexpected " //"␤    expecting "::"␤    Variable "$a" requires predeclaration or explicit package name␤    at /tmp/Lks2_WaoBt line 1, column 9␤»
13:41 p6eval ..niecza v16-1-g5294701: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $a is not predeclared at /tmp/mGxCouGiEJ line 1:â�¤------> [32mprint [33mâ��[31m$a // ':)'[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3) â�¤  at /home/p6eval/…
13:42 GlitchMr :)
13:42 fsergot joined #perl6
13:42 benabik perl6: print (my $a) // ':)'
13:42 p6eval niecza v16-1-g5294701: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/Oe7j38K1oi line 1:â�¤------> [32mprint (my [33mâ��[31m$a) // ':)'[0mâ�¤â�¤:)»
13:42 p6eval ..pugs, rakudo 57a681: OUTPUT«:)»
13:42 fglock perlito development slows down considerably  # got a new camera to play with :P
13:42 fsergot o/ #perl6
13:42 GlitchMr I guess this makes sense...
13:42 kaleem joined #perl6
13:42 moritz fglock: automate it with Perl 6 :-)
13:42 GlitchMr There is no reason why you would want to check if variable exists or not...
13:43 tadzik snarkyboojum: btw, you did have some experience with running Rakudo on Nokia N900, right?
13:43 fglock moritz: I will :)
13:43 icwiener joined #perl6
13:43 GlitchMr ... or maybe there is... you use module and you want to check if module has certain sub...
13:43 GlitchMr But that is for subs, it doesn't make sense for variables...
13:44 moritz GlitchMr: I can't make much sense of what you say
13:44 GlitchMr Whatever...
13:44 moritz GlitchMr: // doesn't check for the existence of variables
13:44 GlitchMr Makes sense...
13:44 moritz GlitchMr: and importing stuff from modules is done at compile time, so you just use them, and if they are not exported, the compiler whines
13:45 GlitchMr Well, it's not like Perl has need for feature detection... unlike JavaScript for example...
13:45 masak GlitchMr: there are ordered ways to introspect package stashes. but they don't look like normal uses of a variable, and with good reason.
13:48 fglock maybe http://chdk.wikia.com/wiki/CHDK and run perl6 in the camera...
13:49 fglock they seem to have "ubasic" and Lua
13:51 moritz evalbot rebuild nom
13:51 p6eval OK (started asynchronously)
13:52 ponbiki joined #perl6
13:56 colomon celebrated too soon about niecza
13:56 colomon I couldn't spectest because of CRLF line endings
13:57 colomon so I tried to change the autocrlf just for niecza's directory, then re-checkout and rebuild.  But the build is failing now.  :(
13:58 pmurias joined #perl6
13:59 moritz r: qr/a/
13:59 p6eval rakudo 57a681: OUTPUT«===SORRY!===␤Confused␤at /tmp/2H_WuMQ1Ue:1␤»
13:59 moritz dalek: where are you?
14:00 moritz phenny: ask sorear can you please help me to set up dalek on feather? or even better, do it yourself :-)
14:00 phenny moritz: I'll pass that on when sorear is around.
14:04 pmurias fglock: "re dropped support for d8 shell (v8 javascript)" you are aware that node also uses the v8 javascript engine?
14:04 icwiener joined #perl6
14:06 fglock pmurias: it's not really dropped, but v8 can't do the operations needed by "use" (file test, for example) - but maybe it can be faked with try/catch
14:07 kaleem joined #perl6
14:08 fglock also d8 can't read PERL5LIB, it seems
14:09 fglock it's not about the engine, but the missing system extras
14:11 colomon \o/  niecza spectest now running on 64-bit Windows.
14:12 fglock pmurias: Perlito5/Grammar/Use.pm - now implements all the module-loading stuff in pure-perl
14:14 fglock there are 2 modes, "precompilation" and "normal", because I haven't figured out yet how to dump the full state
14:19 [Coke] # 03/26/2012 - rakudo++ ; niecza (96.15%); pugs (38.93%)
14:19 [Coke] "niecza",     20312,     1,   756,  1534, 22603, 23760
14:19 [Coke] "pugs"  ,      8226,     1,  3020,  1344, 12591, 23569
14:19 [Coke] "rakudo",     21125,    37,   626,  1888, 23510, 24026
14:19 [Coke] (hasn't been much change since I posted last.)
14:21 cogno joined #perl6
14:22 * moritz has been adding O(1) tests per day
14:27 [Coke] pugs: say 3.Int
14:27 p6eval pugs: OUTPUT«*** No such method in class Int: "&Int"␤    at /tmp/xJZCu5WF8L line 1, column 5 - line 2, column 1␤»
14:28 [Coke] Is there a blocker to rebuilding pugs on the evalbot?
14:28 [Coke] anything I can help with?
14:29 moritz [Coke]: it's built from git on feather1 now, and rsync'ed to feather3
14:29 moritz [Coke]: so as soon as p6eval migrates, it'll happen automatically
14:29 [Coke] moritz: why is it using an old version, then?
14:29 [Coke] ha
14:29 [Coke] er, "ah"
14:30 moritz I just need to set up some cron jobs, and maybe set up some more compilers
14:30 colomon 96.15%?  That's completely unacceptable!
14:31 colomon I need to get off my ass and get back to work...
14:33 benabik_ joined #perl6
14:38 cogno joined #perl6
14:41 GlitchMr niecza: use Threads
14:41 p6eval niecza v16-1-g5294701:  ( no output )
14:45 moritz r: qr/a/
14:45 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Unsupported use of qr for regex quoting;  in Perl 6 please use rx//␤at /tmp/k9LQMnuSEh:1␤»
14:48 arnsholt phenny: tell jnthn Zavolaj only depends on having a compiler and getting the dynamic loader to find the compiled libs (both of which have caused me grief). The idea of only depending on stdlib is minimising the number of moving parts not directly related to loading a lib and calling functions.
14:48 phenny arnsholt: I'll pass that on when jnthn is around.
14:48 ponbiki joined #perl6
14:48 GlitchMr niecza: use Threads; Thread.new({ print 2 })
14:48 p6eval niecza v16-1-g5294701: OUTPUT«2»
14:49 GlitchMr Weird... why it doesn't work for me..0.
14:49 moritz arnsholt: I might be missing something, but if you want to actually test dynamic *loading* (and not just calling), don't you *have* to do load some lib that is not standard (and thus automatically available)?
14:51 arnsholt That's a fair point, I guess
14:51 arnsholt I'll think about it on my way home, but I've got to run now, unfortunately
14:51 moritz arnsholt: btw does the test suite work for you, out of the box?
14:52 * moritz needs to fiddle with some LD_ vars to make it run
14:52 arnsholt Yeah, I've had a fair amount of trouble with that
14:52 GlitchMr Unsupported use of \ with sigil; nowadays please use \ without sigil at c:\Users\GlitchMr\niecza\lib\Threads.pm6 line 161:
14:52 GlitchMr I guess it's... weird...
14:53 arnsholt Which is why I sort of want to only call out to stdlib =)
14:53 arnsholt But. Off to make dinner for mother- and aunt-in-law
14:53 arnsholt I'll be back!
14:53 * moritz imagines arnsholt in arnold-voice
14:53 GlitchMr std: sub infix:« <== »(\$output, @input) is Niecza::absprec<f=> is export { }
14:53 p6eval std 3c2fb9c: OUTPUT«Potential difficulties:â�¤  Unsupported use of \ with sigil; nowadays please use \ without sigil at /tmp/NKZ1Zmi6B3 line 1:â�¤------> [32msub infix:« <== »(\$output[33mâ��[31m, @input) is Niecza::absprec<f=> is expo[0mâ�¤  @input is declared but not used at /tmp/NKZ1Zmi6…
14:54 GlitchMr I'm confused...
14:55 moritz GlitchMr: maybe your copy of niecza is out of place?
14:56 moritz or parts of that copy
14:56 GlitchMr I don't know. I've downloaded "niecza-16.zip — Niecza v16 (2012.03.26) binary compiler release" and it seems to cause issues...
14:57 thou joined #perl6
15:00 GlitchMr OK, it now accepts that "\$output", but I have other problem. I can use it, but trying to Thread.new({print 2}) causes freeze with full one CPU core usage
15:01 GlitchMr What is interesting is that it works in REPL...
15:02 GlitchMr Now I'm really confused about it...
15:02 moritz might be a different mono version than what p6eval uses
15:02 kaare_ joined #perl6
15:04 GlitchMr My mono version is "Microsoft .NET Framework 4"...
15:05 moritz that is a difference, I assume :-)
15:09 GlitchMr niecza: use Threads; print Thread.new({}) # I like edge cases!
15:09 p6eval niecza v16-1-g5294701: OUTPUT«␤Unhandled Exception: Unable to resolve method postcircumfix:<( )> in class Hash␤  at <unknown> line 0 (ExitRunloop @ 0) ␤»
15:10 NamelessTee joined #perl6
15:12 GlitchMr perl6: open my $file, '<', '/dev/random'
15:12 p6eval rakudo d18aab: OUTPUT«open is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub open at src/SAFE.setting:5␤  in block <anon> at /tmp/kXYDoGaun7:1␤␤»
15:12 p6eval ..niecza v16-1-g5294701: OUTPUT«Rebuild in progress␤»
15:12 p6eval ..pugs: OUTPUT«*** Unsafe function 'Pugs::Internals::openFile' called under safe mode␤    at Prelude.pm line 308, column 13-61␤»
15:13 masak niecza: use Threads; print Thread.new({;})
15:13 p6eval niecza v16-1-g5294701: OUTPUT«Thread()<instance>»
15:19 GlitchMr Also, I'm not sure if it's intentional...
15:19 GlitchMr $ echo 'use Threads; Thread.new({print 2})' | niecza
15:19 GlitchMr niecza> Thread.new(...)
15:19 GlitchMr niecza> 2
15:20 GlitchMr It's something that Python interpreter can deal with, even "python" is REPL :P...
15:20 GlitchMr even if "python"*
15:22 derrazo_ joined #perl6
15:25 masak GlitchMr: again, it is not clear what you want to highlight.
15:25 masak the output looks correct to me.
15:25 GlitchMr Well, it shows REPL, but the input is not from /dev/tty :P...
15:25 masak though why you'd want to pipe echo into the REPL I cannot say.
15:26 masak it shows the REPL, because you called 'niecza' without command-line arguments.
15:26 masak you seem to be of the opinion that it should behave differently.
15:26 masak (and maybe it should)
15:26 * PerlJam is of that same opinion
15:27 PerlJam (input piped from stdin shouldn't invoke the REPL)
15:29 geekosaur REPL is fine if it behaves sanely in that context; defaulting the prompt to the emoty string is common, for example (and is what original /bin/sh did; follow-ons also need to do things like disabling interactive signal management and job control etc.)
15:29 geekosaur ^emoty^empty
15:29 GlitchMr Also:
15:30 GlitchMr $ printf '{;\n}; print 2;' | perl
15:30 GlitchMr 2
15:30 GlitchMr $ printf '{;\n}; print 2;' | niecza
15:30 GlitchMr niecza> ←[31m===←[0mSORRY!←[31m===←[0m
15:30 GlitchMr It doesn't happen if I will skip this \n, but I think that's something connected to that REPL...
15:30 moritz note that perl 5 doesn't have a REPL
15:30 GlitchMr I know :P
15:31 masak and that the perl executable actually reads a program from STDIN, without a prompt.
15:31 GlitchMr OK, better example...
15:31 GlitchMr $ printf 'if 1:\n  print True' | python
15:31 GlitchMr True
15:31 geekosaur indeed, it's occasionally annoying (although at the same time it ends up doing the same thing I do in mini-shell scripts at a shell prompt...)
15:31 GlitchMr ... but wait...
15:32 GlitchMr ... that's wrong example anyways... Python catches linebreaks...
15:32 benabik Python uses istty() to decide if it should use a REPL.
15:32 benabik I'm not sure that's simple to do in mono.
15:32 moritz GlitchMr: your point is that niecza (and rakudo too) compile each line separately in the REPL, right?
15:32 GlitchMr That's also sort of problematic...
15:32 moritz ie, don't ask for more input if there are unopened strings or so
15:33 GlitchMr Something like in Node.js shouldn't be hard to do :P...
15:33 moritz GlitchMr: then do it.
15:33 GlitchMr Get line, check grammar, get another line, check grammar...
15:34 GlitchMr As for prompt being part of output, what about using STDERR for prompt if compiler is not sure if it is TTY or not...
15:36 zipf joined #perl6
15:37 moritz but the prompt isn't an error, so has no business being on STDERR
15:37 GlitchMr Right...
15:37 GlitchMr And it would spam console... that's bad idea...
15:38 moritz spamming IRC with repeated ... is also a bad idea :-)
15:38 GlitchMr !!!
15:38 * masak .oO( repeated what? why are you using pauses all the time? )
15:38 moritz r: !!!
15:38 p6eval rakudo d18aab: OUTPUT«Stub code executed␤  in block <anon> at /tmp/wKjSwV0YgK:1␤␤»
15:39 PerlJam masak: maybe english is his second language and he learned it from Captain Kirk on old Star Trek reruns
15:40 shinobicl joined #perl6
15:41 masak :P
15:42 masak I don't mind GlitchMr being using ellipses. except when he uses them instead of saying what he wants. :)
15:42 masak s/being //
15:44 pernatiy joined #perl6
15:45 GlitchMr "cat file | perl" is usually identical to "perl file" (except for few minor details, like $0 variable...)
15:45 GlitchMr But it doesn't work like this in Perl 6...
15:45 GlitchMr But I guess it's very minor issue...
15:46 PerlJam GlitchMr: don't back down now ...  It's the most important issue EVAR!
15:46 masak it doesn't work like this in Perl 6.
15:47 Psyche^ joined #perl6
15:47 GlitchMr At least, is there special case for "-" file?
15:47 * PerlJam bets not
15:47 masak I don't remember reading about it in, say, S19.
15:48 GlitchMr -v --verbose              # detailed timing info
15:48 GlitchMr -v                                   Display version info
15:48 GlitchMr Yeah...
15:48 daxim AltGr + . → …
15:48 PerlJam the last few sentences of S19:74
15:49 PerlJam (if only by implication)
15:50 masak oh, there it is. very well, then.
15:50 masak PerlJam++
15:55 * masak decommutes
16:06 GlitchMr perl6: print :2<1111111111111111111111111111111​11111111111111111111111111111111>
16:06 p6eval pugs, rakudo d18aab, niecza v16-1-g5294701: OUTPUT«9223372036854775807»
16:10 alester joined #perl6
16:23 bbkr perl6: :0<0>; say "alive";
16:23 p6eval rakudo d18aab:  ( no output )
16:23 p6eval ..pugs, niecza v16-1-g5294701: OUTPUT«alive␤»
16:24 benabik Huh.  Silently dies.  No segfault, no error messag.e
16:25 zipf joined #perl6
16:25 bbkr should this return "invalid radix" on everything written inside if base is 0 ? i'm not even sure if it is mathematically correct.
16:25 bbkr but for sure - it should not die silently
16:25 * bbkr reports
16:26 benabik nqp: say(nqp::radix(0, '0', 0, 0))
16:26 p6eval nqp: OUTPUT«[ 0, 1, -1 ]␤»
16:27 benabik That's not it.
16:28 colomon I'd definitely say base 0 should be an error
16:29 MayDaniel joined #perl6
16:29 benabik It looks like Rakudo is supposed to throw a X::Syntax::Number::RadixOutOfRange if the radix < 2
16:31 GlitchMr perl6: print (:1<42>).perl
16:31 p6eval pugs, niecza v16-1-g5294701: OUTPUT«6»
16:31 p6eval ..rakudo d18aab:  ( no output )
16:31 bbkr why? radix=1 is perfectly fine.
16:32 GlitchMr I'm confused...
16:32 retup_work perl6: print :1<11111>
16:32 p6eval rakudo d18aab:  ( no output )
16:32 p6eval ..pugs, niecza v16-1-g5294701: OUTPUT«5»
16:32 TimToady perl6: print :2<22222>
16:33 p6eval pugs, niecza v16-1-g5294701: OUTPUT«62»
16:33 p6eval ..rakudo d18aab: OUTPUT«===SORRY!===␤Invalid character '2' in number literal␤»
16:33 GlitchMr perl6: print :2<Z>
16:33 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Invalid character 'Z' in number literal␤»
16:33 p6eval ..pugs, niecza v16-1-g5294701: OUTPUT«35»
16:33 GlitchMr That... sort of makes sense...
16:33 GlitchMr Except it doesn't...
16:33 GlitchMr How can the number be base 36 and base 2 at once?
16:34 colomon it's bug in niecza
16:34 colomon and pugs
16:34 GlitchMr Well, the behavior sort of makes sense...
16:34 colomon sure, it's easy to see why it works that way.
16:34 colomon but it's still wrong
16:35 benabik r: multi () { say 'test' }
16:35 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Confused␤at /tmp/7pWujf_bHI:1␤»
16:35 GlitchMr :3<AB> == 10 * 3 ** 1 + 11 * 3 ** 0
16:36 GlitchMr Mathematically it makes sense...
16:36 bbkr std: :+2<0>
16:36 p6eval std 3c2fb9c: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus statement at /tmp/vQf9iHPIVT line 1:�------> [32m<BOL>[33m�[31m:+2<0>[0m�Parse failed�FAILED 00:01 109m�»
16:36 benabik r: class A { method () { } }
16:36 p6eval rakudo d18aab:  ( no output )
16:37 GlitchMr >>> parseInt('3', 4)
16:37 GlitchMr 3
16:37 benabik Hm.  Looks like in some places $*W.throw uses an array and others it uses
16:37 GlitchMr >>> parseInt('3', 3)
16:37 GlitchMr NaN
16:37 colomon GlitchMr: do you want to add tests for this misbehavior to roast?
16:37 benabik string.  And that doesn't work.
16:37 GlitchMr colomon, well, I guess I could add tests :P
16:38 benabik Whenever it uses a string, it dies without outputting the error.
16:38 GlitchMr But is it in Synopsis?
16:38 GlitchMr Does Synopsis says anything about this case?
16:39 raiph joined #perl6
16:40 GlitchMr https://github.com/perl6/roast/blob/m​aster/S02-literals/radix.t#L149-L161
16:40 GlitchMr I guess it's this file
16:40 GlitchMr (also sorry for copying range)
16:41 benabik perl6: class A { method () { } }
16:41 p6eval pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting operator, ":", "," or "}"␤    at /tmp/79DG4TJnyu line 1, column 21␤»
16:41 p6eval ..rakudo d18aab, niecza v16-1-g5294701:  ( no output )
16:42 sorear good * #perl6
16:42 phenny sorear: 10:25Z <colomon> tell sorear Sorry, I was sound asleep when you pinged me.
16:42 phenny sorear: 14:00Z <moritz> ask sorear can you please help me to set up dalek on feather? or even better, do it yourself :-)
16:42 colomon o/
16:42 sorear colomon: you got the crlf issue resolved?
16:42 colomon yes
16:43 sorear what's the trick?
16:43 colomon I turned off autocrlf globally on my system, then grabbed a fresh copy of niecza off github.
16:43 benabik autocrlf is such a bad idea.
16:43 benabik perl6: class A { method () { } }; say 'alive'
16:44 p6eval pugs: OUTPUT«*** ␤    Unexpected "{"␤    expecting operator, ":", "," or "}"␤    at /tmp/oIQkS1kEg4 line 1, column 21␤»
16:44 p6eval ..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«alive␤»
16:44 leprevost joined #perl6
16:44 colomon I think it probably would have worked if I'd grabbed niecza, changed autocrlf on it locally, blown away the source, checked it out again, and then built.
16:44 colomon but after building it first, I had all sorts of permission errors when I tried to get rid of it and build it again.  Stupid Windows Vista.
16:47 colomon anyway, I've now run a full spectest on it, I'll start trying to sort out the Windows-specific errors ASAP.  (Though that may be a while, Ambercon is this week.)
16:48 benabik colomon: Amber DRPG con?
16:48 colomon benabik: yes
16:49 colomon benabik: this will be my 19th year going.  :)
16:49 benabik colomon: Very cool.  I ran across the rulebook for that a long time back...  There were a couple attempts to run a game in it, but the rules don't work well for the local kind of gamers.
16:50 benabik github.com/rakudo is a user, not an org?
16:50 preflex joined #perl6
16:51 GlitchMr #?niecza 2 todo
16:51 GlitchMr #?pugs todo "todo"
16:51 GlitchMr eval_dies_ok ':2<2>',   ':2<2> is illegal';
16:51 GlitchMr #?pugs todo "todo"
16:51 GlitchMr eval_dies_ok ':10<3a>', ':10<3a> is illegal';
16:51 GlitchMr Tests already have detection for it, but I think I will add :0 and :1 tests :P
16:51 colomon benabik: my friends got the game, thought it was really cool, and insisted I GM it because I'd already read all the books.  (I'm a huge Zelazny fan.)  That first game session I ran went so incredibly well that I was thoroughly hooked.
16:55 GlitchMr But, while :0<...> is obviously invalid, what 1 should do? :1<0000> sounds valid, but is it possible to represent using base-1 anything more than 0? (base-2 uses 0 and 1, so logically base-1 only uses 0)...
16:56 colomon GlitchMr++
16:57 benabik I believe that the usual notation for unary numbers is all 1s, no 0s.
16:57 GlitchMr That would require edge casing in spec...
16:57 benabik Yup.
16:57 benabik And the compilers.
17:00 GlitchMr As for now, I will just do test with just :0<...>, waiting for spec to update to include :1 special case (if it will happen :P)...
17:01 TimToady I'm fine with it if Perl 6 doesn't support unary notation
17:01 TimToady or if the only number you can represent with it is powers of 0 :)
17:02 geekosaur (S (S (S Z))) :p
17:03 TimToady perl6: say +set(set())
17:03 p6eval pugs: OUTPUT«*** No such subroutine: "&set"␤    at /tmp/_k6wCzbO9P line 1, column 5 - line 2, column 1␤»
17:03 p6eval ..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0␤»
17:03 GlitchMr perl6: print (:1<000>).perl
17:03 p6eval pugs, niecza v16-1-g5294701: OUTPUT«0»
17:03 p6eval ..rakudo d18aab:  ( no output )
17:03 sorear n: :2("0999")
17:04 p6eval niecza v16-1-g5294701: OUTPUT«Unhandled exception: Digit <9> too large for radix 2␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3262 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3265 (from_base @ 4) ␤  at /ho…
17:04 GlitchMr perl6: print (:0<000>).perl
17:04 p6eval pugs, niecza v16-1-g5294701: OUTPUT«0»
17:04 p6eval ..rakudo d18aab:  ( no output )
17:04 TimToady perl6: say +set(set().item)
17:04 p6eval pugs: OUTPUT«*** No such subroutine: "&set"␤    at /tmp/LTrGD842jr line 1, column 5 - line 2, column 1␤»
17:04 p6eval ..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0␤»
17:04 TimToady hmmm
17:05 TimToady perl6: my $empty = set(); say +set($empty)
17:05 p6eval pugs: OUTPUT«*** No such subroutine: "&set"␤    at /tmp/xnpP5hs9MB line 1, column 8-18␤»
17:05 p6eval ..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0␤»
17:05 TimToady that's arguably wrongish
17:06 TimToady perl6: say +set( set() => True )
17:06 [Coke] wronglish, aka UK english.
17:06 p6eval rakudo d18aab, niecza v16-1-g5294701: OUTPUT«1␤»
17:06 p6eval ..pugs: OUTPUT«*** No such subroutine: "&set"␤    at /tmp/AA29jS2g73 line 1, column 5 - line 2, column 1␤»
17:07 TimToady well, at least we can pass a set in as a pair key
17:07 TimToady but + certainly ain't going to recurse...
17:08 colomon why is it wrongish?
17:08 * colomon knows it's probably his fault...
17:09 TimToady probably not
17:09 colomon you, of course, are the other suspect.  ;)
17:10 colomon wait, are you saying you're trying to create the set containing only the empty set?  That's definitely not possible as we have defined set.
17:11 TimToady perl6: my $h1 = { a => 1 }; my $h2 = { b => 2 }; my %hash = $h1, $h2; say %hash.elems
17:11 p6eval rakudo d18aab: OUTPUT«2␤»
17:11 p6eval ..niecza v16-1-g5294701: OUTPUT«Unhandled exception: Unmatched key in Hash.LISTSTORE␤  at /tmp/xYIBx_En2m line 1 (mainline @ 11) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /home/p6eval/niecz…
17:11 p6eval ..pugs: OUTPUT«1␤»
17:11 TimToady wow, three different answer :)
17:11 TimToady *s
17:13 TimToady the question is whether set() works only by virtue of being a listop, so the inclusion of an inner set() flattens it due to the list context, or whether the constructor pries open any sets it finds in the list regardless of hiding behind $
17:16 TimToady whether $h1 and $h2 above should be pried open is a related question
17:17 TimToady colomon: I just did it, though, by passing in set() => True
17:18 colomon TimToady: yeah, that's kind of scary.
17:18 TimToady though it's possible that niecza stringified it
17:19 TimToady n: say .WHAT for set( set() => True ).keys
17:19 p6eval niecza v16-1-g5294701: OUTPUT«Str()␤»
17:19 TimToady yup
17:19 TimToady r: say .WHAT for set( set() => True ).keys
17:19 p6eval rakudo d18aab: OUTPUT«Str()␤»
17:19 colomon r:  say .WHAT for set( set() => True ).keys
17:19 p6eval rakudo d18aab: OUTPUT«Str()␤»
17:19 TimToady ooh, looks like rakudo did too
17:20 * TimToady thought sets were object-keyed in rakudo...
17:22 TimToady perl6: .say for set( set() => True ).keys
17:22 p6eval pugs: OUTPUT«*** No such subroutine: "&set"␤    at /tmp/yv_x8qLOo1 line 1, column 10 - line 2, column 1␤»
17:22 p6eval ..niecza v16-1-g5294701: OUTPUT«set(<  >)␤»
17:22 p6eval ..rakudo d18aab: OUTPUT«␤»
17:22 TimToady another difference of opinion :)
17:23 TimToady n: say set.gist
17:23 p6eval niecza v16-1-g5294701: OUTPUT«set()␤»
17:23 TimToady n: say set().gist
17:23 p6eval niecza v16-1-g5294701: OUTPUT«set()␤»
17:23 TimToady r: say set.gist
17:23 p6eval rakudo d18aab: OUTPUT«set()␤»
17:23 colomon that's .... interesting.
17:23 colomon n: say set(<  >)
17:23 p6eval niecza v16-1-g5294701: OUTPUT«set()␤»
17:23 TimToady oh, stringification is probably with .Str
17:24 TimToady for hash keys
17:24 TimToady r: say ~set()
17:24 p6eval rakudo d18aab: OUTPUT«␤»
17:24 TimToady n: say ~set()
17:24 p6eval niecza v16-1-g5294701: OUTPUT«set(<  >)␤»
17:25 TimToady rakudo is probably correcter here
17:25 TimToady n: say ~set(<a b c>)
17:25 p6eval niecza v16-1-g5294701: OUTPUT«set(< a b c >)␤»
17:26 TimToady yeah, that should probably just act like a list of a b c
17:26 colomon for .Str, you mean?
17:26 TimToady nod
17:27 * colomon is being sorely tempted to give in to the dark side here and skip $work for the rest of the day to hack on Niecza.
17:28 TimToady that's the dark side?!?
17:28 colomon in this view, what should ~Bag((a => 10, b => 5)) look like?
17:28 TimToady a a a a a a a a a a b b b b b
17:28 colomon TimToady: well, it's the side that's not putting food in my family's mouth, at any rate...
17:28 colomon TimToady: are you sure?  That makes stringification of big bags pretty impossible.
17:29 TimToady .oO(cast your family's bread on the surface of the waters...)
17:30 TimToady I think stringification of large bags is a DIHWIDT
17:31 colomon I don't suppose you'd like to put tests to both effects into roast?
17:31 colomon ;)
17:32 colomon r: say ~set(<a b c>)
17:32 p6eval rakudo d18aab: OUTPUT«a b c␤»
17:32 TimToady I also have a $job that I am neglecting
17:32 colomon "Visualization Library includes a series of functions to create the most common primitive objects out of the box such as:  Box, Teapot, Capsule, Torus, Cylinder..."
17:33 TimToady I'm only still here because I've been stretchingout the tail end of the backlog...
17:33 colomon Somehow college neglected to teach me that the Teapot was a standard primitive geometry object.
17:34 TimToady I'm sure the Mad Hatter would disagree
17:34 sorear tempest?
17:34 PerlJam short and stout?
17:34 TimToady dome scandal?
17:35 havenn joined #perl6
17:37 colomon n: say "bar baz foo" ~~ /^[abforz ]+$/
17:37 p6eval niecza v16-1-g5294701: OUTPUT«Match()␤»
17:37 colomon n: say "bar baz foo" ~~ /^[abfor ]+$/
17:37 p6eval niecza v16-1-g5294701: OUTPUT«Match()␤»
17:37 colomon n: say ?("bar baz foo" ~~ /^[abforz ]+$/)
17:37 p6eval niecza v16-1-g5294701: OUTPUT«False␤»
17:38 sorear phenny: "abforz"?
17:38 phenny sorear: "abforz" (de to en, translate.google.com)
17:38 sorear heh, phenny thinks it sounds like a german word too
17:38 PerlJam colomon: perhaps it was just that the other objects were mislabeled.  It should have been teapot, coffee cup, plate, etc.
17:38 colomon that's just me using the wrong syntax for p6, I think.
17:38 colomon PerlJam: http://www.visualizationlibrary.org/do​cumentation/pag_guide_primitives.html    donut, maybe....
17:38 japhb colomon, the Utah Teapot has a long and storied history in the world of computer graphics.
17:39 colomon japhb: yes, I know.  but that doesn't make it a geometrical primitive IMO...
17:39 PerlJam colomon: but ... but ... wikipedia says so!  http://en.wikipedia.org/wiki/Utah_teapot
17:40 japhb Heck, I think I put a teapot into shapes.{p6,pir} ...
17:41 japhb Yup.
17:41 japhb Ah, history.
17:41 japhb Too bad only the .pir one works right now, because Rakudo no longer recognizes :from<parrot>
17:41 * TimToady imagines a teapot-shaped array
17:42 * TimToady fails to imagine a teapot-shaped array...
17:42 japhb I imagine it as a voxel representation
17:42 TimToady I must have either had breakfast or used up my six things...
17:42 * sorear succeds in imagining a teapot-shaped array
17:43 sorear my @arr[100, :map(* % 100), 100, :map(* % 100)]
17:43 japhb sorear, does niecza have an OpenGL binding yet?
17:43 TimToady well, okay, two holes will do it
17:44 sorear oh, right, it needs a spout
17:44 sorear what's a good parametrization of the 2-manifold of genus 2?
17:45 TimToady the only good parametrization of the 2-manifold of genus 2 is a dead parametrization of the 2-manifold of genus 2...
17:46 TimToady oh wait, the PC police will be after me for using the only good X is a dead X
17:46 TimToady what were parameterized idioms called again?
17:47 Tene snowclone
17:47 TimToady that were it
17:48 Tene Mnemonic: Eskimos have n+1 words for snowclone
17:48 colomon n: say ?("bar baz foo" ~~ /^<[abforz ]>+$/)
17:48 p6eval niecza v16-1-g5294701: OUTPUT«False␤»
17:48 TimToady can't match space that way
17:49 TimToady since we allow whitespace inside <[ ]>
17:49 colomon yes, look at S05 trying to figure out how to do it
17:49 TimToady n: say ?("bar baz foo" ~~ /^<[abforz\x20]>+$/)
17:49 p6eval niecza v16-1-g5294701: OUTPUT«True␤»
17:49 colomon <[abforz]>+<ws>
17:50 TimToady n: say ?("bar baz foo" ~~ /^<[abforz]>+ % <ws> $/)
17:50 p6eval niecza v16-1-g5294701: OUTPUT«False␤»
17:50 swarley joined #perl6
17:50 TimToady hmm
17:50 TimToady n: say ?("bar baz foo" ~~ /^[<[abforz]>+]+ % <ws> $/)
17:50 p6eval niecza v16-1-g5294701: OUTPUT«True␤»
17:50 TimToady aye, that were it
17:52 buubot_backup joined #perl6
17:54 TimToady darn, finally backlogged, so have to $work now...
17:54 sisar joined #perl6
17:56 TimToady after $working around PPI's *hardwired* limit of 1 meg (bah!), maybe I can actually do it now
17:56 sorear limit along what dimension?
17:56 TimToady bytes
17:56 TimToady filesize
17:56 sorear colomon: remember, you're no use to us if you can't afford an internet connection. ;)
17:56 colomon j  l8juyhrtwt343r21ews21HBDFCHTG ED VGC GV HGF VXUI4N CVB4HCBF F3FREGWJRKM UJXEMHSW3 NÍ.WSEKKE,SO,OE
17:57 benabik colomon: You don't say?
17:57 flussence meow?
17:57 TimToady btw, it had no trouble parsing the file once I bumped the limit
17:57 snearch joined #perl6
17:57 sorear No comprendo
17:57 colomon we've been teaching Henry about typing.  sorry about that.
17:57 sorear Hello Henry
17:57 sorear (cue Ronja)
17:58 TimToady wait, isn't that Perl?
17:58 alvis joined #perl6
17:58 TimToady actually, looks more like FORTRAN
17:59 colomon dgdtfgf xxc gesjj0y89buwicfdjhkLw--es,eSk-ue8kuhemuk3me​,[Ls-p;l[2q,ws0,widw;;wpcl[w;x.wspepwws'p/d​[/[eldpdlw.xe/.[r]e.osr-;e-r0ljmt6ktlrdx≤
17:59 flussence .oO(I find myself slightly dismayed that we don't see that many cats on keyboards...)
18:00 TimToady wow, Henry knows how to type ≤
18:01 sisar niecza: my @a = 2, 3; @a[*].say;
18:01 p6eval niecza v16-1-g5294701: OUTPUT«Unhandled exception: Cannot use value like Whatever as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 260 (Any.Numeric @ 5) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/LVuniFLAWi line 1 (mainline @ 2…
18:01 sisar r: my @a = 2, 3; @a[*].say;
18:01 p6eval rakudo d18aab: OUTPUT«2 3␤»
18:01 sisar rakudo is correct (?)
18:02 sorear I suspect so, not certain though
18:02 TimToady yes, looks correct to me
18:02 colomon I don't even know how to type ≤!
18:02 benabik Mac: ≤ = Opt+<
18:03 sisar then, nieczabug
18:03 TimToady well, NYI
18:03 sisar sorear: may i sumbit this bug ?
18:03 MayDaniel joined #perl6
18:03 sorear yes
18:03 sisar oh
18:03 TimToady n: my @a = 2, 3; @a[].say;
18:03 p6eval niecza v16-1-g5294701: OUTPUT«2 3␤»
18:03 colomon anyway, we had more than a week of 70+ degree weather, and Henry got used to playing outside, and he's going stir crazy now that it's gone back to seasonal coldness here.
18:03 TimToady n: my @a = 2, 3; @a[^*].say;
18:03 p6eval niecza v16-1-g5294701: OUTPUT«2 3␤»
18:04 TimToady so just average those two for an implementation :)
18:08 colomon n: say <a b c>.join
18:08 p6eval niecza v16-1-g5294701: OUTPUT«abc␤»
18:08 mucker joined #perl6
18:10 colomon perl6: say "foo bar baz".comb(" ")
18:10 p6eval niecza v16-1-g5294701: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Str␤  at /home/p6eval/niecza/lib/CORE.setting line 594 (Cool.comb @ 9) ␤  at /tmp/QCW_1ouTIS line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  …
18:10 p6eval ..rakudo d18aab: OUTPUT«Cannot call 'comb'; none of these signatures match:␤:(Str:D , Mu %_!)␤:(Str:D , Regex $pat, Any $limit = { ... }, Any :match(:$match), Mu %_!)␤:(Cool , Mu %_!)␤:(Cool , Regex $matcher, Any $limit = { ... }, Mu %_!)␤␤  in method comb at src/gen/CORE.setting:1878␤  i…
18:10 p6eval ..pugs: OUTPUT«  ␤»
18:10 colomon oh, duh.
18:11 colomon split actually more appropriate for once
18:11 colomon perl6: say "foo bar baz".split(" ")
18:11 p6eval pugs: OUTPUT«foobarbaz␤»
18:11 p6eval ..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«foo bar baz␤»
18:12 sisar nieczabug reported, masakbot style :)         (issue #111)
18:15 sisar phenny: ask masak, niecza issue #111, could it have been reported any better ? bikeshedding welcome :)
18:15 phenny sisar: I'll pass that on when masak is around.
18:15 sorear GlitchMr: hi.  I just gave you push access to perl6/roast.
18:15 GlitchMr sorear, I've seen e-mail :P
18:16 GlitchMr I guess I can press "Merge pull request" manually now :P
18:21 fglock joined #perl6
18:26 Tedd1 joined #perl6
18:27 sisar what is 'monkey typing' ? Can't find any good search result.
18:28 benabik sisar: It's monkey patching your types.
18:29 benabik sisar: Basically, altering your types at runtime.  Usually by adding new roles or methods.
18:43 zipf joined #perl6
18:54 colomon .... huh.  Did my pushes not get announced, or did I mess up the pushes somehow?
18:55 colomon Hmmm, the niecza push is up on github.
18:55 masak dalek is on vacation.
18:55 phenny masak: 18:15Z <sisar> ask masak niecza issue #111, could it have been reported any better ? bikeshedding welcome :)
19:00 * masak backlogs
19:00 sorear we need diakopter or dukeleto
19:00 sorear unfortunately both of them have quit
19:01 sorear when I have tuits I'll write a replacement that a #perl6 person understands
19:01 sorear btw, masak, sorry I forgot to get to you in time to let you do the release
19:02 masak no worries. I assumed you had decided to do it this time.
19:02 masak it was a bit hasty of me to volunteer for this month anyway. but consider me interested in doing a Niecza release sometime in the future.
19:02 birdwindupbird joined #perl6
19:03 masak also, nice to hear the release.txt checklist works ;)
19:05 * colomon feels good to have finally done some niecza work again.  :)
19:05 masak phenny: tell sisar that https://github.com/sorear/niecza/issues/111 looks nice to me. had I submitted it, I'd have removed the timestamps, used 4-space indent instead of ```, and not bothered with the final comment. but those are all nits. (because you asked.) :)
19:05 phenny masak: I'll pass that on when sisar is around.
19:05 masak colomon++
19:07 havenn joined #perl6
19:12 tokuhiro_ joined #perl6
19:13 masak <bbkr> why? radix=1 is perfectly fine.
19:13 masak no.
19:13 masak there's http://en.wikipedia.org/wiki/Unary_numeral_system , but it's not *actually* radix=1
19:14 masak I guess one could, if one wishes, postulate a radix-1 number base with only the numeral 0 and nothing more. that'd be consistent.
19:14 masak but franky I'd rather disallow it.
19:14 masak frankly*
19:14 sorear :phi<100100001>
19:15 zipf joined #perl6
19:15 dukeleto sorear: you rang?
19:15 sorear masak:
19:15 sorear 10:01 < TimToady> I'm fine with it if Perl 6 doesn't support unary notation
19:15 sorear 10:01 < TimToady> or if the only number you can represent with it is powers of  0 :)
19:15 timotimo unary notation? why not use the length of a string for it?
19:15 masak oh, I should read the backlog, the whole backlog, and only the backlog :P
19:15 sorear dukeleto: you were the former owner of botnix/dalek, right?
19:16 dukeleto sorear: nope
19:18 sorear diakopter: ping
19:30 Chillance joined #perl6
19:32 masak r: say :2<2222>
19:32 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Invalid character '2' in number literal␤»
19:33 TimToady r: say :2<1111.2>
19:33 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Invalid character '2' in number literal␤»
19:33 TimToady r: say :2<1111.1 2>
19:33 p6eval rakudo d18aab: OUTPUT«===SORRY!===␤Malformed radix number␤at /tmp/QqVKqBWfLd:1␤»
19:34 GlitchMr The radix number is not malformed, the number literal is :P.
19:34 masak I'm now happy with the idea of supporting unary, on one condition:
19:34 masak the error message should be "You can only represent 0 in unary notation."
19:34 GlitchMr lol?
19:35 TimToady how can you not know whether you lol'ed or not?
19:35 GlitchMr But well, it would be less limited than JavaScript implementation for example, so I guess it would be good thing...
19:35 GlitchMr >>> parseInt('0', 1)
19:35 GlitchMr NaN
19:35 benabik r: :0<1>
19:35 p6eval rakudo d18aab:  ( no output )
19:36 GlitchMr r: :1<0>
19:36 p6eval rakudo d18aab:  ( no output )
19:36 masak r: say +set(set())
19:36 p6eval rakudo d18aab: OUTPUT«0␤»
19:36 GlitchMr Actually, it's more like this
19:36 masak makes sense, I guess.
19:36 benabik Who was doing the typed errors stuff?
19:36 masak how do I write "the set of the empty set"?
19:36 GlitchMr The first argument is integer, second is optional radix... so it makes sense...
19:36 colomon benabik: moritz++
19:37 colomon masak: you can't, in p6
19:37 colomon masak: well, maybe you can by say set(set() => True)
19:37 benabik moritz: ping
19:37 masak r: say +set(my $ = set())
19:37 p6eval rakudo d18aab: OUTPUT«0␤»
19:37 colomon masak: but that's kind of dodgy, and doesn't really work in any implementation yet
19:37 masak why is it dodgy? no custom WHICH yet?
19:38 colomon masak: I dunno if that's the issue, but that is the problem -- everything going in a Set is stringified.
19:38 masak aww :(
19:38 colomon that's not by spec, that's a current limitation
19:39 fsergot What does exactly 'set()' do?
19:39 fsergot How does it work?
19:39 masak wow, I really should read the whole backlog.
19:39 sorear niecza's current WHICH implementation is flawed and cannot handle sets
19:40 masak fsergot: it creates a set with the arguments as elements.
19:40 colomon however, by spec (such as it is, mostly it's tests so far), if you pass a container to a set constructor, the contains of the container are added to the set rather than the entire container as a single object.
19:41 fsergot Thanks! :)
19:42 benabik phenny: tell moritz Some of the typed exceptions aren't working.  For example ':0<0>' dies at Actions.pm:4961, but never displays any message.  Using --ll-exception shows the backlog, so it's throwing something...
19:42 phenny benabik: I'll pass that on when moritz is around.
19:42 masak p6: say +[1, 2, 2, 2, 2, 3].set
19:42 p6eval niecza v16-3-gede8b6d: OUTPUT«Unhandled exception: Unable to resolve method set in class Array␤  at /tmp/imKgiF9M8j line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /home/p…
19:42 p6eval ..pugs: OUTPUT«*** No such method in class Array: "&set"␤    at /tmp/fX6i8tafJg line 1, column 5 - line 2, column 1␤»
19:42 p6eval ..rakudo d18aab: OUTPUT«Method 'set' not found for invocant of class 'Array'␤  in block <anon> at /tmp/1huQjUkiIc:1␤␤»
19:43 masak there isn't one... but we should have one... maybe...
19:43 colomon fsergot: "set" is a sub which passes its arguments to Set.new, more or less
19:43 fsergot What is the diffrence between '..' and '...' operators?
19:43 colomon fsergot: it's just a convenience.
19:43 masak fsergot: one dot.
19:43 masak :P
19:43 fsergot Only? :)
19:43 masak there are some other minor differences.
19:43 fsergot colomon++, masak++ thanks :)
19:44 fsergot masak: where can I find them? :)
19:44 masak fsergot: as a first approximation, infix:<..> denotes continuous range, whereas infix:<...> denotes a discrete sequence.
19:44 masak fsergot: they're both in S03.
19:44 colomon fsergot: .. constructs a Range, ... is the sequence operator.
19:44 masak fsergot: but if you listify an infix:<..> range, you actually get a discrete list.
19:45 masak fsergot: and infix:<...> can construct sequences in quite a variety of ways.
19:45 fsergot Great. :)
19:46 fsergot It's clear now.
19:46 masak r: .say for 10, 9 ...^ 0, "liftoff!".uc
19:46 p6eval rakudo d18aab: OUTPUT«10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤LIFTOFF!␤»
19:46 tadzik good evening
19:47 masak tadziku! \o/
19:47 masak oh, that's another important difference: ranges where .min > .max are always empty
19:47 tadzik masaku! \o/
19:47 fsergot tadzik o/
19:47 tadzik \o fsergot
19:47 * masak .oO( he fsergot the -u )
19:48 masak fsergot: if you want a range to do 10, 9 ... 1, you have to write `reverse 1..10`
19:49 fsergot Right, it's important difference. Dziękuję masaku. :)
19:51 masak Proszę bardzo. :)
19:51 zipf joined #perl6
19:53 masak I think Set doesn't *yet* object-key its elements.
19:53 masak jnthn once suggested I fix that. haven't got a round tuit.
19:55 fsergot masak: what does 'tuit' mean? :)
19:55 sorear I'll do X if I get around to it
19:55 sorear I'll do X if I get a round tuit
19:56 fsergot Oh, right.. Sorry. :)
19:56 PerlJam All of my tuits are amorphous blobs
19:56 masak TimToady: the only good PC police is a dead PC police. ;)
19:58 * masak is finally caught up with the present
19:59 sorear masak: don't stop now !
19:59 masak I'm heading into the future, but at a constant rate of one second per second...
19:59 masak damn speed limits.
20:00 * PerlJam hands masak a tardis to fix that problem
20:00 * masak misses lue :/
20:02 y3llow_ joined #perl6
20:03 bruges_ joined #perl6
20:04 sudokode joined #perl6
20:05 havenn_ joined #perl6
20:25 jnthn Afternoon, #perl6
20:25 phenny jnthn: 14:48Z <arnsholt> tell jnthn Zavolaj only depends on having a compiler and getting the dynamic loader to find the compiled libs (both of which have caused me grief). The idea of only depending on stdlib is minimising the number of moving parts not directly related to loading a lib and calling functions.
20:25 tadzik hello jnthn
20:27 jnthn hi tadzik
20:28 * jnthn is having a good vacation but has done...something...to his arm :/
20:28 jnthn Guess it'll be me from typing excessively much while on vacation...
20:29 masak jnthn! \o/
20:29 [Coke] jnthn: urk
20:29 buubot_backup joined #perl6
20:29 masak jnthn: I think you've been straining your beer-glass-lifting muscles. :P
20:30 [Coke] jnthn: ... apply beer?
20:30 [Coke] unless masak is right, of course. ;)
20:30 jnthn Yeah, lifting those litre bottles must be taking their toll...
20:30 tadzik perl6: sub 2 { 2 }; say 2 * 2
20:30 p6eval niecza v16-3-gede8b6d: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed block at /tmp/Tj7f8N4OQH line 1:�------> [32msub [33m�[31m2 { 2 }; say 2 * 2[0m��Parse failed��»
20:30 p6eval ..rakudo d18aab: OUTPUT«===SORRY!===␤Missing block␤at /tmp/HkiXHYja7a:1␤»
20:30 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "\65298"␤    expecting "=", subroutine parameters, trait or block␤    at /tmp/cJbMrlWitF line 1, column 5␤»
20:30 tadzik ;(
20:30 masak naughty non-identifier tadzik.
20:31 tadzik aye, it appears so
20:31 [Coke] is t\02-embed\01-load.t known to fail on windows for rakudo?
20:31 tadzik and still it numifies to 0
20:32 vlixes joined #perl6
20:32 benabik [Coke]: I believe it is known broken on many platforms.  Fails on OS X too.
20:32 jnthn .u 2
20:32 phenny U+FF12 FULLWIDTH DIGIT TWO (2)
20:34 masak doubly naughty tadzik.
20:36 tadzik /o
20:36 tadzik \
20:37 diakopter sorear: pong
20:38 masak tadzik: seems you've dropped one of your arms.
20:38 masak oh, look -- this is how Java 7 does RIAA: http://docs.oracle.com/javase/7/docs/techno​tes/guides/language/try-with-resources.html
20:38 masak er, RAII ;)
20:38 moritz \o
20:38 phenny moritz: 19:42Z <benabik> tell moritz Some of the typed exceptions aren't working.  For example ':0<0>' dies at Actions.pm:4961, but never displays any message.  Using --ll-exception shows the backlog, so it's throwing something...
20:39 moritz benabik: thanks
20:39 masak moritz! \o/
20:39 moritz r: try eval ':0<0>'; say $!
20:39 p6eval rakudo d18aab: OUTPUT«Method 'message' not found for invocant of class 'X::Syntax::Number::RadixOutOfRange'␤  in method gist at src/gen/CORE.setting:7726␤  in sub say at src/gen/CORE.setting:6230␤  in block <anon> at /tmp/pZ4qU9N2A2:1␤␤»
20:39 benabik moritz: I tried to track it down more but I'm too sleep deprived.
20:39 benabik Oh that would have been smart to try.
20:39 moritz benabik: I've simply mis-spelled method message in that class
20:40 diakopter phenny: tell sorear PM me plz
20:40 phenny diakopter: I'll pass that on when sorear is around.
20:40 diakopter phenny: tell sorear actually email plz
20:40 phenny diakopter: I'll pass that on when sorear is around.
20:43 havenn joined #perl6
20:49 [Coke] https://gist.github.com/2220131 - win32 spectest errors
20:49 [Coke] (rakudo)
20:50 moritz seems like all those that use Test::Util fail
20:50 moritz plus some more
20:51 jnthn Yeah, it's something to do with the args passing.
20:51 jnthn (command line args)
20:57 libertyprime joined #perl6
21:06 fsergot Good night #perl6! o/
21:06 masak dobranoc, fsergocie!
21:06 pernatiy joined #perl6
21:10 lichtkind joined #perl6
21:10 lichtkind how do you spell |
21:13 [Coke] .u |
21:13 phenny U+007C VERTICAL LINE (|)
21:13 masak "pipe symbol"
21:29 lichtkind ah thanks
21:29 lichtkind i think i go with pipe
21:30 jnthn Good choice. It sure beats the cigars.
21:32 lichtkind haha
21:32 lichtkind its in wp so its official :)
21:33 masak if I didn't hate smoking, I'd probably be smoking a pipe.
21:37 masak 'night, #perl6
21:37 lichtkind good night
21:46 lutok left #perl6
22:18 whiteknight joined #perl6
22:22 am0c joined #perl6
22:30 skids joined #perl6
22:32 havenn joined #perl6
22:45 eiro joined #perl6
23:11 LylePerl joined #perl6
23:25 nebuchadnezzar joined #perl6
23:33 colomon joined #perl6
23:35 derrazo joined #perl6
23:51 LylePerl (tumbleweed)
23:51 LylePerl (wind)

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo