00:19:33 | * | abm quit (Quit: Leaving) |
00:30:15 | * | btop joined #nim |
00:44:38 | * | btop quit (Ping timeout: 245 seconds) |
00:55:37 | * | gangstacat quit (*.net *.split) |
00:55:37 | * | go|dfish quit (*.net *.split) |
00:55:37 | * | nif quit (*.net *.split) |
00:55:37 | * | drewr quit (*.net *.split) |
00:55:37 | * | dashed quit (*.net *.split) |
00:55:37 | * | Guest1685 quit (*.net *.split) |
00:55:37 | * | odc quit (*.net *.split) |
00:55:37 | * | LyndsySimon quit (*.net *.split) |
00:55:37 | * | surma quit (*.net *.split) |
00:55:37 | * | jaens[m] quit (*.net *.split) |
00:55:38 | * | TheManiac[m] quit (*.net *.split) |
00:55:38 | * | zielmicha[m]1 quit (*.net *.split) |
00:55:38 | * | narimiran[m] quit (*.net *.split) |
00:55:38 | * | gh0st[m] quit (*.net *.split) |
00:55:38 | * | lqdev[m] quit (*.net *.split) |
00:55:39 | * | Miguelngel[m] quit (*.net *.split) |
00:55:39 | * | k0mpjut0r quit (*.net *.split) |
00:55:39 | * | planetis[m] quit (*.net *.split) |
00:55:39 | * | GitterIntegratio quit (*.net *.split) |
00:55:39 | * | laaron quit (*.net *.split) |
00:55:39 | * | ng0 quit (*.net *.split) |
00:55:39 | * | leorize quit (*.net *.split) |
00:55:39 | * | Mister_Magister quit (*.net *.split) |
00:55:39 | * | rockcavera quit (*.net *.split) |
00:55:39 | * | sentreen quit (*.net *.split) |
00:55:39 | * | lkw quit (*.net *.split) |
00:55:39 | * | xet7 quit (*.net *.split) |
00:55:40 | * | sammich quit (*.net *.split) |
00:55:40 | * | couven92 quit (*.net *.split) |
00:55:40 | * | nimblepoultry quit (*.net *.split) |
00:55:40 | * | mal`` quit (*.net *.split) |
00:55:40 | * | ldlework quit (*.net *.split) |
00:55:40 | * | oculux quit (*.net *.split) |
00:55:40 | * | Lord_Nightmare quit (*.net *.split) |
00:55:40 | * | jfoutaise quit (*.net *.split) |
00:55:40 | * | Yardanico quit (*.net *.split) |
00:55:41 | * | xace quit (*.net *.split) |
00:55:41 | * | onionhammer quit (*.net *.split) |
00:55:41 | * | mfiano quit (*.net *.split) |
00:55:41 | * | sknebel quit (*.net *.split) |
00:55:41 | * | blackbeard420 quit (*.net *.split) |
00:55:41 | * | acidx quit (*.net *.split) |
00:55:41 | * | WilhelmVonWeiner quit (*.net *.split) |
00:55:41 | * | so quit (*.net *.split) |
00:55:41 | * | dddddd quit (*.net *.split) |
00:55:41 | * | Kaivo quit (*.net *.split) |
00:55:41 | * | gmpreussner quit (*.net *.split) |
00:55:41 | * | jxy quit (*.net *.split) |
00:55:42 | * | ehmry quit (*.net *.split) |
00:55:42 | * | kungtotte quit (*.net *.split) |
00:55:42 | * | disruptek quit (*.net *.split) |
00:55:42 | * | def- quit (*.net *.split) |
00:55:42 | * | cornfeedhobo quit (*.net *.split) |
00:55:42 | * | Amun_Ra quit (*.net *.split) |
00:55:42 | * | AlexMax quit (*.net *.split) |
00:55:42 | * | jken quit (*.net *.split) |
00:55:42 | * | deepend quit (*.net *.split) |
00:55:42 | * | vesper quit (*.net *.split) |
00:55:43 | * | GaveUp quit (*.net *.split) |
00:55:43 | * | CcxWrk quit (*.net *.split) |
00:55:43 | * | Tanger quit (*.net *.split) |
00:55:43 | * | oprypin quit (*.net *.split) |
00:55:43 | * | bozaloshtsh quit (*.net *.split) |
00:55:43 | * | zedeus quit (*.net *.split) |
00:55:43 | * | SunDwarf quit (*.net *.split) |
00:55:43 | * | federico3 quit (*.net *.split) |
00:55:43 | * | crem quit (*.net *.split) |
00:55:43 | * | pydsigner quit (*.net *.split) |
00:55:43 | * | jonafato quit (*.net *.split) |
00:55:43 | * | tyler569 quit (*.net *.split) |
00:55:43 | * | PrimHelios quit (*.net *.split) |
00:55:43 | * | arecaceae quit (*.net *.split) |
00:55:44 | * | joshbaptiste quit (*.net *.split) |
00:55:44 | * | Cthalupa quit (*.net *.split) |
00:55:44 | * | mwbrown quit (*.net *.split) |
00:55:44 | * | literal quit (*.net *.split) |
00:55:44 | * | Zevv quit (*.net *.split) |
00:55:44 | * | Sargun quit (*.net *.split) |
00:55:45 | * | shashlick quit (*.net *.split) |
00:55:45 | * | cyraxjoe quit (*.net *.split) |
00:55:45 | * | Jjp137 quit (*.net *.split) |
00:55:45 | * | snooptek quit (*.net *.split) |
00:55:45 | * | setenforce quit (*.net *.split) |
00:55:45 | * | tribly quit (*.net *.split) |
00:55:45 | * | shadowbane quit (*.net *.split) |
00:55:45 | * | zama quit (*.net *.split) |
00:55:45 | * | rayman22201 quit (*.net *.split) |
00:55:46 | * | Cadey quit (*.net *.split) |
00:55:46 | * | FromGitter quit (*.net *.split) |
00:55:46 | * | msmorgan quit (*.net *.split) |
00:55:46 | * | meff[m] quit (*.net *.split) |
00:55:46 | * | xomachine[m] quit (*.net *.split) |
00:55:47 | * | EastByte_ quit (*.net *.split) |
00:55:47 | * | m712 quit (*.net *.split) |
00:55:47 | * | golechwi2 quit (*.net *.split) |
00:55:47 | * | r4vi quit (*.net *.split) |
00:55:47 | * | MD87 quit (*.net *.split) |
00:55:47 | * | zielmicha__ quit (*.net *.split) |
00:55:47 | * | vegax87 quit (*.net *.split) |
00:55:47 | * | JStoker quit (*.net *.split) |
00:55:47 | * | dom96 quit (*.net *.split) |
00:55:47 | * | Araq quit (*.net *.split) |
00:55:47 | * | d10n quit (*.net *.split) |
00:55:47 | * | dvn quit (*.net *.split) |
00:55:48 | * | euantor quit (*.net *.split) |
00:55:48 | * | deansher quit (*.net *.split) |
00:55:48 | * | chemist69 quit (*.net *.split) |
00:55:48 | * | enthus1ast quit (*.net *.split) |
00:55:48 | * | spymasterd[m] quit (*.net *.split) |
00:55:48 | * | Demos[m] quit (*.net *.split) |
00:55:48 | * | yglukhov[m] quit (*.net *.split) |
00:55:48 | * | nuxdie quit (*.net *.split) |
00:55:48 | * | d10n-work quit (*.net *.split) |
00:55:48 | * | macsek1911[m] quit (*.net *.split) |
00:55:48 | * | encryptize[m] quit (*.net *.split) |
00:55:48 | * | nergal[m] quit (*.net *.split) |
00:55:49 | * | Connor[m] quit (*.net *.split) |
00:55:49 | * | leorize[m] quit (*.net *.split) |
00:55:49 | * | BitPuffin quit (*.net *.split) |
00:55:49 | * | l1x quit (*.net *.split) |
00:55:49 | * | matti quit (*.net *.split) |
00:55:49 | * | oz quit (*.net *.split) |
00:55:49 | * | zyklon quit (*.net *.split) |
00:55:49 | * | revere quit (*.net *.split) |
00:55:49 | * | qwertfisch quit (*.net *.split) |
00:55:49 | * | skrylar[m] quit (*.net *.split) |
00:55:49 | * | isaac[m] quit (*.net *.split) |
00:55:49 | * | huuskes quit (*.net *.split) |
00:55:49 | * | tobbez quit (*.net *.split) |
00:55:49 | * | vqrs quit (*.net *.split) |
00:55:50 | * | pbb quit (*.net *.split) |
00:55:50 | * | sagax quit (*.net *.split) |
00:55:50 | * | ljoonal quit (*.net *.split) |
00:55:50 | * | beatmox quit (*.net *.split) |
00:55:50 | * | livcd quit (*.net *.split) |
00:55:50 | * | shodan45 quit (*.net *.split) |
00:55:51 | * | gsingh93 quit (*.net *.split) |
00:55:51 | * | hashbjorn quit (*.net *.split) |
01:12:04 | * | theelous3 quit (Ping timeout: 246 seconds) |
01:13:56 | * | leorize joined #nim |
01:13:56 | * | tribly joined #nim |
01:13:56 | * | Jjp137 joined #nim |
01:13:56 | * | cyraxjoe joined #nim |
01:13:56 | * | setenforce joined #nim |
01:13:56 | * | k0mpjut0r joined #nim |
01:13:56 | * | Connor[m] joined #nim |
01:13:56 | * | skrylar[m] joined #nim |
01:13:56 | * | tyler569 joined #nim |
01:13:56 | * | jonafato joined #nim |
01:13:56 | * | pydsigner joined #nim |
01:13:56 | * | crem joined #nim |
01:13:56 | * | federico3 joined #nim |
01:13:56 | * | SunDwarf joined #nim |
01:13:56 | * | zedeus joined #nim |
01:13:56 | * | bozaloshtsh joined #nim |
01:13:56 | * | oprypin joined #nim |
01:13:56 | * | Tanger joined #nim |
01:13:56 | * | CcxWrk joined #nim |
01:13:56 | * | GaveUp joined #nim |
01:13:56 | * | vesper joined #nim |
01:13:56 | * | hashbjorn joined #nim |
01:13:56 | * | gsingh93 joined #nim |
01:13:56 | * | shodan45 joined #nim |
01:13:56 | * | livcd joined #nim |
01:13:56 | * | beatmox joined #nim |
01:13:56 | * | ljoonal joined #nim |
01:13:56 | * | sagax joined #nim |
01:13:56 | * | so joined #nim |
01:13:56 | * | WilhelmVonWeiner joined #nim |
01:13:56 | * | acidx joined #nim |
01:13:56 | * | blackbeard420 joined #nim |
01:13:56 | * | sknebel joined #nim |
01:13:56 | * | onionhammer joined #nim |
01:13:56 | * | xace joined #nim |
01:13:56 | * | mfiano joined #nim |
01:13:56 | * | Yardanico joined #nim |
01:13:56 | * | Araq joined #nim |
01:13:56 | * | dom96 joined #nim |
01:13:56 | * | planetis[m] joined #nim |
01:13:56 | * | meff[m]1 joined #nim |
01:13:56 | * | Sargun joined #nim |
01:13:56 | * | literal joined #nim |
01:13:56 | * | Zevv joined #nim |
01:13:56 | * | mwbrown joined #nim |
01:13:56 | * | Cthalupa joined #nim |
01:13:56 | * | joshbaptiste joined #nim |
01:13:56 | * | arecaceae joined #nim |
01:13:56 | * | PrimHelios joined #nim |
01:13:56 | * | zama joined #nim |
01:13:56 | * | surma joined #nim |
01:13:56 | * | LyndsySimon joined #nim |
01:13:56 | * | Guest1685 joined #nim |
01:13:56 | * | odc joined #nim |
01:13:56 | * | dashed joined #nim |
01:13:56 | * | drewr joined #nim |
01:13:56 | * | nif joined #nim |
01:13:56 | * | go|dfish joined #nim |
01:13:56 | * | gangstacat joined #nim |
01:13:56 | * | rayman22201 joined #nim |
01:13:56 | * | nergal[m] joined #nim |
01:13:56 | * | r4vi joined #nim |
01:13:56 | * | msmorgan joined #nim |
01:13:56 | * | lqdev[m] joined #nim |
01:13:56 | * | isaac[m] joined #nim |
01:13:56 | * | pbb joined #nim |
01:13:56 | * | vqrs joined #nim |
01:13:56 | * | tobbez joined #nim |
01:13:56 | * | huuskes joined #nim |
01:13:56 | * | qwertfisch joined #nim |
01:13:56 | * | revere joined #nim |
01:13:56 | * | zyklon joined #nim |
01:13:56 | * | Xena joined #nim |
01:13:56 | * | golechwi3 joined #nim |
01:13:56 | * | FromGitter joined #nim |
01:13:56 | * | zielmicha__ joined #nim |
01:13:56 | * | JStoker joined #nim |
01:13:56 | * | vegax87 joined #nim |
01:13:56 | * | d10n-work joined #nim |
01:13:56 | * | TheManiac[m] joined #nim |
01:13:56 | * | MD87 joined #nim |
01:13:56 | * | deepend joined #nim |
01:13:56 | * | jken joined #nim |
01:13:56 | * | AlexMax joined #nim |
01:13:56 | * | Amun_Ra joined #nim |
01:13:56 | * | cornfeedhobo joined #nim |
01:13:56 | * | def- joined #nim |
01:13:56 | * | disruptek joined #nim |
01:13:56 | * | kungtotte joined #nim |
01:13:56 | * | ehmry joined #nim |
01:13:56 | * | jxy joined #nim |
01:13:56 | * | gmpreussner joined #nim |
01:13:56 | * | Kaivo joined #nim |
01:13:56 | * | dddddd joined #nim |
01:13:56 | * | d10n joined #nim |
01:13:56 | * | EastByte_ joined #nim |
01:13:56 | * | gh0st[m] joined #nim |
01:13:56 | * | narimiran[m] joined #nim |
01:13:56 | * | jaens[m] joined #nim |
01:13:56 | * | encryptize[m] joined #nim |
01:13:56 | * | zielmicha[m]1 joined #nim |
01:13:56 | * | jfoutaise joined #nim |
01:13:56 | * | Lord_Nightmare joined #nim |
01:13:56 | * | oculux joined #nim |
01:13:56 | * | ldlework joined #nim |
01:13:56 | * | mal`` joined #nim |
01:13:56 | * | couven92 joined #nim |
01:13:56 | * | sammich joined #nim |
01:13:56 | * | xet7 joined #nim |
01:13:56 | * | lkw joined #nim |
01:13:56 | * | sentreen joined #nim |
01:13:56 | * | rockcavera joined #nim |
01:13:56 | * | Mister_Magister joined #nim |
01:13:56 | * | oz joined #nim |
01:13:56 | * | matti joined #nim |
01:13:56 | * | l1x joined #nim |
01:13:56 | * | BitPuffin joined #nim |
01:13:56 | * | leorize[m] joined #nim |
01:13:56 | * | macsek1911[m] joined #nim |
01:13:56 | * | nuxdie joined #nim |
01:13:56 | * | yglukhov[m] joined #nim |
01:13:56 | * | Demos[m] joined #nim |
01:13:56 | * | spymasterd[m] joined #nim |
01:13:56 | * | enthus1ast joined #nim |
01:13:56 | * | chemist69 joined #nim |
01:13:56 | * | deansher joined #nim |
01:13:56 | * | euantor joined #nim |
01:13:56 | * | dvn joined #nim |
01:13:56 | * | xomachine[m]1 joined #nim |
01:13:56 | * | Miguelngel[m] joined #nim |
01:14:05 | * | sknebel quit (Max SendQ exceeded) |
01:14:05 | * | Connor[m] quit (Changing host) |
01:14:06 | * | Connor[m] joined #nim |
01:14:06 | * | skrylar[m] quit (Changing host) |
01:14:06 | * | skrylar[m] joined #nim |
01:14:06 | * | lmariscal quit (Max SendQ exceeded) |
01:14:31 | * | nimblepoultry joined #nim |
01:14:44 | * | Mister_Magister quit (Ping timeout: 248 seconds) |
01:14:51 | * | skrylar[m] quit (Ping timeout: 240 seconds) |
01:15:05 | * | nergal[m] quit (Ping timeout: 276 seconds) |
01:15:16 | * | xomachine[m]1 quit (Ping timeout: 249 seconds) |
01:15:17 | * | spymasterd[m] quit (Ping timeout: 249 seconds) |
01:15:18 | * | Demos[m] quit (Ping timeout: 249 seconds) |
01:15:19 | * | yglukhov[m] quit (Ping timeout: 249 seconds) |
01:15:23 | * | macsek1911[m] quit (Ping timeout: 249 seconds) |
01:15:27 | * | leorize[m] quit (Ping timeout: 249 seconds) |
01:15:27 | * | BitPuffin quit (Ping timeout: 249 seconds) |
01:15:28 | * | Connor[m] quit (Ping timeout: 240 seconds) |
01:15:28 | * | k0mpjut0r quit (Ping timeout: 240 seconds) |
01:15:28 | * | TheManiac[m] quit (Ping timeout: 250 seconds) |
01:15:31 | * | zielmicha[m]1 quit (Ping timeout: 248 seconds) |
01:15:31 | * | encryptize[m] quit (Ping timeout: 248 seconds) |
01:15:31 | * | jaens[m] quit (Ping timeout: 248 seconds) |
01:15:36 | * | Miguelngel[m] quit (Ping timeout: 252 seconds) |
01:15:40 | * | meff[m]1 quit (Ping timeout: 263 seconds) |
01:15:40 | * | planetis[m] quit (Ping timeout: 263 seconds) |
01:15:43 | * | isaac[m] quit (Ping timeout: 276 seconds) |
01:15:43 | * | lqdev[m] quit (Ping timeout: 276 seconds) |
01:15:49 | * | narimiran[m] quit (Ping timeout: 248 seconds) |
01:15:49 | * | gh0st[m] quit (Ping timeout: 248 seconds) |
01:15:53 | * | nimblepoultry quit (Changing host) |
01:15:54 | * | nimblepoultry joined #nim |
01:16:18 | * | shashlick joined #nim |
01:17:24 | * | FromGitter is now known as Guest92070 |
01:17:24 | * | JStoker is now known as Guest94707 |
01:21:15 | * | d10n quit (Changing host) |
01:21:15 | * | d10n joined #nim |
01:21:26 | * | zama quit (Changing host) |
01:21:26 | * | zama joined #nim |
01:21:50 | * | laaron joined #nim |
01:21:50 | * | btop joined #nim |
01:21:50 | * | m712 joined #nim |
01:21:56 | * | GitterIntegratio joined #nim |
01:21:59 | * | shadowbane joined #nim |
01:22:11 | * | skrylar[m] joined #nim |
01:22:27 | * | sknebel joined #nim |
01:22:30 | * | xomachine[m]1 joined #nim |
01:22:30 | * | Miguelngel[m] joined #nim |
01:22:31 | * | spymasterd[m] joined #nim |
01:22:36 | * | encryptize[m] joined #nim |
01:22:36 | * | zielmicha[m]1 joined #nim |
01:22:37 | * | jaens[m] joined #nim |
01:23:01 | * | Connor[m] joined #nim |
01:23:51 | * | Mister_Magister joined #nim |
01:24:15 | * | k0mpjut0r joined #nim |
01:25:38 | * | meff[m]1 joined #nim |
01:25:39 | * | planetis[m] joined #nim |
01:25:58 | * | BitPuffin joined #nim |
01:26:11 | * | isaac[m] joined #nim |
01:26:12 | * | lqdev[m] joined #nim |
01:27:11 | * | Demos[m] joined #nim |
01:27:44 | * | yglukhov[m] joined #nim |
01:27:47 | * | macsek1911[m] joined #nim |
01:27:47 | * | leorize[m] joined #nim |
01:28:12 | * | gh0st[m] joined #nim |
01:28:45 | * | rayman22201 quit (Quit: Connection closed for inactivity) |
01:29:49 | * | TheManiac[m] joined #nim |
01:30:46 | * | narimiran[m] joined #nim |
01:31:16 | * | laaron quit (Remote host closed the connection) |
01:33:07 | * | laaron joined #nim |
01:33:24 | * | nergal[m] joined #nim |
01:46:50 | * | btop quit (Ping timeout: 272 seconds) |
01:53:25 | * | btop joined #nim |
02:07:32 | * | leorize quit (Ping timeout: 260 seconds) |
02:10:15 | Guest92070 | <deech> Compile times will not break Rust's adoption, still better than C++, one of their biggest target audiences. |
02:14:43 | Guest92070 | <deech> I've said it before Nim's biggest advantages are compile time eval/static reflection + an easily bootstrappable compiler + the C++ interop (better than Rust's) + a Python-y looking interface. It can't compete on Futures or with the new runtime, both of which are great to have but not the initial hook. |
02:28:39 | * | laaron quit (Remote host closed the connection) |
02:36:28 | * | laaron joined #nim |
02:43:22 | * | dddddd quit (Ping timeout: 245 seconds) |
03:02:20 | Guest92070 | <zacharycarter> Shield: sorry was asleep - what's up bud? |
03:02:39 | * | NimBot joined #nim |
03:06:43 | * | rockcavera quit (Remote host closed the connection) |
03:08:36 | Guest92070 | <zacharycarter> I think Rust has already been adopted - maybe it will break it for this one guy :P |
03:12:44 | Guest92070 | <zacharycarter> do calls to `{.passC.}` overwrite each other? |
03:18:27 | Guest92070 | <zacharycarter> oh god - so vcc does `/I` instead of `-I` for include paths |
03:19:49 | * | btop quit (Ping timeout: 246 seconds) |
03:29:20 | Guest92070 | <zacharycarter> cool I got bx to compile with Nim, now hopefully I can get bimg to compile with Nim and then I will try to use it for image loading and I can continue with my Nim gamedev |
03:29:32 | Guest92070 | <zacharycarter> although now I have to compile my project with the cpp backend but meh who cares |
03:30:36 | * | shashlick quit (Remote host closed the connection) |
03:30:56 | * | shashlick joined #nim |
03:40:10 | Guest92070 | <zacharycarter> hmm - after compiling the C++ code in my Nim program I'm getting errors about the namespace everything is in, not being a class or namespace name |
03:43:17 | * | terps joined #nim |
03:45:37 | Guest92070 | <zacharycarter> okay I got passed that but now I get - left of '.rgbToHsv' must have class/struct/union |
03:46:56 | Guest92070 | <zacharycarter> ah I forgot the - `(@)` - cool, it works! |
03:47:04 | * | gangstacat quit (Quit: Ĝis!) |
03:52:31 | * | chemist69 quit (Ping timeout: 252 seconds) |
03:54:43 | * | chemist69 joined #nim |
04:06:29 | * | endragor joined #nim |
04:16:39 | * | fjellfras joined #nim |
04:20:22 | * | gangstacat joined #nim |
04:31:15 | * | nsf joined #nim |
04:35:53 | * | PrimHelios quit (Ping timeout: 268 seconds) |
04:38:49 | * | PrimHelios joined #nim |
04:39:41 | * | LargeEpsilon joined #nim |
04:49:07 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
04:50:31 | * | laaron joined #nim |
04:54:47 | * | owl_000 joined #nim |
04:56:58 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
04:57:37 | * | laaron joined #nim |
05:00:55 | * | laaron quit (Client Quit) |
05:01:35 | * | laaron joined #nim |
05:05:55 | owl_000 | when i wrote 'readline(stdin)' by following tut 1's first program, surprisingly it works. though the actual statement is 'readLine(stdin)' with capital 'L'. why no error occurs? |
05:07:56 | Guest92070 | <Varriount> Nim is only partially case sensitive |
05:08:30 | Guest92070 | <Varriount> The first letter of an identifier is case sensitive, the rest of an identifier is not. |
05:13:12 | owl_000 | what if i have a variable named readline? (though it compiles) but my intution says in future conflict will arise, isn't it? |
05:14:45 | * | leorize joined #nim |
05:15:08 | owl_000 | and then what is the best practice? |
05:15:43 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
05:16:44 | * | laaron joined #nim |
05:39:08 | * | LargeEpsilon quit (Ping timeout: 258 seconds) |
05:43:50 | * | solitudesf joined #nim |
05:53:11 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
05:53:51 | * | laaron joined #nim |
05:55:15 | * | LargeEpsilon joined #nim |
05:56:25 | * | laaron quit (Client Quit) |
05:56:49 | * | LargeEpsilon_ joined #nim |
05:58:06 | * | owl_000 quit (Quit: Leaving) |
05:59:10 | * | laaron joined #nim |
06:00:03 | * | LargeEpsilon quit (Ping timeout: 245 seconds) |
06:04:17 | * | narimiran joined #nim |
06:06:49 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
06:07:57 | * | laaron joined #nim |
06:09:50 | * | laaron quit (Client Quit) |
06:11:08 | * | laaron joined #nim |
06:11:56 | * | Vladar joined #nim |
06:12:17 | * | laaron quit (Remote host closed the connection) |
06:15:57 | * | laaron joined #nim |
06:17:12 | * | laaron quit (Client Quit) |
06:19:25 | * | laaron joined #nim |
06:23:11 | * | PMunch joined #nim |
06:26:01 | * | vlad1777d joined #nim |
06:34:08 | * | owl_000 joined #nim |
06:35:13 | Araq | owl_000: it doesn't matter. What if you introduce a local variable named read1ine in C++? |
06:36:11 | Araq | what are the "best practices" in C++ to avoid that? it's a silly question. |
06:36:49 | Araq | having said that, on devel you can add --styleCheck:error to your config |
06:40:52 | owl_000 | i have no knowledge about c++. but i know python only. i am learning nim.so far i loved it. |
06:42:02 | Araq | ok. |
06:42:11 | * | Vladar quit (Remote host closed the connection) |
06:42:48 | Araq | you can have 'read1ine' in Python too, but never mind, the point is to try --styleCheck:error |
06:42:50 | * | Vladar joined #nim |
06:43:00 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
06:43:32 | Araq | it tells you how to name and write things :-) |
06:45:00 | owl_000 | thanks, i am learning, i will ask qustion here if i face difficulties. |
06:45:52 | * | laaron joined #nim |
06:54:43 | owl_000 | i tried --styleCheck:error now. it works fantastically. i think it is good option for learning nim properly. thanks |
06:57:55 | Araq | yeah will update the tutorial to mention it |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:00:14 | Guest92070 | <arnetheduck> Nim programs compile fast because most nim programs are small. in nimbus we're starting to feel the pain though like the rust folks, and we're not even close to feature complete - watching our aes or bigint multiplication being recompiled for the n:th time is.. boring - and we've already hit compile time bombs with overly ambitious macros. recompiling everything every time, specially if there are no watertight |
07:00:14 | Guest92070 | ... compartments between modules where the compiler can stop analyzing and go by interface/abi only is not gonna work. eventually, if everything goes as planned, the same articles will appear for nim also - it's a function of rust being used, not rust being unusually slow |
07:03:55 | Araq | IC is coming |
07:04:05 | * | BigEpsilon joined #nim |
07:04:39 | * | gmpreussner joined #nim |
07:05:13 | PMunch | Yeah looking forward to IC |
07:06:02 | * | LargeEpsilon_ quit (Ping timeout: 272 seconds) |
07:06:35 | * | btop joined #nim |
07:10:23 | * | ZORR0W joined #nim |
07:11:44 | * | btop quit (Ping timeout: 272 seconds) |
07:23:10 | * | ZORR0W quit (Quit: Leaving) |
07:23:32 | * | ZORR0W joined #nim |
07:23:51 | * | ng0 joined #nim |
07:40:18 | * | laaron quit (Remote host closed the connection) |
07:41:43 | * | solitudesf quit (Ping timeout: 245 seconds) |
07:43:49 | * | laaron joined #nim |
07:44:38 | * | terps quit (Ping timeout: 252 seconds) |
07:46:11 | PMunch | Hmm, the change that made .uint8 throw an error when the value is out of range is messing up a lot of my old code.. |
07:55:52 | * | alexander92 joined #nim |
08:13:17 | Guest92070 | <alehander42> Araq, in cgen, doesnt genProc need to generate genCLineDir |
08:13:23 | Guest92070 | <alehander42> before the header thing |
08:14:22 | narimiran | PMunch: was your old code something like `uint8(-1)` or something else not so straightforward? |
08:14:26 | Guest92070 | <alehander42> it seems it does generate one after the header |
08:14:33 | Guest92070 | <alehander42> which doesnt help gdb |
08:15:19 | PMunch | No it was more stuff like this: http://ix.io/1T1a/Nim |
08:15:34 | Araq | alehander42: fix it? |
08:15:37 | PMunch | Basically using the uint8 operator to mask off only the last 8 bits |
08:17:29 | * | solitudesf joined #nim |
08:19:30 | Guest92070 | <alehander42> Araq, nevermind i misunderstood how gdb works with function breakpoint lines |
08:20:14 | leorize | PMunch: isn't there an endians module? |
08:20:45 | Guest92070 | <alehander42> this means i have to maybe fix my own line-mapping reader, but for now i'll just put one on top |
08:22:31 | PMunch | Yes, but that's besides the point |
08:27:17 | * | terps joined #nim |
08:29:55 | * | solitudesf quit (Ping timeout: 246 seconds) |
08:36:24 | * | shomodj joined #nim |
08:48:18 | * | ZORR0 joined #nim |
08:51:11 | * | ZORR0W quit (Ping timeout: 268 seconds) |
09:02:00 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
09:03:37 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:08:18 | * | solitudesf joined #nim |
09:24:39 | * | terps quit (Ping timeout: 264 seconds) |
09:24:48 | * | shomodj joined #nim |
09:55:20 | * | vlad1777d quit (Ping timeout: 244 seconds) |
09:58:43 | Guest92070 | <mratsim> @arnetheduck bigint is a bit special as we have part of them being pure C code, I don't think IC addresses C code does it @Araq? |
10:01:14 | Guest92070 | <mratsim> https://raphlinus.github.io/rust/2019/08/21/rust-bloat.html |
10:09:00 | * | alexander92 quit (Ping timeout: 258 seconds) |
10:11:08 | * | abm joined #nim |
10:30:27 | Araq | mratsim: C code is already cached |
10:34:15 | * | fjellfras quit (Quit: Leaving) |
10:35:40 | * | BigEpsilon quit (Ping timeout: 272 seconds) |
10:38:53 | * | terps joined #nim |
10:38:54 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:45:26 | * | theelous3 joined #nim |
10:47:50 | Guest92070 | <zacharycarter> whoa - apparently when you copy / paste code from vscode into gmail it preserves all of the formatting and background color |
10:51:40 | Araq | which OS? |
10:52:56 | Guest92070 | <zacharycarter> windows |
10:53:44 | Araq | try the same on Linux ;-) |
10:53:48 | Guest92070 | <zacharycarter> I emailed myself a Nim snippet this morning before I left for work, and was surprised to see the email had syntax highlighting and a black background |
10:54:27 | Guest92070 | <zacharycarter> heh - yeah not too surprised it doesn't work there |
10:54:52 | * | ZORR0 quit (Remote host closed the connection) |
10:55:13 | * | ZORR0 joined #nim |
10:56:04 | Guest92070 | <zacharycarter> okay I have a question for C++ interop -should all Nim objects use the `{.bycopy.}` pragma, because I know there is also a `{.byref.}` pragma... I guess what's confusing me is some C++ functions accept references to objects while others as arguments while others will take a value |
10:56:28 | Guest92070 | <zacharycarter> I haven't actually run into any issues yet, but I want to understand better while I'm writing proc signatures for the bimg library I plan on trying to use |
10:56:55 | Araq | do what c2nim does |
10:57:15 | Araq | I encode my knowledge in c2nim and then forget it |
10:57:48 | Araq | I suspect .bycopy is dangerous since most of the time 'const T&' is used in C++ |
10:58:04 | Araq | which we simply strip away |
10:58:10 | Araq | iirc |
10:58:48 | * | LargeEpsilon joined #nim |
11:00:20 | * | terps quit (Read error: Connection reset by peer) |
11:03:30 | * | shomodj joined #nim |
11:09:48 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:13:34 | * | floppydh joined #nim |
11:17:02 | Guest92070 | <zacharycarter> okay cool - thanks |
11:19:14 | * | alexander92 joined #nim |
11:22:44 | * | terps joined #nim |
11:43:14 | * | ZORR0 quit (Read error: Connection reset by peer) |
11:44:48 | * | ZORR0 joined #nim |
11:48:18 | * | nsf quit (Quit: WeeChat 2.5) |
11:51:21 | FromDiscord_ | <Shield> @zacharycarter I was making sure you got my message about the binaries if you got time to compile some, spent yesterday on it and there's a 64bit part in the tools breaking Genie, Cmake can't compile to a shared library |
11:52:30 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
11:53:06 | Guest92070 | <zacharycarter> Shield: for windows? |
11:53:07 | * | laaron joined #nim |
11:53:29 | Guest92070 | <zacharycarter> I can compile 64 bit windows DLLs for bgfx for you right now |
11:53:44 | Guest92070 | <zacharycarter> but please confirm first - 64 bit windows and debug or release? |
11:53:59 | Guest92070 | <zacharycarter> also, is it okay if they're compiled with msvc? |
11:59:11 | FromDiscord_ | <Shield> 32bit windows debug and release please, gcc is possible, but i'll try msvc |
11:59:21 | FromDiscord_ | <Shield> if* |
11:59:34 | PMunch | Hmm, anyone knows why I get "Error: unhandled exception: vm.nim(706, 16) `nfIsRef in regs[ra].node.flags` [AssertionError]" when trying to use a CountTable[string] in a macro? |
12:00:10 | PMunch | works fine in 0.19.0 |
12:00:16 | * | terps quit (Read error: Connection reset by peer) |
12:01:11 | FromDiscord_ | <Shield> msvc tends to throw some dll dependency I cannot install for some reason |
12:01:54 | PMunch | 0.19.6 as well, but not 0.20.0 |
12:02:59 | Guest92070 | <zacharycarter> I don't *think* I can do gcc best I could probably do is mingw |
12:03:08 | Guest92070 | <zacharycarter> let me look at toolchain.lua in bgfx |
12:03:25 | Guest92070 | <zacharycarter> oh wait I can with WSL |
12:04:44 | Zevv | Oow, the politics-post has been dropped. Too bad, I love politics |
12:05:46 | FromDiscord_ | <Shield> err yeah I meant mingw |
12:05:58 | dom96 | Zevv: politics post? |
12:06:45 | Guest92070 | <zacharycarter> I'll see if I can do gcc with wsl |
12:06:48 | Guest92070 | <zacharycarter> if not I'll do mingw |
12:08:22 | narimiran | dom96: you don't want to know :P |
12:08:34 | dom96 | was it on the forum? |
12:08:37 | narimiran | yep |
12:08:40 | dom96 | PM? |
12:09:02 | FromDiscord_ | <Shield> just go for mingw, I saw that it uses gcc and that got stuck in my mind |
12:10:04 | narimiran | dom96: pm sent :) |
12:10:27 | Guest92070 | <zacharycarter> okay |
12:11:28 | * | alexander92 quit (Quit: WeeChat 2.4) |
12:13:36 | Zevv | dom96: a guy making a huge fuzz about araq calling V-man being involved with language design fascism |
12:14:16 | Zevv | I once noted araqs tendency to use only male terms in his data structures. 'dad' instead of parent and 'sons' instead of 'children' |
12:14:24 | Zevv | But then he assured me it is ok because all these sons are black and gay :) |
12:14:48 | Zevv | oh PM sorry :/ |
12:14:49 | FromDiscord_ | <Shield> lmao |
12:15:05 | narimiran | Zevv: i'm personally offended!!!111!!!11!1! |
12:15:15 | Zevv | you should consider SHOUTING then |
12:16:11 | narimiran | Zevv: don't tell me what to do, this is not a totalitarianism!!! |
12:16:28 | Zevv | *should* *consider* |
12:16:30 | FromDiscord_ | <Shield> let's hope nobody makes a PR that changes names and nothing else with no useful additions beside the politic bs |
12:16:41 | FromDiscord_ | <Shield> it was a shitshow seeing that happen to godot |
12:18:12 | Guest92070 | <deech> @arnetheduck What kind of compile times are you seeing? |
12:24:29 | PMunch | Shield, wait Godot did this? |
12:25:03 | PMunch | By the way, no one knows why I get that AssertionError? |
12:29:41 | * | cgfuh joined #nim |
12:29:55 | Guest92070 | <zacharycarter> Shield: I'm having trouble building with mingw too on my work PC. I haven't done this in a while, so something might be broken with the build but I'll give it a go from home this evening |
12:30:17 | * | terps joined #nim |
12:31:17 | PMunch | Hmmm, interesting |
12:31:22 | Zevv | I should also mention that araqs sons and dads were mainly there because of the short length of the identifiers, btw :) |
12:31:50 | FromDiscord_ | <Shield> yeah, somebody changed Slave to Puppet for networking, because that totally makes sense, and I heard that they're taking the new CoC |
12:31:59 | FromDiscord_ | <Shield> well, it's not new anymore |
12:32:17 | PMunch | I wrote a macro that outputs a dot graph from AST. And by only saving the file the graph updated, which was weird, until I realised that nimlsp compiling the file was enough for it to overwrite the file.. |
12:34:13 | FromDiscord_ | <Shield> I appreciate your effort @zacharycarter, if it doesn't work, I'll try my luck with msvc build if you have time |
12:34:13 | * | LargeEpsilon quit (Ping timeout: 246 seconds) |
12:38:30 | Guest92070 | <zacharycarter> I can definitely do the msvc build - let me get you that at least |
12:39:18 | Zevv | PMunch: you're writing dots for Nim AST? Share one |
12:40:07 | * | dddddd joined #nim |
12:41:58 | PMunch | Zevv, just created a simple one so far: peterme.net/uploads/helloworld.png |
12:42:42 | Zevv | 404 |
12:42:44 | Guest92070 | <zacharycarter> Shield: https://drive.google.com/file/d/105lsIIGzvRjbp72ny0ZvrDHsBPxFr2tB/view?usp=sharing |
12:42:55 | PMunch | Yeah.. Not sure why that happens, looking into it |
12:43:32 | PMunch | Ah, oops: https://uploads.peterme.net/helloworld.png |
12:43:38 | PMunch | So much for hand-typing my URLs |
12:43:54 | Zevv | Hehe that's pretty basic indeed, but cool start! |
12:44:51 | Zevv | I do love my dots, one of my all time favorite tools. Stuff like https://github.com/zevv/lsofgraph |
12:45:33 | * | rockcavera joined #nim |
12:48:30 | * | nif quit (Quit: ...) |
12:48:39 | * | nif joined #nim |
12:49:32 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
12:52:45 | * | laaron joined #nim |
12:53:26 | FromDiscord_ | <Shield> testing |
12:53:29 | * | spip joined #nim |
12:57:08 | PMunch | Ah crap, in 0.19.6 tables didn't update properly in macros.. |
12:57:27 | PMunch | And they don't seem to be able to run at all in a macro in 0.20.0.. |
12:58:01 | Araq | PMunch: report it please |
12:58:09 | Araq | with a small test case |
12:58:26 | PMunch | That they don't run? |
12:58:31 | Araq | yes |
12:58:40 | Araq | compile-time tables are covered by tests |
13:00:52 | * | LargeEpsilon joined #nim |
13:01:30 | Guest92070 | <alehander42> PMunch nice |
13:02:50 | PMunch | github.com/nim-lang/Nim/issues/11999 |
13:02:54 | PMunch | Aaaw, almost issue 12000 :P |
13:03:20 | Araq | alehander42: fyi https://www.eiffel.org/doc/eiffel/Void-safety-_Background%2C_definition%2C_and_tools |
13:09:52 | Guest92070 | <alehander42> Araq, thanks: this seems on a quick first read to be similar to the nim approach? |
13:10:06 | Guest92070 | <alehander42> but with attachable = T not nil and the other ~= T nil |
13:11:07 | PMunch | Hmm, updated the issue with some more information |
13:11:23 | PMunch | Tried to create my own dumb implementation of a CountTable and it didn't work either |
13:11:29 | PMunch | So something weird is up |
13:12:18 | PMunch | At least that worked when I compiled it with 0.19.6 |
13:14:49 | * | shomodj joined #nim |
13:17:00 | PMunch | Zevv, uploads.peterme.net/forloop.png |
13:18:00 | * | shomodj quit (Client Quit) |
13:19:42 | Araq | alehander42: it's exactly what Nim does with its 'not nil' except that 'not nil' is the default if I understand it correctly |
13:20:02 | PMunch | Zevv, uploads.peterme.net/multiple.png |
13:20:08 | Zevv | PMunch: cool. But I guess after a certain size, the actual code ends up to be more readable then the graph :) |
13:20:56 | Guest92070 | <alehander42> Araq: yes |
13:21:13 | Guest92070 | <alehander42> however the flow-typing thing is not yet resolved for nim |
13:21:47 | * | shomodj joined #nim |
13:21:58 | FromDiscord_ | <Shield> zacharycarter: it's the correct dll but it crashes with any renderer type, even directX, either way, thanks! I'll take a dive in the code |
13:22:15 | Guest92070 | <alehander42> the problem i see with my PR is that it's a bit hard to be sound |
13:22:43 | Guest92070 | <alehander42> e.g. if not a.isNil: b = call() ; echo a.c + b |
13:22:51 | * | terps quit (Ping timeout: 264 seconds) |
13:23:06 | Guest92070 | <alehander42> here it's just not possible sometimes to prove that there is no global alias to `a` somewhere |
13:23:12 | Guest92070 | <alehander42> which makes it nil in `call()` |
13:23:30 | narimiran | PMunch: cool! |
13:24:06 | Guest92070 | <alehander42> the other option is to invalidate the notnilness of `a` after any call in a subbranch/basic block |
13:24:23 | Guest92070 | <alehander42> but i am not sure how helpful this would be |
13:24:45 | Guest92070 | <alehander42> e.g. then you can't do if not a.isNil: a.b = call() |
13:25:13 | Araq | alehander42: it is a solved problem. |
13:25:32 | Araq | Guard expressions must be of the form 'local != nil' or 'parameter != nil' |
13:26:18 | Guest92070 | <alehander42> which is the same as not local.isNil |
13:26:26 | Araq | these guard expressions can be extended to 'and' expressions |
13:26:37 | Araq | 'if a != nil and b != nil' should be allowed |
13:26:57 | Guest92070 | <alehander42> yes, i do it in my PR: i extend to `and` , and i think i also count that `or` isn't enough |
13:28:00 | Araq | the only minor difficulty is that a guard condition can also contain crap that is irrelevant for the nil checking aspect like 'if x != nil and foobar != 45' |
13:28:45 | Araq | and you need to watch out for re-assignments for 'var' |
13:28:55 | Araq | var it = root |
13:29:08 | Araq | while it != nil: ... it = it.next |
13:29:13 | Araq | must be valid |
13:29:13 | Guest92070 | <alehander42> my PR even supports stuff like |
13:29:14 | Guest92070 | <alehander42> `echo not a.isNil and a.a > 0` |
13:29:35 | Araq | yeah, it's better to have a CFG for this |
13:29:38 | Guest92070 | <alehander42> yes, i think this is supported as well |
13:30:49 | PMunch | Zevv, well you can decide for yourself: uploads.peterme.net/macro.png |
13:30:49 | Araq | hmmm type Rope = nil ref RopeObj # ok, always nilable |
13:30:50 | Guest92070 | <alehander42> i think all those work in my PR |
13:31:00 | Guest92070 | <alehander42> but the thing i am worrying about |
13:31:04 | Guest92070 | <alehander42> is different |
13:31:07 | Guest92070 | <alehander42> what if you have |
13:31:17 | Guest92070 | <alehander42> if a != nil: ⏎ a.b = call() |
13:31:42 | Guest92070 | <alehander42> and a is an argument which is actually aliased to another global variable |
13:31:49 | Guest92070 | <alehander42> and this variable is made nil in call() |
13:31:59 | Araq | globals don't count |
13:32:09 | Araq | 'if global != nil' is not a guard. |
13:32:15 | Guest92070 | <alehander42> but a is not a global |
13:32:19 | Guest92070 | <alehander42> it's only aliased to one |
13:32:23 | Guest92070 | <alehander42> outside of the function |
13:32:35 | PMunch | Zevv, that is the code that generates the dot output |
13:32:52 | Araq | let a = global; if a != nil: mutate(global) # no problem |
13:33:24 | Araq | if global later points to 'nil' or something else 'a' stops being an alias but it's as not nil as before |
13:38:04 | Guest92070 | <alehander42> hm yeah i thought there is a way to change it |
13:38:51 | * | solitudesf- joined #nim |
13:40:06 | Araq | you can pass addr(a) to something and change it |
13:40:08 | Zevv | PMunch: yeah I know :) |
13:40:14 | Araq | but that counts are a re-assignment then |
13:40:23 | Araq | and it also doesn't come up. |
13:41:08 | Araq | plus 'addr' is unsafe, we could also assume that it doesn't change a's nilness |
13:41:17 | * | vegax87 quit (Changing host) |
13:41:17 | * | vegax87 joined #nim |
13:41:17 | * | vegax87 quit (Changing host) |
13:41:17 | * | vegax87 joined #nim |
13:42:28 | * | solitudesf quit (Ping timeout: 248 seconds) |
13:45:32 | Guest92070 | <alehander42> but i think i can still construct an example |
13:45:32 | Guest92070 | <alehander42> e.g. |
13:45:50 | Guest92070 | <alehander42> of course this is for `var NilableType` cases |
13:45:56 | Guest92070 | <alehander42> when you have such args |
13:46:51 | Guest92070 | <alehander42> https://paste.ofcode.org/DycwzqqTyXakUm4eg3wcc |
13:48:27 | Guest92070 | <alehander42> what i mean is that this addr can be passed outside the function before calling and then the reference changed in another call |
13:48:47 | Guest92070 | <alehander42> but of course, we might just assume that this can happen only for `var` parameters |
13:49:04 | Guest92070 | <alehander42> so its not really a big deal in practice as most ref-s are probably not passed as var |
13:49:55 | Araq | it's hard to understand, your example doesn't contain '!= nil' |
13:51:52 | Guest92070 | <alehander42> ok sorry |
13:52:04 | Guest92070 | <alehander42> b is |
13:52:05 | Guest92070 | <alehander42> proc b(a: Obj) = ⏎ if a != nil: ⏎ ⏎ ```a.a = call() ⏎ echo a.a``` [https://gitter.im/nim-lang/Nim?at=5d5e9e05eb0c2d3e3d4f3178] |
13:53:39 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:53:46 | Araq | nice example, we need to keep it in mind |
13:55:30 | Guest92070 | <alehander42> i am not sure, is it possible for something similar to happen if you pass just a ref |
13:56:14 | Guest92070 | <alehander42> otherwise, we can just reset `expression` to "maybe this is nil" after each side effect call when `expression` is var parameter |
13:56:36 | * | spip quit (Remote host closed the connection) |
13:57:59 | Araq | it doesn't apply to 'ref' and even your example would fail to break the rules if we exclude 'var' parameters |
13:58:34 | Guest92070 | <alehander42> yes |
13:59:29 | Guest92070 | <alehander42> and my point is that maybe we can still check var parameters with just additional "call" check |
14:00:15 | Guest92070 | <alehander42> https://github.com/alehander42/Nim/blob/ref-nilcheck/tests/nilcheck/ref0.nim#L177 |
14:00:22 | Guest92070 | <alehander42> the other thing is that i tried to support |
14:00:26 | Guest92070 | <alehander42> simple compound |
14:00:29 | Guest92070 | <alehander42> expressions |
14:00:36 | Guest92070 | <alehander42> which seems to not happen e.g. in the eiffel example |
14:01:42 | Guest92070 | <alehander42> this seems similar to `var arg` me: i feel that it should be safe if no free calls are made before deref |
14:04:08 | * | shomodj joined #nim |
14:08:26 | * | floppydh quit (Quit: WeeChat 2.5) |
14:10:34 | * | solitudesf- quit (Ping timeout: 244 seconds) |
14:12:11 | * | PMunch quit (Remote host closed the connection) |
14:12:35 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:16:36 | * | laaron quit (Remote host closed the connection) |
14:16:41 | * | endragor quit (Remote host closed the connection) |
14:18:39 | * | laaron joined #nim |
14:18:54 | * | nif quit (Quit: ...) |
14:19:02 | * | nif joined #nim |
14:24:23 | * | ZORR0 quit (Quit: Leaving) |
14:24:59 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
14:25:38 | * | laaron joined #nim |
14:28:48 | * | owl_000 quit (Ping timeout: 245 seconds) |
14:34:17 | * | owl_000 joined #nim |
14:39:30 | * | owl_000 quit (Ping timeout: 244 seconds) |
14:40:40 | * | AlexMax left #nim (#nim) |
14:44:28 | * | lkw quit (Read error: Connection reset by peer) |
14:44:44 | * | laaron quit (Remote host closed the connection) |
14:44:44 | * | lkw joined #nim |
14:49:58 | Araq | dom96, shashlick, Nim is getting a --setversion switch |
14:50:08 | Araq | and so Nimble should know about it |
14:50:19 | Araq | do we need to patch Nimble for this? |
14:51:06 | * | laaron joined #nim |
15:00:51 | Guest92070 | <brentp> so parseopt2 is gone? and parseopt does not support `--option $value` as a synonym for `--option=$value`? |
15:01:13 | * | endragor joined #nim |
15:01:15 | Araq | It does support that |
15:02:04 | Araq | but I forgot how, I never use it, context sensitive argument parsing is evil |
15:06:41 | Araq | „Authors of Eiffel implementation are required to provide garbage collection, defined as a |
15:06:41 | Araq | mechanism that can reuse for allocating new objects the memory occupied by unreachable |
15:06:41 | Araq | objects, guaranteeing the following two properties: |
15:06:42 | Araq | 1 Consistency: the garbage collector never reclaims an object unless it is unreachable. |
15:06:44 | Araq | 2 Completeness: no allocation request for an object of a certain size s will fail if there exists |
15:06:51 | Araq | an unreachable object of size >= s.“ |
15:07:01 | Araq | wow now that's quite an unimplementable spec. |
15:10:55 | dom96 | explain what that switch does |
15:10:55 | shashlick | @Araq - what does it do |
15:11:15 | Araq | --setversion=0.19 # be compatible with 0.19 |
15:12:20 | * | shomodj joined #nim |
15:12:25 | shashlick | going back to trunk based dev? |
15:12:36 | Guest92070 | <brentp> ok. for parseopt, you have to specify `longNoVal` and `shortNoVal` that are non-empty, so e.g. ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ otherwise it parses `j` as a flag and `bar` as a separate argument. [https://gitter.im/nim-lang/Nim?at=5d5eb0e37d3c1636411f2b7d] |
15:12:55 | * | darithorn joined #nim |
15:15:14 | Araq | shashlick: yup. |
15:16:26 | * | shomodj quit (Client Quit) |
15:17:42 | * | LargeEpsilon quit (Quit: Leaving) |
15:30:54 | dom96 | Araq: call it `--useVersion` |
15:31:29 | dom96 | how many versions will you support? |
15:40:14 | shashlick | i don't yet see why nimble would need to care - unless a package only supports an older version of nimble, but then it would mean everything would get forced to that version |
15:40:45 | shashlick | but choosenim might get simpler - all `choosenim 0.19.6` would do is add a line to the global nim.cfg |
15:41:17 | shashlick | what's the value of this feature though? users can always just use choosenim today and have multiple versions |
15:41:43 | shashlick | i don't see the value immediately, especially considering the extra work to dev/test/maintain |
15:42:45 | Araq | shashlick: so that 'nimble build --useVersion=0.19' works? |
15:43:45 | dom96 | To be honest, this won't work well |
15:43:57 | Araq | why not? |
15:44:05 | * | abm quit (Ping timeout: 244 seconds) |
15:44:09 | dom96 | because each package will support different versions of Nim |
15:44:29 | dom96 | otherwise I agree with shashlick, just get an older Nim |
15:44:52 | dom96 | either allow a different Nim version per module |
15:45:26 | dom96 | or there is no need for this feature |
15:45:51 | shashlick | Passing flags should work like any other Nim flag |
15:48:12 | shashlick | I like the idea of building different packages with different versions of Nim |
15:48:19 | shashlick | Stuff can live longer |
15:49:51 | shashlick | But debugging will become much harder when things go wrong |
15:50:22 | shashlick | Also, it might pull in multiple stdlib versions of the same thing bloating the binary |
15:50:53 | shashlick | And perhaps even multiple versions of the same package |
15:51:44 | shashlick | Anyway, i should let Araq reply on the use case before imagining too much |
15:52:39 | Araq | it's like --nilseqs:on and --laxStrings and --oldAst |
15:52:55 | Araq | not really a new thing |
15:55:09 | * | cgfuh quit (Ping timeout: 258 seconds) |
15:55:20 | Araq | dunno how you can be against it, we simply have too much to backport otherwise |
15:55:51 | Araq | and the big players do the same |
15:56:08 | Araq | --std=c++11 etc |
15:56:13 | Araq | and Rust with its editions |
15:56:42 | * | drewr quit (Quit: ERC (IRC client for Emacs 26.2)) |
15:58:00 | shashlick | we only backport for n - 1 |
15:58:27 | shashlick | and it is possible to automate some of it |
15:58:52 | Araq | well we have no automation and it's not as easy. |
15:58:55 | shashlick | is the effort really lesser than backporting? |
15:59:02 | Araq | consider we develop feature X |
15:59:13 | Araq | ok, that gets the [feature] or [nobackport] tag |
15:59:21 | Araq | now, this feature receives bugfixes |
15:59:38 | Araq | and now I need to be aware of "fixes #X [nobackport]" |
15:59:59 | Araq | in other words, it doesn't work. |
16:00:08 | shashlick | well, wouldn't you do the opposite - everything is nobackport by default |
16:00:09 | narimiran | shashlick: i was the one proposing "i'll do the backports, it will be easy enough". now already i'm starting to change my mind ;) |
16:00:19 | dom96 | AFAIK Rust supports editions on a per-package basis |
16:00:31 | shashlick | only if it is genuinely a fix for the older release, you add a [backport] tag |
16:00:53 | Araq | now with CI support, I would be reminded that "fixes X" doesn't apply to the latest stable release |
16:00:54 | shashlick | i don't think it is trivial, but definitely feels easier than maintaining multiple releases in one release |
16:01:26 | Araq | but even with CI support, it would slow down development, "argh, CIs are green, need to change the commit message..." |
16:02:06 | * | laaron quit (Remote host closed the connection) |
16:02:17 | shashlick | why cannot we use github tags instead |
16:02:35 | Araq | shashlick: if backports are not the default then 1.0.x will simply see fewer fixes |
16:02:49 | shashlick | or an issue comment to notify the engine to backport |
16:02:50 | Araq | brb |
16:03:30 | shashlick | i think at this stage in the game, backports should be only high-priority bug fixes with no merge conflicts, etc. |
16:03:36 | dom96 | I take your point about C++, but the problem with --useVersion=0.19 is that it's too granular |
16:03:58 | dom96 | I think that at this stage backports aren't important enough |
16:04:13 | shashlick | backporting minor features and related bugfixes is already above and beyond |
16:04:15 | * | laaron joined #nim |
16:04:17 | dom96 | users should be moving to a newer Nim ASAP |
16:04:29 | shashlick | @dom96 - that's not always possible |
16:04:40 | dom96 | not immediately, but eventually it is |
16:04:46 | shashlick | but having 2 maintained releases is already great |
16:04:51 | dom96 | and bug fixes should be what encourages everyone to do it |
16:04:58 | shashlick | but 0.20.x should only get bug fixes for existing features, nothing new |
16:05:10 | narimiran | shashlick: yeah, that (only high-priority) might work.... (but i said the same for the current scenario, so i don't trust myself anymore :)) |
16:05:54 | shashlick | @narimiran - obviously there's much more to it, since you've been hands on, would help of you could give some examples where this was non-trivial |
16:06:13 | shashlick | and also if it was non-trivial, why wasn't it omitted for the sake of time/effort |
16:06:21 | narimiran | dom96: so, are you saying that if most bugfixes are backported, less and less people will use the latest versions? |
16:07:13 | * | drewr joined #nim |
16:07:25 | dom96 | no, I'm saying they will take longer to move to the new version |
16:08:51 | narimiran | (isn't that the same?) |
16:09:11 | shashlick | i think that's not as important - if you have n = devel and n - 1 = stable, people can sit with stable until support ends, which is when a new release comes out |
16:09:26 | narimiran | if 1.0.x receives 90% of what 1.1, 1.2 etc have, there will be no point in upgrading if you're not interested in the new features |
16:10:20 | shashlick | people will upgrade when the new stable comes out since the old stable they are using won't get fixes anymore |
16:10:21 | narimiran | backporting (only) to n-1 might be doable |
16:10:36 | shashlick | whether you fix 2 or 200 issues is not the point, it is maintained |
16:10:47 | shashlick | you are providing stability |
16:11:03 | shashlick | adding more features, minor or otherwise, is not part of the deal |
16:11:24 | shashlick | so if we have examples of pure bugfixes which make this non-trivial, it will be worth discussing |
16:12:09 | shashlick | also, another metric is that we are heading towards 1.0 which means a lot more is going into stability and bug fixes |
16:12:16 | shashlick | rather than new features |
16:12:23 | shashlick | so it might be skewing the apparent effort |
16:12:31 | narimiran | that's also true |
16:13:23 | narimiran | on the other hand, if you have 100s commits between two backported commits - there might be more merge conflicts |
16:13:30 | shashlick | then maybe it is worth being more picky in what gets backported |
16:14:06 | shashlick | in your experience, how many backports had 0 merge conflicts |
16:14:18 | narimiran | most of them, a big majority |
16:14:26 | dom96 | Do we actually have users who have come here and said "Ugh, I want to continue using 0.19.0, but I need these fixes backported"? |
16:14:32 | * | terps joined #nim |
16:14:35 | shashlick | then we should be automating those for sure |
16:15:22 | shashlick | anything that has a merge conflict needs to be examined for value, effort and excluded if appropriate |
16:15:27 | dom96 | I feel like you're solving something that doesn't need to be solved |
16:15:37 | narimiran | dom96: we had some "can you please backport this and that so it becomes part of 0.19.6?" |
16:16:24 | narimiran | shashlick: after 1.0 is out, [nobackport] by default (nothing is backported unless explicitly marked as [backport]) might be a good idea |
16:16:37 | shashlick | i disagree @dom96 - if we don't provide stability and demonstrates a consistent process, nim won't get acceptance in production |
16:17:03 | shashlick | @narimiran - i think that should be the goal even now for 0.20.x |
16:17:15 | narimiran | currently we're trying to squeeze as much bugfixes to make it for 1.0 |
16:17:33 | shashlick | then do that for devel, not for 0.20.x |
16:17:38 | dom96 | shashlick after 1.0 this makes sense, but right now it doesn't |
16:17:46 | shashlick | let 0 merge conflict backports go through and let the rest be |
16:18:02 | shashlick | perhaps save some time that way |
16:18:25 | shashlick | and use your discretion to perhaps pick up a few easy but important ones |
16:35:39 | Araq | it's also a documentation issue |
16:36:20 | Araq | having one document with version info is much better than 0.19/stuff.html vs 0.20/stuff.html |
16:37:24 | Araq | otherwise to see the version differences you have to play the "Human diff tool" game |
16:42:47 | * | btop joined #nim |
16:49:08 | * | endragor quit (Remote host closed the connection) |
16:51:12 | * | laaron quit (Remote host closed the connection) |
16:53:40 | * | laaron joined #nim |
16:58:43 | * | terps quit (Ping timeout: 250 seconds) |
17:01:24 | * | btop quit (Ping timeout: 248 seconds) |
17:11:11 | * | rayman22201 joined #nim |
17:11:23 | * | solitudesf- joined #nim |
17:27:12 | * | wildtrees joined #nim |
17:59:02 | * | Xena quit (Changing host) |
17:59:02 | * | Xena joined #nim |
17:59:08 | * | Xena is now known as Cadey |
18:07:59 | * | Guest92070 quit (Remote host closed the connection) |
18:08:17 | * | FromGitter joined #nim |
18:11:31 | * | arecaceae quit (Remote host closed the connection) |
18:11:55 | * | arecaceae joined #nim |
18:28:22 | xace | nimble install nimlsp # is this working for anyone on nim 0.20.2? |
18:30:29 | FromGitter | <awr1> https://github.com/nim-lang/Nim/blob/devel/compiler/astalgo.nim#L749 |
18:30:37 | FromGitter | <awr1> is there any reason this isn't an actual iterator |
18:30:41 | FromGitter | <awr1> or is this just "old" |
18:31:15 | dom96 | likely just old |
18:31:50 | FromGitter | <awr1> okie, may do a PR later |
18:35:58 | * | shomodj joined #nim |
18:39:46 | * | shomodj quit (Client Quit) |
18:40:05 | * | btop joined #nim |
18:45:02 | * | btop quit (Ping timeout: 245 seconds) |
18:45:08 | * | btop_ joined #nim |
18:51:01 | * | nsf joined #nim |
18:54:39 | * | Jjp137 quit (Read error: Connection reset by peer) |
18:55:15 | * | Jjp137 joined #nim |
19:06:11 | * | wildtrees quit (Quit: Leaving) |
19:17:24 | * | rayman22201 quit (Quit: Connection closed for inactivity) |
19:23:34 | FromGitter | <zacharycarter> I'm trying to importcpp a class in Nim and then use a proc on it, but it keeps being referred to as a struct in the generated cpp code which causes an unresolved symbol error |
19:25:01 | FromGitter | <Varriount> @zacharycarter What's the importcpp pattern you're using? |
19:25:42 | FromGitter | <zacharycarter> something like - ` ImageContainer {.header: "<bimg/bimg.h>", importcpp: "bimg::ImageContainer".} = object` |
19:29:46 | FromGitter | <zacharycarter> and if a proc that I'm wrapping returns a ptr to that wrapped object |
19:29:47 | FromGitter | <zacharycarter> it produces |
19:30:00 | FromGitter | <zacharycarter> `struct bimg::ImageContainer * ...` |
19:30:03 | FromGitter | <zacharycarter> which is wrong |
19:30:12 | FromGitter | <zacharycarter> but anyway I need to sleep |
19:44:00 | * | nsf quit (Quit: WeeChat 2.5) |
19:47:08 | * | terps joined #nim |
19:49:26 | * | ng0 joined #nim |
19:51:10 | * | wildtrees joined #nim |
19:52:02 | * | wildtrees quit (Remote host closed the connection) |
19:52:45 | * | wildtrees joined #nim |
19:52:54 | xace | nvm my machine was running outdated packages |
20:04:07 | * | terps quit (Ping timeout: 276 seconds) |
20:10:37 | * | narimiran quit (Ping timeout: 246 seconds) |
20:10:42 | * | narimiran_ joined #nim |
20:21:28 | * | krux02 joined #nim |
20:25:24 | * | narimiran_ quit (Ping timeout: 258 seconds) |
20:36:24 | * | jxy quit (Quit: leaving) |
20:36:42 | * | rockcavera quit (Ping timeout: 245 seconds) |
20:40:07 | * | rockcavera joined #nim |
20:40:07 | * | rockcavera quit (Changing host) |
20:40:07 | * | rockcavera joined #nim |
20:49:47 | * | shomodj joined #nim |
20:55:28 | * | btop_ quit (Ping timeout: 245 seconds) |
21:13:23 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:33:56 | * | Jesin joined #nim |
21:35:25 | * | Vladar quit (Remote host closed the connection) |
21:48:06 | * | btop joined #nim |
21:50:52 | * | Kaivo quit (Quit: WeeChat 2.5) |
22:03:03 | FromDiscord_ | <Kiloneie> Is it a good idea to have written tutorials on a dark website ? Like grayish black background with white text ? I know it's eye comfy. |
22:06:19 | FromGitter | <awr1> i like dark backgrounds. i think you're better off giving the user a choice though, like a light switch thing in the corner |
22:07:10 | FromDiscord_ | <Kiloneie> Okay, i will try to figure that out in Wix O,O. |
22:09:46 | * | solitudesf- quit (Ping timeout: 268 seconds) |
22:31:03 | * | zedeus quit (Quit: WeeChat 2.5) |
22:33:18 | FromGitter | <deech> What's the best way to use Nimble to work on a project and its dependencies locally? |
22:33:20 | * | krux02 quit (Read error: Connection reset by peer) |
22:33:47 | * | zedeuss joined #nim |
22:33:51 | * | zedeuss is now known as zedeus |
22:35:17 | * | zedeus quit (Client Quit) |
22:36:08 | shashlick | nimble develop |
22:38:13 | FromGitter | <deech> Is there more documentation on how to do this outside the CLI help message? |
22:38:18 | * | zedeus joined #nim |
22:38:33 | shashlick | https://github.com/nim-lang/nimble#nimble-develop |
22:41:30 | FromGitter | <deech> Ah, yes. I had looked at that earlier and forgot it was under 'develop', I found that changes to a dependent package did not trigger a rebuild of an upstream package. So if A depends on B and I commit a fix to B, A is not rebuit. |
22:48:22 | FromGitter | <coreyleavitt> seems since v0.20.0 nimscript setCommand can no longer compile an absolute path `Error: unhandled exception: pathutils.nim(59, 11) not isAbsolute(f.string) [AssertionError]` is this not recommended? |
23:36:05 | FromDiscord_ | <treeform> After a ton of work i implemented a text box in nim: |
23:36:15 | FromDiscord_ | <treeform> https://cdn.discordapp.com/attachments/142827852402917376/614241214488641536/2019-08-22_16-33-42.mp4 |
23:36:53 | FromDiscord_ | <treeform> https://github.com/treeform/typography/#text-boxes |
23:37:31 | FromDiscord_ | <treeform> Text boxes have so many tiny features in them! |
23:46:19 | * | wildtrees quit (Quit: Leaving) |
23:52:24 | * | btop quit (Ping timeout: 272 seconds) |