00:00:20 | * | jaco60 joined #nim |
00:33:30 | * | Miko_ quit (Ping timeout: 272 seconds) |
00:47:02 | * | Miko_ joined #nim |
00:48:52 | * | boop is now known as boopisaway |
00:51:17 | * | Miko_ quit (Ping timeout: 240 seconds) |
01:00:20 | * | brson quit (Remote host closed the connection) |
01:05:34 | * | skalpin joined #nim |
01:06:40 | * | skalpin left #nim ("undefined") |
01:07:50 | * | jaco60 quit (Ping timeout: 256 seconds) |
01:09:07 | * | johnsoft quit (Ping timeout: 256 seconds) |
01:13:12 | * | kumul quit (Quit: Leaving) |
01:20:56 | * | dddddd quit (Ping timeout: 246 seconds) |
01:50:48 | * | banister quit (Ping timeout: 252 seconds) |
01:55:33 | * | yglukhov____ joined #nim |
02:00:07 | * | yglukhov____ quit (Ping timeout: 244 seconds) |
02:06:36 | * | pipeep quit (Ping timeout: 272 seconds) |
02:10:58 | * | pipeep joined #nim |
02:11:55 | * | renesac quit (Ping timeout: 252 seconds) |
02:19:37 | * | BitPuffin|osx quit (Ping timeout: 240 seconds) |
02:25:16 | * | renesac joined #nim |
02:43:51 | * | enquora quit (Quit: enquora) |
02:46:48 | * | elbow_jason joined #nim |
02:49:09 | * | ChrisMAN quit (Ping timeout: 246 seconds) |
03:00:31 | * | banister joined #nim |
03:10:56 | * | woadwarrior joined #nim |
03:23:58 | * | darkf joined #nim |
03:35:11 | * | elbow_jason quit (Quit: Leaving) |
03:36:40 | * | dbotton left #nim ("Leaving") |
03:47:24 | * | Jessin joined #nim |
03:47:41 | * | Jesin quit (Disconnected by services) |
03:47:45 | * | Jessin is now known as Jesin |
03:55:14 | * | saml_ quit (Ping timeout: 245 seconds) |
03:56:16 | * | askatasuna quit (Quit: WeeChat 1.2) |
04:13:42 | * | woadwarr_ joined #nim |
04:16:01 | * | woadwarrior quit (Ping timeout: 264 seconds) |
05:12:30 | * | Senketsu joined #nim |
05:18:38 | * | filwit quit (Quit: Leaving) |
05:37:12 | * | Jesin quit (Quit: Leaving) |
05:43:44 | * | Kingsquee joined #nim |
05:46:07 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
06:07:01 | * | lyro quit (Ping timeout: 264 seconds) |
06:21:41 | * | lyro joined #nim |
06:45:27 | * | Miko_ joined #nim |
06:53:32 | gokr | Good morning! |
06:54:14 | * | yglukhov____ joined #nim |
06:57:06 | * | Matthias247 joined #nim |
06:57:23 | TEttinger | hey gokr |
06:57:29 | TEttinger | how's the Ni work going? |
06:57:40 | gokr | Going quite well! |
06:57:45 | Xe | Ni? |
06:57:55 | gokr | I hacked up a little REPL for it so I can make interactive tutorials |
06:58:14 | gokr | Xe: Its a... Rebol/Smalltalk/Self-kinda language written in Ni. |
06:58:22 | gokr | github.com/gokr/ni |
06:58:23 | Xe | Nim*? |
06:58:36 | * | yglukhov____ quit (Ping timeout: 256 seconds) |
06:58:48 | dtscode | ni |
06:58:50 | gokr | No, Ni. As in "less than Nim" or "We are the Knights who say..." |
06:59:05 | gokr | Incredibly stupid name, I know. |
06:59:10 | dtscode | There is no i in ni... oh wait |
06:59:25 | gokr | But Nimbol sounded so... cheezy. |
06:59:49 | TEttinger | dormin |
07:00:05 | TEttinger | rebol is postfix, kinda, right? |
07:00:10 | TEttinger | so, nim backwards |
07:00:24 | gokr | Rebol is prefix but with some operators being infix. |
07:01:08 | gokr | Ni is the same as Rebol, but you can choose if your funcs are to be infix or prefix, and you can also have more than 2 args for infix funcs. |
07:01:18 | gokr | It may be a dumb idea, but I am experimenting. |
07:01:48 | gokr | In Rebol I think only some specific operators are infix. Like you know "+", "-" etc |
07:01:55 | * | Ven joined #nim |
07:02:30 | gokr | So in Ni I can do "[a b c] put 0 foo" |
07:03:13 | gokr | So the "put" func is infix mimicking a "receiver" on the left. |
07:04:28 | * | gour joined #nim |
07:04:42 | gokr | Anyone interested can hop over to #nilang I just created |
07:04:55 | gokr | Don't want to... pollute this channel too much |
07:06:02 | gokr | Anyway, the gist of it is that Ni is a pure interpreter, quite smallish (parser 300 loc, interpreter 700 loc) and its basically an experiment of making a new language mixing various parts of Rebol, Self, Smalltalk and Nim into a 100% live language. |
07:06:20 | gokr | Its meant to mix with Nim. |
07:07:08 | gokr | In parallell fowl is making a bytecode VM for a live language too - but its more like Self/Smalltalk. |
07:09:49 | * | gour quit (Remote host closed the connection) |
07:09:58 | gokr | Also, Ni being based on a Rebol core syntax/idea - is homoiconic and thus is a "kinda Lisp". |
07:10:50 | * | gour joined #nim |
07:11:34 | * | notostraca joined #nim |
07:12:53 | * | TEttinger quit (Ping timeout: 265 seconds) |
07:13:27 | * | gour quit (Client Quit) |
07:14:32 | * | notostraca is now known as TEttinger |
07:20:29 | * | afiskon joined #nim |
07:23:13 | * | Matthias247 quit (Read error: Connection reset by peer) |
07:23:18 | * | Trustable joined #nim |
07:27:01 | * | gour joined #nim |
07:34:45 | * | Demon_Fox quit (Ping timeout: 250 seconds) |
07:40:15 | * | gour quit (Quit: Using Circe, the loveliest of all IRC clients) |
07:40:58 | * | gour joined #nim |
07:46:07 | * | tennix joined #nim |
07:47:42 | * | jszymanski joined #nim |
07:50:00 | ozra | gokr: A a repl, it's progressing :) Me I'm deep in Nim, trying to get the generic inheritance to work - my first real minimum implementation of code in nim choked, so now it's compiler hacking time again ;-) |
07:50:22 | gokr | Hehe |
07:51:01 | gokr | A REPL is just ... well, I don't like them really, but I wanted one to drag people into it. |
07:51:14 | gokr | And to make interactive tutorials. |
07:51:22 | ozra | Yes, it's important as a sort of 'school' :) |
07:51:50 | gokr | As a Smalltalker I consider a REPL to be a poor mans live environment, but ok. |
07:52:35 | * | gour quit (Quit: Using Circe, the loveliest of all IRC clients) |
07:53:21 | * | gour joined #nim |
07:55:43 | * | bjz joined #nim |
07:57:56 | fowl | ozra: I have to write some big impressive GUI to beat him now |
07:58:27 | ozra | fowl: Haha, 3D! No.. 4D! |
07:59:08 | ozra | gokr: fowl: Are these POC or do you intend for them to be scripting langs for use in Nim apps, or any specific use case? |
07:59:38 | ozra | And, what about Nims internal VM? Anything that can be leveraged? |
08:00:02 | gokr | Mine is an experiment for fun mostly - but... the idea is for it to turn into a 100% live language that can mix deeply with Nim. |
08:00:46 | * | Miko_ quit (Quit: Verlassend) |
08:00:53 | gokr | Thus yes, scripting sure. For very large advanced systems (say, oh, a virtual reality 3D system for example) it may turn out to be a powerful tool. |
08:01:27 | fowl | I dunno the purpose of mine. Ask me after it has a name. Should have started with a name tbh |
08:01:50 | gokr | But yeah, I think we both are scratching some itch and having fun mostly. |
08:02:22 | ozra | fowl: So "min", hehe |
08:02:37 | gokr | I hope to get Ni to such a state that I can show it to Smalltalkers as "hey, look at this, its not Smalltalk, but pretty close - and oh, it does native threads etc". |
08:02:44 | ozra | fowl: gokr: I hear you, it is grand fun toying with langs :) |
08:04:22 | gokr | Araq asked why we aren't using the Nim VM - and to be frank, I came at it from a high level angle and didn't really consider it. I will look, but suspect I won't understand it :) |
08:04:30 | gokr | Where is it btw... |
08:05:48 | * | coffeepot joined #nim |
08:05:58 | ozra | gokr: Not sure myself :) I'm taking my degress going from bufxing lexer, to hacking parser, and now I'm tackling semantics. VM is yet to be conquered ;) |
08:06:47 | fowl | A stack based simple VM was easier to write than learning everything I need to for NIMS vm |
08:07:21 | ozra | Yeah, I see |
08:08:53 | * | yglukhov____ joined #nim |
08:09:01 | fowl | Gn |
08:16:58 | ozra | gokr: saw a compiler/vm.nim, hint |
08:28:59 | * | afiskon quit (Quit: Leaving) |
08:35:36 | ozra | Araq, if you're around, I could need a hint: I get 'sameObjectTypes() a = "B_obj" (object) [id=88026, sum.id=88009], b = "B_obj" (object) [id=88172, sym.id=88009]` - as you can see the id's of the compared types differ. Should this be at all possible? Otherwise, can you point me to where object hierarchies are 'created' and the id is generated / set? |
08:36:19 | ozra | "sum.id" should ofc be "sym.id" |
08:39:02 | * | gour quit (Remote host closed the connection) |
08:41:04 | Araq | ozra: er ... sameObjectTypes has special logic for when the objects was generated from a generic |
08:41:09 | Araq | *were |
08:41:38 | Araq | so ... iirc the IDs can be different but sameObjectTypes shouldn't care in this case about the IDs |
08:42:17 | * | Triplefox left #nim ("http://quassel-irc.org - Chat comfortably. Anywhere.") |
08:43:14 | ozra | Yeah, one of the B_obj, stems from C[T] which has been reduced step by step, but then it continues on to A_obj, and finally fails. This is the failing point. I tried variations of forcing the structural comparison in sameObjectTypes (bypassing checks for the special logic that otherwise was skipped), but it still fails.. |
08:44:15 | ozra | But, bottom line: It is expected that the same type can have different id's when working with generics then? So I should solve it here around at least? |
08:45:54 | ozra | Otherwise, I'll dig deeper, if I just get some starting pointers of how the whole type-creation chain looks, broadly... |
08:46:31 | Araq | the type-creation is the most messy part in the compiler ... essentially we never got the type graphs right |
08:46:55 | * | woadwarrior joined #nim |
08:47:01 | * | HaCk3D joined #nim |
08:47:21 | Araq | and I still don't know how it should be done instead ... |
08:48:29 | ozra | Araq: Alright - I think I might as well try to get to the bottom of understanding it then, and hopefully be able to straighten _something_ out... I need those constructs for my use case, and my alternative is coding much of what Nim is anyway, which is not much point, so I might as well invest deeper into Nim ;-) |
08:48:42 | Araq | but to answer your question: yeah that's where you should start your attack |
08:49:21 | Araq | there is then later a type unification done in the C backend so these different-yet-the-same objects produce the same C structs for interop |
08:50:02 | * | woadwarr_ quit (Ping timeout: 272 seconds) |
08:51:03 | ozra | Aha. Could it be better getting more unification back into the AST/type tree sphere? I might have a look there too. Even if the current target is simplest possible fix, I think it could be nice to get a little more understanding for possible future refactorings.. |
08:51:51 | Araq | yeah that would be better |
08:52:38 | Araq | btw I started to improve all this with the "canonicalizer.nim" module |
08:52:58 | Araq | the idea is that 2 types are the same when they produce the same hash |
08:53:15 | Araq | and then the hash is used to generate C code too |
08:53:19 | ozra | Ok. It's canonicalizing 'generally' (routine instantiations etc.) or types alone? |
08:53:29 | Araq | for everything |
08:53:39 | Araq | but the compiler doesn't use this module yet at all |
08:54:08 | ozra | Aha. Ok. I'll look at that too for more understanding. |
08:54:15 | Araq | so the compiler would always produce object_<hash> and we get much better reproducible C code |
08:54:25 | Araq | much better caching |
08:54:34 | Araq | much better interfacing possibilities |
08:55:25 | ozra | Yeah. The dream is a compiler-daemon that keeps trees cached for re-use and can re-compiles only necessary files in *zilch* time :-) |
08:55:37 | Araq | we had that btw |
08:55:46 | Araq | --symbolFiles:on did it |
08:55:50 | Araq | it used to work |
08:55:51 | ozra | Simpler for LLVM / whatever targets later on also.. |
08:56:45 | ozra | Araq: Yeah, I was thinking memory cached (which means all globals has to be factored away - since it may take on several projects from different nim-clients, while still sitting in memory) |
08:57:22 | ozra | But, --symbolFiles is a left over right now? |
08:57:39 | Araq | the serialization code needs to be updated |
08:57:48 | Araq | or perhaps rewritten |
08:57:56 | Araq | the logic is still there and mostly correct |
08:58:04 | ozra | aha, ok. |
08:59:52 | ozra | Ok, I guess I'll print out some hundred pages of source, make lotsa coffee, roll a lot of smokes and go out in the garden and study the code. And hopefully come up with a fix by the evening B-) |
09:00:24 | Araq | you have a weird way of working with code |
09:01:15 | dtscode | Its a legit way though. its what I d... nmd it might not be that good after all |
09:02:23 | Araq | printing stuff out? you need to jump around like crazy bang irrelevant debugging code, wade through 40K of generated AST structures |
09:02:47 | dtscode | rubber ducky debugging |
09:03:26 | dtscode | It also helps me to lay out all of the printed sheets in the ways they are linked, rather than jumping from tab to tab on a computer |
09:03:37 | ozra | Haha, I work to much at the computer, so I at least try to reduce screen time now adays, also raiseable table so I can stand. I'd like to keep my vision 20/20 some years more ;) - It's actually surpringly efficient! You get a better grasp much faster, so when you start the active debugging session - it's much faster. |
09:03:38 | HaCk3D | Araq: i was thinking about this OS exceptions, so: mb we can just fix newException template with OSError, coz its wrong to run it with this type of errors, it doest use ref, it just returns new one |
09:04:37 | ozra | dtscode: Yeah - and having long routines laid out in one long paper (back to back) and draw relational lines. I also syntax highlight _by _hand, haha. In that phase I quickly get a notion for all procs and types defined. |
09:05:00 | ozra | Sort of an "index it in the brain" phase. |
09:05:16 | Araq | ozra: hint: when your debugging code doesn't contain an 'if', it's almost certainly ineffective ;-) |
09:05:45 | * | dddddd joined #nim |
09:06:18 | Araq | these things are run thousands of times before it comes to the case in the source code where it fails |
09:06:33 | ozra | I usually set a global flag when having arrived at some certain position with some certain state. Then there are echo's in strategic places with that global as guard. So I can get a specific segment of events in time rather detailed. |
09:06:52 | gokr | Its interesting how different languages pushes you to different styles. For example "long routines" is basically a bug in Smalltalk code. 20 lines is typically too much. |
09:07:05 | Araq | and now I know you're a true professional, ozra :-) |
09:07:24 | gokr | So printing out Smalltalk code is almost completely useless. |
09:07:25 | ozra | Araq: Haha B-) |
09:07:31 | Araq | gokr: yeah yeah yeah, I've heard that before |
09:07:38 | gokr | But its true. |
09:08:10 | gokr | And my point being - that kind of codebase doesn't really fit the linear flow of paper. |
09:09:07 | ozra | gokr: Small routines are best option in most langs, but when it comes to some of these routines in the compiler, they're mostly long case's - which can be "seen" as procs - it would just be so much unnecessary formalia passing the state of 10 vars to each branch... So, in imperative reality, for speed, and all things accounted - these could be 'viewed' as being several procs ;-) |
09:09:21 | gokr | I am not saying it always makes for "better code", just pointing out that I can't even remember printing out code. |
09:10:19 | Araq | gokr: neither do I, I don't think printing out things has much to do with average method lengths |
09:10:27 | ozra | And, the size of routines doesn't affect the pros of printing in my imo. But, yeah, it probably is a rather unorthodox style. I often solve bugs in my dreams also, haha. |
09:10:31 | ozra | Ah, yeah. |
09:10:34 | ozra | :) |
09:10:52 | gokr | Well, in some ways it does. I used to print out some stuff when I was young - long winding nested ifs in loops etc. |
09:10:55 | gokr | Page up and down. |
09:11:37 | ozra | I guess the main reason for me is getting some sun and smelling the flowers in the garden ;-) |
09:11:47 | * | Tennis joined #nim |
09:12:00 | ozra | And, I don't smoke indoors ;) |
09:12:25 | gokr | Stop smoking ;) |
09:12:29 | * | jaco60 joined #nim |
09:13:38 | * | gour joined #nim |
09:13:42 | ozra | gokr: I held up for 5 1/2 years. Then I decided "when this project is over, I'm gonna start smoking again". Bought a pack resting on the table. And, when the project was done and invoiced, I lit up the first smoke. Felt like I'd never stopped. Will never quit again. Unless I get KOL. |
09:16:40 | gokr | How old are you? |
09:17:00 | * | kas joined #nim |
09:17:06 | gokr | Araq: Peeked at the VM, yeah, doesn't look too complicated - we can revisit it when Ni has matured a bit more. |
09:17:17 | ozra | 37 |
09:17:57 | gokr | Hope you don't regret it |
09:19:33 | gokr | Araq: Btw, did you get our 3dicc Urho stuff rebased to 1.4? |
09:19:46 | Araq | gokr: yes |
09:19:50 | gokr | Super |
09:20:16 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:20:49 | Araq | wrote my own "patch" tool for it |
09:21:03 | Araq | then I figured it doesn't help and did it manually ... *cough* |
09:21:18 | Araq | but this tool will be ready one day ... |
09:21:21 | * | kas quit (Ping timeout: 250 seconds) |
09:21:21 | gokr | Yeah, it was messy. TONS of changes to some of those files |
09:21:33 | ozra | gokr: Yeah, well, rather die early then not live at all ;-) - cool to hear the VM might be leveraged :) |
09:22:23 | gokr | I have no idea how fast the VM is though. But I presume "nippy for an interpreter". |
09:25:03 | Araq | gokr: well it's not that messy and I gave it some heuristics, but this time doing it manually was faster |
09:25:50 | Araq | I could give it c2nim C++'s parser and see what happens |
09:30:19 | * | Demon_Fox joined #nim |
09:30:20 | * | rgv151 joined #nim |
09:33:02 | gokr | Ok, gotta go, later |
09:34:22 | * | johnsoft joined #nim |
09:46:38 | * | woadwarr_ joined #nim |
09:49:06 | * | woadwarrior quit (Ping timeout: 264 seconds) |
09:49:10 | * | Gonzih quit (Ping timeout: 256 seconds) |
09:50:14 | * | Ven joined #nim |
10:04:04 | * | gour quit (Quit: Using Circe, the loveliest of all IRC clients) |
10:07:10 | * | gour joined #nim |
10:08:44 | * | gour quit (Remote host closed the connection) |
10:10:04 | * | gour joined #nim |
10:13:44 | * | don_alfredo joined #nim |
10:15:58 | ozra | Araq: Is there support for "auto abstracts" of generic objects, so to speak? That is, can: ```type A[T] of object {.inheritable}``` be used like ```proc takes–A–like(a: A)``` and then all non generic fields are accessible in `a` inside `takes–A–like`? |
10:17:10 | Araq | quite right |
10:17:22 | don_alfredo | hello. I am having a problem with clang-3.6.1 (installed via macports) on osx 10.9.5. clang just eats up all memory consuming all CPU when compiling stdlib. notice, clang 3.5 works just fine |
10:17:27 | ozra | Neat. |
10:17:45 | Araq | proc p(a: A) is a shortcut for proc p[T](a: A[T]) |
10:18:17 | Araq | I still don't know what proc p(a: A, b: A) means though :-) |
10:18:27 | ozra | Araq: Aha, so it specializes the proc anyway - even if no [T] fields are used? |
10:18:33 | Araq | same T or 2 Ts? |
10:18:41 | Araq | ozra: yes, unfortunately |
10:18:46 | ozra | No T's |
10:18:49 | ozra | Ok. |
10:19:09 | ozra | So then a abstract A is needed for the common case procs. |
10:19:19 | Araq | don_alfredo: doesn't sound like our problem then ? |
10:19:58 | don_alfredo | m... yes, I agree. I just wanted to know if anybody stubled upon this too |
10:20:28 | don_alfredo | perhaps it is a glitch on my machine only |
10:21:58 | don_alfredo | also gcc 5.1 works too |
10:30:15 | * | Tennis left #nim ("Leaving") |
10:33:58 | * | gour quit (Remote host closed the connection) |
10:36:50 | HaCk3D | guys |
10:36:53 | HaCk3D | wtf |
10:36:57 | HaCk3D | nim i |
10:36:58 | * | kas joined #nim |
10:36:59 | HaCk3D | raise newException(OSError, "azazaz") |
10:37:04 | HaCk3D | type is OSErrpr |
10:37:06 | * | don_alfredo quit (Read error: Connection reset by peer) |
10:37:09 | * | smart joined #nim |
10:37:09 | HaCk3D | its okay |
10:37:12 | HaCk3D | but |
10:37:16 | HaCk3D | nim i |
10:37:18 | HaCk3D | import os |
10:37:21 | HaCk3D | raise newException(OSError, "azazaz") |
10:37:28 | HaCk3D | type = ref OverflowError |
10:38:18 | HaCk3D | nvm about "nim i", just nim c |
10:47:52 | * | milosn quit (Read error: Connection reset by peer) |
10:47:56 | * | gour joined #nim |
10:48:09 | * | milosn joined #nim |
10:50:11 | * | kas_ joined #nim |
10:50:22 | * | kas quit (Ping timeout: 272 seconds) |
10:51:22 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
10:51:34 | * | coffeepot joined #nim |
11:00:04 | Araq | HaCk3D: no idea what you're talking about |
11:03:13 | * | JinShil joined #nim |
11:08:57 | * | BitPuffin|osx joined #nim |
11:24:55 | ozra | HaCk3D: If you do not know english very well, just try to say it again with other words. |
11:25:05 | HaCk3D | Araq: i was testing some exceptions |
11:25:16 | HaCk3D | made a new empty file |
11:25:29 | HaCk3D | raise newException(OSError, "test") |
11:25:46 | HaCk3D | compiled it |
11:26:56 | HaCk3D | in a newException template |
11:27:23 | HaCk3D | ive added an echo for exceptn |
11:27:52 | HaCk3D | when i run it |
11:28:02 | HaCk3D | it shows: type mismatch: got (typedesc[OverflowError]) |
11:28:04 | HaCk3D | its okay |
11:28:13 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
11:28:16 | HaCk3D | but when i add "import os" |
11:28:19 | * | banister joined #nim |
11:28:21 | HaCk3D | and rerun it |
11:28:30 | smart | update on clang 3.6 troubles: reinstalled llvm 3.6.1 without the polly optimizer and now it works ok |
11:28:39 | HaCk3D | type mismatch: got (typedesc[OverflowError]) |
11:28:39 | * | smart is now known as don_alfredo |
11:29:32 | * | bjz joined #nim |
11:29:37 | ozra | Is there a troubleshooting page for Nim compiler? don_alfredo : would be great if it was added to something like that, if anyone else has the problem later on |
11:29:57 | don_alfredo | ozra: no idea |
11:30:12 | * | tennix quit (Remote host closed the connection) |
11:31:49 | ozra | don_alfredo: I'll just make a local todo note, if I get around to it. I'll enter it. |
11:33:41 | don_alfredo | ozra: note also nim showed a stacktrace from a hanged clang only when I ran it with --verbosity:2, otherwise it was silent |
11:34:09 | * | tennix joined #nim |
11:34:47 | ozra | ok |
11:37:02 | * | tennix quit (Remote host closed the connection) |
11:39:44 | * | tennix joined #nim |
11:40:04 | Araq | don_alfredo: the polly optimizer is a vectorizer, right? |
11:42:55 | don_alfredo | m... I guess it is |
11:43:01 | * | dddddd quit (Ping timeout: 264 seconds) |
11:43:12 | * | wb joined #nim |
11:44:04 | * | tennix quit (Ping timeout: 252 seconds) |
11:45:29 | don_alfredo | Araq: the effect I witnessed was clang stacktraced on a random file from nim's stdlib, and its processes didn't quit consuming all RAM and CPU |
11:58:33 | r-ku | Jehan mentione new lambda syntax on forum. anywhere i could read on that? |
12:06:51 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:12:49 | Araq | r-ku: it's just an 'import future' away |
12:14:23 | r-ku | oh wow, slick |
12:14:45 | * | JinShil quit (Quit: Konversation terminated!) |
12:14:54 | * | Ven quit (Ping timeout: 264 seconds) |
12:15:05 | * | banister joined #nim |
12:15:10 | * | banister quit (Max SendQ exceeded) |
12:28:34 | * | woadwarrior joined #nim |
12:30:32 | * | Kingsquee quit (Quit: Konversation terminated!) |
12:30:43 | * | woadwarr_ quit (Ping timeout: 255 seconds) |
12:44:49 | * | kas_ quit (Ping timeout: 264 seconds) |
12:45:30 | * | stefantalpalaru joined #nim |
12:48:43 | stefantalpalaru | Hi. Is there something wrong with the test runner in the devel branch? It reports "Failure: reNimcCrash" for all tests even though they build and run just fine. |
12:49:42 | Araq | stefantalpalaru: the tester now uses compiler/bin/nim always iirc |
12:49:52 | Araq | and not the 'nim' in PATH |
12:50:08 | Araq | ozra knows more |
12:50:22 | Araq | and I think it's wrong ... the tester should use what's in PATH |
12:50:34 | stefantalpalaru | I ran "./koch test" in an unmodified devel branch |
12:50:58 | Araq | otherwise we need to make yet another option for the tester ... reinventing PATH ... |
12:51:22 | * | kas joined #nim |
12:58:02 | stefantalpalaru | it works with 'PATH="/<full path>/Nim/bin/:$PATH" ./koch test' |
12:58:23 | Araq | interesting |
13:03:23 | * | woadwarr_ joined #nim |
13:04:23 | stefantalpalaru | for the record, gctest fails with --gc:markAndSweep |
13:04:35 | Araq | we know |
13:05:49 | * | woadwarrior quit (Ping timeout: 255 seconds) |
13:11:37 | * | don_alfredo quit (Ping timeout: 256 seconds) |
13:18:33 | stefantalpalaru | I made the TGenericSeq extension conditional for gogc on https://github.com/nim-lang/Nim/pull/2851 |
13:22:01 | * | johnsoft quit (Ping timeout: 264 seconds) |
13:22:30 | * | dalarmmst joined #nim |
13:22:55 | * | johnsoft joined #nim |
13:23:09 | * | boopisaway is now known as boop |
13:28:08 | * | shiyaz_ joined #nim |
13:28:21 | * | Ven joined #nim |
13:31:03 | * | shiyaz quit (Ping timeout: 276 seconds) |
13:35:02 | * | Senketsu quit (Quit: Leaving) |
13:37:28 | * | don_alfredo joined #nim |
13:41:46 | * | jszymanski quit (Ping timeout: 252 seconds) |
13:43:43 | * | jszymanski joined #nim |
13:45:47 | * | darkf quit (Quit: Leaving) |
13:46:20 | * | darkf joined #nim |
13:47:19 | * | kas quit (Ping timeout: 245 seconds) |
14:00:15 | * | zaquest quit (Read error: Connection reset by peer) |
14:02:12 | * | woadwarr_ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
14:06:35 | * | woadwarrior joined #nim |
14:08:32 | * | milosn_ joined #nim |
14:08:43 | * | milosn quit (Read error: Connection reset by peer) |
14:11:25 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:17:52 | * | don_alfredo quit (Quit: WeeChat 1.2) |
14:19:59 | * | milosn_ is now known as milosn |
14:26:00 | * | askatasuna joined #nim |
14:26:00 | * | Sentreen joined #nim |
14:30:57 | * | Gonzih joined #nim |
14:45:15 | * | Arrrr joined #nim |
14:54:23 | * | Sentreen quit () |
15:08:14 | * | Matthias247 joined #nim |
15:17:15 | * | wuehlmaus joined #nim |
15:22:37 | scoeri | Does anyone know what the type of varargs[T] is and how I can bind the resulting sequence to a variable of type seq[T]? |
15:36:07 | * | brson joined #nim |
15:36:59 | * | Ven joined #nim |
15:44:29 | * | zaquest joined #nim |
15:45:08 | * | darkf quit (Quit: Leaving) |
15:47:29 | * | ChrisMAN joined #nim |
15:49:38 | * | Matthias247 quit (Read error: Connection reset by peer) |
15:56:31 | * | wuehlmaus quit (Remote host closed the connection) |
16:00:15 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:00:29 | * | kas joined #nim |
16:02:48 | * | yglukhov____ quit (Ping timeout: 244 seconds) |
16:03:59 | * | woadwarrior quit (Ping timeout: 246 seconds) |
16:05:41 | * | dddddd joined #nim |
16:13:09 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
16:25:46 | * | Arrrr quit (Quit: WeeChat 1.2) |
16:29:43 | * | Arrrr joined #nim |
16:42:01 | * | woadwarrior joined #nim |
16:42:58 | * | Jesin joined #nim |
16:43:39 | * | HaCk3D left #nim (#nim) |
16:46:07 | * | Arrrr quit (Ping timeout: 265 seconds) |
16:52:42 | * | stefantalpalaru quit (Quit: Leaving) |
16:53:12 | * | Arrrr joined #nim |
16:53:24 | * | yglukhov_____ joined #nim |
16:59:39 | * | johnsoft quit (Ping timeout: 265 seconds) |
17:00:16 | * | johnsoft joined #nim |
17:08:24 | * | yglukhov_____ quit (Quit: Be back later ...) |
17:08:59 | * | zahary quit (Read error: Connection reset by peer) |
17:09:26 | * | zahary joined #nim |
17:17:58 | * | TEttinger quit (Ping timeout: 256 seconds) |
17:25:47 | * | woadwarrior quit (Quit: Textual IRC Client: www.textualapp.com) |
17:27:16 | * | BitPuffin|osx quit (Ping timeout: 265 seconds) |
17:29:06 | * | skroll1 quit (Ping timeout: 252 seconds) |
17:29:59 | * | yglukhov_____ joined #nim |
17:56:01 | * | skroll1 joined #nim |
18:01:02 | * | wuehlmaus joined #nim |
18:04:52 | apense | @scoeri if you have something like proc vartest[T](x: varargs[T]): seq[T] |
18:05:12 | apense | @scoeri then result = @x should give you what you want |
18:05:39 | apense | scoeri, the `@` is converting it to a seq |
18:06:11 | apense | if that doesn't work for some reason, you could do it step-by-step I guess, with result = newSeq[T](len(x)) and then adding each element |
18:10:19 | apense | scoeri, talking about type: "Arguments that are passed to a ``varargs`` parameter are wrapped in an array |
18:10:19 | apense | constructor expression." |
18:10:49 | apense | scoeri, so the '@x' is basically just transforming an array into a sequence |
18:11:40 | fowl | @ is a function on openarray, it isn't some special syntax |
18:11:42 | apense | scoeri, you treat it just like you would an openarray parameter, which you have to convert to a sequence |
18:11:56 | apense | haha beat me to it |
18:12:20 | fowl | That shocked me when I found that out lol |
18:13:38 | Arrrr | does `@`([1,2,3]) work? |
18:13:54 | * | banister joined #nim |
18:14:33 | fowl | Arrrr: it should |
18:14:56 | Arrrr | And @1 ? |
18:15:07 | Arrrr | or @ 1 ? |
18:15:30 | fowl | No. 1 isn't an array |
18:16:45 | Arrrr | I confused it with varargs |
18:19:23 | apense | Arrrr, `@`([1,2,3]) does work. just checked it |
18:19:33 | fowl | @ is high binding so that @arr.len is (@arr).len |
18:20:19 | fowl | So you can use it for cool stuff jester uses @"foo" to refer to query parameters iirc |
18:20:57 | fowl | Contrast to $arr.len which would parse as $(arr.low) |
18:21:45 | Araq | fowl: oh, I should add this to my Nim introduction |
18:23:11 | Arrrr | Please, call it "Nim for Nimrods" |
18:23:21 | * | kas quit (Remote host closed the connection) |
18:23:34 | Araq | it already has a name |
18:24:03 | Arrrr | I hope is not "Learn you a Nim" |
18:24:50 | fowl | Sprechen sie Nim |
18:25:05 | fowl | No wait thats a question |
18:27:29 | apense | Ich spreche Nim, I think. I forgot my German |
18:34:36 | * | miglo joined #nim |
18:37:16 | * | bockmabe quit (Remote host closed the connection) |
18:38:07 | * | vikaton quit (Quit: Connection closed for inactivity) |
18:43:36 | reactormonk | Araq, so how exactly do you run the tester to compare two commmits? |
18:44:25 | Araq | depends on what I'm doing |
18:44:51 | Araq | usually I do 'tester cat foobar' where I first ensured it's all green before |
18:45:28 | Araq | the tester can also diff with the results of the commit before that but I forgot how |
18:46:22 | * | Jesin quit (Quit: Leaving) |
18:48:41 | pigmej | hey everyone :) |
18:50:36 | * | Jesin joined #nim |
18:51:32 | * | g_ joined #nim |
18:51:53 | g_ | ... |
18:51:56 | * | g_ is now known as Guest95793 |
18:53:36 | Araq | hrm Jehan knows how to use .goto from looking at how it's implemented in the compiler. Nice. |
18:54:03 | miglo | Hello! I've studied the oop example at nim-by-example.github.io/oop/ after reading the tutorial and what I would like to know is whether its possible to encapsulate data as it is usually done in other programming languages by use of classes and the keyword "private"? |
18:54:21 | Araq | so ... dom96 can you fix this: http://forum.nim-lang.org/t/1319 |
18:59:27 | Guest95793 | what are the best nim graphics |
19:03:30 | Araq | miglo: everything that has no export marker (the star) is private |
19:04:35 | Araq | if your question is: can a 'private' section be done within a 'class' macro then the answer is 'yes' to that. |
19:08:21 | Araq | Guest95793: I think the stdlib's graphics.nim is still a good starting point. It depends on SDL. |
19:08:57 | miglo | Araq: thanks for the reply ; I've changed the example of https://nim-by-example.github.io/oop/ by adding to the for-loop an "echo ("name=", a.name)" and got the name on stdout but would expect that access to "name" isn't allowed due to the missing star |
19:09:46 | Araq | miglo: the protection is module based, so if your echo is in the same module, there is no protection. |
19:10:16 | Araq | in C++ terms different "classes" in the same module are all friends to each other |
19:10:17 | miglo | Araq: ok, got it - thanks |
19:11:34 | ozra | stefantalpalaru: Araq: The tester first compiles the compiler, using "nim", which has to be found via PATH. It then uses the freshly brewed "compiler/nim --lib:lib" to ensure the compiler and libs from the tested dir/repo is used. So this is curious. What more can you tell stefantalpalaru? Tests must be rock solid, so if there's anything to be improved, I'll take a stab at it.. |
19:11:36 | miglo | nim is a very interesting programming language |
19:11:49 | Guest95793 | araq how do you choose what packages to be in the official nimble repo? |
19:13:39 | ozra | reactormonk: another way to diff, since koch ensures everything used in tests are from "current dir", is to have two repos cloned, devel in one, your branch in other. Run tests in both. Diff the results files. |
19:14:04 | miglo | I see I should read the "moduls" section of the tutorial more carefully |
19:15:16 | vbtt_ | Guest95793:afaik there's no restriction. Also I don't thik Araq manages the nim repo himself. Just submit your PR and see. |
19:15:21 | vbtt_ | Guest95793: https://github.com/nim-lang/packages |
19:15:46 | Guest95793 | ok |
19:18:18 | dom96 | Guest95793: The official packages are the ones which the core dev team maintains. |
19:25:51 | Guest95793 | ok |
19:30:04 | * | Arrrr quit (Quit: WeeChat 1.2) |
19:34:29 | miglo | Is there maybe a binding to the wx framework existing? |
19:39:29 | * | BitPuffin|osx joined #nim |
19:44:40 | * | Guest95793 quit (Ping timeout: 246 seconds) |
19:48:32 | * | Strikecarl joined #nim |
19:51:58 | ozra | Araq: I guess "koch tests" should use "bin/nim" for the first compilation, this is the only fully deterministic process. The boot strapped compiler is always capable of building the piler... No dep on any prior nim or any path. |
19:58:59 | ozra | Wow. I get a retarded point today. Just realized the "little guy with afro due and sun glasses" on the web page is the nim crown, haha. I had wondered why this little dude was everywhere, but not enough to think about it. LOL. |
20:00:22 | fowl | Wat |
20:01:06 | Strikecarl | Thinking the same |
20:01:06 | ozra | fowl: Imagine Hermes from futurama if you |
20:01:11 | ozra | you've seen it. |
20:01:18 | ozra | With white sun glasses. |
20:01:21 | ozra | haha |
20:01:23 | Strikecarl | how the fuck do you get that crown to a little guy with afro due and sun glasses? |
20:01:51 | ozra | As I said, retarded score 11/10, hehe |
20:02:01 | fowl | Lol I don't see it either |
20:02:37 | ozra | It's just the little version, that are at the ends of pages... Lucky you! |
20:03:31 | ozra | eh, just the face that is. But know, I'm not gonna destroy your vision with this lunacy ;) |
20:10:03 | Strikecarl | ohh that little one |
20:10:04 | Strikecarl | ok |
20:10:06 | Strikecarl | i'll just go now |
20:10:12 | Strikecarl | 2weird5me |
20:10:14 | * | Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
20:10:58 | fowl | I can't find it lol |
20:11:22 | fowl | Thought u meant the big crown |
20:12:07 | * | askatasuna quit (Quit: WeeChat 1.2) |
20:14:29 | * | askatasuna joined #nim |
20:28:41 | * | gour quit (Remote host closed the connection) |
20:41:12 | * | kas joined #nim |
20:49:39 | * | Matthias247 joined #nim |
20:55:14 | * | kas quit (Ping timeout: 244 seconds) |
21:06:24 | * | askatasuna quit (Ping timeout: 246 seconds) |
21:16:22 | * | jszymanski quit (Quit: computer sleeps...) |
21:32:57 | * | johnsoft quit (Ping timeout: 252 seconds) |
21:33:15 | * | johnsoft joined #nim |
21:34:54 | * | kas joined #nim |
21:35:44 | * | yglukhov_____ quit (Quit: Be back later ...) |
21:37:54 | reactormonk | ozra, wasn't there a nicer way? |
21:38:43 | ozra | reactormonk: sorry? |
21:38:55 | ozra | oh, diffing? |
21:40:09 | ozra | I didn't know there was features for it before Araq mentioned it today. I use the diff two repos style. Faster to do detail comparisons in case of failure that way. |
21:40:29 | ozra | But then, I don't know how that feature works... |
21:41:49 | * | johnsoft quit (Ping timeout: 264 seconds) |
21:43:45 | * | kas quit (Ping timeout: 276 seconds) |
21:47:40 | * | johnsoft joined #nim |
21:54:18 | * | saml quit (Quit: Leaving) |
21:55:08 | * | Trustable quit (Remote host closed the connection) |
22:04:50 | * | johnsoft quit (Ping timeout: 252 seconds) |
22:05:08 | * | johnsoft joined #nim |
22:08:04 | * | enquora joined #nim |
22:29:05 | Araq | System Requirements |
22:29:06 | Araq | DOS 5.0 or better |
22:29:08 | Araq | 100% IBM PC compatible with a 386 microprocessor or better and a VGA monitor |
22:29:10 | Araq | At least 4 megabytes of total memory |
22:29:19 | Araq | <-- our goal for 2016 ;-) |
22:31:10 | ozra | 640 kB ought to be enough for anybody... |
22:32:44 | vbtt_ | heh |
22:37:05 | * | miglo left #nim (#nim) |
22:42:52 | Araq | the only question is what does "DOS 5.0 or better" mean? |
22:47:58 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:49:08 | flaviu | Araq: 4MiB is a little high.. |
22:49:12 | * | vendethiel quit (Ping timeout: 272 seconds) |
22:49:24 | flaviu | can't it get by with less? |
22:49:41 | flaviu | especially with the standalone target. |
22:50:11 | * | vendethiel joined #nim |
22:51:31 | Araq | I'm more concerned about the VGA monitor requirement :P |
22:51:58 | Araq | but the compiler now uses colors everywhere :P |
22:53:32 | flaviu | Looks pretty. |
23:02:55 | * | brson quit (Ping timeout: 264 seconds) |
23:05:00 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:10:18 | ozra | CGA should suffice, surely! ;) |
23:12:23 | * | Senketsu joined #nim |
23:18:37 | * | saml_ joined #nim |
23:25:02 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:33:57 | * | Pisuke quit (Ping timeout: 240 seconds) |
23:39:52 | * | ozra quit (Ping timeout: 246 seconds) |
23:48:27 | flaviu | huh, ranges don't have a len. I assume that's an oversight? |