| 00:17:18 | * | yousirwin joined #nimrod |
| 00:17:21 | * | yousirwin left #nimrod (#nimrod) |
| 00:41:09 | * | Jesin joined #nimrod |
| 00:46:22 | * | Jesin quit (Ping timeout: 272 seconds) |
| 00:47:16 | * | Jesin joined #nimrod |
| 00:53:05 | * | Jesin quit (Ping timeout: 272 seconds) |
| 01:12:28 | * | q66 quit (Quit: Leaving) |
| 01:26:22 | * | xenagi joined #nimrod |
| 01:33:51 | * | dapz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:02:52 | * | willwillson quit (Ping timeout: 260 seconds) |
| 02:06:41 | NimBot | Varriount/NimLime master 58e825c Erik O'Leary [+0 ±2 -0]: Added 'declared' keyword |
| 02:23:31 | * | dapz joined #nimrod |
| 02:41:06 | * | dapz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 02:44:41 | * | johnsoft quit (Read error: Connection reset by peer) |
| 02:50:14 | * | johnsoft joined #nimrod |
| 02:51:09 | * | dapz joined #nimrod |
| 03:10:21 | * | dapz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 03:40:28 | * | brson quit (Quit: leaving) |
| 03:40:54 | * | brson joined #nimrod |
| 03:46:39 | * | saml_ joined #nimrod |
| 03:49:28 | * | brson_ joined #nimrod |
| 03:50:27 | * | brson_ quit (Client Quit) |
| 03:50:34 | * | brson_ joined #nimrod |
| 03:52:16 | * | saml_ quit (Ping timeout: 258 seconds) |
| 03:52:20 | * | brson quit (Ping timeout: 244 seconds) |
| 03:52:42 | * | dapz joined #nimrod |
| 03:57:17 | * | dapz quit (Ping timeout: 260 seconds) |
| 04:04:16 | * | saml_ joined #nimrod |
| 04:09:56 | * | saml_ quit (Quit: Leaving) |
| 04:12:35 | * | nande quit (Read error: Connection reset by peer) |
| 04:15:35 | * | fowl joined #nimrod |
| 04:26:01 | * | xenagi quit (Read error: Connection reset by peer) |
| 04:46:23 | fowl | agreed <Onionhammer> Araq you should add an 'else' for for loops, where if the loop has nothing to iterate over it executes that |
| 04:54:50 | * | francisl quit (Quit: francisl) |
| 05:08:10 | * | EXetoC quit (Ping timeout: 258 seconds) |
| 05:11:01 | * | flaviu1 quit (Ping timeout: 260 seconds) |
| 05:19:39 | * | brson_ quit (Ping timeout: 244 seconds) |
| 05:20:34 | * | EXetoC joined #nimrod |
| 05:31:37 | * | kshlm joined #nimrod |
| 05:31:43 | * | kshlm quit (Changing host) |
| 05:31:43 | * | kshlm joined #nimrod |
| 05:47:19 | * | dirkk0 joined #nimrod |
| 06:04:31 | * | bjz joined #nimrod |
| 06:06:00 | * | fowlmouth joined #nimrod |
| 06:08:18 | * | fowl quit (Ping timeout: 250 seconds) |
| 06:25:10 | * | bjz quit (Read error: Connection reset by peer) |
| 06:25:16 | * | bjz_ joined #nimrod |
| 06:25:55 | * | dirkk0 quit (Quit: Leaving) |
| 06:40:02 | * | johnsoft quit (Read error: Connection reset by peer) |
| 06:45:06 | * | johnsoft joined #nimrod |
| 06:48:11 | * | dirkk0 joined #nimrod |
| 07:02:10 | * | dirkk0 quit (Quit: This computer has gone to sleep) |
| 07:06:00 | * | fowlmouth quit (Ping timeout: 246 seconds) |
| 07:34:59 | * | untitaker quit (Ping timeout: 258 seconds) |
| 07:40:52 | * | untitaker joined #nimrod |
| 07:59:20 | * | dirkk0 joined #nimrod |
| 08:19:01 | * | io2 joined #nimrod |
| 08:30:14 | * | wkoch joined #nimrod |
| 08:41:59 | * | tdc joined #nimrod |
| 08:56:50 | * | dirkk0 quit (Quit: Leaving) |
| 09:10:23 | * | CaptainRant joined #nimrod |
| 09:12:23 | * | CaptainRant left #nimrod ("WeeChat 0.4.3") |
| 09:15:13 | * | Fr4n joined #nimrod |
| 09:31:58 | * | Sht0 quit (Ping timeout: 250 seconds) |
| 09:32:21 | * | Sht0 joined #nimrod |
| 09:35:53 | * | BlaXpirit joined #nimrod |
| 09:43:00 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 09:46:01 | * | BitPuffin joined #nimrod |
| 10:20:04 | * | H4k4nn joined #nimrod |
| 10:20:18 | H4k4nn | hi |
| 10:24:46 | * | H4k4nn quit (Client Quit) |
| 10:33:37 | * | kshlm quit (Ping timeout: 272 seconds) |
| 10:38:46 | * | dirkk0 joined #nimrod |
| 10:49:45 | * | willwillson joined #nimrod |
| 11:05:46 | * | BitPuffin quit (Ping timeout: 272 seconds) |
| 11:11:23 | * | flaviu1 joined #nimrod |
| 11:20:37 | * | jasondotstar joined #nimrod |
| 11:23:02 | * | dirkk0 quit (Quit: This computer has gone to sleep) |
| 11:27:27 | * | Fr4n quit (Ping timeout: 272 seconds) |
| 11:43:31 | * | Boscop quit (Ping timeout: 272 seconds) |
| 11:45:56 | * | BitPuffin joined #nimrod |
| 11:49:49 | * | dirkk0 joined #nimrod |
| 11:50:22 | * | dirkk0 quit (Client Quit) |
| 11:56:54 | * | BlaXpirit joined #nimrod |
| 12:08:09 | * | tdc quit (Ping timeout: 260 seconds) |
| 12:17:10 | * | tdc joined #nimrod |
| 12:34:53 | * | BitPuffin quit (Ping timeout: 240 seconds) |
| 12:38:32 | * | [CBR]Unspoken1 quit (Ping timeout: 245 seconds) |
| 12:39:00 | * | BitPuffin joined #nimrod |
| 12:39:15 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 12:39:24 | * | fowl joined #nimrod |
| 12:47:59 | * | kuzy000_ joined #nimrod |
| 13:00:56 | * | [CBR]Unspoken1 joined #nimrod |
| 13:09:22 | * | Boscop joined #nimrod |
| 13:11:06 | * | willwillson quit (Remote host closed the connection) |
| 13:13:29 | * | [CBR]Unspoken1 quit (Ping timeout: 260 seconds) |
| 13:16:44 | * | [CBR]Unspoken1 joined #nimrod |
| 13:27:32 | * | darkf quit (Quit: Leaving) |
| 13:37:13 | * | francisl joined #nimrod |
| 13:42:24 | * | francisl quit (Quit: francisl) |
| 13:42:50 | * | francisl joined #nimrod |
| 13:52:05 | * | fowl quit (Ping timeout: 272 seconds) |
| 13:59:05 | * | fowl joined #nimrod |
| 14:10:44 | * | saml joined #nimrod |
| 14:11:58 | * | BlaXpirit joined #nimrod |
| 14:36:20 | * | bogen quit (Quit: Leaving.) |
| 14:41:02 | * | fowl quit (Ping timeout: 245 seconds) |
| 14:52:26 | * | fowl joined #nimrod |
| 15:05:12 | * | askatasuna joined #nimrod |
| 15:25:04 | * | fowl quit (Ping timeout: 260 seconds) |
| 15:28:25 | * | Ven joined #nimrod |
| 15:30:12 | * | Ven quit (Client Quit) |
| 15:35:14 | * | zlinn_ quit () |
| 15:36:53 | * | hguux joined #nimrod |
| 15:48:52 | * | edayo joined #nimrod |
| 16:18:27 | * | BlaXpirit-UA joined #nimrod |
| 16:19:40 | * | BlaXpirit quit (Ping timeout: 260 seconds) |
| 16:33:38 | * | q66 joined #nimrod |
| 16:45:02 | * | Fr4n joined #nimrod |
| 16:47:40 | * | EXetoC quit (Read error: Connection reset by peer) |
| 17:09:13 | * | BitPuffin quit (Ping timeout: 258 seconds) |
| 17:23:18 | * | vissborg quit (Remote host closed the connection) |
| 17:29:26 | * | vissborg joined #nimrod |
| 17:32:02 | * | EXetoC joined #nimrod |
| 17:47:25 | * | tdc quit (Ping timeout: 260 seconds) |
| 17:49:36 | * | francisl quit (Quit: francisl) |
| 17:58:51 | * | untitaker quit (Ping timeout: 272 seconds) |
| 18:00:40 | * | xcombelle joined #nimrod |
| 18:04:03 | * | jasondotstar quit (Quit: Leaving) |
| 18:04:09 | * | untitaker joined #nimrod |
| 18:18:04 | * | francisl joined #nimrod |
| 18:23:11 | woodgiraffe | I have a block inside a loop that potentiall throws a set of exceptions, now when an Exception is thrown I'd like to print the same error messages as if it wouldn't be consumed and proceed within the loop. |
| 18:24:05 | woodgiraffe | From my understandment I'd have to have separate except clauses for every potentially thrown exception and thus this wouldn't be possible. - Is this correct? |
| 18:24:14 | EXetoC | I don't know of a way to get the actual name of the type |
| 18:24:20 | Araq | woodgiraffe: getCurrentException() ? |
| 18:24:47 | Araq | except EFoo, EBar, EBaz: |
| 18:24:56 | Araq | echo getCurrentExceptionMsg() |
| 18:25:26 | woodgiraffe | Araq: ahh nice, ty |
| 18:26:06 | EXetoC | that is indeed the actual message, with the type name being just additional information |
| 18:26:51 | * | brson joined #nimrod |
| 18:27:37 | Araq | EXetoC: dunno if that field is exported, but I'm sure you can access it via 'cast' and get the exception *type* as a cstring |
| 18:27:55 | Araq | but how is that useful? |
| 18:28:05 | Araq | btw the exception names all changed in bigbreak |
| 18:28:17 | Araq | so ... these names are kind of fragile anyway |
| 18:32:13 | Araq | bbl |
| 18:32:44 | Araq | woodgiraffe: btw check out getStackTrace(e) and writeStackTrace() |
| 18:32:55 | Araq | these are *really* useful :-) |
| 18:32:55 | woodgiraffe | Araq: ty will do |
| 18:36:16 | woodgiraffe | I also wondered: I'd like to, I guess at least, parse, a nim-project, resolve all its imports and get out a list of all the files that project depends on, including importcs. - Any rough pointers what parts I could use to achieve this? |
| 18:40:58 | * | Jehan_ joined #nimrod |
| 18:43:58 | * | tdc joined #nimrod |
| 18:45:27 | Jehan_ | For what it's worth, I'm not a huge fan of using the type hierarchy as a way to model the exception hierarchy. |
| 18:45:31 | Jehan_ | It is very limited. |
| 18:46:16 | Jehan_ | You could model each exception as an integer and then have more flexible ways of categorizing them. |
| 18:46:29 | Jehan_ | E.g. by membership in a bitset. |
| 18:47:49 | Jehan_ | Using the type hierarchy as a poor man's partial order results in too much being hardcoded. |
| 18:59:03 | * | dapz joined #nimrod |
| 19:04:29 | * | noam quit (Ping timeout: 260 seconds) |
| 19:05:28 | * | BlaXpirit-UA quit (Quit: Quit Konversation) |
| 19:07:02 | * | BlaXpirit joined #nimrod |
| 19:08:48 | * | Ven joined #nimrod |
| 19:14:42 | * | edayo_ joined #nimrod |
| 19:15:24 | * | edayo quit (Ping timeout: 246 seconds) |
| 19:18:21 | * | jhc76 joined #nimrod |
| 19:20:19 | * | dapz quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:23:33 | * | Fr4n quit (Ping timeout: 260 seconds) |
| 19:27:59 | Araq | woodgiraffe: 'nimrod gendepend' generates a dependency graph |
| 19:29:59 | Araq | Jehan_: I agree |
| 19:30:14 | Araq | but |
| 19:30:30 | Araq | "extensible" distinct integers are hard |
| 19:30:54 | Araq | const OverflowError = Error(8) # why 8? |
| 19:31:09 | Jehan_ | Only if you want to define them at compile time. |
| 19:31:25 | Araq | const FloatError = Error(succ(OverflowError)) # lets hope nobody else uses 9 |
| 19:31:43 | Jehan_ | Mind you, it's not entirely trivial at runtime, either (threads), but a lot more doable. |
| 19:31:52 | Araq | well yes ofc I want to define them at compile time :-) |
| 19:32:11 | Jehan_ | Why? It's not as though exceptions are cheap. |
| 19:33:28 | * | Fr4n joined #nimrod |
| 19:34:17 | Araq | sure but this problem is worth solving for lots of other use cases |
| 19:34:52 | * | hsuh quit (Ping timeout: 245 seconds) |
| 19:34:58 | Jehan_ | Speaking of threads, I may be willing to finish the useStackMaskHack implementation if you're interested. While still using the main thread, too. |
| 19:35:43 | * | adrusi joined #nimrod |
| 19:36:20 | * | hsuh joined #nimrod |
| 19:38:14 | Araq | hrm please no. it's yet another version of the stdlib that we have to maintain |
| 19:38:24 | EXetoC | just start at some relatively high, arbitrary number :> |
| 19:38:45 | Araq | --gc:X -d:release, -d:debug, stdlib as a DLL ... |
| 19:38:50 | * | noam joined #nimrod |
| 19:38:59 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
| 19:39:52 | Araq | the combinatorial explosion is a problem |
| 19:41:02 | * | francisl quit (Quit: francisl) |
| 19:43:37 | * | Fr4n quit (Ping timeout: 245 seconds) |
| 19:44:16 | Araq | Jehan_: what I consider more important is a new 'channel' type that is GC'ed |
| 19:44:37 | Jehan_ | Araq: Yeah, but that would also be more work. :) |
| 19:44:57 | Araq | it is a 'ref' to a payload that is reference counted |
| 19:45:31 | Araq | 'deepCopy' is overriden so the payload keeps reference semantics |
| 19:45:48 | Jehan_ | Exactly, I'd have to dig into those semantics first. |
| 19:45:50 | Araq | and deepcopy + a finalizer maintain the RC |
| 19:46:07 | Jehan_ | The stackmask stuff is pretty trivial (it helps that I've done it several times by now). |
| 19:46:26 | Jehan_ | I'm more asking if I'd be wasting my time if I did that. |
| 19:46:58 | * | adrusi quit (Quit: adrusi) |
| 19:48:48 | Araq | well I'm torn |
| 19:49:08 | Araq | it's a nice hack to get more speed on barbaric OSes like macosX |
| 19:49:19 | woodgiraffe | :) |
| 19:49:34 | Araq | but it's also yet another thing we need to maintain |
| 19:50:19 | Araq | btw they found a new security hole in Bash ... |
| 19:51:03 | woodgiraffe | pretty bad too |
| 19:54:46 | Araq | yeah and Nim's effect system would have caught it :-) |
| 19:55:38 | EXetoC | C isn't perfect? oh well |
| 19:56:08 | Araq | EXetoC: well to be fair, it's not another buffer overflow |
| 19:56:21 | Araq | it's a feature that can be misused |
| 19:57:11 | Araq | if Microsoft had this bug, the net would be full of "windoze is the shit" |
| 19:58:09 | Araq | but it's *nix, so it's like "yeah well, no system is perfect" |
| 19:58:45 | Jehan_ | Hmm, I saw a lot of people saying rather not so complimentary things about bash. |
| 19:59:36 | * | francisl joined #nimrod |
| 20:00:11 | Jehan_ | My own thoughts were along the lines of "oh dear, what were they thinking?" |
| 20:00:42 | Araq | my thoughts were "yes, that is what you get for using *untyped* byte streams everywhere" :P |
| 20:01:33 | Jehan_ | Honestly, there's just so many ways in which processes can communicate with other processes. |
| 20:01:56 | Jehan_ | But, the environment is such a common attack vector already ... |
| 20:02:39 | Jehan_ | I could accept them even parsing the environment variables to define functions. But executing any code in environment variables? |
| 20:04:55 | * | adrusi joined #nimrod |
| 20:05:36 | * | Fr4n joined #nimrod |
| 20:05:41 | * | Mat3 joined #nimrod |
| 20:06:19 | Mat3 | hello |
| 20:06:40 | Araq | parsing environment variables to define functions is already stupid, IMO |
| 20:07:14 | * | edayo_ quit (Ping timeout: 250 seconds) |
| 20:07:31 | Araq | and the underlying problem is that there are no APIs in Unix land, but a couple of byte streams for inter process communication |
| 20:08:04 | Araq | Jehan_: well if you look for something easy to do, why not fix the exception handling bug? :-) |
| 20:08:34 | Jehan_ | Not sure if that's easy, but I agree that it's high priority. |
| 20:08:44 | woodgiraffe | Araq: dbusdbusdbus :P |
| 20:08:56 | Jehan_ | I had a look at the code, and I'm still not sure I fully understand the way it works now. |
| 20:09:13 | Jehan_ | If I had a solution, I'd already have submitted a pull request. |
| 20:09:17 | * | tdc quit (Ping timeout: 260 seconds) |
| 20:09:53 | Jehan_ | Unrelated question: are defines starting with "nim" reserved for the compiler and stdlib? |
| 20:10:03 | Araq | yes. |
| 20:10:19 | Araq | Jehan_: well it's easy to patch sempass2 to do the analysis |
| 20:10:36 | Araq | it could set sfVolatile for locals that are assigned within a try |
| 20:10:44 | Jehan_ | It's easy if you already have a deep understanding of what sempass2 does. |
| 20:10:58 | Jehan_ | At times, I'm still trying to understand individual functions. |
| 20:13:33 | Araq | well ok, it's as much effort for me to fix as it is to explain it ... |
| 20:15:25 | Jehan_ | Umm, I don't mind investing the time myself. |
| 20:15:40 | Jehan_ | I expect that understanding it will pay off later. |
| 20:16:58 | EXetoC | Araq: did you mean "is this" rather than "is the shit"? |
| 20:17:01 | EXetoC | *shit |
| 20:17:52 | Araq | EXetoC: "windows is shit" |
| 20:30:47 | * | Matthias247 joined #nimrod |
| 20:34:06 | * | xcombelle quit (Quit: Quitte) |
| 20:35:46 | * | nande joined #nimrod |
| 20:39:31 | * | askatasuna quit (Quit: WeeChat 1.0) |
| 20:39:55 | * | askatasuna joined #nimrod |
| 20:43:17 | Araq | argh |
| 20:43:40 | Araq | I hate it when you think the compiler is wrong |
| 20:43:44 | Araq | but it is correct |
| 20:43:50 | Araq | and your code really is wrong |
| 20:44:42 | Jehan_ | Heh. :) |
| 20:46:41 | EXetoC | compilers so strict |
| 20:58:18 | * | Trustable joined #nimrod |
| 21:16:10 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:17:39 | Araq | Jehan_: is it allowed to pass the empty string to a C macro? |
| 21:17:52 | Araq | #define f(a, b) a |
| 21:17:57 | Araq | f(34,) |
| 21:18:05 | Araq | <-- valid? |
| 21:18:30 | Jehan_ | I believe so, why? |
| 21:19:59 | Araq | cause I'm gonna use it in the codegen |
| 21:22:56 | EXetoC | the GCC manual seems to indicate that it's allowed |
| 21:24:02 | EXetoC | "If I understand correctly, empty macro argument is allowed since C99 and C++0x(11)." hm |
| 21:24:49 | EXetoC | that's no good then, is it |
| 21:25:03 | Mat3 | would it be a good idea to extend Nim(rod) supporting multible return values (like Go does for example) ? |
| 21:25:52 | Araq | Mat3: proc foo(): tuple[a, b: int] |
| 21:26:00 | Araq | let (x, y) = foo() |
| 21:26:16 | Araq | i.e. it already has them |
| 21:27:13 | * | kuzy000_ quit (Ping timeout: 260 seconds) |
| 21:27:33 | * | askatasuna quit (Quit: WeeChat 1.0) |
| 21:28:14 | * | Demos joined #nimrod |
| 21:30:04 | Mat3 | hmm, nice example thanks (I think the documentation should be more detailed on these aspects) |
| 21:33:32 | Jehan_ | The problem is that someone need to write a "Programming in Nim" book. |
| 21:33:40 | Jehan_ | Which is not exactly a trivial endeavor. |
| 21:33:45 | Jehan_ | needs* |
| 21:35:02 | Jehan_ | Araq: I've tidied up the setjmp performance PR, but I think it's impossible to turn setjmp() into a compiler proc for the reasons we've discussed. |
| 21:35:24 | Araq | ok |
| 21:38:33 | EXetoC | slightly slower than an asm impl, right? |
| 21:38:48 | Jehan_ | EXetoC: What is? |
| 21:39:28 | EXetoC | nevermind |
| 21:42:03 | * | francisl quit (Ping timeout: 246 seconds) |
| 21:43:56 | * | BlameStross joined #nimrod |
| 21:44:01 | * | BlameStross left #nimrod (#nimrod) |
| 22:07:46 | * | fowl joined #nimrod |
| 22:19:50 | * | Trustable quit (Quit: Leaving) |
| 22:29:02 | * | silven quit (Ping timeout: 245 seconds) |
| 22:29:31 | * | BlaXpirit quit (Ping timeout: 272 seconds) |
| 22:29:48 | Mat3 | ciao |
| 22:29:58 | * | Mat3 quit (Quit: Verlassend) |
| 22:32:04 | * | Varriount_ joined #nimrod |
| 22:34:12 | * | Varriount quit (Ping timeout: 246 seconds) |
| 22:43:23 | * | adrusi quit (Quit: adrusi) |
| 23:02:21 | * | noam_ joined #nimrod |
| 23:05:43 | * | noam quit (Ping timeout: 258 seconds) |
| 23:10:19 | * | Jehan_ quit (Quit: Leaving) |
| 23:16:31 | * | darkf joined #nimrod |
| 23:18:42 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 23:38:57 | * | adrusi joined #nimrod |
| 23:49:29 | * | nande quit (Remote host closed the connection) |