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