00:01:49 | dom96 | Wouldn't `reCase` be a better name? :P |
00:12:16 | * | couven92 quit (Quit: Client Disconnecting) |
00:14:49 | Araq | 'reCase' is cryptic |
00:26:23 | Araq | :test: works :-) |
00:26:31 | Araq | and already found some issues in our tutorials |
00:51:42 | * | MJCaley joined #nim |
00:54:06 | shashlick | is it possible in nimscript to detect whether nim is 32-bit or 64-bit |
00:54:16 | * | noonien joined #nim |
00:55:15 | dom96 | have you tried the normal way? |
00:55:35 | Araq | system.targetCpu or something |
00:55:40 | Araq | I added it recently |
00:56:14 | subsetpark | quit committing to nim-lang/Nim for a while, Araq... I am reprovisioning a service and it recompiles every time #head is different! |
00:57:08 | Araq | what does that mean? |
00:57:29 | subsetpark | nothing, don't worry about it... |
01:01:06 | dom96 | you should probably consider pinning to a commit |
01:07:31 | shashlick | araq: there's system.hostCPU |
01:08:34 | Araq | nimscript.nim has buildCPU |
01:12:20 | shashlick | neat, not in stable though - for some reason, docopt crashes on #head so I'm stuck with stable |
01:14:28 | dom96 | shashlick: please report it |
01:25:04 | FromGitter | <Quelklef> What's the best way to restrict a number to a positive real? |
01:26:19 | Araq | assert() |
01:26:47 | FromGitter | <Quelklef> no way to do it with types? I want to restrict a parameter |
01:27:08 | * | MJCaley quit (Quit: MJCaley) |
01:27:17 | subsetpark | I think that's a dependent typing kind of thing |
01:27:28 | * | endragor joined #nim |
01:28:05 | Araq | range[1.0 .. Inf] |
01:28:18 | Araq | I don't know if I ever implemented that lol |
01:28:29 | FromGitter | <Quelklef> yeah that's system.Positive iirc |
01:28:35 | FromGitter | <Quelklef> but wouldnt that be only integers |
01:29:33 | Araq | "Error: ordinal type expected" |
01:29:38 | Araq | stupid compiler... |
01:31:45 | * | endragor quit (Ping timeout: 248 seconds) |
01:31:53 | * | MJCaley joined #nim |
01:32:17 | * | vlad1777d quit (Ping timeout: 248 seconds) |
01:35:30 | FromGitter | <Varriount> For integers, wouldn't it be `range[0..high(int)]`? |
01:36:03 | FromGitter | <Quelklef> yeah, that's the system.Positive implementation. I was mistaken |
01:48:32 | * | skrylar joined #nim |
01:49:51 | * | marenz__ quit (Ping timeout: 248 seconds) |
01:54:15 | * | byte512 quit (Ping timeout: 258 seconds) |
01:55:06 | * | byte512 joined #nim |
02:00:52 | skrylar | handwriting gui code reminds me of how bad that migui clone needs to exist |
02:01:13 | skrylar | have one in nim but it only does linear flows atm |
02:07:58 | * | endragor joined #nim |
02:10:08 | * | chemist69 quit (Ping timeout: 276 seconds) |
02:12:17 | * | endragor quit (Ping timeout: 248 seconds) |
02:19:42 | * | Snircle_ quit (Quit: Textual IRC Client: www.textualapp.com) |
02:23:33 | * | chemist69 joined #nim |
02:25:25 | * | arecaceae quit (Remote host closed the connection) |
02:25:44 | * | arecaceae joined #nim |
02:29:36 | * | joebo quit (Ping timeout: 246 seconds) |
02:38:50 | * | vivus quit (Quit: Leaving) |
02:39:25 | * | joebo joined #nim |
02:45:42 | * | endragor joined #nim |
02:50:46 | * | MJCaley quit (Quit: MJCaley) |
02:56:34 | shashlick | dom96: looks like it's fixed in #head, I was out of date |
02:58:35 | * | Jesin joined #nim |
03:31:23 | * | ftsf quit (Read error: No route to host) |
03:32:33 | skrylar | i still think using head is a bad idea |
03:32:42 | * | ftsf joined #nim |
03:37:19 | * | skrylar_ joined #nim |
03:38:54 | * | endragor quit (Remote host closed the connection) |
03:44:14 | * | skrylar_ quit (Ping timeout: 255 seconds) |
03:53:11 | * | dddddd quit (Remote host closed the connection) |
04:06:59 | shashlick | I'm usually forced to use head for c2nim |
04:10:01 | * | SenasOzys joined #nim |
04:12:01 | * | endragor joined #nim |
05:04:22 | * | EastByte quit (Ping timeout: 252 seconds) |
05:06:00 | * | EastByte joined #nim |
05:42:14 | * | endragor quit (Remote host closed the connection) |
05:42:46 | * | skrylar_ joined #nim |
05:52:33 | * | skrylar_ quit (Ping timeout: 248 seconds) |
06:03:48 | * | zippyy joined #nim |
06:07:00 | * | endragor joined #nim |
06:07:08 | * | endragor quit (Remote host closed the connection) |
06:07:37 | * | endragor joined #nim |
06:18:41 | * | zippyy quit (Ping timeout: 248 seconds) |
06:23:49 | * | BitPuffin|osx joined #nim |
06:24:00 | * | skrylar_ joined #nim |
06:33:55 | * | nsf joined #nim |
06:41:21 | alexday | why isn't yaml inheritance not working with nimyaml |
06:41:41 | alexday | << operator |
06:43:27 | FromGitter | <Varriount> @dom96 @Araq Amy word from @zah on vtrefs and vtptrs? |
06:43:32 | FromGitter | <Varriount> *any |
06:45:03 | * | zippyy joined #nim |
06:49:36 | * | zippyy quit (Ping timeout: 248 seconds) |
06:57:28 | alexday | oh its actually my mistake, the << is not matching my object type declaration :( . what to do |
06:58:36 | alexday | https://w.awalgarg.me/d/hURa73C_4 https://w.awalgarg.me/d/8jNEov4tz these are the yaml and code |
07:00:16 | alexday | http://yaml.org/type/merge.html not sure how to construct object for !!merge |
07:00:40 | alexday | hopefully the nimyaml tests have something :P |
07:02:14 | alexday | :( |
07:46:52 | * | Vladar joined #nim |
07:52:32 | * | SenasOzys quit (Ping timeout: 248 seconds) |
07:59:34 | * | skrylar quit (Quit: Leaving) |
08:02:20 | * | SenasOzys joined #nim |
08:32:08 | * | sendell joined #nim |
08:34:21 | * | PMunch joined #nim |
08:35:00 | sendell | my brand new forum account seems to be "moderated" do I need to do something special? :) |
08:40:42 | alexday | can someone please help me with the yaml parsing |
08:48:53 | alexday | in https://nimyaml.org/yaml.taglib.html#yTagYaml |
08:48:59 | alexday | proc initExtendedTagLibrary(): TagLibrary {. |
08:49:01 | alexday | raises: [], tags: [] |
08:49:03 | alexday | .} |
08:49:10 | alexday | what do I have to do with this? |
08:57:19 | * | floppydh joined #nim |
09:00:42 | alexday | https://nimyaml.org/schema.html#standard-yaml-types meeeeennnnnn its not supported |
09:00:46 | alexday | sheeeet |
09:01:18 | * | couven92 joined #nim |
09:03:24 | alexday | when will this support come? merging hash? |
09:07:10 | alexday | duh |
09:07:12 | * | alexday left #nim ("WeeChat 1.8") |
09:20:54 | * | xkapastel quit (Quit: Connection closed for inactivity) |
09:32:28 | * | gokr joined #nim |
09:38:41 | * | nvl joined #nim |
09:39:37 | nvl | what are the opinions regarding shrinking the stdlib and making the libs available as a nimble package something like rust does and crystal is also planning to do |
09:39:40 | nvl | https://github.com/crystal-lang/crystal/issues/5215 |
09:40:57 | nvl | I personally prefer a batteries-included stdlib but if it helps the libs to evolve independently of the compiler releases, maybe it is worth some consideration |
09:42:27 | * | floppydh quit (Ping timeout: 240 seconds) |
09:44:07 | * | floppydh joined #nim |
09:44:15 | gokr | Tihi, playing with asciinema - pretty darn neat. Made a small movie about installing Nim and then building spry: https://asciinema.org/a/149847 |
09:44:24 | gokr | Perhaps something one can use on the nim homepage too? |
09:44:55 | gokr | I am going to use this embedded in HTML slides, for a presentation on spry. |
09:45:44 | * | nvl quit (Ping timeout: 260 seconds) |
09:45:45 | gokr | (if you watch it - a hint - use arrow right repeatedly to skip ahead when it compiles Nim etc) |
09:55:12 | FromGitter | <andreaferretti> @nvl It is ok to have batteries included, just for things that are actually used |
09:55:22 | FromGitter | <andreaferretti> An HTTP client is batteries included |
09:55:37 | FromGitter | <andreaferretti> a library to parse roman numerals is not |
09:55:43 | FromGitter | <andreaferretti> NIm used to have both |
09:56:03 | FromGitter | <andreaferretti> It can have batteries included *and* still have the stdlib trimmed down |
09:56:06 | * | zippyy joined #nim |
10:00:45 | * | zippyy quit (Ping timeout: 250 seconds) |
10:02:46 | * | ShalokShalom quit (Remote host closed the connection) |
10:19:39 | * | miran joined #nim |
10:25:01 | skrylar_ | i suppose for handling web stuff we have jester. wonder how 'production ready' it is |
10:25:58 | skrylar_ | dom96, have you tried running jester through a fastcgi situation? |
10:26:18 | skrylar_ | i remember wsgui being a very nice thing for managing a cluster of fastcgi processes |
10:36:31 | FromGitter | <mratsim> @nvl maybe create a RFC. |
10:41:08 | FromGitter | <mratsim> IMO some things are moved out (basic2d/3d), some things are clearly issues (regexp, re/nre), some things are confusing (asyncdispatch, asyncnet, asynchttpserver, what do I need?). I don't care about the stdlib size as long as everything is properly maintained and reasonably fast. |
10:44:26 | FromGitter | <mratsim> Also compared to Rust/Crystal, Nim compiles extremely fast (due to LLVM) so there is less need to separate them. |
10:45:14 | skrylar_ | rust also does an awful lot of things in those compile phases |
10:45:26 | FromGitter | <mratsim> *due to LLVM meaning LLVM-based language are slow to compile (even though clang is usually faster than GCC on C code :? ) |
10:45:33 | skrylar_ | they rely on the "sufficiently advanced compiler" pretty hard for everything |
10:46:22 | skrylar_ | it is ironic that lisp-style metaprogramming is the most powerful yet fastest to compile, compared to all the silly shit in other langs (ex. C++, which isn't as powerful but takes significantly longer) |
10:46:32 | skrylar_ | although c++ would likely not take as long if they would stop deferring blocks |
10:47:07 | skrylar_ | somehow every random-ass feature under the sun makes it in those C++0xNever updates but the one that matters "stop compiling all files as 200+mb of text using a slow ambiguous parser" never does |
10:47:11 | skrylar_ | endrant |
10:47:56 | * | JappleAck joined #nim |
10:49:02 | FromGitter | <mratsim> How fast is D compilation by the way? |
10:49:38 | Araq | according to blog posts, on par with Nim |
10:49:47 | Araq | sometimes faster than Nim, sometimes slower |
10:50:20 | Araq | I haven't even started to optimize the Nim compiler btw... |
10:51:17 | Araq | that said, most of my ideas to speed it up significantly require pervasive refactorings :-) |
10:52:57 | skrylar_ | mratsim: D1 compiled pretty quick |
10:53:17 | skrylar_ | Contrary to what the baffoons in #cpp say, most of the compile time is NOT optimization |
10:53:34 | skrylar_ | The compile time is that C++ grammar is ambiguous and requires multiple passes and symbol table lookups |
10:53:40 | euantor | DMD is pretty quick, about the same as Nim |
10:53:46 | skrylar_ | gdc is also quick |
10:53:47 | euantor | LMD (the LLVM based D compiler) is slow |
10:54:02 | skrylar_ | Compounded by textual inclusion which means, take a look at the size of those precomp'd headers some day. or better yet, gcc -E some files |
10:54:20 | skrylar_ | It's actually compiling 80mb text files every .cc file |
10:54:30 | euantor | At the end of my blog post "Faster command line tools in Nim", I did a quick `time` of compilation speeds: https://www.euantorano.co.uk/posts/faster-command-line-tools-in-nim/ |
10:54:32 | skrylar_ | versus pascal which is compiling ... a 4kb file |
10:54:42 | FromGitter | <mratsim> Wow lol, that's crazy. |
10:55:48 | skrylar_ | well to be fair python is bad in all ways :) |
10:55:52 | FromGitter | <mratsim> That's template inlining gone wrong. |
10:56:28 | skrylar_ | it boggles my mind how python can be so slow AND so big |
10:56:46 | FromGitter | <mratsim> Python is interpreted though. If benchmarks included compilation-time + runtime it could be faster than C++ :P. |
10:56:46 | dom96 | nvl: that is the plan, the question is which modules should stay and which should go |
10:56:47 | skrylar_ | I understand and accept the slowness in that everything is a hash table upon hash tables. But shouldn't the implementation of that be basic (as it is in Lua)? |
10:56:47 | Araq | skrylar_, I think C++'s grammar is not really an issue, the header files are though |
10:56:58 | skrylar_ | Araq, the grammar isn't doing them any favors |
10:57:07 | skrylar_ | it's just that it compounds with the header files |
10:57:22 | Araq | c2nim parses most of C++ |
10:57:25 | skrylar_ | if they had pascal units they could sideline the bad grammar, but they always fucking defer that feature |
10:57:50 | Araq | I think I know a little about C++'s grammar :P |
10:58:02 | skrylar_ | i'm not saying you don't |
10:58:12 | skrylar_ | it's just inevitable that freepascal is going to parse faster than c++ |
10:58:15 | FromGitter | <mratsim> By the way: another topic where Nim could shine: https://www.reddit.com/r/programming/comments/7fwlzw/what_can_you_make_with_ada/ |
10:58:21 | skrylar_ | it only needs one pass and never stops to disambiguate symbols |
10:58:51 | skrylar_ | ah well. i kinda liked ada. and dylan |
10:59:16 | Araq | it's like x86. the cruft isn't that bad with proper engineering |
10:59:59 | Araq | 3 frontend passes and 20 backend passes |
11:00:00 | Araq | vs |
11:00:07 | Araq | 1 frontend pass and 20 backend passes |
11:00:38 | Araq | worse is that the grammar is actually also really bad for humans to understand |
11:00:53 | FromGitter | <mratsim> And in the programing by contract there is the Udiknedormin lib post to upvote at the bottom: https://www.reddit.com/r/programming/comments/7fxz1v/introduction_to_contract_programming/ |
11:01:56 | Araq | you can't compare to FPC since it doesn't have 20 backend passes |
11:02:57 | skrylar_ | does it need them, though? |
11:02:59 | Araq | in fact, last time i checked it didn't even have an IR, instead they use OO polymorphism for their code generators |
11:03:17 | Araq | which is a big WTF for me lol |
11:03:34 | skrylar_ | i remember when their amd64 support was new i tried to use it and it did bad things to structs |
11:03:39 | skrylar_ | otherwise it seemed to work great |
11:03:57 | skrylar_ | but then i liked delphi so |
11:04:13 | Araq | it does its job but don't expect useful CSE or vectorization |
11:05:23 | skrylar_ | it amazes me that they are still around |
11:05:42 | dom96 | mratsim: You raise a good point. Should I make breaking changes and split up the async modules into async/future async/dispatcher async/net async/httpserver etc? |
11:05:58 | Araq | no ... or maybe yes. |
11:06:04 | Araq | but have a migration path |
11:06:13 | skrylar_ | alternatively dom96 could make it a nonbreaking change by having the old module import and export the new ones and put up a deprecation flag |
11:06:21 | dom96 | The migration path would need to be mandatory (as my book depends on this pretty severely) |
11:06:21 | skrylar_ | stanley decided not to break all the things |
11:06:40 | Araq | well no, the book is canon |
11:06:45 | dom96 | :D |
11:06:47 | Araq | don't deprecate what's in the book |
11:06:59 | Araq | just improve the docs instead |
11:07:09 | Araq | as I said, "body" is filled for POST |
11:07:15 | Araq | not everybody knows this. |
11:07:21 | dom96 | Araq: Have you changed your mind about async/blah style imports? |
11:07:45 | FromGitter | <mratsim> Yes agree with Araq. I don't use those but looking from the outside I don't know which one I would need at first glance. |
11:07:47 | Araq | yes because we now have import x / [y, z] |
11:08:04 | dom96 | wish we had that earlier :) |
11:08:15 | Araq | me too. |
11:08:43 | dom96 | but on the other hand, Python modules are also very "flat" |
11:09:05 | dom96 | mratsim: "at first glance" would require a rename |
11:09:14 | dom96 | If you're just glancing you won't read the docs |
11:10:46 | dom96 | Araq: okay, so to make that more clear we need more examples |
11:11:27 | Araq | we also need the "cook book" and "explanation" parts in our docs |
11:11:57 | dom96 | A cook book is what I mean by examples I think |
11:12:13 | dom96 | "Reading the body of a POST request" |
11:12:16 | dom96 | would be a "recipe" |
11:12:18 | Araq | async needs an "overview" page |
11:13:50 | dom96 | We need feedback from the community. I rarely use lib.html for example because I have memorised all the modules by now. |
11:14:10 | dom96 | So please, everyone, give us ideas on how to make it better |
11:14:29 | Araq | read that blog post that was shared here in #nim |
11:14:30 | dom96 | One thing is definitely to remove this Nimble script from lib.html and link to nimble.directory |
11:14:35 | Araq | don't remember the link |
11:15:02 | dom96 | Which one? https://www.euantorano.co.uk/posts/faster-command-line-tools-in-nim/? |
11:15:27 | dom96 | euantor: your code snippets aren't formatted properly btw |
11:16:20 | euantor | yeah, it's a problem with Hugo running on the service I'm using |
11:16:36 | euantor | It formats them correctly locally, but I then push to netlify and they rebuild it and break it |
11:16:48 | euantor | I'm going to move it to my own server this week, just have to find the time |
11:17:50 | Araq | mratsim: can you share that link again? |
11:18:39 | FromGitter | <mratsim> Yes |
11:19:03 | FromGitter | <mratsim> This one? https://www.divio.com/en/blog/documentation/ |
11:20:33 | Araq | yes, thanks |
11:21:27 | dom96 | Nice. |
11:21:40 | dom96 | Sadly, after writing a book I am mostly tired of writing docs :) |
11:22:24 | FromGitter | <mratsim> We have the technical reference (the manual, the index, nim doc). We have a tutorial. Examples/cookbook/how-to are sometimes there, sometimes not but only basics, explanation are in Araq's forum posts and GitHub replies ;). |
11:22:39 | federico3 | *cough* #6492 |
11:24:29 | FromGitter | <mratsim> I think the epitome of Opensource "how-to" is Archwiki. |
11:27:41 | dom96 | Yeah, for some reason the GitHub wiki doesn't inspire as much will to contribute |
11:27:53 | dom96 | Perhaps we should set up mediawiki again (yep, we used to have one ;)) |
11:28:08 | crem | Somehow I find nim documentation hard to navigate. |
11:29:03 | federico3 | dom96: IMO being able quickly show docs updates could also help #6781 |
11:29:44 | crem | I may make sense also to set up a code search for all nim projects/packages like https://codesearch.debian.net/. Because it's often more useful to look into sources than to doc. |
11:30:00 | livcd | dom96: i am still reading your book :) |
11:30:24 | federico3 | crem: other than searching on GH? |
11:30:27 | crem | Sources include doc anyway, and also they have some snippets to copy, as there's no much stackoverflow for nim. |
11:31:07 | crem | Github code search is awful. I still didn't find how can I just find by filename. |
11:31:47 | * | dexterk quit (Read error: Connection reset by peer) |
11:31:49 | crem | I to look into system.nim. How long it takes to find it? |
11:32:32 | dom96 | crem: press 't' |
11:32:34 | crem | Also when you google for nim or nimlang, github is not on the first page for me. |
11:32:38 | crem | t |
11:32:46 | dom96 | on github... |
11:32:50 | dom96 | to search by filename |
11:35:44 | crem | Ok, didn't know that. Still missing much on search. When I use some lib (for example, sdl2), first it takes 1 minute to find it's github repo, then a minute for inconvenient search. Only to know what sdl2.createWindow returns in this version of wrapper. |
11:36:34 | crem | Although maybe if suggest worked in sublime, it wouldn't be such a problem, probably then it could just open a library for identifier under cursor. |
11:38:02 | crem | But 't' will improve things a lot I guess, I'll try. |
11:39:28 | Araq | well tell us what to do :P |
11:39:41 | Araq | "seach is bad" doesn't lead to any immediate actions |
11:40:14 | Araq | (which search? why is it "bad"?) |
11:41:02 | crem | Set up an instance of https://github.com/Debian/dcs for nim packages? :) |
11:41:04 | crem | but |
11:41:31 | crem | actually there's something which sounds reasonable easy, but will help a lot. |
11:42:20 | crem | Make it possible to pass search term as a parameter/fragment of this URL https://nim-lang.org/docs/lib.html so that search starts immediately at loading |
11:42:36 | crem | That way I can set that up as a search engine in browser |
11:43:13 | crem | and type e.g. "nim exit" so that "exit" is searched immediately |
11:56:37 | FromGitter | <mratsim> Haskell is not bad for search within the whole packages ecosystem, but before getting there, targeted tutos at "Nim for the web", "Nim for games", etc might be just enough so that people have the keywords to search for. |
11:59:31 | crem | Nim is great for ludum dare-style games indeed. Maybe some set of tutorials for people for which nim is the first language and they want to write a game would be nice indeed. But it does'nt feel like a top priority though. |
11:59:52 | FromGitter | <mratsim> documentation is marketing! |
12:00:40 | crem | What worries me about nim, is that if Araq becomes bored with it, nim will die. Unlike other languages of similar size. |
12:00:52 | FromGitter | <mratsim> Actually I would love a “Nim for web documentation” because I want to release a new version of Arraymancer this weekend and the current one page of docs does not fit it anymore :/. |
12:01:14 | FromGitter | <mratsim> “What is Nim bus factor" |
12:02:07 | Calinou | we could have a docs.rs-like site for Nim, I guess |
12:02:15 | Calinou | https://docs.rs/ |
12:02:42 | Araq | crem, it continues to be a valid point. any ideas about that? zahary also knows everything but is not as active as me :P |
12:02:42 | livcd | crem: I would not worry about that. Languages can die for whatever reason. Look at what happened / is happening with Perl |
12:02:55 | Calinou | yeah, or even Ruby (which is much less popular now) |
12:03:03 | livcd | Ruby is fine |
12:03:33 | Araq | the number of stdlib vs compiler contributions is a strong indication that the compiler needs to be more accessible |
12:03:40 | livcd | Ruby seems to be decreasing in popularity and usage because everyone measures against Rails |
12:04:05 | federico3 | Calinou: what's docs.rs doing? |
12:04:07 | Calinou | I still use Jekyll but that's about it |
12:04:15 | Calinou | (I find Hugo too difficult to use, even though I tried for 15+ hours) |
12:04:18 | Araq | can we stick to the topic please? Ruby is not Nim. |
12:04:21 | euantor | nimble.directory creates docs for packages too |
12:04:21 | Calinou | federico3: it hosts documentation of crates |
12:04:38 | Calinou | ah, I forgot about that site entirely |
12:04:45 | euantor | https://nimble.directory/docs/pledge |
12:05:00 | euantor | It could be improved upon a bit, but it does do it |
12:06:00 | livcd | Araq: sorry :( |
12:07:37 | * | itPuffin|osxB joined #nim |
12:07:53 | Araq | I'll write some compiler document in the hope it attracts more compiler developers :-) |
12:08:49 | dom96 | crem: he hasn't become bored in the 10+ years he's been working on it so far, why would he become bored now? :) |
12:09:35 | * | BitPuffin|osx quit (Ping timeout: 248 seconds) |
12:09:54 | dom96 | wow, docs.rs sure is nice |
12:10:11 | * | itPuffin|osxB is now known as BitPuffin|osx |
12:10:55 | euantor | I like that you can view documentation for different releases - that would be nice to add to nimble.directory for definite |
12:11:01 | crem | dom96: I don't know anything about Araq personal life, but for example it happens often that when people have kids, they become much less active otherwise. Or marry. Or something happens with them. |
12:11:22 | dom96 | crem: well, I'll let Araq fill you in if he wants |
12:11:24 | Araq | these things all have happened to me already :P |
12:11:29 | dom96 | ^^ |
12:11:42 | crem | That's good to hear! :) |
12:12:03 | euantor | I like some things about Rust's docs that would be very nice to add to Nim's. Things like clicking on names of types returned from functions and jumping to the type definitions are really useful |
12:12:52 | federico3 | euantor: +1 |
12:15:40 | dom96 | +1 |
12:17:33 | miran | https://devdocs.io/ |
12:17:44 | miran | it has documentation for nim, and it is searchable |
12:19:04 | * | itPuffin|osxB joined #nim |
12:19:50 | FromGitter | <mratsim> But documentation for Nim libraries cannot be done there (unless they reach the size of Numpy, bootstrap or whatever) |
12:20:17 | * | BitPuffin|osx quit (Ping timeout: 248 seconds) |
12:20:29 | * | floppydh quit (Ping timeout: 276 seconds) |
12:20:41 | * | itPuffin|osxB is now known as BitPuffin|osx |
12:21:11 | * | floppydh joined #nim |
12:21:23 | miran | mratsim - i think this is just nim manual in another format |
12:22:26 | miran | now i see - not only manual, some other stuff too, e.g. tutorial |
12:37:17 | Araq | euantor, these things overlap with 'nimsuggest' though and given our limited resources I'd rather improve nimsuggest |
12:38:02 | euantor | Yep, problem with that is that to use nimsuggest I need to open a terminal or something. I can read docs on a phone or a tablet as long as I have an internet connection |
12:38:22 | euantor | It would be nice to have in the future - I'm not saying somebody should drop everything and implement it right now :) |
12:38:47 | FromGitter | <mratsim> Wow I don’t know when it changed but the new features page is much more attractive: https://nim-lang.org/features.html |
12:39:16 | * | Snircle joined #nim |
12:39:41 | FromGitter | <mratsim> I even learned something new: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ —> `foreignDep` ? :O [https://gitter.im/nim-lang/Nim?at=5a1d590ce5ed52e26c9a9031] |
12:43:23 | Araq | https://www.lua.org/source/5.3/lgc.c.html links to types is an old hat |
12:43:46 | Araq | it's super nice to have this but it's just a poor man's online IDE |
12:44:39 | Araq | it's much simpler to implement than a "show things during edit" though |
12:47:28 | Araq | I wonder what tool they use to generate these |
12:50:05 | * | floppydh quit (Ping timeout: 255 seconds) |
12:50:43 | euantor | I've wondered why GitHub didn't implement such a thing in their code browser, where it would be even more useful |
12:51:20 | * | zippyy joined #nim |
12:51:35 | crem | At google for codesearch clang's ast output is used I believe. |
12:51:57 | Araq | I dunno, I don't like browsers and prefer to improve the editors |
12:52:24 | Araq | having to leave the editor to look at some documentation is friction |
12:52:44 | crem | Everyone uses different editors. For example there's no way to use nimsuggest in sublime in linux. |
12:52:54 | * | floppydh joined #nim |
12:53:11 | dom96 | while having everything in an editor would be the "perfect solution" |
12:53:24 | FromGitter | <mratsim> You can use Aporia :P |
12:53:25 | dom96 | getting there is tough |
12:53:40 | dom96 | so we should make easy improvements that will get us 80% of the way there |
12:53:42 | * | SenasOzys quit (Ping timeout: 240 seconds) |
12:55:22 | * | skrylar_ quit (Ping timeout: 240 seconds) |
12:55:30 | euantor | most edtiros are browsers now anyway (VS Code, Atom, Brackets, etc.) |
12:55:34 | euantor | *editors |
12:56:14 | Araq | crem, fix sublime's plugin? |
12:56:53 | * | zippyy quit (Ping timeout: 276 seconds) |
12:58:57 | crem | To send patches to github, I need to notify my employer. While they made it easy, it's still enough additional work to stop me from making any patches. |
12:59:09 | crem | Hm, ptobably not a valid excuse. :) |
13:03:01 | * | SenasOzys joined #nim |
13:04:40 | * | miran quit (Ping timeout: 260 seconds) |
13:23:54 | * | laas joined #nim |
13:25:32 | * | sakalli joined #nim |
13:25:36 | laas | How does one have mutually recursive closures, that aren't bound to a variable? |
13:26:21 | laas | If I try to do `proc name(args): ret_type` and then later the same but also put in the body, any call says it's ambigious which one to call |
13:26:32 | laas | Is this not the correct way to do forward declarations? |
13:30:57 | FromGitter | <Varriount> crem: If you want to submit a PR with working Nimsuggest support, I would be very happy |
13:31:48 | laas | nvm it was my fault |
13:46:08 | * | dddddd joined #nim |
14:27:29 | * | PMunch quit (Quit: Leaving) |
14:27:41 | * | PMunch joined #nim |
14:28:35 | subsetpark | If I ever had a free week of hacking, I would totally make a working nimsuggest vim plugin too |
14:30:37 | * | dddddd quit (Ping timeout: 260 seconds) |
14:31:06 | FromGitter | <mratsim> That's some slick static doc generator for GitHub pages: https://lord.github.io/slate/ |
14:31:45 | * | dddddd joined #nim |
14:38:56 | subsetpark | i was at recurse center with that dude |
14:39:05 | subsetpark | he was, i think, 16 or 17 when he wrote that |
14:40:53 | * | SenasOzys quit (Ping timeout: 276 seconds) |
14:43:51 | * | dddddd_ joined #nim |
14:45:08 | * | gokr quit (Ping timeout: 268 seconds) |
14:45:10 | * | dddddd quit (Ping timeout: 252 seconds) |
14:46:11 | * | zippyy joined #nim |
14:57:58 | * | sakalli quit (Ping timeout: 264 seconds) |
14:58:40 | * | zippyy quit (Ping timeout: 248 seconds) |
14:59:49 | * | MJCaley joined #nim |
15:13:18 | * | sakalli joined #nim |
15:16:48 | * | zippyy joined #nim |
15:25:23 | niv | can someone explain to me why marking something as .threadvar. and then turning on threads doubles the access time to that variable? |
15:25:35 | * | floppydh quit (Ping timeout: 240 seconds) |
15:27:44 | crem | You can check generated C code. |
15:28:03 | * | floppydh joined #nim |
15:28:38 | * | NimBot joined #nim |
15:38:52 | dom96 | Araq: Still think this is a fool's errand? :) https://github.com/nim-lang/Nim/issues/2251 |
15:40:44 | Araq | yes. we have no experience whatsover with "evalute all when branches" |
15:41:04 | Araq | you might as well wish for fairy dust. |
15:41:19 | dom96 | lol |
15:41:48 | dom96 | Okay, what about this? https://github.com/nim-lang/Nim/issues/1837#issuecomment-347563913 |
15:44:08 | * | laas quit (Quit: WeeChat 1.9.1) |
15:45:10 | Araq | ormin supports json in order to support NULL in a clean way |
15:45:25 | Araq | sadly the db_* modules cannot do the same, or maybe they can? |
15:45:39 | Araq | we really need to fix this for version 1... |
15:45:56 | dom96 | Option[T] is a less disruptive solution I think |
15:46:13 | dom96 | we can even make it optional, no pun intended |
15:46:47 | dom96 | Here is a doc gen issue that would be useful and won't require any fairy dust https://github.com/nim-lang/Nim/issues/1211 |
15:47:18 | * | skrylar_ joined #nim |
15:48:27 | Araq | yes but it's just another feature request. we have hundreds of them, what makes this special? |
15:49:49 | dom96 | it would allow us to write docs more effectively |
15:50:51 | Araq | **Warning** -- is that so hard to write? |
15:50:53 | * | noonien quit (Quit: Connection closed for inactivity) |
15:51:04 | * | floppydh quit (Ping timeout: 258 seconds) |
15:51:08 | dom96 | no, but it's not as nice as having a box with a warning icon |
15:51:41 | dom96 | well I went through all the stdlib issues |
15:51:54 | dom96 | Curious what you meant here: https://github.com/nim-lang/Nim/issues/149 |
15:52:14 | Araq | so write a box via .. container:: box and some CSS |
15:53:18 | * | floppydh joined #nim |
15:53:30 | Araq | I changed my mind about this. 'with' support for distinct is not going anywhere |
15:54:18 | dom96 | yeah, I can do the box thing. But rst supports this syntax, it would be nice to support it too. |
15:54:24 | dom96 | But it's not important in any case. |
15:54:49 | dom96 | What did we decide to do about TaintedString? |
15:59:42 | Araq | we decided to remove it... |
16:00:13 | Araq | but people like it, so I vote for keeping it as it is. it doesn't harm us |
16:00:53 | dom96 | if we keep it then we need to make sure the stdlib works with it |
16:00:56 | dom96 | which will be painful |
16:01:24 | dom96 | perhaps I should create an issue so that we can all discuss |
16:01:40 | Araq | testament uses much of the stdlib and is built with --taintMode:on |
16:01:45 | Araq | for this reason. |
16:02:09 | Araq | we can write a better test that imports every stdlib module |
16:02:45 | Araq | so ... yeah it's some work but seems ok |
16:03:43 | dom96 | To properly support it though we'd need to introduce it in the sockets modules :\ |
16:03:54 | dom96 | This feature to me feels too disruptive |
16:07:16 | Araq | open an issue for this already |
16:09:13 | Araq | I think we should make it the default for writing server apps |
16:09:44 | dom96 | here you go https://github.com/nim-lang/Nim/issues/6833 |
16:10:20 | Araq | in fact, enable it for asynchttpserver and see if gains us some insights |
16:10:26 | Araq | :P |
16:10:39 | dom96 | I think we should also look into which modules support JS |
16:10:52 | dom96 | I might write a script which does that |
16:12:15 | sendell | about that: I was wondering what "unsupported by the JS target" means? does not compile at all? or UB? |
16:12:51 | Araq | won't compile. |
16:13:11 | Araq | if you're very unlucky you would get UB, but it's not likely |
16:13:43 | sendell | because of the "slightly different" ptr semantics? |
16:14:03 | sendell | what else could cause it? |
16:14:07 | Araq | that's a small part of the problem, os.nim doesn't support JS |
16:14:20 | Araq | everything that imports os.nim can't support JS |
16:15:17 | Araq | no file system, no process management. if I base my random.nim on /usr/bin/urandom it can't run on JS. |
16:17:44 | sendell | obviously |
16:18:21 | sendell | so maybe that kind of modules must use conditional compilation to provide an alternative for js |
16:18:47 | FromGitter | <andreaferretti> some do |
16:19:31 | FromGitter | <andreaferretti> for instance the bit twiddling operations in `bitops` use compiler intrinsics for assembler primitives where available, and a pure nim implementation otherwise |
16:19:51 | FromGitter | <andreaferretti> but it's a lot of work even to review everything for js |
16:26:11 | dom96 | On a side note, anybody doing Ludum Dare this weekend? |
16:27:37 | FromGitter | <alehander42> one thing I wondered was, for the `defined(nodejs)` a lot of the os etc modules can be supporte |
16:28:07 | Araq | we don't support nodejs though. we only use it for testing. |
16:29:13 | Araq | if the patches are clean enough I'll accept improvements but nodejs is really not a target for us |
16:29:38 | * | gokr joined #nim |
16:29:52 | FromGitter | <alehander42> I see, I maintain some Nim->nodejs code in an electron app |
16:30:14 | Araq | that's cool anyway ;-) |
16:30:35 | FromGitter | <alehander42> so if I decide to add support for some stdlib modules for it, that's no problem (it's not that you don't want to support nodejs, but it's not a priority ?) |
16:31:16 | Araq | it needs to be reasonably clean and come with tests |
16:31:22 | FromGitter | <alehander42> ofc |
16:32:14 | FromGitter | <alehander42> and the other thing I wondered was (it's important for browser-based js too) are there any plans for jscompatible async / await ? |
16:33:11 | Araq | there are plans but nobody is working on it |
16:33:20 | Araq | it's not even that hard, I can guide you |
16:34:07 | FromGitter | <alehander42> I've actually done it in a fork branch of mine, but I am directly reusing modern ecmascript's async/await which is a bit of a hack |
16:34:43 | FromGitter | <alehander42> I imagine a proper impl will reimplement a state machine with behavior closer to nim's async ? |
16:35:59 | Araq | yep. it's only two AST node kinds that you need to implement |
16:36:10 | Araq | nkGotoState and nkState |
16:36:30 | Araq | oh and you need to touch every other control flow construct in the JS backend |
16:37:14 | * | zippyy quit (Ping timeout: 276 seconds) |
16:39:05 | * | PMunch quit (Quit: Leaving) |
16:39:24 | dom96 | yeah, that would be nice to support |
16:41:23 | FromGitter | <alehander42> ok, I'll take a look at it this week |
16:43:03 | FromGitter | <alehander42> I guess the hardest thing would be actually to think of a way to be easily compatible with js async functions (eg await a lib function from async nim function) |
16:44:13 | sendell | what is wrong with wrapping the native async/await like you did? |
16:45:03 | sendell | as it will provide compatibility with libs out of the box |
16:45:09 | sendell | sounds like a good idea :) |
16:45:29 | dom96 | browser support for that is poor I guess |
16:45:31 | FromGitter | <alehander42> it's not supported in all js versions yet |
16:45:41 | sendell | eh.. ok |
16:45:45 | sendell | web world haha |
16:46:08 | * | Trustable joined #nim |
16:48:31 | FromGitter | <alehander42> otherwise I am not sure if there are any differences in nim's async behavior and js' ones (any edge cases where they differ) |
16:49:57 | Araq | well ... maybe better map it to JS's native solutions and wait a couple of years |
16:50:31 | Araq | there are transfinitecomplaters for new JS to old JS already |
17:03:58 | FromGitter | <alehander42> I've already done that part, so I can PR it tomorrow for discussion |
17:06:14 | FromGitter | <alehander42> Otherwise we can also have a fallback "native nim" async for older versions, but I admit I am not sure if it's worth the trouble (even typescript seems to fallback onto |
17:07:44 | dom96 | another option is to generate newer JavaScript and then use some sort of convertor to convert it to older JS :) |
17:08:20 | FromGitter | <alehander42> Yep |
17:08:42 | FromGitter | <alehander42> Web people are used to building and piping 10 tools anyway :D |
17:12:36 | Araq | yeah produce the more modern stuff for async, I don't mind |
17:12:38 | * | sendell quit (Remote host closed the connection) |
17:15:05 | * | skrylar_ quit (Ping timeout: 240 seconds) |
17:32:51 | FromGitter | <mratsim> I tried to learn TypeScript React-Native a year ago, Typescript —> React-Native —> Javascript —> Build Android and iOS. Of course you needed grunt, webpack, babel and whatever as a build system. (Though VS code breakpoints worked with the iOS simulator which is kind of cool) |
17:35:44 | * | sakalli quit (Ping timeout: 276 seconds) |
17:40:39 | * | xkapastel joined #nim |
17:41:10 | * | miran joined #nim |
17:43:49 | * | floppydh quit (Quit: WeeChat 1.9.1) |
17:45:27 | * | BitPuffin|osx quit (Ping timeout: 240 seconds) |
17:47:17 | FromGitter | <kayabaNerve> I remember when websites were HTML + CSS + Apache. |
17:47:22 | FromGitter | <kayabaNerve> Those were the good days.. |
17:48:01 | FromGitter | <kayabaNerve> Like, I love NodeJS and don't Apache nowadays. I also think PHP is the devil on Earth and think client side software is great for decentralization. |
17:48:10 | FromGitter | <kayabaNerve> But it gets so complicated so fast... |
17:49:25 | FromGitter | <kayabaNerve> HTML + CSS + Apache ⏎ HTML + CSS + JS + Apache + PHP ⏎ HTML + CSS + JS + Apache + nGinx + PHP ⏎ HTML + CSS + JS + NodeJS + NPM ⏎ HTML + CSS + JS + Typescript + NodeJS + NPM [https://gitter.im/nim-lang/Nim?at=5a1da1a5540c78242d5c50bc] |
17:49:47 | FromGitter | <kayabaNerve> Oh. And then there's the people who put NodeJS and nGinx together... |
17:52:41 | FromGitter | <kayabaNerve> I just do HTML + CSS + JS + NodeJS with Express/Middleware (not using multiple web servers, build tools, TypeScript, jQuery, Vue, Bootstrap...) but as @alehander42 said, it's ridiculous. |
18:01:17 | * | MJCaley quit (Quit: MJCaley) |
18:04:35 | * | gokr quit (Ping timeout: 240 seconds) |
18:08:14 | miran | anybody here plans to participate in advent of code? |
18:09:54 | FromGitter | <zetashift> Yes! I will |
18:10:46 | miran | nice to hear, because here https://www.reddit.com/r/adventofcode/comments/7ftrie/which_language_will_you_use_this_year_why_do_you/ i was the only one who mentioned nim |
18:11:52 | miran | and this might be a good opportunity to promote nim a bit ;) (cc dom96 Araq) |
18:12:39 | * | sendell joined #nim |
18:13:06 | dom96 | yeah, I'll tweet about it :) |
18:15:26 | miran | dom96: don't only tweet, post your solutions in the daily threads |
18:15:46 | dom96 | I doubt I'd get time |
18:15:49 | miran | i'm sure they will be much better representation of nim's possibilities than my solutions |
18:16:06 | dom96 | Does it take much time to do? |
18:16:27 | miran | first couple of tasks is about 15-30min |
18:16:38 | miran | later they become a bit harder |
18:16:57 | dom96 | maybe I'll do some Twitch streams trying to solve them :) |
18:17:14 | miran | hehe, if you want, take a look at 2015 or 2016 tasks |
18:17:17 | dom96 | I'll be doing Ludum Dare this weekend though |
18:17:47 | miran | nice! |
18:17:52 | miran | in nim? |
18:18:41 | * | claudiuinberlin joined #nim |
18:19:01 | dom96 | of course |
18:19:17 | federico3 | dom96: with which library? |
18:19:23 | dom96 | Still not sure whether to use ftsf's package or sdl2 or sfml |
18:19:37 | * | arnetheduck quit (Remote host closed the connection) |
18:19:38 | dom96 | I'll be doing it with my girlfriend as well, should be fun :) |
18:30:55 | FromGitter | <zetashift> I liked nimgame2 a lot |
18:34:51 | FromGitter | <kayabaNerve> dom96: The SFML lib is pretty good and easy to setup. It also has good examples and you can easily search for the few things that aren't documented. |
18:35:46 | FromGitter | <kayabaNerve> I built a 2D RPG Framework in it (I got map loading up and you can move tile to tile, scales to fullscreen properly, displays a cursor, centers the X axis...). Am now doing a map maker for it |
18:38:01 | dom96 | cool, only problem with sfml for me might be that I won't be able to get it running in the browser via emscripten |
18:38:04 | dom96 | sdl2 supports this |
18:41:29 | * | Trustable quit (Remote host closed the connection) |
18:42:42 | * | qwertfisch is now known as qwertotter |
18:46:56 | FromGitter | <zacharycarter> o/ |
18:47:25 | FromGitter | <zacharycarter> I think I'm LDing this weekend too |
18:51:24 | FromGitter | <kayabaNerve> dom96: It does require DLLs so I doubt it. |
18:51:54 | dom96 | kayabaNerve: sdl2? |
18:52:03 | FromGitter | <kayabaNerve> SFML ;) |
18:52:44 | dom96 | I don't think that matters, they just don't support emscripten |
18:52:58 | dom96 | zacharycarter: :D |
18:53:10 | FromGitter | <zacharycarter> hey dom96 :D |
18:53:41 | FromGitter | <kayabaNerve> True, if you compile the DLLs with the project (and that's supported by Emscripten)... |
18:53:54 | FromGitter | <zacharycarter> emscripten doesn't play nice with dynamic linking fyi |
18:53:59 | FromGitter | <zacharycarter> you can do it but it's a PITA |
18:54:05 | FromGitter | <zacharycarter> and static linking is the recommended way to go |
18:54:21 | FromGitter | <kayabaNerve> https://en.sfml-dev.org/forums/index.php?topic=18824.0 |
18:54:35 | FromGitter | <kayabaNerve> That's two years old but covers the topic of SFML with emscripten well |
18:54:38 | FromGitter | <zacharycarter> I just wouldn't use SFML - I'd use SDL2 or GLFW3 |
18:55:08 | FromGitter | <zacharycarter> or use godot-nim or something |
18:55:15 | FromGitter | <kayabaNerve> OFC, you wouldn't use SFML with the bindings on GitHub, you would use CSFML |
18:55:43 | FromGitter | <kayabaNerve> (Oprypin's) |
18:57:14 | Araq | can somebody try to update some wrapper to use the new destructors? |
18:57:59 | * | endragor quit (Remote host closed the connection) |
18:58:09 | FromGitter | <kayabaNerve> Araq: I might if I continue to use it (not an expert on it, if I use it I'll learn, will also have a bigger incentive to) |
18:58:42 | FromGitter | <kayabaNerve> I'm likely to open source everything I'm working on if it gets to a decent point |
19:00:01 | sendell | oh it's possible to use godot with nim? that's huge |
19:00:39 | * | endragor joined #nim |
19:00:59 | FromGitter | <zacharycarter> yes |
19:01:13 | FromGitter | <zacharycarter> https://github.com/pragmagic/godot-nim |
19:01:27 | FromGitter | <zacharycarter> note - I haven't tested this, I use my own engine |
19:01:39 | FromGitter | <zetashift> How's zengine faring? |
19:01:39 | * | endragor_ joined #nim |
19:02:03 | FromGitter | <zacharycarter> I haven't worked on it in a while, but I plan to change that this weekend for LD :) |
19:02:16 | FromGitter | <zacharycarter> life has had me busy with stupid non programming related stuff |
19:02:28 | FromGitter | <zacharycarter> how are you doing @zetashift ? |
19:03:05 | FromGitter | <zetashift> I'm okay I've been sick awfully for like 3 weeks but I've atleast recovered enough to get back to dom's book |
19:03:19 | * | JappleAck quit (Quit: Leaving) |
19:03:23 | FromGitter | <zetashift> I might join in with the LD and godot-nim |
19:03:34 | * | endrago__ joined #nim |
19:03:42 | FromGitter | <zacharycarter> good, glad you're feeling better! |
19:04:11 | * | couven92 quit (Quit: Client disconnecting) |
19:04:57 | * | endragor quit (Ping timeout: 240 seconds) |
19:05:20 | * | zippyy joined #nim |
19:05:33 | sendell | oh I tried to use zengine last week |
19:05:51 | sendell | maybe you fixed it, but there was an issue with glm dep |
19:06:09 | * | endragor_ quit (Ping timeout: 248 seconds) |
19:06:11 | sendell | which required nim nightly, and zengine doesnt compile on nightly |
19:06:50 | FromGitter | <zacharycarter> sendell - sorry I've been out of the loop for about a monthish, I'll take a look this evening |
19:07:01 | sendell | np :) |
19:08:41 | * | endrago__ quit (Ping timeout: 276 seconds) |
19:10:18 | * | zippyy quit (Ping timeout: 268 seconds) |
19:14:31 | * | ipjk joined #nim |
19:17:15 | sendell | can nim compiler use emscripten instead of gcc as backend? |
19:17:27 | Araq | yes |
19:17:31 | sendell | out of the box? |
19:18:10 | sendell | no trace of that in "Nim Compiler User Guide" |
19:18:18 | Araq | there is an article that describes the setup steps |
19:18:32 | Araq | check def-'s blog |
19:20:14 | FromGitter | <zacharycarter> it's not the easiest thing in the world, esp when you have external dependencies |
19:20:20 | * | jjido joined #nim |
19:20:23 | FromGitter | <zacharycarter> zengine uses emscripten / wasm and has examples if you want to take a look at how I did it there |
19:20:46 | sendell | I will :) |
19:21:09 | sendell | Araq are you talking about this ? https://hookrace.net/blog/porting-nes-go-nim/ |
19:41:08 | * | couven92 joined #nim |
19:43:27 | Araq | possibly |
19:48:00 | FromGitter | <zetashift> yea that one |
19:48:18 | FromGitter | <zetashift> I want more def-'s blogposts about Nim :( |
19:52:55 | * | salewski joined #nim |
19:53:54 | salewski | What do you think, is my example ivalid code for Nim: https://github.com/nim-lang/Nim/issues/6834 |
19:54:47 | salewski | I guess so -- so I would have to use fixed array sizes or seqs. |
19:54:59 | * | gokr joined #nim |
20:15:41 | FromGitter | <nitely> I don't even know what you are trying to do, but AFAIK generics is just or types, no? |
20:15:42 | FromGitter | <nitely> https://play.nim-lang.org/?gist=770977f537af612cdeaa606ad263ba08 |
20:15:52 | FromGitter | <nitely> *for types |
20:16:57 | jjido | Or types is a good term too |
20:18:28 | salewski | Yes, that may be true. I was not sure, so I did a test. |
20:19:27 | Araq | salewski: I think you need to use static[int] for the array size parameter |
20:20:01 | salewski | Ah interesting, I will try that. |
20:24:00 | FromGitter | <nitely> well that works |
20:24:01 | FromGitter | <nitely> https://play.nim-lang.org/?gist=41c5bcf53e2d5f7a4e031ee63762f406 |
20:26:17 | * | marenz__ joined #nim |
20:28:01 | FromGitter | <nitely> I did not know that, I've use for it :) |
20:28:25 | salewski | Great, thanks. |
20:36:57 | * | jjido quit (Ping timeout: 260 seconds) |
20:38:13 | * | jjido joined #nim |
20:38:17 | * | salewski quit (Quit: WeeChat 1.9.1) |
20:39:30 | Calinou | trying to break the world record… https://media.hugo.pro/firefox_2017-11-28_21-39-24.png |
20:39:36 | Calinou | close :( |
20:39:46 | Calinou | I'll attempt the boring and long method, should work |
20:40:02 | dom96 | :D |
20:40:18 | dom96 | Unfortunately I'm pretty sure a bot did this |
20:40:44 | Calinou | nah, an human can do it |
20:46:37 | dom96 | 124 |
20:46:59 | dom96 | I store the replays though, so we can check, as soon as I implement replay playback :) |
20:50:10 | dom96 | I also think it'd be more fun if some bots always played |
20:50:22 | Calinou | yes, like in CS:GO, amirite |
20:50:24 | Calinou | :P |
20:50:29 | dom96 | it's always more fun to play if you think others are playing :) |
20:51:46 | dom96 | Araq: These two are ready for a merge, and don't need squashing https://github.com/nim-lang/Nim/pull/6817 https://github.com/nim-lang/Nim/pull/6823 |
20:54:13 | federico3 | #6723 is good to merge I suppose |
20:58:06 | federico3 | Araq: a little hint on where to start for #6492 ? |
20:59:30 | Araq | I don't remember how the other edit buttons work. |
21:00:08 | Araq | but it's all configurable, I think, every section could get an edit button |
21:01:18 | federico3 | the usual Source/Edit buttons are added automatically to procs docstrings |
21:01:45 | federico3 | while the manual is not generated from procs so that's why I was asking :) |
21:02:02 | * | miran quit (Ping timeout: 260 seconds) |
21:02:27 | dom96 | So, should json.to work with inherited objects? Can anyone see any potential problems with this? https://github.com/nim-lang/Nim/issues/5856 |
21:03:05 | Araq | how can it load an inherited object? |
21:03:27 | dom96 | here is a PR that implements it https://github.com/nim-lang/Nim/pull/5879 |
21:03:33 | Araq | how do you construct the type to fill it with values? macros.getType gives you the static type |
21:04:48 | dom96 | It just looks at the types that you're inheriting from and adds their fields to the constructor. |
21:04:48 | Araq | oh so it assumes the static type is the correct one |
21:05:05 | Araq | yeah, that should have been done from the beginning |
21:05:25 | dom96 | I guess you were thinking about giving it a variable and it deciding at runtime? |
21:05:40 | Calinou | sign me up for the Guinim World Records book: https://media.hugo.pro/firefox_2017-11-28_22-05-29.png |
21:05:53 | dom96 | Calinou: waatttt |
21:05:54 | dom96 | how |
21:06:17 | Calinou | 1) Wait for the 5+ bonuses and collect them all for a while (do this until you are bored) |
21:06:22 | Araq | no I thought about the typical programmer who is confused |
21:06:23 | Calinou | (I did it until getting to 151 points) |
21:06:27 | Calinou | then I just picked +1 bonuses until I died |
21:06:34 | dom96 | Calinou: ahhh, tactical :) |
21:06:36 | Calinou | (the game started being extremely fast at 167 points, then I died shortly after) |
21:07:32 | dom96 | Calinou: ideas on how to improve the game welcome btw :) |
21:09:03 | * | ipjk quit (Quit: Leaving) |
21:09:29 | xet7 | Today I installed Nim to Windows 10 laptop. After extracting packages, setting path to environment variable, testing with included executeable (got warning from Windows), logout and login, I did notice that Nim and mingw compiler directories had disappeared. Thanks Microsoft, nice going there with all protections and Defender :D |
21:10:13 | Calinou | disable Windows Defender permanently using https://winaero.com/download.php?view.1812 |
21:10:18 | Calinou | (be sure to get the actual .reg file, not malware from an ad) |
21:10:33 | Calinou | and thank me for the saved CPU/IO :) |
21:10:37 | Araq | xet7, had that avira antivir iirc |
21:10:54 | Araq | removed it, no problem with MS's defender |
21:11:19 | xet7 | what's the difference between malware, .reg file, and Windows? none, they work the same ;D |
21:11:45 | Araq | malware doesn't delete things, usually. |
21:11:58 | xet7 | Yes malware actually works better |
21:12:34 | * | zippyy joined #nim |
21:12:35 | xet7 | their authors even sometimes have paid support available :D |
21:13:23 | Calinou | the .reg file just sets values into the Windows registry |
21:19:21 | * | claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com) |
21:24:17 | * | zippyy quit (Ping timeout: 248 seconds) |
21:32:01 | * | Vladar quit (Quit: Leaving) |
21:32:33 | * | zippyy joined #nim |
21:40:58 | * | couven92 quit (Remote host closed the connection) |
21:41:17 | * | couven92 joined #nim |
21:41:41 | * | zippyy quit (Ping timeout: 240 seconds) |
21:48:24 | * | vivus joined #nim |
21:52:18 | * | iAmSlow joined #nim |
21:52:59 | * | iAmSlow left #nim ("Leaving") |
22:11:21 | FromGitter | <Varriount> xet7: Odd. I have Windows, and that never happened with me. |
22:11:45 | FromGitter | <Varriount> How come it's other people that always get the interesting bugs in Windows, and never me? |
22:38:51 | * | xet7 quit (Ping timeout: 246 seconds) |
22:39:42 | * | vlad1777d joined #nim |
22:40:01 | FromGitter | <Quelklef> never before have i seen someone be envious over bugs |
22:50:10 | * | nsf quit (Quit: WeeChat 1.9.1) |
22:52:33 | * | xet7 joined #nim |
23:02:14 | * | sendell quit (Remote host closed the connection) |
23:03:57 | * | gokr quit (Ping timeout: 260 seconds) |
23:25:53 | * | zippyy joined #nim |
23:29:04 | * | jjido quit (Read error: No route to host) |
23:38:31 | * | couven92 quit (Quit: Client Disconnecting) |
23:42:54 | FromGitter | <Varriount> @Quelklef I'm part of the small group of programmers who believes Windows and Linux are as bad as each other. |
23:43:36 | FromGitter | <Varriount> I also seem to be exceedingly lucky when it comes to Windows . :/ |
23:48:18 | * | libman joined #nim |
23:48:44 | GitDisc | <treeform> Varriount, I don't think its that small. I believe linux is better for servers and windows for games. |
23:49:49 | dom96 | Was nice to see Nim mentioned on Jonathan Blow's livestream |
23:50:10 | dom96 | Sadly I don't think many were convinced to try it. |
23:50:33 | FromGitter | <Varriount> :< |
23:52:35 | FromGitter | <Varriount> My view is this: When it comes to the core OS (kernel, etc), Windows and Linux are about the same. Unfortunately, each OS has flaws in userspace (gui, filesystem, etc). |
23:53:17 | FromGitter | <Varriount> Windows userspace has ~20 years of cruft on top, compounded by needing to solve and provide everything for everybody. |
23:53:58 | FromGitter | <Varriount> Linux userspace has the horrid filesystem architecture and lack of central configuration for anything. |
23:54:48 | FromGitter | <Varriount> I actually felt some delight last week when using Systemd unit files for the first time - finally, something that doesn't feel fragmented and isolated! |
23:59:14 | * | zippyy quit (Ping timeout: 276 seconds) |