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) |