00:01:22 | FromDiscord | <dom96> federico3: sooo if you're bursting, and you haven't gained enough momentum: you collide without bumping off |
00:01:31 | FromDiscord | <dom96> if you're bursting with enough momentum you bump off |
00:01:35 | FromDiscord | <dom96> and deal damage |
00:01:55 | leorize | the damage thing is kinda OP though |
00:02:32 | rayman22201 | It's also kind of part of the fun X.X |
00:02:37 | FromDiscord | <dom96> 😄 |
00:03:00 | FromDiscord | <dom96> There needs to be some way to kill bigger stars |
00:03:09 | FromDiscord | <dom96> otherwise... you'll have huge stars that kill everyone |
00:03:28 | FromDiscord | <dom96> and I thought about a good mechanism for this for a while and came up with this |
00:07:01 | shashlick | @leorize - what's a test to verify that it is required to change working dir |
00:07:16 | shashlick | i am able to get gorgeEx and imports to work without your startProcess change |
00:08:37 | shashlick | although to write to stdout, i'll need to make that change anyway |
00:08:48 | leorize | shashlick: there aren't any |
00:08:50 | shashlick | if i get it to work then i won't need caching at all |
00:09:02 | shashlick | write to stdin, sorry |
00:09:08 | leorize | I added the working dir change because there's concern about that |
00:12:52 | * | krux02_ quit (Remote host closed the connection) |
00:22:40 | rayman22201 | skrylar[m] This is a little OT, but, you were talking about smalltalk earlier. There is a version of smalltalk that is still very much alive, it's called Pharo. I don't want Pharo + Nim, but I really want to steal their IDE for Nim: Glamorous Toolkit: https://blog.feenk.com/glamorous-toolkit-v0-7-1214-beta-2uv9ne4vyynvcv08kcm07cihz/ |
00:34:04 | * | fredrikhr quit (Ping timeout: 246 seconds) |
00:48:13 | * | oddp quit (Ping timeout: 264 seconds) |
01:07:03 | FromGitter | <awr1> that's pretty interesting |
01:07:43 | FromGitter | <awr1> idk how you could do something like that for nim though |
01:08:00 | FromGitter | <awr1> since smalltalk IIRC is image-based, not file-based |
01:08:03 | rayman22201 | HCR |
01:11:45 | rayman22201 | it would be a hack of course (but HCR is a hack too 😛 ). Nim is not as dynamic as smalltalk. I think you could still steal many of the ideas and make something pretty cool though. |
01:13:21 | FromGitter | <awr1> a really full fledged IDE for nim would be neat |
01:13:36 | FromGitter | <awr1> i mean there was aporia and |
01:13:47 | FromGitter | <awr1> nimedit but they are not quite IDEs |
01:16:06 | rayman22201 | It's a lot of work to build an IDE. and not the most fun when there are so many options out there that are "good enough" :-( |
01:18:09 | * | endragor joined #nim |
01:20:56 | * | apahl quit (Ping timeout: 244 seconds) |
01:22:51 | * | apahl joined #nim |
01:28:53 | * | noonien quit (Quit: Connection closed for inactivity) |
01:31:46 | * | mal``` joined #nim |
01:33:23 | * | mal`` quit (Quit: Leaving) |
01:33:23 | * | snowolf quit (Remote host closed the connection) |
01:33:24 | * | snowolf joined #nim |
01:33:24 | * | snowolf quit (Changing host) |
01:33:24 | * | snowolf joined #nim |
01:44:39 | * | maier joined #nim |
01:46:19 | shashlick | I was pretty enthused with feud to go all the way but there's many other basic things that need attention |
01:49:21 | * | maier quit (Ping timeout: 244 seconds) |
02:06:56 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
02:08:04 | * | mal``` quit (*.net *.split) |
02:08:04 | * | vicfred quit (*.net *.split) |
02:08:04 | * | Zevv quit (*.net *.split) |
02:08:04 | * | Cadey quit (*.net *.split) |
02:08:05 | * | ldlework quit (*.net *.split) |
02:08:05 | * | xet7 quit (*.net *.split) |
02:08:05 | * | Zectbumo quit (*.net *.split) |
02:08:05 | * | supakeen quit (*.net *.split) |
02:08:05 | * | Jjp137_ quit (*.net *.split) |
02:08:05 | * | sagax quit (*.net *.split) |
02:08:05 | * | cornfeedhobo quit (*.net *.split) |
02:08:05 | * | dmi0 quit (*.net *.split) |
02:08:05 | * | Avatarfighter quit (*.net *.split) |
02:08:05 | * | kitech1 quit (*.net *.split) |
02:08:05 | * | zedeus quit (*.net *.split) |
02:08:05 | * | vesper11 quit (*.net *.split) |
02:08:05 | * | FromDiscord quit (*.net *.split) |
02:08:05 | * | casaca quit (*.net *.split) |
02:08:05 | * | so quit (*.net *.split) |
02:08:05 | * | d10n quit (*.net *.split) |
02:08:05 | * | hecanjog quit (*.net *.split) |
02:08:05 | * | dv^_^ quit (*.net *.split) |
02:08:05 | * | disruptek quit (*.net *.split) |
02:08:05 | * | voltist quit (*.net *.split) |
02:08:05 | * | jxy quit (*.net *.split) |
02:08:05 | * | Cthalupa quit (*.net *.split) |
02:08:05 | * | bacterio quit (*.net *.split) |
02:08:05 | * | sentreen quit (*.net *.split) |
02:08:05 | * | zama quit (*.net *.split) |
02:08:05 | * | screens quit (*.net *.split) |
02:08:05 | * | Amun_Ra quit (*.net *.split) |
02:08:06 | * | OMGOMG quit (*.net *.split) |
02:08:06 | * | pbb quit (*.net *.split) |
02:08:06 | * | bozaloshtsh quit (*.net *.split) |
02:08:06 | * | njoseph quit (*.net *.split) |
02:08:06 | * | enthus1ast quit (*.net *.split) |
02:08:06 | * | l1x quit (*.net *.split) |
02:08:06 | * | hoek quit (*.net *.split) |
02:08:06 | * | npgm_ quit (*.net *.split) |
02:08:06 | * | sirn quit (*.net *.split) |
02:08:06 | * | ormiret quit (*.net *.split) |
02:08:06 | * | fowl quit (*.net *.split) |
02:08:06 | * | jholland__ quit (*.net *.split) |
02:08:06 | * | stever quit (*.net *.split) |
02:08:06 | * | euantor quit (*.net *.split) |
02:08:06 | * | gangstacat quit (*.net *.split) |
02:08:06 | * | blackbeard420 quit (*.net *.split) |
02:08:06 | * | nerthus quit (*.net *.split) |
02:08:06 | * | Yardanico quit (*.net *.split) |
02:08:06 | * | sepplesWoona quit (*.net *.split) |
02:08:06 | * | JStoker quit (*.net *.split) |
02:08:06 | * | letto quit (*.net *.split) |
02:08:06 | * | lmariscal quit (*.net *.split) |
02:08:06 | * | revere quit (*.net *.split) |
02:08:07 | * | idxu quit (*.net *.split) |
02:08:07 | * | shodan45 quit (*.net *.split) |
02:08:07 | * | nickster quit (*.net *.split) |
02:08:07 | * | acidx quit (*.net *.split) |
02:08:07 | * | junland quit (*.net *.split) |
02:08:07 | * | nisstyre quit (*.net *.split) |
02:08:07 | * | GaveUp quit (*.net *.split) |
02:08:07 | * | disbot quit (*.net *.split) |
02:08:07 | * | federico3 quit (*.net *.split) |
02:08:07 | * | shashlick quit (*.net *.split) |
02:08:07 | * | xicheng[m] quit (*.net *.split) |
02:08:07 | * | Zambyte[m] quit (*.net *.split) |
02:08:07 | * | dzamo[m] quit (*.net *.split) |
02:08:08 | * | ChanServ quit (*.net *.split) |
02:08:08 | * | leorize[m] quit (*.net *.split) |
02:08:08 | * | watzon quit (*.net *.split) |
02:08:08 | * | sendell quit (*.net *.split) |
02:08:08 | * | stisa[m] quit (*.net *.split) |
02:08:09 | * | planetis[m] quit (*.net *.split) |
02:08:09 | * | reversem3 quit (*.net *.split) |
02:08:09 | * | GitterIntegratio quit (*.net *.split) |
02:08:09 | * | k0mpjut0r quit (*.net *.split) |
02:08:09 | * | dom96 quit (*.net *.split) |
02:08:09 | * | wowi42 quit (*.net *.split) |
02:08:09 | * | dgb quit (*.net *.split) |
02:08:09 | * | opDispatch quit (*.net *.split) |
02:08:09 | * | ofelas quit (*.net *.split) |
02:08:09 | * | lain quit (*.net *.split) |
02:09:24 | * | nisstyre joined #nim |
02:10:13 | * | mal``` joined #nim |
02:10:13 | * | vicfred joined #nim |
02:10:13 | * | Zevv joined #nim |
02:10:13 | * | Cadey joined #nim |
02:10:13 | * | ldlework joined #nim |
02:10:24 | * | bacterio joined #nim |
02:10:38 | * | d10n-work quit (Ping timeout: 244 seconds) |
02:11:48 | * | slackytude[m] quit (Remote host closed the connection) |
02:11:50 | * | rridley[m] quit (Remote host closed the connection) |
02:11:51 | * | neceve quit (Remote host closed the connection) |
02:11:51 | * | ee7[m] quit (Remote host closed the connection) |
02:11:51 | * | wontruefree[m] quit (Remote host closed the connection) |
02:11:51 | * | lnxw37d4 quit (Remote host closed the connection) |
02:11:51 | * | j4nvkvc quit (Remote host closed the connection) |
02:11:51 | * | Zoom[m] quit (Remote host closed the connection) |
02:11:52 | * | MTRNord[m] quit (Write error: Broken pipe) |
02:11:52 | * | oneark quit (Remote host closed the connection) |
02:11:54 | * | BitPuffin quit (Write error: Connection reset by peer) |
02:11:54 | * | guelosk[m] quit (Write error: Connection reset by peer) |
02:11:54 | * | swamptest1[m] quit (Remote host closed the connection) |
02:11:54 | * | skrylar[m] quit (Remote host closed the connection) |
02:11:56 | * | nerdrat[m] quit (Write error: Connection reset by peer) |
02:11:56 | * | unclechu quit (Remote host closed the connection) |
02:11:56 | * | codic quit (Remote host closed the connection) |
02:11:56 | * | muffindrake quit (Ping timeout: 260 seconds) |
02:12:07 | * | FromDiscord joined #nim |
02:12:07 | * | casaca joined #nim |
02:12:07 | * | so joined #nim |
02:12:07 | * | hecanjog joined #nim |
02:12:07 | * | dv^_^ joined #nim |
02:12:07 | * | disruptek joined #nim |
02:12:07 | * | voltist joined #nim |
02:12:07 | * | jxy joined #nim |
02:12:45 | * | lain joined #nim |
02:13:14 | * | npgm_ joined #nim |
02:13:29 | * | acidx joined #nim |
02:13:29 | * | nickster joined #nim |
02:13:29 | * | shodan45 joined #nim |
02:13:29 | * | idxu joined #nim |
02:13:29 | * | revere joined #nim |
02:13:29 | * | lmariscal joined #nim |
02:13:29 | * | letto joined #nim |
02:13:29 | * | vesper11 joined #nim |
02:13:29 | * | zedeus joined #nim |
02:13:29 | * | kitech1 joined #nim |
02:13:29 | * | Avatarfighter joined #nim |
02:13:29 | * | dmi0 joined #nim |
02:13:29 | * | cornfeedhobo joined #nim |
02:13:29 | * | sagax joined #nim |
02:13:29 | * | Jjp137_ joined #nim |
02:13:29 | * | supakeen joined #nim |
02:13:29 | * | Zectbumo joined #nim |
02:13:29 | * | xet7 joined #nim |
02:13:29 | * | d10n joined #nim |
02:13:29 | * | ofelas joined #nim |
02:13:49 | * | junland joined #nim |
02:13:49 | * | GaveUp joined #nim |
02:13:49 | * | disbot joined #nim |
02:13:49 | * | federico3 joined #nim |
02:13:49 | * | shashlick joined #nim |
02:13:54 | * | dom96 joined #nim |
02:13:54 | * | wowi42 joined #nim |
02:13:54 | * | dgb joined #nim |
02:14:08 | * | pbb joined #nim |
02:14:08 | * | bozaloshtsh joined #nim |
02:14:08 | * | njoseph joined #nim |
02:14:08 | * | enthus1ast joined #nim |
02:14:08 | * | l1x joined #nim |
02:14:08 | * | sirn joined #nim |
02:14:08 | * | ormiret joined #nim |
02:14:08 | * | fowl joined #nim |
02:14:08 | * | jholland__ joined #nim |
02:14:08 | * | stever joined #nim |
02:14:08 | * | euantor joined #nim |
02:14:08 | * | gangstacat joined #nim |
02:14:08 | * | blackbeard420 joined #nim |
02:14:08 | * | nerthus joined #nim |
02:14:08 | * | Yardanico joined #nim |
02:14:08 | * | sepplesWoona joined #nim |
02:14:08 | * | JStoker joined #nim |
02:14:13 | * | d10n-work joined #nim |
02:14:23 | * | Cthalupa joined #nim |
02:14:23 | * | sentreen joined #nim |
02:14:23 | * | zama joined #nim |
02:14:23 | * | screens joined #nim |
02:14:23 | * | OMGOMG joined #nim |
02:14:23 | * | Amun_Ra joined #nim |
02:14:32 | * | Cthalupa quit (*.net *.split) |
02:14:32 | * | sentreen quit (*.net *.split) |
02:14:32 | * | zama quit (*.net *.split) |
02:14:32 | * | screens quit (*.net *.split) |
02:14:32 | * | Amun_Ra quit (*.net *.split) |
02:14:33 | * | OMGOMG quit (*.net *.split) |
02:14:33 | * | pbb quit (*.net *.split) |
02:14:33 | * | bozaloshtsh quit (*.net *.split) |
02:14:33 | * | njoseph quit (*.net *.split) |
02:14:33 | * | enthus1ast quit (*.net *.split) |
02:14:33 | * | l1x quit (*.net *.split) |
02:14:33 | * | sirn quit (*.net *.split) |
02:14:33 | * | ormiret quit (*.net *.split) |
02:14:33 | * | fowl quit (*.net *.split) |
02:14:33 | * | jholland__ quit (*.net *.split) |
02:14:33 | * | stever quit (*.net *.split) |
02:14:33 | * | euantor quit (*.net *.split) |
02:14:33 | * | gangstacat quit (*.net *.split) |
02:14:33 | * | blackbeard420 quit (*.net *.split) |
02:14:33 | * | nerthus quit (*.net *.split) |
02:14:33 | * | Yardanico quit (*.net *.split) |
02:14:33 | * | sepplesWoona quit (*.net *.split) |
02:14:33 | * | JStoker quit (*.net *.split) |
02:14:33 | * | dom96 quit (*.net *.split) |
02:14:33 | * | wowi42 quit (*.net *.split) |
02:14:33 | * | dgb quit (*.net *.split) |
02:14:33 | * | junland quit (*.net *.split) |
02:14:33 | * | GaveUp quit (*.net *.split) |
02:14:33 | * | disbot quit (*.net *.split) |
02:14:33 | * | federico3 quit (*.net *.split) |
02:14:34 | * | shashlick quit (*.net *.split) |
02:14:34 | * | letto quit (*.net *.split) |
02:14:34 | * | lmariscal quit (*.net *.split) |
02:14:34 | * | revere quit (*.net *.split) |
02:14:34 | * | idxu quit (*.net *.split) |
02:14:34 | * | shodan45 quit (*.net *.split) |
02:14:34 | * | nickster quit (*.net *.split) |
02:14:34 | * | acidx quit (*.net *.split) |
02:14:34 | * | d10n quit (*.net *.split) |
02:14:34 | * | xet7 quit (*.net *.split) |
02:14:34 | * | Zectbumo quit (*.net *.split) |
02:14:34 | * | supakeen quit (*.net *.split) |
02:14:34 | * | Jjp137_ quit (*.net *.split) |
02:14:34 | * | sagax quit (*.net *.split) |
02:14:34 | * | cornfeedhobo quit (*.net *.split) |
02:14:34 | * | dmi0 quit (*.net *.split) |
02:14:34 | * | Avatarfighter quit (*.net *.split) |
02:14:34 | * | kitech1 quit (*.net *.split) |
02:14:34 | * | zedeus quit (*.net *.split) |
02:14:34 | * | vesper11 quit (*.net *.split) |
02:14:35 | * | ofelas quit (*.net *.split) |
02:15:43 | * | dom96 joined #nim |
02:15:43 | * | wowi42 joined #nim |
02:15:43 | * | dgb joined #nim |
02:15:53 | * | LyndsySimon quit (Ping timeout: 244 seconds) |
02:16:46 | * | d10n joined #nim |
02:16:46 | * | xet7 joined #nim |
02:16:46 | * | Zectbumo joined #nim |
02:16:46 | * | supakeen joined #nim |
02:16:46 | * | Jjp137_ joined #nim |
02:16:46 | * | sagax joined #nim |
02:16:46 | * | cornfeedhobo joined #nim |
02:16:46 | * | dmi0 joined #nim |
02:16:46 | * | Avatarfighter joined #nim |
02:16:46 | * | kitech1 joined #nim |
02:16:46 | * | zedeus joined #nim |
02:16:46 | * | vesper11 joined #nim |
02:16:51 | * | matlock quit (Ping timeout: 244 seconds) |
02:17:22 | * | matti quit (Ping timeout: 260 seconds) |
02:18:44 | * | junland joined #nim |
02:18:44 | * | GaveUp joined #nim |
02:18:44 | * | disbot joined #nim |
02:18:44 | * | federico3 joined #nim |
02:18:44 | * | shashlick joined #nim |
02:19:07 | * | Cthalupa joined #nim |
02:19:07 | * | sentreen joined #nim |
02:19:07 | * | zama joined #nim |
02:19:07 | * | screens joined #nim |
02:19:07 | * | OMGOMG joined #nim |
02:19:07 | * | Amun_Ra joined #nim |
02:19:08 | * | d10n-work quit (Ping timeout: 260 seconds) |
02:19:19 | * | letto joined #nim |
02:19:19 | * | lmariscal joined #nim |
02:19:19 | * | revere joined #nim |
02:19:19 | * | idxu joined #nim |
02:19:19 | * | shodan45 joined #nim |
02:19:19 | * | nickster joined #nim |
02:19:19 | * | acidx joined #nim |
02:19:26 | * | pbb joined #nim |
02:19:26 | * | bozaloshtsh joined #nim |
02:19:26 | * | njoseph joined #nim |
02:19:26 | * | enthus1ast joined #nim |
02:19:26 | * | ormiret joined #nim |
02:19:26 | * | fowl joined #nim |
02:19:26 | * | jholland__ joined #nim |
02:19:26 | * | stever joined #nim |
02:19:26 | * | gangstacat joined #nim |
02:19:26 | * | blackbeard420 joined #nim |
02:19:26 | * | nerthus joined #nim |
02:19:26 | * | Yardanico joined #nim |
02:19:26 | * | sepplesWoona joined #nim |
02:19:26 | * | JStoker joined #nim |
02:19:31 | * | LyndsySimon joined #nim |
02:19:31 | * | LyndsySimon quit (Changing host) |
02:19:31 | * | LyndsySimon joined #nim |
02:19:32 | rayman22201 | the plugin system in feud is amazing. It really is a good design! |
02:19:33 | * | k0mpjut0r joined #nim |
02:20:11 | * | opDispatch joined #nim |
02:20:17 | * | lain is now known as Guest38839 |
02:20:20 | * | d10n-work joined #nim |
02:20:29 | * | hoek joined #nim |
02:20:29 | * | hoek quit (Changing host) |
02:20:29 | * | hoek joined #nim |
02:20:34 | * | d10n-work quit (Changing host) |
02:20:34 | * | d10n-work joined #nim |
02:20:42 | * | Tlongir joined #nim |
02:21:03 | * | ofelas joined #nim |
02:21:06 | * | Tlongir quit (Remote host closed the connection) |
02:21:09 | * | Guest38839 quit (Quit: kthxbai) |
02:21:29 | * | Tlongir joined #nim |
02:21:30 | * | euantor joined #nim |
02:21:54 | * | laintree joined #nim |
02:22:05 | * | laintree is now known as lain |
02:22:14 | * | Cthalupa quit (Ping timeout: 248 seconds) |
02:22:49 | * | sirn joined #nim |
02:23:27 | * | npgm_ quit (Ping timeout: 244 seconds) |
02:23:32 | * | matlock joined #nim |
02:23:35 | * | l1x joined #nim |
02:24:46 | * | Cthalupa joined #nim |
02:25:31 | * | matti joined #nim |
02:26:05 | * | npgm_ joined #nim |
02:35:29 | shashlick | @leorize - writing to stdin is not feasible since Nim won't know when the input is done and will wait forever - typically when you use --stdin, the writer exits which results in stdin closing |
02:35:49 | shashlick | cat file | nim --stdin <= cat exits closing the pipe |
02:35:50 | leorize | just close() the inputStream |
02:36:22 | shashlick | okay let me try - even without these tricks, all my tests are passing |
02:36:41 | shashlick | simply because we are including the nimble file, anything run in that file seems to work fine |
02:36:52 | shashlick | i've tried import, gorgeEx and cpFile/rmFile |
02:37:02 | leorize | nice |
02:37:26 | shashlick | of course, i'm running my test in that working directory anyway |
02:37:59 | shashlick | i think the real test is running some install commands since there, working dir changes to the path where nimble clones the repo |
02:39:39 | leorize | nimble has an install test |
02:39:49 | shashlick | true that |
02:39:59 | shashlick | i'm also running the important packages test locally |
02:40:06 | shashlick | and here - https://github.com/nim-lang/Nim/pull/15053 |
02:40:06 | disbot | ➥ Bump nimble commit |
02:40:27 | shashlick | i don't know if it is worth changing the calling code to avoid creating the nims file |
02:40:42 | shashlick | it is only created once for a repo for a given nimble version |
02:41:31 | shashlick | i need to cache the ini file anyway since I cannot read package info from stdout - i have to write it to a file |
02:43:20 | shashlick | here's why - https://github.com/nim-lang/nimble/issues/665 |
02:43:23 | disbot | ➥ Invalid section: . ; snippet at 12https://play.nim-lang.org/#ix=2sgY |
02:44:22 | leorize | sounds fine enough |
02:45:06 | shashlick | okay, am going to deliver this, let's see if people find issues |
02:51:32 | * | codic joined #nim |
02:51:32 | * | Zambyte[m] joined #nim |
02:51:32 | * | nerdrat[m] joined #nim |
02:51:32 | * | j4nvkvc joined #nim |
02:51:32 | * | leorize[m] joined #nim |
02:51:33 | * | unclechu joined #nim |
02:51:33 | * | MTRNord[m] joined #nim |
02:51:33 | * | guelosk[m] joined #nim |
02:51:33 | * | planetis[m] joined #nim |
02:51:33 | * | BitPuffin joined #nim |
02:51:33 | * | oneark joined #nim |
02:51:33 | * | reversem3 joined #nim |
02:51:33 | * | dzamo[m] joined #nim |
02:51:33 | * | GitterIntegratio joined #nim |
02:51:34 | * | lnxw37d4 joined #nim |
02:51:34 | * | watzon joined #nim |
02:51:38 | * | skrylar[m] joined #nim |
02:51:39 | * | rridley[m] joined #nim |
02:51:39 | * | neceve joined #nim |
02:51:39 | * | swamptest1[m] joined #nim |
02:51:39 | * | Zoom[m] joined #nim |
02:51:39 | * | ee7[m] joined #nim |
02:51:40 | * | slackytude[m] joined #nim |
02:51:40 | * | wontruefree[m] joined #nim |
02:51:40 | * | stisa[m] joined #nim |
02:51:40 | * | xicheng[m] joined #nim |
02:51:40 | * | sendell joined #nim |
02:56:05 | * | lritter_ joined #nim |
02:56:31 | * | lritter quit (Ping timeout: 244 seconds) |
03:05:23 | * | endragor quit (Read error: Connection reset by peer) |
03:05:35 | * | endragor joined #nim |
03:19:45 | * | endragor quit (Read error: Connection reset by peer) |
03:23:45 | * | endragor joined #nim |
03:28:07 | * | aurelius joined #nim |
03:45:32 | * | maier joined #nim |
03:48:42 | * | Zectbumo quit (Remote host closed the connection) |
03:50:34 | * | maier quit (Ping timeout: 260 seconds) |
03:52:19 | * | muffindrake joined #nim |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.8) |
04:06:42 | * | supakeen joined #nim |
04:26:34 | * | NimBot joined #nim |
04:28:58 | * | hyiltiz_ joined #nim |
04:35:10 | * | hyiltiz_ quit (Quit: hyiltiz_) |
04:52:53 | * | narimiran joined #nim |
04:53:14 | * | narimiran quit (Remote host closed the connection) |
04:58:11 | * | Tlongir quit (Read error: Connection reset by peer) |
05:46:26 | * | maier joined #nim |
05:51:05 | * | maier quit (Ping timeout: 240 seconds) |
06:03:33 | * | solitudesf joined #nim |
06:45:22 | * | marnix joined #nim |
06:46:50 | * | marnix quit (Client Quit) |
06:46:58 | * | marnix joined #nim |
06:59:58 | FromGitter | <gogolxdong> D |
07:01:39 | FromGitter | <gogolxdong> Does anyone has the compile time comparing between Rust and Nim? |
07:02:44 | * | marnix quit (Ping timeout: 256 seconds) |
07:03:49 | FromGitter | <gogolxdong> @Araq check Skype. |
07:04:34 | skrylar[m] | compiling hello world with gtk-rs took over 15 seconds |
07:04:53 | skrylar[m] | the same thing in mine w/ nim is about <1 |
07:05:47 | * | lritter_ quit (Ping timeout: 240 seconds) |
07:07:42 | Yardanico | @gogolxdong tldr: nim is definitely faster |
07:08:33 | FromGitter | <gogolxdong> For supporting decisions of rewriting big project in Rust or Nim. |
07:09:19 | Yardanico | anyway I finally feel like i have enough motivation to parse nim irc logs |
07:09:22 | Yardanico | into a single nice sqlite db |
07:09:50 | skrylar[m] | nim can of course build slow if you have macros doing too much |
07:09:58 | Yardanico | wonder about the structure, just plain timestamp, username, message (optionally) bridge name |
07:10:02 | Yardanico | what else could me needed? |
07:10:04 | Yardanico | I mean columns |
07:10:09 | skrylar[m] | i sometimes avoid using nimble packages because they end up pulling some random module that bogs down the build time :/ |
07:10:29 | skrylar[m] | like import unittest adds seconds to build, but just emitting TAP doesn't |
07:11:11 | FromGitter | <gogolxdong> I've written some middle projects in Nim and has some experiences, but not enough in Rust. |
07:11:24 | skrylar[m] | rust is permanently hosed by the sufficiently smart compiler ethos which says we don't fix bugs we just punt them to llvm and let it choke on all the extra shit we emit |
07:11:40 | skrylar[m] | well, the bugs they fix. but they don't consider slow builds a bug per se |
07:11:44 | Yardanico | @gogolxdong I feel like rust would almost always end slower |
07:11:49 | Yardanico | because of all the borrow checking story |
07:11:57 | Yardanico | and other parts which contribute to total speed |
07:12:16 | Yardanico | tbf nim also does a lot of compile time checking |
07:12:19 | Yardanico | especially with arc |
07:12:35 | skrylar[m] | nim has less layers of middlemen afaik |
07:12:38 | Yardanico | data flow analysis, sink inference, cursor inference, injecting destructors, optimizing them |
07:12:58 | skrylar[m] | rust actually goes through a couple layers of IRs |
07:13:36 | Yardanico | well we need an IR for nim too |
07:13:49 | skrylar[m] | sure most languages have one |
07:13:56 | Yardanico | right now our IR is AST :D |
07:14:16 | skrylar[m] | rust has an ast which becomes some other ir which goes through yet more things and then goes to llvm-ir which then goes through yet more pipeline |
07:15:50 | FromGitter | <gogolxdong> just tell me some points for backing Nim. |
07:16:01 | Yardanico | speed violence momentum |
07:16:05 | Yardanico | ah wait sorry wrong chat |
07:16:10 | skrylar[m] | the build times for gtk put me off the language more or less forever though. it literally takes less time to just bumble through all the problems rust saves you in Go because you at least get stupid quick turnarounds in go >_< |
07:17:38 | skrylar[m] | well nim is basically compiled python and so its probably easy to retrofit python engineers |
07:17:48 | Zevv | I heard some madmen was actually using C as IR for Nim for some experiments, recently |
07:17:48 | Yardanico | skrylar[m]: please don't say it like that :c |
07:18:01 | skrylar[m] | Yardanico: they wanted PR speak |
07:18:03 | Yardanico | we shouldn't advertise nim as "compiled python" too much |
07:18:08 | Yardanico | we already get too much confusion because of it |
07:18:14 | skrylar[m] | i use it because it's the least painful of the languages available |
07:18:37 | Yardanico | Zevv: yeah i've seen it too |
07:18:42 | Yardanico | he's a crazy man /s |
07:19:51 | * | nikita` joined #nim |
07:20:21 | Yardanico | Zevv: at least we'll soon get some SIMD stuff for the stdlib thanks to these crazy experiments :) |
07:20:26 | Yardanico | well, idk how "soon" |
07:20:34 | Yardanico | for parsing |
07:22:30 | FromDiscord | <Elegant Beef> Then there is me who says "It's C but written nicer" 😄 |
07:22:42 | Yardanico | I mean you can use Nim as a "better C" |
07:22:47 | Yardanico | there's nothing stopping you |
07:23:09 | Yardanico | and you'll still get nice stuff like generics/metaprogramming/overloading/etc |
07:23:21 | Yardanico | just ust manual memory allocation, ptr, cstring, etc |
07:23:30 | FromDiscord | <Elegant Beef> I think what i say is more accurate than "Python but compiled" 😄 |
07:23:42 | Yardanico | nim is Object Pascal done right |
07:23:44 | Yardanico | change my mind /s |
07:24:24 | FromDiscord | <Elegant Beef> Cause if someone told me that nim was python but compiled, i would've ran the otherway screaming "Dynamic typing is the devils type system" |
07:24:40 | Yardanico | well python's typing story is at least better than in JS |
07:24:55 | Yardanico | in python you can't + a number with a string |
07:25:06 | FromDiscord | <Elegant Beef> Yea it's strongly typed |
07:25:11 | Yardanico | strong duck typing |
07:25:13 | FromDiscord | <Elegant Beef> But it's strongly dynamically typed |
07:25:38 | Yardanico | JS: |
07:25:44 | Yardanico | '\t' + 0 is |
07:25:47 | Yardanico | '\t0' |
07:25:51 | Yardanico | '\t' == 0 is true |
07:26:00 | FromDiscord | <Elegant Beef> Oh i know how bad js is |
07:26:09 | FromDiscord | <Elegant Beef> But i dont think of pythons type system as much better |
07:27:11 | * | Vladar joined #nim |
07:27:41 | Yardanico | ❰dian❙~/Projects/logcheck❱✔≻ du -sh ircologs/ 2.4G ircologs/ |
07:27:45 | Yardanico | ok time to process those bad boys |
07:33:59 | * | marnix joined #nim |
07:36:17 | Yardanico | I guess I feel like streaming a bit |
07:36:22 | Yardanico | having fun with these irc logs |
07:37:42 | * | fredrikhr joined #nim |
07:38:30 | Yardanico | ~ystream |
07:38:30 | 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 |
07:46:55 | Zevv | disruptek: I need a 'break' |
07:47:20 | * | maier joined #nim |
07:52:11 | * | maier quit (Ping timeout: 240 seconds) |
07:52:52 | Oddmonger | that's better than a goto |
08:27:16 | * | ehmry joined #nim |
08:32:45 | * | Trustable joined #nim |
08:52:42 | * | oddp joined #nim |
08:59:13 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
08:59:37 | * | pbb joined #nim |
09:05:34 | * | WilhelmVonWeiner quit (Read error: Connection reset by peer) |
09:05:35 | FromDiscord | <Rika> anyone here know of a nim library that can do gif decoding? |
09:07:26 | * | marnix quit (Ping timeout: 260 seconds) |
09:12:31 | Oddmonger | i thought there were a wrapper for imagemagick, but i'm not sure |
09:13:10 | FromDiscord | <Rika> there deffo is, nice |
09:13:27 | Oddmonger | maybe this one , too: https://github.com/zedeus/nimagemagick |
09:13:48 | * | krux02 joined #nim |
09:14:00 | FromDiscord | <Rika> eh, hm, i'm still concerned since i dont need any sort of encoding or manipulation, only decoding |
09:14:22 | alehander92 | zevv |
09:14:26 | alehander92 | no `continue` today |
09:14:30 | FromDiscord | <Rika> i'm considering just porting https://github.com/lecram/gifdec since its "just 500 lines long" |
09:18:52 | * | marnix joined #nim |
09:20:19 | bung | alehander92 jsgen mapping enum directly to int ? |
09:21:31 | alehander92 | well, to what else |
09:23:27 | Zevv | alehander92: wut? |
09:23:40 | alehander92 | joking with the i need a break |
09:23:44 | Zevv | oh yeaah |
09:23:44 | Zevv | right |
09:24:06 | alehander92 | today i need to write a bit of my typestate rfc |
09:24:15 | alehander92 | and learn more haskell |
09:24:34 | alehander92 | and continue with the c++ project/other stuff |
09:24:39 | alehander92 | what are your plans guys |
09:24:40 | bung | I compare the ccgtypes much more code than jsgen handle enum |
09:24:48 | Zevv | all those plans |
09:24:49 | alehander92 | before i've decided to just stay and eat |
09:24:51 | Zevv | such initiative |
09:24:53 | alehander92 | yeah yeah |
09:25:04 | alehander92 | i am a man without a job |
09:25:06 | alehander92 | i make plans |
09:25:10 | alehander92 | and then i eat |
09:25:24 | alehander92 | don't do it my way |
09:30:00 | Yardanico | again hit the same strscans bug |
09:30:06 | Yardanico | need to fix it I guess |
09:30:20 | Yardanico | or maybe I'm doing it wrong |
09:30:32 | Yardanico | so - string "<abcd> O" doesn't match the pattern "<$+> $+" |
09:30:35 | Yardanico | while I think it should |
09:30:54 | Yardanico | $+ means one or more |
09:30:56 | Yardanico | "O" is exactly one |
09:33:21 | * | Allain joined #nim |
09:36:26 | alehander92 | bung hmm |
09:36:34 | alehander92 | yeah i guess its harder for c backend? |
09:36:42 | alehander92 | hm yardanico debug |
09:36:50 | Yardanico | its essentially the same issue as in https://github.com/nim-lang/Nim/issues/13605 |
09:36:52 | disbot | ➥ strscan can't get value of last element in format ; snippet at 12https://play.nim-lang.org/#ix=2shy |
09:36:55 | Yardanico | but Araq fixed that one it seems |
09:38:09 | bung | alehander92 am thinking the other side, maybe jsgen handle less conditions than c |
09:40:04 | bung | in #13602 it generate nothing in else branch |
09:40:05 | disbot | https://github.com/nim-lang/Nim/issues/13602 -- 3[JS] String is undefined ; snippet at 12https://play.nim-lang.org/#ix=2rNk |
09:45:28 | Yardanico | so I fixed that strscans bug |
09:45:32 | Yardanico | but not sure if the fix is correct |
09:45:35 | Yardanico | basically it's an edge case |
09:47:17 | Yardanico | should I add new test for strscans in strscans itself? |
09:47:25 | Yardanico | AFAIK the testament tests stdlib modules like that |
09:48:09 | * | maier joined #nim |
09:50:34 | * | dddddd joined #nim |
09:53:18 | * | maier quit (Ping timeout: 256 seconds) |
10:09:14 | FromDiscord | <Shucks> Does arc work with threads? |
10:09:54 | Yardanico | yes |
10:09:56 | Yardanico | of course |
10:10:00 | Yardanico | but you need devel for latest fixes :) |
10:10:42 | FromDiscord | <Shucks> Oh. Well gonna wait for 1.2.5 then ;p |
10:10:49 | Yardanico | ehm |
10:10:58 | Yardanico | you'll have to wait for 1.4 :) |
10:11:02 | FromDiscord | <Shucks> ugh |
10:11:04 | Yardanico | 1.2 will only get _fixes_ |
10:11:08 | Yardanico | not _new features_ |
10:11:29 | Yardanico | that's how versioning works :) |
10:12:20 | FromDiscord | <Shucks> wait. Choosenim should be able to bring me directly to devel right |
10:12:33 | Yardanico | yes if you choose the absolute latest one |
10:12:39 | Yardanico | --latest or something like that |
10:13:26 | * | dmi0 quit (Remote host closed the connection) |
10:13:45 | * | dmi0 joined #nim |
10:20:17 | Yardanico | and I'm pretty successfull with my log parsing stuff |
10:20:25 | Yardanico | I'm mostly writing stuff for edge cases |
10:20:52 | Yardanico | e.g. for /me or when FromGitter splits messages |
10:21:15 | Yardanico | the resulting sqlite db is only ~100mb long |
10:21:56 | Yardanico | and has ~1.15 million messages |
10:22:08 | * | arecacea1 quit (Remote host closed the connection) |
10:22:31 | * | arecacea1 joined #nim |
10:24:12 | Yardanico | https://i.imgur.com/3Dc8u1U.png |
10:25:07 | * | waleee-cl joined #nim |
10:28:15 | * | arecacea1 quit (Remote host closed the connection) |
10:28:48 | * | arecacea1 joined #nim |
10:29:22 | leorize | shashlick: looks like there's an oversight with the nimble change |
10:30:05 | leorize | `thisDir()` will still point to the generated `.nims` file, and at least GULPF/timezones depends on this |
10:34:20 | FromDiscord | <Clyybber> Zevv: Did you try with gc:arc? |
10:36:03 | Zevv | sure |
10:36:29 | Zevv | but its the transformations going wrong |
10:36:50 | Zevv | I was nagging disruptek about that yesterday. He's concentrating on all the fun parts like event queues and syncs and all |
10:37:03 | Zevv | but it's all about the transforms for now. That needs to be solid, otherwise the rest is just useless |
10:37:20 | Zevv | problem is that I'm kind of lost in his code flow, it's not like, trivial |
10:37:50 | Zevv | I think my snippet makes sense, it's the most basic building block for doing multiple client tcp server |
10:38:08 | Zevv | if that works it should be rather easily extendable to a HTTP server doing some actual work |
10:39:46 | FromDiscord | <Clyybber> I'm just wondering , because regardless of the transforms we *shouldn't* be getting C codegen errors right? |
10:39:58 | Zevv | no sure. you should never |
10:40:30 | Zevv | but this is what comes out now:http://ix.io/2shM |
10:40:44 | Zevv | it's just broken AST |
10:40:54 | Zevv | of course that should probably detected before trying to make C out of that |
10:40:57 | Zevv | but that's another story |
10:41:07 | Zevv | note the two empty procs |
10:41:29 | FromDiscord | <Clyybber> ah alright |
10:41:44 | Zevv | and procs with double returns |
10:45:14 | * | Ven`` joined #nim |
10:45:27 | FromDiscord | <Clyybber> that shouldn't do no harm to the generated code at least |
10:46:24 | FromDiscord | <Clyybber> since its now allowed actually |
10:57:16 | Zevv | oh is it |
11:00:42 | * | Allain left #nim ("Leaving") |
11:04:51 | FromGitter | <antonkatz> Trying to pick a gui lib, between Nimx and Fidget for a small project. Any issues with either library I should be aware of? Any specific/general advice? (PS. This will be my first gui project in Nim, I'm new) |
11:04:54 | Yardanico | can you add two DateTime's ? |
11:04:59 | Yardanico | sorry didnt mean to send that |
11:06:58 | FromGitter | <antonkatz> Also, do either of these libraries use GLFM/GLFW? |
11:07:59 | FromGitter | <antonkatz> Sorry, stupid question I know that Nimx uses SDL2 |
11:08:54 | * | marnix quit (Read error: Connection reset by peer) |
11:10:28 | * | marnix joined #nim |
11:12:43 | FromDiscord | <Clyybber> hmm, I wonder if its really the empty proc body throwing it off, might actually just be a render bug |
11:13:20 | Zevv | sure, but if repr is confused, the ast is likely flakey |
11:13:28 | Zevv | its not something nim would construct from its own parser |
11:13:49 | Zevv | there's no formal grammar check against ast, is there |
11:13:54 | Zevv | it comes in and all the parts hope for the best |
11:14:20 | Zevv | I can generate 6 different ast which all render to the same repr |
11:14:35 | * | marnix quit (Ping timeout: 240 seconds) |
11:14:58 | FromDiscord | <Clyybber> Hmm, but a procdef with an empty body is the right way to generate a declaration |
11:15:07 | Zevv | not with the = at the end |
11:15:18 | FromDiscord | <Clyybber> I mean it terms of ast |
11:15:29 | FromDiscord | <Clyybber> We don't know if the `=` might not actually come from the renderer |
11:15:39 | Zevv | oh right |
11:18:10 | FromDiscord | <Clyybber> hmm, seems like the renderer is correct |
11:18:14 | FromDiscord | <Clyybber> must be something in the ast |
11:18:33 | * | fredrikhr quit (Read error: Connection reset by peer) |
11:18:57 | * | fredrikhr joined #nim |
11:19:41 | Yardanico | https://i.imgur.com/8t3RqJo.png added parsing for old .html logs |
11:19:51 | Yardanico | as you can see there's 1.28 million messages total |
11:20:02 | Yardanico | (I excluded the join/leave, etc, only actual messages and /me actions) |
11:20:25 | Zevv | clybber: statistically, it's rather likely it's the ast |
11:20:44 | Zevv | either the compiler, used by a lots of people, has a bug. Or new code from a single author doing weird things makes broken AST |
11:20:49 | Zevv | if I had to bet my neck |
11:20:57 | Zevv | I think on which one to place the bet |
11:21:13 | FromDiscord | <Clyybber> yeah, its the AST |
11:22:31 | FromDiscord | <Clyybber> found the issue |
11:22:36 | FromDiscord | <Clyybber> the body is not an nkEmpty |
11:22:49 | FromDiscord | <Clyybber> but an nkStmtList |
11:22:59 | FromDiscord | <Clyybber> and somehow it has a trailing nkSym "result" node :p |
11:23:05 | FromDiscord | <Clyybber> which is not in the nkStmtList :D |
11:25:05 | Zevv | right |
11:25:24 | Zevv | well, so either I try to dive in and grok all this stuff again |
11:25:34 | Zevv | or wait for mr disruptek to wake up and smell the coffee |
11:25:38 | Zevv | choices, choices |
11:25:56 | FromDiscord | <Clyybber> or I do it :p |
11:25:58 | FromDiscord | <Clyybber> I'll try |
11:28:03 | Zevv | yeaaah, that worked \o/ |
11:28:33 | * | marnix joined #nim |
11:28:49 | FromDiscord | <Clyybber> haha :D |
11:29:35 | Zevv | I did three or four implementations from scratch on this, but in the end always failed. The current stuff is kind of derived from all that, but I can't recognize any of it :) |
11:33:31 | FromDiscord | <Clyybber> its just a matter of turning a when false into a when true :p |
11:33:40 | Zevv | no dude |
11:33:40 | FromDiscord | <Clyybber> but that when false had its reasons, |
11:33:42 | Zevv | it's never that simple |
11:33:47 | FromDiscord | <Clyybber> because now its getting internal errors |
11:33:51 | Zevv | hah |
11:34:07 | Yardanico | guess top 3 users by the count of messages in total? |
11:34:10 | Yardanico | in the main nim chat |
11:34:32 | Zevv | since when |
11:34:44 | Yardanico | since all time NimBot was logging the channel |
11:35:01 | Zevv | disruptek can't be #1 |
11:35:15 | Zevv | Yardanico: gimme the logs! |
11:35:20 | Zevv | lemme graph |
11:35:21 | Yardanico | I already parsed them |
11:35:23 | Yardanico | into an sqlite db :) |
11:35:26 | Zevv | I don't care |
11:35:28 | Yardanico | ALL IRC LOGS |
11:35:29 | Zevv | gimme the logs! |
11:35:31 | Yardanico | I even parsed the bridges |
11:35:37 | Yardanico | its a nice 116mb sqlite db |
11:35:38 | Zevv | ok, gimme the db |
11:35:52 | Yardanico | Zevv: disruptek is #5 |
11:35:54 | Yardanico | I'm apparently #3 |
11:35:58 | Yardanico | Araq is obviously #1 |
11:35:59 | Yardanico | dom #2 |
11:36:01 | Yardanico | https://i.imgur.com/lsenio8.png |
11:36:13 | Yardanico | of course it's higher for zachary in reality |
11:36:18 | Yardanico | because his discord name is different |
11:36:26 | Zevv | fix that in your db |
11:36:29 | Yardanico | no |
11:36:31 | Zevv | one user has multiple nicks |
11:36:33 | Yardanico | later :P |
11:36:33 | FromDiscord | <Rika> LOL |
11:36:41 | Yardanico | I can yes |
11:36:46 | Yardanico | rika is #22 |
11:36:58 | Yardanico | clyybber is #19 |
11:37:06 | Zevv | I know 11 of them, met 6 of them |
11:37:15 | Zevv | not bad |
11:37:26 | Zevv | they should invite me to #nim-insiders |
11:37:38 | FromDiscord | <lqdev> Yardanico: am I really that inactive? :P |
11:37:43 | Yardanico | lemme see |
11:37:46 | Zevv | no you changed your nick a dozen times |
11:37:52 | Yardanico | top 45 |
11:37:54 | FromDiscord | <lqdev> one time. |
11:37:55 | Yardanico | for lqdev nickname |
11:37:55 | FromDiscord | <Clyybber> Zevv: You *are* in nim-insiders :p |
11:37:57 | FromDiscord | <lqdev> for a bit. |
11:37:59 | Zevv | I think it's save to map everything with a 'q' to mqdev |
11:38:04 | Zevv | \o/ |
11:38:06 | Zevv | lqdev |
11:38:21 | Yardanico | of course i'll do a nickname mapping |
11:38:26 | Yardanico | its obvious |
11:38:34 | Yardanico | like 4raq has had nicknames like |
11:38:37 | Yardanico | 4raq__ |
11:38:39 | Yardanico | double underscore |
11:38:48 | Yardanico | or 4raq_win |
11:39:12 | Yardanico | with 4 = a |
11:39:39 | leorize | I'm a bit higher up on the list than I expected lol |
11:41:05 | Yardanico | i'm much higher on the list than I expected :P |
11:41:14 | FromDiscord | <Clyybber> well yes |
11:41:15 | FromDiscord | <Clyybber> :p |
11:42:15 | Yardanico | we have messages from ~5000 users in total |
11:42:21 | Yardanico | it's counting discord/gitter/irc |
11:46:23 | * | nisstyre quit (Changing host) |
11:46:23 | * | nisstyre joined #nim |
11:47:34 | Zevv | Hm I have a template with the same name as a pragma used on procs |
11:47:36 | Yardanico | updated it a bit (stripping _ and lowercase) |
11:47:38 | Yardanico | https://i.imgur.com/F4M5cLe.png |
11:47:39 | Zevv | what should that do? |
11:47:48 | * | Trustable quit (Remote host closed the connection) |
11:47:51 | Yardanico | Zevv: you're #16 btw |
11:47:55 | Zevv | thansk |
11:48:01 | * | marnix quit (Ping timeout: 265 seconds) |
11:48:01 | FromDiscord | <Clyybber> @Zevv Its getting applied to the proc |
11:48:14 | Zevv | oh I never new that |
11:48:14 | FromDiscord | <Clyybber> proc f() {.someTemplate.} = |
11:48:17 | * | marnix joined #nim |
11:48:23 | Zevv | I thought that was macro only |
11:48:25 | FromDiscord | <Clyybber> will be ↵someTemplate:↵ proc f() = |
11:48:31 | FromDiscord | <Clyybber> nope, its macro and template |
11:48:36 | Zevv | pff what a messy language this nim is |
11:48:46 | FromDiscord | <Clyybber> hey, thats consistent :p |
11:49:01 | * | maier joined #nim |
11:49:25 | FromDiscord | <Clyybber> I think even async is a template now |
11:49:36 | Yardanico | yes |
11:49:37 | FromDiscord | <Clyybber> which in turn then uses macros :p |
11:50:28 | Zevv | so, you got the ICE fixed yet? :) |
11:50:33 | FromDiscord | <Clyybber> not yet |
11:50:38 | FromDiscord | <Clyybber> its something with forward decls |
11:50:53 | FromDiscord | <Clyybber> might actually be a compiler bug |
11:51:09 | Zevv | well, technically it is |
11:51:17 | Zevv | if you ICe the compiler, even with borked AST, it's not right |
11:51:23 | FromDiscord | <Clyybber> sent a code paste, see https://play.nim-lang.org/#ix=2shV |
11:51:50 | FromDiscord | <Clyybber> Zevv: I mean its still somewhat a fine error message, it says error: still forwarded: loop |
11:51:52 | Zevv | minimize that |
11:51:57 | FromDiscord | <Clyybber> on it |
11:53:24 | Yardanico | @lqdev you're liquid600pgm right? |
11:53:32 | FromDiscord | <lqdev> yes |
11:54:07 | * | maier quit (Ping timeout: 246 seconds) |
11:54:23 | Zevv | "everthing with a l and a q" |
11:54:36 | FromDiscord | <haxscramper> Is it possible to download all threads/messages on nim forum without just scraping everything manually? |
11:55:05 | leorize | !repo nimforum |
11:55:06 | disbot | https://github.com/nim-lang/nimforum -- 9nimforum: 11Lightweight alternative to Discourse written in Nim 15 485⭐ 44🍴 7& 2 more... |
11:55:11 | leorize | read the source i guess :P |
11:55:33 | Yardanico | @haxscramper no |
11:55:37 | Yardanico | only if you ask dom for the DB :P |
11:55:48 | Yardanico | and you can request json which is of course faster than doing html |
11:55:55 | Zevv | lqdev lqdev[m] liquid600pgm lqdev[a] liblq-dev |
11:56:04 | Yardanico | e.g. check https://github.com/Yardanico/nimeventer |
11:56:08 | leorize | and it's not like you can do html scraping either :P |
11:56:08 | Yardanico | Zevv: I handle [m] btw |
11:56:16 | Yardanico | leorize: ah right LOL |
11:56:20 | * | Zevv is now known as Zevv[m] |
11:56:20 | Zevv[m] | cool |
11:56:33 | FromDiscord | <lqdev> Zevv: `patt('l' * *1 * 'q' * *1)` |
11:56:45 | Zevv[m] | right |
11:56:59 | Zevv[m] | too bad your *1 is greedy |
11:57:06 | FromDiscord | <lqdev> ah shit |
11:57:07 | FromDiscord | <lqdev> my bad |
11:57:13 | Yardanico | lol |
11:57:15 | FromDiscord | <lqdev> i'm too used to regexes :P |
11:57:19 | Zevv[m] | keep it like that |
11:57:22 | Yardanico | also 4raq had nicknames |
11:57:24 | Yardanico | 4raq_win |
11:57:25 | Yardanico | 4raq0 |
11:57:34 | FromDiscord | <lqdev> `patt('l' * (*1 - 'q') * 'q' * *1)` |
11:57:35 | FromDiscord | <lqdev> there. |
11:57:35 | Yardanico | 4raqintrouble |
11:57:53 | Yardanico | https://i.imgur.com/JMPM0HC.png |
11:57:53 | Yardanico | ????? |
11:58:10 | FromDiscord | <haxscramper> I just thought about downloading nim forum and indexing all messages using full-text search (like recoll for example) |
11:58:23 | Yardanico | yeah forum contains a lot of useful info |
11:58:26 | Yardanico | which is hard to search for |
11:58:48 | FromDiscord | <haxscramper> @Yardanico Did you include telegram messages in database? Telegram *finally* added JSON export (since 2.1.8) |
11:58:56 | Yardanico | no, I only included all bridged ones |
11:59:01 | Yardanico | so FromGitter + FromDiscord + IRC |
11:59:05 | Yardanico | telegram was never bridged to #nim |
11:59:21 | FromDiscord | <Kiloneie> Is it possible to connect to the forum and post in it ? ( i am guessing there is some code to prevent bots and all ?) |
11:59:28 | Yardanico | no lol |
11:59:41 | Yardanico | there's no captchas or all that |
11:59:44 | Yardanico | it's simply moderated |
11:59:55 | Yardanico | if you just registered and post - moderator has to approve you |
11:59:58 | Yardanico | manually |
12:00:11 | FromDiscord | <Kiloneie> Okay so i could post via program on my behalf right ? |
12:00:15 | Yardanico | yes of course |
12:00:30 | FromDiscord | <haxscramper> Write shell script that compiles your code and automatically searches for all compilation errors on nim forum + IRC + telegram + SO |
12:00:56 | FromDiscord | <Kiloneie> Okay will do that some day( so i can schedule my videos and posts so people may know when they are up, not many subs just yet xD) |
12:01:06 | Yardanico | https://i.imgur.com/C8cOFV7.png |
12:02:04 | Yardanico | is alehander92 == alehander42 ? |
12:02:18 | FromDiscord | <lqdev> yes |
12:02:36 | Zevv[m] | but not alexander42 |
12:02:41 | Yardanico | lol |
12:02:46 | FromDiscord | <lqdev> hold on |
12:02:52 | FromDiscord | <lqdev> when did I use the name liquid600pgm? |
12:02:56 | FromDiscord | <lqdev> gitter? |
12:03:16 | FromDiscord | <Clyybber> yeah |
12:03:20 | Yardanico | you never did actually |
12:03:29 | Yardanico | its not in the DB :P |
12:03:30 | Oddmonger | how to give an executable name in a nim .cfg ? |
12:03:35 | FromDiscord | <Clyybber> github then |
12:03:36 | Yardanico | -o:name |
12:03:38 | Oddmonger | i tried out=foo.exe |
12:03:42 | Yardanico | or this |
12:03:50 | Oddmonger | but i get an error |
12:03:56 | Oddmonger | let's trie -o:name |
12:03:57 | FromDiscord | <Rika> what does the 600pgm mean |
12:04:32 | Oddmonger | Error: expected identifier, but got: . |
12:04:34 | Oddmonger | with: |
12:04:48 | Oddmonger | -o:S02_clock.elf |
12:04:52 | Yardanico | yeah |
12:04:54 | Yardanico | just -o:file |
12:04:59 | Yardanico | it'll automatically append the .exe |
12:05:00 | Yardanico | for windows |
12:05:05 | Yardanico | ah sorry |
12:05:05 | Oddmonger | ah |
12:05:08 | Yardanico | try |
12:05:08 | FromDiscord | <Clyybber> -o:"SO2_clock.elf" maybe |
12:05:12 | Yardanico | -o:"file.elf" |
12:05:13 | Yardanico | yes |
12:05:17 | Oddmonger | ahh ok i see |
12:05:32 | Oddmonger | great it works |
12:05:34 | Oddmonger | thank you |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.8) |
12:06:39 | * | supakeen joined #nim |
12:06:42 | Yardanico | after some replaces |
12:06:42 | Yardanico | https://i.imgur.com/eMItASD.png |
12:07:01 | FromDiscord | <Clyybber> aaah, think I found the culprit |
12:07:34 | Zevv[m] | Yardanico: now match that against the git logs and see who's mostly talk and mostly work :) |
12:07:48 | Yardanico | I am work!1111 |
12:07:51 | Yardanico | 47mb compressed sqlite btw |
12:07:54 | Yardanico | 116mb uncompressed |
12:08:04 | Yardanico | I can send it to you but it's still not fully ready, there are still duplicates I guess |
12:08:21 | Zevv[m] | nah, I'm currently with my head in other stuff |
12:08:33 | Zevv[m] | it it was just plain logs I could've chewn it through my thingy, but now it's work on my side |
12:08:36 | Zevv[m] | and that's less fun |
12:08:40 | Yardanico | its just sqlite |
12:08:43 | Yardanico | plain ol |
12:08:58 | Yardanico | we have db_sqlite with fastRows |
12:09:03 | Yardanico | https://i.imgur.com/7ELP8lw.png |
12:09:43 | Zevv[m] | now detect mentions and @ats |
12:09:48 | Yardanico | XD |
12:10:11 | Yardanico | https://i.imgur.com/sVHFrug.png |
12:10:43 | Zevv[m] | cool, now a view for that :) |
12:10:59 | Yardanico | 4raq got pinged 50k+ times |
12:11:13 | Zevv[m] | no wonder he's bored of that :) |
12:11:18 | Zevv[m] | and mentioned? |
12:11:25 | Yardanico | ? same |
12:11:30 | Yardanico | in irc @ is optional |
12:11:33 | Yardanico | Zevv[m]: LOL |
12:11:36 | Yardanico | https://i.imgur.com/OiV4LwJ.png |
12:12:29 | Yardanico | aw shit im also not stripping irc colors |
12:12:30 | Yardanico | will do that |
12:12:39 | Yardanico | disbot: you're at fault |
12:19:25 | Yardanico | if anyone's curious - https://drive.google.com/file/d/1RaH_uwsF9F5jNJEYu-VH82xdJkUL4YHe/view |
12:23:40 | alehander92 | oo |
12:23:45 | alehander92 | i like i am in top 10 :) |
12:24:05 | alehander92 | i am surprised zachary is far ahead ! |
12:24:22 | alehander92 | pmunch as well |
12:24:33 | Yardanico | im top 3 :P |
12:24:42 | alehander92 | not most important stat |
12:24:48 | alehander92 | oh yeah yardanico is far awayu |
12:25:24 | alehander92 | is there a ping table |
12:25:36 | Yardanico | no, it's harder to do :P |
12:26:33 | alehander92 | awesome |
12:26:39 | alehander92 | is this only #nim |
12:26:46 | Yardanico | yes because nimbot doesn't log other channels |
12:29:28 | Zevv[m] | dot is crunching |
12:29:34 | Yardanico | noice |
12:29:35 | Yardanico | show us |
12:29:39 | Zevv[m] | dot is crunching |
12:29:45 | Yardanico | inb4 im connected with everyone |
12:29:47 | Yardanico | gachiHYPER |
12:30:06 | Zevv[m] | let me hang the washing while dot is crunching |
12:34:52 | Zevv[m] | dot is having a blast |
12:35:28 | Yardanico | Zevv[m]: you have to be careful though |
12:37:56 | Zevv[m] | ~http://zevv.nl/div/irc.png |
12:37:57 | disbot | no footnotes for `http://zevv.nl/div/irc.png`. 🙁 |
12:38:24 | Yardanico | lol? |
12:38:31 | Yardanico | did you really handle all mentions? |
12:38:35 | Yardanico | strange |
12:38:36 | Zevv[m] | that's the 90% percentile |
12:39:13 | Yardanico | @rika lol |
12:39:27 | FromDiscord | <Rika> lol |
12:39:40 | FromDiscord | <Rika> we real close are we |
12:39:42 | Zevv[m] | I'll do a 100% now, If I don't come back it blew up my little fanless attick machine |
12:39:57 | Yardanico | nice |
12:39:59 | Yardanico | give me the command? |
12:40:01 | Yardanico | I can try as well |
12:40:15 | Zevv[m] | nah I have a lock modified version of my graph thingy to ready your db |
12:40:45 | Zevv[m] | use the 'stuff' branch of ircgraph |
12:41:03 | Zevv[m] | and feed it your sqlite |
12:41:15 | Zevv[m] | sqlite3 irc.db -batch 'select * from log' | ./irgraph | dot -Tpng |
12:41:49 | Yardanico | how do I remove the 90% percentile? |
12:41:52 | Yardanico | or it's already not there? |
12:41:55 | Yardanico | I mean to output all |
12:41:57 | Zevv[m] | in the ircgraph there's an "if something > 0.07" somewhere |
12:42:02 | Zevv[m] | or the other way around |
12:42:04 | Yardanico | oh I see |
12:42:08 | Yardanico | yes |
12:42:10 | Yardanico | just remove it |
12:42:13 | Zevv[m] | make it true |
12:42:33 | Zevv[m] | the comment is wrong, as is my remark. It's not 90% |
12:42:36 | Zevv[m] | it's just some number |
12:49:14 | alehander92 | <3 |
12:49:19 | alehander92 | ok i ccan keep talking them |
12:49:21 | alehander92 | then* |
12:49:31 | FromDiscord | <Clyybber> Zevv: These are my results so far: http://ix.io/2sif/nim |
12:50:50 | Zevv[m] | 1 out of 4, making progress! :) |
12:50:59 | Zevv[m] | do you grok what the code is doing? |
12:51:19 | Zevv[m] | that's one of your strenghts, right? Diving in existing code and getting the hang if it quickly |
12:51:56 | Zevv[m] | I would *love* to have this debug output annotated with arrows going up and down showing what continues what |
12:52:40 | FromDiscord | <Clyybber> I think its the semAfterMacroCall not handlign forward decls correctly |
12:53:09 | FromDiscord | <Clyybber> But somehow the CPS output manages to pass by that one |
12:53:19 | Zevv[m] | I need to do some family stuff and clean this smelling mess I call my house |
12:53:28 | FromDiscord | <Clyybber> Probably because it uses syms to address the loop procs, instead of idents |
12:53:44 | FromDiscord | <Clyybber> Zevv: C ya |
12:53:51 | Zevv[m] | keep up the good work dude |
12:55:16 | FromDiscord | <Clyybber> thanks :D |
13:06:59 | Araq | oh hi Clyybber |
13:07:16 | Araq | I'm fighting with bug #15038 any ideas? |
13:07:17 | disbot | https://github.com/nim-lang/Nim/issues/15038 -- 3[ARC] SIGSEGV when calling a closure as a tuple field in a seq ; snippet at 12https://play.nim-lang.org/#ix=20Nl |
13:15:32 | FromDiscord | <Clyybber> Araq: Hi, no idea |
13:15:39 | FromDiscord | <Clyybber> But I didn't really investigate it yet |
13:17:00 | * | NimBot joined #nim |
13:21:33 | Zevv[m] | yeah, much higher prio also, that ^ |
13:21:37 | Zevv[m] | says me |
13:21:42 | FromDiscord | <Clyybber> lol |
13:22:06 | FromDiscord | <Clyybber> I'm just not too familiar with how closures work in gc:arc yet |
13:22:19 | FromDiscord | <Clyybber> as I can't wrap my head around how it is safe to always capture by ref |
13:23:22 | Araq | well that's simple. a closure is always a (functionPointer, env) tuple and env is always 'ref' |
13:23:44 | FromDiscord | <Clyybber> oh yeah, but what if the thing it referenced gets out of scope? |
13:23:48 | FromDiscord | <Clyybber> how does it keep it alife? |
13:24:00 | Araq | refcounting, it's just a ref object |
13:24:11 | FromDiscord | <Clyybber> but if the thing it captures is not a ref object I mean |
13:24:15 | FromDiscord | <Clyybber> but a thing on the stack |
13:24:29 | FromDiscord | <Clyybber> does it get lifted to the heap? |
13:24:44 | Araq | you write var captureMe = 4 but it's turned into env.captureMe = 4 |
13:24:52 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
13:25:23 | Araq | by the time we reach injectdestructors the closures have been compiled away already and nkClose is nkTupleConstr |
13:25:27 | Araq | by the time we reach injectdestructors the closures have been compiled away already and nkClosure is nkTupleConstr |
13:25:35 | FromDiscord | <Clyybber> aha! |
13:25:39 | FromDiscord | <Clyybber> Now that makes sense |
13:39:54 | * | marnix quit (Ping timeout: 256 seconds) |
13:41:25 | * | dulsi joined #nim |
13:47:02 | * | marnix joined #nim |
13:49:00 | Yardanico | Araq: btw, as I understand strictFuncs still assumes that you might *in very rare cases* lie to the compiler? |
13:49:15 | Yardanico | e.g. when calling a proc which has {.noSideEffect.} block from a func |
13:49:19 | Yardanico | ah sorry im stupid |
13:49:21 | Yardanico | forgot to turn on the pragma |
13:49:38 | Yardanico | damn can't even break that analysis :(( |
13:49:55 | * | maier joined #nim |
13:51:31 | Yardanico | ah well with emit I can, but it's understandable |
13:52:45 | Yardanico | maybe func should also disallow using emit and emit gets its own effect 🤔 |
13:53:28 | * | marnix quit (Ping timeout: 246 seconds) |
13:53:46 | * | marnix joined #nim |
13:55:25 | * | maier quit (Ping timeout: 264 seconds) |
13:56:03 | Yardanico | I mean e.g. https://play.nim-lang.org/#ix=2siv or emit in a proc called from a func |
13:58:49 | Araq | Yardanico: add your experiments as test cases, eventually. right now we have a single test :P |
13:59:17 | Araq | but yeah, of course you cannot break it, it's sound *cough cough* |
14:00:02 | Araq | I'm thinking about rewriting the code to use 'const T' internally so that we can get good error messages |
14:00:12 | Araq | but 'const T' is flawed... |
14:00:37 | Yardanico | so we can see where the side effect comes from? |
14:00:56 | Yardanico | without putting {.effects.} and friends all over the place |
14:01:15 | Araq | yeah, so that it's just another type mismatch error |
14:01:20 | Yardanico | oh nice |
14:02:54 | Araq | well it doesn't work, 'const' is complex |
14:03:10 | Araq | it's not just another subtype relation |
14:03:42 | Araq | well, you can model it as a subtype but it sucks |
14:11:41 | * | vicfred_ joined #nim |
14:13:41 | * | vicfred quit (Ping timeout: 246 seconds) |
14:16:19 | FromDiscord | <Clyybber> hmm, somehow forward declarations don't have a type when coming from a template or macro |
14:34:27 | * | marnix quit (Read error: Connection reset by peer) |
14:35:04 | * | marnix joined #nim |
14:36:03 | * | fredrikhr quit (Read error: Connection reset by peer) |
14:36:26 | * | fredrikhr joined #nim |
14:38:58 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:40:52 | * | couven92 joined #nim |
14:41:01 | * | fredrikhr quit (Disconnected by services) |
14:41:07 | * | couven92 is now known as fredrikhr |
14:41:29 | * | couven92 joined #nim |
14:45:23 | * | fredrikhr quit (Ping timeout: 240 seconds) |
14:46:14 | * | couven92 quit (Ping timeout: 260 seconds) |
14:47:45 | * | fredrikhr joined #nim |
14:53:50 | * | fredrikhr quit (Quit: Client disconnecting) |
14:54:16 | * | krux02 quit (Remote host closed the connection) |
15:08:55 | Oddmonger | how to store a ptr in nim ? |
15:09:07 | Oddmonger | i'm using a function which returns a ptr to an object |
15:09:42 | Oddmonger | so i could leave the definition to nim (that's what i did until now) |
15:09:51 | Oddmonger | var pObj = foo(…) |
15:10:10 | Oddmonger | but i'd like to define it myself, just to know how to do |
15:10:21 | dulsi | When using FFI under Linux, the library is not linked into the application. Instead it is loaded after the application starts. This means ldd doesn't tell you what libraries are needed to run the program. Is there a way to get a list of what libraries are required? |
15:11:05 | Oddmonger | dulsi: try at running with ltrace |
15:11:35 | Zevv[m] | Oddmonger: hwo do you mean you left the definition to nim |
15:13:12 | Araq | dulsi: use --dynlibOverride and a --passL command but generally ldd is unreliable for this reason and ltrace is better |
15:13:56 | disruptek | clyybber: like i said, the ast for procs gets an extra `result` child, which is bogus. |
15:14:05 | disruptek | and it cannot grok Empty for body. |
15:14:20 | FromDiscord | <Clyybber> yeah |
15:14:26 | Araq | if resultPos < n.len: |
15:14:50 | Oddmonger | Zevv[m]: i use the «auto» declaration of nim |
15:14:58 | Oddmonger | var pObj = foo(…) |
15:15:27 | Oddmonger | but i don't know how pObj is declared, i just know foo returns «ptr Obj» |
15:15:47 | Oddmonger | ah found it |
15:16:10 | Oddmonger | too many C, i was typing : var ptr pObj:Obj |
15:16:23 | Oddmonger | indeed, it's var pObj:ptr Obj |
15:16:29 | FromDiscord | <Recruit_main707> Yes |
15:18:03 | FromDiscord | <Clyybber> Araq: WDYM? |
15:20:14 | Araq | the extra 'result' child is for fun and profit but before you access it you need a check like |
15:20:21 | Araq | if resultPos < n.len |
15:20:33 | FromDiscord | <Clyybber> ah, thats not the problem I think |
15:20:39 | FromDiscord | <Clyybber> the extra result field I mean |
15:21:02 | disruptek | no, it's just to make `.last` more exciting. |
15:22:00 | Araq | yeah well, the sem'checked AST is a bitch |
15:25:13 | Araq | Yardanico: check this out https://github.com/nim-lang/Nim/pull/15068 |
15:25:13 | disbot | ➥ strict func: much better error messages |
15:25:53 | Yardanico | okay, will check with some simple different stuff :P |
15:26:38 | disruptek | i think i need coffee before code. |
15:28:41 | Yardanico | Araq: well when calling a side effect proc from a func it doesn't give context |
15:28:46 | Yardanico | but when doing bad stuff in the func itself it works |
15:29:09 | Yardanico | wait |
15:29:44 | Yardanico | is "var int" still supposed to work with strictFuncs? |
15:29:54 | FromDiscord | <Clyybber> of course |
15:29:57 | Yardanico | oh |
15:30:11 | Yardanico | I thought it would be disallowed |
15:30:16 | Yardanico | was confused a bit :P |
15:30:31 | FromDiscord | <Clyybber> nah, only using `ref int` but then modifying the int is disallowed |
15:33:13 | * | marnix quit (Ping timeout: 246 seconds) |
15:33:47 | Yardanico | basically https://github.com/nim-lang/Nim/pull/15068 seems to only work if the actual side effect is in the func itself |
15:33:48 | disbot | ➥ strict func: much better error messages |
15:34:06 | FromDiscord | <Clyybber> what do you expect it to do? |
15:34:18 | Yardanico | well I thought it would be inter-proc :P |
15:34:29 | FromDiscord | <Clyybber> huh why would it? |
15:34:38 | Yardanico | so if you type echo "hi" in a func it'll tell why exactly the func is a side-effect |
15:34:41 | Yardanico | was confused again :P |
15:34:49 | FromDiscord | <Clyybber> that can be done, but thats not inter-proc |
15:35:05 | FromDiscord | <Clyybber> its just "hey this call right here is a call to a non-func" |
15:35:16 | * | marnix joined #nim |
15:35:26 | Yardanico | I mean https://play.nim-lang.org/#ix=2siZ |
15:35:40 | Yardanico | so it shows that b modifies obj.data so it's a side effect |
15:35:58 | Yardanico | just wishful thinking on my side :P |
15:36:28 | FromDiscord | <Clyybber> hmm, I think just saying that its not a func because it calls b is good enough |
15:36:42 | FromDiscord | <Clyybber> then you can try to make b a func and then it will tell you why it can't be |
15:36:55 | * | audiophile_ joined #nim |
15:36:55 | * | audiophile_ quit (Client Quit) |
15:37:14 | FromDiscord | <Clyybber> I mean the compiler could try to print the chain of cause and effect |
15:37:20 | FromDiscord | <Clyybber> but thats gonna be very verbose |
15:37:28 | FromDiscord | <Clyybber> and you probably wouldn't even want that most of the time |
15:37:33 | FromDiscord | <Clyybber> like when calling echo |
15:38:26 | * | audiophile_ joined #nim |
15:39:49 | Yardanico | well I mean it's verbose but easier to understand |
15:40:05 | Yardanico | instead of getting a single-line error "name can have side effects" :P |
15:40:50 | FromDiscord | <Clyybber> but then again, you can "query" the compiler by just trying to change name to be a func |
15:43:06 | * | maier joined #nim |
15:46:07 | * | golechwi1 quit (Ping timeout: 260 seconds) |
15:47:37 | * | maier quit (Ping timeout: 264 seconds) |
15:48:39 | * | aurelius quit (Remote host closed the connection) |
15:49:24 | * | golechwi1 joined #nim |
15:52:25 | * | marnix quit (Ping timeout: 264 seconds) |
15:53:35 | * | golechwi1 quit (Ping timeout: 244 seconds) |
15:57:06 | * | audiophile_ is now known as audiofile |
16:00:27 | disruptek | Zevv[m]: what do you think about specifying the Cont type in the macro? |
16:00:42 | FromDiscord | <Clyybber> interesting idea |
16:00:49 | FromDiscord | <Clyybber> good idea IMO |
16:00:58 | FromDiscord | <Clyybber> then you can just define your own cps template |
16:01:09 | disruptek | i think this is how my `when`d out block version works, iirc. |
16:01:34 | FromDiscord | <Clyybber> by doing `template myCps(p): untyped = cps(p, MyCont)` |
16:02:00 | disruptek | wtf is that? |
16:02:12 | FromDiscord | <Clyybber> lol |
16:02:17 | disruptek | i'm talking about proc foo {.cps: Cont.} |
16:02:23 | FromDiscord | <Clyybber> yeah me too |
16:02:31 | FromDiscord | <Clyybber> so that you don't have to write Cont everytime |
16:02:31 | disruptek | why do i want the template? |
16:02:38 | FromDiscord | <Clyybber> ^ |
16:02:45 | FromDiscord | <Clyybber> proc foo {.myCps.} |
16:02:56 | disruptek | i want a generic dispatcher that varies with the continuation type. |
16:03:28 | FromDiscord | <Clyybber> yeah, as I said. Good idea |
16:03:58 | disruptek | okay, well people can write whatever they want. it just might make other code that consumes cps procs less brittle. |
16:04:01 | disruptek | that's the main win. |
16:04:09 | FromDiscord | <Clyybber> ye |
16:04:44 | disruptek | Araq: any tips to figuring out why a type is not isolatedable? |
16:05:09 | FromDiscord | <Clyybber> Ah |
16:05:11 | * | marnix joined #nim |
16:05:15 | FromDiscord | <Clyybber> I think I found one of the issues |
16:05:27 | FromDiscord | <Clyybber> hol.. |
16:08:55 | Zevv[m] | disruptek: cont type in the macro. Help me out |
16:08:57 | Zevv[m] | what does that solve? |
16:09:04 | Zevv[m] | mornin', by the way |
16:10:01 | Zevv[m] | oh you generate all the conts and hide them, right |
16:10:32 | disruptek | we need to fix discart/jield. |
16:10:36 | disruptek | that shit is just nuts. |
16:10:51 | Zevv[m] | not for dyslectics like me |
16:10:58 | Zevv[m] | it's perfectly fine |
16:11:19 | Araq | lol, 'discart' and 'jield'? |
16:11:28 | Zevv[m] | well, if this stuff gets done in the ompiler, we just claim yield and throw the old one out |
16:11:33 | Zevv[m] | and discard, well, why do you need that anyway? |
16:11:50 | Zevv[m] | anyway, what do I care, it's just your particular event queue implementation that I don't care about at all |
16:11:58 | Yardanico | disbot: well the isolation check says "unanalysable expression" |
16:12:11 | Yardanico | disruptek: * |
16:12:19 | Yardanico | for nkSym |
16:12:43 | disruptek | you can say "compiler" in response to almost any problem, though. |
16:12:53 | Zevv[m] | sure :) |
16:13:02 | Zevv[m] | and "why do I care" also works |
16:13:25 | disruptek | the point of this project is to have a working impl that we can use to learn idiomatic cps. |
16:13:35 | disruptek | that usage of cps that is most composable in nim. |
16:13:42 | Zevv[m] | sure, agree. |
16:13:47 | disruptek | i don't want to rewrite the compiler to do that. |
16:13:56 | disruptek | it's a slow method of development, trust me. |
16:13:57 | Zevv[m] | but you want to yield, and yield is taken |
16:14:13 | Zevv[m] | so we probably need to think about something totally difrerent |
16:14:24 | disruptek | yeah, i just want to rename it. |
16:14:33 | disruptek | it's a dispatcher construct, anyway, as you like to point out. |
16:14:37 | Zevv[m] | :) |
16:14:44 | Zevv[m] | I don't like your dispatcher. it stinks |
16:14:50 | Zevv[m] | I like my dispatcher, it smells good |
16:14:53 | disruptek | replace it, then. |
16:15:01 | Zevv[m] | nope. I just write my own :) |
16:15:09 | Zevv[m] | joking aside, it's hard to come up with good names |
16:15:19 | Zevv[m] | because "yield" is just what this called everywhere always |
16:15:36 | disruptek | there are 362 synonyms for "yield" in the moby thesaurus. |
16:15:43 | Zevv[m] | "relinquish" no one can type without autocomplete |
16:15:59 | Zevv[m] | "throw up" |
16:16:21 | Yardanico | disruptek: "If T does not contain a ref or closure type, it is isolated." |
16:16:35 | Yardanico | check "How to construct isolated subgraphs" in https://github.com/nim-lang/RFCs/issues/244 |
16:16:36 | Yardanico | for rules |
16:16:37 | disbot | ➥ 'isolated' data for Nim ; snippet at 12https://play.nim-lang.org/#ix=2sjf |
16:16:50 | disruptek | fair enough, thanks. |
16:17:18 | disruptek | i am thinking i want to collapse yield and spawn. yield with an argument is spawn. |
16:17:32 | disruptek | so i'm thinking... `resume` maybe. |
16:17:54 | disruptek | hmm, the thesaurus recommends "poop out". |
16:18:00 | disruptek | that's another intriguing possibility. |
16:21:05 | Zevv[m] | pizza is ready and life is about priorities |
16:26:00 | disruptek | another thought i had was to inject a `result` into the continuation type. it will be gensym'd so that it doesn't clash, but we can save/load/deref it from continuations. |
16:27:51 | disruptek | so maybe you do `cpsProc() as foo: echo foo`. or if you prefer, maybe we allow your rhs: `let foo = cpsProc()` |
16:28:25 | disruptek | when we move the continuation type into the macro, this becomes more natural. |
16:43:14 | FromDiscord | <Clyybber> I like "throw up" |
16:43:15 | bung | https://github.com/nim-lang/Nim/issues/15022 this one seems fixed ? I run without problem |
16:43:17 | disbot | ➥ AsyncSocket.getPeerAddr appears to not work. ; snippet at 12https://play.nim-lang.org/#ix=2sjg |
16:44:24 | FromDiscord | <Clyybber> bung: Might be arch specific/ |
16:45:08 | bung | hmm , maybe they're on Windows: amd64 |
16:45:12 | Yardanico | "maybe" lol |
16:45:15 | FromDiscord | <Clyybber> yeah they are |
16:45:23 | Yardanico | might be vcc specific |
16:45:49 | * | krux02 joined #nim |
16:46:38 | bung | labeld it as "OS/Arch specific" ? so I dont looking into it |
16:47:09 | Yardanico | well we're not 100% sure but okay |
16:49:32 | bung | I only can confirm it runs ok on macos |
16:49:43 | Zevv[m] | disruptek: sounds like a plan |
16:54:02 | disruptek | i'll fix these loop issues first. are you working on a test-friendly dispatcher? |
16:54:41 | disruptek | i do think it's better to move the current one out sooner so we can isolate issues between cps and dispatch. |
17:00:42 | Zevv[m] | nah i was first working on getting some real use case control flow constructs working |
17:00:48 | Zevv[m] | like in the little example that blew up |
17:01:32 | Zevv[m] | and i have this stanadlone evq which I want to use to make sure everything allows integrating in more then one way |
17:01:43 | disruptek | i used to have a file with a dozen of your little ast-match tests. maybe it's still around. |
17:01:55 | Zevv[m] | I'm also not sure if the cps itself needs a dedicated test scheduler or event queue |
17:01:56 | disruptek | the while test i just added was from that era. |
17:02:33 | Zevv[m] | do you want to make the evq a different nimble project altogether? |
17:02:39 | disruptek | of course. |
17:02:43 | Zevv[m] | do you want to make the evq a different nimble project altogether? |
17:02:44 | Zevv[m] | cool |
17:03:34 | Zevv[m] | so cps tests test cps only, and these dont really need any kind of event queue i think |
17:03:39 | disruptek | we can maybe get around having scheduling, but i'm pretty sure we'll need the semaphores at least. |
17:04:09 | Zevv[m] | not sure yet, but probably |
17:04:43 | Zevv[m] | also i'd like to see if i can start build other things |
17:04:45 | disruptek | might just need a template. |
17:05:09 | Zevv[m] | like simple iterators, maybe exceptions, lua-style-coroutines |
17:05:15 | Zevv[m] | so things that dont do any pumping |
17:05:24 | * | endragor quit (Remote host closed the connection) |
17:05:27 | Zevv[m] | not event driven, I mean |
17:05:43 | disruptek | sure. |
17:06:14 | disruptek | what's annoying is that this loop stuff worked better before. |
17:06:30 | Zevv[m] | do you have any insight how much it takes to fix #3? |
17:06:44 | Zevv[m] | the loop transformation stuff you mean |
17:09:34 | disruptek | i wonder if the `return` is a problem there. |
17:09:39 | disruptek | in the client, i mean. |
17:09:52 | * | solitudesf quit (Quit: Leaving) |
17:10:13 | disruptek | yeah, i had loops working in a lot of really crazy ways. |
17:10:41 | FromDiscord | <lqdev> i feel like the stdlib should have an `unreachable` template. right now i see to much of `doAssert false` and it makes my brain hurt |
17:10:48 | FromDiscord | <lqdev> gotta write an RFC |
17:11:00 | Yardanico | template unreachable = doAssert false |
17:11:01 | Yardanico | big brain |
17:11:06 | FromDiscord | <lqdev> how about |
17:11:18 | FromDiscord | <lqdev> `template unreachable(message: string) = doAssert false, message` |
17:11:32 | Yardanico | what message |
17:11:44 | Yardanico | even the compiler has assert false, "unreachable" btw |
17:12:03 | FromDiscord | <lqdev> eg. `unreachable "enum value cannot be evA"` |
17:12:24 | FromDiscord | <lqdev> i just add comments like `assert false # unreachable` |
17:12:45 | FromDiscord | <lqdev> but honestly `assert false` is not very readable |
17:12:57 | Yardanico | is it? |
17:13:02 | Yardanico | it's a very easy-to-learn thing |
17:13:15 | * | maier joined #nim |
17:13:58 | * | endragor joined #nim |
17:14:17 | FromDiscord | <Clyybber> Zevv, disruptek: Please don't try to fix #3, its a compiler bug |
17:14:30 | FromDiscord | <Clyybber> When thats fixed its as easy as switching a false to true |
17:14:31 | disruptek | yeah, i'm not worried about it. |
17:14:48 | FromDiscord | <Clyybber> also I'm on it :P |
17:14:59 | Zevv[m] | it's not only a compiler bug I guess |
17:15:04 | Zevv[m] | the double return is not right |
17:15:08 | FromDiscord | <lqdev> Yardanico: though it may be easy to learn, i still feel like it's not very readable |
17:15:10 | FromDiscord | <Clyybber> its not wrong either :p |
17:15:19 | Zevv[m] | is it? |
17:15:22 | FromDiscord | <Clyybber> ok, the AST is not wrong at least |
17:15:29 | disruptek | the double return is just an optimization that i removed. |
17:15:33 | Zevv[m] | sure, but the semantics is not right |
17:15:49 | disruptek | i made a ticket to fix it. |
17:17:52 | * | Jesin quit (Quit: Leaving) |
17:18:24 | * | noonien joined #nim |
17:18:35 | * | marnix quit (Ping timeout: 240 seconds) |
17:18:40 | * | ForumUpdaterBot quit (Remote host closed the connection) |
17:18:48 | * | ForumUpdaterBot joined #nim |
17:18:50 | * | endragor quit (Ping timeout: 260 seconds) |
17:18:52 | Zevv[m] | disruptek: I'm starting a really stupid test suite with only bare bone cps transform tests |
17:18:57 | Zevv[m] | ground up |
17:19:07 | disruptek | nice. |
17:19:27 | Zevv[m] | basically I write simple programs that happen to call primitives, and I make sure the run as if the were not transformed |
17:20:41 | * | marnix joined #nim |
17:21:32 | * | solitudesf joined #nim |
17:30:02 | * | marnix quit (Ping timeout: 260 seconds) |
17:31:45 | * | audiophile_ joined #nim |
17:32:50 | Zevv[m] | I assume supporting shadowed variables in lower scopes is not something we want to fix in the current env flow right? |
17:32:55 | Zevv[m] | that'll come with the bubbling |
17:33:02 | * | audiofile quit (Ping timeout: 256 seconds) |
17:33:19 | disruptek | it can be done in current flow by simply gensym'ing. |
17:33:26 | disruptek | but, "i don't care" |
17:33:34 | Zevv[m] | I would appreciate if that works |
17:33:41 | disruptek | yeah, it'd be good. |
17:34:04 | disruptek | i will make a ticket. i think i can do it simply. |
17:34:18 | * | bung quit (Quit: Lost terminal) |
17:34:19 | Zevv[m] | I added a proper message ot the assert for now |
17:34:22 | Zevv[m] | coool |
17:35:30 | Zevv[m] | wel, not that cool, that's one "o" too many. But just "cool" for certian |
17:36:33 | disruptek | my driver's license says "cretian" next to "RACE: ". |
17:37:54 | Zevv[m] | there is something cool about some cps magic functions. You can call them with or without "cps", and they both work |
17:37:55 | disruptek | do we not lift declarations now? |
17:38:18 | Zevv[m] | there is something cool about some cps magic functions. You can call them with or without "cps", and they both work |
17:38:21 | Zevv[m] | dang |
17:38:21 | Zevv[m] | sorry |
17:38:27 | disruptek | try ctrl+space |
17:38:54 | Zevv[m] | I'm hitting up+enter tons of times to rerun my test, but focus is not always on the right window |
17:42:06 | FromDiscord | <Clyybber> lol |
17:42:27 | Zevv[m] | I'm going to spam the issues with all things I find, let me know if I'm bothering you |
17:42:51 | disruptek | nah, it's always useful. |
17:43:00 | * | maier quit (Ping timeout: 256 seconds) |
17:43:20 | Zevv[m] | I'm posting standalong programs and the error message, you wnat the debugcps output there as well? |
17:43:43 | disruptek | probably? |
17:43:58 | Zevv[m] | well, it's a lot of noise in the issues, but it saves you a run maybe |
17:44:11 | Zevv[m] | tever |
17:45:01 | * | marnix joined #nim |
17:45:32 | disruptek | ah, so you understand env now. 🤪 |
17:45:48 | Zevv[m] | who, me? |
17:46:31 | Zevv[m] | I decided not to understand all that unless I really have to |
17:46:37 | Zevv[m] | I just provide services now |
17:47:05 | disruptek | hah. well, admittedly, it might get replaced soonish. |
17:47:12 | Zevv[m] | right |
17:56:42 | Araq | btw my holiays start on 3rd of August |
17:56:47 | Araq | for two weeks |
17:56:55 | Yardanico | sheet |
17:56:58 | disruptek | sweet, what are you up to? |
17:57:00 | Araq | but I might have internet |
17:57:00 | Yardanico | no araq = no nim :P |
17:57:08 | Zevv[m] | so, what's your holiday project |
17:57:16 | Araq | probably IC |
17:57:26 | * | krux02 quit (Remote host closed the connection) |
17:57:37 | * | WilhelmVonWeiner joined #nim |
17:57:37 | disruptek | oh no. |
17:57:39 | Zevv[m] | taking a holiday from nim to do nim |
17:58:42 | Yardanico | that's our bdfl for you |
17:58:46 | Araq | or maybe I'll do nothing and relax |
17:59:10 | disruptek | that sounds better. |
17:59:22 | Zevv[m] | right |
18:00:59 | * | audiophile_ quit (Ping timeout: 240 seconds) |
18:02:17 | FromDiscord | <Clyybber> Araq: Is a forward declaration supposed to have two different syms? |
18:02:36 | FromDiscord | <Clyybber> Like the forward declared proc itself and the actual implementation |
18:03:29 | * | kungtotte quit (Read error: Connection reset by peer) |
18:04:25 | * | marnix quit (Ping timeout: 240 seconds) |
18:04:32 | Araq | yeah |
18:04:55 | Araq | well, after it's detected they are the same, only the forwarded sym remains |
18:04:56 | * | kungtotte joined #nim |
18:05:15 | disruptek | that doesn't seem to work with gensym'd names. |
18:05:22 | FromDiscord | <Clyybber> Hmm, interesting. Somehow that doesn't seem to work in templates |
18:05:25 | FromDiscord | <Clyybber> /macros |
18:05:41 | FromDiscord | <Clyybber> disruptek: Ha! You probably hit the nail on the head |
18:05:46 | * | marnix joined #nim |
18:06:51 | Zevv[m] | disruptek: I just realize #10 and #11 will not "work" when fixed because lack of boxing |
18:06:58 | Zevv[m] | but the error is about the compilation failure for now |
18:07:29 | disruptek | no, i can fix those. |
18:08:28 | Zevv[m] | sweet |
18:08:38 | disruptek | it's just an ooo decl. |
18:08:46 | Zevv[m] | oooh |
18:09:55 | disruptek | we need to handle cps calls after defining the local break/goto. |
18:10:03 | * | superbia2 joined #nim |
18:10:38 | disruptek | but really, the decl sort should have fixed this. i wonder if i deleted the fix from the moves branch. |
18:10:57 | disruptek | oh, i did. |
18:12:25 | * | superbia1 quit (Ping timeout: 240 seconds) |
18:14:19 | disruptek | oh, it's because of the stupid decl bug. |
18:14:23 | disruptek | so dumb. |
18:15:59 | * | superbia2 is now known as superbia |
18:16:31 | disruptek | see if #10/#11 work now. |
18:18:15 | Zevv[m] | sweet |
18:20:04 | Zevv[m] | "block:" gets lost |
18:20:33 | disruptek | there's a new block test but it's not working with jield. |
18:20:56 | disruptek | isReturnCall needs a rewrite, btw. |
18:21:45 | Zevv[m] | seems that at end of a block: no continuation is returned |
18:21:50 | Zevv[m] | so stuff ater the block is gone |
18:22:04 | disruptek | should be in after() |
18:22:12 | disruptek | but, i'll add a test. |
18:22:27 | Zevv[m] | no I'm making the tests :) |
18:22:31 | Zevv[m] | that's what I'm doing now |
18:22:47 | disruptek | okay. |
18:22:57 | Zevv[m] | can't obsolete me *completely* |
18:23:04 | disruptek | i don't want to. |
18:23:13 | disruptek | i want that elegance you brought to the original impl. |
18:23:43 | Zevv[m] | see #12. `block:` is broken, but if I replace with `if true:` it's ok |
18:24:21 | * | endragor joined #nim |
18:24:24 | disruptek | this test is complete? |
18:24:27 | Zevv[m] | it is |
18:24:36 | disruptek | so why not put it into the repo? |
18:24:40 | Zevv[m] | it is |
18:24:46 | Zevv[m] | but not yet commited |
18:24:49 | Zevv[m] | will add stuff now |
18:25:18 | Zevv[m] | tests/tzevv.nim |
18:25:26 | Zevv[m] | slowly growing |
18:25:58 | disruptek | cool. |
18:26:07 | disruptek | but, see, i wanna see the codegen. |
18:26:23 | Zevv[m] | in the issue, or in failed tests? |
18:26:35 | disruptek | in the failure. we need to know what we're doing wrong. |
18:26:52 | Zevv[m] | you got a recipe for dumping at fails yet? |
18:26:58 | Yardanico | do we have a label for experimental features issues? |
18:27:12 | Zevv[m] | beacsue now I just run with -d:cpsDebug |
18:27:16 | Zevv[m] | and always see the codegen |
18:27:27 | disruptek | oh, i didn't know you omitted a .cfg. |
18:27:42 | disruptek | okay, i see. |
18:27:59 | Zevv[m] | oh yeah I add it by hand, enable it there if you prefer |
18:28:30 | disruptek | the template should add a value to the t() name so we can find it. |
18:28:39 | disruptek | else it's all t() all the way down. |
18:28:54 | * | endragor quit (Ping timeout: 256 seconds) |
18:28:58 | Zevv[m] | hm lemme see if I can access the current test name or something |
18:29:03 | disruptek | maybe we should put some line info into the doc comments? |
18:29:18 | Zevv[m] | I dream of adding arrows to continuations |
18:29:32 | disruptek | i know you have railroad graphs in the wings. |
18:29:47 | Zevv[m] | sure, would be kind of the same mechanics |
18:30:00 | disruptek | we can embed them in the comments. |
18:30:04 | Zevv[m] | doesn't seem to be a way to access the current test name. bumr |
18:30:16 | disruptek | just compose it in your template? |
18:30:28 | Zevv[m] | yeah but then I have to type the names twice |
18:30:34 | Zevv[m] | error prone becasue this is all copy&paste stuff |
18:31:38 | disruptek | you need tests that don't make cps calls, too. |
18:31:57 | Zevv[m] | right |
18:35:19 | FromDiscord | <Clyybber> Araq: Where *should* this forward declaration happen? |
18:35:30 | FromDiscord | <Clyybber> *declaration symbol reuinification thing |
18:35:37 | Araq | semProcAux |
18:35:51 | Araq | (yes, I know that code is poor crap) |
18:36:03 | Araq | refactor ahead |
18:36:15 | FromDiscord | <Clyybber> hmm I looked at that just a minute ago :D |
18:36:21 | FromDiscord | <Clyybber> must have skipped it |
18:36:47 | disruptek | .msg bunny43 if you get here before her you can shave my back. |
18:36:53 | disruptek | oops |
18:37:30 | Zevv[m] | didn't you get that shaved last week? |
18:37:43 | disruptek | that was something else. |
18:37:48 | Zevv[m] | 20:37 -!- There is no such nick bunny43 |
18:37:52 | disruptek | no, i mean, that was /really/ something else. |
18:38:13 | Yardanico | disruptek: i cant repro https://github.com/nim-lang/Nim/issues/13510 |
18:38:14 | disbot | ➥ mutable iteration over mutable type produces a codegen error ; snippet at 12https://play.nim-lang.org/#ix=2cJp |
18:38:22 | Yardanico | works with refc and arc |
18:38:38 | Araq | er disruptek change your nick to "disturbing" please :P |
18:38:47 | * | disruptek is now known as cretian |
18:38:52 | Yardanico | lol |
18:39:28 | cretian | that code is from nimph if you wanna see if it works now. |
18:39:43 | cretian | nimph has a lot of .warning: "nim bug #13510". in it. |
18:39:44 | disbot | https://github.com/nim-lang/Nim/issues/13510 -- 3mutable iteration over mutable type produces a codegen error ; snippet at 12https://play.nim-lang.org/#ix=2cJp |
18:40:00 | Zevv[m] | cretian: There's a few in github that should keep you busy I bet |
18:40:07 | Zevv[m] | I'm makin a coffee |
18:40:39 | Araq | Yardanico: do you have a simple async orc memory leak example for me? |
18:40:44 | cretian | kk, is the test up to date? |
18:40:49 | Zevv[m] | pushign |
18:40:53 | Yardanico | Araq: I can make one, but it'll use async macro :( |
18:41:02 | Yardanico | unless I strip it off of course |
18:41:03 | Yardanico | one sec |
18:41:11 | Zevv[m] | pushed, one fails, if that is fixed the one after will hang |
18:41:20 | cretian | okay, danke. |
18:41:48 | Araq | you're German! |
18:42:30 | cretian | only on my evil side. |
18:42:36 | cretian | i mean, nein. |
18:43:02 | FromDiscord | <Clyybber> lol |
18:44:21 | Araq | Germain suits you |
18:45:12 | Yardanico | Araq: well, even the simple one - https://play.nim-lang.org/#ix=2sl7 |
18:45:33 | cretian | Zevv[m]: give us a trampoline that can break on infinite loops. |
18:45:41 | Yardanico | shows almost same occupied after waitFor and even after fullcollect + sleep, but with refc it only shows 62000 occupied after the waitFor |
18:45:44 | cretian | should be trivial. intset the addr of the fn. |
18:45:46 | Yardanico | (the first is with orc) |
18:46:00 | Yardanico | as you do more iterations it'll grow |
18:46:09 | Araq | well the problem is the big seq that selectors uses |
18:46:28 | Araq | I mean that makes it hard to measure |
18:46:30 | Araq | but ok |
18:46:55 | Yardanico | oh hmm I guess I can check its' length |
18:46:59 | Yardanico | or use some heap profiler |
18:47:13 | FromDiscord | <Clyybber> Araq: Hmm, I see the excl sfExport things, but I don't see where it merges the syms |
18:47:14 | Yardanico | will try massif |
18:47:25 | FromDiscord | <Clyybber> Oooh! |
18:47:37 | FromDiscord | <Clyybber> nevermind |
18:48:38 | FromDiscord | <Clyybber> There aren't supposed to be seperate syms right? |
18:48:49 | cretian | how could that make sense? |
18:49:30 | Yardanico | https://i.imgur.com/sETPvQx.png |
18:49:51 | Yardanico | not very helpful :P |
18:50:03 | Yardanico | lemme try to unroll async macro |
18:50:07 | FromDiscord | <Clyybber> cretian == disruptek? |
18:50:10 | Yardanico | yes |
18:50:12 | FromDiscord | <Clyybber> haha |
18:50:38 | FromDiscord | <Clyybber> *cretin |
18:51:05 | FromDiscord | <Clyybber> oh, damn. I thought cretin was a breadcrumb |
18:53:58 | Zevv[m] | cretian: oh right that makes sense, I can just stop after x iterations for now |
18:55:24 | Zevv[m] | pushed |
18:55:29 | Zevv[m] | can you please change your nick back |
18:55:31 | Zevv[m] | you confuse me |
18:55:49 | cretian | pushed |
18:55:52 | * | cretian is now known as disruptek |
18:56:03 | Zevv[m] | what is fixed |
18:56:09 | disruptek | i dunno. |
18:56:18 | Zevv[m] | haha |
18:56:37 | Zevv[m] | ok, better |
18:56:38 | disruptek | the break doesn't return to the loop. |
18:57:21 | Zevv[m] | I should add references to the issues in my tests, because I now don't know which are fixed and which are not |
18:57:24 | FromDiscord | <Clyybber> Yardanico: Maybe it makes sense to display the original nick next to the name on discord? |
18:57:33 | Yardanico | you mean the nickname change? |
18:57:35 | Yardanico | well, maybe |
18:57:41 | Yardanico | but I mean it can be noisy at times |
18:57:42 | * | maier joined #nim |
18:57:48 | disruptek | or just omit issues. we know we want tests to pass. |
18:57:55 | * | wishywash joined #nim |
18:58:01 | Zevv[m] | sure |
18:58:22 | disruptek | another bug cps turned up is discards in nested finally: clauses. |
18:58:28 | disruptek | it's as bizarre as it sounds. |
18:58:34 | Zevv[m] | hah |
18:58:44 | Zevv[m] | is block: simple to fix? |
18:58:48 | Zevv[m] | its the only fail now |
18:59:52 | disruptek | probably. |
19:00:48 | disruptek | but these tests need non-cps flow so we can optimize out continuations. |
19:01:23 | Zevv[m] | var i, j: int does not get recognize j |
19:01:34 | disruptek | yeah, and tuple unpacking doesn't work. |
19:01:44 | disruptek | those are worth an issue. |
19:02:07 | disruptek | easy to fix, too. |
19:02:24 | Zevv[m] | issued |
19:02:26 | Zevv[m] | #15, #16 |
19:02:42 | FromDiscord | <Clyybber> Araq: Is a definition of a previously forward declared proc supposed to remove the forward declaration symbol from the scope? |
19:03:10 | Araq | no, the "prototype" remains and the other symbol is replaced |
19:03:41 | FromDiscord | <Clyybber> So in the end there should be no two symbols floating around? |
19:03:44 | Zevv[m] | disruptek: pushed the interesting nested while case that breaks my http server. Doesn't even need cps calls |
19:03:59 | disruptek | because cps is too greedy now. |
19:04:02 | Zevv[m] | right |
19:04:25 | Zevv[m] | reinstate isCpsBlock |
19:04:38 | Zevv[m] | oh it's there |
19:04:38 | disruptek | well, maybe if we rename it? |
19:04:47 | disruptek | it's a little misleading. |
19:06:06 | * | marnix quit (Read error: Connection reset by peer) |
19:06:18 | * | marnix joined #nim |
19:06:45 | Zevv[m] | I'm skipping broken tests that kill compilation for now |
19:08:43 | Araq | Clyybber: correct, only prototype remains and is added to the symbol table |
19:09:33 | FromDiscord | <Clyybber> Araq: Interesting, this doesn't seem to work in a template/macro context https://github.com/nim-lang/Nim/issues/15075 |
19:09:35 | disbot | ➥ Forward declaring recursive function doesn't work in template/macro context ; snippet at 12https://play.nim-lang.org/#ix=2slf |
19:11:50 | FromDiscord | <Clyybber> Oooh! |
19:12:19 | FromDiscord | <Clyybber> hmm, nevermind again :( |
19:13:00 | disruptek | Zevv[m]: ah, i've been looking at the wrong codegen. |
19:13:13 | ForumUpdaterBot | New thread by Jwezel_: How to get address of object, see https://forum.nim-lang.org/t/6594 |
19:13:18 | Araq | http://blog.ezyang.com/2013/05/the-ast-typing-problem/ lol |
19:13:30 | Araq | "The unprincipled solution: use one AST, but have an optional field in which you can slot in the information." |
19:13:41 | Araq | "Presented without further comment." |
19:13:43 | disruptek | wut |
19:13:47 | Araq | well, guess what Nim uses :P |
19:15:12 | * | bung joined #nim |
19:17:07 | Zevv[m] | yeah but that's 2013. Sooo Ooooold |
19:18:03 | disruptek | block is fixed. |
19:18:16 | disruptek | your test produces c codegen err for me. |
19:21:22 | FromDiscord | <Clyybber> Ha! I think I found it |
19:21:35 | FromDiscord | <Clyybber> semRoutineInTemplBody fucks forward decls up |
19:22:13 | FromDiscord | <Clyybber> hmm, no that can't be it |
19:22:14 | FromDiscord | <Clyybber> dammit |
19:22:19 | disruptek | lol |
19:22:21 | FromDiscord | <Clyybber> why is this issue so elusive |
19:22:40 | disruptek | because otherwise it would have been fixed. |
19:25:20 | FromDiscord | <Clyybber> oh, actually my hunch was right |
19:25:29 | disruptek | which one? |
19:26:14 | FromDiscord | <Clyybber> that semRoutineInTemplBody is the culprit |
19:26:30 | FromDiscord | <Clyybber> *maybe* |
19:37:23 | * | maier quit (Ping timeout: 240 seconds) |
19:42:46 | * | wishywash quit (Quit: Konversation terminated!) |
19:42:55 | * | wishywash joined #nim |
19:45:55 | * | waleee-cl joined #nim |
19:46:45 | * | marnix quit (Ping timeout: 240 seconds) |
19:47:44 | * | marnix joined #nim |
19:49:26 | * | opDispatch quit (Quit: Konversation terminated!) |
19:49:48 | * | audiophile_ joined #nim |
19:50:06 | * | marnix quit (Read error: Connection reset by peer) |
19:50:52 | * | marnix joined #nim |
19:54:45 | Araq | Clyybber: I'm fixing #15038 |
19:54:46 | disbot | https://github.com/nim-lang/Nim/issues/15038 -- 3[ARC] SIGSEGV when calling a closure as a tuple field in a seq ; snippet at 12https://play.nim-lang.org/#ix=20Nl |
19:57:07 | Zevv[m] | disruptek: do we care about defer, try, except in cps for now? |
19:57:33 | * | maier joined #nim |
19:57:36 | * | audiophile_ is now known as audiofile |
20:00:14 | audiofile | Araq hows it going |
20:00:49 | Araq | I don't know you |
20:01:39 | * | wishywash quit (Quit: Konversation terminated!) |
20:02:14 | Yardanico | Araq: well I removed the async dependency fully, but getOccupiedMem after GC_fullCollect() with orc still shows a much bigger value than with refc |
20:02:30 | Yardanico | not sure if I'm doing it the correct way though - https://play.nim-lang.org/#ix=2sln |
20:02:38 | Araq | Yardanico: well I'm fixing the easier closure bug first |
20:02:44 | Yardanico | no rush :) |
20:03:03 | Araq | but if you can reduce it so that it doesn't have the asyncdispatch dependency it'll become easier |
20:03:13 | Yardanico | well I did above, not sure if it's actually a leak or not |
20:03:18 | Yardanico | but getOccupiedMem() is much higher with orc |
20:03:28 | Yardanico | there aren't even any cycles I think? |
20:04:54 | Yardanico | actually just https://play.nim-lang.org/#ix=2slo |
20:05:56 | Yardanico | I'll create an issue so I can update the repro example |
20:08:00 | Araq | ty |
20:08:34 | Yardanico | https://github.com/nim-lang/Nim/issues/15076 |
20:08:36 | * | marnix quit (Read error: Connection reset by peer) |
20:08:36 | disbot | ➥ Memory leaks with async (closure iterators?) under ORC ; snippet at 12https://play.nim-lang.org/#ix=2slr |
20:08:54 | * | altarrel joined #nim |
20:09:17 | * | marnix joined #nim |
20:12:30 | Yardanico | if I add a single GC_unref(next) in a loop where it gets the nameIterVar - ram usage is mostly same as with refc without that GC_unref |
20:12:39 | Yardanico | or in asyncmacro.nim after line 26 |
20:15:11 | Yardanico | but it seems to only work in that simple cases, SIGSEGV with asynchttpserver |
20:17:22 | Zevv[m] | so disruptek, this c-gen error is a nim bug? |
20:17:31 | disruptek | i mean, yeah? |
20:17:53 | Zevv[m] | but it's not a bug in our AST that happens to trigger a nim bug? |
20:17:55 | Zevv[m] | i mean |
20:18:02 | disruptek | uh, maybe. |
20:18:11 | disruptek | i'm trying to fix break. again. |
20:18:17 | Zevv[m] | works for me? |
20:18:23 | disruptek | damn thing just won't stay fixed. |
20:18:26 | Zevv[m] | for my one test |
20:18:31 | Zevv[m] | no right but it's not easy |
20:18:36 | disruptek | well, i will push one. |
20:20:31 | * | jjido joined #nim |
20:20:37 | * | maier quit (Ping timeout: 264 seconds) |
20:22:33 | FromDiscord | <treeform> Inside a macro is there a way to tell which module you are currently in? |
20:22:40 | FromDiscord | <treeform> some thing like getCurrentModuleName() ? |
20:22:57 | disruptek | Zevv[m]: i think we just force it on until we're ready to optimize it. |
20:23:25 | FromDiscord | <treeform> I want to output some thing like module.function name. I know how to get function name, that gets passed in. But I don't know how to get current module name. |
20:23:40 | disruptek | you can get the current filename. |
20:24:30 | Zevv[m] | disruptek: sorry, force what on? |
20:32:17 | FromDiscord | <Clyybber> Araq: Does it make sense conceptually to add a proc to the scope in semRoutineInTemplBody ? |
20:33:00 | * | Vladar quit (Quit: Leaving) |
20:33:07 | FromDiscord | <Clyybber> Because it seems that this is the issue with the forward declarations. semRoutineInTemplBody is generating a new one because the previous semRoutineInTemplBody didn't put the symbol in the scope |
20:35:31 | * | maier joined #nim |
20:42:08 | * | maier quit (Ping timeout: 256 seconds) |
20:49:09 | Araq | Clyybber: dunno |
20:52:35 | FromDiscord | <exelotl> my project won't build on devel because `nimbase` includes `stdbool` which conflicts with the `bool` definition in a header that I'm using |
20:52:41 | Zevv[m] | disruptek: I'm out for today. I didn't add tzevv to the nimble test yet, fwiw. |
20:53:03 | FromDiscord | <exelotl> should I raise this as an issue with nim or with the maintainer of the library? |
20:53:06 | Yardanico | I simplified 15076 to just a normal proc getting values from a closure iterator in a while loop (like you would do) and the leak seems to be still there |
20:54:37 | FromGitter | <alehander92> oii |
20:54:55 | alehander92 | ~love |
20:54:55 | disbot | love: 11patient, love is kind. -- alehander92 |
20:55:01 | Yardanico | ~nim |
20:55:02 | disbot | no footnotes for `nim`. 🙁 |
20:55:04 | alehander92 | i prefer |
20:55:09 | alehander92 | ast-s with type field too |
20:56:45 | * | oriba joined #nim |
20:58:49 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:59:16 | disruptek | Zevv[m]: kk ty |
21:03:55 | Zevv[m] | same! |
21:07:02 | * | marnix quit (Ping timeout: 260 seconds) |
21:08:26 | * | marnix joined #nim |
21:11:17 | Araq | exelotl: dunno why we need stdbool |
21:14:09 | * | lritter_ joined #nim |
21:17:09 | FromDiscord | <Clyybber> probably for the static size checks |
21:17:26 | FromDiscord | <Clyybber> but I don't think that stdbool should be needed for that |
21:19:49 | FromDiscord | <Clyybber> https://github.com/nim-lang/Nim/commit/ab5e26c53cf34a1839dd92d247b5e0a5cde432a0 |
21:20:45 | FromDiscord | <exelotl> yeah, I'm just looking at that now. Rationale explained here: https://github.com/nim-lang/Nim/pull/13798 |
21:20:47 | disbot | ➥ fix some codegen bugs: NIM_BOOL, NIM_STATIC_ASSERT, --passc:-std=... (etc) ; snippet at 12https://play.nim-lang.org/#ix=2sly |
21:20:59 | FromDiscord | <exelotl> but I think it needs revisiting... |
21:21:50 | FromDiscord | <Clyybber> https://github.com/nim-lang/Nim/pull/13798#issuecomment-605838197 in that reply |
21:21:51 | disbot | ➥ fix some codegen bugs: NIM_BOOL, NIM_STATIC_ASSERT, --passc:-std=... (etc) ; snippet at 12https://play.nim-lang.org/#ix=2sly |
21:22:14 | FromDiscord | <Clyybber> timo says that he removed stdbool.h but its still there, so maybe he just forgot to commit it or something |
21:35:33 | * | krux02 joined #nim |
21:36:50 | * | marnix quit (Read error: Connection reset by peer) |
21:43:37 | FromDiscord | <Avatarfighter> What's good everyone 😄 |
21:43:43 | Yardanico | sleeping |
21:43:45 | * | solitudesf quit (Remote host closed the connection) |
21:43:54 | FromDiscord | <Avatarfighter> Oh so the usual ? 😛 |
21:44:02 | Yardanico | yes |
21:44:07 | Yardanico | im talking with you directly from my brain |
21:44:16 | Yardanico | just installed nim 2.0 with the brain backend |
21:44:32 | FromDiscord | <Avatarfighter> LMAO |
21:44:40 | FromDiscord | <Avatarfighter> the neuron backend is installed |
21:45:10 | FromDiscord | <Avatarfighter> What are you working on atm Yardanico? Anything interesting or wanting to make you cry? |
21:45:35 | Yardanico | I don't really have anything interesting I'm working on |
21:45:40 | Yardanico | just hunting some bugs |
21:46:18 | FromDiscord | <Clyybber> you could bridge telegram :p |
21:46:22 | Yardanico | you sure? :P |
21:46:27 | FromDiscord | <Clyybber> hell yeah |
21:46:33 | Yardanico | dom was against it a lot of times :P |
21:46:39 | FromDiscord | <Avatarfighter> Is there even a good telegram library? |
21:46:43 | FromDiscord | <Clyybber> @dom96 you still against it? |
21:46:52 | Yardanico | @Avatarfighter bot api would be enough here |
21:47:08 | FromDiscord | <Avatarfighter> ig so |
21:47:11 | Yardanico | but really I need to make ircord itself also support gitter and telegram |
21:47:32 | Yardanico | *daily reminder - FromGitter is written in Crystal* :D |
21:47:47 | Yardanico | although almost no one uses fromgitter nowadays |
21:48:07 | FromDiscord | <Avatarfighter> oh yeah I meant to ask but what happened to people using the Gitter chat> |
21:48:15 | Yardanico | gitter is just dying |
21:48:25 | FromDiscord | <Avatarfighter> yeah... |
21:48:29 | FromDiscord | <Avatarfighter> That's true lol |
21:50:50 | * | vicfred_ quit (Quit: Leaving) |
21:51:04 | * | Jesin joined #nim |
21:51:07 | * | vicfred joined #nim |
21:52:06 | FromDiscord | <dom96> > @dom96 you still against it?↵@Clyybber Yes |
21:52:15 | FromDiscord | <Clyybber> why? |
21:52:35 | FromDiscord | <dom96> because Telegram has grown its own separate Nim community |
21:52:48 | FromDiscord | <dom96> if you want to bridge it create a #nim-telegram or something |
21:52:58 | FromDiscord | <Clyybber> ? even more reason to unify them again |
21:53:00 | FromDiscord | <Clyybber> IMO |
21:53:07 | * | antranigv joined #nim |
21:53:33 | FromDiscord | <dom96> To be honest I don't care too much either way |
21:53:43 | FromDiscord | <Avatarfighter> all im saying is if their nim meme culture isn't the same as ours #nim-telegram lmao |
21:53:45 | FromDiscord | <dom96> but get others thoughts |
21:53:58 | antranigv | Question: is there any open-source project using Nim? I'd like to have a look and use it in our products. |
21:54:08 | Yardanico | uhh, wdym exactly? |
21:54:38 | FromDiscord | <Clyybber> antranigv: status-im is pretty big |
21:54:40 | Yardanico | nim compiler uses nim and it's an open source project :P |
21:54:42 | Yardanico | nimforum, nitter |
21:54:59 | antranigv | nice nice, I'll check the compiler as well :D |
21:55:21 | Yardanico | but what do you want exactly? |
21:55:23 | Yardanico | that sounds really vague |
21:57:07 | antranigv | well, we write our software in Erlang/Elixir, but for the initial setup, I'd like to have one binary which would act like as a webserver and just write the config files for the elixir application. |
22:03:07 | * | dmi0 quit (Ping timeout: 246 seconds) |
22:08:04 | * | NimBot joined #nim |
22:08:49 | FromDiscord | <Clyybber> and once again has it run away |
22:09:09 | FromDiscord | <Clyybber> that damn bug sure knows his way around the compiler |
22:12:05 | * | dmi0 joined #nim |
22:13:21 | * | dmi0 quit (Remote host closed the connection) |
22:13:47 | * | dmi0 joined #nim |
22:20:23 | * | sagax quit (Remote host closed the connection) |
22:45:08 | * | nikita` quit (Quit: leaving) |
23:08:14 | * | krux02_ joined #nim |
23:09:45 | * | oddp quit (Ping timeout: 240 seconds) |
23:11:45 | * | krux02 quit (Ping timeout: 240 seconds) |
23:15:10 | rayman22201 | So, the csources don't want to build for me using mingw on windows :-( https://www.irccloud.com/pastebin/tYJvMwqO/ |
23:15:48 | rayman22201 | nim used to be easy to bootstrap. Boy, things are really slipping around here :-P |
23:23:35 | rayman22201 | so I can't use mysys or cygwin versions of GCC. I see how it is |
23:24:11 | rayman22201 | Is it possible to bootstrap csources using MSVC? it looks like the build.bat is hard coded to gcc. |
23:28:13 | disruptek | no idea about windows, sorry bud. |
23:28:27 | disruptek | there are new nightlies, though. |
23:28:33 | disruptek | see alaviss/nightlies |
23:28:34 | bung | proc foobar(ls: var TrackySeq[seq[int]], i: int): var seq[int] = echo ls.pos |
23:29:05 | bung | when I echo the PNode I got `echo [ls.pos]` |
23:29:14 | disruptek | yeah? |
23:29:34 | bung | debuging compiler for js |
23:29:39 | rayman22201 | nah. I'm going to just fix my box |
23:31:59 | FromDiscord | <demotomohiro> My ``gcc version 9.3.0 (Rev1, Built by MSYS2 project)`` can build devel Nim from csource. |
23:32:46 | FromDiscord | <demotomohiro> I'm using gcc installed with scoop package manager. |
23:33:31 | rayman22201 | I found a different mingw build that will work I think. It's only gcc 8.1, but that's fine. |
23:33:59 | FromDiscord | <Yardanico> @bung that's how compiler does varargs stuff |
23:34:24 | FromDiscord | <Yardanico> It's working correctly |
23:37:31 | * | audiofile quit (K-Lined) |
23:37:56 | bung | ok, thanks! I need trace another thing then |
23:59:27 | * | oriba quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |