00:01:09 | shashlick | dom96: I changed windows init.sh to amd64 |
00:03:39 | dom96 | hm, maybe I'll try out your version. Although yglukhov's has been okay for now |
00:04:14 | FromDiscord | <treeform> yeah yglukhov is very cool. His code is great. Does he hang out here? |
00:05:21 | * | filcuc joined #nim |
00:05:38 | disruptek | he seems to pop up from time to time. |
00:07:04 | * | lritter quit (Quit: Leaving) |
00:07:48 | * | krux02 quit (Remote host closed the connection) |
00:09:01 | disruptek | ahhh, it's -d:traceArc. |
00:09:05 | disruptek | this is much better. |
00:11:33 | * | Trustable quit (Remote host closed the connection) |
00:30:21 | * | ltriant joined #nim |
00:46:29 | * | Hideki_ joined #nim |
00:53:49 | disruptek | clyybber: also, it seems to be related to object variants. i wasn't able to remove Results until i used a case object. |
00:57:50 | * | icebattle joined #nim |
01:02:26 | * | icebattle quit (Ping timeout: 240 seconds) |
01:04:04 | * | filcuc quit (Ping timeout: 268 seconds) |
01:06:43 | * | cornfeedhobo quit (Ping timeout: 250 seconds) |
01:07:35 | * | dv^_^ quit (Ping timeout: 250 seconds) |
01:07:55 | * | ltriant quit (Ping timeout: 258 seconds) |
01:08:19 | * | dv^_^ joined #nim |
01:09:17 | * | cornfeedhobo joined #nim |
01:11:20 | * | icebattle joined #nim |
01:12:54 | * | Kaynatwo joined #nim |
01:16:21 | * | Kaynato quit (Ping timeout: 258 seconds) |
01:17:38 | * | icebattle quit (Ping timeout: 268 seconds) |
01:43:17 | * | ltriant joined #nim |
01:48:28 | * | ltriant quit (Ping timeout: 260 seconds) |
01:49:19 | * | Hideki_ quit (Ping timeout: 258 seconds) |
02:12:50 | * | solitudesf quit (Ping timeout: 240 seconds) |
02:13:07 | * | martinium joined #nim |
02:18:25 | * | NimBot joined #nim |
02:20:50 | * | dddddd quit (Ping timeout: 240 seconds) |
02:23:23 | * | ltriant joined #nim |
02:24:06 | * | idxu joined #nim |
02:24:14 | FromGitter | <russmack> How do I use the native html dsl mentioned in here: https://embark.status.im/news/2019/11/18/nim-vs-crystal-part-1-performance-interoperability/index.html ? I get an "Error: cannot open file: html_dsl" |
02:26:18 | FromDiscord | <Rika> `htmlgen`? |
02:26:52 | FromDiscord | <Rika> https://nim-lang.org/docs/htmlgen.html |
02:28:07 | FromDiscord | <Rika> @russmack ^ |
02:28:43 | * | ltriant quit (Ping timeout: 265 seconds) |
02:34:10 | * | chenhq2005 joined #nim |
02:36:04 | FromGitter | <russmack> Interesting, thanks. Do you know what the article referring to (html_dsl)? |
02:36:27 | * | martinium quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
02:38:00 | FromDiscord | <Rika> you mean why it says html_dsl? i dont know, it looks like an error/miswrite to me |
02:40:55 | * | Hideki_ joined #nim |
02:44:58 | FromGitter | <russmack> Yeah, I can't find any reference to it. Thanks. |
02:46:29 | FromGitter | <xflywind> https://github.com/juancarlospaco/nim-html-dsl |
02:52:59 | FromGitter | <russmack> Thanks, I tried that, it's not the same, it uses plurals for everything, and needs nimble install. |
02:54:06 | FromGitter | <russmack> Also found https://github.com/stisa/zircon but haven't tried it. |
02:54:32 | * | Hideki_ quit (Remote host closed the connection) |
02:56:55 | FromGitter | <russmack> It has a bug. Looks the most similar though. |
02:56:55 | * | Hideki_ joined #nim |
03:00:27 | * | muffindrake quit (Quit: muffindrake) |
03:01:23 | * | Hideki_ quit (Ping timeout: 260 seconds) |
03:05:28 | * | Kaynatwo quit (Quit: Leaving) |
03:06:12 | * | muffindrake joined #nim |
03:20:00 | * | lxbarbosa quit (Ping timeout: 252 seconds) |
03:22:58 | * | chenhq2005 quit (Ping timeout: 260 seconds) |
03:33:05 | * | Hideki_ joined #nim |
03:45:01 | * | Hideki_ quit (Ping timeout: 268 seconds) |
03:53:29 | FromGitter | <dawkot> Is there a secret way of getting a type's fields (in a macro) that doesn't involve painfully going through the recList? |
03:54:44 | * | muffindrake quit (Ping timeout: 248 seconds) |
03:55:15 | FromDiscord | <Rika> afaik theres a way to iterate through them but i dont know ;; |
03:56:43 | * | muffindrake joined #nim |
04:00:32 | FromGitter | <dawkot> @russ I just published my private html rendering macro in case it's useful https://github.com/dawkot/htmlrender |
04:21:54 | FromGitter | <gogolxdong> https://b23.tv/av81369175 |
04:24:12 | * | ltriant joined #nim |
04:29:28 | * | ltriant quit (Ping timeout: 260 seconds) |
05:08:53 | * | ltriant joined #nim |
05:14:01 | * | ltriant quit (Ping timeout: 265 seconds) |
05:30:15 | * | rockcavera quit (Remote host closed the connection) |
05:38:17 | FromDiscord | <treeform> dawkot, I have also done CSS the same way, like your HTML system. |
05:45:06 | FromDiscord | <treeform> I have also seeing a similar system in typescript, but they made the CSS and HTML tags typed so that it would help you with typos. |
05:47:53 | FromDiscord | <treeform> dawkot, what would you think of this syntax? https://gist.github.com/treeform/59f794948e8ab676fcce01a697b7ad76 |
06:03:07 | * | ltriant joined #nim |
06:04:46 | * | narimiran joined #nim |
06:11:39 | * | ltriant quit (Ping timeout: 240 seconds) |
06:13:31 | * | Hideki_ joined #nim |
06:18:11 | FromGitter | <gogolxdong> http://taichi.graphics/ |
06:18:18 | * | Hideki_ quit (Ping timeout: 265 seconds) |
06:43:22 | * | ltriant joined #nim |
06:48:47 | * | ltriant quit (Ping timeout: 268 seconds) |
07:12:33 | * | noonien quit (Quit: Connection closed for inactivity) |
07:28:10 | * | nsf joined #nim |
07:44:25 | * | solitudesf joined #nim |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:05:06 | * | gmpreussner joined #nim |
08:44:12 | * | ltriant joined #nim |
08:49:39 | * | ltriant quit (Ping timeout: 268 seconds) |
08:50:12 | FromDiscord | <mratsim> I knew about Taichi, it's very interesting |
08:50:58 | * | nsf quit (Quit: WeeChat 2.7) |
09:02:44 | FromGitter | <dawkot> > <treeform> dawkot, what would you think of this syntax? https://gist.github.com/treeform/59f794948e8ab676fcce01a697b7ad76 ⏎ I prefer long lines |
09:11:23 | * | Hideki_ joined #nim |
09:39:48 | * | solitudesf quit (Ping timeout: 260 seconds) |
09:53:56 | * | gangstacat quit (Quit: Ĝis!) |
09:59:38 | * | narimiran quit (Ping timeout: 260 seconds) |
10:05:42 | * | Hideki_ quit (Remote host closed the connection) |
10:07:06 | * | Hideki_ joined #nim |
10:11:45 | * | Hideki_ quit (Ping timeout: 265 seconds) |
10:15:03 | * | Hideki_ joined #nim |
10:16:19 | * | ltriant joined #nim |
10:21:43 | * | ltriant quit (Ping timeout: 268 seconds) |
10:29:17 | * | gangstacat joined #nim |
10:47:56 | * | Hideki_ quit (Remote host closed the connection) |
10:48:15 | * | Hideki_ joined #nim |
10:49:27 | * | chenhq2005 joined #nim |
11:00:30 | * | Hideki_ quit (Remote host closed the connection) |
11:00:45 | * | Hideki_ joined #nim |
11:08:07 | * | nsf joined #nim |
11:08:47 | * | chenhq2005 quit (Ping timeout: 265 seconds) |
11:23:16 | Zevv | Araq: is it acceptable to put in a hook for reportUnhandledException like outOfMemHook? Then I can drop the default reporting for --os:any but the user can still put in a hook |
11:24:12 | FromGitter | <Albus70007> Can I highlight "self" in vscode in Nim?? |
11:24:17 | Zevv | anyway, got an empty nim program compiling to 3Kb now instead of the default 67Kb :) |
11:24:56 | * | dddddd joined #nim |
11:27:26 | * | chenhq2005 joined #nim |
11:28:31 | * | Hideki_ quit (Remote host closed the connection) |
11:29:21 | * | Hideki_ joined #nim |
11:30:02 | * | Hideki_ quit (Remote host closed the connection) |
11:30:16 | * | Hideki_ joined #nim |
11:32:45 | * | chenhq2005 quit (Ping timeout: 258 seconds) |
11:34:44 | enthus1ast | has someone wrapped / written an smtp library? (and would like to share it :) ) |
11:35:34 | enthus1ast | SNMP i mean... |
11:44:40 | Araq | Zevv: it's acceptable but this "hook" mechanism is what I've been thinking about |
11:48:41 | Zevv | the overhead should be minimal, it is an exceptional case when this happens |
11:49:03 | Zevv | I can also just disable the unhandled expection reporting altogheter for os:any, but that wouldnt be right |
11:49:12 | Araq | of course but it's a general problem |
11:49:19 | Zevv | but ok, I have it ready in a branch, will push it when/if os:any gets merged |
11:49:37 | Araq | with a general solution that is better than runtime hooks |
11:50:13 | Araq | we have the mechanism in the form of .compilerproc, all we need to do is improve the error message for non-inline compilerprocs |
11:50:25 | Araq | they already have a nice alias, .core |
11:50:39 | Araq | so that's my idea: you compile the program with --os:any |
11:51:25 | Araq | the compiler uses e.g. proc reportUnhandledException() {.core.} |
11:51:54 | Araq | which does not exist in system.nim! |
11:52:01 | Zevv | surprise! |
11:52:19 | Araq | instead it must be provided by an import |
11:52:28 | Araq | import exceptions # for example |
11:52:42 | Araq | or 'import tinystubs' |
11:52:58 | Zevv | that makes sense, but it is a burden on the default case. Couldn't we use something like weak aliases? |
11:52:59 | Araq | these have the implementation for reportUnhandledException |
11:53:25 | Araq | weak aliases? tell me more |
11:53:52 | Araq | is that linking technology that everybody has by now for embedded development? |
11:54:30 | Zevv | I'd have to look up the exact details, but basically you define something at place A and mark it 'weak'. The linker will pull this in be default. |
11:54:51 | Zevv | But you can redefine the same symbol elsewhere, non-weak, the normal way, which will get preference over the original |
11:55:06 | Zevv | not sure how this works outside of gcc land |
11:56:47 | Araq | but then the default proc might not be optimized away |
11:57:10 | Zevv | it will, the linker will drop it |
11:58:02 | Zevv | look, even wikipedia knows about it. Can't be wrong then, can it! https://en.wikipedia.org/wiki/Weak_symbol |
11:58:35 | Zevv | MSVC++ has __declspec(selectany), that might fit in |
11:59:21 | Zevv | but maybe this should/could be fixed at the nim level instead, instead of relying on the language backend |
12:00:15 | Zevv | {.weak.} |
12:01:55 | Zevv | the logic should be fairly simple, but I don't know if it will fit in nims way of keeping track of symbols of course |
12:04:53 | * | Hideki_ quit (Remote host closed the connection) |
12:05:41 | * | Hideki_ joined #nim |
12:06:11 | Araq | looks like .weak is the better .core |
12:06:46 | Zevv | but then it should be handled by Nim instead, I guess |
12:06:52 | Zevv | and not by the linker |
12:10:15 | * | Hideki_ quit (Ping timeout: 268 seconds) |
12:11:33 | Araq | yeah, we can do that, except for .inline procs |
12:11:55 | Araq | but link time inlining is quite common so it doesn't matter as much |
12:12:05 | Zevv | sure |
12:15:00 | * | Hideki_ joined #nim |
12:17:12 | * | ltriant joined #nim |
12:19:31 | * | Hideki_ quit (Ping timeout: 258 seconds) |
12:22:33 | * | ltriant quit (Ping timeout: 260 seconds) |
12:27:25 | * | Hideki_ joined #nim |
12:58:18 | * | krux02 joined #nim |
13:02:54 | * | drewr joined #nim |
13:14:45 | * | narimiran joined #nim |
13:15:37 | * | chenhq2005 joined #nim |
13:28:02 | * | chenhq2005 quit (Ping timeout: 240 seconds) |
13:33:50 | * | sealmove quit (Quit: WeeChat 2.7) |
13:36:25 | * | fys joined #nim |
14:00:08 | Zevv | yeah, naive as I am I though I could implement that myself |
14:17:07 | * | Hideki_ quit (Remote host closed the connection) |
14:18:01 | * | ltriant joined #nim |
14:18:15 | * | Hideki_ joined #nim |
14:18:34 | * | solitudesf joined #nim |
14:22:57 | * | ltriant quit (Ping timeout: 258 seconds) |
14:30:38 | * | Trustable joined #nim |
14:32:00 | * | Hideki_ quit (Remote host closed the connection) |
14:37:06 | * | ng0 quit (Ping timeout: 265 seconds) |
14:37:22 | * | ng0 joined #nim |
14:40:14 | * | Hideki_ joined #nim |
14:42:44 | * | Hideki_ quit (Remote host closed the connection) |
14:48:21 | * | Hideki_ joined #nim |
14:53:03 | * | Hideki_ quit (Ping timeout: 265 seconds) |
14:56:50 | * | xet7 quit (Remote host closed the connection) |
14:57:56 | * | xet7 joined #nim |
15:01:54 | * | lritter joined #nim |
15:03:18 | disruptek | 3k nice, zevv. |
15:09:30 | * | noonien joined #nim |
15:12:44 | * | ng0_ joined #nim |
15:14:58 | Zevv | Im going down to 0 |
15:15:07 | Zevv | I want zero overhead |
15:15:26 | Zevv | the war on bloat |
15:15:48 | * | ng0 quit (Ping timeout: 260 seconds) |
15:16:23 | disruptek | how big is hello world. |
15:16:28 | disruptek | that's the real question. |
15:16:46 | Zevv | lemmecheck |
15:18:25 | Zevv | 4027 bytes .text, 640 .data 328 .bss |
15:18:36 | Zevv | empty is now 2702b, with --opt:size |
15:18:39 | Zevv | but htat's cheating |
15:19:01 | disruptek | hah is it? |
15:29:21 | * | Hideki_ joined #nim |
15:31:39 | * | Trustable quit (Remote host closed the connection) |
15:46:59 | Zevv | sure one should not need opt:size |
15:47:08 | Zevv | but coming from 67kb with the defaults |
15:47:12 | Zevv | its usable almost |
15:47:19 | * | Hideki_ quit (Ping timeout: 268 seconds) |
15:51:03 | disruptek | i'd say that anything under 8k is pretty tolerable, but what do i know. |
16:03:21 | * | natrys joined #nim |
16:10:37 | Zevv | why not under 7? or under 9? |
16:11:00 | disruptek | you're right; those both sound better. |
16:11:00 | Zevv | and of course it is, but having virtually zero overhead makes for a good story, right |
16:11:17 | Zevv | "why is my X binary so big" |
16:18:57 | * | ltriant joined #nim |
16:21:41 | * | abm joined #nim |
16:24:08 | * | ltriant quit (Ping timeout: 268 seconds) |
16:26:42 | disruptek | maybe it's time to write the repl. |
16:26:52 | disruptek | maybe that's more important than unit tests. |
16:27:49 | disruptek | i think we're gonna give it some primitives so it's more of a shell. |
16:28:16 | disruptek | it's an environment. |
16:28:41 | disruptek | are you with me, zevv? |
16:28:50 | disruptek | this is that debate you wanted. |
16:29:16 | disruptek | c'mon, it's only like, what, 4p there? |
16:30:48 | disruptek | it'll be a series of tubes. pipes in shell parlance. |
16:38:59 | * | ng0_ is now known as ng0 |
16:45:28 | disruptek | what's the right way to do this? i think maybe you're in the vm. |
16:46:37 | disruptek | then you can compile/diff asts and move them through a pipe to code. |
16:46:51 | disruptek | s/code/binary/ |
16:47:28 | Zevv | I neve used repls in my life |
16:47:32 | Zevv | I don't think I'm missing out |
16:47:37 | Zevv | talking to the wrong guy |
16:47:52 | disruptek | did you ever lisp? |
16:48:06 | Zevv | I got 60% into the sussman course |
16:48:09 | Zevv | but not repling |
16:48:13 | Zevv | just write - run |
16:48:20 | Zevv | yes, I did basic as a toddler |
16:48:34 | Zevv | i made a forth |
16:48:38 | disruptek | did you? that's pretty cool. |
16:48:39 | Zevv | but I don't see the value of a repl |
16:48:57 | disruptek | i think i was like 6 went i got into basic. |
16:49:12 | Zevv | same here |
16:49:22 | disruptek | saving programs via the tape recorder. |
16:49:24 | Zevv | Apple II |
16:49:47 | Zevv | we should sit in a balcony and complain about the others all day |
16:50:20 | disruptek | trs80 |
16:50:25 | Zevv | gramps |
16:50:36 | disruptek | my dad was always buying new toys from radio shack. |
16:50:39 | Zevv | anyway, I think repls are remniscents of the early days |
16:50:50 | Zevv | my roundtrip time from save - run is about 500 msec |
16:50:55 | Zevv | why should I want to repl |
16:51:42 | disruptek | i think it's a loop we want. i think it's a religion for some. |
16:54:09 | disruptek | i mean, there's no question that it's the future, right? |
16:56:38 | disruptek | do a lot of people choose a language for the wrong reasons? |
16:58:31 | disruptek | just jump in here any time. |
17:03:56 | disruptek | what if you enter the repl and supply certificates; symbols are imported from the p2p network according to your trust definition and requirements. the namespace is a hash of your requirements ordered by membership count. so whatever people require most inherits trust and testing organically. |
17:05:01 | FromGitter | <alehander92> what is this repl thing |
17:05:11 | disruptek | that's the question. |
17:05:17 | FromGitter | <alehander92> i like repl-s |
17:05:22 | FromGitter | <alehander92> zevv you're so old fashioned |
17:05:39 | disruptek | zevv is, like, old. |
17:05:43 | FromGitter | <alehander92> its not about the roundtrip its about the exploration |
17:06:13 | FromGitter | <alehander92> ~zevv |
17:06:14 | disbot | zevv: 11lazy and so is he. |
17:06:28 | FromGitter | <alehander92> he was german here |
17:06:31 | FromGitter | <alehander92> what happened |
17:06:44 | disruptek | it's complicated. |
17:08:34 | FromGitter | <alehander92> i had a plan about the repl: reuse the frontend of inim and define what is expected by backend, then do 2-3: the HCR-based one, or a nimscript+timothee's ffi - based one |
17:08:41 | FromGitter | <alehander92> and you're ready |
17:09:09 | FromGitter | <alehander92> ~alehander92 is a simple man |
17:09:09 | disbot | alehander92: 11a simple man |
17:09:11 | disruptek | hmm, that makes sense, doesn't it. |
17:09:55 | fys | What is FromGitter connected to? Discord? |
17:10:02 | FromGitter | <alehander92> yeah, of course, you have to deal with all the little fix-es for nimrtl or for the other thing |
17:10:13 | FromGitter | <alehander92> irc, discord and matrix i think |
17:10:21 | fys | What is "matrix"? |
17:10:31 | disruptek | the matrix is all around you. |
17:10:34 | fys | har har. |
17:10:45 | fys | I can't keep up with all these chat systems. |
17:10:47 | fys | :/ |
17:10:52 | FromGitter | <alehander92> no keanu!! |
17:10:54 | disruptek | it's in the air you breathe. |
17:11:17 | FromGitter | <alehander92> yeah there are too many |
17:11:21 | FromGitter | <alehander92> can you imagine in the past |
17:11:52 | disruptek | i don't have to. |
17:11:53 | FromGitter | <alehander92> us rebels writing to the king in discord but he only in royalmail.co.uk |
17:12:00 | FromGitter | <alehander92> good thing they had ships |
17:12:04 | FromGitter | <alehander92> they shipped letters |
17:12:09 | FromGitter | <alehander92> better than we ship software |
17:12:24 | disruptek | true that. |
17:12:45 | fys | "no keanu" - False, Keanu is signed onto Matrix 4. |
17:12:46 | fys | fwiw |
17:13:25 | FromGitter | <alehander92> probably mozilla got him there |
17:13:41 | FromGitter | <alehander92> the firefox vs chrome competition got to hollywood movies |
17:13:46 | disruptek | yeah, those mozilla chaps are pretty serious. |
17:14:15 | FromGitter | <alehander92> they're like the nasa of usa |
17:14:50 | disruptek | yeah? |
17:15:22 | Zevv | so, you found your replfriend, good for you! |
17:15:25 | Zevv | repl away boys! |
17:15:30 | disruptek | grrr. |
17:15:57 | disruptek | zevv doesn't want repl lovers to love nim. |
17:16:06 | * | natrys quit (Quit: natrys) |
17:16:08 | FromGitter | <alehander92> zevv you probably use ipython notebooks for your grocery list |
17:16:22 | Zevv | I admit I use python. The repl. |
17:16:36 | disruptek | i use python as a calculator. |
17:16:40 | Zevv | It's my default calculator if I want to calculate 13*621 or to check how many bits I need to represent 1563472817 |
17:16:46 | Zevv | from math import * |
17:16:49 | disruptek | yep. |
17:16:53 | Zevv | log(1563472817) / log(2) |
17:17:00 | Zevv | that's how far I get with python |
17:17:09 | Yardanico | !repo nim-mathexpr |
17:17:09 | disbot | https://github.com/Yardanico/nim-mathexpr -- 9nim-mathexpr: 11Tiny math expression evaluator library implemented in pure Nim 15 25⭐ 0🍴 |
17:17:11 | Yardanico | use this instead xD |
17:17:36 | Yardanico | albeit it's probably slower than python because it's a simple recursive descending parser/evaluator |
17:17:50 | Yardanico | i based it on some Java code I found on stackoverflow |
17:17:59 | Zevv | I made a pretty nifty tool once that takes pipes on unix and does math on what comes in on the pipe. You can say 'avg($1*$3)*lowpass($2) |
17:18:10 | Zevv | I read it back and I do not understand how I made it, but I use it a lot. |
17:18:20 | Zevv | preprocessing stuff before putting it into gnuplot etc |
17:18:27 | Zevv | so $1 is the first number on a line, etc |
17:19:07 | lqdev[m] | I just use GNU calc |
17:19:16 | lqdev[m] | it's fast and precise. |
17:19:20 | Zevv | so, what do we need a repl for then? |
17:19:43 | FromGitter | <alehander92> to explore |
17:19:51 | lqdev[m] | probably data visualization |
17:19:58 | lqdev[m] | and exploration |
17:20:00 | Zevv | bunch of doras |
17:20:11 | FromGitter | <alehander92> zevv think about it |
17:20:24 | FromGitter | <alehander92> people mostly use linux os-es with an os repl |
17:20:29 | FromGitter | <alehander92> called bash/fish/etc |
17:20:57 | Zevv | people mostly cut with a tool called a knife |
17:20:57 | FromGitter | <alehander92> even our chat is |
17:21:00 | FromGitter | <alehander92> like a human repl |
17:21:12 | Zevv | but I don't want to use a knife to mix concrete |
17:21:15 | FromGitter | <alehander92> and chats are much better than feeds |
17:21:30 | FromGitter | <alehander92> yes, so its good to have both |
17:21:40 | * | lxbarbosa joined #nim |
17:21:47 | FromGitter | <alehander92> you use a repl to mix concrete exactly |
17:21:52 | FromGitter | <alehander92> thats my point! |
17:22:01 | Zevv | true. Anyway, I've had similar discussions in the past, and it just doesnt work for me - it's not your repl, it' just me |
17:22:13 | FromGitter | <alehander92> but currently we do the repl thing |
17:22:17 | FromGitter | <alehander92> in our irc/gitter |
17:22:25 | Zevv | the problem I have with *programming* in repls is state |
17:22:28 | FromGitter | <alehander92> we could just write big emails to each other |
17:22:30 | Zevv | I punched in a lot of stuff before |
17:22:36 | Zevv | and that is no longer there for me to see |
17:22:52 | FromGitter | <alehander92> good repl-s should be able to interact with more longliving state |
17:22:53 | Zevv | there is no code that I can read from top to bottom that shows me what is there |
17:23:04 | * | lxbarbosa quit (Remote host closed the connection) |
17:23:05 | FromGitter | <alehander92> especially with stuff like web apps and db-s |
17:23:06 | FromGitter | <alehander92> etc |
17:23:15 | Zevv | so the thing has eaten my things. I might have overriden some of that or not. And there is this big blob of state |
17:23:23 | Zevv | now if I type something, it depends on this state, that I can not see nor remember |
17:23:52 | FromGitter | <alehander92> well, this is a valid point, it should be solvable by some kind of revisions etc |
17:24:02 | FromGitter | <alehander92> not too hard, nowadays even filesystems have revisions |
17:24:16 | Zevv | and how should nim do this? In most ducktyping languages I can redefine a function. In forth I cna redifine a word |
17:24:19 | FromGitter | <alehander92> but many usecases dont depend on that kind of state |
17:24:27 | Zevv | but in Nim, I can no longer type 'let a = 5' once I defined a |
17:24:29 | FromGitter | <alehander92> hot code reloading |
17:24:37 | Zevv | so I need to reset the state of the repl to do that |
17:24:39 | FromGitter | <alehander92> and again i dont think the point is to "program" with that |
17:25:08 | Zevv | fair enough |
17:25:23 | FromGitter | <alehander92> i am not saying its very easy technically, but thats a completely different thing |
17:25:32 | FromGitter | <alehander92> useful things are often hard |
17:25:47 | Zevv | but personally, having my editor with the ever improving nimsuggest makes for a good toolkit for exploration |
17:26:06 | FromGitter | <alehander92> possible, maybe i am too used to my python/ruby past |
17:26:15 | Zevv | but sure, I'm not *opposed* to repls. I just don't feel I want to spend my time on them. Whatever works for someone, pick your poison! |
17:26:43 | FromGitter | <alehander92> but i still think both things are valid, and interacting with ecosystems/longrunning programs is very useful |
17:27:14 | FromGitter | <alehander92> and yeah something like lighttable is like .. maybe like a repl with an editor interfac |
17:28:47 | Zevv | I do see value for debugging purposes. In bigger lua projects I usually put in an interactive lua shell for that |
17:29:36 | Zevv | what I *would* use: an interactive shell which I can put into my program by simply importing which would allow me live inspection of state *without* interrupting program flow |
17:29:51 | Zevv | so like attaching nim-gdb to a running program |
17:30:50 | Zevv | I guess that is your point when you say "exploration" |
17:38:16 | FromDiscord | <Rika> how do i have a concept enforcing an async proc |
17:42:25 | Yardanico | hmm |
17:42:29 | Yardanico | let me try |
17:42:59 | FromDiscord | <Rika> never mind |
17:43:15 | FromDiscord | <Rika> it's just an addition of `is Future[void]` at the end |
17:43:25 | * | a_b_m joined #nim |
17:46:53 | * | abm quit (Ping timeout: 258 seconds) |
17:53:53 | disruptek | ~repl is don't ask zevv |
17:53:54 | disbot | repl: 11don't ask zevv |
17:56:30 | FromGitter | <alehander92> zevv yeah absolutely get this angle |
17:56:39 | FromGitter | <alehander92> were trying to do maybe something similar |
17:56:49 | * | Mister_Magister quit (Excess Flood) |
17:58:09 | * | Mister_Magister joined #nim |
17:59:29 | FromGitter | <sheerluck> @Zevv @disruptek i use SageMath as calculator: n(exp(pi*sqrt(163)), digits=35).str(no_sci=2) #--> '262537412640768743.99999999999925007601' |
18:12:46 | Zevv | alehander42: we just build a gdb stub in nim |
18:12:56 | Zevv | so you can attach to a running program :) |
18:13:12 | Zevv | did that before for atmels 15 years ago, works like a charm |
18:19:42 | * | ltriant joined #nim |
18:21:17 | * | nsf quit (Quit: WeeChat 2.7) |
18:25:02 | * | ltriant quit (Ping timeout: 265 seconds) |
18:47:38 | * | sekao joined #nim |
18:48:18 | * | nixfreak joined #nim |
18:55:15 | disruptek | then you end up with everything working in debug mode but nowhere else. |
18:55:16 | disruptek | i think it has to be more platform agnostic. more nim agnostic, basically. |
18:55:16 | disruptek | the surface should be almost identical to that of the user. |
18:55:16 | * | oculux quit (Ping timeout: 240 seconds) |
18:55:17 | * | gmpreussner quit (Read error: Connection reset by peer) |
18:55:17 | * | gmpreussner joined #nim |
18:55:17 | disruptek | i mean, the surface between the compiler and the repl/user. |
18:57:39 | * | oculux joined #nim |
18:57:46 | sekao | is there a common way to customize how a particular object is printed? i tried overriding `$` because i assumed it used that underneath |
18:58:54 | disruptek | echo foo calls `$` on foo with foo as the only argument. |
18:59:34 | disruptek | so, if you dispatch wins, you're golden. |
18:59:38 | disruptek | s/you/your/ |
18:59:43 | * | lritter quit (Ping timeout: 268 seconds) |
19:00:03 | * | Jjp137 quit (Ping timeout: 240 seconds) |
19:00:20 | * | Jjp137 joined #nim |
19:01:40 | sekao | i did something like `proc `$`(obj: MyType): string =` |
19:02:02 | disruptek | should work. |
19:02:17 | disruptek | maybe obj isn't MyType. |
19:02:27 | sekao | it was in a different module than where i called it though, that may be the problem |
19:02:40 | disruptek | maybe it's not exported. |
19:03:45 | sekao | yep adding the `*` did it, thanks |
19:05:04 | * | lritter joined #nim |
19:12:19 | disruptek | maybe we should have simply renamed normalizePathEnd and exported the new symbol with since(). |
19:12:29 | * | ptdel joined #nim |
19:15:23 | disruptek | maybe that's the standard mechanism by which we deprecate stuff. |
19:16:19 | disruptek | new stuff means new symbols. so it gets integrated in, then preserved indefinitely because symbols follow deprecation. |
19:20:23 | * | ryanhowe joined #nim |
19:21:40 | * | NimBot joined #nim |
19:21:45 | * | junland quit (Quit: %ZNC Disconnected%) |
19:21:45 | * | sacredfrog quit (Remote host closed the connection) |
19:21:45 | * | ljoonal quit (Remote host closed the connection) |
19:21:45 | * | letto quit (Remote host closed the connection) |
19:21:47 | * | xet7 quit (Ping timeout: 265 seconds) |
19:22:16 | * | vqrs quit (Ping timeout: 265 seconds) |
19:23:17 | * | xet7 joined #nim |
19:23:22 | * | vqrs joined #nim |
19:24:49 | * | Jjp137 quit (Ping timeout: 268 seconds) |
19:44:16 | * | Hideki_ joined #nim |
19:48:26 | * | Hideki_ quit (Ping timeout: 240 seconds) |
20:02:13 | * | a_b_m quit (Ping timeout: 260 seconds) |
20:03:00 | FromGitter | <zetashift> Any plans for Nim and GSoC this year? https://summerofcode.withgoogle.com/how-it-works/#timeline |
20:06:45 | disruptek | whoa, we need to do that. |
20:20:31 | * | ltriant joined #nim |
20:25:15 | * | ltriant quit (Ping timeout: 240 seconds) |
20:37:46 | * | sekao quit (Remote host closed the connection) |
20:52:12 | disruptek | what's the best way to get a code overview of how arc works? jump in anywhere? |
20:59:59 | disruptek | seems like maybe passCopyToSink is running on my loop vars and their destructor is out of scope but i'm, maybe, freeing the var after yielding it. so then it gets freed again when the loop terminates. does that make sense? |
21:10:00 | FromGitter | <Albus70007> is there a more advanced module of mathematics than math? that includes things like clamp, athan... |
21:10:03 | * | narimiran quit (Ping timeout: 258 seconds) |
21:11:32 | disruptek | type /msg disbot !help |
21:12:00 | FromGitter | <Albus70007> /msg disbot !help |
21:12:38 | FromGitter | <Albus70007> nothing happened :/ |
21:13:04 | disruptek | just type !help sad gitter user. |
21:13:12 | FromGitter | <Albus70007> !help |
21:13:34 | FromDiscord | <demotomohiro> There is clamp generic proc in system module |
21:14:44 | * | abm joined #nim |
21:25:41 | * | Jjp137 joined #nim |
21:47:48 | * | sschwarzer joined #nim |
21:48:49 | * | sschwarzer quit (Client Quit) |
21:51:37 | * | ltriant joined #nim |
21:53:46 | Araq | aks Clyybber when the maestro is away |
21:54:18 | Araq | or read the destructors articles and injectdestructors.nim and maybe liftdestructors.nim |
21:57:13 | * | ltriant quit (Ping timeout: 265 seconds) |
21:58:36 | disruptek | yeah. |
22:01:40 | * | blueberrypie quit (Quit: leaving) |
22:10:10 | disruptek | ~arc |
22:10:10 | disbot | arc: 11a new memory manager for Nim; see https://forum.nim-lang.org/t/5734 -- disruptek |
22:15:12 | * | blueberrypie joined #nim |
22:23:09 | disruptek | i also tripped over an arc bug with self-assignment. |
22:23:45 | disruptek | might just be that self assignment in iterators triggers the same bug. |
22:25:29 | * | arecaceae joined #nim |
22:55:59 | disruptek | lifting loop vars means that this crashes now, too: |
22:56:03 | disruptek | var x = Y() |
22:56:16 | disruptek | while true: yield Z(x: x) |
23:03:39 | * | beatmox quit (Remote host closed the connection) |
23:04:12 | * | beatmox joined #nim |
23:07:44 | * | solitudesf quit (Ping timeout: 258 seconds) |
23:09:22 | * | abm quit (Quit: Leaving) |
23:12:33 | * | ltriant joined #nim |
23:19:09 | * | ltriant quit (Ping timeout: 268 seconds) |
23:20:27 | * | xet7 quit (Remote host closed the connection) |
23:21:38 | * | xet7 joined #nim |
23:38:51 | * | lxbarbosa joined #nim |
23:41:38 | disruptek | s/operateOn/chain/ |
23:46:03 | * | Hideki_ joined #nim |
23:47:06 | disruptek | it's not really `chain` though. it's more specific; more like, mutate: |
23:50:31 | * | Hideki_ quit (Ping timeout: 265 seconds) |
23:58:54 | arecaceae | I can't pass iterators as variables to a proc right |
23:59:09 | arecaceae | there's no iterator type so to speak |
23:59:16 | disruptek | you can, but they aren't like generators in python. |