<< 19-08-2020 >>

00:03:03*d10n-work quit (Read error: Connection reset by peer)
00:03:13*krux02_ quit (Remote host closed the connection)
00:03:51*d10n-work joined #nim
00:13:30shashlickhttps://www.reddit.com/r/nim/comments/icbgcu/subjective_nim_criticism/
00:18:43disrupteknice.
00:30:39*synshroud_ joined #nim
00:32:00*synshroud quit (Ping timeout: 256 seconds)
00:43:48*kayw joined #nim
00:51:16*antranigv quit (Ping timeout: 256 seconds)
00:54:43*audiofile joined #nim
01:16:10*NimBot joined #nim
01:22:42*Jesin quit (Ping timeout: 260 seconds)
01:33:18*Tlongir joined #nim
01:39:30*waleee-cl quit (Quit: Connection closed for inactivity)
01:50:02*apahl quit (Ping timeout: 260 seconds)
01:51:44*apahl joined #nim
02:03:47*Amun_Ra quit (Ping timeout: 265 seconds)
02:04:16*yumaikas quit (Ping timeout: 265 seconds)
02:04:33*yumaikas joined #nim
02:05:43*Zevv quit (Ping timeout: 265 seconds)
02:05:43*go|dfish quit (Ping timeout: 265 seconds)
02:05:43*mutantturkey quit (Ping timeout: 265 seconds)
02:05:50*Zevv joined #nim
02:05:50*Zevv quit (Changing host)
02:05:51*Zevv joined #nim
02:06:12*dddddd_ quit (Ping timeout: 265 seconds)
02:06:12*sknebel quit (Ping timeout: 265 seconds)
02:06:22*sknebel joined #nim
02:07:08*argv_turk joined #nim
02:16:31*Amun_Ra joined #nim
02:19:36*dddddd_ joined #nim
02:19:57*go|dfish joined #nim
02:31:11*muffindrake quit (Ping timeout: 246 seconds)
02:33:26*muffindrake joined #nim
03:30:06*thomasross quit (Ping timeout: 260 seconds)
03:38:57*audiofile quit (Quit: Default Quit Message)
03:44:34*bung quit (Quit: Lost terminal)
03:49:34FromGitter<gogolxdong> http://[240e:ff:b248:95b4:9c65:d18f:6410:fce4]:8090/ an ipv6 http server running on my phone
03:49:57FromGitter<gogolxdong> Can anyone access ?
03:50:26*zxccv joined #nim
03:51:02*zxccv quit (Remote host closed the connection)
03:51:19FromDiscord<Rika> not me
03:52:11FromGitter<gogolxdong> Is ipv6 globally accessible in theory?
03:53:57FromGitter<gogolxdong> try connecting without WIFI
03:54:42FromDiscord<Rika> i am not using wifi
03:57:30FromGitter<gogolxdong> Unaccessible when speaking by phone.
03:59:32leorize@gogolxdong note that ipv6 routers still feature a firewall to block incoming connections
04:00:57FromDiscord<Yardanico> @gogolxdong works
04:01:07FromDiscord<Yardanico> I tested on my hetzner VPS which has IPv6
04:01:11FromDiscord<Yardanico> "你好!"
04:05:39disrupteki need more sem bugs to test with dust. it works, but it's pretty underwhelming. 😁
04:06:02*supakeen quit (Quit: WeeChat 2.8)
04:06:37*supakeen joined #nim
04:12:37*rockcavera quit (Remote host closed the connection)
04:14:33FromGitter<gogolxdong> It is great!Thanks for feedback!
04:17:38FromGitter<gogolxdong> Where are you by the way @Yardanico ?
04:17:48FromDiscord<Yardanico> Hetzner VPS is in Germany
04:17:57FromDiscord<Yardanico> nuremberg
04:18:08FromDiscord<Yardanico> My ISP doesn't have IPv6 at all 😦
04:18:16FromDiscord<Yardanico> And generally there's almost no native IPv6 connectivity in Russia
04:21:01*rockcavera joined #nim
04:22:28*rockcavera quit (Remote host closed the connection)
04:28:34FromGitter<gogolxdong> China is promoting IPV6 nationwide. It's known as infrastructure maniac :)
04:29:16FromDiscord<Yardanico> that's nice
04:47:31FromDiscord<Sabena Sema> I recall someone getting nim compiling and running on PIC microcontrollers... am I insane?
04:47:50disruptekmaybe, but i wouldn't put it past them.
04:48:32FromDiscord<Sabena Sema> and yeah, tbh ipv6 is surprisingly widely deployed in my country (the US). it usually takes me a good 3-4 hours to notice when my access point's ipv4 stack decides to disappear
04:48:52FromDiscord<Yardanico> well it depends on the country
04:52:56*vicfred quit (Quit: Leaving)
05:27:46*rockcavera joined #nim
05:38:11*rockcavera quit (Remote host closed the connection)
06:00:35*solitudesf joined #nim
06:05:24FromDiscord<InventorMatt> if you are converting some c code into nim is there any reasons not to convert the compatible types into normal nim types as well as keeping the pointers as is?
06:06:04FromDiscord<Elegant Beef> Why would you make the code harder to interact with purposely 😄
06:06:08FromDiscord<Elegant Beef> Unless it requires FFI
06:06:10FromDiscord<Rika> if you want to use the library in c
06:06:25FromDiscord<Rika> otherwise i see no reason to do so
06:06:28FromDiscord<Elegant Beef> Rika you could always just use the Ctypes in the FFI
06:07:09FromDiscord<Elegant Beef> Call the proc externally then do whatever you need to do returning the coresponding C type, that'd work right?
06:07:18FromDiscord<InventorMatt> okay, that's what I thought. that will make this a whole lot easier then. thanks
06:13:22*vicfred joined #nim
06:16:14*Zevv quit (Quit: leaving)
06:16:28*Zevv joined #nim
06:16:34*solitudesf- joined #nim
06:18:59*solitudesf quit (Ping timeout: 240 seconds)
06:33:36*endragor quit (Remote host closed the connection)
06:34:02*endragor joined #nim
06:42:33*endragor quit (Read error: Connection reset by peer)
06:42:45*endragor joined #nim
06:45:55*vicfred quit (Quit: Leaving)
07:00:48*solitudesf- is now known as solitudesf
07:13:04*Tongir joined #nim
07:15:25*Tlongir quit (Ping timeout: 240 seconds)
07:18:49*oddp joined #nim
08:15:36*JustASlacker joined #nim
08:21:35*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:32:04*krux02 joined #nim
08:39:36*Zectbumo quit (Remote host closed the connection)
08:49:16*Zectbumo joined #nim
08:56:59OddmongerZevv: hello, i'm reading your article about nim memory organisation. You say local data are usually allocated on the heap , but later you say if you want heap storage for local data (an object type you've defined), you have to use nem()
08:57:03Oddmongernew()
08:57:42*abm joined #nim
08:58:57Zevvthen i probably messedup somewhere. which paragraph does it say local data is usually on the heap?
09:00:13Oddmongersorry , it's me :/
09:00:16Oddmongeri had misread
09:00:25OddmongerWhile the stack is typically used to hold local variables, the heap can be used for more dynamic storage.
09:00:48Zevvah, good :)
09:00:53Oddmongeri had read that the stack was used for passing parameters and storing return address
09:01:04Zevvalso
09:01:25Oddmongeryes
09:05:11Zevvi had big plans for this holiday, extending that writeup for ARC, doing CPS stuff
09:05:26OddmongerCPS ?
09:06:15Zevvbut I came to a mental grinding halt. I just lie in my hammock, drink coffee and beer all day, reading my nice books
09:06:25FromDiscord<lqdev> Oddmonger: continuation passing style
09:06:37Oddmongerouch
09:07:06Oddmongeri knew character per seconds , and the format of arcade PCB as CPS
09:07:12Zevvnext week the weather si turning shitty, that should help
09:07:56Zevvcps is a bit of a magick trick to turn the stack inside out, allows doing fancy stuff like making async and iterators and the like without needing support from the language. its fun but a bit painful to the brain sometimes
09:08:31Oddmongeryour entry about memory is a good reminder at the beginning, and very helpful for nim newbies after ;)
09:08:49Zevvgood to hear
09:09:39Zevvyeah, there is so much more to tell, I was planning to make a writeup on ARC thats actually *readable*, in contrast to the overly technical nodes by ar4q
09:09:55Zevvmaybe it will come, one day
09:09:56Oddmongerso i'm interested about the same with GC (field where my knowledge is near nil(+-ε) )
09:10:30Zevvwell, GC itself is not really interesting, its a thing that cleanes up after you, eventually
09:10:46Zevvand as a user you dont needto know, nor care about, how it works and when it cleans up
09:11:03Zevvwith arc though, you tendto have a bit more intimate relationship with memory management as a user
09:11:08Zevvif you want to make the most of it
09:18:47*synshroud_ quit (Quit: ZNC 1.7.5 - https://znc.in)
09:26:19FromDiscord<haxscramper> The only way to parse C++ in nim right now is to use `libclang` bindings, right? I briefly looked into `c2nim` code and it seems like there is no AST construction - conversion happens on-the-fly. Is it correct?
09:28:47Zevvthere is also nimterop, built on tree-sitter. not sure if that offers anything that might help you tho
09:36:58*endragor quit (Remote host closed the connection)
09:37:26*endragor joined #nim
09:43:00FromDiscord<haxscramper> I just wanted to get AST tree as value (like `NimNode`). `nimterop` uses `TSTree`, but I failed to find how it is actually defined. Although `libclang` is probably better suited for this task anyway.
09:46:11*endragor quit (Ping timeout: 240 seconds)
09:50:48*endragor joined #nim
10:02:17*abm quit (Quit: Leaving)
10:05:14*Vladar joined #nim
10:17:00*abm joined #nim
10:35:31*dddddd_ is now known as dddddd
10:39:42shashlickWhat do you want to do with the ast
10:41:46*Zectbumo quit (Remote host closed the connection)
10:42:53*someunknownuser joined #nim
10:43:06*someunknownuser quit (Client Quit)
10:43:19shashlickHere's the tree sitter api - https://github.com/nimterop/nimterop/blob/master/nimterop/treesitter/api.nim
10:49:00FromDiscord<haxscramper> I have an idea about wrapping (well, not really 'wrapping' but close to this) Qt and now just looking into options for parsing C++ source.
10:50:33FromDiscord<haxscramper> I will probably go with `libclang` (or `libtooling` if I manage to wrap it without dying first). It seems like better solution overall.
10:51:42FromDiscord<haxscramper> I've seem `api.nim` - `TSTree` is `importc`ed from `api.h`, but I failed to find this file. I looked in the `nimterop` repo and in `tree-sitter` one.
10:52:52FromDiscord<haxscramper> By Qt, I mean C++ part - `qtwidgets` and so on. I know there is a binding library for `qt qml`
10:53:27*someunknownuser joined #nim
10:56:57FromDiscord<kodkuce> Error: unhandled exception: File descriptor not registered. << what does this mean?
10:58:06*someunknownuser quit (Ping timeout: 260 seconds)
10:58:32FromDiscord<kodkuce> (edit) 'Error: unhandled exception: File descriptor not registered. << what does this mean?' => 'sent a code paste, see https://play.nim-lang.org/#ix=2uCc'
10:59:42FromDiscord<kodkuce> ok i think i found it
11:02:23*antranigv joined #nim
11:02:39FromDiscord<kodkuce> or not
11:22:37*waleee-cl joined #nim
11:24:38krux02haxscramper: I thought about wrapping QT in the past as well, I think the most promising solution would be to hack something in the QT moc compiler
11:25:49krux02I was also pretty successful with porting the QT moc to Nim macros, so that QT applications can be written in pure Nim.
11:27:30krux02but the project was never finished and I never published it
11:40:38*PMunch joined #nim
12:01:33*haxscramper joined #nim
12:06:02*supakeen quit (Quit: WeeChat 2.8)
12:06:15*rockcavera joined #nim
12:06:34*supakeen joined #nim
12:14:54FromDiscord<haxscramper> Right now I'm thinking about just generating source for application in C++ and making it call code written in nim. Since qt uses almost every possible feature in C++ and heavily relies on OOP-style programming (as well as custom preprocessor, templates, custom macros etc) trying to actually fully wrap all of this in nim is just not going to work.
12:16:37FromDiscord<haxscramper> And this way it is not even necessary to hack into moc. Generate C++ classes with code similar to handwritten one, insert all macros. In method definition call `exportc`ed nim code
12:18:17FromDiscord<haxscramper> Something like this. And since qt has somewhat adequate and predictable C++ API it might be possible to generate idiomatic API (or at least one that does not require any hand modifications). And I also want try to port documentation automatically.
12:21:05FromDiscord<haxscramper> In order to do something like this I will probably need to get c++ AST to either get information from it or to generate source code, since I don't want to have tons of ropes all over the place with string interpolation.
12:35:34*xet7 quit (Quit: Leaving)
12:44:23*Romanson joined #nim
12:53:18*arecacea1 joined #nim
12:54:01*antranigv quit (Read error: Connection reset by peer)
12:55:00*antranigv joined #nim
13:06:53*noonien joined #nim
13:16:13*lritter joined #nim
13:25:20*rockcavera quit (Remote host closed the connection)
13:28:20*rockcavera joined #nim
13:28:36*audiofile joined #nim
13:30:57*vicfred joined #nim
13:31:25FromDiscord<djazz> I'm trying out gc:arc on my code, and it seem to gc the data I send to a C lib (ref tuple/pointer). How can I make it not do that?
13:33:52PMunchMake sure you still have a reference to it, or manually GC_ref/_uref it
13:34:00PMunchAssuming the latter works with ARC..
13:34:34dom96haxscramper: I wrote a C/C++ Obfuscator in Nim using libclang, happy to give hints on how to use it from Nim if it helps :)
13:35:48FromDiscord<djazz> I use it as a key in a table, but I guess it gets hashed internally (not keeping a ref)
13:35:50shashlickhaxscramper - I am planning on adding c++ support to nimterop at some point - all the info is available already so its just a question of mapping
13:45:24*oddp quit (Quit: quit)
13:52:15FromDiscord<djazz> I tried to send a hash (int) instead of the ref, but running into same error (cast[pointer](myHash) does not work either)
13:53:08FromDiscord<djazz> I could work around it by just sending the value of the hash through the pointer argument, but what if it's the wrong size? int64 vs whatever size pointer is.
13:53:41FromDiscord<djazz> (I guess int can be int64 on some platforms, yes?)
13:53:51FromDiscord<djazz> or vice versa
14:00:08krux02haxscramper: I very much think it is possible to fully wrap QT in Nim. The Qt Moc tooling knows every QT class and its interface. You can hack that to get a Nim interface. The moc generaces C++ functions, these can be done in Nim macros. No external tool required. And no QT does not use every c++ feature available. It uses many but not all and the Moc compiler even prevents to write the program in a certain way in c++.
14:00:08krux02This means a Nim wratter thas has the moc functionality built with native Nim macros could be superior to QT from c++ directly.
14:03:30*arecacea1 quit (Remote host closed the connection)
14:04:03*arecacea1 joined #nim
14:10:31FromDiscord<kodkuce> ggggggggrgrrgrrggrgr
14:15:55FromDiscord<dk> I agree
14:25:00FromDiscord<Disciple> Is there a way to pass 'null' to a sql database in Nim?
14:25:00*Trustable joined #nim
14:25:33Oddmongeris a «tuple» like a C struct ?
14:26:09alehander92internally probably
14:26:59alehander92overally yeah, i'd say named tuples are very similar
14:26:59Zevvtuples are stange beasts. an object is more like the equivalent of a c struct
14:27:25Oddmongerok
14:27:26alehander92yeah, tuples are like structurally typed (a bit like duck typed)
14:27:28alehander92objects
14:32:25FromDiscord<djazz> GC_ref worked, but now I run into more invalid pointers heh
14:32:32FromDiscord<djazz> Elsewhere
14:34:51leorize@Disciple use ndb
14:34:54leorize!repo ndb
14:34:55disbothttps://github.com/xzfc/ndb.nim -- 9ndb.nim: 11A db_sqlite fork with a proper typing 15 26⭐ 5🍴
14:37:55*def- quit (Quit: -)
14:40:19*vqrs_ joined #nim
14:41:32haxscramperkrux02: I just looked into moc source code - it does indeed have some sort of basic parser for c++ classes: https://code.qt.io/cgit/qt/qtbase.git/tree/src/tools/moc/parser.h . But I also want to write mostly nim code - and generate everything else from it.
14:41:32haxscramper
14:41:32haxscramperMaybe it does not use 'every available c++ feature', yes, but it does certainly use *a lot* of OOP, which I don't want to bring in nim at all. (AFAIK GTK is more 'imperative' but I've never used it, but I know qt).
14:41:35haxscramper
14:41:38haxscramperRight now this is just all ideas, but I want to write something like `type Window {.qtclass.} = ref object of QMainWindow # ... some additional fields` and go on writing procedures `proc hello(this: Window) {.exrportQt.}`. During compilation all of these procedures will be mapped to corresponding methods. to get `class Window : QMainWindow { public: hello(); };`.
14:41:41haxscramper
14:41:44haxscramperI didnt think it through completely, but this is the rough outline. Why do I think I need AST (aside from other projects)?: (1) I want to port qt API documentation of `qtbase`/etc into nim wrapper. (2) I want to want to generate relatively /readable/ class definitions. Maybe use `clang-format` to pretty-print generated AST or something. (3) i think it is much easier to generate AST than just source code, so some kind of internal
14:41:48haxscramperrepresentation is necessary.
14:42:23FromDiscord<mratsim> We use Nim + QML like this for the Status Desktop Messenger: https://github.com/status-im/nim-status-client
14:43:12*vqrs quit (Ping timeout: 244 seconds)
14:43:26krux02The rough Idea I had as well, But for it to work you need to have a comprehensive QT wrapper.
14:44:58krux02The Qt moc is not a comprehensive C++ parser. But everything QT header is written in the subset of C++ that can be parsed with the QT moc, plus you get the QT metainformatin that you need to be able to connect to those classes via signals and slots from nim.
14:46:24krux02Using QML of course has the advantage that you don't need a comprehensive QT wrapper.
14:52:50FromDiscord<Recruit_main707> emmiting c++ classes... i really wish we could importcpp them in a way that the inherited nim types will be actual classes
14:53:02FromDiscord<Recruit_main707> i should rewrite my rfc one of this days
14:53:10dom96wow, that's cool
14:53:18dom96mratsim: you all should advertise this more :O
14:54:40FromDiscord<mratsim> You can always try to hack the C++ VTable with this hacking tuto: https://github.com/nim-lang/Nim/wiki/Playing-with-CPP--VTABLE-from-Nim
14:55:39FromDiscord<Recruit_main707> but thats still a kickfix, that relies in what the compiler does
14:56:20haxscramperSo it does not matter whether I use MOC or libclang for parsing qt headers - they both can do it? Then I will go with libclang still, since it is actually intended to be used for parsing things and has API. About metainformation: clang does not qt metainformation, but this (at least as I see it) is a tradeoff 'moc + using it's non-existent api' vs 'clang + hacking qt metainformation'.
14:56:45*Kaivo quit (Ping timeout: 240 seconds)
14:56:55dom96haxscramper: libclang wasn't made for wrapper generation, but rather for C++ language services AFAIK
14:57:04dom96There are a lot of limitations in its API
14:57:18FromDiscord<mratsim> @dom96 not sure what's the state is yet. It started as an experiment, Nim+QT vs the previous solution Clojurescript+Typescript+QT - https://discuss.status.im/t/desktop-paths-forward-a-choose-your-own-adventure/1666/28
14:57:19haxscramperok, libtooling is more comprehensive library
14:57:47haxscramperBut there is a nim wrapper for libclang, while libtooling does not have one yet.
14:58:32FromDiscord<kodkuce> can hi somhow see where does this error heppend
14:59:29*Kaivo joined #nim
14:59:29dom96mratsim: very cool, and it should be turned into an article titled "How we chose Nim+QT over React Native" ;)
15:00:27FromDiscord<kodkuce> https://hastebin.com/upowikibod.coffeescript
15:01:00FromDiscord<kodkuce> like i am last 2 hours trying to figure out how to fix this, form what i see it heppens when i close ws connection
15:01:32dom96Guess I should really check out QML. The flexibility that the screenshot on that repo shows is surprising
15:01:39FromDiscord<kodkuce> about qt isent it only free for noncomercail open source projects
15:02:34FromDiscord<Recruit_main707> @mratsim where is the `QtObject` macro defined at? i cant find it in there
15:03:24FromDiscord<mratsim> nim-qml if you don't find it in the repo
15:03:41FromDiscord<mratsim> This is a proof-of-concept the full project was based on: https://github.com/status-im/nim-stratus
15:05:03haxscramper I guess for wrapping qt i need to do something something like
15:05:03haxscramper- wrap qt api using libtooing/libclang
15:05:04haxscramper- write nim macros/pragmas to generate necessary information for c++ class definitions. You compile nim code, it generates some kind of database/json-file/whatewher
15:05:04haxscramper- read this file using other tool, compile everything into single binary using nim compiler.
15:05:06haxscramper
15:05:10haxscramperI also want to have as much information as possible about all of the signals/slots connections, overrides etc. In this case I want to use nim as high-level, imperative description of program and leave implementation details to some external tool.
15:05:13haxscramper
15:05:34FromDiscord<Recruit_main707> and then repeat with every update :)
15:05:52haxscramper?
15:06:16FromDiscord<Recruit_main707> whenever qt is updated, you will need to do this
15:06:50*aenesidemus quit (Read error: Connection reset by peer)
15:07:11haxscramperYes, qt changes it's API, but core stays relatively stable. And yes, I might have to do this, but if I write helper tool it should be no different from using nim compiler. It actually does the same 'write code; write c code; compile it using external tool'
15:09:54haxscramperThis is actually the reason why I want to have some kind of c++-parser-as-separate-library. I can write tool to fully and automatically wrap *this particular library*, accounting for all it's quirks and conventions.
15:12:19FromDiscord<kodkuce> wtf is this bad file descriptor error i get on async i gona brake this pc
15:14:20*aenesidemus joined #nim
15:14:52FromDiscord<Recruit_main707> marking a proc as compileTime makes it loose some precision, is this a bug?↵https://play.nim-lang.org/#ix=2uDq
15:16:17disruptekit'd be hard to argue that it's a /feature/.
15:17:01*vikfret joined #nim
15:17:18FromDiscord<Recruit_main707> it can also loose precision easily depending on the arguments and local variables being float32 or float64, but i guess thats got nothing to do with nim
15:18:13disruptekfloats are 32bit in the vm.
15:18:31FromDiscord<Recruit_main707> i was exactly writing that lmao
15:18:48FromDiscord<Recruit_main707> do you think its worth an issue?
15:20:12disrupteki guess maybe it's worth an issue, but the only way i can see the close such an issue is to introduce an option to warn on compile-time floats that don't match the largest float supported by the arch.
15:20:52FromDiscord<Recruit_main707> i would somewhat conform with that
15:20:56disruptekit's their use at compile-time that we care about, so it's both limited and something you are likely to have embedded all over your project.
15:21:12FromDiscord<Kiloneie> With what do you guys profile code in VS Code ?
15:21:51FromDiscord<Recruit_main707> i dont :P
15:22:58FromDiscord<Kiloneie> I've never really profiled code before, because i didn't need to, but i would love to be able to see speed and memory difference of say objects vs ref objects, an idea.
15:23:26FromDiscord<Recruit_main707> check out nimprof
15:23:55FromDiscord<Recruit_main707> https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html#profiling-your-code
15:24:19FromDiscord<Kiloneie> Okay i will give it a go.
15:37:56*arecacea1 quit (Remote host closed the connection)
15:38:43*arecacea1 joined #nim
15:39:01*hnOsmium0001 joined #nim
15:44:46*haxscramper quit (Remote host closed the connection)
15:52:03Zevv~
15:52:04disbotno footnotes for ``. 🙁
15:53:10FromDiscord<Hearthstone> ~ is ~
15:53:14FromDiscord<Hearthstone> ~
15:53:14disbotno footnotes for ``. 🙁
15:53:17FromDiscord<Hearthstone> Oof-
15:53:27Zevvyeah yeah
15:53:33Zevvrub it in
15:54:14*noonien quit (Quit: Connection closed for inactivity)
15:54:21FromDiscord<Hearthstone> :P
16:03:06*endragor quit (Remote host closed the connection)
16:03:34*endragor joined #nim
16:05:18FromDiscord<Disciple> leorize: Thanks, that should work fine!
16:07:47*endragor quit (Ping timeout: 240 seconds)
16:09:49disruptekZevv: you had better have a beer in your hand.
16:10:13*waleee-cl quit (Quit: Connection closed for inactivity)
16:10:32*endragor joined #nim
16:15:20Zevvi do i do
16:15:25*endragor quit (Ping timeout: 265 seconds)
16:15:42Zevvi am kind of surprised of how many naps a man can make in one day
16:15:50Zevvi'm like my dog
16:16:17disruptekdon't lick your dog, zevv.
16:16:29disruptekoh, nevermind.
16:16:47*liblq-dev joined #nim
16:25:01FromDiscord<Clyybber> ~~
16:26:32*JustASlacker quit (Ping timeout: 265 seconds)
16:27:10*JustASlacker joined #nim
16:31:29*endragor joined #nim
16:32:43*bouzu_ joined #nim
16:34:19ZevvI don't see why not
16:34:29Zevv~clyybber
16:34:30disbotclyybber: 11[redacted]
16:34:56disruptek!repo dust
16:34:57disbothttps://github.com/disruptek/dust -- 9dust: 11DUST is Unattended Syntax Truncation 15 0⭐ 0🍴 7& 1 more...
16:36:51*MyMind quit (Quit: WeeChat 2.9)
16:40:43*JustASlacker quit (Ping timeout: 246 seconds)
16:40:52FromDiscord<kodkuce> i need to kill someone
16:41:07Zevvwhat method would you propose
16:41:12disrupteki have a list of names but it's kinda long; msg me an email address?
16:42:12*endragor quit (Ping timeout: 256 seconds)
16:43:14FromDiscord<kodkuce> bloody
16:43:21FromDiscord<kodkuce> sprinkler
16:44:01Zevvhttps://observatory.db.erau.edu/generators/signs/output/20200819124348.png
16:44:54disrupteksvg or go home
16:45:20disruptekhttps://github.com/disruptek/nimph/issues/138
16:45:21disbotRecord the revision of a reference upon locking. Optionally also a hash over the contents.
16:45:22disruptekopinions?
16:46:55Zevvso you make a hash and then you find the tag changed. What can you do
16:47:22disrupteki don't know. it's a slippery slope.
16:47:44disrupteki don't even know what to do if someone force-pushes.
16:50:22disruptektags are mutable for good reasons. we can agree that we change them for good reasons. now the problem is all in your head.
16:50:30FromDiscord<dom96> the OP in that issue is right
16:50:42FromDiscord<dom96> if your lock files are based on tags then they're useless
16:50:55disruptekdom96: how old is nimble?
16:51:34FromDiscord<dom96> dunno, check the graphs. It's pretty old though
16:52:11disrupteki'm not holding my breath for nimble to help, here.
16:52:50FromDiscord<dom96> huh? It's getting lock files
16:53:37disruptekit's 9.5 years old, looks like.
16:53:47disruptektook me an afternoon to impl lockfiles.
16:53:51disrupteki don't know what else to say.
16:54:09shashlicki have localdeps working with nimble - who wants to help me test
16:54:30FromDiscord<dom96> Yeah, I'm suspicious of how long it's taking to implement them too
16:54:48FromDiscord<dom96> but if it doesn't come from Status it'll hopefully come from shashlick 🙂
16:55:32shashlicki'm frankly annoyed that it's being done in isolation, no comms for months and 1000+ lines of changes
16:56:22disrupteki've always said you can use nimph's code. if we can lock nimble then i don't have to resort to tags for nimble repos.
16:56:26shashlicki idled the last 15 days wondering if I should continue to work on nimble if such a blob suddenly lands as a pr
16:56:57FromDiscord<dom96> same^^
16:57:17disruptekit will be around 10 lines of code to make nimph just use commit hashes and fail on nimble repos.
16:59:26shashlickanyway, i'm continuing on my plan
16:59:31*Romanson quit (Quit: Connection closed for inactivity)
17:00:04shashlicklocaldeps, then nim.cfg interop, then nimble develop improvements
17:00:09*def- joined #nim
17:00:15disruptekbut localdeps work.
17:00:33disruptekif they didn't work, i wouldn't have made nimph.
17:00:44shashlickhttps://gist.github.com/genotrance/ee2ce321a56c95df2d4bb7ce4bd6b5ab is localdeps
17:00:57shashlickvery minor changes to improve customer experience, nothing major
17:01:28shashlicknim c won't work without nim.cfg interop though unless we make compiler changes to detect nimbledeps, i'm not for that
17:02:27disruptekseems like i should work on removing the nimble dependency from nimph.
17:02:56shashlickif you specify nimbleDir, this stuff won't matter
17:03:00FromDiscord<kodkuce> i maybe think i got a workaround working
17:14:40*endragor joined #nim
17:20:49Oddmongerif ptr(a) returns a pointer, why ref(b) says it lacks type ?
17:21:10FromDiscord<lqdev> what?
17:21:17FromDiscord<lqdev> how does `ptr(a)` return a pointer?
17:24:27Oddmongerarhhh
17:24:35Oddmongeraddr(a)
17:26:06*audiophile joined #nim
17:26:54*liblq-dev quit (Quit: WeeChat 2.9)
17:27:44disruptekclyybber: why do you prefer discord?
17:28:55Oddmongerhum the only way to get a ref is to use new()
17:29:30disruptekcue zevv
17:29:34FromDiscord<lqdev> yes, because `ref` does not mean `reference`. it means `refcounted`
17:29:38*audiofile quit (Ping timeout: 260 seconds)
17:29:43FromDiscord<lqdev> or something along those lines
17:29:46*audiophile is now known as audiofile
17:30:33shashlickdom96 - https://github.com/nim-lang/nimble/pull/834/files
17:30:34disbotLocal deps mode
17:31:50*jarredkenny[m] joined #nim
17:32:16*endragor quit (Ping timeout: 265 seconds)
17:32:20Oddmongerah i always forget …
17:36:19Zevvcue zevv
17:36:27Zevvoh too late, dang
17:38:41*bouzu_ quit (Quit: Leaving)
17:43:17*arecacea1 quit (Remote host closed the connection)
17:43:51*arecacea1 joined #nim
17:51:18FromDiscord<kodkuce> 1 quesiton if i dont build with threads on how does async then work?
17:51:23FromDiscord<Clyybber> disruptek: I don't, its just that I can't leave my PC on at all times so its more convinient
17:54:02FromDiscord<lqdev> @kodkuce async doesn't use threads
17:54:10FromDiscord<lqdev> it uses selectors, which is a different thing
17:57:12FromDiscord<Hearthstone> Is there an alternative to Nimble?-
17:57:15FromDiscord<Hearthstone> Just curious-
17:58:00disruptek!repo nimph
17:58:01disbothttps://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future 🧚 15 71⭐ 5🍴 7& 1 more...
17:59:09disruptek!repo nimby
17:59:10disbothttps://github.com/treeform/nimby -- 9nimby: 11Nimby is a very simple and unofficial package manager for nim language. 15 6⭐ 0🍴 7& 2 more...
17:59:35FromDiscord<Clyybber> disruptek: Do you think `var a = 0; template bar(x:typed): untyped = discard; bar: var a = 10` should compile?
17:59:44FromDiscord<kodkuce> @lqdev can you exmapl my why does this crash then, i am not totaly confused
17:59:46FromDiscord<kodkuce> https://pastebin.com/x9QvKiBu
18:00:03*rockcavera quit (Remote host closed the connection)
18:00:13disruptekclyybber: why not?
18:00:14FromDiscord<kodkuce> basicly if i terminate connection form difrnet async loop it errors out
18:00:36FromDiscord<Clyybber> disruptek: Because the param is typed, and thus semchecking would throw a redefinition error on the param ast
18:00:50FromDiscord<Clyybber> but I tend to think it should compile too yeah
18:01:19FromDiscord<Hearthstone> Oo
18:01:40disrupteki know, but we have to concede semantics to the enclosing construct, right?
18:01:56FromDiscord<Clyybber> yeah, I'll have to change my approach in my PR then
18:02:47Zevvclyybber: sorry yet you got sucked into the mess :)
18:02:50FromDiscord<Clyybber> to open a scope and close/merge it conditionally depending on wether the callee is a template/macro or proc
18:02:56FromDiscord<Clyybber> Zevv: Nah, I like this
18:03:07FromDiscord<Clyybber> it feels like we discovered a hidden concept
18:03:11FromDiscord<Clyybber> a sort of shadow scope
18:03:42Zevvit lurks in the dark
18:04:08Zevvand when you least expect it
18:04:44FromDiscord<kodkuce> can somone exampl me why that hastbin i posted crashes with value error when i call it form other asycn?
18:04:50FromDiscord<Clyybber> the only tricky part is merging such a shadowscope
18:05:00FromDiscord<kodkuce> or do i need to create a new nick first xD
18:05:17*endragor joined #nim
18:09:27FromDiscord<Clyybber> @kodkuce maybe ping treeform about it
18:09:36FromDiscord<Clyybber> seems like you are using his websockets
18:09:45*JustASlacker joined #nim
18:10:40FromDiscord<kodkuce> he will kill me i harrased him to death, he atm onjob only way is if kidnap him
18:12:04FromDiscord<kodkuce> i have a dark cellar and big pipe i can tie him to
18:13:42FromDiscord<kodkuce> bu generaly if i have 2 async loops running, should it be safe to mute same data if running in single thread?
18:14:45*endragor quit (Ping timeout: 240 seconds)
18:18:09FromDiscord<Clyybber> @dom96 probably knows
18:21:39FromDiscord<kodkuce> https://play.nim-lang.org/#ix=2uEx
18:21:49FromDiscord<kodkuce> i think it is
18:22:06disruptekthe answer is `yes`.
18:22:30FromDiscord<kodkuce> then i knife treeform 🙂
18:23:35*Zectbumo joined #nim
18:23:42Zevvdud what did he do to you
18:23:42FromDiscord<kodkuce> but will do that tommorow too much rage for today, i go watch some south park 🙂
18:23:53Zevvhe's so sweet
18:24:08FromDiscord<kodkuce> he is cool, i harrass him all time for help
18:25:01FromDiscord<kodkuce> just if i do same this with ws it crashes, so i am confused why, and i wasted like 5h today trying to figure that out
18:25:51FromDiscord<kodkuce> from there comes talk about knifing and cellar torture xD
18:25:57Zevvhttps://observatory.db.erau.edu/generators/signs/output/20200819142538.png
18:26:04FromDiscord<kodkuce> but i dont mean it really
18:26:08FromDiscord<kodkuce> kinda xD
18:26:17disruptekkmag yoyo
18:26:20*endragor joined #nim
18:26:58disruptekhttps://www.youtube.com/watch?v=J6waFYJDljM
18:28:18FromDiscord<kodkuce> was this song aim at me ?
18:28:42disruptekyou might enjoy it.
18:29:08FromDiscord<kodkuce> its not bad i like it has some tempo to it
18:29:32*waleee-cl joined #nim
18:29:58disruptekhere's another one that may suit your mood: https://www.youtube.com/watch?v=u-WwIUrIk-0
18:31:44*rockcavera joined #nim
18:32:12*endragor quit (Ping timeout: 265 seconds)
18:34:38*argv_turk is now known as MutantTurkey
18:34:52*MutantTurkey quit (Changing host)
18:34:52*MutantTurkey joined #nim
18:35:16*MutantTurkey is now known as mutantturkey
18:35:27*bung joined #nim
18:41:01FromDiscord<Kiloneie> What kind of weird bugs can happen if you use inheritance with plain objects ? (someone told me that...)
18:41:25FromDiscord<Clyybber> no idea what you mean.
18:41:36FromDiscord<Clyybber> you mean non ref objects?
18:46:04*NimBot joined #nim
18:52:21FromDiscord<Clyybber> Araq: ping
18:55:24*bung quit (Ping timeout: 265 seconds)
18:55:45*bung joined #nim
18:59:45*bung quit (Ping timeout: 240 seconds)
19:11:00*bung joined #nim
19:15:01*endragor joined #nim
19:15:42*bung quit (Ping timeout: 265 seconds)
19:21:49disruptekinheritance with plain objects can produce weird bugs.
19:22:01*bung joined #nim
19:22:50FromDiscord<lqdev> @Kiloneie if you use inheritance with plain objects, the sizes are gonna differ so you can't store them in seqs properly
19:23:17FromDiscord<Kiloneie> ah okay
19:26:13*Vladar quit (Quit: Leaving)
19:26:18*arecacea1 quit (Remote host closed the connection)
19:26:44*arecacea1 joined #nim
19:26:49*bung quit (Ping timeout: 265 seconds)
19:27:36*JustASlacker quit (Ping timeout: 256 seconds)
19:29:30FromDiscord<Recruit_main707> cant you specify the size of an object?↵am i going nuts?
19:30:19*noonien joined #nim
19:32:37*endragor quit (Ping timeout: 264 seconds)
19:32:56FromDiscord<19> hello, is there an equivalent of c++ `std::execution` in nim to run sequtils in parallel?
19:33:25*xet7 joined #nim
19:34:41FromDiscord<Clyybber> @Recruit_main707 why would you be able to? It makes no sense
19:35:00FromDiscord<Yardanico> @Recruit_main707 maybe you mean alignment or something?
19:35:04FromDiscord<Clyybber> you can specify the alignment of its fields
19:35:07FromDiscord<Clyybber> yeah
19:38:40*vicfred quit (Quit: Leaving)
19:39:31disrupteklooks like v just impl csp.
19:41:38FromDiscord<lqdev> *that* v?
19:45:16Zevvlink?
19:45:37FromDiscord<dom96> shashlick: any ideas why the CI didn't run here? https://github.com/dom96/choosenim/pull/213
19:45:38disbotSupport linux_arm64 and linux_powerpc64
19:46:25shashlickgithub <=> travis has been flaky from time to time
19:46:57shashlickactully looks like it has run but github doesn't know - https://travis-ci.org/github/dom96/choosenim
19:47:04disruptekhttps://twitter.com/v_language/status/1295509917995094021
19:47:15*rockcavera quit (Remote host closed the connection)
19:47:19*casaca quit (Remote host closed the connection)
19:48:54FromDiscord<lqdev> hold up
19:49:03FromDiscord<lqdev> did v eventually get to 0.2?
19:49:08FromDiscord<lqdev> or is it still stuck at 0.1
19:49:20Zevvnot said its csp like
19:49:21FromDiscord<lqdev> ah it's still at 0.1
19:49:37FromDiscord<lqdev> lmao this language is the yandere simulator of programming languages
19:49:42Zevvit might be socketpairs for all you know
19:49:49FromDiscord<lqdev> they just keep adding new features without fixing the core issues
19:50:05hnOsmium0001vlang has essentially become a joke now
19:50:27shashlick@dom96: restarted the build, let's see
19:50:41shashlicklooks like github noticed
19:51:21FromDiscord<dom96> thanks!
19:52:16FromDiscord<dom96> Gosh, working in Phabricator every day really makes me hate GitHub's review tools
19:52:45FromDiscord<dom96> You indented some code? GitHub: Guess you modified all those lines.
19:53:13disruptekcool story, bro.
19:53:30shashlickyep, mostly indent
19:54:31shashlicki thought github had an ignore whitespace setting but cannot find it anymore
19:56:37FromDiscord<Clyybber> append &w=1 to the url
19:57:22FromDiscord<dom96> that only works for trailing whitespace, no?
19:57:25FromDiscord<Clyybber> or click on the gear button right next to "jump to..." , check the checkbox and "apply and reload"
19:57:32FromDiscord<Clyybber> @dom96 not sure
19:58:07disruptekif it's based on git's whitespace mode, then it's not purely trailing whitespace changes.
19:59:36disruptekclyybber: wdyt about allowing the compiler to consume packages that don't follow the name-x.x.x format? nimph is going to use submodules but i don't want to have to fuck with directory names just to appease the compiler.
19:59:55FromDiscord<Clyybber> why would the compiler care?
20:00:00disruptekgot me.
20:00:05disruptekit's a thing, though.
20:00:30FromDiscord<lantos> https://media.discordapp.net/attachments/371759389889003532/745733951854870578/18qn7jkllr4x.png
20:00:38disruptekfor --nimblePath only, perhaps, but since nimble doesn't use nimblepath...
20:02:22alehander92disruptek!
20:02:31alehander92do you play any games
20:02:44alehander92i wonder why there are no irc tournaments
20:02:56disruptekwhat?
20:02:57alehander92this is probably too unserious
20:03:00alehander92i am sorry
20:03:27alehander92i am going to come back with actual nim questions tomorrow
20:03:30alehander92maybe
20:03:46disrupteki tend not to game too much anymore because i haven't gotten my shit together in linux.
20:06:30alehander92i prefer chess or soccer these days
20:06:37alehander92or board games if more people
20:06:54alehander92it really helps with linux to not be a gamer
20:07:31*endragor joined #nim
20:07:45shashlick@clyybber - the gear worked, thanks!
20:08:02disruptekit's just annoying to not be able to play some path of exile for a few minutes and then pop back into code.
20:08:06disruptekso i just code.
20:08:32alehander92yeah, that's why short chess games are ok
20:08:43alehander92but i mostly not chess these days
20:08:53alehander92we got to season 5 of gilmore girls
20:09:05disrupteki pity the fool.
20:09:25alehander92i am not even worried
20:09:29alehander92about my masculinity
20:09:52alehander92luke reminds me a bit of you
20:10:20disruptekwhy?
20:10:24disruptekdoes he have a huge cock?
20:10:45alehander92he makes good hamburgers
20:10:51alehander92he seems tough
20:10:56alehander92but seems to have a good heart
20:11:01alehander92takes care of stuff
20:11:07alehander92do you make burgers?
20:11:21disrupteki mean, i guess i could.
20:11:21shashlick@dom96 - i'm calling the folder `nimbledeps` instead of just nimble or .nimble or whatever
20:11:40disrupteki mostly live off of drink mix and meal replacement shakes.
20:12:03*rockcavera joined #nim
20:12:16alehander92come to bulgaria
20:12:39alehander92you can find a room for 80-100$ a month i think
20:13:01disruptekit's hard to travel as an american right now.
20:13:11disrupteki mean, y'know, without dying.
20:13:52alehander92because of restrictions?
20:14:02disruptekbecause of the 'rona.
20:14:22alehander92ah, i am not sure how bad is it
20:14:36FromDiscord<Clyybber> in the US; very bad
20:14:37FromDiscord<dom96> > @dom96 - i'm calling the folder `nimbledeps` instead of just nimble or .nimble or whatever↵@shashlick yep, that's a good idea
20:14:56*bung joined #nim
20:15:03alehander92my impression was stuff is quite open in US
20:15:20alehander92but media is so biased these days
20:15:32FromDiscord<Clyybber> the issue is that people are also quite dying
20:15:34alehander92that it's hard to assess without much more research
20:16:10alehander92that's not good :(
20:16:19alehander92well, keep safe disruptek
20:17:06disrupteki mean, i'm in the state with the fewest cases.
20:17:26alehander92then, i hope you find more food
20:17:37bungit awlays, they beate each other in media
20:17:49disruptekbut it's not zero. my sister is a nurse and i'm shocked at how uninformed she is.
20:17:57bungmore hard these years
20:19:21bungit's about power, who write the rules, and who need to follow rules.
20:20:26*endragor quit (Ping timeout: 260 seconds)
20:20:43disruptekhey, there hasn't even been 6,000,000 cases of covid in the US.
20:21:25disruptekonly 175,000 people have been killed. let's be pragmatic, here.
20:23:26alehander92i didn't realize there are so many
20:23:32alehander92ugh
20:23:53alehander92you live in wyoming?
20:23:57disruptekdon't say it like that. most of those were old; it's like they were asking for it.
20:24:05alehander92this sounded like canada
20:24:11*vicfred joined #nim
20:24:20disrupteki'm in vermont, but i may have to escape to canada.
20:24:30alehander92i get it yeah, it's sad
20:24:41alehander92ah i see
20:24:47alehander92canada sounds reasonable
20:25:54bungbad reputation
20:27:56bungnim question, how to write binary number with 5 or 6 bits ?s
20:28:17shashlickThe sentiment is worldwide, everyone wants to talk, no one wants to listen
20:30:29disruptekbung: binary literals are 10000b and 101010b.
20:30:45disruptekshashlick: you are probably the biggest listener here.
20:31:09bunghow that woulbe be non-literal
20:31:28disruptekwhat?
20:31:44bungI mean from a int
20:31:58disruptekx and 11111b?
20:32:22shashlickMight be easy to ddos me
20:33:11*endragor joined #nim
20:33:49bungok, the first bit will be 0 or 1 , how do I know ?
20:34:58bungwhether positive or negtive I should alwasy use x and 11111b?
20:36:38FromDiscord<Kiloneie> What is heapqueue module for? It looks like some sort of memory managment...
20:40:45*endragor quit (Ping timeout: 240 seconds)
20:42:02disrupteki think there's a description in the docs that explains what you might use a heap queue for.
20:42:15disruptekotherwise, i'm sure wikipedia has some good descriptions of applications.
20:42:20*tane joined #nim
20:43:51disruptekbung: i don't know what you're asking.
20:45:03disruptekbung: the sign is a matter of perspective, right?
20:48:10bunghttps://dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html
20:48:16bungDATETIME encoding for nonfractional part
20:49:17bungam not sure whats the number of bits looking
20:50:41bungalso in the end I got bits , how to put them into string
20:51:06bungcast ?
20:51:28*PMunch quit (Quit: leaving)
20:51:28disruptekyou mean you want to render binary as a string?
20:52:01disruptekyou can do that with strformat.
20:52:02bungnot render , add them to string buf
20:52:20*casaca joined #nim
20:52:23bungsend through socket
20:52:54*endragor joined #nim
20:53:17disrupteksame way you add anything else, i'd wager.
20:54:34bungthe editor hints add int literal to string
20:57:49*endragor quit (Ping timeout: 264 seconds)
21:15:19bunghttps://play.nim-lang.org/#ix=2uFn dont know how to complete the rest
21:17:08*vicfred quit (Quit: Leaving)
21:30:04*solitudesf quit (Ping timeout: 256 seconds)
21:33:20*endragor joined #nim
21:38:29*Trustable quit (Remote host closed the connection)
21:44:51*thomasross joined #nim
21:49:24*endragor quit (Ping timeout: 265 seconds)
21:50:07*bung quit (Ping timeout: 246 seconds)
21:54:31disruptekyou think you want a double-stuf oreo but as soon as you eat it, you're like, "nah, that's just too much."
22:00:32FromDiscord<Clyybber> disruptek: What do you want a proc for?
22:00:34FromDiscord<Clyybber> the if statement?
22:00:55disruptekjust something so i know what those tests mean.
22:01:19FromDiscord<Clyybber> I'll add some comments I think
22:01:19disruptekif m.isGreenAndHairy:
22:01:22disruptekokay.
22:01:33FromDiscord<Clyybber> just trying stuff rn
22:01:41disruptekfair enough.
22:04:17*tane quit (Quit: Leaving)
22:08:04FromDiscord<Clyybber> for now it doesn't even bootstrap :D
22:08:15FromDiscord<Clyybber> think I'll get some sleep
22:08:19FromDiscord<Clyybber> cee ya
22:20:58disruptekgn
22:21:11disrupteki wish compiler/pathutils was in stdlib.
22:21:38*endragor joined #nim
22:25:14*lritter quit (Quit: Leaving)
22:26:11*endragor quit (Ping timeout: 240 seconds)
22:34:37*abm quit (Read error: Connection reset by peer)
22:40:19*endragor joined #nim
22:48:50*endragor quit (Ping timeout: 260 seconds)
23:27:05*rockcavera quit (Remote host closed the connection)
23:31:56*vicfred joined #nim
23:31:58*rockcavera joined #nim
23:40:49*arecacea1 quit (Remote host closed the connection)
23:41:21*arecacea1 joined #nim
23:44:45*krux02_ joined #nim
23:47:15*krux02 quit (Ping timeout: 244 seconds)
23:48:37*rockcavera quit (Remote host closed the connection)