00:00:11 | EXetoC | ekarlso-: no, but it happened to me with some other program when I ran it as root |
00:00:34 | ekarlso- | heh, well I dunno what can be wrong :( |
00:01:20 | Araq | ekarlso-: there is a GTK build that uses the native osx stuff. do you use that? cause you should. |
00:01:45 | ekarlso- | gtk build of what ? |
00:02:23 | EXetoC | of gtk? :p |
00:03:55 | ekarlso- | I used homebrew to brew install gtksourceview |
00:05:30 | ekarlso- | oh well, give up that then :p |
00:05:55 | * | yglukhov_ quit (Ping timeout: 252 seconds) |
00:07:24 | ekarlso- | no clues ? |
00:08:53 | EXetoC | it's probably only gtk itself that is of relevance |
00:09:56 | dom96 | ekarlso-: gtk on Mac is generally not very easy to set up I think. |
00:10:05 | * | z1y joined #nim |
00:10:10 | ekarlso- | meh, switch to QT :P |
00:10:18 | dom96 | make a Qt wrapper and I will |
00:10:28 | ekarlso- | :( |
00:10:38 | ekarlso- | get a mac dom96 :) |
00:11:00 | dom96 | ekarlso-: Sure, donate some money to that cause and I will ;) |
00:12:59 | ekarlso- | guess i'll stay in sublime for now :P |
00:13:02 | ekarlso- | this was a hassle |
00:13:34 | dom96 | sure |
00:14:34 | Araq | dom96: I fixed the last bug I wanted to fix for 0.10.2 |
00:14:51 | Araq | should we release? |
00:14:55 | gmpreussner_ | Varriount|Busy: uhm... no idea. i'm using a systemd service that flaviu sent me |
00:15:05 | dom96 | Araq: Have you fixed the release article? |
00:15:15 | Araq | dom96: not really |
00:15:30 | Araq | I changed one sentence |
00:15:42 | Varriount|Busy | gmpreussner_: Well, we'll know as soon as the build runs. If it fails when invoking python, I'll change it. |
00:15:59 | gmpreussner_ | ok, but i need the details for the server first |
00:16:06 | gmpreussner_ | i haven't put any configuration in yet |
00:16:15 | gmpreussner_ | it's just a virgin buildbot slave |
00:17:25 | Araq | argh |
00:17:45 | Araq | never mind, my fix produced a regression ... wtf |
00:18:05 | dom96 | Araq: Please improve the article. |
00:24:19 | Varriount|Busy | gmpreussner_: Connect the slave to port 9989 on buildbot.nim-lang.org |
00:24:46 | Araq | dom96: it's fine the way it is |
00:24:56 | Araq | also |
00:25:02 | Araq | this is only the website |
00:25:10 | Araq | we improve that whenever we wish |
00:25:16 | Araq | it's not bound to a release |
00:26:11 | dom96 | it is |
00:26:20 | dom96 | because everybody will read it once it hits HN/Reddit |
00:26:35 | * | zedronar joined #nim |
00:26:41 | dom96 | Maybe somebody else would be willing to improve it? https://github.com/Araq/Nim/blob/devel/web/news.txt#L9 |
00:26:59 | skyfex | Araq: Is it possible to allow more keywords to be used as identifiers in objects? Such as "interface" and "type" |
00:27:15 | Araq | skyfex: `interface`: int # works |
00:27:30 | Araq | but some wish for trailing underscores instead |
00:28:19 | * | z1y quit (Ping timeout: 256 seconds) |
00:28:29 | skyfex | Aha, thanks |
00:28:54 | skyfex | maybe c2nim should be made aware of such conflicts |
00:29:08 | Araq | yup |
00:29:27 | Araq | but c2nim will see a pretty big update within the next months |
00:32:42 | gmpreussner_ | Varriount|Busy: i'll be afk for a moment. i'll connect the slave in about 30 minutes. is there anything else i need to do after that? |
00:33:28 | Varriount|Busy | gmpreussner_: Not really. I'll instruct the master to perform a manual run, to make sure things work, but that should be it. |
00:34:58 | gmpreussner_ | ok cool, i'll set this up asap. i gotta run. i'll be back |
00:35:59 | * | Demos_ joined #nim |
00:38:32 | * | Demos quit (Ping timeout: 244 seconds) |
00:44:26 | Araq | dom96: the list of bugfixes is not exhaustive at all |
00:45:07 | dom96 | indeed |
00:45:48 | dom96 | I was going to write a program which finds commit messages which say "fixes #xxxx" |
00:45:54 | dom96 | and then checks the issue's titles |
00:47:16 | Araq | so ... how do we manage the version? |
00:47:36 | Araq | 0.10.2 will be released and then we quickly release 0.10.4 ? |
00:48:26 | Araq | but oh, we just said, last release before 1.0 candidates come ... |
00:48:45 | Araq | we need some "hotfix period" |
00:48:59 | Araq | or whatever you want to call it |
00:50:22 | skyfex | Araq: When creating a C wrapper, is it ok to use int32 instead of cint like c2nim generates? Why is it a distinct type? |
00:50:40 | Araq | cint could be 64bits |
00:50:53 | Araq | I know of no platform where that's the case |
00:50:59 | Araq | but it could be :P |
00:51:11 | Araq | and then you're glad you used cint instead of int32 |
01:19:14 | * | Varriount|Busy quit (Quit: Page closed) |
01:25:52 | * | skyfex quit (Quit: (null)) |
01:30:17 | * | Trustable quit (Remote host closed the connection) |
01:30:47 | flaviu | http://prog21.dadgum.com/13.html is particularly relevent to Nim |
01:31:33 | * | nimnoob joined #nim |
01:33:46 | Araq | already know it |
01:34:01 | Araq | "And if a hundred million dollars changes your approach to getting things done in a quick and reliable fashion, then why isn't it your standard approach?" |
01:34:31 | Araq | even IF the answer is here "C, oh C, über alles" that approach means we never make any progress whatsoever |
01:36:32 | Araq | so that's why it isn't the standard approach |
01:41:26 | flaviu | Araq: I don't really care for the ultimate conclusion either, but it makes excellent points. |
01:42:06 | Araq | how so? |
01:43:44 | Araq | he spreads some general FUD about GC and boxing and pretends you cannot measure these things upfront to see if they suit your goal |
01:46:46 | Araq | if you cannot measure maybe you should learn how to do it instead of switching to some technology where every single basic operation is full of undefined behaviour |
01:47:28 | Triplefox | as i see it there are basically only two answers and they depend on your schedule |
01:47:51 | Triplefox | one is that you program like an actuary - figure out the risk and effort and make your best estimate (i.e. most projects) |
01:48:03 | Triplefox | the other is that you go ground-up and design the language to fit the problem exactly |
01:49:57 | flaviu | Araq: His goal isn't to say that C is the best language, but to say that there are more factors to the usability of a programming language than are immediately apparent. |
01:50:07 | * | yglukhov_ joined #nim |
01:50:48 | Araq | flaviu: in my opinion he argues for development driven by fear. |
01:52:10 | flaviu | Yes, when dealing with high-stakes decisions, it's a good idea to make conservative decisions. |
01:54:09 | Triplefox | i think the most valid point of it would be against going for "easy" - e.g. using a framework and trying to wrangle its assumptions into the problem space |
01:54:17 | Araq | it's a better idea to learn how and what to measure |
01:54:25 | * | yglukhov_ quit (Ping timeout: 255 seconds) |
01:54:59 | Triplefox | but i think the way it which he talks about it makes it sound like this is not an everyday occurrence in software |
01:58:13 | Araq | good night |
01:58:26 | Triplefox | nini |
02:09:11 | * | ARCADIVS joined #nim |
02:21:37 | * | zedronar quit (Quit: Page closed) |
02:21:50 | Araq | dom96: good news |
02:21:58 | Araq | I found a serious bug in the openssl wrapper |
02:22:01 | dom96 | oh? |
02:22:09 | Araq | which explains the reported issues |
02:22:11 | dom96 | cool |
02:22:15 | dom96 | what's the bug? |
02:22:23 | Araq | CRYPTO_set_mem_functions(alloc, realloc, dealloc) |
02:22:37 | Araq | you cannot pass these to SSL and expect things to work |
02:22:55 | Araq | usually the calling convention would have prevented this |
02:23:05 | Araq | but proc CRYPTO_set_mem_functions(a,b,c: pointer){.cdecl, |
02:23:06 | Araq | dynlib: DLLUtilName, importc.} |
02:23:12 | dom96 | oh right |
02:23:14 | Araq | is declared to use 3 pointers. sloppy |
02:23:23 | dom96 | makes sense |
02:23:28 | dom96 | is it easy to fix? |
02:23:39 | Araq | sure |
02:24:14 | Araq | good we found it before the release |
02:24:25 | dom96 | yeah, can you comment on the guy's issue? |
02:24:26 | Araq | would have been yet-another-hotfix-after-a-release |
02:25:55 | dom96 | indeed |
02:26:31 | Araq | why do we set these btw? |
02:26:49 | Araq | we don't do it on windows |
02:27:02 | dom96 | no idea |
02:27:08 | dom96 | I didn't write this code |
02:27:11 | Araq | check the history |
02:27:37 | * | nimnoob quit (Ping timeout: 240 seconds) |
02:27:42 | Araq | I didn't write it either |
02:28:05 | gmpreussner_ | Varriount: sorry for the delay, i'm back now |
02:28:13 | * | gmpreussner_ is now known as gmpreussner |
02:28:25 | Araq | gmpreussner: I'm working on static[T] now |
02:28:30 | Araq | just fyi |
02:30:14 | * | z1y joined #nim |
02:30:38 | gmpreussner | hooray |
02:31:25 | dom96 | ok, maybe I did. My bad. |
02:33:53 | dom96 | Araq: I can attempt to fix it tomorrow. |
02:33:58 | dom96 | This requires some research I guess. |
02:34:47 | dom96 | good night |
02:34:56 | Araq | same here, good night |
02:38:19 | gmpreussner | flaviu: you around? |
02:38:25 | flaviu | yep |
02:55:11 | dts|pokeball | i dont think he is |
02:55:46 | gmpreussner | Varriount: when you have a minute, can you add an armv7 slave as well? |
02:56:23 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
03:09:41 | * | dts|pokeball quit (Ping timeout: 272 seconds) |
03:10:06 | * | darkf joined #nim |
03:13:20 | * | dts|pokeball joined #nim |
03:24:36 | * | BitPuffin quit (Ping timeout: 264 seconds) |
03:24:56 | Demos_ | gmpreussner, pong, what did you want last night? |
03:26:13 | gmpreussner | heya |
03:26:36 | gmpreussner | pm |
03:37:34 | flaviu | night |
03:38:55 | * | yglukhov_ joined #nim |
03:43:29 | * | yglukhov_ quit (Ping timeout: 265 seconds) |
03:51:20 | gmpreussner | gnite flav |
04:03:05 | * | dts|pokeball quit (Read error: Connection reset by peer) |
04:03:05 | * | dts_ joined #nim |
04:08:37 | * | dts_ is now known as dts|pokeball |
04:22:09 | * | dts|pokeball quit (Ping timeout: 265 seconds) |
04:29:57 | ldlework | does Nim have infinity values? |
04:34:00 | reactormonk | ldlework, think so, they're defined at the OS level IIRC |
04:34:31 | ldlework | not sure what that means, how do I use them in Nim? |
04:35:57 | reactormonk | ldlework, what do you want to do? |
04:36:11 | ldlework | have a value for which all other values are less than it |
04:36:15 | ldlework | or vice versa |
04:40:49 | gmpreussner | there are the Inf and NegInf constants for floating point values |
04:40:57 | gmpreussner | there's also NaN |
04:43:46 | * | gmpreussner quit (Quit: Konversation terminated!) |
04:44:03 | * | z1y quit (Ping timeout: 272 seconds) |
04:45:09 | ldlework | thanks |
04:56:19 | * | EXetoC quit (Quit: WeeChat 1.0.1) |
04:56:42 | * | dts|pokeball joined #nim |
05:14:39 | * | Demos joined #nim |
05:16:21 | * | Demos_ quit (Ping timeout: 272 seconds) |
05:27:49 | * | yglukhov_ joined #nim |
05:32:19 | * | yglukhov_ quit (Ping timeout: 245 seconds) |
05:34:49 | * | Boscop quit (Ping timeout: 245 seconds) |
06:11:11 | ldlework | Can anyone think of a way to create a do-while loop? |
06:11:58 | ldlework | eh I can try |
06:16:21 | * | Varriount|Remote joined #nim |
06:20:31 | * | BitPuffin joined #nim |
06:22:40 | * | Varriount|Remote quit (Ping timeout: 246 seconds) |
06:25:24 | * | BitPuffin quit (Ping timeout: 265 seconds) |
06:26:25 | def- | ldlework: something like this?: https://github.com/def-/nimrod-unsorted/blob/master/dowhile.nim |
06:26:39 | ldlework | nice that's what I came up with |
06:27:04 | ldlework | def-: hmm |
06:27:11 | ldlework | can we expand it to take stmt, expr, stmt |
06:27:19 | def- | don't think so |
06:27:20 | ldlework | so we can initialize the variable as part of the dowhile |
06:27:30 | ldlework | wait |
06:27:36 | ldlework | oh right |
06:27:42 | ldlework | poo |
06:27:53 | ldlework | def-: are you sure? |
06:28:02 | def- | ldlework: nope, go ahead and try |
06:33:01 | ldlework | not sure how to invoke it |
06:33:05 | ldlework | anyway the normal dowhile is fine |
06:33:07 | ldlework | thanks |
06:37:10 | ldlework | def-: this could be a nice snippet for the front page, https://gist.github.com/dustinlacewell/5a4e604b312b4401b8d9 |
06:38:19 | def- | I don't know, I don't like do-while loops anyway |
06:38:34 | * | Ssactung joined #nim |
06:38:36 | ldlework | lol that's not really the point |
06:39:11 | def- | the frontpage should show examples of doing something useful, so I think that's relevant |
06:39:22 | def- | but not my decision anyway |
06:41:20 | * | ldlework rolls his eyes |
06:45:21 | notfowl | 15 mins :o |
06:46:04 | notfowl | er wrong channel |
06:49:15 | * | Varriount|Remote joined #nim |
06:50:58 | * | starless joined #nim |
06:56:32 | * | gour joined #nim |
06:58:22 | * | Ssactung quit (Quit: Page closed) |
07:00:20 | Varriount|Remote | Meep |
07:00:50 | ldlework | moop |
07:05:53 | ldlework | I'm not sure how to organize my Nim code when I have different objects that need to refer to each other |
07:08:01 | Varriount|Remote | ldlework: Hm? What do you mean? |
07:08:29 | ldlework | Varriount|Remote: because recursive type require you to define the types in the same type block |
07:09:59 | Varriount|Remote | ldlework: What kind of types are you working with? AST? |
07:10:01 | notfowl | ldlework, the best way to circumvent the module system is to only use one module |
07:10:16 | ldlework | :3 |
07:15:01 | Varriount|Remote | ldlework: There's another way... have your recursive type use a 'RootObj' or 'ref RootObj', and cast |
07:15:25 | ldlework | that doesn't seem good |
07:15:34 | Varriount|Remote | *shrug* |
07:15:49 | notfowl | you can use type classes |
07:16:21 | notfowl | you dont care what type it is as long as it adheres to some API |
07:16:37 | ldlework | Yeah but then I'm defining type classes when really I just have one type |
07:16:45 | * | yglukhov_ joined #nim |
07:16:46 | ldlework | but I do appreciate the workarounds |
07:17:27 | notfowl | you can separate the type definitions into another module and make everything public |
07:18:05 | ldlework | heh |
07:18:35 | Varriount|Remote | ldlework: I know that this is one of those 'rough patches' in the Nim implementation/language |
07:18:38 | ldlework | we all do agree it should just eventually support recursive types across modules? |
07:18:43 | ldlework | Varriount|Remote: sure, I'm okay with that |
07:19:00 | Varriount|Remote | ldlework: Yeah, I agree. However it's not simple to implement. |
07:20:15 | Varriount|Remote | ldlework: Have you tried invoking the compiler with the 'no forward declaration' option? |
07:20:28 | ldlework | Varriount|Remote: what does that do? |
07:20:51 | * | loz joined #nim |
07:21:00 | * | yglukhov_ quit (Ping timeout: 250 seconds) |
07:21:09 | Varriount|Remote | ldlework: It's an experiment option to disable to the need for forward declarations for procedures. I don't know if it allows for recursive types in separate blocks. |
07:21:17 | Varriount|Remote | *experimental |
07:22:38 | Varriount|Remote | ldlework: It *might* work though. ;P |
07:37:06 | * | BlaXpirit joined #nim |
07:48:16 | ldlework | Does Nim have "generators"? |
07:49:49 | * | Varriount|Remote quit (Ping timeout: 246 seconds) |
07:51:16 | * | notfowl quit (Ping timeout: 255 seconds) |
07:51:18 | * | fowl joined #nim |
07:55:37 | ldlework | like |
07:55:50 | ldlework | a function that I can yield from and call over and over until it stops returing values |
07:56:17 | ldlework | I guess alternatively, can I use iterators outside of a looping context? |
07:58:17 | * | yglukhov_ joined #nim |
07:58:30 | ldlework | it doesn't look like it.. |
07:59:06 | ldlework | hrm |
07:59:34 | ldlework | oh |
07:59:52 | ldlework | oh nice |
07:59:56 | ldlework | closure iterators |
07:59:58 | ldlework | woo |
08:02:55 | * | yglukhov_ quit (Ping timeout: 272 seconds) |
08:08:52 | ldlework | wait |
08:09:04 | ldlework | can you declare variabls inside a closure iterator? |
08:09:16 | ldlework | gc.nim(167) nimGCunrefNoCycle |
08:12:10 | ldlework | I guess this is where I break for the night |
08:16:34 | ldlework | bleh it works with a wrapping function |
08:16:39 | ldlework | but that seems superflous |
08:16:45 | ldlework | wait a minute |
08:17:38 | ldlework | the hell |
08:19:05 | ldlework | that must be a bug or something |
08:19:45 | ldlework | https://gist.github.com/29c970f1a69a329bf820 this fails |
08:19:50 | * | gour_ joined #nim |
08:20:10 | ldlework | but this works fine, https://gist.github.com/fa5d2bace7de59395880 |
08:20:21 | * | jefus_ joined #nim |
08:22:04 | * | dts|pokeball quit (Read error: Connection reset by peer) |
08:23:09 | * | gour quit (Ping timeout: 245 seconds) |
08:24:13 | * | jefus quit (Ping timeout: 252 seconds) |
08:30:21 | * | dts|pokeball joined #nim |
08:42:21 | loz | hi, is it possible to get random element from set? |
08:52:43 | ldlework | loz: https://github.com/BlaXpirit/nimrod-random |
08:52:49 | ldlework | you can install it with nimble |
08:53:00 | BlaXpirit | :o |
08:53:02 | ldlework | it adds random_choice |
08:53:09 | BlaXpirit | i wonder if it even still works |
08:54:19 | loz | ldlework: i see to_seq there, i think it can help me, thanks! |
08:54:53 | * | kapil__ joined #nim |
08:55:13 | ldlework | I really wonder how to write a template that takes two stmt blocks |
08:55:20 | ldlework | or rather how to invoke one |
08:58:16 | fowl | do: |
08:58:41 | fowl | have you read the manual btw |
08:59:52 | fowl | put a do: on the same indentation |
09:04:22 | ldlework | fowl: I have read the manual |
09:04:45 | ldlework | well |
09:04:48 | ldlework | I have picked through it :) |
09:05:35 | ldlework | fowl: hmm I'm not sure I understand how to use do to invoke a template that takes two stmts |
09:06:01 | ldlework | oh |
09:06:03 | BlaXpirit | [:59:50] <fowl> put a do: on the same indentation |
09:06:36 | BlaXpirit | you have the call, then indented stmt, then unindented do:, then indented stmt |
09:06:41 | BlaXpirit | that's what i understand from it |
09:07:20 | fowl | yes |
09:08:10 | fowl | ldlework, https://gist.github.com/fowlmouth/28cf465fb62bc407c364 |
09:08:35 | ldlework | alright |
09:08:36 | ldlework | thanks |
09:08:49 | ldlework | (its kinda ugly :) |
09:11:31 | * | starless quit (Quit: WeeChat 0.4.2) |
09:12:07 | ldlework | fowl: how about, expr, stmt, stmt |
09:12:30 | fowl | ldlework, when adding it there was no language found to base it off of |
09:12:40 | ldlework | fowl: I change my mind, its not that bad really |
09:12:45 | fowl | no language found that lets you pass two code blocks like that |
09:12:53 | ldlework | yeah, its ok |
09:13:06 | ldlework | fowl: any idea how to invoke it, if its expr, stmt, stmt |
09:14:27 | ldlework | fowl: this is what I have, https://gist.github.com/9631b72ed91d50c36f7c |
09:14:32 | ldlework | it says wrong number of arguments though |
09:14:49 | * | milosn quit (Ping timeout: 252 seconds) |
09:14:55 | fowl | use parens |
09:17:10 | ldlework | not sure exactly how |
09:17:23 | ldlework | sorry |
09:19:21 | ldlework | fowl: can you illustrate when you have a second |
09:20:09 | fowl | no look my gist it uses parens at the template invocation |
09:20:18 | fowl | i'm busy playing a game |
09:20:55 | fowl | you always need ()s to use do: though |
09:23:00 | ldlework | yeah its just telling me wrong number of arguments |
09:23:22 | ldlework | https://gist.github.com/ce641677530ff4dcf91d |
09:25:11 | ldlework | fowl: it looks just like your example |
09:25:55 | ldlework | maybe some bug with immediate templates |
09:28:33 | ldlework | I'll just skip on the macro for now |
09:28:44 | * | yglukhov_ joined #nim |
09:29:04 | ldlework | will be cool to get that working though |
09:29:19 | ldlework | its like a little generator where you can specify the initialization and the loop body |
09:29:30 | ldlework | implicit yield at the end |
09:31:46 | loz | what is correct return type for function returning array of strings? |
09:32:25 | loz | for [string] compiler says Error: type expected |
09:33:09 | * | yglukhov_ quit (Ping timeout: 252 seconds) |
09:33:09 | * | dts|pokeball quit (Ping timeout: 245 seconds) |
09:38:28 | ldlework | loz: array[string] ? |
09:38:58 | loz | ldlework: i found that i need variable size, and seq[string] did the job :) |
09:39:05 | ldlework | yeah |
09:40:38 | ldlework | fowlllllll |
10:00:44 | * | skyfex joined #nim |
10:02:44 | * | gokr quit (Quit: Leaving.) |
10:23:53 | * | Demos quit (Ping timeout: 256 seconds) |
11:28:31 | * | Trustable joined #nim |
12:29:23 | * | gokr joined #nim |
12:53:52 | * | dyu joined #nim |
13:14:56 | Araq | dyu: got my comment on your bug report? |
13:19:00 | dyu | Araq: I'll post the missing parts |
13:21:47 | dyu | Araq: done |
13:28:43 | Araq | ping zahary |
13:32:51 | ekarlso- | dom96: how does one dump a object in the api ? |
13:33:01 | ekarlso- | Araq: how can one dump a object to json ? |
13:33:17 | dv- | can i do something like type Vec[n] = array[0..n, float64] ? |
13:34:09 | Araq | dv-: yeah in theory. in practice I'm working on the bugs that prevent it from working |
13:34:24 | ekarlso- | Araq: got a clue ? |
13:34:34 | Araq | ekarlso-: check out marshal.nim |
13:35:20 | ekarlso- | seems complex :p |
13:40:30 | Araq | import marshal |
13:40:45 | Araq | $$myobject # Json as a string |
13:40:50 | Araq | very complex indeed |
13:48:41 | * | nimnoob joined #nim |
13:50:15 | * | zedronar joined #nim |
13:50:20 | dyu | Araq: did it crash? |
13:55:43 | * | BitPuffin joined #nim |
13:56:17 | loz | does latest nimble work? |
13:56:18 | * | yglukhov_ joined #nim |
13:59:42 | loz | i got SIGSEGV: Illegal storage access. (Attempt to read from nil?) from nimble with nimrod 0.9.7 |
14:03:23 | dv- | you need to update to 0.10 i think |
14:04:48 | loz | dv-: devel branch? |
14:07:44 | dv- | i don't think you need to do anything special. just follow the github instructions |
14:08:28 | dyu | loz: devel branch |
14:08:32 | dv- | might want to uninstall the previous installation since the language has been renamed |
14:09:43 | loz | ok, thank you |
14:18:49 | loz | nice, it works now =) |
14:25:21 | * | z1y joined #nim |
14:29:35 | * | z1y1 joined #nim |
14:29:47 | * | z1y quit (Ping timeout: 252 seconds) |
14:33:59 | * | yglukhov_ quit (Quit: Be back later ...) |
14:35:32 | * | z1y1 quit (Ping timeout: 244 seconds) |
14:38:06 | * | drewsrem joined #nim |
14:40:15 | * | yglukhov_ joined #nim |
14:42:34 | * | drewsrem quit (Ping timeout: 244 seconds) |
14:43:19 | loz | now opengl bindings compilation failed( |
14:44:38 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
14:45:53 | * | z1y joined #nim |
14:48:34 | dom96 | loz: what's the error? |
14:49:29 | loz | /home/maxvel/.nimble/pkgs/opengl-1.0/opengl.nim(377) wrapErrorChecking(413, 0) Info: instantiation from here |
14:49:29 | loz | lib/system.nim(2164, 6) Error: unhandled exception: false Invalid node kind nnkSym for macros.`$` |
14:50:14 | dom96 | I might be able to fix that for you :) |
14:51:29 | * | z1y quit (Ping timeout: 245 seconds) |
14:52:56 | loz | dom96: it would be really cool, i'm trying to run a game with ludens engine |
15:02:31 | * | darkf quit (Quit: Leaving) |
15:04:47 | * | bjz_ quit (Read error: Connection reset by peer) |
15:05:03 | * | bjz joined #nim |
15:21:57 | * | hector4 joined #nim |
15:22:20 | * | hector4 quit (Client Quit) |
15:23:47 | dom96 | loz: Done. Update nim and the opengl wrapper. |
15:25:30 | * | z1y joined #nim |
15:27:27 | * | z1y quit (Client Quit) |
15:28:38 | * | z1y joined #nim |
15:32:57 | loz | dom96: update nim? |
15:34:22 | loz | dom96: i just updated opengl, it compiled successfully, thanks! |
15:38:09 | * | z1y quit (Ping timeout: 245 seconds) |
15:38:37 | * | Demos joined #nim |
15:41:27 | * | gmpreussner joined #nim |
15:42:59 | loz | okey, now /home/maxvel/.nimble/pkgs/ludens-0.1/game.nim(196, 2) Error: undeclared identifier: 'GC_step', is there anything needed to be imported for GC_step? |
15:44:25 | * | EastByte joined #nim |
15:49:26 | Araq | loz: -d:useRealtimeGc iirc |
15:51:06 | loz | Araq: thanks) |
15:51:49 | * | Varriount|Mobile joined #nim |
15:53:13 | Varriount|Mobile | Blarghblarghblargh |
15:53:24 | gmpreussner | hey Varriount|Mobile |
15:53:44 | Varriount|Mobile | Hi gmpreussner |
15:53:53 | gmpreussner | it looks like all the builders are builders have been failing on upload recently |
15:54:03 | gmpreussner | -are builders |
15:54:18 | gmpreussner | i just woke up. can't type yet :) |
15:55:29 | gmpreussner | Varriount|Mobile: when you get a chance, can you add an armv7 slave for me as well? |
15:55:45 | Varriount|Mobile | Yep. |
15:55:50 | gmpreussner | thx :) |
15:56:02 | Varriount|Mobile | The upload error is odd... |
15:56:33 | gmpreussner | server full? firewall? |
15:56:53 | gmpreussner | i don't know how it's intended to work. i guess i can read up on it. |
15:57:05 | * | z1y joined #nim |
15:58:49 | gmpreussner | ah, according to the error log it looks like the upload script may not work |
15:59:45 | gmpreussner | posixpath.py, line 261, 'path' is None |
16:04:46 | * | EXetoC joined #nim |
16:08:22 | * | z1y left #nim (#nim) |
16:09:26 | Varriount|Mobile | gmpreussner: Yeah, I found the cause. A wrapper function wasn't returning anything. |
16:09:34 | gmpreussner | hooray |
16:11:07 | * | z1y1 joined #nim |
16:12:06 | Varriount|Mobile | gmpreussner: Did you get my message? |
16:12:50 | gmpreussner | no, it got cut off |
16:17:42 | * | gokr quit (Quit: Leaving.) |
16:23:12 | * | ARCADIVS quit (Quit: ARCADIVS) |
16:27:49 | * | gokr_ joined #nim |
16:29:09 | * | yglukhov_ joined #nim |
16:33:20 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
16:42:41 | * | z1y1 quit (Quit: Leaving.) |
16:46:51 | * | zedronar left #nim (#nim) |
16:50:42 | * | jefus_ quit (Ping timeout: 244 seconds) |
16:53:14 | * | nimnoob quit (Ping timeout: 265 seconds) |
16:54:06 | * | Ven joined #nim |
16:59:17 | loz | what is a correct type for a {1:2} table? |
17:00:21 | loz | or how can i check the type? can compile code only with auto for now.. |
17:01:03 | gmpreussner | Varriount|Mobile: armv7 build slave is now online as well |
17:02:04 | flaviu | .eval proc t[T](a: T)=; echo($T);t({1:2}) |
17:02:07 | Mimbus | flaviu: eval.nim(5, 1) Info: instantiation from here |
17:04:15 | flaviu | .give loz import typetraits;proc t[T](a: T)=; echo(name(T));t({1:2}) |
17:04:19 | Mimbus | loz: array[0..0, tuple[int, int]] |
17:05:02 | flaviu | It's not a table until you convert it to one with http://nim-lang.org/tables.html#inc,TCountTable%5BA%5D,A,int |
17:05:13 | flaviu | err, http://nim-lang.org/tables.html#toTable,openArray%5Btuple%5BA,B%5D%5D |
17:05:39 | loz | flaviu: hm, but what is 0..0 as array dimension? |
17:05:54 | flaviu | .eval import typetraits;proc t[T](a: T)=; echo(name(T));t({1:2,1:3}) |
17:05:57 | Mimbus | flaviu: array[0..1, tuple[int, int]] |
17:05:59 | gmpreussner | array with one element |
17:06:18 | flaviu | Yeah, I think that the array range is inclusive, not exclusive |
17:07:36 | loz | so for dynamically created and filled hash table i need to use tables module? |
17:09:41 | * | nimnoob joined #nim |
17:15:20 | * | Matthias247 joined #nim |
17:16:05 | * | nimnoob quit (Ping timeout: 258 seconds) |
17:16:12 | flaviu | loz: Yes |
17:16:43 | loz | i can't even create one: Error: 'initTable' cannot be passed to a procvar |
17:18:03 | loz | ok, i forget to write () :) |
17:21:31 | * | kapil__ quit (Quit: Connection closed for inactivity) |
17:34:07 | * | nimnoob joined #nim |
17:38:23 | * | gour__ joined #nim |
17:42:25 | * | gour_ quit (Ping timeout: 272 seconds) |
17:49:21 | * | gmpreussner_ joined #nim |
17:50:01 | * | gmpreussner quit (Ping timeout: 272 seconds) |
17:54:31 | * | minciue joined #nim |
17:54:31 | * | nimnoob quit (Read error: Connection reset by peer) |
17:54:38 | * | nimnoob joined #nim |
18:11:32 | * | Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
18:12:26 | minciue | dom96: hi. are you around by any chance? |
18:12:43 | dom96 | minciue: yes, what's up? |
18:13:34 | minciue | I’ve started dabbling in nim and I wanted to submit a little PR against nimble. The tests don’t seem to run though |
18:13:52 | minciue | I’m not sure what the situation is as far as the tests go |
18:15:07 | minciue | here’s what’s happening: http://pastie.org/9802403 |
18:17:08 | minciue | dom96: any ideas? |
18:17:57 | * | yglukhov_ joined #nim |
18:18:06 | dom96 | hrm, I guess something changed in the unittest module which caused my tester to now fail. |
18:18:19 | dom96 | What PR are you making? |
18:18:55 | minciue | I’m adding a buildDir option, so that I can use nimble build to build executables in a bin directory |
18:20:44 | dom96 | cool |
18:21:12 | minciue | I’d like to have something like nimble run as well, similar to what rust’s cargo does |
18:21:16 | dom96 | I'll try to fix the tester for you. |
18:21:22 | minciue | ok, I’ll wait |
18:21:38 | dom96 | how does that work with rust's cargo? |
18:21:51 | minciue | it does a build and then executes the file for you |
18:22:01 | minciue | also, the build is in debug mode I believe |
18:22:22 | * | yglukhov_ quit (Ping timeout: 245 seconds) |
18:22:32 | minciue | the build subcommand would probably need some kind of release/debug flag |
18:23:10 | dom96 | It might be a good idea to pass whatever params you pass with the build command to the nim compiler. |
18:23:38 | dom96 | perhaps the build subcommand should also build in debug mode by default |
18:23:52 | dom96 | however when installing the implicit build should be made in release mode |
18:23:59 | minciue | yeah, that’s what I’m thinking |
18:26:40 | * | nimnoob quit (Ping timeout: 255 seconds) |
18:30:19 | dv- | is there a way to generate docs for all functions rather than just exported functions? |
18:31:40 | Araq | dv-: no. why is that useful? |
18:33:23 | * | nimnoob joined #nim |
18:35:19 | * | yglukhov_ joined #nim |
18:37:51 | * | nimnoob quit (Ping timeout: 264 seconds) |
18:39:02 | dv- | hm. i don't know. maybe for the main module? |
18:39:24 | * | yglukhov_ quit (Ping timeout: 244 seconds) |
18:46:23 | * | gour__ quit (Remote host closed the connection) |
18:48:55 | dom96 | well, it seems it's a regression that Araq caused so he needs to fix it :P |
18:51:02 | minciue | heh |
18:53:02 | * | BitPuffin quit (Ping timeout: 250 seconds) |
18:53:22 | * | gour joined #nim |
19:02:19 | gmpreussner_ | flaviu: i read up on big endian linux on raspi, and i think it's going to be a giant pain in the ass. not sure if it's worth it. |
19:03:12 | flaviu | I told you it'd be difficult. It's probably not worth it unless you would enjoy doing it. |
19:03:13 | gmpreussner_ | i couldn't find any big endian distributions that run on it, so one would have to bare metal a linux from scratch, i think |
19:03:19 | flaviu | Yep |
19:10:51 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:18:48 | minciue | @dom96 https://github.com/nim-lang/nimble/pull/78 |
19:19:28 | minciue | I know I’ve made the code uglier in the process; I’m thinking of ways to clean it up. |
19:20:03 | minciue | also, I have no idea if the tests pass or not, I was able to build/install nimble and a toy project of mine and that’s pretty much it |
19:20:16 | * | yglukhov_ joined #nim |
19:20:35 | Araq | the tests all fail for me anyway |
19:20:46 | Araq | and it invokes 'nimrod', not 'nim' |
19:20:51 | minciue | oh |
19:20:58 | minciue | I missed that |
19:21:25 | * | Ven joined #nim |
19:22:39 | dom96 | Yeah, I kinda forgot I had those tests. |
19:22:51 | minciue | Araq: From what I can tell, it does look for nim in master |
19:23:17 | minciue | but the other tests do seem to fail when I comment out the one w/ the regression |
19:24:17 | minciue | dom96: the other thing I’d like to work on is a nimble test subcommand ;) |
19:25:42 | dom96 | minciue: awesome :) |
19:29:20 | minciue | dom96: I plan to call it a day soon-ish; should I wait for you to take a look at that PR or should I check again tomorrow? |
19:29:22 | dom96 | minciue: Looks good, but could you also document that new option in the readme? |
19:29:29 | minciue | oh, sorry, yes |
19:29:38 | dom96 | Once you do that I will merge it :) |
19:35:15 | * | Ven quit (Quit: Textual IRC Client: www.textualapp.com) |
19:49:00 | * | gokr joined #nim |
19:49:32 | * | yglukhov_ quit (Quit: Be back later ...) |
19:50:39 | minciue | dom96: pushed; I also made `nimble build` output to the root dir by default, even if a srcDir is set |
19:50:51 | * | bpr joined #nim |
19:51:21 | minciue | I don’t think nimble build should ever output binaries or libs into the src dir |
19:51:24 | * | BlaXpirit quit (Quit: Quit Konversation) |
19:51:42 | * | BlaXpirit joined #nim |
19:52:29 | * | gokr_ quit (Ping timeout: 258 seconds) |
19:53:07 | dom96 | Perhaps it's time we made srcDir = "src" and buildDir = "bin" by default? |
19:53:50 | minciue | dom96: I agree about srcDir (and having init make one) but buildDir could also be “lib” |
19:54:24 | dom96 | minciue: You can't build libraries though. |
19:54:51 | minciue | oh, how so? |
19:55:30 | minciue | oh, I see, they’re just modules, right? |
19:55:53 | minciue | and you compile them when you compile a binary that depends on them? |
19:57:02 | * | gmpreussner__ joined #nim |
19:57:35 | * | gmpreussner_ quit (Ping timeout: 252 seconds) |
19:58:05 | dom96 | minciue: indeed |
19:59:34 | minciue | I see. I’m not sure what to make of this sentence in the docs: “Note: Currently the creation of nimrtl.dll with thread support has never been tested and is unlikely to work!” |
20:00:46 | minciue | does that mean one should only use nimrod to output binaries for the time being? or that nimrod code can’t be linked into binaries that use threads? |
20:02:04 | minciue | dom96: this being the case, I agree about srcDir and buildDir |
20:03:28 | bpr | Is there a way to get the nim compiler to pick up the shared object file of a library from the system? |
20:03:36 | * | BlaXpirit quit (Read error: Connection reset by peer) |
20:04:35 | * | BlaXpirit joined #nim |
20:05:15 | Araq | minciue: that means that we didn't test it. at one point I got tired of DLL support and its never ending PITA for the ultimate goal of saving 30KB on your hard disks in exchange for a deployment nightmare |
20:05:51 | minciue | Araq: fair enough |
20:06:20 | Araq | I will do it for version 1.0 though because people love their "plugin systems" |
20:06:29 | minciue | heh |
20:06:45 | Araq | god knows why ... I've yet to see a plugin system that is worth its costs |
20:07:06 | flaviu | Araq: lua? |
20:07:10 | bpr | For example, mysql.nim has a 'lib = "libmysqlclient.so.15"' line hardcoded; to make it work on my setup I've had to change this. On Linux at least this could be picked up in a build script with ldd or some such. |
20:07:57 | Araq | bpr: you can use --dynlibOverride:mysqlclient and then link statically against libmysqlclient.a like other C programs do |
20:08:11 | * | yglukhov_ joined #nim |
20:08:16 | Araq | you can also fix it to use a pattern instead |
20:08:44 | bpr | Thanks Araq! I guess I should RTFM :-) |
20:08:49 | minciue | Araq: I see what you mean about the deployment PITA btw |
20:10:11 | dom96 | minciue: We can always detect if the package is a library or an application. |
20:10:20 | dom96 | minciue: So for the future it's not an issue. |
20:10:24 | minciue | ok |
20:10:40 | dom96 | Making srcDir = "src" will break some packages though |
20:10:44 | dom96 | so maybe it's not a good idea. |
20:11:22 | minciue | I think it should just be the default when `nimble init` is called |
20:11:36 | minciue | like actually create those two dirs and set them up in the .nimble file |
20:11:51 | dom96 | sure |
20:11:56 | minciue | or is there a way that could break some packages that I’m missing? |
20:11:57 | dom96 | That can be easily done. |
20:12:09 | dom96 | You thinking the same thing for buildDir? |
20:12:14 | minciue | yup |
20:12:18 | dom96 | Yeah. That sounds good. |
20:13:05 | minciue | would you prefer to use this same PR for these changes? |
20:14:03 | minciue | I’m thinking they should be separate, but whatever strikes your fancy |
20:16:46 | dom96 | separate is fine |
20:17:22 | dom96 | This seems incorrect: https://github.com/minciue/nimble/commit/6b007e88092f1d36a550a22f786b3a9caa9536f2#diff-70e5f2bec3bf023dee3f11479f378f0bR215 |
20:17:52 | minciue | which part? |
20:18:14 | minciue | you can also leave inline comments in the PR if you want |
20:18:58 | dom96 | The description of buildDir |
20:19:42 | * | minciue blushes |
20:23:16 | minciue | dom96: pushed |
20:26:51 | * | fowl quit (Read error: Connection reset by peer) |
20:27:24 | * | fowl joined #nim |
20:30:10 | * | Ven joined #nim |
20:30:17 | dom96 | minciue: thanks |
20:33:17 | minciue | dom96: I’m out for now, I’ll create another PR for the nimble init stuff tomorrow |
20:33:20 | * | brson joined #nim |
20:34:42 | * | nimnoob joined #nim |
20:37:35 | * | minciue quit (Quit: minciue) |
20:38:58 | * | nimnoob quit (Ping timeout: 255 seconds) |
20:40:24 | * | dyu quit (Quit: Leaving) |
20:45:43 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:49:13 | BlaXpirit | guys, what is the latest status on case-insensitivity or underscore replacement? |
20:50:28 | EXetoC | BlaXpirit: the first letter is case-sensitive now |
20:50:46 | BlaXpirit | EXetoC, and the rest is insensitive, and underscores ignored? |
20:52:18 | flaviu | yep |
20:52:37 | BlaXpirit | that's OK. thanks. |
20:52:54 | flaviu | .eval let X_x = 1;Xx = 2;echo X_x |
20:52:57 | Mimbus | flaviu: eval.nim(4, 0) Error: 'X_x' cannot be assigned to |
20:53:03 | flaviu | .eval var X_x = 1;Xx = 2;echo X_x |
20:53:06 | Mimbus | flaviu: 2 |
20:53:29 | BlaXpirit | .eval var xX = 1; x_x = 2; echo xX; |
20:53:32 | Mimbus | BlaXpirit: eval.nim(4, 4) Error: invalid indentation |
20:53:42 | BlaXpirit | .eval var xX = 1;x_x = 2;echo xX |
20:53:45 | Mimbus | BlaXpirit: 2 |
20:54:00 | BlaXpirit | ok. cool. so i will not abandon ship. |
20:54:15 | ldlework | BlaXpirit: yay \o/ |
20:54:44 | BlaXpirit | that's like #1 feature of nim for me xD |
20:55:19 | Araq | BlaXpirit: interesting. you should learn to raise your voice earlier. ;-) |
20:55:35 | BlaXpirit | Araq, what do you mean? |
20:56:12 | BlaXpirit | there have been many good suggestions, this option seems to be the best for general consensus |
20:56:28 | BlaXpirit | but I probably like _x -> X best |
20:56:40 | BlaXpirit | and fully case-sensitive otherwise |
20:56:45 | BlaXpirit | but who cares |
20:57:00 | Araq | usually we only get the feedback from the people who don't like it and that affects our views |
20:57:36 | Araq | but wait? you didn't like the insensitvity? |
20:58:17 | Araq | ah never mind |
20:58:20 | BlaXpirit | everything that I care about is that I don't have to suffer from mixedCase |
20:58:20 | Araq | I misread |
20:58:25 | BlaXpirit | it is preserved, i'm happy |
20:58:48 | Araq | ok, good |
21:05:26 | ldlework | BlaXpirit: what you been using Nim for |
21:05:35 | BlaXpirit | nothing |
21:05:47 | Araq | lol |
21:05:48 | ldlework | Alright what might you want to write with it? |
21:06:51 | BlaXpirit | games |
21:06:57 | BlaXpirit | using SFML |
21:07:56 | ldlework | BlaXpirit: I too am writing games with Nim |
21:08:07 | BlaXpirit | how? |
21:08:13 | ldlework | what? |
21:08:21 | BlaXpirit | how do you write games with Nim? |
21:08:36 | ldlework | hmm this question confuses me. What do you mean how? |
21:08:40 | ldlework | like what library? |
21:09:16 | ldlework | if that's what you mean, I've just been using SDL |
21:09:40 | BlaXpirit | :| |
21:09:59 | ldlework | ? |
21:10:24 | Araq | BlaXpirit: don't worry. at least fowl used every gaming lib under the sun with Nim ;-) |
21:10:42 | BlaXpirit | yeah, but SFML bindings are not in a good state, I'm afraid |
21:11:09 | ldlework | BlaXpirit: I've also used libtcod |
21:11:21 | BlaXpirit | never heard :| |
21:11:37 | * | bjz quit (Read error: Connection reset by peer) |
21:11:44 | * | bjz_ joined #nim |
21:12:04 | ldlework | BlaXpirit: its a roguelike library ontop of SDL |
21:12:11 | BlaXpirit | weird |
21:12:24 | ldlework | it is? |
21:16:29 | BlaXpirit | well, not really, I just never saw the point of narrowly-specified game libraries |
21:16:59 | BlaXpirit | also, roguelike as a term got brutally killed in recent years |
21:17:03 | ldlework | BlaXpirit: because each time I want to write a roguelike game, I don't have to reimplement a terminal based interface for SDL and redo pathfinding and so on |
21:19:58 | fowl | <BlaXpirit> yeah, but SFML bindings are not in a good state, I'm afraid -- the bindings are perfect, as evidenced by the 0 issues and 0 pull requests |
21:20:09 | BlaXpirit | fowl, right.... |
21:20:19 | BlaXpirit | well it's just that there are like 3 different ways |
21:20:43 | BlaXpirit | sfml.nim sfml2.nim csfml.nim |
21:20:45 | BlaXpirit | like.. really? |
21:20:52 | BlaXpirit | and that arbitrary csfml_audio.nim file |
21:21:17 | fowl | BlaXpirit, use csfml and what makes csfml_audio arbitrary |
21:21:35 | BlaXpirit | I mean csfml_colors |
21:22:07 | * | gour quit (Quit: Leaving) |
21:22:19 | * | Demon_Fox joined #nim |
21:22:24 | fowl | BlaXpirit, does its existence offend you? |
21:22:24 | * | Demon_Fox left #nim ("Leaving") |
21:22:35 | BlaXpirit | fowl, its separation |
21:22:38 | BlaXpirit | for no reason |
21:23:02 | fowl | will accept a PR |
21:23:24 | BlaXpirit | what bugs me the most, though, is I don't know Nim and don't see a way to learn it if I've read the manual and all that stuff but feel extremely uncomfortable with it |
21:24:44 | BlaXpirit | fowl, are you planning to clean up the "extra" files maybe? |
21:24:53 | BlaXpirit | what's the point if they're outdated anyway? |
21:25:19 | BlaXpirit | if it was me, I'd leave only one for sure |
21:26:39 | fowl | BlaXpirit, yea they should be moved to a separate directory, one shows how to do a native c++ wrapper, the other is a newer attempt with newer c++ wrapping macros |
21:26:53 | BlaXpirit | fowl, so what do you think is the best way? |
21:27:00 | BlaXpirit | i mean, you did just say csfml is the way to go |
21:27:10 | BlaXpirit | but then I can only repeat, what is the point of others? |
21:27:30 | BlaXpirit | by the way, I have made a csfml wrapper myself recently for a different language |
21:27:40 | BlaXpirit | so i kinda know what i'm talking about |
21:28:11 | fowl | BlaXpirit, use csfml and create a PR moving the extra stuff to another directory |
21:28:12 | * | loz quit (Ping timeout: 245 seconds) |
21:28:28 | fowl | i just cant be arsed to right now but i can accept a PR pretty easily |
21:28:42 | BlaXpirit | fowl, when will you have time to work on this? |
21:29:03 | BlaXpirit | I'm really interested in getting SFML bindings in top shape |
21:29:56 | fowl | <fowl> i just cant be arsed to right now but i can accept a PR pretty easily |
21:29:56 | BlaXpirit | collaboration is possible, but first I have to actually learn everything needed |
21:30:47 | BlaXpirit | and moving to folders is not something I care enough about right now |
21:31:01 | fowl | me too ^ |
21:31:08 | BlaXpirit | just asking when we can extensively talk about all this |
21:31:16 | * | nimnoob joined #nim |
21:31:24 | ldlework | BlaXpirit: start opening issues on the project |
21:31:28 | ldlework | that's how you start talking about it |
21:31:35 | ldlework | not everyone has time to sit down over coffee, y'know |
21:31:38 | ldlework | just start the conversation |
21:31:42 | ldlework | as an issue |
21:32:05 | BlaXpirit | the formality of that often limits my ability to express myself |
21:32:49 | * | Ven joined #nim |
21:35:27 | fowl | BlaXpirit, dont be formal then, next time i'm on linux i'll go through all the new issues on github and fix what i can, if there's nothing for nimrod-sfml then it won't get any attention |
21:36:02 | * | Jessin quit (Quit: Leaving) |
21:38:00 | fowl | I made an issue for it |
21:39:52 | * | Demos quit (Ping timeout: 265 seconds) |
21:41:50 | BlaXpirit | fowl, "Nimrod binding of SFML 2.0" - have you updated for 2.1 and 2.2?. |
21:42:39 | ldlework | BlaXpirit: when are you going to update random |
21:43:02 | BlaXpirit | ldlework, when I get an issue >:o |
21:43:07 | ldlework | :) |
21:43:12 | BlaXpirit | what exactly do you mean though? |
21:43:34 | ldlework | BlaXpirit: I was just giving you some of your medicine |
21:43:53 | BlaXpirit | it is not effective, because i know there is absolutely no interest in that library |
21:45:58 | Araq | hrm what does realloc(NULL, 0) do according to ansi c? |
21:46:29 | fowl | BlaXpirit, 2.1 definitely works, 2.2 most likely works but is missing some new functions |
21:46:34 | BlaXpirit | "If ptr is NULL, the behavior is the same as calling std::malloc(new_size). " |
21:46:54 | Araq | can malloc(0) return NULL? |
21:47:06 | BlaXpirit | If size is zero, the behavior is implementation defined (null pointer may be returned, or some non-null pointer may be returned that may not be used to access storage) |
21:47:13 | BlaXpirit | just copying stuff from http://en.cppreference.com/w/cpp/memory/c/realloc |
21:47:21 | BlaXpirit | and i have to say sorry, because it's actually C++ |
21:47:24 | BlaXpirit | but i hope it's the same thing |
21:47:55 | Araq | ok, well i'm reading this page too |
21:48:15 | * | dloss joined #nim |
21:49:15 | BlaXpirit | hm maybe this is better http://en.cppreference.com/w/c/memory/realloc |
21:49:27 | BlaXpirit | this is supposed to actually be C |
21:49:41 | BlaXpirit | and it says the same thing |
21:49:53 | * | BitPuffin joined #nim |
21:50:02 | ldlework | fowl: Araq can you show me how to invoke this template which takes expr, stmt, stmt? https://gist.github.com/b514af5f31f148619a8b |
21:50:17 | ldlework | I tried doing what fowl told me last night with the parens, but it still says wrong number of arguments |
21:51:02 | * | dloss quit (Remote host closed the connection) |
21:52:26 | Araq | uh oh |
21:53:02 | Araq | seems like removing implicit 'do' wasn't a wise move |
21:53:36 | Araq | ldlework: you use it correctly, please report a bug |
21:54:17 | BlaXpirit | :( |
21:54:34 | * | BitPuffin quit (Ping timeout: 255 seconds) |
21:55:48 | Araq | ldlework: the more traditional way to do is: |
21:55:54 | Araq | task A1: |
21:55:55 | Araq | init: |
21:55:58 | Araq | .... |
21:56:06 | Araq | loop: |
21:56:08 | Araq | ... |
21:56:24 | Araq | where 'task' is a macro that interprets the inner 'init' and 'loop' sections |
21:56:43 | ldlework | those are 'blocks' ? |
21:57:11 | Araq | syntactically these are template/macro invocations |
22:02:50 | ldlework | Araq: so the AST would represent init and loop as additional macro invocation nodes? |
22:03:06 | Araq | that is correct |
22:08:15 | * | Demon_Fox joined #nim |
22:08:20 | Demon_Fox | better ldlework ? |
22:12:27 | fowl | ldlework, unittest module uses this pattern, https://github.com/Araq/Nim/blob/devel/lib/pure/unittest.nim#L49 |
22:13:09 | Araq | hi Demon_Fox welcome |
22:13:43 | Demon_Fox | I suspected this: |
22:13:44 | Demon_Fox | Pascal |
22:13:51 | Demon_Fox | Pascal like syntax |
22:15:12 | Demon_Fox | By the way |
22:15:32 | Demon_Fox | Does this work in nim?: (var >> 1) << 2 |
22:16:08 | Araq | if you declare << and >> |
22:16:23 | Demon_Fox | darn |
22:19:47 | * | BlaXpirit quit (Quit: Quit Konversation) |
22:20:54 | ldlework | Demon_Fox: its very easy to do |
22:21:21 | ldlework | proc `>>`(a, b: int): int = |
22:21:25 | ldlework | or whatever |
22:28:55 | * | Jesin joined #nim |
22:30:34 | * | gokr1 joined #nim |
22:32:46 | * | Varriount|Remote joined #nim |
22:38:51 | Varriount|Remote | Araq: Just to let you know, the buildbot should be outputting test results to the correct directories from now on. |
22:40:08 | Varriount|Remote | Araq: Also, what are your thoughts on correcting the problem in http://forum.nimrod-lang.org/t/686 ? I know that you dislike hijacking of blocks, but hijacking is something that might be wanted. |
22:41:23 | Araq | it's a bug that eventually I have to fix |
22:41:41 | Araq | it's quite some work to fix/change it though |
22:44:36 | Varriount|Remote | Araq: So what is the intended behavior of defer when used in templates? |
22:46:11 | gokr1 | Ooohh, work on Qt (QML), nice"! |
22:48:56 | dom96 | oooh awesome. Must try it! |
22:51:32 | gokr1 | Been looking hard at Qt lately. |
22:52:02 | dom96 | Annoying that it requires a C++ bridge library. |
22:52:56 | gokr1 | I read up a bit - apparently there was a libqtc library earlier, but it died off. |
22:53:02 | gokr1 | (C wrapper) |
22:54:43 | gokr1 | But perhaps Araq can make c2nim handle C++ :) |
22:54:58 | dom96 | IIRC c2nim can already handle it. |
22:55:05 | gokr1 | ok |
22:55:15 | Araq | yup, but it's about to be tested ;-) |
22:55:36 | gokr1 | Btw, some such wrapper gen tools apparently go via Doxygen. |
22:56:00 | gokr1 | But if you already cracked the "parse C++" part, then I guess that's not interesting. |
22:56:35 | Araq | parsing c++ is suprisingly easy when you go for heuristics anyway |
22:56:42 | Araq | well no. |
22:56:50 | fowl | i had an idea of using a macro to generate a c wrapper (and DLL) |
22:57:00 | Araq | it's easy because all the hard stuff is required by plain C already |
22:57:01 | fowl | the same macro would be used to interface with it |
22:57:51 | gokr1 | ok, time to hit the sack in decent time for once. Keep up the good work :) |
22:59:36 | * | Demos joined #nim |
23:01:01 | ekarlso- | dom96: u know how one can set the content type in a request ? |
23:01:56 | dom96 | ekarlso-: resp "Content", "text/html" |
23:02:23 | dom96 | Don't be afraid to look at the source code https://github.com/dom96/jester/blob/master/jester.nim#L296 |
23:04:57 | ekarlso- | i:D |
23:06:33 | ekarlso- | how can I make a field "method" on a object ? |
23:06:37 | * | nimnoob quit (Ping timeout: 240 seconds) |
23:07:43 | dom96 | name it something else, or use `method` |
23:07:52 | dom96 | i'd recommend naming it something else |
23:13:41 | * | Demos_ joined #nim |
23:14:17 | * | Demos quit (Ping timeout: 272 seconds) |
23:17:19 | ekarlso- | http://pastebin.com/41Qdbdej < does that look sane ? |
23:19:15 | * | gokr1 quit (Quit: Leaving.) |
23:23:16 | * | Varriount|Remote quit (Ping timeout: 246 seconds) |
23:31:22 | dom96 | ekarlso-: That won't generate the JSON you think it will. |
23:31:40 | ekarlso- | dom96 rly ? |
23:31:47 | dom96 | yes |
23:32:06 | ekarlso- | why not |
23:32:12 | dom96 | try it and see |
23:34:13 | * | yglukhov_ quit (Quit: Be back later ...) |
23:34:40 | gmpreussner__ | is anyone using 'generic' yet? do we have some more complex/complete examples other than what's in the manual? |
23:37:59 | * | nimnoob joined #nim |
23:38:24 | EXetoC | I don't know, but it is broken in several ways, so you might come to a halt all of a sudden |
23:39:26 | gmpreussner__ | sadness |
23:43:12 | * | nimnoob quit (Ping timeout: 245 seconds) |
23:44:12 | EXetoC | it will be fixed some time after 1.0 |
23:48:07 | * | milosn joined #nim |
23:48:31 | * | yglukhov_ joined #nim |
23:52:49 | * | yglukhov_ quit (Ping timeout: 244 seconds) |