00:00:27 | fowl | mount multiple directories to one |
00:00:27 | fowl | theres probably a replacement for unionfs out now |
00:00:44 | fowl | http://en.wikipedia.org/wiki/UnionFS |
00:02:31 | fowl | testing would have to be done to make sure it still reports getAppDir() correctly |
00:02:49 | dom96 | I dunno, sounds complex. |
00:02:59 | dom96 | How would it work on Windows exactly? |
00:03:30 | fowl | windows may have some kind of directory union, otherwise it would involve installing the files just like you'd do to put something in /usr |
00:03:42 | dom96 | I think a better plan is to just install anything else that is required to $babelDir/libs/pkgname/ |
00:03:51 | dom96 | And have the app honor that scenario |
00:04:27 | fowl | in gobolinux packages are installed to /Programs/PackageName/Version and unionFS'd together to make the FHS |
00:04:55 | fowl | well they could be unionFS'd or syminked |
00:05:22 | dom96 | hrm, I may also change what gets installed. Instead of installing all files, just .nim files will be installed for the library packages. |
00:06:21 | dom96 | I doubt Windows has a directory union. |
00:06:28 | fowl | windows has symlinks though |
00:06:31 | dom96 | So for this reason this solution is probably out |
00:07:23 | dom96 | Anything wrong with the solution I described? |
00:07:48 | fowl | yeah, .nim files arent needed to run a binary |
00:08:06 | dom96 | I'm talking about: |
00:08:10 | fowl | i'd keep the source around, but they dont need to be 'installed' |
00:08:15 | dom96 | <dom96> I think a better plan is to just install anything else that is required to $babelDir/libs/pkgname/ |
00:08:15 | dom96 | <dom96> And have the app honor that scenario |
00:08:38 | dom96 | What I mentioned about the .nim files only being installed applies to library packages. |
00:08:52 | fowl | that will probably work with a symlink into $babeldir/bin but it'd need to be tested for windows |
00:09:10 | dom96 | no. There is no need for a symlink. |
00:09:19 | dom96 | Binaries will still be placed in $babelDir/bin |
00:09:24 | fowl | is there a standard layout for nimrod apps, like main.nim in ./, or could main.nim be in ./bin |
00:09:36 | fowl | then how will aporia know where ./share is |
00:09:41 | dom96 | The app will be required to look in ../libs/pkg/ for its files |
00:11:19 | dom96 | The layout of $babelDir will always be the same, so it shouldn't be a problem. |
00:11:35 | fowl | meh why not just copy all the installed files into $babel/bin with the exe so it can look in "share" |
00:11:43 | fowl | or getAppDir()/"share" |
00:12:41 | dom96 | What if another package gets installed with the same directory name? |
00:13:09 | fowl | they live happily together, or have conflicting filenames |
00:13:10 | fowl | fhs baby |
00:13:46 | fowl | but you need only install the exe and whatever extra data is required, no .nim |
00:13:50 | dom96 | Yeah, they will conflict and bad things will happen :P |
00:14:02 | dom96 | yes |
00:14:09 | dom96 | I never said otherwise |
00:14:16 | fowl | i dont think this will happen |
00:14:29 | fowl | how often do the names of binaries conflict |
00:14:40 | dom96 | it's not the names of binaries |
00:14:53 | dom96 | it's the names of extra files |
00:15:14 | dom96 | if names of binaries conflict then... you're screwed :P |
00:15:32 | fowl | yeah but that doesnt even happen that often in FHS |
00:16:03 | dom96 | indeed. |
00:16:21 | dom96 | FHS does use the same scheme I suggest for the extra data that may be required. |
00:17:17 | fowl | you're implicitely forcing the packages into fhs style though, now they are like ./main.nim, ./lib/data, ./share, etc |
00:18:04 | fowl | im cool with that, but how do i get to getAppDir()/".."/"lib" and expand the path because now its required |
00:18:52 | fowl | actually will need getAppDir()/".."/"lib"/"mypackage"/"lib" |
00:19:24 | dom96 | That's how you do it |
00:20:26 | dom96 | getAppDir().parentDir() / "libs" / "mypkg" / "lib" |
00:21:37 | fowl | thats annoying, i probably wont use it |
00:22:45 | * | JesseH left #nimrod ("github.com/jessehorne") |
00:23:15 | dom96 | so you want UnionFS + symlinking on windows? |
00:24:24 | fowl | no, on windows it should jst be an `install`-like thing, it could be on linux too if unionfs fails/is not available |
00:24:54 | dom96 | what do you mean? how do you suggest it's installed? |
00:25:16 | fowl | well the linux `install` copies and sets permissions |
00:25:34 | dom96 | oh are you talking about nimrod's install.sh? |
00:25:38 | fowl | no |
00:25:44 | fowl | `install` from binutils |
00:26:03 | fowl | coreutils* |
00:26:06 | dom96 | I never used that. |
00:26:51 | fowl | its almost always used in make scripts |
00:28:33 | dom96 | can you explain what it does exactly? |
00:29:07 | fowl | This install program copies files (often just compiled) into destination |
00:29:07 | fowl | locations you choose. |
00:29:20 | fowl | see install --help |
00:29:26 | fowl | or man |
00:30:20 | dom96 | huh, isn't that basically 'cp' + 'chmod'? |
00:32:06 | fowl | with provisions for preserving security settings, backing things up if they already exist, etc |
00:32:51 | dom96 | the question is where to copy things, not what properties the copied files should get |
00:34:46 | dom96 | sorry, but I'm still not sure how you want this to work. |
00:39:36 | fowl | i dont like having to look for my data in ../lib/mypackage/datadir , i can't test my program locally now because its not going to conform to this structure (unless i go to ../ and symlink lib to ./mypackage, then it would work, but i can only do this for one package) |
00:40:36 | fowl | actually i'd have to symlink lib to .. |
00:40:45 | fowl | er . |
00:41:22 | fowl | i dunno, its confusing now because i have to hack my filesystem so i can run my program locally |
00:42:25 | dom96 | You would look for your data in ../lib/mypacakge/datadir in addition to wherever you were looking for it before. |
00:43:03 | dom96 | In that case it would work in both cases: whether after being installed by babel, or before. |
00:44:22 | dom96 | I know it's not ideal, but I don't know how else to do it. I'm not familiar with UnionFS. |
00:44:53 | dom96 | symlinking might work |
00:45:10 | dom96 | but getAppDir may be reported incorrectly anyway |
00:46:10 | fowl | i just tried import os; echo getappdir() |
00:46:32 | fowl | ln -s /home/fowl/test /home/fowl/bin/test23 ; test23 #=> /home/fowl |
00:47:24 | fowl | and i use that method to install nimrod, it works fine |
00:47:39 | fowl | i think bsd has a broken getappdir() though |
00:48:07 | dom96 | true. But then it would be broken with the way I want to do it too. |
00:49:03 | fowl | gobo used symlinks too, and updating software was just a matter of symlinking new files |
00:50:06 | fowl | inside /Programs/Foo it would have ./Version and ./Current -> Version and the symlinks in /usr were to /Programs/Package/Current (/usr was a symlink to some /System/Aliases/FHS or something like that) |
00:50:16 | * | amarsahinovic quit (Quit: Leaving.) |
00:51:02 | dom96 | hrm, ok I'll think about it later. |
00:51:07 | dom96 | Time for sleep. |
00:51:08 | fowl | then switching versions was a matter of changing ./Current to point to the right one |
00:51:09 | dom96 | Good night. |
00:51:12 | fowl | night |
01:30:13 | fowl | dom96, i thought fowltek wasnt updating, turns out the old version dir was still there and taking precedence, had to be manually deleted |
01:32:46 | fowl | dom96, i have to do this for every package, soo maybe there should be a check for unversioned packages still existing |
01:59:04 | * | q66 quit (Remote host closed the connection) |
02:43:16 | * | SirSkidmore is now known as SirSkids|Zzz |
03:51:40 | * | fowl quit (Ping timeout: 246 seconds) |
04:04:00 | * | fowl joined #nimrod |
04:14:30 | * | ARCADIVS joined #nimrod |
04:20:13 | * | fowl quit (Ping timeout: 252 seconds) |
04:27:00 | * | OrionPK quit (Read error: Connection reset by peer) |
04:32:53 | * | fowl joined #nimrod |
06:08:34 | * | ARCADIVS quit (Quit: WeeChat 0.3.8) |
07:05:30 | * | Araq_ joined #nimrod |
07:16:32 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
08:29:41 | * | Araq_ joined #nimrod |
08:38:44 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
08:43:18 | * | zahary joined #nimrod |
08:51:31 | * | q66 joined #nimrod |
09:00:24 | * | amarsahinovic joined #nimrod |
09:08:08 | * | fowl quit (Quit: Leaving) |
09:26:46 | * | zahary quit (Ping timeout: 252 seconds) |
10:13:23 | * | greyfox1 quit (Ping timeout: 276 seconds) |
10:14:43 | * | Araq_ joined #nimrod |
10:15:54 | * | greyfox1 joined #nimrod |
10:23:56 | * | amarsahinovic quit (Quit: Leaving.) |
10:40:54 | * | Araq_ quit (Read error: Connection timed out) |
10:41:59 | * | Araq_ joined #nimrod |
10:54:56 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
11:09:49 | * | amarsahinovic joined #nimrod |
11:57:56 | * | Araq_ joined #nimrod |
12:03:44 | * | SirSkids|Zzz is now known as SirSkidmore |
12:19:17 | * | Araq_ quit (Read error: Connection timed out) |
12:21:12 | * | Araq_ joined #nimrod |
12:44:11 | * | amarsahinovic1 joined #nimrod |
12:45:44 | * | amarsahinovic1 quit (Client Quit) |
12:45:56 | * | amarsahinovic quit (Ping timeout: 260 seconds) |
13:47:29 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
14:19:38 | dom96 | Feedback much appreciated: http://forum.nimrod-code.org/t/163 |
14:20:14 | tangentstorm | what's babel, dom96 ? |
14:20:36 | tangentstorm | oh hence the readme :) |
14:22:38 | dom96 | it's the nimrod package manager :) |
14:25:10 | tangentstorm | do you want to try and handle the case where two installed different versions of the same package? |
14:25:35 | dom96 | only for library packages |
14:25:43 | tangentstorm | or more importantly: where you have two applications/repos, one using an old version and one using a new version |
14:26:06 | dom96 | different versions of library packages should already be possible |
14:26:15 | dom96 | *of the same |
14:26:27 | tangentstorm | does the compiler know about it? |
14:26:41 | dom96 | not really |
14:27:08 | dom96 | it can find the latest version itself, but when using `babel build` babel passes the paths explicitly. |
14:27:24 | tangentstorm | so if i have say foo-01 and foo-02 installed...aha |
14:27:26 | tangentstorm | nice |
14:27:56 | tangentstorm | so can use use it as a makefile as well? |
14:28:00 | tangentstorm | can you |
14:28:13 | tangentstorm | sounds like it |
14:28:15 | dom96 | yeah, I suppose |
14:28:24 | tangentstorm | actually that makes a lot of sense. |
14:28:31 | tangentstorm | you're already doing dependency analysis |
14:28:34 | dom96 | it's better than a makefile though, it gets dependencies for you :P |
14:28:54 | tangentstorm | :) |
14:46:57 | * | Boscop quit (Ping timeout: 252 seconds) |
15:02:42 | * | Boscop joined #nimrod |
16:50:30 | * | fowl joined #nimrod |
16:51:29 | fowl | dom96, did you see my comment |
16:52:36 | fowl | when i installed new packages they are versioned but the old (unversioned) ones were kept in ~/.babel/libs and had to be manually deleted |
17:00:42 | Araq | hi greyfox1, welcome |
17:25:42 | greyfox1 | Araq, hi Nice language! |
17:26:05 | tangentstorm | indeed :) |
17:28:44 | Araq | thank you :-) |
17:34:11 | NimBot | Araq/Nimrod master 255b4d9 Araq [+0 ±3 -0]: fixes semicolon parsing issue |
17:34:11 | NimBot | Araq/Nimrod master 8b0be9c Araq [+0 ±2 -0]: tiny doc improvement |
18:03:50 | dom96 | fowl: Yes, I did. The new version of babel breaks the directory structure, so you should just delete the old packages and reinstall them. |
18:04:03 | dom96 | However, as described in my forum post I will change it once more. |
18:05:03 | fowl | yea if its changing to $babel/pkgs its not a problem |
19:44:37 | * | gradha joined #nimrod |
20:09:36 | Araq | gradha: how about a patch for #461 |
20:11:33 | gradha | I know not what libedit is supposed to replace, or if it provides the expected symbols renamed, I was hoping zahary__ would know something about it |
20:12:21 | gradha | if the patch for "readlineDll* = "libreadline.dylib"" is good enough for you I'll submit it later |
20:13:41 | Araq | I dunno |
20:15:21 | Araq | I'm not sure where tilde_expansion_preexpansion_hook is used |
20:15:47 | * | __ joined #nimrod |
20:15:58 | fowl | https://github.com/antirez/linenoise |
20:16:02 | Araq | oh I see it's a 'var' and as such not optimized away |
20:16:11 | * | __ is now known as Guest58645 |
20:18:39 | fowl | we should just support every readline-like library |
20:18:40 | fowl | (: |
20:19:36 | Araq | gradha: I think the proper fix is to nest the vars into an 'when not defined(macosx)' |
20:21:09 | gradha | welcome, shapeshifting Guest58645 |
20:21:37 | * | Guest58645 left #nimrod (#nimrod) |
20:21:50 | gradha | ah, shouldn't have grinned so much |
20:21:56 | Araq | well done, scared him away :P |
20:23:03 | dom96 | aww don't be so hard on gradha |
20:23:23 | Araq | fowl's idea is good too though; wrapping linenoise |
20:23:41 | tangentstorm | i ported linenoise to pascal |
20:24:02 | tangentstorm | https://github.com/tangentstorm/linenoise |
20:24:07 | tangentstorm | perhaps it'll work with the translator |
20:24:11 | Araq | you're a funny guy, tangentstorm |
20:24:19 | Araq | sure try to convert it to nimrod |
20:24:46 | tangentstorm | i haven't looked into the converter yet. what would i run? |
20:25:11 | Araq | pas2nim linenoise.pas |
20:28:21 | fowl | im modifying sdl2.nim to allow for static linking |
20:29:09 | Araq | fowl: tried --dynlibOverride ? |
20:29:45 | Araq | --dynlibOverride:sdl -passL:"-lsdl" or something like that should do the job |
20:30:52 | fowl | structs have to be {.importc: "SDL_$1", header: "<SDL2/SDL.h>".} too |
20:31:18 | Araq | no they don't |
20:31:48 | Araq | it doesn't work by #including some header |
20:32:16 | Araq | the information the header would provide is already there, in the nimrod code |
20:32:33 | Araq | but you need to link to the static libraries |
20:32:51 | Araq | and make the compiler not use dlsym for the dynlib'ed symbols |
20:32:59 | fowl | TRenderer need to be SDL_Renderer in the generated c |
20:33:16 | Araq | no it doesn't |
20:33:19 | tangentstorm | hrm. It doesn't approve of my use of 'class'. |
20:33:25 | * | tangentstorm hacks the code |
20:34:06 | fowl | i do {.passl: gorge("pkg-config --libs sdl2").} |
20:34:40 | Araq | hmm good; does that work? |
20:34:59 | tangentstorm | hrm. also doesn't like objects with procedures. i guess i just delete them from the interface? or use that {@ignore trick..? |
20:34:59 | fowl | yea |
20:35:26 | Araq | tangentstorm: remember your TP days to know what pas2nim supports ;-) |
20:36:10 | fowl | tangentstorm, just comment if you can and uncomment/convert to nimrod afterwards |
20:36:19 | tangentstorm | Araq: i started with turbo pascal 5.5... it likes objects but not methods i guess |
20:36:20 | fowl | assuming comments are kept |
20:36:38 | Araq | they are, fowl |
20:36:43 | tangentstorm | would be better for me if i hacked the converter but i'll try comments first |
20:37:01 | Araq | a better converter would be awesome |
20:40:29 | Araq | I wish a got a nickel whenever somebody checks the return value of 'malloc' |
20:41:53 | Araq | I guess these guys even think it's "good style" |
20:42:05 | gradha | nowadays programmers don't even know what malloc is, you would be poor |
20:42:40 | Araq | never mind the OS stopped returning NULL for malloc decades ago when they invented overcomitting due to unix's brain dead fork&exec model |
20:43:28 | Araq | and happily ignoring you can't catch "out of stack space" in C anyway either |
20:45:50 | tangentstorm | https://github.com/tangentstorm/linenoise/blob/nim/ln.nim |
20:46:19 | tangentstorm | seems to be missing quite a bit |
20:46:34 | Araq | lol yeah |
20:46:37 | tangentstorm | hrm. almost 200 lines :) |
20:46:56 | Araq | but tbh it looks easier to hack that feature into terminal.nim |
20:47:11 | Araq | since linenoise only uses escape sequences anyway |
20:47:29 | tangentstorm | i don't know what we're talking about but yeah, this isn't cross platform |
20:47:55 | Araq | the rest of linenoise consists of typical C noise |
20:48:25 | tangentstorm | i ported this by hand so i could show c and pascal side by side |
20:48:50 | Araq | setting errno, checking for some edge cases, computing memory requirements etc. |
20:49:14 | tangentstorm | i wonder why it cut off there |
20:51:38 | Araq | I dunno, pas2nim is mostly unmaintained |
20:52:06 | tangentstorm | hrm.. also this depends on crt anyway :) |
20:53:15 | tangentstorm | ah well. i will look into it more when i have time.. it was pretty straightforward to port by hand though. |
20:57:37 | reactormonk | Araq, no way to make the two equivalent? http://sprunge.us/IdGg |
20:57:40 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
20:58:38 | Araq | reactormonk: you could try a TR macro ... but I wouldn't |
20:58:55 | reactormonk | Araq, TR macro? |
20:59:52 | reactormonk | Araq, btw, is there a gensym in templates? so I can have var foo = pstr("bar") and implement it with a gensym |
21:01:57 | Araq | var x {.gensym.} = ... ? |
21:02:25 | reactormonk | kk |
21:02:41 | reactormonk | and how do I fetch the generated symbol? |
21:02:46 | Araq | but it's the default for clean templates anyway |
21:04:47 | Araq | template freshSym(T: typedesc): expr = (var x: T; x) # may work, never tried it though |
21:07:18 | * | amarsahinovic joined #nimrod |
21:07:40 | reactormonk | oh, I asked the wrong question. I want to know the emitted symbol for the variable |
21:07:49 | reactormonk | http://sprunge.us/UFYY |
21:09:11 | Araq | it's "result" |
21:09:20 | Araq | that's the symbol's name |
21:10:12 | Araq | try to use: |
21:10:31 | Araq | {.emit: "progchar `result`[] PROGMEM = " & ... } |
21:14:45 | reactormonk | works as expected \o/ |
21:14:59 | reactormonk | find the error: http://sprunge.us/UFii |
21:15:10 | reactormonk | hint: usage before declaration |
21:16:00 | reactormonk | the problem is that the emit in the template is executed immediatly instead of in the context of the proc |
21:16:41 | Araq | no result_73029 is declared twice |
21:17:34 | reactormonk | oh, right. |
21:18:06 | reactormonk | http://sprunge.us/OKIM better? |
21:18:35 | * | fowl quit (Ping timeout: 240 seconds) |
21:19:05 | Araq | not really |
21:19:14 | Araq | foo_73030 = result_73029; |
21:19:15 | Araq | strcpy_P(((NCSTRING) (buffer_73035)), foo_73030); |
21:19:27 | Araq | the store to foo seems wrong |
21:20:04 | reactormonk | nah, that's fine, it's the other way round |
21:20:05 | reactormonk | don't ask. |
21:20:14 | reactormonk | strcpy_P(buffer, (char*)pgm_read_word(&(string_table[i]))) |
21:20:23 | reactormonk | ... gotta change that stuff a bit anyway |
21:21:29 | Araq | you know ... |
21:21:42 | Araq | you should redefine STRING_LIT in nimbase.h |
21:22:59 | Araq | and use strcpy_P instead of c_memcpy in system/sysstr.nim |
21:23:07 | Araq | then you may get the string semantics you desire |
21:23:54 | reactormonk | I can't have nimstrings |
21:25:33 | reactormonk | any way to define something down on the C level? Just the default defines? |
21:28:43 | Araq | not sure what you mean, you already know about emit |
21:29:26 | reactormonk | Yeah, but are nimrod defines (as in -d:release) propagated down to C? |
21:29:38 | Araq | hell no |
21:29:57 | reactormonk | figured so |
21:30:35 | reactormonk | well, nimbase is a header, so how do I propagate the current build env down there? Or don't bother and ship a separate nimbase for arduino? |
21:31:36 | Araq | I'd patch the existing nimbase.h |
21:32:07 | Araq | gcc likely defines some symbol like ARDINO for you |
21:35:38 | * | fowl joined #nimrod |
21:36:58 | reactormonk | kk |
21:51:19 | reactormonk | Araq, can I have my own little world in there? |
21:51:30 | reactormonk | can I store the string length at compile time? |
21:52:07 | reactormonk | as they're immutable, that is known. And I need the size for strcpy_P |
21:55:24 | Araq | string literals know their length |
21:56:16 | reactormonk | yes, but how do I query that length? |
21:56:23 | Araq | .len? |
21:56:27 | reactormonk | at compiletime? |
21:56:32 | Araq | .len? |
21:56:37 | reactormonk | touché |
21:57:35 | fowl | Araq, i think you should take out dumptree_imm and just make it dumptree |
21:57:46 | Araq | fowl: I agree |
21:57:58 | Araq | make it pull request please |
21:58:03 | fowl | ok |
21:58:17 | Araq | please document it in web/news.txt |
22:00:01 | * | OrionPK joined #nimrod |
22:02:28 | reactormonk | Araq, still can't have an ifdef in nimbase.h, because it's the first .h to be included :-/ |
22:06:13 | Araq | bs |
22:06:30 | Araq | cou defines are in no header |
22:06:36 | Araq | *cpu |
22:06:40 | * | zahary__ quit (Ping timeout: 276 seconds) |
22:07:25 | reactormonk | Araq, no sweet ARDUINO then. |
22:08:39 | Araq | reactormonk: ARDUINO shouldn't come from some header |
22:25:38 | reactormonk | Araq, it does |
22:26:07 | Araq | which header? |
22:26:24 | Araq | and why can't you include it in nimbase? |
22:33:51 | reactormonk | still the question how nimbase should know if I'm compiling for arduino |
22:35:16 | Araq | and now you know why ARDUINO should be defined by GCC for you |
22:35:58 | * | q66 quit (Remote host closed the connection) |
22:38:36 | reactormonk | so you say I should add -DARDUINO somewhere in nimcfg? |
22:38:55 | Araq | that's a good idea |
22:39:04 | Araq | it's not what I said, but it's a good idea |
22:39:21 | Araq | passc:"-DARUINO" |
22:39:23 | reactormonk | what did you say? |
22:40:04 | Araq | I said GCC should define it for you, just like it defines "POWERPC" for you |
22:40:52 | Araq | or perhaps PPC who knows |
22:41:10 | reactormonk | well, it does defined AVR, but that doesn't mean it's arduino |
22:41:39 | fowl | reactormonk, echo 'main(){}' | cpp -dM look for a define there |
22:42:27 | reactormonk | fowl, gcc -dM -E - < /dev/null |
22:42:47 | fowl | what |
22:42:53 | reactormonk | does the same |
22:43:01 | fowl | ok |
22:43:03 | fowl | so do it |
22:43:14 | reactormonk | nah, I'll just define arduino in my nimrod.cfg |
22:45:53 | reactormonk | Araq, is a string-literal assumed to be of time 'string'? |
22:46:23 | Araq | yeah but cstring("abc") works |
22:46:59 | Araq | and string literals are not heap allocated anyway, they cause no harm |
22:48:04 | reactormonk | but they still go to the stack |
22:49:57 | Araq | no? |
22:51:09 | reactormonk | as soon as they are mentioned in a function, they need to be loaded into memory? |
22:52:01 | Araq | no? |
22:52:14 | Araq | but you need to know what you're doing |
22:53:31 | reactormonk | apparently loading all strings into RAM is part of the initialization... |
22:53:48 | reactormonk | I want all string literals in the flash |
22:55:07 | reactormonk | which also requires me to kinda rewrite a bunch of how to access strings... |
22:55:25 | Araq | no idea why you want string literals in the first place |
22:55:35 | reactormonk | because of all the raise newException in the stdlib |
22:56:29 | Araq | when not defined(arduino): e.msg = msg # else: ignore the string |
22:57:03 | Araq | it's so easy to do ... it's already a template which provides the necessary laziness |
22:58:33 | reactormonk | which means you have no clue what has gone wrong |
22:59:16 | Araq | have you managed to send the error message to some output device yet? |
23:00:04 | NimBot | Araq/Nimrod master 2048f70 Araq [+0 ±5 -0]: manyloc test should be green again |
23:01:42 | reactormonk | just send it back via the serial line |
23:02:50 | Araq | I'd use an enum instead of error messages and document the error codes |
23:03:12 | reactormonk | that's gonna be messy |
23:03:12 | fowl | i thought you were just going to turn newException into echo msg; quit 1 |
23:03:26 | reactormonk | fowl, more or less, but I still need to store them |
23:07:18 | Araq | good night |
23:25:31 | * | fowl quit (Quit: Leaving) |
23:25:48 | * | fowl joined #nimrod |