00:00:13 | noonien | and remove --noMain and --noLinking |
00:00:20 | ryukoposting | oooh okay yeah |
00:00:52 | ryukoposting | I don't know exact details about that, I almost never cross compile for anything but bare metal, but it'll be similar yeah |
00:00:55 | noonien | also, $CC points to the right cc, which is `gcc`(yes, gcc is actually arm-linux-gnueabihf-gcc, i'm on nixos) |
00:01:03 | noonien | awesome, thanks! |
00:01:19 | ryukoposting | deech: https://dailyprog.org/f/uybv this compiles for me |
00:04:50 | ryukoposting | np noonien, lmk if you need a hand. What's the project? |
00:05:13 | noonien | will do. just wanted to test nim on an arm board i'm working with |
00:05:29 | noonien | something not too disimillar from a rPI |
00:05:48 | ryukoposting | what board? I do a lot of embedded stuff, mostly ARM |
00:08:43 | noonien | a beaglebone black |
00:09:17 | FromGitter | <deech> @ryukoposting: Try it with a variant, this doesn't compile for me: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cae85ad93fb4a7dc20b228d] |
00:11:51 | * | Jesin quit (Quit: Leaving) |
00:13:37 | ryukoposting | I think it's because of the object variant, but I don't know why having a const of an object variant type would be invalid. |
00:13:54 | ryukoposting | noonien nice, whatcha doing with it? |
00:14:27 | noonien | just playing atm, evaluating different development environments |
00:14:50 | noonien | i quite like go, especially its stdlib, but i need something that i can control a bit better |
00:15:13 | noonien | nim also uses a gc in its stdlib, right? |
00:15:35 | ryukoposting | it does, it's a bit of a different gc than you might be used to |
00:15:57 | noonien | imeplemntation wise, or usage wise? |
00:16:05 | ryukoposting | implementation wise |
00:16:32 | ryukoposting | imagine a bunch of tiny, super fast GCs and they each are in charge of one thread of your program |
00:17:23 | noonien | what kind of gc is it? |
00:17:47 | noonien | also, is it built into the language? can it be avoided if needed? i'm not planning to, just curious |
00:18:24 | ryukoposting | the default one is a thread-local reference counting mark-and-sweep gc, but there's a couple you can choose from if the normal one doesn't fit your specific application |
00:18:37 | ryukoposting | it's not built into the language, you can use nim without a garbage collector |
00:19:13 | * | Jesin joined #nim |
00:20:26 | ryukoposting | if you're into soft real-time stuff like a/v streaming, decoding, encoding, games, etc. then the realtime gc might be of interest to you |
00:20:42 | ryukoposting | I've never used it but from a technical standpoint it's pretty nifty |
00:22:06 | noonien | pretty interesting, i prefer not to mess with memory unless i have to |
00:22:25 | noonien | parts of my toolchain are compiling atm, can't wait to build the binary and see if it runs |
00:24:18 | ryukoposting | yeah, virtually everything I do with embedded is asm and C, but Nim is my go-to for pretty much everything else now |
00:24:31 | noonien | why not nim for embedded? |
00:24:38 | * | stefanos82 quit (Remote host closed the connection) |
00:24:57 | ryukoposting | I'm shifting towards it, I plan on making CMSIS bindings for nim |
00:25:02 | ryukoposting | that will make my life waaay easier |
00:25:04 | noonien | ah, yeah |
00:25:23 | noonien | i wanted to use nim on a cortex m4 a while ago |
00:25:30 | noonien | i remember CMSIS being the painpoint |
00:26:09 | ryukoposting | the biggest problems for any language in embedded are platform support, ease of implementing the runtime, and manufacturer support |
00:26:32 | ryukoposting | any lang without manufacturer libraries is gonna be a hard sell in the industry |
00:26:53 | ryukoposting | and right now, the only language that has that is C |
00:27:43 | noonien | i like go's way of doing it, you can just pop a .c, cc, etc file in the package, and it gets compiled along with the other go code |
00:27:55 | noonien | AFAIR nim had something similar |
00:28:20 | ryukoposting | well, with nim it's pretty straightforward since it uses C as an IR |
00:28:39 | noonien | so you can have platform specific code in simple C |
00:28:57 | noonien | yeah, but i remember nim making you jumps through some hoops to get the correct c out |
00:29:00 | ryukoposting | potentially, yeah |
00:29:22 | ryukoposting | nah not really, C bindings are pretty easy |
00:30:03 | * | rnrwashere quit (Remote host closed the connection) |
00:30:19 | ryukoposting | what I like to do is compile the C code into static libraries that get linked in with the nim code |
00:31:41 | noonien | hmm, that sounds simple for coding, but building sounds like hell |
00:32:01 | ryukoposting | I'm an embedded software developer |
00:32:05 | ryukoposting | all my builds are hell |
00:32:11 | noonien | haha |
00:32:23 | * | gmpreussner quit (Quit: kthxbye) |
00:32:25 | ryukoposting | relatively speaking, the nim stuff I've played with is actually pretty straightforward |
00:32:38 | ryukoposting | dude, I've seen some things that no human should ever have to see |
00:32:40 | * | gmpreussner joined #nim |
00:32:51 | noonien | they don't have to be, nix is pretty great, maybe even bazel |
00:32:59 | noonien | i've heard good praise of meson as well |
00:33:01 | ryukoposting | I've dealt with embedded OSes that are more preprocessor than they are actual code |
00:33:19 | ryukoposting | I've been thinking about trying out nix or guix, but devuan is comfy |
00:33:24 | noonien | oh man, i hate preprocessors with passion |
00:33:32 | * | rnrwashere joined #nim |
00:33:44 | noonien | #include especially |
00:33:49 | ryukoposting | don't get me wrong, the C preprocessor is a very powerful and useful tool, and used wisely it can be immensely helpful |
00:34:22 | ryukoposting | but when you literally have more lines of macro functions and calls to them than normal C code, there's a problem |
00:34:33 | noonien | too bad everyone has a different idea of what "wisely" means |
00:34:45 | ryukoposting | you wanna see some slick macro abuse |
00:35:00 | ryukoposting | http://dunkels.com/adam/pt/ check this out |
00:35:06 | noonien | i'm looking forward to getting armv7 linux support as well in zig, it also looks interesting |
00:35:24 | ryukoposting | eh, I'm kind of skeptical of zig |
00:35:57 | noonien | haha, i've seen some go-inspired C goroutine macros |
00:36:05 | noonien | i've note dared look at the source code |
00:36:08 | * | rnrwashere quit (Remote host closed the connection) |
00:36:21 | ryukoposting | protothread is powered by gotos covered by macros |
00:36:34 | ryukoposting | the result is that, between yields, the stack frame is not preserved |
00:36:43 | * | c3v0axz quit (Ping timeout: 246 seconds) |
00:36:58 | ryukoposting | however, it requires zero assembly code to implement multitasking using protothread, which is an extremely helpful property |
00:37:19 | * | rnrwashere joined #nim |
00:38:16 | noonien | hmm, that actually sounds pretty useful |
00:38:28 | ryukoposting | there's entire embedded operating systems based on it |
00:39:13 | ryukoposting | wait, why couldn't zig target armv7? I thought zig used LLVM |
00:40:11 | noonien | it does, freestanding works, just not on linux, probably just missing the main entrypoint |
00:40:26 | ryukoposting | ooooh yeah, makes sense |
00:46:00 | * | rnrwashere quit (Remote host closed the connection) |
00:59:51 | * | rnrwashere joined #nim |
01:23:58 | ryukoposting | peep this backoff algo https://gitlab.com/dailyprog/awsome/snippets/1846291 |
01:28:44 | * | rnrwashere quit (Remote host closed the connection) |
01:47:12 | disruptek | ryukoposting: isn't the aws api "leaky bucket"? |
01:48:11 | disruptek | i wrote the python api for MWS, which is, but i don't remember if the AWS stuff is. i remember that isn't not formally implemented in boto in any event (though my MWS stuff is, of course ;-P). |
01:48:17 | ryukoposting | the spec says that all of the SDKs use exponential |
01:48:56 | disruptek | do you have a link for the models? |
01:49:24 | ryukoposting | if you go to any of the github repos for the official SDKs, the spec is in a folder called "models" |
01:49:46 | disruptek | neat, that stuff used to be very carefully guarded. |
01:50:05 | ryukoposting | yeah, they put it all out there |
01:52:27 | disruptek | i need to try awsome against the route53 stuff; i gotta update contact records on a bunch of domains. :-( |
01:52:55 | ryukoposting | yeah, awsome's still a big WIP but the codegen is in a good spot |
01:53:20 | ryukoposting | signing code and credentials management are still in the works |
01:53:34 | disruptek | i'm happy with what i saw. good job. :-) |
01:53:41 | ryukoposting | ty |
01:54:09 | ryukoposting | yeah the json branch is where pretty much everything is right now lmao |
01:57:00 | disruptek | hmm, i was able to get it to complete tests earlier, but now i'm getting strformat errors. |
01:57:34 | ryukoposting | wat |
01:58:16 | ryukoposting | master hasn't been updated in a hot minute, if you're using that, the code is completely different than what it is now |
02:00:30 | disruptek | somehow i'm ahead of the json branch.. 😳 |
02:00:39 | * | theelous3__ joined #nim |
02:00:55 | ryukoposting | ooooh boy |
02:01:08 | ryukoposting | when you run the tests, you regenerated the SDK |
02:05:32 | disruptek | up to date and still not working. might be an issue with nim (i'm on head). |
02:06:30 | ryukoposting | pastebin error? |
02:06:44 | disruptek | https://gist.github.com/disruptek/4779b64ed32324a5a16142aa4a37fdb5 |
02:07:00 | * | banc quit (Quit: Bye) |
02:08:12 | ryukoposting | hmmm |
02:08:15 | ryukoposting | lemme take a look |
02:09:55 | disruptek | someone was just talking about strformat and templates. maybe this is that. 😕 |
02:10:28 | ryukoposting | what version of the compiler are you on? |
02:11:10 | disruptek | head |
02:11:24 | ryukoposting | no, the compiler |
02:11:43 | ryukoposting | or are you actually on the latest development version of the nim compiler |
02:11:45 | * | I_Right_I joined #nim |
02:11:46 | disruptek | nim's devel branch, the head of same. :-P |
02:12:08 | ryukoposting | oh man, uh yeah that doesn't happen in 0.19.4 |
02:12:32 | disruptek | again, this is semver for ya. a minor revision that breaks. |
02:13:06 | ryukoposting | a nightly release isn't stable, ya dummy |
02:14:10 | disruptek | i mean, sure, so here i am, about to bisect nim to find a working git hash. you see where i'm going with this... 😄 |
02:15:05 | disruptek | anyway, don't worry about it. i'll figure it out. it was working earlier today. |
02:15:34 | ryukoposting | I really can't take anyone seriously who thinks "go find the right git hash bro xd" isn't the most braindead stupid thing on the planet |
02:16:34 | * | theelous3__ quit (Read error: Connection reset by peer) |
02:16:36 | disruptek | it's less stupid than depending on someone else's idea of stability. 😂 |
02:16:53 | ryukoposting | and that's why the stable compiler release is stable, right |
02:17:16 | ryukoposting | sure, lmk when you're banging git hashes into choosenim |
02:18:07 | disruptek | i'm not gonna do that; i'm just trying to make a point about semver. |
02:18:36 | ryukoposting | that it works when people actually do it? Instead of half-ass it then go piss and moan on IRC? |
02:19:44 | ryukoposting | god, it really makes me wonder why the compiler follows semantic versioning pretty tightly |
02:19:45 | disruptek | but, it doesn't always work. and if it doesn't always work, it may as well never work, as far as i'm concerned. if you care that much about your users, i'm surprised you wouldn't agree with me. |
02:20:17 | ryukoposting | maybe it's because proper project management facilitates a strong strong versioning standard |
02:20:20 | ryukoposting | hmmmm |
02:20:25 | ryukoposting | really make grug wonder |
02:20:40 | disruptek | nim is not following semver, for one thing. |
02:20:57 | disruptek | secondly, we started this discussion talking about your dependencies, not the compiler. |
02:21:13 | disruptek | https://semver.org/ |
02:23:46 | ryukoposting | my point is that, again, any project that takes itself seriously is going to follow some kind of structured release system, be it semver or something else. If you're a library writer and you don't take your crap seriously enough to version it, then I don't want it within a mile of my codebase |
02:24:25 | ryukoposting | a git tag is literally no more complex than a commit, but it makes a world of difference when tracking down package versions |
02:24:29 | disruptek | great, that should make your selection of dependencies much easier. so what's the problem? if you want a version tag from software you'd like to use in your project, just ask the publisher. |
02:25:00 | disruptek | otherwise, you clearly don't want to depend upon that software. done. |
02:25:16 | ryukoposting | especially when the package manager uses git hashes as version fetching mechanism, tagging your code is extremely helpful. |
02:25:42 | disruptek | look, i don't disagree with your premise. |
02:26:22 | disruptek | i just think it's silly to say i don't live in the real world, when in the world i live in, people break semver intentionally or unintentionally all the time. |
02:26:30 | ryukoposting | that's half the problem, most of the libraries have pitiful documentation, so I'm stuch with chatever I can get |
02:26:43 | ryukoposting | getting a tag is like poking a dormant project with a stick, praying it isn't dead |
02:26:55 | disruptek | hey man, this is early days (and it's not that early). but it's nim. it's worth it. |
02:27:37 | ryukoposting | it's worth it enough that I'm going to finish awsome, then not document or version any of it ecks dee |
02:28:07 | disruptek | that'll learn 'em! 😛 |
02:28:14 | * | banc joined #nim |
02:28:53 | ryukoposting | it's just a terrifically bad way to get a package ecosystem off the ground imo |
02:29:03 | ryukoposting | but whatever dude |
02:29:54 | disruptek | it solves a practical problem that you yourself have. |
02:30:15 | ryukoposting | which is?????? |
02:30:38 | ryukoposting | the total lack of usable packages is helping me? |
02:30:56 | disruptek | inability to specify immutable and working package versions. |
02:31:30 | ryukoposting | yes, that is my problem |
02:31:38 | ryukoposting | and the solution is to have some proper versioning |
02:31:57 | disruptek | well, let me put it to you like this... don't hold your breath. :-( |
02:32:17 | ryukoposting | it's an easily solvable problem |
02:32:31 | ryukoposting | there are some decent packages, let them shine by unburying them |
02:32:57 | disruptek | maybe you should just create your own package ecosystem. you can fork packages and version them. |
02:33:12 | ryukoposting | lel |
02:33:15 | shashlick | @ryukoposting - so what is your proposal here? |
02:33:37 | shashlick | even a perfectly tagged package that worked when tagged can be broken if unmaintained as nim evolves |
02:33:49 | ryukoposting | I'm not saying semantic versioning should be a requirement, but here's my dream nimble: |
02:34:17 | ryukoposting | 1. require that the docs get posted, github pages and gitlab pages are braindead simple to use and there are tutorials everywhere |
02:35:01 | shashlick | it almost sounds like you want a curated list of packages that are hand maintained by some authority who has write access to every package in question so that they can be fixed if broken |
02:35:03 | ryukoposting | 2. require at least one tag, on the package's addition to packages.json, that has been looked at by someone to be sure it passes tests and there isn't some glaring problem |
02:35:30 | ryukoposting | I want code reviews, a github issue thread is an easy peanut gallery for that kind of thing |
02:35:54 | ryukoposting | and since nimble uses those for its package additions, there's a lot of potential there |
02:36:03 | disruptek | my question to you is, why can this not be automated? |
02:36:06 | ryukoposting | a community-driven code review process |
02:36:15 | ryukoposting | if you want to automate it, sure |
02:36:18 | ryukoposting | all the better |
02:37:14 | disruptek | there's nothing that says we can't run homu, add a dox publish flow, and maybe a test coverage element. |
02:37:56 | shashlick | ok so say all that is in place, if you only have 38 packages in total that fit that quality requirement, are you good with that? and what do you want to do with all the other packages in the repo today? throw them out? |
02:38:06 | shashlick | what happens when packages break, do we throw them out? |
02:38:33 | disruptek | it could even be done automatically under a special github user. you could add any packages you want -- or at least submit them for automatic consideration. you could even support multiple branches and forks from different users. |
02:38:36 | ryukoposting | they get frozen, pm ignores new commits to that repo until it's fixed |
02:38:56 | shashlick | perfectly functioning pacakges break all the time as nim evolves |
02:39:02 | disruptek | any package in the repo works for some combination of dependencies (already in the repo) and a nim compiler. |
02:39:21 | disruptek | so, nothing ever gets thrown out. it just becomes stale for more recent combinations of deps/compiler. |
02:39:40 | ryukoposting | shashlick that's something I really hope there will be less of as nim approaches 1.0, but there's not much I can do on that front |
02:40:16 | shashlick | well, that's the thing, everyone is comfortable with using devel all the time, which means no one is really using nim in production |
02:40:23 | disruptek | the nice thing about this system is that it achieves both our goals -- you get semver (fwiw) and i get automatic validation of commit hashes. |
02:40:56 | shashlick | and package writers have to provide n, n-1, n-2 support and few are motivated enough to do it |
02:41:03 | ryukoposting | shashlick so what you're saying is that nim is unstable because people don't use it in production? |
02:41:13 | disruptek | plus, it centralizes testing, docs, and tagging, so that if you're the developer, you don't need to do any of that if you don't want to. |
02:41:41 | ryukoposting | I rather thought it was the other way around, honestly |
02:42:22 | shashlick | no you want stability in production, which means you aren't enamoured by every cool new compiler feature that you git pull every day |
02:42:49 | shashlick | the fact that few packages work even on stable shows you what the community is doing in general |
02:43:00 | ryukoposting | not maintaining their packages? |
02:43:11 | ryukoposting | half this crap hasn't been touched in years |
02:43:11 | shashlick | they are maintaining for devel, if at all |
02:43:16 | shashlick | which is a moving target |
02:43:32 | shashlick | or falling off because it is impossible to keep up |
02:44:32 | shashlick | at least now we have a maintained stable so you are seeing 0.19.4 while devel moves on |
02:45:16 | disruptek | better tooling and a better effort to write tests would allow people to disengage from individual compiler branches. if their code passes the tests, great. if not, well, there's a version that used to work and others can contribute updates. |
02:45:38 | ryukoposting | don't develop libraries for a development version of a compiler, that's just foolish |
02:45:43 | FromGitter | <arnetheduck> relevant starting point: https://github.com/nim-lang/nimble/issues/127 |
02:46:01 | ryukoposting | it's a moving target for niche use cases by definition, there's no point in writing libraries for that |
02:46:44 | shashlick | but most of the community does that since its mostly hobby projects and just a nuisance to keep up, no real world consequences |
02:46:56 | FromGitter | <arnetheduck> most of the echo chamber in this chat sit on devel :) |
02:47:47 | ryukoposting | the real world consequence is that it's hard to sell nim to any company that would dedicate money and resources to its development, since there seems to be no drive for a reliable ecosystem |
02:48:01 | shashlick | hell, nimgen and all wrappers are tested daily on Win/Lin/OSX on 0.18.0, 0.19.2 and devel |
02:48:26 | shashlick | but i cannot do the same with nimterop cause cligen couldn't - it's not that we didn't try - https://github.com/c-blake/cligen/issues/85 |
02:48:52 | shashlick | so it is possible but how many are that motivated |
02:50:22 | shashlick | i know @arnetheduck and others have raised this as well since they are building a real business on nim |
02:51:01 | ryukoposting | and I and a couple of my friends are trying to push it with our employers, too |
02:51:11 | * | rnrwashere joined #nim |
02:51:53 | disruptek | well, i am building a business on nim, but i don't care too much about the goal posts moving. i'm all up in the cloud and don't need to rebuild large parts of my platform at any given point in time. |
02:52:46 | shashlick | ya you can pull a snapshot of everything you want and stick with it as long as you can, but the moment you have to update, it will become a huge effort to port, regress and verify |
02:52:53 | shashlick | and the longer you wait, the worse off you are |
02:53:21 | shashlick | but really, that's how any big org treats changes - i don't expect upgrading my compiler to be a free effort |
02:53:34 | shashlick | even if everything compiles 100%, without tests, it's meaningless |
02:53:58 | disruptek | right, which is why i don't build anything without extensive tests. |
02:54:18 | shashlick | ya but not everything is automatable |
02:55:07 | disruptek | tests are. i have homu running in a container and it'll run all my tests and deploy my platform alongside production, perform integration tests, and then cut traffic over. |
02:55:09 | FromGitter | <arnetheduck> so fwiw, we locked all deps down with git submodules and ended up with a makefile: https://github.com/status-im/nimbus/ |
02:55:28 | * | rnrwashere quit (Remote host closed the connection) |
02:55:29 | shashlick | companies don't spend millions in testing for fun |
02:55:30 | disruptek | how 1994. :-D |
02:55:43 | FromGitter | <arnetheduck> it's a hammer for a screw, but hey, it works |
02:56:07 | disruptek | wow. 277 lines of Make. |
02:56:20 | ryukoposting | magnificent, I've done submodules-in-makefiles before |
02:56:26 | shashlick | @arnetheduck - are you on devel or a stable for status |
02:56:35 | ryukoposting | embedded has made me into a makefile whisperer |
02:56:44 | shashlick | also what's your opinion on nawabs |
02:57:22 | rayman22201 | this feels a bit like a chicken and egg problem / small community / pre 1.0 problem... |
02:57:22 | rayman22201 | I'm pretty sure there has been an effort to add a set of core "blessed" packages to the official automated testing of nim, though idk the details. |
02:57:22 | rayman22201 | That being said, I definitely agree that lock files are super important, especially to make nim be taken more seriously at an enterprise level... |
02:58:18 | disruptek | they should be as simple as possible, and no simpler, imo. |
02:58:33 | disruptek | toml makes a lot of sense, given the climate. |
03:00:07 | * | rnrwashere joined #nim |
03:00:22 | rayman22201 | I'm a sad Panda that Status had to resort to make. I'm also sad that Status had to make some pretty hard forks of parts of Nim.... but I understand their reasoning. They had to get shit done TM. |
03:01:19 | shashlick | there's 70 odd packages being tested in the CI with the compiler |
03:01:20 | shashlick | https://github.com/nim-lang/Nim/blob/devel/testament/important_packages.nim |
03:08:23 | * | rnrwashere quit (Remote host closed the connection) |
03:28:44 | FromGitter | <arnetheduck> @shashlick stable, locked with a subirle |
03:29:13 | FromGitter | <arnetheduck> submodule |
03:30:16 | shashlick | so what's your opinion on nawabs |
03:33:10 | FromGitter | <arnetheduck> haven't tried really, paltry feature set for production use though, even if it seems to get the basics right, from description |
03:35:41 | * | rnrwashere joined #nim |
03:37:03 | FromGitter | <arnetheduck> we actually tried devel for a few months but having a whole team held up by daily bugs is no good for your productivity |
03:39:20 | * | rnrwashere quit (Remote host closed the connection) |
03:40:41 | * | rnrwashere joined #nim |
03:41:24 | FromGitter | <arnetheduck> well, half the team held up while the other half is trying to fix them - we have compiler devs on board, after all :) |
03:41:31 | I_Right_I | hey has anyone tried out this 2D vector graphics engine? ---> blend2d.com |
03:41:59 | shashlick | true - so using stable now? |
03:45:07 | * | rnrwashere quit (Ping timeout: 258 seconds) |
03:54:48 | * | rnrwashere joined #nim |
03:55:29 | FromGitter | <arnetheduck> yeah. we keep a fork in case we need to fix something really critical, but 0.19 has been mostly good to us, or we've found reasonable workarounds for most things. |
04:06:04 | shashlick | good to hear |
04:08:53 | * | rnrwashere quit (Remote host closed the connection) |
04:09:26 | * | rnrwashere joined #nim |
04:13:13 | * | rnrwashere quit (Remote host closed the connection) |
04:15:52 | FromGitter | <Varriount> ryukoposting: You could vendor the packages. |
04:16:03 | FromGitter | <Varriount> Or just use a specific commit |
04:24:46 | * | kapil____ joined #nim |
04:29:53 | * | noonien quit (Quit: Connection closed for inactivity) |
04:41:26 | * | nsf joined #nim |
04:44:34 | * | neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
04:53:49 | * | I_Right_I quit (Remote host closed the connection) |
04:56:54 | * | Tanger joined #nim |
05:06:07 | * | narimiran joined #nim |
05:17:36 | * | solitudesf joined #nim |
05:21:28 | Araq | https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md now look at this. |
05:21:46 | Araq | everybody wants moves and single ownership and speed and safety |
05:22:43 | Araq | needless to say, Nim's design is far better IMO. it uses better keywords, it's more clear about what happens and is quite far in its implementation |
05:23:40 | disruptek | ahead of the curve or not, you'll be first to make a solid contribution to the research. |
05:27:26 | shashlick | hello Araq - running into a nimble error - nimdevel\lib\pure\includes\oserr.nim(4, 10) Error: This is an include file for os.nim! |
05:27:50 | shashlick | looks like the vm in nimble is loading oserr.nim directly for some reason |
05:28:14 | disruptek | this manifesto is ridiculous. |
05:28:24 | disruptek | Bore, n.: |
05:28:25 | disruptek | A guy who wraps up a two-minute idea in a two-hour vocabulary. |
05:28:27 | disruptek | -- Walter Winchell |
05:30:24 | shashlick | works fine on 0.19.4, broken on devel |
05:34:26 | * | dddddd quit (Remote host closed the connection) |
05:37:17 | disruptek | i don't see anything in the swift semantics that the new runtime won't be able to do; it's just more formally (read: verbosely) presented. |
05:45:23 | Araq | shashlick, how to reproduce? |
05:45:57 | Araq | disruptek, well it doesn't say anything about "when you get it wrong, it crashes" |
05:46:05 | disruptek | seems like half of this proposal is workarounds for their compiler's inability to analyze closures or logic flow. |
05:46:39 | Araq | oh I wouldn't say that, "compiler's inability" |
05:46:54 | Araq | they know how to write an optimizer |
05:47:04 | Araq | or a control flow analyser |
05:47:15 | disruptek | i mean, given the semantics. |
05:48:57 | * | krux02 joined #nim |
05:49:16 | disruptek | "The fact that our design does not attempt to provide first-class facilities for ephemerals is a well-considered decision, born from a trio of concerns:" -- "we can't implement anything else fast enough", "we aren't sure we want a more sophisticated solution", "please don't switch to rust." |
05:49:35 | Araq | lol |
05:50:20 | shashlick | araq - all i did was checkout nimble, set NIM_LIB_PREFIX, built nimble and tried running it in same dir |
05:51:50 | Araq | when not declared(os): |
05:51:50 | Araq | {.error: "This is an include file for os.nim!".} |
05:52:04 | Araq | how would Nimble import oserr directly? It makes no sense |
05:52:16 | Araq | ah I know |
05:52:40 | Araq | look, the "import hook" that Nimble uses is crap |
05:52:59 | Araq | and there are only so many workarounds we can put into the compiler to compensate for it |
05:53:17 | Araq | Nimble needs to stop using that hook. asap. |
05:53:22 | Araq | I can guide you |
05:55:01 | shashlick | okay i'm going to remove the entire compiler anyway, so i'll continue refactoring with 0.19.4 |
05:55:18 | shashlick | once its out, i will revert back to using devel |
05:55:30 | shashlick | either case it shouldn't matter since that's what we want anyway, no compiler dep |
05:55:40 | Araq | oh yeah |
05:56:00 | Araq | but if it doesn't work out I can guide you how it should have been done |
05:56:15 | Araq | and it will be backwards compatible with other Nims too |
05:56:40 | shashlick | 0.19.4 is running for now, but ya, this will cause others problems with nimble |
05:56:51 | shashlick | i don't know if it is because of how i'm building and running it |
05:57:22 | Araq | well setting NIM_LIB_PREFIX doesn't help |
05:57:41 | disruptek | hard to believe nimble will survive nim-1.0. |
05:58:03 | Araq | why? |
05:59:43 | disruptek | even the early adopters seem unsatisfied with it. |
06:00:31 | rayman22201 | Lol @ swift ownership. As usual Araq is ahead of the trends... |
06:02:37 | disruptek | yeah, but the imposition on coders is much less significant with nim's version. they are really proposing a huge change here. |
06:03:17 | rayman22201 | Nim is a better language. No surprise there... |
06:04:14 | disruptek | well, it wasn't a forgone conclusion that implementing ownership would be as surgical -- i mean, it's not like apple is staffed by imbeciles, and yet here we are. |
06:05:09 | disruptek | did you read to the end? it's bananas. |
06:06:39 | rayman22201 | Not yet. Still reading... It just keeps going lol |
06:07:36 | disruptek | there needs to be a way to get my 2MM values out of my table without iterating over them. i think the underlying datastore should be exported; why not? |
06:13:29 | FromGitter | <data-man> @disruptek Is it your PR? ;) https://github.com/nim-lang/Nim/pull/11002 |
06:14:34 | disruptek | try it with a couple million items. |
06:15:28 | disruptek | (in a counttable, as per the pr) |
06:19:01 | FromGitter | <data-man> It doesn't matter. |
06:19:35 | disruptek | well, it seems that way, but my testing suggested otherwise, as did that of chickendan. |
06:20:37 | disruptek | it should probably precalculate gaps all the way out. i forgot to implement that. |
06:30:07 | * | PMunch joined #nim |
06:39:39 | PMunch | Hmm, I get an error when I try to use Jester with multipart form data |
06:45:24 | leorize | ping dom96 I suppose? |
06:45:38 | * | Vladar joined #nim |
06:49:29 | Araq | disruptek, don't export it put have some 'proc take()' that moves? Somehow... |
06:50:38 | disruptek | how do i reach in and grab it when it's not exported? beyond my nim skills (which are quite limited). |
06:51:05 | disruptek | data-man: generating all the gaps is rather critical. ;-) |
06:54:41 | FromGitter | <data-man> @disruptek I added more gaps, see comments. |
06:55:02 | Araq | don't use shellsort, use mergesort |
06:56:36 | disruptek | data-man: did you update the timings? i generated all the gaps and now the sort takes ~1.5s. still 2x slower than naive seq sort. |
06:58:05 | FromGitter | <data-man> @disruptek Sure, the timings are updated. |
06:59:03 | disruptek | now we're talkin'. |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:00:18 | leorize | PMunch: I've tried this example https://github.com/dom96/jester/blob/master/tests/fileupload.nim |
07:00:54 | leorize | it doesn't crash, but ballooned my firefox ram usage and almost got my system :p |
07:01:52 | disruptek | data-man: thanks for the catch on that. now maybe you can tell me why it's so slow in the table. :-/ |
07:03:13 | FromGitter | <data-man> Just write cmp proc for ```tuple[key: A, val: int]``` and use algorithm.sort for seq of this. |
07:04:00 | PMunch | leorize, that is very similar to what I do, but I get an index out of bounds error from the parseMultiPart procedure |
07:04:43 | * | gmpreussner joined #nim |
07:05:07 | disruptek | i mean, yeah, but i was trying to avoid the import (and learn why it's so slow). |
07:05:20 | PMunch | leorize, hmm the example seems to work though.. |
07:08:57 | leorize | can I have your implementation? maybe I can figure out how to debug it |
07:10:20 | leorize | is there a way to build project-wide documentation using `nimble`? `nimble doc` can only build for 1 file |
07:12:26 | Araq | 'nim doc --project ' iirc |
07:19:13 | leorize | that works, thanks Araq |
07:23:04 | * | jjido joined #nim |
07:24:36 | PMunch | leorize, I found the issue. The input that had type="file" must also have name="file" |
07:24:47 | PMunch | Well, any name I guess, but it needs a name |
07:25:19 | leorize | that's great :) meanwhile I might have found a way to DoS firefox :p |
07:32:00 | PMunch | Hmm, there must be more to this.. I don't get the error when I remove the field from the fileupload example.. |
07:35:48 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
07:45:38 | * | narimiran_ joined #nim |
07:47:07 | * | narimiran quit (Ping timeout: 245 seconds) |
07:49:37 | * | solitudesf quit (Ping timeout: 245 seconds) |
07:57:01 | * | shomodj joined #nim |
08:07:07 | * | floppydh joined #nim |
08:27:27 | * | pi1 joined #nim |
08:28:51 | * | pi1 quit (Client Quit) |
08:29:27 | * | pi_ joined #nim |
08:37:56 | * | Tanger quit (Quit: Leaving) |
08:47:48 | * | narimiran_ is now known as narimiran |
09:04:12 | * | chickendan joined #nim |
09:13:37 | * | Tanger joined #nim |
10:08:10 | * | Trustable joined #nim |
10:13:21 | * | ikan-keli_2 quit (Ping timeout: 244 seconds) |
10:16:32 | * | ikan-keli_ joined #nim |
10:26:31 | * | jjido joined #nim |
10:45:01 | * | chickendan quit (Ping timeout: 246 seconds) |
11:06:03 | PMunch | Anyone know of a good word list for generating identifiers? |
11:06:39 | PMunch | Like a list of 10000 adjectives and one with 10000 substantives, so you can pick one from each and have a human rememberable id |
11:08:15 | FromGitter | <mratsim> You can use the one used by blockchains to wordify private keys |
11:09:16 | FromGitter | <mratsim> see: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#Wordlist |
11:09:29 | * | clyybber joined #nim |
11:10:08 | FromGitter | <mratsim> wordlist is there: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt and can be used to generate passwords in the order of 2^256 |
11:10:20 | FromGitter | <mratsim> bits size* |
11:12:16 | PMunch | Yeah I guess that would work |
11:36:34 | FromGitter | <liquid600pgm> I'm trying to compile shashlick's nimterop soloud wrapper, but I'm getting a *ton* of C++-related linker errors: https://termbin.com/pbns |
11:44:49 | clyybber | am I retarded or did this syntax used to work: `for i in 0..^someInt:` ? |
11:46:12 | * | dddddd joined #nim |
11:49:07 | clyybber | nevermind, my mind rotated the < in ..< apparently |
11:50:09 | jjido | No space before < |
11:51:12 | clyybber | Thanks, I know. |
11:54:09 | PMunch | clyybber, you probably just mixed it with negative array notation myseq[^2] |
11:54:42 | clyybber | yeah :D |
11:55:13 | * | abm joined #nim |
11:55:17 | clyybber | <^> too many |
11:55:24 | clyybber | v symbols for my head :D |
11:57:47 | * | Trustable quit (Remote host closed the connection) |
11:57:56 | shashlick | @liquid600pgm link with cpp? |
11:58:04 | FromGitter | <mratsim> 1) .^1 used to work |
11:58:14 | FromGitter | <liquid600pgm> shashlick: what do you mean? |
11:58:25 | FromGitter | <mratsim> it meant to the last item of the collection |
11:59:01 | FromGitter | <mratsim> indexing with [^1] used to be magic (and broken for custom collection) now it's just BackwardsIndex |
11:59:09 | shashlick | https://github.com/nimterop/nimterop/blob/master/config.nims |
12:00:14 | FromGitter | <liquid600pgm> aah, that makes sense |
12:00:14 | FromGitter | <liquid600pgm> thanks |
12:00:36 | * | ng0 joined #nim |
12:01:56 | shashlick | I'm not 100% sure if Nim looks at that nims file |
12:02:25 | shashlick | Not clear in appveyor logs what link command is run |
12:02:37 | shashlick | But that might do the trick |
12:03:26 | FromGitter | <liquid600pgm> is it possible to enforce this for a library? |
12:03:52 | FromGitter | <liquid600pgm> or does it have to be added for each program using it? |
12:04:22 | Araq | shashlick, nim says which config files have been processed |
12:05:42 | FromGitter | <mratsim> unfortunately added to each program :/ have the same issue with nim.cfg |
12:06:06 | FromGitter | <liquid600pgm> I might as well compile with `nim cpp`, it will be much simpler |
12:10:54 | * | sendell[m] quit (Ping timeout: 252 seconds) |
12:10:56 | * | serialdev[m] quit (Ping timeout: 252 seconds) |
12:11:28 | * | Miguelngel[m] quit (Ping timeout: 240 seconds) |
12:11:28 | * | TheManiac[m] quit (Ping timeout: 240 seconds) |
12:11:29 | * | forkbomb9[m] quit (Ping timeout: 252 seconds) |
12:11:31 | * | zielmicha[m] quit (Ping timeout: 252 seconds) |
12:11:31 | * | federico3[m] quit (Ping timeout: 252 seconds) |
12:11:32 | * | flaviut[m] quit (Ping timeout: 268 seconds) |
12:11:33 | * | sg-james[m] quit (Ping timeout: 250 seconds) |
12:11:34 | * | k0mpjut0r quit (Ping timeout: 250 seconds) |
12:11:34 | * | planetis[m] quit (Ping timeout: 265 seconds) |
12:11:35 | * | GitterIntegratio quit (Ping timeout: 265 seconds) |
12:11:36 | * | junk[m] quit (Ping timeout: 250 seconds) |
12:11:37 | * | ArchieT[m] quit (Ping timeout: 250 seconds) |
12:11:41 | * | dyce[m] quit (Ping timeout: 252 seconds) |
12:11:48 | * | macsek1911[m] quit (Ping timeout: 240 seconds) |
12:11:52 | * | Demos[m] quit (Ping timeout: 252 seconds) |
12:11:55 | * | xomachine[m] quit (Ping timeout: 264 seconds) |
12:11:55 | * | pqflx3[m] quit (Ping timeout: 264 seconds) |
12:11:55 | * | spymasterd[m] quit (Ping timeout: 264 seconds) |
12:11:56 | * | Manny8888 quit (Ping timeout: 264 seconds) |
12:11:58 | * | narimiran[m] quit (Ping timeout: 250 seconds) |
12:11:58 | * | isaac[m]1 quit (Ping timeout: 250 seconds) |
12:12:00 | * | xylef quit (Ping timeout: 250 seconds) |
12:12:02 | * | leorize quit (Ping timeout: 252 seconds) |
12:12:05 | * | Connor[m] quit (Ping timeout: 252 seconds) |
12:12:05 | * | TheKing[m] quit (Ping timeout: 252 seconds) |
12:12:06 | * | lqdev[m] quit (Ping timeout: 264 seconds) |
12:12:06 | * | libman[m] quit (Ping timeout: 264 seconds) |
12:12:11 | * | yglukhov[m] quit (Ping timeout: 252 seconds) |
12:12:24 | clyybber | looks like matrix broke down once again... |
12:12:30 | * | gh0st[m] quit (Ping timeout: 264 seconds) |
12:12:31 | * | jugash[m] quit (Ping timeout: 264 seconds) |
12:14:45 | * | kungtotte joined #nim |
12:16:15 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:22:05 | PMunch | Hmm, I'm trying to use threadpool to just spin of a thread to do something. But the odbc library isn't GC safe, what would be the best way to work around this? |
12:24:40 | Araq | --gc:boehm and {.gcsafe.} callHere() |
12:26:06 | PMunch | Huh? |
12:26:22 | PMunch | Doing just {.gcsafe.} myCall() doesn't seem to work |
12:26:26 | * | Snircle joined #nim |
12:26:45 | PMunch | Attempting to call undeclared routine gcsafe |
12:29:02 | clyybber | Araq: It's probably too early to report bugs/errors with the new runtime, but I just wanted to report that compiling my projects always fails with this: |
12:29:05 | clyybber | `Error: unhandled exception: /home/clyybber/builds/nim/compiler/liftdestructors.nim(301, 14) `t.destructor != nil` [AssertionError]` |
12:29:46 | Araq | {.gcsafe.}: myCall() |
12:30:49 | Araq | clyybber, huh? |
12:31:02 | Araq | never seen that happening |
12:31:35 | Araq | I'm working on callbacks and async and then it's ready and production quality :P |
12:32:08 | clyybber | Araq: Perhaps it only happens with nimble build --newruntime |
12:32:13 | Araq | well I'm kidding but I never saw your problem, is it easy to reproduce? |
12:32:21 | clyybber | I think so, yes |
12:34:09 | Araq | report it please |
12:34:16 | clyybber | Araq: Ok, will do. |
12:34:42 | clyybber | Araq: Can you try reproducing it first, maybe its a local problem? |
12:34:44 | * | seni joined #nim |
12:36:00 | clyybber | Araq: Cloning and trying to build this with nimble build --newruntime should reproduce the error: https://gitlab.com/Clyybber/spritepacker.git |
12:40:56 | * | Cthalupa quit (Ping timeout: 250 seconds) |
12:42:13 | Araq | sorry no, please come up with a smaller example that fails |
12:42:29 | clyybber | I'm trying to rn, but I get other errors then... |
12:43:12 | * | Cthalupa joined #nim |
12:43:29 | PMunch | httpbeast doesn't seem to like boehm :( http://ix.io/1FUn/ |
12:44:22 | * | drewr quit (Remote host closed the connection) |
12:45:07 | seni | if I have `s = '\u0110'; print(s)`, why does python2 work and python3 fail (locale is set to C) ?? |
12:46:32 | Araq | PMunch, huh well you also only use .gcsafe and assume it's gcsafe |
12:46:50 | PMunch | Hmm, yeah I guess that's an option.. |
12:46:52 | Araq | seni, because Python 3 unicode changes, but this is #nim |
12:47:11 | seni | oops :D sorry |
12:49:09 | shashlick | Araq right, it does tell me which config files were used |
12:49:22 | shashlick | Luckily nimble didn't suppress that |
12:52:38 | * | solitudesf joined #nim |
12:55:14 | clyybber | Araq: I managed to extract a 2 line snippet that reproduces the failure, gonna open an issue |
12:56:10 | clyybber | just compile this with nim c --newruntime: |
12:56:18 | clyybber | func test(): (seq[int], int) = |
12:56:20 | clyybber | return (@[1], 5) |
12:56:22 | clyybber | yyy |
12:56:45 | clyybber | ignore the "yyy" :D |
12:57:23 | FromGitter | <mratsim> who in his right ind return tuples :D |
12:57:26 | FromGitter | <mratsim> mind* |
12:57:47 | FromGitter | <mratsim> you don't even need to call test()? |
12:57:52 | clyybber | no |
12:58:14 | dom96 | PMunch: interesting, please report it |
13:00:29 | PMunch | dom96, github.com/dom96/httpbeast/issues/24 |
13:00:35 | PMunch | Or did you mean report in in Nim? |
13:00:59 | PMunch | And I don't really have a minimal example, so it's not a very good bug report.. |
13:04:09 | * | drewr joined #nim |
13:06:30 | clyybber | Araq: Reported: https://github.com/nim-lang/Nim/issues/11004 |
13:14:33 | FromGitter | <mratsim> Why are newruntime and gc:destructors flags both available? Is there a difference? |
13:24:13 | Araq | --gc:destructors is GC for ref, destructors for strings and seqs |
13:24:21 | Araq | --newruntime is destructors for everything |
13:24:55 | Araq | but --gc:destructors is even more vaporware than --newruntime |
13:30:50 | FromGitter | <mratsim> so newruntime doesn't imply gc:destructors? |
13:31:37 | Araq | it does but it's much more tested |
13:31:50 | Araq | unless you use tuples, of course :P |
13:33:28 | * | neceve joined #nim |
13:33:35 | * | solitudesf quit (Quit: Leaving) |
13:45:28 | * | neceve quit (Remote host closed the connection) |
13:59:02 | * | noeontheend joined #nim |
14:02:20 | * | c3v0axz joined #nim |
14:02:20 | * | shomodj joined #nim |
14:03:37 | * | chickendan joined #nim |
14:06:48 | FromGitter | <arnetheduck> cut out the excess fat and a lithe killer nim will emerge |
14:08:13 | * | NimBot joined #nim |
14:09:01 | * | solitudesf joined #nim |
14:11:24 | livcd | PMunch: i should just bookmark all the questions you ask now as I am going to do the same thing :X |
14:12:31 | PMunch | livcd, haha just ask if you know I've asked about something before |
14:12:45 | PMunch | I was actually going to create a small series of videos on how to use Jester |
14:12:58 | PMunch | Or less specifically how to do web-dev in Nim |
14:13:07 | PMunch | But then life happened and I never got around to it.. |
14:26:47 | * | PMunch quit (Remote host closed the connection) |
14:36:52 | * | floppydh quit (Quit: WeeChat 2.4) |
14:37:52 | * | stefanos82 joined #nim |
14:45:22 | * | rnrwashere joined #nim |
14:55:09 | * | jjido quit (Quit: Connection closed for inactivity) |
14:56:30 | * | rnrwashere quit (Remote host closed the connection) |
14:57:08 | * | rnrwashere joined #nim |
15:01:22 | * | rnrwashere quit (Remote host closed the connection) |
15:01:35 | * | rnrwashere joined #nim |
15:04:17 | * | seni quit (Quit: Leaving) |
15:09:03 | * | clyybber quit (Quit: WeeChat 2.4) |
15:11:31 | * | clyybber joined #nim |
15:14:31 | * | vlad1777d quit (Ping timeout: 246 seconds) |
15:31:29 | * | rnrwashere quit (Remote host closed the connection) |
15:32:02 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:37:38 | * | narimiran_ joined #nim |
15:37:57 | * | narimiran quit (Ping timeout: 245 seconds) |
15:38:42 | * | c3v0axz quit (Ping timeout: 268 seconds) |
15:44:35 | * | rnrwashere joined #nim |
15:46:01 | FromDiscord | <Zireael> type mismatch: got ref seq[string], expected seq[string] |
15:46:19 | FromDiscord | <Zireael> any way to make it play ball? I don't want to get rid of ref in my seq sliding function... |
15:46:27 | FromDiscord | <Zireael> (for performance reasons) |
15:46:52 | FromDiscord | <Zireael> oops, sliding should be slicing 😛 |
15:49:08 | * | rnrwashere quit (Remote host closed the connection) |
15:51:08 | * | rnrwashere joined #nim |
15:54:11 | clyybber | Zirael: What function are you calling? |
15:54:34 | clyybber | Theres two ways: Either change the signature of that function, or dereference it. |
15:54:44 | * | noeontheend quit (Ping timeout: 268 seconds) |
15:55:52 | FromDiscord | <Zireael> my own 😃 half an hour of googling somehow led me to the correct solution [] operator |
15:56:03 | FromDiscord | <Zireael> but I agree with the poster, the error is completely confusing... |
15:56:27 | FromDiscord | <Zireael> https://matthiashager.com/nim-object-oriented-programming (under Object Inheritance) |
15:56:41 | FromDiscord | <Zireael> can it get a hint saying 'try a [] operator?' |
15:57:35 | * | rnrwashere quit (Read error: Connection reset by peer) |
15:58:24 | * | rnrwashere joined #nim |
15:59:51 | Araq | http://troubles.md/posts/the-stack-is-not-the-stack/ |
16:00:46 | * | shomodj joined #nim |
16:01:18 | * | rnrwashere quit (Remote host closed the connection) |
16:08:20 | disruptek | interesting. |
16:09:44 | clyybber | Zirael: I don't think its confusing. If you are using ref objects, you should know how to dereference them. |
16:10:11 | clyybber | Or at least it's helpful knowledge, we should expect of users using seq. |
16:10:15 | clyybber | s/seq/ref |
16:10:20 | * | clyybber quit (Quit: WeeChat 2.4) |
16:10:35 | narimiran_ | https://nim-lang.github.io/Nim/manual.html, ctrl+F "deref" gives "An empty subscript [] notation can be used to derefer a reference" as the first result |
16:10:41 | * | narimiran_ is now known as narimiran |
16:11:05 | * | mosORadi joined #nim |
16:11:10 | * | hoijui joined #nim |
16:11:19 | * | c3v0axz joined #nim |
16:16:41 | * | nsf quit (Quit: WeeChat 2.4) |
16:20:19 | FromGitter | <iffy> Is there something like Python's BytesIO/StringIO that I can use to store output in memory in places where I'm testing something that writes to stdout? |
16:21:13 | FromGitter | <iffy> So, an in-memory `var File` type? |
16:25:58 | Araq | A StringStream ? |
16:31:17 | FromGitter | <iffy> oh, maybe that will work |
16:36:01 | * | c3v0axz quit (Ping timeout: 252 seconds) |
16:36:17 | * | narimiran quit (Remote host closed the connection) |
16:36:58 | * | narimiran joined #nim |
16:37:05 | * | c3v0axz joined #nim |
17:00:05 | * | Trustable joined #nim |
17:02:31 | * | leorize joined #nim |
17:15:38 | * | fanta7531 joined #nim |
17:41:24 | * | jjido joined #nim |
17:45:44 | * | hoijui quit (Ping timeout: 268 seconds) |
17:49:24 | FromGitter | <iffy> Yep, that works; thanks! |
17:51:21 | * | Trustable quit (Remote host closed the connection) |
17:54:36 | * | vegai_ quit (Remote host closed the connection) |
17:55:30 | livcd | PMunch: I cant use Jester atm I am not on linux |
18:20:49 | * | mosORadi quit (Quit: Connection closed for inactivity) |
18:29:36 | * | shomodj quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:31:27 | * | kapil____ quit (Quit: Connection closed for inactivity) |
18:37:44 | * | hoijui joined #nim |
18:44:48 | disruptek | too bad we'll never see that microwasm impl in practice. |
18:45:33 | * | stefanos82 quit (Remote host closed the connection) |
18:54:39 | * | hoijui quit (Ping timeout: 264 seconds) |
18:55:10 | Zevv | If I make a lib that has functions that create some kind of complex object that users might want to pass around, should the lib use refs everywhere by default? |
19:00:30 | * | Elronnd quit (Ping timeout: 264 seconds) |
19:01:25 | * | Elronnd joined #nim |
19:06:56 | disruptek | Zevv: i'd let the compiler figure that out unless you need to expose memory management to the user. |
19:08:38 | Zevv | that was my idea as well; so - no refs in the lib, thanks |
19:09:22 | dom96 | PMunch: I meant to httpbeast repo, thanks |
19:09:25 | disruptek | jmo; take it with a grain of salt. i'm a nim newbie. ;-) |
19:09:37 | dom96 | it'll probably end up in the Nim repo eventually though :) |
19:10:34 | * | nsf joined #nim |
19:11:03 | FromGitter | <arnetheduck> disruptek, which microwasm? |
19:11:51 | disruptek | http://troubles.md/posts/microwasm/ |
19:12:10 | disruptek | the asm speaks for itself. :-/ |
19:18:23 | FromGitter | <arnetheduck> well, looks like wasm impl folks claim information loss between the two |
19:19:10 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
19:20:44 | * | Snircle joined #nim |
19:23:35 | disruptek | no one is claiming compat. the problem is that it won't be supported by browsers in any event. |
19:47:26 | * | Vladar quit (Remote host closed the connection) |
20:08:47 | FromGitter | <deech> @Araq: Regarding this post about finalizers being called on a type T instead of an instance (https://forum.nim-lang.org/t/4780) will it work it's way up the hierarchy and run finalizer of T's parent as well? |
20:09:16 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
20:17:08 | * | narimiran quit (Ping timeout: 252 seconds) |
20:20:46 | * | shomodj joined #nim |
20:25:03 | * | Snircle joined #nim |
20:42:16 | * | fanta7531 quit (Quit: fanta7531) |
20:42:40 | * | nsf quit (Quit: WeeChat 2.4) |
20:45:24 | * | hoijui joined #nim |
20:54:21 | * | hoijui quit (Remote host closed the connection) |
20:59:27 | * | rnrwashere joined #nim |
21:03:44 | * | rnrwashere quit (Ping timeout: 250 seconds) |
21:18:39 | * | krux02 quit (Remote host closed the connection) |
21:22:33 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:24:13 | * | jjido joined #nim |
21:28:21 | * | solitudesf quit (Ping timeout: 268 seconds) |
21:29:49 | * | chickendan quit (Quit: Quit) |
21:43:55 | * | d10n-work joined #nim |
21:46:50 | FromDiscord | <Hel> found a bug in `c2nim` |
21:47:33 | FromDiscord | <Hel> it gives me this error `a.c(2, 24) Error: token expected: ;` when i use it on this code |
21:47:33 | FromDiscord | <Hel> https://cdn.discordapp.com/attachments/371759389889003532/566016508141240321/unknown.png |
21:47:43 | FromDiscord | <Hel> it gives me this error `a.c(2, 24) Error: token expected: ;` when i use it on this code |
21:47:43 | FromDiscord | <Hel> https://cdn.discordapp.com/attachments/371759389889003532/566016508141240321/unknown.png |
21:48:05 | * | rnrwashere joined #nim |
21:56:24 | FromDiscord | <Hel> i think i found a bug in `c2nim` |
21:57:27 | * | rnrwashere quit (Remote host closed the connection) |
22:01:39 | * | thomasross quit (Ping timeout: 255 seconds) |
22:02:09 | * | thomasross joined #nim |
22:04:13 | * | ng0 quit (Ping timeout: 256 seconds) |
22:05:37 | * | ng0 joined #nim |
22:16:32 | * | bozaloshtsh quit (Quit: ZNC 1.7.1 - https://znc.in) |
22:16:42 | * | bozaloshtsh joined #nim |
22:16:42 | * | bozaloshtsh quit (Changing host) |
22:16:42 | * | bozaloshtsh joined #nim |
22:21:40 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
22:22:08 | * | Calinou quit (Ping timeout: 245 seconds) |
22:32:58 | * | rnrwashere joined #nim |
22:37:15 | * | rnrwashere quit (Ping timeout: 250 seconds) |
22:40:57 | * | bozaloshtsh quit (Quit: ZNC 1.7.2 - https://znc.in) |
22:41:06 | * | bozaloshtsh joined #nim |
22:41:06 | * | bozaloshtsh quit (Changing host) |
22:41:06 | * | bozaloshtsh joined #nim |
22:50:40 | * | Calinou joined #nim |
23:01:17 | * | abm quit (Read error: Connection reset by peer) |
23:18:13 | * | Calinou quit (Quit: No Ping reply in 180 seconds.) |
23:18:32 | * | I_Right_I joined #nim |
23:19:32 | * | Calinou joined #nim |
23:20:15 | shashlick | It didn't recognize register mostly |
23:21:42 | * | ikan-keli_ quit (*.net *.split) |
23:21:42 | * | Tanger quit (*.net *.split) |
23:21:42 | * | gmpreussner quit (*.net *.split) |
23:21:42 | * | arecacea1 quit (*.net *.split) |
23:21:42 | * | cyraxjoe quit (*.net *.split) |
23:21:42 | * | jxy quit (*.net *.split) |
23:21:42 | * | onionhammer quit (*.net *.split) |
23:21:42 | * | hogeland quit (*.net *.split) |
23:21:42 | * | sknebel quit (*.net *.split) |
23:27:56 | * | ikan-keli_ joined #nim |
23:27:56 | * | Tanger joined #nim |
23:27:56 | * | gmpreussner joined #nim |
23:27:56 | * | arecacea1 joined #nim |
23:27:56 | * | cyraxjoe joined #nim |
23:27:56 | * | jxy joined #nim |
23:27:56 | * | onionhammer joined #nim |
23:27:56 | * | hogeland joined #nim |
23:27:56 | * | sknebel joined #nim |
23:36:50 | FromDiscord | <Hel> just reporting it |
23:37:23 | * | rnrwashere joined #nim |