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 |