00:06:24 | * | aranhaag_ quit (Remote host closed the connection) |
00:50:02 | * | deech joined #nim |
01:19:46 | * | deech quit (Ping timeout: 258 seconds) |
01:55:50 | FromGitter | <Varriount> @kayabaNerve I'm currently working on adding command and variable substitution, and heredocs |
02:00:48 | shashlick | Was looking at commandant readme, wish there were some examples |
02:02:06 | * | banc quit (Quit: Bye) |
02:11:59 | * | rnrwashere quit (Remote host closed the connection) |
02:15:57 | * | rnrwashere joined #nim |
02:21:35 | * | theelous3 quit (Read error: Connection reset by peer) |
02:23:42 | * | rnrwashere quit (Remote host closed the connection) |
02:23:58 | * | banc joined #nim |
02:24:03 | * | rnrwashere joined #nim |
02:26:58 | * | deech_ quit (Ping timeout: 252 seconds) |
03:02:27 | * | dddddd quit (Remote host closed the connection) |
03:29:06 | * | rnrwashere quit (Remote host closed the connection) |
03:33:56 | * | rnrwashere joined #nim |
03:51:51 | FromGitter | <Varriount> shashlick: Ah, yeah, those would probably be helpful. |
04:08:37 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
04:13:43 | * | aranhaagency joined #nim |
04:30:42 | * | nsf joined #nim |
04:54:37 | * | Guest93678 quit (Ping timeout: 246 seconds) |
04:56:23 | * | Senketsu quit (Quit: WeeChat 2.4) |
05:13:44 | * | laaron quit (Remote host closed the connection) |
05:15:10 | * | narimiran joined #nim |
05:18:05 | * | laaron joined #nim |
05:20:22 | * | leorize quit (Quit: WeeChat 2.3) |
05:44:45 | * | NimBot joined #nim |
05:50:17 | * | aranhaagency quit () |
05:56:06 | * | solitudesf joined #nim |
05:56:58 | * | kapilp quit (Quit: Connection closed for inactivity) |
06:02:22 | * | leorize joined #nim |
06:26:47 | * | PMunch joined #nim |
06:32:09 | * | kapilp joined #nim |
06:38:14 | FromGitter | <rishavs> returning to nim after years to try out some gamedev stuff. Need some help getting started. ⏎ I am trying to use @Vladar's nimgame2 lib. ⏎ I installed nim. created new project using nimble init > exe. Then did `nimble install nimgame2`. ⏎ Finally I copied a basic main and mainscene nim files. ⏎ ... [https://gitter.im/nim-lang/Nim?at=5ceb85d6ef853135c82ddc68] |
06:41:53 | PMunch | @Vindaar, hey you used my PersistentVectors :) https://github.com/Vindaar/ggplotnim/commit/33311d5084f3ead090ba3fd89e782d6e58b540f3 |
06:44:37 | PMunch | Haha, maybe add some rounding to avoid the 0 looking like this: https://github.com/Vindaar/ginger/blob/master/media/testView.png :) |
06:46:06 | * | solitudesf quit (Ping timeout: 272 seconds) |
06:46:11 | * | Trustable joined #nim |
06:46:32 | narimiran | PMunch: maybe you can get some ideas for the playground/tour from https://try.ocamlpro.com/ |
06:50:13 | PMunch | Hmm, that is more like an interactive shell kind of thing |
06:50:16 | PMunch | Still cool though |
06:51:48 | narimiran | yeah, i thought that some lessons/steps might give a clue what to include in the tour |
06:53:34 | FromGitter | <rishavs> Anyone knows where can I get a prebuilt SDL2_gfx.dll from? |
06:57:47 | * | rnrwashere quit (Remote host closed the connection) |
06:58:25 | * | leorize quit (Remote host closed the connection) |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:02:21 | * | leorize joined #nim |
07:03:43 | * | krux02 joined #nim |
07:04:28 | * | gmpreussner joined #nim |
07:12:12 | Zevv | let me google that for you |
07:12:16 | Zevv | https://github.com/nim-lang/sdl2/wiki/Windows-Binaries |
07:13:04 | FromGitter | <rishavs> @Zevv, I found them and deleted my question. Not sure if deleted stuff still show up on IRC |
07:13:10 | FromGitter | <rishavs> But thanks for the help |
07:13:57 | Zevv | Yw :) |
07:14:11 | Zevv | Generic methods are now deprecated \o/ |
07:14:25 | Zevv | "fixes #10038" :) |
07:16:10 | FromGitter | <rishavs> BTW, Is there a way to have nimble compile and run a project? Nimble build feels pointless when I can do `nim c --run src\x.nim`. ⏎ Another question, can I specify a libs folder in my nim project so that is where the compiler looks for all the dlls. Currently, i am keeping my dll dependencies in the bin folder and it feels weird |
07:16:22 | leorize | nimble build? |
07:16:41 | leorize | you'd need to create a 'run' task for nimble |
07:24:12 | FromGitter | <rishavs> ```code paste, see link``` ⏎ ⏎ Something like this? The 2nd exec does not run. How should I frame it? [https://gitter.im/nim-lang/Nim?at=5ceb909c9d64e537bc1ae76c] |
07:28:51 | * | ShalokShalom63 joined #nim |
07:29:13 | * | ShalokShalom63 quit (Remote host closed the connection) |
07:35:05 | * | ShalokShalom quit (Remote host closed the connection) |
07:37:31 | * | ShalokShalom joined #nim |
07:39:40 | leorize | rishavs: like this: http://ix.io/1KbD |
07:40:33 | PMunch | Zevv, generic methods are deprecated? |
07:41:57 | leorize | anyone got 32bit linux on hand? |
07:42:49 | FromGitter | <rishavs> Thanks leorize. I was hoping to use nimble build as I could output the exe in a separate bin folder. ⏎ Currently I am using `(nimble build) -and (.\bin\nimgametest.exe)` directly in powershell |
07:44:12 | leorize | maybe you can use selfExec to compile then run |
07:44:14 | leorize | but I've never tried |
07:45:53 | Zevv | PMunch: https://github.com/nim-lang/Nim/commit/16aa10d |
07:50:50 | PMunch | Hmm, that's good I guess |
07:51:08 | PMunch | Better to not have a feature than something that works so poorly |
07:53:27 | leorize | from my CI, looks like 32bit linux doesn't even bootstrap with the current devel |
07:53:37 | leorize | can someone confirms this for me? |
07:58:33 | * | Vladar joined #nim |
07:59:25 | leorize | Araq: https://github.com/nim-lang/Nim/pull/11337 |
08:00:24 | FromGitter | <Vindaar> @PMunch: hehe, yeah. Not sure if I'm going to keep using it. I did some mini benchmarks for how I envisioned I'd be using it and it was significantly faster than a normal seq. But in the end the majority of my use case is actually quite different. Will see. |
08:01:02 | FromGitter | <Vindaar> And yup, rounding has to be done, haha. This didn't happen before so I didn't put it in yet :) |
08:04:52 | PMunch | Yeah if keeping many copies with slight differences it's pretty fast. I did some testing myself as I was creating the module and at some point the normal seq's just wasn't able to compare |
08:08:58 | FromGitter | <Vindaar> yes, that's my experience too |
08:09:14 | PMunch | Hmm, shashlick you around? |
08:09:52 | PMunch | It makes sense though, the normal sequences are good for what they are, but making lots of copies is not what they are meant for |
08:10:29 | FromGitter | <Vindaar> indeed |
08:10:45 | PMunch | I'm still a bit surprised that the module worked without modification though :) |
08:11:06 | PMunch | Been a while since I wrote that module |
08:11:26 | FromGitter | <Vindaar> I did stumble on some weird issues with the slicing though. But I couldn't figure out if it was my code causing some weird behavior or a bug in the module |
08:11:45 | PMunch | Hmm, what kind of issues? |
08:12:00 | FromGitter | <Vindaar> will explain later, gotta go for a while |
08:21:18 | * | leorize quit (Remote host closed the connection) |
08:21:44 | * | floppydh joined #nim |
08:28:05 | * | leorize joined #nim |
08:49:47 | * | dddddd joined #nim |
09:04:41 | * | ShalokShalom quit (Remote host closed the connection) |
09:12:55 | * | leorize quit (Ping timeout: 256 seconds) |
09:13:37 | * | stefanos82 joined #nim |
09:18:50 | FromGitter | <gogolxdong> Is there any method to get readable hash? |
09:22:49 | FromGitter | <jrfondren> what do you mean by that? a readable serialization? use JSON. A literal? use .toTable https://nim-lang.github.io/Nim/tables.html#toTable%2CopenArray%5B%5D |
09:23:51 | FromGitter | <gogolxdong> like https://github.com/zacharyvoase/humanhash? |
09:25:09 | * | leorize joined #nim |
09:25:37 | * | cyberjpn joined #nim |
09:25:49 | * | slugmatt joined #nim |
09:26:51 | leorize | turns out that we have a really nice CI test failure summary program |
09:27:03 | leorize | except that it's never run |
09:29:39 | * | slugmatt quit (Client Quit) |
09:30:20 | * | slugm joined #nim |
09:30:46 | Araq | gogolxdong: somebody could try to port the Python over to Nim, it's only 142 lines of code |
09:33:37 | FromGitter | <gogolxdong> yes, the description of implementation is straightforward, maybe I can try, with unlicense as well. |
09:33:50 | * | neceve joined #nim |
09:37:11 | * | couven92 joined #nim |
09:39:31 | FromGitter | <mratsim> You can also implement Bitcoin mnemonics: https://iancoleman.io/bip39/ |
09:39:45 | FromGitter | <mratsim> you can even use CHinese ;) |
09:40:58 | * | solitudesf joined #nim |
09:45:11 | FromGitter | <gogolxdong> sure it's my original intention.The generated Chinese is meaningless essentially though readable, needs improvement. |
10:07:04 | * | neceve quit (Remote host closed the connection) |
10:11:48 | * | neceve joined #nim |
10:12:42 | FromGitter | <gogolxdong> The new operating system Hongmeng of Huawei comes from Shan Hai Jing https://en.wikipedia.org/wiki/Classic_of_Mountains_and_Seas |
10:25:50 | * | solitudesf quit (Ping timeout: 252 seconds) |
10:29:19 | * | leorize quit (Quit: WeeChat 2.3) |
10:41:01 | * | WilhelmVonWeiner quit (Remote host closed the connection) |
10:41:19 | * | WilhelmVonWeiner joined #nim |
10:44:57 | * | fredrik92 joined #nim |
10:48:15 | * | zestyr quit (Ping timeout: 258 seconds) |
10:48:34 | * | zestyr joined #nim |
10:48:38 | * | couven92 quit (Ping timeout: 258 seconds) |
10:49:37 | * | fredrik92 is now known as couven92 |
11:02:10 | * | natrys joined #nim |
11:11:28 | * | cyberjpn quit (Ping timeout: 272 seconds) |
11:20:21 | PMunch | gogolxdong, I made something like that once |
11:20:59 | PMunch | Basically a wordlist, then split the hash into pieces that can be used to index the word list |
11:21:24 | PMunch | You would either need a long word-list, or end up with many words per hash though |
11:25:24 | PMunch | The word-list I used has 2048 entries, so a you would still need 24 words to encode a SHA256 hash |
11:25:44 | PMunch | Unless of course you do something with capital letters, or other trickery |
11:32:31 | * | deech joined #nim |
11:35:10 | * | clyybber joined #nim |
11:36:39 | * | Trustable quit (Remote host closed the connection) |
11:42:30 | * | deech quit (Ping timeout: 272 seconds) |
12:00:49 | * | Kaivo joined #nim |
12:07:44 | * | deech_ joined #nim |
12:29:20 | * | Snircle joined #nim |
12:30:20 | * | cyberjpn joined #nim |
12:36:57 | * | abm joined #nim |
12:56:18 | * | lritter joined #nim |
13:00:06 | narimiran | ladies and gentlemen, clear your caches and visit a more informative https://nim-lang.org/ :) |
13:03:34 | * | cyberjpn quit (Ping timeout: 272 seconds) |
13:08:08 | * | nsf quit (Quit: WeeChat 2.4) |
13:08:43 | PMunch | Hmm, maybe those code snippets should be linkable to the playground? |
13:09:48 | narimiran | agreed, but lets also make nim tour that we can link ;) |
13:11:31 | laaron | firefox 66, the last 3 snippets has bottom scrollbar |
13:12:21 | narimiran | laaron: screen resolution and/or your window width? |
13:15:13 | PMunch | They briefly flash for me as well on Vivaldi |
13:16:09 | narimiran | vivaldi here and i don't see neither scrollbars nor flashing :) |
13:16:45 | * | apodo joined #nim |
13:17:38 | laaron | narimiran, 1366x768. F11 fullscreen still show bottom scrollbar |
13:17:55 | narimiran | laaron: thanks, will investigate |
13:19:03 | narimiran | shashlick: are you here? |
13:19:46 | narimiran | laaron: is the text in the examples too wide, or are those scrollbars just there without any purpose? |
13:20:32 | * | deech_ quit (Ping timeout: 248 seconds) |
13:20:37 | * | theelous3 joined #nim |
13:22:26 | FromGitter | <Vindaar> @narimiran: ohh, that looks really nice! |
13:22:40 | narimiran | Vindaar thanks :) |
13:24:37 | FromGitter | <Vindaar> @PMunch: finally back. I got an out of bounds access in the slicing here: https://github.com/PMunch/nim-persistent-vector/blob/master/persvector.nim#L239 ⏎ I couldn't quite figure it out though. It sometimes happened when the slice was `0 .. 32` and the access of the `result` ended up being `32 .. 32` |
13:25:29 | FromGitter | <Vindaar> In effect the problem however the calculation of `i - (vec.size - vec.tail.len)` returned something negative, since `i` was small and `vec.size > vec.tail.len` |
13:25:45 | FromGitter | <Vindaar> *was the |
13:26:06 | laaron | narimiran, text too width, hide about 3 chars |
13:27:10 | FromGitter | <Vindaar> but my use case was maybe the issue to, because I was trying to delete an element in the middle of a vector. Since that's not really supported I wanted to do `toPersistentVector(concat(v[0 ..< toDelete - 1], v[toDelete ..< v.len]))` |
13:32:52 | * | ng0 joined #nim |
13:33:25 | narimiran | laaron: thanks, now i tried it in firefox and i can reproduce. i'll fix it. |
13:35:05 | PMunch | Hmm, that should work though |
13:37:56 | laaron | narimiran, thanks for your work too |
13:38:16 | * | salewski joined #nim |
13:40:31 | salewski | narimiran, maybe the wording needs some improvements too. |
13:40:57 | salewski | Maybe replace "systems programming language" by "systems and application programming language" |
13:41:05 | PMunch | Vindaar, hmm. Managed to reproduce the bug |
13:41:13 | salewski | Or "universal programming language". |
13:41:24 | narimiran | Araq: ^ |
13:42:17 | salewski | And you repeat "efficiency, expressiveness" in topmost and second headline. |
13:42:36 | FromGitter | <Vindaar> @PMunch oh good to know |
13:43:15 | PMunch | I get it when I try to do v[0..0] |
13:43:31 | PMunch | or v[2..2] for that matter |
13:44:11 | Araq | salewski, I agree with "Universal" but the focus is more on systems programming these days |
13:44:19 | Zevv | kernel programming :) |
13:44:49 | Araq | I also thought about "Nim is everything but not for everybody" as its official slogan but got downvoted :P |
13:44:59 | salewski | At least from wikipedia, for "systems programming" first visitors of Nim Homepage may think |
13:45:02 | Araq | typo, I mean |
13:45:12 | Araq | "Nim is for everything but not for everybody" |
13:45:18 | FromGitter | <alehander42> kernel programming < |
13:45:20 | FromGitter | <alehander42> <3 |
13:45:36 | salewski | that Nim is not well suited for application programming and go away without further investigation. |
13:46:02 | salewski | So "systems and application programming language" I would prefer. |
13:46:09 | FromGitter | <alehander42> which reminds me i found out i need to probably just do my own stdio.h stdlib.h stubs to make simple seq/string programs compile in kernel mode |
13:46:21 | FromGitter | <alehander42> is this the right way to do it |
13:47:07 | Zevv | dunno, but I got it to work like that yesterday. --newruntime and a tiny bit of extra support in the compiler to find kmalloc and friends. |
13:47:10 | salewski | "Nim is for everything but not for everybody" -- yes, a fine statement! |
13:47:54 | Araq | salewski, narimiran feared the ambiguity though |
13:48:08 | Araq | "what do you mean, Nim is not for me..." |
13:48:22 | FromGitter | <alehander42> Zevv nice, i was trying to do it with the old runtime |
13:48:36 | FromGitter | <alehander42> but even before malloc etc it didnt find string.h and friends |
13:48:43 | narimiran | guys, re horizontal scrolling in code examples - is it ok with you if the font size for the examples is slightly smaller? (16px vs 17px) |
13:48:51 | Zevv | yeah, but you don't want to pull in the whole GC, and with --gc:none most of the stdlib is not usable |
13:49:01 | FromGitter | <gogolxdong> not for everybody lock people out. |
13:49:08 | FromGitter | <alehander42> exactly but i had other problems with --newruntime |
13:49:19 | FromGitter | <alehander42> something not working in standalone mode |
13:49:23 | FromGitter | <alehander42> cant remember |
13:49:45 | FromGitter | <alehander42> do you have a repo of your code |
13:49:52 | * | salewski quit (Quit: WeeChat 2.3) |
13:50:18 | FromGitter | <alehander42> narimiran, i think one can talk a bit more about the type system, it seems underrated to me |
13:50:27 | FromGitter | <alehander42> otherwise looks good |
13:50:32 | Zevv | alehander42: the plumbing is a bit messy still to get the nim sources through the kernel makefiles, but I'll put something up this week. I added 'kernel' os to the Nim compiler (handful of changes only), and I have a messy project with an out-of-tree kernel make file, a number of stub headers for stdio replacement and then some Nim files |
13:50:44 | FromGitter | <gogolxdong> Nim is opensource and open-minded, of course it hopes everyone get used to it. |
13:52:32 | FromGitter | <alehander42> Zevv, ok, ill try to finish my stub headers for stdio/string/stdlib and then try see if it compiles |
13:52:41 | FromGitter | <alehander42> what does the `kernel` target give you? |
13:52:42 | Araq | gogolxdong: yes, the statement refers to the fact that Nim is not for people who are strongly opinionated about FP/OO designs |
13:53:01 | Araq | Nim is not a better Haskell and doesn't try to |
13:53:22 | Araq | nor is Nim a "better" Smalltalk. |
13:55:25 | FromGitter | <gogolxdong> For those they will find out by themselves, don't try to set flag for a language, it's just a tool, people knows how to use tools. Therer isn't absolute barrier between languages and people. |
13:55:26 | Zevv | alehander42: allocator implementation, kmalloc()/kfree() |
13:55:33 | FromGitter | <alehander42> wait for my "Nim as a TypeScript alternative" article |
13:55:42 | FromGitter | <alehander42> that i'll probably not write |
13:55:56 | FromGitter | <alehander42> yes jsffi docs i know ! |
13:58:02 | FromGitter | <alehander42> Zevv, i see, but arent those a bit yourkernel-specific |
13:58:11 | FromGitter | <alehander42> or are they good defaults |
13:59:01 | * | rnrwashere joined #nim |
13:59:07 | Zevv | well, 'kernel' means 'linux kernel' here. For the rest I assume the kernel makes the best of it, no optimizations beyond the basic alloc and free |
13:59:20 | FromGitter | <alehander42> ah right |
14:00:04 | * | Guest93678 joined #nim |
14:00:09 | * | leorize joined #nim |
14:01:12 | * | rokups joined #nim |
14:01:20 | * | PMunch quit (Remote host closed the connection) |
14:04:43 | * | rnrwashere quit (Ping timeout: 248 seconds) |
14:05:11 | shashlick | @PMunch @narimiran just got back on |
14:05:16 | shashlick | What's up? |
14:05:40 | narimiran | shashlick: can we release the new nimble version? |
14:06:36 | leorize | anyone got a 32bit linux vm? |
14:06:36 | shashlick | Sorry was on vacation so didn't get around to it |
14:06:47 | leorize | because afaict devel is not bootstrapping |
14:06:49 | shashlick | Is @dom96 cool with 0.10.0? |
14:07:20 | shashlick | @leorize could check with the dockcross container |
14:07:40 | shashlick | Nightlies is still failing for 32-bit |
14:08:55 | narimiran | shashlick: we want to have the new nimble for v0.20; and v0.20 is practically ready to be released |
14:09:14 | leorize | you can see #11337 for the current 32bit CI status |
14:10:18 | shashlick | Considering @dom96 has made all releases so far, would like to get his buy in before I tag, unless he has already confirmed with you |
14:12:55 | Araq | so ... what's up with the 32bit failures? |
14:13:00 | Araq | any hints? |
14:13:43 | xace | i dont have a 32bit linux vm running, but i have a 32bit linux machine running... |
14:14:01 | leorize | that also works :p |
14:14:26 | xace | any command in particular you want me to run on it? |
14:14:50 | leorize | try bootstrapping the compiler |
14:15:49 | xace | oki, its going to take a while, with heavy emphasis on "a while" |
14:16:23 | leorize | I've just booted my desktop up and gonna see if anything breaks :p |
14:16:38 | leorize | it's gonna be really embarrassing if it's a just ci prob |
14:16:58 | * | kapilp quit (Quit: Connection closed for inactivity) |
14:17:39 | xace | you never know, i have wrestled many times because of code not supporting 32bit or older cpu's properly |
14:17:46 | leorize | gg it's only a ci prob :P can't repro it with my local opensuse installation |
14:17:57 | xace | i take it i can cancel the git clone then? |
14:18:04 | leorize | sure :) |
14:18:20 | xace | :) |
14:20:20 | leorize | Araq: do you know what could cause this? https://travis-ci.org/nim-lang/Nim/jobs/537749569#L2166 |
14:23:50 | Araq | leorize, no. |
14:24:46 | Araq | but we can debug it together if you want to |
14:25:12 | leorize | sure :) |
14:25:33 | leorize | the biggest prob is that I can't repro this on a local install |
14:25:45 | leorize | so I'm updating it (last time I updated it was in 2018) |
14:25:52 | Araq | oh I thought you could reproduce it |
14:26:23 | dom96 | shashlick, thank you for checking with me |
14:26:41 | dom96 | Before we release we need a changelog entry: https://github.com/nim-lang/nimble/blob/master/changelog.markdown |
14:26:50 | dom96 | Can you write one? |
14:27:10 | dom96 | List of commits here: https://github.com/nim-lang/nimble/compare/v0.9.0...master |
14:31:41 | * | deech_ joined #nim |
14:32:12 | FromGitter | <mratsim> 1) 9.0? When was that? :p |
14:35:48 | shashlick | @dom96 - do you know if any of the changes are breaking? |
14:38:31 | * | seni joined #nim |
14:43:26 | * | solitudesf joined #nim |
14:48:04 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
14:49:14 | * | laaron joined #nim |
14:50:44 | * | kapilp joined #nim |
14:52:20 | Araq | leorize, well? is there a way except adding debug code into Nim and waiting for travis to produce a more helpful error message? |
14:52:36 | leorize | I'm bisecting with travis |
14:52:43 | leorize | https://travis-ci.org/alaviss/Nim/jobs/537824260 |
14:53:13 | Araq | well congrats, you're now on the critical path |
14:53:25 | Araq | which means you'll block the release very soon :P |
14:54:14 | leorize | oops :p |
15:01:57 | leorize | Araq: found how to reproduce |
15:02:00 | leorize | ./koch boot |
15:02:04 | leorize | without -d:release |
15:02:13 | leorize | I should've guessed with that [RangeError] |
15:04:44 | Araq | indeed |
15:05:55 | Araq | if s.position > int high(int16): |
15:05:55 | Araq | echo c.config $ n.info, " ", n |
15:06:02 | Araq | add this above the failing |
15:06:06 | Araq | c.gABx(n, opcLdGlobalAddr, dest, s.position) |
15:06:11 | Araq | statement |
15:17:10 | * | Senketsu joined #nim |
15:21:15 | * | ng0 quit (Ping timeout: 256 seconds) |
15:24:09 | * | ng0 joined #nim |
15:51:09 | * | laaron quit (Remote host closed the connection) |
15:51:55 | * | laaron joined #nim |
15:56:35 | * | laaron quit (Client Quit) |
15:56:58 | * | laaron joined #nim |
15:58:37 | * | neceve quit (Read error: Connection reset by peer) |
16:01:49 | * | nsf joined #nim |
16:03:04 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
16:03:27 | * | laaron joined #nim |
16:05:16 | * | couven92 quit (Quit: Client disconnecting) |
16:22:33 | * | sealmove joined #nim |
16:26:08 | * | Guest93678 quit (Read error: Connection reset by peer) |
16:26:25 | * | Guest93678 joined #nim |
16:28:02 | shashlick | @dom96 - https://github.com/nim-lang/nimble/compare/master...genotrance:changelog |
16:28:28 | shashlick | everyone please review and let me know how it can be improved - this is the changelog for nimble v0.10.0 |
16:32:21 | skrylar[m] | basic message unpacking done, woo o/ |
16:35:41 | narimiran | shashlick: why `:-` for start of a listing? |
16:36:50 | narimiran | shashlick: typo "deprecrated" -> "deprecated" |
16:39:26 | FromGitter | <data-man> Sure. Deprecrated it's Rust's terminology, perhaps. |
16:40:45 | narimiran | :P |
16:47:59 | leorize | Araq: nothing is printing |
16:51:05 | leorize | latest CI: https://travis-ci.org/nim-lang/Nim/jobs/537873368#L2102 |
16:51:07 | leorize | commit: https://github.com/nim-lang/Nim/pull/11337/commits/ff163527bbead1a2fe9642b09fd30c6d60de8d5e |
16:51:57 | * | floppydh quit (Quit: WeeChat 2.4) |
16:52:25 | FromGitter | <alehander42> btw zev |
16:52:28 | FromGitter | <alehander42> zevv |
16:53:03 | FromGitter | <alehander42> I use something like "~/nim/compiler/nim c -d:release --passC:'-I/usr/local/cross/lib/gcc/i686-elf/8.1.0/include-fixed/ -I/usr/local/cross/lib/gcc/i686-elf/8.1.0/include/ -L/home/al/nimkernel' --gcc.exe:$1 main.nim" % CC |
16:53:29 | FromGitter | <alehander42> long story but afaik i also pass my directory as -I somewhere |
16:53:52 | FromGitter | <alehander42> the problem is when i have custom stdio.h, it does compile but it doesnt seem to link: and -L doesnt seem to help |
16:54:07 | FromGitter | <alehander42> is this a nim issue(not passing correctly flags) or i dont get something about linking |
16:54:21 | FromGitter | <alehander42> (undefined reference to exit etc) |
16:57:08 | narimiran | leorize: the only 'interesting' detail i can see is that it fails only on the third iteration of bootstrapping!? |
16:57:44 | leorize | that's when the bootstrapped devel compiler is used to compile itself |
16:57:50 | FromGitter | <alehander42> oh nv |
17:04:23 | FromGitter | <alehander42> its in linking: `CC, "-T linker.ld -o main.bin -ffreestanding -O2 -nostdlib boot.o nimcache/main.c.o nimcache/stdlib_system.c.o nimcache/ioutils.c.o"` |
17:04:38 | FromGitter | <alehander42> so the problem is maybe in -nostdlib and not seeing the local stdio.h file |
17:05:15 | Zevv | hi there |
17:05:53 | Zevv | yeah, it's a lot of kludges. I defined my own exit and other procs. |
17:06:18 | Zevv | I'm trying to clean up the bare minimum. The Nim libs make assumptions about at least ansi C stuff being available it seems |
17:07:12 | Zevv | https://github.com/zevv/Nim/tree/linux-kernel this one has the `kernel` OS, for what it's worth |
17:07:21 | FromGitter | <alehander42> oh God i had wrong stuff |
17:07:30 | FromGitter | <alehander42> otherwise |
17:07:34 | FromGitter | <alehander42> i only want to be able |
17:07:47 | FromGitter | <alehander42> to pass to linker my own std<>.h |
17:08:07 | * | sz0 joined #nim |
17:08:09 | FromGitter | <alehander42> but i guess i need to build .o objects from my own std header/c files as well first |
17:08:21 | Zevv | messy, eh :) |
17:09:00 | FromGitter | <alehander42> i am just not sure if this is the right way to do it in c-land |
17:09:34 | Zevv | well, kernel is more a C island |
17:13:35 | FromGitter | <alehander42> ok |
17:13:43 | FromGitter | <alehander42> yeah i plan to call lodka |
17:13:45 | FromGitter | <alehander42> my kernel |
17:13:50 | FromGitter | <alehander42> which is boat in bulgarian |
17:13:57 | FromGitter | <alehander42> but what i wonder is |
17:14:37 | FromGitter | <alehander42> i call i686-elf-gcc with -nostdlib --ffree.. etc and pass a list of .o files |
17:15:02 | FromGitter | <alehander42> does this mean i should somehow also pass .o files of my custom/stdio.c |
17:15:07 | FromGitter | <alehander42> stdio.h * |
17:15:12 | Zevv | not of the .h's |
17:15:28 | Zevv | those usually do not contain implementations, only declarations |
17:15:45 | FromGitter | <alehander42> so i should define |
17:15:54 | FromGitter | <alehander42> also stdio.c or just define those in my code? |
17:16:20 | Zevv | well, let's start over a bit. Are we talking the same thing when talking about 'kernel'. My effort is to get Nim running in linux kernel space |
17:16:29 | Zevv | but you're already talking your own custom kernel, right? |
17:16:46 | FromGitter | <alehander42> yes |
17:17:03 | FromGitter | <alehander42> i am not familiar with how kernel modules work indeed, but i suppose its similar |
17:17:27 | Zevv | well, in the end it is all just C code. But it depends on what the rest of the stuff you link against offers |
17:17:58 | Zevv | If you make your own OS, you probably should implement your stdio necessities in your platform |
17:18:04 | Zevv | not in each and every app |
17:18:16 | FromGitter | <alehander42> yes indeed |
17:18:28 | Zevv | so you make your own libC which comes with your OS |
17:18:30 | FromGitter | <alehander42> i just dont understand how stdlib works internally very well |
17:18:34 | FromGitter | <alehander42> so yeah i wanted to do that |
17:18:44 | FromGitter | <alehander42> but i thought i can just put impls in the .h files |
17:18:49 | FromGitter | <alehander42> which doesnt make sense yeah |
17:18:59 | FromGitter | <alehander42> so i guess i can just create for now a libc.c file |
17:19:02 | Zevv | that breaks as soon as you include it from more then one place. |
17:19:02 | skrylar[m] | https://pastebin.com/V4E7tBK9 bmessages in pure nim... now i just have to deal with the threading and sending them :b |
17:19:07 | FromGitter | <alehander42> which implements the functions |
17:19:20 | FromGitter | <alehander42> well you have header guards? |
17:19:49 | Zevv | that doesn't help you |
17:20:08 | Zevv | that's only to avoid recursion |
17:20:12 | FromGitter | <alehander42> yeah indeed |
17:20:16 | FromGitter | <alehander42> but the libc.c file |
17:20:18 | FromGitter | <alehander42> sounds ok |
17:20:19 | FromGitter | <alehander42> thanks! |
17:20:57 | leorize | Araq: removed the conditional, got: ../lib/system.nim(1863, 5) nimvm right before traceback |
17:24:31 | * | Jesin quit (Quit: Leaving) |
17:27:18 | * | Elronnd quit (Remote host closed the connection) |
17:28:57 | * | Jesin joined #nim |
17:33:53 | clyybber | skrylar[m]: What are you working on? |
17:34:43 | FromGitter | <alehander42> zevv nice |
17:34:46 | FromGitter | <alehander42> it compiles now for me |
17:34:52 | FromGitter | <alehander42> and it probably does something stupid |
17:35:04 | FromGitter | <alehander42> as i just implement empty int setjmp {} void* memcpy {} etc stuff |
17:35:22 | FromGitter | <alehander42> but it compiles and runs so i guess i just need to port those functions correctly |
17:37:02 | * | elrood joined #nim |
17:37:16 | * | slugm quit (Ping timeout: 258 seconds) |
17:37:59 | skrylar[m] | clyybber: desktop application kit ._. so one day i can go back to nim from lazarus |
17:38:04 | skrylar[m] | its heavily patterned from Be/Haiku at the moment, because when comparing Qt/Wx/VCL/Haiku, haiku's actually got a shallow inheritance tree and not too much interfacing magic going on |
17:38:37 | Araq | hint: there is nothing to "port", memcpy does not depend on a freaking OS |
17:39:29 | clyybber | skrylar[m]: Cool, sounds interesting for sure, do you have a git repo set up? |
17:39:39 | * | slugm joined #nim |
17:39:57 | skrylar[m] | clyybber: i do but its just on my hard drive |
17:40:49 | shashlick | Araq, narimiran - nightlies is failing on 32-bit - https://github.com/nim-lang/Nim/blob/devel/lib/pure/unicode.nim#L916 |
17:40:51 | * | rnrwashere joined #nim |
17:41:28 | shashlick | http://ix.io/1KdE |
17:42:19 | shashlick | full travis log: https://api.travis-ci.org/v3/job/537635492/log.txt - note large |
17:42:30 | * | ShalokShalom joined #nim |
17:42:31 | narimiran | argh, do we know when it started failing? |
17:43:09 | shashlick | has failed for last 4 days |
17:43:39 | leorize | narimiran: after my PR, maybe? :p |
17:44:00 | shashlick | dc6a4b1d43c7980c166e1d3c73a0e96fd26f5eaf passed, 44cc5f6360c7ccc96c296948b2524bd2cdebf1f0 failed |
17:44:37 | * | rnrwashere quit (Remote host closed the connection) |
17:48:23 | * | jjido joined #nim |
17:48:48 | FromGitter | <alehander42> Memcpy implement sorry you're right |
17:49:21 | Zevv | alehander42: https://github.com/zevv/nim-kernel-module is my latest code. Uses newruntime, can do stuff with strutils etc. Not sure if any of it makes sense :) |
17:49:37 | * | ShalokShalom quit (Remote host closed the connection) |
17:49:47 | shashlick | @leorize, @narimiran - https://github.com/nim-lang/Nim/compare/dc6a4b1d43c7980c166e1d3c73a0e96fd26f5eaf..44cc5f6360c7ccc96c296948b2524bd2cdebf1f0 |
17:50:30 | narimiran | 44cc5f6 is my commit :) https://github.com/nim-lang/Nim/commit/44cc5f6360c7ccc96c296948b2524bd2cdebf1f0 |
17:51:21 | narimiran | dc6a4b1 is also my commit :) |
17:51:30 | shashlick | well a lot changed between those two |
17:51:31 | narimiran | ok, somewhere in between those two |
17:51:39 | leorize | Araq: have you looked at the messages above? |
17:51:49 | Araq | leorize, yeah but it makes no sense |
17:51:57 | narimiran | shashlick: i'm guessing this might be one of the potential suspects: https://github.com/nim-lang/Nim/commit/1251e1ad16845203decb5c9087e6e0240c8d066f |
17:56:00 | leorize | Araq: yea, want me to try anything else? |
17:58:49 | narimiran | btw, leorize and shashlick both of you are reporting RangeError failures! (cc Araq) |
17:59:13 | leorize | traced it down to this https://github.com/nim-lang/Nim/commit/3a06022071d3ecf62c8e2f4812062e2e2fe71954 |
17:59:18 | Mister_Magister | how can i catch exception and do nothing? |
17:59:34 | leorize | Mister_Magister: use discard |
17:59:43 | Mister_Magister | discard doesn't catch exception |
17:59:53 | Mister_Magister | oh |
17:59:56 | Mister_Magister | i understand |
18:00:04 | narimiran | Mister_Magister: http://nim-lang.github.io/Nim/manual.html#exception-handling |
18:00:06 | Mister_Magister | thanks |
18:00:47 | narimiran | leorize: yeah, that sounds like it might be the one, but it was outside shashlick's reported range (heh :)) |
18:01:28 | * | Vladar quit (Remote host closed the connection) |
18:01:31 | shashlick | doing a git bisect |
18:03:00 | * | nsf quit (Quit: WeeChat 2.4) |
18:03:13 | Mister_Magister | another question if i make proc that has same name as lib that i'm using how can i specify which one i want to use |
18:03:31 | leorize | <module>.<procname> |
18:03:44 | narimiran | Mister_Magister: can you rename your proc and save you some trouble? ;) |
18:04:00 | Mister_Magister | narimiran: thinking of better proc name is hard |
18:04:04 | narimiran | leorize: i think he means the case of `foo.foo` |
18:04:11 | leorize | it works |
18:04:13 | narimiran | Mister_Magister: debugging stupid bugs is harder ;) |
18:04:27 | Mister_Magister | proc to remove message: removeMessage that catches exception from removeMessage to not catch it everywhere |
18:04:56 | narimiran | leorize: it does? i know that people had reported that they had some problems if they import module foo and then have proc foo |
18:05:00 | * | rockcavera quit (Remote host closed the connection) |
18:05:15 | shashlick | @narimiran - looks like the range is wrong since the first break was for something else |
18:05:25 | Mister_Magister | leorize: but what is the name of module of my nim app |
18:05:30 | shashlick | i'll get a better answer with bisect |
18:05:43 | leorize | Mister_Magister: the module name is the file name sans .nim |
18:05:54 | Mister_Magister | what if i have variable with same name as file name |
18:06:06 | Mister_Magister | jesus this is getting complicated xd |
18:06:07 | leorize | no problem as well |
18:06:13 | narimiran | Mister_Magister: can't you try and tell us what happens? |
18:06:16 | shashlick | seems like xmltree is also broken, since unicode fails now, it doesn't get till xmltree |
18:06:35 | Mister_Magister | narimiran: expression 'read(future740487)' has no type (or is ambiguous) |
18:06:37 | shashlick | xmltree failure - https://api.travis-ci.org/v3/job/536110651/log.txt |
18:06:47 | Mister_Magister | i will just rename it lol |
18:06:50 | leorize | here's a CI job on 32bit before that range commit: https://travis-ci.org/alaviss/Nim/jobs/537897871 |
18:07:48 | Mister_Magister | leorize: there is problem |
18:08:02 | Mister_Magister | it wants to call that function with variable as the parameter |
18:09:21 | narimiran | shashlick: huh, that's strange, what would fail in that example? |
18:09:25 | leorize | it's a strong indicator that you should name your variables / modules better |
18:10:41 | narimiran | now what did i tell you just 5 minutes ago ;) |
18:10:42 | shashlick | @leorize - confired `Enable range checking for unsigned integers (#11313)` is the first bad commit for unicode.nim failure |
18:11:12 | narimiran | shashlick: thanks for doing bisect! |
18:11:19 | shashlick | is there already a defect tracking that issue? |
18:11:31 | leorize | https://github.com/nim-lang/Nim/pull/11337 |
18:11:42 | * | rockcavera joined #nim |
18:11:59 | Araq | er ... how can I get a GCC for 32bits? |
18:12:06 | leorize | on windows? |
18:12:11 | Araq | it dies with 'cannot find sys/cdefs.h' |
18:12:12 | leorize | get mingw64-w32 |
18:12:17 | Araq | no, I'm on Linux |
18:12:24 | shashlick | @leorize - can you also verify that the unicode issue is fixed? command line is `bin/nim doc --hint[Conf]:off --hint[Path]:off --hint[Processing]:off -d:boot --putenv:nimversion=0.19.9 --git.url:https://github.com/nim-lang/Nim -o:web/upload/0.19.9/unicode.html --index:on lib/pure/unicode.nim` |
18:12:31 | leorize | Araq: oh, uh, use 32 bit linux |
18:12:34 | Zevv | -m32 |
18:12:37 | shashlick | araq: just use holy-build-box |
18:13:48 | leorize | anyone up for 32 bit windows testing after this? :p |
18:13:57 | Zevv | nim c --cpu:i386 --passC:-m32 --passL:-m32 |
18:14:07 | shashlick | `docker run -t -i --rm -v /path/to/nimdevel:/io phusion/holy-build-box-32:latest bash` |
18:14:28 | shashlick | i can check it out @leorize - all my windows work is in 32-bit |
18:15:28 | Zevv | hey I can't build nim with 32 bits. I get a value out of range 32769 [RangeError] |
18:15:31 | leorize | sure, it shouldn't be too much more than making appveyor fetch mingw64-w32 |
18:15:41 | leorize | Zevv: that's what Araq is debugging |
18:15:44 | Zevv | Yeah I know :) |
18:15:55 | Zevv | reproduce on 64 bit linux with ./koch boot --cpu:i386 --passC:-m32 --passL:-m32 |
18:16:31 | narimiran | Zevv: shashlick and leorize narrowed it down to this commit: https://github.com/nim-lang/Nim/commit/3a06022071d3ecf62c8e2f4812062e2e2fe71954 |
18:18:04 | Araq | Zevv, that is my command line but my GCC setup doesn't support -m32 |
18:18:11 | Araq | of course with a totally silly error message |
18:18:18 | leorize | Araq: what linux distro are you using? |
18:18:25 | Araq | Ubuntu |
18:18:44 | Zevv | you need to setup your i386 environment, multiarch. That's not installed by default |
18:19:02 | Zevv | which ubuntu version? |
18:19:14 | shashlick | really recommend docker, it is 2 minutes worth |
18:19:38 | Araq | 16.04 |
18:20:28 | leorize | install gcc-multilib |
18:20:42 | * | rokups quit (Quit: Connection closed for inactivity) |
18:20:46 | * | Trustable joined #nim |
18:21:38 | Zevv | ^ |
18:22:29 | leorize | maybe I could have just patched koch then use gcc-multilib instead of spinning a docker image for 32bit CI |
18:24:53 | Araq | cannot find bits/c++config.h |
18:25:20 | leorize | install g++-multilib |
18:25:23 | Zevv | apt-get install lib32stdc++-5-dev |
18:25:45 | Zevv | support for multiarch has been added to debian over the last few years, but the mechanisms changed a few times |
18:26:00 | Zevv | I'm never sure how to get all the proper packages installed, have to look it up for each individual version |
18:26:29 | Araq | that worked, thanks |
18:28:37 | shashlick | faster hashing commit broke xmltree - @narimiran |
18:29:09 | shashlick | `bin/nim doc --hint[Conf]:off --hint[Path]:off --hint[Processing]:off -d:boot --putenv:nimversion=0.19.9 --git.url:https://github.com/nim-lang/Nim -o:web/upload/0.19.9/xmltree.html --index:on lib/pure/xmltree.nim` |
18:29:27 | dom96 | shashlick, thanks for writing that up |
18:29:29 | dom96 | Shall I tag? |
18:29:44 | * | sealmove quit (Quit: WeeChat 2.4) |
18:30:06 | shashlick | http://ix.io/1KdX |
18:30:36 | shashlick | https://api.travis-ci.org/v3/job/537080046/log.txt |
18:30:41 | shashlick | @narimiran ^^ |
18:30:43 | narimiran | shashlick: and faster hashing broke that? |
18:30:50 | shashlick | yes - just bisected |
18:31:44 | narimiran | shashlick: can you comment out that example and see if some others in xmltree also fail? |
18:32:02 | shashlick | brb - lunc |
18:35:37 | * | slugm_ joined #nim |
18:35:53 | leorize | narimiran: just in case you want a bug hunt: https://travis-ci.org/alaviss/Nim/jobs/537897871 |
18:36:09 | leorize | download the raw log and look for "after_failure" |
18:36:19 | leorize | all failed tests are there :) |
18:38:36 | * | slugm quit (Ping timeout: 272 seconds) |
18:39:36 | narimiran | argh, what a nice, relaxing afternoon |
18:43:01 | narimiran | well, i can reproduce /nim/lib/pure/hashes.nim(351, 14) `hash(xx) == hash(ii)` [AssertionError] when i modify it a bit (so it triggers the same behaviour on 64bit) |
18:44:29 | * | laaron quit (Remote host closed the connection) |
18:45:08 | narimiran | but i still don't see how would that produce an error in xmltree |
18:45:24 | leorize | 32 bit magic :p |
18:45:52 | Zevv | so, 16 bit tests is next? |
18:46:25 | * | laaron joined #nim |
18:46:31 | narimiran | Zevv: can you test `nim doc` with 32-bit? |
18:47:12 | Zevv | just one run, or is there a test suite for that? |
18:48:00 | * | slugm_ quit (Ping timeout: 248 seconds) |
18:48:11 | * | slugm joined #nim |
18:48:18 | narimiran | just `nim doc lib/pure/xmltree.nim` |
18:49:49 | narimiran | leorize: i've pushed the fix for the test i mentioned above. 1 down, 432498 to go. |
18:50:01 | Zevv | I can't make a 32 bit nim. I get a range error :) |
18:50:12 | narimiran | hahaha |
18:50:58 | narimiran | can you checkout HEAD~7 ? |
18:51:13 | Zevv | wait why can't I do a koch boot, but I *can* do a koch temp |
18:51:32 | leorize | Zevv: do a boot with -d:release |
18:51:34 | Zevv | is that debug flags? |
18:51:37 | leorize | that disables range check |
18:51:54 | Zevv | who needs range checks anyway. |
18:52:08 | leorize | but it's default so :p |
18:52:39 | Zevv | nim doc failed |
18:52:49 | Zevv | http://p.zevv.nl/?4857 |
18:53:19 | Zevv | well, that's not the doc problem, it's because my 32 bit nim invokes a 64 bit gcc |
18:53:41 | leorize | do some PATH magic and you'll be good to go |
18:54:14 | Zevv | I can't pass compiler flags to nim doc |
18:54:31 | narimiran | ok, we can get around this |
18:54:41 | Zevv | wait a sec, I'll make a gcc wrapper hack |
18:55:10 | narimiran | your regular `nim doc file` creates a `...cache/......file_examples` file |
18:55:12 | dom96 | shashlick, narimiran: tagged Nimble v0.10.0 |
18:55:21 | narimiran | dom96: great, thanks! |
18:55:35 | Zevv | ok, the hack worked, but doc failed still: http://p.zevv.nl/?d081 |
18:56:10 | narimiran | Zevv: great, now can you comment out that test and see if there are others which fail too? |
18:56:47 | narimiran | i'm tapping in the dark and would like to see if there is some pattern to it so maybe i can narrow it down |
18:57:12 | Zevv | ok |
18:57:53 | Zevv | there's no source line number in the assertion error |
18:58:24 | * | clyybber quit (Quit: WeeChat 2.4) |
18:59:17 | Zevv | success |
18:59:28 | Zevv | success |
19:00:21 | narimiran | only that one example was failing? |
19:00:48 | Zevv | no, all three examples doing stuff with key2="second value" |
19:01:44 | narimiran | ahh, is it just the order of the tags? can you just print `$k`? |
19:01:49 | Zevv | yes it is |
19:01:52 | Zevv | I just confirmed |
19:02:03 | Zevv | < <treeTag key1="first value" key2="second value"> |
19:02:03 | Zevv | --- |
19:02:03 | Zevv | > <treeTag key2="second value" key1="first value"> |
19:02:03 | Zevv | ico@platdoos:~/external/Nim(devel)$ |
19:02:30 | Zevv | well, it |
19:02:35 | Zevv | 's not *wrong*, is it |
19:02:40 | Zevv | xml-wise |
19:03:01 | narimiran | yay |
19:03:03 | leorize | narimiran: you're using manjaro, right? then it should be easy to replicate zevv's setup |
19:03:12 | narimiran | leorize: yep, manjaro here |
19:03:38 | leorize | hmm, the wrong orders can be seen in my CI job too |
19:03:44 | narimiran | leorize: i just did, i used command "zevv, can you do it for me?", works like a charm! |
19:04:48 | Zevv | the things I do for love |
19:07:11 | leorize | Zevv: so 32 bit nim + gcc wrapper and you'll never need to set --cpu and --passC, right? |
19:07:32 | Zevv | My wrapper is `/usr/bin/gcc -m32 "$@" |
19:07:52 | leorize | sounds like a better solution than my docker |
19:08:02 | leorize | alright, will try it tmr |
19:08:46 | Araq | well I cannot reproduce the problem in a small program |
19:09:07 | Araq | I think we should revert this patch until the compiler is ready for it |
19:13:29 | * | zielmicha__ quit (Read error: Connection reset by peer) |
19:15:45 | * | l1x quit (Read error: Connection reset by peer) |
19:18:22 | narimiran | Zevv: what is the third failing example? i managed to find only two of them |
19:19:23 | narimiran | one is `newXmlTree`, the other one is `clear` |
19:19:52 | * | rayman22201 quit (Ping timeout: 264 seconds) |
19:19:58 | Zevv | I'll recheck |
19:20:37 | Zevv | toXmlAttributes*() |
19:20:49 | Zevv | but it's probably not deterministic, right? |
19:20:52 | narimiran | thanks |
19:21:14 | narimiran | i'll just replace runnableExamples with ..code-block:: |
19:22:40 | * | slugm quit (Ping timeout: 248 seconds) |
19:24:47 | dom96 | shashlick, hm, I have a task called `server` in my .nimble file and getting an "task 'server' doesn't exist" error :/ |
19:24:54 | dom96 | renaming it to `fooserver` fixes it |
19:25:14 | narimiran | Zevv: i think it has to do with different hashes created for 32- and 64-bit due to intsize |
19:26:46 | Zevv | makes sense. I don't know the XML code, but is it supposed to preserve tag order? |
19:26:50 | Zevv | attribute order, that is |
19:26:58 | narimiran | i hope not :D |
19:27:31 | leorize | if you looked at the failed tests on 32bit, a lot of them has to do with mixed ordering |
19:28:03 | narimiran | well, toXmlAttributes calls newStringTable, so no order :) |
19:28:13 | dom96 | shashlick, I also have a `client` task which also works |
19:28:27 | narimiran | leorize: yep, i noticed it, but until now i didn't connect the dots |
19:29:25 | * | rockcavera quit (Remote host closed the connection) |
19:29:35 | jjido | order of attributes doesn't matter to XML parser, but it may matter to humans. I would try preserving it. |
19:30:29 | Zevv | true |
19:33:12 | Araq | ok, I reproduced the regression in a small example |
19:33:16 | * | Jesin quit (Quit: Leaving) |
19:33:51 | Zevv | Araq: is all memory allocs always and only going through os[Try]AllocPages? |
19:34:46 | * | nsf joined #nim |
19:34:58 | * | deech_ quit (Ping timeout: 272 seconds) |
19:35:07 | Araq | quite, sometimes allocShared is mapped to malloc |
19:35:16 | Zevv | ok, thanks |
19:38:04 | * | Jesin joined #nim |
19:41:29 | * | zielmicha__ joined #nim |
19:42:39 | * | rockcavera joined #nim |
19:44:11 | * | l1x joined #nim |
19:44:32 | * | vlad1777d quit (Ping timeout: 248 seconds) |
19:47:15 | * | rayman22201 joined #nim |
19:48:18 | * | zielmicha__ quit (Read error: Connection reset by peer) |
19:48:36 | * | zielmicha__ joined #nim |
19:57:46 | narimiran | leorize, shashlick, Araq: i've fixed four tests which were failing here (https://api.travis-ci.org/v3/job/537897871/log.txt); JS tests remain, as does ttimes.nim |
19:58:57 | narimiran | good night everybody |
20:00:42 | Zevv | pff Nim starts eating half a megabyte as soon as I need to alloc a tiny weene little bit of memory |
20:00:55 | shashlick | @dom96 can you share the nimble file? |
20:01:28 | jjido | Zevv how tiny? lol |
20:02:06 | dom96 | shashlick, https://gist.github.com/dom96/5a86d44218edd56828cdcbe90713e36e |
20:03:54 | Zevv | jjido: It starts with 50 bytes. Nim thinks it is a good idea to proactively do some allocation and starts with nimMinHeapPages = 128*4096 |
20:06:58 | * | kapilp quit (Quit: Connection closed for inactivity) |
20:09:13 | * | narimiran quit (Ping timeout: 245 seconds) |
20:21:37 | Araq | yeah guess what |
20:22:12 | Araq | allocating from the OS is super slow so we try to avoid it. Which means we allocate larger blocks |
20:24:26 | * | nsf quit (Quit: WeeChat 2.4) |
20:25:36 | * | Trustable quit (Remote host closed the connection) |
20:28:13 | Zevv | yeah, I figured that much. I just needed to whine a bit because of my tiny weeny embedded system |
20:28:26 | Zevv | trying to see how far I can push things with the new runtime |
20:30:46 | * | deech_ joined #nim |
20:38:34 | Araq | leorize, pushed a hotfix but it sucks :-) |
20:38:54 | Araq | will continue investigations tomorrow, good night |
20:41:48 | shashlick | @dom96 - just tried your bug.nimble and it works for me on linux, what are you trying on? |
20:42:09 | dom96 | macos |
20:42:30 | shashlick | wish i had an osx i could ssh into |
20:45:03 | shashlick | @dom96 - can you rename your nimblecache and try again? |
20:45:46 | shashlick | assuming you were changing the nimble file in between runs |
20:48:17 | * | abm quit (Quit: Leaving) |
20:50:00 | shashlick | tested on windows and linux at least |
20:53:22 | FromDiscord_ | <DeltaPHC> Do people have any particular style preference when it comes to proc returns? `result` variable vs. `return` statement vs. implicit return |
20:53:39 | FromGitter | <liquid600pgm> result is preferred |
20:53:49 | FromGitter | <liquid600pgm> use return only when you need its flow control features |
20:54:15 | FromGitter | <liquid600pgm> dunno about implicit return, I try to avoid it |
20:54:17 | shashlick | i prefer using result as well - that way proc returns only from one spot |
20:54:23 | FromDiscord_ | <DeltaPHC> I like the terseness of implicit returns |
20:55:12 | FromDiscord_ | <DeltaPHC> and it kinda makes sense in regards to how procs are declared with a `=` |
20:59:10 | dom96 | shashlick, still happening |
20:59:54 | dom96 | DeltaPHC: implicit returns for short-ish functions, `result` for functions that accumulate data, return for everything else |
21:00:13 | dom96 | It's very contextual for me so these aren't strict rules |
21:01:16 | FromDiscord_ | <DeltaPHC> I got used to Rust over the last few months, so implicit returns grew on me. Explicit `return` exists there, but it's not idiomatic when not using it for early return |
21:07:17 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:12:26 | Mister_Magister | when i use for a in b can i get index somehow? |
21:17:54 | oz | Mister_Magister: you mean `for i, x in array: ...` ? |
21:18:01 | Mister_Magister | yes |
21:18:35 | oz | well, yes. |
21:20:49 | * | jjido joined #nim |
21:43:08 | * | elrood quit (Remote host closed the connection) |
21:51:15 | * | beatmox joined #nim |
21:53:57 | * | lritter quit (Quit: Leaving) |
21:58:36 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:07:26 | * | rnrwashere joined #nim |
22:11:58 | * | couven92 joined #nim |
22:13:18 | * | dddddd quit (Ping timeout: 272 seconds) |
22:15:47 | * | solitudesf quit (Ping timeout: 268 seconds) |
22:25:32 | * | apodo quit (Ping timeout: 258 seconds) |
22:40:53 | * | dddddd joined #nim |
22:50:52 | * | deech_ quit (Remote host closed the connection) |
22:51:14 | * | deech joined #nim |
22:51:48 | deech | Why does this output 'false'? 'echo not 1 == 1 - 1' |
22:52:26 | deech | So does this: 'echo 1 == 1 - 1'. |
23:05:16 | * | rnrwashere quit (Remote host closed the connection) |
23:06:45 | * | stefanos82 quit (Remote host closed the connection) |
23:23:23 | * | krux02 quit (Ping timeout: 250 seconds) |
23:31:19 | * | ng0 quit (Remote host closed the connection) |
23:35:45 | * | natrys quit (Quit: natrys) |
23:41:23 | FromGitter | <Varriount> Zevv: For heredocs, I am going to use manual parsing. I'll let the generated parser detect the heredoc start, then parse the rest manually. |
23:53:19 | * | disruptek quit (Ping timeout: 258 seconds) |