| 00:00:35 | flaviu | dom96: ping, see the irclogs |
| 00:01:25 | flaviu | ekarlso: Sorry, lots of stuff has come up recently. I won't be able to do those CSS changes I promised, but I've made some minor modifications on my branch already. |
| 00:01:34 | flaviu | Feel free to pull if you'd like. |
| 00:02:59 | * | Demos joined #nim |
| 00:09:22 | * | sillesta quit (Ping timeout: 244 seconds) |
| 00:09:52 | * | yonson quit (Quit: Leaving) |
| 00:12:29 | * | vendethiel quit (Ping timeout: 252 seconds) |
| 00:13:32 | * | bretthart joined #nim |
| 00:13:54 | bretthart | i'm getting an error when trying to compile my nim program as a staticlib |
| 00:14:28 | bretthart | build.nim.a(stdlib_system.o): In function `nimUnloadLibrary':stdlib_system.c:(.text+0xffd6): undefined reference to `dlclose' |
| 00:15:36 | bretthart | the final exe that libmybuild.nim.a is linked to is linked to dl with `-ldl`, so i'm confused, seems like nim when it made the staticlib forgot to link to dl? |
| 00:16:51 | * | flaviu quit (Read error: Connection reset by peer) |
| 00:19:31 | * | flaviu joined #nim |
| 00:25:31 | * | vendethiel joined #nim |
| 00:29:22 | bretthart | i'm using nim from git |
| 00:29:30 | bretthart | should i try a release instead? |
| 00:29:57 | * | superfunc|lab quit (Ping timeout: 256 seconds) |
| 00:30:31 | * | superfun1|lab quit (Ping timeout: 256 seconds) |
| 00:30:42 | reactormonk | bretthart, nah, git usually works better |
| 00:31:37 | bretthart | reactormonk, any idea why nimUnloadLibrary is missing dlclose? even when i use --passL:-ldl to nim |
| 00:31:52 | reactormonk | bretthart, elmme see |
| 00:32:21 | bretthart | i'm compiling a staticlib with --app:staticlib |
| 00:33:20 | reactormonk | bretthart, could you check if the generated c source corectly include <dlfcn.h>? |
| 00:34:40 | flaviu | Missing includes won't cause problems in the linking step. |
| 00:35:06 | reactormonk | flaviu, oh, it's during the linking step |
| 00:36:12 | reactormonk | bretthart, you got /usr/lib/libdl.so and libdl.a? |
| 00:38:13 | reactormonk | bretthart, maybe add --no-as-needed to passL |
| 00:46:48 | * | vendethiel quit (Ping timeout: 246 seconds) |
| 00:46:57 | * | superfunc|lab joined #nim |
| 00:47:08 | * | superfun1|lab joined #nim |
| 00:49:26 | * | vendethiel joined #nim |
| 00:52:01 | * | johnsoft quit (Ping timeout: 264 seconds) |
| 00:52:37 | bretthart | reactormonk, i tried --no-as-needed to passL but no luck. maybe i can bypass making a staticlib, how do i get the c output from nim? |
| 00:52:57 | * | johnsoft joined #nim |
| 00:53:37 | reactormonk | bretthart, hum. try a github issue. |
| 00:56:38 | * | MyMind joined #nim |
| 00:58:27 | * | Sembei quit (Ping timeout: 244 seconds) |
| 01:02:10 | flaviu | Wow, wildcard ssl certificates are incredibly expensive! |
| 01:02:22 | flaviu | $475.00 USD / year :O |
| 01:03:21 | * | gokr quit (Quit: Leaving.) |
| 01:03:47 | flaviu | Well, some only charge $348.00/2 years |
| 01:10:26 | bretthart | is the code generated in stdlib_system.c always the same for linux? |
| 01:10:31 | bretthart | if my nim program imports some modules, those end up as their own .c files in /tmp/nimcache ? |
| 01:13:25 | flaviu | bretthart: Use --compile_only --gen_script, and investigate the script that's outputted in nimcache. |
| 01:13:49 | flaviu | That should get you unstuck at least: You can manually play with the linking command. |
| 01:17:42 | bretthart | flaviu, thanks. |
| 01:35:33 | * | vendethiel quit (Ping timeout: 252 seconds) |
| 01:47:53 | * | OnwardEuler quit (Ping timeout: 245 seconds) |
| 02:08:10 | * | federico3 joined #nim |
| 02:23:14 | * | vendethiel joined #nim |
| 02:23:15 | * | superfunc|lab quit (Read error: Connection reset by peer) |
| 02:23:30 | * | superfun1|lab quit (Read error: Connection reset by peer) |
| 02:28:54 | * | darkf joined #nim |
| 02:42:50 | * | jm116_ joined #nim |
| 02:44:51 | * | vendethiel quit (Ping timeout: 265 seconds) |
| 02:51:03 | * | leonlee joined #nim |
| 02:52:17 | * | MajorWork quit (*.net *.split) |
| 02:52:17 | * | comex quit (*.net *.split) |
| 02:57:15 | * | comex joined #nim |
| 03:01:59 | * | vendethiel joined #nim |
| 03:18:56 | * | VinceAddons quit (Read error: Connection reset by peer) |
| 03:22:38 | * | AMorpork joined #nim |
| 03:27:23 | * | vendethiel quit (Ping timeout: 246 seconds) |
| 03:27:33 | * | brson quit (Quit: leaving) |
| 03:35:33 | * | vendethiel joined #nim |
| 03:44:36 | * | saml_ joined #nim |
| 03:45:33 | * | Demon_Fox quit (Quit: Leaving) |
| 03:57:21 | * | vendethiel quit (Ping timeout: 265 seconds) |
| 04:10:19 | * | vendethiel joined #nim |
| 04:29:08 | * | bretthart quit (Ping timeout: 245 seconds) |
| 04:32:26 | * | vendethiel quit (Ping timeout: 252 seconds) |
| 04:33:40 | * | vendethiel joined #nim |
| 04:34:39 | * | kashyap_ joined #nim |
| 04:52:27 | * | nande quit (Remote host closed the connection) |
| 04:54:49 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 05:02:50 | * | vendethiel joined #nim |
| 05:10:06 | * | Demos quit (Read error: Connection reset by peer) |
| 05:23:37 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 05:26:57 | * | AMorpork is now known as ZzZMorpork |
| 05:34:02 | * | ZzZMorpork left #nim ("Leaving") |
| 05:38:48 | * | saml_ quit (Quit: Leaving) |
| 05:40:26 | * | jefus_ joined #nim |
| 05:43:47 | * | jefus quit (Ping timeout: 252 seconds) |
| 05:55:16 | * | vendethiel joined #nim |
| 06:04:24 | * | dvdplm joined #nim |
| 06:17:03 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 06:20:02 | * | bretthart joined #nim |
| 06:20:28 | * | bjz joined #nim |
| 06:22:49 | * | vendethiel joined #nim |
| 06:28:28 | * | bjz quit (Ping timeout: 255 seconds) |
| 06:54:48 | * | bjz joined #nim |
| 07:10:01 | * | vendethiel quit (Ping timeout: 256 seconds) |
| 07:11:36 | * | vendethiel joined #nim |
| 07:13:34 | * | jefus_ quit (Quit: Leaving) |
| 07:13:49 | * | jefus_ joined #nim |
| 07:13:54 | * | jefus_ is now known as jefus |
| 07:15:09 | * | dvdplm quit (Quit: dvdplm) |
| 07:20:55 | * | DecoPerson joined #nim |
| 07:22:03 | * | bretthart quit (Ping timeout: 245 seconds) |
| 07:23:14 | * | chemist69 joined #nim |
| 07:32:47 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 07:36:06 | * | vendethiel joined #nim |
| 07:36:12 | DecoPerson | How do you handle a low-level array, allocated using alloc0? |
| 07:36:40 | fowlmouth | cast it to ptr array |
| 07:36:53 | Triplefox | after you cast, it works like any other array |
| 07:37:10 | DecoPerson | even though it has no header? |
| 07:37:29 | Triplefox | it'll be unchecked |
| 07:37:51 | Triplefox | but you can wrap it in a type with array[0..0] {.unchecked.} and then add accessors that do checks |
| 07:38:10 | Triplefox | is {.unchecked.} right? |
| 07:38:14 | Triplefox | (now i have to check) |
| 07:38:19 | fowlmouth | yes Triplefox |
| 07:38:27 | Triplefox | thanks |
| 07:38:51 | DecoPerson | is it {.unchecked.} by default, if you cast? |
| 07:39:41 | fowlmouth | .eval var x = cast[ptr array[5,int]](alloc0(sizeof(int)*5)); x[0] = 42; echo repr(x[]) |
| 07:39:44 | Triplefox | i'm not sure, it might just complain |
| 07:39:49 | Triplefox | and not compile if you force it |
| 07:40:00 | fowlmouth | no bot :( |
| 07:40:03 | Triplefox | wrapping it in a type is what i've done in the past |
| 07:40:24 | * | bretthart joined #nim |
| 07:41:35 | * | dumdum joined #nim |
| 07:43:49 | DecoPerson | hmm, what its size is variable? `array[size, int]` complains that `size` cannot be evaluated at compile-time |
| 07:44:14 | DecoPerson | **what if its size is variable? |
| 07:44:31 | Triplefox | variable size is 0..0 and it forces you to declare unchecked in that instance |
| 07:46:24 | DecoPerson | {.unchecked} data {.unchecked}: {.unchecked} ptr array {.unchecked} [0..0, ElementT] {.unchecked} |
| 07:46:26 | DecoPerson | aaaaahhhhh |
| 07:46:40 | DecoPerson | `data: ptr array[0..0, ElementT]` |
| 07:46:46 | Triplefox | that's...more than you need i think |
| 07:46:58 | DecoPerson | In an object type definition, where do I put {.unchecked.}? |
| 07:47:13 | Triplefox | let me post example |
| 07:47:30 | DecoPerson | thanks :) |
| 07:47:36 | fowlmouth | try type UncheckedArray[T] {.uncheckedArray.} = array[1, T] |
| 07:47:45 | Triplefox | https://gist.github.com/triplefox/6385d0b64904780f8692 |
| 07:47:48 | fowlmouth | er {.unchecked.} |
| 07:48:43 | * | kashyap_ quit (Changing host) |
| 07:48:43 | * | kashyap_ joined #nim |
| 07:49:19 | * | DecoPerson quit (Changing host) |
| 07:49:19 | * | DecoPerson joined #nim |
| 07:49:25 | fowlmouth | Triplefox, why do you use a ref type here |
| 07:49:55 | Triplefox | uh, now that you mention it...i probably wasn't paying attention since i was just struggling to make it work |
| 07:50:02 | fowlmouth | oh nm i thought you were calling dealloc on the Buffer32 |
| 07:50:18 | DecoPerson | That example is perfect, thank you :D |
| 07:50:38 | Triplefox | i don't think it needs to be a ref from a perf standpoint, since it doesn't actually contain the array data |
| 07:51:10 | fowlmouth | Triplefox, no a ref is perfect here but instead of having a deallocbuffer32 function use a finalizer |
| 07:51:31 | Triplefox | ah, a feature i didn't try yet |
| 07:51:37 | DecoPerson | hmm... https://gist.github.com/Deco/9b249f8de80d07dfe4c6 |
| 07:51:52 | DecoPerson | error on line 3: impementation of arrayUnchecked expected |
| 07:52:10 | fowlmouth | DecoPerson, i think the pragma on the type has to be before the generic parameters |
| 07:52:29 | fowlmouth | after array[..] should work too |
| 07:53:42 | DecoPerson | nope, complains about indentation when doing `type aU[R, T] = array[R, T] {.unchecked.}` |
| 07:54:00 | DecoPerson | https://gist.github.com/Deco/9b249f8de80d07dfe4c6 |
| 07:54:09 | DecoPerson | now that's a weird error |
| 07:55:55 | fowlmouth | DecoPerson, what do you need the range parameter for? its meaningless with unchecked |
| 07:56:08 | DecoPerson | ah, good point |
| 07:57:11 | DecoPerson | works, thanks :D https://gist.github.com/Deco/9b249f8de80d07dfe4c6 |
| 07:57:30 | Triplefox | are you doing a matrix math lib DecoPerson |
| 07:57:58 | DecoPerson | trying |
| 07:58:34 | Triplefox | well, good luck with it...i decided i wanted to port the three.js math library a week or so ago and am gradually chipping away at that |
| 07:59:00 | DecoPerson | Direct translation, or just an inspiration? either way, good choice |
| 07:59:36 | Triplefox | interpreted translation, mostly i'm trying to make something that can follow ~same test suite |
| 07:59:54 | Triplefox | but a lot of the idioms don't make sense with nim features so i am messing with those |
| 08:00:21 | * | vendethiel quit (Ping timeout: 252 seconds) |
| 08:02:52 | DecoPerson | Compile-time evaluation of constant matrices is awesome. I love how easily it's done with Nim |
| 08:05:58 | Triplefox | the standout for me has been the combination of ufcs syntax and overloading |
| 08:06:10 | Triplefox | it removes a lot of friction around organizing stuff |
| 08:06:10 | reactormonk | DecoPerson, don't get too crazy with it, not sure if the VM is close to native speed |
| 08:07:20 | DecoPerson | VM? I thought Nim translated to C which compiled to native asm |
| 08:07:50 | Triplefox | at compile time it'd run in a vm |
| 08:08:19 | DecoPerson | Ah, right |
| 08:11:57 | fowlmouth | this library uses recursive templates, pretty cool https://github.com/MasonMcGill/tuples |
| 08:14:13 | DecoPerson | How are the functional procs in Nim? |
| 08:14:21 | * | vendethiel joined #nim |
| 08:14:25 | DecoPerson | e.g: var x = reduce(`*`, [3, 4, 5]) |
| 08:15:18 | reactormonk | DecoPerson, kinda meh |
| 08:15:56 | DecoPerson | Ah, just found sequtils |
| 08:21:59 | DecoPerson | Hmm, if I allocate memory like this: "a_a_a_b___b___b___b___" |
| 08:22:17 | DecoPerson | how can make an array refer to the b___ section? |
| 08:24:27 | Araq | use fowlmouth's lib to do pointer arithmetic or do it by hand: cast to int, plus, cast back to ptr array |
| 08:24:54 | DecoPerson | https://gist.github.com/Deco/850e3e8f05cb0495588a |
| 08:25:36 | Triplefox | you could define another array with addr() at the start of b |
| 08:25:43 | fowlmouth | DecoPerson, the float section would start at byte intcount*sizeof(int) |
| 08:27:19 | fowlmouth | https://gist.github.com/fowlmouth/4060626621d10b71392f |
| 08:27:54 | DecoPerson | your pointer_arithm lib is handy, thanks :) |
| 08:28:37 | DecoPerson | hmm, why do you cast memoryBlockPtr to a cstring? |
| 08:29:31 | fowlmouth | cstring is char* and can be indexed |
| 08:32:25 | * | gokr joined #nim |
| 08:35:49 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 08:37:40 | * | vendethiel joined #nim |
| 08:38:42 | reactormonk | Araq, https://github.com/Araq/Nim/pull/2053 doesn't break anything that I know of. |
| 08:40:00 | Araq | ok |
| 08:41:06 | reactormonk | Araq, got any more edge cases for https://github.com/Araq/Nim/pull/2052 to test? |
| 08:43:11 | Araq | reactormonk: don't use 2 yields in an inline iterator ... |
| 08:43:22 | reactormonk | Araq, ok |
| 08:43:25 | Araq | and why is your version faster? |
| 08:43:40 | Araq | you simply moved around a few checks? |
| 08:43:56 | reactormonk | I have no idea. |
| 08:43:59 | fowlmouth | haha "There are two types of programming languages: the ones people bitch about, and the ones that nobody uses." —Bjarne Stroustrup (creator C++) |
| 08:44:08 | reactormonk | I'll benchmark it up for you |
| 08:44:45 | Araq | reactormonk: just move the 'len(s)' out of the loop |
| 08:44:49 | Araq | in the old version |
| 08:44:53 | Araq | like so: |
| 08:45:00 | Araq | let L = s.len |
| 08:45:06 | Araq | while last < L: ... |
| 08:45:09 | Araq | you get the idea |
| 08:45:20 | reactormonk | yup |
| 08:45:31 | reactormonk | I'll benchmark it up, but sleep for now. |
| 08:45:49 | Araq | ok |
| 09:00:48 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 09:05:22 | * | vendethiel joined #nim |
| 09:05:48 | * | bretthart quit (Ping timeout: 245 seconds) |
| 09:07:23 | * | Trustable joined #nim |
| 09:13:16 | * | lv381 joined #nim |
| 09:13:43 | * | BlaXpirit joined #nim |
| 09:20:04 | * | lv381 quit (Ping timeout: 246 seconds) |
| 09:31:26 | * | sepisoad joined #nim |
| 09:33:08 | sepisoad | is there a good unit test library for nim? |
| 09:35:21 | fowlmouth | sepisoad, unittest module in the std lib |
| 09:36:20 | Araq | fowlmouth: he asked for *good* unit test module :P |
| 09:36:45 | Araq | sepisoad: I simply use isMainModule and doAssert |
| 09:37:08 | fowlmouth | sepisoad, if you're looking for examples its common to have an example usage or test at the bottom of a module |
| 09:39:43 | Triplefox | i made a slightly fancier thing that reports which line failed, continues testing and reports passes/fails after https://gist.github.com/triplefox/aa9c185b00342a04fd7b |
| 09:40:09 | Triplefox | not really a "library" though, just something i added |
| 09:41:54 | * | kuzy000_ joined #nim |
| 09:49:02 | DecoPerson | is `pointer` just `ptr char`? |
| 09:50:16 | fowlmouth | no pointer is void* |
| 09:51:32 | * | davidhq joined #nim |
| 09:51:34 | DecoPerson | eek, so implementing `+` for `pointer` isn't advisable... |
| 09:56:30 | * | sillesta joined #nim |
| 09:56:33 | fowlmouth | not really possible |
| 10:06:33 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 10:11:50 | * | pafmaf joined #nim |
| 10:13:48 | ekarlso | flaviu: heh, busy with school stuff ? |
| 10:14:50 | * | davidhq joined #nim |
| 10:28:16 | * | telos joined #nim |
| 10:43:00 | * | telos quit (Quit: Page closed) |
| 10:49:38 | DecoPerson | Is this possible? mat[1,2,3] = 5 |
| 10:50:57 | BlaXpirit | what is "this"? |
| 10:51:06 | BlaXpirit | it's possible if you define it |
| 10:51:14 | * | kuzy000_ quit (Remote host closed the connection) |
| 10:52:59 | BlaXpirit | there you go, a stupid example: https://bpaste.net/show/324307591a46 |
| 10:53:16 | DecoPerson | just discovered how: https://gist.github.com/Deco/8de65dfde6fba26e74ee |
| 10:53:23 | DecoPerson | thanks! |
| 10:53:34 | * | jm116_ quit (Changing host) |
| 10:53:34 | * | jm116_ joined #nim |
| 10:53:41 | Araq | the varargs is not necessary |
| 10:53:49 | Araq | fixed arity works just as well: |
| 10:54:23 | Araq | proc `[]`(x: Matrix; a, b: int): x.type = ... |
| 10:55:17 | * | kuzy000_ joined #nim |
| 10:55:26 | * | gsingh93 quit (Quit: Connection closed for inactivity) |
| 11:06:56 | * | milosn quit (Ping timeout: 246 seconds) |
| 11:07:06 | DecoPerson | proc `[]=`(x: Matrix; indexList: varargs[int], value: atype) = |
| 11:07:17 | DecoPerson | how do you use varargs for `[]=`? |
| 11:14:29 | Araq | he, I don't think that's possible |
| 11:15:44 | * | VinceAddons joined #nim |
| 11:20:19 | DecoPerson | Ha, that's unfortunate |
| 11:21:05 | DecoPerson | looks like it'll be Mathematica-like matrix syntax: mat[[1,2]] = v |
| 11:21:47 | Araq | just looked at the implementation, it's amazingly hard to support ... |
| 11:21:53 | DecoPerson | unless, would you change the order of the index and the value? |
| 11:22:12 | DecoPerson | `[]=`(x: Matrix, value: atype, indexList: varargs[int]) |
| 11:22:17 | Araq | yeah, great idea |
| 11:22:25 | Araq | but not backwards compatible |
| 11:22:26 | DecoPerson | it'd break existing code, though :S |
| 11:22:33 | Araq | yup |
| 11:22:36 | DecoPerson | painful |
| 11:23:17 | Araq | you can hack around with a `[]=` macro, I think |
| 11:23:47 | * | vendethiel quit (Ping timeout: 250 seconds) |
| 11:24:15 | DecoPerson | what if the compiler matched on the argument list types? |
| 11:24:53 | DecoPerson | e.g: proc expects (string, vararg[int], float) |
| 11:25:15 | DecoPerson | better example |
| 11:25:20 | DecoPerson | e.g: proc expects (string, vararg[float], int) |
| 11:25:33 | DecoPerson | callsite provides (string, float, float, float, int) |
| 11:26:01 | DecoPerson | the vararg is not greedy (just like regex) |
| 11:26:31 | Araq | well yes |
| 11:27:25 | * | mal`` quit (Read error: Connection reset by peer) |
| 11:29:32 | Araq | ok, I think I can make it work |
| 11:30:01 | * | vendethiel joined #nim |
| 11:30:02 | fowlmouth | that should work already shouldnt it |
| 11:34:59 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 11:36:12 | * | mal`` joined #nim |
| 11:38:09 | * | Mimbus joined #nim |
| 11:39:28 | flaviu | ekarlso: Yep. fowlmouth: The bot is back |
| 11:40:43 | * | OnwardEuler joined #nim |
| 11:45:28 | * | chemist69 quit (Quit: leaving) |
| 11:47:54 | * | chemist69 joined #nim |
| 11:48:30 | ekarlso | flaviu: boo :( |
| 11:48:40 | ekarlso | flaviu: let's hope someone else got time to style it :p |
| 12:11:27 | * | vendethiel quit (Ping timeout: 250 seconds) |
| 12:13:22 | * | vendethiel joined #nim |
| 12:31:30 | * | sepisoad quit (Quit: Leaving) |
| 12:34:27 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 12:36:27 | * | zahary joined #nim |
| 12:43:43 | Araq | hey zahary, are you available as mentor for Google summer of code? |
| 12:44:27 | zahary | I'd take it seriously if we get accepted |
| 12:49:49 | * | vendethiel joined #nim |
| 12:50:38 | Araq | ok, good |
| 13:09:51 | * | dumdum quit (Ping timeout: 256 seconds) |
| 13:26:21 | * | Stefan____ joined #nim |
| 13:43:52 | * | nickles joined #nim |
| 13:47:01 | * | hackerkid joined #nim |
| 13:47:13 | * | nickles quit (Client Quit) |
| 13:47:17 | Araq | DecoPerson: ok, got it to work |
| 13:48:58 | * | irrequietus joined #nim |
| 13:55:14 | * | Stefan____ quit (Quit: Page closed) |
| 14:03:34 | * | BlaXpirit quit (Read error: Connection reset by peer) |
| 14:04:14 | * | BlaXpirit joined #nim |
| 14:05:55 | * | dumdum joined #nim |
| 14:07:46 | * | kashyap_ quit (Ping timeout: 246 seconds) |
| 14:13:49 | * | davidhq joined #nim |
| 14:15:15 | * | davidhq quit (Client Quit) |
| 14:19:08 | * | vendethiel quit (Ping timeout: 250 seconds) |
| 14:19:54 | Araq | DecoPerson: pushed |
| 14:31:16 | * | sillesta quit (Remote host closed the connection) |
| 14:32:44 | * | sillesta joined #nim |
| 14:34:23 | * | vendethiel joined #nim |
| 14:37:19 | * | hackerkid quit (Ping timeout: 245 seconds) |
| 14:38:56 | * | hackerkid joined #nim |
| 14:39:10 | * | ibeex joined #nim |
| 14:50:07 | * | hackerkid quit (Ping timeout: 252 seconds) |
| 14:55:29 | * | vendethiel quit (Ping timeout: 246 seconds) |
| 14:58:25 | * | davidhq joined #nim |
| 14:58:53 | * | jasondotstar quit (Quit: Leaving) |
| 15:09:39 | * | vendethiel joined #nim |
| 15:12:28 | * | perturbation joined #nim |
| 15:24:38 | onionhammer | Araq around? |
| 15:25:58 | onionhammer | so does the arrowlike thing not work quite yet? |
| 15:26:00 | onionhammer | https://gist.github.com/onionhammer/5bb2b0d2f7944cab06a5#file-pubsub-nim-L39 |
| 15:26:45 | Araq | onionhammer: use more () |
| 15:27:00 | onionhammer | Araq Error: ')' expected |
| 15:27:22 | onionhammer | a.onSpeak &= ((s: string) => (echo s)) |
| 15:33:52 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 15:34:37 | * | hackerkid joined #nim |
| 15:35:01 | Araq | onionhammer: yeah it's weird |
| 15:35:12 | Araq | dunno what's happening here |
| 15:35:47 | onionhammer | ah ok. I guess arrowlike isnt working as intended? |
| 15:36:38 | Araq | well recently I changed how it's parsed again |
| 15:36:58 | Araq | not sure if that's the reason why it breaks |
| 15:39:10 | Araq | I feel like removing this piece of crap. I have real bugs to fix here. so what if 'proc ...' is slightly longer than C#. |
| 15:39:38 | onionhammer | :( |
| 15:45:02 | Araq | it's the &= btw |
| 15:45:05 | Araq | with = it works |
| 15:45:24 | * | vendethiel joined #nim |
| 15:45:29 | onionhammer | hm |
| 15:52:54 | Araq | and so does: |
| 15:52:56 | Araq | onSpeak &= ((s: string) => echo(s)) |
| 15:53:49 | onionhammer | hm |
| 15:53:52 | onionhammer | im getting 'Error: cannot infer the return type of the proc' |
| 15:54:57 | Araq | yeah but that's a different issue :P |
| 15:55:02 | onionhammer | ;) |
| 15:55:10 | Araq | onSpeak &= ((s: string)->void => echo(s)) |
| 15:55:23 | onionhammer | ahh there we go |
| 15:57:20 | federico3 | is Nim planned to transcompile to C forever or will it evolve its own compiler? Are there plans to support LLVM as well? |
| 16:00:04 | Araq | There is no such thing as a "transcompiler". |
| 16:00:30 | Araq | "transpile" is a verb created by people who have no idea about compilers. |
| 16:00:55 | * | panzone joined #nim |
| 16:01:00 | federico3 | "translate to C and than compile" |
| 16:01:14 | Araq | "translation to C" is a compilation step. |
| 16:01:33 | Araq | and it's as complex as compiling to other intermediate languages such as LLVM |
| 16:02:05 | federico3 | it's just a naming convention https://en.wikipedia.org/wiki/Source-to-source_compiler |
| 16:02:22 | Araq | so does GCC "transpile" to asm then? |
| 16:02:32 | Araq | it makes no sense. |
| 16:03:02 | federico3 | I'm not implying that translating to C is less good or wrong or anything |
| 16:03:23 | Araq | then name it as what it is: compilation. :P |
| 16:05:22 | * | darkf quit (Quit: Leaving) |
| 16:05:29 | Araq | and it's not a source-to-source compiler. |
| 16:05:53 | Araq | c2nim is a source-to-source compiler as the resulting Nim code doesn't have to run. |
| 16:06:05 | pafmaf | it's a source-to-source transpiler :P ? |
| 16:06:23 | * | ibeex quit (Quit: Textual IRC Client: www.textualapp.com) |
| 16:06:49 | Araq | federico3: but to answer your question: native codegen is being worked on. |
| 16:07:18 | Araq | LLVM codegen has been abandoned. |
| 16:07:23 | * | vendethiel quit (Ping timeout: 240 seconds) |
| 16:07:31 | federico3 | thanks |
| 16:13:10 | Araq | "Translation to C has been removed from LLVM since version 3.1. It had numerous problems, to the point of not being able to compile any nontrivial program" |
| 16:13:39 | Araq | Btw I predicted this. |
| 16:17:20 | * | hackerkid quit (Ping timeout: 265 seconds) |
| 16:19:53 | * | wb quit (Ping timeout: 240 seconds) |
| 16:28:41 | * | NimBot joined #nim |
| 16:29:55 | * | skroll3 quit (Ping timeout: 265 seconds) |
| 16:30:13 | * | skroll3 joined #nim |
| 16:34:35 | * | hackerkid joined #nim |
| 16:45:38 | * | panzone quit (Quit: Leaving...) |
| 16:47:31 | reactormonk | Araq, 'result' shadowing warning <- didn't I do this somehow? |
| 16:49:35 | * | Jehan_ joined #nim |
| 16:54:35 | ekarlso | yay, working play for nim! :D |
| 16:54:41 | ekarlso | including isolation |
| 16:54:54 | def- | ekarlso: with webinterface? |
| 16:54:57 | def- | want to try it out |
| 16:55:35 | ekarlso | def-: yeah, gotta deploy it first :p |
| 17:00:44 | ekarlso | def- i'll get it up later today |
| 17:00:48 | ekarlso | 2-3 hours ish |
| 17:01:33 | * | Jehan_ quit (Read error: Connection reset by peer) |
| 17:03:09 | ldlework | ekarlso: what sandboxing did you use? |
| 17:04:54 | * | Jehan_ joined #nim |
| 17:07:04 | ekarlso | ldlework: playpen |
| 17:07:10 | ekarlso | fedora 21 |
| 17:07:18 | ldlework | cool |
| 17:09:10 | ekarlso | created a little shell util also to manage nim versions |
| 17:09:22 | ekarlso | a'la nvm for node |
| 17:09:33 | * | leonlee quit (Ping timeout: 265 seconds) |
| 17:09:56 | * | perturbation quit (Quit: Leaving) |
| 17:19:40 | * | jm116_ quit (Quit: Leaving) |
| 17:40:31 | * | jefus_ joined #nim |
| 17:44:07 | * | jefus quit (Ping timeout: 256 seconds) |
| 17:46:19 | * | nande joined #nim |
| 17:47:46 | * | panzone joined #nim |
| 17:48:52 | * | vendethiel quit (Ping timeout: 255 seconds) |
| 17:51:14 | * | Jehan_ quit (Ping timeout: 246 seconds) |
| 17:53:35 | * | milosn_ joined #nim |
| 17:55:12 | * | Jehan_ joined #nim |
| 17:56:04 | * | milosn_ is now known as milosn |
| 18:00:24 | * | vendethiel joined #nim |
| 18:03:36 | * | Matthias247 joined #nim |
| 18:05:27 | * | jefus_ quit (Quit: Leaving) |
| 18:17:11 | * | Jehan_ quit (Read error: Connection reset by peer) |
| 18:22:39 | * | dumdum quit (Ping timeout: 256 seconds) |
| 18:23:09 | * | vendethiel quit (Ping timeout: 244 seconds) |
| 18:26:48 | * | vendethiel joined #nim |
| 18:31:49 | Araq | reactormonk: you made no PR |
| 18:33:54 | * | wb joined #nim |
| 18:35:33 | * | dumdum joined #nim |
| 18:41:39 | * | panzone quit (Remote host closed the connection) |
| 18:42:03 | * | panzone joined #nim |
| 18:45:53 | * | dumdum quit (Ping timeout: 256 seconds) |
| 18:50:49 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 18:53:45 | * | hackerkid quit (Quit: Going out for a walk) |
| 18:55:33 | * | vendethiel joined #nim |
| 18:58:39 | * | gsingh93 joined #nim |
| 19:01:58 | * | ehaliewicz joined #nim |
| 19:02:14 | * | MyMind quit (Read error: No route to host) |
| 19:08:18 | * | shodan45 quit (Quit: Konversation terminated!) |
| 19:09:09 | * | brson joined #nim |
| 19:14:15 | * | nande quit (Read error: Connection reset by peer) |
| 19:19:34 | * | vendethiel quit (Ping timeout: 265 seconds) |
| 19:21:24 | * | vendethiel joined #nim |
| 19:23:55 | * | milosn quit (Read error: Connection reset by peer) |
| 19:28:04 | * | milosn joined #nim |
| 19:38:44 | * | dumdum joined #nim |
| 19:54:52 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 19:55:23 | Varriount | So... I just wrote my first program in assembly. |
| 19:55:36 | Varriount | I think I prefer Nim. :/ |
| 19:55:56 | dom96 | I for one love Assembly |
| 19:57:44 | * | vendethiel joined #nim |
| 19:58:48 | panzone | dom96: depends what assembly |
| 20:00:18 | Varriount | I'm using whatever dialect of assembly is supported by Microsofts MASM |
| 20:00:43 | Varriount | (Is there actually any strict specification of 'assembly language'?) |
| 20:02:50 | Araq | Varriount: Intel's manuals do count as such |
| 20:07:45 | * | jfokkan quit (Read error: Connection reset by peer) |
| 20:09:21 | * | CARAM__ quit (Ping timeout: 265 seconds) |
| 20:12:53 | * | panzone quit (Quit: Leaving...) |
| 20:16:53 | * | jfokkan joined #nim |
| 20:18:06 | * | CARAM__ joined #nim |
| 20:38:52 | * | jwecker joined #nim |
| 20:39:17 | ekarlso | https://github.com/ekarlso/nim-vm < for those who care about such things |
| 20:40:21 | * | ARCADIVS joined #nim |
| 20:40:28 | * | jwecker quit (Client Quit) |
| 20:41:58 | * | jwecker joined #nim |
| 20:43:59 | jwecker | Hi all- I just pulled in the last week or so worth of changes into my local devel branch and suddenly `./koch boot` is saying: |
| 20:43:59 | * | alexruf joined #nim |
| 20:44:02 | jwecker | compiler/options.nim(299, 13) Info: instantiation from here |
| 20:44:04 | jwecker | lib/system.nim(2453, 52) Error: invalid pragma: benign |
| 20:44:07 | jwecker | FAILURE |
| 20:44:18 | jwecker | I can dig further- just wanted to check here first to see if it was a known issue or something |
| 20:44:35 | Araq | jwecker: hrm |
| 20:44:43 | Araq | do you compile from 0.10.2? |
| 20:44:51 | jwecker | checking... |
| 20:45:46 | jwecker | just using the "build.sh" looks like ./bin/nim is 0.10.0 |
| 20:45:52 | jwecker | am I bootstrapping wrong? |
| 20:46:40 | jwecker | I'll try git-clean and removing csources... |
| 20:47:14 | Araq | 0.10.0 cannot compile 0.10.3 |
| 20:47:28 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 20:49:24 | jwecker | ok. trying full fresh bootstrap based on 'devel' head |
| 20:50:25 | jwecker | all good now. just cruft from old build. thanks Araq (: |
| 20:51:17 | ekarlso | jwecker: try nimvm on ;P |
| 20:52:02 | Araq | there is not a single release that can compile the following release |
| 20:55:23 | * | alexruf quit (Quit: Textual IRC Client: www.textualapp.com) |
| 20:55:31 | BlaXpirit | ekarlso, i think there is a mistake in your LICENSE D: |
| 20:55:52 | jwecker | that's fair. I didn't realize the build script was trying to use such an old binary. Now I know to `git clean -xfd && rm -rf csources && /bin/bash build.sh` if I want a true fresh build. |
| 20:56:04 | * | UberLambda joined #nim |
| 20:56:08 | def- | BlaXpirit: he just decided to give you copyright |
| 20:57:43 | Araq | er what? |
| 20:57:56 | Araq | what is this? |
| 20:58:10 | Araq | if [ ! -d "csources" ]; then |
| 20:58:12 | Araq | git clone --depth 1 https://github.com/nim-lang/csources.git |
| 20:58:13 | Araq | fi |
| 20:58:15 | Araq | cd "csources" |
| 20:58:16 | Araq | sh build.sh |
| 20:58:42 | Araq | that's not how building works |
| 20:59:06 | ekarlso | haha, indeed BlaXpirit :p |
| 21:00:42 | Araq | Varriount: did you pull that? |
| 21:02:09 | Araq | cp -f install.sh.template install.sh # wtf |
| 21:02:34 | Araq | who wrote this script?! |
| 21:03:45 | jwecker | hah, was just wondering what the point of install.sh.template was also |
| 21:05:10 | jwecker | I suppose it might be so someone doesn't try to activate install before build.sh has done it's job. |
| 21:05:11 | BlaXpirit | Araq, blame? |
| 21:05:15 | BlaXpirit | where is it |
| 21:05:44 | jwecker | it all came in this commit: 6b08893 - Philip |
| 21:05:59 | BlaXpirit | https://github.com/Araq/Nim/blame/7e7a448cf11a4dd7d293209082e6b2e2a7d0c261/build.sh |
| 21:06:21 | BlaXpirit | umm i'm pretty sure i've been using this |
| 21:06:25 | BlaXpirit | and it works well |
| 21:08:06 | Araq | BlaXpirit: well it didnt for jwecker |
| 21:08:41 | Araq | and how many ways of building and installing Nim do we need? |
| 21:08:56 | BlaXpirit | one that is known |
| 21:09:07 | jwecker | I've been using it successfully also until the binary sitting in ./bin/ got too stale. Also, build.sh does a bunch of manual recompilation of c files that is unnecessary most of the time |
| 21:09:09 | BlaXpirit | and this has been indeed "one that is known" for me |
| 21:11:28 | jwecker | It's basically just a wrapper to make sure koch is built and then it calls out to the 'correct' koch method, right? |
| 21:12:26 | jwecker | would be cool if koch could bootstrap itself... starts life as a shell script that replaces itself with a binary on first instantiation... maybe too much magic. |
| 21:22:40 | * | nande joined #nim |
| 21:28:37 | * | kuzy000_ quit (Ping timeout: 265 seconds) |
| 21:34:11 | * | dumdum quit (Ping timeout: 256 seconds) |
| 21:35:40 | * | Matthias247 quit (Quit: Matthias247) |
| 21:42:00 | * | Matthias247 joined #nim |
| 21:49:04 | * | jwecker quit (Quit: leaving) |
| 22:01:16 | onionhammer | araq does setlen on seq reset the capacity back to 0 or just the length |
| 22:05:00 | Araq | onionhammer: just the length |
| 22:09:55 | * | chewbranca joined #nim |
| 22:12:43 | * | Sembei joined #nim |
| 22:13:09 | onionhammer | Araq is events.nim used in the std lib? |
| 22:13:35 | Araq | I don't think so |
| 22:13:43 | onionhammer | looks like a good candidate for splitting out |
| 22:13:48 | onionhammer | into a separate package |
| 22:14:06 | Araq | yup, but Amrykid was so happy to be in the stdlib ;-) |
| 22:14:48 | onionhammer | lol |
| 22:15:53 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 22:16:52 | * | UberLambda quit (Ping timeout: 252 seconds) |
| 22:18:22 | * | wb quit (Read error: Connection reset by peer) |
| 22:19:58 | * | Sornaensis quit (Ping timeout: 245 seconds) |
| 22:21:31 | * | davidhq joined #nim |
| 22:23:52 | * | Sornaensis joined #nim |
| 22:24:24 | * | vendethiel quit (Ping timeout: 245 seconds) |
| 22:25:52 | * | vendethiel joined #nim |
| 22:45:35 | * | pafmaf quit (Quit: Verlassend) |
| 22:46:51 | ekarlso | you're all awesome at debugging low level stuff: playpen: clone: Operation not permitted |
| 22:46:56 | ekarlso | what does that mean ? |
| 22:49:37 | * | vendethiel quit (Ping timeout: 264 seconds) |
| 22:59:02 | * | BlaXpirit quit (Quit: Quit Konversation) |
| 22:59:49 | Araq | ekarlso: Unix hates you? |
| 23:00:15 | * | vendethiel joined #nim |
| 23:01:21 | ekarlso | Araq: :'( |
| 23:01:59 | ekarlso | seems it only works with sudo -,,- |
| 23:02:07 | ekarlso | so fedora 21 is borked too, great |
| 23:03:18 | * | Boscop_ joined #nim |
| 23:04:01 | ekarlso | wonder what's the diff in archlinux that it works there :| |
| 23:05:41 | ekarlso | what else to use then ... |
| 23:05:45 | ekarlso | allmost falling to docker instead :p |
| 23:05:52 | ekarlso | dom96: / ldlework suggestions ? |
| 23:06:57 | * | Boscop quit (Ping timeout: 252 seconds) |
| 23:07:09 | def- | ekarlso: why not just install sudo then? |
| 23:07:22 | def- | maybe I'm misunderstanding |
| 23:07:33 | ekarlso | def-: ... playpen for isolating processes for nim-play |
| 23:13:28 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 23:13:41 | flaviu | Araq: Some guy/university is adding the C backend to llvm, I can't give links atm tho. |
| 23:22:05 | flaviu | https://github.com/draperlaboratory/llvm-cbe |
| 23:25:01 | * | vendethiel quit (Ping timeout: 255 seconds) |
| 23:25:28 | fowlmouth | why would llvm need a c backend |
| 23:26:04 | * | sillesta quit (Ping timeout: 245 seconds) |
| 23:26:23 | flaviu | fowlmouth: Microcontrollers are the big thing |
| 23:27:17 | flaviu | They often have their own proprietary toolkit, but you want to use your favorite compile-to-llvm language or you want to take advantage of llvm's optimization. |
| 23:28:04 | fowlmouth | oh |
| 23:31:30 | Araq | there are not that many proprietary toolkits left that are not based on GCC though |
| 23:31:48 | Araq | so you tend to get a decent optimizer |
| 23:32:29 | Araq | and so you should pick your favorite compile-to-C language. Nim. ;-) |
| 23:34:38 | ekarlso | noone got a clue ? ;P |
| 23:35:51 | def- | ekarlso: you could ask the other guys using playpen what they use |
| 23:44:19 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 23:58:40 | ekarlso | wonder what alternatives there are.. |
| 23:58:46 | ekarlso | allmost tempted to just containers.. |