<< 11-01-2020 >>

00:01:09shashlickdom96: I changed windows init.sh to amd64
00:03:39dom96hm, maybe I'll try out your version. Although yglukhov's has been okay for now
00:04:14FromDiscord<treeform> yeah yglukhov is very cool. His code is great. Does he hang out here?
00:05:21*filcuc joined #nim
00:05:38disruptekhe 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:01disruptekahhh, it's -d:traceArc.
00:09:05disruptekthis 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:49disruptekclyybber: 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:14FromGitter<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:18FromDiscord<Rika> `htmlgen`?
02:26:52FromDiscord<Rika> https://nim-lang.org/docs/htmlgen.html
02:28:07FromDiscord<Rika> @russmack ^
02:28:43*ltriant quit (Ping timeout: 265 seconds)
02:34:10*chenhq2005 joined #nim
02:36:04FromGitter<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:00FromDiscord<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:58FromGitter<russmack> Yeah, I can't find any reference to it. Thanks.
02:46:29FromGitter<xflywind> https://github.com/juancarlospaco/nim-html-dsl
02:52:59FromGitter<russmack> Thanks, I tried that, it's not the same, it uses plurals for everything, and needs nimble install.
02:54:06FromGitter<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:55FromGitter<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:29FromGitter<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:15FromDiscord<Rika> afaik theres a way to iterate through them but i dont know ;;
03:56:43*muffindrake joined #nim
04:00:32FromGitter<dawkot> @russ I just published my private html rendering macro in case it's useful https://github.com/dawkot/htmlrender
04:21:54FromGitter<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:17FromDiscord<treeform> dawkot, I have also done CSS the same way, like your HTML system.
05:45:06FromDiscord<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:53FromDiscord<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:11FromGitter<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:12FromDiscord<mratsim> I knew about Taichi, it's very interesting
08:50:58*nsf quit (Quit: WeeChat 2.7)
09:02:44FromGitter<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:16ZevvAraq: 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:12FromGitter<Albus70007> Can I highlight "self" in vscode in Nim??
11:24:17Zevvanyway, 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:44enthus1asthas someone wrapped / written an smtp library? (and would like to share it :) )
11:35:34enthus1astSNMP i mean...
11:44:40AraqZevv: it's acceptable but this "hook" mechanism is what I've been thinking about
11:48:41Zevvthe overhead should be minimal, it is an exceptional case when this happens
11:49:03ZevvI can also just disable the unhandled expection reporting altogheter for os:any, but that wouldnt be right
11:49:12Araqof course but it's a general problem
11:49:19Zevvbut ok, I have it ready in a branch, will push it when/if os:any gets merged
11:49:37Araqwith a general solution that is better than runtime hooks
11:50:13Araqwe have the mechanism in the form of .compilerproc, all we need to do is improve the error message for non-inline compilerprocs
11:50:25Araqthey already have a nice alias, .core
11:50:39Araqso that's my idea: you compile the program with --os:any
11:51:25Araqthe compiler uses e.g. proc reportUnhandledException() {.core.}
11:51:54Araqwhich does not exist in system.nim!
11:52:01Zevvsurprise!
11:52:19Araqinstead it must be provided by an import
11:52:28Araqimport exceptions # for example
11:52:42Araqor 'import tinystubs'
11:52:58Zevvthat makes sense, but it is a burden on the default case. Couldn't we use something like weak aliases?
11:52:59Araqthese have the implementation for reportUnhandledException
11:53:25Araqweak aliases? tell me more
11:53:52Araqis that linking technology that everybody has by now for embedded development?
11:54:30ZevvI'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:51ZevvBut you can redefine the same symbol elsewhere, non-weak, the normal way, which will get preference over the original
11:55:06Zevvnot sure how this works outside of gcc land
11:56:47Araqbut then the default proc might not be optimized away
11:57:10Zevvit will, the linker will drop it
11:58:02Zevvlook, even wikipedia knows about it. Can't be wrong then, can it! https://en.wikipedia.org/wiki/Weak_symbol
11:58:35ZevvMSVC++ has __declspec(selectany), that might fit in
11:59:21Zevvbut maybe this should/could be fixed at the nim level instead, instead of relying on the language backend
12:00:15Zevv{.weak.}
12:01:55Zevvthe 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:11Araqlooks like .weak is the better .core
12:06:46Zevvbut then it should be handled by Nim instead, I guess
12:06:52Zevvand not by the linker
12:10:15*Hideki_ quit (Ping timeout: 268 seconds)
12:11:33Araqyeah, we can do that, except for .inline procs
12:11:55Araqbut link time inlining is quite common so it doesn't matter as much
12:12:05Zevvsure
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:08Zevvyeah, 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:18disruptek3k nice, zevv.
15:09:30*noonien joined #nim
15:12:44*ng0_ joined #nim
15:14:58ZevvIm going down to 0
15:15:07ZevvI want zero overhead
15:15:26Zevvthe war on bloat
15:15:48*ng0 quit (Ping timeout: 260 seconds)
15:16:23disruptekhow big is hello world.
15:16:28disruptekthat's the real question.
15:16:46Zevvlemmecheck
15:18:25Zevv4027 bytes .text, 640 .data 328 .bss
15:18:36Zevvempty is now 2702b, with --opt:size
15:18:39Zevvbut htat's cheating
15:19:01disruptekhah is it?
15:29:21*Hideki_ joined #nim
15:31:39*Trustable quit (Remote host closed the connection)
15:46:59Zevvsure one should not need opt:size
15:47:08Zevvbut coming from 67kb with the defaults
15:47:12Zevvits usable almost
15:47:19*Hideki_ quit (Ping timeout: 268 seconds)
15:51:03disrupteki'd say that anything under 8k is pretty tolerable, but what do i know.
16:03:21*natrys joined #nim
16:10:37Zevvwhy not under 7? or under 9?
16:11:00disruptekyou're right; those both sound better.
16:11:00Zevvand of course it is, but having virtually zero overhead makes for a good story, right
16:11:17Zevv"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:42disruptekmaybe it's time to write the repl.
16:26:52disruptekmaybe that's more important than unit tests.
16:27:49disrupteki think we're gonna give it some primitives so it's more of a shell.
16:28:16disruptekit's an environment.
16:28:41disruptekare you with me, zevv?
16:28:50disruptekthis is that debate you wanted.
16:29:16disruptekc'mon, it's only like, what, 4p there?
16:30:48disruptekit'll be a series of tubes. pipes in shell parlance.
16:38:59*ng0_ is now known as ng0
16:45:28disruptekwhat's the right way to do this? i think maybe you're in the vm.
16:46:37disruptekthen you can compile/diff asts and move them through a pipe to code.
16:46:51disrupteks/code/binary/
16:47:28ZevvI neve used repls in my life
16:47:32ZevvI don't think I'm missing out
16:47:37Zevvtalking to the wrong guy
16:47:52disruptekdid you ever lisp?
16:48:06ZevvI got 60% into the sussman course
16:48:09Zevvbut not repling
16:48:13Zevvjust write - run
16:48:20Zevvyes, I did basic as a toddler
16:48:34Zevvi made a forth
16:48:38disruptekdid you? that's pretty cool.
16:48:39Zevvbut I don't see the value of a repl
16:48:57disrupteki think i was like 6 went i got into basic.
16:49:12Zevvsame here
16:49:22disrupteksaving programs via the tape recorder.
16:49:24ZevvApple II
16:49:47Zevvwe should sit in a balcony and complain about the others all day
16:50:20disruptektrs80
16:50:25Zevvgramps
16:50:36disruptekmy dad was always buying new toys from radio shack.
16:50:39Zevvanyway, I think repls are remniscents of the early days
16:50:50Zevvmy roundtrip time from save - run is about 500 msec
16:50:55Zevvwhy should I want to repl
16:51:42disrupteki think it's a loop we want. i think it's a religion for some.
16:54:09disrupteki mean, there's no question that it's the future, right?
16:56:38disruptekdo a lot of people choose a language for the wrong reasons?
16:58:31disruptekjust jump in here any time.
17:03:56disruptekwhat 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:01FromGitter<alehander92> what is this repl thing
17:05:11disruptekthat's the question.
17:05:17FromGitter<alehander92> i like repl-s
17:05:22FromGitter<alehander92> zevv you're so old fashioned
17:05:39disruptekzevv is, like, old.
17:05:43FromGitter<alehander92> its not about the roundtrip its about the exploration
17:06:13FromGitter<alehander92> ~zevv
17:06:14disbotzevv: 11lazy and so is he.
17:06:28FromGitter<alehander92> he was german here
17:06:31FromGitter<alehander92> what happened
17:06:44disruptekit's complicated.
17:08:34FromGitter<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:41FromGitter<alehander92> and you're ready
17:09:09FromGitter<alehander92> ~alehander92 is a simple man
17:09:09disbotalehander92: 11a simple man
17:09:11disruptekhmm, that makes sense, doesn't it.
17:09:55fysWhat is FromGitter connected to? Discord?
17:10:02FromGitter<alehander92> yeah, of course, you have to deal with all the little fix-es for nimrtl or for the other thing
17:10:13FromGitter<alehander92> irc, discord and matrix i think
17:10:21fysWhat is "matrix"?
17:10:31disruptekthe matrix is all around you.
17:10:34fyshar har.
17:10:45fysI can't keep up with all these chat systems.
17:10:47fys:/
17:10:52FromGitter<alehander92> no keanu!!
17:10:54disruptekit's in the air you breathe.
17:11:17FromGitter<alehander92> yeah there are too many
17:11:21FromGitter<alehander92> can you imagine in the past
17:11:52disrupteki don't have to.
17:11:53FromGitter<alehander92> us rebels writing to the king in discord but he only in royalmail.co.uk
17:12:00FromGitter<alehander92> good thing they had ships
17:12:04FromGitter<alehander92> they shipped letters
17:12:09FromGitter<alehander92> better than we ship software
17:12:24disruptektrue that.
17:12:45fys"no keanu" - False, Keanu is signed onto Matrix 4.
17:12:46fysfwiw
17:13:25FromGitter<alehander92> probably mozilla got him there
17:13:41FromGitter<alehander92> the firefox vs chrome competition got to hollywood movies
17:13:46disruptekyeah, those mozilla chaps are pretty serious.
17:14:15FromGitter<alehander92> they're like the nasa of usa
17:14:50disruptekyeah?
17:15:22Zevvso, you found your replfriend, good for you!
17:15:25Zevvrepl away boys!
17:15:30disruptekgrrr.
17:15:57disruptekzevv doesn't want repl lovers to love nim.
17:16:06*natrys quit (Quit: natrys)
17:16:08FromGitter<alehander92> zevv you probably use ipython notebooks for your grocery list
17:16:22ZevvI admit I use python. The repl.
17:16:36disrupteki use python as a calculator.
17:16:40ZevvIt's my default calculator if I want to calculate 13*621 or to check how many bits I need to represent 1563472817
17:16:46Zevvfrom math import *
17:16:49disruptekyep.
17:16:53Zevvlog(1563472817) / log(2)
17:17:00Zevvthat's how far I get with python
17:17:09Yardanico!repo nim-mathexpr
17:17:09disbothttps://github.com/Yardanico/nim-mathexpr -- 9nim-mathexpr: 11Tiny math expression evaluator library implemented in pure Nim 15 25⭐ 0🍴
17:17:11Yardanicouse this instead xD
17:17:36Yardanicoalbeit it's probably slower than python because it's a simple recursive descending parser/evaluator
17:17:50Yardanicoi based it on some Java code I found on stackoverflow
17:17:59ZevvI 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:10ZevvI read it back and I do not understand how I made it, but I use it a lot.
17:18:20Zevvpreprocessing stuff before putting it into gnuplot etc
17:18:27Zevvso $1 is the first number on a line, etc
17:19:07lqdev[m]I just use GNU calc
17:19:16lqdev[m]it's fast and precise.
17:19:20Zevvso, what do we need a repl for then?
17:19:43FromGitter<alehander92> to explore
17:19:51lqdev[m]probably data visualization
17:19:58lqdev[m]and exploration
17:20:00Zevvbunch of doras
17:20:11FromGitter<alehander92> zevv think about it
17:20:24FromGitter<alehander92> people mostly use linux os-es with an os repl
17:20:29FromGitter<alehander92> called bash/fish/etc
17:20:57Zevvpeople mostly cut with a tool called a knife
17:20:57FromGitter<alehander92> even our chat is
17:21:00FromGitter<alehander92> like a human repl
17:21:12Zevvbut I don't want to use a knife to mix concrete
17:21:15FromGitter<alehander92> and chats are much better than feeds
17:21:30FromGitter<alehander92> yes, so its good to have both
17:21:40*lxbarbosa joined #nim
17:21:47FromGitter<alehander92> you use a repl to mix concrete exactly
17:21:52FromGitter<alehander92> thats my point!
17:22:01Zevvtrue. 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:13FromGitter<alehander92> but currently we do the repl thing
17:22:17FromGitter<alehander92> in our irc/gitter
17:22:25Zevvthe problem I have with *programming* in repls is state
17:22:28FromGitter<alehander92> we could just write big emails to each other
17:22:30ZevvI punched in a lot of stuff before
17:22:36Zevvand that is no longer there for me to see
17:22:52FromGitter<alehander92> good repl-s should be able to interact with more longliving state
17:22:53Zevvthere 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:05FromGitter<alehander92> especially with stuff like web apps and db-s
17:23:06FromGitter<alehander92> etc
17:23:15Zevvso 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:23Zevvnow if I type something, it depends on this state, that I can not see nor remember
17:23:52FromGitter<alehander92> well, this is a valid point, it should be solvable by some kind of revisions etc
17:24:02FromGitter<alehander92> not too hard, nowadays even filesystems have revisions
17:24:16Zevvand how should nim do this? In most ducktyping languages I can redefine a function. In forth I cna redifine a word
17:24:19FromGitter<alehander92> but many usecases dont depend on that kind of state
17:24:27Zevvbut in Nim, I can no longer type 'let a = 5' once I defined a
17:24:29FromGitter<alehander92> hot code reloading
17:24:37Zevvso I need to reset the state of the repl to do that
17:24:39FromGitter<alehander92> and again i dont think the point is to "program" with that
17:25:08Zevvfair enough
17:25:23FromGitter<alehander92> i am not saying its very easy technically, but thats a completely different thing
17:25:32FromGitter<alehander92> useful things are often hard
17:25:47Zevvbut personally, having my editor with the ever improving nimsuggest makes for a good toolkit for exploration
17:26:06FromGitter<alehander92> possible, maybe i am too used to my python/ruby past
17:26:15Zevvbut 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:43FromGitter<alehander92> but i still think both things are valid, and interacting with ecosystems/longrunning programs is very useful
17:27:14FromGitter<alehander92> and yeah something like lighttable is like .. maybe like a repl with an editor interfac
17:28:47ZevvI do see value for debugging purposes. In bigger lua projects I usually put in an interactive lua shell for that
17:29:36Zevvwhat 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:51Zevvso like attaching nim-gdb to a running program
17:30:50ZevvI guess that is your point when you say "exploration"
17:38:16FromDiscord<Rika> how do i have a concept enforcing an async proc
17:42:25Yardanicohmm
17:42:29Yardanicolet me try
17:42:59FromDiscord<Rika> never mind
17:43:15FromDiscord<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:53disruptek~repl is don't ask zevv
17:53:54disbotrepl: 11don't ask zevv
17:56:30FromGitter<alehander92> zevv yeah absolutely get this angle
17:56:39FromGitter<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:29FromGitter<sheerluck> @Zevv @disruptek i use SageMath as calculator: n(exp(pi*sqrt(163)), digits=35).str(no_sci=2) #--> '262537412640768743.99999999999925007601'
18:12:46Zevvalehander42: we just build a gdb stub in nim
18:12:56Zevvso you can attach to a running program :)
18:13:12Zevvdid 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:15disruptekthen you end up with everything working in debug mode but nowhere else.
18:55:16disrupteki think it has to be more platform agnostic. more nim agnostic, basically.
18:55:16disruptekthe 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:17disrupteki mean, the surface between the compiler and the repl/user.
18:57:39*oculux joined #nim
18:57:46sekaois there a common way to customize how a particular object is printed? i tried overriding `$` because i assumed it used that underneath
18:58:54disruptekecho foo calls `$` on foo with foo as the only argument.
18:59:34disruptekso, if you dispatch wins, you're golden.
18:59:38disrupteks/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:40sekaoi did something like `proc `$`(obj: MyType): string =`
19:02:02disruptekshould work.
19:02:17disruptekmaybe obj isn't MyType.
19:02:27sekaoit was in a different module than where i called it though, that may be the problem
19:02:40disruptekmaybe it's not exported.
19:03:45sekaoyep adding the `*` did it, thanks
19:05:04*lritter joined #nim
19:12:19disruptekmaybe we should have simply renamed normalizePathEnd and exported the new symbol with since().
19:12:29*ptdel joined #nim
19:15:23disruptekmaybe that's the standard mechanism by which we deprecate stuff.
19:16:19disrupteknew 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:00FromGitter<zetashift> Any plans for Nim and GSoC this year? https://summerofcode.withgoogle.com/how-it-works/#timeline
20:06:45disruptekwhoa, 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:12disruptekwhat's the best way to get a code overview of how arc works? jump in anywhere?
20:59:59disruptekseems 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:00FromGitter<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:32disruptektype /msg disbot !help
21:12:00FromGitter<Albus70007> /msg disbot !help
21:12:38FromGitter<Albus70007> nothing happened :/
21:13:04disruptekjust type !help sad gitter user.
21:13:12FromGitter<Albus70007> !help
21:13:34FromDiscord<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:46Araqaks Clyybber when the maestro is away
21:54:18Araqor read the destructors articles and injectdestructors.nim and maybe liftdestructors.nim
21:57:13*ltriant quit (Ping timeout: 265 seconds)
21:58:36disruptekyeah.
22:01:40*blueberrypie quit (Quit: leaving)
22:10:10disruptek~arc
22:10:10disbotarc: 11a new memory manager for Nim; see https://forum.nim-lang.org/t/5734 -- disruptek
22:15:12*blueberrypie joined #nim
22:23:09disrupteki also tripped over an arc bug with self-assignment.
22:23:45disruptekmight just be that self assignment in iterators triggers the same bug.
22:25:29*arecaceae joined #nim
22:55:59disrupteklifting loop vars means that this crashes now, too:
22:56:03disruptekvar x = Y()
22:56:16disruptekwhile 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:38disrupteks/operateOn/chain/
23:46:03*Hideki_ joined #nim
23:47:06disruptekit's not really `chain` though. it's more specific; more like, mutate:
23:50:31*Hideki_ quit (Ping timeout: 265 seconds)
23:58:54arecaceaeI can't pass iterators as variables to a proc right
23:59:09arecaceaethere's no iterator type so to speak
23:59:16disruptekyou can, but they aren't like generators in python.