00:05:42 | * | shashlick quit (Remote host closed the connection) |
00:05:55 | * | krux02 quit (Remote host closed the connection) |
00:08:14 | * | shashlick joined #nim |
00:13:25 | FromDiscord | <sillibird> When I use rand on an openarray, i get the same result every time? |
00:15:23 | FromDiscord | <sillibird> nevermind, got it using randomize |
00:23:22 | * | leorize joined #nim |
00:27:41 | * | V-X joined #nim |
00:34:49 | * | noeontheend quit (Ping timeout: 244 seconds) |
00:38:44 | * | m712 quit (Ping timeout: 250 seconds) |
00:39:50 | * | m712 joined #nim |
00:49:05 | * | V-X quit (Ping timeout: 255 seconds) |
00:51:21 | * | zestyr quit (Quit: WeeChat 2.3) |
00:56:03 | * | Cthalupa quit (Ping timeout: 246 seconds) |
00:57:49 | * | Cthalupa joined #nim |
00:58:16 | * | zachk quit (Quit: night) |
01:01:48 | * | V-X joined #nim |
01:03:38 | * | oculuxe joined #nim |
01:04:48 | * | oculux quit (Ping timeout: 246 seconds) |
01:08:38 | * | oculux joined #nim |
01:11:14 | * | oculuxe quit (Ping timeout: 272 seconds) |
01:18:28 | * | stefanos82 quit (Remote host closed the connection) |
01:21:10 | * | oculuxe joined #nim |
01:23:07 | * | oculux quit (Ping timeout: 246 seconds) |
01:29:08 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
01:50:25 | * | zestyr joined #nim |
02:04:10 | * | oculux joined #nim |
02:06:16 | * | oculuxe quit (Ping timeout: 244 seconds) |
02:11:05 | * | oculuxe joined #nim |
02:12:07 | * | oculux quit (Ping timeout: 245 seconds) |
02:14:42 | * | oculux joined #nim |
02:15:22 | * | oculuxe quit (Ping timeout: 250 seconds) |
02:20:39 | V-X | Question about how to properly use macros in sub-packages. I have a pass-through macro that I use as a pragma that adds a proc's name and parameters to a seq, from there I use the seq to generate other logic to handle for all the procs that were registered. The issue I'm having is the macro that generates the logic is inside a package called `serve |
02:20:39 | V-X | r` and the procs that get marked with the custom pragma are in a seperate package which depends on the `server` package which causes the logic macro to fire before any procs are registered due to the dependency hierarchy. Araq suggested making a `emitRemotes` call into the `server` package but I'm not sure how that would be done in practice. Any su |
02:20:40 | V-X | ggestions? |
02:24:41 | * | oculuxe joined #nim |
02:26:05 | ryukoposting | damn, apparently I need to get more acclimated with nim's package hierarchy cause I had to read that a few times to get it |
02:26:41 | * | oculux- joined #nim |
02:26:50 | ryukoposting | I don't think i can help much though man, sorry |
02:27:11 | * | oculux quit (Ping timeout: 255 seconds) |
02:27:19 | V-X | I may have worded it weird, sorry if it's confusing, didn't want to write a wall of text. |
02:28:34 | ryukoposting | you're fine, I'm just not familiar enough with how nim handles namespaces and packages to know how to approach your problem, let alone solve it |
02:29:12 | * | oculuxe quit (Ping timeout: 245 seconds) |
02:31:10 | ryukoposting | my "dumb" solution would be to just bring the macro downward in the package hierarchy, i.e. move it into a module that would force both of the other packages to get handled first |
02:31:37 | ryukoposting | but I can imagine that isn't necessarily possible in all cases |
02:38:28 | V-X | I've created a gist that conveys my issue: `remotesImpl` is the macro that generates the logic, and `remote` is the pass through macro while server_impl.nim is the example upstream package. https://gist.github.com/ImVexed/c07c05120a87ccfbf6240a7f390451dc |
02:45:21 | ryukoposting | ooooh alright, so let me make sure I have this right |
02:46:10 | ryukoposting | when you import the module into server_impl, remotesImpl immediately fires when it should fire after the declarations of ping, login, and status |
02:46:28 | V-X | correct |
02:47:04 | V-X | Araq mentioned explicitly calling the code gen but I have no idea what that would look like in this case. |
02:47:07 | ryukoposting | okay, cool. when you described it before I thought you meant that there was a cross-package dependency causing the problem, not a module-level thing |
02:51:01 | * | flaviu joined #nim |
03:02:34 | * | banc quit (Quit: Bye) |
03:21:03 | * | mwbrown joined #nim |
03:23:15 | * | banc joined #nim |
04:01:36 | FromDiscord | <sillibird> is there a workaround for having a boolean in httpclient MultipartData? |
04:20:47 | * | nsf joined #nim |
04:50:29 | * | Jjp137 quit (Read error: Connection reset by peer) |
04:51:36 | * | Jjp137 joined #nim |
04:58:15 | * | vlad1777d quit (Ping timeout: 246 seconds) |
05:17:55 | * | leorize quit (Remote host closed the connection) |
05:38:04 | * | dddddd quit (Remote host closed the connection) |
05:54:42 | FromGitter | <viell> @FromIRC I have added but it doesn't seem to be compiled |
06:08:07 | FromGitter | <kayabaNerve> It responds if you ping it? TIL |
06:18:54 | * | vlad1777d joined #nim |
06:23:44 | * | krux02 joined #nim |
06:25:37 | FromGitter | <viell> @kayabaNerve nop |
06:37:45 | FromGitter | <kayabaNerve> @FromIRC test |
06:37:55 | * | narimiran_ joined #nim |
06:38:01 | FromGitter | <kayabaNerve> :thinking: Viell tried to betray my trust. |
06:52:19 | * | chimez joined #nim |
06:56:39 | * | chimez quit (Client Quit) |
07:11:26 | * | narimiran_ is now known as narimiran |
07:37:42 | FromGitter | <mratsim> @V-X I'(m not too sure, but if you want to make sure an identifier is present when the macro is used you might want to use bindSym instead of newIdentNode |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:04:34 | * | gmpreussner joined #nim |
08:17:28 | * | sealmove joined #nim |
08:17:53 | * | PMunch joined #nim |
08:25:10 | * | Vladar joined #nim |
08:29:01 | krux02 | newIdent is fine |
08:30:34 | krux02 | newIdent will be an identifier that will be resolved in the context where the macro is expended, while bindSym can bind to symbols that are only avaialbe in the module where the macro is written. |
08:30:50 | krux02 | so you can use bind sym to use functions that you don't want to export |
08:31:28 | * | sealmove quit (Quit: WeeChat 2.4) |
08:42:34 | * | Jjp137 quit (Quit: Leaving) |
08:45:04 | * | Jjp137 joined #nim |
08:47:58 | * | absolutejam quit (Quit: WeeChat 1.9.1) |
08:57:50 | * | neceve joined #nim |
09:00:56 | * | ng0 joined #nim |
09:12:05 | * | JustASlacker joined #nim |
09:17:01 | * | Arlenx joined #nim |
09:18:54 | * | Pisuke joined #nim |
09:19:12 | * | MyMind quit (Ping timeout: 245 seconds) |
09:25:20 | * | beaumonta joined #nim |
09:25:27 | * | abeaumont quit (Ping timeout: 245 seconds) |
09:30:05 | * | gangstacat quit (Ping timeout: 245 seconds) |
09:30:50 | * | gangstacat joined #nim |
09:31:45 | * | disruptek_ joined #nim |
09:32:26 | * | banc quit (Ping timeout: 255 seconds) |
09:33:30 | * | MightyJoe joined #nim |
09:35:05 | * | banc joined #nim |
09:35:08 | * | disruptek quit (Remote host closed the connection) |
09:35:08 | * | cyraxjoe quit (Ping timeout: 245 seconds) |
09:35:28 | * | druonysus quit (Ping timeout: 245 seconds) |
09:35:49 | * | druonysus joined #nim |
09:35:49 | * | druonysus quit (Changing host) |
09:35:49 | * | druonysus joined #nim |
09:38:38 | * | sz0 quit (Quit: Connection closed for inactivity) |
09:41:47 | * | abm joined #nim |
09:48:13 | * | floppydh joined #nim |
09:59:09 | FromGitter | <gogolxdong> How to write a nimterop file of git? |
10:09:07 | * | volkov joined #nim |
10:20:39 | FromGitter | <mratsim> you have to ping @shashlick |
10:23:31 | FromGitter | <gogolxdong> sure, I didn't see him recently. |
10:29:55 | * | theelous3 joined #nim |
10:35:22 | FromGitter | <mratsim> maybe @genotrance |
10:50:47 | FromGitter | <matrixbot> `Juan Carlos` I love Stroppings on Nim. No more klazz, cl4ss, clas, like Python, just use the same word backtick'd. :) |
11:24:06 | * | stefanos82 joined #nim |
11:42:17 | * | leorize joined #nim |
11:52:34 | FromGitter | <hfabre> Hi there, very new to nim, I justed wanted to try cross compilation with lib ui; i tried: |
11:54:21 | FromGitter | <hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c7528ed608c6f373627ca36] |
11:54:29 | FromGitter | <hfabre> but I run into this: |
11:54:56 | FromGitter | <hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c75290f608c6f373627cb7c] |
11:55:10 | FromGitter | <hfabre> any idea on how to solve this ? |
12:02:30 | FromGitter | <hfabre> Seems to work without issue with iup, i'll try this one for now. But if you have a solution I would prefer to use what might become Nim's official UI library. |
12:05:03 | * | volkov quit (Quit: volkov) |
12:10:18 | * | lritter joined #nim |
12:10:19 | FromGitter | <hfabre> Hop after try I have some issue as well with lib iup. When I compile it on my host for my host (MacOS) it works but I get: |
12:10:35 | FromGitter | <hfabre> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c752cbbc1cab53d6f3fc7bd] |
12:11:37 | FromGitter | <hfabre> compiled with `nim c -d:nimDebugDlOpen uip.nim` |
12:27:26 | * | gmpreussner_ joined #nim |
12:29:21 | * | neceve_ joined #nim |
12:29:25 | * | sknebel_ joined #nim |
12:30:03 | FromGitter | <mratsim> you need the dll neer the build binary or in your LD_LIBRARY_PATH |
12:30:17 | FromGitter | <mratsim> near* |
12:30:22 | * | arecacea1 joined #nim |
12:30:23 | * | gmpreussner quit (Ping timeout: 246 seconds) |
12:30:23 | * | kungtotte quit (Ping timeout: 246 seconds) |
12:30:24 | * | neceve quit (Ping timeout: 246 seconds) |
12:30:24 | * | V-X quit (Ping timeout: 246 seconds) |
12:30:24 | * | sknebel quit (Ping timeout: 246 seconds) |
12:30:25 | * | kungtotte joined #nim |
12:30:28 | * | banc quit (Ping timeout: 255 seconds) |
12:30:29 | * | arecaceae quit (Ping timeout: 255 seconds) |
12:30:29 | * | so quit (Ping timeout: 255 seconds) |
12:30:30 | * | zestyr quit (Ping timeout: 255 seconds) |
12:30:30 | * | masterdonx quit (Ping timeout: 255 seconds) |
12:30:30 | * | Jesin quit (Ping timeout: 255 seconds) |
12:30:30 | * | bobby quit (Ping timeout: 255 seconds) |
12:30:31 | FromGitter | <mratsim> near the built binary |
12:30:39 | * | MasterdonY joined #nim |
12:30:47 | * | so_ joined #nim |
12:30:50 | FromGitter | <mratsim> iirc most are using nimx at the moment for UI |
12:30:54 | * | zestyr joined #nim |
12:31:08 | FromGitter | <mratsim> https://github.com/yglukhov/nimx |
12:31:56 | * | Jesin joined #nim |
12:32:26 | * | bobby joined #nim |
12:33:36 | * | marcazar joined #nim |
12:35:17 | * | banc joined #nim |
12:36:05 | * | marcazar quit (Client Quit) |
12:37:02 | * | marcazar joined #nim |
12:38:52 | * | marcazar quit (Client Quit) |
12:40:25 | * | marcazar joined #nim |
12:41:29 | livcd | i have not seen any application in nimx :/ |
12:41:33 | livcd | is there some in the wild ? |
12:43:07 | * | marcazar quit (Remote host closed the connection) |
12:43:38 | * | marcazar joined #nim |
12:48:43 | leorize | livcd: I believe reel valley uses it |
12:50:59 | PMunch | hfabre, another option if you want cross platform UIs is to use wxnim |
12:51:16 | PMunch | It also comes with a nice macro to create your UIs more easily |
12:51:50 | narimiran | how about https://github.com/trustable-code/NiGui ? |
12:51:54 | livcd | leorize: oh yeah but i meant other than reel valley..too bad i was not able to compile it |
12:52:28 | livcd | there's also sciter |
12:55:22 | PMunch | I really should get my lib working.. |
13:05:36 | FromDiscord | <Zireael> hey guys, working on baby's first Nim program, and coming from Python, I'm trying to figure out an equivalent to the following: |
13:05:36 | FromDiscord | <Zireael> try: |
13:05:36 | FromDiscord | <Zireael> self.loop_until_terminal_exits() |
13:05:36 | FromDiscord | <Zireael> except KeyboardInterrupt: |
13:05:37 | FromDiscord | <Zireael> pass |
13:05:37 | FromDiscord | <Zireael> finally: |
13:05:37 | FromDiscord | <Zireael> terminal.close() |
13:06:38 | FromDiscord | <Zireael> I know Nim has some sort of a try/except equivalent, but is there a KeyboardInterrupt https://docs.python.org/2/library/exceptions.html#exceptions.KeyboardInterrupt equivalent? |
13:08:20 | FromGitter | <hfabre> Going to try those lib, thanks :) |
13:09:02 | FromGitter | <matrixbot> `Juan Carlos` https://github.com/juancarlospaco/nim-presentation-slides/blob/master/ejemplos/avanzado/control_c/catch_ctrl_c.nim |
13:15:28 | * | dddddd joined #nim |
13:16:04 | * | lritter quit (Ping timeout: 246 seconds) |
13:18:45 | * | lritter joined #nim |
13:28:43 | * | sknebel_ is now known as sknebel |
13:29:20 | * | lritter quit (Remote host closed the connection) |
13:37:12 | * | Snircle joined #nim |
13:42:55 | * | lritter joined #nim |
13:43:46 | shashlick | @gogolxdong do you mean pulling a repo with nimterop? |
13:44:44 | shashlick | Here's a few examples |
13:44:45 | shashlick | https://github.com/nimterop/nimterop/blob/master/tests/tsoloud.nim |
13:45:00 | * | gangstacat quit (Quit: Ĝis!) |
13:45:02 | shashlick | https://github.com/genotrance/feud/tree/master/wrappers |
13:47:19 | shashlick | What are you planning on wrapping? |
14:02:35 | * | beaumonta is now known as abeaumont |
14:02:54 | FromGitter | <arnetheduck> given a `Table`, what's the best way to iterate over the entries and remove some based on a condition? a bad way is to copy the keys to a separate seq and walk it, doing lookups again.. |
14:03:53 | * | gangstacat joined #nim |
14:08:10 | Zevv | yeah, good question. I've been told here the latter is the only way |
14:08:56 | Zevv | having deletion-safe iterators would be great, but alas |
14:09:27 | FromGitter | <mratsim> Python does not have deletion safe iterators |
14:09:39 | Zevv | so what? |
14:09:42 | Zevv | Lua does |
14:09:50 | Zevv | also, so what. This is Nim, we don't have to look at others :) |
14:10:17 | FromGitter | <mratsim> what I meant was that it's not an easy problem |
14:10:33 | FromGitter | <mratsim> maybe SharedTable have something |
14:11:29 | FromGitter | <arnetheduck> well, it's an easy problem if you have powerful-enough iterators ;) |
14:13:23 | Zevv | but is it? It probably seriously limits the implementation if you can't reorganize after a delete. |
14:13:44 | Zevv | I guess it might be more simple for ordered tables, as the 'next' is not ambigious after a delete |
14:14:33 | FromGitter | <mratsim> there is no next in table, they make no guarantee of order |
14:14:43 | Zevv | right |
14:15:32 | FromGitter | <matrixbot> `Juan Carlos` doesnt critbit has that?, Ive never tried. |
14:15:51 | FromGitter | <mratsim> isn't critbit only for strings? |
14:16:17 | * | rockcavera quit (Ping timeout: 245 seconds) |
14:16:56 | Araq | I use a seq/array when that happens and an idiom like while i < x.len: if cond: x[i] = x[x.high]; setLen(x, x.len-1) else: inc i |
14:18:44 | Araq | I don't understand how "powerful-enough iterators" make it possible, it depends on the details of the table implementation |
14:18:55 | * | aguspiza joined #nim |
14:22:48 | FromGitter | <arnetheduck> Araq, that doesn't solve the problem though.. effectively, `Table` is hobbled because while there exist ways to walk&delete tables in `O(N)` and no extra memory, there's no such api offered. "powerful-enough iterators" means that they're first-class citizens that represent the relationship between an item and its collection, and can be used for all such purposes (deleting, relative inserting etc etc) - true, they're |
14:22:48 | FromGitter | ... one solution among many, but obviously a well-established one |
14:24:20 | FromGitter | <gogolxdong> @shashlick , I meant making git with Nim. |
14:24:49 | FromGitter | <mratsim> iterators are supposed to leave the original collection untouched though (like filter for seq). |
14:24:59 | FromGitter | <mratsim> in-place mutation shouldn't be called iterator |
14:27:43 | Zevv | obliterator? omiterator? revisiterative? |
14:30:14 | FromGitter | <arnetheduck> sure, find a better name if you wish, but that's kind of beside the point.. technically, it's not the iterator that mutates things - it merely serves as a placeholder to identify the position of an item in a collection.. from there, you can do what you wish with it (move in directions, use it as a pointer with other collection methods etc) |
14:30:31 | FromGitter | <mratsim> obliterator lol |
14:30:40 | * | rockcavera joined #nim |
14:31:11 | FromGitter | <mratsim> I think we call that a pointer from where I came from ;) |
14:32:50 | Araq | I don't know about these "well established" solutions, most languages don't offer them. |
14:33:32 | * | Arlenx quit (Quit: Leaving) |
14:33:56 | Araq | databases do but usually the overhead is so high that the goto-table implementation of a PL is better off not attempting to support these stunts |
14:37:31 | shashlick | Perhaps make a seq of keys to delete and loop thru that |
14:38:03 | Zevv | avoiding that was the original question of arnetheduck |
14:38:22 | shashlick | No he was making a seq of all table keys |
14:39:03 | shashlick | @gogolxdong want to wrap libgit2? |
14:39:14 | shashlick | I think there was already one |
14:39:22 | Zevv | only he can tell: "...is to copy the keys to a seperate seq...". Which keys? |
14:39:34 | FromGitter | <arnetheduck> shashlick, yeah thats's mostly the same though, O(N) extra mem and O(N log N) perf |
14:40:43 | shashlick | I see, depends how many keys you delete at a time |
14:41:16 | Araq | fwiw I would like to replace the Table implementation with BTrees because I'm tired of whale-a-mole hashing solutions where there is always some insertion order that produces O(n) results |
14:41:37 | * | rockcavera quit (Remote host closed the connection) |
14:41:55 | Araq | *whack-a-mole |
14:42:42 | * | abm quit (Read error: Connection reset by peer) |
14:45:32 | FromGitter | <mratsim> B-Trees in stdlib would be nice |
14:46:23 | Araq | there is compiler/btrees |
14:48:03 | FromGitter | <mratsim> hash tables are such an active area of research :P benchmarks everywhere: https://attractivechaos.wordpress.com/2018/01/13/revisiting-hash-table-performance/ and https://www.tommyds.it/doc/benchmark |
14:53:04 | Araq | In this micro-benchmark (source code here), we have N 32-bit integers with ~25% of them are distinct." -- doesn't seem to cover my use cases |
14:56:52 | Araq | and usually there is demand to throw away some performance in order to avoid exploitable worse cases |
15:00:28 | FromGitter | <Varriount> ryukoposting: Are you there? I'm doing an AWS thing too |
15:01:54 | FromGitter | <arnetheduck> so `nim` gives a nod to this problem by having a `keepIf` etc for `seq` - it's just not extended to the other collections, and the "solved problem" way of dealing with this is usually abstracting "position", and yes, calling that an iterator so that it's easy to compose.. that said, it's more a property of the collection library and not the language.. |
15:03:35 | * | PMunch quit (Remote host closed the connection) |
15:06:02 | FromGitter | <mratsim> I think this should be solved by a common container concept or interface, |
15:06:44 | FromGitter | <mratsim> like we have indexable and iterable planned |
15:07:24 | FromGitter | <mratsim> so that brings consistency to whatever will be created in the future |
15:08:07 | FromGitter | <mratsim> (ideally we shouldn't design that too ahead of any implementation to not paint ourself in a corner) |
15:08:33 | Zevv | and having an explict api will make clear to the users which iteratables allow delete-while-iterating -> less confusion |
15:09:17 | Zevv | araq's idiom might be efficient, but its not obvious |
15:10:38 | FromGitter | <arnetheduck> Zevv, Araq's idiom is "don't use `Table`" - not sure if that falls within the scope of a "not obvious" discussion |
15:12:40 | Zevv | true |
15:12:53 | FromGitter | <mratsim> allocating extra space is often slow |
15:22:35 | FromGitter | <gogolxdong> @shashlick, not exactly, I am going to update git with QUIC protocol, need to know a quicker way. |
15:24:05 | * | noeontheend joined #nim |
15:24:12 | * | Trustable joined #nim |
15:27:04 | FromGitter | <slomp> Is there a way to have `passC` pragmas only affect the module in which it's being used, instead of latching through all other modules? |
15:27:20 | FromGitter | <mratsim> no documented way ;) |
15:27:26 | FromGitter | <mratsim> but I have an undocumented one |
15:27:49 | FromGitter | <mratsim> you can use a nim.cfg like so - https://github.com/numforge/laser/blob/master/nim.cfg |
15:27:50 | FromGitter | <slomp> would you be so kind as to please elaborate :) |
15:28:19 | FromGitter | <mratsim> your_file.always = "-yourflag" |
15:28:28 | FromGitter | <mratsim> and it will pass the C flag to the compiler |
15:28:48 | FromGitter | <mratsim> your_file should be replaced by your nim file name (without .nim) |
15:29:11 | FromGitter | <mratsim> if it's a nimble module it should be prefixed with your nimblepackage_your_file.always |
15:29:26 | FromGitter | <mratsim> (because the C file produced will have the nimble package name as prefix) |
15:29:51 | FromGitter | <mratsim> (and the .cfg is looking doing matching rule with C file) |
15:30:14 | * | waleee joined #nim |
15:30:24 | FromGitter | <mratsim> @Araq thoughts on having a "local" passC? |
15:30:31 | FromGitter | <slomp> Ah, interesting. Thanks! ⏎ It's a bit cumbersome, but good to know. ⏎ Would be nice if we could simply `{.push.}` and `{.pop.}` things like `passC`. |
15:30:47 | FromGitter | <mratsim> that would be super helpful for me for SIMD and also Cuda compilation. |
15:31:28 | FromGitter | <mratsim> also I wouldn't need to distributed my nim.cfg to others that want to use my library |
15:33:22 | FromGitter | <slomp> Yeap. ⏎ Not only local to a nim file, but local at the pragma level: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c755c41d2d62067b70d915d] |
15:35:52 | * | neceve_ quit (Remote host closed the connection) |
15:40:52 | * | krux02 quit (Remote host closed the connection) |
15:46:24 | * | federico3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
15:48:12 | * | federico3 joined #nim |
15:55:44 | FromDiscord | <Zireael> weird, "for i .. < width" |
15:55:44 | FromDiscord | <Zireael> I am getting a deprecation warning for < on all such lines |
15:55:44 | FromDiscord | <Zireael> writing for i .. width-1 is annoying... really, why deprecation? |
15:55:59 | FromDiscord | <Zireael> nim 0.19.4 btw |
15:56:03 | narimiran | @Zireael `..<` |
15:56:08 | narimiran | without space |
15:56:57 | FromDiscord | <Zireael> weird, but ok, thanks |
15:57:35 | narimiran | we have `..` and `..<`. one is inclusive, other one is not. what is weird there? |
15:58:00 | FromDiscord | <Zireael> weird is that the spacing matters |
15:58:21 | narimiran | can you call `foo` like `fo o`? |
16:00:35 | FromDiscord | <Zireael> < is just a mathematical operator, though |
16:08:26 | * | JustASlacker quit (Remote host closed the connection) |
16:10:41 | FromGitter | <matrixbot> `Juan Carlos` Space wont matter, is the space between the symbols chars that matter: https://wandbox.org/permlink/KxzTTi19StCyeEsQ |
16:11:10 | FromGitter | <matrixbot> `Juan Carlos` Not NEP1 but illustrates the idea. |
16:14:01 | FromGitter | <gogolxdong> That's to say I have to translate chrome first, if anyone think it's viable and got interested in , please let me know, we really need to leverage the power of our community member to make some fundamental tools in Nim. The piece of my effort is so limited that I felt weak when facing to such idea since so much code and knowledge involved that beyond my scope. QUIC provides a strategy step to make Nim popular, I |
16:14:01 | FromGitter | ... call on anyone who is capable to work as a whole to make it come true. This matters Nim and everyone who loves Nim. |
16:14:56 | shashlick | @gogolxdong: so you want git to talk over QUIC instead of ssh/https? |
16:17:49 | FromGitter | <gogolxdong> yes |
16:18:12 | shashlick | i guess you could write a dll/so that git loads and uses perhaps |
16:20:05 | FromGitter | <gogolxdong> still need extract QUIC code from chrome source code or implement QUIC by IETF Draft . |
16:24:05 | shashlick | better to leverage - do you have links to the chrome code |
16:25:11 | FromGitter | <gogolxdong> https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md |
16:25:38 | FromGitter | <gogolxdong> and https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md |
16:27:19 | FromGitter | <gogolxdong> I studied Chrome gn makefile, the demo quic_server and quic_client dependences as follows: ⏎ "//base", ⏎ "//net", ⏎ "//url:url_features", ⏎ "//url", ... [https://gitter.im/nim-lang/Nim?at=5c7568e7608c6f373629952d] |
16:28:53 | FromGitter | <gogolxdong> takes one half hour to fetch code at 10MB/s |
16:29:51 | FromGitter | <gogolxdong> need to go to sleep, good luck! |
16:30:57 | FromGitter | <matrixbot> `Juan Carlos` dat flooding tho |
16:32:47 | shashlick | @gogolxdong - if you can point me to the specific files, will be interesting to see if we can use nimterop to wrap the relevant procs |
16:36:47 | shashlick | it's all C++ so forget nimterop for now |
16:37:18 | shashlick | https://github.com/chromium/chromium/tree/master/net/quic |
16:51:37 | Araq | mratsim: what's a local passc? a pragma? |
16:55:48 | shashlick | file specific |
16:55:59 | shashlick | send a flag for just one file |
16:56:35 | Araq | ah |
17:02:26 | * | aguspiza quit (Ping timeout: 255 seconds) |
17:02:45 | * | Arlenx joined #nim |
17:09:16 | * | icebattle joined #nim |
17:20:14 | * | rockcavera joined #nim |
17:45:21 | FromGitter | <slomp> @mratsim @Araq I created a simple issue thread in case people want to discuss the idea in more depth: https://github.com/nim-lang/RFCs/issues/137 |
17:46:21 | narimiran | thank you for using RFCs repo :) |
17:50:19 | * | natrys joined #nim |
17:51:58 | * | zachk joined #nim |
17:55:11 | * | seerix quit (Remote host closed the connection) |
17:58:49 | FromGitter | <kaushalmodi> I probably missed out some development on devel in last 2-3 weeks |
17:58:54 | FromGitter | <kaushalmodi> `nim c --app:lib --out:libdpi.so libdpi.nim` used to work |
17:59:10 | FromGitter | <kaushalmodi> now that is creating a `libdpi` binary, not libdpi.so |
18:00:35 | * | zachk quit (Changing host) |
18:00:36 | * | zachk joined #nim |
18:05:01 | FromGitter | <Varriount> @kaushalmodi What OS are you on? |
18:07:12 | FromGitter | <kaushalmodi> RHEL 6.8 (GNU/Linux) |
18:07:18 | FromGitter | <kaushalmodi> opened issue at https://github.com/nim-lang/Nim/issues/10747 |
18:13:46 | * | ldlework quit (Quit: co'o ro do) |
18:19:42 | * | ldlework joined #nim |
18:21:41 | * | ldlework quit (Quit: co'o ro do) |
18:23:18 | * | ldlework joined #nim |
18:31:12 | * | abm joined #nim |
18:38:08 | * | V-X joined #nim |
18:48:05 | * | noeontheend quit (Ping timeout: 244 seconds) |
18:55:23 | * | Vladar quit (Read error: Connection reset by peer) |
18:58:51 | * | rockcavera quit (Remote host closed the connection) |
19:18:35 | FromGitter | <coocheenin> Hi, all! I will wonder if choosenim support i386 on Linux? |
19:19:11 | FromGitter | <coocheenin> choosenim-init: Error: Sorry, your platform (linux_i386) is not supported by choosenim |
19:19:33 | Araq | interesting, wasn't aware |
19:19:56 | Araq | you can follow our official installation instructions then, no choosenim, but Nim does work on 32bit linux |
19:20:29 | * | kungtott1 joined #nim |
19:20:37 | * | kungtotte quit (Ping timeout: 246 seconds) |
19:20:39 | * | so_ quit (Ping timeout: 246 seconds) |
19:20:48 | * | zestyr quit (Ping timeout: 255 seconds) |
19:20:48 | * | V-X quit (Quit: Ping timeout (120 seconds)) |
19:20:56 | * | so joined #nim |
19:20:56 | * | zestyr joined #nim |
19:21:00 | * | Jesin quit (Ping timeout: 246 seconds) |
19:21:02 | * | lritter quit (Ping timeout: 255 seconds) |
19:21:26 | * | Jesin joined #nim |
19:21:29 | * | dddddd quit (Ping timeout: 255 seconds) |
19:21:58 | * | dddddd joined #nim |
19:22:00 | * | lritter joined #nim |
19:22:33 | FromGitter | <coocheenin> @Araq Ok, I will try to install from source... |
19:24:54 | * | nsf quit (Quit: WeeChat 2.4) |
19:29:03 | * | Jesin quit (Quit: Leaving) |
19:33:26 | FromGitter | <coocheenin> Sad, CentOS is not to see in package managers list. The only way is installation from source. I'm curious about choosenim init script error |
19:41:31 | * | Jesin joined #nim |
19:45:11 | * | rockcavera joined #nim |
19:52:55 | * | waleee quit (Quit: WeeChat 2.4) |
20:20:59 | FromGitter | <coocheenin> The last step (koch execution) has finished with failure. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c759fab4a65f754733091df] |
20:21:20 | FromGitter | <coocheenin> Maybe somebody knows what exactly goes wrong? |
20:22:29 | Araq | use a GCC from this century |
20:23:22 | FromGitter | <matrixbot> `Juan Carlos` Centos tend too have super old GCC, SSL, PCRE libs. |
20:24:18 | Calinou | I'm not sure if there are official 32-bit Linux binaries available too |
20:24:38 | * | marcazar_ joined #nim |
20:25:42 | FromGitter | <coocheenin> Folks, which version of GCC will require? |
20:26:15 | Araq | C++11 has atomics |
20:26:35 | Araq | any GCC from the last 8 years could do it, maybe |
20:27:17 | * | marcazar quit (Ping timeout: 244 seconds) |
20:30:53 | FromGitter | <coocheenin> I've checked thus version ⏎ `gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ` |
20:32:13 | FromGitter | <matrixbot> `Juan Carlos` GCC 8.2 here. |
20:34:40 | Calinou | is there a CentOS repository that contains an up-to-date toolchain? |
20:34:59 | FromGitter | <matrixbot> `Juan Carlos` If you can get a Docker, because upgrading the GCC on Centos may be more work, and even if you can update the version you will find problems with SSL and PCRE too. |
20:38:20 | Araq | dunno, use an OS where you can update programs independently from the OS or something. I thought "operating" kinda implies that it actually works |
20:38:48 | Calinou | Flatpaks can't be used for low-level system tools or development toolchains :( |
20:38:55 | FromGitter | <coocheenin> > *<Calinou>* is there a CentOS repository that contains an up-to-date toolchain? ⏎ I try to find it. Thanks All. |
20:40:35 | FromGitter | <coocheenin> By the way: Can I cross-compile on Mac to Linux? |
20:41:55 | Calinou | that's possible, I've never done it though |
20:45:47 | * | floppydh quit (Quit: WeeChat 2.3) |
20:48:26 | * | icebattle quit (Quit: leaving) |
20:58:06 | * | Senketsu_ quit (Quit: WeeChat 2.3) |
20:58:15 | shashlick | coocheenin: you could build a binary that works for you with holy build box |
20:58:27 | * | icebattle joined #nim |
20:59:05 | shashlick | I have a script I can share once I get back home to my linux box |
20:59:33 | * | Senketsu joined #nim |
20:59:34 | shashlick | https://github.com/phusion/holy-build-box |
21:00:03 | shashlick | a binary built using that should work on centos 6.8 per their docs |
21:00:44 | shashlick | i can also build and post a binary if you want to trust an unofficial build |
21:12:30 | FromGitter | <brentp> holy build box doesn't work with choosenim |
21:12:34 | FromGitter | <brentp> same error as above. |
21:12:51 | FromGitter | <brentp> before 0.19, it worked, not after |
21:13:38 | * | Arlenx quit (Quit: Leaving) |
21:13:41 | * | Trustable quit (Remote host closed the connection) |
21:14:25 | FromGitter | <coocheenin> @shashlick I will check it out. Thanks. |
21:17:05 | * | marcazar_ quit (Remote host closed the connection) |
21:17:17 | FromGitter | <coocheenin> @brentp thanks for a notice! I will try to install from sources (with holy bb), without choosenim |
21:20:02 | FromGitter | <coocheenin> Additionally I will try to cross-compile to Linux with clang |
21:20:14 | FromGitter | <brentp> I think hbb is centos5, I had to update to centos6. those binaries work for most users, IME |
21:22:46 | FromGitter | <Varriount> We should just build all our binaries with musl |
21:25:47 | * | narimiran quit (Ping timeout: 240 seconds) |
21:27:07 | FromGitter | <matrixbot> `Juan Carlos` A comparation of hbb Vs musl would be cool. |
21:30:53 | * | natrys quit (Quit: natrys) |
21:46:23 | FromGitter | <brentp> a good solutoin for this would be nice. I am currently trying to get a static build for stuff that depends on ssl, libcurl, lzma, bz2, etc. |
21:52:32 | * | carlosmmiranda[m joined #nim |
22:03:53 | shashlick | holy build box won't work for choosenim - you can build choosenim in it if you want, but there's no ready choosenim binary for 32-bit linux |
22:14:45 | * | tiorock joined #nim |
22:14:45 | * | tiorock quit (Changing host) |
22:14:45 | * | tiorock joined #nim |
22:14:45 | * | rockcavera is now known as Guest21846 |
22:14:46 | * | tiorock is now known as rockcavera |
22:18:44 | * | Guest21846 quit (Ping timeout: 250 seconds) |
22:47:03 | * | rockcavera quit (Remote host closed the connection) |
22:57:07 | * | thomasross joined #nim |
23:14:42 | FromGitter | <deech> When Nim export a reference to an object that is not exported (eg. `NonTerminal` https://nim-lang.org/docs/pegs.html#NonTerminal) it seems that client code is able to access the underlying object's fields. For example, `eventParser` (https://nim-lang.org/docs/pegs.html#eventParser.t%2Cuntyped%2Cuntyped) is able to call `p.nt.name` which is the `name`field of the unexported `NonTerminalObj` object. In this case it should |
23:14:42 | FromGitter | ... be an error for `NonTerminalObj` to be private because you can access it but confusingly the docs hide it. Thoughts? |
23:27:51 | rayman22201 | It's more of a doc bug. Technically, NonTerminalObj is exported, but only in ref form. The module is designed to only allow the creation of / usage of refs to NonTerminalObj's. This is a common pattern in the stdlib, but the docs don't deal with it well. |
23:29:18 | * | noeontheend joined #nim |
23:51:22 | FromGitter | <deech> Interesting. When I see a function or object without an `*` I assumed it was private and that I could mess with the internals without breaking client code. Guess not. Maybe a `-` or even a `{.private.} pragma next to the to ensure privacy would be nice: ⏎ ⏎ ```type ⏎ Foo- = object ⏎ ... ⏎ Bar {.private.} = object ⏎ ...``` [https://gitter.im/nim-lang/Nim?at=5c75d0f9608c6f37362c5fea] |
23:57:01 | shashlick | I already have hbb working, just need to integrate into travis/nightlies |
23:57:07 | shashlick | musl isn't as trivial |
23:57:46 | shashlick | coocheenin: am building an x32 build of 0.19.4, once script is working, I'll post online |
23:59:30 | * | lritter quit (Ping timeout: 258 seconds) |
23:59:33 | * | leorize quit (Quit: WeeChat 2.3) |