<< 29-12-2014 >>

00:01:43*Matthias247 quit (Read error: Connection reset by peer)
00:05:35*Varriount|Remote joined #nim
00:08:48*jsudlow joined #nim
00:14:21*Trustable quit (Remote host closed the connection)
00:15:22*Jesin quit (Ping timeout: 240 seconds)
00:24:35*Demos__ joined #nim
00:28:13*Demos_ quit (Ping timeout: 256 seconds)
00:28:43*Varriount|Remote quit (Ping timeout: 246 seconds)
00:31:23*Jesin joined #nim
00:32:43*bpr quit (Quit: Page closed)
00:37:51*milosn quit (Ping timeout: 264 seconds)
00:43:01*milosn joined #nim
00:43:41*flaviu quit (Remote host closed the connection)
00:46:42*flaviu joined #nim
01:37:28*yglukhov_ joined #nim
01:42:29*yglukhov_ quit (Ping timeout: 272 seconds)
01:48:58*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:51:13*dts|pokeball joined #nim
01:53:23*Ven joined #nim
02:09:11AraqVarriount: http://nim-lang.org/download/docs-0.10.2.zip
02:09:22Araqstill no git tag though
02:14:17*dts|pokeball is now known as dts
02:15:21*dts is now known as dts|pokeball
02:17:19*z1y joined #nim
02:24:57*BitPuffin joined #nim
02:43:09*ARCADIVS joined #nim
02:56:14*darkf joined #nim
03:03:30*loz joined #nim
03:05:44*z1y1 joined #nim
03:06:53*z1y quit (Ping timeout: 256 seconds)
03:07:51gmpreussner__is there a guide on using gdb with nim? i'm having a hard time :|
03:08:09gmpreussner__i'm compiling with: nim c -r --debugger:off --debuginfo --lineDir:on
03:08:51gmpreussner__when i run a simple hello world program, gdb pauses inside system.nim and then bad things happen
03:09:01flaviuos?
03:09:05gmpreussner__Arch
03:09:13flaviuhmm, dunno. Works for me
03:09:31gmpreussner__do you run any custom parameters on the gdb command line?
03:09:59flaviuare you trying to run gdb nim c -r ....?
03:10:13gmpreussner__no, for now just a simple hello world program i compiled
03:10:21gmpreussner__debugging the compiler would be my next step
03:11:12flaviuIt really does work for me
03:11:18flaviuperhaps you can post the gdb output?
03:11:31*kapil__ joined #nim
03:11:33gmpreussner__yep one sec
03:14:39gmpreussner__ugh, i can't copy the output. i'm running this through Kate, and the output window won't let me
03:19:29gmpreussner__flaviu: sent you a pm
03:20:06flaviugmpreussner__: Does that picture have personal information? I'd like to keep things in the logs.
03:20:52gmpreussner__yeah, keep it private
03:21:11gmpreussner__expires in 30 minutes anyway. we can discuss the details here
03:21:16flaviuwell, I see you set a breakpoint. Isn't that intentional?
03:21:38gmpreussner__i think my editor sets a breakpoint on startup
03:22:04gmpreussner__but then it hits a segfault right away
03:22:22gmpreussner__and when i skip to the next line, the program shuts down
03:22:45flaviuYes, that's because you try to do `p setvbuf(stdout...)`
03:23:07flaviutype `c` instead of all that, and I'm sure it'd work
03:24:17gmpreussner__hmmk... i need to find out where that comes from and if it can be disabled
03:26:05*nimnoob joined #nim
03:26:19*yglukhov_ joined #nim
03:27:00*brson quit (Quit: leaving)
03:30:42*yglukhov_ quit (Ping timeout: 245 seconds)
03:34:09*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:35:35*yglukhov_ joined #nim
03:36:17*nimnoob quit (Ping timeout: 240 seconds)
03:40:09*yglukhov_ quit (Ping timeout: 244 seconds)
03:47:30*nimnoob joined #nim
03:50:34*loz quit (Ping timeout: 265 seconds)
03:51:07*Demon_Fox quit (Quit: Leaving)
03:51:21*Demon_Fox joined #nim
04:06:28*Demon_Fox quit (Quit: Leaving)
04:06:59*Demon_Fox joined #nim
04:13:37*nimnoob quit (Remote host closed the connection)
04:39:50*fowl quit (Read error: Connection reset by peer)
04:40:17*fowl joined #nim
04:50:44*Demon_Fox quit (Quit: Leaving)
05:00:25*rpag quit (Quit: Leaving)
05:11:15*fowl quit (Read error: Connection reset by peer)
05:11:42*fowl joined #nim
05:16:24*z1y1 left #nim (#nim)
05:21:31*kapil__ quit (Quit: Connection closed for inactivity)
05:26:49*gour joined #nim
05:30:08*BlaXpirit joined #nim
05:48:16*fowl quit (Read error: Connection reset by peer)
05:48:44*fowl joined #nim
05:56:51*z1y joined #nim
06:24:58*kapil__ joined #nim
06:35:52*Demon_Fox joined #nim
06:49:18*dyu joined #nim
06:51:27*BlaXpirit quit (Quit: Quit Konversation)
07:03:32*gmpreussner__ is now known as gmpreussner
07:06:44*rpag joined #nim
07:27:07*rpag quit (Ping timeout: 265 seconds)
07:55:31*BitPuffin quit (Ping timeout: 272 seconds)
07:57:48*minciue joined #nim
08:00:19*Jesin quit (Ping timeout: 252 seconds)
08:00:20*phI||Ip quit (Ping timeout: 252 seconds)
08:02:22*Jesin joined #nim
08:02:30*phI||Ip joined #nim
08:05:54*Demon_Fox quit (Quit: Leaving)
08:19:04*rpag joined #nim
08:38:38*rpag quit (Quit: Leaving)
08:49:12*[CBR]Unspoken quit (Quit: Leaving.)
08:55:43*[CBR]Unspoken joined #nim
08:59:58*bjz_ quit (Ping timeout: 244 seconds)
09:20:35*yglukhov_ joined #nim
09:44:51*wan_ joined #nim
09:46:03wan_congrats on the new release!
09:48:06*gokr quit (Remote host closed the connection)
09:48:27*gokr_ joined #nim
09:49:00wan_(can we get a tag on github?)
09:50:47*Demos__ quit (Ping timeout: 272 seconds)
10:19:43def-https://www.reddit.com/r/programming/comments/2qp8xb/nim_formerly_nimrod_0102_released/
10:19:48def-https://news.ycombinator.com/item?id=8809215
10:20:08dv-is there an example of overloading []?
10:20:32def-dv-: should work just as with any proc?
10:20:34dv-i have proc `[]`(g : Grid, x : Slice[int]) : int = g.grid[x.b * g.sx + x.a]
10:20:51dv-but when i do grid[1..2] i get grid.nim(35, 13) Error: index types do not match
10:20:52def-I think it should just take 1 argument
10:21:07def-ah, wait a moment
10:22:17dv-it works ok with `()`
10:22:49def-hm, I've never done it with a slice, only this: https://github.com/def-/nimrod-unsorted/blob/master/bitmap.nim#L38-L48
10:23:24dv-oh you can have two arguments?
10:23:51dv-how do you call that? foo[a,b]?
10:23:52def-yes, and img[x,y] works
10:23:56dv-cool
10:26:19dv-hm
10:26:21dv-Error: illformed AST: grid[1, 2]
10:27:20def-strange, my file compiles
10:27:26def-and works
10:27:39def-also with slices
10:27:59def-can you post the full example somewhere?
10:28:26def-The new documentation design looks really nice
10:29:49dyuyea, new doc is def-nitely nice
10:30:00dv-https://gist.github.com/dvolk/31d87d4edb536aa330f7
10:31:44*Ven joined #nim
10:34:32def-dv-: ok, it works if Grid is an object instead of tuple
10:35:04def-sounds like a bug
10:39:41*vbtt joined #nim
10:42:24*Matthias247 joined #nim
10:43:07*bjz joined #nim
10:43:30*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:43:31Araqargh.
10:43:38vbtthello friends
10:43:40Araqhow quick are you guys?
10:43:50vbttcongrats on the new release
10:43:58vbttexcited about 1.0 :D
10:44:01AraqI'm doing some smooth incremental release here ...
10:44:29vbttthe new site is kick-ass too
10:44:50vbttthe carousel circles on the right are a bit confusing, but anyway.
10:45:45vbttthe new manual styles are pretty.
10:46:02vbtteverything is looking shipshape
10:47:12Araqand the forum is async :-)
10:47:27vbttwow sweet
10:47:37vbtti still gotta check out the async stuff
10:47:38*bjz quit (Ping timeout: 244 seconds)
10:48:03vbttwould like to do a blog post about it if i can find time
10:48:16*noam joined #nim
10:48:43dv-def-: could be. thanks for the help
10:48:54def-Really happy with the new release, good job guys
10:49:03Araqwell it's not complete
10:49:17Araqgit tag is missing, merging devel into master, building the binaries etc ...
10:49:27AraqI'm working on it
10:50:21AraqI shouldn't have updated the website just yet ...
10:50:40def-Oh, oops.
10:50:48*wrl joined #nim
10:51:05def-I could remove the posts on r/programming and HN and resubmit later, if you want, Araq
10:51:16def-I assumed it's done since the news post was there
10:51:31wan_it's already on the front page of HN
10:51:47Araqjust add a note that we are introducing "release days"
10:52:00Araqso a release takes a day
10:52:09Araq;-)
10:53:23*milosn quit (Remote host closed the connection)
10:53:41Araqdid I update news.xml? cause I am quite sure I didn't
10:54:00Araqthat would have been the official signal ...
10:58:28vbtthmm so why does async not use kqueue on freebsd?
10:59:12vbttthe doc says it uses 'select' on 'other'
10:59:32Araqbecause nobody implemented it
11:00:47vbttah ok
11:00:50*jefus joined #nim
11:01:23*milosn joined #nim
11:01:27vbttso the async stuff is officially complete and part of 1.0?
11:01:34vbtt(unlike the user defined type classes)
11:02:15Araqno, at least the docs are not complete
11:02:29AraqI'm sure it needs some polish
11:02:45Araqbut it will be officially in 1.0, yes
11:04:03vbttnice
11:04:17vbttthat's a compelling feature
11:08:27*minciue quit (Quit: minciue)
11:10:57*z1y quit (Ping timeout: 240 seconds)
11:13:04vbttso if i understand the async stuff correctly - it doesn't use coroutines?
11:13:32Araqquite sure the implementation counts as coroutines
11:14:45vbttwho wrote the async stuff again? dom96?
11:15:51Araqyes
11:20:26Araqplease test it: http://nim-lang.org/download/nim-0.10.2.zip
11:23:44Araqhrm ... I can never remember how tagging a release works ...
11:24:45*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
11:25:13*bjz joined #nim
11:25:41dom96Araq: git tag -a v0.10.2
11:26:08dom96Araq: Hopefully this will teach you not to upload the website before having the binaries ready...
11:26:14Araqbrb
11:29:02dom96but hey, we're doing well on HN :)
11:34:37*minciue joined #nim
11:36:08*gokr joined #nim
11:39:00*Ven joined #nim
11:40:30*wan_ quit (Quit: WeeChat 1.0.1)
12:00:12dom96flaviu: That looks like a bad bug... :(
12:01:34dom96The nature of releases I guess.
12:02:55flaviudom96: /r/nim is private
12:03:25dom96oh thanks
12:03:32dom96fixed
12:03:32flaviuYou should make /r/nimrod private and add a redirect to /r/nim in the comment
12:03:43dom96Nah, there are useful links there.
12:03:44flaviuno, don't do that
12:03:46flaviuyeah
12:04:02dom96flaviu: Take a look at the real time view on analytis :D
12:04:08flaviuCan't you restrict posts to a certian list of people?
12:04:33flaviudom96: Have you deployed my PR for GA on the docs?
12:04:34dom96I just restricted it for everyone.
12:04:42dom96flaviu: nope
12:04:56dom96it's still not merged
12:05:27flaviuhttps://www.google.com/analytics/web/?hl=en#realtime/rt-overview/a48159761w79605192p82343045/
12:06:44flaviuIt could have been posted a little later on social media. Most the US is still asleep
12:06:55*gokr_ quit (Read error: Connection reset by peer)
12:07:09dom96Nah. Timing is perfect.
12:07:25dom96If the US was awake other stories would have overshadowed it
12:08:22dom96Araq: I can add the google analytics to the docs if you want
12:08:35dom96first pizza though
12:09:27Araqdom96: no wait
12:12:21Araqer ... did somebody add a tag already?
12:12:50dom96You apparently did
12:13:02dom96https://github.com/Araq/Nim/releases/tag/v0.10.2
12:13:43Araqhrm git is a git
12:13:50Araqtold me it didn't work
12:13:54flaviuAraq: You can delete a tag without any forks messing up
12:14:05Araqmeh it's fine
12:14:37dom96https://news.ycombinator.com/item?id=8809449
12:14:46dom96Could we do that? He has a good point I think.
12:18:22*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:18:29AraqI don't understand his point
12:19:06flaviuAraq: He wants a "portable" version of nim he can put on a flash drive
12:19:40Araqinstall it to your hd once. move it to flash and carry it around.
12:20:46flaviuAraq: That's not perfect for the reasons he outlines in his comment.
12:20:47flaviuWhere is the download link for windows? I can't find it on the downloads page.
12:21:51AraqVarriount will build them later
12:22:05*Ven joined #nim
12:22:13dom96I renamed our twitter to @nim_lang
12:22:39Araqflaviu: I don't see where he outlines these reasons
12:23:20flaviuMostly that installers dump crap all over the filesystem and then 99% of the time are unable to find and clean it up on uninstallation.
12:23:37TriplefoxI don't think there is a useful solution
12:23:50Araqthe installer puts everything in the directory you tell it to use
12:23:54*Durz0 joined #nim
12:24:05TriplefoxEvery time i try a portable app it loses functionality because of lower integration
12:24:15Araqafterwards you can move the directory around as much as you want
12:24:55flaviuAraq: That's the way it should be, yet that's not the way it actually works.
12:25:20Araqwhy not?
12:26:02flaviudunno, ask the installer companies.
12:26:51Araqthe installer has nothing to do with it. we don't use the registry nor do we use mingw's installer
12:27:31*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:27:47TriplefoxDoes nim work if no environment variables are set
12:27:56flaviulol, hacker news has banned me again.
12:28:04flaviuI have no idea why.
12:29:06*Ven joined #nim
12:29:49AraqTriplefox: we ship a start.bat that sets up the environment as required by mingw
12:30:02Araqnim itself doesn't require it
12:30:24gokrGreat work guys
12:30:37gokrdom96: Underscore in twitter name? Is that common?
12:30:56flaviuMaybe I wasn't banned, I don't understand their system.
12:31:32TriplefoxI'm pretty sure that environment is the main source of install pollution on win, but it doesn't seem avoidable if you want easy access from any shell
12:31:43TriplefoxSpeaking generally
12:32:10AraqI see no "install pollution" on windows anymore than I see it on e.g. Ubuntu
12:32:13dom96gokr: @nimlang is taken
12:32:18dom96gokr: Do you have any better suggestions?
12:32:31Araqand that's polite.
12:32:46gokrdom96: Nope :)
12:32:49Araqusually stuff on windows installs and works and on linux ... well ...
12:33:11gokrJust wondered. Wouldn't nim-lang be better though?
12:33:25TriplefoxMany of the dev tools i encounter on win say "set your path and this env var"
12:33:42TriplefoxLinux hides more if that through the package system
12:33:45dom96gokr: not allowed dashes in twitter usernames
12:33:53gokrOk
12:34:16AraqTriplefox: which requires admin rights ... since it touches /usr/bin ... no thanks
12:34:52TriplefoxI guess that isn't the same as installer generated which the op was pointing at
12:36:16Araqhow do I tell git that the URL changed?
12:36:31Araqgit remote set-url ?
12:37:23flaviuAraq: git remote --help
12:37:24flaviugit remote set-url [--push] <name> <newurl> [<oldurl>]
12:37:37Araqwell yes, I can read
12:37:49Araqbut I'm afraid
12:38:16flaviuif you screw up, just clone again.
12:38:36Araqwhy does it need <name>?
12:38:52profanso you can have different remotes if you wish
12:38:55flaviu... because you can have more than one remote?
12:39:45dom96Araq: Remember git push origin master?
12:39:49dom96Araq: origin is the remote name
12:40:15Araqso I better leave it as that
12:44:06gokrWhat a pity that the benchmark writeup didn't include some "comments" on Nim (since he didn't write that code).
12:44:15gokrOtherwise its a very good article.
12:49:15def-gokr: I guess you could write something about Nim and make a pull request. At least he merged all my code pull requests
12:49:23def-(not sure though)
12:49:39*BlaXpirit joined #nim
12:49:45def-I think the numbers and the source code speak for nim on their own
12:52:56*z1y joined #nim
12:53:07*vbtt joined #nim
12:53:40vbtthi dom96, i have a question about the async stuff
12:54:31dom96ask away
12:54:46Araqso I merged devel into master
12:54:56Araqnow updating csources ...
12:56:03gokrVarriount: Do you need me to do something with the Linux slaves btw?
12:56:05vbttdom96: i'm curious how the await macro works
12:56:19dom96Araq: just merge devel into master in csources
12:56:22vbttdoes it basically transform the rest of the function into a lambda callback?
12:56:23dom96Maybe
12:57:00vbttrather, a closure?
12:57:24dom96vbtt: it gets transformed into a closure iterator
12:57:29vbttah ok
12:57:35minciuedom96: hi again
12:58:25Araqdom96: why?
12:58:27vbttso one instance of await will wrap the rest of the function into a closure iterator. and two occurrences of await will generate two closure interators, one nested in the other?
12:58:37dom96Araq: nah, nvm.
13:00:27minciueI was looking at https://github.com/fowlmouth/nake and wondering what place it has in the nim ecosystem
13:00:40dom96minciue: hi
13:00:49minciuedom96, it seems to me like the build command in nimble & the nimble test command I was thinkinng of implementing might be better handled by nake
13:00:58dom96vbtt: no. Await gets transformed into a yield.
13:01:17vbttah i see
13:01:30vbttok, it makes sense now.
13:01:38dom96vbtt: You can get the macro to echo out the code that is generated
13:01:40vbttit's like python 3's asyncio then?
13:01:52vbttbasically every yield point is explicit
13:01:56dom96vbtt: There is a or something like that in asyncdispatch echo toStrLit(x)
13:02:36minciueI guess I’m wondering if it would eventually be ok for nimble to assume nake is already installed and generate a nakefile with some sensible defaults
13:03:57*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:07:23*BitPuffin joined #nim
13:09:35*Trustable joined #nim
13:10:35gokr19 comments already
13:13:56gokrTriplefox: A comment spot on I think
13:14:04gokr(presuming you are chipsy :))
13:16:31*z1y1 joined #nim
13:18:12*z1y quit (Ping timeout: 245 seconds)
13:21:50*z1y joined #nim
13:22:26*z1y1 quit (Ping timeout: 240 seconds)
13:22:30dom96Araq: We need to change the twitter username on the website
13:22:52minciuewoah, the new HTML documentation is so much nicer. congrats to whoever did this
13:24:30*nimnoob joined #nim
13:24:31flaviuminciue: boydgreenfield, https://github.com/Araq/Nim/pull/1764
13:26:08minciuenicely done
13:27:29Araqso I was able to push csources master but merging master into devel fails with conflicts
13:28:05Araqcan I remove the devel and bigbreak branches and re-introduce devel?
13:29:15dom96You can probably just use -f with the csources repo (i.e. --force)
13:29:21dom96and rebuild the repo completely.
13:29:51*nimnoob quit (Remote host closed the connection)
13:30:46flaviuyep, no one will be pulling from csources
13:30:51flaviujust cloning.
13:32:24gokrflaviu: Really? :)
13:32:54dom96I shall do it
13:33:09flaviuWell, once you've bootstrapped the compiler, you don't need it any more.
13:33:35flaviuIt's a marginal useage of the repo, no point in worrying about it.
13:38:09gokrdom96: The forum says "MrX replied 1 hour ago" although the "reply" is actually the initial post. So better would be "posted" in that case?
13:38:23*gokr in nitpicking mode
13:38:29dom96gokr: sure. PRs welcome ;)
13:38:32gokrhehe
13:39:07flaviuYou could replace the word "reply" with "posted" in all cases
13:39:40dom96true
13:47:19*nimnoob joined #nim
13:52:30*minciue quit (Quit: minciue)
13:57:46*BlaXpirit quit (Quit: Quit Konversation)
13:59:36*BlaXpirit joined #nim
14:02:08*z1y quit (Remote host closed the connection)
14:02:51*rpag joined #nim
14:06:02*vbtt quit (Ping timeout: 244 seconds)
14:10:03*yglukhov_ quit (Read error: Connection reset by peer)
14:10:43*yglukhov_ joined #nim
14:13:11*z1y joined #nim
14:17:20dom96Damn. These new docs are really sexy.
14:18:15flaviuRaleway is a really nice font
14:18:25*z1y quit (Ping timeout: 265 seconds)
14:21:58dom96indeed
14:22:14*z1y joined #nim
14:28:49*Sphax joined #nim
14:34:15*z1y quit (Ping timeout: 244 seconds)
14:38:33*rpag quit (Quit: Leaving)
14:40:13*gokr quit (Ping timeout: 272 seconds)
14:41:46*gokr joined #nim
14:43:00*valberg joined #nim
14:43:38valbergApparently nim-lang.org is blocked in Norwegian trains due to pornography: https://hushfile.it/54a1682a801c1#cI9mmhPM_K5MaXLh-MdvzJYhFqHvEIx9LMeMd_oz
14:47:14dom96interesting
14:47:41dom96valberg: Any chance you can report that?
14:47:43*saml joined #nim
14:50:31dom96valberg: or at least get me an email address I can contact?
14:51:46*yglukhov__ joined #nim
14:54:11flaviudom96: [email protected]
14:54:24*yglukhov_ quit (Ping timeout: 244 seconds)
14:54:55dom96flaviu: How did you get that?
14:55:45flaviuThe train company is "NSB-KONSERNET", and from what I can decipher of the Norwegian, they have a helpdesk.
14:55:56flaviu"Servicedesk"
14:56:04*bjz quit (Ping timeout: 245 seconds)
14:56:34flaviubut valberg didn't post the page, so I can't figure out the url. I therefore googled NSB-KONSERNET and found a link that says "contact" on the first page I found
14:57:00dom96There might be a different email for their internet blocking service desk though
14:58:46*z1y joined #nim
14:59:16gokrSomeone did write about porn block on the hackernews thread too
15:00:21dom96yeah. Hrm.
15:00:27flaviuIt'd probably be best if we could figure out who provides these filter lists
15:00:32dom96Was http://nim-lang.org a porn site a couple of years ago?
15:02:09flaviuNope, looks like it's been completely unused since 2002
15:02:23dom96What about in 2002?
15:02:52flaviuWell, the website I'm checking only started logging since 2002
15:04:03*gour quit (Remote host closed the connection)
15:07:52*gour joined #nim
15:11:54gokrBut it might be a brilliant move to get Nim discovered - get a former porn site and host it there ;)
15:14:02valbergdom96, flaviu: sorry - had to get of the train - but yeah it's just nim-lang.org (more likely the ip address I think)
15:14:25valbergI can report that it is not blocked at Oslo Airport though :)
15:14:45flaviuvalberg: I was referring to the "Servicedesk" link, if you can post that.
15:14:54dom96In that case it's Digital Ocean's fault for giving us an IP previously used for pornography :P
15:15:05flaviuThat makes sense
15:15:14flaviucan't you renew the IP?
15:16:13*minciue joined #nim
15:16:19*nimnoob_ joined #nim
15:16:32dom96I don't think that's a good idea.
15:16:38dom96Now that ~200 people are on the website concurrently
15:16:42*nimnoob quit (Read error: Connection reset by peer)
15:17:35z1yis nim an "upgrade" of Python? I read some text that gives me a sense that if I like python then Nim would be a next step...
15:17:37valbergflaviu: sorry - since it's not blocked here I can't get to that page again :(
15:18:59dom96You can think of it that way.
15:19:04dom96It is kind of like Python with static typing.
15:19:21dom96If you like Python then you should definitely give it a try.
15:21:32*Sphax quit (Quit: ZZZZZzzzzz)
15:22:50*StefanSalewski joined #nim
15:23:15StefanSalewskiGreat work, the new release!
15:23:20*Sphax joined #nim
15:24:30StefanSalewskiFrom the main page, IRC channel is still nimlang, which is invitation only? Yes, I know, pull request is easy, idlework.
15:24:32*darkf quit (Quit: Leaving)
15:25:17StefanSalewskiUnfortunately for nimble I get again this old error: c2nim.nim(11, 33) Error: cannot open 'llstream'
15:25:27dom96StefanSalewski: #nimlang redirects to here
15:25:46dom96StefanSalewski: Why would you get that for nimble? Nimble doesn't use c2nim?
15:26:04StefanSalewskiNot a problem for me, I can fix it, goran explained how to do it in his blog.
15:26:29valbergis Nim still a PITA to get working on Mac OSX? I tried once (can't remember which version of nimrod, but it was fairly recent) and it was really hard - that is I didn't get it working :(
15:26:57z1ydom96: no I dislike python. I'm interested in nim. I'm learning nim so that I don't need to talk about python. I also love to see some #pascal stuff in nim :)
15:27:28StefanSalewskiI deleted .nimble dirrectory, installed nimble from git as described in manual, and then did "nimble install c2nim"
15:27:37*filippo joined #nim
15:27:38dom96valberg: It shouldn't be that hard.
15:27:49dom96valberg: Bootstrapping should be as easy as on other operating systems
15:27:52*filippo is now known as filcuc
15:27:58filcucHi all
15:28:07dom96hi filcuc
15:28:30filcuchey dom96 ;)
15:28:33dom96StefanSalewski: Ahh, well that's a c2nim issue not a nimble issue.
15:29:38dv-nim i crashes when i do 1.0.low
15:29:41dom96filcuc: saw my comment on github?
15:29:58StefanSalewskiOK, I thought it was a general nimble problem. So it is only for c2nim package?
15:30:00dom96dv-: unfortunately the interpreter isn't very stable, but please report it.
15:30:19filcucdom96: yep already replied
15:30:35dom96StefanSalewski: sure, it's trying to build it and it's failing.
15:30:37dom96StefanSalewski: Try installing another package if you don't believe me ;)
15:30:51valbergdom96: I was basically trying to use the homebrew installer - the recipe for nimrod was maybe a bit off
15:31:20dom96filcuc: That doesn't sound ideal.
15:31:34dom96filcuc: You will need to update both repos manually...
15:32:19dom96valberg: You'd be better off trying to follow the instructions on the website :)
15:32:36filcucbasically the nimble package point to a different repo, in which the .nimble file exists (that repo is just a copy of the one i shared in the forum)
15:32:36filcucthe reason is that i want to keep the development in the DOtherSide repo for both D and Nim, but given that the i cannot clone a subdirectory of a repo i just created a new one with the copy of the NimQml subdirectory
15:32:48StefanSalewskiOK thanks, dom, I will fix it manually for now. And with the nimlang irc channel, I am kicked off with web access. I have to use #nim which is is listed on forum page.
15:34:13filcucdom96: i know but for know this fit my development model. the other option is to use a git submodule. But this split isn't so bad and gives to the nimble users of my package a stable release
15:34:36filcucdom96: so i can update at each releas
15:34:39filcuce
15:34:55StefanSalewskiBye -- have to test my packages with new rerlease... (func keyword...)
15:35:03*StefanSalewski quit ()
15:35:15dom96filcuc: alright merged
15:36:03dom96Also, i'd strongly encourage you to license it as something other than GPLv3
15:37:36filcucdom96: i cannot
15:37:47dom96why?
15:38:06filcucdom96: i've to study better the Qt license, but i think i cannot.
15:38:12filcuci'm using the Qt private headers
15:38:32dom96Why are you using those?
15:39:00filcucbecuse i need them :) basically for generating a dynamic QObject
15:39:06filcucand using the QMetaObjectBuilder class
15:39:33filcucfor adding signals and slots dynamically
15:40:04dom96They have a special exception in the GPL license that they use it seems.
15:40:19dom96The problem with you using GPL for your wrapper is that I won't be able to use it in anything that isn't GPL
15:40:33*z1y quit (Ping timeout: 256 seconds)
15:40:40filcucsadly i know it
15:41:12filcucbut until i don't have a clear view of the license i can use the GPLv3 seems the best option
15:42:01filcuca nice one could be LGPL but i think it doesn't include the option for using the private headers
15:42:24filcuci should talk to the go-qml guys
15:42:33filcucthat are basically doing the same
15:43:07filcuc(and they're also using the private headers)
15:43:49filcucgiving a look at https://github.com/go-qml/qml
15:43:56filcucthey're using a LGPLv3
15:46:40filcucfor sure i'm going to relicense the bindings to the most open license
15:47:49*kniteli joined #nim
15:48:06dom96filcuc: yes, please do talk to them.
15:52:17gokrfilcuc: Great that you dug into this btw.
15:53:16*gokr quit (Quit: Leaving.)
15:53:22filcucgokr: do you mean the license issues?
16:01:06*Demos joined #nim
16:04:08filcucdom96: ok i contacted Gustavo Niemeyer hope to get an answer soon
16:04:20dom96filcuc: cool
16:04:45dom96filcuc: I'm curious: you've basically coded the same thing in both Nim and D. How do you think the two languages compare? :)
16:06:03filcucdom96: i created a common C/C++ layer and than written the "otherside" in Nim and D..well i tell you the truth
16:06:47filcuci started with D because i discovered it before
16:07:10filcucbut if i discovered nim before i would not have written the D part :D
16:08:37*dymk joined #nim
16:09:00dymk> "The following procs are now available at compile-time:"
16:09:01dymk> system.writeFile
16:09:04dymkInteresting!
16:09:07filcucD has is more object oriented and has solid compile time features
16:09:08filcuci mean typetraits and compile time execution
16:09:08filcucnim is not inferior however right now there're no typetraits
16:09:41dymkAs a D programmer, I would like to know some more about Nim's CTFE compares to D's
16:09:41filcucand i'll add a better syntax with some macros (but write them is not trivial)
16:11:31*kapil__ quit (Quit: Connection closed for inactivity)
16:11:48filcucfor the object oriented thing nim miss some kind of super statement. I read today in the nim 0.10.2 release about the procCall but it's not documented
16:11:54dom96filcuc: What kind of type traits do you mean?
16:12:22dom96dymk: Does D have procedural macros?
16:12:41filcuclike having the types of a proc
16:12:46filcuc(i mean at compile time)
16:12:57dymkdom96: One can execute arbitrary D functions at compile time, is that comparable?
16:13:20filcucdom96: no
16:13:23Araqdymk: no you can't. the limitations are comparable to Nim's.
16:13:26filcucdymk: well not arbitrary
16:13:51dymkfilcuc, yeah, perhaps I should use "weakly pure" to that
16:14:06AraqNim uses a bytecode VM to run it at compiletime, D uses an AST based interpreter
16:14:15dymkAraq, Alright, thanks
16:15:09dymkNow I tried Nim a few months ago, and found that going through the tutorials was hard because I'd hit an ICE really often; does this 0.10.2 have a lot of internal compiler fixes?
16:15:17*dts|pokeball quit (Ping timeout: 240 seconds)
16:15:42Demosdymk, yes. ICE should be much more rare
16:15:47dymkgreat
16:15:49Araqdymk: we fixed as many bugs as we could
16:15:57Araqbut please report these things
16:16:13dymksure
16:16:13Araqthough usually I already know the bug ;-)
16:16:31DemosICE are fixed pretty fast in the devel branch
16:17:02dymkAnd then, because Nim compiles down to C code, I imagine I can get the compiler to build for, say, the m68k arch; has anyone been doing stuff like this with Nim?
16:17:15filcucfor my bindings right now i've to create a macro for extracting the types of a proc and returning an int vector.
16:17:39filcuci've already write some parts but for example D has already them built-in
16:17:43Araqfilcuc: types API for macros is planned. PRs welcome, it's not hard to do but nobody did it.
16:18:04Araqusually all that people can do is complain :P
16:19:28filcucAraq: i know but i prefear to work on the bindings :)
16:23:52dymkThe '$' operator, is that performing an allocation to convert its operand into a string?
16:24:39Araqdymk: yes. we'll eventually get rid of some of these via TR macros. but yes.
16:24:52dymkTR == term rewrite?
16:25:22Araqwe're not in the "omg it allocates! burn it with fire" camp as our GC is not technology from the 70ies.
16:25:29dymkmm
16:26:52dymkBut, is there a reason that you went with "convert to string by allocation" instead of just spitting the value out directly, using some method specific to the type (a-la how printf works)?
16:27:46*bjz joined #nim
16:27:54dymkPerhaps that doesn't make sense in the context of nim, though
16:30:08Araqyou seem to think there is some alternative here. there isn't.
16:30:43Araqwe can implement c++'s "small string optimization" if we want to though.
16:32:28*bjz quit (Ping timeout: 264 seconds)
16:34:09EXetoCinput buffer?
16:34:35dymkHm, yeah, I assumed you could do something like D's writeln (which is a variadic but preserves types)
16:35:09*[CBR]Unspoken quit (Ping timeout: 244 seconds)
16:35:46dymkI'm not familiar with how Nim does templates/generics though
16:35:48EXetoCwhat do you mean directly? we do have basic formatting, which also spits out a string
16:36:15*[CBR]Unspoken joined #nim
16:36:42*profan quit (Ping timeout: 244 seconds)
16:37:47dymkEXetoC, the function signature looks like: `writeln(ARGS...)(ARGS args)`, and can be called like `writeln("Thing: ", 1, false);`, so ARGS is a `tuple(string, int, bool)`
16:38:22dymkthen some loop in writeln calls writeln_string, writeln_int, writeln_bool etc for each specific type
16:39:24EXetoCyes
16:40:06dymkbut nothing analogous could be done in Nim to avoid the allocation all together?
16:40:30dymkI understand that the GC in nim is fast, but no code runs faster than any code
16:41:20ldleworkno code runs faster than any code?
16:42:18dymkzero instructions will execute faster than one or more instructions
16:42:38EXetoCand it doesn't allocate?
16:42:58flaviugc require more code than just malloc(), free()
16:43:01EXetoCwhat buffer does it use and how big is it?
16:43:06*filippo joined #nim
16:43:25ldleworkdymk: ah okay, thanks for clarifying
16:43:37*filcuc quit (Ping timeout: 245 seconds)
16:43:39dymkEXetoC, honestly, writeln very well might, but as you can see it doesn't need to allocate
16:44:22*profan joined #nim
16:44:27dymkbut I don't think that writeln allocates at this point in time, no
16:44:35filippodom96: what is the correct whay to distribute a hybrid package like gtk3 or mine?
16:44:50filippodom96: i mean one that depends on a C/C++ .so
16:45:39EXetoCdymk: what if a user-defined type is passed in? or a dynamically sized array
16:47:15dymkEXetoC, for dynamically sized array: it prints a literal "[", then each member (using writeln_{bool, int, etc}), then a literal ",", then finally a literal "]"
16:47:46EXetoCyes but you need a sufficiently large buffer so as to not have to allocate
16:47:58dymkwhy would you ever need a buffer?
16:48:02dymkyou're printing to stdout
16:48:48EXetoCyes, and it needs to work with a buffer, does it not?
16:50:09dymkwell, yes and no; the buffer is a statically allocated string (in the case of a user defined type, such as the type's name, like "MyStruct")
16:50:47dymkElse, it just behaves like printf: (if num == 0; printf("0"), if num == 1; printf("1"), etc)
16:51:27dymkwriteln_bool might look like if arg == false; fprintf(stdout, "false"); else; fprintf(stdout, "true")
16:51:28EXetoCyes, but in many cases you can't determine the length of the buffer at compile-time because of dynamic arrays and such
16:51:48dymkEven in that case, you don't need to
16:51:54dymk(if you're printing to stdout)
16:52:05dymk(or any output buffer, really)
16:53:39EXetoChttp://linux.die.net/man/2/write what else is there?
16:54:34dymkhm, lemme show with an example
16:54:51dymkwrite([1, 2, 3]) // write a dynamic array of ints
16:55:17dymkthis, more or less, turns into (i'm ignoring the leading [, interm commas, and trailing ])
16:55:33dymkforeach(element; arr) write(element)
16:56:03dymkor if we want to be explicit about the types here, write_int(element)
16:56:35EXetoCand it is going to end up in a buffer in one way or another
16:57:05dymkOnly if you want it to write to a buffer, but stdout just consumes what you give it and then returns
16:57:35*Jaood joined #nim
16:57:51dymkor write(2); it doesn't care about what you do with the buffer afterwards, nor does it modify the buffer, so you can allocate all your most elemental strings in the .data section
16:58:01EXetoCthe write system call expects a buffer. I don't know how else you would do it
16:58:57dymkIt does, but you don't have to allocate the buffer; you can print all possible numbers, floating or not, using the characters in "e+-.0123456789"
17:00:01dymkso the number 123 is printed using some recursion if you so desire, resulting in calls write("1"); write("2"); write("3"), where those strings are located in .data, and don't require a dynamic memory allocation
17:01:16EXetoCbut write eventually does this surely: write(stdout, buffer, bufferSize)
17:02:02EXetoCit could work, *when* the size of the input is statically known
17:02:33dymkNo, you can write any arbitrary number or primitive datatype using statically allocated buffers
17:02:35ldleworkThis is an interesting conversation
17:02:47dymkldlework, thank you :) i'm enjoying it
17:02:51ldleworkdymk: will you be around?
17:02:54EXetoCdymk: yes, so still only in some cases
17:02:56ldleworkI haven't seen you before
17:03:05EXetoCand then with a ton of write calls
17:03:26*novist joined #nim
17:03:27EXetoCpotentially at least
17:03:51dymkEXetoC, No, you can print any datatype in all cases, and it does require more write calls, but write() *does* use an internal buffer, so it's not slow
17:04:07dom96Interesting. The nim tutorial is now on the front page.
17:04:15dom96(of HN)
17:04:22dymkdom96, congrats!
17:04:34EXetoCdymk: yes, but I don't think that system calls are cheap
17:04:38dymkldlework, yeah, I'll point my bouncer here, I'll be around
17:04:45ldleworkdymk: cool
17:04:46EXetoCbut someone might want to do it this way
17:04:51ldleworkdymk: What kind of software do you write?
17:04:55ldleworkdom96: seriously?!
17:05:07ldleworkholy shit
17:05:11dom96ldlework: yeah, what is going on?
17:05:14ldleworkeveryone upvote!
17:05:25ldleworkdom96: While I actually hate anyone that uses HackerNews seriously
17:05:37ldleworkIt is an incredibly valuable mindshare resource and we should take our presence there seriously
17:07:20dom96Indeed.
17:07:47dymkEXetoC, System calls aren't cheap, but it's trivial to write a simple wrapper that buffers some number of chars before calling write/puts/fputs (I think that these methods buffer anyways, so speed might not be an issue then even)
17:08:12dymkand the buffer there is statically known, so throw it in .bss and you're golden
17:09:00dymkldlework, I write a pretty wide range of things, right now i'm getting ready for an internship as a kernel dev
17:09:06ldleworkdymk: oh wow
17:09:16dymklatest project is a Ruby on Rails site that i hope makes a splash in a niche of the internet
17:09:21ldleworkdymk: what do you think about Docker?
17:09:57dymkI haven't used it; my virtualization is done by buying more ultra-cheap VMs :P
17:10:21dymkIt seems like it could be useful though
17:10:22novisti saw this today http://nim-by-example.github.io/oop_macro/ and cant help but wonder why the heck there is macro workaround for getting syntax which seems it should be the default.. any ideas?
17:10:34def-Looks like there
17:10:39def-'s some interest in Nim now: https://news.ycombinator.com/item?id=8810131
17:11:19dymkEXetoC, I hope I explained things well
17:11:52def-novist: I like the regular, non-OOP syntax more, because you can add methods to your objects elsewhere, not just all in one place
17:12:07EXetoCdymk: yep
17:12:30novistdef- i guess you can still add them even if you use macro
17:12:55EXetoCI think something like write(buffer, x, y, z); would generally be good enough for people who actually care, but such an addition wouldn't hurt
17:13:04novistthat last part weirds me out a lot because otherwise language seems to be very elegant and rational but this last bit is just weird
17:13:11dom96novist: OOP is not for everyone :)
17:13:28dom96The leaner the base language the better.
17:13:34novistsure, but nothing mandates one to use OOP right?
17:13:45def-novist: i think it's not a problem since a feature like this can easily be added as a macro, so it doesn't need to be in the language itself
17:13:49novisthow is it writing more boilerplate code leaner?
17:13:52dom96The fact that you can extend the language to include such syntax is the beauty of Nim
17:14:17novistthat i totally agree with hehe
17:14:24novistactually i know no language that could do this
17:15:57ldleworkI definitely feel like oop could be a legitimate stdlib library
17:16:06ldleworkIf we cleaned it up and expanded it a bit
17:18:20EXetoCdymk: one additional function call per generated character then? if a stringification proc for a user-defined type can't be inlined
17:18:28EXetoCbut allocating is much slower in comparison
17:21:11filippoIdlework: regarding oop how can someone implement a sort of "super" keyworkd
17:21:12dom96ldlework: sure, that can still be done.
17:21:32dymkEXetoC, yeah, it's the speed tradeoff between buffering a char and allocating; allocation will always be slower
17:21:48dymkthe buffering function can most likely be inlined though, but i guess that's up to the compiler
17:21:51dom96novist: We can in fact include this macro in the stdlib. Nobody has complained enough to make this happen yet though.
17:22:03ldleworkfilippo: I have no idea.
17:22:25dom96novist: Araq is the one who ultimately decides these things so you have to convince him :)
17:22:29dymkdoes Nim have a templating library available? a-la erb or https://github.com/dymk/temple
17:22:48novistim thinking if that part of code worked in more traditional way it would help more for people who come from other languages like say python
17:22:53novistthats all ^_^
17:23:01EXetoCsuper can't be a proc that does some reflection?
17:23:01dom96dymk: nothing as advanced as that, you should write one :P
17:23:08dymkdom96, that's why I ask :P
17:23:16dom96dymk: we have this though http://nim-lang.org/filters.html
17:23:18dymkit'd be a fun way to learn the language
17:23:37novistEXetoC actually thats how super works in python (except it constructs entire object)
17:25:17EXetoCwhat for?
17:26:05EXetoCyou mean a proxy object?
17:26:24*brson joined #nim
17:27:33dom96dymk: do it! Then create a Nimble package out of it!
17:28:20novistEXetoC im not sure of details now but behind scenes it does lots of magic there. but could be not needed at all in nim
17:28:47novistdepends if nim supports multiple inheritance
17:28:52EXetoCdom96: does nimble not search descriptions?
17:30:09*Sphax quit (Quit: CYA!!)
17:30:36dom96EXetoC: just tags and name I think
17:32:49EXetoCstrfmt is insufficiently tagged
17:34:17dom96fix it then
17:34:21dom96:)
17:35:25novistoh how able is nim to interact with stuff written in c++?
17:38:20*gour_ joined #nim
17:40:25*ykm joined #nim
17:41:52*ykm left #nim (#nim)
17:41:54*gour quit (Ping timeout: 245 seconds)
17:43:16*Ven joined #nim
17:44:26flaviunovist: it compiles to c++ too
17:45:26novistyeah but what i want to know how much extra work is needed to make it call into c++ stuff. like say Qt library. its huge and complex. manually wrapping it would be hell.
17:48:25dom96Apparently the nim website was automatically classified as porn by some bot
17:48:58gmpreussnerseems legit
17:49:14jsudlowyou havn't seen the nim girls?
17:49:19gmpreussneri use nim for intellectual masturbation all the time
17:49:45*BitPuffin quit (Ping timeout: 256 seconds)
17:52:27*BitPuffin joined #nim
17:52:27ldleworkhttps://news.ycombinator.com/item?id=8810855
17:53:22gmpreussnerldlework: i had the exact same experience this year
17:53:31ldleworkgmpreussner: so say so
17:53:34ldlework:)
17:55:51jsudlowwell said. I feel the same way. After reading some nim code, you find its very readable. You can start playing right away
17:56:01*shodan45 joined #nim
17:56:03brsonthe nim docs are looking nice. i upvoted
17:57:06*BitPuffin quit (Ping timeout: 250 seconds)
17:58:00dom96:D
17:58:03shodan45typo in the 0.10.2 news: epxressions
17:58:03ldleworkhi nice to still see you around
17:58:06*ldlework huggles brson
17:58:17ldleworkthanks shodan45
17:58:20brsonoh, heh. and congrats on the release!
17:58:28*tim_ joined #nim
17:58:33*brson upvotes harder
17:58:50ldlework::upvoting intensifies::
17:59:01jsudlow*upvotes
17:59:09*gokr joined #nim
17:59:23EXetoCdom96: it's that good, huh?
17:59:45*tim_ quit (Client Quit)
17:59:53ldleworkawww yeah
17:59:57*ldlework nudges EXetoC in the ribs
18:03:02*filippo quit (Quit: Konversation terminated!)
18:03:19dom96shodan45: fixed, thanks.
18:08:15dom96ldlework: You should post that on reddit too!
18:12:05EXetoCdom96: I see, a classification and not a score
18:25:37*yglukhov__ quit (Ping timeout: 240 seconds)
18:26:15*dyu quit (Quit: Leaving)
18:28:15*Demos_ joined #nim
18:28:56*Varriount_ joined #nim
18:29:08*NimBot_ quit (Read error: Connection reset by peer)
18:29:30*NimBot_ joined #nim
18:31:10*Varriount quit (Ping timeout: 255 seconds)
18:31:38*Demos quit (Ping timeout: 255 seconds)
18:31:56*davidterry joined #nim
18:32:21ldleworkdom96: posted
18:33:03dom96ldlework: cool
18:39:20ldleworkI think I'm going to stop telling people that Nim can be used without the GC
18:39:34def-ldlework: why?
18:39:53ldleworkBecause it is not a practical truth, only a technical one.
18:41:34EXetoCindeed it's not, at this point in time
18:43:24ldleworkSure but I think that the probability of a potential reality where the language is usable without GC diminishes over time, not gets more likely
18:44:12EXetoCI wonder when this area will be improved upon
18:50:01*davidterry quit (Remote host closed the connection)
18:50:01shodan45hm, I hope so.... I'd like to try nim on microcontrollers (~8Mhz, ~8KB ram, etc.)
18:51:21*davidterry joined #nim
18:51:43*davidterry quit (Remote host closed the connection)
18:51:54ldleworkEXetoC: I think "improved upon" means forking the stdlib, or coming up with a micro-stdlib that doesn't depend on the GC
18:52:25ldleworkI can't identify any personalities in the community that I've met yet who are interested in that kind of work
18:54:18Matthias247ldlework: but that's basically the same situation as with C/C++: If you want to go embedded you also will end up with another stdlib
18:54:48ldleworkMatthias247: sure, I'm just pointing out that we do not have that stdlib and no one is remotely interested in producing it
18:55:17ldleworkI'm not complaining I'm just justifying why I wont be parading around the gc-lessness anymore
18:56:08dom96You're likely to need a custom stdlib for embedded stuff anyway
18:56:18Matthias247I think it is fair to say the language can be used without GC, but it would probably be unfair to say it would be that helpful
18:56:20dom96I've built a "kernel" in Nim, it works.
18:56:33dom96I think it's better to advocate Nim's real-time GC.
18:56:54def-I really like this comment about Nim being pragmatic: https://pay.reddit.com/r/programming/comments/2qp8xb/nim_formerly_nimrod_0102_released/cn8icgw
18:57:49*davidterry joined #nim
18:58:13dom96def-: agreed
18:59:49ldleworkdef-: I was just replying "Hear hear!"!
19:00:48*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:01:36ldleworkDoes anyone mind making me a mod of the reddit?
19:01:45ldleworkI wouldn't mind helping out with that.
19:02:00EXetoCare such people not more willing to implement such things? Am I underestimating the amount of allocation-free interfaces that might be needed?
19:02:18*Ven joined #nim
19:03:16Matthias247EXetoC: on safety related embedded systems you normally have 0 dynamic allocations
19:03:23dom96ldlework: I pasted a link to the discussion about wikipedia on HN to #wikipedia-en
19:03:39dom96er, that was meant for everybody sorry, unnecessary highlight.
19:03:53EXetoCdom96: does the kernel every allocate?
19:04:12dom96EXetoC: Sure.
19:04:16EXetoCldlework: I'm interested, but I have a ton of things in the pipeline
19:04:26dom96EXetoC: Araq says that I should use GC in my kernel :P
19:04:39EXetoCbut I need to figure out what to focus on most. I still have an unusable mongo interface though
19:04:58dom96ldlework: Sure, I can make you a mod.
19:04:58ldleworkEXetoC: I believe you
19:05:39ldleworkdom96: alright
19:05:57dom96done
19:08:07EXetoCdom96: yeah, might as well
19:08:12EXetoCthat's a decent amount of comments on reddit for the release announcement
19:08:55dom96EXetoC: hrm?
19:09:32EXetoC"Arrggh. Not ANOTHER NIM, dammit." that other nim is popular?
19:09:38EXetoCthat? those?
19:10:21EXetoC*the :p
19:11:02TrustableHi people, don't forget to update http://nim-lang.org/news.xml
19:11:15EXetoCdo we have any videos or paragraphs that contribute to this 'porn' classification?
19:11:52EXetoCTrustable: maybe it should be automated
19:19:03*yglukhov__ joined #nim
19:19:30*bjz joined #nim
19:19:35ldleworkEXetoC: I just downvoted it
19:19:44ldleworkWe do have a 'troll' on the reddit thread though
19:19:56ldleworkNot really trolling per se, but being purely critical
19:19:58ldleworkwhich is fine
19:21:31dom96Can somebody help this guy? https://news.ycombinator.com/item?id=8811207
19:22:26def-dom96: I just tried, but I'm not sure how that would work
19:22:45dom96I'm not entirely sure what he wants to do.
19:23:10Matthias247the answer would probably be "just use the ref types (GC)" ;)
19:23:23EXetoCdom96: smart pointers and COW?
19:23:55def-I think he wants to have an object, which you can copy. but after the copy both references point to the same data structure, until one decides to change it, then a copy is made
19:24:03*BitPuffin joined #nim
19:24:53Matthias247yes. In C++ you can do that by overloading =, [], [] const, ...
19:25:33EXetoCand destructors would have to work at all times
19:27:39*Matthias247 quit (Read error: Connection reset by peer)
19:27:55*Matthias247 joined #nim
19:29:19EXetoCMatthias247: right. user-definable `=` is currently missing
19:31:05AraqVarriount_: we're waiting for your installers
19:31:35Araqdymk: you can do varargs in Nim quite like you can do them in D.
19:32:50Matthias247I would probably go the other route and build an immutable array class. And rely on the GC for releasing the no-longer-used array versions
19:32:50gmpreussnerhow are private fields of an object supposed to be initialized? let's say i have an object Foo with a private field "bar: int". how does 'bar' get set in the constructor?
19:33:15gmpreussneri guess i need a special proc, like newFoo()
19:33:29Araqgmpreussner: that's what you should always provide
19:33:38gmpreussnerok
19:33:45dom96Would you guys agree with my comment? https://news.ycombinator.com/item?id=8811210
19:34:03EXetoC"So it does not work without the GC, it only "works": much like D"
19:34:49dom96Araq: Could you help this guy? https://news.ycombinator.com/item?id=8811207
19:34:52*nimnoob_ quit (Ping timeout: 240 seconds)
19:38:26*davidterry quit (Remote host closed the connection)
19:39:02*Jesin quit (Ping timeout: 245 seconds)
19:39:08def-dom96: wow, universities really like Julia
19:39:37dom96indeed
19:39:51def-that list is crazy for a language that young: http://julialang.org/teaching/
19:40:05Araqdom96: I replied
19:41:34dom96Araq: thanks
19:41:46dom96def-: I bet that the universities are sponsoring its development.
19:42:22gmpreussneri like that it doesn't have so many colons :)
19:42:22EXetoCbut is D less pleasant to use even with libs that also work well without GC?
19:43:12onionhammerooh nice
19:43:18onionhammeri definitely like the nim docs overhaul
19:43:25onionhammer(if only the rest of the site looked so clean! :))
19:44:14onionhammernone of the source links seem to work http://nim-lang.org/sockets.html
19:44:24dom96ouch https://news.ycombinator.com/item?id=8811378
19:44:44def-dom96: I'll post a few links
19:44:58EXetoChow ignorant
19:45:09*ARCADIVS quit (Quit: ARCADIVS)
19:45:39gmpreussnerAraq: http://docs.julialang.org/en/release-0.3/manual/arrays/ yum :)
19:47:11onionhammerlol what a troll
19:47:19EXetoCmore indentation!
19:47:26Matthias247afaik some Julia core developers are university employees
19:48:23ldleworkI think we should try to get a wikipedia article again
19:49:19EXetoCso, which secondary sources do we use?
19:50:04def-EXetoC: there's a nice list, probably not noteworthy for Wikipedia: https://news.ycombinator.com/item?id=8811132
19:50:29*BlaXpirit-UA joined #nim
19:51:15EXetoCjust wait for 1.0 then. it'll be released soon
19:51:41dom96ldlework: sure: https://en.wikipedia.org/wiki/Draft:Nimrod_%28programming_language%29
19:51:48dom96You can use that as a base.
19:52:03ldleworkdom96: I guess waiting until 1.0 is fine
19:52:08*Jesin joined #nim
19:53:22*BitPuffin quit (Ping timeout: 240 seconds)
19:53:25onionhammeris there any documentation on the importcpp stuff yet?
19:54:02*loz1 joined #nim
19:54:26dom96onionhammer: http://nim-lang.org/nimc.html#importcpp-pragma
19:54:49onionhammerthanks
19:55:12onionhammeroh
19:55:16onionhammeris that the new thing?
19:55:33onionhammerthat looks like what already existed
19:56:56onionhammer"The compiler now supports mixed Objective C / C++ / C code generation: The modules that use importCpp"
19:56:59dom96yeah, but now the compiler will generate cpp for modules that use it and .c for others
19:57:41onionhammerhmm...
19:57:45AraqJulia has a team of paid developers working on it, afaik
19:57:59onionhammeraraq when you going to give idetools some love?
19:58:02onionhammer:0
19:58:28EXetoCsoon after 1.0 IIRC
19:59:36onionhammerdom96 automatically when I "import somecppmodule"?
19:59:54Araqonionhammer: yes
19:59:57dom96Araq: Yep. That's what I'm writing on HN.
20:00:03onionhammercool coool
20:00:34*yglukhov__ quit (Quit: Be back later ...)
20:00:35onionhammerwhat hint, at a minimum, does the module need to give to be compiled with cpp?
20:00:44onionhammer{.importcpp.} ?
20:00:53Araqyes
20:01:07*Demos_ quit (Read error: Connection reset by peer)
20:01:15onionhammervery good
20:01:28*Demos_ joined #nim
20:02:04onionhammeri'd like to double back down on nimlime, but im not sure how much more i can do for it until idetools CaaS is fixed
20:02:13Araqgmpreussner: worth copying the arrays from Julia? ;-)
20:02:26ldleworkWhy don't we just figure out a way to monetize the support of Nim?
20:02:36ldleworkIs that conceptually unattainable?
20:02:51shodan45that, or {.enableselfawareness.} :)
20:02:59*nimnoob_ joined #nim
20:02:59*yglukhov__ joined #nim
20:04:01dom96ldlework: We should definitely discuss the best possible ways to do that.
20:04:10*BlaXpirit_UA joined #nim
20:04:14dom96I can't really think of any...
20:04:39ldleworkdom96: I am trying to encourage Araq to let me start to formulate a more substantial manifestation of secondary-project organization around Nim
20:05:02ldleworkThat would probably be one of the larger and more important agendas.
20:05:17*bjz quit (Ping timeout: 240 seconds)
20:05:26dom96I'm not entirely sure what you mean.
20:05:32dom96Elaborate please.
20:05:50ldleworkFormal organization of the maintainence of the project that extends beyond pull-requests
20:06:13gmpreussnerAraq: i don't like their syntax as much, but the general support for n-dimensional arrays is kinda like what we had discussed yesterday. all the rest of their features are in their function library, which we can also implement, of course.
20:06:16*yglukhov__ quit (Client Quit)
20:06:32*BlaXpirit quit (Ping timeout: 245 seconds)
20:06:36ldleworkOrganizing conferences, organizing and establishing copy for talks given at other conferences, maintainence of things unrelated to the code (like the website), financial venues, legal and so on
20:06:39ldleworkdom96: ^
20:06:52Araqldlework: encourage me to let you start? :D
20:06:58Araqstart right away
20:07:01*BlaXpirit-UA quit (Ping timeout: 255 seconds)
20:07:03dom96^^
20:07:17dom96I'm going to try and visit my local python gathering.
20:07:24ldleworkAraq: Totally fair. I was going to end that comment with "He's not opposed or anything, its just still ill-defined"
20:07:45dom96Tell everyone about Nim.
20:07:55ldleworkI already have that one in full motion :)
20:08:01*nimnoob_ quit (Ping timeout: 256 seconds)
20:08:11ldleworkI also wonder about using Nim to write Python extension
20:09:14def-ldlework: or just replace the need of having python + c/c++
20:09:36ldleworkdef-: you're ignoring all the people who use Python, have huge momentum and ecology behind Python and so on
20:09:56ldleworkWe need to stop thinking in terms of immigration and more in terms of migration.
20:10:30dom96We need to fix idetools
20:10:37dom96and get them working in every ide/text editor plugin
20:10:40dom96as well as Aporia
20:10:49dom96because that is a killer feature
20:10:51ldleworkI agree with your emphasis on that feature too
20:11:13ldleworkI too noticed the perking of ears when that was mentioned in the threads
20:11:38Araqgmpreussner: well the problem is Julia targets scientific programming where you have large matrixes and so it can fix a lot of design decisions
20:12:58Araqfor instance if it's a value type or a reference type or if storing the lengths at runtime is advisable
20:14:18*gour_ is now known as gour
20:15:22dom96Also I have to make sure that jester is fast
20:15:51def-dom96: I'd like to help with that if you need any help
20:15:56*irrequietus joined #nim
20:16:15def-(it's on my todo list to investigate how to make it faster)
20:16:46ldleworkdef-: contribute to nim by making a Runtime templating lib
20:16:52ldleworkcontribute to jester*
20:17:06dom96def-: Awesome! Definitely will want your help. You can start by benchmarking it if you wish.
20:17:12def-I prefer to optimize stuff
20:17:24def-dom96: using wrk or anything else?
20:17:25ldleworkdef-: hehe alright :)
20:17:29dom96You're on Linux I presume?
20:17:32dom96Yeah, wrk.
20:17:33def-Yes
20:17:43dom96I'm on Windows so we can both benchmark and see what we find out :)
20:18:28def-dom96: master branch?
20:19:42dom96yes
20:19:44EXetoCldlework: as in, a better runtime templating lib?
20:20:58ldleworkEXetoC: yeah
20:21:11EXetoCwhat are the limitations again?
20:21:17ldleworklimitations?
20:22:05EXetoCldlework: of the one defined in the compiler
20:22:30flaviucloning [liquid](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers) would be an excellent choice for the templating lib
20:22:32ldleworkThat's a runtime templating language suitable for generating HTML in a ginormous web-project?
20:23:00ldleworkflaviu: I prefer Jinja2 but they are similiar enough
20:23:09ldleworkAnd liquid is probably easier to implement
20:23:19flaviuldlework: The point of liquid is that it doesn't require eval()
20:23:37flaviuso its much less work, the compiler doesn't need to be ported to library
20:23:54ldleworkflaviu: I don't believe that jinja2 actually does eval anymore
20:24:00EXetoCldlework: you can compose templates
20:24:13ldleworkEXetoC: well I'd hope so
20:24:15EXetoCbut it's probably not as featureful as jinja2 for example
20:24:48*dts|pokeball joined #nim
20:25:05BlaXpirit_UAjinja2 is the best
20:25:10BlaXpirit_UA:|
20:25:13flaviujinja2 is really good.
20:25:13*BlaXpirit_UA quit (Quit: Quit Konversation)
20:25:15EXetoCldlework: there are 4 such libs added to nimble
20:25:31*BlaXpirit joined #nim
20:25:44flaviuYet none of them are very good.
20:26:17BlaXpiritwhat is going to be done about nim nimrod tags on stackoverflow?
20:26:31EXetoCflaviu: just bad design in general?
20:26:33flaviuBlaXpirit: Someone should make a post in meta
20:26:45BlaXpiriti could...
20:26:49EXetoCone is string based. that's not good enough obviously :p
20:26:52*Demon_Fox joined #nim
20:28:00BlaXpiritlol there are only 18 questions!?
20:28:11BlaXpiritsadness
20:28:36dom96I don't tend to frequent SO
20:29:03BlaXpiritwelp, a meta post may not even be needed -_-
20:29:40BlaXpiritand some crazy guy added both tags to every question -_-
20:30:14*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:30:22flaviuEXetoC: nim-templates uses macros, I'm not comfortable relying on it and I don't like the syntax anyway; I don't understand Jade at all; emerald is a dsl, not templating language; moustachu uses macros.
20:30:59Araqhrm "wbhart" is the guy for whom I changed pointer deref from ^ to [] iirc. and the same guy now blames me to not listen to our users?
20:31:30flaviuAraq: you can't make everyone happy
20:31:47BlaXpiritwell... actually... you can, by implementing configurable syntax xD
20:31:58EXetoCoh well. just reply and be done with it
20:32:05flaviuBlaXpirit: Configurable syntax would me me unhappy.
20:32:06BlaXpiritwell... i didn't account for the fact that most people would be disgusted by that then
20:32:21Araqwell I could be wrong, maybe I misremember
20:32:22*Ven joined #nim
20:32:25def-dom96: I don't understand what this should do?: echo("Jester is making jokes at http://localhost" & jes.settings.appName & ":" & $jes.settings.port)
20:32:38def-dom96: why should the appName be at that position?
20:33:10dom96Because if you set appName then all requests must begin with it.
20:33:23dom96oh.
20:33:26dom96I see what you mean.
20:33:30dom96That looks wrong indeed.
20:33:32def-then it should be after the port and a slash
20:33:40dom96indeed
20:33:43dom96I'll fix it.
20:34:14Araqdom96: can the compiler itself be a Nimble package?
20:34:56dom96I suppose.
20:35:13def-dom96: and if you open a website without the appName prefixed the program crashes
20:35:40dom96Araq: I wonder if we could have a separate repo for it which uses submodules
20:37:37*nimnoob_ joined #nim
20:37:48Araqflaviu: of course but still that's a special
20:37:59Araqguy
20:38:10dom96def-: Seems appName is completely broken.
20:38:18dom96def-: Nice find.
20:47:26onionhammerheh cool, this bluetooth keyboard works well with my phone ;)
20:58:16*perturbation joined #nim
21:02:04*Demon_Fox quit (Quit: Leaving)
21:02:05*eskatrem joined #nim
21:02:24eskatremHey, can I convert an integer into string in nim?
21:02:55def-eskatrem: var myString = $myInt
21:03:15eskatremdef-: thanks
21:03:17*superfunc joined #nim
21:04:27gokrInteresting - 79 people here now.
21:06:11eskatremHN effect? (that's what brought me here)
21:06:38gokrCould be :)
21:07:38gokreskatrem: Apart from other sources, you may find some of my articles useful: http://goran.krampe.se/category/nim
21:09:10*yglukhov__ joined #nim
21:09:36eskatremgokr: thanks, I am just doing some project Euler with Nim for now, if I like it I will try to write a program that generates fractals
21:10:06*loz1 quit (Ping timeout: 258 seconds)
21:11:33Araqeskatrem: don't make it generate 3d fractals... otherwise my productivity will instantly drop to zero. ;-)
21:11:50AraqI can't stop watching these ...
21:11:56flaviuLooks like the social media peak is over, just 33 people on the site now.
21:12:11eskatremAraq: naah, I dont know what those are, but I need nicve 2D fractals for something
21:12:53eskatremI wanted to ask, is nim used for something practical?
21:13:00gokrhehe
21:13:21gokrWe should make a list of nim programs out there.
21:13:30gokreh, we probably already have one
21:13:36dom96eskatrem: Nim forum is written in Nim.
21:13:52eskatrem"430 problems on Project Euler have been solved in Nim"
21:14:11eskatremdom96: that means it's possible to write simple web apps with it?
21:14:12dom96eskatrem: Many of Nim's tools are written in Nim too like Nimble (Nim's package manager)
21:14:30dom96eskatrem: I like to think you can write complicated ones too :)
21:14:38perturbationanyone used the tesseract OCR program? It has a nice C api and I'm thinking about wrapping it as a nimble package...
21:14:40perturbationhttp://code.google.com/p/tesseract-ocr/
21:15:03eskatremdom96: yeah well, writing something complicated in a new language is a bad combination IMHO
21:15:04gokreskatrem: The forum on the site is written fully in nim. Using async even.
21:15:54dom96eskatrem: perhaps.
21:20:06dts|pokeballeskatrem, thats the best way to prove that a language can be useful though
21:20:35eskatremdts|pokeball: I agree, I just speaking as someone who is just playing with it after having seen it on HN
21:20:49eskatrem*was just speaking
21:30:57*davidterry joined #nim
21:30:58*davidterry quit (Client Quit)
21:33:22*Varriount|Remote joined #nim
21:34:52dts|pokeballhey who had the ircd they wanted me to finish?
21:36:19*superfunc quit (Ping timeout: 265 seconds)
21:37:43EXetoCfowl?
21:38:10EXetoCI think. fowltek on github, if it's even there
21:38:38dts|pokeballi think its him too
21:39:48dts|pokeballthe dark web: http://www.reddit.com/r/fairiesridingcorgis
21:40:00*rpag joined #nim
21:40:05dts|pokeballthe darker web: http://www.reddit.com/r/corgisridingfairies
21:40:26*rpag quit (Remote host closed the connection)
21:40:37*Demos_ quit (Read error: Connection reset by peer)
21:40:40dts|pokeballooops
21:40:45dts|pokeballwrong channel "}
21:40:46dts|pokeball:}
21:40:58*Demos_ joined #nim
21:42:25ldleworkJulia's arrays do seem pretty nice
21:50:02samlhttps://github.com/nim-lang/Aporia how can I build this?
21:50:09samlbabel is gone?
21:50:57EXetoCsaml: babel -> nimble
21:53:29dts|pokeballi had trouble building aporia as well
21:53:52samldid you get it to compile?
21:54:06Varriount|Remotesaml: Are you on windows?
21:54:14samllinux
21:54:15samlubuntu
21:54:35Varriount|RemoteOk, then there's the chance that it might be possible.
21:55:06*vbtt joined #nim
21:55:07samlhttps://gist.github.com/saml/5d7b837e8181946fcb8c i get this
21:55:34dts|pokeballsaml, yes
21:55:38samlcompiled with `nim c aporia`
21:56:04dts|pokeballdont you compile with nimble build?
21:56:18dom96interesting
21:56:32samlFAILURE: Only one .nimble file should be present in /home/sam/.nimble/pkgs/gtk2-1.0
21:56:37EXetoCno syntax-defining macros eh? oh the primitiveness
21:56:39samlwhen i type `nimble build`
21:57:22dom96saml: Execute: ls /home/sam/.nimble/pkgs/gtk2-1.0
21:57:56samlmaybe i didn't properly migrate to nimble from babel
21:58:38dom96saml: perhaps. It's possible that Nimble screwed up.
21:58:51dom96The automatic migration isn't perfect.
21:59:01dom96Might be easier to just remove ~/.nimble
21:59:03EXetoCit fails like that if there's also a babel file
21:59:25samlbuild is successful
21:59:34samlnimble build builds aporia
21:59:36samlbut just can't start
22:00:18dts|pokeballthat was my issue
22:00:24*eskatrem quit (Remote host closed the connection)
22:00:24dts|pokeballsome weird gtk linking issues
22:00:26samland you didn't fix it yet?
22:00:30dts|pokeballnope
22:00:36dts|pokeballi gave up and went back to nano
22:00:46perturbationthe vim plugin is pretty nice
22:00:52dom96dts|pokeball: Why didn't you report it?
22:01:00samlcan vim go to definition of a function?
22:01:02gokrI have Aporia running fine under Ubuntu, though I don't remember how I built it
22:01:10dts|pokeballdom96, i assumed it was a user error
22:01:29dom96It shouldn't crash no matter what.
22:01:32dom96All crashes are bugs.
22:01:35dts|pokeballit didnt crash
22:01:46EXetoCdts|pokeball: you can work well with multiple files using nano?
22:01:58perturbationsaml: IIRC you can set it up with omnicomplete, but I personally don't use that feature
22:01:59dom96dts|pokeball: oh, so you mean you couldn't build it?
22:02:01dts|pokeballEXetoC, i only have the focus to work on one file at a time
22:02:09dts|pokeballdom96, it built, but it couldnt start
22:02:17samlshouldn't there be lexer for nim for vim?
22:02:18dom96Yeah, it crashed.
22:02:21dom96That's a crash.
22:02:31perturbationC-x C-o with syntax completion and inline compiler editors is the main 'killer feature' for the vim plugin for me
22:02:33dts|pokeballoh, i was not aware that constitued a crash
22:02:35dom96An uncaught exception *is* a crash.
22:02:37EXetoCsaml: there's nimrod.vim
22:02:38dts|pokeballmy bad
22:02:40perturbation*compile errors
22:02:45dts|pokeballdom96, ill replicate and report
22:02:52EXetoCsaml: https://github.com/zah/nimrod.vim.git
22:02:57dts|pokeballwheres the aporia repo again?
22:03:06samlwhen i build aporia, there are so many warnings
22:03:12dom96dts|pokeball: If it's the same issue as saml's then I am already trying to reproduce it.
22:03:12Varriount|RemoteAraq, dom96: I'm currently working on generating the installers.
22:03:17dom96Varriount|Remote: good
22:03:24dts|pokeballsaml, what is your issue?
22:03:39samlhttps://gist.github.com/saml/5d7b837e8181946fcb8c this is my issue. crash
22:03:41dom96Varriount|Remote: We're out of the spotlight by now though. Please automate this process.
22:04:04dts|pokeballdefinitly looks like my issue
22:04:47dom96Works for me on Windows.
22:05:01dom96Linux only perhaps.
22:05:43dom96Dear god. That's a lot of warnings.
22:05:59dts|pokeballsaml, you said your on ubuntu?
22:06:00Varriount|Remotedom96: Do you know if Nimble is being hosted on the website/server as an installer package?
22:06:01EXetoCdts|pokeball: I often feel the need to have at least one additional window whenever there's no semantic analysis
22:06:06samldts|pokeball, yes
22:06:16dom96Araq: aporia.nim(2276, 38) Warning: not GC-safe: 'false' [GcUnsafe] what?
22:06:33dom96Varriount|Remote: It's not.
22:06:34Araqdom96: what?
22:06:49Araqthat surely is a funny bug ...
22:06:56dts|pokeballEXetoC, i dont have the attention span for that. i do have the memory for when i need to reference another file though
22:06:57dom96Araq: It also prints the same warning multiple times.
22:06:58samldts|pokeball, try sudo apt-get install libgtksourceview2.0-dev before nimble build aporia
22:06:59EXetoCfalse positive, yeah? :p
22:07:00dom96Araq: Most certainly.
22:07:11samlnope that doesn't solve. sorry
22:07:13EXetoCor maybe bools are more advanced than I first thought
22:07:25dts|pokeballsaml, ok. ill try and build with you
22:07:31Varriount|RemoteAraq: Is the installer going to have the option to include nimble or not?
22:07:33dts|pokeballwheres the aporia repo?
22:07:43EXetoCdts|pokeball: you people and your good memories!
22:07:44samlhttps://github.com/nim-lang/Aporia
22:07:49dts|pokeballty
22:08:41AraqVarriount|Remote: it's not an option, just ship the .exe with it unconditionally
22:09:18Varriount|RemoteOk. dom96, do you have a 64 bit version of nimble on hand?
22:09:33dom96Varriount|Remote: just ship 32bit
22:10:16dom96saml: I'm going to launch a VM and test it on Ubuntu that way.
22:10:17Varriount|Remotedom96: Uh.. and what will happen when people who use a 64 bit compiler try to update nimble?
22:10:39samlDISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS" i'm on
22:10:46Varriount|RemoteWon't the dll's included with it not work, because the new binary will be 64 bit?
22:10:49samldts|pokeball, what does cat /etc/lsb-release say?
22:10:50dom96Varriount|Remote: Then they will get a 64bit version?
22:10:59dom96Varriount|Remote: Yeah, probably.
22:11:08dom96Varriount|Remote: Build a 64bit version then. I don't have the env for that.
22:11:29dts|pokeballsaml, sec
22:12:13dts|pokeballsaml, http://paste.ubuntu.com/9642639/
22:15:03dts|pokeballok, so just ran nimble build and it was successful
22:15:24dts|pokeballnow to run, i just run ./aporia right?
22:17:52dts|pokeballodd
22:17:58dts|pokeballit just decided to work for me now
22:19:19*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
22:20:59samlhttps://gist.github.com/saml/5d7b837e8181946fcb8c
22:21:56dom96https://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110
22:21:57samlhttps://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110 it's complaining about this?
22:22:00dom96Not sure why that would crash
22:22:05dom96indeed
22:22:13samlmaybe my computer. dts|pokeball congrats
22:22:40dts|pokeballsaml, is your nim up to daqte
22:22:42dts|pokeball?
22:22:50samli'm using master
22:22:59dts|pokeballno
22:23:00*perturbation quit (Quit: Leaving)
22:23:01dts|pokeballyou want devel
22:23:10samloh
22:23:52dom96at this point it doesn't matter
22:23:52dts|pokeballas it states in the readme, you want devel, because aporia depends on bug fixes that arent neccesarily in master yet
22:23:55dom96devel and master are the same
22:24:06dom96master gets updated when we have a release
22:24:28dts|pokeballi was not aware there was a release
22:24:35dts|pokeballapparently im behind then
22:24:46samllet me restart my computer
22:25:07*saml quit (Quit: Leaving)
22:25:25dts|pokeballjerk. he didnt have to leave irc while restarting@
22:25:27dts|pokeball*!
22:25:43*Durz0 quit (Remote host closed the connection)
22:25:53ekarlso-what's wrong with Release(version: "foo", uri: "http://github.com/ekarlso/foo", `method`: "git") ?
22:26:10dom96ekarlso-: are you getting an error?
22:26:19ekarlso-packages.nim(17, 19) Error: named expression expected
22:26:25ekarlso-that's the line
22:26:39dom96probably the `method``
22:26:41dts|pokeballlater guys. gf is over
22:26:47*saml joined #nim
22:26:50dom96I'm telling you: rename it.
22:27:16ekarlso-dom96: but what to call it :[
22:27:21ekarlso-trying to mimick packages.json
22:27:39dom96downMethod
22:27:50dom96You don't have to match the JSON fields.
22:28:00ekarlso-why not ? :p
22:28:36dom96because you get errors
22:29:06ekarlso-but doesn't nimble require "method"?
22:30:21dom96it does.
22:30:31ekarlso-then how ? :d
22:30:31dom96You should translate to JSON using the json module.
22:30:41dom96You can't use the marshal module for this.
22:30:53ekarlso-how does one do that ?
22:31:20Araqekarlso-: report it anyway, `method`: x should compile
22:31:22*dts|pokeball quit (Ping timeout: 258 seconds)
22:31:45dom96import json; echo(%{"method": %"git"})
22:32:30dom96saml: I can reproduce it.
22:32:32flaviu.eval discard {`method` : 1}
22:32:36Mimbusflaviu: eval.nim(3, 9) Error: undeclared identifier: 'method'
22:32:48flaviu.eval let `method` = 0;discard {`method` : 1}
22:32:49samldom96, what was the problem?
22:32:52Mimbusflaviu: <no output>
22:32:59dom96saml: No idea yet.
22:33:05samli didin't restart computer yet :P
22:33:17EXetoC.eval
22:33:19samlso i guess restart won't fix
22:33:21MimbusEXetoC: <no output>
22:34:02Araqflaviu: that is not a tuple constructor though
22:34:46flaviuI see, I didn't notice the context.
22:35:13ekarlso-what is the discard thing ?
22:35:25Araq.eval discard (`method`: 1)
22:35:28MimbusAraq: eval.nim(3, 17) Error: illformed AST: `method`: 1
22:35:41Araqthere we go ... lol
22:36:22samlis there theindex.html that contains all libraries?
22:36:44samlnot sure what these are: listStoreNew TypeString
22:37:03flaviuekarlso-: You can't just ignore the result of an expression, that's an error.
22:37:14flaviu.eval "foo"
22:37:15EXetoCsaml: a proc call perhaps, with an alternative syntax
22:37:17Mimbusflaviu: eval.nim(3, 0) Error: value of type 'string' has to be discarded
22:37:20flaviusee?
22:37:35EXetoC.eval proc p(x: int) = discard; p(1); p 1
22:37:38MimbusEXetoC: eval.nim(5, 2) Error: invalid indentation
22:37:42EXetoC.eval proc p(x: int) = discard;p(1);p 1
22:37:44ekarlso-Araq: Release(version: "foo", uri: "http://github.com/ekarlso/foo", `method`: "git")
22:37:45MimbusEXetoC: <no output>
22:37:50ekarlso-ehm: https://github.com/Araq/Nim/issues/1791
22:37:52ekarlso-reported
22:38:24EXetoCis that your best photo?
22:38:36*jefus_ joined #nim
22:38:47fowllol
22:39:19ekarlso-what does a photo have to do with a bugreport ? :p
22:39:38EXetoCno idea
22:39:54ldleworkhaha, that is a funny photo tho
22:39:54samlSIGSEGV: Illegal storage access. (Try to compile with -d:useSysAssert -d:useGcAssert for details.); what do I need to compile with those options?
22:39:56samlnim itself?
22:40:30ekarlso-ldlework: that's how it goes when you go biking country side after farmers have been out with furtilizers :P
22:40:34fowlsaml, did the compiler crash or did your program
22:40:42samlmy program
22:40:47samlso my program
22:40:47ldleworkekarlso-: hehe
22:40:59fowlsaml, recompile with -d:debug, you'll get a stack trace
22:41:03samlor libraries my program links to
22:41:42Araqremind me to check out what -d:debug is
22:41:48dom96ekarlso-: That's a brilliant picture!
22:41:54*jefus quit (Ping timeout: 245 seconds)
22:42:23Araqekarlso-: thanks for the bug report
22:42:40ldleworkAraq: you're not sure what -d:debug does?
22:42:48fowlAraq, ?
22:43:30fowlis it changed to Debug or something?
22:44:05ldleworkAraq: dom96 I'm going to be speaking with some of the Python project leaders soon
22:44:14ldleworkIs there sorts of things you like to know about
22:44:15AraqI never use it, fowl
22:44:22ldleworkOr things I should seek general advice regarding?
22:44:26ldleworkPlease give this some thought
22:44:38*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:44:42dom96ldlework: Ask them about the best way to get funding.
22:44:49dom96Perhaps.
22:44:51AraqI get stack traces when I leave out the -d:release
22:44:59ekarlso-Araq: suggestions on how to work around it ? :p
22:45:11ldleworkdom96: I will definitely be asking about financial stability
22:45:41Varriount|RemoteAraq: How... installed should babel be with regards to the Nim installer.
22:45:56flaviuVarriount|Remote: *Nimble
22:45:58Araqput it in bin/
22:46:15Araqnot sure I understood your question
22:46:43Varriount|RemoteAraq: But that's not where the babel distribution on github places it. And I don't know if that will work with 'babel install babel'
22:46:54*ldlework shakes Varriount|Remote
22:46:57Varriount|RemoteSorry, 'nimble'
22:47:00ldleworklol
22:47:16*dts|pokeball joined #nim
22:47:22Varriount|Remoteldlework: I have had less than 5 hours of sleep, and had to clean out a kennel full of poop today. Again.
22:47:52Varriount|RemoteMy brain is not running at its best.
22:48:03fowlvarr just put babel in with it and have it install itself (and keep the copy that came with the compiler out of $PATH)
22:48:05ldleworkVarriount|Remote: here's to hoping you get to relax soon
22:48:38AraqVarriount|Remote: please consider to give us the installers now, and later new ones that include nimble
22:48:46Varriount|RemoteOk. Will do.
22:48:53Araqso that we something for the release day
22:49:59*BitPuffin joined #nim
22:50:05samldom96, when i comment out https://github.com/nim-lang/Aporia/blob/master/aporia.nim#L2110-L2113 and recompile, it runs without crashing
22:50:24dom96saml: Yes, but then the error list won't work.
22:51:07samlwhat's error list?
22:51:24saml var listStore = listStoreNew(5, TypeString, TypeString, TypeString, ...) this works as well. 5 instead of 6
22:51:35dom96saml: press ctrl + shift + b
22:52:12Araqdom96: saml's point is a good one. forgot some sentinel?
22:52:19samlso it has 5 columns: File, Line, Colum, Type, Description
22:52:35samlshould there be 6 columns?
22:53:16dom96Araq: Not according to the GTK docs: https://developer.gnome.org/gtk2/stable/GtkListStore.html#gtk-list-store-new
22:53:55dom96saml: There is also color
22:54:17*BitPuffin quit (Ping timeout: 240 seconds)
22:54:29Araqdom96: then it's another varargs bug
22:54:51dom96Araq: yay
22:55:06samlweird that it works for dts|pokeball
22:55:22samlwhat was keyboard shortcut for Go to Definition in aporia?
22:55:39Araqdom96: cast the consts to cint and it'll work
22:55:49Araqor make these consts cint instead
22:58:44Araqhrm wait a sec
22:58:51Araqthese are GType's
22:59:00Araqno idea what this resolves to
22:59:49saml/home/sam/code/Nim/bin/nim idetools --path:/tmp/ --track:/home/sam/code/Aporia/aporia.nim,2081,8 --def /home/sam/code/Aporia/aporia.nim
22:59:59samlthis is what aporia executes when I Go to definition
23:00:05samlis --path:/tmp/ wrong?
23:01:36dom96Go to definition has been broken for a while unfortunately.
23:01:44samloh i see
23:01:55dom96Araq: It's Dl_183673(((int) 6), 64, 64, 64, 64, 64, 64); in the C code.
23:02:53*z1y joined #nim
23:03:16Araqdom96: that doesn't look too bad. hrm
23:03:43Araqbut maybe it should be (long long)64 ?
23:17:04*zahary1 joined #nim
23:21:03Varriount|RemoteAraq: What's the 32bit mingw download url again?
23:26:19*BlaXpirit quit (Quit: Quit Konversation)
23:34:16Araqhttp://nim-lang.org/download/mingw32.zip
23:34:20Araqhttp://nim-lang.org/download/mingw64.zip
23:34:47Araqbut it bothers me that you have to ask, this is all automated
23:35:04Araqisn't it?
23:39:21EXetoCgood style update for the documentation
23:40:05Araqyeah I'll add some special note for the guy who made it
23:44:00Varriount|RemoteAraq: Here's the 32 bit installer
23:44:04Varriount|Remotehttps://drive.google.com/file/d/0B077nrrf63xtUWZYMjZySExKZkE/view?usp=sharing
23:44:19Varriount|RemoteAraq: Well, sorta
23:44:47Varriount|RemoteThe ini file still needs a 'version' variable and a 'mingw' variable, provided by the invoker of niminst
23:45:52EXetoCbut you forgot the sticky elements and the 3d transforms
23:46:19*Varriount|Remote slaps EXetoC with a 2.5 dimensional fish
23:46:21AraqVarriount|Remote: koch knows how to do that
23:46:46Araqwell for the 32 bit version, that is
23:47:23ldleworkSo I just had a short discussion with a financial advisor from the PSF
23:47:58ldleworkWe're going to have lunch in SF the second week of January
23:48:18ldleworkBut basically he told me the very first thing we need to do is find a friendly lawyer
23:48:32ldleworkAnd begin work on establishing a 501c3
23:48:51Araqldlework: what's a 501c3 ?
23:48:53ldleworkAnd that in starting down that path
23:48:58jsudlowits a non for profit org
23:49:06ldleworkI will have many more questions for him by the time we meet for lunch
23:49:23Varriount|RemoteAraq: Wait, disregard that download link. I forgot the dlls
23:49:27Araqhi jsudlow welcome :-)
23:49:46ldleworkhttp://en.wikipedia.org/wiki/501(c)_organization
23:49:49AraqVarriount|Remote: look at the koch.nim please it's likely you also forgot the debug version of the compiler etc.
23:50:02Varriount|RemoteAraq: Nope, didn't forget that.
23:50:24Araqand automate it completely
23:50:50jsudlowAraq: thank you :) ldlework told me about nim and I have been messing with it. Its pretty cool. Not sure how everythign works but the speed is intense
23:51:44ldleworkI unfortunately don't know any lawyers
23:52:15ldleworkThe only lawyer I have even a semblance of a relationship with is Marhsal from How I Met Your Mother and he's entirely fictional
23:53:12jsudloware you trying to set up a company around nim? the 501c3's can be tricky bc they need to be audited every year so you need to have a competent accounting staff lined up too.
23:53:19flaviuldlework: keep in mind that Araq is in germany.
23:53:36ldleworkflaviu: I haven't forgetten. But I don't really know what to think about regarding that.
23:54:28ldleworkBasically the guy from the PSF told me that we need a lawyer because there's no way mere mortals can penetrate the paperwork for a 501c3
23:54:38ldlework(he has personally tried)
23:54:54ldleworkAlso
23:55:08ldleworkHe said that he noticed that we have started to go publically recently (he saw our HN activity)
23:55:41ldleworkHe told me that our absolute first priorty before thinking about how to hire developers and so on is to establish trademark and copyright authority over anything we might even potentially want to control someday
23:55:49ldlework"Own all of it. Yesterday."
23:56:17ldleworkBut that that depends on the establishment of a 501c3
23:56:28flaviuCan't an individual own a trademark?
23:56:54ldleworkflaviu: but then it is that individual that needs to fight all the courtcases and do the correspondence
23:56:56Araqldlework: I know a couple of lawyers.
23:57:06ldleworkcorrespondence that will be used as ownership evidence later
23:57:18ldleworkand then the complication for when Nim actually does establish a corporation
23:57:22ldleworkThe corporation will want to own it
23:57:31flaviuldlework: Can't the corporation buy it from the owner?
23:57:32ldleworkAnd that doesn't establish copyright
23:57:56ldleworkflaviu: Yes but all you're doing is complicating legal matters down the line in order to avoid touching the yaks
23:58:03ldleworkHere I am. Willing to organize the Yak shaving.
23:58:13flaviuWhile lawyering up, CLAs are a good idea too.
23:58:23ldleworkLet's not go to that place that we often go, in saying "isn't this least good solution good enough for now"
23:58:45ldleworkflaviu: writing that down
23:59:06flaviuldlework: The hard work is tracking down all previous contributors
23:59:31ldleworkYeah I have a feeling there's going to be a lot of hard work