| 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 |