pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | <stevan> Moose... it's the new Camel ":P | .pmc == PPI source filters!
Set by Alias_ on 16 March 2006.
01:11 revision17_ joined 01:47 SamB joined, Odin-LAP joined 02:05 shachaf joined 02:06 |mjk| joined 02:07 DaGo joined 02:20 weinig is now known as weinig|zzz
svnbot6 r10591 | audreyt++ | * Upgrade fps yet again to synchronize with the eventual GHC 6.6. 02:23
02:30 SamB joined
audreyt TimToady: junctive? 03:10
$a[1|2] = func(); 03:11
not even sure what it means, so not going to SIMPLE it now
04:05 DaGo joined
audreyt TimToady: also 04:20
f(1, 2 and 3, 4)
this is one arg call for &f or three? 04:21
pugs has it as three, based on the observation that within a funcall bracket, "," drops to most loose prec
but perl5 has it as one
is pugs incorrect? 04:22
04:46 nperez joined 04:47 bjoern_ joined 04:54 fglock joined
audreyt TimToady: also 05:14
$x = f(); # scalar
my $x = f(); # scalar
my ($x) = f(); # scalar? list?
I'm taking the "list" interpretation
obra audreyt: could you be bribed to make your shiny new jifty testing stuff jifty-core "soon"? 05:32
audreyt if "soon" means when I get to Boston, that neeeds no bribing 05:33
clkao audreyt: ;) 05:34
sooner will be better
audreyt: btw, i wrote a callgraph analyseer 05:35
audreyt ooh nice 05:36
I'm working on variable hoisting at this moment... will be back in ~15min 05:39
yay, variables hoisted. 05:46
?eval my $x = 3 unless $x.defined; 05:47
05:47 evalbot_10587 is now known as evalbot_10591
evalbot_10591 Error: unexpected "u" expecting comment, operator, ";" or end of input 05:47
audreyt my $x; for 1..10 { $x++; say ($x ::= 1) } 06:06
should this say 2, then 3, all the way to 11?
svnbot6 r10592 | audreyt++ | * Prelude.pm: "our $qualified::name" is invalid syntax. 06:31
06:32 jabbot joined 06:59 Aankhen`` joined
xerox audreyt! 07:14
audreyt yo
xerox Did you see the message I left you in lambdabot?
audreyt yes; I updated the link 07:15
was a typo.
xerox Thank you very very much.
audreyt hackage.haskell.org/trac/ghc/wiki/X86OSXGhc
no prob. let me know if it works
xerox Will do.
Question, `make install' installs everything under a simple-to-clean-up directory under /usr/local ? 07:16
(I never installed GHC from its makefile before.)
audreyt yes.
/usr/local/lib/ghc-* and /usr/local/bin/*ghc*
that's all
xerox Perfect!
I wonder if Wolfgang will eventually produce an universal GHC.app... 07:17
svnbot6 r10593 | audreyt++ | * fps: prefix the C functions with fps_ to avoid name clash.
r10594 | audreyt++ | * FindBin.pm: Remove the "our $qualified::name" syntax. 07:20
r10595 | audreyt++ | * Prelude.pm: Remove the now-deprecated "my ($x, undef) = f()" 07:23
r10595 | audreyt++ | syntax; simply omitting the rightmost undef in this case will do.
audreyt okay, I'm ready to push my local branch :) 07:33
expect massive, massive breakage; also rm blib6/lib/*.yml before building.
svnbot6 r10596 | audreyt++ | * Here begins the changes needed to make TimToady++'s new 07:38
r10596 | audreyt++ | t/operators/assign.t to pass.
r10596 | audreyt++ | * First off, assignment is parsed differently:
r10596 | audreyt++ | $x = 1, 2; # ($x = 1), 2
r10596 | audreyt++ | @x = 1, 2; # @x = (1, 2)
r10596 | audreyt++ | this relies on the "isScalarLValue" function to check
r10596 | audreyt++ | "SIMPLE"ness of an Exp. See S03 for details.
r10597 | audreyt++ | * Next, we adjust Eval.Var.inferExpCxt to use this static
r10597 | audreyt++ | inferencing engine, instead of the dynamic one as before.
r10598 | audreyt++ | * We then remove the dated infer calls from Pugs.Eval.
r10599 | audreyt++ | * Now we look at the parser. To parse the RHS of "=" in a 07:41
r10599 | audreyt++ | way that depends on the LHS, we introduce a new internal
r10599 | audreyt++ | fixity: "DependentPostfix".
r10599 | audreyt++ | * The idea is that the "= LISTEXPR" itself is parsed as a
r10599 | audreyt++ | single postfix, and therefore can transcend is current
r10599 | audreyt++ | "tight op" prec level.
r10600 | audreyt++ | * Armed with DependentPostfix, we rewrite the two "strange" 07:45
r10600 | audreyt++ | rightward infix syntax operators to use it.
r10600 | audreyt++ | * "=" is changed to test for LHS simpleness, and reparse
r10600 | audreyt++ | with list expressions if it's complex. if it's simple,
r10600 | audreyt++ | it retains its original prec and fixity (Infix).
r10600 | audreyt++ | * "::=" is changed to unsafely evaluate itself as ":="
r10600 | audreyt++ | at parse time, then simply return the LHS to the runtime
r10600 | audreyt++ | AST tree. This means the following code now works:
r10600 | audreyt++ | (my $y ::= 1) := 4;
xerox ^- scary code 07:51
svnbot6 r10601 | audreyt++ | * Now we have ($x = 1, 2) parsing correctly, we still has to fix
r10601 | audreyt++ | my $x = 1, 2;
r10601 | audreyt++ | to parse the same way. Pugs used to only allow variable
r10601 | audreyt++ | declarations to appear at statement level, so the statement
r10601 | audreyt++ | above can't be parsed correctly.
r10601 | audreyt++ | * To allow this, we must allow declarations to occur whenever
r10601 | audreyt++ | a variable may occur, collect those declarations to the
r10601 | audreyt++ | current innermose block, then hoist them all:
r10601 | audreyt++ | {
r10601 | audreyt++ | say (my $x + my $x); # 0
r10601 | audreyt++ | }
r10601 | audreyt++ | note that duplicate declarations is okay.
r10601 | audreyt++ | * The function "addBlockPad" in the RuleParser monad now
r10601 | audreyt++ | does exactly this, via a new RuleState entry that remembers
r10601 | audreyt++ | the pad to be allocated for each storage class.
r10601 | audreyt++ | * Also change "localEnv" to remove the new-pad info on scope exit.
r10602 | audreyt++ | * Adjust Parser.Program and Parser.Util for the new parser state.
r10603 | audreyt++ | * Now we are ready to remove the statement-level ruleVarDeclaration 07:54
r10603 | audreyt++ | and change it to the expression-level ruleVarDecl in Parser.hs.
r10603 | audreyt++ | * This is a bit complicated as S03 "Declarator" specifies that
r10603 | audreyt++ | declarators takes the Sigs syntax, and we need to implement this:
r10603 | audreyt++ | my ($x!) := 1;
r10603 | audreyt++ | * However, for the parens-less form, the modifiers and defaulting
r10603 | audreyt++ | permissions introduces ambiguities:
r10603 | audreyt++ | my $x? = 'default' = 3;
r10603 | audreyt++ | so we simply disallow them with the "FormalsSimple" flag.
r10603 | audreyt++ | The "FormalsComplex" flag specifies the full Sigs syntax as before.
r10604 | audreyt++ | * Prim.hs: "die" is now strict in evaluating its operand.
audreyt 11302 test cases: 11120 ok, 182 failed, 1595 todo, 1179 skipped and 61 unexpectedly succeeded 07:55
anyone have a minute or so to unTODO the 61 unexpected successes? 07:56
svnbot6 r10605 | audreyt++ | * Pugs.Rule: remove unused import.
r10606 | audreyt++ | * Pugs.AST.Internals: finally, bump the CompUnit number
r10606 | audreyt++ | to indicate that Prelude.pm needs to be reparsed.
r10606 | audreyt++ | * The changed above incidentally fixed the JavaScript backend through
r10606 | audreyt++ | no efforts of my own...
xerox audreyt - What font do you use in the terminal? :) 08:01
audreyt Consolas
xerox Uhm. 08:03
.exe download... nah? 08:04
audreyt should be a .zip somewhere 08:07
svnbot6 r10607 | audreyt++ | * Disambiguate "=>", "==" and "=:=" from rightward listop=.
xerox Ah-ha. 08:09
svnbot6 r10608 | audreyt++ | * fix parsefails in tests.
r10609 | audreyt++ | * remove unused ruleVarDeclaration from Parser.
xerox It does show up nicely there? Looks kinda awful here O_o 08:13
audreyt did you turn up antialias?
08:14 iblechbot joined
xerox audreyt++ 08:14
audreyt :)
xerox Nice, nice, 14pt.
audreyt 24pt here ;) 08:15
svnbot6 r10610 | audreyt++ | * Parse "my $!x" correctly -- it's after all just "my $x".
xerox haha 08:17
Really?
08:18 macroron joined
xerox audreyt - I demand a screenshot. 08:18
(;
audreyt I'm seriously nearsighted... 08:20
xerox Well, big good-looking fonts are appealing. 08:21
Since you happen to know everything... 08:24
Do you know how to enable `libreadline'-like movements in the Terminal? In particular CTRL+arrows to move between words, (or Alt, or whatever.)
Here CTRL+<- prints 'D'... very useful. 08:25
audreyt worksforme here. 08:26
xerox Argh!
audreyt ...but only in irssi, heh. 08:27
xerox haha
I need it in GHCi, obviously :)
^W ^A ^E work...
If only there was something to move between words :-| 08:28
spinclad .oO{ r10601: s/innermose/innermoose/ } 08:30
audreyt down to 144 fail
spinclad: got some time to chase the yellow boxes?
m19s28.vlinux.de/iblech/stuff/pugs-...0dc83.html
xerox innermost :) 08:31
audreyt remove the :todo and force_toto on the ywllow boxes...
I'll bbiab
spinclad as long as i don't have to run them... slow box here, smoke takes hours 08:32
xerox hehe, ask for an account on audrey's fast-spinning-macintel ;)
spinclad or refresh my feather account 08:33
audreyt you don't have to run them :)
hovering on the box gives you line #
spinclad didn't think so; i'll leave verifying them to a later smoke 08:34
xerox Is there a reason why is it called smoke? 08:35
spinclad audreyt: will you be nibbling on these too? should we nibble from opposite ends?
audreyt spinclad: I'll nibble redboxes instead
so however you nibble it's fine
spinclad good
smoke test: run it and see what gives off smoke
audreyt en.wikipedia.org/wiki/Smoke_test
xerox Gee. 08:36
audreyt "Non-toxic smoke is used to find leaks in plumbing and sanitary sewer systems. Artificially created smoke is forced into the pipe or container. Plumes of smoke form where there are defects. It is particularly useful where completely sealing the system is not practical such as ventilated sanitary sewer systems."
xerox laughs
Makes sense :-)
spinclad see also 'magic smoke' in the hackers' dictionary 08:37
audreyt dinner, bbiab... 08:38
08:39 DaGo joined
spinclad and 'smoke test' itself there 08:39
xerox A substance trapped inside IC packages that enables them to function (also called `blue smoke'; this is similar to the archaic `phlogiston' hypothesis about combustion). Its existence is demonstrated by what happens when a chip burns up -- the magic smoke gets let out, so it doesn't work any more. See smoke test, let the smoke out.
08:41 qwackqwack is now known as leptonix 08:42 leptonix is now known as qwackqwack
spinclad smoke test: ... There is an interesting semi-parallel to this term among typographers and printers: When new typefaces are being punch-cut by hand, a /smoke test/ (hold the letter in candle smoke, then press it onto paper) is used to check out new dies. 08:43
08:43 qwackqwack is now known as qwacky
spinclad invokes his innermoose 08:47
09:04 Revision17 joined 09:06 lambdabot joined, szbalint joined
cognominal maxao.free.fr/xcode-plugin-interface/ # come on there is a plugin for ocaml, there should be one for haskell 09:16
cognominal is learning his way thru his shiny macbook
too bad, UPS come Monday to ship it to Apple to get it fixed 09:17
xerox cognominal - Maybe HOC guys have got something! 09:18
cognominal HOC?
xerox Haskell ObjC 09:19
cognominal camelbones is nice 09:21
xerox What's that?
By the way, it seems like Apple sold a HUGE quantity of macintels. 09:22
cognominal - I am also interested in the matter too, by the way. 09:28
integral camelbones is the objC<->Perl bridge 09:30
09:35 stephanepayrard_ joined
stephanepayrard_ I thought that was a thermal sensor problem but I installed a widget who gives me 41C as temperature 09:35
svnbot6 r10611 | spinclad++ | JudyHS: silence a few warnings 09:49
09:50 Aankh|Clone joined
spinclad done 10:02
10:02 b_jonas joined
svnbot6 r10612 | spinclad++ | - untodo 63 passing todo's 10:02
10:02 elmex joined, chris2 joined 10:03 ludan joined
spinclad and now to bed... bye, all & 10:05
audreyt spinclad++ 10:09
10:30 phpError joined, DaGo joined 10:39 xern_ joined 10:42 reZo joined 10:51 nicks joined 11:05 b_jonas joined 11:09 iblechbot joined 11:13 pjcj joined 11:39 elmex joined 11:42 reZo joined 11:56 phpError joined 12:02 buetow joined, buetow is now known as pbuetow, pbuetow is now known as buetow 12:09 reZo joined 12:23 phpError joined 12:26 enantiodrome joined 12:34 cognominal joined 12:47 DaGo joined
QtPlatypus Are junctions/superpositions related to Superposition calculis or is it just a co-incidence. 12:49
13:14 jsiracusa joined 13:25 nperez joined
xerox What are .pm files? 13:27
buetow Perl modules. 13:33
svnbot6 r10613 | audreyt++ | * FindBin.pm: use "our" instead of silly aliasing 13:36
r10614 | audreyt++ | * ref.t: unbreak the test; aliasing methods now work. 13:39
13:44 jiing joined 13:53 reZo joined 13:56 gaal joined 14:02 FurnaceBoy joined 14:15 b00t joined
svnbot6 r10615 | audreyt++ | * "Cheap and cheerful" prototype objects! 14:22
r10615 | audreyt++ | VType (constructed by ::Foo and friends) is now a prototype
r10615 | audreyt++ | of the type it represents; it's considered undefined, and is
r10615 | audreyt++ | indistinguishable from "undef" except on method calls.
r10616 | audreyt++ | * Prim: VType is considered undef
r10617 | audreyt++ | * Support for prototype objects in typed declarators: 14:31
r10617 | audreyt++ | my Moose $x;
r10617 | audreyt++ | $x .= new; # this now works
audreyt pugs... is now a quite different animal compared with yesterday 14:32
audreyt wants another 10mins for the new breakage smoke report 14:33
s/want/wait/
wolverian whoo!
audreyt++
buetow ++audreyt; :-)
audreyt the plan is still to fix those breakage and roll a relesae instead of continuing with capturizing :) 14:34
TimToady++ # committing t/operators/assign.t
without that, it's likely that release would have already happened by now...
14:42 enantiodrome joined
FurnaceBoy audreyt += 7 14:46
b_jonas quite a different animal? it's now a Moose? 14:49
audreyt maybe it's many Moose.. 14:51
14:53 weinig|zzz is now known as weinig 14:55 neoesque joined 14:58 FurnaceBoy_ joined
svnbot6 r10618 | audreyt++ | * Prototype objects stringifies to empty. I think. 14:58
r10619 | audreyt++ | * random cleanup to remove unused imports
15:00 marmic joined 15:08 nothingmuch joined 15:09 cdpruden joined 15:24 elmex joined 15:27 phpError joined 15:28 iblechbot joined
svnbot6 r10620 | audreyt++ | * DateTime: fix misuse of BUILD where it means new. 15:34
15:43 reZo joined
svnbot6 r10621 | audreyt++ | * todo Date test. 15:49
16:09 penk joined 16:10 bernhard joined
svnbot6 r10622 | audreyt++ | * unTODO 15 more passing subtests. 16:16
audreyt TimToady: should ::Int stringifiy stringify to "Int" or "" ? 16:22
primciple of least surprise says 'Int'
svnbot6 r10623 | audreyt++ | * Principle of least surprise: ::Int stringifies to "Int", not "". 16:25
16:26 dazjorz joined
dazjorz Hey guys 16:26
audreyt greetings.
svnbot6 r10624 | audreyt++ | * However, fix the tests so they don't depend on the ::Int->"Int" behaviour.
16:28 Aankh|Clone is now known as aankhen``, aankhen`` is now known as Aankhen`` 16:30 phpError joined, gaal joined
dazjorz omg perl 6 is freaky. 16:34
from what I've seen of it, that is. 16:40
Not much, I admit, but enough for my opinion.
audreyt perl in general is freaky... 16:42
usefully freaky, I think, mostly. 16:43
dazjorz true 16:45
but when you're used to Perl 5, Perl 6 is like... Seeing a spider making a web, when you're used to seeing a ... Well, whatever.
I mean, it's freaky.
16:49 evalbot_10623 joined 16:50 _bernhard joined
audreyt journal up; good night :) 16:52
wolverian sleep well! 16:53
16:54 gaal joined
obra night 16:54
dazjorz gnight 16:55
16:55 reZo joined 16:59 evalbot_10624 joined 17:01 bernhard_ joined
svnbot6 r10625 | audreyt++ | * Net::IRC: change all 17:03
r10625 | audreyt++ | %channels{normalize($chan)}<topic> = $topic;
r10625 | audreyt++ | to
r10625 | audreyt++ | %channels{~normalize($chan)}<topic> = $topic;
r10625 | audreyt++ | lest it tries to dereference an one-elem slice as a hash,
r10625 | audreyt++ | which is currently a fatal error in Pugs. Not sure if it
r10625 | audreyt++ | should be that way...
r10626 | audreyt++ | * "xor" is loose precedence so negated_smartmatch was confused with: 17:04
r10626 | audreyt++ | my $x = ... xor ...;
r10626 | audreyt++ | rewrite to use:
r10626 | audreyt++ | my $x = (... xor ...);
17:05 _bernhard_ joined 17:06 evalbot_10625 joined
audreyt ?eval my Int $a = $a.ref.ref.ref unless $a.defined; 17:07
evalbot_10625 \::Int
17:07 Ymmv joined
svnbot6 r10627 | audreyt++ | * indirect_notation - fix scopign 17:07
audreyt good, evalbot is working again. I can rest in peace. :) &
17:13 macroron joined 17:19 phpError joined 17:20 shachaf joined 17:54 weinig joined 18:00 b_jonas left 18:07 reZo joined 18:08 weinig is now known as weinig_, weinig_ is now known as weinig 18:12 penk joined 18:23 phpError joined 18:38 shlomif joined
shlomif Hi all. 18:38
xerox Hi you.
shlomif xerox: hi hi.
xerox: what's up?
18:39 reZo joined 18:41 Odin- joined
dazjorz ping. 18:46
18:48 beppu joined
shlomif Hi dazjorz 18:53
dazjorz Hi shlomif :)
Although I expect people to answer 'pong', or in reality 'abcdef', to my pings. :) 18:54
19:00 rindolf joined 19:04 SamB joined 19:14 cflag is now known as Captain_Fourierr 19:17 larsen joined 19:22 lisppaste3 joined 19:24 dazjorz left 19:36 jsiracusa joined 19:57 hexmode joined 20:04 amnesiac joined 20:36 ludanolo joined 20:37 ludan joined, DaGo joined 20:38 mj41_ joined, ludanolo is now known as ludan, ludanolo joined 21:09 iblechbot joined 21:13 qwr joined
qwr can pugs be told, that its source is for example iso-8859-1 encoded? 21:15
21:25 hexmode joined 22:05 Captain_Fourierr left 23:12 elmex joined 23:18 scw joined, xern joined, oylenshpeegul joined 23:21 oylenshpeegul left
audreyt qwr: not yet; it needs support for =encoding pragma I think 23:51