00:28:07 | reactormonk | btw, just a FAILURE isn't very helpful. How do I find out which test failed? |
01:49:09 | * | q66 quit (Remote host closed the connection) |
02:35:59 | * | Kenny__ joined #nimrod |
02:36:56 | * | Kenny__ quit (Client Quit) |
03:05:15 | * | Kenny__ joined #nimrod |
03:05:58 | Kenny__ | So, am I supposed to have to explicitly dereference a PType when trying to call a procedure that takes a TType? |
03:06:49 | Kenny__ | Or is this a compiler error. |
03:07:22 | Kenny__ | Because the specs say it's highly discouraged, yet I just came across an error when I try to compile that says: |
03:07:41 | Kenny__ | "type mismatch: got (PStateManager) but expected one of: System.Quit(this: TStateManager)" |
03:07:49 | Kenny__ | Until I dereference with [] |
03:10:43 | Kenny__ | The exact context: |
03:10:55 | Kenny__ | method Init(this: PState, manager: PStateManager): bool = |
03:11:10 | Kenny__ | this.Manager[].Quit() |
03:11:13 | Kenny__ | return false |
03:35:16 | fowl | hey |
03:35:24 | fowl | one second while i read |
03:35:52 | fowl | Kenny__, at the moment, yes |
03:36:17 | fowl | automatic dereferencing is coming though |
03:39:55 | fowl | i would change quit() to take PStateManager, having some of your api use P* and some T* is confusing |
03:41:49 | Kenny__ | Ah, well that's fine. |
03:41:54 | Kenny__ | It's easy to work around, like you said. |
03:42:37 | fowl | often when wokring with an object like a manager i will use T* and pass as var T* |
03:42:38 | Kenny__ | Thank you very much, though! I was actually in the process of changing it to use P* |
03:43:32 | Kenny__ | I was passing it as a var T* through it's own procedures, but I need every state to store a reference to the manager for message passing purposes and such |
03:44:06 | fowl | also i have heard an error from naming your module system, but i think you can do this if you put it in a different dir like lib and do import lib/system |
03:45:33 | Kenny__ | Oh no when dereferenced or as a P, it compiles just fine. The error report is just a little funky and thinks Quit() belongs to the System. I don't have that problem with any of my other procedures or methods though, so it's not a big deal. |
03:45:52 | Kenny__ | Is it worthy of throwing on the Issue board though? |
03:46:48 | fowl | no, the error is because currently there is no automatic dereference, it expects TObj but you give it ref TObj |
03:47:57 | fowl | Kenny__, what are you using for graphics, opengl? |
03:48:56 | Kenny__ | Oh no, I was talking about the fact that the compiler reports an error coming from System.Quit() and not TStateManager.Quit(). I now know that the compiler doesn't (currently) auto deref pointer types. |
03:49:06 | Kenny__ | And yes, I'm using the Standard Library OpenGL wrapper |
03:53:28 | fowl | Kenny__, whats the file name where your quit() is defined, is it system? |
03:53:38 | Kenny__ | Nope, local/States.nim |
03:54:11 | fowl | oh ok then yes that looks like an error |
03:54:48 | Kenny__ | Shall I put it up on the issue board, then? Make sure he knows about it. |
03:55:29 | tangentstorm | ok.. how'd i do? |
03:55:32 | tangentstorm | http://i.imgur.com/kSNYstB.png |
03:56:01 | fowl | Kenny__, can you past the whole error message because i get soemthing that looks different |
03:56:04 | fowl | gist.github.com |
03:56:48 | Kenny__ | local/States.nim(153, 17) Error: type mismatch: got (TStateManager) but expected one of: States.Quit(this: PStateManager) system.quit(errormsg: string, errorcode: int) system.quit(errorcode: int) |
03:57:47 | Kenny__ | Both procedures reside in the same file "local/States.nim" The Quit procedure had to be forward declared. |
03:58:05 | Kenny__ | It explicitly states {.noReturn.} |
03:58:16 | Kenny__ | Oh, and it's exported. |
03:58:28 | fowl | er you said it reported system.quit(this: pstatemanager) |
03:58:43 | fowl | this is no error, what you see is the fully qualified name, module.function(args) |
03:58:47 | Kenny__ | Oh, and Tangent, you did great! |
03:59:48 | Kenny__ | Woah, wait a second, that's not right. |
04:00:47 | Kenny__ | Crap, I can't find it anymore. It's buried in terminal output. |
04:01:19 | Kenny__ | The error I was talking about said "System.Quit(this: PStateManager)". |
04:01:29 | Kenny__ | I'll try to replicate it, if I can't I guess I'm just crazy. |
04:03:38 | fowl | tangentstorm, http://build.nimrod-code.org/docs/terminal.html :) |
04:04:22 | Kenny__ | ^^^^ Is there NOTHING the STD has? |
04:04:36 | Kenny__ | hasn't got* |
04:05:04 | tangentstorm | fowl: nice. is that cross-platform then? like in the windows console? |
04:05:40 | * | tangentstorm learns to read. |
04:05:41 | fowl | says so |
04:05:42 | tangentstorm | nice :) |
04:07:58 | Kenny__ | That'll save me a lot of time. I usually have to write a library like that for myself. And usually I only have the motivation to make it *Nix-only. |
04:08:43 | fowl | Kenny__, if you can abstract out some window management stuff for opengl you totally should. I've been meaning to work on a high-level sfml-like library |
04:10:05 | Kenny__ | Honestly I have no clue what I'm doing at the moment. |
04:10:14 | Kenny__ | Reading a book: http://www.arcsynthesis.org/ |
04:10:38 | Kenny__ | I usually just stick to SFML, but I decided to finally learn what I'm doing. |
04:10:47 | fowl | word :D |
04:10:51 | tangentstorm | short boko |
04:10:53 | tangentstorm | book |
04:11:28 | Kenny__ | But when I'm done, I'll see what I can do! |
04:12:09 | fowl | i did the same thing, learned basic x11 window management and event handling from tutorials but i havent used it in a while so id have to relearn |
04:14:19 | Kenny__ | I just hate it when I learn something like X11 management just to go just long enough without using it to forget it when I need it. |
04:15:16 | Kenny__ | What kind of window management stuff were you thinking though? |
04:15:35 | Kenny__ | Don't we already have CSFML bindings, some GLFW bindings, GLUT, SDL, and Cairo? |
04:15:52 | fowl | yea, bindings for days but nothing native |
04:16:28 | Kenny__ | Oh, I getchya! I can do that for sure! |
04:16:56 | fowl | basic window creation, gl context creation, event handling (take events from X/windows/os x) can quickly evolve into a full-blown engine (or be reused by one) |
04:17:08 | fowl | btw are you using the gl module or opengl |
04:17:12 | Kenny__ | openGL |
04:17:17 | fowl | cool good |
04:17:40 | Kenny__ | Yeah, I decided it was best to learn the programmable pipeline over fixed pipeline |
04:18:04 | Kenny__ | However, since I'm rusty with my X and I'm just learning GL & Nimrod, give me a bit before I take on such a big project. |
04:18:21 | fowl | fo sho |
04:18:45 | fowl | im pretty happy with sdl2 atm |
04:19:41 | Kenny__ | Before I make that library, I think I'll practice and get everything down with a character based terminal engine. With input and such, of course. |
04:20:18 | Kenny__ | Sound good? |
04:21:26 | fowl | no, lol |
04:21:31 | fowl | for real i dont recommend that |
04:21:37 | Kenny__ | Ouch, why not? |
04:21:56 | fowl | ncurses was written for that purpose and its terrible to use but better than the alternative |
04:23:21 | * | comex quit (Remote host closed the connection) |
04:23:33 | fowl | stuff like that drawing with ANSI codes, reading from stdin in a non-blocking way, is hella tedious |
04:24:01 | fowl | you'll find yourself writing ncurses |
04:25:03 | Kenny__ | Ah, that's why I always make my (Linux only - but I'd do cross platform for this) library. I never enjoyed Curses. |
04:25:27 | fowl | check out libtcod it may do what you need |
04:25:31 | * | tangentstorm is writing a terminal application |
04:25:34 | Kenny__ | And I usually keep it targetting people making Rogue-likes |
04:25:47 | Kenny__ | But if you insist. |
04:26:01 | tangentstorm | it's a different kind of terminal... |
04:26:14 | tangentstorm | supports variable width fonts and vector graphics. |
04:26:33 | fowl | well im just saying i wouldnt go down that route if i could avoid it, its hairy work and there are battle-tested libraries out there |
04:26:46 | tangentstorm | yeah |
04:26:55 | Kenny__ | Ah, yeah. |
04:26:58 | Kenny__ | I getchya. |
04:27:36 | Kenny__ | Well then it's pretty late here, so I'll talk to you guys later! Thanks for the help. |
04:27:38 | fowl | this might be nice http://freecode.com/projects/libcdk |
04:27:57 | fowl | np kenny |
04:28:24 | Kenny__ | And like I said, once I finish reading up on GL and X, I'll see what I can do about that native windowing library. |
04:28:48 | * | Kenny__ quit (Quit: Page closed) |
04:34:25 | * | ___ joined #nimrod |
04:34:42 | * | ___ quit (Client Quit) |
04:38:43 | * | OnionPK quit (Read error: Connection reset by peer) |
05:09:20 | * | comex joined #nimrod |
05:13:41 | * | fowl quit (Ping timeout: 252 seconds) |
05:25:11 | * | fowl joined #nimrod |
06:28:14 | * | comex is now known as iamthewolf |
06:31:32 | * | iamthewolf is now known as comex |
07:36:43 | tangentstorm | hmm |
07:37:02 | tangentstorm | why doesn't byte support == ? |
07:38:41 | fowl | import unsigned |
07:40:58 | tangentstorm | thanks! :) |
07:41:36 | fowl | np |
07:47:56 | Araq | tangentstorm: if you want to enforce TColor.kk access, make your enum {.pure.} |
07:48:35 | Araq | otherwise I'd suggest using a prefix like 'col': colKK, colYY |
07:52:03 | tangentstorm | Araq: thanks... normally i just use 'k' and 'K' instead of variable names... i like the {.pure.} though :) |
07:52:08 | tangentstorm | what does 'end' do? |
07:52:24 | tangentstorm | i see it's a keyword but i can't find any docs for it |
07:52:31 | Araq | it's a keyword for the source code filters |
07:53:09 | Araq | http://nimrod-code.org/filters.html#stdtmpl-filter |
07:55:44 | Araq | and maybe one day nimrod will allow for redundant 'end if' etc. |
07:58:54 | Araq | also you should learn about 'let' and not declare your variables at the start of a proc; it's a great misfeature of pascal that a variable's lifetime can't be determined easily |
08:00:16 | tangentstorm | let seemed to behave like it was declaring a constant... |
08:00:42 | tangentstorm | i find the pascal convention much more readable |
08:01:40 | Araq | this will change pretty quickly ;-) |
08:02:27 | Araq | for 'lastColor' you need a 'var' for your other variables a 'let' suffices |
08:02:32 | tangentstorm | maybe i'm not understanding |
08:04:11 | Araq | let shade = if c.ord <= 8: "0;3" & $c.ord else: "01;3" & $(c.ord - 8) |
08:04:39 | fowl | fg() could be rewritten as if c != lastColor: write stdout, "\27[", (if ord(c) <= 8: "0;3"& $ord(c) else: "01;3"& $(ord(c)-8)), 'm' ; lastcolor = c |
08:05:03 | Araq | fowl: don't scare him ;-) |
08:05:16 | fowl | inline all the things!! |
08:05:34 | tangentstorm | that's not scary to me :) |
08:06:23 | tangentstorm | here is a mockup of the syntax for the language i've been working on: https://github.com/sabren/b4/blob/master/b4a/b4a.wj :) |
08:07:39 | Araq | I should make the parser enforce "no whitespace before ':' " :P |
08:07:58 | Araq | for some reason I don't mind different styles but hate whitespace before ':' with a passion |
08:08:43 | tangentstorm | :) |
08:08:56 | Araq | : ; , are no operators |
08:09:02 | Araq | don't spell them as such |
08:10:29 | tangentstorm | <shrug> |
08:14:26 | tangentstorm | i don't follow pep 8 or the borland style guide either :) |
10:36:38 | * | q66 joined #nimrod |
12:02:10 | NimBot | nimrod-code/nimforum ddd0788 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Implements hyperlinking to specific post from rss. |
12:02:10 | NimBot | nimrod-code/nimforum 7d40153 Grzegorz Adam Hankiewicz [+0 ±2 -0]: Removes unneeded stats calls during rss generation. |
12:02:10 | NimBot | nimrod-code/nimforum ccd7b8c Grzegorz Adam Hankiewicz [+0 ±2 -0]: Implements post activity rss feed for main page. |
12:02:10 | NimBot | nimrod-code/nimforum 9a917fe Grzegorz Adam Hankiewicz [+1 ±3 -0]: Adds visible links to rss feeds along with svg icon. |
12:02:10 | NimBot | nimrod-code/nimforum 849a414 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Corrects developer documentation header link. |
12:29:07 | * | SirSkidmore joined #nimrod |
12:30:06 | SirSkidmore | what is the best way to require nimrod files for testing? |
12:32:40 | dom96 | hello SirSkidmore |
12:33:06 | dom96 | could you elaborate, i'm not entirely sure what you mean. |
12:34:43 | SirSkidmore | so, I want to write unittests in Nimrod. I "include unittest" but how should I include the files that I want to test? (foo.nim) |
12:35:25 | dom96 | You should 'import unittest' not include it. |
12:35:52 | SirSkidmore | that's what I meant |
12:36:23 | SirSkidmore | but if I'm taking a TDD approach, and testing procs and such, how should I include the file with my procs, foo.nim |
12:36:51 | dom96 | Simply import the foo.nim file? |
12:37:14 | SirSkidmore | okay |
12:37:35 | SirSkidmore | Oh duh. I had import unittest |
12:37:42 | SirSkidmore | but inlude foo.nim >.> |
12:37:50 | dom96 | Export the procs you need to test and import 'foo.nim' |
12:38:04 | dom96 | You could also do the testing inside foo.nim |
12:38:09 | dom96 | when isMainModule: |
12:38:16 | dom96 | test "...": ... |
12:38:33 | SirSkidmore | okay |
12:38:35 | SirSkidmore | thanks :) |
12:39:11 | dom96 | Glad to help :) |
12:47:07 | * | Kenny__ joined #nimrod |
12:47:17 | Kenny__ | Morning, guys. |
12:47:37 | SirSkidmore | good morning Kenny__ |
12:48:09 | Kenny__ | I'm having a bit of trouble with the marshal standard library, here. |
12:48:52 | Kenny__ | I've tried numerous datatypes, self made, built in, but every time I get the same problem. |
12:49:06 | Kenny__ | An unhandled exception at runtime: EAssertionFailed |
12:49:15 | Kenny__ | marshal.nim(239) $$ marshal.nim(57) storeAny marshal.nim(89) storeAny typeinfo.nim(392) getBiggestInt system.nim(2459) hiddenRaiseAssert system.nim(2451) raiseAssert |
12:49:25 | Kenny__ | That's the stack trace. |
12:49:46 | Kenny__ | Specifically, I'm using the `$$` operator. |
12:50:30 | dom96 | Kenny__: Can you gist your code? |
12:50:42 | dom96 | (or at least the data type) |
12:56:04 | Araq | Kenny__: do you use unsigned numbers? looks like typeinfo still doesn't support them |
12:57:41 | Kenny__ | Sorry, I was making a gits |
12:57:58 | Kenny__ | I'm using the GLuint datatype |
12:58:09 | Kenny__ | So I'd assume that's what it's an alias of. |
12:59:56 | Kenny__ | https://gist.github.com/KennethSills/5677642 |
13:03:58 | Araq | so yeah the unsigned is the problem |
13:04:26 | Kenny__ | Yeah, I just went ahead and got rid of all GLuint related code there |
13:04:50 | Araq | I will fix it later |
13:04:50 | Kenny__ | And it runs the marshal properly |
13:05:09 | Kenny__ | Thanks a lot, Araq. |
13:06:25 | Kenny__ | Oh hey, while we're here. |
13:06:38 | Kenny__ | Is there a *safe* way to get the address of something? |
13:06:58 | Araq | I don't think so |
13:07:40 | Kenny__ | Because GenBuffers needs a PGLuint, but I was wanting to go the path of storing my Buffers as simple GLuint (since otherwise I'd have to go about dereferencing every single call I use a buffer) |
13:08:08 | Kenny__ | And using "addr" is causing an illegal storage access. |
13:08:24 | Araq | nice |
13:08:51 | Araq | 'addr' can hardly cause an illegal storage access |
13:09:25 | Kenny__ | glGenBuffers(1, addr this.VertexBuffer) That line of code causes InitState.nim(49) Init SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
13:09:43 | Kenny__ | this.VertexBuffer being a GLuint = 0 |
13:11:23 | Araq | that sounds more like it couldn't load "glGenbuffers" |
13:11:39 | Kenny__ | Ah - I'll look into that then. |
13:11:51 | Kenny__ | Any hint where to look first? |
13:12:30 | Araq | you need to call something so that the extension methods are loaded |
13:12:49 | Araq | after you setup your render context or whatever it's called |
13:13:28 | Araq | opengl.nim says: You need to call ``loadExtensions`` after a rendering context has been created to load any extension proc that your code uses. |
13:13:35 | Kenny__ | Oh I see that now, top of the OpenGL module "loadExtensions" |
13:49:59 | * | Kenny__ quit (Quit: Page closed) |
15:25:47 | reactormonk | Araq, got anything about the pragma? |
15:31:27 | * | Endy joined #nimrod |
15:34:27 | Araq | reactormonk: dunno what you mean |
15:34:42 | Araq | "it doesn't work"? well how so? "doesn't compile" |
15:34:42 | Araq | "doesn't work for types?" |
15:35:02 | Araq | "doesn't work because I declared it after usage?" |
15:39:07 | reactormonk | lib/system/arduino.nim(1, 2) Error: invalid pragma: {.pragma, progmem, extern: "PROGMEM $1".} |
15:39:07 | reactormonk | does'nt compile |
15:39:27 | reactormonk | with only that line in the file. |
15:39:42 | reactormonk | btw, any way to find out which test failed? I only get FAILURE |
15:39:57 | Araq | no idea which test you run |
15:41:57 | Araq | {.pragma: progmem, extern: "PROGMEM $1".} |
15:42:07 | Araq | should work |
15:42:17 | Araq | and yeah I get the syntax wrong all the time too |
15:42:17 | dom96 | reactormonk: are you running the test suite? in that case look at the html output. |
15:42:17 | Araq | will think about it |
16:01:03 | * | tangentstorm quit (Ping timeout: 245 seconds) |
16:02:08 | reactormonk | dom96, kk |
16:02:18 | reactormonk | Araq, where do I place it? |
16:02:18 | reactormonk | var ex: exceptn {.progmem.} |
16:02:23 | reactormonk | gives me invalid indentation |
16:04:23 | * | tangentstorm joined #nimrod |
16:06:08 | Araq | var ex {.progmem.}: ... |
16:07:03 | reactormonk | dataType PROGMEM variableName[] = {}; // not this one |
16:08:08 | reactormonk | any way to disable 'main' production? |
16:08:18 | Araq | --nomain iirc |
16:08:48 | Araq | yeah that's it |
16:08:58 | reactormonk | sweet |
16:09:18 | reactormonk | lib/system/arduino.nim(6, 5) Error: invalid expression: 'ptr ex' |
16:09:28 | reactormonk | how do I produce a pointer to an element? |
16:09:28 | Araq | addr ex |
16:11:48 | reactormonk | foo_67018 = &PROGMEM ex; |
16:11:58 | reactormonk | nope, that's not gonna work |
16:12:18 | reactormonk | The PROGMEM keyword is a variable modifier, it should be used only with the datatypes defined in pgmspace.h |
16:12:18 | reactormonk | oh god... |
16:13:28 | Araq | well add the pragma to the type then |
16:13:38 | Araq | that might work |
16:14:03 | Araq | so simply use {.emit.} |
16:14:03 | Araq | *or simply |
16:14:43 | reactormonk | nope, PROGMEM needs to be stated only on declaration, not on access |
16:15:28 | Araq | it's depressing to write something that you don't read |
16:15:38 | reactormonk | http://sprunge.us/YOgQ |
16:15:58 | reactormonk | you only add the PROGMEM when you declare it, not when you read |
16:20:03 | Araq | {.emit: """prog_char string0[] PROGMEM = "String 0"; """.} |
16:20:18 | Araq | var string0 {.importc, nodecl.}: char |
16:20:48 | Araq | fowl would create a macro to make it nicer |
16:21:08 | reactormonk | fowl, :-) ? |
16:22:23 | reactormonk | Araq, cool, thanks. Gotta run. |
16:41:55 | * | Endy quit (Ping timeout: 264 seconds) |
16:42:07 | fowl | macro for what |
16:42:39 | * | Endy joined #nimrod |
17:28:05 | * | tymat joined #nimrod |
17:28:15 | Araq | hi tymat |
17:29:23 | tymat | Hello Araq |
17:33:53 | tymat | learning nimrod for the first time. CAn someone tell me why this isn't compiling: http://nimrod-code.org/httpserver.html |
17:34:34 | tymat | getting: httpserver.nim(6, 59) Error: undeclared identifier: 'wwwNL' |
17:35:05 | tymat | http://nimrod-code.org/httpserver.html#101 wwNL is a const = "\x0D\x0A |
17:35:58 | dom96 | tymat: You shouldn't save your file as 'httpserver' as that is the name of the stdlib module you are importing. |
17:37:25 | tymat | bingo! thank you |
17:42:42 | * | fowl quit (Ping timeout: 264 seconds) |
17:56:45 | * | fowl joined #nimrod |
18:30:13 | fowl | reactormonk, https://gist.github.com/fowlmouth/5680007 |
18:46:44 | * | Endy quit (Ping timeout: 245 seconds) |
18:51:50 | * | amarsahinovic joined #nimrod |
18:58:36 | dom96 | amarsahinovic: I finally made that pull request: https://github.com/TechEmpower/FrameworkBenchmarks/pull/312 |
19:02:35 | amarsahinovic | nice :D |
19:03:10 | amarsahinovic | are you planning to add other tests, except json? |
19:04:12 | dom96 | Not sure yet, maybe after round 6. |
19:05:20 | amarsahinovic | Did you manage to add the optimizations you mentioned before? |
19:07:02 | dom96 | I haven't optimized jester as far as I could. However the scgi optimizations are there. |
19:09:29 | amarsahinovic | thats good |
19:16:00 | * | Trix[a]r_za is now known as Trixar_za |
19:39:14 | reactormonk | fowl, sweet, you sure the indentation is correct? |
19:40:04 | fowl | it ran without the progmem stuff |
19:48:03 | reactormonk | fowl, foo.nim(8, 46) Error: type expected |
19:49:00 | fowl | what line is it |
19:49:28 | reactormonk | template $1: cstring = $1_data[0].addr""".format(name, str, str.strval.len).parseStmt |
19:49:46 | fowl | can you compile var x: array[1, int] |
19:50:02 | fowl | if not update your compiler or change that part to 0.. <$3 |
19:54:26 | reactormonk | let me boot the compiler again |
19:56:34 | reactormonk | Error: execution of an external program failed; rerun with --parallelBuild:1 to see the error message |
19:56:36 | reactormonk | O.o |
19:56:57 | reactormonk | prog_char string_0_data[] PROGMEM = "String 0"; static N_INLINE(void, initStackBottom)(void); |
19:56:59 | reactormonk | oh, kk |
19:57:22 | Araq | see? the error messages keep getting better :P |
19:57:38 | reactormonk | Araq, the resulting binary is 160K |
19:58:14 | reactormonk | my chip has 32K of flash. |
19:58:40 | fowl | throw an sd reader on t |
19:58:48 | fowl | it |
19:58:50 | Araq | how did you manage to even produce a binary? |
19:59:05 | Araq | I thought you're still updating system.nim |
19:59:14 | Araq | anyway try -d:release |
19:59:26 | reactormonk | Araq, I have two repos of nimrod on my computer |
19:59:38 | reactormonk | 21K. |
19:59:42 | reactormonk | O.o |
19:59:59 | Araq | still quite large |
20:00:16 | reactormonk | yep :-( |
20:02:00 | reactormonk | where do I pass the -Os? |
20:02:27 | Araq | -Os won't save you |
20:02:40 | Araq | you need to see what's still included but unnecessary |
20:02:50 | Araq | so go read your system.c |
20:05:05 | reactormonk | dom96, where's the html output? |
20:05:17 | dom96 | reactormonk: root nimrod dir |
20:05:34 | reactormonk | oh. Looked inside tests/ |
20:05:51 | reactormonk | where? |
20:06:10 | dom96 | how did you run the tests? |
20:06:46 | reactormonk | via ./koch test |
20:06:50 | dom96 | it might be in the dir you ran it in, I dunno. It's called testresults.html |
20:07:24 | reactormonk | nope, nowhere |
20:07:47 | reactormonk | http://sprunge.us/UGNj O.o |
20:07:51 | reactormonk | [1] 13143 segmentation fault (core dumped) /home/tass/dev/nimrod/Nimrod/tests/tester reject |
20:07:54 | reactormonk | just one line anyway |
20:08:16 | dom96 | if the tester crashes then it obviously can't generate the output html |
20:09:59 | reactormonk | hm |
20:10:31 | reactormonk | no stacktrace either. Ideas? |
20:10:56 | dom96 | --debuginfo + gdb |
20:11:31 | reactormonk | :-/ |
20:12:32 | reactormonk | 1127if (!((*(*(*t)).Link[(0)- 0]).Level == (*(*t)).Level)) goto LA2; |
20:12:35 | reactormonk | ... blub |
20:13:20 | Araq | well you screwed up your system.nim ? |
20:13:41 | reactormonk | yep. |
20:13:47 | Araq | why do you run the tester anyway? |
20:13:55 | tymat | I see there's a package for parsing JSON data but is there one for outputting to JSON data? |
20:14:06 | Araq | do you think any test will run with 16K of RAM? |
20:14:37 | dom96 | tymat: The same module provides those features. |
20:14:51 | reactormonk | Araq, you know, the new system.nim should run in normal conditions as well |
20:15:05 | Araq | ah ok |
20:15:18 | Araq | well you need to ensure the memory manager is initialized properly |
20:15:35 | Araq | which is of course the wrong thing for your embedded use case |
20:15:40 | dom96 | tymat: let jNode = %{"test": %56}; echo(jNode) |
20:15:45 | reactormonk | http://sprunge.us/Pfji <- context |
20:15:55 | tymat | ah that's what I was looking for.. thanks |
20:16:04 | reactormonk | Araq, I messed around with system.nim, so I want to make sure the tests still run. |
20:21:47 | Araq | reactormonk: system.nim contains: |
20:21:56 | Araq | when defined(initAllocator): |
20:21:58 | Araq | initAllocator() |
20:22:54 | Araq | line 2062 following; all this has to be done in the right order |
20:23:08 | reactormonk | didn't change that |
20:23:37 | Araq | you added code that runs before it most likely |
20:24:26 | Araq | and btw "context" would be a stack trace which you can get with "bt" in gdb |
20:30:58 | reactormonk | oh my god... |
20:31:36 | reactormonk | would it be fine to throw away the whole split thingy and just add a bunch more whens? |
20:31:51 | reactormonk | and maybe move some implementations elsewhere |
20:32:34 | Araq | of course |
20:32:52 | Araq | why do you think it's been done this way? :P |
20:33:01 | reactormonk | now I see |
20:43:28 | * | tymat quit (Ping timeout: 252 seconds) |
21:07:21 | tangentstorm | so i tried to make an actual bf interpreter last night but was too tired to debug it... the student i'm working with posted to SO: http://stackoverflow.com/questions/16842810/brainfuck-interpreter-in-nimrod/16843136#16843136 |
21:08:00 | * | ARCADIVS joined #nimrod |
21:08:15 | tangentstorm | i created a tag: http://stackoverflow.com/questions/tagged/nimrod |
21:12:20 | tangentstorm | oh i guess it has to be peer reviewed by someone with more points than me.. nm. |
21:12:28 | fowl | i get "K" |
21:13:33 | tangentstorm | that's odd. i haven't even tried to run his version yet. not sure what he changed. |
21:14:08 | fowl | are you supposed to store the instructions on the same tape as the memory |
21:14:18 | tangentstorm | i think so |
21:14:29 | tangentstorm | but perhaps that's my error? :) |
21:15:30 | fowl | generally ive seen bf interps that read the input and use the string as instructions |
21:15:31 | dom96 | Have you seen: http://rosettacode.org/wiki/Execute_Brain****#Nimrod ? :P |
21:15:47 | tangentstorm | nope :) |
21:16:21 | * | Raynes quit (Ping timeout: 248 seconds) |
21:17:24 | fowl | tangentstorm, add ram.repr.echo at the end to inspect the memory |
21:18:55 | fowl | the guy who answered is right |
21:18:57 | tangentstorm | i think you're right about the separate tapes, and that's what the other guy is saying too. |
21:43:06 | * | Trixar_za is now known as Trix[a]r_za |
21:45:28 | * | amarsahinovic quit (Read error: Operation timed out) |
21:54:38 | * | OrionPK joined #nimrod |
23:11:11 | * | zahary_ quit (Ping timeout: 260 seconds) |
23:30:30 | * | q66 quit (Remote host closed the connection) |
23:32:44 | * | q66 joined #nimrod |
23:49:15 | * | Raynes joined #nimrod |