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:21 | tautologico | here's my quick and dirty hack to get the AST: https://gist.github.com/tautologico/fe9d0073c680f3353271ba1fe4a01dbe :0 |
02:45:14 | tautologico | luckily 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:08 | fowl | nimble 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:29 | Araq | fowl: nah, I am fixing it already |
07:37:52 | * | endragor joined #nim |
08:03:56 | Araq | fowl: try again. |
08:19:22 | cheatfate | Araq, i think this path changes will cause more problems in future... |
08:20:11 | Araq | well its purpose is to fix problems |
08:20:29 | Araq | it makes much more sense now and works like it should work, IMO. |
08:20:50 | cheatfate | it looks like it fixed problem of one but becomes problems for many |
08:21:04 | Araq | we could enable it under a --strictPaths to give people more time to upgrade |
08:21:48 | Araq | I'm waiting on problem reports before deciding on a migration path |
08:21:59 | cheatfate | i liked old behavior because i can copy some lib files to local dir and i know that compiler will use them |
08:23:04 | cheatfate | and because of stdlib is not very reliable, you can always make patches in local directory and use them |
08:23:12 | cheatfate | without any problems |
08:24:14 | cheatfate | maybe this because i'm mostly windows programmer... and this is like windows do with it dlls |
08:27:47 | Araq | this stdlib patching needs an explicit feature |
08:28:37 | Araq | well actually it doesn't, all you need to do is to patch your config |
08:30:15 | Arrrr | Araq, why do you hate absolute imports? It makes moving modules easier. |
08:30:18 | * | xet7 joined #nim |
08:30:30 | Araq | what?! |
08:30:37 | Araq | it makes moving modules impossible. |
08:30:52 | Araq | everything needs to be relative. |
08:33:50 | Araq | btw import "$lib/pure/strutils" should work now, paths now know about $stuff |
08:35:07 | Arrrr | No, if A imports thre modules from stuff from ../* and it is moved to ../../a/b/c, i have to update the imports |
08:35:17 | Arrrr | with absolute paths that would not happen |
08:35:23 | Arrrr | Can i define my own $paths? |
08:35:31 | Araq | lol no |
08:35:55 | Arrrr | See? you hate it |
08:35:55 | Araq | your definition of "absolute" is weird :P |
08:36:10 | Araq | explain to me what you mean please |
08:36:24 | Araq | absolute path is "/Users/araq/..." |
08:36:49 | Arrrr | Yeah, absolute path relatives to main |
08:37:11 | Araq | for a library there can be many 'main's |
08:37:37 | Araq | it can only be relative to itself |
08:38:06 | Arrrr | Nimble does it |
08:43:33 | Araq | nimble does what? |
08:45:05 | Arrrr | When you install a package in nimble and import it, you do it relative to the nimble project root. |
08:45:16 | Arrrr | And it is a joy not having '../../' |
08:52:24 | Araq | I don't think I changed this behaviour. |
08:56:46 | Arrrr | No, you don't, but being able to work like would improve readability and refactoring. |
08:59:12 | Araq | is --path:"$projectDir" really that cumbersome to add to your config? |
09:00:09 | Arrrr | Nope, i just didn't know it was possible. Thanks! |
09:03:55 | * | Sembei joined #nim |
09:05:03 | Arrrr | Yes ... works like a charm. I don't know how did i miss that before |
09:06:11 | Arrrr | Can i relay on it? would be funny if it dissapears |
09:07:17 | Araq | well 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:54 | Araq | bbl |
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:46 | yglukhov | Araq: 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:05 | cheatfate | its not a good idea to add ".exe" |
11:37:16 | gokr | Araq: I was reading a bit about swift yesterday - seems pretty darn close to Nim |
11:40:30 | flyx | gokr: afaik it doesn't have any metaprogramming facilities |
11:40:58 | gokr | flyx: 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:38 | cheatfate | dom96, 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:03 | Araq | yglukhov: try --clang.linkerexe="emcc.bat" then |
12:00:57 | * | dmitry_p quit (Remote host closed the connection) |
12:15:44 | yglukhov | Araq: it works, thanks! |
12:46:38 | yglukhov | Araq: now another question. emcc command line length exceeds windows limitation of 8191. surely nim has to do smth about it |
13:00:00 | yglukhov | Araq: nevermind, this looks like emcc problem |
13:24:23 | * | saml_ quit (Remote host closed the connection) |
13:27:47 | * | saml joined #nim |
13:43:30 | yglukhov | Araq: mind if i export random from math, since a lot of stuff is broken? |
13:47:03 | Araq | yeah, that would add the 'times' dependency back that we want to get rid of. |
13:53:19 | yglukhov | ok, how about adding a deprecated `random` function back to math for a couple of months? |
13:53:57 | yglukhov | or at least a couple of days? =) |
14:03:31 | Araq | ok. |
14:35:55 | arnetheduck | Araq, in system.nim, it's not possible to import stuff, right? |
14:38:44 | reactormonk | arnetheduck, I wouldn't. |
14:41:04 | arnetheduck | I'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:36 | Araq | system.nim can import modules if you're careful, but it's not officially supported, whatever that means |
15:13:19 | arnetheduck | I'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:57 | arnetheduck | so.. 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:33 | arnetheduck | (attributes like restrict, pure, const, etc) |
15:36:14 | tautologico | what's the issue with random? |
15:37:33 | Araq | arnetheduck: 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:44 | cheatfate | autoconf magic in compiler is what everybody will like :) |
15:40:33 | arnetheduck | how would that work? |
15:45:22 | * | endragor quit (Remote host closed the connection) |
15:46:16 | Araq | arnetheduck: it compiles small C programs to determine the values and caches them |
15:46:25 | cheatfate | hmm i think it can be `rules` in config file |
15:52:47 | arnetheduck | that works for #defines, but how would it work for proc's and global vars like.. stdin? |
15:53:07 | cheatfate | Araq, i think it can be one big c program for each OS/arch which returns list of supported features |
15:54:08 | cheatfate | in json format or whatever |
16:03:53 | arnetheduck | cheatfate, 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:03 | gtrundle | So, 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:37 | gtrundle | I've never used the backtick quoting outside of operator definitions. Is this a horrible misuse of the quotes? |
16:26:48 | flyx | gtrundle: 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:35 | gtrundle | Interesting. 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:18 | Salewski | How do we make long multiline string constants which contain escape sequences like "\n"? Is it this way: |
18:35:22 | Salewski | const |
18:35:27 | Salewski | str = "GtkLabel {background-color: blue;\n}\n" & |
18:35:44 | Salewski | "#TestWidget {color: #ffffff;\n}\n" & |
18:36:04 | Salewski | "#TestWidget {font-size: 18px ;\n}\n" |
18:36:17 | ldleworker | pretty |
18:37:33 | Araq | yes |
18:39:10 | Salewski | OK, thanks. |
18:39:19 | * | Salewski quit () |
18:39:55 | J3RN | What about string literals with """? |
18:41:35 | J3RN | I guess you can't include character escapes in those |
18:48:58 | * | ics joined #nim |
18:52:06 | Araq | indeed |
19:20:05 | * | Jesin quit (Quit: Leaving) |
19:23:20 | * | |meta joined #nim |
19:28:03 | * | Sembei quit (Ping timeout: 258 seconds) |
19:28:17 | Arrrr | Good 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:52 | flyx | two questions here: 1. why do I need to getType(getType(t)[1]) ? |
19:54:23 | flyx | 2. 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:08 | Araq | flyx: 2. because otherwise you would get a possibly infinite tree |
20:19:30 | Araq | we map types which are cyclic graphs to trees |
20:19:40 | * | brson_ quit (Quit: leaving) |
20:19:48 | * | brson joined #nim |
20:19:48 | Araq | because it's easier to work with them this way (trust me...) |
20:20:13 | Araq | getType() is really for people who know what they are doing ;-) |
20:20:42 | flyx | ah well I guess I should learn what I'm doing then |
20:20:59 | Araq | btw in nim devel there are also new getType() ops which are easier to handle |
20:21:12 | Araq | that I need to study too :-) (didn't write it) |
20:21:17 | flyx | ah nice, I'll check it out tomorrow |
20:26:38 | Araq | cheatfate: any reason why you couldn't piggyback the new toHex into the old toHex? |
20:27:04 | Araq | with something like 'len = -1' ? |
20:33:39 | cheatfate | Araq, i dont understand you... you dont like it? ok i will remove it |
20:33:52 | Araq | I do like it. |
20:34:10 | Araq | but 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:50 | Araq | btw 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:58 | Araq | no offense implied. |
20:44:08 | Araq | now ... who volunteers to give us a new website? |
20:45:13 | tautologico | maybe kidnap a designer and make her/him make a new website layout |
20:45:37 | cheatfate | Araq, 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:20 | Araq | tautologico: I like https://ocaml.org/ 's design. Hopefully boring enough for v1. |
20:50:11 | tautologico | Araq: yes, much better than INRIA's official site |
20:57:28 | cheatfate | Araq, looks like you are in bad humor... i have closed pr |
20:59:21 | * | pregressive joined #nim |
20:59:31 | Araq | seriously. |
20:59:53 | Araq | I love your work for Nim. |
20:59:56 | * | pregress_ quit (Read error: Connection reset by peer) |
20:59:59 | Araq | I love your PRs. |
21:00:20 | Araq | I don't make jokes about them. |
21:01:03 | * | Araq reopened the PR. |
21:02:45 | cheatfate | you want me optimize your toHex to have length optional? |
21:03:40 | Araq | yes, optional. default value is -1 to mean "use how many you need" |
21:04:45 | cheatfate | ok |
21:06:48 | TheLemonMan | can't you use __builtind_clz when available ? |
21:08:54 | ldleworker | Araq: does it have to be implemented in Nim, using Nim-implemented field tools, etc? |
21:09:47 | Araq | ldleworker: no, but I like static web pages for static information. |
21:11:09 | Araq | but I guess the days where the web was usable without Javascript are long gone... |
21:12:49 | Araq | so meh, just use what you think is best. (but no JVM deps! muhahaha) |
21:15:54 | zodiak | I don't mind pages with JS, I +do+ mind pages that load like 17mb of it though :) |
21:16:13 | zodiak | that sh**e is cancer |
21:17:46 | gmpreussner | i prefer to use javascript only for non-essential parts of a site |
21:17:57 | gmpreussner | so if people turn off javascript, the site still works |
21:17:58 | cheatfate | zodiak, only if frameworks are used with pure vanilla js it will be fast |
21:18:30 | gmpreussner | these days, a lot of websites are developed like web applications, which they are not |
21:18:58 | gmpreussner | it's almost like you can't build sites without the LatestPieceOfCrap.js framework |
21:20:02 | cheatfate | gmpreussner, this is because of $$$ which causes "less time and more features" |
21:20:56 | cheatfate | this why i think we are martians... :) |
21:31:48 | fowl | the best websites use html 4 and only enough css to declare color:white; background:black |
21:32:27 | fowl | Araq, 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:11 | gmpreussner | cheatfate, 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:50 | ldleworker | gmpreussner: to be fair, the js frameworks are getting pretty good |
22:34:06 | ldleworker | and they're reflective of a good deal of theoretical work |
22:35:09 | ldleworker | the 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:29 | cheatfate | ldleworker, pretty good only small one... just because there no overhead code for usability |
22:48:52 | ldleworker | cheatfate: what? |
22:49:55 | cheatfate | ldleworker, 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) |