00:02:27 | * | Trustable quit (Remote host closed the connection) |
00:03:33 | FromDiscord | <djazz> stream ended |
00:03:42 | FromDiscord | <djazz> started working on a router for the web framework |
00:06:40 | * | jholland__ quit (Quit: Connection closed for inactivity) |
00:11:06 | FromDiscord | <djazz> thanks for the help @exelotl ! |
00:11:35 | FromDiscord | <exelotl> no problem ^^ |
00:11:58 | * | krux02_ joined #nim |
00:14:26 | * | krux02 quit (Ping timeout: 240 seconds) |
00:29:28 | * | lmariscal064 joined #nim |
00:29:50 | * | lmariscal06 quit (Ping timeout: 268 seconds) |
00:30:16 | * | nickster4 joined #nim |
00:30:37 | * | junland_ joined #nim |
00:30:40 | * | nickster4 quit (Client Quit) |
00:31:04 | * | Mister_Magister quit (Ping timeout: 268 seconds) |
00:31:22 | * | krux02_ quit (Remote host closed the connection) |
00:31:24 | * | nickster5 joined #nim |
00:34:08 | * | junland quit (Ping timeout: 240 seconds) |
00:34:10 | * | shadowbane quit (Ping timeout: 240 seconds) |
00:34:11 | * | nickster quit (Ping timeout: 240 seconds) |
00:34:31 | * | Mister_Magister joined #nim |
00:35:11 | * | shadowbane joined #nim |
00:42:46 | * | nickster5 quit (Quit: The Lounge - https://thelounge.chat) |
01:03:16 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:07:31 | * | nickster joined #nim |
01:08:54 | * | Zectbumo joined #nim |
01:26:39 | * | azed joined #nim |
01:42:34 | * | dwdv quit (Ping timeout: 255 seconds) |
01:46:01 | * | azed quit (Read error: Connection reset by peer) |
01:49:10 | * | Hideki_ joined #nim |
02:10:30 | * | Hideki_ quit (Remote host closed the connection) |
02:12:16 | * | Hideki_ joined #nim |
02:16:26 | * | Hideki_ quit (Ping timeout: 240 seconds) |
02:21:05 | * | leorize joined #nim |
02:24:20 | * | Hideki_ joined #nim |
02:26:10 | * | Hideki_ quit (Remote host closed the connection) |
02:26:47 | * | Hideki_ joined #nim |
02:28:09 | * | Hideki_ quit (Remote host closed the connection) |
02:28:24 | * | Hideki_ joined #nim |
02:47:46 | * | chemist69_ quit (Ping timeout: 240 seconds) |
02:50:02 | * | chemist69 joined #nim |
02:51:18 | * | Hideki_ quit (Remote host closed the connection) |
02:52:19 | * | Hideki_ joined #nim |
02:56:58 | * | Hideki_ quit (Ping timeout: 265 seconds) |
03:13:46 | * | muffindrake quit (Ping timeout: 240 seconds) |
03:16:05 | * | muffindrake joined #nim |
03:17:55 | * | Guest75767 quit (Ping timeout: 258 seconds) |
03:30:44 | * | NimBot joined #nim |
03:32:59 | * | Zectbumo joined #nim |
03:42:53 | * | Hideki_ quit (Ping timeout: 272 seconds) |
03:55:22 | * | dddddd quit (Ping timeout: 256 seconds) |
03:57:02 | * | hax-scramper joined #nim |
03:59:05 | FromDiscord | <Varriount> mratsim: That's one thing I dislike about Python. Exceptions are actually quite expensive to raise (because of the stack trace) and yet they're used all over for iterators and such |
04:02:58 | * | Zectbumo quit (Remote host closed the connection) |
05:01:06 | * | sealmove quit (Quit: WeeChat 2.7.1) |
05:34:32 | * | s4mu3lbk quit (Ping timeout: 256 seconds) |
05:39:34 | * | Hideki_ joined #nim |
05:44:10 | * | Hideki_ quit (Ping timeout: 256 seconds) |
05:44:30 | * | nick34348 joined #nim |
05:54:24 | * | silvernode joined #nim |
05:54:41 | silvernode | Time to work on space nim again |
06:18:22 | * | solitudesf- joined #nim |
06:20:56 | FromDiscord | <Elegant Beef> Anyone know the commands for ansi characters `d,l,h,t,r`? |
06:27:25 | silvernode | Not me |
06:32:45 | * | muffindrake quit (Quit: muffindrake) |
06:33:34 | silvernode | I forget what the repl command is for nim. Is it nimsecret? |
06:34:59 | * | hax-scramper quit (Read error: Connection reset by peer) |
06:35:17 | * | hax-scramper joined #nim |
06:36:21 | * | muffindrake joined #nim |
06:39:06 | FromDiscord | <flywind> nim secret |
06:40:31 | * | marmotini_ joined #nim |
06:44:06 | silvernode | Thank you |
06:45:28 | FromDiscord | <flywind> No problem |
06:59:15 | * | silvernode quit (Ping timeout: 260 seconds) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:55 | * | gmpreussner joined #nim |
07:09:04 | * | rmt joined #nim |
07:15:14 | * | hax-scramper quit (Ping timeout: 240 seconds) |
07:15:33 | * | hax-scramper joined #nim |
07:17:44 | * | alexander92 joined #nim |
07:17:45 | FromDiscord | <Rika> @Elegant Beef as in `\t` `\r` and stuff? |
07:17:55 | alexander92 | morning/ |
07:17:58 | FromDiscord | <Elegant Beef> no |
07:18:13 | FromDiscord | <Elegant Beef> talking about things like `\e[23d` |
07:18:26 | alexander92 | oh man visual basic stops |
07:18:40 | FromDiscord | <Rika> okay those are escape sequences not ansi characters |
07:18:43 | FromDiscord | <Elegant Beef> well ansi terminal escape codes |
07:19:54 | FromDiscord | <Rika> http://www.termsys.demon.co.uk/vtansi.htm partial list |
07:20:07 | FromDiscord | <Elegant Beef> yea it doesnt list the ones i mentioned |
07:20:19 | FromDiscord | <Elegant Beef> well not all |
07:20:20 | FromDiscord | <Elegant Beef> it has r |
07:20:47 | FromDiscord | <Elegant Beef> and l |
07:22:59 | FromDiscord | <Rika> then it might be non-vt100 |
07:23:45 | FromDiscord | <Rika> https://vt100.net/docs/vt220-rm/chapter4.html might be vt220 |
07:41:16 | * | Hideki_ joined #nim |
07:43:18 | * | thomasross quit (Read error: Connection reset by peer) |
07:45:14 | * | Hideki_ quit (Ping timeout: 240 seconds) |
07:52:00 | * | hax-scramper quit (Ping timeout: 258 seconds) |
07:52:17 | * | hax-scramper joined #nim |
07:53:09 | * | rmt quit (Ping timeout: 258 seconds) |
07:53:33 | * | marmotini_ quit (Remote host closed the connection) |
07:54:28 | * | marmotini_ joined #nim |
07:58:21 | * | marmotini_ quit (Remote host closed the connection) |
07:58:36 | * | marmotini_ joined #nim |
07:59:28 | * | solitudesf- quit (Read error: Connection reset by peer) |
07:59:43 | * | solitudesf joined #nim |
08:00:41 | * | tane_ joined #nim |
08:03:33 | * | marmotini_ quit (Remote host closed the connection) |
08:04:08 | * | marmotini_ joined #nim |
08:08:40 | * | marmotini_ quit (Ping timeout: 256 seconds) |
08:27:09 | * | s4mu3lbk joined #nim |
08:33:24 | * | s4mu3lbk quit (Ping timeout: 258 seconds) |
08:50:18 | Zevv | argh nimble publish barfs on me again |
08:52:56 | Zevv | ah yes the public_repo permissions |
08:54:25 | * | jjido_ joined #nim |
08:59:22 | * | Trustable joined #nim |
09:03:58 | * | Zectbumo joined #nim |
09:06:17 | * | Vladar joined #nim |
09:07:50 | FromDiscord | <Varriount> Zevv: What are you working on? |
09:09:59 | * | Zectbumo quit (Remote host closed the connection) |
09:12:31 | * | rmt joined #nim |
09:12:49 | * | Zectbumo joined #nim |
09:15:00 | * | Zectbumo quit (Remote host closed the connection) |
09:17:53 | * | Zectbumo joined #nim |
09:20:00 | * | Zectbumo quit (Remote host closed the connection) |
09:22:56 | * | Zectbumo joined #nim |
09:24:59 | * | Zectbumo quit (Remote host closed the connection) |
09:26:54 | Zevv | Oh I made a native MQTT some time ago on a rainy sunday afternoon an put that on github and forgot about it |
09:27:01 | Zevv | no someone picked it up and asked me to publish |
09:27:12 | Zevv | https://github.com/zevv/nmqtt/ |
09:27:52 | * | Zectbumo joined #nim |
09:30:00 | * | Zectbumo quit (Remote host closed the connection) |
09:32:56 | * | Zectbumo joined #nim |
09:35:00 | * | Zectbumo quit (Remote host closed the connection) |
09:35:22 | * | hax-scramper quit (Read error: Connection reset by peer) |
09:35:35 | * | hax-scramper joined #nim |
09:37:53 | * | Zectbumo joined #nim |
09:40:00 | * | Zectbumo quit (Remote host closed the connection) |
09:41:58 | * | Hideki_ joined #nim |
09:42:51 | * | Zectbumo joined #nim |
09:44:29 | * | dwdv joined #nim |
09:45:00 | * | Zectbumo quit (Remote host closed the connection) |
09:46:42 | * | Hideki_ quit (Ping timeout: 256 seconds) |
09:52:02 | Araq | azure testing is down? |
09:54:05 | * | Trustable quit (Remote host closed the connection) |
09:56:26 | * | alexander92 quit (Ping timeout: 240 seconds) |
09:56:57 | rmt | Cloudy BSOD? |
09:57:53 | * | Zectbumo joined #nim |
09:59:13 | rmt | Better said, BCOD :) |
10:00:00 | * | Zectbumo quit (Remote host closed the connection) |
10:05:08 | * | rmt quit (Quit: Leaving) |
10:13:04 | * | Zectbumo joined #nim |
10:16:00 | * | Zectbumo quit (Remote host closed the connection) |
10:16:34 | * | theelous3 quit (Read error: Connection reset by peer) |
10:17:49 | * | PMunch joined #nim |
10:20:53 | * | filcuc joined #nim |
10:26:59 | * | nick34348 quit (Quit: leaving) |
10:31:51 | PMunch | Araq, well it doesn't appear to test anything at least.. |
10:32:48 | PMunch | Zevv, ooh nice I'm going to be adding a lot more smarts to my house over the coming days, that might come in handy |
10:43:21 | * | Zectbumo joined #nim |
10:43:56 | * | alexander92 joined #nim |
10:44:06 | * | PMunch quit (Quit: leaving) |
10:44:22 | * | PMunch joined #nim |
10:44:40 | * | PMunch quit (Remote host closed the connection) |
10:44:57 | * | PMunch joined #nim |
10:45:00 | * | Zectbumo quit (Remote host closed the connection) |
10:51:17 | Zevv | PMunch: bah, I hate smarts in my house |
10:51:30 | Zevv | have fun with that :) |
10:52:48 | PMunch | This is the good kind of smarts |
10:53:11 | PMunch | No cloud, basic units tied together with an rPi |
10:55:42 | FromDiscord | <kodkuce> does nim have some wasm working lib? |
10:56:23 | * | tane_ quit (Quit: Leaving) |
10:57:08 | PMunch | Anyone knows why `extract` here can get a NilLit? http://ix.io/2ebe |
10:57:22 | PMunch | Like this works fine: https://play.nim-lang.org/#ix=2ebf |
11:03:02 | Araq | 'echo red'? |
11:03:06 | PMunch | Nope |
11:03:10 | PMunch | Tried to remove that |
11:03:29 | PMunch | It seems like it's dependent on what I put after the echo ast.treeRepr in the extract procedure.. |
11:04:13 | Araq | you call a macro from inside a macro, are you aware? |
11:04:18 | PMunch | Yup |
11:04:21 | PMunch | That's on purpose |
11:04:41 | Araq | it makes my head explode :P |
11:04:51 | PMunch | It's a macro to make it easier to work with macros :P |
11:06:25 | * | filcuc quit (Ping timeout: 255 seconds) |
11:06:47 | PMunch | Essentially the `extract` macro takes a NimNode tree of the same structure as the `input` with the exception of nnkAccQuoted nodes. Then the nodes in the `input` that match a nnkAccQuoted node will be assigned to whatever is inside the nnkAccQuoted. |
11:07:37 | PMunch | So in the `test` macro there it would result in something like "let procname = input[0][0]" |
11:13:21 | * | Zectbumo joined #nim |
11:16:00 | * | Zectbumo quit (Remote host closed the connection) |
11:17:02 | PMunch | Okay, found the bug. This is definitely a VM bug: https://play.nim-lang.org/#ix=2ebp |
11:18:47 | PMunch | Can be worked around like this: https://play.nim-lang.org/#ix=2ebq |
11:18:55 | PMunch | Is this known, or should I report it? |
11:19:37 | * | Hideki_ joined #nim |
11:22:36 | * | alexander92 quit (Quit: Reconnecting) |
11:22:51 | * | alexander92 joined #nim |
11:26:05 | * | jjido_ is now known as jjido |
11:26:17 | * | jjido quit (Quit: Textual IRC Client: www.textualapp.com) |
11:26:44 | * | jjido joined #nim |
11:27:45 | * | kitech1 quit (Quit: ZNC 1.7.5 - https://znc.in) |
11:28:07 | * | kitech1 joined #nim |
11:31:06 | * | kitech1 quit (Client Quit) |
11:31:30 | * | kitech1 joined #nim |
11:32:06 | * | kitech1 quit (Max SendQ exceeded) |
11:32:28 | * | kitech1 joined #nim |
11:33:29 | * | Hideki_ quit (Remote host closed the connection) |
11:34:06 | * | Hideki_ joined #nim |
11:34:12 | PMunch | Aaah, beautiful! Got this working now: http://ix.io/2ebt |
11:38:26 | * | Hideki_ quit (Ping timeout: 240 seconds) |
11:39:04 | * | filcuc joined #nim |
11:43:04 | * | Zectbumo joined #nim |
11:45:46 | * | sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
11:46:51 | * | sammich joined #nim |
11:50:37 | * | tane joined #nim |
11:50:52 | Zevv | argh |
11:51:06 | Zevv | sure you will understand this two months from now? :) |
11:51:56 | axion | How would I unparse an AST into Nim source string for debugging a macro's generated code? |
11:52:23 | alexander92 | mm |
11:52:29 | alexander92 | node.repr |
11:52:41 | alexander92 | => source-like representation |
11:52:59 | alexander92 | node.treerepr => tree indented node repr |
11:53:09 | alexander92 | node.lisprepr => lisp s-exprlike repr |
11:53:30 | * | Zectbumo quit (Remote host closed the connection) |
11:54:20 | * | tdc joined #nim |
11:55:24 | alexander92 | PMunch that's actually .. useful .. and very good |
11:55:39 | alexander92 | maybe the best innovation in nim macros i've seen lately |
11:55:43 | axion | Thanks. It was repr i wanted. Was using lispRepr |
11:56:31 | PMunch | alexander92, yeah it's a thing I've been wanting for a while now while writing macros :) |
11:56:50 | alexander92 | like, it makes sense to combine pattern matching directly with quoting |
11:57:11 | * | kungtotte quit (Read error: Connection reset by peer) |
11:58:23 | * | kungtotte joined #nim |
12:04:38 | PMunch | Yeah, this entire module is basically all the stuff I've wanted when working with macros over the past couple of years |
12:05:30 | dwdv | Scheme-like declarative macros essentially? |
12:08:11 | * | natrys joined #nim |
12:08:53 | PMunch | No idea :P Never wrote a schema macro.. |
12:11:12 | dwdv | What rust is doing with macro_rules! https://doc.rust-lang.org/1.7.0/book/macros.html |
12:12:26 | alexander92 | dwdv well kinda |
12:13:06 | alexander92 | but on the other hand sometimes you need |
12:13:08 | alexander92 | custom code |
12:13:25 | alexander92 | for extraction/validation/analysis/generation |
12:13:40 | alexander92 | so this declarative approach is always up to a point i guess in nim/rust |
12:13:41 | * | Zectbumo joined #nim |
12:14:08 | alexander92 | the big difference i know about is that rust macros work on tokens iirc? |
12:14:26 | alexander92 | and nim's on ast which might be relevant as well |
12:14:54 | alexander92 | because you might be able to express more stuff with just valid token sequence but it might look too foreign: so its a tradeoff |
12:14:57 | alexander92 | maybe |
12:14:58 | dwdv | Both rust and the various scheme have declarative (macro-rules!) and procedural macros (ast tokens), don't they? |
12:15:31 | * | Hideki_ joined #nim |
12:16:34 | alexander92 | it seems so yeah, so in this case `extract` is indeed kinda similar to them |
12:18:33 | PMunch | Hmm, is there a way to create a NimNode literal? |
12:19:00 | alexander92 | macro_rules! is good! |
12:21:02 | * | Zectbumo quit (Remote host closed the connection) |
12:25:03 | * | lritter joined #nim |
12:27:38 | * | filcuc quit (Ping timeout: 256 seconds) |
12:28:59 | * | filcuc joined #nim |
12:29:25 | * | Hideki_ quit (Remote host closed the connection) |
12:29:42 | * | Hideki_ joined #nim |
12:32:04 | * | Zectbumo joined #nim |
12:36:10 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:38:31 | * | Kaivo_ quit (Quit: WeeChat 2.7.1) |
12:42:43 | * | filcuc quit (Ping timeout: 260 seconds) |
12:47:16 | FromDiscord | <mratsim> @axion: toStrLit |
12:50:39 | * | tdc quit (Remote host closed the connection) |
12:51:04 | * | tdc joined #nim |
12:51:09 | FromDiscord | <mratsim> I feal like Rust's macros don't go far enough |
12:51:13 | FromDiscord | <mratsim> feel* |
12:53:13 | axion | Macro systems don't go far enough until they allow writing pandoric macros |
13:01:51 | PMunch | axion, pandoric? |
13:02:40 | alexander92 | they do mratsim you should look at the typed html jsx thing |
13:04:08 | axion | PMunch: they're called pandoric because they allow opening up the box that should not be opened, closures can be accessed from the outside, opening up all sorts of interesting possibilities |
13:18:52 | * | Vladar quit (Quit: Leaving) |
13:26:34 | PMunch | Crap.. FormalParams is proving difficult for extract |
13:27:11 | PMunch | For example with this: proc name(`arguments`) |
13:27:29 | PMunch | `arguments` there get lifted up to cover the entire FormalParams, including the return type |
13:28:23 | PMunch | And this: proc name(`arguments`): `ret` |
13:28:45 | PMunch | `arguments` will only grab the first argument.. |
13:29:52 | PMunch | Good thing I have all the nodes already in a DSL, so I could generate a matcher for them that would convert things properly based on vararg arguments.. |
13:30:46 | PMunch | Not sure how useful putting in all that work would be though.. |
13:30:56 | PMunch | Since this is mostly meant to parse your own DSLs |
13:45:15 | * | hax-scramper quit (Ping timeout: 260 seconds) |
13:49:18 | * | hax-scramper joined #nim |
13:50:05 | * | couven92 joined #nim |
13:50:39 | FromDiscord | <Skaruts> I'm getting this error when using sfml events with `==` or `in` or `notin` : `Error: parallel 'fields' iterator does not work for 'case' objects` |
13:50:47 | FromDiscord | <Skaruts> This is the Event type: https://github.com/oprypin/nim-csfml/blob/bef490338d8b31265cc47159310c2a02896b0ccb/src/csfml/private/union_event.nim#L22 |
13:50:52 | FromDiscord | <Skaruts> I repreduced the error in a small test: https://play.nim-lang.org/#ix=2ebX |
13:50:57 | FromDiscord | <Skaruts> How do I get around this? I need to check if the event is in a sequence of handled events |
13:51:36 | FromDiscord | <Skaruts> This is the Event type: <https://github.com/oprypin/nim-csfml/blob/bef490338d8b31265cc47159310c2a02896b0ccb/src/csfml/private/union_event.nim#L22> |
13:51:44 | Yardanico | https://forum.nim-lang.org/t/2774 |
13:52:02 | Yardanico | I'm not sure if it still applies now, but you probably need to write your own `==` |
13:52:06 | Yardanico | for that object |
13:52:37 | FromDiscord | <Skaruts> I see |
13:53:01 | FromDiscord | <Skaruts> not sure how I can check for equality on those objects though |
13:53:40 | FromDiscord | <Skaruts> or rather, how I can check that they're the same object |
13:54:10 | PMunch | Like so: https://play.nim-lang.org/#ix=2ebY |
13:55:30 | FromDiscord | <Skaruts> should I worry that multiple input events might contain the exact same values? |
13:55:59 | PMunch | I don't know, I have no idea what you're actually trying to achieve |
13:56:46 | FromDiscord | <Skaruts> trying to add option to mark an event as handled |
13:58:01 | FromDiscord | <Skaruts> actually I don't think I should worry about that, no matter how many keys or buttons the user presses, I don't think they can press the same key twice in one frame, but then even if they did, the same key is still the same event |
13:58:24 | FromDiscord | <Skaruts> thanks |
14:00:31 | PMunch | No problem |
14:01:22 | alexander92 | what should i do today? |
14:04:50 | PMunch | Ugh, I'm looking at this problem and it would be doable to implement. Just a PITA to actually do it.. |
14:05:25 | PMunch | All because the Nim AST has some nodes with variable amounts of nodes in them |
14:05:44 | PMunch | Instead of having one "variable amount of nodes" node that could be there instead.. |
14:05:46 | alexander92 | but why is this a problem |
14:06:02 | PMunch | Well, imagine nnkCall for example |
14:06:30 | alexander92 | `a(b, c*)` ? |
14:06:42 | PMunch | So if I want to do "myProc(`arguments`)" I would expect that to extract all the arguments given to myProc |
14:06:44 | alexander92 | a pattern matching thing should probably have a way to express mutlitple |
14:06:51 | alexander92 | i think |
14:07:04 | alexander92 | i'd expect to have |
14:07:17 | alexander92 | `a(b)` => one , `a(*b)` => seq of many in b |
14:07:24 | alexander92 | `a(b*)` * |
14:07:32 | alexander92 | because the second one is valid nim i think |
14:07:44 | PMunch | Hmm |
14:10:16 | PMunch | I still need to check if the argument is in the `varargs` portion of a node or not though |
14:11:28 | PMunch | Hmm, or maybe not.. |
14:12:48 | PMunch | It might work.. |
14:21:29 | * | leorize quit (Remote host closed the connection) |
14:22:01 | * | leorize joined #nim |
14:46:28 | * | hax-scramper quit (Ping timeout: 255 seconds) |
14:50:46 | * | hax-scramper joined #nim |
14:55:09 | * | dddddd joined #nim |
14:59:49 | * | federico3_ is now known as federico3 |
15:01:03 | * | opal quit (Ping timeout: 240 seconds) |
15:04:24 | * | opal joined #nim |
15:06:18 | * | hax-scramper quit (Ping timeout: 256 seconds) |
15:08:17 | * | hax-scramper joined #nim |
15:09:24 | disruptek | hearts and minds, people! hearts and minds! |
15:12:50 | * | hax-scramper quit (Ping timeout: 258 seconds) |
15:16:51 | Zevv | ♥ ♥ & 🧠 🧠 |
15:17:08 | disruptek | 💋 |
15:17:20 | Zevv | especially for you. I only see green squares :) |
15:17:23 | disruptek | !last zevv |
15:17:23 | disbot | Zevv spoke in 12#nim 2 seconds ago |
15:17:30 | disruptek | is this the feature you wanted, btw? |
15:17:34 | Zevv | yesss sir |
15:17:38 | Zevv | thank you very much |
15:17:49 | disruptek | sure. i couldn't understand my notes so i had to guess. |
15:17:56 | FromDiscord | <Recruit_main70007> it even works in discord |
15:18:35 | Zevv | !last Recruit_main70007 |
15:18:35 | disbot | Recruit_main70007 spoke in 12#nim 39 seconds ago |
15:18:39 | Zevv | woohoo |
15:19:56 | disruptek | !last federico3 |
15:19:57 | disbot | federico3 quit 711 hours ago and last spoke 16 hours ago |
15:20:09 | federico3 | ? |
15:20:15 | disruptek | i guess i should strip _ automagically. |
15:20:30 | disruptek | trailing... from nicks... for the purposes of equality. |
15:21:01 | * | solitudesf quit (Quit: Leaving) |
15:21:19 | * | sz0 joined #nim |
15:21:25 | * | solitudesf joined #nim |
15:21:46 | PMunch | Well, you should parse "X is now known as Y" messages |
15:21:50 | PMunch | Or whatever they actually are |
15:22:16 | disruptek | i do, but only in one direction. that's why i need to perform the identity test without respect to trailing _. |
15:22:31 | * | disruptek is now known as goats |
15:22:36 | * | goats is now known as goats32 |
15:22:40 | goats32 | !last disruptek |
15:22:41 | disbot | disruptek spoke in 12#nim 23 seconds ago |
15:22:45 | * | goats32 is now known as disruptek |
15:22:47 | PMunch | Damn it.. I had gotten an e-mail at 2PM that my smart stuff had arrived, but I didn't see it until 3:30PM and the post office closes at 3PM. So now I have to wait until monday to get it.. |
15:22:48 | disruptek | !last disruptek |
15:22:49 | disbot | disruptek spoke in 12#nim 32 seconds ago |
15:23:15 | disruptek | not so smart, now. |
15:24:24 | disruptek | i guess the irc lib isn't passing nick events correctly. |
15:33:22 | alexander92 | !last disbot |
15:33:23 | disbot | disbot joined 12#nimsec 12 hours ago and last spoke 73 days ago |
15:33:35 | alexander92 | WHAT IS HAPPENING |
15:34:21 | lqdev[m] | how do I cross-compile from 64-bit to 32-bit? normally you use the `-m32` flag in gcc but using `--passC:-m32` gives me that `Nim_and_C_compiler_disagree_on_target_architecture` error |
15:40:55 | * | disruptek is now known as goats23 |
15:41:47 | * | krux02 joined #nim |
15:44:36 | * | marmotini_ joined #nim |
15:45:17 | * | goats23 is now known as disruptek |
15:46:28 | * | disruptek is now known as goats55 |
15:46:50 | * | goats55 is now known as disruptek |
15:47:50 | disruptek | ~news |
15:47:51 | disbot | news: 11the #nim-news channel has a Nim news feed of updates to pull requests, issues, and packages. -- disruptek |
15:49:28 | FromGitter | <alehander92> дok |
15:50:38 | * | Trustable joined #nim |
15:52:22 | FromDiscord | <Skaruts> why don't sequences have `clear()`? |
15:52:26 | Araq | lqdev[m], I set my PATH to mingw32 (it is usually mingw64) and compile with --cpu:i386 |
15:54:57 | disruptek | there probably should be a couple extensions to the api to pre-alloc by size and to clear without de/re/alloc. |
16:02:13 | Zevv | setlen does #1 |
16:03:59 | Araq | s.setLen 0 # clear |
16:04:18 | disruptek | yes, but it needs a convenience name that is portable to other types. |
16:08:28 | alexander92 | well inc is +1 but we have inc |
16:09:14 | alexander92 | on the other hand i wonder how often do people actually shrink a sequence to >0 |
16:13:47 | * | filcuc joined #nim |
16:13:54 | Zevv | I used that to unwind the stack of my VM, but then I threw it out and just update my 'top' index because setLen is expensie |
16:13:57 | Zevv | expensive |
16:18:29 | Araq | I thought about doing proc setLen(s; newLength = 0) |
16:18:45 | Araq | but it's code obfuscation |
16:19:03 | Araq | write .setLen(0) and live with it |
16:19:25 | lqdev[m] | @mratsim is there a way of making weave not eat all of my 12 threads when idle? |
16:20:09 | Zevv | haha |
16:20:59 | Zevv | lqdev[m]: https://github.com/mratsim/weave/issues/103 |
16:21:02 | disbot | ➥ Backoff not kicking in, 100% usage on all CPUs ; snippet at 12https://play.nim-lang.org/#ix=2edQ |
16:21:02 | alexander92 | but inc is code obfuscation |
16:21:03 | alexander92 | for +1 |
16:22:06 | alexander92 | .clear imo might make sense in generic context, similarly to .high .low etc |
16:22:20 | disruptek | exactly. |
16:22:54 | Zevv | create a PR and prepare for 150 responses on that |
16:23:38 | * | Trustable quit (Remote host closed the connection) |
16:24:39 | * | Trustable joined #nim |
16:25:50 | Araq | so which generic operation uses seqs OR tables? |
16:29:42 | disruptek | clear? |
16:29:54 | lqdev[m] | mratsim: do I have to sync somewhere when I use parallelFor? |
16:30:12 | lqdev[m] | I'm trying to fill a ptr UncheckedArray[Color] with a single Color, but it segfaults for some reason |
16:34:39 | lqdev[m] | I have this operation in a single procedure, and I'd like to sync after that proc is complete. |
16:35:32 | * | Zectbumo quit (Remote host closed the connection) |
17:20:02 | * | alexander92 quit (Ping timeout: 240 seconds) |
17:21:01 | * | thomasross joined #nim |
17:31:36 | * | alexander92 joined #nim |
17:35:11 | FromDiscord | <Kiloneie> Why is my constants video so dreadfully low on views ? noone cares about constants D: ?(i mean it was a pretty short video but...) |
17:37:57 | * | jjido joined #nim |
17:38:47 | FromDiscord | <kodkuce> lets go buff his views https://www.youtube.com/watch?v=BakkfzsDulM |
17:39:27 | FromDiscord | <Kiloneie> <.< okay |
17:39:37 | FromDiscord | <Kiloneie> (Patreon ahem D:...) |
17:39:58 | FromDiscord | <Kiloneie> also how do you like these thumbnails ? |
17:40:02 | leorize | Kiloneie: welcome to yt watch time :) |
17:40:28 | FromDiscord | <Kiloneie> 😮 |
17:40:35 | leorize | if you video ctr is not high enough (and that thing is computed with watch time somehow), it won't show up on the subscriber feed |
17:41:22 | * | Trustable quit (Remote host closed the connection) |
17:42:12 | leorize | there's a reason why ytbers tell people to click the bell |
17:43:20 | alexander92 | гпп |
17:50:48 | alexander92 | liked it* |
17:50:55 | alexander92 | no idea if it helps with watch algorithms |
17:51:08 | alexander92 | i'd say that constants seem a bit obvious |
17:51:22 | alexander92 | i mean its probable that there are edge cases etc |
17:51:42 | alexander92 | but an average viewer might skip it to see something more unclear |
17:52:59 | FromDiscord | <Kiloneie> oh well |
17:53:09 | FromDiscord | <Kiloneie> my first one keeps getting views like crazy... |
17:53:23 | alexander92 | is it "introduction.." |
17:53:24 | FromDiscord | <Kiloneie> #1 and #2 are top of the chart ALL the time |
17:53:33 | FromDiscord | <Kiloneie> yeah xD D: |
17:53:42 | alexander92 | well |
17:53:51 | alexander92 | i guess its very easy to start like this for viewers |
17:53:54 | alexander92 | and intro sounds important |
18:04:21 | * | cornfeedhobo quit (Quit: ZNC - https://znc.in) |
18:09:45 | FromDiscord | <Kiloneie> Right now i get about 100 views on a new video in a week, can't wait for 1000... |
18:09:55 | FromDiscord | <Kiloneie> eta 6-12 months D: |
18:14:23 | * | cornfeedhobo joined #nim |
18:16:27 | FromDiscord | <Lantos> Nice interview Araq. Really informative, good to see a video that explains the direction of nim. Ps don |
18:16:37 | FromDiscord | <Lantos> Nice interview Araq. Really informative, good to see a video that explains the direction of nim. Ps don't for get to smile Araq 🙂 |
18:18:11 | lqdev[m] | @mratsim I'm getting a crash in Weave, something related to load balancing: http://ix.io/2eet |
18:19:42 | FromDiscord | <Kiloneie> you got a l ink to that interview ? im curious |
18:20:17 | lqdev[m] | idk is this a race condition? it happens when I try to use parallelFor |
18:20:29 | FromDiscord | <Lantos> https://www.youtube.com/watch?v=-9SGIB946lw&feature=emb_title |
18:20:36 | lqdev[m] | in a continuous render loop |
18:20:40 | * | marmotini_ quit (Remote host closed the connection) |
18:21:16 | * | marmotini_ joined #nim |
18:23:08 | FromDiscord | <treeform> Hey, is there like an mget but for seq? |
18:23:16 | disruptek | mitems |
18:23:26 | FromDiscord | <treeform> but I just want 1 thing |
18:23:28 | disruptek | [] should be var. |
18:23:51 | FromDiscord | <treeform> but its a value type |
18:24:21 | disruptek | then assign it to a var and mutate it? |
18:24:27 | FromDiscord | <treeform> yes |
18:24:34 | disruptek | then assign it to a var and mutate it. |
18:24:41 | FromDiscord | <Kiloneie> wait, wouldn't the setup in the interview be better than what i use in my videos oO ? |
18:24:44 | FromDiscord | <treeform> it does not work? |
18:24:49 | disruptek | code? |
18:24:49 | * | Hideki_ quit (Remote host closed the connection) |
18:25:24 | FromDiscord | <treeform> `positionAccessor = scene.accessors[primative.attributes.position]` |
18:25:36 | * | Hideki_ joined #nim |
18:25:38 | * | marmotini_ quit (Ping timeout: 240 seconds) |
18:25:41 | FromDiscord | <treeform> I mute positionAccessor it does not work |
18:26:03 | disruptek | it's a value type. |
18:26:14 | disruptek | mutate it, assign it again. |
18:26:52 | FromDiscord | <treeform> yeah I think you are right |
18:28:24 | FromDiscord | <treeform> hmm nope |
18:28:29 | FromDiscord | <treeform> this is a minimal example: |
18:28:29 | FromDiscord | <treeform> https://play.nim-lang.org/#ix=2eey |
18:29:05 | FromDiscord | <treeform> I think the issues is b = a[0] does a copy... |
18:29:06 | FromDiscord | <treeform> hmm |
18:29:11 | FromDiscord | <treeform> is there a way to not get a copy |
18:29:12 | FromDiscord | <treeform> like |
18:29:18 | FromDiscord | <treeform> b = a.mget[0] ? |
18:29:19 | disruptek | you never assigned it. |
18:29:34 | disruptek | a[0] = b |
18:29:42 | disruptek | if you don't want copies, use references. |
18:29:44 | FromDiscord | <treeform> but what if I don't want to? |
18:29:59 | disruptek | use a pointer? |
18:30:05 | disruptek | addr |
18:30:20 | FromDiscord | <Kiloneie> Does Nim forum have a dark mode ? |
18:30:25 | * | Hideki_ quit (Ping timeout: 268 seconds) |
18:30:27 | FromDiscord | <treeform> yeah If I do `var b = addr a[0]` it works |
18:32:00 | * | marmotini_ joined #nim |
18:39:51 | disruptek | shouldn't getOrDefault on a CountTableRef yield 0.... by default? |
18:42:40 | FromGitter | <matrixbot> `watzon` Is there a pragma that checks if params passed to a proc meet a certain criteria? Something like vala's `requires` statement? |
18:46:45 | Araq | use 'assert' |
18:47:42 | FromDiscord | <Kiloneie> Informative interview @Araq |
18:48:55 | Araq | thanks |
18:53:37 | * | filcuc quit (Remote host closed the connection) |
18:57:11 | * | marmotini_ quit (Remote host closed the connection) |
18:57:46 | * | marmotini_ joined #nim |
18:57:47 | * | kenran joined #nim |
18:59:35 | * | kenran quit (Client Quit) |
19:02:02 | * | marmotini_ quit (Ping timeout: 240 seconds) |
19:02:03 | * | filcuc joined #nim |
19:06:15 | * | Hideki_ joined #nim |
19:14:22 | leorize | @watzon: join us here on irc at #freenode_#nim:matrix.org |
19:15:18 | * | watzon joined #nim |
19:16:05 | leorize | welcome :) |
19:17:47 | * | Hideki_ quit (Ping timeout: 258 seconds) |
19:20:06 | FromDiscord | <Lantos> Araq, I don't think he asked you. How did you find motivation over the years to keep developing nim? |
19:20:31 | * | Zectbumo joined #nim |
19:23:37 | watzon | Good to be back here haha. I didn't even realize I was in the matrix room. |
19:24:29 | leorize | lol |
19:27:31 | * | marmotini_ joined #nim |
19:29:00 | nixfreak | !cryptography |
19:36:02 | nixfreak | !help |
19:36:12 | Zevv | Don't panic, we are here for you! |
19:38:01 | nixfreak | are there any libs like cryptography or crypto for python that i can use for nim ? |
19:38:13 | leorize | !repo crypto |
19:38:15 | disbot | https://github.com/ba0f3/libssh2.nim -- 9libssh2.nim: 11Nim wrapper for libssh2 15 16⭐ 4🍴 7& 4 more... |
19:38:20 | leorize | !repo nim-crypto |
19:38:21 | disbot | https://github.com/HarperProjects/Pixie -- 9Pixie: 11Some crypto implementations in nim 15 0⭐ 0🍴 7& 1 more... |
19:38:25 | leorize | !repo nimcrypto |
19:38:27 | disbot | https://github.com/cheatfate/nimcrypto -- 9nimcrypto: 11Nim cryptographic library 15 50⭐ 9🍴 |
19:38:38 | leorize | !repo libsodium |
19:38:39 | disbot | https://github.com/FedericoCeratto/nim-libsodium -- 9nim-libsodium: 11Nim wrapper for the libsodium library 15 25⭐ 5🍴 7& 1 more... |
19:38:45 | leorize | nixfreak: have fun :) |
19:38:58 | nixfreak | can't use libsodium right now I wish ): |
19:39:02 | nixfreak | thanks |
19:41:23 | nixfreak | !repo pkcs11 |
19:41:41 | nixfreak | !repo pkcs11 |
19:41:43 | disbot | https://github.com/miekg/pkcs11 -- 9pkcs11: 11pkcs11 wrapper for Go 15 189⭐ 94🍴 7& 29 more... |
19:41:53 | leorize | !package pkcs |
19:41:54 | disbot | no packages match 😢 |
19:42:01 | nixfreak | xit |
19:42:12 | leorize | !package p11-kit |
19:42:13 | disbot | no packages match 😢 |
19:42:44 | Zevv | nixfreak: crypto is a bit fragmented in nimland I'm afraid |
19:42:57 | watzon | Is there some kind of `assert unreachable`? |
19:43:13 | leorize | assert false, "unreachable!"? :P |
19:43:34 | watzon | Lmao I mean that would work |
19:43:48 | disruptek | ~& |
19:43:49 | disbot | &: 11unreachable |
19:43:52 | leorize | if you want it to be more explicit, just put it in a template :P |
19:51:39 | Araq | Lantos: good question, I think one reason is that Nim is a very *big* project that covers/touches many different aspects of computing |
19:52:33 | Araq | type systems, optimizations, stdlib design, DSLs, an effect system, async, safe multi-threading, it never gets boring |
19:52:44 | Araq | bbl |
20:04:19 | FromDiscord | <Kiloneie> I wish my head worked that way, i keep slamming into the same door till i break xD... |
20:15:57 | * | chemist69 quit (Remote host closed the connection) |
20:16:21 | * | chemist69 joined #nim |
20:25:11 | * | NimBot joined #nim |
20:27:34 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:35:16 | FromDiscord | <mratsim> @lqdev, seems like alerts that work well across IRC/Discord :/ |
20:35:20 | FromDiscord | <mratsim> just saw your msg |
20:38:44 | FromDiscord | <mratsim> do you have the code that leads to ix.io (evalSplit), I think the crash you reported is due to something being an int that my error routine trries to display as an uint |
20:39:24 | FromDiscord | <Lantos> thanks for the answer Araq. @Kiloneie same although I can burry away and forget time doing somethings. Machining/Coding for me. I guess system level design for araq |
20:39:33 | FromDiscord | <mratsim> @watzon, I use this for unreachable: https://github.com/mratsim/Synthesis/blob/a3054253fa7ff1a66189d0bb02487e399a910b69/synthesis/factory.nim#L324 |
20:40:06 | watzon | Hmm interesting. Thanks :) |
20:41:09 | FromDiscord | <mratsim> for syncing after a parallel for you can use "awaitable" like here: https://github.com/mratsim/weave/blob/master/weave/parallel_for.nim#L387-L392 |
20:41:45 | FromDiscord | <mratsim> it's mentioned in the README: https://github.com/mratsim/weave#awaitable-loop |
20:51:58 | FromDiscord | <él liquido> @mratsim I was unable to track down *where* exactly in my code it was |
20:52:24 | FromDiscord | <él liquido> I think it was somewhere near a parallelFor, but I honestly have no idea |
20:52:40 | FromDiscord | <él liquido> I know that calling `Weave.syncRoot` freezes the whole program |
20:52:52 | FromDiscord | <él liquido> And… that's about all I know |
20:53:34 | FromDiscord | <Varriount> Hey, I remember some mention of libbacktrace in Nim issues/PRs/RFCs - anyone know where it was originally mentioned? |
20:54:29 | disruptek | !rfc libbacktrace |
20:54:29 | disbot | no results 😢 |
20:54:33 | disruptek | !rfc stacktrace |
20:54:33 | disbot | https://github.com/nim-lang/RFCs/issues/198 -- 3[RFC] [performance] {.inline.} guarantees, `--stacktrace:inline`, and `--ignoreInline` 7& 3 more... |
20:56:32 | FromDiscord | <mratsim> for the split bug that's OK |
20:56:55 | FromDiscord | <mratsim> I should be able to investigate with the stack trace |
20:57:15 | FromDiscord | <mratsim> for syncRoot, do you have blocking proc? |
20:57:58 | FromDiscord | <mratsim> that wa your github right? https://github.com/liquid600pgm |
21:00:14 | * | MarderIII joined #nim |
21:12:17 | * | couven92 quit (Quit: Client Disconnecting) |
21:13:28 | disruptek | http://argentina-ni.ml/959393 |
21:14:50 | * | tane quit (Quit: Leaving) |
21:15:19 | disruptek | ~playground |
21:15:20 | disbot | playground: 11an online in-the-browser IDE for simple Nim experiments at https://play.nim-lang.org/ -- disruptek |
21:15:45 | disruptek | ~playground is an online in-the-browser IDE for simple Nim experiments at http://argentina-ni.ml/ |
21:15:46 | disbot | playground: 11an online in-the-browser IDE for simple Nim experiments at http://argentina-ni.ml/ |
21:17:44 | * | marmotini_ quit (Quit: Leaving...) |
21:25:10 | leorize | disruptek: shouldn't we advertise the official playground, then ask PMunch to implement everything from competing solutions? :) |
21:25:32 | disruptek | sure? |
21:27:20 | FromDiscord | <Varriount> The Go playground is pretty bare-bones |
21:28:01 | FromDiscord | <Varriount> What would be really neat is running the compiler in the browser |
21:28:31 | FromDiscord | <Varriount> Though, then the executable would have to be js-compatible |
21:28:53 | FromDiscord | <Recruit_main70007> how can i do this in Nim? |
21:28:53 | FromDiscord | <Recruit_main70007> https://github.com/Zer0Mem0ry/StandardInjection/blob/master/testlib/dllmain.cpp |
21:28:54 | FromDiscord | <Recruit_main70007> possibly without using emit |
21:29:48 | * | couven92 joined #nim |
21:30:05 | FromDiscord | <Varriount> Create a DLL? |
21:30:07 | leorize | long story short, you can't because Nim claimed that already :P |
21:31:20 | leorize | the compiler uses dllmain to run code put in modules top-level |
21:31:55 | leorize | so if you just wanna run code, then that'd work, but if you wanna check the "reason", you can't |
21:37:10 | FromDiscord | <Recruit_main70007> so... |
21:37:14 | FromDiscord | <Recruit_main70007> no? |
21:37:23 | FromDiscord | <Recruit_main70007> i cant? |
21:37:46 | * | natrys quit (Ping timeout: 255 seconds) |
21:37:47 | FromDiscord | <Recruit_main70007> if i compile with --noMain? |
21:38:28 | leorize | good news, --noMain does work :) |
21:38:51 | FromDiscord | <Recruit_main70007> so... i just transpile that function |
21:39:01 | FromDiscord | <Recruit_main70007> and compile with nomain, lin, etc.. |
21:39:09 | FromDiscord | <Recruit_main70007> and it will work? |
21:39:28 | leorize | yea |
21:39:34 | FromDiscord | <Recruit_main70007> Cool |
21:39:37 | leorize | you can import winlean for everything you'd need to write that function |
21:40:11 | FromDiscord | <Recruit_main70007> ye, ok, i love Nim, its just the best, i can live with simple OOP |
21:41:38 | krux02 | Recruit_main70007: how did you get to know about Nim? |
21:45:32 | FromDiscord | <Recruit_main70007> u see, (this is a long story) ive always liked python, but it is SO F*CKING SLOWW, ive had 3 main language crisis (looking for a new language, but they were either ugly or slow), the first one, i just dealt with it, and kept using python, the second time i looked for python like languages i found Boolang (.NET), it was really good, better then c# for sure, but it was pretty dead in development terms (not completely, but its been a |
21:46:37 | FromDiscord | <Recruit_main70007> im really comfortable with it, and have no plan in changing it |
21:46:51 | leorize | does the irc bridge even capable of dealing with long messages lol |
21:47:04 | FromDiscord | <Recruit_main70007> idk |
21:47:22 | leorize | https://irclogs.nim-lang.org/14-03-2020.html#21:45:32 |
21:47:27 | FromDiscord | <Recruit_main70007> i could write a short book if i get into details XD |
21:48:06 | FromDiscord | <Recruit_main70007> to sum up, thew third time i looked, in a quora thread |
21:51:10 | * | natrys joined #nim |
21:52:52 | * | natrys quit (Client Quit) |
21:57:07 | * | tdc quit (Ping timeout: 260 seconds) |
21:58:13 | * | deech joined #nim |
22:00:58 | deech | Should the 'option' type work with C structs? eg. an object like 'type O {.importc.} = object i: cint ...' |
22:03:26 | leorize | I'm not sure what you mean |
22:08:28 | * | filcuc quit (Ping timeout: 256 seconds) |
22:08:31 | * | filcuc_ joined #nim |
22:11:16 | * | lritter quit (Quit: Leaving) |
22:19:31 | * | solitudesf quit (Ping timeout: 260 seconds) |
22:31:36 | * | Zectbumo quit (Remote host closed the connection) |
22:33:17 | * | thomasross quit (Remote host closed the connection) |
22:34:05 | * | thomasross joined #nim |
22:36:23 | watzon | Is it possible to get a from a pointer at a specific index like you can in C? `myPointer[i]` isn't working. |
22:37:12 | leorize | cast the pointer to `ptr UncheckedArray[T]` |
22:39:43 | watzon | Thanks! |
22:39:55 | watzon | I figured it probably required a cast |
22:51:22 | * | sealmove joined #nim |
22:54:31 | Araq | !!!Note: as long as azure doesn't check PRs, no PRs can be merged!!!! |
22:54:45 | disruptek | noted! |
23:08:33 | * | filcuc_ quit (Ping timeout: 258 seconds) |
23:09:07 | sealmove | where can I find junit spec? |
23:09:29 | * | filcuc_ joined #nim |
23:13:58 | * | deech quit (Remote host closed the connection) |
23:14:13 | * | deech joined #nim |
23:14:47 | * | Hideki_ joined #nim |
23:19:28 | * | Hideki_ quit (Ping timeout: 255 seconds) |
23:19:29 | watzon | Does DocGen format doc comments with markdown? |
23:27:02 | leorize | watzon: docgen format doc comments with ReStructuredText (RST) |
23:28:08 | Araq | with markdown extensions. |
23:28:53 | Araq | it's a hybrid and it's not as bad as it sounds as RST and markdown are very similar |
23:29:33 | Araq | in pratice you need to run 'nim doc' and look at the produced HTML anyway for all sorts of reasons |
23:29:46 | watzon | Ahh ok. So do standard markdown links work? Or should I use the `_text https://link.site` syntax? |
23:32:50 | watzon | Looks like markdown links work, nvm haha |
23:37:41 | * | krux02 quit (Remote host closed the connection) |
23:55:16 | * | Hideki_ joined #nim |
23:58:42 | * | Hideki_ quit (Client Quit) |