<< 15-11-2017 >>

00:15:28Chuang-TzuNim on HackerRank (Hacker_rank)? As I'm in the process of learning Nim, it occurred to me to upload the .c file. However, "solution.c:34:10: fatal error: nimbase.h: No such file or directory" Any thoughts?
00:16:20GitDisc<treeform> Varriount, yes it should I will change that.
00:17:08GitDisc<treeform> Varriount, I could do calender + 1.minute, but I don't know if its that useful. It does look cool though.
00:17:51*jdhorwitz joined #nim
00:24:50dom96flyx: just saw your post on https://www.reddit.com/r/programming/comments/7ctwi7/yaml_sucks/. Nice :)
00:27:04*Jesin quit (Quit: Leaving)
00:28:32*vlad1777d_ quit (Ping timeout: 260 seconds)
00:34:19*libman joined #nim
00:34:54*jsgrant joined #nim
00:43:02GitDisc<treeform> cool post, we I kind of knew YAML sux as it so hard to remember the syntax.
00:43:20GitDisc<treeform> Some one linked to similar post on why JSON sux, http://seriot.ch/parsing_json.php
00:43:30GitDisc<treeform> and because I like JSON it feels more eye opening.
01:09:45*jsgrant quit (Remote host closed the connection)
01:11:59*jdhorwitz quit (Ping timeout: 248 seconds)
01:22:56FromGitter<Varriount> I work with both JSON and YAML on a daily basis. I prefer YAML.
01:23:45*marenz__ quit (Ping timeout: 248 seconds)
01:24:06FromGitter<Varriount> What's really neat is YAML's tagging syntax, which allows you to tag elements with metadata
01:25:13GitDisc<treeform> I am sure you can get used to YAML, but when ever I have to touch it I always have to have to have the YAML docs open. Not so with JSON.
01:28:38FromGitter<Varriount> treeform: Do you work with Python at all?
01:29:57GitDisc<treeform> Yes I do.
01:35:53*jinshil joined #nim
01:38:15*JappleAck quit (Quit: Leaving)
01:38:46*kalkin-- joined #nim
01:42:25*kalkin--- quit (Ping timeout: 248 seconds)
02:15:59*MJCaley joined #nim
02:25:52*jsgrant joined #nim
02:40:51*yglukhov joined #nim
02:45:20*yglukhov quit (Ping timeout: 268 seconds)
02:58:07*chemist69 quit (Disconnected by services)
02:58:12*chemist69_ joined #nim
02:58:54*craigger quit (Ping timeout: 246 seconds)
02:59:41*craigger joined #nim
03:00:07*endragor joined #nim
03:01:22*SenasOzys quit (Ping timeout: 268 seconds)
03:11:07*endragor quit (Remote host closed the connection)
03:11:38*endragor joined #nim
03:12:20GitDisc<awr> is there a proc in the nim standard lib way to check if the OS is amd64 (whether or not the executable is 32-bit)
03:14:03FromGitter<Varriount> awr: https://nim-lang.org/docs/system.html#hostCPU
03:14:19FromGitter<Varriount> There might also be a symbol defined, but that's the publically documented way.
03:14:49FromGitter<Varriount> You can do `when hostCPU == "...":`
03:14:50GitDisc<awr> thanks!
03:15:19FromGitter<Varriount> Actually, that's something that should be documented - the conditional symbols that one can use at compile time.
03:16:03FromGitter<Varriount> awr: Looks like you can also do "when defined(amd64):", although it's not documented.
03:17:08FromGitter<Varriount> awr: What are you trying to do?
03:19:49GitDisc<awr> making a build system thing
03:20:00GitDisc<awr> with nake
03:21:51GitDisc<awr> there are some variables i have for CPU, OS to compile for, etc. and when they are undefined i want them to match the system it's being built on
03:26:02GitDisc<awr> when defined(amd64) won't really work as i'm trying to tell if the OS is amd64, not the executable
03:30:19GitDisc<awr> if i recall nim compiler will just build automatically for the CPU arch it's being compiled on when --cpu is not specified, which would be fine
03:30:45GitDisc<awr> but i want i386 and amd64 builds to be put in different directories
03:51:00GitDisc<awr> idk if that made any sense
03:53:49GitDisc<awr> i'm an idiot
03:54:03GitDisc<awr> i should just use defined(amd64) instead of this OS detection nonsense
03:54:05*libman quit (Quit: Connection closed for inactivity)
03:54:14*sz0 joined #nim
03:55:53*mwbrown quit (Ping timeout: 250 seconds)
03:58:06*mwbrown joined #nim
05:01:04*dddddd quit (Remote host closed the connection)
05:02:41*jdhorwitz joined #nim
05:07:10*jdhorwitz quit (Ping timeout: 268 seconds)
05:17:49Chuang-TzuIs there an option to generate a .c file w/out the dependency on nimbase.h?
05:32:14FromGitter<Varriount> Chuang-Tzu: Why?
05:32:34FromGitter<Varriount> nimbase.h contains the low-level C definitions requires for Nim programs to compile.
05:38:13Chuang-TzuFromGitter, I want to upload the .c file to hakerrank.com, since they don't have Nim support.
05:38:15FromGitterChuang-Tzu, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
05:39:45Chuang-TzuVarriount:
05:42:46*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
06:02:18*jdhorwitz joined #nim
06:06:25*jdhorwitz quit (Ping timeout: 248 seconds)
06:11:49*skrylar joined #nim
06:27:35*endragor quit (Remote host closed the connection)
06:39:44*nsf joined #nim
06:43:37FromGitter<vegansk> Hello everybody. I'm glad to introduce the library for database schema migrations, similar to flywaydb :-) https://github.com/vegansk/dbschema
06:44:28skrylarneat.
07:03:01*endragor joined #nim
07:03:27*sz0 quit (Quit: Connection closed for inactivity)
07:07:21*endragor quit (Ping timeout: 240 seconds)
07:21:51*endragor joined #nim
07:27:52skrylarseems to be a bit of database work going on in nim as of late
07:36:41*Arrrr joined #nim
07:36:41*Arrrr quit (Changing host)
07:36:41*Arrrr joined #nim
07:39:31*PMunch joined #nim
07:42:01*lurker joined #nim
07:42:42FromGitter<Varriount> Chuang-Tzu: They don't support multiple files? If not, you can just include it by hand
07:43:17*yglukhov joined #nim
08:01:04*arnetheduck quit (Ping timeout: 268 seconds)
08:02:33*gokr joined #nim
08:07:39*arnetheduck joined #nim
08:10:57*arecaceae quit (Remote host closed the connection)
08:11:16*arecaceae joined #nim
08:23:23FromGitter<mratsim> Also you must use the same OS as them or cross compile since Nim C is platform specific
08:24:28*claudiuinberlin joined #nim
08:24:29FromGitter<mratsim> Btw toml seems nicer than YAML for config
08:27:43*cspar quit (Ping timeout: 248 seconds)
08:51:42FromGitter<Varriount> @mratsim TOML doesn't have metadata tags.
08:51:53FromGitter<Varriount> Does it have ordered maps?
08:53:37couven92Araq, regarding PR #6640, i merged in origin/devel, but there still seem to be issues with the httpclient tests on AppVeyor (ref.: https://ci.appveyor.com/project/Araq/nim/build/2261/tests )
08:54:27Araqcouven92: we need to disable this test for appveyor then
08:54:32Araqit's flaky
08:54:47couven92should I create a new PR for that then?
08:55:27*yglukhov quit (Ping timeout: 240 seconds)
08:58:41*yglukhov joined #nim
08:58:52skrylarwell, i like yaml. the difference between yaml and toml, though, is that toml's spec is maybe ~20 pages in pdf, while yamls is 100
08:59:15skrylarthe division seems to be (these days) TOML for user-edited configs, and JSON for machine data
08:59:48skrylaralthough Godot has switched entirely over to toml now, for some reason. think it had to do with storing data in git?
09:00:16*endragor quit (Remote host closed the connection)
09:00:19skrylarthey're also doing hashmaps that remember insertion order for the same reason; to minimize the size of git diffs
09:01:40*jinshil quit (Quit: Good-bye!)
09:05:07FromGitter<alehander42> toml seems just a bit limited currently tho
09:05:51FromGitter<alehander42> I've used yaml even for generated/intermediate data format, just because it's so much easier to read than json
09:07:06skrylarit's not meant to be all-inclusive
09:09:10skrylarnimble says we have a yaml implementation. should check it out and see how good that is
09:09:28skrylarOne thing of note is that simpler data formats = smaller code = less wasted resources and smaller attack surface
09:19:14*endragor joined #nim
09:23:24Araqcouven92: ok but copy what I did for 'travis' in the tester
09:23:41FromGitter<mratsim> NimYAML is top notch since it's made by flyxwho was promoted to core YAML dev
09:23:56Araq^^ indeed.
09:24:02couven92Araq, what did you do for travis in the tester? I was gonna branch of current origin/devel for new PR
09:24:13Araqjust grep for it
09:24:20couven92okay
09:24:46Araqhow does C++'s __compressed_pair work?
09:25:44*willc joined #nim
09:25:57Araqnever mind, I know how it works
09:27:15couven92Araq, nimgrep does not return anything for travis (did `nimgrep travis .`)
09:27:45Araqnimgrep travis --ext:nim --recursive tests/testament
09:28:02couven92thx!
09:28:32Araqhttp://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2554.pdf so ... in order to support "allocators" C++ only had to inject this concept into every STL container
09:28:53cremI once travelled with HDD and at border control I was asked to show how it works!
09:29:09cremLuckily I didn't travel with __compressed_pair.
09:29:23FromGitter<alehander42> HAHAH
09:29:39Araqthe similarities to what I attempted to do with regions are stunning
09:33:11couven92Araq, for tests: how to disable for multiple things? comma-separated list of strings, or two disabled statements?
09:33:37Araqdisabled: ["travis", "appveyor"] iirc
09:33:42couven92great!
09:33:53Araqor maybe your solution, can't remember
09:34:32Araqcrem: it seems much better to distinguish between memory and resources...
09:35:05Araqwe need the concept of an "important destructor"
09:36:04Araqfree() # an unimportant destructor
09:36:13Araqclose() # an important destructor
09:36:48Araqwhen I use a memory region for allocations I can skip every unimportant destructor call
09:37:06Araqbut must still care about the important destructors
09:40:03*salewski joined #nim
09:40:27cremNot sure that I have all the context. When I complained about missing of the destructors, I indeed mostly meant non-memory resources, as GC would more or less care about the memory.
09:43:06salewskiDoes someone know what that expandArgs means, mentioned yesterday as "expandArgs setCol(context), Color"
09:43:28salewskiI can not find expandArgs in stdlib or manual.
09:47:41Araqsalewski: it's what Nim allows to be implemented, today
09:47:47Araqit doesn't exist yet
09:48:08Araqvariations are also possible like
09:48:18AraqsetCol(context)**Color
09:48:22AraqsetCol(context)*Color
09:48:40salewskiOK, thanks.
09:48:41Araqunpack setCol, context, Color
09:49:27Araqbut not
09:49:39AraqsetCol(context, unpack Color) ;-)
09:50:03AraqI tried to explain why yesterday
09:50:05salewskiOK, bye.
09:50:11*salewski quit (Quit: WeeChat 1.9.1)
09:50:59couven92okay Araq new PR https://github.com/nim-lang/Nim/pull/6744, test running now. The solution was to have two disabled statements, doing the array notation breaks
09:51:29couven92running the GitHub CI tests now
09:57:44*jsgrant quit (Ping timeout: 255 seconds)
10:00:52*salewski joined #nim
10:03:25salewskiPorting some Ruby code, I still wonder why direct multiplication of int with float is not supported:
10:03:30salewskipda.hadjustment.setUpper(pda.darea.allocatedWidth.float * pda.userZoom)
10:03:48salewskiWhy have I to write .float ?
10:03:57*xkapastel quit (Quit: Connection closed for inactivity)
10:04:31salewskiIt may be about precision, but when result of multiply is float we do not expect exact precision.
10:04:42*marenz__ joined #nim
10:04:53salewskiIs it about possible overflow?
10:05:27cremThat's called Starke Typisierung!
10:06:11*chemist69_ quit (Ping timeout: 240 seconds)
10:06:35*chemist69 joined #nim
10:06:41salewskiUnfortunately I have some expresions with ints and floats, I can not really avoid it, so many .float looks not that nice.
10:07:24salewskiOf course I can define my own * proc for that...
10:07:33cremI don't know nim well, but I guess you can define the *, yes.
10:08:11Araqthe paradigm of system.nim is generally, operator: T * T -> T
10:08:26salewskiYes I can, but I would like to know why it is not available by default. Just in case someone ask me.
10:08:33Araqnot T * U -> GuessType(T, U)
10:08:54FromGitter<mratsim> Only int32 can be fully represented as float64
10:09:03Araqsalewski: integers do not convert to float because it's impossible without losing information
10:09:21Araqyes, what mratsim said
10:09:25cremI wonder if FPU has double*int as a separate instruction (I guess not). But if it does, it would make sense to enable that in language.
10:09:38Araqcrem: pretty sure it doesn't
10:09:49FromGitter<mratsim> It doesn't
10:10:04salewskiYes, but when floats are involved we all know that we have no exact precision, so we expect loosing information.
10:10:25FromGitter<mratsim> There is imul for integer (1 cycle) and another instruction I don't remember for double
10:10:31Araqimplicit conversions must not lose information in Nim.
10:11:07salewskiOK, I will try to remember that. Not a real problem for me.
10:11:16Araqconverter toFLoat*(x: int): float # maybe you want that
10:11:45salewskiYes I know that that is possible.
10:11:48cremThere is some FIMUL 8087 instruction..
10:12:19cremI cannot find the description for it so far though.
10:12:30AraqI could also live with a lenient.nim stdlib module that adds more pluses and muls etc
10:12:49cremhttp://x86.renejeschke.de/html/file_module_x86_id_104.html <- so it seems that there is double*int instruction in FPU
10:13:13FromGitter<mratsim> If Intel/AMD could remove all the hardware support for useless instructions we could have at least 20~30% more die space I guess ;) technical debt at its shiniest.
10:13:53Araqmratsim: I think it was 3%
10:14:21Araqthe caches take up most of the space anyway
10:14:43FromGitter<mratsim> FIMUL works only for int32 @crem
10:14:51FromGitter<mratsim> Oh :/
10:16:11*salewski quit (Quit: WeeChat 1.9.1)
10:18:36FromGitter<mratsim> Tail call optimization (2009 article) gets discussed again on HN: https://news.ycombinator.com/item?id=15694633
10:18:47Araq"When the i7 detects a loop and if the loop can fit all of its converted micro-code into the instruction cache, it will shut down the decoder to save power."
10:18:52Araqhttps://www.anandtech.com/show/3593
10:26:02*floppydh joined #nim
10:31:31*Vladar joined #nim
10:34:11couven92Araq, okay commit https://github.com/nim-lang/Nim/pull/6744 that disables thttpclient is ready to merge, and with that PR merged, I can also complete the `asArray` macro and make that one green as well
10:40:22skrylarmratsim: arguably if we just used risc then we would save even more :>
10:50:42hohlerdehow would you model an opaque C type in nim, so that you can use it for c library calls?
10:50:43hohlerdee.g. typedef struct libusb_device libusb_device;
10:50:44hohlerdeand the function's parameter is libusb_device *** list
10:51:26*beatmox quit (Remote host closed the connection)
10:52:34Araqtype libusb_device = object
10:56:22*hohlerde sent a long message: hohlerde_2017-11-15_10:56:22.txt <https://matrix.org/_matrix/media/v1/download/matrix.org/kBnPOHpxqUbLgxdVZJCKteSC>
10:56:39hohlerdeis that the way one would do it or is there a better way?
10:57:41hohlerdeI am asking because I am experiencing memory problems with the list returned by the libusb library
10:58:39hohlerdeand only when compiling for 32bits (using libusb 32bit binary distribution) on windows
11:03:21Araqlibusb is broken on 32bits
11:03:36Araqand Nim has nothing to do with it, looked at it years ago ...
11:10:23couven92Hmmm... I am putting a char to Rune converter into the unicode module... writing `'_'.Rune` is a bit inconvenient
11:11:19couven92I am also thinking of wrting a string to Rune converter, to simplify doing `"å".runeAt(0)`
11:12:37couven92Although, the string to unicode is kina dangerous... maybe that should be a macro that accepts a string?
11:12:45couven92a static string I mean
11:14:21skrylarAraq, admittedly 32 bit systems are awkward to find these days
11:24:58ArrrrI-i don't agree
11:26:42*jdhorwitz joined #nim
11:31:13*jdhorwitz quit (Ping timeout: 248 seconds)
11:33:43skrylarArrrr, where are you finding them?
11:34:09skrylarMobile? Old point of sale terminals?
11:36:22cremI have some 32-bit fit-pcs running at home. Annoyingly hard to find a linux distro for them.
11:37:05federico3embedded / SBCs
11:37:36ArrrrIn my heart
11:42:37*SenasOzys joined #nim
11:43:33*floppydh quit (Quit: WeeChat 1.9.1)
11:44:23*floppydh joined #nim
11:55:55hohlerdearaq: thx and I am glad I'm not the only experiencing these problems
11:56:28cremBeing glad for others having problems is not nice!
12:02:42hohlerdecrem: sorry, I don't mean it that way.
12:07:48FromGitter<mratsim> I think he was just messing with you
12:08:25cremYep I wasn't serious, sorry.
12:10:55FromGitter<mratsim> The end is near: Python2 is on it dying bed: https://github.com/numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst
12:15:10skrylarcrem: doesn't debian still target i386
12:15:43cremYes, that's why I have to use it and not, say, arch.
12:16:23skrylarI appreciate how much easier pacman is to use than apt
12:16:46skrylarMaking debs isn't super hard from what i can tell, but there's more to it than just "copy pkgbuild snippet, done"
12:16:53FromGitter<mratsim> I’m always confused by apt-get, apt-search, apt-cache, apt-whatever ...
12:17:16skrylari 'downgraded' to sid on a laptop, going to on the desktop when the files are in order
12:17:24couven92@mratsim, when in an interactive shell, use simply `apt`
12:17:30skrylarArch never detonated my desktop, but i like sharing packages between computers
12:17:44FromGitter<mratsim> detonated?
12:18:04skrylari keep getting arch updates that bork the install on a laptop and requires dropping to shell to deal with !FUN!
12:21:57FromGitter<mratsim> Ah, the last one for me was due to systemd. Systemd revealed a bug in a kernel driver and eth0 did not autostart anymore. Fun time for a server ….
12:22:22skrylardebian almost ended up not using systemd ._.
12:22:24FromGitter<mratsim> https://bugs.archlinux.org/task/55993
12:33:07FromGitter<mratsim> is there a extension convention for file serialized through marshal? .marshal?
12:33:52FromGitter<mratsim> maybe soldier since they are file and rank and not marshal ;)
12:35:06Araq.json ...
12:36:46skrylaror something that identifies it as what you're storing
13:00:58*Snircle joined #nim
13:06:19*elrood joined #nim
13:29:58skrylarbleh, need a nap. next chunk of firebird stuff is the weird datatypes like their date/times and blobs
13:33:04skrylarI have no idea how many people will actually use this. It's a back and forth debate over letting parts of the API remain C-like because meh, or trying to use macros to make it better. Like the XSQLVAR types
13:33:39skrylarits easy enough to have shortcut templates that just set the type and replace a pointer to a local value in one neat "set variable 2 to this long var"
13:34:00AraqC-lovers will use nothing but C anyway, give us Nim specific things :-)
13:42:14*dddddd joined #nim
13:47:56*floppydh quit (Quit: WeeChat 1.9.1)
13:48:02*Arrrr1 joined #nim
13:48:02*Arrrr quit (Disconnected by services)
13:53:48hohlerdeomg, found the problem
13:55:14hohlerdelibusb binary distributions for windows are compiled with stdcall convention. the nim wrapper for libusb uses cdecl hardcoded.
14:00:17cremThere is/will be nothing like unique_ptr in nim, is there? I'm trying to use sdl2 wrapper, and it's easy to forget to release resources, I miss RAII.
14:00:18Araqhohlerde: nice catch :-)
14:00:38Araqcrem: it's in the works
14:02:21*jdhorwitz joined #nim
14:03:02*floppydh joined #nim
14:03:24dom96hohlerde: oh man
14:03:30dom96I was going to suggest that...
14:04:05hohlerdeyou already did by mentioning the corrupted stack
14:04:13dom96But I didn't because you said it worked with the previous version of Nim
14:04:28yglukhovcrem: there are finalizers. less deterministic, and require additional allocation, but could be of use.
14:04:31dom96I'm still wondering how that could have been
14:05:38yglukhovcrem: actually i found finalizers to be "deterministic enough" for acyclic types.
14:06:21hohlerdelibusb provides mingw and vc binary distributions. maybe I accidentally used the mingw one with the previous nim version
14:08:52hohlerdemhm, mingw behaves the same. well, I messed it up, that's for sure :)
14:13:18dom96AFAIK all Windows libraries in general use stdcall
14:14:11hohlerdeso, now I'll try to set the callconv dynamically
14:14:56yglukhovhohlerde: why? that's something that should be known statically
14:15:25hohlerdethe wrapper works for mac, linux and windows libs
14:26:19avsejhi guys. I saw in some places nim tests compare floats using == operation. https://github.com/nim-lang/Nim/blob/devel/lib/pure/stats.nim#L313-L319 Is it done intentionally? It does not look reliable and portable to me. Why not use subtract and compare result in some bounds?
14:28:15*d10n-work joined #nim
14:30:00*skrylar quit (Remote host closed the connection)
14:31:05*redlegion quit (Ping timeout: 240 seconds)
14:31:11*dddddd quit (Ping timeout: 240 seconds)
14:31:20*redlegion joined #nim
14:31:20*redlegion quit (Changing host)
14:31:20*redlegion joined #nim
14:31:36avsejproper assertion should do something like this http://floating-point-gui.de/errors/comparison/. If I make patch to fix all float comparisons, would you consider it, @Araq?
14:32:51FromGitter<andreaferretti> @avsej it depends
14:33:04FromGitter<andreaferretti> Sometimes you may want to check that some floats are actually equal
14:33:15FromGitter<andreaferretti> Think of the case where you do not perform any operations on them
14:33:16avsejyou mean bit-to-bit?
14:33:21FromGitter<andreaferretti> Yup
14:33:29avsejbut in this case you should not compare them as floats
14:33:39FromGitter<andreaferretti> Say I have a struct person with may fields
14:33:40avsejbut rather convert to some binary strings
14:33:45FromGitter<andreaferretti> One of them is a float
14:33:58FromGitter<andreaferretti> Now I have a sequence of such structs
14:34:06FromGitter<andreaferretti> I perform some operation on the sequence
14:34:12FromGitter<andreaferretti> And I want to test the result
14:34:38FromGitter<andreaferretti> For instance, the operation I test selects the first person with some property
14:34:50FromGitter<andreaferretti> My test checks that this is equal to a given person
14:34:58FromGitter<andreaferretti> Here I should have equality
14:35:04FromGitter<andreaferretti> I didn't even touch floats
14:35:15FromGitter<andreaferretti> At most they were copied inside sequence operations
14:35:39FromGitter<andreaferretti> My point is - floats *can* be exactly equal for good reaons
14:35:55FromGitter<andreaferretti> When you are testing something else than floating point operations
14:36:54FromGitter<andreaferretti> Sometimes you want approximate equality - that is fine, you can use another operator as I do here https://github.com/unicredit/neo#equality
14:37:35*dddddd joined #nim
14:38:17FromGitter<andreaferretti> `unittest` could have some custom assertions for floats as well
14:41:25avseji see, but right now I'm seeing lots of errors in places like I've pointed above, where tests compare results of some calculation to constants, which does not fall into category of identity comparison
14:42:08avsejthose error triggered when I build with OS-recommended compiler flags (I'm using Fedora)
14:42:35avsejand fails everywhere except x86_64 :)
14:43:09avsejwhich I bet the most popular one and it might be very few people care to run tests on the others
14:52:48*jsgrant joined #nim
14:56:09*floppydh quit (Quit: WeeChat 1.9.1)
14:57:36FromGitter<andreaferretti> can you point to these tests?
14:57:45FromGitter<andreaferretti> It seems to me it would make more sense to fix those
14:58:47FromGitter<couven92> @Araq @dom96
14:58:58avsejsure, this is the log from i686 platform: https://kojipkgs.fedoraproject.org//work/tasks/4592/23144592/build.log, scroll down to the bottom, or search page for "Error: "
15:00:26avsejslightly different but from the same ballpark on ppc64: https://kojipkgs.fedoraproject.org//work/tasks/4591/23144591/build.log
15:02:04avsejit uses default nim.cfg with just two lines added in the bottom
15:02:06avsejgcc.options.always %= "${gcc.options.always} -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tables"
15:02:07avsejgcc.options.linker %= "${gcc.options.linker} -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld"
15:03:26FromGitter<couven92> I have finally gotten back to playing with unicode again... as soon as the disabled httpclient test is merged in, we can merge the asArray macro as well, and then we can use it in unicode! :)
15:04:05*gokr quit (Ping timeout: 240 seconds)
15:05:33*lurker quit (Quit: Leaving)
15:21:54FromGitter<mratsim> Somehow I read that as asAraq
15:26:04avsejI managed to minimize floats issue this this one: https://gist.github.com/avsej/f0f98bf64a142c9e6e9b988aa054281d
15:26:33avsejit is sensitive to -O level, -O2 breaks it on all platforms except x86_64
15:26:58Araqavsej: please report the failing tests
15:33:42avsejok. I will do it
15:40:25avsejhm, actually this case is documented in GCC: https://gcc.gnu.org/wiki/FAQ#PR323
15:40:56avsejAraq, I will just list sensitive tests, and they will be fixed not to use ==?
15:41:04*PMunch quit (Quit: Leaving)
15:50:28*joshbaptiste quit (Ping timeout: 240 seconds)
15:55:45federico3quiz: q=@["", "foo", "bar"]; q.del(0) what's q now?
15:56:02avsej@["foo", "bar"]?
15:57:52*sz0 joined #nim
15:59:51federico3https://tio.run/##y8vM/f@/LLFIoVDBVsEhWklJR0EpLT8fRCUlFinFWisU6qWk5mgYaForpCZn5CsU/v8PAA
16:00:39federico3!eval var q = @["", "foo", "bar"]; q.del(0); echo q
16:00:42NimBot@[bar, foo]
16:04:29*joshbaptiste joined #nim
16:07:49*nitely joined #nim
16:08:23nitelycan unicode module be removed from nimScript?
16:10:41nitelyI'd like to have a function that can process runes from a stream, but that requires unicode module to import streams
16:11:05nitelyand streams can not be a NimScript
16:11:14nitelyso wondering if that would be an issue in the first place
16:11:47*Jesin joined #nim
16:11:56Araqavsej: they will be fixed yes
16:12:46Araqnitely: you can wrap your new proc/import in 'when not defined(nimscript)'
16:15:19nitelyAraq: awesome, that works!
16:15:40*nsf quit (Quit: WeeChat 1.9.1)
16:16:01nitelythanks!
16:17:54*gokr joined #nim
16:18:23Araqyou're welcome
16:19:14avsejAraq, btw another issue with tests: https://github.com/nim-lang/Nim/pull/6703
16:23:22dom96yay, got my Nim t-shirt :D
16:25:35*gokr quit (Ping timeout: 240 seconds)
16:25:53FromGitter<brentp> does a nimble package have to be at the root git directory? I'd like to have a single repo with a few sub-projects each with their own nimble packge.
16:28:26*Arrrr1 quit (Quit: Leaving.)
16:29:39*jdhorwitz quit (Quit: WeeChat 1.9.1)
16:30:00avsejAraq, it turned out that there are not many such broken float tests :) https://github.com/nim-lang/Nim/issues/6747
16:30:04avsejonly two
16:30:18*ShalokShalom joined #nim
16:33:01federico3brentp https://github.com/nim-lang/nimble/issues/421
16:37:47*enthus1ast- joined #nim
16:41:33FromGitter<brentp> federico3: cheers
16:50:30*jsgrant quit (Ping timeout: 246 seconds)
17:00:24*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
17:02:53FromGitter<mratsim> @federico3 that is surprising
17:02:57FromGitter<mratsim> !eval var q = @["", "foo", "bar"]; q.del(0); echo q
17:02:59NimBot@[bar, foo]
17:03:00couven92Uhm, can someone force refresh github? I get no stylesheets, javascript or anything... just the regular HTML... Force flushed Browser cache, DNS resolver cache, someone else having this issue right now?
17:03:13*JappleAck joined #nim
17:04:06federico3it is
17:04:28FromGitter<mratsim> I used to use del and insert to hold dimensions metadata and I didn't have this ordering issue in my tests ^o/
17:05:00FromGitter<mratsim> !eval var q = @["1", "foo", "bar"]; q.del(0); echo q
17:05:02NimBot@[bar, foo]
17:05:28*Trustable joined #nim
17:05:28federico3!eval var q = @["1", "2", "3", "4"]; q.del(0); echo q
17:05:30NimBot@[4, 2, 3]
17:05:41federico3it's adding back the last element
17:08:07FromGitter<mratsim> !eval var q = @[1, 2, 3]; q.del(0); echo q
17:08:10NimBot@[3, 2]
17:08:20FromGitter<andreaferretti> I think the point is making `del` O(1)
17:08:41*endragor quit (Remote host closed the connection)
17:08:47FromGitter<mratsim> It should preserve order though
17:08:50FromGitter<andreaferretti> so it just puts the last element in the slot that remains free
17:08:59FromGitter<andreaferretti> It cannot without moving everything
17:09:40FromGitter<freevryheid> hi, trying to format a float to 3 significant digits such that when f = 0.1 then $f = "0.100", any suggestions?
17:09:49FromGitter<andreaferretti> https://nim-lang.org/docs/system.html#del,seq[T],Natural
17:10:01FromGitter<andreaferretti> https://nim-lang.org/docs/system.html#delete,seq[T],Natural
17:10:13FromGitter<andreaferretti> there exist both `del` and `delete`
17:10:30FromGitter<andreaferretti> !eval var q = @[1, 2, 3]; q.delete(0); echo q
17:10:32NimBot@[2, 3]
17:10:45*miran joined #nim
17:11:10FromGitter<mratsim> Ah I used delete hence I didn't have the bug
17:12:03miranhi guys, anybody had "No 'nim' binary could be found in PATH: " problem recently in VS Code?
17:12:08FromGitter<mratsim> Not bug, feature
17:12:38FromGitter<mratsim> @miran not since April/I switched to choosenim
17:13:26mirani've installed nim via choosenim, added /nimble/bin to $PATH, terminal recognizes nim
17:13:55couven92can someone explain to me why `name` has to be a static string and cannot be `untyped` in this macro? https://gist.github.com/1dea1dcb374256b6e90e5217856de015
17:14:27FromGitter<krux02> well it actually can be untyped
17:14:49mirannimsuggest seems not to be working too
17:14:54couven92@krux02 no it cannot, then I get undeclared identifier 'blubb'
17:14:58FromGitter<krux02> you should just now that untyped is actually of type "NimNode", and static[string] is actually of type "string"
17:15:27FromGitter<krux02> let me test it
17:17:28miran@mratsim - my problems *started* with choosenim.... :/ (cc dom96)
17:17:29FromGitter<krux02> well I did test it
17:17:36FromGitter<krux02> and it does work with untyped
17:17:40FromGitter<krux02> you code just works
17:17:53FromGitter<krux02> I just get problems when both functions are there
17:18:23FromGitter<krux02> namedFor with ``static[string]`` and ``untyped`` argument
17:18:24FromGitter<freevryheid> hmm, formatFloat
17:18:33FromGitter<stisa> @freevryheid use `formatFloat` from strutils https://glot.io/snippets/evisfre31d
17:18:33FromGitter<krux02> maybe it is a bug in symbol resolution
17:19:41couven92@krux02, ah it's the overload that messes it up, okay, that's fine, I didn't want the static-string variant anyways! :)
17:19:44couven92Thx! :D
17:22:54*yglukhov quit (Remote host closed the connection)
17:27:42*couven92 quit (Quit: Client disconnecting)
17:28:20*PMunch joined #nim
17:30:42*yglukhov joined #nim
17:31:10*fvs joined #nim
17:34:06*endragor joined #nim
17:35:01*yglukhov quit (Ping timeout: 240 seconds)
17:38:10*jaccarmac joined #nim
17:38:11*endragor quit (Ping timeout: 240 seconds)
17:57:08FromGitter<Varriount> @miran I had a problem recently where a Nim program inserted a null character in my PATH variable, causing Windows to only read part of the variable when new programs requested it.
17:58:10miran@varriount it is strange because both system's terminal and vs code terminal do recognize nim
17:58:30FromGitter<Varriount> Oh, Hm. Not the same problem then.
17:58:41jaccarmac@Varriount interesting. I've also run into bugs on Windows that involved strings getting cut off
17:58:51jaccarmacIs there a known source for the null characters?
17:59:00miranthe error that i mentioned lists PATH, but it is "original path", without directories added in .bashrc
17:59:33mirani'm not sure if it is vscode error or nim extension error
17:59:36FromGitter<Varriount> The end of Nim strings are null-terminated.
17:59:55*TjYoco joined #nim
17:59:58FromGitter<xomachine> Hi, all! ⏎ Is it possible to get type pragmas in declaration returned from getImpl()? ⏎ ⏎ ```code paste, see link``` ⏎ ... [https://gitter.im/nim-lang/Nim?at=5a0c809ee606d60e34ca1b14]
18:00:04FromGitter<Varriount> Strings are both length-prefixed and null terminated
18:00:20jaccarmac@Varriount: Was aware of null-termination, not the prefix
18:01:24FromGitter<Varriount> jaccarmac: Well, technically length prefixed
18:01:37*Sentreen quit (Ping timeout: 248 seconds)
18:01:50mirani'm thinking this is vscode issue - similar thing happens if i use python - it doesn't recognize python path i added, it usses system's python
18:01:50FromGitter<Varriount> It's not actually mixed with the string data, it's in a structure member
18:04:28jaccarmacmiran: How are you setting your path?
18:04:38FromGitter<Varriount> miran: Could vscode be only reading from the system path environment?
18:04:54FromGitter<Varriount> Not the user path variable?
18:04:54miran@Varriount yes, this might be
18:05:21miranjaccarmac: `export PATH=/home/miran/.nimble/bin:$PATH` in .bashrc
18:06:20miranjaccarmac: as i said, system recognizes new directories added to PATH, but vscode, it seems, uses just a system path (as @Varriount just mentioned)
18:07:12FromGitter<Varriount> Are you running on Windows, or *nix?
18:07:19miranlinux
18:08:55*yglukhov joined #nim
18:09:30jaccarmacbashrc will only run in a terminal
18:09:49jaccarmacSo unless you are launching X from a shell that variable isn't going to affect applications you launch from X
18:10:04*drs joined #nim
18:10:14jaccarmacSorry if this is known to you, it's low hanging fruit on Linux and sounded somehwat likely
18:11:23miranOMG, this might be it jaccarmac
18:11:42mirani've tried to run vscode from terminal and it seems it is ok now
18:13:19*yglukhov quit (Ping timeout: 248 seconds)
18:15:30*Sentreen joined #nim
18:15:39miranjaccarmac: any way to make those added directories widely available?
18:19:08enthus1ast-jaccarmac: i've added nim to my /etc/environment
18:20:58enthus1ast-^ miran
18:21:13FromGitter<mratsim> @miran check this, it was on OSX but you might find some inspiration: https://github.com/pragmagic/vscode-nim/issues/46
18:21:40FromGitter<alehander42> is the stackTrace option on or off by default ?
18:22:12FromGitter<alehander42> it seems that it's on when I am compiling my Nim compiler
18:22:32FromGitter<alehander42> but I can't really find out why, only thing in config cfg
18:22:33FromGitter<alehander42> is stacktrace:off
18:22:36FromGitter<alehander42> for release
18:23:19miranenthus1ast-: ok, i'll try to see that
18:25:51*claudiuinberlin joined #nim
18:26:50FromGitter<alehander42> ah I found a connection nvm
18:27:58*Trustable quit (Remote host closed the connection)
18:30:12*nsf joined #nim
18:32:05*Arrrr joined #nim
18:32:05*Arrrr quit (Changing host)
18:32:05*Arrrr joined #nim
18:33:03*ofelas joined #nim
18:35:49*lurker joined #nim
18:40:15*miran quit (Quit: Konversation terminated!)
18:40:54*nitely quit (Ping timeout: 260 seconds)
18:45:56*jsgrant joined #nim
18:47:45*miran joined #nim
18:50:41miranguys, thanks for the help! i've added nim bin via /etc/profile.d - now everything works as it should
18:55:43*ofelas quit (Remote host closed the connection)
19:13:30*miran quit (Quit: Konversation terminated!)
19:22:51*drs left #nim (#nim)
19:25:47*couven92 joined #nim
19:27:12*Mat4 joined #nim
19:28:17*yglukhov joined #nim
19:33:39*fvs left #nim ("ERC (IRC client for Emacs 25.3.1)")
19:36:06couven92Araq, dom96: okay, the `asArray` macro is now running tests green. #6640 ready to merge! :)
19:38:39GitDisc<treeform> What does asArray macro do?
19:39:25GitDisc<treeform> oh this: https://github.com/nim-lang/Nim/issues/6563
19:39:27GitDisc<treeform> I see now.
19:39:38couven92@treeform: yup! :)
19:40:02couven92since I play a lot with the `unicode`, this is a real must-have for me! ;)
19:46:53*SenasOzys quit (Read error: Connection reset by peer)
19:47:05*SenasOzys joined #nim
19:50:50Araqso many PRs... :-)
19:51:53Araqcouven92: shouldn't targetType be of type 'typedesc'?
19:52:12couven92Araq, you said not to
19:53:03*Mat4 quit (Ping timeout: 248 seconds)
19:53:48couven92Araq, https://github.com/nim-lang/Nim/pull/6640#discussion_r149011944
19:54:20AraqgetType != typedesc
19:56:35*ofelas joined #nim
19:57:06*BitPuffin|osx joined #nim
19:57:26*dyce[m] quit (Ping timeout: 276 seconds)
19:57:26*ehmry quit (Ping timeout: 276 seconds)
19:57:37couven92Well, the fun part about using untyped, is that we can use any proc that takes one argument here :)
19:58:04couven92Like I do in the test where I apply the `$` proc on an array of floats
19:59:57*Mat4 joined #nim
20:01:24avsejhaving =~ for floats helps with comparing floats in tests (just like with Complex). What do you think, Araq? I can make PR
20:02:02couven92avsej, well, what is the tolerance?
20:02:39avsejif constant acceptable for Complex, why can't it be acceptable for floats? https://github.com/nim-lang/Nim/blob/v0.17.2/lib/pure/complex.nim#L22
20:03:08*Vladar quit (Quit: Leaving)
20:03:52couven92avsej, good point, I don't really care, I stay away from floats as much as possible (apart from NaN appearently)
20:04:01avsej:)
20:04:38avsejhaving constant epsilon with =~ operator is better than nothing :) I will make PR
20:04:59FromGitter<mratsim> the const is not exported but the approximate comparison is, hum. I really think everyone that cares about float precision should define it’s own
20:05:06FromGitter<mratsim> its*
20:05:35Araqavsej: go ahead but mratsim is right, the epsilon or =~ cannot be part of the stdlib
20:05:36avsejanother solution is to have 3-argument assertion template for floats
20:05:39*Mat4 quit (Ping timeout: 268 seconds)
20:05:40FromGitter<mratsim> 1e-7 is great around 0 but completely useless in place where ulp is big
20:06:23*ehmry joined #nim
20:06:29*dyce[m] joined #nim
20:06:53FromGitter<mratsim> iirc float tests define eps and =~ for tests but do not export it
20:11:27avsejAraq, platform detection in makefile was broken too: https://github.com/nim-lang/Nim/pull/6751
20:12:23*vlad1777d_ joined #nim
20:12:58couven92avsej, what was broken?
20:14:21avsej1) it didn't detect arm platform correctly; 2) when it didn't detected it incorrecly reported $uos, but should show actual $myos to help debugging this makefile
20:21:43*NimBot joined #nim
20:23:31avsejbetter now (I've updaed PR)?
20:23:54couven92great! thanks! :)
20:26:20Araqmakefile.tmpl is not as important, the official docs don't mention 'make'
20:28:20federico3was this meant to allow the {} syntax? "$animal eats $food." % ["animal", "The cat", "food", "fish"]
20:28:52*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:29:20*Arrrr quit (Read error: Connection reset by peer)
20:29:23*xkapastel joined #nim
20:32:36*claudiuinberlin joined #nim
20:34:45FromGitter<mratsim> There is no Nim option :/ Bomberman battle of the bots with programming languages: https://booking.riddles.io/competitions/ms.-hack-man/how-to-play
20:38:54dom96mratsim: I bet they accept contributions :)
20:39:23Araqfederico3: no, it predates the {:} syntax :-(
20:39:33*couven92 quit (Quit: Client Disconnecting)
20:40:04*couven92 joined #nim
20:40:29federico3pity. I'd be happy to have a slightly more powerful formatter in the stdlib
20:41:04*Trustable joined #nim
20:42:55couven92Anyways, Araq, dom96, is it evil that my asArray accepts untyped or should I revert back to typedesc? If I should revert Araq has to tell me how to use typedesc without getType
20:43:35Araqfederico3: there is a pending PR for that
20:44:29*yglukhov joined #nim
20:48:55*ShalokShalom quit (Remote host closed the connection)
20:56:13avsejare talking about this one? https://github.com/nim-lang/Nim/pull/6507
20:56:19federico3yep
20:58:20*lurker quit (Quit: Leaving)
21:00:20FromGitter<brentp> how can I create a `set[char]` from a string?
21:01:37FromGitter<brentp> there is not a constructor?
21:03:06FromGitter<brentp> ok. I just use sets module and toSet. thought I could use the builtins
21:03:44Araqhuh? generally you start with the set[char] directly
21:04:00Araqlike {'A'..'Z', '_', '0'..'9'}
21:22:58*Trustable quit (Remote host closed the connection)
21:23:32*jsgrant quit (Ping timeout: 255 seconds)
21:33:06Chuang-TzuWhat's with this? "Error: undeclared identifier: 'spawn'" This is from sample code in "Nim in Action". spawn is in listed in the docs.
21:35:28*BitPuffin|osx quit (Ping timeout: 248 seconds)
21:37:13*vivus joined #nim
21:37:45Chuang-TzuNever mind, I found the problem.
21:39:51dom96hello Chuang-Tzu :)
21:39:56*ofelas quit (Quit: shutdown -h now)
21:42:59Chuang-Tzuhowdy, dom96
22:02:00*yglukhov quit (Remote host closed the connection)
22:05:00*fvs joined #nim
22:05:52*jaccarmac quit (Ping timeout: 260 seconds)
22:06:39fvshi, any way to save and restore a large seq to/from disk?
22:08:19*lurker joined #nim
22:08:40Araqmratsim: does '=sink' work for you?
22:09:58Araqfvs: for loops and file IO do the job. currently it's hard to use memory mapped files for this
22:10:12FromGitter<mratsim> @Araq I didn’t try yet, took the week off Arraymancer and did some Project Euler instead
22:11:24Araqwell try it
22:13:04*jsgrant joined #nim
22:13:15dom96I wonder if it would be possible to just save addr(mySeq[0]), sizeof(mySeq[0])
22:13:28dom96*sizeof(mySeq[0])*len(mySeq)
22:13:37Araqdom96: if the elements are blobs, yes
22:14:58dom96cool
22:15:58FromGitter<mratsim> building a bench for it
22:18:32*Mat4 quit (Quit: leaving)
22:18:49fvsemi, what's a blob? A seq[object]?
22:19:56*gokr joined #nim
22:22:04Araqdom96: is this ok with Nimble https://github.com/nim-lang/Nim/pull/6750 ?
22:22:24Araqfvs: a pointer-free data structure
22:22:52dom96Araq: I think so, can you think of any reasons why it wouldn't be?
22:22:54Araqseqs and strings could as pointers
22:23:19Araqdom96: because I'm not sure what APIs Nimble uses it could mess up Nimble's output
22:24:38dom96well
22:24:40*yglukhov joined #nim
22:25:11dom96https://gist.github.com/dom96/fe0559cd6fcc6e0df1cc3f76de907629
22:25:34dom96It would be nice to turn this output off I guess
22:25:44dom96This warning is also worrying
22:25:53dom96but I bet that's because Nimble was compiled with an older compiler
22:27:03*nsf quit (Quit: WeeChat 1.9.1)
22:28:57*yglukhov quit (Ping timeout: 240 seconds)
22:33:33avsejis there some nim release schedule already?
22:34:15GitDisc<treeform> fvs, speaking about blobs, I stored strings in fixed width char arrays, for my TimeZone data, just so that I can dump the easily.
22:34:48GitDisc<treeform> fvs: https://github.com/treeform/chrono/blob/master/chrono/timezones.nim#L57
22:35:13GitDisc<treeform> Then i used toArray and toString on those "packed" strings.
22:39:14FromGitter<brentp> Araq (re sets) yeah. Realized that after.
22:40:28Araqavsej: I still dream about v0.18 being RC v1 ...
22:41:39Araqchristmas would be nice
22:42:01Araqbut it's unrealistic -.-
22:56:07*lurker quit (Quit: Leaving)
23:00:33*fvs left #nim ("ERC (IRC client for Emacs 25.3.1)")
23:01:08*PMunch quit (Quit: leaving)
23:12:26FromGitter<mratsim> @Araq it’s not working as expected: ⏎ ⏎ ```nim c --newruntime -d:newruntime -d:native -d:release``` ⏎ ⏎ I get the following results: 9.5 sec with old and new runtime, and 1.5 sec by using “unsafeView” directly in the loop [https://gitter.im/nim-lang/Nim?at=5a0cc9d9505b630c05ea242e]
23:12:30*jsgrant quit (Ping timeout: 268 seconds)
23:12:46FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/cnhj/2017-11-15_23-51-16.png)
23:13:01FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/4KBb/2017-11-16_00-09-47.png)
23:13:02FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/r8i3/2017-11-15_23-52-37.png)
23:14:31Araqthat's totally not how '=sink' works, read my blog post :P
23:14:57FromGitter<mratsim> lol okay :P
23:15:21Araqyou can only *move* if you don't access it afterwards
23:15:44Araqyou access it plenty of times since the usage is in a loop...
23:16:38avsejwhat is newruntime?
23:18:02*d10n-work quit (Quit: Connection closed for inactivity)
23:18:23Araq"Nim v2" *cough*
23:18:40AraqNim with move semantics, destructors and memory regions
23:18:53Araqvaporware
23:19:27Xenim 2 is like go 2?
23:19:34Araqbut it's good to have a longterm vision IMO.
23:20:34dom96heh, I just re-watched Linus' TED talk where he says he's not a visionary
23:20:38dom96Are you a visionary Araq? :)
23:20:43Araqyes.
23:20:57AraqI don't reinvent Unix.
23:21:15*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
23:22:58FromGitter<mratsim> Trying this but it doesn’t move mmm ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a0ccc51cc1d527f6b7667b3]
23:23:38Araqdo you seriously think I do a whole program analysis to figure this out?
23:24:19Araqdon't write toys, use a 'main' proc at least, seriously.
23:26:13*elrood quit (Quit: Leaving)
23:26:46FromGitter<mratsim> still not working, I’ll try with custom seqs
23:28:06*yaiyan quit (Ping timeout: 246 seconds)
23:28:17Araqyou might need to add a dummy =destroy
23:28:28Araq(that's a bug then that I'll fix)
23:29:57*yaiyan joined #nim
23:32:07*jsgrant joined #nim
23:32:10FromGitter<mratsim> ah
23:32:23FromGitter<mratsim> I got a stack trace: ⏎ ⏎ Error: internal error: (filename: ccgexprs.nim, line: 972) ⏎ No stack traceback available ⏎ To create a stacktrace, rerun compilation with ./koch temp c <file> [https://gitter.im/nim-lang/Nim?at=5a0cce86540c78242d0b441a]
23:32:35FromGitter<mratsim> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5a0cce9371ad3f8736ecaab7]
23:33:53FromGitter<mratsim> oh it’s because I have a [T] generic leftover and CustSeq doesn’t need generics
23:34:16FromGitter<mratsim> I will open a bug
23:36:27*ketralnis quit (Quit: Coyote finally caught me)
23:37:50FromGitter<mratsim> I can =sink with the custom seq
23:38:35*arnetheduck quit (Ping timeout: 240 seconds)
23:39:44FromGitter<mratsim> but for value returned by functions (rule 2), rule 3 doesn’t seem to work (last read of)
23:41:15FromGitter<mratsim> I’ve added some echo to the gist to show that
23:41:45Araqok
23:45:07*bkerin joined #nim
23:46:20bkerinI don't understand what macros.quote is doing
23:46:59bkerino maybe I do
23:47:01bkerinsort of
23:48:05bkerinrepr just does something odd with its output
23:48:25Araqmacros.repr needs to be deprecated
23:48:33Araqit should have been $ instead
23:48:40Araqanother issue for v0.18...
23:49:23bkerinok
23:50:32FromGitter<mratsim> quote do allows you to use the normal proc/template syntax in a block instead of having to use the AST syntax
23:50:53*MJCaley1 joined #nim
23:51:08bkerinI got that mostly
23:52:34bkerinmacros.repr says undefined identifier, so it's system.repr that's doing odd thing, it represents a quote of a simple declaration like this: var foo141227 = 42