| 00:00:01 | * | junland quit (Quit: %ZNC Disconnected%) |
| 00:03:17 | * | junland joined #nim |
| 00:04:18 | * | a_chou quit (Ping timeout: 260 seconds) |
| 00:18:32 | disruptek | all types are tySome_sighash so they measure out the same. |
| 00:18:55 | disruptek | but here we are, trying to put names to types. ^ @clyybber |
| 00:19:36 | FromDiscord | <Clyybber> disruptek: How can they measure out the same if their names are different? |
| 00:19:47 | FromDiscord | <Clyybber> or does old mangling just do tyTuple_sighash? |
| 00:19:55 | disruptek | all types are tySome_sighash so they measure out the same. there's no relevance to their names. |
| 00:20:08 | disruptek | yeah, tyTuple_sighash. |
| 00:24:10 | disruptek | fun problem, right? |
| 00:36:21 | FromDiscord | <Avatarfighter> 😐 https://media.discordapp.net/attachments/371759389889003532/767184249723420712/image0.png |
| 00:44:00 | FromDiscord | <Avatarfighter> I love how that suggestion for completion is only in this channel |
| 00:53:01 | * | NimBot joined #nim |
| 01:03:08 | disruptek | wut |
| 01:03:43 | disruptek | my girlfriend once texted me, "use the word `dis` in a sentence." |
| 01:03:54 | disruptek | i was like, "dis ain't no fuckin' dictionary, babe." |
| 01:04:28 | disruptek | turns out she was helping her neice with homework. i guess she was looking for a prefix use, like disavowed or something. |
| 01:04:43 | disruptek | got a lot of shit about that. |
| 01:04:58 | FromDiscord | <Yardanico> disruptek is disruptek |
| 01:05:06 | disruptek | this is obviously the disruptek channel. |
| 01:05:09 | Prestige | *writes down disappointment* |
| 01:05:43 | * | disruptek writes down niece. |
| 01:06:06 | disruptek | i don't want cookies any more. i want candy. |
| 01:29:16 | * | user0 joined #nim |
| 01:31:12 | * | apahl quit (Ping timeout: 260 seconds) |
| 01:32:46 | * | apahl joined #nim |
| 01:37:29 | FromDiscord | <Clyybber> lol |
| 01:39:23 | * | a_chou joined #nim |
| 01:46:58 | FromDiscord | <Clyybber> disruptek: waddabaout this |
| 01:47:24 | FromDiscord | <Clyybber> resolve for cpp proca first arg? |
| 01:47:36 | disruptek | what? |
| 01:48:10 | FromDiscord | <Clyybber> resolve like the current mangling, to tyTuple |
| 01:48:44 | disruptek | just the first arguments? |
| 01:49:14 | FromDiscord | <Clyybber> wait |
| 01:49:14 | disruptek | i have tjsonutils working but i'm trying to find a way to do it better. |
| 01:50:13 | FromDiscord | <Clyybber> how did u make it work? |
| 01:50:55 | disruptek | i have a constant labeled "obey the boss" that i turn on whenever i want to pretend i'm araq. |
| 01:51:09 | FromDiscord | <Clyybber> lol |
| 01:51:14 | FromDiscord | <Clyybber> just to recap |
| 01:51:46 | FromDiscord | <Clyybber> the issue is one type having two names cuz generics |
| 01:51:52 | FromDiscord | <Clyybber> right? |
| 01:52:23 | disruptek | yeah, it has to do with the order by which we process stuff. |
| 01:52:42 | * | arecacea1 quit (Remote host closed the connection) |
| 01:52:48 | FromDiscord | <Clyybber> yeah and one is "resolved" and one is not right> |
| 01:52:50 | FromDiscord | <Clyybber> ? |
| 01:52:53 | disruptek | combined with types that are largely "faith-based". |
| 01:53:01 | disruptek | tuples and procs are faith-based. |
| 01:53:09 | FromDiscord | <Clyybber> resolved meaning it looks like tySome |
| 01:53:16 | * | arecacea1 joined #nim |
| 01:53:19 | disruptek | the types are all resolved. |
| 01:53:25 | disruptek | they just may not point to useful symbols. |
| 01:53:27 | FromDiscord | <Clyybber> oh eh |
| 01:53:29 | FromDiscord | <Clyybber> yeah |
| 01:53:39 | FromDiscord | <Clyybber> they point to different symbols |
| 01:53:44 | FromDiscord | <Clyybber> but are the same type |
| 01:53:57 | FromDiscord | <Clyybber> correct? |
| 01:54:09 | disruptek | like a banana in the tail-pipe; it fits right, but it's not correct. |
| 01:54:46 | FromDiscord | <Clyybber> and by symbol you mean typ.s? |
| 01:55:03 | disruptek | another really fun one: some modules like, say, ansi_c are part of system but compilation treats them as a separate module. |
| 01:55:32 | disruptek | so you have separate conflict tables and analysis though they may share the same module symbol. |
| 01:56:16 | disruptek | we skip around when doing type resolution and the "obey the boss" constrains what ptype.sym we embrace for the purposes of naming. |
| 01:56:29 | disruptek | s/type resolution/type resolution to name/ |
| 01:56:49 | FromDiscord | <Clyybber> soo |
| 01:56:59 | FromDiscord | <Clyybber> somewhere the type gets cloned |
| 01:57:15 | disruptek | unlikely. |
| 01:57:20 | disruptek | these are basically anonymous. |
| 01:57:38 | FromDiscord | <Clyybber> how can one field have two values |
| 01:57:43 | FromDiscord | <Clyybber> then? |
| 01:57:54 | disruptek | ("foo", newJString("bar")) is an anonymous type, let's say. |
| 01:58:17 | disruptek | there's no way to look it up elsewhere because ... where would you look? |
| 01:58:23 | disruptek | and why? |
| 01:58:31 | FromDiscord | <Clyybber> right |
| 01:58:36 | disruptek | and what if there are multiple names for this type across your codebase? |
| 01:58:51 | disruptek | so anyway, we use this for generic inst and that's how it gets into other modules. |
| 01:59:28 | FromDiscord | <Clyybber> so just mangle it to tyTupleStringJSString? |
| 02:00:15 | disruptek | that would be pretty painful for large tuples. we just use the sig or the unique id. |
| 02:01:00 | FromDiscord | <Clyybber> ok |
| 02:01:06 | FromDiscord | <Clyybber> wheres the problem |
| 02:01:28 | FromDiscord | <Clyybber> the problem is that this tuple may also arise named? |
| 02:01:40 | disruptek | yes, that's what makes it hard for us to use the name. |
| 02:01:57 | * | a_chou quit (Quit: a_chou) |
| 02:02:08 | FromDiscord | <Clyybber> can't we use typedef |
| 02:02:12 | disruptek | i've trapped what appears to be a defect, so that's what i'm trying to fix. but without my traps, the test passes. |
| 02:02:16 | disruptek | typedef? |
| 02:02:34 | FromDiscord | <Clyybber> C |
| 02:02:47 | FromDiscord | <Clyybber> make both types the same |
| 02:02:56 | FromDiscord | <Clyybber> in C |
| 02:03:02 | disruptek | what we should do is to query the module to find any identical type signature and use that. |
| 02:03:41 | FromDiscord | <Clyybber> ok but which module is the one true source? |
| 02:03:58 | FromDiscord | <Clyybber> I can also have a.namedTuple == b.namedTupld |
| 02:04:02 | disruptek | it's worse than that. |
| 02:04:25 | disruptek | we cache the type names by sig, but the cached value is not "naked"; it can include *, for example. |
| 02:06:07 | disruptek | araq's claim was that the loc.r was the "single source of truth" but not only do i think that's naive, i think it's not reasonable for moving forward. |
| 02:06:26 | disruptek | our ast->ir->ir->c plans don't really work with these assumptions. |
| 02:07:05 | disruptek | i've been contorting myself like a circus freak to make this fucking thing work, when all i really needed was something simpler and correct. |
| 02:07:15 | disruptek | but let's not go there again. |
| 02:07:54 | FromDiscord | <Clyybber> the issue is that we are shoehorning nominal upon structural typing |
| 02:08:15 | FromDiscord | <Clyybber> instead of doing all this we can also just generate casts |
| 02:08:36 | disruptek | i don't want to generate anything. except maybe more c comments. |
| 02:09:14 | FromDiscord | <Clyybber> whats your idea for solving this? |
| 02:09:41 | disruptek | be as flexible as you can be in what you accept, and as tight as possible in what you produce. |
| 02:09:52 | disruptek | or do you mean long term? |
| 02:10:21 | disruptek | long term, just replace the backend and do it tight tight super tight good'n tight, like a german bride on her wedding night. |
| 02:10:24 | FromDiscord | <Clyybber> solving this issue, not mantra |
| 02:10:45 | disruptek | this issue i don't have a proper solution for. |
| 02:11:01 | disruptek | a hack on top of a hack on top of a hack, that i /do/ have. |
| 02:11:09 | FromDiscord | <Clyybber> I have this |
| 02:11:21 | FromDiscord | <Clyybber> typedefs to alias the types in C |
| 02:11:31 | disruptek | i'd just witness/seal the loc and redirect it to my BModuleList single-source-of-truth. |
| 02:11:49 | disruptek | then loc.r would still work but it would let me rename stuff. |
| 02:12:11 | FromDiscord | <Clyybber> and who would win here? |
| 02:12:22 | disruptek | i would sooner just relax the mangling for tuples and procs versus doing it your way. |
| 02:12:25 | FromDiscord | <Clyybber> a.tuple1 == b.tuple2 |
| 02:12:52 | disruptek | i'm not sure your way is possible. |
| 02:13:06 | disruptek | for one thing, we don't really know what has already been generated. |
| 02:13:33 | FromDiscord | <Clyybber> we can keep track of all the forms a type takes |
| 02:13:56 | disruptek | you mean 1-sig-to-many-typedef? |
| 02:14:07 | FromDiscord | <Clyybber> yes |
| 02:14:18 | disruptek | we could cache it separately, yes. |
| 02:15:01 | disruptek | for that matter, we could just cache the name for the signature, right? |
| 02:15:28 | FromDiscord | <Clyybber> what is the 'name for the signature' ? |
| 02:15:48 | disruptek | whatever name we first assigned for the type with that signature. |
| 02:15:57 | FromDiscord | <Clyybber> you mean just take the first that we get and store it in a sig->name mapping? |
| 02:15:59 | FromDiscord | <Clyybber> yeah |
| 02:16:04 | disruptek | like, i'm not sure it buys us that much to have /all/ the possible names. |
| 02:16:28 | FromDiscord | <Clyybber> I don't care, it can be changed later |
| 02:16:29 | disruptek | it would improve the readability i guess. |
| 02:16:33 | FromDiscord | <Clyybber> as long as it work |
| 02:16:35 | FromDiscord | <Clyybber> s |
| 02:16:41 | disruptek | well, it works, yes. |
| 02:17:03 | FromDiscord | <Clyybber> but the typedef way is easy and beautiful IMO |
| 02:17:14 | FromDiscord | <Clyybber> generates nicer names |
| 02:17:35 | disruptek | we can do it that way. |
| 02:18:39 | FromDiscord | <Clyybber> we can do it without any hacks, we just generate a typedef when our sig->name mapping already has an entry |
| 02:19:10 | disruptek | well, we need to record the name in that event, too. |
| 02:19:43 | FromDiscord | <Clyybber> yeah |
| 02:19:44 | disruptek | i would probably want a dedicated section, too. |
| 02:19:50 | FromDiscord | <Clyybber> yeah |
| 02:19:59 | disruptek | otherwise i have to play ugly games in ic. |
| 02:20:10 | FromDiscord | <Clyybber> don't play ugly games |
| 02:20:26 | FromDiscord | <Avatarfighter> just use a NN to generate the names smh |
| 02:20:40 | FromDiscord | <Avatarfighter> LOL THE EMOTE |
| 02:24:25 | FromDiscord | <Clyybber> :disruptek2: |
| 02:24:29 | FromDiscord | <Avatarfighter> :disruptek2: |
| 02:24:47 | disruptek | dafuq |
| 02:25:41 | FromDiscord | <Yardanico> @disruptek let me show |
| 02:25:51 | FromDiscord | <Clyybber> :disruptek2: |
| 02:26:01 | FromDiscord | <Yardanico> :disruptek: |
| 02:26:03 | FromDiscord | <Clyybber> hahahahahaha |
| 02:26:04 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767211864329158686/unknown.png |
| 02:26:10 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767211892166361099/unknown.png |
| 02:26:18 | FromDiscord | <Yardanico> the robot one is what the bridge gives you (robohash) |
| 02:26:19 | FromDiscord | <Avatarfighter> :disruptek2: do you approve? |
| 02:26:38 | FromDiscord | <Clyybber> the pings |
| 02:26:43 | disruptek | :disruptek: is an emoji? |
| 02:26:46 | FromDiscord | <Clyybber> they just don't stop |
| 02:26:52 | FromDiscord | <Clyybber> @disruptek yeah |
| 02:26:53 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767212069669568543/unknown.png |
| 02:26:55 | FromDiscord | <Clyybber> lmao |
| 02:27:19 | FromDiscord | <Yardanico> does nimph have a logo |
| 02:27:25 | FromDiscord | <Avatarfighter> Oh god |
| 02:27:26 | disruptek | 🧚 |
| 02:27:33 | FromDiscord | <Yardanico> lol |
| 02:29:34 | disruptek | but why is there :disruptek2:? i think this is taking name mangling too far. |
| 02:30:11 | FromDiscord | <Avatarfighter> robot disruptek is the superior emote |
| 02:30:45 | disruptek | i dunno if it's legal to emote disruptek where you live. |
| 02:30:51 | disruptek | check local applicable laws. |
| 02:31:11 | FromDiscord | <Yardanico> sir I can change the emote to other name per your request |
| 02:32:44 | FromDiscord | <Clyybber> lol |
| 02:33:00 | FromDiscord | <Clyybber> @Yardanico disruptek2 to disruptek |
| 02:33:25 | FromDiscord | <Clyybber> :disruptek: can go fuck off |
| 02:33:37 | FromDiscord | <Clyybber> I think thats how current mangling works |
| 02:33:39 | FromDiscord | <Yardanico> :nimDog: |
| 02:33:51 | FromDiscord | <Yardanico> :disruptek: |
| 02:33:53 | FromDiscord | <Yardanico> changed |
| 02:34:02 | FromDiscord | <Clyybber> bosshaft |
| 02:34:24 | FromDiscord | <Avatarfighter> Yeah we don't need budget Zynga in here |
| 02:34:58 | FromDiscord | <Clyybber> :nimDog: |
| 02:35:22 | disruptek | 🐾 |
| 02:35:26 | FromDiscord | <Clyybber> disruptek yards calling you a dog |
| 02:35:30 | FromDiscord | <Yardanico> NO |
| 02:35:32 | FromDiscord | <Yardanico> HES LYING |
| 02:35:33 | FromDiscord | <Clyybber> how do you feel about that |
| 02:35:39 | FromDiscord | <Yardanico> I WOULD NEVER DO SUCH A THING |
| 02:35:42 | disruptek | honestly? |
| 02:35:54 | FromDiscord | <Clyybber> its a nimDog tho |
| 02:35:55 | disruptek | i kinda wanna hump his leg and then lick my balls. |
| 02:35:57 | FromDiscord | <Clyybber> so its fine |
| 02:36:04 | FromDiscord | <Yardanico> @disruptek 📯 |
| 02:36:09 | disruptek | [email protected] |
| 02:36:16 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767214436560797756/unknown.png |
| 02:36:56 | FromDiscord | <Clyybber> i can't eat when laughing |
| 02:37:02 | FromDiscord | <Yardanico> wait |
| 02:37:03 | FromDiscord | <Yardanico> WAIT |
| 02:37:24 | FromDiscord | <Yardanico> WHY THERE IS TYPE GROUPING IN THE FREAKING OLD CONCEPT ART FOR WEBSITE DESIGN |
| 02:37:27 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767214731353260062/design2-docs.png |
| 02:37:28 | FromDiscord | <Yardanico> looks neat imo |
| 02:37:32 | FromDiscord | <Yardanico> https://github.com/nim-lang/assets/blob/68c7559921fc98d47d96f0bd1d446e27d53bd8c4/Unused/Web%20Concept/design2-docs.png |
| 02:37:36 | FromDiscord | <Yardanico> and that mascot |
| 02:37:39 | FromDiscord | <Yardanico> ❤️ |
| 02:37:58 | FromDiscord | <Clyybber> <3 |
| 02:38:06 | FromDiscord | <Yardanico> I see issues some with that exact design, but it's a great idea |
| 02:38:38 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767215030332555264/new-logos.png |
| 02:38:41 | disruptek | eh.. i think we're better off just exploiting existing static site generators. |
| 02:38:47 | disruptek | i don't care if it's not written in nim. |
| 02:38:55 | * | muffindrake quit (Ping timeout: 240 seconds) |
| 02:38:57 | disruptek | i got better shit to do with my skills. |
| 02:39:39 | FromDiscord | <Clyybber> like fucking manglinf |
| 02:39:46 | disruptek | ikr |
| 02:39:53 | FromDiscord | <Clyybber> sorry, everything looks funny |
| 02:40:00 | disruptek | i'm around 100 commits into this ridiculous project. |
| 02:40:03 | disruptek | it's madness. |
| 02:40:05 | FromDiscord | <Yardanico> go sleep clyybber |
| 02:40:18 | FromDiscord | <Yardanico> when you dont sleep for long you start thinking that everything is funny |
| 02:40:20 | FromDiscord | <Yardanico> sleep deprivation |
| 02:40:21 | FromDiscord | <Clyybber> go sleep yardanico |
| 02:40:29 | FromDiscord | <Clyybber> u are one hour into the future |
| 02:40:46 | FromDiscord | <Clyybber> @Yardanico yeah, its the natural high |
| 02:40:49 | FromDiscord | <Clyybber> i love it |
| 02:40:58 | disruptek | is criterion gonna pass tests tomorrow? |
| 02:41:04 | disruptek | today, rather. |
| 02:41:07 | * | muffindrake joined #nim |
| 02:41:10 | FromDiscord | <Clyybber> why would it |
| 02:41:21 | disruptek | i dunno, i can't follow nim anymore. |
| 02:41:29 | FromDiscord | <Clyybber> i told u |
| 02:41:38 | FromDiscord | <Clyybber> useVersion:1,3 |
| 02:41:40 | FromDiscord | <Clyybber> 1,2 |
| 02:41:41 | FromDiscord | <Clyybber> 1.2 |
| 02:41:44 | FromDiscord | <Clyybber> dot |
| 02:41:45 | disruptek | well i did. |
| 02:41:57 | disruptek | are you saying we can't support nim-1.0? |
| 02:42:07 | FromDiscord | <Clyybber> oh |
| 02:42:14 | FromDiscord | <Clyybber> why does that not work |
| 02:42:26 | FromDiscord | <Clyybber> the nimble fix should habe rolled ojt already |
| 02:42:39 | FromDiscord | <Yardanico> when you don't know inkscape https://media.discordapp.net/attachments/371759389889003532/767216036470325258/unknown.png |
| 02:42:57 | FromDiscord | <Clyybber> wtf |
| 02:43:11 | FromDiscord | <Clyybber> more like 'if ypur inkscpe has a stronk' |
| 02:43:21 | FromDiscord | <Yardanico> yeah that whole image concept has an svg file |
| 02:43:31 | FromDiscord | <Yardanico> and everything is in SVG |
| 02:43:35 | FromDiscord | <Yardanico> lemme render it at 50 megapixels |
| 02:43:51 | * | grorkster quit (Quit: WeeChat 2.9) |
| 02:44:29 | FromDiscord | <Yardanico> why does it use 3-6 cpu threads 🤔 such a simple task |
| 02:44:29 | FromDiscord | <Clyybber> I think your searching the wrong placez |
| 02:45:09 | FromDiscord | <Yardanico> the png is already 26mb |
| 02:45:21 | FromDiscord | <Clyybber> memory leek |
| 02:45:29 | disruptek | i made my dog in inkscape. |
| 02:45:42 | FromDiscord | <Clyybber> wow, it came out well |
| 02:46:09 | FromDiscord | <Clyybber> how did you do the balls without reference? |
| 02:46:12 | disruptek | i have a version that i made for a rally that i used to put on a few times a year. |
| 02:46:17 | FromDiscord | <Yardanico> im singing in the music channel rn btw |
| 02:46:28 | FromDiscord | <Clyybber> cring? |
| 02:46:33 | Prestige | Live stream it |
| 02:46:36 | FromDiscord | <Yardanico> i guess |
| 02:47:01 | FromDiscord | <Yardanico> @prestige I already did a few times |
| 02:47:22 | disruptek | https://www.dropbox.com/s/5m81fgdkh0v2gze/red%20dog%20run.svg?dl=0 |
| 02:48:44 | disruptek | who says i did the balls without a reference? |
| 02:48:54 | disruptek | i will beat your ass. |
| 02:49:10 | FromDiscord | <Yardanico> it's not mine |
| 02:50:58 | FromDiscord | <Yardanico> @Prestige I can |
| 02:52:07 | FromDiscord | <shad0w> > i will beat your ass.↵@disruptek[IRC]#0000 the man has... issues ? |
| 02:52:57 | FromDiscord | <Yardanico> who is singularity when eaL? |
| 02:54:31 | FromDiscord | <Clyybber> disruptek: i'm ready |
| 02:54:54 | disruptek | not yet; you just finished eating. |
| 02:57:07 | FromDiscord | <Clyybber> i'll dream of it, I promise |
| 02:58:16 | disruptek | of that i am sure. |
| 03:08:14 | Yardanico | im streaming to not go to sleep |
| 03:08:16 | Yardanico | ~ystream |
| 03:08:16 | disbot | ystream: 11Stream at https://twitch.tv/yardanico, voice chat either on Mumble (mumble://uberalles.mumbl.io/) or in Discord (https://discord.com/invite/ezDFDw2) -- Yardanico |
| 03:08:21 | Yardanico | voice only discord |
| 03:09:44 | disruptek | wtf does that mean? |
| 03:10:25 | Yardanico | disruptek: you can only hear my beautiful voice on discord right now |
| 03:10:49 | disruptek | i can hear you on twitch, and it's terrible. |
| 03:10:56 | Yardanico | disruptek: i know |
| 03:11:00 | Yardanico | yours is much better and sexier |
| 03:11:05 | disruptek | like a splinter in my brain. |
| 03:11:30 | disruptek | i'm concentrating on an enema right now. |
| 03:11:36 | disruptek | anything to distract... |
| 03:24:39 | disruptek | while/else ftw |
| 03:26:01 | * | Jesin quit (Ping timeout: 264 seconds) |
| 03:44:01 | * | lbart quit (Ping timeout: 264 seconds) |
| 03:44:44 | * | lbart joined #nim |
| 03:44:44 | * | lbart quit (Changing host) |
| 03:44:44 | * | lbart joined #nim |
| 03:49:37 | FromDiscord | <Elegant Beef> Disruptek did you say frosty works in nimscript? |
| 03:49:49 | disruptek | it should. |
| 03:51:02 | disruptek | it looks like the tests test it at compile-time. |
| 03:51:34 | FromDiscord | <Elegant Beef> With 1.4.0? |
| 03:51:49 | disruptek | yeah, it's on nightly ci against 1.0, 1.2, devel. |
| 03:51:53 | leorize[m] | @shashlick wdyt? https://github.com/alaviss/nightlies/releases/tag/latest-version-1-4 |
| 03:52:11 | disruptek | i need to update all my shit with the new version branch. |
| 03:52:14 | FromDiscord | <Elegant Beef> > /home/jason/.choosenim/toolchains/nim-1.4.0/lib/pure/nativesockets.nim(117, 6) Error: type mismatch: got <uint16> |
| 03:52:34 | disruptek | what's that? |
| 03:52:48 | FromDiscord | <Elegant Beef> sent a code paste, see https://play.nim-lang.org/#ix=2B5Y |
| 03:52:51 | FromDiscord | <Elegant Beef> The result from evaluating the above |
| 03:53:10 | leorize[m] | disruptek: it's an alias thingy that let you forget about all the silly parsing |
| 03:53:43 | disruptek | yeah, i know. |
| 03:53:58 | disruptek | is frosty on playground? |
| 03:54:25 | FromDiscord | <Elegant Beef> Dont think so |
| 03:54:27 | FromDiscord | <Avatarfighter> bro thats a 12 line script |
| 03:54:29 | FromDiscord | <Elegant Beef> I pasted a code block |
| 03:54:38 | FromDiscord | <Avatarfighter> just pipe it to nim or something |
| 03:54:45 | FromDiscord | <Elegant Beef> What are you on about? |
| 03:55:07 | FromDiscord | <Avatarfighter> well the first comment was relating to the codeblock |
| 03:55:16 | FromDiscord | <Avatarfighter> and the second one is now me experimenting |
| 03:55:25 | FromDiscord | <shashlick> @leorize - nice work! |
| 03:55:55 | disruptek | beef: i guess it just can't work because we don't when out nativesockets on nimscript. |
| 03:56:01 | * | FromDiscord quit (Remote host closed the connection) |
| 03:56:09 | disruptek | will you fix it? |
| 03:56:16 | * | FromDiscord joined #nim |
| 03:56:43 | Yardanico | Yardanico: hello |
| 03:56:53 | FromDiscord | <Yardanico> ff |
| 03:56:55 | Yardanico | Yardanico: hello |
| 03:57:13 | Yardanico | Yardanico: hello |
| 03:57:15 | disruptek | okay. |
| 03:57:16 | Yardanico | Beef: hello |
| 03:57:19 | Yardanico | it should work |
| 03:57:27 | disruptek | now we need to be able to send messages to discord punks. |
| 03:57:55 | FromDiscord | <Elegant Beef> Did the bridge go down for a second? |
| 03:57:57 | FromDiscord | <Yardanico> yes |
| 03:57:58 | FromDiscord | <Avatarfighter> yard's reaction to it not working was so funny |
| 03:58:01 | Yardanico | Yardanico Elegant: hello |
| 03:58:12 | Yardanico | @Yardanico asdasd |
| 03:58:47 | Yardanico | Yardanico : hello |
| 03:58:56 | disruptek | beef: so anyway, will you fix it? |
| 04:00:20 | disruptek | :disruptek: woof |
| 04:00:33 | FromDiscord | <Elegant Beef> Uhh i'll try 😄 |
| 04:00:43 | FromDiscord | <Yardanico> :disruptek: |
| 04:00:50 | FromDiscord | <Avatarfighter> :disruptek: |
| 04:01:06 | disruptek | where did my dog go? |
| 04:01:23 | FromDiscord | <Avatarfighter> :nimDog: |
| 04:01:24 | FromDiscord | <Yardanico> :nimDog: |
| 04:01:28 | FromDiscord | <Avatarfighter> its been rebranded |
| 04:02:01 | disruptek | beef: i'd just when in a constant and then use it to enable the block of socket stuff. |
| 04:02:20 | disruptek | if you can't figure it out, just do me a favor and make an issue so i remember. |
| 04:02:29 | * | krux02 quit (Remote host closed the connection) |
| 04:03:08 | * | FromDiscord quit (Remote host closed the connection) |
| 04:03:30 | * | FromDiscord joined #nim |
| 04:03:34 | Yardanico | disruptek: it works |
| 04:03:39 | Yardanico | Yardanico: it works |
| 04:03:59 | Yardanico | beef: it works |
| 04:04:04 | Yardanico | disruptek: you can ping beef like that |
| 04:04:06 | Yardanico | elegant: hello loser |
| 04:04:13 | FromDiscord | <Elegant Beef> Is yard.... high? |
| 04:04:20 | FromDiscord | <Avatarfighter> yard |
| 04:04:23 | Yardanico | yes |
| 04:04:25 | Yardanico | who |
| 04:04:34 | FromDiscord | <Avatarfighter> keep up the good work |
| 04:04:42 | FromDiscord | <Avatarfighter> ping me when you stream this is great |
| 04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
| 04:06:37 | * | supakeen joined #nim |
| 04:14:26 | * | vicfred quit (Remote host closed the connection) |
| 04:14:53 | * | vicfred joined #nim |
| 04:21:05 | FromDiscord | <Elegant Beef> So looks like for frosty to work in nimscript it needs to no longer rely on the `stream.write` proc |
| 04:21:15 | FromDiscord | <Elegant Beef> Or that needs to be changed |
| 04:21:46 | FromDiscord | <Elegant Beef> Since `Error: unhandled exception: 'sym' is not accessible using discriminant 'kind' of type 'TNode' [FieldDefect]` pops up after `when not define` out all the socket stuff |
| 04:22:16 | disruptek | well that's nuts. |
| 04:22:39 | FromDiscord | <Elegant Beef> Yep |
| 04:22:51 | disruptek | why can't we write streams from nimscript? |
| 04:22:56 | FromDiscord | <Elegant Beef> We can |
| 04:23:01 | FromDiscord | <Elegant Beef> Except not objects |
| 04:23:10 | disruptek | eh? |
| 04:23:14 | FromDiscord | <Elegant Beef> Or nevermind |
| 04:29:20 | FromDiscord | <Elegant Beef> I need a break, so going to cry in the corner a bit |
| 04:29:37 | FromDiscord | <Avatarfighter> honestly a mood |
| 04:30:17 | Prestige | working on improving nimscript stuff somehow? |
| 04:30:29 | disruptek | he's fixing frosty. |
| 04:30:44 | disruptek | it doesn't work in nimscript due to nativesocket support. |
| 04:32:13 | FromDiscord | <Elegant Beef> Well and also reliance on streams apparently |
| 04:32:34 | disruptek | i mean, you can ignore streams, too, if you want. |
| 04:32:43 | disruptek | i'm not too worried about speed in nimscript. |
| 04:32:44 | FromDiscord | <Elegant Beef> Your strings use streams |
| 04:32:49 | disruptek | oh right. |
| 04:33:04 | disruptek | well, impl a new flow maybe. |
| 04:33:27 | disruptek | still, this stuff works at nim compile-time. why can't it work in nimscript? |
| 04:33:38 | FromDiscord | <Avatarfighter> vm bad ig |
| 04:33:55 | FromDiscord | <Elegant Beef> Just constructing a stream results with the afformentioned error |
| 04:34:13 | FromDiscord | <Elegant Beef> https://media.discordapp.net/attachments/371759389889003532/767244118904012842/unknown.png |
| 04:34:28 | disruptek | dumb. |
| 04:35:14 | FromDiscord | <Elegant Beef> Indeed |
| 04:35:20 | FromDiscord | <Elegant Beef> Well the impls dont work |
| 04:35:31 | FromDiscord | <Elegant Beef> but now it runs, and just returns an empty |
| 04:36:21 | FromDiscord | <Elegant Beef> So i guess i just have to make the nimscript impls work? |
| 04:36:45 | FromDiscord | <Elegant Beef> I know i said i needed a break but here i am still problem solving |
| 04:38:13 | disruptek | i don't think i want to rewrite it all to just use strings, but maybe that makes some kinda sense. |
| 04:38:32 | FromDiscord | <Elegant Beef> Well i think making stringstreams support nimscript makes more sense |
| 04:38:46 | disruptek | of course, but it's a bigger ask. |
| 04:39:27 | disruptek | we had some issues with streams in the vm but i thought they were solved last year. |
| 04:41:10 | FromDiscord | <Elegant Beef> Yea prestige i'm looking at using a binary stream instead of json so i can just do everything from primitives to tuples |
| 04:43:09 | FromDiscord | <Avatarfighter> wait what's the issue you're working on again beef? |
| 04:43:27 | FromDiscord | <Elegant Beef> No longer using json + supporting all serializable types |
| 04:43:52 | disruptek | in theory, there's no such thing as unserializable in frosty. |
| 04:43:58 | FromDiscord | <Avatarfighter> what's the problem type for serializing ? |
| 04:44:10 | disruptek | however, you have to know what type you're reading. |
| 04:44:11 | FromDiscord | <Elegant Beef> Well i mean all of them |
| 04:44:40 | FromDiscord | <Elegant Beef> Yea disruptek that's easy since it's like a networking library, nimscript calls specific nim functions and nim calls specific nimscript functions |
| 04:44:43 | FromDiscord | <Elegant Beef> Only issue is optionals |
| 04:44:51 | disruptek | okay. |
| 04:45:02 | * | narimiran joined #nim |
| 04:45:04 | disruptek | Option should work fine. |
| 04:45:19 | FromDiscord | <Elegant Beef> I mean optional parameters |
| 04:45:25 | FromDiscord | <Elegant Beef> Althoug they'll get sent i guess |
| 04:45:27 | FromDiscord | <Elegant Beef> So no issue |
| 04:46:25 | disruptek | maybe we should make frosty/streams frosty/sockets and just make people import them separately. |
| 04:46:43 | FromDiscord | <Elegant Beef> Possibly |
| 04:47:23 | FromDiscord | <Elegant Beef> I guess just adding the casted types to a string isnt too hard |
| 04:47:37 | FromDiscord | <Elegant Beef> I know i did something like this before |
| 04:48:27 | FromDiscord | <Elegant Beef> Ideally though we just get nimscript supported streams |
| 04:48:35 | FromDiscord | <Elegant Beef> But yea idk where to begin really for that |
| 04:48:48 | FromDiscord | <Elegant Beef> inb4 "streams.nim" |
| 05:01:08 | * | solitudesf joined #nim |
| 05:09:02 | FromDiscord | <Elegant Beef> Well that makes this pretty difficult, there is not a way to cast an object it seems |
| 05:18:58 | Yardanico | elegant: beef |
| 05:19:04 | Yardanico | beef? |
| 05:19:05 | Yardanico | beef |
| 05:19:08 | Yardanico | feeb |
| 05:19:12 | FromDiscord | <Elegant Beef> beefeeb |
| 05:22:02 | FromDiscord | <Elegant Beef> I assume you're just testing something? |
| 05:24:40 | * | Jesin joined #nim |
| 05:27:56 | FromDiscord | <Elegant Beef> Who can i pretend to pay to implement `cast[ptr string](pointer)` on the nimVM? |
| 05:29:11 | leorize[m] | pay clyybber or araq himself :P |
| 05:29:20 | FromDiscord | <Elegant Beef> lol |
| 05:29:48 | FromDiscord | <Yardanico> ping me if the bridge stops working |
| 05:29:52 | FromDiscord | <Yardanico> And write in telegram |
| 05:30:02 | FromDiscord | <Yardanico> because i updated it to the new version today |
| 05:41:27 | * | apahl quit (Ping timeout: 260 seconds) |
| 05:41:58 | * | apahl joined #nim |
| 05:52:23 | FromDiscord | <Elegant Beef> Looking at the vm code, i think quite possibly i probably shouldnt be looking at it |
| 06:31:45 | * | solitudesf quit (Ping timeout: 240 seconds) |
| 06:32:35 | * | Vladar joined #nim |
| 06:47:36 | * | gmaggior quit (Quit: Leaving) |
| 06:58:42 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
| 07:04:55 | * | user0 quit (Ping timeout: 246 seconds) |
| 07:08:30 | FromDiscord | <acek7> not sure if this is allowed but would anyone know of a place i can possibly hire a coder or something? |
| 07:12:35 | Prestige | @acek7 for what? |
| 07:12:54 | FromDiscord | <acek7> Mainly for a possible website project. |
| 07:13:05 | FromDiscord | <acek7> and an app that would do something similar |
| 07:13:58 | FromDiscord | <acek7> My community in my county i think would benefit from a sort of hub for news and information. Ways to help people when its needed and such |
| 07:15:52 | Prestige | Maybe https://www.reddit.com/r/forhire/ or there are other freelancing sites. I would personally hit up a js community on irc or discord |
| 07:40:57 | * | letto quit (Quit: Konversation terminated!) |
| 07:42:56 | * | letto joined #nim |
| 07:48:27 | * | arecacea1 quit (Read error: Connection reset by peer) |
| 07:49:03 | * | arecacea1 joined #nim |
| 07:54:15 | * | opal quit (Remote host closed the connection) |
| 07:55:01 | ForumUpdaterBot | New thread by Jasonfi: Aliases with templates for tables not working in v1.4, see https://forum.nim-lang.org/t/6947 |
| 07:55:35 | * | opal joined #nim |
| 08:08:37 | FromDiscord | <alehander42> akavel ! |
| 09:01:26 | * | fuab joined #nim |
| 09:19:11 | FromDiscord | <dom96> Anyone up for reproducing this for Nim? https://twitter.com/mit_csail/status/1317495588833746944?s=21 |
| 09:19:20 | FromDiscord | <dom96> Would be interesting |
| 09:19:39 | FromDiscord | <iWonderAboutTuatara> For general case code should we be using orc or refc? |
| 09:20:09 | FromDiscord | <iWonderAboutTuatara> @dom96 sounds like a fun project, I could try this with an arduino maybe |
| 09:21:41 | FromDiscord | <dom96> Depends how they did it in their paper. Arduino might not be best |
| 09:21:42 | FromDiscord | <Vindaar> @dom96 that seems _really_ hard to get right though. If you run everything on the machine you can of course give relative numbers, but comparing between machines is essentially impossible. ↵If they provide all the code of course it's possible to run all |
| 09:21:59 | FromDiscord | <dom96> Yeah. My hope is they provide code |
| 09:22:19 | FromDiscord | <Vindaar> and I'm sorry, but my god are those plots ugly |
| 09:22:24 | FromDiscord | <dom96> Surely MIT will enable reproducible results, right? 🙂 |
| 09:22:31 | mipri | they used some intel tool; the linked page suggests powertop, which has a Power est. field in Overview |
| 09:22:46 | FromDiscord | <dom96> Kind of the point of this kind of all academia |
| 09:22:51 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
| 09:22:56 | FromDiscord | <dom96> (edit) removed "this kind of" |
| 09:22:59 | mipri | so just have your benchmark end with a POSIX pause() so you can check its power estimation there |
| 09:23:16 | FromDiscord | <Vindaar> here: https://github.com/greensoftwarelab/Energy-Languages |
| 09:24:14 | FromDiscord | <Vindaar> (paper referred to this page https://sites.google.com/view/energy-efficiency-languages) |
| 09:24:29 | FromDiscord | <dom96> Ahh. Once again because we’ve not been allowed into the language benchmarks game, we’re missing out :/ |
| 09:24:55 | FromDiscord | <Innokentiy Sokolov> not been allowed by whom? |
| 09:25:05 | FromDiscord | <Rika> by some dumbass |
| 09:25:06 | FromDiscord | <dom96> By the person maintaining it |
| 09:25:10 | FromDiscord | <Innokentiy Sokolov> aah I see |
| 09:25:12 | mipri | what was the reason for the benchmark game exclusion? |
| 09:25:29 | FromDiscord | <Rika> because "its too easy to make these kinds of languages" afaik |
| 09:25:41 | FromDiscord | <Innokentiy Sokolov> Or because Nim uses C compiler? |
| 09:25:42 | FromDiscord | <Rika> also excluded crystal because of this afaik |
| 09:26:03 | FromDiscord | <dom96> Afaik it was because they’re languages that are hyped thanks to Reddit/hm |
| 09:26:09 | FromDiscord | <dom96> (edit) "Reddit/hm" => "Reddit/hn" |
| 09:26:26 | FromDiscord | <Innokentiy Sokolov> biases.. biases everywhere |
| 09:26:35 | FromDiscord | <dom96> There was a faq entry about it a while back if someone can find it (on mobile atm) |
| 09:26:35 | FromDiscord | <Rika> kostya's benchmarks also include an energy consumption column |
| 09:31:04 | FromDiscord | <dom96> https://forum.nim-lang.org/t/3021#18976 |
| 09:31:09 | FromDiscord | <dom96> Link is gone lol |
| 09:31:17 | FromDiscord | <Varriount> @Rika "too easy to make these kinds of languages" <- wtf? |
| 09:31:57 | FromDiscord | <dom96> https://web.archive.org/web/20180129030131/http://benchmarksgame.alioth.debian.org/play.html |
| 09:32:03 | FromDiscord | <Varriount> Maybe I'm just some plebian developer, but creating a working programming language is hard. |
| 09:32:06 | FromDiscord | <dom96> Here is their actual reasoning |
| 09:32:59 | FromDiscord | <iWonderAboutTuatara> @Varriount I can't think anyone would disagree with this |
| 09:33:11 | FromDiscord | <iWonderAboutTuatara> Except maybe terry davis, but he's just another level |
| 09:34:11 | FromDiscord | <Varriount> I don't understand that reasoning either. If developers contribute working benchmarks, how does that add any significant overhead for the maintainer? |
| 09:34:39 | FromDiscord | <Innokentiy Sokolov> because it's a biased person |
| 09:34:46 | FromDiscord | <Vindaar> maybe scared of a language that's better than their favorite? 🙂 |
| 09:34:47 | FromDiscord | <Innokentiy Sokolov> (e.g. idiot) |
| 09:34:57 | FromDiscord | <Varriount> Is rust on there? |
| 09:35:26 | FromDiscord | <iWonderAboutTuatara> I don't think it's bias |
| 09:35:38 | FromDiscord | <Rika> rust is definitely on there |
| 09:35:40 | FromDiscord | <iWonderAboutTuatara> There s a lot of languages in thisbwodld |
| 09:35:52 | FromDiscord | <iWonderAboutTuatara> They can't realistically bench every single one regularly |
| 09:35:59 | FromDiscord | <Rika> @Yardanico your bot is going haywire regards pinging people |
| 09:36:03 | FromDiscord | <Rika> see #github-events |
| 09:36:09 | FromDiscord | <Recruit_main707> thats fucked up https://media.discordapp.net/attachments/371759389889003532/767320101367840778/unknown.png |
| 09:36:21 | FromDiscord | <Rika> lmao |
| 09:36:28 | FromDiscord | <Innokentiy Sokolov> Hey I see myself there |
| 09:36:32 | FromDiscord | <iWonderAboutTuatara> That's pretty amazing |
| 09:36:39 | FromDiscord | <dom96> Hah |
| 09:36:46 | FromDiscord | <Recruit_main707> useMRikalloc |
| 09:36:47 | FromDiscord | <iWonderAboutTuatara> Wonder how that happens |
| 09:36:59 | FromDiscord | <Yardanico> really weird |
| 09:37:02 | FromDiscord | <iWonderAboutTuatara> Yeah |
| 09:37:26 | FromDiscord | <iWonderAboutTuatara> Extremely weird, pretty funny though |
| 09:37:30 | FromDiscord | <Rika> funny shit yeah |
| 09:37:31 | * | FromDiscord quit (Remote host closed the connection) |
| 09:37:45 | * | FromDiscord joined #nim |
| 09:38:01 | * | narimiran quit (Ping timeout: 264 seconds) |
| 09:38:04 | FromDiscord | <iWonderAboutTuatara> I feel like whacking this bug could be a pain |
| 09:38:15 | FromDiscord | <iWonderAboutTuatara> Because why could this possibly be happening? |
| 09:38:26 | FromDiscord | <Yardanico> probably incorrect ping handling |
| 09:38:29 | FromDiscord | <iWonderAboutTuatara> Hopefully it isn't too bad |
| 09:38:38 | FromDiscord | <Yardanico> I just stopped bridging github-events for now :) |
| 09:38:43 | FromDiscord | <Yardanico> temp solution |
| 09:44:06 | FromDiscord | <Rika> it does it too for forum posts tho |
| 09:44:25 | FromDiscord | <Rika> https://canary.discordapp.com/channels/371759389889003530/371759389889003532/767294659390210048 |
| 09:51:20 | ForumUpdaterBot | New thread by Stefan_Salewski: Fun with (Levenshtein) Edit distances, see https://forum.nim-lang.org/t/6949 |
| 09:54:21 | FromDiscord | <Rika> see lol |
| 09:54:58 | FromDiscord | <Recruit_main707> poor bytewisp |
| 10:09:22 | ForumUpdaterBot | New thread by Didlybom: Problems installing nim 1.4.0 with choosenim, see https://forum.nim-lang.org/t/6950 |
| 10:11:11 | * | lritter joined #nim |
| 10:11:32 | FromDiscord | <Clyybber> @Yardanico Wait did my ping changes affect the forum bot? |
| 10:11:43 | FromDiscord | <Yardanico> well maybe they weren't the reason, I'm not yet sure |
| 10:12:12 | FromDiscord | <Clyybber> I think they are, but really the messages from the forum shouldn't be checked for pings |
| 10:18:21 | Yardanico | yeah |
| 10:25:11 | FromDiscord | <whisperdev> Hi. How do I do this in a more elegant way? https://play.nim-lang.org/#ix=2B7u |
| 10:27:57 | FromDiscord | <Recruit_main707> whats wrong with that way? |
| 10:28:15 | FromDiscord | <Vindaar> well if you're gonna assign the result to some variable, you can use a single line if expression. but as long as you need to differentiate 0 and rest there isn't a "magic" solution that makes it go away (you can only hide it) |
| 10:29:46 | FromDiscord | <Recruit_main707> `or for index in 1..<paths.len:`↵and then instead of `path` use `paths[index]` |
| 10:30:11 | FromDiscord | <Vindaar> but then of course you still have to handle the other case before the loop |
| 10:30:43 | FromDiscord | <Vindaar> sure, if it's some hot loop and you don't want to trust your branch predictor I suppose that's smarter 😅 |
| 10:30:53 | FromDiscord | <Recruit_main707> it depends on what he wants to do really |
| 10:30:58 | FromDiscord | <Vindaar> indeed |
| 10:31:12 | FromDiscord | <Vindaar> I suppose code clarity and beauty 💜 |
| 10:31:27 | FromDiscord | <whisperdev> yes 💩 |
| 10:31:44 | FromDiscord | <Recruit_main707> can you do?↵`for index,path in paths[1..^1]:` |
| 10:32:20 | FromDiscord | <whisperdev> That would work |
| 10:32:21 | FromDiscord | <Recruit_main707> but then the index is not the actual index in the paths sequence |
| 10:33:28 | FromDiscord | <whisperdev> how about mapIt? |
| 10:33:33 | FromDiscord | <whisperdev> Is there an index somewhere? |
| 10:33:48 | FromDiscord | <Recruit_main707> idk ¯\_(ツ)_/¯ |
| 10:34:35 | FromGitter | <jrfondren> @whisperdev https://play.nim-lang.org/#ix=2B7y |
| 10:38:55 | FromDiscord | <Vindaar> https://play.nim-lang.org/#ix=2B7B↵↵2 ways. The latter is surely what you want in this context. The first is more for fun and I wouldn't write it like that in practice |
| 10:39:27 | FromDiscord | <Vindaar> the `join` case is essentially what I meant by you can hide it |
| 10:42:55 | FromDiscord | <whisperdev> Thanks!! |
| 10:43:19 | FromDiscord | <Vindaar> you're welcome! |
| 10:50:13 | * | vicfred quit (Quit: Leaving) |
| 10:52:14 | * | oculux quit (Quit: blah) |
| 10:52:29 | * | oculux joined #nim |
| 10:56:35 | * | letto quit (Read error: Connection reset by peer) |
| 10:56:53 | * | letto joined #nim |
| 11:05:12 | FromDiscord | <enthus1ast> is there any way to force nimble to install the freshest version of a package, even if the version number has not changed? |
| 11:05:23 | FromDiscord | <enthus1ast> so basically ignore all the versioning |
| 11:05:59 | FromDiscord | <Vindaar> you can just force to install HEAD of the repository, `nimble install <package>@#head` |
| 11:06:10 | FromDiscord | <enthus1ast> this does not work correctly |
| 11:06:23 | FromDiscord | <Vindaar> huh? what goes wrong? |
| 11:06:38 | FromDiscord | <enthus1ast> it (seems) to does not install all dependencies |
| 11:06:47 | FromDiscord | <enthus1ast> the newest version i mean |
| 11:07:01 | FromDiscord | <dom96> then the package's dependencies are not listed correctly? |
| 11:12:30 | FromDiscord | <enthus1ast> when a dependency is listed with "package@#head" is it then always updated to the newest version? |
| 11:13:09 | FromDiscord | <Rika> newest commit |
| 11:20:20 | FromDiscord | <enthus1ast> sent a code paste, see https://play.nim-lang.org/#ix=2B7S |
| 11:21:05 | FromDiscord | <dom96> it's not always updated |
| 11:21:30 | FromDiscord | <dom96> if a package specifies `pkg@#head` then as long as it was installed at some point in the past it'll be used |
| 11:21:41 | FromDiscord | <dom96> so yeah, don't use it for deps |
| 11:21:44 | * | letto quit (Ping timeout: 265 seconds) |
| 11:22:05 | FromDiscord | <dom96> and yes, there are many situations where two different users will get different code for the same package |
| 11:22:10 | FromDiscord | <dom96> this is what lock files solve |
| 11:22:21 | FromDiscord | <enthus1ast> then, how to force the update? 😄 |
| 11:22:57 | FromDiscord | <dom96> Just run `nimble install pkg@#head` manually |
| 11:23:09 | FromDiscord | <dom96> for each of the deps that you want to be updated |
| 11:23:14 | FromDiscord | <enthus1ast> mhh |
| 11:24:42 | FromDiscord | <Yardanico> @Clyybber I understood why it's pinging everyone :) |
| 11:24:51 | FromDiscord | <Yardanico> the original message is "New post by Shirleyquirk in Forcing a memory leak in Nim: according to the docs, useMalloc > only works with gc:none and with --newruntime. which is a bit ... (https://forum.nim-lang.org/t/6943#43505)" |
| 11:24:55 | FromDiscord | <Yardanico> see the colon after Nim |
| 11:25:06 | FromDiscord | <flywind> you can use nimble to remove all dependencies. Then run pkg@#head. |
| 11:25:06 | FromDiscord | <Clyybber> yeah I know |
| 11:25:07 | FromDiscord | <Yardanico> so it tried to test each word before the colon as a ping |
| 11:25:14 | FromDiscord | <Clyybber> yeah |
| 11:25:26 | FromDiscord | <Clyybber> it shouldn't search for them in the first place though |
| 11:25:44 | FromDiscord | <Yardanico> well right now my mentions work by startsWith, I can make them do full match |
| 11:25:52 | FromDiscord | <Yardanico> but then some weird nicknames will not be able to be typed in IRC |
| 11:26:05 | FromDiscord | <Clyybber> nono |
| 11:26:17 | FromDiscord | <Clyybber> it shouldn't run the peg on the message |
| 11:26:19 | FromDiscord | <Clyybber> at all |
| 11:26:35 | FromDiscord | <Yardanico> well I understood that you want to blacklist the bot |
| 11:26:38 | FromDiscord | <Yardanico> but there's another problem |
| 11:26:39 | FromDiscord | <Clyybber> yeah |
| 11:26:39 | FromDiscord | <dom96> wtf, it was fuzzy matching nicks? |
| 11:26:48 | FromDiscord | <Yardanico> @dom96 not fuzzy, but startsWith, always yes :) |
| 11:26:52 | FromDiscord | <Clyybber> @dom96 startsWith, ont really fuzzy |
| 11:26:54 | FromDiscord | <Clyybber> lol |
| 11:26:55 | FromDiscord | <dom96> whyyy |
| 11:26:57 | FromDiscord | <Yardanico> what if someone on IRC uses colon |
| 11:27:04 | FromDiscord | <enthus1ast> @flywind currently, if i think pkgs are not updated i remove them manually from the pkg dir |
| 11:27:04 | FromDiscord | <Yardanico> like "Today I wanted to talk about something: hello" |
| 11:27:09 | FromDiscord | <Clyybber> not a problem |
| 11:27:10 | FromDiscord | <Yardanico> so I guess we need to change for full match |
| 11:27:16 | FromDiscord | <Clyybber> oh |
| 11:27:22 | FromDiscord | <Clyybber> hmm, maybe just some minimum char limit |
| 11:27:24 | FromDiscord | <dom96> Why would you ever do a startsWith? |
| 11:27:29 | FromDiscord | <Clyybber> or just not startsWith |
| 11:27:36 | FromDiscord | <Yardanico> @dom96 some nicknames are long, have spaces or just weird |
| 11:27:40 | FromDiscord | <Yardanico> we can solve spaces with _, yes |
| 11:27:41 | FromDiscord | <Clyybber> but blacklisting the bot is still a good idea |
| 11:28:09 | FromDiscord | <Yardanico> but guess I'll change it to use full match for now, and blacklist the bot too since even with full match it'll ping some people |
| 11:28:14 | * | clyybber joined #nim |
| 11:28:23 | FromDiscord | <dom96> huh, the point is to ping, no? |
| 11:28:24 | FromDiscord | <enthus1ast> i wonder if nimph is usable, guess i'll try it |
| 11:28:27 | FromDiscord | <Yardanico> @Clyybber also maybe we need to remove that "a b: hello" ping syntax? I don't think I've never seen it used |
| 11:28:37 | FromDiscord | <Recruit_main707> maybe startsWith, but 3 letters at least or 4 |
| 11:28:38 | FromDiscord | <Yardanico> @dom96 I mean for the forum bot from irc |
| 11:28:45 | FromDiscord | <Clyybber> @Yardanico i've seen it a few times |
| 11:28:46 | FromDiscord | <Yardanico> (edit) "never" => "ever" |
| 11:28:54 | FromDiscord | <Yardanico> really? |
| 11:28:59 | FromDiscord | <Clyybber> at least with a comma |
| 11:29:08 | FromDiscord | <Yardanico> well, comma is fine |
| 11:29:10 | FromDiscord | <Yardanico> I mean spaces |
| 11:29:22 | FromDiscord | <Clyybber> I would just allow it |
| 11:29:32 | clyybber | clyybber test |
| 11:29:35 | FromDiscord | <dom96> @enthus1ast I doubt it will help you with #head packages, wouldn't be surprised if it forbids them |
| 11:29:39 | FromDiscord | <Yardanico> yeah that is okay @Clyybber |
| 11:29:47 | FromDiscord | <Clyybber> hmm why doesn't it work |
| 11:29:52 | clyybber | Clyybber test |
| 11:29:54 | FromDiscord | <Yardanico> you need a colon |
| 11:29:56 | FromDiscord | <Yardanico> ?? |
| 11:30:00 | FromDiscord | <Yardanico> it won't work like that |
| 11:30:05 | FromDiscord | <Yardanico> you need "ping" or a colon |
| 11:30:05 | FromDiscord | <dom96> @enthus1ast not sure what your expectations are, #head dependencies shouldn't be used. |
| 11:30:33 | Yardanico | yardanico clyybber yardanico clyybber ping |
| 11:30:40 | FromDiscord | <dom96> !eval echo NimVersion |
| 11:30:41 | NimBot | 1.4.0 |
| 11:30:46 | FromDiscord | <dom96> cool |
| 11:30:58 | FromDiscord | <Clyybber> it only works ping clyybber I think |
| 11:31:05 | * | OMGOMG quit (Quit: Lost terminal) |
| 11:31:09 | FromDiscord | <Clyybber> oh, no |
| 11:31:13 | FromDiscord | <Yardanico> yeah you're right |
| 11:31:34 | FromDiscord | <Clyybber> it should work here too though |
| 11:31:44 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2B7W |
| 11:31:58 | FromDiscord | <Clyybber> but its mention | nick |
| 11:32:03 | FromDiscord | <Yardanico> ah |
| 11:32:05 | FromDiscord | <Yardanico> hm |
| 11:32:40 | FromDiscord | <Clyybber> oh |
| 11:32:46 | FromDiscord | <Clyybber> the is greedy right? |
| 11:32:55 | FromDiscord | <Clyybber> then it will try to ping as nick |
| 11:33:00 | FromDiscord | <Clyybber> (edit) "to" => "" |
| 11:33:01 | FromDiscord | <Yardanico> yes |
| 11:33:03 | FromDiscord | <dom96> Gosh, I would just parse this manually |
| 11:33:05 | FromDiscord | <Yardanico> it's greedy |
| 11:33:29 | FromDiscord | <Clyybber> we gotta use non greedy here |
| 11:33:30 | FromDiscord | <Yardanico> @dom96 well it is possible, yes |
| 11:33:35 | FromDiscord | <lqdev> @dom96 my dude |
| 11:33:38 | FromDiscord | <Clyybber> I'm gonna make a pr |
| 11:33:45 | FromDiscord | <Yardanico> but it might look and work worse :P |
| 11:33:52 | FromDiscord | <lqdev> i could never get npeg parsers to work xD |
| 11:33:59 | FromDiscord | <lqdev> something always screws up |
| 11:34:08 | FromDiscord | <Yardanico> just fyi - ircord uses them for parsing discord-specific ID stuff |
| 11:34:09 | FromDiscord | <Varriount> I <3 NPeg |
| 11:34:11 | FromDiscord | <dom96> @Yardanico no, it'll look better and work better |
| 11:34:15 | FromDiscord | <Yardanico> @dom96 not always |
| 11:34:20 | FromDiscord | <Clyybber> no it won't |
| 11:34:26 | FromDiscord | <Clyybber> nepg is perfect for this |
| 11:34:40 | FromDiscord | <lqdev> imo manual parsers are more readable but that's just me |
| 11:34:43 | FromDiscord | <lqdev> you just read it |
| 11:34:44 | FromDiscord | <Yardanico> ircord has this btw :) https://media.discordapp.net/attachments/371759389889003532/767349937724850176/unknown.png |
| 11:34:48 | FromDiscord | <lqdev> instead of having to interpret it |
| 11:34:52 | FromDiscord | <Yardanico> @lqdev well you have to know the syntax yes |
| 11:35:08 | FromDiscord | <lqdev> it's more compact |
| 11:35:16 | FromDiscord | <lqdev> but it's kind of like reading perl |
| 11:35:24 | FromDiscord | <lqdev> not to say npeg is bad, of course |
| 11:35:24 | FromDiscord | <dom96> You make mistakes far more easily with this IMO |
| 11:35:30 | FromDiscord | <dom96> case in point the recent Nimble issue |
| 11:35:38 | FromDiscord | <dom96> where it failed to parse 1.0.10 |
| 11:35:39 | FromDiscord | <lqdev> @dom96 true, and it's hard to pinpoint where |
| 11:35:47 | FromDiscord | <Yardanico> npeg has tracing |
| 11:35:49 | FromDiscord | <lqdev> you can't just `echo` out the current position in the stream |
| 11:35:50 | FromDiscord | <Yardanico> you can debug it |
| 11:35:53 | FromDiscord | <dom96> I can guarantee you this would not have happened if the parsing was done manually |
| 11:36:00 | FromDiscord | <Yardanico> doubt it lol |
| 11:36:05 | FromDiscord | <Yardanico> manual parsing would've had more issues |
| 11:36:15 | FromDiscord | <lqdev> or so you think. |
| 11:36:16 | FromDiscord | <Varriount> That's the shorthand version though |
| 11:36:24 | FromDiscord | <dom96> Nimble's actual version parsing is perfect |
| 11:36:30 | FromDiscord | <dom96> this was a silly peg hack |
| 11:36:30 | FromDiscord | <Varriount> This is a long-form version |
| 11:36:33 | FromDiscord | <Varriount> https://github.com/Varriount/commandant/blob/master/commandant/lexer.nim#L93 |
| 11:36:47 | FromDiscord | <Varriount> Well, long-form example |
| 11:37:17 | FromDiscord | <Clyybber> hmm, do you know how to achieve a non-greedy with npeg? |
| 11:37:18 | FromDiscord | <Yardanico> @dom96 main proble is searching in the whole string for multiple occurences |
| 11:37:42 | FromDiscord | <Yardanico> multiple times |
| 11:37:58 | FromDiscord | <Varriount> @Clyybber have to have a negation check in the pattern you're repeating |
| 11:38:11 | FromDiscord | <dom96> I don't really get what you're trying to parse out tbh |
| 11:38:21 | FromDiscord | <Yardanico> @dom96 all kinds of mentions: |
| 11:39:13 | * | fuab quit (Ping timeout: 264 seconds) |
| 11:39:23 | FromDiscord | <Yardanico> "nick: hello", "@nick: hello", "@nick" anywhere in the message, "ping nick" or "ping @nick" anywhere in the message, "nick, nick2: hello", I know that this exact thing can be achieved with manual parsing |
| 11:39:28 | FromDiscord | <dom96> If you're finding mentions then first thought in my head on how to approach that is to get a list of the words in the message, then check whether any of the words are a nick |
| 11:39:29 | FromDiscord | <Yardanico> but the other one for discord IDs and stuff is much worse |
| 11:39:40 | FromDiscord | <dom96> like you could do that with a `split` even |
| 11:39:47 | FromDiscord | <Yardanico> yes for simple cases you can |
| 11:39:58 | FromDiscord | <dom96> what are the non-simple cases? |
| 11:40:26 | FromDiscord | <Varriount> @Clyybber basically, inside the pattern being repeated, you have to assert that the next pattern isn't present |
| 11:40:35 | * | fuab__ joined #nim |
| 11:40:43 | FromDiscord | <Clyybber> ah, I see |
| 11:40:46 | FromDiscord | <Clyybber> makes sense, thanks |
| 11:40:46 | FromDiscord | <Yardanico> ok I'll try to make a manual parser version for this just to check |
| 11:40:51 | FromDiscord | <dom96> lol |
| 11:40:57 | ehmry | Zevv: I have an npeg parser that is blowing up to 70K lines of C, any suggestions for bringing it down? |
| 11:40:57 | FromDiscord | <Yardanico> ah right |
| 11:41:01 | FromDiscord | <Clyybber> well we don't want to parse every word as a nick |
| 11:41:12 | FromDiscord | <Varriount> `( A - B ) B` |
| 11:41:19 | FromDiscord | <Yardanico> @dom96 another issue is that you need to replace the occurence with the actual mention |
| 11:41:33 | FromDiscord | <Yardanico> with the <@!id> syntax |
| 11:41:49 | FromDiscord | <dom96> easy |
| 11:41:56 | FromDiscord | <Varriount> ehmry: Sounds like an inlining issue |
| 11:42:16 | FromDiscord | <Clyybber> @Varriount `(A - &B) B` ? |
| 11:42:18 | FromDiscord | <dom96> you literally just loop through each character, keep a track of the last word, reset it on ` ` character |
| 11:42:21 | FromDiscord | <Clyybber> because else I consume B no? |
| 11:42:29 | FromDiscord | <dom96> append each character to a new string buffer |
| 11:42:44 | FromDiscord | <dom96> well, append each word when reset |
| 11:42:53 | FromDiscord | <dom96> if the word is a nick, transform it and append that |
| 11:42:57 | FromDiscord | <dom96> easy peasy |
| 11:43:05 | FromDiscord | <Clyybber> we only have fast access to the last 5 nicks that wrote on discord afaik |
| 11:43:21 | FromDiscord | <Yardanico> well it's not about that |
| 11:43:40 | FromDiscord | <Yardanico> all of them are cached locally right now |
| 11:43:47 | FromDiscord | <Yardanico> it's mostly old code which caches last 5 users per channel |
| 11:43:56 | FromDiscord | <Yardanico> dimscord can cache them |
| 11:44:13 | FromDiscord | <Clyybber> oh, well then it really doesn't seem to useful to do this dance :D |
| 11:44:18 | FromDiscord | <Varriount> ehmry: https://github.com/zevv/npeg#compile-time-configuration |
| 11:44:18 | FromDiscord | <Yardanico> yeah :P |
| 11:45:34 | FromDiscord | <Clyybber> :disruptek: |
| 11:45:51 | FromDiscord | <Varriount> @Clyybber Ah, yes, I think |
| 11:46:03 | FromDiscord | <Yardanico> :nimDog: |
| 11:46:06 | FromDiscord | <dom96> so yeah, manual parsing should not be underestimated 😉 |
| 11:46:07 | FromDiscord | <Yardanico> :nimGlow: |
| 11:46:13 | FromDiscord | <Yardanico> :nimMono: |
| 11:46:16 | FromDiscord | <Yardanico> I added a few emojis yesterday |
| 11:46:19 | FromDiscord | <Yardanico> (today) |
| 11:46:30 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767352901981962240/unknown.png |
| 11:46:32 | FromDiscord | <Yardanico> :nim3: |
| 11:46:36 | FromDiscord | <Clyybber> the crowns look squished |
| 11:46:36 | FromDiscord | <Yardanico> is pretty cool (from nimble tag) |
| 11:46:41 | FromDiscord | <dom96> lol? why did you add disruptek's avatar? |
| 11:46:44 | FromDiscord | <Clyybber> lol |
| 11:46:52 | FromDiscord | <Yardanico> @dom96 :disruptek: |
| 11:46:57 | FromDiscord | <Varriount> @Clyybber ↵> Difference: P1 - P2↵>↵> The pattern P1 - P2 matches P1 only if P2 does not match. This is equivalent to !P2 P1 |
| 11:46:57 | FromDiscord | <Clyybber> agreed |
| 11:47:05 | FromDiscord | <Clyybber> @Varriount ah |
| 11:47:15 | FromDiscord | <Varriount> (edit) "P2↵>↵>" => "P2↵> ↵>" |
| 11:47:41 | FromDiscord | <Clyybber> Yeah, I think I would need a & there I think |
| 11:47:52 | FromDiscord | <Clyybber> especially since the next pattern I match with & anyways |
| 11:48:14 | FromDiscord | <Clyybber> but all this code has been obsoleted now :D |
| 11:48:19 | FromDiscord | <Varriount> No, because it's equivalent to ! P2 P1 |
| 11:48:33 | FromDiscord | <Clyybber> but I don't want to consume P1 |
| 11:48:39 | FromDiscord | <Clyybber> oh, eh |
| 11:48:42 | FromDiscord | <Clyybber> P2 |
| 11:48:44 | FromDiscord | <Varriount> And ! is non-capturing |
| 11:48:48 | FromDiscord | <Clyybber> aha! |
| 11:48:49 | FromDiscord | <Clyybber> thanks |
| 11:49:00 | FromDiscord | <Clyybber> yeah, of course, sorry :D |
| 11:50:25 | FromDiscord | <Recruit_main707> lmao the disruptek one |
| 11:50:40 | FromDiscord | <Recruit_main707> how about adding the blue crown?? |
| 11:50:56 | FromDiscord | <Yardanico> yeah I wanted to |
| 11:51:03 | FromDiscord | <Yardanico> also there's the blue aporia logo concept :) |
| 11:52:00 | FromDiscord | <Yardanico> @Clyybber interesting regression in last version https://forum.nim-lang.org/t/6947#43512 |
| 11:52:05 | FromDiscord | <Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2B86 |
| 11:52:10 | FromDiscord | <Yardanico> works on 1.2.6, fails on 1.4 |
| 11:52:54 | FromDiscord | <Yardanico> also found a bug with my code pasting handling which I made yesterday to finally fulfil disruptek's request |
| 11:52:56 | FromDiscord | <Yardanico> will fix it |
| 11:53:31 | FromDiscord | <Clyybber> @Yardanico damn, that one looks nasty |
| 11:53:50 | FromDiscord | <Yardanico> (now ircord actually makes code pastes runnable - it comments out all text except the code between triple backquotes for people who might be wondering) |
| 11:53:53 | FromDiscord | <Yardanico> @Clyybber yeah |
| 11:54:04 | FromDiscord | <Clyybber> nice |
| 11:54:42 | FromDiscord | <Yardanico> ah yeah you weren't on the stream when we added that :) |
| 11:55:06 | FromDiscord | <Clyybber> probably sleeping :D |
| 11:55:22 | FromDiscord | <Clyybber> what happens if you have a long message that contains normal text and codeblocks? |
| 11:56:05 | FromDiscord | <Yardanico> it'll treat it as code |
| 11:56:07 | FromDiscord | <Clyybber> long codeblocks that is so \`\`\` ones |
| 11:56:09 | FromDiscord | <Yardanico> also we added word wrapping |
| 11:56:13 | FromDiscord | <Yardanico> std/wordwrap |
| 11:56:21 | FromDiscord | <Yardanico> for all big messages |
| 11:56:25 | FromDiscord | <Clyybber> @Yardanico will it comment out the non-code block parts? |
| 11:56:28 | FromDiscord | <Yardanico> yes |
| 11:56:30 | FromDiscord | <Yardanico> #[ and ]# |
| 11:56:34 | FromDiscord | <Clyybber> nice thats sick |
| 11:56:43 | FromDiscord | <Yardanico> so you can run the code from discord in the playground immediately |
| 11:56:45 | FromDiscord | <Yardanico> if it's runnable that is |
| 11:57:21 | FromDiscord | <Clyybber> sent a code paste, see https://play.nim-lang.org/#ix=2B8c |
| 11:57:29 | FromDiscord | <Yardanico> https://play.nim-lang.org/#ix=2B8c |
| 11:57:36 | FromDiscord | <Yardanico> it's a bit broken still :) |
| 11:57:38 | FromDiscord | <Yardanico> but mostly works |
| 11:57:39 | FromDiscord | <Clyybber> pretty cool |
| 11:57:47 | FromDiscord | <Clyybber> maybe we should use ## instead of #[ ]# ? |
| 11:58:03 | FromDiscord | <Yardanico> well with #[ we can have multi-line comments |
| 11:58:14 | FromDiscord | <Clyybber> yeah but it doesn't look nice |
| 11:58:17 | FromDiscord | <Yardanico> without the need to handle each line in between |
| 11:58:19 | FromDiscord | <Clyybber> I think the seperation is better |
| 11:58:35 | FromDiscord | <Clyybber> @Yardanico Yeah, just prepend ## to each non-code block line |
| 11:58:43 | FromDiscord | <Yardanico> yeah okay |
| 11:58:51 | FromDiscord | <Yardanico> it might be simpler than #[ actually |
| 11:58:55 | FromDiscord | <Yardanico> since for #[ you need to handle closing and opening |
| 11:59:00 | FromDiscord | <Clyybber> yea |
| 12:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
| 12:06:38 | * | supakeen joined #nim |
| 12:07:23 | * | letto joined #nim |
| 12:08:26 | * | letto quit (Client Quit) |
| 12:09:35 | ForumUpdaterBot | New thread by Didlybom: Impressive results with --gc:orc, see https://forum.nim-lang.org/t/6951 |
| 12:09:55 | FromDiscord | <Yardanico> hehehe :) |
| 12:14:21 | * | krux02 joined #nim |
| 12:15:19 | FromDiscord | <Yardanico> sleek https://media.discordapp.net/attachments/371759389889003532/767360154848329748/unknown.png |
| 12:15:42 | FromDiscord | <Clyybber> whats that |
| 12:15:52 | FromDiscord | <Yardanico> the actual code for inserting comments |
| 12:15:59 | FromDiscord | <Clyybber> ah, I see |
| 12:16:04 | FromDiscord | <Yardanico> word wrapping needs # too since it splits lines into multiple |
| 12:16:09 | FromDiscord | <Clyybber> do we wantt to use ## or # ? |
| 12:16:11 | FromDiscord | <Yardanico> but there's a newLine string argument |
| 12:16:15 | FromDiscord | <Yardanico> @Clyybber i think # ? |
| 12:16:19 | FromDiscord | <Clyybber> yeah, probably |
| 12:16:25 | FromDiscord | <Clyybber> yeah definitely |
| 12:16:27 | FromDiscord | <Clyybber> :D |
| 12:16:56 | FromDiscord | <Clyybber> @Yardanico oh, I see what you mean, thats sleek indeed |
| 12:17:30 | FromDiscord | <haxscramper> Is there a way to explicitly tell `nim doc` the path of the `nimdoc.cfg` configuration file? |
| 12:18:25 | FromDiscord | <haxscramper> And in what order/which directories are searched for config by default? |
| 12:19:25 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767361185556332564/unknown.png |
| 12:38:46 | * | clyybber quit (Quit: WeeChat 2.9) |
| 13:06:03 | * | landerlo joined #nim |
| 13:06:14 | landerlo | j pr |
| 13:10:06 | * | letto joined #nim |
| 13:12:57 | * | fuab__ quit (Ping timeout: 260 seconds) |
| 13:13:35 | FromDiscord | <Rika> ? |
| 13:15:13 | * | fuab joined #nim |
| 13:16:03 | FromDiscord | <Yardanico> la la |
| 13:32:20 | * | fuab quit (Read error: Connection reset by peer) |
| 13:40:45 | FromGitter | <deech> The stdlib json lib doesn't seem to support exponents in numbers. Am I missing something? |
| 13:41:36 | FromGitter | <gogolxdong> How to copy data to a string by copyMem? |
| 13:42:45 | * | gmaggior joined #nim |
| 13:48:09 | FromGitter | <gogolxdong> ```var s2: string = $array[32,char] ⏎ copyMem(s2[0].addr, s1[0].addr, 32)``` [https://gitter.im/nim-lang/Nim?at=5f8c479861007f7d1b7bfc9c] |
| 13:48:25 | FromGitter | <gogolxdong> Does this count hacky? |
| 13:50:34 | * | kb2ma joined #nim |
| 13:53:34 | FromDiscord | <shashlick> Is the discord bot down |
| 13:54:33 | Yardanico | no |
| 13:54:53 | Yardanico | more and more people use discord |
| 13:55:03 | Yardanico | ah the fromgitter -> discord is not working for some reason |
| 13:55:31 | FromGitter | <Yardanico> 123 |
| 13:55:53 | FromDiscord | <shashlick> Ya I didn't see disruptek's message |
| 13:55:57 | FromDiscord | <Yardanico> ? |
| 13:56:00 | FromDiscord | <Yardanico> which one |
| 13:56:10 | FromDiscord | <shashlick> The one he pinged me |
| 13:56:28 | FromDiscord | <shashlick> It doesn't show up on discord or even irclogs.nim-lang.org |
| 13:56:36 | FromDiscord | <Yardanico> then he didn't :P |
| 13:57:17 | FromDiscord | <dom96> ^^ |
| 13:57:29 | FromDiscord | <Yardanico> irclogs is pretty reliable |
| 13:58:14 | FromDiscord | <Yardanico> @dom96 we will change it to simple split parsing, but then people with spaces in names won't be able to be pinged (this is their own fault to be honest) |
| 13:58:31 | FromDiscord | <dom96> yep |
| 13:58:43 | FromDiscord | <dom96> and tbh you shouldn't use split parsin |
| 13:58:47 | FromDiscord | <shashlick> Then FromGitter is down |
| 13:58:49 | FromDiscord | <dom96> because you will lose significant whitespace |
| 13:58:57 | FromDiscord | <Yardanico> yeah that is a problem |
| 13:59:04 | FromDiscord | <dom96> Just do what I suggested above 😉 |
| 13:59:14 | FromDiscord | <Yardanico> @shashlick yeah it seems like FromGitter -> Discord doesn't work for some reason |
| 13:59:18 | FromDiscord | <Clyybber> split parsing is fine |
| 13:59:30 | FromDiscord | <Clyybber> there is no solution for whitespace nicks |
| 13:59:32 | FromDiscord | <Yardanico> @Clyybber well the only bad thing I can think of is code snippets |
| 13:59:36 | FromDiscord | <Yardanico> but people usually use code pasting services :) |
| 13:59:41 | FromDiscord | <Yardanico> on IRC |
| 13:59:41 | FromDiscord | <dom96> split parsing is inefficient |
| 13:59:52 | FromDiscord | <shashlick> FromGitter -> IRC itself isn't working |
| 13:59:54 | FromDiscord | <Yardanico> @dom96 in an iterator? |
| 13:59:58 | FromDiscord | <Clyybber> its good enough |
| 13:59:58 | FromDiscord | <Yardanico> @shashlick it's working just fine |
| 14:00:07 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767386527579373569/unknown.png |
| 14:00:07 | FromGitter | <jrfondren> @deech it seems to. ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5f8c4a676c8d484be291765d] |
| 14:00:13 | FromDiscord | <Yardanico> but gitter -> irc -> discord isn't |
| 14:00:16 | FromDiscord | <dom96> !eval import strutils; echo("hello qw q".splitWhitespace()) |
| 14:00:19 | NimBot | @["hello", "qw", "q"] |
| 14:00:30 | FromDiscord | <Yardanico> yes |
| 14:00:33 | FromDiscord | <Yardanico> but is that really important? |
| 14:00:38 | FromDiscord | <dom96> You lose the whitespace |
| 14:00:59 | FromDiscord | <dom96> it's very bad if you will screw up my messages just for some nick rewrites |
| 14:01:57 | FromGitter | <deech> @jrfondren Interesting, so it does. I just didn't see it in the module itself so I guess Nim's native numbers support it. |
| 14:06:18 | disruptek | enthus1ast: nimph supports #head but it's a super bad idea. |
| 14:15:20 | * | kb2ma quit (Quit: kb2ma) |
| 14:21:00 | FromDiscord | <Yardanico> @dom96 if you have time - can you check which email does https://forum.nim-lang.org/profile/Jipok have? That person is asking me because he tried to send the reset password email, but it didn't arrive on his email |
| 14:21:15 | FromGitter | <Yardanico> 23 |
| 14:21:26 | Yardanico | not sure why fromgitter -> discord is broken hmm |
| 14:22:07 | FromDiscord | <Yardanico> ~restarting bridge~ |
| 14:22:08 | disbot | no footnotes for `restarting`. 🙁 |
| 14:22:12 | * | FromDiscord quit (Remote host closed the connection) |
| 14:22:31 | * | FromDiscord joined #nim |
| 14:23:18 | FromDiscord | <Clyybber> ~restarting is bridge |
| 14:23:18 | disbot | restarting: 11bridge |
| 14:23:41 | disruptek | ~clyybber is a knucklehead |
| 14:23:41 | disbot | clyybber: 11a knucklehead |
| 14:23:56 | FromDiscord | <Rika> lmao |
| 14:23:56 | FromDiscord | <Yardanico> weird |
| 14:23:58 | FromDiscord | <Yardanico> very weird |
| 14:24:07 | FromDiscord | <Yardanico> I explicitly disallow disbot to mention people |
| 14:24:11 | FromDiscord | <Yardanico> maybe it's not working correctly |
| 14:24:14 | FromDiscord | <Rika> thonk |
| 14:28:18 | FromGitter | <Yardanico> 123 |
| 14:29:14 | FromDiscord | <Yardanico> i guess the bridge will be kind of unstable for now, I need to check why FromGitter isn't getting pigned and some other stuff, so I'll run it on my computer |
| 14:29:20 | FromDiscord | <Yardanico> so I'll restart it a few times |
| 14:30:11 | * | FromDiscord quit (Remote host closed the connection) |
| 14:30:32 | * | FromDiscord joined #nim |
| 14:30:33 | Yardanico | 123 |
| 14:30:37 | FromGitter | <Yardanico> 123 |
| 14:31:26 | * | FromDiscord quit (Remote host closed the connection) |
| 14:31:53 | * | FromDiscord joined #nim |
| 14:32:17 | FromGitter | <Yardanico> 123 |
| 14:32:40 | * | FromDiscord quit (Remote host closed the connection) |
| 14:32:58 | * | FromDiscord joined #nim |
| 14:33:01 | FromGitter | <Yardanico> 123 |
| 14:33:11 | Yardanico | what the heck is ** |
| 14:33:22 | Yardanico | OHH |
| 14:33:25 | Yardanico | I get it hahhaha |
| 14:33:40 | Yardanico | my bridge converts irc -> markdown even for fromgitter lol |
| 14:33:45 | Yardanico | so the old parsing with scanf stopped working |
| 14:33:47 | disruptek | alehander92 has moved on to crystal. sad. |
| 14:33:56 | Yardanico | did he? |
| 14:34:01 | Yardanico | are you sure? |
| 14:34:02 | * | FromDiscord quit (Remote host closed the connection) |
| 14:34:03 | disruptek | yeah, he gave up on nim. |
| 14:34:23 | disruptek | said it's the lack of nil refs or something. |
| 14:34:23 | Yardanico | proof please, I don't believe :( |
| 14:34:31 | Yardanico | stop trolling |
| 14:34:47 | disruptek | me? |
| 14:35:10 | disruptek | !last alehander92 |
| 14:35:11 | disbot | alehander92 spoke in 12#nim 41 hours ago 12https://irclogs.nim-lang.org/16-10-2020.html#21:23:23 |
| 14:35:25 | disruptek | literally exactly what he said. |
| 14:35:43 | * | FromDiscord joined #nim |
| 14:35:47 | FromDiscord | <dom96> I'm writing some C++, guess I moved on to C++, sad. |
| 14:35:56 | Yardanico | he didn't say that disruptek |
| 14:36:37 | disruptek | wtf is he talking about top hn comments? |
| 14:36:42 | disruptek | i'm not on hn. |
| 14:37:08 | Yardanico | you wrote a hn comment |
| 14:37:14 | Yardanico | are you high again |
| 14:37:16 | FromGitter | <Yardanico> hello fellow discord and irc users |
| 14:37:28 | FromDiscord | <dom96> Yardanico, take a look at what your bot is writing lol |
| 14:37:33 | FromDiscord | <Yardanico> yes |
| 14:37:35 | FromDiscord | <Yardanico> it's not my fault ;) |
| 14:37:42 | FromDiscord | <dom96> It's not? |
| 14:37:54 | FromDiscord | <Yardanico> i don't think that you is a good nickname |
| 14:38:22 | FromDiscord | <Yardanico> and limiting nickname by min char amount is error-prone too, for example your nickname only has 5 chars |
| 14:38:31 | FromDiscord | <Rika> well maybe only allow ping before colon |
| 14:38:33 | FromDiscord | <Yardanico> no |
| 14:38:37 | FromDiscord | <Yardanico> one thing I need to change though: |
| 14:38:42 | Yardanico | github.com/Yardanico/test |
| 14:38:45 | Yardanico | :) |
| 14:41:22 | * | lbart quit (Read error: Connection reset by peer) |
| 14:41:35 | * | lbart joined #nim |
| 14:41:35 | * | lbart quit (Changing host) |
| 14:41:35 | * | lbart joined #nim |
| 14:42:07 | * | landerlo quit (Remote host closed the connection) |
| 14:43:16 | FromDiscord | <dom96> Traffic to nim-lang.org Friday vs 1 week before: +1167% 😄 |
| 14:43:20 | FromDiscord | <Yardanico> haha |
| 14:43:45 | * | madpata joined #nim |
| 14:43:59 | Oddmonger | ddos or 1.4 ? |
| 14:44:04 | Yardanico | 1.4 ddos |
| 14:44:24 | Oddmonger | band of orcs |
| 14:44:39 | FromDiscord | <dom96> 1.4 of course |
| 14:44:53 | FromDiscord | <dom96> DDoS' can't touch us |
| 14:46:50 | disruptek | we're on the trajectory to hit the tipping point in the next couple releases. |
| 14:47:09 | disruptek | will be nice to get some more talent into the compiler. |
| 14:48:23 | FromDiscord | <dom96> MAU/WAU/DAU for Choosenim from Sep 1 2017 https://media.discordapp.net/attachments/371759389889003532/767398676850802728/unknown.png |
| 14:48:53 | FromDiscord | <Yardanico> spikes are new releases? :) |
| 14:49:19 | FromDiscord | <dom96> Peak is on 28th February of this year |
| 14:49:38 | FromDiscord | <Rika> meekly, wearly, and donthly |
| 14:49:49 | disruptek | wearly indeed. |
| 14:49:51 | FromDiscord | <dom96> Which is suspiciously close to FOSDEM |
| 14:50:27 | * | FromDiscord quit (Remote host closed the connection) |
| 14:51:52 | disruptek | Verifying dependencies for [email protected] |
| 14:51:52 | disruptek | 675 |
| 14:52:21 | disruptek | Error: Unsatisfied dependency: nim (>= 1.4.0) |
| 14:52:21 | disruptek | 676 |
| 14:53:14 | * | NimBot joined #nim |
| 14:53:46 | Yardanico | disruptek: bridge down for now, pls wait :) |
| 14:54:35 | disruptek | but i must spew nimble contempt! |
| 14:55:08 | disruptek | oh, you know what it is? i need to rebase mangling to 1.4.0. this is nuts. |
| 14:57:51 | Zevv | ehmry: reorder your rules |
| 14:58:20 | Zevv | npeg does not optimize ordering, partly because I never implemented that, but also because it allows the user to choose and optimize |
| 14:58:39 | Zevv | you can configure inline restrictions also |
| 14:58:57 | Zevv | but any rules defined after a user of that rule are guarenteed not to be inlined |
| 15:02:35 | disruptek | zevv: it's time for a fresh video of bitline. |
| 15:03:39 | * | FromDiscord joined #nim |
| 15:04:25 | FromDiscord | <dom96> Interesting. Top referring websites over the past 4 years: HN (unsurprisingly, accounting for 26.56%), GitHub (10.9%), Reddit (7.35%), Twitter (4.89%), Nim Forum (3.19%), Wikipedia (2.40%), duckduckgo, narimiran.github.io, baidu, habrahabr.ru |
| 15:04:54 | Yardanico | Yardanico: yardanico yardanico @yardanico ping yardanico |
| 15:05:00 | Yardanico | huh |
| 15:05:03 | FromDiscord | <scott> lol |
| 15:05:08 | Yardanico | it shouldn't do that |
| 15:05:08 | disruptek | i was just thinking that. |
| 15:05:10 | FromDiscord | <scott> interesting to see duckduckgo on the list but no google |
| 15:05:48 | * | solitudesf joined #nim |
| 15:06:13 | FromDiscord | <scott> is there a way to set a breakpoint from within nim code? Like `debugger;` in JS or `pudb.set_trace()` in python? |
| 15:06:14 | Yardanico | ah right it will do that, yeah, the behaviour is right |
| 15:06:48 | FromGitter | <Yardanico> 123 |
| 15:07:45 | FromDiscord | <scott> sent a code paste, see https://play.nim-lang.org/#ix=2B9q |
| 15:07:59 | FromDiscord | <scott> (edit) "https://play.nim-lang.org/#ix=2B9q" => "https://play.nim-lang.org/#ix=2B9r" |
| 15:08:20 | FromDiscord | <dom96> Google probably is counted differently by Analytics |
| 15:08:27 | FromDiscord | <scott> ah that makes sense |
| 15:08:37 | FromDiscord | <Yardanico> @scott nim keywords need to be "escaped" |
| 15:08:43 | FromDiscord | <scott> oh I see |
| 15:08:52 | FromDiscord | <Yardanico> but range isn't actually a nim keywor |
| 15:08:53 | FromDiscord | <Yardanico> (edit) "keywor" => "keyword" |
| 15:09:20 | * | FromDiscord quit (Remote host closed the connection) |
| 15:09:39 | * | FromDiscord joined #nim |
| 15:09:40 | FromGitter | <Yardanico> 123 |
| 15:09:55 | disruptek | who here understands the changes to genericAssign? |
| 15:10:07 | FromDiscord | <Vindaar> it's possible the author did that, because they thought it was based on different syntax highlighting. nim-mode in emacs highlights some words commonly used in the stdlib, despite them not being keywords |
| 15:10:31 | FromDiscord | <Yardanico> same for standard nim plugin in vscode |
| 15:10:51 | * | FromDiscord quit (Remote host closed the connection) |
| 15:11:09 | * | FromDiscord joined #nim |
| 15:11:17 | FromGitter | <Yardanico> haloooooooo |
| 15:11:27 | * | FromDiscord quit (Remote host closed the connection) |
| 15:11:44 | * | FromDiscord joined #nim |
| 15:11:49 | FromDiscord | <scott> sent a code paste, see https://play.nim-lang.org/#ix=2B9u |
| 15:11:54 | FromDiscord | <Yardanico> you can |
| 15:12:09 | FromGitter | <Yardanico> hallllolooooooooo |
| 15:15:39 | * | FromDiscord quit (Remote host closed the connection) |
| 15:15:59 | * | FromDiscord joined #nim |
| 15:16:02 | FromGitter | <Yardanico> 12313 |
| 15:17:02 | FromDiscord | <scott> Is there any documentation for how to debug using LLDB or GDB? I can't seem to set a breakpoint |
| 15:17:12 | FromDiscord | <Yardanico> compile with --debugger:native |
| 15:17:18 | FromDiscord | <scott> aahhh |
| 15:17:20 | FromDiscord | <scott> thanks |
| 15:17:49 | * | FromDiscord quit (Remote host closed the connection) |
| 15:18:14 | * | FromDiscord joined #nim |
| 15:18:19 | FromGitter | <Yardanico> finally hallo from gitter??!?!? |
| 15:18:39 | * | FromDiscord quit (Remote host closed the connection) |
| 15:18:48 | * | Q-Master quit (Ping timeout: 260 seconds) |
| 15:18:54 | * | FromDiscord joined #nim |
| 15:19:01 | FromGitter | <Yardanico> one more try ;( |
| 15:23:28 | * | FromDiscord quit (Remote host closed the connection) |
| 15:23:41 | * | Q-Master joined #nim |
| 15:23:48 | * | FromDiscord joined #nim |
| 15:23:50 | FromGitter | <Yardanico> please work |
| 15:23:51 | * | FromDiscord quit (Remote host closed the connection) |
| 15:24:59 | Zevv | disruptek: sure |
| 15:25:02 | Zevv | will do |
| 15:25:40 | Zevv | although I now entered the part of the project where apparent progress is decreasing |
| 15:25:47 | Zevv | with more work pouring in |
| 15:25:54 | disruptek | good. |
| 15:26:04 | Zevv | and of course I found a project that does all of this already |
| 15:26:06 | * | FromDiscord joined #nim |
| 15:26:09 | FromGitter | <Yardanico> testing testing 123 |
| 15:26:10 | * | FromDiscord quit (Remote host closed the connection) |
| 15:26:16 | Zevv | although its more of a complex ecosystem, which kind is not what Im looking for |
| 15:26:22 | disruptek | link? |
| 15:26:26 | Zevv | Yardanico: nope, not working |
| 15:27:17 | Zevv | disruptek: https://github.com/wolfpld/tracy |
| 15:28:07 | * | arecacea1 quit (Remote host closed the connection) |
| 15:28:44 | * | arecacea1 joined #nim |
| 15:28:46 | disruptek | wow. |
| 15:29:32 | Yardanico | eh, found a bug in ircord :( |
| 15:29:36 | Yardanico | sorry i mean strscans |
| 15:29:43 | * | FromDiscord joined #nim |
| 15:29:46 | Yardanico | found a bug in strscans :( |
| 15:29:59 | Yardanico | miran fixed previous one but maybe it introduced this one |
| 15:30:51 | Yardanico | ah well it's not exactly a bug |
| 15:32:03 | * | FromDiscord quit (Remote host closed the connection) |
| 15:32:43 | * | FromDiscord joined #nim |
| 15:32:47 | FromGitter | <Yardanico> I swear if this doesn't work ikriekrtikewotgjtge |
| 15:32:52 | FromDiscord | <Yardanico> finally |
| 15:33:23 | Yardanico | Yardanico: yardanico yardanico yardanico ping yardanico |
| 15:33:28 | Yardanico | ping clyybber |
| 15:33:33 | Yardanico | Yardanico: hi |
| 15:33:42 | Yardanico | random yardanico mention without @ |
| 15:33:48 | Yardanico | but with @yardanico |
| 15:33:51 | Yardanico | oops |
| 15:34:53 | voidpi | Yardanico IS HAVING A NIL POINTER EXCEPTION |
| 15:35:46 | FromDiscord | <Rika> nil[] |
| 15:37:26 | * | Vladar quit (Quit: Leaving) |
| 15:37:33 | * | FromDiscord quit (Remote host closed the connection) |
| 15:37:53 | * | FromDiscord joined #nim |
| 15:38:00 | Yardanico | hello who is this @rika |
| 15:38:03 | Yardanico | why? |
| 15:38:05 | FromDiscord | <Yardanico> 123 |
| 15:38:07 | Yardanico | hello @rika |
| 15:38:18 | Yardanico | Rika: hello |
| 15:38:20 | Yardanico | ping @rika |
| 15:38:24 | Yardanico | why first one didn't work ffs |
| 15:38:24 | disruptek | don't you have a #nim-test for this? |
| 15:38:29 | Yardanico | disruptek: yeah for this I do |
| 15:38:30 | Yardanico | sorry |
| 15:38:36 | Yardanico | not for gitter though which I fixed |
| 15:38:40 | * | FromDiscord quit (Remote host closed the connection) |
| 15:39:10 | * | FromDiscord joined #nim |
| 15:39:12 | disruptek | it's just that i get pinged whenever i see RIKA. |
| 15:39:18 | Yardanico | WHY |
| 15:39:25 | disruptek | why what? |
| 15:39:25 | FromDiscord | <Recruit_main707> xD |
| 15:40:02 | Yardanico | disruptek: why do you eat it |
| 15:40:17 | disruptek | this gut don't grow itself. |
| 15:41:00 | FromDiscord | <Yardanico> i'm gonna set min char limit for nicknames at 4 currently |
| 15:41:09 | FromDiscord | <Yardanico> because of @YOU |
| 15:41:15 | Yardanico | we have a discord member with that name |
| 15:41:56 | voidpi | so for crap outside irc |
| 15:42:04 | Yardanico | ? |
| 15:42:29 | voidpi | what you just said, the limit |
| 15:42:42 | Yardanico | well, you can have a 3-char nickname "you" on IRC as well |
| 15:42:50 | Yardanico | not sure what's your argument about that exact issue |
| 15:42:58 | voidpi | it's a non issue |
| 15:43:11 | * | disruptek is now known as goatlicker |
| 15:43:32 | FromDiscord | <Recruit_main707> forum and github events wont ping ppl right? |
| 15:43:40 | voidpi | goatlicker: how about bootlicker? |
| 15:44:11 | Yardanico | Recruit_main707: no |
| 15:44:14 | Yardanico | we can chec |
| 15:44:14 | Yardanico | k |
| 15:44:20 | goatlicker | that wouldn't make any sense. |
| 15:44:23 | Yardanico | goatlicker: it will |
| 15:44:29 | Yardanico | I mean it *can* make sense |
| 15:44:34 | Yardanico | ~disbot |
| 15:44:35 | disbot | disbot: 11a bot that will message you usage instructions if you say `~help`. if you're on discord or gitter, you're shit outta luck -- get a real client. |
| 15:44:39 | Yardanico | hahaha |
| 15:44:46 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767412864318308412/unknown.png |
| 15:45:47 | FromDiscord | <Yardanico> oh I see why |
| 15:45:55 | FromDiscord | <Yardanico> at this point in the bridge the nickname is already disbot[IRC] |
| 15:47:15 | leorize[m] | ```source/Nim/compiler/nim.nim(80, 30) Error: type mismatch: got <proc (conf: ConfigRef, info: TLineInfo, msg: string, severity: Severity){.locks: <unknown>.}> but expected 'proc (config: ConfigRef, info: TLineInfo, msg: string, severity: Severity){.closure, gcsafe.}'``` |
| 15:47:27 | Yardanico | closure |
| 15:47:31 | Yardanico | nimcall vs closure |
| 15:47:48 | Yardanico | annotate your proc with {.closure.}, nim doesn't always automatically promote nimcalls to closures iirc |
| 15:48:27 | leorize[m] | that's definitely not the issue :) |
| 15:48:32 | Yardanico | are you sure? |
| 15:48:49 | leorize[m] | https://github.com/nim-lang/Nim/pull/15610/commits/35070480852fe68eac54f5de261656919328eefc <- that's the commit that caused the issue |
| 15:48:50 | disbot | ➥ compiler: add annotations support for CI |
| 15:48:55 | leorize[m] | revert that and everything works |
| 15:48:57 | FromDiscord | <Recruit_main707> bruh, this guy is gonna have a thousand pings by the end of the day |
| 15:49:04 | goatlicker | you think? |
| 15:49:22 | goatlicker | leorize[m]: i do custom error handling in dust. |
| 15:49:45 | leorize[m] | also you can't tag top-level procedure as closure |
| 15:50:05 | Yardanico | there's a way to do that |
| 15:50:15 | goatlicker | anyway, that's not the issue. |
| 15:50:23 | Yardanico | let myproc = proc () {.closure.} = echo "hi" |
| 15:50:30 | * | goatlicker is now known as asd |
| 15:50:32 | Yardanico | see, "top level" closure proc :)) |
| 15:50:35 | leorize[m] | eww |
| 15:51:29 | leorize[m] | disruptek: what's your wisdom? |
| 15:52:11 | asd | well, i had some similar issues but looking at the current code, my use is trivial, as is yours. |
| 15:52:21 | Yardanico | asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd |
| 15:52:23 | asd | i do use a closure, though. |
| 15:52:39 | * | asd is now known as disruptek |
| 15:53:21 | FromDiscord | <Avatarfighter> Rip the guy named « you » in discord |
| 15:53:38 | Yardanico | who are @you ? |
| 15:53:43 | Yardanico | who are ping you |
| 15:53:51 | Yardanico | ok enough i'll make 4 char limit |
| 15:53:53 | Yardanico | and restrict disbot |
| 15:53:55 | Yardanico | ~disbot |
| 15:53:55 | disbot | disbot: 11a bot that will message you usage instructions if you say `~help`. if you're on discord or gitter, you're shit outta luck -- get a real client. |
| 15:54:00 | FromDiscord | <Avatarfighter> LOL |
| 15:54:01 | FromDiscord | <Avatarfighter> dude |
| 15:54:04 | FromDiscord | <Recruit_main707> new challenger arrives, ll |
| 15:54:07 | FromDiscord | <Avatarfighter> LL is also a person |
| 15:54:14 | leorize[m] | I figured out the issue |
| 15:54:16 | leorize[m] | it's `{.gcsafe.}` |
| 15:54:17 | FromDiscord | <Avatarfighter> YOU#5040 and ll#4192 |
| 15:54:29 | Yardanico | it shouldn't P<i>ng ll though |
| 15:54:30 | disruptek | so dumb. |
| 15:54:31 | Yardanico | but it does |
| 15:54:33 | Yardanico | ah because old version yes |
| 15:55:06 | leorize[m] | gcsafe non-compilance error is so cryptic |
| 15:55:22 | FromDiscord | <Avatarfighter> https://media.discordapp.net/attachments/371759389889003532/767415528590409728/image0.png https://media.discordapp.net/attachments/371759389889003532/767415528855306250/image1.png |
| 15:55:37 | disruptek | also so useless. |
| 15:55:58 | FromDiscord | <Avatarfighter> Disruptek how goes mangling |
| 15:56:05 | FromDiscord | <Avatarfighter> the usual? |
| 15:56:26 | disruptek | trying to debug a memory issue in norm. |
| 15:56:32 | Yardanico | ~bridge stopping~ |
| 15:56:33 | disbot | no footnotes for `bridge`. 🙁 |
| 15:56:39 | * | FromDiscord quit (Remote host closed the connection) |
| 15:57:25 | disruptek | weird thing is, i solved this once. |
| 15:57:31 | * | FromDiscord joined #nim |
| 15:57:37 | Yardanico | bridge up |
| 15:57:40 | Yardanico | hello ll |
| 15:57:51 | Yardanico | It won't pOng you anymore |
| 15:57:52 | FromDiscord | <Avatarfighter> Ello |
| 15:57:56 | Yardanico | with "ping" it will |
| 15:58:01 | Yardanico | ~disbot |
| 15:58:01 | disbot | disbot: 11a bot that will message you usage instructions if you say `~help`. if you're on discord or gitter, you're shit outta luck -- get a real client. |
| 15:58:03 | * | theelous3 joined #nim |
| 15:58:08 | Yardanico | avatarfighter: who are you? |
| 15:58:12 | Yardanico | ping avatarfighter |
| 15:58:13 | FromDiscord | <Avatarfighter> what |
| 15:58:31 | FromDiscord | <Avatarfighter> it pings without the word ping dunno if that’s intentional |
| 15:58:41 | Yardanico | i'm testing see bold irc to markdown conversion |
| 15:58:44 | FromDiscord | <Yardanico> almost |
| 15:58:46 | FromDiscord | <Yardanico> :) |
| 15:58:50 | FromDiscord | <Avatarfighter> yooo |
| 15:58:54 | Prestige | Cool stuff tho |
| 15:58:59 | FromDiscord | <Yardanico> I still haven't got it right |
| 15:59:04 | FromDiscord | <Yardanico> but it works for simple cases |
| 15:59:06 | FromDiscord | <Yardanico> like for disbot |
| 15:59:07 | FromDiscord | <Avatarfighter> @Yardanico you should make it ping if you put a colon after a discord name |
| 15:59:08 | FromDiscord | <Vindaar> I'm really to inform all of you, but. Yard is really losing it slowly 😢 |
| 15:59:14 | FromDiscord | <Yardanico> @Avatarfighter I already have that |
| 15:59:20 | FromDiscord | <Avatarfighter> @Yardanico ok why didnt it work |
| 15:59:21 | FromDiscord | <Vindaar> sad |
| 15:59:21 | FromDiscord | <Clyybber> he is, I fucked up ircord |
| 15:59:24 | FromDiscord | <Yardanico> @Avatarfighter it did |
| 15:59:28 | FromDiscord | <Clyybber> and he's living in the aftermath |
| 15:59:41 | FromDiscord | <Yardanico> @Clyybber check out my ugly manual parsing for mentions ;) |
| 15:59:46 | FromDiscord | <Clyybber> will do |
| 15:59:48 | FromDiscord | <Avatarfighter> how did ll get pinged if there wasnt a colon 🤔 |
| 16:00:03 | FromDiscord | <Yardanico> @Avatarfighter "ping X" or "ping @X" or "@X" also ping |
| 16:00:04 | Prestige | does is do username or by nick? I'll try Prestige: test |
| 16:00:13 | Yardanico | colon syntax is only for start |
| 16:00:17 | Yardanico | of the str |
| 16:00:21 | Prestige | Prestige: test |
| 16:00:26 | Prestige | Avahe: Test? |
| 16:00:27 | FromDiscord | <Avatarfighter> rip |
| 16:00:31 | Prestige | ah that worked |
| 16:00:31 | Yardanico | lemme change that |
| 16:00:36 | Yardanico | it's better if it's display name |
| 16:00:41 | Yardanico | so people can change it on the server |
| 16:00:55 | FromDiscord | <Avatarfighter> Does this go off of the nick of a person or their discord tag? |
| 16:01:01 | Prestige | very appreciated |
| 16:01:46 | Yardanico | oh it's quite differen |
| 16:01:54 | Yardanico | dimscord caches users but not members |
| 16:02:01 | Yardanico | users are just discord users, members are users in the guild |
| 16:02:09 | Yardanico | and users don't have display name while members do |
| 16:02:13 | Yardanico | lemme check if I can get members from users |
| 16:03:32 | FromDiscord | <Yardanico> @krisppurg if you're around - is there a way to replace "discord.shards[0].cache.users" with something else to get members instead of users (for display name)? |
| 16:03:33 | FromDiscord | <Clyybber> yep, thats ugly |
| 16:03:41 | FromDiscord | <Clyybber> why do you manually skip ping? |
| 16:03:41 | FromDiscord | <Yardanico> @Clyybber but it's manual parsing |
| 16:03:49 | FromDiscord | <Clyybber> yeah, it is |
| 16:03:50 | FromDiscord | <Yardanico> because how would I do it otherwise? :P |
| 16:04:00 | FromDiscord | <Clyybber> looks like what I did for map parsing in my game |
| 16:04:07 | FromDiscord | <Yardanico> pls pr if you see any improvements |
| 16:04:10 | FromDiscord | <Clyybber> manual full of blocks breaks and uglyness |
| 16:04:19 | FromDiscord | <Yardanico> but MANUAL |
| 16:04:31 | FromDiscord | <Clyybber> true |
| 16:04:59 | FromDiscord | <Yardanico> also yes markdown translates to irc_ @Avatarfighter |
| 16:05:04 | FromDiscord | <Clyybber> ~HA~ is test |
| 16:05:05 | disbot | HA~: 11test |
| 16:05:17 | FromDiscord | <Yardanico> lol |
| 16:05:18 | FromDiscord | <Clyybber> not sure what I tried |
| 16:05:20 | FromDiscord | <Clyybber> ~clyybber |
| 16:05:21 | disbot | clyybber: 11a knucklehead |
| 16:05:29 | FromDiscord | <Clyybber> ok, disbot doesn't ping, thats fair |
| 16:05:29 | Prestige | lol |
| 16:05:42 | Yardanico | clyybber: a knucklehead |
| 16:05:46 | FromDiscord | <Yardanico> bold |
| 16:06:11 | disruptek | ping @knucklehead |
| 16:06:15 | FromDiscord | <Yardanico> i'm a bit tired of working on ircord today :P |
| 16:06:20 | disruptek | how many of you did that ping? |
| 16:06:21 | FromDiscord | <Yardanico> this text parsing |
| 16:06:23 | FromDiscord | <Yardanico> 0 |
| 16:06:31 | FromDiscord | <Clyybber> 1366 |
| 16:06:34 | FromDiscord | <Yardanico> npeg is easier |
| 16:06:41 | FromDiscord | <Clyybber> lets revert to npeg :P |
| 16:07:00 | FromDiscord | <Clyybber> then people can ping you and all that jazz |
| 16:07:06 | FromDiscord | <Clyybber> You as in "You" |
| 16:07:08 | Yardanico | let's just make it simpler like currently |
| 16:07:13 | FromDiscord | <dom96> got a link to the code? |
| 16:07:20 | FromDiscord | <Yardanico> pls don't read it |
| 16:07:23 | FromDiscord | <dom96> lol |
| 16:07:32 | FromDiscord | <Yardanico> but it's fully _manual_ parsing |
| 16:07:37 | FromDiscord | <Yardanico> with parseutils |
| 16:07:39 | FromDiscord | <Clyybber> https://github.com/Yardanico/ircord/blob/master/src/utils.nim#L312 |
| 16:09:00 | FromDiscord | <dom96> Why are you skipping "ping"? |
| 16:09:18 | FromDiscord | <Yardanico> because I want "ping X" to work |
| 16:09:20 | FromDiscord | <Yardanico> or "ping @X" |
| 16:09:30 | FromDiscord | <Yardanico> and this iterator only yields possible nicknames, not all words |
| 16:09:39 | FromDiscord | <Clyybber> oh, wait did you revert to only at start? |
| 16:09:40 | FromDiscord | <Yardanico> the comment is outdated |
| 16:09:42 | FromDiscord | <Yardanico> @Clyybber yes |
| 16:09:46 | FromDiscord | <Yardanico> not for ping |
| 16:09:58 | FromDiscord | <dom96> Ahh, so you want any word after "ping" to be considered a mention |
| 16:10:21 | FromDiscord | <dom96> The way you're parsing this is definitely not ideal |
| 16:10:30 | FromDiscord | <Yardanico> well, what way would be better? |
| 16:10:39 | FromDiscord | <Yardanico> especially for ping |
| 16:11:06 | FromDiscord | <Yardanico> looks at npeg |
| 16:11:08 | * | clyybber joined #nim |
| 16:11:16 | clyybber | clyybber, clyybber: test |
| 16:11:21 | FromDiscord | <Avatarfighter> Are you pinging of the discord tag? |
| 16:11:22 | FromDiscord | <Clyybber> doesn't work |
| 16:11:28 | Yardanico | it shouldn't |
| 16:11:30 | FromDiscord | <Clyybber> literally unplayable |
| 16:11:38 | FromDiscord | <Avatarfighter> what is someone has this name Ali Furkan#6666 |
| 16:11:40 | clyybber | clyybber: listen here |
| 16:11:44 | FromDiscord | <Avatarfighter> and someone else has ali |
| 16:11:47 | FromDiscord | <Yardanico> @Avatarfighter they're out of luck |
| 16:11:51 | FromDiscord | <Yardanico> you can't ping with spaces anyway |
| 16:11:53 | clyybber | clyybber, Avatarfighter: test |
| 16:11:58 | FromDiscord | <Yardanico> and it would be stupid to add that |
| 16:12:01 | FromDiscord | <Avatarfighter> why |
| 16:12:03 | FromDiscord | <Clyybber> multiping should work |
| 16:12:08 | FromDiscord | <Yardanico> with ", "? |
| 16:12:09 | * | mipri left #nim (#nim) |
| 16:12:10 | FromDiscord | <Avatarfighter> some people have tags with spaces |
| 16:12:11 | FromDiscord | <Yardanico> I don't think anyone ever used it |
| 16:12:14 | FromDiscord | <Yardanico> @Avatarfighter their fault |
| 16:12:19 | FromDiscord | <Avatarfighter> lmao |
| 16:12:20 | FromDiscord | <Yardanico> they can rename on the server and I'll support that |
| 16:12:32 | FromDiscord | <Yardanico> need to change it in ircord |
| 16:12:39 | FromDiscord | <Clyybber> @Yardanico with ' ' and ',' and ', ' and ' , ' and so on |
| 16:12:40 | FromDiscord | <Avatarfighter> :nimAngry: |
| 16:12:41 | FromDiscord | <dom96> multiping should definitely work |
| 16:12:42 | FromDiscord | <Yardanico> but why |
| 16:12:45 | FromDiscord | <Yardanico> @dom96 it does |
| 16:12:46 | FromDiscord | <Clyybber> aka, lets npeg |
| 16:12:47 | FromDiscord | <Yardanico> just not with : |
| 16:12:51 | FromDiscord | <Yardanico> at the start |
| 16:12:54 | clyybber | clyybber clyybber |
| 16:13:00 | FromDiscord | <dom96> but why |
| 16:13:00 | Yardanico | yes that's a bug :) |
| 16:13:07 | FromDiscord | <Avatarfighter> feature |
| 16:13:09 | FromDiscord | <Yardanico> @dom96 my reasoning is that no one uses that |
| 16:13:18 | FromDiscord | <Yardanico> "A, B: hello" |
| 16:13:19 | FromDiscord | <Yardanico> in IRC |
| 16:13:21 | FromDiscord | <dom96> let me see if I can improve this code quickly |
| 16:13:22 | FromDiscord | <Avatarfighter> yard did u report the funny forum bug you found |
| 16:13:29 | FromDiscord | <Yardanico> ? |
| 16:13:31 | FromDiscord | <Yardanico> ah |
| 16:13:35 | FromDiscord | <Yardanico> it's not even a bug probably |
| 16:13:47 | FromDiscord | <Avatarfighter> my bad, the « feature » you found |
| 16:13:50 | FromDiscord | <Yardanico> @dom96 if you're a moderator, you can set other people as moderators as well |
| 16:13:53 | FromDiscord | <Yardanico> on the forum |
| 16:13:56 | FromDiscord | <Yardanico> idk if it's a feature or not |
| 16:14:05 | Prestige | I wish we had a way to tab complete discord names in IRC |
| 16:14:15 | Yardanico | it's not possible unless freenode makes a network-wide bridge somehow |
| 16:14:25 | FromDiscord | <dom96> meh, not really a bug |
| 16:14:31 | FromDiscord | <Avatarfighter> really? |
| 16:14:38 | Prestige | Or if we made a plugin for our irc client and did something crazy |
| 16:14:46 | Yardanico | not anything crazy |
| 16:14:49 | Prestige | OR... everyone just comes to irc |
| 16:14:50 | Yardanico | just download member list |
| 16:15:00 | FromDiscord | <dom96> so why do you not have access to all the nicks in a particular server? |
| 16:15:05 | FromDiscord | <Avatarfighter> Prestige: just come to discord smh |
| 16:15:08 | Prestige | haha |
| 16:15:12 | FromDiscord | <dom96> Does Discord not give this info? |
| 16:15:18 | FromDiscord | <Avatarfighter> it does |
| 16:15:23 | FromDiscord | <Yardanico> @dom96 I do, but if we check each word we'll get many false positives |
| 16:15:35 | FromDiscord | <Yardanico> since a lot of people have "common" nicknames like you |
| 16:15:46 | FromDiscord | <Yardanico> so I restrict it to @ or "ping X" or "X:" |
| 16:16:03 | FromDiscord | <Yardanico> we even have an user with the display name "admin" on the server |
| 16:16:13 | FromDiscord | <Clyybber> DID you know. that npeg compiles to similar code |
| 16:16:24 | FromDiscord | <Yardanico> yass |
| 16:16:25 | FromDiscord | <Avatarfighter> that doesnt work with display names with spaces in them 😦 |
| 16:16:27 | FromDiscord | <Clyybber> so you don't have to see the shitcode |
| 16:16:33 | FromDiscord | <Yardanico> @Clyybber maybe I can simplify your npeg |
| 16:16:35 | FromDiscord | <Yardanico> stuff |
| 16:16:40 | FromDiscord | <Clyybber> its quite simple |
| 16:16:50 | FromDiscord | <Yardanico> leadingMentions maybe can be simplified |
| 16:17:06 | FromDiscord | <Clyybber> its just the non-greedy |
| 16:17:11 | FromDiscord | <Clyybber> thats a bit "complex" |
| 16:17:21 | FromDiscord | <dom96> @Yardanico I have a common nickname? |
| 16:17:23 | FromDiscord | <Avatarfighter> if i use a specific string multiple times in a proc does that get optimized into a single constant string that is passed to my procs? |
| 16:17:32 | FromDiscord | <dom96> oh, you mean "You" |
| 16:18:24 | FromDiscord | <Clyybber> alternatively, if possible we could ping by nick and make the bot rename people with names too short |
| 16:18:54 | FromDiscord | <dom96> but you know, I think it's fair to mention these "common" nicks |
| 16:18:56 | FromDiscord | <dom96> screw it |
| 16:18:59 | FromDiscord | <Avatarfighter> lmao |
| 16:19:11 | FromDiscord | <dom96> I guess you can filter out "you" and some of the ones that crop up |
| 16:19:16 | FromDiscord | <Avatarfighter> just ban the people with common nicks smh |
| 16:19:19 | FromDiscord | <dom96> since that would highlight literally every word in ever message |
| 16:19:34 | FromDiscord | <Yardanico> or just ask people to rename |
| 16:19:35 | FromDiscord | <dom96> but stop making this code complex because of these silly people |
| 16:19:36 | FromDiscord | <Yardanico> and use display names |
| 16:19:44 | FromDiscord | <dom96> just blacklist their nicknames if you have to |
| 16:19:52 | FromDiscord | <Yardanico> admins can rename people on servers |
| 16:20:08 | FromDiscord | <dom96> That way you can very easily do these highlights |
| 16:21:04 | leorize[m] | do you know that we have someone with the nick literal on irc? :p |
| 16:21:20 | FromDiscord | <Yardanico> possibleMentions = msg.split(Whitespace + {':', '@'}) |
| 16:21:20 | FromDiscord | <Rika> that is unfortunate |
| 16:21:24 | FromDiscord | <Yardanico> then this? |
| 16:21:33 | FromDiscord | <Yardanico> and then just check if a user like that exists on a server to add ping |
| 16:23:31 | * | waleee-cl joined #nim |
| 16:24:46 | FromDiscord | <Clyybber> @Yardanico also ', |
| 16:24:55 | FromDiscord | <Yardanico> okay |
| 16:25:32 | FromDiscord | <Clyybber> and then maybe go through possible mentions and discard all thats < 4 chars |
| 16:25:46 | FromDiscord | <Clyybber> oh, its an iterator anyways, so just do it live |
| 16:26:30 | FromDiscord | <Rika> i have five pings but no channels unread wtf discord |
| 16:26:34 | FromDiscord | <Clyybber> hmm, actually. We should still allow < 4 chars if prefixed with `@` |
| 16:26:42 | FromDiscord | <Yardanico> @Clyybber let's not |
| 16:26:43 | FromDiscord | <Yardanico> :) |
| 16:26:46 | FromDiscord | <Clyybber> why? |
| 16:26:54 | FromDiscord | <Yardanico> again too much complication |
| 16:26:57 | FromDiscord | <Clyybber> its simple |
| 16:26:59 | FromDiscord | <Yardanico> no |
| 16:27:00 | FromDiscord | <Clyybber> let me make a PR |
| 16:27:02 | FromDiscord | <Yardanico> we split by @ |
| 16:27:06 | FromDiscord | <Clyybber> no problem |
| 16:27:12 | FromDiscord | <Yardanico> ah I guess you can not split and check @ |
| 16:27:12 | FromDiscord | <Yardanico> yeah |
| 16:27:16 | FromDiscord | <Clyybber> nah nah |
| 16:27:16 | FromDiscord | <Clyybber> not that |
| 16:27:21 | FromDiscord | <Clyybber> simpler |
| 16:27:30 | FromDiscord | <Yardanico> rrooooooooo |
| 16:27:52 | FromDiscord | <Clyybber> should I remove the manual parsing code or do you want to keep it around? |
| 16:27:58 | FromDiscord | <Yardanico> I already removed |
| 16:28:01 | FromDiscord | <Yardanico> I made commits already |
| 16:28:02 | FromDiscord | <Clyybber> ah k |
| 16:30:01 | FromDiscord | <Yardanico> get your hacktoberfest t shirt or a tree in 2 weeks |
| 16:30:50 | disruptek | gimme the tree. |
| 16:31:01 | FromDiscord | <Clyybber> this |
| 16:31:07 | Yardanico | disruptek: they don't give it to you :( |
| 16:31:11 | FromDiscord | <Yardanico> they plant it |
| 16:31:15 | disruptek | wut |
| 16:31:23 | Yardanico | yes |
| 16:31:26 | disruptek | i don't need help planting my wood. |
| 16:31:29 | FromDiscord | <Clyybber> https://github.com/Yardanico/ircord/pull/7 |
| 16:31:29 | disbot | ➥ Support explicit ping for short usernames |
| 16:32:01 | FromDiscord | <Yardanico> oh h |
| 16:32:24 | ForumUpdaterBot | New thread by Slobin: 1.4.0 failed with old-ish gcc because of NIM_STATIC_ASSERT bug, see https://forum.nim-lang.org/t/6952 |
| 16:34:28 | disruptek | you guys are nuts with this discord shit. |
| 16:34:40 | Yardanico | disruptek: FIIIIIIIIIWEKKKKR<<<<<< TYKLTK?? |
| 16:34:56 | disruptek | :disruptek: |
| 16:35:00 | Yardanico | no work :( |
| 16:35:01 | Yardanico | need discord |
| 16:35:04 | Yardanico | btw you have discord account |
| 16:35:06 | Yardanico | yes |
| 16:35:14 | disruptek | what? |
| 16:35:18 | Yardanico | yes |
| 16:35:20 | disruptek | yes |
| 16:35:21 | FromDiscord | <Yardanico> you do |
| 16:35:29 | disruptek | you: ping |
| 16:35:53 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767425728114458654/unknown.png |
| 16:36:11 | * | FromDiscord quit (Remote host closed the connection) |
| 16:36:24 | disruptek | what is that? |
| 16:36:38 | Yardanico | you? |
| 16:36:40 | * | FromDiscord joined #nim |
| 16:36:44 | Yardanico | fd'; |
| 16:36:50 | Yardanico | yardanico hi |
| 16:36:54 | Yardanico | vindaar hi |
| 16:37:00 | Yardanico | you hi |
| 16:37:00 | FromDiscord | <Vindaar> oh hi it works |
| 16:37:00 | disruptek | you you @you ping ping you ping you :you ping :ping you: ping ping you: |
| 16:37:04 | Yardanico | no |
| 16:37:05 | Yardanico | 4 char limit disruptek |
| 16:37:16 | Yardanico | actually |
| 16:37:18 | Yardanico | it should work |
| 16:37:40 | FromDiscord | <Recruit_main707> oh, disruptek joined right before Hytak? |
| 16:37:49 | FromDiscord | <Vindaar> hytak? |
| 16:37:56 | Yardanico | hytak ? |
| 16:38:10 | FromDiscord | <Recruit_main707> after, i know him from another server |
| 16:38:33 | disruptek | ping you hytak @hytak you ping ping: hytak :hytak @hytak: ping hytak: ping you @you ping you hytak: :hytak: ping you hytak: |
| 16:38:50 | * | lbart quit (Read error: No route to host) |
| 16:38:58 | FromDiscord | <Vindaar> today is a bizarre day |
| 16:39:03 | * | lbart joined #nim |
| 16:39:03 | * | lbart quit (Changing host) |
| 16:39:03 | * | lbart joined #nim |
| 16:40:28 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/767426882533851156/unknown.png |
| 16:40:50 | Yardanico | ping disruptek @disruptek disruptek ping ping ping disruptek @disruptek disruptek ping ping ping disruptek @disruptek disruptek ping ping |
| 16:43:35 | FromDiscord | <Hytak> What |
| 16:43:39 | disruptek | lol |
| 16:43:48 | disruptek | i was just thinking about you. |
| 16:45:29 | FromDiscord | <Hytak> @Recruit_main707 why did i get pinged? |
| 16:48:14 | FromDiscord | <Vindaar> > What↵thanks for showing me I'm not alon |
| 16:48:17 | FromDiscord | <Vindaar> e |
| 16:48:24 | FromDiscord | <Recruit_main707> disruptek's humor |
| 16:49:11 | FromDiscord | <Recruit_main707> they ve been messing around with irc to discord pings |
| 16:49:53 | FromDiscord | <Yardanico> :nimRawr::nimMono::nimGlow2::nimGlow::nimDog::nimble3::nimble2::nimble::nimAngry::nim3::nim2::nim1::disruptek: |
| 16:50:05 | disruptek | clyybber: you busy? |
| 16:57:46 | disruptek | shashlick: i was pinging you because of some misbehavior with nimble localdeps; i dunno if you will consider it a bug, but i had a nim.cfg with --clearNimblePath above my project and localdeps didn't give me any feedback. all my tests were failing to import a nimbledeps requirement. |
| 17:01:59 | FromDiscord | <dom96> Anyone managed to get exceptions to work with Arduino/ESP? I'm seeing `system module needs: raiseExceptionEx` |
| 17:02:29 | FromDiscord | <dom96> Ping Zevv, I saw in IRC logs you faced similar issues |
| 17:05:48 | FromDiscord | <Clyybber> disruptek; Sorry, I don't get pinged |
| 17:05:54 | FromDiscord | <Clyybber> kidding, wassup |
| 17:06:08 | FromDiscord | <Avatarfighter> :disruptek: moment |
| 17:06:57 | disruptek | trying to debug an assignment. it's a norm bug involving iterators, mangling, options, and seqs. lots of seqs. |
| 17:07:14 | FromDiscord | <dom96> hm, seems --os:any is the key |
| 17:07:26 | FromDiscord | <Clyybber> disruptek: have fun |
| 17:07:26 | FromDiscord | <Yardanico> you didn't use it? 🤔 |
| 17:07:28 | FromDiscord | <Clyybber> lol |
| 17:07:37 | FromDiscord | <Avatarfighter> @dom96 for getting exceptions to work on ESP/Arduino? |
| 17:07:38 | FromDiscord | <Clyybber> disruptek: Did you implement what we talked about yesterday? |
| 17:07:48 | FromDiscord | <dom96> I used --os:standalone |
| 17:07:50 | * | clyybber quit (Quit: WeeChat 2.9) |
| 17:07:52 | FromDiscord | <Avatarfighter> interesting 😄 |
| 17:08:01 | FromDiscord | <Avatarfighter> i didn't even know that was a valid switch |
| 17:08:15 | FromDiscord | <Yardanico> @dom96 that's outdated :) |
| 17:08:24 | FromDiscord | <Yardanico> --os:any is the new hotness since 1.2 |
| 17:08:25 | * | Kiloneie joined #nim |
| 17:08:26 | disruptek | no. plus, i'm not sure it will work. because cpp signatures will use the type argument and i'm not sure typedef will come into play. |
| 17:08:27 | FromDiscord | <Yardanico> or 1.0 |
| 17:08:28 | FromDiscord | <dom96> does --os:any also make use of panicoverride? |
| 17:08:34 | FromDiscord | <Yardanico> no |
| 17:08:41 | FromDiscord | <dom96> then where will the stderr go? D: |
| 17:08:48 | * | Kiloneie quit (Client Quit) |
| 17:09:13 | disruptek | clyybber: but this is the last package failure, and nim suite passes my tests locally. |
| 17:09:32 | * | abm joined #nim |
| 17:11:59 | FromDiscord | <Yardanico> @dom96 not sure, I didn't dive deep |
| 17:12:32 | FromDiscord | <Yardanico> but it wasn't hard to make nim programs run on Kolibri OS with --os:any --gc:arc since it had a C compiler with newlib (their lightweight libc) :) |
| 17:13:17 | FromDiscord | <dom96> yeah, that's not exactly embedded 😉 |
| 17:13:31 | FromDiscord | <dom96> well, it fails spectacularly to compile |
| 17:13:34 | FromDiscord | <dom96> so --os:any seems out |
| 17:13:59 | FromDiscord | <dom96> even though Zevv recommends it here: https://github.com/nim-lang/Nim/pull/13237 |
| 17:14:00 | disbot | ➥ Updated 'nim for embedded systems' section to use --os:any and --gc:arc |
| 17:14:02 | FromDiscord | <dom96> and so do our docs now... |
| 17:14:45 | FromDiscord | <Yardanico> well it can run on embedded |
| 17:14:53 | FromDiscord | <Yardanico> there are posts on the forum where people used it for that |
| 17:14:57 | FromDiscord | <Yardanico> but our search isn't the best |
| 17:15:21 | FromDiscord | <Yardanico> e.g. see https://forum.nim-lang.org/t/6236 |
| 17:15:28 | FromDiscord | <dom96> I can find Nesper, which runs on FreeRTOS as far as I can see |
| 17:15:36 | FromDiscord | <dom96> Not what I'm after either 😛 |
| 17:18:27 | disruptek | can we see the compilation failure? |
| 17:19:16 | FromDiscord | <Clyybber> disruptek: tests passing is one thing, but it needs to get rid of ugly hacks |
| 17:19:23 | FromDiscord | <Clyybber> and you said you didn't solve the problem |
| 17:19:27 | FromDiscord | <Clyybber> so how can it pass |
| 17:19:37 | FromDiscord | <Clyybber> only by overfitting the tests I assume |
| 17:19:53 | FromDiscord | <dom96> disruptek: https://gist.github.com/dom96/7a3b3fa98f7d5c3009bbeb6d4988ce1b |
| 17:20:06 | disruptek | i told you yesterday that i had it solved. just not the way i wanted. |
| 17:20:14 | FromDiscord | <Yardanico> ah this is easy to sove @dom96 |
| 17:20:18 | FromDiscord | <Yardanico> -d:nimEmulateOverflowChecks |
| 17:20:27 | FromDiscord | <Clyybber> disruptek: You didn't tell me how |
| 17:20:33 | FromDiscord | <Clyybber> it was something with a boss switch :D |
| 17:20:44 | disruptek | by just punting on procs and tuples. |
| 17:20:56 | disruptek | yeah, the boss switch helps. |
| 17:21:30 | FromDiscord | <Yardanico> and overflow checks aren't really related to embedded |
| 17:21:50 | disruptek | anyway, i'm not saying it's mergable. just trying to get it in a position to refactor. |
| 17:22:53 | FromDiscord | <dom96> ooh |
| 17:23:13 | FromDiscord | <dom96> thx Yardanico ❤️ |
| 17:23:14 | * | narimiran joined #nim |
| 17:23:40 | FromDiscord | <dom96> Also, looking at https://github.com/nim-lang/Nim/pull/13088 it seems I can override `unhandledExceptionHook` |
| 17:23:42 | disbot | ➥ Added 'ansic' os support for minimal (embedded) targets |
| 17:24:10 | FromDiscord | <Yardanico> Yeah |
| 17:24:15 | FromDiscord | <Yardanico> I've been experimenting with it a bit |
| 17:24:25 | FromDiscord | <Yardanico> There's a lot of "hidden" stuff :) |
| 17:26:58 | FromDiscord | <Clyybber> disruptek: Ok, makes sense |
| 17:27:58 | FromDiscord | <dom96> @Yardanico please document these things when you find them 🙂 |
| 17:35:55 | * | madpata quit (Ping timeout: 258 seconds) |
| 17:39:00 | FromDiscord | <dom96> wow, that's weird. if as an expression causes a crash on the ESP |
| 17:39:07 | FromDiscord | <dom96> I moved it out into a statement and it works |
| 17:41:28 | Zevv | 'lo |
| 17:41:40 | Zevv | what's the apparent problem with --os:any? |
| 17:41:49 | disruptek | none. |
| 17:41:58 | Zevv | I get mails from dom saying it's broken? |
| 17:42:04 | Zevv | and we should go back to standalone? |
| 17:42:16 | disruptek | rude. |
| 17:42:31 | Zevv | that never bothered me. what bothers me is that it is broken? |
| 17:43:00 | Zevv | because for me it runs on anything I tried up to now |
| 17:43:32 | disruptek | docs omit mention of omitting overflow checks. |
| 17:43:45 | Zevv | why omit them? |
| 17:44:20 | disruptek | because they may not be supported. |
| 17:44:29 | * | enthus1ast quit (Ping timeout: 272 seconds) |
| 17:44:47 | Zevv | euh, it is the C compiler itself that emits the '__builtin_ssub_overflow' and the like |
| 17:44:50 | Zevv | and then complains |
| 17:44:51 | Zevv | how is nim to blame? |
| 17:45:04 | FromDiscord | <Yardanico> uhh |
| 17:45:05 | disruptek | well, you can define nimEmulateOverflowChecks. |
| 17:45:08 | FromDiscord | <Yardanico> zevv in this case you're mistaken :) |
| 17:45:15 | Zevv | Does Nim generate those?! |
| 17:45:17 | FromDiscord | <Yardanico> nim uses these builtins explicitly in the nimbase.h |
| 17:45:18 | FromDiscord | <Yardanico> yhes |
| 17:45:38 | disruptek | we have this new thing where the c compiler compiles code that nim generates. |
| 17:46:02 | Yardanico | Zevv: https://github.com/nim-lang/Nim/blob/devel/lib/nimbase.h#L571 |
| 17:46:14 | Zevv | well pardon me princess. usually it's the compiler putting these __builtin's in after recognizing from normal C code what you're trhing to do |
| 17:46:27 | Zevv | it's not common to explictly write them down |
| 17:46:32 | Yardanico | ah yes it happens too |
| 17:46:35 | disruptek | Yardanico: yeah, pardon him, princess. |
| 17:46:36 | Yardanico | when gcc generates some builtins |
| 17:46:41 | Yardanico | Zevv: i pardon you my prince |
| 17:46:42 | Zevv | but then again: builtinOverflow should be smarter? or dom can disable that? |
| 17:46:47 | Yardanico | you can |
| 17:46:51 | Yardanico | -d:nimEmulateOverflowChecks |
| 17:46:53 | Yardanico | and he already did that |
| 17:47:00 | disruptek | it can be smarter, yes. |
| 17:47:03 | Zevv | Right. |
| 17:47:04 | Yardanico | maybe he just didn't update the github comment and rushed it a bit :) |
| 17:47:23 | disruptek | the problem is that i'm not sure the rest of our code can know the result of that ensmartening. |
| 17:47:49 | Zevv | well, maybe Nim should know when to and when not to emit that. Because if a particular compiler does not have builtins, well, things break, right? |
| 17:48:19 | disruptek | it does know, via the switch. do you think we should run the compiler before, uh, running the compiler? |
| 17:49:08 | disruptek | we could supply both code paths but i think it's a slippery slope. i'd rather get direction from the user. |
| 17:49:24 | Zevv | I must admit I find it funny these things are so explicitly emitted, I would not have expected these things being portable enough not to have borked earlier |
| 17:49:48 | Zevv | sure, that's sane, and we could just add a note about that. But I don't understand how this is related to --os:any and not to --os:standalone |
| 17:50:03 | disruptek | i don't think it is. |
| 17:50:15 | Zevv | dom96 seems to suggest that in the ticket |
| 17:50:45 | disruptek | well, i really haven't followed this stuff. i'm currently trying to make a noose with the compiler's code generator. |
| 17:51:37 | disruptek | i would /love/ to be able to conditionally use meowhash in stdlib, for example. it's a similar problem. |
| 17:52:24 | * | abm quit (Ping timeout: 240 seconds) |
| 17:52:33 | FromDiscord | <dom96> I'm still trying to get the exceptions to work |
| 17:52:45 | Zevv | goto exceptions? |
| 17:53:01 | FromDiscord | <dom96> I tried all options |
| 17:53:13 | FromDiscord | <dom96> (setjmp seems to trigger a bug in --os:any) |
| 17:53:45 | Zevv | what bug? |
| 17:53:52 | FromDiscord | <dom96> https://github.com/nim-lang/Nim/blob/devel/lib/system/excpt.nim#L557 |
| 17:54:00 | FromDiscord | <dom96> I don't even know if it makes sense to use it |
| 17:54:17 | FromDiscord | <dom96> But I think it's likely we should add a `hostOS != "any"` in there |
| 17:54:56 | Zevv | hm that's one nasty `if` |
| 17:55:58 | FromDiscord | <dom96> In any case, I guess `goto` is what I should be using |
| 17:56:08 | disruptek | it is. |
| 17:56:57 | FromDiscord | <dom96> Ahh, I think the reason it's not working is because I forgot to call the module setup for that darn module |
| 17:57:38 | * | enthus1ast joined #nim |
| 17:58:51 | Zevv | just like my mama always told you. "boi", she said, "don't you ever forget: just always call your module setups before using your darn modules" |
| 17:58:57 | Zevv | but what did I know, right |
| 17:59:08 | FromDiscord | <dom96> also, another useful flag: -d:noSignalHandler |
| 17:59:12 | disruptek | you mama is a helluva woman. |
| 17:59:21 | Zevv | yeah she is man, she is |
| 18:05:40 | FromDiscord | <dom96> hmmmm |
| 18:07:12 | FromDiscord | <dom96> yeah, `unhandledExceptionHook` doesn't seem to work |
| 18:09:07 | FromDiscord | <dom96> looking at the C code, it looks like it's only called from `nimTestErrorFlag` |
| 18:09:15 | FromDiscord | <dom96> which isn't called anywhere |
| 18:10:31 | FromDiscord | <Yardanico> It's only called when you have possible exceptions |
| 18:10:44 | FromDiscord | <dom96> there is also an `onUnhandledException` |
| 18:10:48 | FromDiscord | <dom96> why do we have both? lol |
| 18:10:55 | FromDiscord | <Yardanico> nimTestErrorFlag is the goto exceptions checking proc |
| 18:12:02 | FromDiscord | <dom96> and `onUnhandledException` also isn't called anywhere... |
| 18:12:32 | * | arecacea1 quit (Remote host closed the connection) |
| 18:12:39 | * | user0 joined #nim |
| 18:13:19 | * | arecacea1 joined #nim |
| 18:13:39 | * | kenran joined #nim |
| 18:13:57 | FromDiscord | <dom96> so where is nimTestErrorFlag supposed to be used? |
| 18:16:52 | FromDiscord | <dom96> globalHook works |
| 18:23:35 | FromDiscord | <lqdev> this has probably been asked before, but i wonder why `floorMod` isn't the default `mod` |
| 18:23:51 | FromDiscord | <lqdev> performance? compatibility? |
| 18:25:50 | FromDiscord | <Clyybber> no particular reason I think |
| 18:26:08 | FromDiscord | <Clyybber> huh, how did the docs regress on the CSS? |
| 18:26:26 | FromDiscord | <Clyybber> oh wait |
| 18:26:36 | FromDiscord | <Clyybber> devel docs have the search field look right |
| 18:26:39 | FromDiscord | <Clyybber> but 1.4 docs don't |
| 18:27:32 | FromDiscord | <dom96> Anyway... I guess I'll just use the global hooks for now |
| 18:27:34 | FromDiscord | <dom96> I submitted https://github.com/nim-lang/Nim/issues/15627 |
| 18:27:36 | disbot | ➥ unhandledExceptionHook does not work ; snippet at 12https://play.nim-lang.org/#ix=2BaQ |
| 18:27:48 | FromDiscord | <Clyybber> narimiran: ping |
| 18:33:14 | * | lbart quit (Ping timeout: 260 seconds) |
| 18:33:46 | disruptek | Result -> result |
| 18:34:34 | * | user0 quit (Ping timeout: 256 seconds) |
| 18:39:05 | * | lbart joined #nim |
| 18:39:05 | * | lbart quit (Changing host) |
| 18:39:05 | * | lbart joined #nim |
| 18:41:16 | ehmry | Zevv: i tried to structure my grammer in a way that inlining wouldn't happen, maybe my problem is too much rule nesting? |
| 18:42:43 | ehmry | I took the operators from an ABNF and there presedence is done with nesting |
| 18:44:49 | * | hnOsmium0001 joined #nim |
| 18:49:23 | Zevv | can you show your grammar? |
| 18:49:44 | disruptek | you got a thing for older women? |
| 18:50:10 | Zevv | that depends |
| 18:54:48 | ehmry | Zevv: https://git.sr.ht/~ehmry/dhall-nim/tree/staging/src/dhall/parse.nim - translated from https://github.com/dhall-lang/dhall-lang/blob/master/standard/dhall.abnf |
| 18:56:04 | ehmry | its quite large |
| 18:59:15 | disruptek | that's what she said. |
| 18:59:32 | disruptek | clyybber: dude, i know why we Result instead of result. |
| 18:59:40 | disruptek | it's such a hack. |
| 19:01:01 | FromDiscord | <Clyybber> yes it is |
| 19:01:03 | * | opal quit (Ping timeout: 240 seconds) |
| 19:02:45 | disruptek | so why does it work? |
| 19:04:41 | * | kenran quit (Ping timeout: 256 seconds) |
| 19:04:48 | * | opal joined #nim |
| 19:06:07 | FromDiscord | <haxscramper> How I can pass type parameter to template using `[T]` instead of passing it as regular argument? E.g. I want to call `myTemplate[Type1, Type2](arg1, arg2)`. I managed to get it working for templates without arguments, but when I add `untyped` parameter behaviour changes - https://play.nim-lang.org/#ix=2Bb9 |
| 19:17:16 | * | Kaivo quit (Ping timeout: 260 seconds) |
| 19:19:31 | * | Kaivo joined #nim |
| 19:21:16 | disruptek | how is a generic supposed to work when the argument is untyped? |
| 19:25:11 | FromDiscord | <haxscramper> Same as template without parameters I guess? E.g. I don't want to infer it from argument types, just call with `temp[Type]` instead of `templ(Type)` syntax |
| 19:26:02 | disruptek | i don't think sigmatch works that way, but i'm not very familiar with the frontend. |
| 19:27:41 | * | abm joined #nim |
| 19:35:59 | * | lritter quit (Quit: Leaving) |
| 20:01:35 | FromDiscord | <tinygiant> sent a code paste, see https://paste.rs/OPt |
| 20:04:11 | leorize[m] | Yardanico you gotta look at the paste generated by the message ^ |
| 20:04:14 | leorize[m] | it has weird characters |
| 20:05:39 | leorize[m] | @tinygiant that way of using peg will just match it afaict |
| 20:06:00 | leorize[m] | also you should try npeg :P |
| 20:06:29 | disruptek | leorize[m]: what's the gist of your idea for building out more builds? |
| 20:06:34 | FromDiscord | <tinygiant> Is there a way (with normal nim peg) that will continue matching the remaining non-consumed text? I'm considering npeg, but want to do as much as I can with the native tools first. If I can't, then I can't. |
| 20:06:46 | disruptek | npeg is native. |
| 20:07:06 | FromDiscord | <tinygiant> Ok, thought it was a dependency. |
| 20:07:10 | disruptek | if you match remaining text, it /is/ consumed. |
| 20:07:19 | disruptek | npeg is a dependency. also, don't be afraid of dependencies. |
| 20:07:28 | disruptek | some of the best software exists outside of the stdlib. |
| 20:07:49 | leorize[m] | disruptek: you mean the nightlies build numbers? |
| 20:08:04 | FromDiscord | <tinygiant> Not afraid of them, I use several, just try to minimize when I can. So in peg, once the first match is made, the rest of the text string is consumed? |
| 20:08:05 | disruptek | you said something about scaling up to support more platforms. |
| 20:08:27 | disruptek | people here mostly use npeg. 😉 |
| 20:10:29 | leorize[m] | disruptek: I recently played with crosstool-ng, so I can use that to build cross compilers and then use those to generate the 3rd party deps needed by the compiler |
| 20:10:52 | FromDiscord | <scott> is there a way to compose functions/procs, like `zip(a, b).map(map |> runes)` or something? |
| 20:10:57 | leorize[m] | more importantly I can automate them, so ideally I'd use a repository to store all the artifacts and the nightlies system just fetch them from there |
| 20:11:01 | * | luis_ joined #nim |
| 20:11:35 | disruptek | scott: you can define your own operators, sure. |
| 20:11:42 | leorize[m] | @scott if you can explain to me what that `|>` does I might be able to tell you |
| 20:12:36 | FromDiscord | <scott> it would be like... `zip(a, b).mapIt(it.mapIt(it.runes))` |
| 20:12:38 | disruptek | leorize[m]: what about shashlick's jbb stuff? or the other one.. i forget the name. calvin or something. |
| 20:12:45 | disruptek | !repo zero_functional |
| 20:12:46 | disbot | https://github.com/mikebelanger/nim_functional_benchmarks -- 9nim_functional_benchmarks: 11Comparing performance between nim's functional libraries: sequtils, iterutils and zero_functional 15 0⭐ 0🍴 |
| 20:12:48 | FromDiscord | <scott> I could just do that actually |
| 20:12:54 | disruptek | !repo zerofunctional |
| 20:12:54 | disbot | no results 😢 |
| 20:12:56 | disruptek | wtf |
| 20:13:17 | disruptek | it's like the sort metrics got hosed a couple weeks ago. |
| 20:13:38 | FromDiscord | <Elegant Beef> So anyone know how to convert objects to binary without casting? 😄 |
| 20:13:53 | disruptek | they are already binary. |
| 20:14:17 | FromDiscord | <Elegant Beef> I meant convert to a binary string |
| 20:14:19 | FromDiscord | <scott> @scott ↵↵Nope, this doesn't work 😦 |
| 20:14:53 | FromDiscord | <Elegant Beef> Cause nimscript cant cast object pointers to ptrs of strings, so string streams cannot work 😄 |
| 20:15:12 | FromDiscord | <scott> actually I don't think I need to do that, I can just use `zip(a, b).foldl` |
| 20:15:26 | FromDiscord | <scott> nvm |
| 20:15:44 | disruptek | beef: just copy their memory. |
| 20:15:52 | FromDiscord | <Elegant Beef> copymem doesnt exist in nimscript |
| 20:15:58 | disruptek | don't fuck with me. |
| 20:16:25 | * | narimiran quit (Ping timeout: 264 seconds) |
| 20:16:34 | leorize[m] | disruptek: julia binary builder only covers a small amount of architectures/os |
| 20:16:39 | disruptek | what /can/ you do that necessitates using nimscript? |
| 20:17:01 | disruptek | leorize[m]: will you use your artifacts for all builds? or just lesser builds? |
| 20:17:30 | FromDiscord | <Elegant Beef> I mean the entire point of what im doing is enabling easy usage of nimscript in nim projects, so you can have users script behaviours at runtime without recompilation |
| 20:17:53 | disruptek | doesn't sound all that useful if i can't even use streams. |
| 20:17:56 | FromDiscord | <Elegant Beef> Pmunch is interested in it for his WM |
| 20:18:01 | FromDiscord | <Elegant Beef> Well yea that's the thing |
| 20:18:12 | FromDiscord | <Elegant Beef> At the very least i need to be able to use streams! |
| 20:18:23 | leorize[m] | disruptek: yea I'm gonna start using nightlies artifact now that I programmed in a simple way to fetch the latest ones |
| 20:18:27 | FromDiscord | <Elegant Beef> I looked at the VM code last night and had 0 clue where to start |
| 20:18:44 | leorize[m] | Beef: you can use the VM callback system to register procs that shell out to real Nim. |
| 20:18:54 | disruptek | it took years to obfuscate the vm code to that extent. |
| 20:19:05 | FromDiscord | <Elegant Beef> What do you mean leorize? |
| 20:19:09 | disruptek | you can, but this is not a good idea, either. |
| 20:19:27 | FromDiscord | <Elegant Beef> I do currently have a functional proof of concept |
| 20:19:29 | disruptek | you'd have to impl callbacks for, like, sockets, streams, memory, etc. |
| 20:20:05 | FromDiscord | <Elegant Beef> I just need one way of getting the data at a pointer! |
| 20:20:18 | disruptek | tell pmunch he can twiddle strings and add integers. if he wants more, he can impl the rest. |
| 20:20:28 | leorize[m] | https://github.com/nim-lang/Nim/blob/devel/compiler/scriptconfig.nim |
| 20:20:37 | FromDiscord | <Elegant Beef> Well json works for most types |
| 20:20:55 | disruptek | who do i have to blame for megatest? |
| 20:20:59 | disruptek | krux, right? |
| 20:21:09 | disruptek | damnit, krux! |
| 20:21:29 | leorize[m] | you got some issues with megatest? |
| 20:21:48 | disruptek | it's the only remaining defect in mangling. |
| 20:21:53 | FromDiscord | <Elegant Beef> Wait leorize this is for passing code to nim, no? |
| 20:22:25 | leorize[m] | that's for overriding a proc when it's called by the VM |
| 20:22:47 | FromDiscord | <Elegant Beef> I dont quite know how that helps |
| 20:23:02 | FromDiscord | <Elegant Beef> Doesnt it still require the nim compiler? |
| 20:23:04 | * | solitudesf quit (Ping timeout: 240 seconds) |
| 20:23:07 | disruptek | the idea is that you shim procs so they can be run from inside the vm. |
| 20:23:17 | FromDiscord | <Elegant Beef> Well that's what i'm already doing |
| 20:23:22 | * | xet7 quit (Quit: Leaving) |
| 20:23:27 | FromDiscord | <Elegant Beef> Although i'm using implementroutine |
| 20:23:31 | disruptek | leorize is a little mad. be careful following his advice. |
| 20:23:55 | FromDiscord | <tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2Bbv |
| 20:24:08 | FromDiscord | <Elegant Beef> Clyybber was just typing, i'm sure i can convince him to implement casting from object to a `ptr string` in the vm since he starred my repo 😛 |
| 20:24:20 | leorize[m] | ping Zevv |
| 20:24:35 | disruptek | sounds easy. i'm still waiting for him to fix the compiler so we can finish cps. |
| 20:24:38 | leorize[m] | Beef: good luck fighting with disruptek for that right |
| 20:25:26 | FromDiscord | <Elegant Beef> Well if he doesnt do it, i might actually have to understand what the hell the VM is doing in the big ol' "cast case statement" |
| 20:25:44 | leorize[m] | @tinygiant seems to work here: https://play.nim-lang.org/#ix=2Bbw |
| 20:25:51 | leorize[m] | have you installed npeg? |
| 20:26:42 | * | xet7 joined #nim |
| 20:26:50 | FromDiscord | <tinygiant> Yep, I have it, no error on the import. Just being stupid tonight. I called my test file npeg.nim, so it was attempting to import itself. Nice, going, tiny. |
| 20:27:19 | FromDiscord | <Elegant Beef> Although i'm assuming the fact this casting isnt implemented is it's not that simple |
| 20:27:34 | FromDiscord | <tinygiant> Thanks for the help, I'll start working through the specifics of npeg over the next day. |
| 20:27:39 | disruptek | it's the work of an afternoon. |
| 20:28:08 | FromDiscord | <Elegant Beef> Ah so it's about a month or two for me |
| 20:30:26 | disruptek | mangling will be over 100 commits and like 3 months by the time i get it merged. |
| 20:30:40 | disruptek | actually, it's already over 4 months. |
| 20:31:09 | leorize[m] | do we have a spec on mangling or are you playing whack-a-mole until all bugs are sorted out? |
| 20:31:31 | disruptek | no spec. |
| 20:31:53 | FromDiscord | <Elegant Beef> Also considering `opcCastIntToPtr` is the case, i assume i'd need to make a new case |
| 20:31:56 | FromDiscord | <tinygiant> An afternoon without a farm and three kids. Everything for me ends up being days. But, that's why it's a hobby. |
| 20:32:32 | disruptek | sounds like my heroin hobby. |
| 20:32:59 | disruptek | well, except for the farm part. |
| 20:34:07 | FromDiscord | <Clyybber> @Elegant Beef what cast do you want to allow? |
| 20:34:39 | Zevv | ping leorize[m] |
| 20:34:54 | FromDiscord | <Elegant Beef> I want to be able to get data at a pointer so either to an `ptr UncheckedArray[byte]` or `ptr string` from a `ptr object` |
| 20:35:36 | FromDiscord | <Clyybber> ptr object -> ptr string sounds like a bad idea |
| 20:35:50 | FromDiscord | <Elegant Beef> Well that's what's done for the JS side |
| 20:35:57 | FromDiscord | <Elegant Beef> I really just need someway to get the data at a point |
| 20:36:01 | FromDiscord | <Clyybber> huh? |
| 20:36:07 | FromDiscord | <Clyybber> but the string is a pointer itself |
| 20:36:16 | FromDiscord | <Clyybber> you mean cstring? |
| 20:36:24 | FromDiscord | <Elegant Beef> https://media.discordapp.net/attachments/371759389889003532/767486256124002324/unknown.png |
| 20:36:52 | FromDiscord | <Clyybber> ah gotcha |
| 20:37:21 | FromDiscord | <Elegant Beef> Kinda hard to get the bitstream as a string without a way of converting types to bytes 😄 |
| 20:37:51 | FromDiscord | <Clyybber> true |
| 20:38:09 | FromDiscord | <Clyybber> I think this only works on js tho |
| 20:38:13 | FromDiscord | <Elegant Beef> Yea |
| 20:38:23 | FromDiscord | <Clyybber> It shouldn't work in C |
| 20:38:37 | FromDiscord | <Elegant Beef> as i said Uncheckedarray would be fine aswell |
| 20:38:43 | FromDiscord | <Clyybber> yeah thats best |
| 20:38:50 | FromDiscord | <Clyybber> or array |
| 20:39:13 | FromDiscord | <Elegant Beef> Just anything, i want to get off this json train and use binary transmission! |
| 20:39:39 | FromDiscord | <Clyybber> stupid idea but does ptr char work? |
| 20:39:57 | FromDiscord | <Elegant Beef> Nope same error |
| 20:40:11 | FromDiscord | <Elegant Beef> I dont think nimscript supports casting objects at all |
| 20:40:15 | FromDiscord | <Elegant Beef> `opcCastIntToPtr: regs[rb].node.typ: tyObject` |
| 20:41:26 | FromDiscord | <Elegant Beef> I only say that as the opcodes are rather direct https://media.discordapp.net/attachments/371759389889003532/767487525282381835/unknown.png |
| 20:42:38 | FromDiscord | <Clyybber> yeah lol |
| 20:45:28 | FromDiscord | <scott> Trying to figure out if I don't know the syntax yet or nim doesn't yet support this feature: `proc((a, b): Tuple[Rune, Rune]) = a == b` |
| 20:45:39 | FromDiscord | <scott> i.e. tuple desconstruction |
| 20:46:24 | FromDiscord | <lqdev> nope |
| 20:46:28 | FromDiscord | <lqdev> `let (a, b) = tup` |
| 20:46:35 | FromDiscord | <lqdev> also it's `tuple` not `Tuple` |
| 20:47:00 | FromDiscord | <lqdev> tuple deconstruction is not directly supported in proc params |
| 20:47:38 | FromDiscord | <scott> 👍 thanks. |
| 20:52:11 | FromGitter | <deech> Is there a way to parameterize an object with a concept? eg. `type O[MyConcept] = object c: MyConcept`? |
| 20:53:27 | FromDiscord | <Clyybber> type O[T: MyConcept] = object\n c: T |
| 20:53:29 | FromDiscord | <Clyybber> should work |
| 20:53:36 | FromGitter | <deech> Awesome. |
| 20:56:47 | FromDiscord | <Clyybber> @Elegant Beef there is a bit of a complexity here though |
| 20:57:20 | FromDiscord | <Clyybber> because what layout should you choose |
| 20:57:23 | FromDiscord | <Clyybber> what alignment etc |
| 20:58:57 | FromDiscord | <Elegant Beef> I say jedi |
| 21:01:19 | FromDiscord | <Clyybber> ok sith |
| 21:02:11 | * | luis_ quit (Quit: luis_) |
| 21:06:06 | * | TomDotTom joined #nim |
| 21:06:47 | FromDiscord | <Elegant Beef> All i know is the objects need to be the same in nim as nimscript 😛 |
| 21:15:33 | FromDiscord | <Clyybber> hmm, you could perhaps use the sizeofalignoffsetimpl |
| 21:15:39 | FromDiscord | <Clyybber> yeah that should work |
| 21:16:52 | leorize[m] | doesn't the only thing the VM care about is the fields? |
| 21:17:13 | FromDiscord | <Clyybber> yeah, but beef wants to cast objects to binary |
| 21:17:23 | leorize[m] | I have my doubt that the VM construct the exact object with all the necessary alignments |
| 21:17:38 | FromDiscord | <Clyybber> thats what we would use sizeofalignoffsetimpl |
| 21:18:00 | FromDiscord | <Clyybber> in the cases where that gives up, we simply error |
| 21:18:53 | leorize[m] | what if the object contains yet-another-object? |
| 21:19:13 | leorize[m] | and even worse, what is this yet-another-object is a magic one, like seq/strings? |
| 21:19:34 | leorize[m] | I'm pretty sure the implementation of those doesn't translate |
| 21:19:39 | FromDiscord | <Clyybber> error out on seq and strings |
| 21:25:41 | FromDiscord | <Elegant Beef> It'd be hideous but i could use the VMArgs.getstring |
| 21:26:32 | leorize[m] | can't you try to find an another way around casting? |
| 21:26:57 | FromDiscord | <Elegant Beef> What are the avenues to get the data at a pointer? |
| 21:27:52 | leorize[m] | idk, check how the vm implements refs |
| 21:37:26 | * | arecacea1 quit (Remote host closed the connection) |
| 21:37:59 | * | arecacea1 joined #nim |
| 21:39:21 | FromDiscord | <notchris> Hello friends, good evening/afternoon |
| 21:42:19 | FromDiscord | <Elegant Beef> Hello |
| 21:42:22 | * | TomDotTom quit (Ping timeout: 246 seconds) |
| 21:48:09 | * | vicfred joined #nim |
| 21:49:56 | FromDiscord | <scott> hi @notchris |
| 21:49:56 | FromDiscord | <neow> is there something like this https://goreportcard.com/report/github.com/zyedidia/micro for nim? |
| 21:50:07 | FromDiscord | <notchris> hiya @scott |
| 21:50:35 | FromDiscord | <notchris> @neow https://nimble.directory/search?query=terminal |
| 21:50:52 | FromDiscord | <scott> is there any reason you have to do `raise ValueError.newException("xyz")` instead of `raise ValueError.new("xyz")`? |
| 21:51:26 | FromDiscord | <neow> @notchris I meant the goreportcard tool, not the editor 😅 |
| 21:51:34 | FromDiscord | <notchris> Ohhh |
| 21:51:53 | FromDiscord | <notchris> @scott newException is specifically for an exception, but new is already a proc of system |
| 21:51:55 | FromDiscord | <Elegant Beef> There is not afaik |
| 21:52:10 | FromDiscord | <notchris> @scott at least thats my understanding |
| 21:52:33 | FromDiscord | <scott> yeah but why doesn't exception just overload `new` like everything else? |
| 21:52:44 | FromDiscord | <notchris> That I am not sure about |
| 21:56:08 | FromDiscord | <scott> Very much liking the language so far. https://exercism.io/my/solutions/e0f13e8f654d43da8d7975ab274f8d28 |
| 21:56:53 | FromDiscord | <scott> Very much liking the language so far. https://exercism.io/tracks/nim/exercises/hamming/solutions/e0f13e8f654d43da8d7975ab274f8d28↵↵(whoops) |
| 21:57:31 | FromDiscord | <Elegant Beef> How dare you not doing `a.len != b.len` |
| 21:57:51 | FromDiscord | <scott> hahaha |
| 21:58:10 | FromDiscord | <scott> UFCS is the best TBH |
| 21:58:52 | FromDiscord | <scott> showing my python roots tho haha |
| 22:08:55 | * | qeeg quit (Remote host closed the connection) |
| 22:10:04 | federico3 | +1 on UFCS |
| 22:10:09 | FromDiscord | <Elegant Beef> +10 |
| 22:10:22 | FromDiscord | <nikki> 10.+ |
| 22:11:10 | FromDiscord | <Elegant Beef> i might just stick to json until i find a good solution, and load all the params into a single json string |
| 22:11:25 | FromDiscord | <nikki> (edit) "10.+" => "10.`+`" |
| 22:31:37 | disruptek | .mapIt(int(it[0] != it[1])) # int(true) is 1 and int(false) is 0 |
| 22:31:49 | disruptek | the fact that you have to provide a comment here should tell you something. |
| 22:32:32 | disruptek | mapIt(if it[0] != it[1]: 1 else: 0) is no worse, at least, and demands no comment. |
| 22:32:57 | FromDiscord | <scott> Oh ok I thought that was a statement and not an expression |
| 22:33:04 | FromDiscord | <scott> I agree that that's better |
| 22:33:23 | * | opal quit (Ping timeout: 240 seconds) |
| 22:33:33 | FromDiscord | <notchris> so thats like a ternary exp in the map handle? |
| 22:34:06 | FromDiscord | <notchris> oh its just an if |
| 22:35:37 | disruptek | rude. |
| 22:36:17 | notchris | :P |
| 22:36:35 | notchris | sorry haha, did a quick glance |
| 22:37:39 | FromDiscord | <scott> fixed, thanks |
| 22:39:01 | FromDiscord | <Elegant Beef> I prefer my method of `zip(a,b).filterit(it[0] != it[1]).len` |
| 22:39:02 | FromDiscord | <Elegant Beef> 😄 |
| 22:39:30 | FromDiscord | <scott> yes, I saw that solution, It is probably the better one. but it didn't feel honest to rip that off wholesale 😅 |
| 22:39:52 | FromDiscord | <Elegant Beef> I mean you're doing it identically just in a halfassed way |
| 22:40:22 | leorize[m] | is exercism a code golf contest? :P |
| 22:40:26 | FromDiscord | <Elegant Beef> By making failures 0s and passes 1, then summing you're just filtering and then counting the length |
| 22:40:42 | * | opal joined #nim |
| 22:41:14 | FromDiscord | <Elegant Beef> Totally leorize it's public facing challenges, that means be design it's code golf 😛 |
| 22:41:22 | FromDiscord | <Elegant Beef> (edit) "be" => "by" |
| 22:41:46 | FromDiscord | <scott> I never felt like it was structured as a challenge |
| 22:41:59 | FromDiscord | <scott> I usually use it for the mentorship when learning and practice |
| 22:42:17 | FromDiscord | <Elegant Beef> I've never used it, so my comments are just jokes |
| 22:43:42 | disruptek | i just hit one of those sites yesterday and i struggled with the first challenge. |
| 22:44:13 | FromDiscord | <Elegant Beef> Yea hello world is a challenge |
| 22:44:19 | FromDiscord | <scott> yeah I tried the haskell track and the mentor responded with some shit I didn't understand lol |
| 22:45:01 | disruptek | it was like, "fix this": proc multiply(a, b: int) = a + b and stupid me thought merely discarding the expr should be enough of a fix to move on. |
| 22:45:12 | FromDiscord | <nikki> `nimble init` for libraries creates a proc that adds two ints, whose docstring says it adds files 👀 -- https://github.com/nim-lang/nimble/blob/6609a490a97510c14d4d7784d06e33e1c5e9f3dc/src/nimblepkg/init.nim#L50-L52 |
| 22:45:25 | disruptek | that's really par for the course in nimble. |
| 22:45:28 | FromDiscord | <scott> disruptek lol |
| 22:46:05 | FromDiscord | <Elegant Beef> File descriptors are just ints, no? So it technically can be right 😄 |
| 22:46:11 | disruptek | don't make me guess what your fucking code is supposed to do. |
| 22:46:41 | FromDiscord | <scott> the function is called "multiply" |
| 22:46:49 | disruptek | so? |
| 22:47:08 | FromDiscord | <scott> nvm 🙄 |
| 22:47:09 | FromDiscord | <Elegant Beef> why the fuck would we use names for operators in nim, this isnt java |
| 22:47:17 | disruptek | ikr |
| 22:47:36 | FromDiscord | <nikki> isn't + the name |
| 22:47:54 | FromDiscord | <Elegant Beef> !eval proc `&+!`(a: int)= echo a |
| 22:47:55 | NimBot | Compile failed: /usercode/in.nim(1, 8) Error: invalid token: (\29) |
| 22:47:59 | FromDiscord | <Elegant Beef> Damn |
| 22:48:09 | FromDiscord | <Elegant Beef> Mission failed, we'll get em next time |
| 22:48:11 | FromDiscord | <nikki> if it was java you wouldn't have made an error the first time |
| 22:48:41 | FromDiscord | <Elegant Beef> Ah the backticks didnt get included |
| 22:48:53 | FromDiscord | <Elegant Beef> !eval proc ``&+!``(a: int)= echo a |
| 22:48:54 | NimBot | Compile failed: /usercode/in.nim(1, 7) Error: identifier expected, but got '`' |
| 22:49:08 | FromDiscord | <Elegant Beef> !report nimbot he's' too fucking dumb |
| 22:49:42 | FromDiscord | <nikki> !eval echo "ohai" |
| 22:49:44 | NimBot | ohai |
| 22:49:55 | FromDiscord | <nikki> !eval while true: echo "ohai" |
| 22:50:05 | FromDiscord | <nikki> 🤔 |
| 22:50:08 | FromDiscord | <nikki> sorry |
| 22:50:18 | NimBot | Compile failed: <no output> |
| 22:50:23 | FromDiscord | <nikki> 😮 |
| 22:50:23 | disruptek | check your email. |
| 22:50:43 | FromDiscord | <nikki> someone's knocking on my door |
| 22:50:48 | FromDiscord | <nikki> 😐 |
| 22:50:58 | FromDiscord | <Elegant Beef> It just says "interoping nimscript with nim was a dumb idea" |
| 22:52:35 | Prestige | !eval "!eval echo "echo"" |
| 22:52:37 | NimBot | Compile failed: /usercode/in.nim(1, 18) Error: expression 'echo[""]' has no type (or is ambiguous) |
| 22:52:46 | Prestige | hmm |
| 22:53:09 | Prestige | maybe need to escape the quotes |
| 22:53:18 | Prestige | !eval "!eval echo \"echo\"" |
| 22:53:20 | NimBot | Compile failed: /usercode/in.nim(1, 1) Error: expression '"!eval echo \"echo\""' is of type 'string' and has to be used (or discarded) |
| 22:53:32 | Prestige | eh, oh well |
| 23:03:40 | * | theelous3 quit (Read error: Connection reset by peer) |
| 23:07:31 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
| 23:19:00 | * | kinkinkijkin quit (Ping timeout: 258 seconds) |
| 23:19:50 | * | kinkinkijkin joined #nim |
| 23:26:26 | * | astronavt joined #nim |
| 23:27:04 | * | gmaggior quit (Quit: Leaving) |
| 23:35:29 | * | abm quit (Read error: Connection reset by peer) |
| 23:59:12 | * | hnOsmium0001 joined #nim |