pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: xrl.us/fmw2 | Mac OS X r1567 (267/3922) | Win2k r1576 (281/4129)+1Unex
Set by Corion on 5 April 2005.
jabbot pugs - 1581 - Added -s (but only for posix). Correcte 00:42
pugs - 1582 - test for bug when $_ is explictly the to 01:02
shapr from #haskell - <dons> ghc patch of the day: "get the SMP mode at least building" 01:15
Pugs could have SMP support sooner than you expected. 01:16
crysflame oo, nice 01:33
autrijus greetings \camels 03:06
I see a great influx of filetest operators :) 03:07
Schwern -e! -r! -k!
autrijus -p! -u! -g! -s! 03:08
Schwern I know I've asked this before, but is the recommended book "Expression" or "Algorithms"?
autrijus both. 03:09
if you can only get one, Algorithms, I think
but I've neve rreally read Expression.
Alias_ I want -c 03:24
"Can I create a file called $foo"
Khisanth I want autrijus clones :p
Alias_ or just -o 03:25
Can I open the file $foo for writing
Which requires either -w if it exists or -c if not
Khisanth hmm
Alias_: open() seems more reliable
Alias_ But open _actually_ opens the file 03:26
Say I have a manifest of files to install, I want to know before I start that I have permissions on all of them
Rather than getting half way through, and failing
otherwise we wouldn't need -r 03:27
"just open the file"
or -w, "just open (and clobber) the file"
or any of the file test operators
"just do it and see if everything dies in a mess" is not a good solution to writing a test
autrijus what does -c has to do with nonexisting file? 03:28
Khisanth -c(reate)?
Alias_ yes 03:30
I'm assuming there is no existing -c
Khisanth -c File is a character special file. ? 03:31
Alias_ oh... never mind then
I just want a "can I open this path for write, regardless of current state"
Khisanth -r|-w ? 03:32
Alias_ what if there is no current file
autrijus then you can't safely check that.
Alias_ of course you can 03:33
autrijus because there may be a dynamic ACL thing in place.
Alias_ You see if the directory exists, and if you have permissions to create on the directory
autrijus but assuming traditional unix semantics, maybe you can check for -w on the directory.
Alias_ and if the dir doesn't exist, you want to work upwards until you find one that you can, so you can mkpath :)
Anyways, it's a hell of a lot of mess to answer, "can I open( FILE, '>file' ) ok?" 03:34
autrijus and you have to check for disk inodes to see if they're foo :)
s/foo/full/
Alias_ autrijus: Like most installers do, yes :)
autrijus lunch & 03:36
Alias_ Does pugs have enough stuff to start investigating the real life issues relating to cross-language modules? 03:53
Can we mix Haskell and Perl 6-targetted stuff together or something similar?
Khisanth never saw the point in that 03:59
mugwump I am at the top of Taipei101, the world's tallest building!
and using IRC! :) 04:00
Khisanth "you mean I have to install Python, Ruby AND Perl just to run this thing?!"
wireless? :p
Alias_ Khisanth: I'm kind of hoping that at some point, probably at install time, you can also install a Parrot-compiled version of the same code 04:01
mugwump sadly, just GPRS
Alias_ Khisanth: Languages load their own native libs, but bail out to the generic Parrot version for non-native libs
mugwump well, you can eval_perl5() from pugs iirc 04:04
Alias_ oh dear... evalling would be a problem wouldn't it
mugwump also, pugs can run IMC code as well as PASM
Alias_ you couldn't precompile evals 04:05
So you are definitely going to need pluggable grammars for all the languages
I wonder how large an individual grammar will be
mugwump there are no calling conventions for the Perl5 <=> perl6 bridge
Alias_ Damn this is going to make the Inline modules interesting though
If the Inline'ed language has a native grammar, you just hand off to it 04:06
mugwump have a look at the source in pugs for the IMC parser, it's laughably simple
Alias_ If it's written in Haskell, then I disagree :)
IMC?
mugwump Parsec++
The language isn't the problem. It's more the style of programming using rules 04:08
it seems inside out and this is quite a shock especially to someone who thinks they have seen / discovered every programming style... even I was rrecently forced to concede that maybe those functional guys had a point :) 04:14
Alias_ mugwump: Yeah. I've been sold on Haskell just on the idea of getting partial evaluation as a core language feature 04:20
If only I can get my head compatible with it's evil evil syntax :) 04:21
But hot damn, if we can get access to Haskell modules in Perl 6 I'll be a happy chappy
mugwump I'm getting good milage from "two Dozen short lessons"
Alias_ I'm working on this demo wiki page of shapr's
And editing as I go to make it more friendly
... for camels at least 04:22
mugwump sounds good... tell me more later :) 04:23
mugwump & # leaving Taipei101
Khisanth package keyword no longer in p6? 04:30
Alias_ Khisanth: "package" is how P6 will detect a P5 file. P6 itself will use 'class' or 'module'(in some cases) 04:37
Khisanth Alias_: that is the reason I asked 04:38
Alias_ so... yes. No package keyword 04:39
Khisanth hmm maybe I'll just go through all the A, E and S first :) 04:40
Schwern Alias: Wait... is "package" going to be Perl 5 code or just a Perl 5-style class? 04:43
Khisanth a module that contains package is p5 04:45
Alias_ It indicates to the parser to use the Perl 5 grammar instead of the Perl 6 grammar. I swear I've read that half a dozen times
Khisanth still reading about the regular program stuff :)
Alias_ So it's PONIE code
Schwern Huh. That's new to me. 04:46
Apoc 12 continues to describe things as "packages" but it doesn't use the keyword in code anywhere.
Alias_ Let me finish this merge and I'll look 04:47
search.cpan.org/~ingy/Perl6-Bible-0...le/A01.pod 04:57
HAlfway down
search for "package" 04:58
"I hereby declare that a package declaration at the front of a file unambiguously indicates you are parsing Perl 5 code"
Schwern I don't know, that's kind of ambiguous.
Alias_ Rule 1 04:59
Schwern I'm kidding.
Alias_ I know :)
Had a chance to look through stuff yet?
gaal Windows--; # pop up a dialog box when a segfault occurs, thus stopping automatic smoke tests that expose hard bugs 05:05
theorbtwo, you there? 05:08
theorbtwo Mornin, all. 05:16
gaal hey theorbtwo. i just noticed the testgraph script isn't compatible with 5.6.1. mind if i hack at it? 05:18
unhappily, the problem is with unicode layers, which suggests there may be problems even if the syntax is fixed :( 05:19
theorbtwo Ugh. 05:20
Sure, go for it.
Sadly, YAML doesn't just do it right.
gaal ....anyone remember how to spell ":utf8" in 5.6? :)
theorbtwo Note that the output is ASCII -- I just HTML-escape the unicode characters.
gaal huh? what doesn't it do right?
oh :(
so there's no need to claim utf8ness, anyway. 05:21
theorbtwo I can't just say "open this file, please", to YAML, and it will open the files.
Except some of the tests output utf8.
(In purticular, the length tests.)
gaal LoadFile
it's not exported by default
theorbtwo Yes, bu that fails to be unicode-clean.
gaal yeah, i wrote those :/
theorbtwo I did that first.
jabbot pugs - 1585 - * disable perlego tests completely 05:22
pugs - 1584 - * hangman.p6 now reads from AUTHORS dire
pugs - 1583 - * add Chpi and Anton to AUTHORS
Khisanth gaal: binmode?
gaal i don't mind requiring YAML 0.39 if it fixes the problem (hint, hint ingy)
why are you making ascii out instead of utf-8? 05:25
theorbtwo I'd prefer very much that the YAML modules be charset-sane, rather then requiring the user to be, such as by encoding the charset on the first few lines, before any data.
Because it creates less issues. 05:26
gaal for browsers, you mean?
theorbtwo I don't have to worry about the browser actually supporting utf8 correctly, I don't have to worry if it's marked as utf8 correctly.
Yeah.
It's also dead easy to implement.
gaal that's usually not a problem in this day and age....
theorbtwo That half shouldn't have problems at all under 5.6.
gaal true 05:27
well, not true
if i work in character mode
i can't just convert stuff to html entities
because i'll read an octet at a time
theorbtwo Why not, and what do you mean by character mode?
Oh, you mean in bytes mode.
gaal sorry, bytes mode, yes.
theorbtwo Do that line in a {use utf8; } block, then. 05:28
Or, if that won't work, then admit that it's impossible to get it to work if you use bytes.
gaal yes, and write a minimal utf-8 scanner. the fun! 05:29
while $byte & 80 get_another_one();
theorbtwo I didn't think 5.6 utf8 was /that/ broken... 05:30
gaal well, i'll look into it.
jabbot pugs - 1587 - * add Adam Preble to AUTHORS 05:32
pugs - 1586 - * do not set heap limit to 200m, as it c
gaal incidentally - does this page come up with properl css? forum2.org/gaal/pugs/tests_xp.html - my browser refuses to refresh the css, for some reason 05:37
beh - it looks as if unicode support in 5.6.1 was, indeed, "that broken". 05:41
how bad do we want the smoke system to support 5.6.1?
pugs itself works fine, so it's a pity to leave it behind;
jabbot pugs - 1591 - * .kv implemented on arrays and hashes t 05:42
pugs - 1590 - * remove -H200m from Perl6::MakeMaker to
pugs - 1589 - * exit() now triggers END{} too.
pugs - 1588 - * minor edit to drop unneccessary qualif
gaal but working around utf8 shortcomings just for the test system is... weird.
does exit() trigger END{} in p5?
autrijus it does.
gaal theorbtwo, you should really get the css on testgraph to work on msie (mousehover doesn't, currently). this is quite the thing to show bosses at work :) 05:46
theorbtwo Oh, I thought it was...
gaal is quiety pushing TDD
theorbtwo Anyway, I see that page without css.
Which is odd, because if I just load the CSS page, it loads OK. 05:47
nothingmuch theorbtwo: `works?
gaal i see it with css on msie
theorbtwo I see forum2.org/gaal/pugs/tests_xp.html as if it had no CSS on FF.
nothingmuch i see it with css, but it looks too red
autrijus resumes the "fix broken tests" coding monkey role :) 05:48
nothingmuch goes to the doctor
gaal the server logs don't give any errors on the css file
theorbtwo The CSS loads with a content-type of text/plain, though. 05:49
Note that the coloration of the last column is based on style="" attributes, not on the CSS file.
gaal ugh
nothingmuch perhaps testgraph.pl should have a content type in the <link>
theorbtwo That quietly implies that somebody can't replace our stylesheet with another one that isn't CSS, but that's OK with me. 05:50
gaal, try adding C< type="text/css" > to the link tag at the top? 05:51
gaal try again please 05:52
theorbtwo No visible change. 05:54
Most odd.
gaal btw there are inconsistent newlines there.
theorbtwo In the HTML output? 05:55
gaal yeah - the header that testgraph generates vs. the rest
theorbtwo gaal, if you just change the syntax to open then binmode, what goes wrong? 06:18
theorbtwo doesn't have a handy copy of 5.6.
Odd, the forum2.org testgraph shows a lot more red then the run I just did. 06:22
sdtr443w Do complicated returns work in Pugs? 06:23
gaal whoops, was taking a shower and am now off to $work. see you in a few. 06:24
theorbtwo See you in a bit, gaal. 06:25
castaway_ snuggles theorbtwo 06:36
theorbtwo *kiss* 06:37
06:38 castaway_ is now known as castaway
hattmoward disgusting! 06:41
castaway ahh shurrup hatt
rgs :)
nothingmuch castaway, theorbtwo: is it working? 07:11
errm... context context context
not the relationship, i mean
the SEE session
i typoed the port number
castaway No 07:13
telnet woobling.org 6944 -> nada
castaway grins tho
ah *now* it does, ta :)
nothingmuch huraah 07:14
nothingmuch can now sleep at night
castaway :)
Until we crash it by sending it junk :)
I'm betting its not very stable
nothingmuch feel free to crash it, i'll try to run it in a loop 07:15
anyway, time to go to work
and maybe pharmacy
castaway Okie.. thanks!
nothingmuch btw, i think it's easiest if i give you shell acces
and you control it with osascript
castaway that would be nifty ,)
nothingmuch to create new docs, and stuff
theorbtwo That'd be quite nifty.
castaway umm, assuming we knew osascript
nothingmuch it's very simple
castaway but I guess theorbtwo would like to play with it
theorbtwo (Of course, it'd require learning osascript, and SEE's osascripting model, assuming it has one.)
nothingmuch ok, i'll set that up when I get back home 07:16
osascript is peanut
s
castaway funky
nothingmuch and see's model is probably a bit more complex
theorbtwo I should think it would be.
nothingmuch but there's ref
theorbtwo But I have no idea if SEE exposes an osascripting interface.
nothingmuch it does
see autrijus' kwiki hack
theorbtwo Oh, I should probably read that at some point. 07:17
nothingmuch it's really just: SEE, open this file, and let everyone play with it
and then at some point save it (dunno when)
ciao!
castaway waves at nothingmuch 07:18
theorbtwo Later!
Hm, is there a way to add an instance of show to an imported type, or to fake show? 07:56
castaway hmm, wheres all the lambda-ites? 08:05
nothingmuch on #haskell ;-) 08:11
iblech (me at school ATM) autrijus: saw your commit of kv.t -- if I understood S29 correctly: .kv returns an AoA (array of [key, value]). .pairs returns an AoP (array of Pair.new(key => ..., value => ...)). Might be wrong, though 08:14
iblech heads to next lession
nothingmuch oh my, why should .kv do that? 08:15
Schwern Why do we need two different operators? 08:16
xkb_ hi 08:17
theorbtwo Note that S29 isn't even vaugely firm yet. 08:18
Schwern The signatures on the functions in S29 frighten me 08:19
multi sub log (: Num ?$x = $CALLER::_, Num +$base) returns Num
Khisanth remove more water?
Schwern: line noise? :) 08:20
Alias_ pretty much
theorbtwo Wait a second... so log(10) means the log of $_, base 10, and not the log of 10, base defaulted (to 10).
Schwern Khisanth: Seems a little... verbose and compact at the same time
Khisanth I thought p6 was suppose to be less and not more :p
though I really don't see any problem with reading that 08:21
Alias_ Khisanth: It's "more" strictly types, and you'll be "less" aware it's happening
typed
Alias_ goes home
theorbtwo p5 is very strictly typed: The types are $, @, %, *, and &.
Schwern Though I do like how log10 is implemented
Khisanth although the problem is always with writing and not reading when it comes to verbosity
Schwern: currying? 08:22
theorbtwo p6 is a bit more loosely typed, and certianly more obvious in it's typing.
The lambdites on #haskell don't seem all that awake either. 08:23
Schwern Why do we have 25 trig functions in the core?
That all belongs in a module 08:24
theorbtwo I think the idea is to specify them first, then decide what goes in a module and what doesn't.
Schwern Fair nuff
Khisanth just make sure p6 does not become PHP :) 08:25
Schwern zip doesn't do what I expect.
Though it was just a flattening operator
thought 08:26
Khisanth iterate over multiple lists in parallel?
nothingmuch for (zip(@a; @b)) -> $a, $b { }
to iterate two lists together
Schwern Example: zip (1,4,7,10 ; 2,5,8,11 ; 3,6) generates (1,2,3,4,5,6,7,8,undef,10,11,undef)
Oh
What a horrible example
nothingmuch wonders in how many places like multiple iteration vars perl6 obeys the 0, 1, āˆž rule 08:27
castaway 0,1,what?
nothingmuch Inf
c2.com/cgi/wiki?TwoIsAnImpossibleNumber
castaway hmm, was that urf8? 08:28
nothingmuch yup
castaway utf8 even
nothingmuch is always utf8, because hebrew is too crazy in any other encoding
castaway odd, thats what Im set to display :(
theorbtwo Yey!
Too crazy why, though?
The lack of vowel marks?
nothingmuch logical order
vs visual order 08:29
theorbtwo Ah.
nothingmuch clash of latin space with hebrew space in many encodings
can't have Ć„ with hebrew
theorbtwo Um, do you often want to?
nothingmuch and since I tend to communicate in english, sometimes with umlauty people, and hebrew, i get that
for mom it's even more important
theorbtwo Ah.
nothingmuch she is a german speaker 08:30
it's just annoying to see a name like WĆ¼nsch become something with hebrew in it
theorbtwo thinks that the Germans should just start actually using the ue form.
Wuensch.
nothingmuch c2.com/cgi/wiki?ZeroOneInfinityRule is actually a much better discussion of the topic 08:31
nothingmuch thinks that a language should have only Infinity, but within that Infinity 0, 1, and sometimes 2 should make sense 08:32
except for reasonable exceptions like hash key -> value mappings represented as pairs, or things like that
Khisanth what about things like Infinity squared? :)
nothingmuch still infinity, Khisanth ;-)( 08:33
Schwern nothingmuch: key -> value mappings are still one. One pair.
nothingmuch Schwern: yes, i agree. That's also how I see them
nothingmuch ponders a review of this 08:34
i think one of the hardest places to make this work is parameter binding
btw, the log thing:
Schwern Let us all remember that we'll never need more than 640K or 32K rows in a spreadsheet.
nothingmuch it reads: log without arguments puts $_ in $x 08:35
Schwern That 32K limit is STILL in Excel, ran into it last year.
nothingmuch log with 1 arg puts the arg in x
oh my
log with two args puts first in x, second in base 08:36
log(:base(2)) is like log2($_)
etc, etc, etc
Schwern Why not just log(2, 10) (log of 2 base 10) 08:37
nothingmuch Schwern: s/Why not just//; 08:38
Schwern So what's log(:base(2)) ?
Don't tell me :foo(N) is what named args look like
nothingmuch it just says "this parameter, the one i'm giving you, is named"
Schwern Eww
nothingmuch :foo(2) is the same as (foo => 2) 08:39
Schwern So log(base => 2) still works?
nothingmuch ofcourse
Schwern Good. :foo(2) looks too much like a function call
castaway Schwern, in 2003 ? 08:41
at least in PivotTables in 2003 the limit increased hugely.. havent tested simple spreadsheet lines yet though
Schwern In 2005 even
Oh, Excel
No idea
Schwern snaps into context
castaway at, 65k rows now 08:42
Schwern I just know we were generating 40K+ row spreadsheets that were giving Excel heartburn.
castaway s/at/ah/
nothingmuch a /whole/ 65k?
castaway yeah ,)
Schwern Ahh, we were hitting 80K
castaway (bloody stupid no, why not liimit by memory like most of the rest..) 08:43
Schwern It was each bid on 44K properties in Miami/Dade county.
So 1..N rows for each property
castaway: Has to do with the way the Excel file format was done.
nothingmuch so basically it was the result of a join? 08:44
i have a page long SQL query I make an excel table out of
same feeling
Schwern nothingmuch: More or less
nothingmuch fortunately it's around 1k at the moment
castaway Schwern: then they should change it.. its not as if they havent already made bits incompatible ,) 08:45
Schwern castaway: Here it is from the Open Office viewpoint. sc.openoffice.org/row-limit.html 08:46
theorbtwo The problem is that people would create too-long spreadsheets, then try to save them, and get pissed as all hell.
Schwern Though it looks like OOo just shot themselves in the foot for the hell of it. 08:47
Khisanth some people enjoy pain ;) 08:49
nothingmuch thinks excel is fundamentally flawed for any data set more than 4-5 times the size a human can fit in their brain
auto-filter raises this to 10-15 times, perhaps
Schwern castaway: Looking further I can't really say if the limit is in the Excel document format or not
castaway: Or if MS is staring at the same sort of type upgrade hell that OO.org is. 08:50
Perl 6 has a simple Number type, RIGHT?!
Khisanth simpler than scalar?
Schwern Integers are -Inf to Inf, right?
nothingmuch Schwern: Num
theorbtwo IIRC, it has a Num role, which everything that can be a number can do.
nothingmuch i think
Schwern Numbers upgrade to bignums seemlessly, all that good stuff 08:51
None of this 3.298984144e48 crap
theorbtwo I think this is supposed to be the case, though I am unsure if it is the case in pugs.
nothingmuch it probably is
haskell has bignums out of the box
Schwern Nope
$ perl6 -wle 'print 2**64' 08:52
1.8446744073709552e19
nothingmuch that's horrible!
nothingmuch writes a test
Schwern cavet, that was r11xx
theorbtwo Does the same on mine, which is up-to-date. 08:53
BTW, -l is a no-op, you wanted "say".
Schwern Also try showing a number
Oh, say 08:54
theorbtwo (-w is also a no-op, but I'd keep typing it anyway if I were you.)
autrijus greetings.
theorbtwo Allo, autrijus! 08:55
clkao waves at autrijus
autrijus perl6 does not have a simple number type.
hey clkao
theorbtwo Is there a way I can derive show on a DynamicModule without editing the source of DynamicModule?
Khisanth clkao: finished moving already?
autrijus theorbtwo: sure!
theorbtwo How? 08:56
autrijus instance Show DynamicModule where show (RTM name path) = show (name, path)
put it anywhere you want
clkao Khisanth: just touched down, not finisehd yet. 08:57
theorbtwo src/External/Haskell.hs:22:40: Not in scope: data constructor `RTM' 08:58
autrijus Schwern: ** gives a Num context
Schwern Norm!
autrijus Schwern: if you want bignum, give it a int contxt
xkb_ Is all conversation here about pugs?
Schwern autrijus: It should dwim
autrijus $ ./pugs -e 'say int 2**644'
72999049881955123498258745691204661198291656115976958889267080286388402675338838184094604981077942396458276953177510516971019275542007007972042581115555427012031914789764239201325987075945660416
xkb_ where do pugs and parrot meet?
nothingmuch autrijus: why isn't Num by default an Int until it needs to be a rat?
theorbtwo In the PAST.
Schwern Nums should upgrade to bignums, too 08:59
autrijus nothingmuch: a Rat is BigRat anyway
nothingmuch float, whatever
autrijus nothingmuch: it preserves everything
it's just the stringification.
nothingmuch the stringification is where the user is
the user is the most important part of a system
autrijus eh sure. 09:00
AST.hs line 190
vCast (VRat r) = showNum $ (realToFrac r :: Double)
nothingmuch IMHO if it looks like an int it should be printed out as such
autrijus currently we show rationals by casting it to Num.
feel free to just fix it.
nothingmuch ok
autrijus hi Daniel_Nee!
Schwern xkb: Pugs is a stand alone Perl 6 interpreter written in Haskell. It can also optionally compile Perl 6 code to Parrot and excute it using Parrot.
autrijus xkb_: "pugscc --runparrot examples/mandel.p6"
nothingmuch would the fix look like if (int(x) == x) { cast to int } else { cast to rat }?
Daniel_Nee Hi, Autrijus !
autrijus nothingmuch: I have no idea. maybe you want arbitary precision fractional too 09:01
nothingmuch i don't know
either way, i have to find time first
autrijus 1.42857142857142857 (ad infinitum)
Schwern: ideas?
Schwern About what to do with "print 1/3"? 09:02
jabbot pugs - 1592 - bignum test
theorbtwo You could even have it stringify 1/3 to "1/3", but I'd prefer that it stringify to a simple literal, unless pragmatified otherwise.
Schwern bignum.pm deals with it by putting a default limit on it 09:03
autrijus haskell's Rat indeed stringifies to 1%3.
but not thinking we're going that way.
theorbtwo Using % is asking for user-confusion.
nothingmuch not only that
autrijus not sure 1/3 is better.
nothingmuch that's a bad thing, imho
theorbtwo Even more then using engineering notation.
nothingmuch but anything per outputs for the user should be edible by a pipe
theorbtwo It's a hair better.
nothingmuch you don't want to say $rat.as("%f") 09:04
you want to just say $rat
autrijus Schwern: ok. so for non-Inf integral parts, we show it even it's 9999999 digits?
nothingmuch and have "... | poison_rats" work
Schwern $ perl -Mbignum -wle 'print 1/3'
0.3333333333333333333333333333333333333333
nothingmuch lets formulate some rules: 09:05
no data loss, if possible
Schwern I'd parrot what bignum does and consult Tels on the subject.
nothingmuch backwards compatiblilty in notational format, more important than data loss
theorbtwo +(~($x)) == $x
nothingmuch (1/3 is 0.33, not 1/3)
autrijus theorbtwo: then 0.3333 does not do what you want
nothingmuch machine limits, mostly in the pass are not an issue
that is, 2^75 is an int 09:06
everything is presented in it's simplests backwards compatible format
i.e., an int is an int
theorbtwo Yes, the rule I gave is impossible to fufill in all cases.
autrijus theorbtwo: don't just RTM then
nothingmuch and we could have a pragma to print out wittier formats
like sci notation where applicable 09:07
and fractions
Schwern autrijus: For *display* not sure.
nothingmuch and maybe even Ļ€ etc
autrijus where show mod = dm_path mod
that should do
nothingmuch but then we also need to be able to parse such notations
autrijus it's already parsed.
nothingmuch (which is somthing i've always wanted in perl)
+("1/3") -> ? 09:08
pugs> "1/3" + 1
2.0
theorbtwo I'd prefer that the stringification not imply accuracy that is not present.
nothingmuch that's not what I meant
0.333 is not 1/3 09:09
it's 0.333
but 1/3 is 1/3
autrijus pugs -e' 1 + '1/3'.eval
nothingmuch is that what you mean?
autrijus: i'm not going to eval everything the user chucks at me
i want slightly smarter *number* not expression parsing 09:10
although technically 1/3 is an expression, most people think of it as a number
arguably -3 is the expression 0-3, too
theorbtwo Oh; it already does what I was about to fault it for not doing -- ~5e60 is "5.0e60"; it doesn't form an intermediate float and then round it. 09:11
nothingmuch btw, 1/3 notation is *not* processed by anything on CPAN
i have a SoPW on that somewhere
autrijus nothingmuch: I'm very not sure about processing "2004/12" as a nmber.
nothingmuch where I tried to use Math::Expr, etc 09:12
autrijus I am very very not sure indeed.
certainly not as a builtin.
nothingmuch if it's a date it shouldn't be numified
autrijus why is 1/3 not a date and 2004/12 one?
nothingmuch it should stay a string
or be parsed as such
both are
and both aren't
autrijus eh.
nothingmuch i meant, if the user has $date = "2004/12"
then the user shouldn't $date++
autrijus why? 09:13
nothingmuch without making it into a date object that properly overloads ++
autrijus I want "2004/13"
that's what perl's ++ always offered.
nothingmuch hmm
autrijus and I'd like int($date) to be "2004"
not 167.
nothingmuch i forgot about magical
but then in 19 you get...?
autrijus 20 of course 09:14
nothingmuch perl -e 'my $a = "2004/12"; print ++$a'
2005
it's not automagical
it numifies
ok, again, perhaps there should be a pragma for more eager numification 09:15
since it's bound to be done lexically
damn, generalized tainting again
autrijus sure. feel free to write a module :)
nothingmuch strings that are slurped in the context of that lexical pragma will be numified smartly later
even if they're spliced a bit
i want generalized tainting SOOOOO much 09:16
nothingmuch will bring it up again 09:18
i think it's the only sane way to get implicit behavior done right, leaking properly, in a well defined way 09:19
autrijus ok. 09:24
the integer part is of infinite precision 09:25
it's 40 place of precision after the dot
theorbtwo hmms. 09:27
pugs: internal error: ASSERTION FAILED: file (null), line 465 (I think because I'm now compiling with -debug). 09:28
autrijus num.t now passes 09:30
committing
jabbot pugs - 1593 - * implement .kv and .pairs according to 09:32
pjcj "using tex to right Perl 6 code" -- typo or Freudian slip? You decide!
cognominal what is the quickest way to flip an bidimensional array, that is to double loop over @b[$i,$j] = @c[$j.$i] ? 09:34
theorbtwo Hm, -dcore-lint thinks the core is insane, when compiling Parser. 09:37
autrijus theorbtwo: w/o -O?
theorbtwo Er, no, with -O, trying again without now. 09:38
Has no problem when I remove the -O from the {-# ... #-} block. 09:40
autrijus ok. please remove -O and commit :D 09:43
Parser.hs seems to be not the bottleneck anymore.
should be enough to -O Lexer.hs alone
theorbtwo OK, ci'd. 09:46
autrijus danke. the bigrat implementation is also in
Schwern, theorbtwo, nothingmuch: please test for sanity
theorbtwo (svn diff -rHEAD|less)++ 09:49
09:50 hawkalooogie is now known as hawkaloogie
jabbot pugs - 1595 - Remove -O from Parser.hs, since it makes 09:52
pugs - 1594 - * bigrat stringification: integral part
nothingmuch all the fun stuff happenns when I'm eating 09:53
i'm not sure what it all does, autrijus, but i think it sort of makes sense 09:54
wowowowowowowwww, people have been linking a lot
autrijus hm? 09:55
nothingmuch backlinks
i thought no one would actually care
theorbtwo Autrijus, what do you think of L<> in the .hs files.
nothingmuch but they are really getting somewhere
theorbtwo: IMHO: yes.
autrijus theorbtwo: sure. -- L<>
nothingmuch as an intergral part of PA02 09:56
autrijus my current focus though is on fixing bugs and get multidim working for 6.20.
err, 6.2.0
so feel free to help me adding L<>
nothingmuch nothingmuch.woobling.org/pugs_test_...l#Literals <-- beautiful
tiny 't's everywhere 09:57
autrijus nice
nothingmuch next we'll have 'i' links, for implementation 09:58
theorbtwo Somebody should work out some better CSS, though.
nothingmuch horraaah!
i want vimcoloring though 09:59
i wonder if i can pull it off eventually
theorbtwo wonders if he'll get energetic enough at some port to set up non-vim-based coloring. 10:00
autrijus Text::VimColor?
theorbtwo Hm, I wonder if I can convince pugs to dump it's parse tree complete with coordinates, and use that for syntax coloring.
nothingmuch autrijus: takes perl6.vim and probably haskell.vim 10:01
and uses them to color the outputs
autrijus both are there.
nothingmuch i think editors should have embedded perl6 support 10:02
that way macros could be parsed sanely
that would be treees cool
tr/e/Ć©/
anyway, back to real work before I get carried away 10:03
autrijus ciao :)
Daniel_Nee Hi Autrijus, looks like you're still quite busy, I will arrange the demo of FCB permission program to Land Bank on April 14th ( Thursday afternoon), which will give you one more week. 10:22
autrijus Daniel_Nee: sure, that's fine. I'll still go into office tomorrow 10:23
xern autrijus: i'm starting finger pugs now 10:25
fingering
autrijus xern: nice! 10:26
nothingmuch autrijus: where is PA02 at?
should it be literal haskell?
or an external doc?
is it partially done?
i'd love to help with what I know
autrijus nothingmuch: PA02 is just a kwid like anything else.
nothingmuch and this is a good excuse to learn more 10:27
autrijus I've started some outlines. will post it around 6.2.0 time
which is this weekend
nothingmuch jolly
autrijus but, dinner. bbiab
nothingmuch could you keep it on SEE somewhere, or maybe check in partial copies, or put them up on the web?
ok, ciao
autrijus xern: want a committer bit? 10:28
nothingmuch can do that, go eat
autrijus xern: I'm sure you can start working on tests/examples/primitives, etc :D
nothingmuch: ow. ok, gone &
xern yah, but i guess later after my reviewing other parts :)
autrijus (but, xern is now a committer. welcome aboard!)
nothingmuch huraah
xern how do i commit code?
autrijus # I've known xern in real world for quite some time now
nothingmuch svn ci file/you/changed 10:29
xern i mean the location
autrijus svn.openfoundry.org/pugs/
but &
nothingmuch the repo? svn.openfoundry.org/pugs
nothingmuch people should have voicing privs to make others go away for the sake of the others' health 10:30
i know i need to be silenced occasionaly
theorbtwo WOO!
Progress!
nothingmuch that sounds good
explain progress?
theorbtwo Well, I no longer die horribly with a segfault or internal error. 10:31
I now get: pugs: /usr/src/SHA1/SHA1__0_0_1.o: unknown symbol `GHCziIOBase_zdfMonadIO_closure'
pugs: user error (Unable to resolve functions!)
Of course, I'm not real clear on what that means, but it's something. 10:32
castaway :) 10:33
castaway hugs theorbtwo.
nothingmuch C++ is a terrible beast 10:36
theorbtwo C--
nothingmuch it's worse than perl5 in so many things perl5 is bad at
ingy hola
theorbtwo (C++)--
nothingmuch why is it so popular? 10:37
theorbtwo Hola, ingy.
Because at the time, it was better then most other things around for a wide class of problems.
Oh, wait. 10:38
castaway because its a virus, and is everywhere? :)
theorbtwo Cplusplus, not C. In that case, I have no idea.
Sorry.
ingy hi theorbtwo
castaway waves at Mr. Kwiki
theorbtwo ingy, can we get a function in P6::Bible to give us the raw POD of a document by name? 10:39
ingy hmmm 10:40
perldoc -m Perl6::Bible::A01 :P
theorbtwo Ugh; there already is a Perl6::Bible .pm; it should do something useful.
Backticking out to perldoc is ugly as all get-out. 10:41
ingy well it was a quick hack, and fairly useful
so you want `perldoc --raw s01` ? 10:42
theorbtwo I wouldn't mind if it was just encapsulated backticks.
ingy er
so you want `p6bible --raw s01` ?
ingy is just waking up
theorbtwo No, I want perl -MPerl6::Bible -e'print Perl6::Bible::getdoc("S01");' 10:43
ingy oh
I see.sure 10:44
theorbtwo Shall I wait until after you've woken up the rest of the way for my other problems? 10:49
ingy theorbtwo: ? 10:50
castaway *g*
theorbtwo YAML isn't charset-smart; if I store a string with chr(0x100) in it, and tell it to read it back, I get back two chars, unless I handle the charset stuff myself. 10:51
ingy anything else? 10:52
theorbtwo That's it, I think.
ingy phew
theorbtwo The second is pretty minor; I already do the charset dance myself. But gaal wanted it to work with 5.6.
castaway wonders if she can order some kwiki-plugin-pod while we're at it :) 10:55
nothingmuch oh oh oh, me too
i want YAML to be able to serialize whole processes quickly 10:56
so i could do continuations in perl5
i expect results within two weeks, max
theorbtwo OTOH, just to note some Karmic balance, I'm working on getting SHA1 working.
I think I see. 11:14
Hm, perhaps not. 11:15
castaway hmpf, gentoo still insists on 6.2.2, even when ghc-bin is installed 11:16
nothingmuch gentoo is troubling me that way 11:17
i need GHC 6.2 for darcs to live
and 6.4 for pugs to live
castaway checks the keywords again
eep :)
nothingmuch i also want wxpython 2.5
but it is complete masked out
and been that way since november
theorbtwo Uff. 11:18
castaway Hmm, I see no reason why it doesnt install me ghc 6.4 :( 11:20
nothingmuch package.keywords?
castaway has dev-lang/ghc-bin ~x86 11:21
dev-lang/ghc ~x86
in it
nothingmuch your package.keywords? or the one that is rsync'd?
castaway /etc/portage/package.keywords
is there another one?
nothingmuch that's the one i mean 11:22
there's the one with the default maskings and such
castaway thats the one the docs tell me to add to, and it worked for other stuff
nothingmuch i so don't know what I'm talking about, i should just shut up
castaway hmm, default? was empty when I started it
jabbot pugs - 1596 - atalog_tests.pl upgrade, because t\Synop 11:32
nothingmuch has a dirty fix for that 11:33
checks out from svn.perl.org/.../syn
castaway hmm? 11:35
nothingmuch jabbot: pugs - 1596 - atalog_tests.pl upgrade, because t\Synop
jabbot nothingmuch: Does that reason seem to explain anything else?
autrijus mm?
theorbtwo Did you reindent large swaths of my code?
nothingmuch i need to make all my Q&D fixes "real"
perhaps
i moved some stuff around
but that was a while ago 11:36
theorbtwo nods.
nothingmuch rootmj seems to have done that
castaway haskell-tidy?
nothingmuch perl, actually ;-)
theorbtwo I asked ingy for the function in p6bible that we need to use it sanely.
theorbtwo needs to make his emacs sane with tabbing. 11:37
nothingmuch does p6bible get latest?
theorbtwo (IE always use spaces.)
It's supposed to, I think.
castaway ah well, perltidy then.. (I still need one that does what i like ,)
theorbtwo I'm really pining for just having the docs in the pugs repo.
...with magic on the server side to keep them up to date.
autrijus mumbles something about svn:external. 11:38
theorbtwo That sounds like the right sort of magic.
Speak up, indeterminate-aged probably-not-a-grasshopper. 11:39
nothingmuch tries to remember where 'grasshopper always wrong in argument with chicken comes from' 11:40
theorbtwo wonders how the traditional Chinese translation of The Diamond Age does on the bit about translating KFC.
autrijus doesn't seem to recall a Diamond Age translation
nothingmuch goes to find his principia discordia, on the desk of whomever has it at the moment in the office
autrijus oh wait, there is on
one
theorbtwo The book makes a reference to translating "Kentucky Fried Chicken" to "The House of the Venerable and Inscrutable Colonel:. 11:42
Er, s/:/"/
nothingmuch ah yes! page 48 11:43
nothingmuch goes to photocopy for reference
theorbtwo Mmm, nm? 11:44
castaway thunk that had a website somewheres
obra has a nice pic of the venerable and inscrutable colonel printed onto corrugated plastic from taipei 11:45
theorbtwo Um, does he look different there?
obra not really 11:46
nothingmuch theorbtwo: are you familiar with the principia discordia?
obra though in Tokyo, I saw statues of him dressed as a samurai
theorbtwo Mildly, nothingmuch.
OK, now /that/ is certianly photoworthy.
nothingmuch on page 48 is a wonderful quote about grasshoppers
obra theorbtwo: I took pictures;) 11:47
webmind nothingmuch, which version ?
nothingmuch "grasshopper always wrong in argument with chicken" -- Book of Chan, compiled by O.P.U sect
4th ed, IIRC
webmind k
nothingmuch www.principiadiscordia.com/book/55.php 11:48
theorbtwo www.trip23.com/pd/body/body_48_txt.htm
nothingmuch txt is teh suxx0r
(for the principia, that is. Otherwise I love it)
IIRC metaperl_ implemented this: www.principiadiscordia.com/book/78.php 11:49
castaway Blubb. 11:58
theorbtwo Blubb?
castaway Blubb. 11:59
theorbtwo Take an actual-walking-outside lunch break?
castaway But the outside is 17 floors down! 12:00
theorbtwo There's an elevator. 6, IIRC.
nothingmuch 17 floors... dear god 12:01
theorbtwo She's only around halfway up, too, nm.
nothingmuch it's been a long time since I've been that high
castaway Puh, in the UK office they have whiskey and cake for birthdays??
quote: "Yes, thanks - I've not tried it yet, I've just been off for birthday whisky+cake. Hurrah!"
not quite, theres 21floors, 4 above me
nothingmuch wow, coolness 12:02
nothingmuch sometimes drinks beer for lunch
and there's lots of occasions where wine is served
castaway nm, its quite a view.. I have a panorama pic somewhere (theres only about 6 or so buildings in munich this high)
theorbtwo Yeah, that's great for productivity! Get everybody drunk for lunch, then file them back into the office for an afternoon working.
nothingmuch usually takes care of the leftover wine
(for cleanliness, that is ;-) 12:03
castaway right.
nothingmuch (you can't just leave all those half filled cups lying around)
theorbtwo They'll attract flies!
nothingmuch exactly!
castaway watches windows copy data from the slowest server ever (I think it has a 1mbit network card or something)
nothingmuch and, you know, they might be heavy when you try to collect them 12:04
that's scary
castaway it IS 4gb, but it'll probably take the rest of the afternoon
theorbtwo Ahh, back in the day, when BNC was "thin ethernet", and 10mbps was "fast ethernet".
nothingmuch my line broadband is more than that
(i never thought i'd get the chance to say that)
theorbtwo: i wasn't born yet =( 12:05
well, no, i'm exaggerating
but i've yet to use hardware from the 10mbit era
that I wasn't playing with for historical reasons
theorbtwo Yes, well, I've never seen BNC actually used for data.
nothingmuch i did have a mac with 1mbit or so, i think. it could have been 10mb
but i have never networked it 12:06
theorbtwo I've used plenty of 10mbit equipment, though.
nothingmuch and it was old by then
theorbtwo How old are you, nm, and how long ago did you get into computers?
castaway still runs around with a BNC end piece in her pocket, cos some idiot would remove it from the end, and all the data would fall out 12:07
nothingmuch 19
castaway boggles.
nothingmuch and long ago: i think the first program i actually wrote was a y2k countdown
theorbtwo Because I was using 10mbit stuff for mission-criticial networking 3 years ago.
nothingmuch and there were 100 days or so left
theorbtwo Ah, how quaint.
nothingmuch that was javascript
it came after about a year of really using computers
theorbtwo 2036 (or is that 8?) is when everything is going to die.
nothingmuch not just playing with them 12:08
castaway checks.. yup, still there
nothingmuch then around a year later i decided to use perl
and a year after that or so i actually got around to it
oh wait! the school network was 1mbit BNC when I was in the 7th grade! 12:09
so i lied
i used BNC a lot for video though
theorbtwo I remember my school being on appletalk for a while, but that uses RJ-45, not BNC. 12:10
castaway feels old
obra Wouldn't that have been Asante PhoneNET over RJ11?
nothingmuch this was a network of 90MHz dells or something like that
castaway network, at school? ,) 12:11
obra (appletalk over rj 45 would only map to ethernet, I think)
nothingmuch no, sorry, they were digitals
wow, that was from when digital still was
now *I* feel old
castaway bah. 12:12
theorbtwo Er, right, RJ11, not EJ45.
It's been a while since I did any real networking work. 12:13
Where by real I mean layer 1.
castaway wants time off. 12:24
(One of those, lots of time do nothing, holidays..) 12:26
Odin- Oooooh. Kinda like unemployment? 12:27
nothingmuch gets depressed with nothing to do 12:28
must work, or hike
Odin- is depressed anyway, so it's not much of a change.
nothingmuch anything else is not sufficient to keep me interested
castaway nm .. "do nothing" means "no obligations".. ie just gimme my computer :)
nothingmuch heh
castaway Odin-: yeah, kinda :)
nothingmuch castaway: what kind of vacation is one where you keep using the computer?
castaway one without any interruptions?
theorbtwo One where you have time to do what you want to on the computer, rather then what your employer wants you to do. 12:29
nothingmuch beh
Odin- nothingmuch: Whaddya mean? You actually can move away from the computer?
castaway right
nothingmuch yes
castaway preferably one that also doesnt involve cooking, cleaning and washing etc.. but thats really dreaming
nothingmuch i like doing that, too
otherwise i lose my mind 12:30
if i overdo something i lose interest
it's one way of controlling ADD
not that I'm 100% that I have it
cooking is nice, that is one fo the things I do to get away from the computers
castaway I would, if I had time ;)
nothingmuch and cleaning is something I do when I need a 10 minute break
castaway nm, yeah it is when you have a choice
Odin- (I might note that usually at least a week of my summer is spent in a place which was abandoned over fifty years ago, and thus lacks even reliable telecommunications.)
nothingmuch and washing is something i like doing anyway, so =)
castaway it's not so much when it has to be done no matter whether you can be bothered or not
Odin- has been diagnosed with ADHD.
nothingmuch Odin-: that's something i'd like to do
here any area that is not inhabited for several miles is an army firing zone 12:31
Odin- And I fulfil most of the criteria for several other DSM disorders... :/
nothingmuch thinks he should have said several km, but that doesn't sound well in english
castaway bah, disorders
there is no normal, dammit 12:32
Odin- castaway: Nah. But I suppose wanting to kill yourself is outside of whatever you might call 'healthy'...
nothingmuch s/disorders/traits/ 12:33
;-)
webmind 'differances from the majority'
nothingmuch webmind: the majority is different
=)
Odin- Frankly, I think people are WAY too stuck up about being politically correct.
castaway right.
webmind nothingmuch, yes.. but shares commons
theorbtwo I think people are far to concerned about being healthy, and not concerned enough at being happy. 12:34
Odin- ADHD is real. It's overdiagnosed, and is often used as an excuse to subdue kids ... but it's still real.
nothingmuch theorbtwo: oh man, sooo ditto
webmind like the most people have 2 arms and 2 legs
nothingmuch and a nose!
castaway right but some dont, so what?
nothingmuch has several problems: concentrating, reading, etc. I solve them by doing things I like
taking breaks
walking around 12:35
webmind that means they differentiate from the majority
nothingmuch no ritalin for me
Odin- Heh.
nothingmuch no funny methods
theorbtwo And thumbs. But the ones that don't mostly aren't obsessed with wishing they had more of them.
nothingmuch i get to 80% of what I feel I want
castaway webmind: The german disability system thinks I'm 100% disabled..
webmind Odin-, I prefer not to be labeled as having a malfunction or whatever
castaway, why ?
nothingmuch but it's good enough for me
webmind what does ritalin do ? 12:36
nothingmuch castaway: how often do you get people with that 'take off your thumb' magic trick?
Odin- nothingmuch: The school prohibits me from even trying that.
castaway webmind: because it compares physical differences to the "norm" whatever that is
nothingmuch webmind: it is supposed to make you concentrate better
castaway and my missing bits add up
shapr Hail Eris!
xerox It has many effects
theorbtwo Thumbs, a kidney, some vertebre, one bone in the left arm, some other stuff.
webmind nothingmuch, ah ok
nothingmuch fed like candy to "hyperactive" children
castaway can't do it, nm
Odin- webmind: Fine. Then fight against ADHD being considered a 'malfunction'.
nothingmuch shapr: Hail, hail, fellow POEE
theorbtwo POEE?
shapr Paratheonametamystikhood of Eris Esoteric, of course. 12:37
webmind Odin-, I wouldn't know.. don't know much about adhd
nothingmuch castaway: i mean, "see? my thumb's disappeared!"
theorbtwo Oh, yeah, Pope of the Eristian someither...
Odin- webmind: Well, I do. I have it.
webmind Odin-, and would you call it a malfunction ?
shapr I've heard of ADHD, isn't that where you get drugs to sit still?
webmind Odin-, would you call it a disability ?
nothingmuch -><- 12:37
Odin- webmind: I would call it a disability, yes. 12:37
nothingmuch =D
webmind Odin-, good enough.. then it is 12:38
nothingmuch pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: xrl.us/fmw2 | Mac OS X r1567 (267/3922) | Win2k r1576 (281/4129)+1Unex 12:38
Odin- webmind: But that's not inherent in ADHD, but is a problem of the &$&#%#! school system. ;) 12:38
shapr I wouldn't call ADHD a disability. I'd call a societal malfunction.
There aren't anymore frontiers :-(
webmind Odin-, ah
xkb_ ah hi shapr 12:39
nice piece on ltu :D
shapr ah, thanks!
webmind could often call things a cultural problem.. and not a problem to the issue in question.. not sure if that's the case with ADHD ?
xkb_ you got me interessted in any case :D
shapr yay!
castaway Maybe its just me, but I seem to hear so many people announcing they have some disorder beginning with AD*, that it seems to be more normal than different
nothingmuch castaway: many many people have them, 12:40
shapr I think ADHD is normal for humans, but abnormal for the highly ritualized society of the present.
castaway well its not a malfunction then
Odin- shapr: Then you don't know what ADHD is. ;)
nothingmuch but IIRC in school i don't remember many people having such trouble
there was the one guy who really couldn't function
and there was me, who could only pay attention in 3 minute chunks 12:41
shapr Odin-: I think I have a clue about ADHD
castaway (also seems to be a recent thing.. )
nothingmuch and i don't remember anyone else having such trouble
Odin- shapr: Do you have it? :>
nothingmuch and BTW, for the record, I think that I don't have it
shapr Odin-: yes
nothingmuch because it's not so severe
shapr Some references are www.borntoexplore.org/ and www.reciprocality.org/Reciprocality/index.html 12:42
I've written about ADHD and Ritalin on Ward's Wiki - c2.com/cgi/wiki?AttentionDeficitDisorder and c2.com/cgi/wiki?RitalinDrug 12:43
Odin- shapr: Interesting. How, exactly, is it "normal for humans"?
castaway ha, direct quote there
In our experience it is evidence that most of what is being called ADD today would not have been called ADD fifteen or twenty years ago and that much of it falls within the range of normal boy behavior
(stupid diagnostics giving names to such things) 12:44
Odin- That's rubbish. 12:45
shapr Odin-: ADHD is a different balance in the brain, and it's useful to society in a variety of roles. It's really bad for bean counting though.
Odin- Or, alternatively, that's evidence of overdiagnosis.
shapr: You mean that it's not pathological? 12:46
Limbic_Region Odin- if you haven't already, you should pick up a copy of "Driven To Distraction"
shapr No, it's not pathological. ADHD has a genetic basis. Some people claim that it requires both nature and nurture, but I'm not sure if I believe them. 12:47
Odin- shapr: Okay, I'll agree with that. :)
shapr Yeah, I have "Driven to Distraction", "Out of the Fog" and "You Mean I'm not Lazy, Crazy, or Stupid?" 12:48
Odin- It's a "problem" only in today's *seriously* fucked up society...
Limbic_Region AFAIK, there is still a distinction between ADD and ADHD though outside of the medical/psychological community the line is very blurred
shapr Odin-: I'd say that this society is pathological from the viewpoint of an ADD person. The stuff on reciprocality.org is really weird, but also kind of makes sense. 12:49
autrijus it's not a problem at all. :)
to me, at least.
Limbic_Region people who are able to function with ADD usually see it that way - I believe for others it is disabilatating
Odin- It is, for me.
I constantly hit against the walls of 'normalcy'. 12:50
Limbic_Region in fact, some people are more succesful as a result of their ADD
autrijus however it was a serious problem to me before I discovered ways toward hackable brains
Odin- I get into trouble at school, because I'm not 'paying attention'.
shapr autrijus: yeah, metacognition and self-modification
Odin- (I once played QIII through classes. I noticed the lectures better than without it.)
autrijus Odin-: nod. I dropped out when I was 14yrs old
Odin- doesn't have that alternative. :( 12:51
Limbic_Region barely graduated highschool
shapr I use 'Personal Unit Tests' because my internal feedback loops don't work much - c2.com/cgi/wiki?PersonalLoopbackTests
Odin- I mean, unemployment has been skyrocketing for the last few years. There's literally no alternative. :/
Limbic_Region in fact - I wouldn't have had I not moved in the middle of my senior year with all failing grades - the idea of being able to pull of passing was enough to actually make me do it - of course I also had a full time job and was taking a class at the university as well
shapr I think you can use the differences as strengths, but you can't do it if you try to fit into the rest of society. 12:53
castaway shapr++
autrijus there is no rest of society in general and one cannot fit at all :D
shapr likes that viewpoint 12:54
castaway indeed
make your own way, don't conform. (Although parts are hard not to)
Odin- Meh. There certainly is a 'rest of society'. It just usually doesn't want to be drawn up that way.
webmind shapr, same with autism me thinks
Odin- Geekship just doesn't have many elements of that 'rest'. ;)
Limbic_Region shapr - I am not sure I agree with you - I don't believe that all people are capable of using their ADD as a strength 12:55
I believe in some it is a matter of choice or education
castaway Limbic_Region: yeah, those that get stuck wanting to do what they cant (same problem with some physically disabled people)
Limbic_Region but in others, they just can't adapt
shapr I can't filter my visual inputs, moving objects in my peripheral vision or cute blonde females always get my visual focus. I've exploited this as a strength by using an acid color theme and now information about the code just jumps into my head automatically www.scannedinavian.org/~shae/secret-joy.png 12:56
autrijus oh. wow. fellow ion user?
webmind shapr, horrible ;)
shapr webmind: but hard to ignore :-)
webmind shapr, so true 12:57
shapr autrijus: yes, I like ion
pjcj I use ion too ;-)
shapr Limbic_Region: I've thought of an ADD Reader javascript that shows only one line of very large text moving across the screen, I think that would also exploit distractability for learning.
autrijus metacity here, but if I get some more time maybe I'll retry conf ion 12:58
the good (and bad) thing about IRC is that it moves constantly ;)
shapr agrees 12:59
Limbic_Region shapr - I am not trying to be argumentative and I agree, there is a lot more that could be done to help a larger percentage with education and exploring alternative learning methods
castaway ,)
xerox Why is it good and bad?
Limbic_Region but I have come to realize that some people just "can't get it" no matter how you try to help them
obra metacity is great. "whole screen mode" with one key is a lofesaver
castaway because it distracts
Limbic_Region and they can't help themselves
castaway nods at Limbic sadly
xerox obra, which key? :-)
Odin- Limbic_Region: Others want to do something else, but are forced not to.
Left handed people forced to write with their right, anyone? 13:00
shapr raises his left hand
Limbic_Region Odin- and that extends to shapr's point about it being a societal hurdle. I agree that it is one, but it isn't the only thing stopping people from living succesful and rewarding lives
xerox Really? :-(
shapr I was forced to write right-handed for a coupla years in the beginning.
obra xerox: for me, alt-space. buit configurable
Odin- Limbic_Region: No, but it is one. For some, maybe the only one. For others, the first one. Perhaps the second, third, or later for others. 13:01
Limbic_Region being a relatively intelligent individual, I failed to understand how some people just couldn't get things I was explaining to them no matter how I explained it
it took me a long time to realize the differences between intelligence, knowledge, and wisdom
Odin- shapr: That ... sucks.
Odin- has a bit of the first, a byte of the second, and pretty much none of the last... :p 13:02
xerox Limbic_Region, it happened to someone who I was trying to explain a thing, but I still think that he *can* understand it if I try in another way. What do you have realized, exactly?
Limbic_Region xerox - that the capacity for adaptability or alternative thinking just isn't present in some people or that they refuse to let themselves see things that way no matter how hard they think they want to 13:03
xkb_ bubye 13:04
quit
aargh
autrijus greetings Juerd-san!
Limbic_Region take a concept like the big bang - you try to explain the universe existing at some point as being no larger than your fist with no outside vantage point - people think 3 dimensionally - if it is the size of my fist, there MUST be an outside
no matter how you explain it to them - they will just never get it
shapr autrijus: hey, did you see my Pugs post on LtU? 13:05
autrijus shapr: yes. lovely 13:06
shapr :-)
Limbic_Region in any case, I am trying to say that both ends of the pendulum swing are wrong - it is neither just a disability nor is it just a social malfunction - it is a personally relative thing that falls somewhere in between the two endpoints 13:07
on that note - I am off for a bit 13:08
shapr Yeah, time to suck down some ritalin and count some beans. 13:10
Sometimes I'm unhappy that ritalin is necessary for me to keep a job - www.scannedinavian.com/2005-03-03.html 13:11
Anyway, what's the priority for Pugs at the moment?
autrijus for this week, for me personally, is fixing the storage model 13:12
so multidim structures work
and %*ENV can be "tied"
then it's fixing various parsefails.
goal is to release 6.2.0 on weekends.
then the priority is PA02. following that, IMC stuff.
other people have other people's priorities. this is anarchy after all :D 13:14
shapr Google doesn't tell me much about PA02 and IMC. I've seen the IMC directory in the pugs sources, but what's PA02? 13:15
autrijus PA01 is Pugs Apocryphon 2, Technical Overview 13:16
aka Design of Pugs
shapr ohh
autrijus aka How to start hacking
xerox looks forward to it.
autrijus I guess I'll just name it "design"
I'll post a outline on weekends 13:17
and solicit another question fest
ashok is perl 6.0 out ??? 13:28
xerox ashok, more or less ;)
autrijus ashok: no, not yet. but you can have a Free Preview 13:29
ashok autrijus : where do i find preview
autrijus ashok: search.cpan.org/dist/Perl6-Pugs/ 13:30
shapr: also, IMC is this amazing typed high level assembly thing 13:31
www.parrotcode.org/faq/imcc.html
shapr interesting! 13:32
autrijus the plan is to write a minimal compiler that compiles IMCC to TH. 13:34
using GADTs to model the typed registers.
maybe you'd be interested :)
IMC is also very fast when running on parrot.
shapr that does sound very interesting 13:35
ashok thanks autrijus
autrijus np =)
castaway ponders an irssi addon that looks up acronyms when clicked on.. (or something)
autrijus TH is template haskell, haskell.org/th/
castaway GADT ? 13:36
shapr Generalised Algebraic Data Type, but I like cognominal's suggestion better. 13:37
autrijus research.microsoft.com/%7Esimonpj/p.../index.htm
castaway wobbly types? 13:38
autrijus also see autrijus.org/tmp/old.hs versus autrijus.org/tmp/gadt.hs
shapr jello :: Wobbly
castaway wonders if thats mappable to something she knows without knowing any haskell (or very little) 13:41
rgs the second aprocryphon isn't commited yet, I assume
theorbtwo foo :: bar generally means something named foo of type bar. 13:42
autrijus rgs: no. why? 13:43
castaway "that" === GADT
rgs just being curious
autrijus :) 13:44
castaway: sadly, probably not. 13:45
castaway mmpf :) 13:46
autrijus it is conceivable that Perl 6's subtyping mechanism will be strong enough to contain GADTs.
but it's very much not there yet :)
castaway I dont know that one either though :) 13:47
mugwump Ah, great, I meant to ask you for a copy of those two haskell files yesterday, autrijus 13:49
stevan pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: xrl.us/fmw2 | Mac OS X r1596 (273/4123) | Win2k r1576 (281/4129)+1Unex 13:49
stevan morning all (or evening, or afternoon, etc etc etc) 13:49
autrijus castaway: ok. for example, in perl 5, the source is parsed into a B::* data structure 13:51
then upon evaluation/compilation, another pass called "context propagation" is done 13:52
to figure out each expression's context (scalar, list, void)
castaway nods.
autrijus that pass is often error prone when writing optimizers
because you can easily generate "nonsense" ops
i.e. there is nothing in the B::* tree that guarantees correctness 13:53
of the context, or of the parameters.
so if the parser / optimizer / propagator got it wrong
you get nasty subtle bugs or outright segfaults.
Limbic_Region GADTs will eliminate the nasty subtle bugs 13:54
autrijus yes. because it makes nonsense OPs impossible.
Limbic_Region only possible ops will get generated
autrijus you just can't write a AST that will not reduce.
castaway scratches head
Limbic_Region was trying hard to finish autrijus's sentence
autrijus AST is that B::* tree thing. 13:55
castaway I'm getting the feeling I dont really want to know ,)
autrijus for example, there's nothing in B::* that prevents you from writing +(+,-)
although that is patent nonsense.
Limbic_Region castaway - let me try and take a stab at it
autrijus - correct me if I am wrong
when you are writing the second/third/nth pass for another language, it is possible to get it wrong and write valid but nonsensical ops 13:56
13:56 gugod_ is now known as gugod
Limbic_Region GADTs will prevent that from happening, making targeting other backends less prone to error 13:57
in a nutshell
autrijus yup.
Limbic_Region++
without GADTs, it is very easy to generate IMC/Parrot code that makes parrot segfault.
Limbic_Region Limbic_Region-- # but thanks
autrijus with GADT, if the resulting code makes parrot segfault, that is squarely Not Our Problem :D 13:58
castaway Hmm, Ok
theorbtwo GADTs let you write types on constructors in much more detail then was possible before them. 14:00
castaway in Haskell, right? 14:01
(that made much more sense=
autrijus in any language that has them. but yes, as far as pugs is concerned, that means haskell :)
theorbtwo When people start throwing around terms like "Algebraic" in strange ways, Haskell is a pretty good bet. 14:02
stevan autrijus: very cool making hangman read the AUTHORS file :) 14:03
autrijus stevan: I'm addicted to it :D
<- spent some 20 minutes
stevan autrijus: should I use File::Spec to construct that path? or would you rather not add the dependecy?
shapr theorbtwo: that's a good quote
stevan autrijus: it is kinda fun :)
theorbtwo Thanks, shapr.
autrijus stevan: hm? the "/" is portable
stevan autrijus: ok, then nevermind : 14:04
autrijus if you'd like, sure, but don't worry too muc
stevan )
autrijus much
stevan autrijus: since many people dont make install it is probably best to leave it out
autrijus you can write lib.pm. 14:05
and FindBin.pm
I wouldn't mind :D
stevan :)
theorbtwo I'd prefer that pugs provide the info that FindBin tries to find... because FindBin tends to get it wrong. 14:06
stevan is @INC mutable?
autrijus sure is
stevan whoooo hoo
lib.pm here I come
autrijus stevan++ 14:07
stevan autrijus++
shapr perlbot: karma of windows
perlbot Karma for windows: -2
jabbot shapr: of windows has neutral karma
stevan LOL, dueling chat-bots 14:08
gugod jabbot: that's really stupid.
jabbot gugod: That is interesting. Please continue.
theorbtwo karma windows
jabbot theorbtwo: windows has karma of -1
theorbtwo Ha: They also disagree on what the karama of windows is. 14:09
stevan autrijus: no BEGIN {} yet correct? 14:10
autrijus: and does require work at compile time (or close to it)? in the first-come-first-served order?
autrijus require is just perl5 require. 14:11
so, first come first served.
you can write lib.pm so that
stevan ok
autrijus require lib;
import('lib': @paths) 14:12
works
that will motivate me to implement 'use' :)
although, check the bible to see if import sytnax change
changed
stevan it does look as if there has been some change (search.cpan.org/~ingy/Perl6-Bible-0...portation) 14:18
but I dont think it is really relevant to lib.pm 14:19
(at least not at this point)
jabbot pugs - 1597 - * Added tests for $pair.pairs, $pair.kv, 14:32
asavige Stevan and Autrijus: my neck is getting really sore from being hung. I love your hangman game! 14:36
stevan asavige: thanks :) 14:42
watch for a CGI version soon
theorbtwo wins two in a row.
stevan theorbtwo: you are the keeper of the AUTHORS file, I would expect nothing less :) 14:43
theorbtwo I don't do that much keeping...
asavige ponders doing a version that reads the VICTUALS file, might get hung less often then. :-)
theorbtwo And I have a horrible memory for names.
stevan asavige: then we would have make it harder and include favorite foods too 14:44
theorbtwo Hm, you can't backspace.
stevan theorbtwo: Term::Readline is all you :)
theorbtwo Hm, did merlyn actually do something useful 14:45
?
stevan since when did usefulness become a qualification? 14:46
theorbtwo Eh, I thought the qual was useful suggestions, or code in the repo...
theorbtwo looses his first one: Yuval Kogman. 14:47
stevan theorbtwo: I think he helped with a Makefile issue or something
stevan% pugs -e 'sub foo ($inv: $test) { }; foo("hmm": 1)'
Wrong number of invocant parameters: 1 actual, 0 expected
pugs -e 'sub foo ($inv: $test) { }; foo("hmm", 1)'
Wrong number of invocant parameters: 0 actual, 1 expected
thats odd
autrijus: is this a bug in pugs or a bug in me? 14:48
theorbtwo Try foo("hmm": 1); 14:49
stevan theorbtwo: thats the first one 14:50
theorbtwo tries to decide if listing the guesses in alpha order vs order made is an improvement.
Oh, right.
stevan it tells me no invocants expected
then when I dont give it an invocant, it tells me it expects one :)
shapr chirrups cheerfully 14:51
theorbtwo Allo, cheerful shapr. 14:52
autrijus yo.
Corion Does 6.2 by the weekend mean that we get objects by the weekend?
Or should I look at the roadmap again?
autrijus check roadmap again :)
Corion autrijus: Too bad :) 14:53
shapr It's good to be awake. Sleep seems like such a waste of time.
autrijus it means that by the weekend we can start to refactor mercilessly.
toward objects
Corion autrijus: BTW, you said that I was working on (a) HTTP::Proxy - actually I'm not, but I should start if you promise that :)
autrijus Corion: :D
Corion autrijus: Cool! HTTP::Proxy would like objects, as would the other other HTTP stuff.
shapr Is there really a roadmap online?
autrijus shapr: sure. PA01
shapr: it's part of your magazine 14:54
Corion ... having want() would be cool too, but want() needs objects first, right?
shapr doh
autrijus Corion: properly saying, yeah
yay! I fixed the stupid parsing bug
lc $x, $y # should parse as lc($x), $y
chip so now the stupid parsing works?
autrijus lc, $y # lc($_), $y
totally makes no sense 14:55
shapr Great, pugs can parse slashdot now!
stevan next step idiot parsing
then dullard parsing
chip whitehouse.gov
stevan chip: that may be a little ambitious, thats a lot of stupidity to parse
autrijus: did you see the invocant weirdness I pasted? 14:56
theorbtwo You'd have to parse lying, cheating, and fucking over the entire world for that.
autrijus stevan: yes, a sec
stevan theorbtwo++
Corion BTW, would porting C<lib.pm> make sense? Or are module imports not yet finalized? Personally, I think that C<use lib;> should translate to "find directory of the script, and use "lib/" there.
theorbtwo: That comes in 7.0, right?
chip theorbtwo: Hm. OK, let's fall back to Microsoft. No, wait...
stevan Corion: it is (like most of the current modules) a hack to get things working for now 14:57
Corion Oh. The Win32 segfault during make test is still there
autrijus Corion: uh, it's actually push @*INC
chip Corion: cute
Corion autrijus: I know. But "use lib < ... >;" is much nicer
Limbic_Region autrijus - out of curiosity, do you still catch up with the log what you missed while sleeping?
chip autrijus: isn't it unshift?
Corion ... it's unshift IMO as well
stevan Limbic_Region: he uses a text-to-speech program to read it to him while he sleeps :) 14:58
autrijus ok, ok, unshift.
rgs wow, lexical $_
Corion Anyway - as long as we only have require and not use, that's not really useful ;-) Or are the import semantics the same as with P5 ? That is, use mod <- do Eval "require mod; mod::import()"
Limbic_Region stevan - didn't edgar cacey claim that's how he discovered he had powers, fell asleep with his head on a book and woke up knowing everything in it? 14:59
cognominal I am searching a site that compared the syntax of ocaml and haskell. This is not merd.net. Does someone have that in his bookmarks?
Corion ... I could implement the C<use> keyword as some kind of source filter :)
Limbic_Region autrijus - www.perlmonks.org/index.pl?node_id=445097 is another example of the power of Pugs
stevan Limbic_Region: that was how I studied in high school (which explains all the Ds on my report card)
rgs cognominal: merd.net is pixel, right ? 15:00
autrijus Limbic_Region: I've seen it :) thx
Limbic_Region k
rgs autrijus: have you seen t/op/mydef.t in 5.9.2 for tests for lexcial $_ ?
cognominal rgs: yes with "une mouche a merde" (dung fly?) as icon.
theorbtwo wonders -- do you properly ASCIIfy Ćø with oe in Dutch?
Limbic_Region autrijus - more recently www.perlmonks.org/index.pl?node_id=445312 # requesting examples of p6 code
stevan Corion: proper C<use> means we have BEGIN{}
theorbtwo wouldn't mind improper use. 15:01
autrijus rgs: no... 5.9.2 has lexical $_, right?
Corion stevan: We have END{}, we don't have BEGIN{} yet?
rgs autrijus: yes
Corion Ah, maybe we should have a new keyword, C<abuse> :)
stevan Corion: nope, is ends but never begins
stevan has to get on a conf call, bbiab &
Corion stevan: Ah, Ragnarƶk will begin in time with the Apocalypse 15:02
jabbot pugs - 1600 - * optional unary parsed correctly.
pugs - 1599 - * add lexical $_ at startup
pugs - 1598 - * Made uc.t, ucfirst.t, lc.t, and lcfirs
Corion Perl666
... which also gives new meaning to Kerberos - it must be a triple-headed descendant of Pugs.
autrijus :D 15:03
shapr laughs
Corion Oooo. With force_todo, Test.pm has taken its first fateful step in the direction of a general bug tracking system ;-) 15:08
obra oh? 15:12
theorbtwo ______ ______-______ has a very easy-to-guess name. 15:13
Corion theorbtwo: Did you hook up hangman.p6 to your irc client ? :-)
E
... if Pugs had objects, I'd have written an irc client already :-))) 15:14
... or at least a simple bot.
Odin- It would seem that if Pugs had objects, CPAN would already have been rewritten. ;)
Corion But slinging around records is not as much fun. Hmmm. I don't really need objects - I could fake it all with multisubs. :)
theorbtwo This is fun! 15:15
mugwump well, if you think you might have an idea, take a look in docs/class and src/Class.hs 15:16
Corion mugwump: No - I mostly stand outside, looking inside through the windows, and stare at the marvels there. :)
mugwump wimp 15:17
:)
Corion And (multi)method dispatch is something I prefer others to touch with a long pole.
... actually I pity the poor poles.
autrijus lol.
Corion pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: xrl.us/fmw2 | Mac OS X r1596 (273/4123) | Win2k r1600 (437/4135) 15:18
theorbtwo Wow, past 1600 already. 15:19
obra pugs++ #more tests than commits
pjcj that just means it's not working yet ;-) 15:21
shapr Corion: what do you think about mulimethods vs typeclass and/or pattern matching? 15:22
jabbot pugs - 1601 - Fix pernod's AUTHORS line
Corion Hmmm. To look at Class.hs, I first need to update my editor to something that knows UTF8
shapr: I like pattern matching. But I'd like to toy around with multimethod dispatch too.
... but I haven't done any mmd, while I've toyed around with pattern matching on subroutines for a few days now. :) 15:23
autrijus mmd is just a fancy name for pattern matching :)
cognominal I have not seen pattern matching in Perl6.
WIll rules match types as well as values?
shapr salut cognominal
autrijus however perl 6 mmd also combines (pattern) guards
Corion autrijus: Hmmm - partly, but once inheritance comes into play, pattern matching becomes ugly :) 15:24
cognominal salut shapr :)
shapr ca va?
autrijus Corion: yeah. there's a good reason why haskell has no subtyping
cognominal sharpr, viens sur #perlfr :)
shapr ok
rgs shapr: ttention, c'est pas le mōæ½xEAme rōæ½xE9seau 15:25
cognominal yes #perlfr on freenode is lamer only :) 15:26
shapr hm, I can't read latin-1 when my encoding is set to utf-8
cognominal shapr, come to #Perlfr in irc.perl.fr 15:27
shapr Is Perl popular in .fr?
ohh
I suspect my french is not good enough :-) seulement assez pour boire biere 15:28
cognominal that's enough. we can speak english. or so we think.
rgs we can boire biōæ½xE8re too.
theorbtwo English++
shapr redneck++ # my native language! 15:29
I have considered moving to France for the 'next country'. What parts of France have the most computer scientists and programmer jobs? 15:30
cognominal Paris, Grenoble, Toulouse, Rennes... 15:31
rgs Lyon...
mostly Paris
shapr Hm, Toulouse also has the most unicyclists.
jabbot pugs - 1603 - * s/achii/ascii/ 15:32
pugs - 1602 - * fix invs length count misdetection dur
autrijus stevan: your bug fixed. thanks
another 43 revs today. 15:35
it does seem that pugs is keeping a steady pace.
linear sustainable growth etc :)
shapr cheers
Corion Heh. There's a weird parsefail: my $res = (1 & 2 ^ 3); works. ok( (1 & 2 ^ 3) < 3, "and also ^"); parsefails.
(I'm eliminating some string evals for warming up) 15:36
... I should maybe eliminate these weird parsefails into their own tests...
autrijus hrm? it's not a parsefail here
shapr autrijus: What do you think about QuickCheck tests? Is there a place for them in pugs? Would it be better to stick with the culturally familiar t/foo/bar.t ?
autrijus shapr: I've been meaning to add QuickCheck for a long time now
shapr: if you want, certainly go ahead and take a stab at it 15:37
so I can learn
<- did not take the time to learn quickcheck properly
Corion autrijus: Weird. Indeed. If I do pugs -e ..., it's no parsefail, but inside the (test) script, it is. I need to investigate further...
shapr QuickCheck is straightforward, I'll put some tests in soon.
autrijus woot!
shapr++
Corion QuickCheck?
autrijus Corion: search.cpan.org/dist/Test-LectroTest/
(but much easier in haskell) 15:38
shapr Corion: I wrote a short explanation about QuickCheck on the extremeperl mailing list.
Corion Gah. All alone the test works. :( 15:39
cognominal shapr: if you are interested we have perl related mailing list in French. You can propagathe perl6 and haskell faith there 15:40
shapr haha
cognominal heresy is almost a dogma for the mongueurs (French name for mongers) 15:41
shapr I don't think haskell or perl6 are a religious issue. They are precious gems of knowledge hiding just under the surface.
jabbot pugs - 1604 - * Implemented pi(). 15:42
shapr I think the French culture epitomizes the Greek notion of thesis, antithesis, and synthesis. I really admire that facet. It does get irritating sometimes, but I only say that because my fiancee is French and can be very fiery sometimes. ;-) 15:43
autrijus op0 "pi" = const $ return . VNum $ pi
iblech++ # very convenient primitive :)
Corion Sanity check: Does pugs -e "sub ok(){};ok( (!(1 & 2 | 3) < 2, 'ditto');" fail for you?
autrijus it does because the parens are unbal 15:44
Corion D'oh. Thanks for restoring my sanity! ;)
autrijus no prob :)
Corion Grr. In t/operators/precedence.t, line 62: If I replace it with ok((1 & 2 | 3) < 3 , '& binds tighter than |'); , I get a parsefail. But with a stand-alone file, that line works. Commenting out that line makes the .t-file compile as well :-( 15:56
Corion questions his Pugs build.
shapr does it answer?
Corion r1604, and no, it doesn't talk to me ...
shapr aww 15:57
Corion_ Hm. I think I got the parsefail tracked down. Now I should golf it some more :) 16:05
... I can make it appear/disappear by deleteting lines that start with "#" :-)
autrijus that usually indicates an overeager lookahead. 16:06
shapr: re: "Practicing the Theories" on LtU 16:07
"What is a magician but a practicing theorist?" -- Obi-Wan Kenobi
Corion_ autrijus: The bug seems to be caused by having a "#" appear twice on a line. Or something like that, golfing still :)
theorbtwo Hm? When did he say that, autrijus? 16:08
autrijus 'Return of the Jedi'
not sure of the exact scene. google a bit perhaps 16:09
pasteling "Corion" at 217.86.52.225 pasted "Parsefail with overeager list collector" (11 lines, 101B) at sial.org/pbot/8996 16:13
Corion_ Should I put that into a test? If so, where/what name? pugsbugs/listquote.t ?
... but that's a really devious parsefail : 16:14
theorbtwo I get an OK on that...
Corion_ theorbtwo: That's weird, because for me it fails. I think. Double checking
shapr autrijus: oh I like that
theorbtwo too. 16:15
Corion_ I'm on r160x, moving to 1605, recompiling.
... and still "prove -v t\pugsbugs\tmp.t" fails for me. 16:16
(text pasted from pasteling into the test file again)
theorbtwo Hm, nope.
./pugs -MTest -e "ok( (1 | 3) < 3 , 'No parsefail');"
ok.
But when I put it in a file, no dice.
Corion_ theorbtwo: Look at my description and the comment line. The comment is important!!!
theorbtwo: There is a "<" on the function call, and a closing ">" on the comment line. Pugs sees that as a qw() list. 16:17
theorbtwo Ah, I see.
Corion_ Or at least that's my interpretation of things.
theorbtwo That's evil.
But seems likely.
Corion_ theorbtwo: Yes. Like I said.
theorbtwo Sorry.
autrijus # in qw() is considered harmful
theorbtwo gets tea for Jess.
Corion_ I have a day of devious discoveries :)
autrijus perl5 warns ths: 16:18
Possible attempt to put comments in qw() list at - line 3.
Corion_ autrijus: Then tell me how my pasted test should be written differently :)
autrijus: It's a parser bug IMO - look at the test I pasted - I see no better way to write a comparison for "EXPR < 3" :)
autrijus Corion_: easy; you bug autrijus to fix the parser :)
EXPR<3 # this is bad, though 16:19
the whitespace is significant here iirc.
Corion_ If this does not turn out to be a stupid bug on my part, I'll put that into parsebugs :)
autrijus go ahead. put it in
Corion_ autrijus: Testing with different whitespace. In the original text it was "->" btw :)
No, even with "(1|3)<3" ... ">" I get the parsefail. I'll put it under t/pugsbugs/listquote.t 16:20
... but first I need to write some docs for this test, as it is not obvious how the test works ;)
autrijus I mean
EXPR<3> # hash deref
EXPR < 3 > ... # comparison 16:21
the whitespace between EXPR and < is important
I think. I may think wrong.
Corion_ autrijus: No - "EXPR < 3 >" does not work as a comparison, or rather, makes no sense :)
autrijus EXPR<3>-3
;)
Corion_ But there is a difference between HASH<3> and LISTOP < LIST > and LISTOP < EXPR
jabbot pugs - 1605 - * Added some more tests. 16:22
Corion_ autrijus: Yeah, but that should be forbidden / rewritten as -3 < EXPR < 3 ;)
Anyway. Describing the test case now :)
autrijus $a < $b > $c 16:23
# is legal :)
pugs> 3 < 5 > 4
bool::true
theorbtwo I'm not sure if it should be legal.
autrijus pugs> 3<5>4
unexpected "4"
pugs got it right here.
theorbtwo: spec says it should.
Odin-LAP Hmmm.
theorbtwo We have to escape disambuguity somehow, and I think whitespace is not the right way to do that.
Odin-LAP It has precedent. 16:24
autrijus tell that to @larry? personally I think it makes sense.
Odin-LAP It makes sense, but looks a bit odd.
castaway brumbles at elisp.
PerlJam autrijus: are you sure? 3<5> doesn't quite make sense to me.
theorbtwo 3<5>2 does. 16:25
(Three is less then 5, 5 is greater then 2.)
Odin-LAP ($a & $c) < $b ?
:p
autrijus yeah.
PerlJam theorbtwo: right, but that's not what's happening if the 4 is unexpected.
Corion_ Anyone have S\d\d or A\d\d links handy that describe the HASH<X> and A lt B gt C behaviour ?
... so I can put them into the test for further reference ... 16:26
PerlJam theorbtwo: er, 2 in your example
Corion_: isn't hash<x> in S02 ? 16:28
Corion_ Ah, but for the remaining tests, I'll simply exchange "< 3" with "!= 3" :) 16:29
PerlJam: I wouldn't know - it's been about a year since I last looked at them.
Anyway - the test is committed, feel free to move and/or add references.
PerlJam well, chained comparisons is in S03.
Corion_ Anyway - the test is committed, feel free to move and/or add references. 16:30
Gah. Wrong window. Again.
PerlJam yeah, %hash<foo> is mentioned in S02. "Use %x<foo> for constant hash subscripts, or the old standby %x{'foo'}." 16:31
jabbot pugs - 1606 - Added listquote ambiguity test 16:32
Corion_ PerlJam: Thanks, adding 16:35
I've added links to the relevant Synopses too (but I can't test them, as I don't have Perl6::Bible installed yet :) ) 16:40
jabbot pugs - 1608 - Added links to S02, S03 for listquote.t 16:42
pugs - 1607 - Fixed operators/precedence.t - one eval
autrijus journal up. :) 16:44
g'nite!
stevan g'nite
theorbtwo G'night. 16:45
ninereasons I wonder why pugs builds so fast on my freebsd machine, and so slow on linux 16:52
the hardware is similar - seemingly not different enough to account for 1:8 16:53
PerlJam swap drives and see how linux performs on the same hardware 16:54
Corion_ Is there the real commit log for Pugs somewhere? 16:55
ninereasons I bet that might be it, PerlJam 16:56
chip journal link
ninereasons on www.pugscode.org, Corion_ ?
Corion_ ninereasons: Didn't see it there
ninereasons rt.openfoundry.org/Foundry/Project/.../pugs/log/ 16:57
Corion_ chip: That's the distilled version, no?
ninereasons: Thanks!!
ninereasons you're welcome. It provides RSS too, from the pugscode home page
Corion_ Yeah - I saw the RSS. But that listing doesn't show the affected files with each commit :(
ninereasons oh. bummer. I hadn't used the RSS, but only saw that it was available. 17:00
Corion_ Ah well. svn diff -r 1580 seems to show me what I want :)
ninereasons yes, that's better. 17:01
stevan pugscode.org <<Overview Journal Logs>> | You have safely opened the door to many Perl 6 hackers. | pugs.kwiki.org | smoke: xrl.us/fmw2 | Mac OS X r1607 (435/4138) | Win2k r1600 (437/4135) 17:02
Corion_ stevan: You're working on lib.pm ? 17:09
17:10 metaperl__ is now known as metaperl_
Corion_ (according to The Journal) 17:10
Gah. async{} does not play well with system() it seems. At least not on Win32. So much for testing getprint() against a locally spawned server. 17:23
shapr it's oh so quiet.... it's oh so still.... 17:28
theorbtwo drops a pin.
Corion_ I'm writing the first test that tests Perl6 external problems. async{} blocks while running a system() call, or the non-happening thereof :) 17:31
I just don't know if that is to be considered a bug, or unspecced or whatever :)
castaway shapr!
shapr castaway!
oh ye of great isolation! 17:32
castaway *g*
theorbtwo Great isolation?
Corion_ theorbtwo: You don't count, obviously! :))
theorbtwo reaches out and touches her.
Corion_ That's what the internet is for!
castaway hmm, count?
shapr Can you be a castaway if you have internet? 17:33
castaway If a tree falls in the forest ..
ninereasons if a castaway drops off the internet, can you hear her screams?
xerox Ahah, I was writing the same thing 17:34
ninereasons :)
theorbtwo 1, 3, 5, 4, 2... I can so count!
stevan Corion_: yes I am 17:41
Corion_: however, I am not so sure about FindBin.pm,... it looks to be a can of worms 17:42
Corion_ stevan: Findbin is broken anyway, see perlmonks.org/index.pl?node_id=41213 - a simple "File::Spec->canonpath( dirname $0 || cwd );" should be all there is to FindBin 17:43
(IMO at least)
and maybe s!canonpath!rel2abs!
stevan: Did you see/backlog my rambling about how I think "use lib;" should behave? That is, "use lib;" is equivalent to 'use lib "$FindBin::Bin/lib"' 17:44
stevan Corion_: yes I did 17:45
however lib serves many other purposes
(at least I use it for them)
Corion_ stevan: About 90% of my "use lib" use cases could be reduced to "use lib;" by using my way - my way doesn't ruin any other use cases, but maybe it's too uncommon ;) 17:47
Heh. sleep() doesn't. 17:49
... makes testing timing issues interesting ;)
stevan Corion_: lets see what happens with FindBin, and maybe we can add the special case in there for your usage.
Corion_ Autrijus should learn to get his programs to sleep() for him! That's what computers are for! 17:50
stevan: The Perl5 FindBin is too convoluted and wrong IMO
stevan I agree,.. I am going to read this perlmonks post and then try to duplicate the "spirit" of it, rather then the code (much like I am trying to do with CGI.pm) 17:51
Corion_ stevan++ # following the spirit, and not the letter 17:52
PerlJam indeed. stevan++
ninereasons stevan, playing with hangman.p6, I made the following change, so that I wouldn't have to know exactly where AUTHORS lived 17:54
pasteling "ninereasons" at 199.107.164.126 pasted "more portable?" (22 lines, 528B) at sial.org/pbot/8997
pjcj just be sure to keep NI-S's indentation style ;-)
ninereasons maybe not pretty, but it worked.
Corion_ ninereasons: For path manipulation, look either at %?CONFIG or File::Spec 17:55
(instead of hardcoding the path_sep and splitting directories/paths yourself) 17:56
And File::Spec should also have the updir() method
(which returns ".." :) )
ninereasons yes. it was in place of rx:perl5/[\w.]+$/
Corion_ ninereasons: Ewwww :) 17:57
ninereasons I think that's still in hangman.p6
stevan ninereasons: do you have commit access? 17:59
ninereasons yes, but I thought my version was too icky to commit it 18:00
stevan Corion_: actually the whole reason behind lib.pm is so we have use File::Spec in hangman without needing people to have 'make install'ed
Corion_ stevan: Well, I want lib.pm in LWP::Simple too :) And in my programs :)
stevan ninereasons: hangman is a little ugly anyway, make it use File::Spec and then commit 18:01
shapr Does hangman ask for big5 occasionally? 18:03
stevan big5? 18:04
Corion_ Heh. "time;" seems to have the same parsing problem that "last;" had. Let's see if I can fix that :)
shapr wait, AUTHORS is utf8
stevan shapr: yup
theorbtwo Yes.
Well, the last field is. 18:05
Hangman should be smart enough to know where the fields lay, though -- if it doesn't, it's a bug.
shapr right, ok
theorbtwo (The rest should be pure ASCII.)
Corion_ Oh. iblech already tests for "time+3" ;) 18:06
jabbot pugs - 1609 - Added test for correct sleep() 18:12
stevan Corion_: I am commiting lib.pm right now, it has tests, but if you want to test it some more in "real world" situations that would be helpful as well 18:14
Corion_ stevan++
stevan Corion_++
18:14 Corion_ is now known as Corion
Corion is currently looking at implementing sleep(). usleep() doesn't seem to return the amount actually slept, right? (also, sleep() and usleep() will suspend all threads, but that's a problem I leave to other people) 18:15
shapr I'd like to call sleep() on myself for a few hours. But I only have enough time for a usleep. 18:17
theorbtwo usleep(2.88e10) ? 18:18
jabbot pugs - 1611 - whoops,... forgot to remove a test 18:22
pugs - 1610 - adding lib.pm, tests and all (this may s
elmex hallo 18:33
you're so cute 18:34
stevan shapr: I think he is talking to you :P 18:36
elmex lets have a date 18:39
shapr wha? 18:40
ninereasons bot?
elmex ninereasons: for no chance i am a bot dude
ninereasons that's what all the bots say.
:) 18:41
elmex ninereasons: but i can argue about that
Corion tell me more about it 18:45
elmex lol
stevan Corion: you said "tell me more about it", what did you mean by that? 18:46
stevan considers a perl6 implementation of eliza,... hmmm
elmex considers a perl6 implementation of women 18:47
jabbot pugs - 1612 - lib.pm: adding a few more tests, and mor 18:52
Corion wonders what combination of Monads will unpack/repack the thing that Posix.sleep() returns into an Int. 18:53
theorbtwo @type Posix.sleep 18:54
Corion theorbtwo: IO (at least that's what the error message tells me) 18:55
Now, thinking about it, why isn't that "IO Int", but a bare "IO" ?
theorbtwo Hm, just IO, not IO ()?
Corion theorbtwo: A naked "IO" 18:56
But the Pugs side of things seems to want a "ContT Val (ReaderT Env IO)" 18:57
Maybe sleep(), even though it comes from POSIX, doesn't return an Int then...
theorbtwo Ah, the definition I see is sleep :: Int -> IO (). 18:58
But it's hardcoded to fail.
In any case, it shouldn't take an int.
pasteling "Corion" at 217.86.52.225 pasted "Implementing a real sleep() builtin" (22 lines, 607B) at sial.org/pbot/8999 18:59
Corion theorbtwo: I plan on usleep anyway, and later on threadDelay() 19:00
... but first I want to get this to compile :)
(much cargo culted stuff in the paste, of course)
(much cargo culted stuff in the paste, of course) 19:11
gah :(
How can I force evaluation of a monad? Or whatever the LHS of <- is called? 19:18
shapr can you give more detail? 19:20
Corion pasting ...
wilx Use `seq`? 19:21
pasteling "Corion" at 217.86.52.225 pasted "Forcing evaluation of a function (call)" (10 lines, 251B) at sial.org/pbot/9003
PerlJam Corion: <- evaluates the RHS immediately as I understand things. 19:22
shapr Corion: that looks right to me.
PerlJam = is lazy, <- is not.
shapr PerlJam: <- can be lazy, but it depends on the semantics of which monad you're using. 19:23
IO isn't lazy.
theorbtwo <- is lazy in Eval, though... I think.
Corion Hmmm. Why doesn't my code sleep then ? :( It doesn't delay with either "sleep()" or "threadDelay()"
PerlJam shapr: well, there goes a little bit of haskell I thought I knew!
Corion I'm using (from the Pugs side of things) pugs -e "for (1..10) { say$_; sleep 1}"
integral <- just turns into a >>= + a lambda, PerlJam. It's syntactic sugar. It's up to the way you define the functions (or operators) that determines the strictness
Corion Aaah - maybe the value I want is not being passed in properly ?
I should maybe first hardcode the sleep interval, just to make sure... 19:24
shapr Corion: that part also looks right tome
yeah, good idea
If val is lazy... 19:25
Corion I get the warning that "slept" is ignored, and that suggests to me that "slept" will also never be calculated... And it doesn't sleep with a hardcoded value either.
gaal hey all 19:26
shapr In that case, you're right, it's not sleeping =)
Corion Hi gaal!
gaal i'm improving. total time coding sitting at my own desk at work today: 2 hrs 19:27
Corion ... connection resetting soonish, DNS has already failed :) BRB
shapr Yes, you need to seq the monadic call, but I can't think of how to do it at the moment. 19:29
I like wilx' suggestion, try `seq` or $! 19:30
Doesn't seem quite right though.
theorbtwo checks in some more of External/Haskell.hs. 19:32
jabbot pugs - 1613 - More work on haskell embedding -- still
theorbtwo (Try forcing compiling with -debug, then do ./pugs +RTS -Dl -RTS -e 'require_haskell("")'
PerlJam Hrm.. /me gets email from a departing part-time worker that responses she gets from another full-timer to her questions often sound "insolent" and "condescending" 19:33
shapr PerlJam: is that good? 19:34
PerlJam I'm not sure what to make of it.
She says the only reason she's speaking up now is because she's leaving. 19:35
theorbtwo wonders if the coworker was being condescending because the former coworker was asking stupid questions.
wilx Hmm.
PerlJam theorbtwo: possibly, but still.
19:35 Corion_ is now known as Corion
PerlJam theorbtwo: the latest question she asked in email was "does anyone know of a way to automatically convert from asp to php?" is that a stupid question? 19:36
shapr I wish everyone were confident enough to speak their mind, and doubtful enough to listen to correction. (I wish I were more like that, mostly)
wilx Remember it, if anybody else expresses the same opinion, well...
Dunno what to do next :)
PerlJam shapr: me too
(i wish you were more like that ;) 19:37
theorbtwo Fairly.
shapr laughs
theorbtwo ASP isn't a language.
shapr PerlJam: If I were more doubtful, I'd believe you :-P
PerlJam theorbtwo: So a lack of understanding == stupidity?
theorbtwo Depends on what her job was.
PerlJam theorbtwo: there's a researcher with an oracle database and an ASP web-app that she's converting to use postgresql and apparently php. 19:39
theorbtwo If someone was hired as an expert C programmer, but doesn't know how to use printf, then there's a problem.
Corion ASP is mostly like PHP. Except where it differs ;) It's more a templating system I think, but with tag-macros
PerlJam She was hired as an expert mathematician and computer geek. But she's not very knowledgable about many things that you or I would take for granted (she's more math geek than computer geek)
theorbtwo OK, then that may be a reasonable question to ask. 19:40
shapr Last I worked with it, ASP used windows scripting host so you could embed any WSH language in the jsp-style <% code %> tags.
theorbtwo OTOH, she should realize that converting between things that are simply isomorphic isn't aways simple.
integral iirc ASP could do both jscript and vbscript since before wsh 19:41
theorbtwo hopes he's using the term "simply isomorphic" correctly.
shapr When was wsh first introduced?
PerlJam theorbtwo: my answer was "the automatic way to do it is to hire a programmer who knows both and filter through his brain" ;-)
Corion WSH is merely the command line/text file interface to the general script interpreters.
If things are isomorphic, there is no need to actually perform the translation, at least for a mathematician.
PerlJam theorbtwo: also, www.joelonsoftware.com/articles/FogBugzIII.html 19:42
theorbtwo Oh, you are the coworker she was complaigning about?
shapr Wasn't there a chili-something company/product that ran ASP on linux/apache ?
PerlJam theorbtwo: no, she was actually complimenting me on how nice my answers are compared to the other guy.
shapr: yeah, chilisoft.
er, perhaps chillisoft 19:43
both look odd
Corion chilloutsoft?
shapr In any case, I suspect a Parsec parser could convert all the asp source files to php-compatible files, but she'd likely have to port the scripting language code to php manually. 19:44
shapr hugs Parsec
PerlJam shapr: or she could just compile to an AST and then write a translator from the AST to php. et voila! ;-)
Corion Heh. My Haskell code has about the same amount of $ chars as my Perl code. :)) 19:45
shapr snickers
Corion . o O ( create a polyglott Haskell / Perl program )
integral the perl will have more () though ;-)
shapr Corion: that would be scary.
Corion integral: Naah - function calls don't necessarily need parentheses in Perl either ;) 19:46
PerlJam and you don't often chain them like in haskell
Corion shapr: In Perl, a variable $foo can be written as "$ foo" :-)))
shapr whoa, nifty
Corion shapr: Together with the fact that "--" is a Haskell comment, this will make for a funky polyglott program (if it's possible at all) 19:47
PerlJam in perl*5*, not perl6
Corion Yeah - I'm talking P5 too :)
p5 4 life, dawg!
PerlJam Corion: i'm just clarifying as this is #perl6 you know :)
Corion p6 4 Inf!
PerlJam: :)))
Corion shakes his fist at Haskell. Sleep, dammit, sleep! 19:48
shapr Corion: can you lift the sleep call into Val?
Corion shapr: via liftIO ? Gotta try ...
If you tell me how to convert a "m ()" into a "Val", I think I'm set %-} 19:50
Corion tries a pure Haskell program, to see if threadDelay() works at all :) 19:51
PerlJam just notices the "so" operator in Prim.hs 19:52
Corion "make it so" ? :) 19:53
PerlJam indeed. 19:54
op0 "so" = const (return $ VBool True)
Limbic_Region chip about?
seen chip
jabbot Limbic_Region: chip was seen on Thu Apr 7 00:56:20 2005
chip *bamf*
Limbic_Region use.perl.org/~Bernhard/journal/24044
castaway silly jabbot, whose TZ?
Limbic_Region FYI - Parrot related use.perl journal entry 19:55
chip Thanks. 19:56
theorbtwo jabbot: seen castaway
jabbot theorbtwo: castaway was seen on Thu Apr 7 03:54:42 2005
theorbtwo That TZ. (Taiwan time, I think.) 19:57
Limbic_Region yup (www.timeanddate.com/worldclock/) - That TZ 19:58
chip I'm suggesting Parse::RecDescent in place of antlr.
Limbic_Region doesn't know enough about either to recommend either for a particular task
when I finish with HOP, I am going to write an SQL parser in P::RD to get a better handle on it though 19:59
jdv79 how is HOP?
chip P::RD is what I used to parse U.S. mailing addresses. It's good. 20:00
foo bar 100 main st apt 4 bite me -> "100 MAIN ST" "APT 4"
Limbic_Region jdv79 - what I have gotten to read so far, very good
problem is - personal life is full ATM and work is well - work
PerlJam Limbic_Region: screw it all and work on pugs! 20:01
or parrot
Limbic_Region PerlJam - I have sworn off Pugs/Parrot/Perl6/Ponie etc until after Jean and I move into the new house
either that or until I win the lottery - in which case I am going to personally fund major developers to devote full time to the 4 Ps 20:02
in the interim, I am content to lurk and putting people in touch with information that may be important to them
see - the people doing all the hard work don't have any time to find out what hard work other people are doing - I don't do anything except read about all that hard work and point people to each other 20:03
Corion I found P::RD too fragile and slow - it made me switch to the dark side that is Parse::YAPP
integral There's also Dan Sugalski's journal entry that suggests it's slow
Corion (and by "slow" I meant that it took more than 5 seconds to parse some basic JS three liner) 20:04
Limbic_Region well, Damian was supposed to make it faster in 2.0 but has abandoned that for greener pastures
integral (unmaintained modules)--
Corion Parser writing is better left to people who do it as part of their studies :)
Limbic_Region there is nothing saying someone else can't implement the pos() fix themself though
Limbic_Region didn't know that tmoertel was so close (in PA) 20:05
I haven't looked at the source of P::RD and have no idea how much work it is to implement the optimizations, but complaining about it being slow without looking is a lot like complaining about using map in a void context (which turned out to be a 3 line patch) 20:06
gaal um
i looked at it once
integral the module is a couple of thousand lines longs, and rather dense
gaal making it faster would take more than three lines. 20:07
Corion Limbic_Region: I wouldn't have switched form a recursive descent parser to something yacc-based if the problems hadn't been too big. :)
Limbic_Region gaal - not saying it wouldn't. Just that Damian isn't the only smart person out there
gaal (even sent damian a patch)
Corion integral: The problem is, the module is distributed in its unmaintainable, converted form instead of the "P::RD" source.
gaal (not to make it faster though)
Limbic_Region damian-- then
stevan Limbic_Region: I think it is more the approach to parsing,.. recursive descent is known to be slower than some of the other approaches 20:08
integral Corion: interesting, I thought about that, but didn't think someone would be that annoying ;-)
Corion but recursive descent creates the nicest automatic error messages
gaal webgrep for dan's note on improving parsing speed
Corion integral: I don't know if it was on purpose
gaal he has a few practical tips 20:09
integral Corion: well converting it would be on purpose, and I would think he'd realise that it would make patching tricky
Limbic_Region www.urth.org/~metaperl/domains/sema...00235.html
Corion integral: Conversion can only take place if you already have P::RD, so he has to send out a converted version. But yes, it makes patching tricky (and drove me away)
gaal exaactly 20:10
integral well one can still include bits like that in the tarball
metaperl_ that is part of Parse::RecDescent::FAQ
gaal zzzzz& 20:11
Limbic_Region in any case, writing my SQL parser (completely toy project) in P::RD will help me to understand the issues better (and perhaps even motivate me to offer patches) 20:12
Corion gives up on implementing sleep() :( 20:13
... but then, it's almost time to catch some myself
CosmicRay shapr: thanks for the ParseDate suggestion. It is *exactly* what I'm looking for. 20:17
err wrong channel sorry
jabbot pugs - 1614 - use File::Spec for hangman dictionary 20:42
Juerd What the hell is Larry up to? Does anyone know? 21:24
If so, can you warn me about what is to come?
rootmj I just created some small stupid part of p6-pugs-source-code (*.p6) to html-tutorial generator. wiki.kn.vutbr.cz/mj/attach/pugs/tut/ . good night 21:37
kungfuftr yullo all 22:39
what's this about a new auto-smoke program? 22:45