00:49:31 | NimBot | Araq/Nimrod 3615102 Araq [+1 ±3 -0]: fixes #433 |
00:49:31 | NimBot | Araq/Nimrod 03127d3 Araq [+12 ±7 -1]: Merge branch 'master' of github.com:Araq/Nimrod |
00:49:31 | NimBot | Araq/Nimrod 5219600 Araq [+0 ±2 -0]: fixes #420 |
00:49:31 | NimBot | Araq/Nimrod 77bcf7b Araq [+0 ±1 -0]: fixes #439 |
00:49:31 | NimBot | Araq/Nimrod a25e167 Araq [+0 ±3 -0]: fixes #432, fixes #427 |
01:32:53 | NimBot | Araq/Nimrod 466833e Araq [+0 ±4 -0]: updated docs |
01:36:10 | fowl | Araq: you wnt me to add to macros.nim |
01:51:28 | * | ARCADIVS quit (Quit: WeeChat 0.3.8) |
02:32:15 | * | q66 quit (Remote host closed the connection) |
04:36:47 | * | fowl quit (Ping timeout: 256 seconds) |
04:41:19 | * | Trixar_za is now known as Trix[a]r_za |
04:48:38 | * | fowl joined #nimrod |
05:26:27 | fowl | i get this error now entitty.nim(237, 5) Error: expression 'result' has no type (or is ambiguous) |
05:26:42 | fowl | macro unicast*(func): stmt = |
05:50:12 | fowl | test: https://gist.github.com/fowlmouth/5606825 |
06:21:59 | * | OrionPK quit (Read error: Connection reset by peer) |
07:03:09 | * | Endy joined #nimrod |
08:18:53 | reactormonk | embedded.nim, line 45, setControlCHook uses c_signal where there are no signals - idea? |
08:19:55 | reactormonk | what's this hook anyway? Nimrod doesn't seem to used it |
08:21:59 | reactormonk | oh, I see why I don't really like the nimrod source code - too many lines per method :-) |
08:23:58 | Araq | reactormonk: setControlCHook is exported and used by some programs |
08:24:23 | Araq | you can simply wrap it in an 'when not defined(noSignalHandler)' though |
08:25:34 | Araq | and just what method has too many lines? and how would splitting it up help anybody? |
08:25:49 | reactormonk | that's the point :-/ |
08:26:23 | Araq | this is called "system software" for the reason that the code actually DOES something |
08:26:44 | Araq | as opposed to "business logic" code that endless delegates stuff until you can't debug it anymore |
08:27:24 | Araq | "Smalltalk: Everything happens elsewhere" |
08:28:09 | reactormonk | if p == nil: c_raise(SIGSEGV) |
08:28:13 | reactormonk | how would you implement this? |
08:30:17 | reactormonk | proc chckNil(p: pointer) {.error: "can't assert without signals".} gives me lib/system/excpt.nim(365, 29) Error: pragmas are only allowed in the header of a proc |
08:30:44 | Araq | well there is a forward declaration of 'chckNil' somewhere |
08:31:06 | reactormonk | meh |
08:31:07 | Araq | you should be able to replace the c_raise by a Nimrod 'raise' statement though |
08:31:18 | Araq | and it's a compilerproc anyway |
08:31:27 | reactormonk | lib/system/excpt.nim(30, 26) Error: implementation of 'system.registerSignalHandler()' expected |
08:31:28 | Araq | so the 'error' can't work |
08:31:36 | reactormonk | ok |
08:32:02 | reactormonk | lib/system/excpt.nim(36, 12) Error: implementation of 'system.chckNil(p: pointer)' expected |
08:32:06 | reactormonk | so how do I deal with this? |
08:32:20 | Araq | proc chckNil ... = |
08:32:27 | Araq | when defined(noSignalHandler): |
08:32:41 | Araq | raise newException(EBase, "segfault") |
08:32:45 | Araq | else: |
08:32:50 | Araq | c_raise(...) |
08:33:29 | reactormonk | c_raise is defined with signal handlers |
08:33:36 | reactormonk | proc c_raise(sig: cint) {.importc: "raise", header: "<signal.h>".} |
08:34:02 | Araq | yeah but if you don't use it, it's not emitted in the C code I think |
08:34:15 | Araq | if it is, you need another 'when' |
08:34:17 | reactormonk | still waiting for fail |
08:34:43 | reactormonk | you can't use it without signals, that's it |
08:34:48 | reactormonk | that's why I wanted to add the error |
08:35:03 | Araq | sure you can |
08:35:15 | reactormonk | what do you want to do without signal.h? |
08:35:32 | Araq | raising an exception needs setjmp, not signals |
08:35:54 | Araq | setjmp is a CPU/OS specific function |
08:35:57 | reactormonk | ok |
08:36:03 | Araq | but it can be easily implemented without an OS |
08:36:09 | Araq | so I hope your headers support it :P |
08:36:21 | reactormonk | sorry, I didn't see the missing `not` |
08:36:50 | reactormonk | lib/system.nim(2072, 24) Error: implementation of 'system.setControlCHook(hook: proc (){.noconv.})' expected |
08:36:54 | reactormonk | what does this one do? |
08:37:03 | Araq | as I said |
08:37:12 | Araq | it is exported and some programs use it |
08:37:25 | Araq | it's not used by system.nim |
08:37:25 | reactormonk | yes, but what the method do? |
08:37:38 | Araq | sets a signal handler |
08:37:50 | Araq | that's called when somebody presses CTRL-C |
08:38:03 | reactormonk | ... there are hardware interrupts, but that's about it |
08:38:04 | Araq | your board likely doesn't support it :P |
08:38:11 | reactormonk | yep. |
08:38:16 | reactormonk | but system wants it. |
08:38:22 | reactormonk | wait, macro. |
08:38:26 | Araq | 'when' ftw |
08:38:29 | reactormonk | yep |
08:38:48 | Araq | you should really use when hostOS == "standalone" |
08:38:50 | Araq | instead of |
08:38:55 | Araq | when defined(noSignalHandler) |
08:39:08 | Araq | noSignalHandler doesn't really mean your OS has no signals ... |
08:39:21 | Araq | it means Nimrod shouldn't overwrite the default handler |
08:39:52 | reactormonk | kk |
08:42:16 | reactormonk | you sure it's when hostOS != "standalone": |
08:42:36 | reactormonk | because it still complains about it not being defined even if I put it inside there |
08:44:07 | reactormonk | can you have the compiler echo the value of hostOS? |
08:44:56 | Araq | well you need to compile with --os:standalone |
08:45:23 | Araq | the compiler outputs it with "nimrod dump" I think |
08:46:04 | Araq | oh and before you push I demand a code review :P |
08:46:31 | reactormonk | don't worry |
08:46:50 | Araq | today is release |
08:46:52 | reactormonk | os = standalone |
08:47:01 | reactormonk | sweet |
08:47:13 | reactormonk | that's inside nimrod.cfg |
08:47:58 | Araq | that should do |
08:48:04 | reactormonk | it doesn't |
08:48:19 | reactormonk | http://sprunge.us/bXcB |
08:49:03 | Araq | well "hostOS" is no defined symbol |
08:49:21 | Araq | ok, nimrod dump doesn't list it |
08:49:27 | reactormonk | does work when I specify it |
08:49:36 | reactormonk | http://sprunge.us/IRFW |
08:49:54 | Araq | --define is not the same as --os |
08:50:05 | reactormonk | ➜ arduino-sample nimrod dump --os:standalone |
08:50:12 | Araq | interesting |
08:50:27 | Araq | ah yeah and gone is "Linux" then |
08:50:39 | Araq | maybe you edited the wrong configuration file :P |
08:51:18 | Araq | or maybe 'os' doesn't work in a .cfg ... :-/ |
08:51:29 | reactormonk | http://sprunge.us/IJeP |
08:51:50 | Araq | yeah doesn't work |
08:52:07 | Araq | it should be 'arm' instead of 'amd64' |
08:52:16 | reactormonk | it is? |
08:52:44 | * | zahary joined #nimrod |
08:52:48 | Araq | no it's not: http://sprunge.us/IRFW |
08:53:04 | Araq | it processes the .cfg |
08:53:10 | reactormonk | wtf |
08:53:11 | Araq | and yet doesn't set OS and CPU properly |
08:55:11 | reactormonk | bug? |
08:55:19 | Araq | I dunno |
08:55:35 | Araq | the compiler explicitly only supports in the command line |
08:55:51 | Araq | I'm sure I had a reason for it |
08:56:37 | reactormonk | hmm |
08:56:51 | reactormonk | I'd prefer it in the command line here |
08:56:55 | reactormonk | ehh config file |
09:01:46 | reactormonk | in my current project, I'd have to specify each time, so I'm for changing that. |
09:02:12 | Araq | well fix it |
09:02:35 | Araq | commands.nim:427 and 435 |
09:03:02 | Araq | --> if pass in {passCmd1, passPP} |
09:03:26 | Araq | I had my reasons for not supporting it via the config system but hey, if you test it again ... |
09:04:03 | Araq | in the worst case it should be an error to use it in a config file |
09:04:09 | Araq | not silently ignored |
09:09:48 | reactormonk | nope, works as expected |
09:09:51 | reactormonk | Error: system module needs 'addChar' |
09:09:53 | reactormonk | O.o |
09:10:46 | Araq | oh not that again ... |
09:12:24 | Araq | system.nim:934 |
09:12:40 | Araq | perhaps get rid of the test 'hostOS != "standalone"' |
09:13:19 | Araq | or rather move the addChar and setStackBottom out of system/cgprocs.nim |
09:13:28 | Araq | these are not OS dependent |
09:13:33 | reactormonk | lib/system/embedded.nim(85, 22) Error: undeclared identifier: 'c_raise' |
09:13:36 | reactormonk | hmmm |
09:15:07 | Araq | the standalone target is a mess :p |
09:15:35 | reactormonk | lib/system/alloc.nim(85, 10) Error: Port memory manager to your platform |
09:15:38 | reactormonk | aww |
09:15:53 | Araq | yeah that's actually do-able without an OS :P |
09:16:01 | Araq | I should patch it |
09:16:36 | Araq | how much RAM do you have? |
09:17:25 | reactormonk | depends |
09:17:44 | reactormonk | Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader |
09:17:47 | reactormonk | SRAM 2 KB (ATmega328) |
09:17:49 | reactormonk | EEPROM 1 KB (ATmega328) |
09:18:03 | reactormonk | when you use the progmem macro, it goes to the flash. But iirc the flash is RO |
09:19:43 | * | Endy quit (Ping timeout: 264 seconds) |
09:21:44 | Araq | that's too little memory for a heap really |
09:21:51 | reactormonk | yeah. |
09:22:03 | reactormonk | it should store most literals in the flash memory |
09:28:28 | reactormonk | Araq, pushed the stuff I did onto my repo, need sleep. |
09:28:46 | reactormonk | cya in about... 10h |
09:29:45 | Araq | alright |
09:58:44 | * | zahary quit (Quit: Leaving.) |
10:06:54 | * | q66 joined #nimrod |
10:09:16 | * | xcombelle joined #nimrod |
10:21:56 | * | zahary joined #nimrod |
11:09:00 | * | zahary quit (Quit: Leaving.) |
11:38:30 | * | zahary joined #nimrod |
11:48:13 | * | Endy joined #nimrod |
11:49:18 | * | zahary quit (Quit: Leaving.) |
11:54:37 | * | zahary joined #nimrod |
12:03:30 | Araq | fowl: I know, working on it |
14:05:12 | * | OrionPK joined #nimrod |
15:04:11 | * | [1]Endy joined #nimrod |
15:05:08 | * | xcombelle quit (Remote host closed the connection) |
15:06:34 | NimBot | Araq/Nimrod 8ee185c Araq [+0 ±1 -0]: --os and --cpu work in configuration files |
15:06:34 | NimBot | Araq/Nimrod 4b57e2e Araq [+0 ±6 -0]: made some tests green |
15:06:43 | * | Endy quit (Ping timeout: 260 seconds) |
15:06:44 | * | [1]Endy is now known as Endy |
15:21:55 | * | zahary quit (Quit: Leaving.) |
16:04:14 | * | Endy quit (Ping timeout: 245 seconds) |
16:07:34 | dom96 | Araq: it seems the mem profiler is broken. |
16:08:04 | Araq | dom96: we have a mem profiler? |
16:08:24 | dom96 | Araq: Yeah? |
16:08:41 | dom96 | http://build.nimrod-code.org/docs/estp.html#memory-profiler |
16:10:14 | Araq | well? how is it broken? |
16:11:11 | dom96 | lib/system.nim(891, 17) Error: implementation of 'system.nimProfile()' expected |
16:31:38 | * | Endy joined #nimrod |
16:44:09 | Araq | dom96: about issue #443 |
16:44:36 | Araq | I guess the 'fields' iterator shouldn't iterate over private fields |
16:44:51 | Araq | or maybe it should be granted special access |
16:45:42 | dom96 | perhaps |
16:46:38 | Araq | well I dunno |
16:46:55 | Araq | it seems worse to ignore private fields |
16:47:13 | Araq | 'fields' is for efficient serialization etc. |
16:47:22 | Araq | it can't ignore fields |
16:48:37 | Araq | on the other hand the current error message is not bad |
17:05:40 | * | [1]Endy joined #nimrod |
17:07:40 | * | Endy quit (Ping timeout: 246 seconds) |
17:07:41 | * | [1]Endy is now known as Endy |
17:21:35 | Araq | ping zahary_ |
17:34:30 | NimBot | Araq/Nimrod fa174d0 Dominik Picheta [+0 ±4 -0]: Improved the performance of the SCGI module when dealing with multiple... 2 more lines |
17:52:22 | reactormonk | Araq, re. |
17:53:02 | dom96 | Araq: So what about the memory profiler? |
17:54:43 | Araq | dom96: working on it |
18:06:42 | reactormonk | Araq, sooo what about the Port memory manager to your platform ? Simply don't implement one? There's not enough RAM anyway |
18:09:13 | Araq | yeah |
18:11:01 | reactormonk | and how do IU write that in nimrod?= |
18:29:16 | Araq | one possibility is to implement mmap et al as 'assert false' |
18:50:30 | * | Endy quit (Ping timeout: 264 seconds) |
18:50:37 | Araq | http://build.nimrod-code.org/docs/documentation.html |
18:50:51 | Araq | already is in the new design ... ;-) |
18:51:52 | dom96 | :D |
18:52:28 | dom96 | Moving the style and image files in with the output during generation proved to be a wise choice ;) |
18:52:53 | fowl | oo looks nice |
18:53:21 | Araq | fowl: make a pull request for your macro stuff please, add it to macros.nim |
18:53:30 | Araq | nobody wants a 2nd import for that anyway |
18:53:54 | fowl | ok |
18:55:31 | * | Trix[a]r_za is now known as Trixar_za |
19:10:18 | * | fowl quit (Ping timeout: 256 seconds) |
19:23:27 | * | fowl joined #nimrod |
19:58:54 | * | Trixar_za is now known as Trix[a]r_za |
20:20:39 | * | Trix[a]r_za is now known as Trixar_za |
20:45:10 | NimBot | Araq/Nimrod 7faaf67 Dominik Picheta [+0 ±1 -0]: Added news about the new website. |
20:48:41 | reactormonk | lib/system/alloc.nim(87, 10) Error: undeclared identifier: 'assert' |
20:48:43 | reactormonk | hmmm |
20:49:11 | fowl | what is "libmongoc.so" i installed mongo but dont have this ._. |
20:49:24 | reactormonk | looks like a C api to me |
20:50:12 | dom96 | ^ |
20:50:37 | Araq | fowl: maybe a typo? is it libmongo.so ? |
20:51:01 | Araq | but hrm no the 'c' stands for client I think |
20:51:07 | fowl | i have libmongo-client.so |
20:51:13 | Araq | I compiled mongo from source I think |
20:51:18 | dom96 | yeah, libmongoc is the C mongo Driver. |
20:51:41 | fowl | ah thats not in my repos |
20:51:56 | Araq | well I did test the wrapper for some project I can't remember |
20:52:12 | Araq | so it should work |
20:52:37 | * | q66_ joined #nimrod |
20:53:27 | * | zahary__ joined #nimrod |
20:55:05 | * | q66 quit (Ping timeout: 240 seconds) |
20:56:15 | * | zahary_ quit (Ping timeout: 260 seconds) |
20:57:20 | fowl | maybe it should be noted that it requires the c driver https://github.com/mongodb/mongo-c-driver |
20:58:54 | reactormonk | Error: system module needs 'copyStringRC1' |
20:58:56 | reactormonk | argh |
20:59:37 | Araq | reactormonk: I checked if I can improve that error message |
20:59:45 | Araq | unfortunately I can't easily |
21:01:54 | fowl | *** stack smashing detected ***: /tmp/aporia/a15 terminated |
21:02:11 | fowl | on the db_mongo example |
21:03:26 | reactormonk | hmm |
21:06:11 | reactormonk | Araq, well, copying strings around is not that useful |
21:06:27 | Araq | yeah indeed |
21:06:35 | Araq | so you need to disable the code that does that |
21:10:16 | fowl | WARNING: mongo_connect() is deprecated, please use mongo_client() |
21:16:35 | reactormonk | Araq, where do I define my own symbols, like noDynmaicAlloc? |
21:18:02 | Araq | you don't |
21:18:15 | Araq | you check with 'defined' and pass it on the command line |
21:18:16 | reactormonk | hm |
21:18:29 | Araq | that means it doesn't notice your typos :P |
21:18:29 | reactormonk | lib/system/alloc.nim(84, 19) Error: undeclared identifier: 'noDynamicAlloc' |
21:18:50 | Araq | when defined(noDynamicAlloc) |
21:19:39 | reactormonk | oh. |
21:20:15 | reactormonk | gotta say, I don't know where to disable the copyStringRC1, I'd have to mess with the compiler and add something in there. |
21:20:19 | reactormonk | compiler/ccgexprs.nim: linefmt(p, cpsStmts, "$3 = $1; $1 = #copyStringRC1($2);$n", |
21:21:32 | Araq | just add some Warning(e.info, warnUser, "copystring used from here") |
21:21:40 | Araq | and bootstrap |
21:38:46 | Araq | fowl: sorry, I made some comments for your macro changes |
21:42:11 | NimBot | Araq/Nimrod cd96412 Araq [+1 ±13 -2]: made some tests green; implemented 'from module import nil' |
21:42:11 | NimBot | Araq/Nimrod 3366925 Araq [+0 ±4 -0]: Merge branch 'master' of github.com:Araq/Nimrod |
21:42:11 | NimBot | Araq/Nimrod 3f2486f Araq [+0 ±4 -0]: 'from' statement documented |
21:42:47 | * | q66_ is now known as q66 |
21:47:20 | NimBot | nimrod-code/nimbuild c3715b1 Dominik Picheta [+0 ±1 -0]: Some fixes for the builder. |
21:47:20 | NimBot | nimrod-code/nimbuild 969cbd6 Dominik Picheta [+0 ±1 -0]: Merge branch 'master' of github.com:nimrod-code/nimbuild |
21:51:18 | reactormonk | Araq, well, I assume the compiler needs that |
21:53:33 | reactormonk | and warning() doesn't work inside the compiler, oh well |
21:53:39 | Araq | reactormonk: yeah you get meaningless warning during bootstrapping |
21:53:47 | fowl | there should be a suggestion to use --depth 1 when cloning nimrod, it make git only pull the minimum needed and not the whole (huge) repos and history |
21:54:10 | Araq | there is a --depth 1 command? o.O |
21:54:17 | Araq | lol I didn't know that |
21:54:33 | fowl | yea you can use it with clone or pull and it speeds it up quite a bit |
21:56:33 | reactormonk | Araq, compiler/ccgexprs.nim(280, 15) Error: undeclared identifier: 'Warning' |
21:56:36 | reactormonk | FAILURE |
21:57:35 | Araq | s/Warning/Message |
21:57:35 | fowl | Araq: i didnt like !! either, just used it since ! was already for string->ident |
21:57:43 | fowl | string -> tident |
21:58:20 | Araq | yeah we should deprecate '!' instead I think |
22:01:35 | reactormonk | compiler/ccgexprs.nim(280, 18) Error: undeclared field: 'info' |
22:02:00 | Araq | that's where you need to use your brain |
22:02:14 | Araq | the node is likely called 'n' or 'e' |
22:02:19 | Araq | so it's n.info or e.info |
22:07:12 | reactormonk | proc genAssignment(p: BProc, dest, src: TLoc, flags: TAssignmentFlags) = |
22:07:19 | reactormonk | doesn't work on `p` either |
22:07:34 | fowl | Araq: changing the sets into procs isRoutine/isAtomic is annoying, i use them in `of` branches |
22:07:50 | NimBot | nimrod-code/nimbuild 4ba6618 Dominik Picheta [+0 ±1 -0]: Another fix for the build process. |
22:07:53 | Araq | fowl: aye make them sets then but not templates |
22:08:04 | fowl | ok |
22:08:49 | fowl | "RoutineNodes"/"AtomicNodes" good? |
22:10:02 | Araq | yeah |
22:10:10 | Araq | we also desparately need CallNodes |
22:10:41 | Araq | = {nnkCall, nnkInfix, nnkPrefix, nnkPostfix, |
22:10:43 | Araq | nnkCommand, nnkCallStrLit, nnkHiddenCallConv} |
22:11:34 | * | Trixar_za is now known as Trix[a]r_za |
22:11:44 | Araq | btw AtomicNodes = {nnkNone..nnkNilLit} |
22:11:47 | fowl | isnt there one for macro calls too |
22:13:25 | Araq | I think zahary__ removed it as it's now translated into a 'do' |
22:13:56 | fowl | what's a postfix call |
22:14:14 | Araq | a* |
22:14:40 | fowl | thats allowed? |
22:14:46 | Araq | it's not part of the concrete syntax for now ;-) |
22:14:59 | Araq | but it may be one day |
22:15:20 | fowl | o |
22:17:02 | reactormonk | Araq, there is no node in that scope |
22:17:25 | Araq | reactormonk: use p.prc.info then |
22:18:33 | reactormonk | http://sprunge.us/IPjO |
22:19:46 | Araq | jezz only do it if p.prc != nil then |
22:19:59 | fowl | proc ident*(n: PNimrodNode): TNimrodIdent {.magic: "NIdent".} |
22:20:36 | fowl | wait no thats not causing problems |
22:20:53 | reactormonk | what's `prc`? |
22:21:29 | reactormonk | raise newException(EBase, "dynamic memory allocation not supported.") <- uses copyStringRC1 |
22:21:46 | Araq | quite ironic, hmm? |
22:21:51 | Araq | XD |
22:22:00 | reactormonk | .... :-( |
22:22:05 | Araq | but yeah you shouldn't use exceptions if you have no heap ... |
22:22:15 | reactormonk | figured so |
22:22:25 | reactormonk | any idea how to do exception handling? Go-style with return codes? |
22:22:41 | reactormonk | or an either type? |
22:22:43 | Araq | just make sure you have some 'quit' |
22:22:54 | Araq | and some display to display an error code |
22:26:47 | reactormonk | there is no display. |
22:26:55 | reactormonk | well, serial port |
22:27:44 | Araq | well you better teach system.nim how to output *something* and quit |
22:28:01 | Araq | otherwise you may as well start proving all your array bounds correct etc. |
22:28:09 | reactormonk | :-) |
22:31:52 | reactormonk | let's see |
22:32:06 | reactormonk | Araq, any way I can do that without hacking system.nim? |
22:32:20 | Araq | no, sorry |
22:32:30 | Araq | I figured system.nim ain't change friendly |
22:32:43 | Araq | for embedded stuff |
22:32:58 | Araq | but it's hard to improve the situation |
22:34:17 | Araq | on the other hand you almost always get nice compile time errors |
22:36:15 | Araq | fowl: do you use widestrs.nim? |
22:36:54 | reactormonk | can I at least fuck with in in embedded.nim? |
22:37:11 | Araq | reactormonk: I think so |
22:38:37 | * | q66 quit (Remote host closed the connection) |
22:41:32 | reactormonk | oh god... |
22:42:19 | reactormonk | Araq, so no exceptions without dynamic allocation? |
22:42:57 | Araq | what would you do with them anyway? |
22:44:13 | reactormonk | hmm, either a quit or link them statically somewhere... I assume an Either type would be useful here |
22:44:59 | reactormonk | can you check at compile time if you can have exceptions? Wait, OOM n stuff can occur basically everywhere |
22:45:23 | reactormonk | except there's no OOM without dynamic allocation, is there? |
22:45:54 | Araq | of course there is |
22:46:01 | Araq | you can always run out of stack space |
22:46:08 | reactormonk | right |
22:46:34 | reactormonk | so what to do with exceptions? Don't use them and instead just quit? |
22:46:45 | reactormonk | oh, and according to the people in #arduino, there is no quit |
22:47:02 | Araq | how do you tell the CPU to stop then? |
22:47:15 | reactormonk | you can sleep it |
22:47:19 | Araq | while true: then? |
22:48:03 | reactormonk | reactormonk | how do you stop the processor? aka an assertion failed or similar. |
22:48:11 | reactormonk | Yotson | reactormonk: ehm, you don't. |
22:48:29 | reactormonk | Yotson | reactormonk: yup, as last resort you could reset the controller. |
22:48:34 | reactormonk | Yotson | reactormonk: you have programming experience on/under operating systems? forget most of that. lol |
22:49:32 | Araq | well I suppose getting some error message out of the device is all you really need |
22:49:48 | Araq | then you can reset it manually |
22:51:14 | Araq | my mindstorm can output things like E42 on its 4 char display :P |
22:51:24 | Araq | and make some beep |
22:52:18 | reactormonk | http://sprunge.us/jSca |
22:53:03 | Araq | great then use Serial.println() |
22:54:26 | Araq | you should get a mindstorm instead; it has a display :P |
22:55:01 | reactormonk | ^^ |
22:55:16 | reactormonk | does it have 10 pins each as well? |
22:55:39 | Araq | even better: It has Lego pins |
22:56:32 | Araq | you can use it to control your Lego motors |
22:56:54 | reactormonk | yeah yeah ^^ |
22:57:25 | reactormonk | so to integrate it into system.nim, I have to put it somewhere into arduino.nim in lib/system/ ? |
22:58:03 | Araq | yeah why not |
23:03:17 | reactormonk | don't like that, but ok |
23:03:36 | Araq | you can also rewrite system.nim and put it to some different dir |
23:04:33 | Araq | and use the --lib:DIR option to override the default dir |
23:10:26 | reactormonk | and reimplement the whole system.nim? |
23:10:38 | Araq | yeah |
23:10:45 | Araq | maybe you like that better :P |
23:11:02 | reactormonk | no way to hook into system.nim procs and overwrite them? ;-) |
23:11:12 | Araq | the headers should be categorized and put into separate includes |
23:11:29 | Araq | then we can have multple system.nim that cherrypick what's available |
23:11:31 | reactormonk | should. Oh well, fuck it, let's write that arduino.nim |
23:11:58 | Araq | but not now, release is overdue |
23:14:02 | reactormonk | sure, I'll not merge it |
23:16:14 | fowl | Araq: no |
23:16:20 | fowl | irt widestrs |
23:17:37 | fowl | i didnt know it existed |
23:25:44 | Araq | good cause I'm changing the interface |
23:27:59 | fowl | i updated the pr |
23:28:45 | fowl | oh i didnt mean to deprecate `!` |
23:28:59 | fowl | i dont know what to replace it with |
23:29:30 | Araq | proc ident*(...) |
23:29:42 | Araq | but this needs your judgement |
23:29:55 | Araq | is !"abc" common? |
23:29:59 | fowl | thought you wanted ident*(s: string): PNimrodNode to replace !!"foo" |
23:30:20 | Araq | well I dunno |
23:30:30 | Araq | that would work too ... |
23:30:49 | Araq | you really should use 'bindSym' in macros anyway |
23:31:03 | Araq | this identifier stuff is fragile |
23:31:26 | fowl | i think it should be ~"foo" for newidentnode("foo") |
23:31:49 | fowl | i meant to change it to ~ hellas ago but never got around to it |
23:34:39 | NimBot | Araq/Nimrod eda8a96 Dominik Picheta [+0 ±1 -0]: Updated news. |