<< 19-05-2016 >>

00:00:27tautologicobut I'm thinking I can't use concepts for what I want
00:00:45tautologicounless Nim has something similar to trait objects in Rust
00:03:12*yglukhov quit (Ping timeout: 260 seconds)
00:22:44dom96tautologico: what do you want to do?
00:24:29*lubos_cz joined #nim
00:26:25*vendethiel joined #nim
00:28:01tautologicoI want to have a collection of objects/values which have the same method/proc defined on them
00:28:11tautologicobut the objects in the collection may be different from one another
00:29:15tautologicolike 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:28tautologico(not exactly what I'm doing, but it's similar)
00:29:43tautologicoin Rust you can define a trait Drawable that has the method draw
00:30:00tautologicoand then you can create a container of objects which implement the trait Drawable, hence trait objects
00:30:36tautologicoof course the container will hold pointers to the trait objects
00:30:57tautologiconow that I think of it, it's kinda similar to dynamic dispatch
00:31:58tautologicooh yeah, it's the same thing, even using a vtable
00:32:01tautologicoforget I asked :)
00:34:52*yglukhov joined #nim
00:37:38Araq_tautologico: that's just an interface that you're describing and Nim's representation for it is a tuple of proc () {.closure}
00:38:27Araq_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:24dom96Araq_: it feels like a big hack :P
00:54:42dom96because it is
00:54:47Araq_it's not.
00:55:04dom96plus it's very verbose
00:55:15dom96I don't want to repeat blah.myProc = mySpecificProc
00:55:20tautologicointerface, sure, I asked because I never saw any Nim docs mentioning interfaces
00:55:24Araq_so macro it
00:55:37dom96yeah, so we need a macro that does it
00:56:51dom96I still foresee strangess, even with macros
00:57:24dom96For example, var x: Foo; var list: seq[MyInterface] = @[x] # `x` doesn't implement `MyInterface`
00:57:40dom96How 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:54Araq_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:33ksegTwo 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:47ksegre 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:09yglukhovAraq_, your fix for 4066 has broken the tests/types/typeof_produces_alias.nim, https://github.com/nim-lang/Nim/commit/2ac3e1237231829ce9395cf6935c4622d2dfa9eb
09:31:32Araq_yglukhov: yeah, please fix it.
09:31:40yglukhovoO
09:32:56Araq_come on, you can do it.
09:33:06Araq_it's obvious where the regression comes from
09:33:16yglukhovhttps://github.com/nim-lang/Nim/commit/2ac3e1237231829ce9395cf6935c4622d2dfa9eb#diff-750ffc8fb636a0b3ddd159b478017510R785
09:33:22yglukhovremoving tyDistinct from the set?
09:33:36yglukhovit works
09:34:45yglukhovhttps://github.com/nim-lang/Nim/pull/4185
09:35:09Araq_no, argh.
09:35:23Araq_that's just because the test uses distinct instead of object, iirc
09:37:31Araq_try this: x.kind notin ({nkObjectTy, nkDistinctTy, nkEnumTy, nkEmpty}+nkCallKinds)
09:37:51Araq_and get rid of the s.typ.kind notin {tyObject, tyEnum, tyDistinct}
09:38:07Araq_and check both tests still work
09:41:20yglukhovdoesnt work
09:41:28yglukhovtests/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:44Araq_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:47cheatfateAraq_, 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:25Araq_sounds like a queue to me but I dunno
10:40:38Araq_what are the semantics of a SharedSeq?
10:41:02cheatfateit must be `seq` in shared memory
10:41:18Araq_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:46Araq_some other thread can add to it and its length is different from what I got
10:43:41cheatfateofc you are right
10:44:12cheatfatei'm just curious why SharedString present but SharedSeq not
10:44:32Araq_because I played with it
10:45:19cheatfateso SharedString is just for example and there no real usage of it?
10:45:28Araq_yes and no.
10:45:56cheatfatebecause SharedString is just a subset of SharedSeq
10:46:15Araq_Nim requires SharedString and SharedSeq so that you can put them into a SharedTable ;-)
10:46:28Araq_a SharedTable doesn't work with ordinary strings and seqs.
10:46:49gokrDo 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:08cheatfategokr, too experimental
10:47:23gokrMmm, I kinda guessed :)
10:48:14cheatfateAraq_, when i have made more investigation i have found that i dont need SharedTable...
10:48:39cheatfateAraq_, SharedTable needed when you can't count maximum index of your values...
10:48:48gokrcheatfate: Are you working on it?
10:48:55cheatfategokr, yeah
10:49:16Araq_cheatfate: that said with the upcoming GC changes, interop improves because the SharedTable can then store ordinary seqs and strings
10:49:31gokrI have a specific task at hand and... thinking of either Go (hrmph) or Elixir.
10:50:02cheatfateAraq_, let me explain
10:50:24Araq_gokr: well async works resonably well and you can create a process per core
10:50:56*lubos_cz quit (Quit: Leaving)
10:50:59gokrmmm.
10:51:13Araq_not really that elegant but you need more than process anyway for crash safety
10:51:21*lubos_cz joined #nim
10:51:57gokrYeah, Elixir is probably what I ... should go with.
10:51:57*kseg joined #nim
10:52:35*arnetheduck joined #nim
10:53:02cheatfateAraq_, 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:44cheatfateSo i dont need to calculate hashes i can easily use file descriptor as index
10:54:59cheatfateof course for single threaded i'm using `seq`
10:56:53cheatfatebut for multi threaded i need to use array... because there no `sharedseq`
10:57:42cheatfateahh forget it
10:58:03cheatfatedoesnt 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:38dom96gokr: pity you are going with Elixir, what are you writing?
11:07:00gokrdom96: give me a min
11:10:53yglukhovdom96: 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:04cheatfatedom96, i think you need to modify jester to be multiprocess :)
11:20:36Araq_cheatfate: "you never allow me to create ..." nah, go ahead, I even told you it's useful
11:27:34dom96yglukhov: 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:57dom96cheatfate: I would if it was simple :P
11:37:40yglukhovdom96: 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:29cheatfateAraq_, 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:50cheatfateAraq_, so i can use alloc() and GC_unref
12:16:56cheatfatefor my tables?
12:17:15cheatfateOr 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:05dom96yglukhov: then you can either wait for me to implement that or implement it yourself :)
12:40:32yglukhovdom96: dom96, no problem, can wait for now ;)
12:41:07cheatfateyglukhov, waiting for dom96 is like waiting till mountain moves to you :)
12:41:18yglukhovi know :D
12:41:54dom96You're lucky I'm even in IRC :P
12:42:14dom96Got two exams in the next few days
12:42:37yglukhovso, 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:13dom96yglukhov: Yep.
12:57:55dom96yglukhov: 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:50dom96One 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:28yglukhovdom96: 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:35yglukhovwe're currently trying to optimize our autobuild times. one job is currently reduced to 6 mins, 5 of which are nimble install
13:04:15yglukhovso we want to cache ~/.nimble dir across builds
13:05:17dom96I think that's this issue: https://github.com/nim-lang/nimble/issues/88
13:05:51dom96Recloning git repos is indeed a PITA
13:06:33dom96My 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:14dom96Do you guys have your own fork of Nimble?
13:07:36yglukhovno
13:07:44*vendethiel joined #nim
13:08:56dom96hrm, okay. Your first message made it seem like you do :)
13:09:23yglukhovthat 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:10dom96I see
13:37:19dom96awesome :)
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:16ParashuramaAraq_: 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:58ParashuramaAraq_: 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:39PumpkinHi, When will "Nim in action" be finished?
14:12:36PumpkinHello?
14:12:44PumpkinAloha?
14:13:08*Pumpkin quit (Client Quit)
14:23:58dom96You gotta be a bit more patient than that.
14:24:41dom96Should be printed by about November (assuming there are no more delays).
14:24:52federico3dom96: he's gone already
14:25:12dom96I 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:36yglukhovParashurama, Araq_: theres some really weird problem with parseBiggestFloat
15:39:03yglukhovafter 60e03ee27c13da148cd82772e762ebceaea07e97
15:39:09yglukhovup to current head
15:39:27yglukhovunfortunately, i have no idea how to narrow it down.
15:40:09yglukhovAraq_, i tried to diff generated nimcache, but the diff is really huge because of identifiers get different indexes for some reason
15:41:22yglukhovcurrently 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:51yglukhovdo you guys have any idea?
15:42:08*arnetheduck quit (Ping timeout: 244 seconds)
15:44:30dom96yglukhov: strange, are you actually using parseBiggestFloat anywhere?
15:45:45*gokr quit (Ping timeout: 244 seconds)
15:46:40dom96bbl
15:53:39yglukhovi'm not using parseBiggestFloat. i've set a breakpoint on it and it gets never called while in game loop
15:54:49Parashuramayglukhov: parseBiggestFloat is actually used during compilation and during runtime.
15:56:04Parashuramayglukhov: Do you have a gist I can try?
15:58:18yglukhovParashurama: 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:28yglukhovParashurama: you can try run nimx samples
15:58:43yglukhovclick on animation tab and observe the behavior
15:59:15yglukhovgit clone https://github.com/yglukhov/nimx; cd nimx; nimble install -y; nake samples
15:59:57Parashuramayglukhov: Okay
16:01:38Parashuramayglukhov: Thats some serious dependencies!
16:02:20yglukhovParashurama: whats your platform?
16:02:51ParashuramaI mean nimble dependencies. I use Debian.
16:03:06*vendethiel joined #nim
16:03:46*Trustable joined #nim
16:03:58yglukhovwell 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:09Parashuramayglukhov: Which sdl2 version do you depends on? I can only use 2.02 at the moment.
16:06:29yglukhovdamn, 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:39Parashuramayglukhov: err: could not import: SDL_CaptureMouse
16:06:48Parashuramayglukhov: I'm a bad boy :)
16:08:15yglukhovargh, right. sdl 2.0.4 is required. but i guess you can just comment out sdl_window.nim lines 181 to 184
16:09:10ParashuramaYep: Doing that.
16:09:49*Trustable quit (Remote host closed the connection)
16:10:28Parashuramayglukhov: so what am i looking for?
16:10:53yglukhovopen animations sample and observe fps
16:11:19Parashuramayglukhov: I can see animations are weirds
16:11:33Parashuramayglukhov: and FPS all over the place
16:11:47yglukhovyup. now reset nim to commit before yours and recompile
16:12:22yglukhovto this: fdcb4907bc03f44aebdd1911b381c2a665a38018
16:13:07yglukhovyou can toggle the bug by switching nim versions between fdcb4907bc03f44aebdd1911b381c2a665a38018 and 60e03ee27c13da148cd82772e762ebceaea07e97
16:13:39yglukhovdont forget to ./koch boot
16:13:39Parashuramayglukhov: compiling...
16:15:43Parashuramayglukhov: The animation are working correctly i assume, going back and forth. and FPS stable. progress bar has some issues.
16:16:11yglukhovprogress bar is ok. it updates every half of animation loop
16:16:42*fastrom quit (Quit: Leaving.)
16:16:50yglukhovbut yeah, i guess now you have some markers to play with =)
16:17:16yglukhovwill you fix it please?
16:17:53Parashuramayglukhov: I can try
16:18:17Parashurama.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:55yglukhovParashurama: i think fps is a better indicator of the bug. no need to mess with animations
16:19:05Parashuramayglukhov: where is the code for FPS.
16:19:12yglukhovit is calculated in abstract_window
16:19:44ParashuramaOK. I will ping you if i need some other info.
16:20:03yglukhovok, 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:37Parashuramayglukhov: 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:50Parashuramayglukhov: 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:31yglukhovah cool thanks, will look into it
17:25:27yglukhovany luck with the issue meanwhile?
17:36:33Parashuramayglukhov: see above, i found the bug. animation and FPS works OK. with fixed devel.
17:38:16yglukhovoh, 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:59Parashuramadom96: I trying to improve testing for parsing float with testament. Say I expect this expression to fail "1_0._00_0001".parseFloat().
18:33:08Parashurama dom96: I can do it with Expected exit code. How can I test multiple expressions inside a single test file.
18:33:33Parashuramadom96: which i expect to fail.
18:33:39*vendethiel quit (Ping timeout: 260 seconds)
18:35:36Parashuramadom96: 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:50dom96Parashurama: does your test file include cases which shouldn't fail?
19:04:08dom96to 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:59dom96Parashurama: https://github.com/nim-lang/Nim/blob/devel/lib/pure/strutils.nim#L1647
19:08:44ParashuramaYeah some of them are expected to fail.
19:09:25Parashuramadom96: I'm making the PR. Just tell me if its okay.
19:10:10Parashuramadom96: done, PR: https://github.com/nim-lang/Nim/pull/4188
19:11:01Parashuramadom96: but if you prefer, I can pull the test expected to succeed in strutils.nim
19:11:09Parashurama*tests
19:11:26dom96seems fine.
19:12:30Parashuramadom96: 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:30dom96Araq will need to answer that one :)
19:14:26Parashuramadom96: Okay, then. BTW what kind of editor/IDE do you use? I use a fork of geany with nimlang support.
19:14:37dom96Aporia
19:15:48Parashuramadom96: 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:00Parashurama*wasn't
19:17:40dom96definitely lot's of room for improvement, it's perfectly enough for my purposes.
19:18:26Parashuramato 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:49J3RNDoes 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:44dom96J3RN: here is NimBot's source code https://github.com/nim-lang/Nimbot
21:07:20libmanI'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:38libmanI 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:00Mat4libman: 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:12Mat4as 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:56libmanI 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:13zodiak_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:30zodiak_because if so, rock on, and I can use that for my microservices :)
21:45:44zodiak_(and get rid of node.js .. which is jst.. ugh (sorry!!))
21:48:55ldleworkerlibman: 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:44ldleworkerI think the idea that Python needs to utilize Nim's stdlib as extremely strange though.
21:49:48libmanGolang went through a rough first year. It started out calling itself a "systems language" ::rolleyes::
21:49:53ldleworkerIs Python typically characterized as un-free?
21:50:07ldleworkerWhat legitimate pragmatic hurdles are you facing wit hthe liscencing of the python stdlib?
21:50:39libmanThis 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:16Araq_so ... build still failing?
21:54:10Araq_libman: there are excellent Python<->Nim bridges afaik
21:54:27Araq_haven't tried them personally though.
21:54:43libmanYes, I remember, but I'm interested exclusively in PyPy.
21:55:13Araq_but why? is PyPy taking off without me noticing?
21:55:31dom96zodiak_: yep :)
21:56:28libmanTo us copyfree fanatics, PyPy is the last best hope for liberating Python. It just needs a new / rewritten stdlib.
21:57:41Mat4ok, which parts of the library do you have in mind ?
21:57:44libmanOnce PyPy catches up in compatibility, I think it will overtake CPython. Didn't this happen with LuaJIT?
21:58:20libmanAll the non-copyfree-licensed Python stdlib code that PyPy depends on.
21:58:43Araq_hmm LuaJIT is definitely as widespread as vanilla Lua but afaik Mike is not able to develop it much further
21:58:57Araq_and it's a complex beast
21:59:07Araq_so Lua has better survival characteristics
21:59:30Araq_I'd say PyPy vs Python is in a comparable situation
21:59:51Mat4the LuaJIT (2) interpreter is well designed, sadly non portable
22:00:09libmanA greater fraction of Lua software is embedded in memory-restricted devices than Python, I'd guess.
22:00:26Araq_Mat4: well I don't understand LuaJIT's code at all.
22:00:39Araq_and I studied it quite a bit
22:00:47dom96libman: what's wrong with PyPy stdlib's current license?
22:01:14libmanI didn't want to inject LuaJIT into this conversation, but I think discussing the Nim-PyPy marriage is beneficial for Nim also.
22:02:00Araq_ok, I'm not familiar with JITs, but still. Mike is a genius and his code reflects it.
22:03:17Araq_libman: good Python<->Nim interop is good for Nim because of Python's huge library
22:03:30Araq_PyPy doesn't have this advantage.
22:03:46Araq_most libraries are still available for CPython only.
22:06:05Mat4libman: 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:27libmanFrom 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:53Araq_yglukhov is parseFloat still broken for you? or what
22:14:34*yglukhov quit (Ping timeout: 252 seconds)
22:18:32zodiak_dom96: danke danke
22:24:52libman"Nearly all Python packages install properly on PyPy." - http://packages.pypy.org/
22:25:28Araq_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:38chrishellerThe Python interoperability angle was what got me interested in Nim to start with.
22:43:20chrishellerIn 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:58Araq_chrisheller: yummy :-)
22:55:37Araq_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:14libmanI'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:10gokrlibman: 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