Camelia, the Perl 6 bug

IRC log for #parrot, 2011-06-25

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 whiteknight hello dukeleto
00:05 mtk left #parrot
00:05 cjh left #parrot
00:05 dukeleto whiteknight: howdy. what are you hacking on?
00:05 whiteknight nothing at the moment. I just signed on and am hunting for prey
00:06 dukeleto whiteknight: me too
00:06 soh_cah_toa so i have a few test files that i created in a separate directory in t/tools. isn't there some @array i'm supposed to add it to in some package? i forget the name
00:07 soh_cah_toa i think it's @library_tests or something
00:08 dukeleto soh_cah_toa: probably in the config/gen/makefiles/root.in file
00:09 soh_cah_toa oh wait, i think it's lib/Parrot/Harness/DefaultTests.pm
00:09 dukeleto soh_cah_toa: that is what is used to generate the Makefile. Or maybe that pm
00:09 soh_cah_toa it's so the tests are run during "make test"
00:10 NotFound soh_cah_toa: PBC_TEST_FILES
00:11 soh_cah_toa i fixed that pbc issue by just compiling the .pir file in testlib
00:12 NotFound "just"?
00:13 soh_cah_toa i fixed that pbc issue by compiling the .pir file in testlib ;)
00:13 NotFound "compiling"? ;)
00:19 dalek parrot/soh-cah-toa/hbdb: 7e5f19a | soh_cah_toa++ | / (5 files):
00:19 dalek parrot/soh-cah-toa/hbdb: Renamed and moved test files into a separate directory and added them to the list of tests run with "make test"
00:19 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/7e5f19a0aa
00:30 Limbic_Region joined #parrot
00:31 rodrigo joined #parrot
00:32 dukeleto rodrigo: welcome to #parrot
00:34 dalek parrot: ab704f3 | Whiteknight++ | src/oo.c:
00:34 dalek parrot: Remove one more methodcall to namespace from oo.c
00:34 dalek parrot: review: https://github.com/parrot/parrot/commit/ab704f36e2
00:41 NotFound whiteknight: please take a look at my comment on TT #2103
00:42 whiteknight okay
00:42 whiteknight I really hate vtable MMD
00:42 whiteknight hate it
00:43 NotFound I think we should ask if some HLL is using that vtable, and deprecate it if not.
00:45 whiteknight yes, I like that. Send an email to parrot-dev and parrot-users?
00:45 NotFound I think so. And comment it at next #ps
00:46 rodrigo left #parrot
00:48 NotFound "Does the same thing as the other cmp_* variants, but puts a PMC in $1.  This is useful for avoiding the semipredicate problem in HLLs where two aggregate PMCs are not always comparable."
00:48 NotFound This is what the doc of cmp_pmc in cmp.ops says.
00:48 dmalcolm left #parrot
00:49 NotFound I doubt about the "useful" part if it always throws.
00:50 NotFound Also, my english isn't able to parse "semipredicate problem" %-)
00:50 theory left #parrot
00:50 * dukeleto is glad his tests are useful
00:51 dukeleto NotFound: yeah, the docs could be a lot more clear about what that means
00:51 dalek TT #2138 created by whiteknight++: Deprecate unnecessary NameSpace methods
00:51 dalek TT #2138: http://trac.parrot.org/parrot/ticket/2138
00:52 NotFound Amazing, wikipedia knows it.
00:54 NotFound Given that definition, it looks like that op is trying to avoid throwing an excepction, and failing miserably on that task.
00:55 whiteknight NotFound: didn't you add a get_main method to the Packfile PMC?
00:56 NotFound whiteknight: not yet, only to Eval.
00:56 whiteknight oh, Eval. Gotcha
00:56 whiteknight I'm hacking on Packfile PMC tonight. I'll look at adding it
00:56 whiteknight and ability to look up other functions and constants
00:57 whiteknight I want to start making PackFile able to replace Eval
00:57 whiteknight and then I want to kill Eval
00:58 NotFound Sounds good.
00:58 dukeleto a big +1 to removing Eval PMC
01:00 NotFound whiteknight: I think there was a problem in order to locate main in a loaded packfile, the :main flag get lost somewhere.
01:00 whiteknight NotFound: I am going to un-lose it
01:00 NotFound Good.
01:02 whiteknight I'm adding set_pointer to Packfile PMC right now so IMCC can return it
01:02 whiteknight IMCCompiler.invoke will continue to return Eval for backwards compatibility. IMCCompiler.compile() and .compile_file() are going to return Packfile PMC
01:02 whiteknight so we can start upgrading people
01:04 NotFound I've made an amazinf discovery, there are people that sell wikipedia articles as books.
01:04 lichtkind left #parrot
01:04 dukeleto NotFound: sad little people they must be
01:05 NotFound $62.48 Paperback Book, 124 pages
01:05 NotFound Sad clients, I'll say.
01:11 NotFound dukeleto: TT #2048 isn't the same thing as TT #2103 ?
01:18 bubaflub ~
01:22 whiteknight PackfileBytecodeSegment has a get_main method
01:23 whiteknight but I cant figure out how to get at it from the Packfile PMC
01:40 soh_cah_toa whiteknight: i had the same problem several weeks ago
01:40 whiteknight and I hope you have a solution handy?
01:41 soh_cah_toa i'll let you know when you tell me :)
01:41 NotFound whiteknight: You mean main_sub? Doesn't look like doing the right thing.
01:41 whiteknight NotFound: I don't know if it is or not. I can't get it so I can't test it
01:42 whiteknight no, it returns the INTVAL offset of the main_sub
01:42 whiteknight probably the key for the PackfileConstantSegment PMC
01:45 NotFound There is a Parrot_pf_get_packfile_main_sub function
01:46 dalek parrot: ccadaea | Whiteknight++ | src/pmc/ (3 files):
01:46 dalek parrot: misc fixes to LexPad so we can headerize. Headerize. Add a prototype set_pointer vtable to Packfile PMC
01:46 dalek parrot: review: https://github.com/parrot/parrot/commit/ccadaeaa9c
01:46 dalek parrot: a59df70 | Whiteknight++ | src/pmc/ (2 files):
01:46 dalek parrot: IMCCompiler.compile returns a Packfile PMC now. This is safe because the method is still experimental and nobody is using it
01:46 whiteknight Yes, but that works on a PackFile* wrapped in a PtrObj PMC
01:46 dalek parrot: review: https://github.com/parrot/parrot/commit/a59df70da1
01:46 dalek parrot: e0016a9 | Whiteknight++ | src/pmc/lexpad.pmc:
01:46 dalek parrot: Add some ARGMOD stuff to lexpad PMC
01:46 dalek parrot: review: https://github.com/parrot/parrot/commit/e0016a95c3
01:47 whiteknight I think I want to redo the packfile PMCs
01:47 * soh_cah_toa would be very happy
01:48 whiteknight Right now, Packfile and friends try to duplicate data from the PackFile structure, but don't duplicate it perfectly
01:49 whiteknight I think a better design would be thin wrappers around PackFile* which use the PackFile* for storage directly
01:49 soh_cah_toa that's not a bad idea
01:50 whiteknight Then all we would need to do is add METHOD wrappers for existing src/packfile/api.c API functions
01:51 soh_cah_toa it would be a lot cleaner and organized that way
01:51 soh_cah_toa and reduce duplication which is always a plus
01:51 whiteknight Or, better yet, Keep the PackFile* stored in a PtrObj PMC, and write object wrappers in something friendly like Winxed, using NCI access on the packfile API functions
01:51 whiteknight well, I don't know if that would be "better", but fun to think about
01:52 whiteknight yes, I'm definitely not liking the duplication of the current PMCs
01:53 NotFound The problem is that PackFile structs are not intended for iterative creation, but the PMCs are.
01:55 JimmyZ joined #parrot
01:59 bubaflub left #parrot
02:03 soh_cah_toa this may be a little off topic but would any of you know whether the parrot.org stylesheet is an original creation or one of those free templates that come w/ cms's like drupal/wordpress?
02:04 * JimmyZ knows that
02:04 whiteknight I have no idea
02:05 soh_cah_toa b/c i found a site that looks like a mirror image of parrot.org. i was just wondering if that was...well...bad
02:18 dukeleto soh_cah_toa: most likely a slightly tweaked drupal theme
02:18 dukeleto soh_cah_toa: it is Drupal
02:18 soh_cah_toa ah, ok
02:19 whiteknight left #parrot
02:20 soh_cah_toa then this guy probably just used the same one, that's all
02:26 JimmyZ left #parrot
02:38 rurban joined #parrot
02:40 bubaflub joined #parrot
02:41 rurban__ left #parrot
02:41 contingencyplan left #parrot
02:56 Limbic_Region left #parrot
02:58 cotto joined #parrot
02:58 cotto ~~~
03:35 redicaps joined #parrot
03:36 redicaps left #parrot
03:40 theory joined #parrot
03:49 theory left #parrot
04:44 bubaflub left #parrot
05:08 benabik left #parrot
05:28 soh_cah_toa left #parrot
05:53 cotto It's quiet.
05:57 sorear hi
05:59 sorear I need a programming language which is fast, supports garbage collection with 6model-style STables, makes dynamic code generation easy, and offers good support for coroutines and stack introspection
06:00 jsut joined #parrot
06:03 sorear cotto: I wonder if what I want is Lorito
06:04 sorear I beleive I brought this up before, but that was before YAPC::OR, and it sounds like you're bored now.
06:05 jsut_ left #parrot
06:13 cotto not so much bored as resting
06:13 cotto but not resting so much I'm not up for talking about Lorito
06:14 cotto sorear, do you need it now or in the foreseeable future?
06:15 sorear it's for a project I'd like to do.
06:15 sorear I can put off starting it indefinitely
06:17 sorear Go, Haskell, and $Lisp are on the table
06:17 cotto Lorito isn't a specific language as much as the combination of M0 and a MOP, though we'll need to figure out what M0 overlay language looks like if we want to avoid going insane from writing a bunch of M0 directly.
06:19 dodathome joined #parrot
06:19 sorear the main problem I have with C is expensive coroutines
06:22 sorear yeah.  I'm wondering if I could be helping the Parrot project by pioneering the use of M0 overlays and M0 VMs and 6model+M0
06:23 cotto Someone'll need to start on that soon.
06:23 sorear M0 promises efficient coroutines, JITless operation (another constraint I forgot), and easy dynamic code generation
06:24 cotto jitless operation?
06:24 cotto Does that mean anything more than "doesn't have a jitting interpreter"?
06:29 sorear I mean "can it run at a reasonable speed without JIT startup costs"
06:29 cotto ok
06:30 sorear basically, I want to match 'time perl -E "say 2 + 2"'
06:31 cotto that's a good target
06:31 sorear the last Perl 6 implementation I did was C# based and it takes like 5 seconds just to JIT the parser
06:34 dukeleto ~~
06:34 cotto hio dukeleto
06:34 dukeleto cotto: hola
06:37 dukeleto cotto: looks like it will be in the 80's and 90's in Asheville for YAPC::NA
06:38 cotto dukeleto, that saves me from having to look that up.  Packing for warm weather will be nice.
06:43 dukeleto cotto: it does say a chance of thunderstorms, which I am really looking forward to. I haven't seen a decent thunderstorm since moving out west
06:43 cotto There was a terrific wind storm in Chicago at yapc a couple years ago.
06:43 cotto dukeleto, we need an M0 overlay language.  thoughts?
06:45 mj41 joined #parrot
06:56 mj41 left #parrot
07:00 fperrad joined #parrot
07:31 daniel-s joined #parrot
07:34 daniel-s_ joined #parrot
07:34 daniel-s left #parrot
08:08 JimmyZ joined #parrot
08:17 rodrigo joined #parrot
09:02 Eclesia joined #parrot
09:02 Eclesia hi
09:16 lucian joined #parrot
09:30 daniel-s_ left #parrot
09:51 Eclesia NotFound: found a bug on resolving method on self, test case : http://pastebin.com/LUz9hahk
09:54 ambs joined #parrot
10:09 dalek parrot: 58eb810 | mikehh++ | t/op/lexicals.t:
10:09 dalek parrot: remove trailing spaces
10:09 dalek parrot: review: https://github.com/parrot/parrot/commit/58eb810fc4
10:09 dalek parrot: 438bf3b | mikehh++ | src/pmc/lexinfo.pmc:
10:09 dalek parrot: remove trailing spaces, update copyright
10:09 dalek parrot: review: https://github.com/parrot/parrot/commit/438bf3ba4f
10:09 dalek parrot: acd2a95 | mikehh++ | src/pmc/lexpad.pmc:
10:09 dalek parrot: add missing ASSERT_ARGS
10:10 dalek parrot: review: https://github.com/parrot/parrot/commit/acd2a95061
10:14 daniel-s joined #parrot
10:33 Drossel joined #parrot
10:35 dalek parrot: 4f6855f | mikehh++ | src/pmc/imccompiler.pmc:
10:35 dalek parrot: add missing documentation
10:35 dalek parrot: review: https://github.com/parrot/parrot/commit/4f6855f47d
10:35 dalek parrot: 2410627 | mikehh++ | src/pmc/lexpad.pmc:
10:35 dalek parrot: add missing function documentation
10:35 dalek parrot: review: https://github.com/parrot/parrot/commit/2410627510
10:38 rurban_ joined #parrot
10:38 Kulag left #parrot
10:39 contingencyplan joined #parrot
10:41 rurban left #parrot
10:41 rurban_ is now known as rurban
10:43 NotFound Eclesia: winxed has no multimethods yet.
10:44 Eclesia ok
10:46 Eclesia NotFound: how does 'boolean' values work ? since there is no 'boolean' type ?
10:47 NotFound Eclesia: you mean the builtin constants true and false?
10:48 Eclesia yes
10:48 NotFound Easy: true is 1 and false 0.
10:49 Eclesia if I want to store them, I must use an int then
10:49 redicaps joined #parrot
10:49 NotFound Yes.
10:52 Eclesia NotFound: in Exception class, severity level works in which way ? 0 is severe, 10 is not important ?
10:53 NotFound Eclesia: see runtime/parrot/include/except_severity.pasm in parrot
11:15 rodrigo left #parrot
11:17 mikehh All tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_5_0-35-g2410627
11:17 mikehh Ubuntu 11.04 i386 (g++ --optimize)
11:27 Eclesia NotFound: the size of an array is not length(array) ?
11:29 NotFound Eclesia: no, length is string length. You need elements(array)
11:33 Eclesia thanks
11:37 Eclesia NotFound: is there a method to remove trailing spaces on a string ? (try trim(str))
11:37 Eclesia tryed*
11:38 NotFound Eclesia: no
11:39 NotFound In general, winxed builtins just uses features already present in parrot.
11:41 Eclesia NotFound: so is there something like string.getChar(0) or string.startWith("...") ?
11:41 * Eclesia to make this trim function
11:49 Eclesia chr(out STR, in INT)
11:49 Eclesia The character specified by codepoint integer $2 is returned in string $1.
11:49 Eclesia but that's in pir, looks like the name changed in winxed
11:50 NotFound Eclesia: you can use substr, chr, and operator []
11:51 NotFound And ord
11:51 NotFound But I don't undestrand why you may want chr for that task.
11:52 Eclesia well (in java) we have String.getCharAt(index)
11:53 Eclesia chr definied looked like it was doing the same thing
11:53 Eclesia definition*
11:53 Eclesia but [] seems to do the same
11:53 NotFound chr gives you a one character string with the codepoint specified.
11:54 NotFound s[n] is syntactic sugar for substr(s, n, 1)
11:58 NotFound Eclesia: keep in mind that many people here are not fluent in java, so "something like java xxxx" is not a good description.
11:59 Eclesia NotFound: I can only compare with what I know. since I don't code in javascript or c/c++ . we certainly have very little common syntaxe to share
12:02 NotFound You can try gwbasic X-)
12:08 Eclesia NotFound: substr is (String, startCharIndex, endCharIndex) or (String, startCharIndex, lenght) ?
12:08 NotFound Eclesia: length
12:08 Eclesia ^^ one more difference with java
12:11 NotFound Eclesia: note that the string is not an object. The point is not to mimic some String class, wich is pointless because is not an instance of any class, but to translate directly to parrot ops, for speed and simplicity.
12:12 NotFound So in order to guess what winxed builtins do, you must think about the parrot ops.
12:13 NotFound Or even better, don't guess. Look at the source, and test.
12:15 Eclesia easy to say when you understand c/c++, pir, pod docs and where to find what you are looking for ...
12:15 NotFound BTW you can use methods of the parrot String class with winxed string type. The string is automatically boxed in that case.
12:16 NotFound Eclesia: testing is easy: winxed -e 'say(substr("hello", 1, 2));'
12:19 NotFound Try that with java ;)
12:21 Eclesia :p
12:22 Eclesia can't compare parrot and jvm. debugger, profiler, IDEs, libs ... it's a different world
12:22 NotFound Aye
12:23 NotFound I just point that with more dynamic languages sometimes is faster to do a quick test than to look at the docs.
12:23 Eclesia in 6~10 years perhaps parrot will look like the current java ecossytem if oracle continues to destroy everything :D
12:26 NotFound I don't use IDEs anyway.
12:26 NotFound Last time I used and IDE it was Borland C++ builder.
12:26 NotFound an
12:28 * Eclesia can't imaging developing a big project without proper code refractoring, syntaxe highlight or files over 2000 lines
12:30 Eclesia NotFound: I have declared a function in a namespace (http://pastebin.com/xJSjM8Q9) . now I want to use it, I write Strings.trim(...)
12:31 Eclesia NotFound: what is the correct writing to call it ?
12:31 NotFound Winxed stage 1 is now at 10004 lines. Too big for my taste, but in the current state keeping it as one big file is convenient,
12:32 * Eclesia already have 6 winxed files for eria, all less then 100 lines
12:36 Eclesia found it : using Strings.trim;
12:37 Eclesia NotFound: it's not possible to avoid writing it before calling it ?
12:37 NotFound Eclesia: you can also use: using Strings.trim; .... trim(....)
12:38 NotFound Eclesia: if you load it from other file, using is the way to go. Declaring external functions is not implemented yet.
12:39 NotFound $load "Strings.pbc";
12:39 NotFound function main()
12:39 NotFound {
12:39 NotFound using Strings.trim;
12:39 NotFound say("<", trim(" hhh    "), ">");
12:39 NotFound }
12:39 NotFound This works.
12:47 Eclesia NotFound: I have heard of namespace and frame. do you have a minute to explain the different ways to express a 'scope' in parrot ?
12:50 redicaps left #parrot
12:53 NotFound Not sure what you mean by 'frame'. In what context you hear it?
12:54 jsut_ joined #parrot
12:54 Eclesia somone talked about it about nqp
12:55 NotFound Probably is lexical related.
12:57 * Eclesia don't know.
12:57 NotFound I don't know much about nqp, I can explain how winxed does things and its parrot basis.
12:58 Eclesia I would be grateful if you could explain even a little :)
12:58 jsut left #parrot
12:59 NotFound Parrot namespaces can contain subs, variables and other namespaces. You can use the get/set_global family of opcodes to look in the current namespace, the base namespace of the current HLL, or the parrot root namespace.
13:00 NotFound Winxed uses also a less dynamic approach: for functions defined in the current file, it search the scope and statically bind the functions located.
13:02 NotFound And you can use "using" and "using namespace" to expand the scope search.
13:02 NotFound This ways are borrowed from C++.
13:03 NotFound You have some extreme examples in winxed t/advanced/10scope.t
13:03 Eclesia is there a way to hide a sub/var in a namespace ? like for example I want this sub to be available only by those in the same namespace
13:04 NotFound I use this convention: namespace __private { define things } using namespace __private;
13:06 Eclesia are there other ways to express a scope ? you said lexical a bit before
13:06 NotFound But this makes the __private part available only to the current namespace in the current file, not when using the same namespace in other file compiled apart.
13:08 NotFound Lexicals are a different beast. The lexical context of a sub is defined with the :outer modifier, and lexical variables are looked up by name.
13:09 NotFound In nqp and rakudo, blocks inside a sub are compiled to separated subs, kept togeheter by :outer and sharing variables by lexical means.
13:10 NotFound Winxed is different in this regard, it uses lexicals automatically when anonymous functions use variables declared in the function where they are declared.
13:11 NotFound Where the anon function is declared, I mean.
13:12 NotFound for example: function a() { var i = 10; var f = function() { return i; }; return f; } ..... var x = a(); say( x() ); ---> prints 10;
13:13 NotFound i defined in used fron the anonymous function returned, wich really is a closure.
13:16 * Eclesia digest all this (make take several minuts) :D
13:16 Eclesia may*
13:17 NotFound Winxed does not do that for other kinds of blocks, like nqp does, because it doesn't genearte independent subs for them. Block scopes are completely handled at compile time.
13:18 fperrad left #parrot
13:19 NotFound Eclesia: don't worry, it took months for me understand parrot lexicals enough to be able to implement that in winxed.
13:20 fperrad joined #parrot
13:20 * Eclesia is actually searching for the correct way to define scopes like 'private, protected, public'
13:21 NotFound Eclesia: I plan to eventually implement that in winxed, but don't have yet even a clean path in mid.
13:27 NotFound AFK for a while.
14:08 rohit_nsit08 joined #parrot
14:17 jsut joined #parrot
14:22 jsut_ left #parrot
14:27 Eclesia is now known as Eclesia_afk
14:42 bubaflub joined #parrot
14:52 Eclesia_afk is now known as Eclesia
15:09 dalek winxed: r1061 | NotFound++ | wiki/Winxed.wiki:
15:09 dalek winxed: Edited wiki page Winxed through web user interface.
15:09 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1061
15:09 dalek tracwiki: v151 | NotFound++ | Languages
15:09 dalek tracwiki: Chaged Winxed repository
15:09 dalek tracwiki: http://trac.parrot.org/parrot/wiki/L​anguages?version=151&amp;action=diff
15:09 dalek website: NotFound++ | Migrated winxed to github
15:09 dalek website: http://www.parrot.org/cont​ent/migrated-winxed-github
15:11 JimmyZ NotFound: winxed.org is not updated
15:13 NotFound Take it easy.
15:15 cotto ~
15:15 cotto NotFound, nice
15:25 zby_home_ joined #parrot
15:27 zby_home left #parrot
15:29 rohit_nsit08 left #parrot
15:32 NotFound http:/winxed.org/ updated.
15:34 whiteknight joined #parrot
15:35 JimmyZ NotFound++
15:37 whiteknight NotFound++
15:38 cotto I like that song.  NotFound++
15:38 PacoLinux NotFound++
15:40 dukeleto NotFound++ # yay, winxed is in git
15:41 dukeleto NotFound: will you be using Github issues for Winxed?
15:42 NotFound dukeleto: I suppose so.
15:42 daniel-s left #parrot
15:44 * Eclesia don't see what's new on the winxed site
15:44 NotFound Not much.
16:06 estrabd left #parrot
16:13 Eclesia can some tell me why parrot complain when compiling this : http://pastebin.com/bQaeapig ?
16:14 Eclesia error:imcc:syntax error, unexpected ANNOTATE, expecting $end ('.annotate')
16:14 Eclesia in file 'target/Function.pir' line 1
16:14 Eclesia error:imcc:syntax error ... somewhere
16:14 NotFound Eclesia: unfortunately, annotations must be inside subs
16:15 Eclesia ok
16:15 cotto You can't have executable code outside a sub in PIR, so it doesn't make sense to put annotations there.
16:15 Eclesia I was thinking annotation were like 'description' of what is following
16:16 cotto In the future, please use a nopaste without ads such as nopaste.snit.ch
16:16 cotto aloha, nopaste?
16:16 aloha cotto: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
16:17 Eclesia ok
16:18 nopaste "Eclesia" at 192.168.1.3 pasted "test" (1 line) at http://nopaste.snit.ch/54746
16:18 Eclesia nice :)
16:21 GodFather joined #parrot
16:25 cotto They expire after a while (a week or so iirc).  If you need something to be stored for longer, gists are really nice.
16:33 Eclesia .sub Winxed_class_init :anon :load :init <-- As I understand, this creates a new object. does the sub name matters ?
16:35 NotFound Eclesia: the purpose of that subs is to create the classes at load time. The name is not importante, it's :anon
16:35 rohit_nsit08 joined #parrot
16:35 cotto Those modifiers mean that the sub won't have an entry in the namespace, will be loaded when the file it's in is loaded as a library and will be run first when the file is run directly.
16:41 Eclesia i don't yet see the difference exactly. if I only one of them. what would that mean ?  the three names are similar to 'on load/start/init'
16:41 Eclesia :anon stands for what ?
16:42 Eclesia (sorry for my awful english)
16:42 cotto "anonymous/'
16:42 NotFound Anonymous
16:42 cotto s./..
16:42 Eclesia a sub anonymous ... what it's purpose ?
16:43 Eclesia ho i see, not being useable later, only used when file is loaded
16:43 cjh joined #parrot
16:47 NotFound In this case, the sub is intended to run automatically just one time, so there is no need to put it in a namespace.
16:48 NotFound In general, :anon can be used later, by its subid.
16:54 * whiteknight has a present for soh_cah_toa
16:54 * Eclesia victory! first (empty) class generate ec > pir > pbc
16:54 dalek parrot/whiteknight/packfilewrapper: c1055bc | Whiteknight++ | src/p (4 files):
16:54 dalek parrot/whiteknight/packfilewrapper: Create new packfile API functions Parrot_pf_new (PackFile_new) Parrot_pf_destroy (PackFile_destroy), Parrot_pf_serialize_to_string and Parrot_pf_deserialize_from_string. Add new prototype PackfileWrapper and PackfileManager PMC types
16:54 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/c1055bcb91
16:54 sorear :anon is useful when you're writing code and don't want to worry about namespace hell
16:54 sorear opbots trust Eclesia
16:54 slavorg Ok
16:54 slavorgn Ok
16:55 cjh left #parrot
16:55 whiteknight Eclesia++
16:58 Eclesia is there a concept of 'module' in parrot ?
16:59 Eclesia forget it, namespace can replace it
17:02 rodrigo joined #parrot
17:16 Eclesia NotFound: is it possible to extend a parrot class in winxed ?
17:20 NotFound Eclesia: You mean inherit from it?
17:20 Eclesia yes
17:21 NotFound Yes, you can do for example: class MyArray : ['ResizablePMCArray'] { .... }
17:21 Eclesia thanks
17:28 GodFather left #parrot
17:29 rohit_nsit08 left #parrot
17:35 dalek rakudo: 4f47105 | (JD Horelick)++ | docs/announce/2011.06:
17:35 dalek rakudo: Update 2011.06 announcement with the releasename and another Douglas Adams reference.
17:35 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/4f4710590f
17:35 dalek rakudo: 70c5ca4 | (JD Horelick)++ | docs/release_guide.pod:
17:35 dalek rakudo: Update release_guide.pod for 2011.06 release.
17:35 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/70c5ca49e2
17:35 dalek rakudo: b2bc994 | (JD Horelick)++ | VERSION:
17:35 dalek rakudo: [release] bump VERSION
17:35 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/b2bc994069
17:37 dalek rakudo/nom: 7bfc64f | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
17:37 dalek rakudo/nom: Get PROCESS in place. Should only ever have one of these.
17:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7bfc64f9ec
17:37 dalek rakudo/nom: baf7677 | jonathan++ | src/Perl6/ (2 files):
17:37 dalek rakudo/nom: Make things like $PROCESS:IN = ... work.
17:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/baf7677257
17:37 Eclesia is it possible in pir to indicate we want a var to be of a given class ?
17:38 Eclesia (objective is to have an error if we try to assign a value of a different type in it)
17:40 JimmyZ left #parrot
17:40 Eclesia perhaps something like :   .annotation 'enforceType' , '....classname'
17:41 whiteknight no, nothing automatic like that
17:41 whiteknight there is an "isa" op, that you can use to check if an object is a given type
17:41 whiteknight so you would use something like if(!isa(obj, expected_type)) { throw "All hell breaks loose!"; }
17:42 whiteknight isa is a PIR op. it may be a winxed built-in too
17:42 Eclesia yes, but since anyone can modify a var in a class, I'm not sure someone who uses them mess up.
17:42 whiteknight of course, annotations can be used to store arbitrary key/value pairs, so you *could* write your own mechanism to do that
17:44 Eclesia whiteknight : you mean it's possible to write something which would be pluged in parrot. add check each time the value is affected ?
17:44 Eclesia could*
17:44 Eclesia and*
17:45 whiteknight no, not plugged in to parrot. You could write your own function to read annotations, take an object and a key, and verify that the object matched the type specified by the key
17:45 whiteknight although that seems like the hard way to do it
17:45 whiteknight also, there is a "can" opcode which tests whether an object has a certain method
17:45 whiteknight the type of the object doesn't matter as much as the interface
17:57 dalek rakudo/nom: 2c533ea | jonathan++ | src/Perl6/Actions.pm:
17:57 dalek rakudo/nom: Fix GLOBAL lookups.
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2c533eafc0
17:58 dalek rakudo/nom: de38225 | jonathan++ | src/Perl6/SymbolTable.pm:
17:58 dalek rakudo/nom: Was a little to eager in lexical => lexical_6model; still need to look for lexical in the odd place. Unbusts some lookups.
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de3822530b
18:00 dalek parrot/whiteknight/packfilewrapper: fc5776b | Whiteknight++ | / (7 files):
18:00 dalek parrot/whiteknight/packfilewrapper: PackfileWrapper -> PackfileView. Fixes so we can build. Headerizer. Add some functionality to PackfileView to match or exceed what Eval provides in terms of getting access to constants and Subs
18:00 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/fc5776b98a
18:04 cotto whiteknight, what's your plan in that branch?
18:05 whiteknight cotto: Replace Eval. Make IMCC return a custom PMC type instead of a dumb
18:05 whiteknight PtrObj
18:05 whiteknight I would also like to start moving the current Packfile* PMCs out of core into a bytecode-building dynpmc lib
18:06 whiteknight but that's a deprecation cycle away,at least
18:06 sorear make sure there's a migration path suitable for PCT::Compiler
18:06 whiteknight sorear: Yes, definitely. Should already be
18:06 sorear compile-and-run mode uses Eval
18:06 whiteknight IMCC returns a PMC with a PackFile* struct pointer in it. Then, we wrap it in an Eval PMC and return it. That's what we do now
18:06 whiteknight So I changed out the first PMC type used, but we're still returning an eval
18:07 whiteknight If we have $P0 = compreg 'PIR', invoking $P0 directly returns an eval. Calling the newfangled .compile and .compile_file methods returns a PackfileView instead
18:07 whiteknight so that's the migration plan. Stop invoking the damn compiler directly and treat it like an object, like all other compilers are
18:08 whiteknight so we deprecate IMCCompiler.invoke vtable, migrate to .compile() method, all is well with the universe
18:09 sorear you'll have to add a runtime warning, because it's impossible to usefully grep for $P0()
18:09 whiteknight The new PMC offers the same capabilities as Eval: Get the main sub, get subs by index, etc. It also offers easier serialization and deserialization, save to file, access all constants (P, N, and S), etc
18:09 whiteknight sorear: of course. I'm making alternatives available now. In no big hurry to start ripping out the old
18:09 whiteknight We need the alternatives in, used, tested, documented, etc before we start talking about removing anything
18:11 whiteknight What I like now is that with a single Packfile PMC type, I can call the compiler, get back a PMC, and write that same exact PMC to file without any fuss
18:12 whiteknight viola! a .pbc file
18:12 whiteknight or, take what the compiler returns, get the main function, and execute it
18:12 whiteknight or take what the compiler returns, look up an arbitrary function in it, and execute that
18:12 whiteknight manually trigger the :load functions if needed, or the :init functions too
18:17 whiteknight What's the process for adding a new PMC? I added those two types but the system doesn't seem to recognize them
18:17 Eclesia lastindexof <-- does not exist ?
18:18 cotto whiteknight, pmcrenumber?
18:19 whiteknight hmm, that's not in make help
18:19 whiteknight or dont read not good
18:19 whiteknight Actually, I don't think its in there
18:20 whiteknight No love
18:20 whiteknight Class 'PackfileManager' not found
18:22 whiteknight The types are getting registered at init time. I see them in the code at src/core_pmcs.c
18:22 whiteknight And all the constants like enum_class_PackfileManager exist in the code
18:24 cjh joined #parrot
18:24 cotto looks like reconfig
18:25 dalek rakudo/nom: c66a42a | moritz++ | src/core/IO.pm:
18:25 dalek rakudo/nom: update IO.say
18:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c66a42a8c3
18:25 dalek rakudo/nom: a67ebc3 | moritz++ | src/core/IO.pm:
18:25 dalek rakudo/nom: set up $*IN and $*OUT
18:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a67ebc3be5
18:26 whiteknight ah, nevermind. Wrong parrot
18:26 whiteknight uninstall made my problems go away
18:27 whiteknight SUCCESS!
18:27 whiteknight I <3 Parrot
18:30 whiteknight this is going to be a good day, if I can start getting this all working correctly and get some tests going
18:34 whiteknight cotto: Another thing I am doing is working on the packfile subsystem API: Bringing functions up to naming standards, and hopefully getting non-api stuff moved into other files for clarity
18:34 whiteknight so the cleanup work is a big deal too
18:35 cotto I saw.  The awesomeness is increasing.
18:35 cotto whiteknight++
18:37 whiteknight The current packfile PMCs try to duplicate or replace PackFile*, but it's not complete
18:38 whiteknight and I don't think it easily can be. They're useful for creating new PackFiles, but not great for representing them in normal use in a program
18:38 whiteknight getting back from a compiler, examining values from it, writing to file, etc
18:38 rurban_ joined #parrot
18:40 whiteknight With this, we get to the point where we can start writing the frontend/parrot/main.c frontend in PIR itself, with far less C bootstrapping
18:41 rurban left #parrot
18:41 rurban_ is now known as rurban
18:41 whiteknight and proper PIR-based exception handling
18:41 cotto srsly?
18:41 whiteknight srsly
18:41 cotto WANT
18:41 whiteknight In fact, I might put together an example using pbc_to_exe tonight
18:42 cotto What about the options that effect interp init?
18:42 cotto Are you going to have a parent interp take care of those?
18:46 whiteknight that's the small amount of bootstrapping code we would need
18:48 cotto Are you thinking about how to avoid that if it's not needed?  Starting two interps won't help startup time.
18:49 whiteknight https://gist.github.com/1046768
18:49 whiteknight not two interps. Same interp
18:49 whiteknight we just jump into PIR code earlier. We do less initialization in C, then jump to PIR and do the rest
18:49 whiteknight that's a quick gist I put together with the new PMCs
18:50 whiteknight we can do compilation from PIR. Maybe even load in IMCC from PIR if we set up that kind of code
18:50 whiteknight we have a lot of work to do still
19:02 rodrigo left #parrot
19:08 Eclesia what is the method to clear a Hash (remove all values) ?
19:10 Eclesia and how to iteratare on all key/value pair in winxed ?
19:10 Eclesia iterate*
19:12 NotFound Eclesia: for (key in hash)
19:13 Eclesia ho like a array
19:13 Eclesia an*
19:15 cotto Eclesia, C or pir?
19:15 cotto or nqp
19:15 Eclesia cotto: winxed :D
19:15 cotto ok
19:16 cotto whatever NotFound says, then
19:16 Eclesia cotto:  if you have pir, that should be close
19:16 NotFound There is no direct way to clear, but you can do: hash.set_value_type(hash.get_value_type())
19:16 NotFound The for loop gives key, to get the values you can use the same ways as in pir.
19:17 rohit_nsit08 joined #parrot
19:17 Eclesia NotFound: is there a 'null' pmc ?
19:17 NotFound Eclesia: yes
19:18 NotFound But there ins no need to instantiate it, you just need to set a pmc register to null.
19:19 Eclesia NotFound: I can do that on any type (string,var, ...) if(value == null){ ... } ?
19:19 NotFound Only with string and var.
19:19 Eclesia number type are set to 0 by default ?
19:19 NotFound Yes.
19:19 Eclesia ok
19:25 whiteknight left #parrot
19:25 whiteknight joined #parrot
19:32 rodrigo joined #parrot
19:32 Eclesia NotFound: if(self.attributeMap[attId] != null) <<--- this is always true, even if the key does not exist. normal ?
19:34 dalek rakudo/nom: 4f8a6d9 | moritz++ | src/core/IO.pm:
19:34 dalek rakudo/nom: set up $*ERR, jnthn++
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f8a6d9eab
19:35 Eclesia whiteknight: if you know ?
19:36 NotFound Eclesia: not normal.
19:37 Eclesia (attributeMap is a Hash)
19:39 NotFound Eclesia: I can't guess what's happening just with that line.
19:39 Eclesia NotFound: I am writing a simple test
19:44 Eclesia hm... must be on my side, work in the test
19:45 whiteknight left #parrot
19:45 whiteknight joined #parrot
19:50 whiteknight left #parrot
20:03 dalek rakudo/nom: 348b506 | moritz++ | src/core/ (2 files):
20:03 dalek rakudo/nom: make say() and print() redispatch to the methods on $*OUT
20:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/348b506977
20:06 nopaste "Eclesia" at 192.168.1.3 pasted "hash and != bug" (14 lines) at http://nopaste.snit.ch/55018
20:06 Eclesia NotFound: here it is
20:07 Eclesia it should print "ok" but it doesn't
20:15 NotFound Eclesia: parrot hash by default have string keys and PMC values. Asking for a string in this case gives an empty string, not a null one.
20:15 Eclesia should be null
20:16 Eclesia an empty string is not the same thing as a null.
20:17 NotFound Eclesia: I think so, but winxed just reflects what parrot does,
20:18 Eclesia looks like an ungly hack to avoid null checks later in the code   :/
20:18 Eclesia -n
20:19 NotFound You can use the exists operator.
20:19 Eclesia NotFound: is there a method containKey(key) ? this way I could bypass the error
20:20 NotFound if (exists map[key]) ....
20:20 Eclesia NotFound: you're too fast ^^
20:23 NotFound No method. There are the exists_keyed... vtable functions, wich is what the winxed exists operator uses.
20:23 fperrad left #parrot
20:28 autark_ joined #parrot
20:28 autark left #parrot
20:29 autark_ left #parrot
20:29 autark joined #parrot
20:33 dodathome left #parrot
20:40 ambs left #parrot
21:00 krunen left #parrot
21:03 Eclesia finally parsing, something that looks like a real class :) http://nopaste.snit.ch/55036
21:05 sorear Eclesia: ooh, cool, what are you working on?
21:06 Eclesia something between a vm and a syntaxe. eria model
21:06 Eclesia you have a set of class describing paradygms
21:06 Eclesia and you provider a parser to transform code in those. which are then compiled to code
21:08 Eclesia from experience, no syntaxe is perfect, some like script are better for short programs, but other generaly static typed are better for back end.
21:09 Eclesia and for science they use other syntaxes, like math expressions
21:09 Eclesia but whatever syntaxe, all projects always have the same organisation
21:09 Eclesia so eria is here for that, provide the standard way to describe and organize. but leaves the developer the choice of the syntaxe
21:10 Eclesia that's the idea ^^
21:11 whiteknight joined #parrot
21:12 sorear There's no e in syntax in English, btw
21:12 * Eclesia was wondering about this one
21:12 Eclesia thanks
21:13 sorear syntaxes is correct however
21:13 rodrigo left #parrot
21:13 rg joined #parrot
21:13 rg left #parrot
21:19 moritz Eclesia: is your native language a romanic language?
21:19 Eclesia moritz: french
21:19 dalek rakudo/nom: b9b7f54 | jonathan++ | NOMMAP.markdown:
21:19 dalek rakudo/nom: Remove a completed entry from nommap.
21:19 Eclesia why ?
21:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9b7f54385
21:19 dalek rakudo/nom: f83b81d | jonathan++ | / (2 files):
21:19 dalek rakudo/nom: First simple cut at our-scoped variables.
21:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f83b81d8f7
21:20 moritz Eclesia: because I thought "sticking and 'e' at the end is so French", and then I thought it could be any other number of languages too :-)
21:22 NotFound Ils sont fous, ces français!
21:22 Eclesia we truly are :D
21:26 Eclesia moritz: at least frenches make good cheese :p
21:27 NotFound With and 'e' at the end.
21:29 dalek nqp: 2f91679 | pmichaud++ | src/HLL/Compiler.pm:
21:29 dalek nqp: Remove long Q:PIR section from HLL::Compiler.command_line().
21:29 dalek nqp: (Will restore the exception handler in a subsequent commit.)
21:29 dalek nqp: review: https://github.com/perl6/nqp/commit/2f9167997b
21:29 dalek nqp: 21aa0e4 | pmichaud++ | / (4 files):
21:29 dalek nqp: Merge branch 'master' of github.com:perl6/nqp
21:29 dalek nqp: review: https://github.com/perl6/nqp/commit/21aa0e4bd6
21:29 Eclesia parrot doesn't talk french ?
21:31 rohit_nsit08 left #parrot
21:32 whiteknight Eclesia: no. I had an idea for i18n support a while ago, but there wasn't enough agreement about it
21:34 Eclesia maybe I should make my parser for french ... syntaxE , classE, methodE ... would be fun
21:38 cotto le parser
21:38 NotFound You can also rename the docs about methods as "Discours de la méthode"
21:38 Eclesia cotto : parseur*
21:39 cotto It's American French.
21:39 cotto ;]
21:40 Eclesia american only have french fries and fench kiss ;)
21:40 Eclesia +r
21:41 cotto and parsers, now
21:41 * NotFound feels like inside 'Pulp fiction'
21:41 cotto I just watched that again today.
21:41 NotFound Le Big Mac, s'il vous plaît.
21:42 Psyche^ joined #parrot
21:42 cotto sadly, "nom" already means something else in French
21:42 Eclesia Un* Big mac
21:43 cotto again, American French
21:43 Eclesia 'nom' means something is english ?
21:43 Eclesia in*
21:44 cotto Eclesia, only on the Internets: http://knowyourmeme.com/memes/om-nom-nom-nom
21:46 Patterner left #parrot
21:46 Psyche^ is now known as Patterner
21:47 Eclesia hm... never heard of it
21:47 dalek nqp: faf34e9 | pmichaud++ | src/HLL/Compiler.pm:
21:47 dalek nqp: Eliminate obsolete "astgrammar" stuff from HLL::Compiler,
21:47 dalek nqp: and another 30 lines of Q:PIR code goes away.
21:47 dalek nqp: review: https://github.com/perl6/nqp/commit/faf34e9590
21:49 cotto It also stands for "new object model" if you see it in the context of Rakudo or nqp.
21:50 Eclesia I don't intend to see or touch rakudo or nqp anymore :D
21:55 NotFound Eclesia: By the way, wich language are you working on?
21:56 Eclesia NotFound: you mean : at work, for the parser or for the parsed file ?
21:57 NotFound The parsed file.
21:57 Eclesia eria
21:57 NotFound Like in "Eria is a large genus of orchids with more than 500 species..." ?
21:58 Eclesia something like that ^^ it's a multi syntaxic model
22:00 NotFound The only result that seems relevant I get from google is only available on cache, looks like its domain got lost.
22:01 Eclesia it's because I have the only here.
22:02 Eclesia have it*
22:02 NotFound Ah, nice.
22:02 Eclesia if you found this eria thing of google code. you can be sure it's not me. (hate google)
22:03 soh_cah_toa joined #parrot
22:03 NotFound No, it was eria.wikidot.com
22:04 Eclesia that's it ^^. but removed everything a few weeks ago
22:04 Eclesia damned google cache
22:04 Eclesia fortunatly it's not everything
22:06 NotFound You are not in touch the times. The trend is to first make a bunch of websites, and maybe later start working on the project ;)
22:08 cotto How can you create a product that you haven't marketed first?
22:09 Eclesia they are just fools, talking and advertising before having something in hands is for commercials and egocentric developers.
22:10 Eclesia I dont intend to make money or fame from it. I want to replace java (only that ...)
22:11 tadzik :)
22:11 cotto oh.  That's all.
22:11 tadzik yeah, simply this
22:11 Eclesia that's all lol
22:12 Eclesia remember : frenchs are fools ;)
22:12 NotFound Again out of trend. The current fashion is trying to replace facebook.
22:13 soh_cah_toa does anybody know if there's some sort of "proof of purchase" ticket i need in-hand to get into the yapc::na conference area? i've paid for my ticket but when i get there, how do they know that i've paid?
22:14 * Eclesia believe social networks are just a waist of time
22:14 Eclesia waste*
22:14 NotFound soh_cah_toa: they know all perl developers are trusted people and you'll not lie to them.
22:14 autark left #parrot
22:15 soh_cah_toa really?
22:17 NotFound I'll not lie to you ;)
22:18 cotto You pretty much tell them your name.  It's a laid back conference in that aspect.
22:19 soh_cah_toa ok
22:19 cotto Technically it's exploitable, but in reality there's not that much benefit.
22:19 cotto If you care about getting into the conference, you probably care enough to support it by paying.
22:20 soh_cah_toa that's true
22:21 cotto For something like OSCON, I can see a much stronger incentive to hack the system.
22:22 soh_cah_toa really? why's that? i don't know much about OSCON
22:23 cotto check the admission prices
22:24 cotto It's much more corporate.
22:24 soh_cah_toa :O
22:24 soh_cah_toa wow!
22:24 cotto (note that I'm not advocating hacking your way into oscon)
22:32 dalek rakudo/nom: 706682b | jonathan++ | src/ (3 files):
22:32 dalek rakudo/nom: Fix roles in pre-compiled situation, so they work as well as in immediate-run mode.
22:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/706682b0c1
22:32 dalek rakudo/nom: dbdb675 | jonathan++ | / (6 files):
22:32 dalek rakudo/nom: Add empty Associative and Positional roles; make List/Parcel/EnumMap do them appropriately.
22:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dbdb675a55
22:32 dalek rakudo/nom: cc24038 | jonathan++ | NOMMAP.markdown:
22:32 dalek rakudo/nom: Remove done items from nommap.
22:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc24038cfa
22:38 whiteknight soh_cah_toa: did you see my new branch?
22:38 soh_cah_toa whiteknight: no, show me
22:39 whiteknight https://github.com/parrot/parrot/compare​/master...whiteknight%2Fpackfilewrapper
22:39 whiteknight the important part is the two new PMC files
22:40 soh_cah_toa oh yeah. look at that...
22:41 dalek parrot/whiteknight/packfilewrapper: ed91e9e | Whiteknight++ | src/pmc/imccompiler.pmc:
22:41 dalek parrot/whiteknight/packfilewrapper: fix typo. IMCCompiler.compile should return a PackfileView,not a Packfile
22:41 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/ed91e9e4b1
22:41 dalek parrot/whiteknight/packfilewrapper: cd54756 | Whiteknight++ | / (5 files):
22:41 dalek parrot/whiteknight/packfilewrapper: Steal logic from Parrot_api_write_bytecode_to_file to create Parrot_pf_write_pbc_file. Use that function to implement PackfileManager.write_to_file. Also, remove PackfileView.execute method, it doesn't work as-is and can be easily replicated using main_sub()
22:41 dalek parrot/whiteknight/packfilewrapper: review: https://github.com/parrot/parrot/commit/cd54756215
22:42 Topic for #parrot is now Parrot 3.5.0 "Menelaus" released | http://parrot.org | Log: http://irclog.perlgeek.de/parrot/restoday
22:42 whiteknight Let me know if you have any suggestions or requests while I'm adding new features
22:42 whiteknight I want to make sure what I am doing works well with what other people are doing too
22:42 jnthn__ Does Parrot_str_new_constant add to the constant pool every time it's called?
22:42 soh_cah_toa so far, i'm liking t
22:42 soh_cah_toa *it
22:42 whiteknight jnthn__: Does it add to the constant pool at all?
22:42 jnthn__ Or does it cache based on the constant string?
22:42 jnthn__ whiteknight: I don't know
22:43 jnthn__ whiteknight: I'm trying to make sure it doesn't make a new string every time it's called and then never throw it away.
22:43 jnthn__ whiteknight: Otherwise line 716 of core.ops leaks
22:44 whiteknight https://github.com/parrot/parrot/​blob/master/src/string/api.c#L611
22:44 whiteknight no
22:44 whiteknight adds the string to the constant string hash, if it doesn't already exist
22:44 soh_cah_toa whiteknight: oh yeah, this is very nice
22:45 whiteknight soh_cah_toa: I'm glad you like it!
22:45 jnthn__ whiteknight: Ah, OK, cool :)
22:45 pjcj left #parrot
22:45 soh_cah_toa you code so fast! you were just talking about this last night. i'm jealous ;)
22:46 whiteknight soh_cah_toa: I code normal speed. I just know a lot of the stuff I need to write without having to look things up
22:46 whiteknight things always go faster when you're more familiar with the system
22:47 soh_cah_toa yeah, having to look everything up definitely slows me down
22:47 whiteknight soh_cah_toa: Spend many many many more days and nights staring at this code while drooling on your keyboard, and you'll be doing it just as quick
22:48 whiteknight I have to run out and get dinner. I'll be back later
22:48 soh_cah_toa see ya
22:49 * Eclesia has won his full day on parrot, a colorfull with correct error message for the compiler : ftp://ftp-developpez.com/js​orel/temp/eriaCompiler0.png
22:49 Eclesia 0:50 ... time to go to sleep
22:51 Eclesia bye all ++
22:51 Eclesia left #parrot
23:00 bubaflub incoming
23:00 dalek parrot-gmp: fa43cd9 | bubaflub++ | t/integer/fits.t:
23:00 dalek parrot-gmp: add tests for fits functions
23:00 dalek parrot-gmp:
23:00 dalek parrot-gmp: this covers mpz_fits_slong_p, mpz_fits_uint_p, mpz_fits_sint_p, mpz_fits_ushort_p, and mpz_fits_sshort_p
23:00 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/fa43cd906e
23:00 dalek parrot-gmp: e36e70b | bubaflub++ | t/integer/sizeinbase.t:
23:00 dalek parrot-gmp: add tests for sizeinbase
23:00 dalek parrot-gmp:
23:00 dalek parrot-gmp: this covers mpz_sizeinbase
23:00 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/e36e70b600
23:00 dalek parrot-gmp: 28a462a | bubaflub++ | t/integer/size.t:
23:00 dalek parrot-gmp: add tests for size functions
23:00 dalek parrot-gmp:
23:00 dalek parrot-gmp: this covers mpz_size
23:00 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/28a462adbf
23:00 dalek parrot-gmp: a97ead0 | bubaflub++ | t/integer/getlimbn.t:
23:00 dalek parrot-gmp: add tests for getlimbn functions
23:00 dalek parrot-gmp:
23:00 dalek parrot-gmp: this covers mpz_getlimbn
23:00 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/a97ead07d2
23:06 lucian left #parrot
23:19 pjcj joined #parrot
23:28 dalek parrot: cd9fe1b | NotFound++ | src/pmc/hash.pmc:
23:28 dalek parrot: rearrange a bit and fix pod in Hash
23:28 dalek parrot: review: https://github.com/parrot/parrot/commit/cd9fe1bd11
23:28 daniel-s joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced