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