00:00:27 | tautologico | but I'm thinking I can't use concepts for what I want |
00:00:45 | tautologico | unless Nim has something similar to trait objects in Rust |
00:03:12 | * | yglukhov quit (Ping timeout: 260 seconds) |
00:22:44 | dom96 | tautologico: what do you want to do? |
00:24:29 | * | lubos_cz joined #nim |
00:26:25 | * | vendethiel joined #nim |
00:28:01 | tautologico | I want to have a collection of objects/values which have the same method/proc defined on them |
00:28:11 | tautologico | but the objects in the collection may be different from one another |
00:29:15 | tautologico | like the standard OO example of shapes, I want a list of shapes that are drawable but in a list there will be mixed shapes: circles, rectangles and so on |
00:29:28 | tautologico | (not exactly what I'm doing, but it's similar) |
00:29:43 | tautologico | in Rust you can define a trait Drawable that has the method draw |
00:30:00 | tautologico | and then you can create a container of objects which implement the trait Drawable, hence trait objects |
00:30:36 | tautologico | of course the container will hold pointers to the trait objects |
00:30:57 | tautologico | now that I think of it, it's kinda similar to dynamic dispatch |
00:31:58 | tautologico | oh yeah, it's the same thing, even using a vtable |
00:32:01 | tautologico | forget I asked :) |
00:34:52 | * | yglukhov joined #nim |
00:37:38 | Araq_ | tautologico: that's just an interface that you're describing and Nim's representation for it is a tuple of proc () {.closure} |
00:38:27 | Araq_ | and yeah at one point I will use the 'interface' keyword to create some sugar for it, especially since people have a really hard time with tuples of procs for reasons that still escape me |
00:39:15 | * | yglukhov quit (Ping timeout: 246 seconds) |
00:44:40 | * | space-wi_ joined #nim |
00:47:34 | * | space-wizard quit (Ping timeout: 252 seconds) |
00:48:02 | * | vendethiel quit (Ping timeout: 250 seconds) |
00:52:10 | * | libman quit (Remote host closed the connection) |
00:52:42 | * | lubos_cz quit (Ping timeout: 276 seconds) |
00:54:24 | dom96 | Araq_: it feels like a big hack :P |
00:54:42 | dom96 | because it is |
00:54:47 | Araq_ | it's not. |
00:55:04 | dom96 | plus it's very verbose |
00:55:15 | dom96 | I don't want to repeat blah.myProc = mySpecificProc |
00:55:20 | tautologico | interface, sure, I asked because I never saw any Nim docs mentioning interfaces |
00:55:24 | Araq_ | so macro it |
00:55:37 | dom96 | yeah, so we need a macro that does it |
00:56:51 | dom96 | I still foresee strangess, even with macros |
00:57:24 | dom96 | For example, var x: Foo; var list: seq[MyInterface] = @[x] # `x` doesn't implement `MyInterface` |
00:57:40 | dom96 | How can we ensure this creates an error? |
00:58:08 | * | vendethiel joined #nim |
00:59:31 | * | yglukhov joined #nim |
01:04:24 | * | yglukhov quit (Ping timeout: 276 seconds) |
01:07:28 | * | antonin joined #nim |
01:08:54 | Araq_ | the converter fails? |
01:24:07 | * | yglukhov joined #nim |
01:28:57 | * | yglukhov quit (Ping timeout: 260 seconds) |
01:42:50 | * | vendethiel quit (Ping timeout: 260 seconds) |
01:49:11 | * | space-wi_ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
01:52:18 | * | vendethiel joined #nim |
01:56:46 | * | Demon_Fox joined #nim |
01:59:33 | kseg | Two files/modules with the same name in different sub-folders can’t be compiled? |
02:00:33 | * | yglukhov joined #nim |
02:00:53 | * | space-wizard joined #nim |
02:03:47 | kseg | re the interface discussion 1 - I blogged about the tuple approach a few days ago (http://openmymind.net/Interfaces-In-Nim/) and 2 - in other languages, I always find interfaces most useful as generic constraints. |
02:05:07 | * | yglukhov quit (Ping timeout: 260 seconds) |
02:25:23 | * | yglukhov joined #nim |
02:29:30 | * | yglukhov quit (Ping timeout: 246 seconds) |
02:31:45 | * | antonin quit (Quit: This computer has gone to sleep) |
02:32:47 | * | antonin joined #nim |
02:44:48 | * | antonin left #nim ("Quitte") |
02:46:07 | * | k0pernicus joined #nim |
02:46:22 | * | kseg quit (Quit: kseg) |
02:48:27 | * | k0pernicus quit (Client Quit) |
02:49:07 | * | k0pernicus joined #nim |
02:49:26 | * | kseg joined #nim |
02:51:21 | * | |2701 quit (Quit: Connection closed for inactivity) |
02:59:22 | * | vendethiel quit (Ping timeout: 260 seconds) |
03:01:45 | * | yglukhov joined #nim |
03:06:36 | * | yglukhov quit (Ping timeout: 276 seconds) |
03:09:21 | * | vendethiel joined #nim |
03:26:37 | * | yglukhov joined #nim |
03:31:18 | * | yglukhov quit (Ping timeout: 276 seconds) |
03:47:43 | * | chrisheller joined #nim |
03:53:30 | * | vendethiel quit (Ping timeout: 246 seconds) |
03:55:16 | * | kseg quit (Quit: kseg) |
03:55:58 | * | kseg joined #nim |
03:58:39 | * | k0pernicus quit (Quit: Quitte) |
04:02:55 | * | yglukhov joined #nim |
04:07:42 | * | yglukhov quit (Ping timeout: 276 seconds) |
04:10:09 | * | notfowl is now known as fouul |
04:27:33 | * | yglukhov joined #nim |
04:32:24 | * | yglukhov quit (Ping timeout: 276 seconds) |
04:38:11 | * | vendethiel joined #nim |
04:41:12 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
04:52:15 | * | yglukhov joined #nim |
04:56:43 | * | yglukhov quit (Ping timeout: 252 seconds) |
05:00:32 | * | vendethiel quit (Ping timeout: 276 seconds) |
05:01:36 | * | fouul is now known as unifowl |
05:07:51 | * | vendethiel joined #nim |
05:28:59 | * | yglukhov joined #nim |
05:29:43 | * | vendethiel quit (Ping timeout: 252 seconds) |
05:30:56 | * | space-wizard joined #nim |
05:31:31 | * | space-wizard quit (Max SendQ exceeded) |
05:32:08 | * | space-wizard joined #nim |
05:32:44 | * | space-wizard quit (Max SendQ exceeded) |
05:33:19 | * | space-wizard joined #nim |
05:33:22 | * | yglukhov quit (Ping timeout: 260 seconds) |
05:33:36 | * | space-wizard quit (Client Quit) |
05:42:34 | * | vendethiel joined #nim |
05:53:27 | * | yglukhov joined #nim |
05:58:12 | * | yglukhov quit (Ping timeout: 276 seconds) |
06:02:45 | * | Parashurama joined #nim |
06:03:28 | * | vendethiel quit (Ping timeout: 244 seconds) |
06:03:37 | * | endragor joined #nim |
06:04:07 | * | space-wizard joined #nim |
06:04:42 | * | space-wizard quit (Max SendQ exceeded) |
06:05:21 | * | space-wizard joined #nim |
06:17:29 | * | endragor_ joined #nim |
06:20:59 | * | endragor quit (Ping timeout: 260 seconds) |
06:21:33 | * | endragor_ quit (Ping timeout: 240 seconds) |
06:24:47 | * | vendethiel joined #nim |
06:25:42 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
06:29:59 | * | yglukhov joined #nim |
06:30:24 | * | endragor joined #nim |
06:34:09 | * | yglukhov quit (Ping timeout: 246 seconds) |
06:37:10 | * | space-wizard joined #nim |
06:40:47 | * | endragor quit (Read error: Connection reset by peer) |
06:40:53 | * | endragor_ joined #nim |
06:45:42 | * | vendethiel quit (Ping timeout: 246 seconds) |
06:55:20 | * | fastrom joined #nim |
06:59:11 | * | vendethiel joined #nim |
07:09:41 | * | endragor_ quit (Remote host closed the connection) |
07:15:32 | * | kseg quit (Quit: kseg) |
07:22:14 | * | vendethiel quit (Ping timeout: 276 seconds) |
07:22:48 | * | kseg joined #nim |
07:34:43 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
07:36:13 | * | yglukhov joined #nim |
07:37:30 | * | themagician quit (Ping timeout: 244 seconds) |
07:45:26 | * | themagician joined #nim |
07:50:15 | * | vendethiel joined #nim |
07:52:03 | * | themagician quit (Ping timeout: 240 seconds) |
07:52:07 | * | endragor joined #nim |
07:58:20 | * | filcuc joined #nim |
07:59:26 | * | themagician joined #nim |
08:02:05 | * | endragor quit (Remote host closed the connection) |
08:04:45 | * | endragor joined #nim |
08:13:35 | * | vendethiel quit (Ping timeout: 276 seconds) |
08:22:32 | * | kingofoz quit (Ping timeout: 260 seconds) |
08:22:45 | * | kingofoz joined #nim |
08:31:07 | * | Arrrr joined #nim |
08:31:07 | * | Arrrr quit (Changing host) |
08:31:07 | * | Arrrr joined #nim |
08:41:20 | * | lubos_cz joined #nim |
08:58:42 | * | kseg quit (Quit: kseg) |
08:59:32 | * | kseg joined #nim |
09:23:36 | * | themagician quit (Ping timeout: 276 seconds) |
09:29:27 | * | lubos_cz quit (Ping timeout: 276 seconds) |
09:30:38 | * | vendethiel joined #nim |
09:31:09 | yglukhov | Araq_, your fix for 4066 has broken the tests/types/typeof_produces_alias.nim, https://github.com/nim-lang/Nim/commit/2ac3e1237231829ce9395cf6935c4622d2dfa9eb |
09:31:32 | Araq_ | yglukhov: yeah, please fix it. |
09:31:40 | yglukhov | oO |
09:32:56 | Araq_ | come on, you can do it. |
09:33:06 | Araq_ | it's obvious where the regression comes from |
09:33:16 | yglukhov | https://github.com/nim-lang/Nim/commit/2ac3e1237231829ce9395cf6935c4622d2dfa9eb#diff-750ffc8fb636a0b3ddd159b478017510R785 |
09:33:22 | yglukhov | removing tyDistinct from the set? |
09:33:36 | yglukhov | it works |
09:34:45 | yglukhov | https://github.com/nim-lang/Nim/pull/4185 |
09:35:09 | Araq_ | no, argh. |
09:35:23 | Araq_ | that's just because the test uses distinct instead of object, iirc |
09:37:31 | Araq_ | try this: x.kind notin ({nkObjectTy, nkDistinctTy, nkEnumTy, nkEmpty}+nkCallKinds) |
09:37:51 | Araq_ | and get rid of the s.typ.kind notin {tyObject, tyEnum, tyDistinct} |
09:38:07 | Araq_ | and check both tests still work |
09:41:20 | yglukhov | doesnt work |
09:41:28 | yglukhov | tests/types/typeof_produces_alias.nim(25, 26) Error: type mismatch: got (Foo) but expected 'outType = distinct string' |
09:44:32 | * | Pisuke joined #nim |
09:46:44 | Araq_ | ok, so I need to take a deeper look, yay |
09:49:21 | * | themagician joined #nim |
09:52:08 | * | PMunch joined #nim |
09:59:38 | * | kseg quit (Quit: kseg) |
10:11:13 | * | fastrom quit (Quit: Leaving.) |
10:12:32 | * | Pisuke quit (Ping timeout: 276 seconds) |
10:14:54 | * | vendethiel quit (Ping timeout: 260 seconds) |
10:18:19 | * | vendethiel joined #nim |
10:19:27 | * | nsf quit (Quit: WeeChat 1.4) |
10:24:14 | * | allan0 quit (Quit: no) |
10:31:07 | * | Pisuke joined #nim |
10:37:34 | * | endragor quit (Remote host closed the connection) |
10:39:47 | cheatfate | Araq_, what do you think about SharedSeq? because as i see we have SharedString but it using experimental stuff |
10:39:49 | * | lubos_cz joined #nim |
10:40:25 | Araq_ | sounds like a queue to me but I dunno |
10:40:38 | Araq_ | what are the semantics of a SharedSeq? |
10:41:02 | cheatfate | it must be `seq` in shared memory |
10:41:18 | Araq_ | can I get its length? I suppose so, but then something in between can happen |
10:41:36 | * | vendethiel quit (Ping timeout: 246 seconds) |
10:41:46 | Araq_ | some other thread can add to it and its length is different from what I got |
10:43:41 | cheatfate | ofc you are right |
10:44:12 | cheatfate | i'm just curious why SharedString present but SharedSeq not |
10:44:32 | Araq_ | because I played with it |
10:45:19 | cheatfate | so SharedString is just for example and there no real usage of it? |
10:45:28 | Araq_ | yes and no. |
10:45:56 | cheatfate | because SharedString is just a subset of SharedSeq |
10:46:15 | Araq_ | Nim requires SharedString and SharedSeq so that you can put them into a SharedTable ;-) |
10:46:28 | Araq_ | a SharedTable doesn't work with ordinary strings and seqs. |
10:46:49 | gokr | Do we have a solid story these days for writing a scalable socket server that can use cores? Or are we still a bit too experimental there. |
10:47:08 | cheatfate | gokr, too experimental |
10:47:23 | gokr | Mmm, I kinda guessed :) |
10:48:14 | cheatfate | Araq_, when i have made more investigation i have found that i dont need SharedTable... |
10:48:39 | cheatfate | Araq_, SharedTable needed when you can't count maximum index of your values... |
10:48:48 | gokr | cheatfate: Are you working on it? |
10:48:55 | cheatfate | gokr, yeah |
10:49:16 | Araq_ | cheatfate: that said with the upcoming GC changes, interop improves because the SharedTable can then store ordinary seqs and strings |
10:49:31 | gokr | I have a specific task at hand and... thinking of either Go (hrmph) or Elixir. |
10:50:02 | cheatfate | Araq_, let me explain |
10:50:24 | Araq_ | gokr: well async works resonably well and you can create a process per core |
10:50:56 | * | lubos_cz quit (Quit: Leaving) |
10:50:59 | gokr | mmm. |
10:51:13 | Araq_ | not really that elegant but you need more than process anyway for crash safety |
10:51:21 | * | lubos_cz joined #nim |
10:51:57 | gokr | Yeah, Elixir is probably what I ... should go with. |
10:51:57 | * | kseg joined #nim |
10:52:35 | * | arnetheduck joined #nim |
10:53:02 | cheatfate | Araq_, before me selectors.nim using SharedTable, now i can obtain maximum number of open file descriptors for process and allocate enough memory at once |
10:53:31 | * | kseg quit (Client Quit) |
10:53:44 | cheatfate | So i dont need to calculate hashes i can easily use file descriptor as index |
10:54:59 | cheatfate | of course for single threaded i'm using `seq` |
10:56:53 | cheatfate | but for multi threaded i need to use array... because there no `sharedseq` |
10:57:42 | cheatfate | ahh forget it |
10:58:03 | cheatfate | doesnt matter because you never allow me to create `sharedseq` :) |
10:59:15 | * | allan0 joined #nim |
11:03:33 | * | Pisuke quit (Ping timeout: 240 seconds) |
11:06:38 | dom96 | gokr: pity you are going with Elixir, what are you writing? |
11:07:00 | gokr | dom96: give me a min |
11:10:53 | yglukhov | dom96: how can i install dependencies of a package but not the package itself? |
11:11:00 | * | tautologico quit (Quit: Connection closed for inactivity) |
11:17:04 | cheatfate | dom96, i think you need to modify jester to be multiprocess :) |
11:20:36 | Araq_ | cheatfate: "you never allow me to create ..." nah, go ahead, I even told you it's useful |
11:27:34 | dom96 | yglukhov: no command for that right now, but you could simply install the package (the dependencies will be installed automatically) then remove it (the dependencies should remain installed) |
11:27:47 | * | vendethiel joined #nim |
11:27:57 | dom96 | cheatfate: I would if it was simple :P |
11:37:40 | yglukhov | dom96: yeah but my project is a couple of gigs, and installing it all the time doesnt kinda work =) |
11:38:28 | * | endragor joined #nim |
11:40:10 | * | endragor quit (Read error: Connection reset by peer) |
11:40:16 | * | endragor_ joined #nim |
11:45:18 | * | endragor_ quit (Ping timeout: 276 seconds) |
11:48:36 | * | vendethiel quit (Ping timeout: 244 seconds) |
11:51:10 | * | |2701 joined #nim |
11:55:23 | * | endragor joined #nim |
12:00:53 | * | Pisuke joined #nim |
12:04:34 | * | themagician quit (Ping timeout: 260 seconds) |
12:04:54 | * | PMunch quit (Ping timeout: 250 seconds) |
12:06:14 | * | vendethiel joined #nim |
12:11:32 | * | tautologico joined #nim |
12:12:22 | * | themagician joined #nim |
12:16:29 | cheatfate | Araq_, is paragraph in nim manual about `GCunref(d.s)` still actual (http://nim-lang.org/docs/manual.html#types-reference-and-pointer-types) |
12:16:50 | cheatfate | Araq_, so i can use alloc() and GC_unref |
12:16:56 | cheatfate | for my tables? |
12:17:15 | cheatfate | Or as always - use seq :) |
12:18:54 | * | themagician quit (Ping timeout: 246 seconds) |
12:24:02 | * | themagician joined #nim |
12:37:49 | * | Pisuke quit (Ping timeout: 260 seconds) |
12:40:05 | dom96 | yglukhov: then you can either wait for me to implement that or implement it yourself :) |
12:40:32 | yglukhov | dom96: dom96, no problem, can wait for now ;) |
12:41:07 | cheatfate | yglukhov, waiting for dom96 is like waiting till mountain moves to you :) |
12:41:18 | yglukhov | i know :D |
12:41:54 | dom96 | You're lucky I'm even in IRC :P |
12:42:14 | dom96 | Got two exams in the next few days |
12:42:37 | yglukhov | so, you'll get some spare time soon? |
12:48:03 | * | BitPuffin joined #nim |
12:49:00 | * | vendethiel quit (Ping timeout: 260 seconds) |
12:50:50 | * | GangstaCat quit (Ping timeout: 250 seconds) |
12:51:54 | * | GangstaCat joined #nim |
12:57:13 | dom96 | yglukhov: Yep. |
12:57:55 | dom96 | yglukhov: Of course it won't be unlimited time, so it would be awesome if you could give me a list of high priority issues you would like to see fixed. |
12:58:50 | dom96 | One thing that I really want to fix is installation of Nimble (when Nim is installed to /usr/bin) before the next Nim release. |
13:02:28 | yglukhov | dom96: tbh i cant think of something really critical. there's one slight optimization to nimble we're currently doing: store git sha in pkg metadata. if required package version is head, then look at current remote head whether it changed before cloning. |
13:03:35 | yglukhov | we're currently trying to optimize our autobuild times. one job is currently reduced to 6 mins, 5 of which are nimble install |
13:04:15 | yglukhov | so we want to cache ~/.nimble dir across builds |
13:05:17 | dom96 | I think that's this issue: https://github.com/nim-lang/nimble/issues/88 |
13:05:51 | dom96 | Recloning git repos is indeed a PITA |
13:06:33 | dom96 | My labels reflect the state of my priorities pretty well, so if you want to see what I will prioritise: https://github.com/nim-lang/nimble/labels/High%20Priority |
13:07:14 | dom96 | Do you guys have your own fork of Nimble? |
13:07:36 | yglukhov | no |
13:07:44 | * | vendethiel joined #nim |
13:08:56 | dom96 | hrm, okay. Your first message made it seem like you do :) |
13:09:23 | yglukhov | that means "expect a pr soon" ;) |
13:10:14 | * | BitPuffin quit (Ping timeout: 244 seconds) |
13:19:57 | * | nsf joined #nim |
13:29:33 | * | vendethiel quit (Ping timeout: 240 seconds) |
13:37:10 | dom96 | I see |
13:37:19 | dom96 | awesome :) |
13:38:36 | * | fastrom joined #nim |
13:38:51 | * | vendethiel joined #nim |
13:52:12 | * | endragor_ joined #nim |
13:52:17 | * | endragor quit (Read error: Connection reset by peer) |
13:53:16 | Parashurama | Araq_: is PR https://github.com/nim-lang/Nim/pull/2984 still relevant: ie move sin(float) to sin(float32) and sin(float64) an others. |
13:53:57 | * | fastrom quit (Read error: Connection reset by peer) |
13:53:58 | Parashurama | Araq_: I can work on it, if it is. It seems worth it. |
13:55:26 | * | fastrom joined #nim |
13:59:25 | * | Pisuke joined #nim |
14:01:48 | * | vendethiel quit (Ping timeout: 276 seconds) |
14:09:18 | * | vendethiel joined #nim |
14:10:57 | * | Pumpkin joined #nim |
14:11:37 | * | fastrom quit (Read error: Connection reset by peer) |
14:11:39 | Pumpkin | Hi, When will "Nim in action" be finished? |
14:12:36 | Pumpkin | Hello? |
14:12:44 | Pumpkin | Aloha? |
14:13:08 | * | Pumpkin quit (Client Quit) |
14:23:58 | dom96 | You gotta be a bit more patient than that. |
14:24:41 | dom96 | Should be printed by about November (assuming there are no more delays). |
14:24:52 | federico3 | dom96: he's gone already |
14:25:12 | dom96 | I know. Might read IRC logs though. |
14:31:03 | * | vendethiel quit (Ping timeout: 240 seconds) |
14:46:16 | * | ephja joined #nim |
14:50:52 | * | vendethiel joined #nim |
15:06:19 | * | ludocode quit (Read error: Connection reset by peer) |
15:07:05 | * | ludocode joined #nim |
15:14:42 | * | vendethiel quit (Ping timeout: 250 seconds) |
15:38:36 | yglukhov | Parashurama, Araq_: theres some really weird problem with parseBiggestFloat |
15:39:03 | yglukhov | after 60e03ee27c13da148cd82772e762ebceaea07e97 |
15:39:09 | yglukhov | up to current head |
15:39:27 | yglukhov | unfortunately, i have no idea how to narrow it down. |
15:40:09 | yglukhov | Araq_, i tried to diff generated nimcache, but the diff is really huge because of identifiers get different indexes for some reason |
15:41:22 | yglukhov | currently the problem i see is somehow related to time. FPS indicator cycles between 20 to 500 every second, while it should be constantly around 60 |
15:41:51 | yglukhov | do you guys have any idea? |
15:42:08 | * | arnetheduck quit (Ping timeout: 244 seconds) |
15:44:30 | dom96 | yglukhov: strange, are you actually using parseBiggestFloat anywhere? |
15:45:45 | * | gokr quit (Ping timeout: 244 seconds) |
15:46:40 | dom96 | bbl |
15:53:39 | yglukhov | i'm not using parseBiggestFloat. i've set a breakpoint on it and it gets never called while in game loop |
15:54:49 | Parashurama | yglukhov: parseBiggestFloat is actually used during compilation and during runtime. |
15:56:04 | Parashurama | yglukhov: Do you have a gist I can try? |
15:58:18 | yglukhov | Parashurama: Aha! I can confirm that the issue is triggered only after nim recompile. so probably nim produces bad codegen because of Parashurama |
15:58:18 | * | fastrom joined #nim |
15:58:28 | yglukhov | Parashurama: you can try run nimx samples |
15:58:43 | yglukhov | click on animation tab and observe the behavior |
15:59:15 | yglukhov | git clone https://github.com/yglukhov/nimx; cd nimx; nimble install -y; nake samples |
15:59:57 | Parashurama | yglukhov: Okay |
16:01:38 | Parashurama | yglukhov: Thats some serious dependencies! |
16:02:20 | yglukhov | Parashurama: whats your platform? |
16:02:51 | Parashurama | I mean nimble dependencies. I use Debian. |
16:03:06 | * | vendethiel joined #nim |
16:03:46 | * | Trustable joined #nim |
16:03:58 | yglukhov | well yeah, i guess youre right. but hey, we have dead code elimination! :) |
16:04:58 | * | Trustable quit (Remote host closed the connection) |
16:06:04 | * | filcuc quit (Ping timeout: 260 seconds) |
16:06:09 | Parashurama | yglukhov: Which sdl2 version do you depends on? I can only use 2.02 at the moment. |
16:06:29 | yglukhov | damn, just noticed i've written that nim produces bad code because of you :)) thats a typo. should be parseBiggestFloat instead =) |
16:06:37 | * | Trustable joined #nim |
16:06:39 | Parashurama | yglukhov: err: could not import: SDL_CaptureMouse |
16:06:48 | Parashurama | yglukhov: I'm a bad boy :) |
16:08:15 | yglukhov | argh, right. sdl 2.0.4 is required. but i guess you can just comment out sdl_window.nim lines 181 to 184 |
16:09:10 | Parashurama | Yep: Doing that. |
16:09:49 | * | Trustable quit (Remote host closed the connection) |
16:10:28 | Parashurama | yglukhov: so what am i looking for? |
16:10:53 | yglukhov | open animations sample and observe fps |
16:11:19 | Parashurama | yglukhov: I can see animations are weirds |
16:11:33 | Parashurama | yglukhov: and FPS all over the place |
16:11:47 | yglukhov | yup. now reset nim to commit before yours and recompile |
16:12:22 | yglukhov | to this: fdcb4907bc03f44aebdd1911b381c2a665a38018 |
16:13:07 | yglukhov | you can toggle the bug by switching nim versions between fdcb4907bc03f44aebdd1911b381c2a665a38018 and 60e03ee27c13da148cd82772e762ebceaea07e97 |
16:13:39 | yglukhov | dont forget to ./koch boot |
16:13:39 | Parashurama | yglukhov: compiling... |
16:15:43 | Parashurama | yglukhov: The animation are working correctly i assume, going back and forth. and FPS stable. progress bar has some issues. |
16:16:11 | yglukhov | progress bar is ok. it updates every half of animation loop |
16:16:42 | * | fastrom quit (Quit: Leaving.) |
16:16:50 | yglukhov | but yeah, i guess now you have some markers to play with =) |
16:17:16 | yglukhov | will you fix it please? |
16:17:53 | Parashurama | yglukhov: I can try |
16:18:17 | Parashurama | .yglukhov:We need to print out the float values for the animation and check they are correct, and if not check which has a bug. |
16:18:55 | yglukhov | Parashurama: i think fps is a better indicator of the bug. no need to mess with animations |
16:19:05 | Parashurama | yglukhov: where is the code for FPS. |
16:19:12 | yglukhov | it is calculated in abstract_window |
16:19:44 | Parashurama | OK. I will ping you if i need some other info. |
16:20:03 | yglukhov | ok, have to leave for an hour. bbl |
16:23:14 | * | PMunch joined #nim |
16:24:29 | * | yglukhov quit (Ping timeout: 250 seconds) |
16:24:33 | * | fastrom joined #nim |
16:28:31 | * | libman joined #nim |
16:28:39 | * | sora joined #nim |
16:42:35 | * | gokr joined #nim |
16:42:55 | * | kulelu88 joined #nim |
16:43:51 | * | kulelu88 quit (Remote host closed the connection) |
16:45:45 | * | kulelu88 joined #nim |
16:55:40 | * | sora quit (Ping timeout: 250 seconds) |
17:07:12 | * | yglukhov joined #nim |
17:08:07 | * | vendethiel quit (Ping timeout: 260 seconds) |
17:11:42 | * | yglukhov quit (Ping timeout: 250 seconds) |
17:14:52 | * | space-wizard joined #nim |
17:17:23 | * | AndroUser joined #nim |
17:17:57 | * | AndroUser is now known as yglukhov-phone |
17:21:00 | * | elrood joined #nim |
17:21:23 | * | fastrom quit (Quit: Leaving.) |
17:21:37 | Parashurama | yglukhov: Ok; bug found. It was indeed in parseBiggestFloat in skipping underscore. |
17:22:27 | * | vendethiel joined #nim |
17:22:30 | * | yglukhov joined #nim |
17:23:50 | Parashurama | yglukhov: BTW if you want precise timing in abstract_window you really should include lib/system/timers. getTicks on Linux 1~10 nanosecond resolution. |
17:24:31 | yglukhov | ah cool thanks, will look into it |
17:25:27 | yglukhov | any luck with the issue meanwhile? |
17:36:33 | Parashurama | yglukhov: see above, i found the bug. animation and FPS works OK. with fixed devel. |
17:38:16 | yglukhov | oh, thats great news! thanks a bunch! |
17:38:27 | * | yglukhov quit (Remote host closed the connection) |
17:44:12 | * | vendethiel quit (Ping timeout: 250 seconds) |
17:45:56 | * | StarBrilliant quit (Ping timeout: 250 seconds) |
17:48:38 | * | yglukhov joined #nim |
17:48:53 | * | StarBrilliant joined #nim |
17:58:39 | * | Matthias247 joined #nim |
18:05:52 | * | vendethiel joined #nim |
18:19:10 | * | ephja quit (Read error: Connection reset by peer) |
18:26:32 | * | jackv quit (*.net *.split) |
18:26:33 | * | GaveUp quit (*.net *.split) |
18:26:33 | * | niv quit (*.net *.split) |
18:26:34 | * | Sergio965 quit (*.net *.split) |
18:26:34 | * | r4vi quit (*.net *.split) |
18:26:48 | * | jackv joined #nim |
18:26:50 | * | GaveUp joined #nim |
18:26:55 | * | niv joined #nim |
18:27:17 | * | Sergio965 joined #nim |
18:28:47 | * | r4vi joined #nim |
18:32:47 | * | Demon_Fox quit (Quit: Leaving) |
18:32:59 | Parashurama | dom96: I trying to improve testing for parsing float with testament. Say I expect this expression to fail "1_0._00_0001".parseFloat(). |
18:33:08 | Parashurama | dom96: I can do it with Expected exit code. How can I test multiple expressions inside a single test file. |
18:33:33 | Parashurama | dom96: which i expect to fail. |
18:33:39 | * | vendethiel quit (Ping timeout: 260 seconds) |
18:35:36 | Parashurama | dom96: Is there a better way than simple try except statement? |
18:40:52 | * | Pisuke quit (Ping timeout: 260 seconds) |
18:54:16 | * | vendethiel joined #nim |
19:03:50 | dom96 | Parashurama: does your test file include cases which shouldn't fail? |
19:04:08 | dom96 | to be honest, for parseFloat you should probably put tests in the file that it is defined in |
19:05:59 | * | yglukhov quit (Remote host closed the connection) |
19:07:59 | dom96 | Parashurama: https://github.com/nim-lang/Nim/blob/devel/lib/pure/strutils.nim#L1647 |
19:08:44 | Parashurama | Yeah some of them are expected to fail. |
19:09:25 | Parashurama | dom96: I'm making the PR. Just tell me if its okay. |
19:10:10 | Parashurama | dom96: done, PR: https://github.com/nim-lang/Nim/pull/4188 |
19:11:01 | Parashurama | dom96: but if you prefer, I can pull the test expected to succeed in strutils.nim |
19:11:09 | Parashurama | *tests |
19:11:26 | dom96 | seems fine. |
19:12:30 | Parashurama | dom96: BTW: I asked earlier is PR https://github.com/nim-lang/Nim/pull/2984 still relevant: ie move sin(float) to sin(float32) and sin(float64) an others. |
19:13:30 | dom96 | Araq will need to answer that one :) |
19:14:26 | Parashurama | dom96: Okay, then. BTW what kind of editor/IDE do you use? I use a fork of geany with nimlang support. |
19:14:37 | dom96 | Aporia |
19:15:48 | Parashurama | dom96: I think i tried it some month ago, but was quite satisfied by the support for tags and for other languages (I code in C & python) |
19:16:00 | * | yglukhov joined #nim |
19:16:00 | Parashurama | *wasn't |
19:17:40 | dom96 | definitely lot's of room for improvement, it's perfectly enough for my purposes. |
19:18:26 | Parashurama | to each his/her own :) |
19:19:43 | * | Arrrr quit (Quit: WeeChat 1.4) |
19:20:55 | * | kulelu88 quit (Quit: Leaving) |
19:22:33 | * | yglukhov quit (Ping timeout: 240 seconds) |
19:45:13 | * | yglukhov joined #nim |
19:49:21 | * | yglukhov quit (Ping timeout: 246 seconds) |
19:56:48 | * | lubos_cz quit (Ping timeout: 250 seconds) |
20:05:31 | * | Parashurama quit (Quit: ChatZilla 0.9.92 [Firefox 46.0/20160425115046]) |
20:08:08 | * | lubos_cz joined #nim |
20:09:27 | * | yglukhov joined #nim |
20:10:42 | * | fastrom joined #nim |
20:13:59 | * | yglukhov quit (Ping timeout: 260 seconds) |
20:33:31 | * | Mat4 joined #nim |
20:43:19 | * | Ven_ joined #nim |
20:45:20 | * | J3RN joined #nim |
20:45:44 | * | yglukhov joined #nim |
20:45:49 | J3RN | Does anyone have example code for a Nim IRC bot that I could look at? |
20:47:20 | * | Jesin quit (Quit: Leaving) |
20:50:00 | * | Jesin joined #nim |
20:50:15 | * | yglukhov quit (Ping timeout: 260 seconds) |
20:59:43 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:02:14 | * | vendethiel quit (Quit: q+) |
21:04:44 | dom96 | J3RN: here is NimBot's source code https://github.com/nim-lang/Nimbot |
21:07:20 | libman | I'm in #python asking if there's a copyfree re-implementation of the python stdlib (which, together with PyPy and other libs, would liberate Python from its uncopyfree license legacy). |
21:07:28 | * | endragor_ quit (Ping timeout: 252 seconds) |
21:07:38 | libman | I wonder if re-writing it by adding PyPy bindings around Nim's stdlib is a good idea... Anyone have an opinion? |
21:08:40 | * | fastrom quit (Quit: Leaving.) |
21:09:58 | * | yglukhov joined #nim |
21:14:52 | * | yglukhov quit (Ping timeout: 260 seconds) |
21:16:30 | * | saml quit (Quit: Leaving) |
21:19:19 | * | sora_kun joined #nim |
21:21:43 | * | elrood quit (Quit: Leaving) |
21:30:00 | Mat4 | libman: If it correct that PyPy restrict source code to a static safe Python subset I think it depend on the usage you have in mind |
21:33:12 | Mat4 | as the efficience of parts of the library seem to relate on Nim specific features (like the GC approach) |
21:34:12 | * | yglukhov joined #nim |
21:39:24 | * | yglukhov quit (Ping timeout: 276 seconds) |
21:43:56 | libman | I think befriending Python supporters could give a huge boost to Nim's popularity. Making Nim very inter-operable with PyPy would also bring many thousands of Python libraries into closer to the Nim ecosphere. |
21:45:13 | zodiak_ | am I correct in thinking that jester uses asyncdispatch to create an evented loop/http in much the same vein as node.js does ? |
21:45:30 | zodiak_ | because if so, rock on, and I can use that for my microservices :) |
21:45:44 | zodiak_ | (and get rid of node.js .. which is jst.. ugh (sorry!!)) |
21:48:55 | ldleworker | libman: the funny thing is, Golang was sold as a thing python programmers would love (because they can use so much of their python knowledge there right guys?) but I'd say that Nim is actually genuinely a place Python programmers could go to benefit from type-safety without relearning how to structure their programs much. |
21:49:44 | ldleworker | I think the idea that Python needs to utilize Nim's stdlib as extremely strange though. |
21:49:48 | libman | Golang went through a rough first year. It started out calling itself a "systems language" ::rolleyes:: |
21:49:53 | ldleworker | Is Python typically characterized as un-free? |
21:50:07 | ldleworker | What legitimate pragmatic hurdles are you facing wit hthe liscencing of the python stdlib? |
21:50:39 | libman | This is specifically about Python not fitting the http://copyfree.org definition which libertarians like me are trying to use to purify the free software movement. |
21:51:16 | Araq_ | so ... build still failing? |
21:54:10 | Araq_ | libman: there are excellent Python<->Nim bridges afaik |
21:54:27 | Araq_ | haven't tried them personally though. |
21:54:43 | libman | Yes, I remember, but I'm interested exclusively in PyPy. |
21:55:13 | Araq_ | but why? is PyPy taking off without me noticing? |
21:55:31 | dom96 | zodiak_: yep :) |
21:56:28 | libman | To us copyfree fanatics, PyPy is the last best hope for liberating Python. It just needs a new / rewritten stdlib. |
21:57:41 | Mat4 | ok, which parts of the library do you have in mind ? |
21:57:44 | libman | Once PyPy catches up in compatibility, I think it will overtake CPython. Didn't this happen with LuaJIT? |
21:58:20 | libman | All the non-copyfree-licensed Python stdlib code that PyPy depends on. |
21:58:43 | Araq_ | hmm LuaJIT is definitely as widespread as vanilla Lua but afaik Mike is not able to develop it much further |
21:58:57 | Araq_ | and it's a complex beast |
21:59:07 | Araq_ | so Lua has better survival characteristics |
21:59:30 | Araq_ | I'd say PyPy vs Python is in a comparable situation |
21:59:51 | Mat4 | the LuaJIT (2) interpreter is well designed, sadly non portable |
22:00:09 | libman | A greater fraction of Lua software is embedded in memory-restricted devices than Python, I'd guess. |
22:00:26 | Araq_ | Mat4: well I don't understand LuaJIT's code at all. |
22:00:39 | Araq_ | and I studied it quite a bit |
22:00:47 | dom96 | libman: what's wrong with PyPy stdlib's current license? |
22:01:14 | libman | I didn't want to inject LuaJIT into this conversation, but I think discussing the Nim-PyPy marriage is beneficial for Nim also. |
22:02:00 | Araq_ | ok, I'm not familiar with JITs, but still. Mike is a genius and his code reflects it. |
22:03:17 | Araq_ | libman: good Python<->Nim interop is good for Nim because of Python's huge library |
22:03:30 | Araq_ | PyPy doesn't have this advantage. |
22:03:46 | Araq_ | most libraries are still available for CPython only. |
22:06:05 | Mat4 | libman: I think Lua is mainly used as scripting language for which the Ansi C interpreter is a good fit. I don't know PyPy well, however doubt reusing Nim's standard library would be beneficial without adaptions |
22:08:27 | libman | From what I've experienced, nearly all pure-Python libraries are PyPy compatible, but ones written on top of C libs need to be altered. |
22:10:09 | * | yglukhov joined #nim |
22:11:40 | * | kseg joined #nim |
22:11:40 | * | kseg quit (Client Quit) |
22:12:53 | Araq_ | yglukhov is parseFloat still broken for you? or what |
22:14:34 | * | yglukhov quit (Ping timeout: 252 seconds) |
22:18:32 | zodiak_ | dom96: danke danke |
22:24:52 | libman | "Nearly all Python packages install properly on PyPy." - http://packages.pypy.org/ |
22:25:28 | Araq_ | libman: impressive :-) |
22:34:37 | * | Trustable joined #nim |
22:34:39 | * | yglukhov joined #nim |
22:36:14 | * | Mat4 left #nim (#nim) |
22:39:06 | * | yglukhov quit (Ping timeout: 246 seconds) |
22:41:38 | chrisheller | The Python interoperability angle was what got me interested in Nim to start with. |
22:43:20 | chrisheller | In places where we had previously used a mix of C and Python, we are switching to Nim and Python |
22:50:34 | * | sora_kun quit (Remote host closed the connection) |
22:54:58 | Araq_ | chrisheller: yummy :-) |
22:55:37 | Araq_ | argh, this is just too hard to solve, ... I'll pull yuri's fix and do something else, but it seems like it's inherently unsolvable |
22:57:16 | * | Trustable quit (Quit: Leaving) |
22:58:56 | * | yglukhov joined #nim |
23:01:59 | * | kseg joined #nim |
23:03:22 | * | yglukhov quit (Ping timeout: 260 seconds) |
23:04:14 | libman | I'm wondering how much could be done by using PyPy with Nim without the cpython stdlib... |
23:09:25 | * | Jesin quit (Quit: Leaving) |
23:10:48 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:11:31 | * | Jesin joined #nim |
23:11:39 | * | Jesin quit (Client Quit) |
23:28:10 | gokr | libman: Interesting, had totally missed "copyfree". Nice. |
23:30:21 | * | Jesin joined #nim |
23:31:26 | * | Jesin quit (Remote host closed the connection) |
23:32:39 | * | Jesin joined #nim |
23:34:57 | * | yglukhov joined #nim |
23:39:26 | * | saml_ joined #nim |
23:39:39 | * | yglukhov quit (Ping timeout: 276 seconds) |
23:43:36 | * | yglukhov-phone quit (Remote host closed the connection) |
23:59:23 | * | yglukhov joined #nim |