KatrinaTheLamia hmm... how are OpenGL bindings in Perl 6? Because I got a joke project that I am sure everybody would easily get behind. 00:04
a Duke Nukem Forever fan game in Perl 6 ^.^ lol
wayland76 ..combined with e17? :)
KatrinaTheLamia wayland76: hmm... we may be able to work something here. 00:05
literal running on GNU Hurd
KatrinaTheLamia LMFAO!!!!!!
alright we have our work cut out for us people ^.^ 00:06
wayland76 Maybe we could program some parts in ALGOL :) 00:08
Juerd Good night, brightly coloured butterfly people.
wayland76 Good morning :)
KatrinaTheLamia damn it... does this mean I'll need to do up a Perl 6 float in the next pride parade >.>
wayland76 carefully restrains from mentioning "whatever floats your boat" 00:09
pugs_svn r28151 | lwall++ | [S02,S06] make 'is context' implicit on $*foo variable declarations 00:10
r28151 | orthogonalize readonly semantics to rely on ::= initialization
00:10 kidd_ left
japhb KatrinaTheLamia, the OpenGL bindings are passable for simple stuff. The bigger problem is that Rakudo is fairly slow right now, so to get any decent speed for complex stuff (like particle systems), you need to do some inline PIR here and there. But if you're just calling a few display lists each frame, you should be fine. 00:12
sjohnson 1hi 00:13
wayland76 2hi
sjohnson heh 00:14
KatrinaTheLamia 3error
sjohnson ++hi
colomon rakudo: my Num $t = 434.3; say int($t);
p6eval rakudo e00587: ( no output )
KatrinaTheLamia japhb: I was only half serious. I am just thinking of some rather Discordia style jokes to apply to Perl 6 ^.^ 00:15
00:16 fridim_ left 00:19 japhb left
colomon Hi all. I've tracked down my Temporal.t hang, and it seems to be occurring at "$t = int($t / 60); # $t is now epoch minutes" in the test_gmtime function. Does that ring any bells for anyone? 00:21
Where is int()?
TimToady really should be Int() 00:23
since int is a native type
00:24 kst left
colomon int lower-case is all over the Temporal.t test code./ 00:24
00:25 kst joined
wayland76 Well, I'd guess that was written by autarch 00:25
and I'm not sure how good his p6 skills are
00:27 alester joined
wayland76 (I'm only guessing that, but that's because he dropped by p6 and did a bunch of the Temporal stuff for us, thanks to his relevant expertise from P5) 00:28
colomon What does int() do at the moment? Is it just a misspelled Int()?
TimToady it would coerce to a native type int 00:29
colomon rakudo: say time.int.WHAT 00:30
p6eval rakudo e00587: ( no output )
TimToady but in the case above, you're probably running into the fact that we just redefine Int / Int to return Rat
colomon Yes, that's the problem, but I don't understand why: $t is supposed to be a Num. 00:31
TimToady you probably want $t div= 60
though that won't work if $t is Num 00:32
colomon Yeah, that appears to be the issue -- sometimes it's a "real" Num, and sometimes it's an int being treated as a Num. Or something like that. 00:33
TimToady what does / 60.0 do? 00:34
colomon Oh, I've got it.
$t = int(int($t) div 60) works just fine, and makes all tests pass. 00:35
rakudo: my $t = 36.5; say int($t);
p6eval rakudo e00587: ( no output )
colomon rakudo: my $t = 36.5; say Int($t); 00:36
p6eval rakudo e00587: ( no output )
colomon :O
TimToady NYI
invoke() not implemented in class 'Integer' 00:37
so one of those parrot impedance mismatches
I suspect
00:37 SmokeMachine joined
colomon TimToady++ 00:41
00:52 japhb joined
pmichaud We don't have a good way to implement postcircumfix:<( )> on the builtin types at the moment. 00:53
that makes things difficult for Int($x), Num($x), etc. 00:54
Also, the specification doesn't really provide much guidance about how we map the postcircumfix:<( )> to constructors. 00:55
TimToady somehow it always ends up my fault. :) 00:56
pmichaud :) 00:57
there's a fine line between "blame" and "credit" :)
00:59 FCO joined
pmichaud going from what I read in S13:200... 01:00
if someone writes Dog($spot)
and there's no postcircumfix:<( )> defined for the Dog class
then it defaults to Dog.new($spot)
01:00 SmokeMachine left
pmichaud and so unless there's been a single-argument version of Dog.new defined, it would fail to bind. 01:00
TimToady which, of course, is nonsense
pmichaud S13 is nonsense, or what I'm writing is nonsense? ;-) 01:01
TimToady I don't see any substitute for someone writing the body of the conversion
pmichaud right
TimToady to at least turn it into .new(value => $spot)
pmichaud okay, that at least helps resolve my difficulty a bit
TimToady see above for who to blame :)
pmichaud well, the fallback would seemingly work if someone defined Dog.new($x), though, without needing to also define the postcircumfix:<( )> method as well. 01:02
that would seem useful.
TimToady one would maybe like to get Array.new(1,2,3) to fall out of it somehow too 01:03
pmichaud hmmm
well, since postcircumfix:<( )> grabs a capture, it could interpolate that capture to .new 01:04
so that XYZ(1,2,3) falls back to XYZ.new(1,2,3)
TimToady but it implies enough introspection into to representation to get a list of storage locations
s/to/the/
pmichaud oh, I think that someone still has to write the .new
(to handle the positional forms of .new) 01:05
instead of trying to auto-generate it
so if Array has method new (*@values) { ... } then perhaps Array(1,2,3) ends up dtrt
TimToady well, if one could introspect all the round holes, one could *attempt* to shove square pegs in, but it wouldn't work a lot of the time 01:06
but certainly we can go for explicit until we run into combinatorics
01:06 kst left 01:07 kst joined
pmichaud on a similar note, should there be a Rat.new(Num) defined, that builds a Rat from a numeric like 1.23? 01:07
TimToady I think .new guarantees a new object, whereas Rat(Num) merely guarantees that what is returned does Rat 01:08
for some handwavey definition of Rat and Num
pmichaud oops
I guess I should've asked about Rat.Num(...)
TimToady maybe not specifically for those types
pmichaud oops
I guess I should've asked about Num.Rat(...)
(argggh :-) 01:09
TimToady 1.23.Rat should presumably be made to work
pmichaud sure
TimToady same as Rat(1.23)
pmichaud and end up with 123/100 or something like that
TimToady well, I'm inclined to think that 1.23 should bias towards 123/100 to begin with 01:10
and the coercion to Num be facilitated where necessary 01:11
pmichaud That's reasonable also, although not currently speced
TimToady it's the way I've been inclining this past week :)
I hate throwing away precision based on a false assumption 01:12
I actually had the spec change edited in, and backed it out till I thought more about MMD
s1n pmichaud: which hp do you have? i was looking at a mini 01:13
TimToady possible that Num comprises both Rat and Flt (and Fix?)
pmichaud I have the expensive HP -- Elitebook 2530p
Wonderful machine. Not cheap.
TimToady or Real can pun either to Rat or Num, looking at it a different way 01:14
lisppaste3 colomon pasted "spectest failure" at paste.lisp.org/display/86335 01:15
colomon Does that error look familiar to anyone?
I vaguely remember someone mentioning it today?
s1n i got approval to bring another laptop to work, hp have decent linux support (mini 1120) ? 01:16
and does rakudo compile reasonably quick with only 1 gig of memory?
pmichaud I compiled Rakudo in a virtual machine with 768M without too much difficulty. (On a 5-year old laptop to boot.) 01:17
Still, I'm not sure how quick a Mini would be at compiling tasks; I think they can be a little on the slow side.
colomon Ah, it's the broken $_ % * thing. 01:18
s1n pmichaud: btw, did you read my scrollback from yesterday to you? 01:23
pmichaud s1n: didn't see it yet 01:24
s1n pmichaud: irclog.perlgeek.de/perl6/2009-08-31#i_1447266 01:28
01:30 SmokeMachine joined, SmokeMachine left 01:31 sparc joined 01:32 sparc left, sparc joined 01:35 nbrown left
TimToady chow & 01:42
01:44 Whiteknight left 01:47 hudnix left 01:50 nbrown joined 01:51 molaf_x joined 01:53 meppl left 01:54 rhr_ joined 01:56 agentzh joined 02:07 rhr left 02:08 molaf left 02:25 SmokeMachine joined 02:27 FCO left 02:30 agentzh left, sri_kraih left, xinming left, jan_ left, ewilhelm left, breinbaas left, lisppaste3 left, nsh left, xalbo left 02:31 kst left 02:32 kst joined 02:36 agentzh joined, sri_kraih joined, xinming joined, jan_ joined, ewilhelm joined, breinbaas joined, lisppaste3 joined, xalbo joined, nsh joined 02:44 sri_kraih left
s1n hmm, i don't have +o anymore? 02:45
02:49 cdarroch left 02:50 meppl joined
pugs_svn r28152 | lwall++ | [STD] change to new definitions for contextuals and readonly binding 02:50
02:50 TimToady sets mode: +o s1n
s1n yay :) 02:51
02:53 TimToady sets mode: +oooo [particle] araujo colomon dukeleto, TimToady sets mode: +oooo frettled japhb Juerd mberends, TimToady sets mode: +oooo spinclad szabgab szbalint xinming 02:57 zaphar_ps joined
zaphar_ps hello 02:57
are there any yaml perl6 libraries or grammars out there yet?
03:01 TimTom joined 03:03 xinming_ joined 03:05 TimTom_ joined 03:06 TimTom left 03:07 TimTom_ is now known as TimTom 03:18 asciiville joined, kst left, xinming left, kst joined 03:20 donaldh left
TimTom rakudo: say qw(foo bar baz) 03:20
p6eval rakudo e00587: OUTPUT«Could not find non-existent sub baz␤»
TimTom ... okay, so it's not just my installation. Did the meaning of qw change?
03:20 donaldh joined
asciiville rakudo: say qw(foo bar baz); 03:22
p6eval rakudo e00587: OUTPUT«Could not find non-existent sub baz␤»
TimTom rakudo: say <foo bar baz>
still works as normal
p6eval rakudo e00587: OUTPUT«foobarbaz␤»
asciiville :(
TimTom pugs: say qw(foo bar baz)
p6eval pugs: OUTPUT«*** No such subroutine: "&qw"␤ at /tmp/yeWNvXh2oo line 1, column 5 - line 2, column 1␤»
TimTom Well at least it's in good company I suppose :) 03:23
asciiville rakudo: <foo bar baz>.say
03:23 alester left
p6eval rakudo e00587: OUTPUT«foobarbaz␤» 03:23
asciiville :) 03:24
I still haven't learned to keep a space between 'if' and '(' when coding in rakudo 03:25
TimToady better to just drop the parens 03:26
asciiville ah!
proving order of precendence with symbols is overrated :) 03:30
TimTom Well unless you write 5 * 5+5 and don't get what your implicit spacing would represent 03:31
asciiville but corporate didn't give us enough time to code it right in the first place 03:32
TimTom Well that's why you're programming in perl. It lets you work around silly time constraints
asciiville you got that right! 03:33
TimTom Yay. Array autovivication works, although I still can't seem to give it a strict type. I can remove my sad face comment from my test program 03:35
asciiville I have a maybe not Rakudo question: If I have a <program>.pir that is loaded into Rakudo with a use statement, is it theoretically possible to have it compiled into PBC and live in Parrot land and still be accessible to Rakudo? 03:39
03:41 molaf_x left
pugs_svn r28153 | lwall++ | [STD] only default package declarations to 'our' 03:43
TimToady std: say qw(foo bar baz) 03:45
p6eval std 28152: ( no output )
TimToady ,,
std: say qw(foo bar baz)
p6eval std 28152: OUTPUT«Undeclared routines:␤ bar used at 1 ␤ baz used at 1 ␤ foo used at 1 ␤ qw used at 1 ␤ok 00:02 37m␤»
TimTom Looks like progress to me. We get better errors now. Even if they're wrong 03:46
TimToady no, they're right
foo() is always a function call in p6
even if foo is otherwise a keyword
TimTom So is qw no longer quote words?
TimToady it does, just don't use parens
rakudo: say qw[foo bar baz] 03:47
TimTom ah, okay. makes sens
p6eval rakudo e00587: OUTPUT«foobarbaz␤»
TimToady or leave a space
rakudo: qw (foo bar baz)
p6eval rakudo e00587: ( no output )
TimToady std: if(42) { say 'hi' }
p6eval std 28152: OUTPUT«[31m===[0mSORRY![31m===[0m␤if() interpreted as function call at line 1 ; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/FdROm0hjMy line 1:␤------> [32mif(42) [33m⏏[31m{ say 'hi' }[0m␤ expecting any of:␤
..bracketed i…
TimToady eventually rakudo will get error messages like that 03:48
TimTom I have another problem I'm encountering with multi-dimensional array assignment, but I haven't managed to reproduce it in a one liner yet. 03:49
asciiville rakudo: {{},{}}.say 03:50
p6eval rakudo e00587: OUTPUT«_block50␤»
Eevee_ rakudo: ((<H l o> «~» <e l ,>, [~] <! d l r o w>.reverse).join ' ').say
TimToady rakudo doesn't autovivify correctly yet
p6eval rakudo e00587: OUTPUT«Statement not terminated properly at line 2, near "' ').say"␤in Main (src/gen_setting.pm:3454)␤»
asciiville ok. it's consistent with my local late model rakudo
Eevee_ rakudo: ((<H l o> «~» <e l ,>, [~] <! d l r o w>.reverse).join: ' ').say
p6eval rakudo e00587: OUTPUT«He ll o, world!␤» 03:51
Eevee_ oh whoops
TimTom Ah. Okay, It was looking like it was working. I actually reverted my code to the old version that had a loop that assigned arrays to it, but it doesn't help
Eevee_ rakudo: (([~] <H l o> «~» <e l ,>, <! d l r o w>.reverse).join: ' ').say
p6eval rakudo e00587: OUTPUT«Hello,world!␤»
03:52 mepplock joined
TimTom there we go 03:52
TimToady rakudo's errors would be much improved if we merely s/Statement not terminated properly/Confused/ 03:53
Eevee_ 20:51 < Eevee_> rakudo: ((map { [~] $_ }: <H l o> «~» <e l ,>, <! d l r o w>.reverse).join: ' ').say
whoops
rakudo: ((map { [~] $_ }: <H l o> «~» <e l ,>, <! d l r o w>.reverse).join: ' ').say
p6eval rakudo e00587: OUTPUT«Statement not terminated properly at line 2, near ": <H l o> "␤in Main (src/gen_setting.pm:3454)␤»
TimTom rakudo: { my Array @ints; @ints[0] = (); @ints[0][0] = 0; say @ints; }
p6eval rakudo e00587: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Failure'␤»
TimToady std: ((map { [~] $_ }: <H l o> «~» <e l ,>, <! d l r o w>.reverse).join: ' ').say
p6eval std 28152: OUTPUT«ok 00:03 42m␤»
Eevee_ rakudo: ((<H l o> «~» <e l ,>, <! d l r o w>.reverse).map: { [~] $_ }.join: ' ').say 03:54
p6eval rakudo e00587: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (/tmp/IG3W2r8tXR:2)␤»
Eevee_ haha didn't expect that to work
TimTom std: { my Array @ints; @ints[0] = (); @ints[0][0] = 0; say @ints; }
p6eval std 28152: OUTPUT«ok 00:03 38m␤»
TimTom ... I suppose that didn't prove anything since it was a runtime error...
TimToady nod 03:55
03:55 molaf joined
TimTom I do know that block of code worked about 2 months ago 03:55
Eevee_ how do I get a reference to a reduce operation?
TimToady in theory, prefix:<[op]> 03:56
asciiville Maybe Rakudo errors can take on an Oracle database model and just spit out a code: ora-00600 doesn't say much but we know its very bad. :)
Eevee_ does that actually work in rakudo?
well let's find out
rakudo: ((<H l o> «~» <e l ,>, <! d l r o w>.reverse).map(prefix:<[~]>).join: ' ').say
p6eval rakudo e00587: OUTPUT«Statement not terminated properly at line 2, near "(prefix:<["␤in Main (src/gen_setting.pm:3454)␤» 03:57
Eevee_ rakudo: prefix<[~]>
er
p6eval rakudo e00587: OUTPUT«Could not find non-existent sub prefix␤»
Eevee_ rakudo: prefix:<[~]>
p6eval rakudo e00587: OUTPUT«Statement not terminated properly at line 2, near ":<[~]>"␤in Main (src/gen_setting.pm:3454)␤»
TimToady would have to be &prefix:<[~]>
03:57 carlin joined
Eevee_ rakudo: ((<H l o> «~» <e l ,>, <! d l r o w>.reverse).map({ [~] $_ }).join: ' ').say 03:58
p6eval rakudo e00587: OUTPUT«He ll o, w o r l d !␤»
03:58 alester joined
Eevee_ haha I did the same thing again. oh well 03:58
KatrinaTheLamia «~» <-- um... I don't need to type in those symbols to use Perl 6, do I? I mean, I have no idea where two of them are on my keyboard 03:59
Eevee_ haha no, <<~>> works just as well 04:00
but it's ugly imo
TimToady in vim you can say ^K<<
04:00 mberends left
TimToady dunno about emacs 04:00
Eevee_ (compose key)++
hm, I wonder
TimToady that too
it's what I use
Eevee_ rakudo: (<1 2 3> ¥ <4 5 6>).say 04:01
p6eval rakudo e00587: OUTPUT«Statement not terminated properly at line 2, near "\x{a5} <4 5 6>)"␤in Main (src/gen_setting.pm:3454)␤»
TimToady and I'm even one of those dense USians
Eevee_ aw
TimToady is now Z
Eevee_ I know, just wondered if the old op was still valid
TimToady nope
Eevee_ I heartily support unicode operators
$x ♥ 5
KatrinaTheLamia Eevee_: oh, I would too... if there were a standard way to insert them, that I could explain to people to use 04:02
TimTom emacs is C-x 8 < and C-x 8 >
Eevee_ KatrinaTheLamia: there's always ctrl-shift-u 04:03
or copy-paste from wikipedia
KatrinaTheLamia TimTom now explain how that works exactly... what it does.
Eevee_: so I could do ^+shift+u no matter where I am... and it would do what exactly
04:04 Tene left
Eevee_ KatrinaTheLamia: ctrl-shift-u plus four hex characters inserts that unicode codepoint 04:04
KatrinaTheLamia and copy and pasting from wikipedia doesn't help me really... as my clip board can only hold one item on most of my setups
TimToady but then you have to know the raw codepoint in hex
KatrinaTheLamia Eevee_: not universally...
Eevee_ err right. well in gnome it does
04:05 KatrinaTheLamia left
Eevee_ TimToady: that's what ian-albert.com/misc/unichart.php is for 04:05
04:05 KatrinaTheLamia joined
TimToady a compose key seems like the most universal thing currently 04:05
well, I just use a program to grep the unicode tables, myself
KatrinaTheLamia yeah... ^+shift+u seems to crash the tab I was chatting with
Eevee_ does windows support compose key? I'm vaguely aware it supports dead keys
TimTom hmm... the emacs bindings are actually fairly intuitive. Who would have thought. You can even press C-x 8 C-h for a listing
04:06 kst left
KatrinaTheLamia and I am using XFCE for my DE... which is close enough, that it should work if "it works all over gnome" 04:06
Eevee_ TimToady: actually I have a firefox bookmark keyword for searching unicode
04:06 kst joined
KatrinaTheLamia prolly a better solution would need to be part of freedesktop, before I'd consider it more >.> 04:06
TimToady :digraph for vim's
04:07 meppl left
Eevee_ KatrinaTheLamia: the compose key is part of X 04:07
and you can define your own compositions
TimToady I've never had luck defining my own, but the built-in compose sequences are handy
Eevee_ TimToady: are you using scim? 04:08
TimToady »ö«
yes, but I don't think that matters for this
KatrinaTheLamia um... which key on the keyboard is the "compose" key? I mean I pressed ^+shift+u and it produced and underline u and crashed the tab I was chatting in.
Eevee_ it does
scim has its own compose table and ignores .Xcompose apparently
found this out recently, it was ignoring mine too
KatrinaTheLamia like my chat client still operates.. just had to close that tab >.>
TimToady well, that might explain why I couldn't change it :)
Eevee_ had to switch to uim, which is slightly more awkward (anthy toolbar doesn't seem to autohide) 04:09
KatrinaTheLamia: you might have to pick one yourself. right alt is the default I think?
TimToady I use my right Menu key
Eevee_ I have right alt as compose and right super as third level chooser for historical reasons 04:10
TimToady used to use right Alt on a machine without a Menu key
Eevee_ (i.e., there was no compose sequence for × and I haven't fixed that yet)
KatrinaTheLamia checks
okay this keyboard _does_ have a right alt
Eevee_ it might be dependent on the keyboard or layout, or I might be totally wrong 04:11
and I have no idea how you'd pick such a key in xfce
KatrinaTheLamia so... then how do you know it is a feature of X? 04:12
dalek kudo: 9bcba63 | pmichaud++ | src/parser/grammar.pg:
"Statement not terminated properly" --> "Confused" # TimToady++
04:12 tak11 left
Eevee_ the interwebs told me so 04:12
also custom compose sequences are defined in ~/.Xcompose 04:13
and the default list is somewhere in X shared files
KatrinaTheLamia you do realise, that trying to tell people how to do this will lead only to two things: 1) Completely inconsistant code. and 2) People who think Perl 6 is needlessly complicated, and have no desire to code it, right? 04:14
Eevee_ that's probably why ¥ is now Z
TimToady which is why we always have an ASCII story
even if it's ugly 04:15
KatrinaTheLamia yeah... how about just a not ugly ASCII story?
Eevee_ perl 6 has approximately eight trillion operators
TimTom Besides, it's a good early check to make sure the parser enjoys unicode symbols
Eevee_ there are only so many pretty combinations of keyboard symbols
KatrinaTheLamia Eevee_: lies
there are not eight trillion operators 04:16
Eevee_ perhaps we need APL on Parrt
very approximately
KatrinaTheLamia unless it has drastically updated since the last time the periodic table of operators has been made
asciiville maybe eight trillion combinations of operators?
KatrinaTheLamia also what could you possibly do with eight trillion operators?
TimTom 8 trillion things 04:17
KatrinaTheLamia okay... how many words does the average person have in their vocabulary... normally about 2500. Now what happens when they try to read a word they have no clue as to what it is.
TimToady std: [>>RX!%<<]()
p6eval std 28153: OUTPUT«ok 00:02 39m␤»
KatrinaTheLamia TimToady: that only makes Intercal look like a more sane language than Perl6 04:18
Eevee_ wait wait you can reduce with hyperoperator?
well
TimToady that's one of our goals :)
Eevee_ I guess that makes sense
that's awesome
asciiville hyperoperator needs and acronym 04:19
KatrinaTheLamia yeah... I thought you'd be addressing the learning curve here... not forcing people to make jephs to do a blood program
TimTom They are, they just have spiffy features for those willing to learn the extra amount
you can always just stick to less compact representations of code 04:20
TimToady and people will just cargo-cult the rest
KatrinaTheLamia TimTom: just applying occam's chainsaw here... how often, in production code, does the more spiffy versions of a language get used.
04:20 molaf left
Eevee_ in my experience it tends to be libraries that like to use spiffy features 04:20
TimToady "does get used" is the present. We can't say how often "will get used" because we don't know yet
KatrinaTheLamia TimTom: I mean, if I had to show a boss one program in Python and another in Perl 6, doing the eight trillion operator thing.. which is going to get the go ahead? 04:21
TimTom If it's me... depends on whether or not someone besides me is expected to see it
Eevee_ KatrinaTheLamia: depends, are you using nested list comprehensions and metaclasses in your python?
KatrinaTheLamia Eevee_: standard PEP-8 Python.
Eevee_ so "if you had to show your boss readable code and unreadable code" 04:22
KatrinaTheLamia in short yes
jrtayloriv KatrinaTheLamia, show your boss something which uses less idiomatic Perl 6, and the Perl 6 would probably be as readable and more concise.
asciiville it may not matter if your boss only did COBOL
Eevee_ imo reduction operators and hyperoperators are a good thing in that they let me express an idea succinctly without translating it into less intuitive procedural code
they are nestable, sure, but that's just because perl tends to not place arbitrary restrictions 04:23
TimToady we expect programmers to exercise their discretion, and we provide the tools to write very readable code
Eevee_ I don't think most people would want to use [«op»] in production code
TimToady we also provide the tools to nuke your feet off
Eevee_ but [+] <1 2 3> is reasonable
and better communicates how I actually think about the problem
"add up all this stuff"
KatrinaTheLamia I dunno, it is all lovely and all... but if I cannot use it in production code... why am I using it. 04:24
asciiville say [+] < 1 2 3>
KatrinaTheLamia Eevee_: your [+] <1 2 3> example is a tangent, as it is plain ASCII
asciiville carp
TimToady because the parts you *do* use are still more expressive than Python
Eevee_ KatrinaTheLamia: err but there are no unicode-only operators
asciiville rakudo: say [+] <1 2 3>
p6eval rakudo e00587: OUTPUT«6␤»
TimTom You can use it in production, you just have to know that your audience will understand
Eevee_ KatrinaTheLamia: <<op>> ≡ «op» 04:25
I just write the latter because I think it's more readable and obscures the operator far less
jrtayloriv KatrinaTheLamia, You seem to be assuming that you will be writing production code in Perl 6 for people that don't understand Perl 6.
And that don't make no sense at all.
KatrinaTheLamia Eevee_: yeah, and I am saying: there are ways to make it readable and less obscure, without going into unicode
Eevee_ KatrinaTheLamia: like what? 04:26
KatrinaTheLamia Eevee_: well, perhaps we need to go over that as we are designing this further.
Eevee_ (incidentally, double angle brackets are also in iso 8859-1) 04:27
TimToady most of these things do have wordy variants if you want them
KatrinaTheLamia Eevee_: simply half assing the ASCII version (for no apparent reason), simply because UNICODE is available, is not the way to go
TimToady reduce, map, etc
KatrinaTheLamia jrtayloriv: what I am suggesting is that we make it so that Perl 6 is easier to understand for people who don't understand Perl 6... making them desire to learn it more
TimToady: ah, there we go 04:28
TimToady how do you define "half assing"?
jrtayloriv KatrinaTheLamia, It is if you want it to be.
KatrinaTheLamia TimToady: well, Eevee_ has been saying, "there is an ASCII operator you know", followed by "the ASCII operators are ugly"
TimToady different people like different things
and we still believe in TMTOWTDI 04:29
KatrinaTheLamia TimToady: yeah, but even with Perl, you do find, that people will generally agree that, based on the context, certain ways are better than others
Eevee_ so use the ASCII and disagree with me, or deal with the ugliness, or don't use hyperoperators
TimToady the community is encouraged to establish style standards
KatrinaTheLamia TimToady: apart from nerding it up, what is the point of going all brainfuck with Unicode operators? 04:30
jrtayloriv KatrinaTheLamia, Building limitations into the language is not the way to enforce coding standards.
TimTom Science and math comunities like writing code like that
KatrinaTheLamia jrtayloriv: I didn't suggest that now did I?
TimToady why don't mathematicians write their proofs in English?
asciiville are there really that many unicode operators beyond the hyperoperators?
jeekobu Depends on the math
KatrinaTheLamia asciiville: well claims have been on three trillion unicode operators. I put that to question (quoting the periodical chart) and I was told I was wrong 04:31
TimToady but yes, we're mostly just making sure it's possible to talk about Unicode sanely in Perl 6
Eevee_ that was a very arbitrary and meaningless number
TimToady you'll note that the built-in Unicode is even limited to Latin-1
KatrinaTheLamia Eevee_: yeah, and I responded it was no where near that number, to which point, I was told I was wrong 04:32
TimToady well, as usual, it depends