svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/ Set by putter on 11 February 2007. |
|||
avar | audreyt: sial.org/pbot/23458 | 00:32 | |
lambdabot | Title: Paste #23458 from Someone at 85.197.228.236 | ||
avar sleep finish this tomorrow & | |||
but everything there works now except ->captures( sub {} ); and ->named_captures, just some leg work:) | |||
00:46
nipotaway is now known as nipotan
01:19
amnesiac joined
01:27
diakopter left,
diakopter joined
01:47
weinig|bbl is now known as weinig
02:14
dolmans joined
02:39
offby1` joined
02:42
offby1` is now known as offby1
03:07
nipotan is now known as nipotaway
03:10
nipotaway is now known as nipotan
03:18
nipotan left
03:22
nipotan joined
03:27
nipotan is now known as nipotaway
03:28
nipotaway is now known as nipotan
03:33
amnesiac joined
03:40
fridim joined
03:47
justatheory joined
04:06
Schwern joined
04:22
amnesiac joined
04:26
nipotan is now known as nipotaway
04:30
nipotaway is now known as nipotan
04:51
mjk joined
04:53
amnesiac joined
05:08
Debolaz2 joined
05:11
mj41 joined,
ayrnieu joined,
rashakil_ joined,
cognominal joined,
scw joined,
ruz joined,
cj joined,
sri_ joined,
integral joined,
lambdabot joined,
pjcj_ joined,
ludwig- joined,
masak joined
05:35
REPLeffect joined
06:12
|mjk| joined
06:14
BooK joined
06:16
H0LE joined
06:59
breakeven joined
07:07
REPLeffect left
|
|||
gaal | rehi | 07:18 | |
:($x) :+: :($x, $y?) = :($x), or :($x, $y?) ? | 07:32 | ||
svnbot6 | r15672 | gaal++ | * SigMonoid: some more presumptions for review | 07:40 | |
audreyt | gaal: the latter | 07:52 | |
lambdabot | audreyt: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
audreyt | gaal: if it's :($x), \(1,2) would bind to it | ||
that violates the property that no-bind-to-unify equals to no-bind-to-orig | 07:53 | ||
@moosages | |||
lambdabot | Limbic_Region said 8h 31m 27s ago: Win32 is no longer hanging on smoke - this means the changes have either fixed the problem or resulted in the hanging test failing prior to the hang | ||
gaal | property = no-bind-to-unify => no-bind-to-either-of-orig yes? | 07:56 | |
audreyt | aye | ||
gaal | k | ||
where are you planning on using this monoid? | |||
audreyt | autogeneration of multi variants | 07:57 | |
er, of protos, from multi variants | 07:58 | ||
multi f ($x) {}; multi f ($x, $y) {} | |||
f(=<>); # this ought to parse as Item, not as List context | |||
gaal | *nod* | 07:59 | |
audreyt | also, if a proto is already present, a multi must unify to it | ||
if a multi unifies with proto into sigWhatever, it's rejected | |||
(unless of course the proto is already sigWhatever) | |||
so it's used in these two cases | |||
which is critical to the new multi dispatch code | |||
gaal | so defaults are really not important, are they? | ||
audreyt | because that lets us eliminate the microinferencer | ||
right. only the names are | 08:00 | ||
gaal | $x = 42 is really quiv to $x? | ||
k | |||
08:00
geoffb joined
|
|||
geoffb | What is the perl 6 equivalent of local $/ = '' in Perl 5? | 08:01 | |
gaal | hehe, multis with explicit sigWhatever protos are for funky business | ||
audreyt | to expand on the microinferencer idea: currently in P.Eval.Var | ||
multis dispatch using inferExpType | |||
which is thoroughly bogus | |||
because that way we can never deal with constraints | |||
variants should dispatch using CaptVal not CaptExp | |||
however, that requires a previous reduction from CaptExp to CaptVal | 08:02 | ||
which requires context info for each item in CaptExp | |||
so we provide that info from the unified proto | |||
08:02
iblechbot joined
|
|||
audreyt | the spec used to say that evaluate with List context no matter what | 08:02 | |
but that is also bogus | |||
because in the &f example above, =<> would read all lines, and bind the List to $x | |||
which cannot be what the user wants. | 08:03 | ||
geoffb: paragraph mode? | |||
geoffb | audreyt: yeah | ||
I'm trying to convert a relatively short sub to perl 6, but it's very coloquial P5, so slow going at the moment | 08:04 | ||
ayrnieu | curiously, why doesn't pugs use PGE to parse perl6? | 08:05 | |
audreyt | ayrnieu: because STD.pm isn't yet very complete :) | ||
also, if STD.pm is complete, PCR, YaRE, or some other engine written in perl 5 has proven to be more stable when running in embedded mode than PGE. | 08:06 | ||
svnbot6 | r15673 | gaal++ | * SigMonoid: audreyt++ points out that | ||
r15673 | gaal++ | :($x) :+: :($x, $y?) = :($x, $y?), and not :($x) | |||
audreyt | ayrnieu: if parrot embedding becomes stable/easy/nonleaky/etc in the future -- say Parrot 1.0 -- then we may revise that decision | 08:07 | |
geoffb | audreyt: any idea how to do paragraph mode input, or do I need to fake it? | ||
audreyt | (embedded PGE used to be a _real_ pain.) | ||
geoffb: .split(/\s+/) for now I'm afraid | 08:08 | ||
ayrnieu | ah, thanks. | ||
geoffb | audreyt: ok, thanks. At least I'm not blind for missing the relevant code. ;-) | 08:09 | |
08:09
H0LE left
|
|||
audreyt | geoffb: it's even nonspecced :) | 08:10 | |
but it'll be per-fh anyway. | |||
geoffb | audreyt: heh | 08:11 | |
audreyt: fair enough | |||
08:20
ozo_ joined
|
|||
geoffb | Where would I find the tests for 'tr'? There are a LOT of copies of those two letters in the t/ tree ... | 08:24 | |
gaal | t/builtings/strings/trans.t | ||
08:25
CardinalNumber joined
|
|||
geoffb | Ah, thanks gaal | 08:25 | |
gaal | :) | 08:26 | |
geoffb | That was beginning to drive me batty | ||
gaal | audreyt: and this one's bogus too, right? | ||
:($x, $y) :+: :($x?, $z?) = :($x?) | |||
should be incompat? | |||
now, :($x?) :+: :($y?) is also incompat isn't it | 08:27 | ||
audreyt | not really | ||
that can unify to :($?, :$x, :$y) | 08:28 | ||
gaal | hmmmmmmmm | ||
audreyt | similarily, the one above can unify to ($?, $?, :$x, :$y, :$z) | 08:29 | |
you can think of it this way | |||
"for each position, is there a context/type constraint that all variants agree of" | |||
"for each name, ditto" | |||
and optional vs required can unify to optional | 08:30 | ||
gaal | well, in these cases we've see pos relegated to named | ||
audreyt | note that it is entirely okay for unified sig to successfully evaluate+bind, but no variants ends up agreeing | ||
correct | 08:31 | ||
gaal | you mean no existing multi to agree? sure | ||
audreyt | we are not actually binding anything in the protobind | ||
gaal | yeah | ||
audreyt | so it's just for reduction | ||
so relegate to named doesn't quite matter here | |||
there is no actual $x allocated | |||
gaal | well positionals have, well, a position constraint | 08:32 | |
audreyt | sure but note that in :($x, $y) it's okay to bind it to \(1, y=>2) | ||
gaal | which is only maintained if both input sigs have it required | ||
sure | 08:33 | ||
audreyt | yup. | ||
gaal | I think CS PhDs are missing the part of their brain that aches. | ||
audreyt | yeah, they underwent robotomy long ago | 08:34 | |
svnbot6 | r15674 | gaal++ | * SigMonoid: two examples of relegate-to-named and $?-introduction, | 08:40 | |
r15674 | gaal++ | courtesy of audreyt++. | |||
gaal | :($x) :+: :($x?) = :($x?) is correct, but is it reasonable to unify to :($?, :$x) to avoid peeking at remaining positionals? | 08:41 | |
in light of the recent | 08:42 | ||
:($x, $y) :+: :($x?, $z?) = :($?, $?, :$x, :$y, :$z) | |||
which starts out similarly. | |||
08:42
the_dormant joined
|
|||
audreyt | sure | 08:42 | |
it's isomorphic, so go for consistency | 08:43 | ||
gaal | IIUC, the worst that could happen is more confusing error messages, eventually | ||
is it isomorphic? | 08:44 | ||
audreyt | well, not for the \(1, x=>1) case | ||
although there's something to be said if it can be taken to mean | |||
\(x=>1, x=>1) | |||
dunno. that part is unspec. | |||
if it an be taken to mean that, then yes it's iso | |||
gaal | in which case, cool, because a sig simplifier can be applied later. :) | 08:45 | |
audreyt | TimToady: cool on (sub f ($x) {...}) accepting f(1, x=>1) the same way it accepts f(x=>1, x=>1)? | 08:46 | |
my take on the positional foo is that it advertises additional names | 08:47 | ||
eg | |||
sub f ($x) | |||
is really | |||
sub f (:0($x)) # conceptually | |||
and \(1,2,3) binds as \(:0(1) :1(2) :2(3)) # again conceptually, not real syntax | 08:48 | ||
sili | perl is hard. let's go shopping | 08:55 | |
gaal | :($x) :+: :() = :($x) -- poslist runoff? | ||
oh, no of course | 08:56 | ||
=> :($x?) though maybe | 08:57 | ||
audreyt | aye, or :($?, :$x) as described | ||
gaal | much easier to implement | 08:58 | |
ok | |||
audreyt | (0=>$, x=>$) vs () is of course (0=>$?, x=>$?) | ||
much easier if you think of it that way | |||
I'll bbiab, and maybe back with some more quickchecks :) | 08:59 | ||
quickcheck++ # high-value properties | |||
shay|p6 | hello | 09:00 | |
gaal | hi | 09:01 | |
shay|p6 | gaal: what's up? | ||
geoffb | What does this error mean: | 09:02 | |
gaal | working on a small type inferencer. hard. :) | ||
geoffb | pugs> eval("pack 'B*', '101'", :lang<perl5>) | ||
decodeUTF8': bad data: '\160' | |||
" " | |||
audreyt | it means that we don't have a native Buf object type, yay | ||
add it to t/perl5/? | |||
geoffb | oh | ||
zagnuts | 09:03 | ||
audreyt | it's a trivial fix actually | ||
so add a test I'll make it pass | |||
(thanks to MO bridge) | |||
geoffb | hold on | ||
will do, I mean | |||
audreyt | :D | ||
gaal | :($x, $y) :+: :($y, $x) = fail "incompat" just like :($x) :+: :($y), but: | 09:06 | |
:($x?, $y?) :+: :($y?, $x?) = :($?, $?, :$x, :$y) | 09:07 | ||
right? | |||
audreyt | well actually... | 09:08 | |
gaal | uh oh :) | ||
audreyt | :(Int $x, Int $y) :+: :(Str $y, Str $x) # \(1,1) can bind just fine | ||
audreyt ponders | |||
maybe we really go the laxest route? | 09:09 | ||
i.e. :($x, $y) and :($y, $x) unify to :($, $, x=>$, y=>$) | |||
I think it's saner in fact. | |||
gaal | okay... | 09:13 | |
mj41 | How Open Source Projects Survive Poisonous People (And You Can Too) video.google.nl/videoplay?docid=-42...1522818645 | 09:14 | |
lambdabot | Title: How Open Source Projects Survive Poisonous People (And You Can Too) - Google Vid ... | ||
gaal | heh, negative docid. | 09:15 | |
audreyt | overflow, evidently | ||
geoffb | GRRRRRR | ||
gaal | ETOOMUCHPOISON | 09:16 | |
geoffb | OK, svk wants me to re-authenticate myself for each couple of change sets. WTF? | ||
audreyt | geoffb: it's fixed (actually not really added Buf methods) | ||
but should work for now | |||
geoffb: uh that shouldn't happen | |||
geoffb | one would think | 09:17 | |
audreyt | grep -r for ~/.subversion | ||
svnbot6 | r15675 | audreyt++ | * Pugs.Run.Perl5: Preliminary support for converting | ||
geoffb | Is there a way to flush authentication information for a mirror? | ||
audreyt | to see if it has cached passwd? | ||
svnbot6 | r15675 | audreyt++ | non-SvUTF8 data from Perl5. | ||
audreyt | yes, rm .subverison/auth/* | 09:18 | |
geoffb: nonSvUTF8 support is in. I'll nap a bit | |||
geoffb | audreyt: ok, thanks | ||
OK, there's no matching auth file for the pugs repo, so nothing cached | 09:20 | ||
pasteling | "evalbot_r15674" at 194.145.200.126 pasted "Pugs build failure" (406 lines, 22.9K) at sial.org/pbot/23461 | 09:21 | |
geoffb | svk insists on being insane | 09:23 | |
I'm giving up on committing the test for now | |||
sigh | |||
audreyt: you appear to have broken the build | 09:24 | ||
Linking pugs.new ... | 09:25 | ||
/home/geoff/svk/pugs/third-party/installed/lib/Pugs-6.2.13/ghc-6.6/libHSPugs-6.2.13.a(p5embed.o): In function `pugs_SvToVal': | |||
p5embed.c:(.text+0x206e): undefined reference to `pugs_PvnToValUTF8' | |||
collect2: ld returned 1 exit status | |||
Build failed: 256 at util/build_pugs.pl line 485. | |||
09:26
rindolf joined
09:31
Loro joined
|
|||
gaal | geoffb: does a clean build work? | 09:32 | |
geoffb | will try | ||
rindolf | Hi all. | ||
Hi gaal | |||
gaal | hello rindolf | ||
rindolf | gaal: what's up? | 09:33 | |
gaal | working on a unifier for method signatures. | 09:34 | |
mj41 | more info about video google-code-updates.blogspot.com/20...er_21.html | 09:35 | |
lambdabot | Title: Google Code - Updates: Open Source Developers @ Google Speaker Series: Ben Colli ..., tinyurl.com/28lyl3 | ||
geoffb waits impatiently for build | 09:37 | ||
Can pugs be safely built in parallel? | |||
moritz_ | no idea | 09:38 | |
geoffb | Single-threaded compiles are *so* two years ago. | 09:39 | |
moritz_ | dig svn.pugscode.org +short|wc -l | 09:42 | |
0 | |||
DNS problems again | |||
ayrnieu | 'make soon' dies trying to compile the Prelude, but it builds pugs fine, and pugs itself loads the Prelude from source. | 09:44 | |
geoffb | gaal, audreyt: clean build seemed to work, yay | 09:46 | |
ayrnieu | ?eval do { 1 } if 1 | 09:48 | |
09:48
evalbot_r15652 is now known as evalbot_r15675
|
|||
evalbot_r15675 | Error: Unexpected "if"expecting operator | 09:48 | |
ayrnieu | eval: do { 2 } if 1 | 09:49 | |
buubot? | |||
bah. | |||
moritz_ | ?eval: do { 2 } if 1 | 09:50 | |
evalbot_r15675 | Error: Unexpected ": do"expecting "::" | ||
09:55
andara joined
|
|||
ayrnieu | ah, do{} can no longer have a modifier. | 10:24 | |
that's odd, but it might anyway not be missed, with cleaner tests. | 10:25 | ||
well, especially not as a simple block will do. | 10:38 | ||
?eval do { say 1; say 2 } if 1 | |||
evalbot_r15675 | Error: Unexpected "if"expecting operator | 10:39 | |
ayrnieu | ?eval { say 1; say 2 } if 1 | ||
evalbot_r15675 | OUTPUT[12] Bool::True | ||
geoffb | g'night all, it's WAY past my bed time. | 10:41 | |
zzz & | |||
audreyt | @seen TimToady | 10:51 | |
lambdabot | TimToady is in #perl6. I don't know when TimToady last spoke. | ||
specbot6 | r14344 | audreyt++ | * S02: More fixups to reflect that fact that the f($x) form | ||
r14344 | audreyt++ | is always &f($x) and never $x.f() now. | |||
10:51
buetow joined
10:57
the_dormant joined
10:58
aukjan|gone is now known as aukjan
|
|||
audreyt | @tell TimToady S02:1438 seems to overrule S06:194 (which was earlier text.) Is it okay if I update both to say that &-sigil fallback to global by default, but no other sigils do? | 11:01 | |
lambdabot | Consider it noted. | ||
11:03
ruoso joined
|
|||
audreyt | @tell TimToady logical consequence is that multi sub dispatch in lexical context should do a lookup to GLOBAL and include those variants, too, for &*infix:<+> to work. | 11:04 | |
lambdabot | Consider it noted. | ||
moritz_ | audreyt: pugscode.org DNS seems to be b0rked again | 11:09 | |
ayrnieu | ?eval my $a = 1 if 0; $a | 11:12 | |
evalbot_r15675 | \undef | ||
gaal | rehi | 11:17 | |
svnbot6 | r15676 | gaal++ | * conflicting positionals give up their specific positions but | 11:20 | |
r15676 | gaal++ | leave a positional trace, whether optional or required. | |||
11:22
Alias_ joined
11:24
fglock joined
11:33
rfordinal_ joined
11:36
VanilleBert joined
11:40
riffraff joined
|
|||
riffraff | szia | 11:40 | |
apart from the reduce metaoperator [] is there a form of fold that takes a block in perl6? | 11:42 | ||
avar | fold? | ||
gaal | explicit reduce function. | ||
reduce { $^a * $^b } @list | 11:43 | ||
moritz_ | same as [*] @list? | ||
gaal | yes. | ||
riffraff | what is the signature? because when I used &reduce in pugs' repl I got the internal educe AST.expr -> Val | ||
ah ok, thanks | |||
11:44
IllvilJa joined
|
|||
audreyt | pugs> &reduce.signature | 11:54 | |
:(@?2 is copy, @?1 is copy) | |||
also, you need a comma after the block | |||
reduce { $^a*$^b}, @list; | |||
gaal | .signature works!? whoa. | ||
audreyt | uh it's been working for quite some time. | ||
gaal | is that a moose | ||
audreyt | up and including &code:(longname).signature | 11:55 | |
riffraff | yes, I spotted the missing comma :) | ||
gaal | this unification thing is clobbering my brain :) | ||
audreyt | sorry to have you attack the hard problem while I code the trivial parts... | 11:56 | |
gaal | it's fun :) | ||
riffraff | btw, I read the commit on docs that says foo($x) is never a method call | ||
gaal | just brain clobbering | ||
(I'm still trying to gain an intuitive feel for it) | |||
audreyt | riffraff: correct. however, see S12:211 for important safety information. | 11:57 | |
riffraff | ok, thanks | ||
audreyt | :) | ||
gaal | "do not code while driving" | ||
11:58
[particle] joined
|
|||
moritz_ | I've always been told "Don't drink and derive" ;-) | 11:58 | |
audreyt | derive (Drunkable) | 11:59 | |
gaal | with DrIFT | ||
audreyt | woot, dispatch speed now back to normal. | 12:00 | |
gaal | yay! | 12:01 | |
12:08
Khisanth joined
12:10
chris2 joined
|
|||
gaal | argh, $($x) :+: $($y), it's not in fact incompat is it? rather, :($, :$x?, :$y?) should work | 12:11 | |
12:12
rfordinal_ is now known as rfordinal
|
|||
fglock | are proxy objects for Array and Hash specified? | 12:12 | |
looking for (TODO & @fun) | 12:14 | ||
12:16
Limbic_Region joined
12:19
BooK joined
|
|||
svnbot6 | r15677 | audreyt++ | * Cipher::TestGuts: $_ is not self. | 12:27 | |
r15678 | audreyt++ | * Pugs.AST.Internals: VMultiCode is now a shallow Set of | |||
r15678 | audreyt++ | long names, instead of a deep Map into PadEntry. | |||
r15678 | audreyt++ | This makes pad reentry work correctly (it won't keep | |||
r15678 | audreyt++ | referring to the compile-time pad), and speeds up | |||
r15678 | audreyt++ | dispatch a lot. | |||
r15679 | audreyt++ | * Pugs.Types.Code: The ICode instance is no more; | |||
r15679 | audreyt++ | it should always be able to get .signature without | |||
r15679 | audreyt++ | entering any kind of monad.. | |||
r15680 | audreyt++ | * regen instances. | 12:30 | ||
r15681 | audreyt++ | * Pugs.AST: Looking up a lexical multi sub should always | |||
r15681 | audreyt++ | include variants from the global multi, if present: | 12:31 | ||
r15681 | audreyt++ | my multi infix:<+> (Str $x, Str $y) { "$x$y" } | |||
r15681 | audreyt++ | 'a'+'b'; # 'ab' | |||
r15681 | audreyt++ | 1+2; # 3 -- shouldn't shadow the global *infix:<+> | |||
audreyt | fglock: no they are not :) patches welcome | 12:33 | |
gaal: correct, they are compat | |||
gaal | audreyt: mind checking SigMonoid for sanity? | ||
audreyt | gladly | 12:34 | |
gaal | thank you. :) | ||
svnbot6 | r15682 | audreyt++ | * Pugs.Eval.Var: f(123) is now strictly always the same as &f(123). | 12:35 | |
r15683 | audreyt++ | * Pugs.Parser: There is no way to remove something from the | |||
r15683 | audreyt++ | lexical pad, so eliminate dead code concerning disappearing | |||
r15683 | audreyt++ | padentries. | |||
12:35
fglock joined
|
|||
svnbot6 | r15684 | audreyt++ | * Misc. fixups. | 12:36 | |
r15684 | audreyt++ | This concludes the multi-variants-handling batch of commits. | |||
gaal | bbiab& | 12:39 | |
pasteling | "evalbot_r15676" at 194.145.200.126 pasted "Pugs build failure" (434 lines, 23.2K) at sial.org/pbot/23462 | 12:41 | |
12:42
Psyche^ joined
12:44
Psyche^ is now known as Patterner
|
|||
audreyt | gaal: note that :$x means :$x? by deafult not :$x! | 12:45 | |
12:46
drupek12 joined
|
|||
svnbot6 | r15685 | audreyt++ | * SigMonoid: review. | 12:46 | |
12:46
evalbot_r15675 is now known as evalbot_r15681
|
|||
svnbot6 | r15686 | audreyt++ | * unTODO. | 12:50 | |
Limbic_Region | audreyt - couple points regarding my smoke test last night - 1. It was extremely slow. 2. It did not hang 3. It did not upload for some reason. 4. There are a lot of failing tests | 12:52 | |
I assume 4 is known | 12:53 | ||
audreyt | Limbic_Region: yes, still working on speedup (should be better now) | ||
no idea why it did not upload | |||
glad it did not hang | |||
Limbic_Region | me too - as I noted in the @tell though - that might be because it is fixed or because it is failing prior to hanging | ||
btw - diakopter was fairly concerned that I first check with you as to his trustworthiness prior to mailing him a check to forward on to your paypal | 12:54 | ||
I told him, if he ripped off the perl community - that was on his head | |||
so in any case, check went out this morning | 12:55 | ||
Limbic_Region AFK & | 12:56 | ||
audreyt | Limbic_Region: wow. thank-you. | 12:57 | |
(bbiab) | 12:59 | ||
13:08
stevan_ joined
13:11
TimToady joined,
diakopter joined
13:19
weinig joined
|
|||
diakopter | @tell Limbic_Region :P | 13:22 | |
lambdabot | Consider it noted. | ||
svnbot6 | r15687 | fglock++ | docs/Perl6/Overview/Subroutine.pod - minor comment on Proxy behaviour | 13:26 | |
13:33
VanilleBert left
13:36
rashakil__ joined
13:38
nipotan is now known as nipotaway
|
|||
gaal | < audreyt> gaal: note that :$x means :$x? by deafult not :$x! | 13:40 | |
13:40
weinig is now known as weinig|bbl
|
|||
gaal | in general? how come? | 13:40 | |
ayrnieu | @tell audreyt could you please reset my svn password for pugs? | 13:42 | |
lambdabot | Consider it noted. | ||
gaal | oh, S06:620 says so. | ||
what's the motivation? | |||
avar | " | 13:46 | |
13:46
nipra joined
|
|||
gaal | the UNIFY rule for unpacking can't be right: | 13:48 | |
:($t) :+: :($t (Left $l, Right $r)) = :(BinTree $t) | |||
13:50
mr_ank joined
|
|||
pasteling | "evalbot_r15685" at 194.145.200.126 pasted "Pugs build failure" (443 lines, 25.5K) at sial.org/pbot/23464 | 14:04 | |
14:04
iblechbot joined
14:10
vel joined
14:15
weinig|bbl is now known as weinig
14:23
weinig is now known as weinig|bbl
|
|||
audreyt | gaal: why? isn't :($t) just :($t (|$)) ? | 14:34 | |
lambdabot | audreyt: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
audreyt | and thus :(|$) unifies with :(Left $l, Right $r) | 14:35 | |
14:36
kanru joined
|
|||
audreyt | ayrnieu: sure, resending | 14:38 | |
done | |||
14:38
nipra joined
|
|||
ayrnieu | yay, thanks. | 14:38 | |
14:39
dec_ joined
|
|||
gaal | but how is BinTree inferred? | 14:40 | |
lhs didn't mention it. | |||
14:40
aukjan is now known as aukjan|gone
|
|||
audreyt | er. sorry. my bad. | 14:40 | |
:($t) | |||
obra | audreyt: pugs.blogs.com wants love | 14:42 | |
svnbot6 | r15688 | gaal++ | * Perl 6 ne Haskell, yet | ||
audreyt | obra: k | 14:44 | |
pasteling | "fglock" at 201.54.129.80 pasted "Draft - Array/Hash Proxy objects" (36 lines, 775B) at sial.org/pbot/23465 | 14:47 | |
fglock | audreyt: I've got a few '???' on Proxy objects | 14:48 | |
but otherwise it looks pretty simple | 14:49 | ||
14:50
pdcawley joined
|
|||
audreyt | yeah. so LOOKUP etc is unneccessary | 14:51 | |
all we need is FETCH and STORE | |||
so the spec does not actually need amendment | 14:52 | ||
because it's the same for array/hash/scalar/etc | |||
fglock | hmm - what does @a.FETCH returns? | ||
ListProxy ? | 14:53 | ||
audreyt | well no | ||
the idea is there is a Proxy class | |||
class Proxy { has &!FETCH; has &!STORE } | 14:54 | ||
with methods | |||
method ITEM () { ITEM(&!FETCH()) } | 14:55 | ||
method LIST () { LIST(&!FETCH()) } | |||
method infix:<=> (|$x) { VAR(&!STORE(|$x)) } | 14:56 | ||
so the public interface is still ITEM/LIST/infix= | |||
(the ITEM(...) LIST(...) VAR(...) are macros that sets contexts; the first two is rvalue; VAR is lvalue) | 14:57 | ||
fglock | I mean, let's say you want to define a lazy list - then you want LIST to return a lazy list... | ||
you need a Proxy-like thing for lazy lists | 14:58 | ||
I mean, lazy arrays | |||
14:58
riffraff joined
|
|||
audreyt | yes, you'll need to return an object that can respond to :postcircumfix<[ ]> | 14:59 | |
but I see your point | |||
maybe we need a Proxy::List cass | |||
clas | |||
that accepts LOOKUP, UPDATE etc and map them into postcircumfix:<[ ]> | 15:00 | ||
wolverian | and hashes? :) | ||
audreyt | otoh, maybe just writing postcircumfix<[ ]> and postcircumfix<{ }> that in turn returns Proxy is good enough | 15:02 | |
fglock | compiles to: $proxy.FETCH.postcircumfix<[ ]>.(3) | 15:04 | |
audreyt | or we just use the perl5tie names. | ||
fglock | another point is how do you declare the Proxy type, for bind-time type checking | 15:05 | |
ayrnieu | Where is Pugs::Emitter::Perl6::Perl5 ? v6-alpha has it as a prerequisite, but I don't see it on CPAN. | ||
fglock | ayrnieu: it is in the v6 distro | ||
audreyt | the compiled method would probably be VAR('$proxy').ITEM.postfircumfix<[ ]>(3) | ||
avar | audreyt: what text editor do you use? | 15:06 | |
audreyt | avar: vim | ||
avar | :) | ||
moritz_ | that's the only one[tm] | ||
ayrnieu | ah, so it is. | ||
moritz_ | if it was only written in perl..;-) | ||
OTOH even perl5 is written in C, so C can't be a bad choice ;) | 15:07 | ||
fglock | later & ...dentist :( | ||
ayrnieu | moritz_ - you can embed Perl in it, although I haven't played with it. Anyway, if you want to start on a vim-in-perl... | ||
avar | I like your logic and wish to subscribe to your newsletter | ||
moritz_ | ayrnieu: I know, but that's just to execute perl commands on the currently loaded file... | 15:08 | |
ayrnieu | moritz - I will stand firmly behind you :-) Someone had a decent hack of a vi in ruby, a few years ago. Really, you could get something usable with just sweat and Term::ReadKey | ||
moritz_ | ayrnieu: I'd like to see perl plugins etc. for vim ;) | ||
rindolf | moritz_: didn't you write your own editor in Perl? | 15:09 | |
moritz_ | rindolf: no, that was lichtkind iirc | ||
[particle] writes his own compiler in perl :) | 15:10 | ||
rindolf | moritz_: ah. | ||
diakopter | moritz_: any progress on that donate/sponsor wwwsite? | ||
avar | perhaps you should use an editor with a real programming language built in:) | ||
ayrnieu | particle - I've written more than a few syntax-driven, one-pass, direct-emitting compilers in Perl :-) | ||
avar makes some mention of emacs and runs away:) | |||
wolverian | vim's perl support is rather pitiful, really. it provides only very rudimentary methods. | ||
15:11
lichtkind joined
|
|||
ayrnieu | wolverian - do other languages have better support on it? | 15:11 | |
wolverian | no. | ||
vim only supports vimscript well. | |||
I suppose reimplementing vimscript's features in perl on top of the rudimentary perl interface would be sane. but no-one has done that. | 15:12 | ||
avar | what features does vimscript have? | ||
integral | a vimscript emittor for pugs would be another idea | ||
lichtkind | is there are prominent perl6 app? | ||
moritz_ | avar: I think it's a truing complete lang ;) | 15:13 | |
lichtkind: evalbot ;-) | |||
avar | moritz_: well, so is brainfuck | ||
lichtkind | yes and another? | ||
moritz_ | avar: hm, right. | ||
integral | svnbot | ||
lichtkind | i mean beside chatbots :) | ||
jamessan | wolverian: what's lacking about scripting Vim via Perl? | 15:14 | |
moritz_ is currently writing a sudoku solver in p6 | |||
pdcawley | p6rules? | ||
integral | moritz_: what kind of algorithm? logic programming? | ||
moritz_ | but I'm stuck at the point where I'm to lazy to clone objects manually ;) | ||
wolverian | jamessan, directly callable helper functions. the VIM namespace is pretty sparse. | ||
moritz_ | integral: no | ||
lichtkind | wasnt there a wiki in perl6? | ||
moritz_ | integral: essentially moritz.faui2k3.org/en/yasss in p6 | 15:15 | |
lambdabot | Title: YasSS - Yet Another (Simple|Stupid) Sudoku Solver - Moritz Lenz | ||
pdcawley has done a Sudoku/Killer/Kakuro solver in Ruby using continuations to handle the backtracking. | |||
moritz_ | integral: with arbitrary sudoku sizes | ||
ayrnieu | (There are neat Mercury sudoku solvers, using constraint programming.) | ||
wolverian | I suppose Inline::Vimscript would help... | ||
lichtkind | but no wiki? | 15:16 | |
pdcawley did a short talk on the Ruby code last night, only to be asked "Why didn't you just do it in Prolog?" | 15:17 | ||
integral | ah, I see | ||
integral ended up using Dancing Links for quite a fast Perl 5 solver | |||
ayrnieu | pdcawley - prolog can do it naturally, but not well. | ||
integral - constraint-programming system? | 15:18 | ||
pdcawley | integral: Does it generalise to Killer and Kakuro? | ||
integral | pdcawley: possibly; I can't remember the rules for those | ||
pdcawley | ayrnieu: Yeah, half the game is in working out how to prune the tree. | ||
integral | ayrnieu: en.wikipedia.org/wiki/Dancing_Links # it's for finding exact covers | 15:19 | |
pdcawley | killer: Sudoku grid, but instead of placed numbers the grid is divided into 'cages' which much add up to a given total. | ||
integral | hmm, which reminds me to put that module on CPAN *sigh* | ||
ayrnieu | lichtkind - if you come back on Friday, I'll have a couple of del.icio.us apps in Perl6 :-) | 15:20 | |
They will be prominently used by -me-! | |||
wolverian | hm, I wonder if the discussion on #haskell yesterday came up with a functional algorithm that is as efficient as dancing links | ||
integral | ayrniew++ # where do you find the time :-) | ||
ayrnieu++ # where do you find the time :-) | 15:21 | ||
ayrnieu is on vacation, right now :-) | |||
lichtkind | ayrnieu i dont want to run them just write about, i writing a article about perl6 and now currently on chapter 8 or 9 which deals with pugs | ||
pdcawley | Wasn't there something in the Perl Review that used a matrix transform or something as both a solver and a generator? | ||
Almost certainly not a matrix transform now I think of it. | 15:22 | ||
15:30
dec joined
|
|||
lichtkind | ayrnieu are there any shiny pugs apps that i could list ? | 15:34 | |
ayrnieu | You'd do better to ask the channel, sorry. | 15:35 | |
lichtkind - however, there -is- a wiki | 15:36 | ||
lichtkind | rakudo.org/perl6/index.cgi yes but no apps | 15:37 | |
lambdabot | Title: Perl 6 / Perl 6 | ||
lichtkind | or the wiki itself? | ||
ayrnieu | lichtkind - examples/networking/wiki contains a wiki in Perl6, I mean. | 15:38 | |
lichtkind | ah thanks | ||
15:38
the_dormant joined
|
|||
ayrnieu | By Eric Hodges, it seems, who may be forsaken. I don't know if anyone has deplyed it. | 15:40 | |
15:43
Arathorn joined
15:44
iblechbot joined
15:46
drupek12 joined
15:48
bonesss joined
15:59
amnesiac joined
16:00
weinig|bbl is now known as weinig
|
|||
ayrnieu | does v6-alpha.pm only do a great deal of processing on its first run? | 16:27 | |
[particle] | yes | 16:28 | |
it compiles modules the first time through | |||
from then on, it uses the compiled versions | |||
ayrnieu | ah, phew :-) | 16:29 | |
Arathorn | is v6-alpha what fglock's p6-on-p5 implementation has become? | ||
ayrnieu | yes. | ||
hello-world's first run: 7m17.17s real 3m11.15s user 0m33.93s system | 16:30 | ||
second: 0m29.04s real 0m18.51s user 0m1.96s system | |||
moritz_ | "first make it run, then make it right, then make it fast" ;) | 16:31 | |
[particle] | third 0m1.99s real, fourth 0m0.12s ... :) | ||
ayrnieu | no, it doesn't get that fast. | 16:32 | |
[particle] | just a linear extrapolation... | 16:35 | |
ayrnieu | a linear one would be impossibly impressive :-) | 16:36 | |
Arathorn | doesn't causality break down shortly after that? :) | ||
[particle] | when you're a particle, you can connect the dots if you move fast enough and in the right direction :) | 16:37 | |
moritz_ | well, extrapolations are allways just approximations ;) | ||
ajs_ | Next thing, you'll have pugs solving the 2 envelope problem | 16:38 | |
TimToady | how 'bout the Purloined Letter? | ||
lambdabot | TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them. | ||
[particle] | i've described continuations as self-addressed stamped envelopes before | 16:39 | |
so i guess coroutines are like two envelopes | |||
ayrnieu | loop { print '_ '; say eval =$*IN } -- helps with the load-time a bit :-) | 16:44 | |
ah, it's a bit out of date, though: it doesn't have OS::run | 16:45 | ||
Arathorn | i guess that makes closures notes which you scribble to yourself but don't bother to mail... | 16:47 | |
TimToady | I think closures are more like diary entries: "Here's what the world looks like from here today." | 16:48 | |
Arathorn | mm, that works better | ||
TimToady | and coroutines are dueling bloggers | 16:49 | |
[particle] cues django | 16:50 | ||
Arathorn | and threads are a single blog which is actually written by umpteen different contributors... | ||
TimToady | rss feeds maybe | 16:53 | |
Arathorn wonders what that makes usenet - some kind of pseudo-organic supercomputer? a Thinking Machines CM1/CM2 or something? | 16:54 | ||
Arathorn mumbles | |||
moritz_ | Arathorn: usenet is just /dev/urandom filtered by some perl scripts ;) | 16:55 | |
[particle] wonders from the lack of groans if anyone got his double entendre | |||
Arathorn | [particle]: django having two duelling fingers? | 16:56 | |
(or the whole deliverance duelling banjos thing?) | 16:57 | ||
[particle] | django the web framework (for blogging, perhaps) and django the banjoist | ||
16:57
weinig is now known as weinig|bbl
|
|||
Arathorn | aah, had forgotton about that | 16:58 | |
17:00
jisom joined
|
|||
ayrnieu | (oops, I optimistically rewrote that repl in discussion.) How does perl6 spell its scalar()? | 17:01 | |
gaal | item | ||
clkao | summon audreyt | 17:03 | |
ayrnieu | so, say eval item =*IN ? | 17:04 | |
so, say eval item =$*IN ? | |||
moritz_ | what about =<>? | 17:05 | |
[particle] | =<>.item.eval.say? | ||
17:06
jisom left
|
|||
ayrnieu | Which is to ask, is that correct? | 17:06 | |
17:07
jisom joined
|
|||
svnbot6 | r15689 | moritz++ | included left sidebar in donate.pugscode.org | 17:10 | |
ayrnieu | OK/ this works for now: loop { print '_ '; say eval ($_ = =$*IN) } | 17:12 | |
diakopter | _moritz: typos on that page - s/finaly/final/ s/spent/spend/ s/devloped/developed/ s/offical/official/ | 17:14 | |
moritz_ I mean | |||
moritz_ | diakopter++ ok, I'll fix it soon | ||
pasteling | "evalbot_r15688" at 194.145.200.126 pasted "Pugs build failure" (400 lines, 22.6K) at sial.org/pbot/23469 | 17:15 | |
TimToady | don't need .item for =<>.eval | 17:18 | |
or shouldn't, anyway | 17:19 | ||
svnbot6 | r15690 | moritz++ | typos fixed (pointed out by diakopter++) | ||
[particle] | there's no .loop, is there? eg =<>.eval.say.loop | ||
avar | OO-- | 17:20 | |
ayrnieu | -nod-,I think v6-alpha just needs some updating. | 17:22 | |
17:25
andara left
|
|||
svnbot6 | r15691 | moritz++ | added POST tests with inheritance | 17:25 | |
17:27
the_dormant joined
|
|||
pasteling | "evalbot_r15690" at 194.145.200.126 pasted "Pugs build failure" (400 lines, 22.6K) at sial.org/pbot/23471 | 17:35 | |
svnbot6 | r15692 | diakopter++ | fixing another misspelling. | 17:38 | |
ajs_ | [particle] do you mean that to behave like Python's generator comprehension? | 17:42 | |
ala www.python.org/dev/peps/pep-0289/ | 17:44 | ||
lambdabot | Title: PEP 289 -- Generator Expressions | ||
[particle] | ajs_: precisely | 17:47 | |
ajs_ | Lemme think about that for a sec | ||
17:51
kattana_ joined
|
|||
ajs_ | =<>.eval should already mean that, shouldn't it (I mean, I can't see what @a.eval would to OTHER than eval each element, and =<> is just a generator that behaves like a lazy list) | 17:52 | |
17:53
Jedai joined
|
|||
ajs_ | However, more generally, I think a .loop would be fine, but should take a closure: =<>.loop(-> {.eval.say}) or something like that | 17:54 | |
[particle] | not much different than for =<> -> .eval.say {} | 17:55 | |
er, i missed some brackets | |||
ajs_ | yeah, but you're right | ||
and that's cleaner | |||
for =<> -> {.eval.say} | 17:56 | ||
[particle] | ajs_++ | ||
ajs_ | or map {.eval.say} =<> which gives you exactly what Python's doing, since it returns the resulting list of success values from say | 17:57 | |
not that that's useful | |||
[particle] | map isn't guaranteed to be sequential, is it? | ||
ajs_ | If not, I'm sure there will be a way to request it. It's too useful on generators to be sequential | 17:58 | |
and of course, that's map {.eval.say}, =<> now | |||
comma | |||
17:59
riffraff joined
|
|||
ajs_ | of course, =<> >>->{.eval.say} would be way cool ;-) | 18:01 | |
and ?-> is such a cute little arrow ;-) | 18:02 | ||
18:02
vel6608 joined
|
|||
TimToady | =<> ==> map {.eval.say} | 18:05 | |
[particle] | feed the map a fish | 18:07 | |
18:07
fglock joined
|
|||
TimToady | ...and thanks for the fish | 18:08 | |
=<>==> looks like a cool operator | 18:09 | ||
avar | is whitespace required between the two? | ||
TimToady | no, why should it be? | ||
[particle] | if you define =<>==> | 18:10 | |
avar | because some stuff in p6 required whitespace to delimit it | ||
...and I can't remember all those rules | |||
moritz_ | we need more ascii art operators | 18:11 | |
TimToady | as far as I know there are only three things that arbitrarily require whitespace. listops, labels, and statement-level blocks | 18:12 | |
meaning "if" blocks and the like | 18:13 | ||
well, and any infix that would be mistaken for a postfix, but that's not really "arbitrary" | 18:14 | ||
we could in theory allow print$x | 18:15 | ||
and label:for 1..10 could be disambiguated if we were pickier about distinguishing keywords | |||
moritz_ | after all we're not developing python, so we usually don't enforce whitepaces ;-) | ||
[particle] | @array [*] | 18:16 | |
lambdabot | Ahoy mateys | ||
[particle] | heh, that was unexpected :) | ||
TimToady | but the whitespace rules we do have are pretty much all in the interests of not blocking grammar mods | ||
and that means keeping our grammatical categories straight without resorting to lists of keywords | 18:17 | ||
which is kind of a PL/Iish idea, really | 18:18 | ||
not that I've ever studied PL/I... | |||
but it was famous for being able to parse | 18:19 | ||
IF IF = THEN THEN THEN = ELSE ELSE ELSE = END END | |||
or something like that. | |||
allbery_b | more or less | ||
PL/1 didn't have keywords | |||
of course, neither did FORTRAN | |||
TimToady | we get away that approach even more than PL/I because of our noun markers tend to keep things visually straight. | 18:20 | |
and we achieve a better balance of punctuation vs identifiers, mostly due to {...} inherited from C | 18:21 | ||
most of the identifiers in Perl carry semantic meaning, not just syntactic meaning. | 18:22 | ||
riffraff | sorry about the question, but what is =<> supposed to be? | 18:23 | |
ayrnieu | however it happens, I find perl tremendously easy to read, compared ironically to Python. | ||
avar | t/w 5 | ||
[particle] | it's a STDFISH! | ||
TimToady | =<> is the old <> | ||
riffraff | ah thanks | ||
TimToady | it's just the prefix:<=> iterator dereferencer applied to a null list | 18:24 | |
[particle] | or is that magical argfish? | ||
ajs_ | STDFISH... heh | ||
might be stdfio | |||
ayrnieu | riffraff - also, =$*IN | ||
riffraff | so =<> ==> map {.eval.say} is like the shortest repl ever? | ||
TimToady | <> merely means (), so in fact =() would probably also work. | ||
I guess that would be the lollipop operator | |||
ajs_ | I think that's stdlol | 18:25 | |
TimToady | hmm, as a smiley it looks more like the "I'm about to kiss you" operator | ||
ayrnieu | =<> looks like a bird. | 18:26 | |
[particle] | as opposed to =<> which is imunnaeatchoo | ||
ayrnieu | 's smiley. | ||
riffraff - .eval.say for =<> | |||
18:26
buetow joined
18:27
justatheory joined
|
|||
riffraff | ayrnieu: :) | 18:27 | |
18:43
buu joined
18:46
buubot joined
19:02
awwaiid joined
|
|||
Patterner | <>< is a NONSTDFISH? | 19:03 | |
qmole_ | (fish operators)++ | 19:04 | |
moritz_ | is a non-fish a moose? | ||
Patterner | depends on your universe | 19:05 | |
19:11
weinig|bbl is now known as weinig
19:13
vel joined
19:14
weinig is now known as weinig|bbl
19:19
xinming joined
19:29
awwaiid joined,
justatheory joined
19:36
chris2 joined
19:44
DrSlump_2 joined
19:46
geoffb joined
20:05
mako132_ joined
|
|||
geoffb | Perl 6 port of my Perl 5 OpenGL code from the perl.com articles (lo these many moons ago): www.broadwell.org/dl/step075.p6 | 20:10 | |
It's not fully colloquial yet, but it works! | |||
geoffb is inordinately proud of his baby steps. :-) | |||
integral | geoffb++ | ||
geoffb | thanks, integral | 20:11 | |
20:17
TreyHarr1s joined
20:18
awwaiid joined
|
|||
fglock | ayrnieu: re v6.pm, that's real slow; maybe lack of ram? (requires about 70MB free) | 20:19 | |
ayrnieu | fglock - yes, this machine has 64MB RAM and the less is swap. It's slow, yes, but I can't run pugs at all on this machine, so v6.pm is infinitely faster :-) | 20:20 | |
[particle] | geoffb++! | ||
ayrnieu | 'the rest is' | ||
geoffb | [particle]: thanks! | 20:21 | |
fglock | ayrnieu: btw, v6.pm is open for hacking :) | 20:22 | |
[particle] hasn't coded gl for ~10 years now :( | |||
ayrnieu | understood :-) | ||
geoffb | [particle]: I can't stay away. If I don't do some gl on a regular basis, it literally starts to keep me up at night -- and then when I finally give in, I stay up *really* late at night hacking away | 20:23 | |
moritz_ | geoffb: that's what they call "addiction" ;) | 20:24 | |
geoffb | moritz_: guilty as charged. | ||
20:25
wilx` joined
|
|||
moritz_ | ;) | 20:25 | |
20:26
mr_ank joined
|
|||
[particle] | geoffb: i used to do some battlefield visualization work for the navy -- i had a sgi onyx reality engine 2 for my workstation :) | 20:28 | |
geoffb | moritz_: there's really just nothing so cool for me as seeing the results of my code in moving, glowing glory | 20:29 | |
[particle]: nice! | |||
[particle] | back in the days of jurasic park | ||
geoffb | [particle]: nodnod. The only people who had the Onyx as a workstation had it when it was newish. | ||
20:30
dec_ joined
|
|||
[particle] | i can remember trying to program opengl after gl, and thinking *yuck*, this is slow! it's not tied to the hardware! | 20:31 | |
geoffb | LOL | ||
20:32
Aankhen`` joined
|
|||
moritz_ | ;) | 20:32 | |
fglock | @tell audreyt re Proxy: how to specify type, such that the compiler can perform bind-time type checking? maybe needs 'is' or 'does' when the proxy is created? | 20:36 | |
lambdabot | Consider it noted. | ||
meppl | good night | ||
fglock | meppl: good afternoon | 20:37 | |
meppl | ;) | ||
fglock | hmm - my example should probably be @a := @($proxy), instead of @a := $proxy; or doesn't it make difference? | 20:40 | |
Arathorn | ooh | 20:51 | |
Arathorn checks out the p6 opengl code | |||
Arathorn learnt to program in C and IRIS GL, originally - alas for the platform abstraction :) | |||
geoffb | :-) | 20:52 | |
Bunch of old timers here! | |||
20:52
nipra joined
|
|||
[particle] | it's hard to believe | 20:52 | |
Arathorn was on an IRIS 1400 rather than an Onyx RE2, tho' ;) | |||
[particle] | i used to have a couple vi sessions open, while whales and dolphins swam in the background :) | 20:53 | |
geoffb | [particle]: and now, after all these years, you can start to do it again. :-) | 20:54 | |
[particle] | (reliving the glory days)++ | ||
geoffb | too true | 20:55 | |
moritz_ | now we have vim to substitue vi ;-) | ||
Arathorn | and OSX is probably the closest match to IRIX :( | 20:57 | |
fglock | I used to do CG with assembler and turbo-pascal, in an ibm-pc with VGA (and DOS) | ||
geoffb | fglock: ditto, except Turbo C. :-) | ||
[particle] | fglock: i did that too! wrote many a ray tracer with borland turbo c | ||
geoffb | Although my earliest graphics were on the Tandy Color Computer | ||
fglock | heh :) | 20:58 | |
[particle] | c64 for me | ||
Arathorn used turbo C - its online help was lovely | |||
[particle] | ooh, yes, it was shiny help | ||
geoffb loved Turbo Debugger | 20:59 | ||
fglock | turbo pascal was much faster with one-pass compiler & link (on a 286 or something) | ||
geoffb | That thing ruled | ||
Arathorn | my earliest graphics were on the Dragon 32, which was a british clone of the TRS80. fairly limited, though, unless you dropped into 6809 | ||
geoffb | I stopped buying Borland compilers when they told me they wouldn't come with TD anymore | ||
And Turbo Assembler actually came with full 386 instruction docs with detailed timings. Bloody helpful. | 21:00 | ||
ayrnieu | fglock - compilers.iecc.com/crenshaw/ ; recursive-descent one-char-lookahead syntax-driven direct-to-assembler one-pass compiler tutorial, in Pascal. I've been going through it, writing perl5 and emitting PIR. | 21:01 | |
lambdabot | Title: Let's Build a Compiler | ||
ayrnieu | oh, it emits 68k asm. | 21:02 | |
fglock | ayrnieu: cool :) | ||
geoffb | ayrnieu: what is the source language? Also Pascal? | 21:03 | |
21:04
asz joined
|
|||
fglock | it is a language called TINY | 21:05 | |
ayrnieu | geoffb - no, a made-up one. It's slow starting.. | ||
also, starting. | |||
geoffb got his current job writing a Forth interpreter in Perl. And the $job has absolutely nothing to do with Forth. :-) | 21:06 | ||
moritz_ | writing an interpreter in an interprete language is.. interesting ;-) | 21:08 | |
fglock | decommute & | 21:09 | |
ayrnieu | Forth is one of the more interesting languages, as compiler-writing goes. | ||
geoffb | quite fun, actually. | ||
ayrnieu | moritz_ - that URL pauses at lesson 8 or so to show how similar compilation and interpretation are :-) | ||
moritz_ | ayrnieu: which URL? | 21:10 | |
ayrnieu | moritz_- compilers.iecc.com/crenshaw/ | 21:11 | |
lambdabot | Title: Let's Build a Compiler | ||
moritz_ | ayrnieu: I searched for something like this a while ago and din't find anything suitable | 21:13 | |
21:16
Gothmog__ joined
21:30
rafl joined
21:41
larsen_ joined
21:45
putter joined
|
|||
geoffb | rafl: do you still maintain pugs builds for Debian? | 21:46 | |
putter | so is donate.pugscode.org ready to be mentioned in public? boston.pm in ~1 hour. | 21:52 | |
lambdabot | putter: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
moritz_ | putter: not really ;-) | ||
putter: currently it just has a "donate" botton and a few lines of text | |||
putter | but does the donate button work? :) | 21:53 | |
ie, has there been an end-to-end test, before folks start throwing money at it? | |||
moritz_ | I haven't tried entirely, but I'm pretty sure it dos | ||
if you click on it you come the the paypal page | 21:54 | ||
but no end-to-end test | |||
Arathorn | where will the funding go, ooi? | ||
ah, to audreyt | 21:55 | ||
putter | though the page is a bit ambiguous on that point. "support the work of audreyt" could be funds go to a florist to provide her with flowers. | ||
moritz_ | putter: you're welcome to clarify the page | 21:56 | |
putter | well, not quite that ambiguous. but perhaps should more explicit | ||
moritz_ | my english is not the best, so I'm always happy to hear such comments | ||
putter | np. very very nifty to see it happening | 21:57 | |
geoffb | ditto that | 21:59 | |
moritz_ | putter: it already says "support the work of Audey Tang _on pugs_" | 22:01 | |
putter: how is that ambigous? | |||
22:02
Limbic_Region joined
|
|||
putter | paying for a secretary, or renting a machine, etc, could be supporting work on pugs. != money lands in audreyt's bank account | 22:03 | |
22:04
Gothmog_ joined
|
|||
moritz_ | putter: so how would you phrase it? | 22:04 | |
putter | i think i'll mention it as an as-yet-untested draft. | ||
hmm... | 22:05 | ||
Limbic_Region | putter - what did the secretary comment mean? | ||
lambdabot | Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
Limbic_Region | @moosages | ||
lambdabot | diakopter said 8h 43m 7s ago: :P | ||
putter | insufficient brain just now. will try to look at it later. headed out door. & | 22:06 | |
Limbic_Region: re ambiguous about what happens to donation | |||
& | |||
Limbic_Region hasn't been able to keep up with the support audreyt activity but will catch up and stay caught up starting this time tomorrow | 22:08 | ||
22:11
Gothmog__ joined,
Psyche^ joined,
larsen_ joined
22:14
Limbic_Region joined
22:23
Psyche^ is now known as Patterner
22:31
prism joined
|
|||
bsb | what is perl5's $/ called now? | 22:35 | |
geoffb | bsb: If you're asking about doing something like local $/ = '' , it happens that I asked that yesterday. | 22:37 | |
The answer was: nothing implemented yet, use slurp & split instead | |||
hence: | 22:38 | ||
my @defs = slurp($defs).split(/\n\s*\n/); | |||
bsb | I was headed in a different direction so I'll ask on p6l | 22:39 | |
thanks geoffb | |||
geoffb | bsb: fair enough, np | ||
22:42
explorer joined
22:44
rashakil__ is now known as rashakil
|
|||
geoffb | Is pugs's time hi-res on all platforms, or just *nix? | 22:46 | |
22:49
pelagic joined,
ludan joined
22:52
wilx` is now known as wilx
22:55
ruoso joined
|
|||
Limbic_Region | @tell audreyt ext/HTML-Entities/t/entities.t is the test that hangs on Win32 (apparently I did nmake test not nmake smoke last night) | 22:59 | |
lambdabot | Consider it noted. | ||
23:00
drupek12 joined
23:01
Gothmog_ joined
|
|||
Limbic_Region | perlmonks.org/?node_id=604642 | 23:07 | |
lambdabot | Title: can you use perl6 from haskell? | ||
Limbic_Region doesn't know the answer to that | |||
pasteling | "geoffb" at 208.201.228.107 pasted "bug in hyper infix of list & scalar?" (12 lines, 360B) at sial.org/pbot/23474 | 23:10 | |
moritz_ | geoffb: what should @list >>/>>2 do? | 23:13 | |
geoffb: I never came across that before | |||
geoffb | @list >>/>> 2 should work, not throw. And @list >>/<< 2 should throw, not work. | 23:14 | |
lambdabot | No module ">>/>> 2 should work, not throw. And @list >>/<< 2 should throw, not work." loaded | ||
geoffb | bad lambdabot, no botsnack | ||
At least from my understanding of S03 | |||
moritz_ | bloody dns | 23:15 | |
I can't access the specs right now *sigh* | |||
23:19
lichtkind joined
|
|||
lichtkind | chromatic++ for adding disclaimer on A and E | 23:20 | |
23:27
BooK_ joined,
theorbtwo joined
|
|||
Juerd | That's great. | 23:34 | |
If now someone could update dev.perl.org's documents... | |||
23:39
charsbar joined
|
|||
geoffb | (somewhat) cleaned up and colloquialized Perl 6 OpenGL code: www.broadwell.org/dl/step075.p6 | 23:44 | |
23:45
diakopter joined
|
|||
[particle] | is there no atan2 equiv in p6? | 23:48 | |
at least, in pugs? (i think i wrote one for parrot) | |||
Limbic_Region looks for giggles | 23:49 | ||
moritz_ | [particle]: iirc there is some disagreement between the specs and pugs... | ||
[particle]: there is a two argument form of atan in pugs | 23:50 | ||
23:50
IllvilJa left
|
|||
[particle] | ah | 23:50 | |
so that eval could be { 4 * atan 1, 1 } or something | |||
Limbic_Region | ?eval atan(2,2) | 23:51 | |
23:51
evalbot_r15681 is now known as evalbot_r15692
|
|||
evalbot_r15692 | pugs: user error (*** *** Can't modify constant item: VUndef at <prelude> line 781, column 9-46 <prelude> line 781, column 9-46 at) | 23:51 | |
moritz_ | pugs> atan(2,2) | 23:53 | |
0.7853981633974483 | |||
Limbic_Region | try that * 4 | 23:54 | |
;-) | |||
eval: my $pi = atan(2,2) * 4; $pi | |||
buubot | Limbic_Region: Error: Undefined subroutine &main::atan called at eval line 1. | ||
moritz_ | how many bots do we have here? | 23:55 | |
[particle] | all of them | ||
(so it seems sometimes) | |||
eval ?eval @eval | |||
moritz_ | !eval | 23:56 | |
devbot6 | moritz_: Error: "eval" is not a valid command. | ||
Limbic_Region | ?eval my $pi = atan(2,2) * 4; $pi | 23:58 | |
evalbot_r15692 | pugs: user error (*** *** Can't modify constant item: VUndef at <prelude> line 781, column 9-46 <prelude> line 781, column 9-46 at) |