<< 31-05-2016 >>

00:04:49*ics quit (Quit: Connection closed for inactivity)
00:41:49*Sembei quit (Ping timeout: 258 seconds)
01:25:38*LowLifePerv joined #nim
01:37:14*cnu- joined #nim
02:08:12*Guest46028 quit (Remote host closed the connection)
02:08:20*kulelu88 quit (Quit: Leaving)
02:10:18*LowLifePerv quit (Quit: thinking about getting a znc)
02:24:20*Heartmender joined #nim
02:24:41*Heartmender is now known as Guest64494
02:43:21tautologicohere's my quick and dirty hack to get the AST: https://gist.github.com/tautologico/fe9d0073c680f3353271ba1fe4a01dbe :0
02:45:14tautologicoluckily the nim compiler itself builds quickly
03:21:23*|meta quit (Quit: Connection closed for inactivity)
03:49:48*Jesin joined #nim
04:17:52*GangstaCat quit (Ping timeout: 264 seconds)
04:36:50*GangstaCat joined #nim
04:44:18*reactormonk quit (Quit: WeeChat 1.4)
04:48:11*vegansk quit (Remote host closed the connection)
04:50:05*Demon_Fox quit (Quit: Leaving)
05:17:43*endragor joined #nim
05:29:40*dmitry_p joined #nim
05:30:03*gokr joined #nim
06:14:38*dmitry_p quit (Quit: Leaving)
06:19:41*endragor_ joined #nim
06:19:50*Trustable joined #nim
06:23:31*endragor quit (Ping timeout: 252 seconds)
06:25:02*filcuc joined #nim
06:36:12*Matthias247 joined #nim
06:51:39*endragor_ quit (Remote host closed the connection)
06:58:05*Matthias247 quit (Read error: Connection reset by peer)
07:03:33*endragor joined #nim
07:11:22*Arrrr joined #nim
07:14:24*endragor quit (Remote host closed the connection)
07:16:08fowlnimble fails to do anything nimblepkg/options.nim(7, 17) Error: cannot open 'nimblepkg/config' i'll try again in 6 months
07:18:58*reactormonk joined #nim
07:22:07*vegansk joined #nim
07:24:29Araqfowl: nah, I am fixing it already
07:37:52*endragor joined #nim
08:03:56Araqfowl: try again.
08:19:22cheatfateAraq, i think this path changes will cause more problems in future...
08:20:11Araqwell its purpose is to fix problems
08:20:29Araqit makes much more sense now and works like it should work, IMO.
08:20:50cheatfateit looks like it fixed problem of one but becomes problems for many
08:21:04Araqwe could enable it under a --strictPaths to give people more time to upgrade
08:21:48AraqI'm waiting on problem reports before deciding on a migration path
08:21:59cheatfatei liked old behavior because i can copy some lib files to local dir and i know that compiler will use them
08:23:04cheatfateand because of stdlib is not very reliable, you can always make patches in local directory and use them
08:23:12cheatfatewithout any problems
08:24:14cheatfatemaybe this because i'm mostly windows programmer... and this is like windows do with it dlls
08:27:47Araqthis stdlib patching needs an explicit feature
08:28:37Araqwell actually it doesn't, all you need to do is to patch your config
08:30:15ArrrrAraq, why do you hate absolute imports? It makes moving modules easier.
08:30:18*xet7 joined #nim
08:30:30Araqwhat?!
08:30:37Araqit makes moving modules impossible.
08:30:52Araqeverything needs to be relative.
08:33:50Araqbtw import "$lib/pure/strutils" should work now, paths now know about $stuff
08:35:07ArrrrNo, if A imports thre modules from stuff from ../* and it is moved to ../../a/b/c, i have to update the imports
08:35:17Arrrrwith absolute paths that would not happen
08:35:23ArrrrCan i define my own $paths?
08:35:31Araqlol no
08:35:55ArrrrSee? you hate it
08:35:55Araqyour definition of "absolute" is weird :P
08:36:10Araqexplain to me what you mean please
08:36:24Araqabsolute path is "/Users/araq/..."
08:36:49ArrrrYeah, absolute path relatives to main
08:37:11Araqfor a library there can be many 'main's
08:37:37Araqit can only be relative to itself
08:38:06ArrrrNimble does it
08:43:33Araqnimble does what?
08:45:05ArrrrWhen you install a package in nimble and import it, you do it relative to the nimble project root.
08:45:16ArrrrAnd it is a joy not having '../../'
08:52:24AraqI don't think I changed this behaviour.
08:56:46ArrrrNo, you don't, but being able to work like would improve readability and refactoring.
08:59:12Araqis --path:"$projectDir" really that cumbersome to add to your config?
09:00:09ArrrrNope, i just didn't know it was possible. Thanks!
09:03:55*Sembei joined #nim
09:05:03ArrrrYes ... works like a charm. I don't know how did i miss that before
09:06:11ArrrrCan i relay on it? would be funny if it dissapears
09:07:17Araqwell it used to be named $projectPath, so if you want to compatible with older Nims use that, but yes it's here to stay.
09:07:54Araqbbl
09:11:37*der-landgraf quit (Quit: WeeChat 1.5)
09:12:28*gokr quit (Ping timeout: 264 seconds)
09:20:54*gokr joined #nim
09:28:22*shodan45 quit (Quit: Konversation terminated!)
09:51:45*gokr quit (Ping timeout: 260 seconds)
09:59:12*gokr joined #nim
10:36:47*dmitry_p joined #nim
11:05:21*gokr quit (Ping timeout: 240 seconds)
11:11:22*yglukhov joined #nim
11:12:46yglukhovAraq: can i override clang extension in nim cfg? I'm doing --clang.exe=emcc --clang.linkerexe=emcc, and on windows nim tries to append .exe to those, but emcc should actually be .bat
11:24:44*gokr joined #nim
11:34:05cheatfateits not a good idea to add ".exe"
11:37:16gokrAraq: I was reading a bit about swift yesterday - seems pretty darn close to Nim
11:40:30flyxgokr: afaik it doesn't have any metaprogramming facilities
11:40:58gokrflyx: No, I agree - there are clearly differences. But... a lot of checkboxes are the same.
11:45:12*nsf quit (Quit: WeeChat 1.4)
11:49:38cheatfatedom96, could you please accept PRs to asyncdispatch only if it threadsafe, because there will be so many work adopting this PR's in future...
11:57:03Araqyglukhov: try --clang.linkerexe="emcc.bat" then
12:00:57*dmitry_p quit (Remote host closed the connection)
12:15:44yglukhovAraq: it works, thanks!
12:46:38yglukhovAraq: now another question. emcc command line length exceeds windows limitation of 8191. surely nim has to do smth about it
13:00:00yglukhovAraq: nevermind, this looks like emcc problem
13:24:23*saml_ quit (Remote host closed the connection)
13:27:47*saml joined #nim
13:43:30yglukhovAraq: mind if i export random from math, since a lot of stuff is broken?
13:47:03Araqyeah, that would add the 'times' dependency back that we want to get rid of.
13:53:19yglukhovok, how about adding a deprecated `random` function back to math for a couple of months?
13:53:57yglukhovor at least a couple of days? =)
14:03:31Araqok.
14:35:55arnetheduckAraq, in system.nim, it's not possible to import stuff, right?
14:38:44reactormonkarnetheduck, I wouldn't.
14:41:04arnetheduckI'm trying to figure out a sensible way to deal with symbols from libc and at the same time avoid duplication.. the fact that for example os.nim *includes* some stuff from system/ strikes me as.. not ideal
14:55:13*brson joined #nim
14:56:15*pregressive joined #nim
15:01:36Araqsystem.nim can import modules if you're careful, but it's not officially supported, whatever that means
15:13:19arnetheduckI'm looking at ansi_c for example.. for nlvm to work, I'd have to remove all the {.header.} things there and replace them with platform-specific declarations - that would possibly be a loss for the c backend though, because it would no longer consider attributes that are in the header file that nim cannot generate
15:14:57arnetheduckso.. will you take patches that do that? another downside is that if system.nim declares say.. memcpy and somewhere else, .header is used, things will be.. funny. specially because there are often mismatches between the nim declaration and the c declaration
15:19:33arnetheduck(attributes like restrict, pure, const, etc)
15:36:14tautologicowhat's the issue with random?
15:37:33Araqarnetheduck: told you I will accept patches but I also have a better idea of how to deal with this (autoconf like magic in the compiler...)
15:38:44cheatfateautoconf magic in compiler is what everybody will like :)
15:40:33arnetheduckhow would that work?
15:45:22*endragor quit (Remote host closed the connection)
15:46:16Araqarnetheduck: it compiles small C programs to determine the values and caches them
15:46:25cheatfatehmm i think it can be `rules` in config file
15:52:47arnetheduckthat works for #defines, but how would it work for proc's and global vars like.. stdin?
15:53:07cheatfateAraq, i think it can be one big c program for each OS/arch which returns list of supported features
15:54:08cheatfatein json format or whatever
16:03:53arnetheduckcheatfate, it would be nice if the feature was reusable for wrapping any c libs, which kind of rules out the one-big-file approach
16:04:26*pregressive quit (Remote host closed the connection)
16:09:18*PMunch joined #nim
16:14:19*arnetheduck quit (Ping timeout: 260 seconds)
16:17:20*gtrundle joined #nim
16:18:03*filcuc quit (Read error: Connection reset by peer)
16:21:03gtrundleSo, I was creating an enum in a macro, and I created a few members that weren't really identifiers. (ex: "tk+"). It compiles fine, and I found I can actually references those oddball enum values in the code using back ticks (`tk+`).
16:21:37gtrundleI've never used the backtick quoting outside of operator definitions. Is this a horrible misuse of the quotes?
16:26:48flyxgtrundle: if that name is important to distinguish the value from other values, it's not inherently wrong to use it. it's just very inconvenient if part of a public API.
16:29:35gtrundleInteresting. I probably won't make use of it, but it was a nice surprise that the ` quote was more general than I thought.
16:32:41*yglukhov quit (Ping timeout: 240 seconds)
16:35:11*nsf joined #nim
16:42:35*pregressive joined #nim
16:55:14*pregress_ joined #nim
16:55:56*pregressive quit (Read error: Connection reset by peer)
17:18:29*desophos joined #nim
17:22:13*yglukhov joined #nim
17:36:25*Sembei quit (Read error: Connection reset by peer)
17:39:56*Sembei joined #nim
17:43:36*Demon_Fox joined #nim
17:56:30*yglukhov quit (Remote host closed the connection)
18:02:27*yglukhov joined #nim
18:33:39*Salewski joined #nim
18:34:26*TheLemonMan joined #nim
18:35:18SalewskiHow do we make long multiline string constants which contain escape sequences like "\n"? Is it this way:
18:35:22Salewskiconst
18:35:27Salewski str = "GtkLabel {background-color: blue;\n}\n" &
18:35:44Salewski "#TestWidget {color: #ffffff;\n}\n" &
18:36:04Salewski "#TestWidget {font-size: 18px ;\n}\n"
18:36:17ldleworkerpretty
18:37:33Araqyes
18:39:10SalewskiOK, thanks.
18:39:19*Salewski quit ()
18:39:55J3RNWhat about string literals with """?
18:41:35J3RNI guess you can't include character escapes in those
18:48:58*ics joined #nim
18:52:06Araqindeed
19:20:05*Jesin quit (Quit: Leaving)
19:23:20*|meta joined #nim
19:28:03*Sembei quit (Ping timeout: 258 seconds)
19:28:17ArrrrGood night nim
19:28:19*Arrrr quit (Quit: WeeChat 1.4)
19:31:45*filcuc joined #nim
19:32:02*Jesin joined #nim
19:32:55*brson quit (Quit: leaving)
19:34:19*brson joined #nim
19:41:00*Matthias247 joined #nim
19:53:29*flyx is playing with typedesc stuff: https://gist.github.com/flyx/a8275c11e6f8dd97a168535bc23f9ba1
19:53:52flyxtwo questions here: 1. why do I need to getType(getType(t)[1]) ?
19:54:23flyx2. in the output, why are the types of the symbols all missing?
19:54:43*fastrom joined #nim
19:57:25*brson_ joined #nim
20:01:42*brson quit (Ping timeout: 272 seconds)
20:19:08Araqflyx: 2. because otherwise you would get a possibly infinite tree
20:19:30Araqwe map types which are cyclic graphs to trees
20:19:40*brson_ quit (Quit: leaving)
20:19:48*brson joined #nim
20:19:48Araqbecause it's easier to work with them this way (trust me...)
20:20:13AraqgetType() is really for people who know what they are doing ;-)
20:20:42flyxah well I guess I should learn what I'm doing then
20:20:59Araqbtw in nim devel there are also new getType() ops which are easier to handle
20:21:12Araqthat I need to study too :-) (didn't write it)
20:21:17flyxah nice, I'll check it out tomorrow
20:26:38Araqcheatfate: any reason why you couldn't piggyback the new toHex into the old toHex?
20:27:04Araqwith something like 'len = -1' ?
20:33:39cheatfateAraq, i dont understand you... you dont like it? ok i will remove it
20:33:52AraqI do like it.
20:34:10Araqbut I wonder if we can optimize code size for it
20:38:40*kulelu88 joined #nim
20:38:53*kulelu88 quit (Changing host)
20:38:53*kulelu88 joined #nim
20:42:50Araqbtw here is a list of things todo which you seem to enjoy a lot: https://github.com/nim-lang/Nim/labels/OS%2FArch%20specific
20:42:58Araqno offense implied.
20:44:08Araqnow ... who volunteers to give us a new website?
20:45:13tautologicomaybe kidnap a designer and make her/him make a new website layout
20:45:37cheatfateAraq, i'm not made toHex() for PR, i'm using it everywhere just because i dont understand `length` parameter... so i make PR to share it
20:47:20Araqtautologico: I like https://ocaml.org/ 's design. Hopefully boring enough for v1.
20:50:11tautologicoAraq: yes, much better than INRIA's official site
20:57:28cheatfateAraq, looks like you are in bad humor... i have closed pr
20:59:21*pregressive joined #nim
20:59:31Araqseriously.
20:59:53AraqI love your work for Nim.
20:59:56*pregress_ quit (Read error: Connection reset by peer)
20:59:59AraqI love your PRs.
21:00:20AraqI don't make jokes about them.
21:01:03*Araq reopened the PR.
21:02:45cheatfateyou want me optimize your toHex to have length optional?
21:03:40Araqyes, optional. default value is -1 to mean "use how many you need"
21:04:45cheatfateok
21:06:48TheLemonMancan't you use __builtind_clz when available ?
21:08:54ldleworkerAraq: does it have to be implemented in Nim, using Nim-implemented field tools, etc?
21:09:47Araqldleworker: no, but I like static web pages for static information.
21:11:09Araqbut I guess the days where the web was usable without Javascript are long gone...
21:12:49Araqso meh, just use what you think is best. (but no JVM deps! muhahaha)
21:15:54zodiakI don't mind pages with JS, I +do+ mind pages that load like 17mb of it though :)
21:16:13zodiakthat sh**e is cancer
21:17:46gmpreussneri prefer to use javascript only for non-essential parts of a site
21:17:57gmpreussnerso if people turn off javascript, the site still works
21:17:58cheatfatezodiak, only if frameworks are used with pure vanilla js it will be fast
21:18:30gmpreussnerthese days, a lot of websites are developed like web applications, which they are not
21:18:58gmpreussnerit's almost like you can't build sites without the LatestPieceOfCrap.js framework
21:20:02cheatfategmpreussner, this is because of $$$ which causes "less time and more features"
21:20:56cheatfatethis why i think we are martians... :)
21:31:48fowlthe best websites use html 4 and only enough css to declare color:white; background:black
21:32:27fowlAraq, thanks for fixing nimble
21:33:13*desophos quit (Remote host closed the connection)
21:35:42*desophos joined #nim
21:45:50*Trustable quit (Remote host closed the connection)
21:51:03*pregressive quit (Remote host closed the connection)
21:55:33*gtrundle quit (Remote host closed the connection)
22:01:28*enquora joined #nim
22:05:29*der-landgraf joined #nim
22:05:43*enquora quit (Remote host closed the connection)
22:08:02*filcuc quit (Read error: Connection reset by peer)
22:09:03*desophos quit (Remote host closed the connection)
22:14:11gmpreussnercheatfate, don't need CSS for that ;)
22:19:51*yglukhov quit (Remote host closed the connection)
22:22:14*TheLemonMan quit (Quit: "It's now safe to turn off your computer.")
22:33:50ldleworkergmpreussner: to be fair, the js frameworks are getting pretty good
22:34:06ldleworkerand they're reflective of a good deal of theoretical work
22:35:09ldleworkerthe situtation we're in now, is what happens when the thinking in the field (front-end dev) goes farrrrrr beyond the speed of the underlying standards
22:42:25*yglukhov joined #nim
22:47:15*yglukhov quit (Ping timeout: 276 seconds)
22:48:29cheatfateldleworker, pretty good only small one... just because there no overhead code for usability
22:48:52ldleworkercheatfate: what?
22:49:55cheatfateldleworker, nm
23:08:49*fastrom quit (Quit: Leaving.)
23:14:43*yglukhov joined #nim
23:18:00*Matthias247 quit (Read error: Connection reset by peer)
23:19:18*yglukhov quit (Ping timeout: 272 seconds)
23:40:40*yglukhov joined #nim
23:45:03*yglukhov quit (Ping timeout: 240 seconds)