| 00:01:30 | * | yglukhov quit (Ping timeout: 244 seconds) |
| 00:01:39 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 00:03:25 | * | ftsf joined #nim |
| 00:05:15 | vlad1777d | Do somebody knows statement in Nim, which is analog to Python's "pass"? |
| 00:05:47 | vlad1777d | I read about "discard", but is it only for throwing away procedure's result value? |
| 00:06:04 | FromGitter | <Araq> discard works for pass too |
| 00:06:28 | vlad1777d | FromGitter, thank you |
| 00:06:34 | FromGitter | vlad1777d, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim |
| 00:08:53 | vlad1777d | FromGitter, Then you cannot understand gratitude, clever bot =) |
| 00:08:54 | FromGitter | vlad1777d, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim |
| 00:21:55 | * | NimBot joined #nim |
| 00:22:27 | * | bjz joined #nim |
| 00:22:59 | * | vlad1777d_ joined #nim |
| 00:25:16 | * | vlad1777d quit (Ping timeout: 244 seconds) |
| 00:40:53 | vlad1777d_ | How is better to write (works both variants): "line.isNilOrEmpty()" or "line.isNilOrEmpty" ? |
| 00:43:39 | * | subsetpark quit (Quit: Connection closed for inactivity) |
| 00:46:28 | libman | vlad1777d_: learning to let of of empty ()s is a rite of passage :P |
| 00:46:43 | libman | *to let GO |
| 00:48:03 | * | maattdd quit (Read error: Connection reset by peer) |
| 00:48:46 | vlad1777d_ | libman, do you mean (I understand English now very well) that I must not write them and left old Pythonic traditions by this way? |
| 00:49:43 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 00:51:20 | libman | The word "must" doesn't apply. https://github.com/nim-lang/Nim/wiki/Style-Guide-for-Nim-Code doesn't mention it, so "should" probably doesn't apply either. |
| 00:51:40 | * | libman quit (Remote host closed the connection) |
| 00:53:11 | vlad1777d_ | libman, thank you =) |
| 01:01:44 | mcc | Question: in this sample code, line 16 http://pastie.org/10953566 is it weird that I am able to modify actor.at[0] even though actor should be immutable (ie: it is a "let")? |
| 01:02:31 | mcc | In testing, it appears if instead of using the Vec2 I make a ref object there, it treats "actor.at" as immutable in that case |
| 01:02:45 | mcc | i don't fully understand the (array[2, float](actor.at))[0] syntax i'm using there, i copied it from glm |
| 01:05:11 | cheatfate_ | mcc, this string is actually cast[array[2, float]](actor.at)[0] |
| 01:05:26 | cheatfate_ | and array[2, float] is mutable |
| 01:05:34 | mcc | ok, got it |
| 01:11:05 | * | Snircle joined #nim |
| 01:12:36 | * | bjz joined #nim |
| 01:22:09 | * | vendethiel joined #nim |
| 01:23:48 | * | vendethiel- quit (Ping timeout: 260 seconds) |
| 01:24:44 | * | brson quit (Quit: leaving) |
| 01:26:58 | * | ftsf quit (Ping timeout: 250 seconds) |
| 01:27:08 | * | chemist69 quit (Ping timeout: 245 seconds) |
| 01:39:54 | vlad1777d_ | Thank you all for help me with learning Nim tonight. Good night. |
| 01:40:01 | * | vlad1777d_ quit (Quit: Leaving) |
| 01:54:23 | * | chemist69 joined #nim |
| 01:59:24 | * | yglukhov joined #nim |
| 02:06:19 | * | yglukhov quit (Ping timeout: 268 seconds) |
| 02:15:28 | * | chemist69 quit (Ping timeout: 245 seconds) |
| 02:18:22 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
| 02:25:24 | * | bjz quit (Ping timeout: 256 seconds) |
| 02:28:58 | * | chemist69 joined #nim |
| 02:31:06 | * | bjz joined #nim |
| 02:33:58 | * | ftsf joined #nim |
| 03:03:41 | * | PMunch quit (Quit: leaving) |
| 03:06:33 | * | kulelu88 quit (Quit: Leaving) |
| 03:48:34 | * | dddddd quit (Remote host closed the connection) |
| 04:03:45 | * | yglukhov joined #nim |
| 04:08:32 | * | yglukhov quit (Ping timeout: 256 seconds) |
| 04:16:14 | * | chemist69 quit (Ping timeout: 250 seconds) |
| 04:18:26 | * | chemist69 joined #nim |
| 04:24:44 | * | beatmox quit (Remote host closed the connection) |
| 05:05:46 | * | yglukhov joined #nim |
| 05:10:25 | * | yglukhov quit (Ping timeout: 260 seconds) |
| 05:41:35 | * | eizua joined #nim |
| 05:47:30 | * | pafmaf joined #nim |
| 06:02:15 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 06:03:10 | * | desophos quit (Read error: Connection reset by peer) |
| 06:15:54 | * | beatmox joined #nim |
| 06:23:24 | * | ftsf quit (Quit: :q!) |
| 06:25:33 | * | pafmaf quit (Ping timeout: 260 seconds) |
| 06:38:36 | * | djellemah_ joined #nim |
| 06:43:32 | * | gokr joined #nim |
| 06:45:16 | * | dmi0 quit (Ping timeout: 260 seconds) |
| 06:45:47 | * | dmi0 joined #nim |
| 07:16:36 | * | chemist69 quit (Ping timeout: 260 seconds) |
| 07:17:01 | * | chemist69 joined #nim |
| 07:27:48 | * | enthus1ast quit (Ping timeout: 260 seconds) |
| 07:27:56 | * | enthus1ast_ quit (Ping timeout: 250 seconds) |
| 07:48:40 | * | xet7 quit (Quit: Leaving) |
| 07:49:52 | * | xet7 joined #nim |
| 07:52:38 | * | vlad1777d joined #nim |
| 07:57:23 | * | vlad1777d quit (Remote host closed the connection) |
| 08:00:57 | * | zombiefisch is now known as qwertfisch |
| 08:06:23 | * | Matthias247 joined #nim |
| 08:12:06 | * | yglukhov joined #nim |
| 08:12:31 | * | couven92 joined #nim |
| 08:24:25 | * | Andris_zbx joined #nim |
| 08:26:12 | * | GustavoLapasta joined #nim |
| 09:20:33 | * | chemist69 quit (Ping timeout: 260 seconds) |
| 09:32:28 | * | Arrrr joined #nim |
| 09:33:45 | * | PMunch joined #nim |
| 09:35:33 | * | PMunch quit (Client Quit) |
| 09:35:50 | * | PMunch joined #nim |
| 09:36:43 | * | couven92 quit (Ping timeout: 245 seconds) |
| 09:39:58 | * | couven92 joined #nim |
| 09:42:14 | * | cheatfate_ is now known as cheatfate |
| 09:44:56 | * | dmi0 quit (Ping timeout: 260 seconds) |
| 09:45:54 | * | Salewski joined #nim |
| 09:47:12 | Salewski | vlad, for your sequence to tuple question: When t is a tuple with two string fields: |
| 09:47:16 | Salewski | (t[0], t[1]) = "aaa bbb".split |
| 09:47:37 | * | chemist69 joined #nim |
| 09:47:46 | Salewski | That is what I can currently remember, there are more ways... |
| 09:48:35 | Salewski | Of course seq and tuple are very different structures. For assignment at least data content has to match somehow. |
| 09:49:49 | Salewski | When you really can't buy Doms book in your country, that would be bad. You may contact Manning, there may be a way. |
| 09:50:00 | Araq | Salewski: are you here to complain about broken builds? :-) |
| 09:51:13 | Salewski | If you just do not want to buy it, you may read the tutorial and other free resources. |
| 09:53:01 | Salewski | Araq, do not understand your question. Just saw your response from yesterday to vlad, does not show very well how friendly you are most of the time :-) |
| 09:54:01 | Araq | took me 4 commits to get travis to work again |
| 09:54:23 | Araq | I wasn't really aware we start from 0.13 csources |
| 09:54:31 | Araq | on some old Ubuntu |
| 09:55:25 | Araq | impressive 0.13 can build up to 0.15.2 |
| 09:55:56 | Salewski | No Ubuntu for me. My box is Gentoo, and I build Nim from git. But we have a Nim package for Gentoo indeed. |
| 09:57:40 | * | enthus1ast joined #nim |
| 09:58:22 | Araq | would like to get rid of this devel/master split, but who knows where 'git pull origin devel' ended up in |
| 10:01:30 | * | arnetheduck joined #nim |
| 10:01:52 | * | enthus1ast quit (Ping timeout: 244 seconds) |
| 10:03:24 | * | enthus1ast joined #nim |
| 10:06:07 | * | enthus1ast_ joined #nim |
| 10:08:08 | Salewski | Araq, recently someone asked how to convert a string to a seq of bytes. He had some good reasons for that, maybe reading a string and then do bit manipulation. |
| 10:08:54 | Salewski | Can that be done only char for char, or is there abetter method? Structure of string and seq of byte should be very similar? |
| 10:10:26 | * | enthus1ast_ quit (Ping timeout: 250 seconds) |
| 10:10:36 | Araq | you can 'cast' if you know what you're doing |
| 10:11:36 | Salewski | Ah interesting, I was guessing that it may be possible... |
| 10:12:38 | Salewski | Bye... |
| 10:12:42 | * | Salewski left #nim (#nim) |
| 10:13:48 | * | couven92 quit (Ping timeout: 245 seconds) |
| 10:15:42 | * | couven92 joined #nim |
| 10:23:08 | * | MrAxilus[m] quit (Remote host closed the connection) |
| 10:23:08 | * | zielmicha[m] quit (Remote host closed the connection) |
| 10:23:08 | * | prose[m] quit (Remote host closed the connection) |
| 10:23:08 | * | M-Quora quit (Write error: Connection reset by peer) |
| 10:23:08 | * | ehmry quit (Remote host closed the connection) |
| 10:23:09 | * | TheManiac quit (Read error: Connection reset by peer) |
| 10:23:10 | * | hohlerde quit (Read error: Connection reset by peer) |
| 10:23:10 | * | jivank[m] quit (Write error: Broken pipe) |
| 10:35:48 | * | enthus1ast quit (Ping timeout: 260 seconds) |
| 10:37:34 | * | PMunch quit (Quit: leaving) |
| 10:37:51 | * | enthus1ast joined #nim |
| 10:38:09 | * | CcxWrk_ quit (Quit: ZNC 1.6.3 - http://znc.in) |
| 10:38:54 | * | CcxWrk joined #nim |
| 10:45:17 | Arrrr | flyx does nimyaml work at compile time? |
| 10:47:01 | flyx | Arrrr: it uses a lot of compile-time macros to generate proper serialization and deserialization procs for arbitrary types. if your question is whether you can serialize/deserialize at compile time: yes, as long as you use strings as source/destination, becaue file streams afaik do not work at compile time |
| 10:47:22 | flyx | (however I never tested if it actually works, so feedback is welcome) |
| 10:49:06 | * | zielmicha[m] joined #nim |
| 10:57:57 | * | jivank[m] joined #nim |
| 10:57:57 | * | ehmry joined #nim |
| 10:57:57 | * | MrAxilus[m] joined #nim |
| 10:57:57 | * | prose[m] joined #nim |
| 10:58:50 | * | dmi0 joined #nim |
| 11:02:12 | * | Snircle joined #nim |
| 11:08:26 | * | prose[m] quit (Remote host closed the connection) |
| 11:08:26 | * | zielmicha[m] quit (Remote host closed the connection) |
| 11:08:26 | * | ehmry quit (Remote host closed the connection) |
| 11:08:26 | * | jivank[m] quit (Remote host closed the connection) |
| 11:08:26 | * | MrAxilus[m] quit (Remote host closed the connection) |
| 11:15:35 | * | lg_ quit (Remote host closed the connection) |
| 11:16:54 | * | enthus1ast quit (Ping timeout: 265 seconds) |
| 11:17:32 | * | Trustable joined #nim |
| 11:18:39 | * | zielmicha[m] joined #nim |
| 11:28:03 | * | ehmry joined #nim |
| 11:28:03 | * | jivank[m] joined #nim |
| 11:28:04 | * | prose[m] joined #nim |
| 11:28:04 | * | MrAxilus[m] joined #nim |
| 11:28:10 | * | TheManiac joined #nim |
| 11:28:10 | * | hohlerde joined #nim |
| 11:28:11 | * | M-Quora joined #nim |
| 11:32:28 | * | gangstacat quit (Quit: Ĝis) |
| 11:34:05 | * | gangstacat joined #nim |
| 11:51:50 | flyx | why is Time defined as int32? shouldn't this better be future-proof? |
| 11:53:03 | Araq | we're Posix proof instead |
| 11:53:16 | Araq | but yes, it's actually implementation defined |
| 11:54:32 | flyx | ah, because it maps to time_t? |
| 11:54:47 | flyx | and that's famously of undefined length |
| 11:55:26 | Araq | yeah, it's a 'dinstinct' type, right? |
| 11:57:41 | flyx | yes |
| 11:58:44 | * | flyx will now have some fun parsing timestamps… |
| 12:12:04 | cheatfate | flyx, and where is Time defined as int32? |
| 12:12:19 | cheatfate | TimeImpl {.importc: "time_t", header: "<time.h>".} = int, but not int32 |
| 12:12:26 | cheatfate | Time* = distinct TimeImpl |
| 12:14:15 | flyx | type TimeImpl {.importc: "time_t", header: "<time.h>".} = int32 |
| 12:14:20 | flyx | int32 for me |
| 12:14:25 | flyx | where are you looking? |
| 12:15:12 | flyx | hmm, the generated documentation is specific to some compile-time switches |
| 12:15:22 | cheatfate | https://github.com/nim-lang/Nim/blob/devel/lib/pure/times.nim#L51 |
| 12:15:39 | flyx | so it shows int32, although there are switches to have it being int64 |
| 12:16:04 | cheatfate | it shows `int`! |
| 12:24:05 | cheatfate | ok this is bug, could somebody with write access modify this line https://github.com/nim-lang/Nim/blob/devel/lib/pure/times.nim#L87 to have `int` |
| 12:34:22 | Araq | cheatfate: doesn't look like a bug to me |
| 12:34:39 | Araq | the mingw we ship has a 32 bit time_t |
| 12:34:43 | Araq | apparently |
| 12:37:20 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 12:38:06 | cheatfate | Araq, mine `gcc (GCC) 4.8.3` - sizeof(time_t) = 8 |
| 12:38:11 | cheatfate | on 64bit platform |
| 12:38:55 | Araq | ok, so 'int' then? |
| 12:39:18 | cheatfate | Araq, yep |
| 12:39:22 | FromGitter | <endragor> undefined sizes got to times, too :’( I also always wonder why I have to work with floats any time I need millisecond precision (which is pretty often). |
| 12:48:24 | cheatfate | Araq, 4.9.2 mingw gcc x86 version generates sizeof(time_t) == 4 on 64bit platform... |
| 12:50:00 | cheatfate | Araq, so this line needs to be 'int' |
| 12:52:19 | * | vendethiel quit (Ping timeout: 252 seconds) |
| 12:52:42 | * | vendethiel joined #nim |
| 13:04:46 | flyx | do I see it correctly that the stdlib currently has no possibility to write/parse ISO 8601? |
| 13:05:54 | flyx | ah, there's format() and parse() |
| 13:06:01 | flyx | I should not simply ctrl+f "ISO" |
| 13:11:40 | * | brechtm joined #nim |
| 13:12:21 | Araq | flyx: libman said format() and parse() are somewhat broken |
| 13:12:28 | Araq | would be nice if you could fix it. |
| 13:12:36 | Araq | something to do with timezones |
| 13:12:42 | flyx | oh dear, timezones |
| 13:13:07 | flyx | did he create an issue? |
| 13:13:39 | flyx | or do you know the day he talked about it here so I can look up what exactly the problem is? |
| 13:15:19 | Araq | lol, did he create an issue. |
| 13:16:50 | Araq | http://irclogs.nim-lang.org/26-10-2016.html |
| 13:18:18 | Araq | doesn't look to hard to fix :-) |
| 13:18:24 | flyx | I'll look into it |
| 13:19:17 | flyx | while I'm at it, I wonder what this line does and why it's there: https://github.com/nim-lang/Nim/blob/master/lib/pure/times.nim#L1055 |
| 13:20:03 | flyx | it initializes the monthday to the parsed number of the month [1..12] for some reason? |
| 13:23:34 | Araq | remove this line and see what happens |
| 13:23:45 | Araq | if it's subtle our tests will catch it |
| 13:23:57 | Araq | otherwise it's an ordinary bug. |
| 13:32:18 | * | vendethiel- joined #nim |
| 13:33:56 | * | vendethiel quit (Ping timeout: 250 seconds) |
| 13:46:07 | * | GustavoLapasta quit (Quit: Leaving) |
| 13:48:52 | * | gangstacat quit (Quit: Ĝis) |
| 13:51:35 | flyx | I believe libman's problem is that he used 'zzzz' when he should have used 'zzz' ('zzzz' does not exist) |
| 13:51:39 | flyx | but I will try to replicate it |
| 13:52:30 | * | dddddd joined #nim |
| 14:01:14 | * | gangstacat joined #nim |
| 14:03:50 | cheatfate | main problem of times module is time conversion between timezones |
| 14:16:08 | * | djellemah_ quit (Ping timeout: 250 seconds) |
| 14:27:20 | flyx | okay, parsing seems indeed not to properly parse the timezone |
| 14:30:08 | * | PMunch joined #nim |
| 14:43:56 | flyx | what happens is that toTime() completely ignores the timezone |
| 14:44:21 | flyx | and parse() uses toTime() to set weekday and yearday |
| 14:44:50 | flyx | so you will get a wrong result whenever you parse a timestamp that is not in your device's timezone |
| 14:45:35 | flyx | Araq: what *should* the output of getTime() be? UTC? in timezone of device? |
| 14:47:10 | flyx | ah, I see, time_t is specified to be UTC |
| 14:50:40 | * | vlad1777d joined #nim |
| 14:56:06 | flyx | hu, where is toTime*() implemented for non-js? |
| 15:01:59 | * | PMunch quit (Remote host closed the connection) |
| 15:07:57 | vlad1777d | HEllo to all. I searched in manual tutorial, but had not found, how to delete variable? (to free memory) Something like in Python "del settings_object" |
| 15:08:09 | def- | vlad1777d: let it run out of scope |
| 15:09:04 | vlad1777d | def- It'll deleted automatically? Is there some operator for manual deleting? |
| 15:09:29 | vlad1777d | (if it's in the module level) |
| 15:10:19 | def- | if it's on the stack then it becomes unused automatically. if it's on the heap, the gc will deallocate it when it isn't referenced anywhere anymore |
| 15:11:00 | def- | if you do manual memory allocation, then you also have to delete manually |
| 15:12:33 | vlad1777d | def-, thank you very much. Are strings in the stack or heap? |
| 15:12:39 | def- | heap |
| 15:13:20 | vlad1777d | Thanks ) |
| 15:14:24 | def- | but I guess you could call that an implementation detail. the implementation could change to store small strings on the stack for example |
| 15:16:10 | vlad1777d | def-, so I understood, that anyway, if it's not needed after some time, it'll be removed automatically. |
| 15:20:44 | * | brson joined #nim |
| 15:22:41 | * | PMunch joined #nim |
| 15:24:32 | * | yglukhov quit (Remote host closed the connection) |
| 15:27:42 | * | PMunch quit (Quit: leaving) |
| 15:28:54 | * | vlad1777d_ joined #nim |
| 15:29:12 | * | vlad1777d quit (Ping timeout: 250 seconds) |
| 15:37:28 | * | Trustable quit (Remote host closed the connection) |
| 15:38:35 | * | Trustable joined #nim |
| 15:39:46 | * | djellemah_ joined #nim |
| 15:41:35 | * | Andris_zbx quit (Remote host closed the connection) |
| 15:49:18 | flyx | I have learned a lot about time.h today |
| 15:49:45 | flyx | mostly that everything is awful and I should finish the fix of times.h because tomorrow I have forgotten everything |
| 15:50:00 | flyx | *times.nim of course |
| 15:52:17 | * | desophos joined #nim |
| 15:56:52 | * | desophos quit (Read error: Connection reset by peer) |
| 16:00:35 | chemist69 | I read that nimsuggest is now part of Nim (again). How do I build it? `./koch boot -d:release` does not build it. Do I use nimble in the nimsuggest subdir? |
| 16:01:27 | vlad1777d_ | chemist69, read install or readme file in release |
| 16:01:33 | vlad1777d_ | there is special command |
| 16:01:42 | * | Arrrr quit (Quit: WeeChat 1.5) |
| 16:01:58 | * | vendethiel- quit (Ping timeout: 256 seconds) |
| 16:02:23 | vlad1777d_ | chemist69, "nim e install_tools.nims" |
| 16:03:55 | * | vendethiel joined #nim |
| 16:03:55 | Araq | actually it's "koch tools" |
| 16:06:56 | chemist69 | vlad1777d_ and Araq: thanks a lot. Am I correct that this `koch` option is currently undocumented? |
| 16:08:12 | chemist69 | [Error] 'koch tools' only works for the tarball. |
| 16:09:49 | * | ehmry quit (Ping timeout: 260 seconds) |
| 16:10:27 | * | Jesin quit (Quit: Leaving) |
| 16:10:49 | * | enthus1ast joined #nim |
| 16:10:49 | * | ehmry joined #nim |
| 16:12:48 | * | Jesin joined #nim |
| 16:13:44 | * | libman joined #nim |
| 16:18:16 | * | GustavoLapasta joined #nim |
| 16:18:42 | * | desophos joined #nim |
| 16:21:55 | Araq | chemist69: oh yeah, let me change that |
| 16:29:32 | * | gokr quit (Ping timeout: 260 seconds) |
| 16:36:08 | flyx | PR for timezones done. now I seriously need something to eat |
| 16:40:17 | * | pregressive joined #nim |
| 16:42:24 | Araq | flyx: thank you. |
| 16:45:24 | * | Trustable quit (Ping timeout: 260 seconds) |
| 16:46:01 | * | Trustable joined #nim |
| 16:46:23 | * | Trustable quit (Client Quit) |
| 16:47:22 | * | GustavoLapasta quit (Quit: Leaving) |
| 17:02:52 | * | gokr joined #nim |
| 17:03:41 | * | Matthias247 joined #nim |
| 17:13:22 | * | couven92 quit (Ping timeout: 256 seconds) |
| 17:15:23 | * | couven92 joined #nim |
| 17:25:01 | * | yglukhov joined #nim |
| 17:29:48 | * | yglukhov quit (Ping timeout: 260 seconds) |
| 17:30:42 | * | enthus1ast quit (Ping timeout: 268 seconds) |
| 17:32:29 | * | enthus1ast joined #nim |
| 17:38:08 | flyx | seems like I broke the JS stuff |
| 17:43:04 | cheatfate | We got braces support and nobody knows about it, even HN :) |
| 17:43:07 | * | nsf joined #nim |
| 17:44:22 | flyx | well do we have a *release* that supports braces? |
| 17:44:43 | Araq | no, we don't and even if it's in a release |
| 17:44:57 | Araq | it will be based on a poll |
| 17:45:02 | Araq | wether we keep it or not |
| 17:47:25 | cheatfate | Araq, is it too hard to maintain? |
| 17:48:05 | Araq | no, I rarely change the parser. changing 2 parsers at the same time is about 0.001% of effort |
| 17:51:41 | * | brson quit (Ping timeout: 251 seconds) |
| 17:53:25 | cheatfate | so two parsers its like to asyncdispatches... not hard to maintain but every time you can forget to patch another parser |
| 17:53:38 | cheatfate | to asyncdispatches = two asyncdispatches |
| 17:55:43 | * | brson joined #nim |
| 17:56:23 | Araq | I could also merge the 2 parsers, the implementations are close enough, but it's more messy for others to deal with then |
| 17:59:46 | * | maattdd joined #nim |
| 18:00:00 | gokr | Araq: Did you talk to andlabs? And what was the issue? |
| 18:00:05 | gokr | Just curious |
| 18:00:14 | Araq | not yet |
| 18:00:41 | * | brson quit (Ping timeout: 252 seconds) |
| 18:00:55 | chemist69 | Araq: using `koch tools` gives me this error: [Error] 'koch tools' only works for the tarball. |
| 18:01:31 | Araq | chemist69: you're living in the past |
| 18:01:52 | Araq | git pull |
| 18:02:12 | chemist69 | I am? I am on latest devel from Github (as in two minutes ago) |
| 18:02:52 | FromGitter | <Araq> commit 73b76b916c96fc7 |
| 18:03:08 | Araq | koch improvements; implemented 'koch pushcsources' |
| 18:03:13 | Araq | do you have that? |
| 18:04:15 | chemist69 | jepp. |
| 18:04:57 | * | gokr quit (Ping timeout: 244 seconds) |
| 18:05:42 | Araq | nim c koch |
| 18:07:36 | chemist69 | ah, I forgot to do that. |
| 18:07:45 | chemist69 | but now I get: Error: cannot open 'dist/nimsuggest/nimsuggest.nim' |
| 18:09:28 | * | enthus1ast quit (Ping timeout: 260 seconds) |
| 18:11:11 | * | brson joined #nim |
| 18:12:12 | Araq | ha, good catch. fixed. |
| 18:15:08 | chemist69 | and now it worked! Thanks a lot! |
| 18:15:30 | * | brechtm quit (Remote host closed the connection) |
| 18:36:24 | * | eizua quit (Remote host closed the connection) |
| 18:44:53 | dom96 | hey guys, what's up? |
| 18:45:25 | ldlework | nmu |
| 18:45:32 | ldlework | dom96: a/s/l? |
| 18:45:57 | flyx | hum, what is `tzname` based upon, anyway? is there a standard defining three-character timezone names? |
| 18:46:23 | dom96 | ldlework: 1uS/Klorblorg/Andromeda |
| 18:46:38 | ldlework | that's my fetish! |
| 18:48:29 | flyx | in http://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html there is defined that std and dst have *no less than* 3 characters, but may have up to TZNAME_MAX characters |
| 18:48:34 | * | UNIcodeX joined #nim |
| 18:48:36 | dom96 | That's very specific, must be a hard fetish to satisfy. |
| 18:48:43 | ldlework | dom96: until now |
| 18:49:14 | * | dom96 runs away |
| 18:49:19 | ldlework | hehe |
| 18:49:23 | flyx | so I think parsing/formatting "ZZZ" is completely broken and should be removed |
| 18:49:37 | dom96 | flyx: you brave soul. |
| 18:49:39 | Araq | what does ZZZ do? |
| 18:49:53 | flyx | output whatever is written in TimeInfo.tzname |
| 18:50:02 | flyx | and that may come from tzname in time.h |
| 18:50:15 | flyx | which has content according to the spec I linked |
| 18:50:26 | flyx | and parsing ZZZ reads exactly three characters |
| 18:50:51 | flyx | the problem is that there is no way to map that back to a timezone offset |
| 18:51:51 | dom96 | then perhaps it shouldn't be available in `parse`? |
| 18:51:54 | flyx | so currently, if you parse something like "2016-11-01T19:50:50GMT", you will get a TimeInfo struct that has „GMT“ as tzname, but the actual timezone offset is 0 |
| 18:52:24 | dom96 | Isn't that correct? |
| 18:52:50 | flyx | er, yeah, for GMT yes |
| 18:52:53 | flyx | bad example |
| 18:52:57 | flyx | it will be 0 for everything |
| 18:53:11 | flyx | because it doesn't get set when parsing ZZZ |
| 18:53:18 | dom96 | Does it read things like "GMT+1"? |
| 18:53:31 | dom96 | I guess that's the problem |
| 18:53:35 | flyx | no, it reads exactly three chars |
| 18:53:40 | flyx | not really |
| 18:53:50 | flyx | how would you map "GMT+1" to a timezone offset? |
| 18:53:54 | flyx | you need a conversion table |
| 18:54:02 | flyx | afaik the C lib does not provide one |
| 18:54:10 | cheatfate | flyx, but setting `tzname` is not threadsafe... because it will cause problems for whole process |
| 18:54:26 | * | yglukhov joined #nim |
| 18:54:27 | flyx | cheatfate: tzname is a field of TimeInfo |
| 18:54:40 | flyx | cheatfate: I am *not* talking about setting the global tzname from time.h |
| 18:55:05 | dom96 | I think that we should look at how mature time libraries do it in other languages. |
| 18:55:17 | flyx | the problem with ZZZ is that if you parse a timestamp with a tz offset like "+01:00", you do not have a timezone name at all |
| 18:56:18 | cheatfate | if you have time with +01:00 its the most easy part because you have exactly what you need... |
| 18:56:29 | dom96 | ZZZ shouldn't parse "+01:00" |
| 18:56:45 | flyx | dom96: not what I meant |
| 18:57:01 | flyx | I meant, you parse "+01:00" with "zzz" and then dump the result with "ZZZ" |
| 18:57:06 | flyx | you will get "UTC" |
| 18:57:24 | Araq | ZZZ should parse timezones and +01:00 understand what's meant by it |
| 18:57:32 | Araq | or raise an exception |
| 18:57:35 | flyx | or perhaps your local timezone |
| 18:58:59 | cheatfate | flyx, and about `tzname` if you want omit confuses next time, please specify what `tzname` you are talking about |
| 18:59:20 | flyx | Araq: I see no possibility to figure out how to set the timezone offset from any ZZZ input in the C lib |
| 18:59:52 | Araq | maybe we need our own offset field then with blackjack and hookers |
| 18:59:58 | flyx | maybe. |
| 19:00:20 | * | brson quit (Ping timeout: 260 seconds) |
| 19:00:33 | flyx | the problem is that the implementation currently depends on things like comparing tzname to "UTC" and if it doesn't match, use the local timezone |
| 19:01:06 | flyx | I think tzname should be purely informational and the timezone field should be used for all calculations |
| 19:01:07 | * | cyraxjoe joined #nim |
| 19:02:28 | cheatfate | Araq, implementing own `casino` can be tough task because we need to handle `/usr/share/zoneinfo` at least |
| 19:03:00 | flyx | the problem is, there is no way to get a tzname from a given timezone offset, nor vice versa |
| 19:03:15 | flyx | so we have two things we cannot map onto each other |
| 19:03:27 | Araq | we should have an enum for that so it's clear what's supported |
| 19:03:37 | flyx | that would be cool |
| 19:05:08 | cheatfate | flyx, you can always convert timezone name to specified timezone offset, all information you need sits in `/usr/share/zoneinfo`. But its not possible to convert timezone offset to specific timezone, because many timezones can have exactly same timezone offset |
| 19:05:41 | flyx | cheatfate: `/usr/share/zoneinfo` is not available on all targets |
| 19:05:52 | cheatfate | are u sure? |
| 19:05:56 | flyx | Windows? |
| 19:06:02 | Araq | JS? |
| 19:07:21 | * | Trustable joined #nim |
| 19:07:36 | cheatfate | its only way to do this is to use system specific staff, because if you try to implement your own table of timezones <-> offsets you will be always wrong |
| 19:07:36 | * | dmi0 quit (Ping timeout: 250 seconds) |
| 19:08:07 | cheatfate | Windows has much more easy api to handle all this shit |
| 19:08:28 | flyx | Araq: okay, I will try to implement https://www.timeanddate.com/time/zones/ as enum |
| 19:10:20 | cheatfate | omg, this timezone offsets are changing... every specific country (Russia for example) can change its timezone offset value by law |
| 19:11:09 | flyx | ah well, that's unfortunate |
| 19:11:38 | cheatfate | also you need to handle dates of DST |
| 19:11:48 | flyx | yeah, obviously |
| 19:12:11 | cheatfate | Araq, javascripters uses http://momentjs.com/downloads/moment-timezone-with-data-2010-2020.min.js |
| 19:12:59 | cheatfate | as you can see they support dates between 2010-2020 |
| 19:13:49 | flyx | Araq: I would like to have baseline working. so I'd like to remove "ZZZ" for now, and maybe we can later add proper support |
| 19:15:05 | flyx | but as things are, what happens to tzname / timezone is currently very confusing and that's why I would really like to remove tzname alltogether and we will have the option to add some enum later |
| 19:15:14 | Araq | flyx: yeah. remove what's broken and perhaps introduce a "timezones" stdlib module later |
| 19:15:56 | Araq | dunno if it should be one module or two. Time handling is complex and times.nim is used by os.nim |
| 19:16:06 | Araq | so everbody compiles it all the time |
| 19:16:22 | dom96 | Like I said, we should find a mature times library and just copy it. |
| 19:18:13 | Araq | dom96: the mature ones are all 20K LOC |
| 19:18:27 | Araq | can't "copy" that. |
| 19:18:29 | dom96 | we don't have to copy everything |
| 19:18:35 | dom96 | at least not at once |
| 19:19:04 | Araq | the JS lib looks quite useful |
| 19:19:21 | Araq | we also need a mapping from country to timezone(s) |
| 19:20:03 | cheatfate | Araq, why we need country to timezone? US and Russia has like 5-6 timezones |
| 19:23:11 | cheatfate | everything we need for posix systems is to read tzfiles (man tzfile(5)) and for windows its GetTimeZoneInformationForYear |
| 19:24:07 | * | PMunch joined #nim |
| 19:24:38 | PMunch | Hi, can you use basic authentication with httpclient? |
| 19:25:10 | dom96 | yes |
| 19:25:15 | PMunch | How? |
| 19:25:21 | dom96 | it's just a header isn't it? |
| 19:25:52 | PMunch | Well, I've normally done it with uname:passwd@url |
| 19:25:58 | PMunch | But I think it's a header as well |
| 19:31:59 | PMunch | Error: type mismatch: got (HttpClient, url: string, extraHeaders: string) |
| 19:32:08 | PMunch | I just get that when I try to use it.. |
| 19:32:25 | flyx | okay, I removed tzname. only thing to update now is to update `$` and write tests |
| 19:33:35 | flyx | dom96, Araq: would it be okay for `$` to use format("yyyy-MM-dd'T'HH-mm-sszzz") instead of asctime? that way, it's independent of local time zone |
| 19:34:06 | dom96 | flyx: yes, I've been wanting to change it for a while now. |
| 19:34:08 | * | gokr joined #nim |
| 19:34:36 | dom96 | PMunch: take a look at the docs, extraHeaders isn't a thing for the procs working on HttpClient |
| 19:34:46 | dom96 | the HttpClient instance has a headers table |
| 19:36:14 | * | cheatfate quit (Read error: Connection reset by peer) |
| 19:58:54 | * | brson joined #nim |
| 20:01:10 | * | cheatfate joined #nim |
| 20:03:49 | * | boop quit (Ping timeout: 248 seconds) |
| 20:04:08 | hohlerde | I updated to the latest devel and now I am getting the following error while using vcc: |
| 20:04:09 | hohlerde | Additional info: Requested command not found: 'vccexe.exe |
| 20:04:25 | * | brechtm joined #nim |
| 20:04:36 | hohlerde | Is this a known issue? |
| 20:07:50 | Araq | hohlerde: try this please: |
| 20:07:57 | Araq | nim c -o:bin/vccexe.exe tools/vccenv/vccexe |
| 20:09:29 | hohlerde | thx araq, that did it |
| 20:09:41 | * | brechtm quit (Remote host closed the connection) |
| 20:14:47 | vlad1777d_ | Is here somebody from developers\website administrators? |
| 20:15:11 | * | Araq raises his hand slowly |
| 20:16:19 | vlad1777d_ | http://nim-lang.org/docs/system.html#seq could you add to "fmWrite" mode description: """ ## If the file does not exist, it will not be## created.""" ? |
| 20:17:11 | vlad1777d_ | Because other modes, where it's written, when file is absent, create the file. And fmWrite does it too. I, as newbie, expected IOError, so I got confused. |
| 20:21:01 | flyx | dom96, Araq: I have updated `$` and the test cases. they test the timezone stuff now too because `$` outputs the timezone. I consider it mergable now (assuming ci tests do not fail) |
| 20:21:42 | Araq | flyx: wow that was quick |
| 20:21:51 | Araq | vlad1777d_: our docs have an 'edit' button |
| 20:22:02 | vlad1777d_ | And, maybe, here: http://nim-lang.org/docs/manual.html#exception-handling-except-clauses , instead of """raise newEOS("operating system failed")""", maybe it's needed to write: """raise newException(OSError, "operating system failed")"""? |
| 20:22:31 | Araq | edit button! :-) |
| 20:23:02 | * | boop joined #nim |
| 20:23:02 | flyx | Araq: hmm, this is surely breaking for various reasons, should I add something to news? |
| 20:23:08 | vlad1777d_ | Araq, yes, sorry. I saw it, I didn't knew I could make this. |
| 20:23:37 | vlad1777d_ | Araq, and in Manual there is no edit button. If that is an error - could you correct it? |
| 20:24:39 | Araq | that's not an error, I don't know where to put it for documents. |
| 20:26:06 | Araq | flyx: next release is 0.16 with stdlib cleanups, but yes add it to the news |
| 20:26:15 | flyx | will do |
| 20:26:18 | vlad1777d_ | Araq, I don't mean button, sorry, I mean the description of rising exceptions |
| 20:26:44 | vlad1777d_ | Maybe there is an error. |
| 20:27:07 | Araq | oh the manual's examples don't necessarily list valid code |
| 20:27:25 | Araq | newEOS is just something that could exist to get the point across |
| 20:27:34 | Araq | but I can see it's confusing :P |
| 20:29:13 | * | couven92 quit (Ping timeout: 245 seconds) |
| 20:29:45 | * | couven92 joined #nim |
| 20:30:52 | vlad1777d_ | Yes, if you could correct it - it would be great. I thought that's the name of exception and tried to raise it like in Python: """raise IOError("cannon do ...")""" |
| 20:32:12 | flyx | Araq: news been added to PR |
| 20:33:33 | Araq | I'd like to get rid of newException though. it started as an internal "does this work" |
| 20:33:43 | Araq | and then people requested it to be exported |
| 20:35:10 | Araq | and now it's everywhere :-/ |
| 20:35:39 | Araq | I should write a blog post "raise considered harmful" |
| 20:35:59 | vlad1777d_ | Araq, if there's another working way to do it - it's great. |
| 20:36:19 | Araq | no ... :-) |
| 20:36:44 | Araq | I could write a template that encourages better design. |
| 20:36:46 | vlad1777d_ | Maybe you could write it there =) Because I had some time to understand how to raise exceptions. |
| 20:37:01 | vlad1777d_ | It would be great =) |
| 20:38:59 | vlad1777d_ | REally, after Python such way is not very convenient. But module importing system and including possibility is better here than in Python. |
| 20:42:04 | Araq | raising should not be convenient, you should always at least have something like |
| 20:42:32 | Araq | proc reportError(msg) {.noinline.} = raise newException(ValueError, msg) |
| 20:42:43 | Araq | or |
| 20:42:55 | Araq | proc reportError(msg) {.noinline.} = quit msg |
| 20:43:12 | Araq | or |
| 20:43:24 | Araq | template check(retval, msg) = |
| 20:43:34 | Araq | if retval != 0: reportError(msg) |
| 20:43:35 | flyx | libman: you may want to have a look at https://github.com/nim-lang/Nim/pull/4984 because you said time parsing / formatting is somewhat broken and tell me if that fixes your problems |
| 20:44:27 | * | Trustable quit (Remote host closed the connection) |
| 20:44:52 | libman | I just dropped the time zone and offset manually - https://github.com/lbmn/nim/blob/master/lib/al_str.nim#L10 |
| 20:45:41 | flyx | zzz works now… at least the tests run properly |
| 20:45:44 | Araq | or even better: attach an onError callback to your 'context' object. |
| 20:46:00 | libman | ok |
| 20:46:02 | Araq | and write the code that "on error continue" works |
| 20:46:24 | * | Trustable joined #nim |
| 20:46:26 | Araq | that reinvents a Lisp condition system, but it does it properly. |
| 20:55:08 | vlad1777d_ | Those procedures, that you suggest, make all more comfortable =) I can make this manually too, but it's lesser convenient =) |
| 21:02:21 | * | brechtm joined #nim |
| 21:08:37 | * | PMunch quit (Quit: leaving) |
| 21:13:17 | * | nsf quit (Quit: WeeChat 1.6) |
| 21:13:27 | * | brechtm quit (Remote host closed the connection) |
| 21:13:37 | * | nsf joined #nim |
| 21:16:10 | * | nsf quit (Client Quit) |
| 21:16:33 | * | nsf joined #nim |
| 21:26:52 | * | xet7 quit (Quit: Leaving) |
| 21:29:18 | * | xet7 joined #nim |
| 21:31:03 | * | dmi0 joined #nim |
| 21:33:19 | * | Jesin quit (Quit: Leaving) |
| 21:37:10 | * | yglukhov quit (Remote host closed the connection) |
| 21:43:38 | * | gokr left #nim (#nim) |
| 21:44:48 | * | enthus1ast_ joined #nim |
| 21:50:02 | FromGitter | <jlp765> How do you initialize a seq variable from a range ( something like (0..10).toSeq() ) ? |
| 21:51:50 | Araq | toSeq(0..10) works iirc |
| 21:52:00 | * | djellemah_ quit (Ping timeout: 260 seconds) |
| 21:52:23 | Araq | toSeq() doesn't work with dot notation |
| 21:52:29 | Araq | because of hard to explain reasons |
| 21:52:33 | Araq | good night. |
| 21:55:25 | * | bjz joined #nim |
| 21:59:48 | * | enthus1ast joined #nim |
| 22:00:53 | enthus1ast_ | does one know a good way to strip unicode from a string? |
| 22:02:18 | * | Senketsu quit (Read error: Connection reset by peer) |
| 22:02:40 | * | Senketsu joined #nim |
| 22:03:58 | * | bjz quit (Read error: Connection reset by peer) |
| 22:04:48 | * | bjz joined #nim |
| 22:04:54 | cheatfate | enthus1ast_, what does it mean strip unicode from string |
| 22:06:20 | * | kulelu88 joined #nim |
| 22:08:18 | enthus1ast_ | i send strings from cmd.exe -> nim websocket proxy -> chrome cmd seems to use a strange encoding, since the end result should be a chat, my idea was to let the proxy strip out chars that chrome not like, the other way would be to encode proper.... |
| 22:08:23 | * | Trustable quit (Remote host closed the connection) |
| 22:09:47 | enthus1ast_ | i wanted to port solution 1 and solution 2 http://blog.fgribreau.com/2012/05/how-to-fix-could-not-decode-text-frame.html |
| 22:10:02 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 22:10:21 | enthus1ast_ | but for solution 2 my client needs to be smarter, wich is not alway the case / needed |
| 22:12:24 | enthus1ast_ | so or so no solution is fine : / |
| 22:14:27 | cheatfate | i think you need to know first what encoding uses cmd.exe and how it encoding symbols which are sent (i dont know how -> nim websocket proxy works) |
| 22:18:15 | vlad1777d_ | To everybody: tell me please, what is better Ned or Aporia just like text editor for Nim? Or, maybe, somebody could make work "jump to declaration" in Atom? |
| 22:18:43 | cheatfate | vlad1777d_, try vscode |
| 22:19:14 | enthus1ast_ | can it debug nim cheatfate? |
| 22:19:16 | cheatfate | latest sublime text3 also has jump to definition but only for files currently opened |
| 22:19:52 | cheatfate | enthus1ast_, i dont know i'm using st3 |
| 22:20:11 | vlad1777d_ | cheatfate, I cannot - I have not Windows |
| 22:20:28 | vlad1777d_ | Thanks for sublime text, I'll look to it |
| 22:20:49 | cheatfate | https://code.visualstudio.com/download |
| 22:20:56 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 22:21:38 | enthus1ast_ | debug support of vscode-nim is on the todo list : ) |
| 22:21:56 | cheatfate | enthus1ast_, good debugger is N1 flaw of Nim (imho) |
| 22:22:33 | enthus1ast_ | jeah .. |
| 22:22:56 | enthus1ast_ | but maybe i'm getting good enough with a blackbox debugger :) |
| 22:24:36 | enthus1ast_ | cheatfate: i will fix the sending of the strings, than i still have to let the proxy somehow 'shield' dummy chrome users |
| 22:24:43 | enthus1ast_ | thanks |
| 22:25:14 | cheatfate | what is blackbox debugger? |
| 22:25:20 | * | nsf quit (Quit: WeeChat 1.6) |
| 22:25:24 | enthus1ast_ | like olly or x32dbg |
| 22:25:39 | cheatfate | does it support pdb/dwarf debug info? |
| 22:25:57 | enthus1ast_ | im quite unshure |
| 22:26:08 | cheatfate | enthus1ast_, so you debugging asm? |
| 22:26:11 | enthus1ast_ | pdb maybe, never used it |
| 22:26:18 | enthus1ast_ | yeah .. |
| 22:26:40 | cheatfate | give me link at blackbox debugger please |
| 22:26:45 | cheatfate | want to take a look |
| 22:26:57 | enthus1ast_ | http://x64dbg.com/#start |
| 22:27:23 | cheatfate | enthus1ast_, to `shield` chrome users escape everything comes from cmd with `\uXXXXX` |
| 22:27:40 | cheatfate | or how html, js escaping characters |
| 22:29:46 | enthus1ast_ | with escape you mean replace right? |
| 22:30:53 | * | couven92 quit (Ping timeout: 245 seconds) |
| 22:31:35 | * | couven92 joined #nim |
| 22:31:57 | enthus1ast_ | oh have to read proper... |
| 22:37:42 | * | yglukhov joined #nim |
| 22:43:01 | * | yglukhov quit (Ping timeout: 252 seconds) |
| 23:10:16 | * | Senketsu_ joined #nim |
| 23:13:33 | * | Senketsu quit (Ping timeout: 260 seconds) |
| 23:20:30 | * | fredrik92 joined #nim |
| 23:20:54 | * | couven92 quit (Disconnected by services) |
| 23:21:01 | * | fredrik92 is now known as couven92 |
| 23:21:19 | * | fredrik92 joined #nim |
| 23:29:44 | * | enthus1ast_ quit (Read error: Connection reset by peer) |
| 23:30:14 | * | libman quit (Remote host closed the connection) |
| 23:51:43 | * | enthus1ast_ joined #nim |
| 23:59:02 | * | vlad1777d_ quit (Quit: Leaving) |