| 00:02:06 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 00:19:21 | * | lk000 joined #nim |
| 00:19:31 | * | lk000 left #nim (#nim) |
| 00:40:45 | couven92 | Araq, regarding the used pragma. The compiler just complains and does not recognize it. https://github.com/nim-lang/Nim/issues/5810#issuecomment-301055221 |
| 01:20:08 | * | chemist69 quit (Ping timeout: 240 seconds) |
| 01:33:08 | * | couven92 quit (Ping timeout: 240 seconds) |
| 01:49:24 | * | chemist69 joined #nim |
| 01:55:11 | * | pilne quit (Quit: Quitting!) |
| 02:18:58 | * | vlad1777d quit (Remote host closed the connection) |
| 02:43:08 | * | libman quit (Quit: Connection closed for inactivity) |
| 02:46:05 | * | def-pri-pub joined #nim |
| 03:30:38 | * | def-pri-pub quit (Quit: leaving) |
| 03:35:37 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
| 04:11:43 | skrylar | hmm.. nope. atomic still crashes on startup. |
| 04:21:43 | * | skrylar quit (Ping timeout: 246 seconds) |
| 04:38:23 | * | BennyElg quit (Remote host closed the connection) |
| 05:00:39 | * | smt_ joined #nim |
| 05:01:01 | * | smt_ quit (Remote host closed the connection) |
| 05:03:43 | * | smt quit (Ping timeout: 246 seconds) |
| 05:16:08 | FromGitter | <Varriount> skrylar: What's the exception? Is your compiler targeting the correct architecture? |
| 05:32:29 | * | skrylar joined #nim |
| 05:53:34 | skrylar | now to just get nanovg drawing stuff |
| 06:20:40 | * | ludocode quit (Ping timeout: 240 seconds) |
| 06:29:31 | * | nsf joined #nim |
| 06:29:53 | * | ludocode joined #nim |
| 06:30:53 | * | BennyElg joined #nim |
| 06:34:13 | * | Ven joined #nim |
| 06:34:36 | * | Ven is now known as Guest75330 |
| 07:02:11 | * | gokr joined #nim |
| 07:12:34 | * | Arrrr joined #nim |
| 07:14:57 | * | Guest75330 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:18:31 | * | Sembei joined #nim |
| 07:20:13 | * | yglukhov joined #nim |
| 07:21:10 | * | Pisuke quit (Ping timeout: 240 seconds) |
| 07:23:05 | * | Vladar joined #nim |
| 07:23:55 | * | yglukhov quit (Remote host closed the connection) |
| 07:40:28 | * | aedigix quit (Quit: disconnecting) |
| 07:42:50 | * | yglukhov joined #nim |
| 07:54:23 | * | Gonzih quit (Quit: WeeChat 1.7.1) |
| 07:55:00 | * | yglukhov quit (Remote host closed the connection) |
| 08:38:33 | * | yglukhov joined #nim |
| 08:50:50 | * | bjz joined #nim |
| 08:57:24 | FromGitter | <ephja> bleeding edge metaprogramming is always fun |
| 09:27:18 | * | Andris_zbx joined #nim |
| 09:27:37 | * | couven92 joined #nim |
| 09:35:26 | skrylar | does that mean metaprogramming with a nubile compiler or the early stages of a macro? :) |
| 09:46:54 | * | aedigix joined #nim |
| 09:52:40 | yglukhov | can i exclude effect tags from proc def? |
| 09:53:23 | yglukhov | lets say i've got some procs with an effect. and i want to write another proc that states that it doesnt have whis effect |
| 09:53:44 | Araq | .tags: [] |
| 09:53:46 | Araq | ? |
| 09:54:07 | yglukhov | tags [] tells that it has no effects at all, right? |
| 09:54:27 | yglukhov | but i just want to make sure that i don't have one specific effect |
| 09:54:42 | yglukhov | and i dont care about the rest |
| 09:56:00 | Araq | yeah that's currently impossible. but usually it has RootEffect anyway |
| 09:56:17 | skrylar | Araq, it seems that nim gets highly confused when both a .nim and .c file exist of the same names |
| 09:56:41 | skrylar | ex. if nanovg.nim contains a {.compile: "nanovg/src/nanovg.c".} it will build them both and then experience linker barf |
| 09:58:49 | dom96 | that sounds like it should be possible (re: effects) |
| 09:58:58 | dom96 | feature request time? |
| 09:59:39 | Araq | it's planned, but I don't see much point. your code is full of indirections you don't care about so RootEffect creeps in and RootEffect can be anything |
| 10:12:13 | * | krux02 joined #nim |
| 10:27:08 | dom96 | Just released choosenim 0.2.2 (it fixes the exit code problem) |
| 10:28:16 | ftsf | \o/ |
| 10:29:17 | ftsf | thanks dom96 |
| 10:34:24 | Araq | dom96: IMO it should jump to 1.0 already. people use it, it works and there was an official announcement about its release |
| 10:35:13 | dom96 | You're right, but I want more people to test it first |
| 10:35:27 | ftsf | more people will test it if its 1.0 ;) |
| 10:35:28 | dom96 | The release article for Nim 0.17.0 will include a link to it |
| 10:36:05 | dom96 | bbl |
| 10:39:46 | skrylar | i suppose nim-jack needs a nimble file of some sort |
| 10:51:07 | ftsf | nimble init |
| 11:02:33 | * | Snircle joined #nim |
| 11:06:19 | FromGitter | <zacharycarter> is there an equivalent to repr for JS? |
| 11:06:30 | FromGitter | <zacharycarter> something that dumps an object to console? |
| 11:16:20 | ftsf | console.log(foo) ? |
| 11:16:28 | ftsf | import jsconsole |
| 11:16:31 | FromGitter | <zacharycarter> oh I forgot about jsconsole |
| 11:16:32 | FromGitter | <zacharycarter> thanks |
| 11:18:22 | * | sz0 quit (Quit: Connection closed for inactivity) |
| 11:27:12 | ftsf | very handy! |
| 11:49:55 | ftsf | what order are command line options, nim.cfg options, pragma options applied? eg. for checks:on/off if nim c --checks:on and a proc has {.checks:off.} which gets applied? |
| 11:50:46 | skrylar | ah feces. there's no quickcheck :( |
| 11:50:53 | ftsf | quickcheck? |
| 11:51:25 | skrylar | it's a haskell thing. some other languages have adopted equivalents (go has one). its basically a thing where you tell it what kind of data your interface uses and it makes random crap for unit tests |
| 11:52:59 | dom96 | skrylar: create one for nim :) |
| 11:54:52 | * | adeohluwa joined #nim |
| 11:56:51 | ftsf | sounds cool |
| 11:59:06 | * | Tiberium joined #nim |
| 12:00:57 | * | BennyElg quit (Remote host closed the connection) |
| 12:01:03 | skrylar | they're ok |
| 12:01:30 | * | BennyElg joined #nim |
| 12:05:11 | skrylar | http://www.migcalendar.com/miglayout/mavensite/docs/whitepaper.html ergh. |
| 12:05:20 | skrylar | i remember implementing a chunk of that in go a year or so ago |
| 12:09:27 | * | Trioxin2 quit (Ping timeout: 272 seconds) |
| 12:11:04 | * | skrylar quit (Ping timeout: 246 seconds) |
| 12:17:08 | * | skrylar joined #nim |
| 12:21:28 | * | krux02 quit (Remote host closed the connection) |
| 12:22:08 | skrylar | https://github.com/Skrylar/nim-jack yay cruddy bindings |
| 12:26:29 | * | bjz quit (Ping timeout: 246 seconds) |
| 12:26:56 | ftsf | \o/ |
| 12:33:06 | * | bjz joined #nim |
| 12:42:43 | * | yeeve quit (Quit: Leaving) |
| 12:43:42 | * | aedigix quit (Remote host closed the connection) |
| 12:44:12 | * | aedigix joined #nim |
| 12:50:32 | * | Snircle quit (Ping timeout: 260 seconds) |
| 12:50:40 | ftsf | what's the correct way to do conditional compilation for different backends? |
| 12:53:33 | * | Snircle joined #nim |
| 12:56:45 | skrylar | const WearHats {.intdefine.} = 0; when WearHats > 0: ... |
| 12:57:57 | ftsf | yeah I know i need to use when, but when(backend == javascript) ? |
| 12:58:00 | yglukhov | ftsf: when defined(js): js; elif defined(php): php; else: C/C++ |
| 12:58:11 | ftsf | yglukhov, thanks |
| 12:58:15 | skrylar | oh that kind of backend |
| 12:58:31 | * | skrylar just dealt with nanovg which has backends for GL{2,3}/GLES |
| 12:58:38 | ftsf | ahh, sorry |
| 12:59:24 | skrylar | intdefine and strdefine are neat pragmas |
| 13:01:15 | * | bjz_ joined #nim |
| 13:03:15 | * | bjz quit (Ping timeout: 240 seconds) |
| 13:05:37 | * | ftsf didn't realise there was a PHP backend |
| 13:08:06 | skrylar | ftsf, there are masochists everywhere |
| 13:09:04 | skrylar | i don't get why someone would willingly use php these days. if they inherited it and the company doesn't want to pay to port it to something good, i guess. but having to re-interpret all your framework crap on each page load just sounds horrible |
| 13:09:26 | skrylar | there's all kinds of caching layers and technical debt paid just to get around things you can avoid by just being an application server instead x.x |
| 13:10:31 | * | yeeve joined #nim |
| 13:15:20 | * | skrylar wonders if its worth implementing an r-tree just for gui stuff |
| 13:33:16 | Araq | what's an r-tree? |
| 13:36:45 | skrylar | https://en.wikipedia.org/wiki/R-tree supposed to be an efficient way to find things spatially |
| 13:38:20 | Araq | omg, do it, I want it :-) |
| 13:38:44 | skrylar | trying to mentate how it works from their description |
| 13:39:05 | skrylar | i was sorta sad that there was an IBM article a few years ago about how most professional programmers couldn't implement binary search from its description |
| 13:43:49 | yglukhov | skrylar: why would gui need r-tree? there's always a limited set of widgets to go through. |
| 13:44:46 | skrylar | yglukhov, depends how big the gui is ._. |
| 13:45:03 | skrylar | music software can get a few hundred on a single pane |
| 13:45:48 | ftsf | skrylar, what about a quadtree? |
| 13:45:50 | yglukhov | yeah, but then again the events are not propagated to all of the widgets. they are propagated if passing hittest of the superview. |
| 13:46:10 | skrylar | ftsf, i dunno. it was mostly just a question |
| 13:47:32 | FromGitter | <ephja> FormatTypes = IntFormatTypes|MapFormatTypes|StringFormatTypes|openarray[tuple[k: FormatTypes, v: FormatTypes] *crosses fingers* |
| 13:47:37 | skrylar | set24 does this heinous thing where it O(n)'s the entire set of notes every time it seeks (which happens ~46 times per second or so) |
| 13:48:08 | FromGitter | <ephja> gotta use the CPU for something |
| 13:54:28 | skrylar | i also thought about just keeping two lists for X and Ys |
| 13:54:56 | * | Matthias247 joined #nim |
| 13:55:04 | skrylar | sort the widgets by Y, then X, so it doesn't have to test a heap of rects |
| 13:55:51 | * | aedigix quit (Quit: disconnecting) |
| 13:58:03 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 13:58:41 | ftsf | skrylar, is it an issue yet? ;) |
| 14:01:06 | * | Matthias247 joined #nim |
| 14:02:57 | * | adeohluwa quit (Quit: Connection closed for inactivity) |
| 14:03:29 | FromGitter | <ephja> no I have to use 'array' rather than 'openarray' for this recursive solution, and do FormatTypes[T=void] ... |
| 14:04:10 | * | libman joined #nim |
| 14:11:04 | * | rauss joined #nim |
| 14:11:52 | * | aedigix joined #nim |
| 14:13:38 | skrylar | ftsf, but my jimmies. they rustle |
| 14:13:45 | skrylar | perceptive inefficiency! |
| 14:13:55 | skrylar | well actually in seq24s case yes it performs poorly. |
| 14:14:11 | skrylar | but that's because they're doing the silly inefficient stuff in a part of the code that actually does need to run in real time |
| 14:22:52 | * | PMunch joined #nim |
| 14:23:10 | * | aedigix quit (Quit: disconnecting) |
| 14:24:40 | FromGitter | <ephja> "Foo = int|array[???, tuple[k: Foo, v: Foo]]" I can't think of a way to do this without parameterizing Foo |
| 14:29:43 | dom96 | I think you should use an object variant |
| 14:35:53 | FromGitter | <ephja> dom96: I'm simply trying to do it this way since all the necessary information is available at compile-time, but of course the object variant approach won't involve constructs that have dozens of bugs associated with them :-P |
| 14:37:05 | dom96 | How can this work though? You've got an infinite recursion in there as far as I can see. |
| 14:37:35 | * | BennyElg quit (Remote host closed the connection) |
| 14:38:59 | FromGitter | <ephja> how come? |
| 14:39:09 | FromGitter | <ephja> the nesting can be terminated at any moment |
| 14:40:42 | FromGitter | <ephja> but I dunno if maybe it will result in an infinite recursion in the compiler because of some bug |
| 14:41:04 | FromGitter | <ephja> unless I'm missing something really obvious again |
| 14:43:07 | Tiberium | dom96, new github avatar :) |
| 14:43:30 | dom96 | :) |
| 14:46:03 | PMunch | Hmm, when using "nim doc" is there a way to add code snippets? |
| 14:46:15 | PMunch | I wanted to add the input/output for codeRepr |
| 14:47:44 | * | planhths joined #nim |
| 14:48:24 | dom96 | .. code-block::nim |
| 14:48:43 | * | nsf quit (Quit: WeeChat 1.7.1) |
| 14:48:45 | PMunch | Oh, double :: -_- |
| 14:49:23 | PMunch | Hmm |
| 14:49:29 | PMunch | That didn't quite seem to do it |
| 14:50:26 | PMunch | It made the main body line and the first line of what was supposed to be code bold.. |
| 14:51:38 | PMunch | http://ix.io/u0R |
| 14:53:47 | Tiberium | you can check other stdlib procedures for examples |
| 14:57:02 | PMunch | Ah, got it |
| 15:01:33 | FromGitter | <ephja> thou shalt not do at runtime what can be done at compile-time |
| 15:02:08 | * | Sentreen quit (Ping timeout: 260 seconds) |
| 15:02:53 | PMunch | ephja, halleluja |
| 15:06:55 | * | GustavoLapasta joined #nim |
| 15:16:08 | * | Sentreen joined #nim |
| 15:23:46 | Arrrr | Amen Father Ephja |
| 15:23:52 | Tiberium | let's make some viruses in ( ͡° ͜ʖ ͡°) |
| 15:23:58 | Tiberium | in Nim |
| 15:24:48 | Tiberium | nevermind - https://github.com/Vikaton/nim-keylogger |
| 15:25:14 | Tiberium | wait, using win api is SO easy? |
| 15:28:14 | * | vlad1777d joined #nim |
| 15:29:24 | * | GustavoLapasta quit (Quit: Leaving) |
| 15:31:04 | skrylar | Tiberium, as easy as bashing one's face against the wall :> |
| 15:32:38 | * | PMunch quit (Quit: leaving) |
| 15:40:05 | * | sz0 joined #nim |
| 15:49:59 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 15:52:43 | * | bjz joined #nim |
| 16:04:11 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 16:07:19 | * | nsf joined #nim |
| 16:07:41 | * | Andris_zbx quit (Remote host closed the connection) |
| 16:15:02 | * | BennyElg joined #nim |
| 16:24:01 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 16:27:01 | Tiberium | why only 10 fires were changed? https://github.com/nim-lang/nim/commit/9c47bb9cc0fda686ca403f5abd0ae2f06d364c74 |
| 16:27:03 | Tiberium | *files |
| 16:30:10 | Arrrr | He got bored halfway |
| 16:30:24 | Tiberium | Arrrr, auto-replace? |
| 16:31:10 | Arrrr | Why not |
| 16:35:13 | * | Trioxin2 joined #nim |
| 16:39:21 | FromGitter | <mratsim> @skrylar What’s the difference in usage between R-Tree and Kd-Tree ? Most clustering/geoloc library in Python use Kd-Trees to store locations |
| 16:41:33 | skrylar | @mratsim idunno. i've not done geo stuff. |
| 16:41:44 | skrylar | kdtrees are probably more optimized |
| 16:54:35 | FromGitter | <mratsim> ok |
| 16:57:31 | FromGitter | <Varriount> Tiberium: You mean, as opposed to Linux, where you have to pick one of a myriad of interface methods (gui library, x11, etc) to get keyboard input? |
| 16:58:29 | * | yglukhov quit (Remote host closed the connection) |
| 16:59:49 | Tiberium | Varriount: I mean that interfacing with winapi is easy :) |
| 17:00:05 | FromGitter | <ephja> I suppose this is how you associate a typedesc with some type: "proc underlyingType(f: Foo): typedesc = int" and then a concept that includes such a signature |
| 17:01:13 | FromGitter | <ephja> it's slightly more verbose than defining a type or a const but it should get the job done |
| 17:03:02 | * | yglukhov_ joined #nim |
| 17:03:56 | * | libman quit (Quit: Connection closed for inactivity) |
| 17:07:10 | * | yglukhov_ quit (Ping timeout: 246 seconds) |
| 17:31:17 | * | libman joined #nim |
| 17:40:24 | * | pilne joined #nim |
| 17:41:38 | * | yglukhov joined #nim |
| 17:46:18 | * | yglukhov quit (Ping timeout: 260 seconds) |
| 18:02:36 | * | yglukhov joined #nim |
| 18:04:47 | ftsf | any recommended internationalisation lib for nim? |
| 18:16:09 | Tiberium | ftsf, i don't know, but 1 sec googling gave me this - https://github.com/Parashurama/nim-i18n |
| 18:16:16 | Tiberium | also https://github.com/Amrykid/nim-locale from 2014 |
| 18:17:38 | ftsf | yeah both look kinda unused/unmaintained, but the first one might be ok |
| 18:35:35 | * | yglukhov quit (Remote host closed the connection) |
| 18:40:12 | Araq | ftsf: I can tell you how to do it but hardly have the time to write it |
| 18:41:16 | ftsf | Ahh well, not urgent =) Just asking in case someone is using something nice for it. |
| 18:42:47 | * | Arrrr quit (Read error: Connection reset by peer) |
| 18:44:31 | Araq | why not do my work? |
| 18:45:37 | * | yglukhov joined #nim |
| 18:51:44 | * | rauss quit (Ping timeout: 260 seconds) |
| 18:53:00 | couven92 | Araq, how would we want it? Just call libgettext? work with .po files? |
| 18:53:17 | FromGitter | <Varriount> ftsf: tables.nim? |
| 18:53:23 | * | rauss joined #nim |
| 19:03:44 | Araq | couven92: i18n("$1 takes $2", param1, param2) |
| 19:04:38 | Araq | i18n("$1 [items|item|item]$1 found", 13) |
| 19:05:13 | Araq | the [] is a selector, 0, 1, many is mapped to this construct |
| 19:06:01 | couven92 | Hmm... |
| 19:06:06 | Araq | [item|items] is also possible but some languages have a special plural form for zero |
| 19:06:36 | Araq | and i18n is of course a macro. |
| 19:06:54 | couven92 | and it reads from a file? |
| 19:07:17 | couven92 | what file? what should that look like? csv, json, yaml? |
| 19:08:57 | Araq | well we also need an enum Language and setLanguage() |
| 19:08:58 | Araq | and an setI18nMapping() proc |
| 19:09:53 | couven92 | maybe getting languages from locale? |
| 19:10:12 | couven92 | I'd say all OS'es have a concept of language with API' |
| 19:10:26 | Araq | yeah, and we have a better concept, it's called an "enum" |
| 19:11:18 | couven92 | Araq, maybe a macro that creates the macro by asking the OS for all languages it knows? :P |
| 19:11:29 | skrylar | meh brain must be tired. took several hours for a basic merge sort o.O |
| 19:11:35 | couven92 | creates the language enum, I mean |
| 19:11:59 | skrylar | ftsf, well translation is inherently just a hash table really |
| 19:12:11 | skrylar | ok so there's a minor exception to that; dates get weird. |
| 19:12:26 | skrylar | you just need a special printf and a hash table |
| 19:12:43 | couven92 | skrylar, NO!!! Look here: https://www.youtube.com/watch?v=0j74jcxSunY |
| 19:13:24 | dom96 | Please do some research before creating a library. There are bound to be many well regarded i18n libraries out there. |
| 19:13:36 | dom96 | (I'm sure there are many edge cases for these so it's worth researching) |
| 19:14:33 | couven92 | dom96, like gettext in GNU for example? |
| 19:14:57 | dom96 | Not sure if that's considered a "good" library but sure |
| 19:15:01 | demi- | lol |
| 19:15:23 | yglukhov | couven92: please don't forget about the js target as well ;) |
| 19:15:40 | demi- | providing localizable strings is an entirely separate problem from i18n |
| 19:15:44 | couven92 | problem is: gettext is GNU and mostly just Linux... |
| 19:16:20 | couven92 | yglukhov, yeah... so ultimate goal: write it as pure Nim, right? |
| 19:16:22 | demi- | implementation of how to fetch and get localized content is very different from the entire subject matter of being able to support i18n |
| 19:16:43 | yglukhov | couven92: sure =) |
| 19:16:50 | demi- | like, appending to a string based on read direction of the language |
| 19:17:09 | couven92 | demi-, true... and I must say, Araq's suggestion actually look quite nice! :) |
| 19:17:17 | FromGitter | <ephja> I assume that the inability to call p(x: typedesc[Foo]) where Foo is a type class defined in a type section has been reported |
| 19:17:47 | FromGitter | <ephja> keeping track of too many issues |
| 19:18:14 | Araq | dom96: I did this research and the gist of it is the proper 'choice' for pluralization |
| 19:18:30 | Araq | of course, there are other things like units of measure, currencies etc etc |
| 19:18:31 | skrylar | ok. i watched the video. |
| 19:18:36 | skrylar | i was still mostly correct tho. |
| 19:18:43 | skrylar | maybe overly brief with "special printf" |
| 19:18:47 | Araq | but these are harder to solve |
| 19:19:29 | FromGitter | <ephja> wait. it fails when expanding the type class too. yeah, I located the bug report yesterday I think |
| 19:19:39 | couven92 | skrylar, printf is always locale specific! |
| 19:20:04 | Araq | printf cannot even do argument reorderings with a nice syntax |
| 19:20:22 | Araq | nim's $1, $2, $# is superior |
| 19:20:34 | demi- | skrylar: i think you are vastly underestimating how this works |
| 19:20:38 | libman | Rogue syntax highlighter doesn't handle type suffix apostrophes - https://github.com/Parashurama/nim-i18n/blob/master/i18n.nim#L263 |
| 19:20:52 | skrylar | demi-, no, i'm just talking about string formatters like Inform has |
| 19:21:18 | couven92 | but i18n is SOOO much more! :P |
| 19:21:35 | skrylar | inform's string formatter actually does deal with pronouns on objects and stuff. |
| 19:21:43 | Araq | couven92: ok, so let's not provide the barebones that cover 90% of the cases |
| 19:21:53 | couven92 | luckily, we at least have a capable string type that does UTF-8 |
| 19:22:03 | demi- | so how do you handle cases were some languages have different pluralisation rules based on what you are talking about |
| 19:22:04 | * | Matthias247 joined #nim |
| 19:22:09 | libman | Or is it https://github.com/github/linguist ... |
| 19:22:23 | FromGitter | <ephja> https://bitbucket.org/lyro/strfmt |
| 19:22:31 | couven92 | solves quite a lot of the boring "I can't write æøå" problems |
| 19:23:31 | skrylar | I have $ducks$p:duck(20). ;p |
| 19:23:35 | skrylar | that's not inform tho |
| 19:24:10 | skrylar | gettext does have something like a getplural function although it's not very good |
| 19:25:09 | Araq | demi-: I don't understand your problem. in the lookup table there is a mapping from "$1 takes [item|items]$2" to "$1 kriegt [Parameter]$2" |
| 19:25:53 | skrylar | i could probably design one. although those things tend to be kinda.. eeh |
| 19:25:53 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 19:25:59 | * | nsf quit (Quit: WeeChat 1.7.1) |
| 19:26:07 | skrylar | i mean i did a whole unicode thing once. that's not worse than this |
| 19:26:12 | demi- | Araq: based on my naive understanding, something like that would work where you are applying it to segments of a whole string; but my question was aimed at what skrylar was saying |
| 19:26:36 | Araq | different rules don't matter because the possible declinations are part of the language specific format string |
| 19:27:00 | Araq | as I said, it's a decent design. |
| 19:27:17 | * | Matthias247 joined #nim |
| 19:27:31 | demi- | yeah, i don't disagree |
| 19:27:53 | skrylar | i would prolly just do it where you have like, translate(FOO, 20) where foo is an object instantiated from definitely not .po files |
| 19:28:08 | skrylar | .po files are standard and kind of ok but they don't deal with a lot of the plurality rules |
| 19:28:43 | skrylar | maybe compile to bytecodes or something |
| 19:29:32 | demi- | i think most major platforms have an implemenation for doing this, i think it all trails back to xliffs |
| 19:29:45 | skrylar | you would be very surprised |
| 19:29:57 | couven92 | cazy idea: just create that as a block under a macro... Nim code with just const strings is not that hard to read or write |
| 19:30:06 | yglukhov | dom96: your regression fix looks wrong... |
| 19:30:14 | skrylar | a lot of them have one but it sucks or is wrong |
| 19:30:40 | dom96 | yglukhov: oh? |
| 19:31:01 | yglukhov | an i think the tests should fail... |
| 19:31:39 | yglukhov | copyNimTree is intended to get the pragmas from the original proc and apply them to the closure iter |
| 19:31:53 | yglukhov | whats the regression? do you have a sample? |
| 19:32:05 | demi- | skrylar: considering this is pretty industry standard: https://en.wikipedia.org/wiki/XLIFF |
| 19:32:36 | dom96 | yglukhov: the test compiles for me. |
| 19:33:06 | dom96 | yglukhov: https://gist.github.com/dom96/83b8ed5e5a1db2a26d949faee78c7962 |
| 19:35:02 | * | Tiberium quit (Remote host closed the connection) |
| 19:35:26 | couven92 | ah, my crzay idea doesn't work... because you have to be able to edit/add new translations at runtime... |
| 19:36:45 | skrylar | yes |
| 19:37:59 | skrylar | well i mean you could just statically compile but the translators will be unhappy |
| 19:38:05 | * | aedigix joined #nim |
| 19:38:49 | yglukhov | dom96: well, your sample works in both cases, but differently. my way applies the pragma to not just the function but to the closure iter as well. |
| 19:39:09 | yglukhov | dom96: do you think my behavior is incorrect? |
| 19:39:10 | * | aedigix quit (Remote host closed the connection) |
| 19:39:40 | Araq | yglukhov: your behaviour breaks production code :P |
| 19:39:43 | dom96 | I'm afraid so. In the sample I linked above the `print` macro is executed twice. |
| 19:40:03 | * | aedigix joined #nim |
| 19:40:44 | libman | Hope I reported this bug correctly - https://github.com/Varriount/NimLime/issues/82 |
| 19:41:22 | yglukhov | Araq, dom96: but that does mean its incorrect? |
| 19:43:20 | dom96 | what is? |
| 19:43:45 | yglukhov | my behavior that I specifically introduced with my asunc macro fix |
| 19:43:47 | * | aedigix quit (Client Quit) |
| 19:47:42 | dom96 | Looks like it. Do you need the pragmas to be applied to the closure iterator too? |
| 19:49:51 | yglukhov | dom96: well that was my intention, but now that i think of it, maybe its not that needed after all. gcsafe on closureIter (which there is) would be enough for me. |
| 19:52:02 | Araq | I think there is a problem with calling conventions |
| 19:52:19 | Araq | .cdecl for the wrapper proc might make sense, but the .closure iterator cannot be cdecl |
| 19:52:48 | yglukhov | ok, makes sense |
| 19:55:57 | Araq | but that is a fix for another time :-) |
| 19:56:37 | Araq | can anybody confirm the android target is ok? seems to risky for 0.17 |
| 19:56:39 | FromGitter | <Varriount> @lbmn >:D |
| 19:57:14 | yglukhov | Araq: android is fine with zah merged in =) |
| 19:57:30 | Araq | how come android doesn't define 'linux'? |
| 19:58:16 | couven92 | Araq, i'd say it still needs some polishing... and I need some input on stdlib redesign... I don't rellay know how to fiddle android in there in a good way... |
| 19:58:42 | yglukhov | err... ok, i might have misunderstood the question. i compile for android with --os:linux -d:android |
| 19:58:49 | Araq | I can polish it later, but it won't make it to 0.17 then |
| 19:58:51 | couven92 | my attempt to mess with lib/platforms.nim didn't go that well :P |
| 19:58:58 | yglukhov | didnt try with --os:android |
| 19:59:52 | couven92 | hmm... but yeah, --os:android should define both android and linux |
| 20:00:52 | couven92 | Luckily discovering Android in build.sh is working on Termux, but won't work otherwise on Android... |
| 20:01:14 | * | yglukhov quit (Remote host closed the connection) |
| 20:01:35 | couven92 | because uname on vanilla android does not tell anything about android |
| 20:09:36 | FromGitter | <Varriount> @lbmn @dom96 https://github.com/github/linguist/issues/3631 |
| 20:10:26 | FromGitter | <nordborn> Looks like it's impossible to link mysql libs statically, especially with musl. Sadly:) |
| 20:12:12 | * | PMunch joined #nim |
| 20:15:35 | * | rupil joined #nim |
| 20:17:06 | * | Vladar quit (Quit: Leaving) |
| 20:23:24 | * | yglukhov joined #nim |
| 20:53:42 | * | rauss quit (Quit: WeeChat 1.8) |
| 20:54:17 | * | planhths quit (Quit: Konversation terminated!) |
| 21:05:12 | * | rupil quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
| 21:08:58 | * | bjz joined #nim |
| 21:14:48 | * | nsf joined #nim |
| 21:23:24 | skrylar | https://images.discordapp.net/.eJwVyEsOhCAMANC7cABKwfq7DUGCRqWE1riYzN0n85bvY55-mdXsqk1WgO2QxH2zotxjybYwlyvHdohNfENUjWm_c1UBH5Z5nB15IjdhCANBwIEQ_-E8kl9GB089K7_VtlrM9wcFIiLE.Y4EoVJiYzTUmbOCQFhGSt9o2iak?width=736&height=587 neat. |
| 21:28:31 | * | cyraxjoe quit (Ping timeout: 246 seconds) |
| 22:05:47 | * | niv joined #nim |
| 22:22:17 | FromGitter | <zacharycarter> I've been going down this path of adding a html5 backend to frag with PIXI js |
| 22:22:30 | FromGitter | <zacharycarter> but I'm not going to be able to make the API consistent with the SDL backend |
| 22:23:10 | FromGitter | <zacharycarter> anyone have any thoughts on the web backend having a different API? And code reuse just not being a thing for thick / thin client? |
| 22:23:34 | FromGitter | <zacharycarter> I'm thinking I just ditch the html5 backend |
| 22:27:57 | skrylar | i donno what you mean. but then i haven't done any html5 |
| 22:28:32 | FromGitter | <zacharycarter> I have this game framework I've built for Nim |
| 22:28:37 | skrylar | i mean the sdl renderer just either gives you a Gl context or it does some really basic shapes for you. there's the canvas apis that do similar things to that |
| 22:28:42 | FromGitter | <zacharycarter> http://fragworks.io/ |
| 22:29:31 | FromGitter | <zacharycarter> it doesn't use SDL for rendering it uses a library called bgfx which abstracts away the differences between opengl, directx, gles, etc... |
| 22:29:56 | * | nsf quit (Quit: WeeChat 1.7.1) |
| 22:30:52 | FromGitter | <zacharycarter> I've been playing with / pondering adding a html5 backend to the project, but I don't want to write all the webgl code so I was going to use this library called pixijs, but unfortunately it has a radically different way of handling drawing submissions vs my library |
| 22:31:26 | skrylar | ah. haven't done much raw gl stuff. |
| 22:31:46 | skrylar | saw bgfx and a related thing where they talked about some clever draw call sorting tricks |
| 22:31:53 | FromGitter | <zacharycarter> aye |
| 22:36:06 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 22:38:48 | dom96 | https://nim-lang.org/blog/2017/05/17/version-0170-released.html |
| 22:39:14 | FromGitter | <zacharycarter> :D |
| 22:39:51 | * | dom96 quit (Changing host) |
| 22:39:51 | * | dom96 joined #nim |
| 22:40:29 | FromGitter | <zacharycarter> can't wait to see how many things of mine break |
| 22:43:22 | * | yglukhov quit (Remote host closed the connection) |
| 22:43:25 | dom96 | Awww, don't be so negative :) |
| 22:43:37 | FromGitter | <zacharycarter> hahaha |
| 22:44:05 | couven92 | dom96, Nice! :) |
| 22:44:07 | FromGitter | <zacharycarter> actually things are looking very good, my examples are running :D |
| 22:44:20 | FromGitter | <zacharycarter> and thank you @dom96 and everyone else who contributed to the release |
| 22:48:04 | PMunch | Oooh looking forward to this |
| 22:49:04 | FromGitter | <zacharycarter> I may have to write bindings to : https://github.com/libuv/libuv |
| 22:49:31 | FromGitter | <zacharycarter> even though nim already has really nice async |
| 22:50:01 | dom96 | Posted to Reddit and HN too. Let's see how that goes |
| 22:51:54 | FromGitter | <zacharycarter> hopefully well |
| 22:52:30 | FromGitter | <zacharycarter> I guess I'm scratching this html5 backend for now |
| 22:55:14 | niv | congratulations on .17 :) |
| 22:56:05 | dom96 | Thanks :D |
| 22:56:16 | niv | "initialiazed" |
| 22:56:26 | niv | init-aliased? :D |
| 22:56:31 | niv | init-lazored? |
| 22:57:15 | couven92 | dom96, did you actually make it on the 17th May? I see you updated the channel at 00:38 |
| 22:57:36 | couven92 | ah, wait, it's still the 17th in UTC, right? |
| 22:57:40 | dom96 | indeed |
| 22:57:43 | dom96 | BST here |
| 22:57:54 | Araq | also |
| 22:57:55 | couven92 | bst? |
| 22:58:00 | dom96 | British Summer Time |
| 22:58:03 | couven92 | ah |
| 22:58:03 | Araq | I like 17th and 21th |
| 22:58:22 | couven92 | Araq, you mean 21st? |
| 22:58:27 | Araq | lol yes |
| 22:58:30 | couven92 | :D |
| 22:58:35 | niv | releasing nim 0.32 might get tricky |
| 22:58:59 | couven92 | schedule 1.0 for 2018-01-01? |
| 22:59:01 | couven92 | :P |
| 23:00:59 | niv | that changelog is awesome. great stuff. |
| 23:04:35 | Araq | yeah, it's a decent release |
| 23:04:55 | Araq | but as usual |
| 23:05:11 | Araq | if too many things come up, we'll release 0.17.2 within the next month |
| 23:05:27 | niv | what tickles me is EOFError for some reason. always hacked that in myself |
| 23:05:39 | Araq | didn't work out for 0.16 unfortunately, but it worked before, it will work again |
| 23:06:29 | PMunch | Oooh, the new try-except stuff is nice |
| 23:06:34 | PMunch | Was missing that |
| 23:06:45 | niv | yeah |
| 23:06:58 | niv | the foo bar do: syntax is messing with me though |
| 23:07:58 | PMunch | Oooh, and the JSON unmarshalling is cool |
| 23:08:31 | niv | i have a nimble package up to do that as a template, extensible to arbitary types |
| 23:08:59 | dom96 | I implemented both :D |
| 23:09:10 | niv | https://github.com/niv/jser.nim |
| 23:10:03 | PMunch | The colon block stuff has a type by the way |
| 23:10:16 | * | cyraxjoe joined #nim |
| 23:10:22 | PMunch | It uses value as the paramater (and no type?) but uses val in the body |
| 23:10:28 | dom96 | ahh, when Nim hits the HN front page. +20 visitors immediately on analytics. |
| 23:10:56 | Xe | dom96: new website is great looking |
| 23:11:33 | dom96 | Xe: thanks :) |
| 23:11:40 | PMunch | Yeah the page is awesome |
| 23:12:00 | Xe | dom96: if you are not the one responsible for it, please relay my gratitude to the people who are |
| 23:12:00 | niv | right, well, heading off. congrats again! will have to have a play soon and migrate some stuff. |
| 23:12:00 | PMunch | The old one looked a bit 90s :P |
| 23:12:40 | dom96 | Calinou deserves thanks too. And the many people that made various contributions to it as well. |
| 23:13:02 | dom96 | Yeah, the new website feels modern. |
| 23:15:57 | PMunch | By the way dom96, what do you think of the new doc entry for https://github.com/nim-lang/Nim/pull/5778#issuecomment-301775072 |
| 23:16:29 | dom96 | seems fine, the name of these procs still needs to be changed |
| 23:17:18 | PMunch | Hmm, I was just trying to match the style og dumpList and dumpTree |
| 23:17:24 | PMunch | s/List/Lisp |
| 23:24:03 | Xe | dom96: ooh i like the `to` operator |
| 23:24:09 | Xe | er macro |
| 23:24:12 | Xe | sorry, long day |
| 23:26:14 | * | gokr quit (Quit: Leaving.) |
| 23:32:37 | dom96 | yeah, it's a cool macro and many people have wanted something like it :) |
| 23:37:52 | dom96 | Interesting, Nim's position on HN's front page dropped from about #9 to #23. |
| 23:38:07 | dom96 | I wonder if HN's mods demoted it |
| 23:38:22 | * | sz0 quit (Quit: Connection closed for inactivity) |
| 23:39:16 | * | libman rips off his beard in anger at HackerNews. |
| 23:39:32 | PMunch | Why would they do that? |
| 23:39:54 | libman | It's a conspiwwwacy. |
| 23:43:39 | couven92 | Love, how the 0.17 nimsuggest automagically does so much better in VS Code immediately, without any additional steps!!!! :D |
| 23:45:43 | couven92 | how do i actually refer to another proc in the doc comments? ``otherProc``? |
| 23:45:53 | dom96 | yep |
| 23:46:04 | couven92 | does that generate a link? |
| 23:46:41 | couven92 | no it does not? Ho to create a link as well? |
| 23:49:31 | enthus1ast | cool changelog! |
| 23:50:00 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 23:53:31 | dom96 | `blah <url>`_ |
| 23:53:38 | dom96 | You will need to find the anchor id though |
| 23:54:11 | libman | $searchEngine "hacker news censorship". They've been deceptively censoring me in the worst way possible for a very long time now. |
| 23:54:43 | dom96 | libman: You've got negative karma, they probably auto kill all posts from accounts with negative karma |
| 23:56:36 | libman | Explaining the specifics of the bureaucracy doesn't make it any better. |
| 23:56:56 | * | couven92 quit (Quit: Client Disconnecting) |