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 |