Parrot 4.7.0 "Hispaniolan" | parrot.org | Log: irclog/perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 27 August 2012.
rurban_home kid5`++ thanks 00:43
kid51++ 00:44
00:46 benabik joined 00:51 rurban_mobile joined
dalek sella/commandline_2: b090eff | Whiteknight++ | / (6 files):
[CommandLine] update Argument.t tests to match the new ArgumentDef creation semantics. Add an ability to do simple positional argument aliasing with names.
01:03
sella/commandline_2: 2d08c76 | Whiteknight++ | src/commandline/ArgumentDef.winxed:
[CommandLine] Implement ArgumentDef.OldStyleArray, prototype
sella/commandline_2: c87ce20 | Whiteknight++ | src/co (3 files):
[CommandLine] rearrange some TODO notes, removing old ones that I'm not going to pursue.
sella/commandline_2: 9b59086 | Whiteknight++ | src/ (5 files):
[CommandLine] Several fixes to usage message generationg and error handling
sella/commandline_2: f3db1a1 | Whiteknight++ | / (8 files):
[CommandLine] Add in a mechanism for adding a name alias for positional arguments, which can then be accessed by name instead of raw idx. Several other cleanups and changes.
sella/commandline_2: 627b65e | Whiteknight++ | src/commandline/ (2 files):
[CommandLine] Deal with some TODO notes
01:48
sella/commandline_2: b8c454c | Whiteknight++ | src/core/Parrot.winxed:
[Core] Update Parrot.try_report to take a list of alternate handles to use for stderr, stdout and stdin
sella/commandline_2: 01d6f0c | Whiteknight++ | src/commandline/Program.winxed:
[CommandLine] Allow Program to take alternate handles to use in place of stdin, stdout and stderr during program execution.
sella/commandline_2: 9c48367 | Whiteknight++ | src/core/Parrot.winxed:
[Core] don't return values from Parrot.try_report, it cases problems because p and n might not get set if the routine errors out
sella/commandline_2: 2ac63b1 | Whiteknight++ | src/utilities/dump_pbc.winxed:
[Utilities] Cast args to int explicitly, to make sure we don't get null pmc errors
sella/commandline_2: 0f6b180 | Whiteknight++ | src/utilities/dump_pbc.winxed:
[Utilities] add a rudimentary ability to dump header information from the module
03:16 mvorl joined 03:24 mvorl joined 04:13 davidfetter joined
MikeFair sorear: You still about at all? 06:04
sorear hmm? 06:20
MikeFair Hi there! :)
I saw you aren't writing any tutorials
:)
sorear afaik I have never written a tutorial. 06:21
stop confusing me with lizmat++
MikeFair Just a quick question on whether or not this is a bug:
Method 'blocktype' not found for invocant of class 'QAST::CompUnit'
current instr.: 'package_def' pc 134527 (src/stage2/gen/NQP.pir:47128) (src/stage2/gen/NQP.pm:2094)
haha!
sorear: my deepest apologies, I know that you on niecza 06:22
sorear MikeFair: i've never used qast
MikeFair Hmm
sorear I mostly lurk here because occasionally people try to ask niecza questions here
MikeFair sorear: Right, sorry about that 06:23
sorear: For some reason I thought you might, now that I think about it though, I can't tell why I thought that 06:24
06:24 fperrad joined
MikeFair Anyone else here able to be help me get the latest version of nqp working with Parrot? 06:30
sorear Which version of Parrot are you trying to get the latest version (nqp's master?) of nqp working with? 06:37
does nqp work if you build it with --gen-parrot? 06:38
07:01 brrt joined
brrt hi #parrot 07:07
tadzik hi brrt 07:08
07:52 lucian joined
lizmat as never written a Perl 5|6 related tutorial either 07:52
08:13 he__ joined 08:17 schmooster joined 08:19 Psyche^ joined 08:35 schmooster joined
brrt who would've known 09:27
the file system is actually fast 09:28
or, 'the number of files in a directory doesn't matter a bit for file access'
moritz which file system are you talking about? 09:32
brrt that is a good question 09:34
probably, e3fs
moritz there are those which use btrees for access by file name
then it's O(log n)
brrt e3fs 09:35
moritz there are those that use a plain table, like fat32
brrt happen to know what strategy e3fs uses? 09:36
moritz HTree
brrt i feel a huge knowledge gap coming up
what is a htree?
moritz en.wikipedia.org/wiki/Htree
basically a btree optimized for directory listings/accesses :-) 09:37
brrt its a tree with a hash? 09:38
clever stuff 09:39
well, with a million files, and actual content, it still...
creating time is less than a factor two more with over a million files
thats not entierly fair though
with over an average more than half a million files 09:40
basically, is that a global tree for all files in the file system?
would it matter if i use deeper directory nesting?
rurban_mobile setup a cygwin and win32 smoker for several branches. the magic smoke-me/ substr triggers it also. (unless bdw/ cruft) 10:41
github.com/rurban/home-bin/blob/ma...oke-parrot and github.com/rurban/home-bin/blob/ma...ke-parrots 10:42
dalek kudo/export-constant: bb9d84b | moritz++ | src/ (2 files):
export trait for constants
11:37
rurban I'm now working on coke/rm_pasm 11:50
12:07 sivoais joined 12:08 JimmyZ joined
JimmyZ rurban++ 12:08
rurban can we delete most of bdw's copies of other branches at github? 12:22
g st 12:23
JimmyZ doesn't know 12:27
JimmyZ would suggest to delete branches which is less than two commits 12:28
which is a years ago
rurban oops, now the bdw remote branches are all gone 12:31
dalek rrot/native_pbc: a9b26ee | rurban++ | t (9 files):
re-enable native_pbc

use new t/native_pbc/testdata templates to generate pbc's, change string to use binary and utf8 encodings, update mk_native_pbc. TODO: little-endian pbc files missing, preparing a 8_le qemu image to generate them.
12:34
rrot/native_pbc: 99a6e73 | rurban++ | / (15 files):
[GH #394] Revamp native_pbc: t/native_pbc/Test.pm

Simplify tests with a common t/native_pbc/Test.pm library. Delete unneeded pbc files. Update ppc32 t/native_pbc files.
TODO: endian-conversion fails
rrot/native_pbc: 883b0ee | rurban++ | / (40 files):
refactor t/native_pbc/ test ids

Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists.
So we can use now readable test names.
rrot/native_pbc: 599ff31 | rurban++ | t (2 files):
mk_packfile_pbc refactor with t/native_pbc/testdata/annotations.pir
rrot/native_pbc: f7804cf | rurban++ | t/native_pbc/testdata/string.p (2 files):
mv t/native_pbc/testdata/string.pir t/native_pbc/testdata/string.pasm
rrot/native_pbc: 769e507 | rurban++ | / (16 files):
Fixed pbc_header.pl, usage docs, improved version tests

Fixed pbc_header.pl to query and update pbc versioninfo in headers. Improved release manager guide to update native_pbc headers when PBC_COMPAT was not changed. Add better skip message to tests when just the Parrot version was bumped, but bc version matches. Bumped all native_pbc/*.pbc headers to 4.7.0.
rrot/native_pbc: 1a5a275 | rurban++ | t/native_pbc/Test.pm:
native_pbc: refactor skip messages
rrot/native_pbc: 84163f0 | rurban++ | / (19 files):
Revive pbc

The parrot utils could not load pbc compatible, but older pbc fils anymore because opslib directories and the init function hardcoded the parrot version
  (even with patch!) and not the PBC_COMPAT version.
Replaced all parrot version triples in the pbc format with the PBC version duple. parrot utils can now load older but compatible pbc files (again).
Replaced the hardcoded version numbers with c preprocessor macros in the bootstrapped opslib sources and headers, to be more independent and simplier implementation. If the ops did not change, the ops do not need to get regenerated anymore for each version bump. The Ops::Emitter version method is not used anymore, since bootstrap-ops has been simplified.
Sanified the Makefile by adding missing dependencies and do proper identation for depends and commands. Prev. line-broken depends were not visually indistuingishible from commands, and line-broken commands neither.
Store PBC_MAJOR and PBC_MINOR in the config hash, stored by auto::revision.
Bump PBC_COMPAT to 13.0, the opslib directories store now only two version numbers, not three.
rrot/native_pbc: 1a93419 | rurban++ | tools/dev/mk_native_pbc:
fix tools/dev/mk_native_pbc: use new ids
rrot/native_pbc: fcec625 | rurban++ | t (4 files):
regenerate native_pbc for intel 64bit
rrot/native_pbc: 5ebd724 | rurban++ | tools/dev/mk_native_pbc:
tools/dev/mk_native_pbc comments
rurban rebased native_pbc onto master
JimmyZ rurban: there still is bdw/move-os branch
rurban this is okay. I already merged it
but lets wait until the next release before we delete it 12:37
JimmyZ want to delete some branches which is two years ago
rurban JimmyZ: please don't throw away old work. 12:38
JimmyZ rurban: some branches was decided to not merged to master 12:39
rurban but maybe someone wants to redo it somewhen. git branches are cheap 12:40
JimmyZ no, such as tt389_fix
and some gci branches
and pge_no_namespace_methods branch which is 3 years ago :) 12:42
dalek kudo/nom: 2948c89 | coke++ | t/spectest.data:
Run 2 rosettacode tests.
13:23
13:32 bluescreen joined
dalek rrot/native_pbc: 4747cda | rurban++ | t/native_pbc/ (5 files):
update native_pbc files for little-endian
13:42
13:55 benabik joined 14:04 benabik_ joined 14:31 whiteknight joined
whiteknight good morning, #parrot 14:33
dalek kudo/nom: 63de79c | (Salve J. Nilsen)++ | docs/architecture. (2 files):
Updated architecture docs to current state

  - Updated SVG, describing the compilation pipeline, with help
   from pmichaud++
  - Updated the HTML prose describing the different steps in the
   pipeline, with help from pmichaud++
14:35
kudo/nom: 3791f05 | (Salve J. Nilsen)++ | src/Perl6/Grammar.pm:
Merge remote-tracking branch 'rakudo/nom' into nom
kudo/nom: 1905259 | (Salve J. Nilsen)++ | docs/architecture. (2 files):
Updated description of the Core settings
kudo/nom: 558f0de | (Salve J. Nilsen)++ | src/ (5 files):
Merge remote-tracking branch 'rakudo/nom' into nom
kudo/nom: 103e95a | (Salve J. Nilsen)++ | / (32 files):
Merge remote-tracking branch 'rakudo/nom' into nom
kudo/nom: cc18589 | pmichaud++ | docs/architecture. (2 files):
Merge pull request #79 from sjn/nom

Updates to the architecture document and SVG
JimmyZ good morning whiteknight 14:41
whiteknight hello JimmyZ 14:46
brrt hi whiteknight 14:49
whiteknight hello brrt
tadzik oh hello whiteknight
whiteknight hello tazik! Hello everybody
14:49 dmalcolm joined
brrt hows life 14:50
tadzik not bad
whiteknight: did you have a chance to look at the lexical stuff and threads?
whiteknight tadzik: not yet
15:07 benabik joined 15:08 benabik_ joined 15:35 brrt joined 15:36 benabik joined 15:43 NotFound joined, drift joined, GeJ joined, d4l3k_ joined, dngor joined, perlite joined, wagle joined 15:44 tokuhirom joined, particle joined, alvis joined, cotto joined, Psyche^ joined 15:45 contingencyplan joined, rurban joined, dmalcolm joined, nopaste joined, mtk joined, awwaiid joined, fperrad joined, aloha joined 15:46 atrodo joined 15:47 slavorg joined, sorear joined, Tene joined 16:02 brrt left 16:25 bluescreen joined 16:34 bluescreen joined 16:42 bluescreen joined 17:11 rurban_mobile joined
dalek p: 962ffbe | pmichaud++ | src/ (2 files):
QAST::Compiler automatically wraps QAST trees in QAST::Block when needed
17:14
17:20 benabik joined
dalek rrot: 0cc54e6 | doughera++ | / (2 files):
[GH 811] fix seek() sign-conversion error

  Nicholas Clark correctly analyzed it by studying strace.
  Andy Dougherty came with the patch. Confirmed by rurban.
17:47
moderator Parrot 4.7.0 "Hispaniolan" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC 17:50
benabik This looks interesting: github.com/blog/1227-commit-status-api 17:52
rurban benabik: Already works for us because we let travis check our commits 17:54
17:57 benabik joined
whiteknight yay! I'm glad to see that bug get fixed. 17:58
although, since I wrote that entire file, it's DEFINITELY my fault it's there in the first place
benabik needs to set up an IRC bouncer now that he's moving his laptop around more. 17:59
rurban And I thought it was related to swapfs. Oh my.
nine said, that threads can be merged from his POV. He is offline until 9.9. 18:00
whiteknight yes. There is one more issue pointed out by tadzik. I need to figure out if it's a parrot problem or something we need to update for Rakudo
tadzik rakudo is a different story, since the new NQP has custom LexPad PMC, which may or not bring more joy 18:01
whiteknight their lexpads don't play nice with threads, which isn't a blocker because they can still use non-threaded code while we fix that issue
tadzik but it's broken in parrot-nqp too
whiteknight well, I won't cry over parrot-nqp breakages
my official recommendation: Don't do threading with parrot-nqp
although that doesn't work with real nqp and rakudo 18:02
tadzik well, I don't want to, but since it's broken on nqp, we thought we'll try with parrot-nqp as well
at least it's less broken with parrot-nqp than with nqp
benabik parrot-nqp is still the language we direct everyone writing HLLs to. I suggest not ignoring breakages under it. 18:03
whiteknight I suspect lexpads aren't being properly proxied, so cross-thread reads are creating hassles
If that's the case, it should be an easy fix
relatively easy
we just need to find out where interp globals are proxied for new threads, and make sure lexpads are included 18:04
18:25 tuxit joined 18:39 lucian joined 18:43 alvis_ joined
moritz whiteknight: ping 18:57
whiteknight pong
moritz whiteknight: juerd forwarded an email to me that you wanted an account on feather.perl6.nl 18:58
whiteknight: is that still the case?
if so, I can create it right now
whiteknight heh, that's from a long time ago.
yeah, I wouldn't mind having one. It could be very helpful
moritz whiteknight: what username do you want? whiteknight? 19:06
19:06 zabirauf joined
cotto #ps in 8 19:22
19:29 lucian joined
rurban whiteknight: #ps 19:33
moritz whiteknight: account created. Check your emails. 19:34
Coke rurban: one thing you'll find when replacing any .nqp files in parrot (outside of /ext) is that the syntax for some p6 stuff has changed between nqp-rx and nqp 20:03
rurban yes, I saw that when switching. 20:04
Coke I'm wondering if we should even bundle nqp at this point.
rurban I did it as git submodule, but pmichaud suggested to have safe-points
but even with git submodule we could easily use safe points from tags. Easier than bundling 20:05
Coke what do we gain by having it in house? I would argue that winxed is probably enough for parrot's internal needs for a higher level language than PIR.
rurban The only problem is the MANIFEST check and the changed syntax
benabik Blocker: converting all existing NQP to winxed.
Possibly also a blocker: reasonable regexen outside of nqp-rx. 20:06
Coke benabik: right. but you have to convert it all to new NQP anyway. ;)
rurban rakudo decided to base everything on their nqp. our nqp is worthless, we only need it for ops2c and some other minor stuff.
Coke regexes are nice, but do we have a use case for them?
rurban: right. I'm saying lets just drop nqp entirely. is it worth bundling something that should be sitting on top of parrot? 20:07
rurban rewrite ops2c in winxed?
or even perl5
Coke pretty much, aye. 20:08
cotto everything old is new again
Coke for best karma, make cotto do it. ;)
rurban I improved ops2c in some branch of mine anyway.
The produced code looked horrible.
and p6 nqq will soon be completely independent of parrot to be able to switch to something better 20:10
20:11 sivoais joined
Coke pings the list with this, since #ps is so dead. 20:21
sorear is the list alive? 20:24
Coke sorear: which dead location should I talk about it in? 20:25
the list is alive because I will it. ;)
20:50 perlite joined 21:31 schmooster joined
dalek rrot/native_pbc: b3a284c | rurban++ | / (3 files):
fixed the rest of the pbc number converters.

big-endian still untested, need a UltraSparc64 to confirm.
21:43
21:43 benabik joined
rurban I add now single floats, since it is so easy. 21:45
rebased branches are a bit noisy... 21:47
dalek rrot/native_pbc: b66ddd9 | rurban++ | t (9 files):
re-enable native_pbc

use new t/native_pbc/testdata templates to generate pbc's, change string to use binary and utf8 encodings, update mk_native_pbc. TODO: little-endian pbc files missing, preparing a 8_le qemu image to generate them.
rrot/native_pbc: b69c788 | rurban++ | / (15 files):
[GH #394] Revamp native_pbc: t/native_pbc/Test.pm

Simplify tests with a common t/native_pbc/Test.pm library. Delete unneeded pbc files. Update ppc32 t/native_pbc files.
TODO: endian-conversion fails
rrot/native_pbc: 4523d30 | rurban++ | / (40 files):
refactor t/native_pbc/ test ids

Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists.
So we can use now readable test names.
rrot/native_pbc: a035dc0 | rurban++ | t (2 files):
mk_packfile_pbc refactor with t/native_pbc/testdata/annotations.pir
rrot/native_pbc: 7407c9f | rurban++ | t/native_pbc/testdata/string.p (2 files):
mv t/native_pbc/testdata/string.pir t/native_pbc/testdata/string.pasm
rrot/native_pbc: d0a9472 | rurban++ | / (16 files):
Fixed pbc_header.pl, usage docs, improved version tests

Fixed pbc_header.pl to query and update pbc versioninfo in headers. Improved release manager guide to update native_pbc headers when PBC_COMPAT was not changed. Add better skip message to tests when just the Parrot version was bumped, but bc version matches. Bumped all native_pbc/*.pbc headers to 4.7.0.
rrot/native_pbc: b659b74 | rurban++ | t/native_pbc/Test.pm:
native_pbc: refactor skip messages
parrot/native_pbc: 3b48776 | rurban++ | / (19 files):
parrot/native_pbc: Revive pbc
parrot/native_pbc:
parrot/native_pbc: The parrot utils could not load pbc compatible, but older pbc fils anymore
parrot/native_pbc: because opslib directories and the init function hardcoded the parrot version
parrot/native_pbc: (even with patch!) and not the PBC_COMPAT version.
parrot/native_pbc:
parrot/native_pbc: Replaced all parrot version triples in the pbc format with the PBC version duple.
21:48 benabik joined
dalek parrot/native_pbc: parrot utils can now load older but compatible pbc files (again). 21:48
parrot/native_pbc:
parrot/native_pbc: Replaced the hardcoded version numbers with c preprocessor macros in the
parrot/native_pbc: bootstrapped opslib sources and headers, to be more independent and simplier
parrot/native_pbc: implementation. If the ops did not change, the ops do not need to get regenerated
parrot/native_pbc: anymore for each version bump.
parrot/native_pbc: The Ops::Emitter version method is not used anymore, since bootstrap-ops has
parrot/native_pbc: been simplified.
parrot/native_pbc:
parrot/native_pbc: Sanified the Makefile by adding missing dependencies and do proper identation
parrot/native_pbc: for depends and commands. Prev. line-broken depends were not visually
parrot/native_pbc: indistuingishible from commands, and line-broken commands neither.
parrot/native_pbc:
21:48 lucian joined
PerlJam I thought dalek would detect many commits heuristically as a merge and not regurgitate the whole log 21:49
benabik The limit is something like 15?
21:49 dalek joined
sorear yeah. 21:49
rurban I had only 7 or so. 21:52
But I want to keep them together, so I rebase them periodically 21:53
benabik Rebasing is fun, but I tend to avoid it in public repositories.
rurban Just in my branch
So that a merged branch will not look too messy 21:54
22:41 perlite joined
dalek rrot: a3f99d3 | rurban++ | frontend/pbc_dump/main.c:
pbc_dump: enable option -h --header-only

Broken since the packfile API redesign
22:45
23:06 whiteknight joined
dalek rrot/native_pbc: a87f839 | rurban++ | t/native_pbc/ (6 files):
native_pbc big-endian 32-bit regenerated.

endian-ness conversion [GH #807] still broken.
23:43
whiteknight good evening, #parrot 23:50
sorear good evening, whiteknight 23:51
rurban hi whiteknight, we missed you at #ps. should we use a better time? 23:53
whiteknight rurban: my schedule is always bad, and my memory is worse. There is no good time
whiteknight backlogs 23:54
rurban there is a nice tool on your smart phone called calendar with an alarm, and on pc's I've seen it also
:)
I ranted about performance, and we thought about getting rid of nqp at all. 23:55
whiteknight yes, I saw that
rurban In the meantime I fixed most outstanding native_pbc issues. Just one endian conversion LE -> BE is still broken.
whiteknight nqp is such a good tool, I would hate to put too much distance between us and it 23:56
but parrot-nqp is old and unmaintained and we shouldn't rely on that
nqp is a tool for building languages and it's what we should encourage most hll developers to use
rurban Could we avoid installing it in [main]bin? ops2c should also be only in [dev]bin 23:57
most hll devs would want to use perl6 nqp
not our simple nqp-rx
parrot_nci_thunk_gen and winxed shoudl also probably go to [dev] 23:58
whiteknight yes, we should kill parrot-nqp, and direct people to nqp
I would love to see nqp bundled too, like parrot-nqp currently is
rurban That's what we thought.
I tried to link nqp into ext/nqp-p6 as git submodule 23:59
But than coke thought we don't really need nqp at all. Just some minor utils. And ops2c was written in perl5 before.