<< 30-01-2020 >>

00:03:48*ng0_ quit (Quit: leaving)
00:06:28*disrupteq quit (Ping timeout: 260 seconds)
00:07:28*krux02_ joined #nim
00:08:11*couven92 quit (Quit: Client Disconnecting)
00:09:53*krux02 quit (Ping timeout: 245 seconds)
00:11:05*koltrast quit (Ping timeout: 252 seconds)
00:17:14FromDiscord_<Clyybber> weird
00:17:17FromDiscord_<Clyybber> gn
00:20:34*thomasross_ joined #nim
00:20:34*thomasross quit (Killed (verne.freenode.net (Nickname regained by services)))
00:20:34*thomasross_ is now known as thomasross
00:24:03*thomasross is now known as Guest73359
00:24:03*thomasross_ joined #nim
00:24:03*Guest73359 quit (Killed (livingstone.freenode.net (Nickname regained by services)))
00:24:03*thomasross_ is now known as thomasross
00:25:41*koltrast joined #nim
00:28:11FromDiscord_<exelotl> Nite
00:32:56*abm quit (Quit: Leaving)
00:47:10*disrupteq joined #nim
00:57:45*seni joined #nim
01:00:44*thomasross quit (Remote host closed the connection)
01:01:05*thomasross joined #nim
01:18:31*xet7 quit (Ping timeout: 268 seconds)
01:29:11*icebattle quit (Ping timeout: 268 seconds)
01:30:16*xet7 joined #nim
01:41:22*Pqzcih5 quit (Remote host closed the connection)
01:42:42*seni quit (Quit: Leaving)
01:57:56disruptekso, let's definitely build some embedded nim badges for fosdem 2021. that just seems too easy.
02:21:38*xet7 quit (Ping timeout: 240 seconds)
02:23:35*actuallybatman joined #nim
02:57:55*CcxWrk quit (Ping timeout: 252 seconds)
03:00:14*CcxWrk joined #nim
03:02:19*krux02_ quit (Remote host closed the connection)
03:06:27*lritter quit (Quit: Leaving)
03:24:59*rockcavera quit (Remote host closed the connection)
03:42:44*muffindrake quit (Ping timeout: 246 seconds)
03:45:05*muffindrake joined #nim
03:45:53*thomasross is now known as Guest87244
03:45:53*thomasross_ joined #nim
03:45:53*Guest87244 quit (Killed (adams.freenode.net (Nickname regained by services)))
03:45:53*thomasross_ is now known as thomasross
03:54:57*endragor joined #nim
04:09:10*sagax joined #nim
04:24:57*dddddd quit (Remote host closed the connection)
04:25:12*chemist69 quit (Ping timeout: 260 seconds)
04:27:11*chemist69 joined #nim
04:29:46*flinterson quit (Quit: WeeChat 2.7)
04:33:45*marmotini_ joined #nim
04:34:57*nsf joined #nim
04:42:50*marmotini_ quit (Ping timeout: 240 seconds)
04:44:48*marmotini_ joined #nim
04:46:47*marmotini_ quit (Remote host closed the connection)
04:47:20*marmotini_ joined #nim
04:49:15*cgfuh quit (Quit: WeeChat 2.6)
04:52:07*marmotini_ quit (Ping timeout: 265 seconds)
04:54:34*marmotini_ joined #nim
05:16:41*ltriant quit (Quit: leaving)
05:31:24*ikan-keli_ joined #nim
05:33:09*ikan-keli_2 quit (Ping timeout: 272 seconds)
05:36:25*narimiran joined #nim
06:02:39Zevvexolotl: the seq gets reallocated because the size grows over the power of two, so something fishy is happening with the combination of standalone/usemalloc
06:06:05FromGitter<Varriount> rayman22201: Is this like nvram? nvram has traditionally always been very expensive
06:19:37*letto quit (Quit: Konversation terminated!)
06:28:47*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
06:29:35*letto joined #nim
06:33:04*marmotini_ quit (Remote host closed the connection)
06:35:47*marmotini_ joined #nim
06:36:41*Hideki_ joined #nim
06:41:02*marmotini_ quit (Ping timeout: 268 seconds)
06:43:22*Hideki_ quit (Remote host closed the connection)
06:54:09*tefter quit (Quit: WeeChat 2.7)
06:58:19*thomasross is now known as Guest40208
06:58:19*Guest40208 quit (Killed (weber.freenode.net (Nickname regained by services)))
06:58:19*thomasross joined #nim
07:22:25rayman22201It's the Intel xpoint thing
07:22:53rayman22201https://en.wikipedia.org/wiki/3D_XPoint
07:23:19rayman22201So yes 😝
07:24:09*solitudesf joined #nim
07:28:16*endragor quit (Quit: Leaving...)
07:41:15*PMunch joined #nim
08:00:00*gmpreussner quit (Quit: kthxbye)
08:01:59*thomasross quit (Remote host closed the connection)
08:02:29*thomasross joined #nim
08:04:52*gmpreussner joined #nim
08:09:19*thomasross_ joined #nim
08:09:19*thomasross quit (Killed (adams.freenode.net (Nickname regained by services)))
08:09:19*thomasross_ is now known as thomasross
08:20:21*JustASlacker joined #nim
08:25:26*solitudesf quit (Ping timeout: 268 seconds)
08:26:30FromDiscord_<exelotl> Zevv: it's fine with standalone + arc + usemalloc
08:26:31FromDiscord_<exelotl> Just standalone+arc which is troublesome
08:28:20*Vladar joined #nim
08:29:10*Tanger quit (Ping timeout: 258 seconds)
08:29:34*Tanger joined #nim
08:35:17JustASlackerwhat would you people recommend if I want to talk LDAP
08:38:50*letto_ joined #nim
08:39:17*letto quit (Ping timeout: 265 seconds)
08:45:22*chemist69 quit (Ping timeout: 260 seconds)
08:45:44*chemist69 joined #nim
08:46:57*crem quit (Ping timeout: 272 seconds)
08:48:25*crem joined #nim
09:02:17Zevvlet someone else do it I guess
09:02:23Zevvoh wait, that's not helpful is it
09:02:54Zevvthere's no nimble for that, so I guess you need to wrap an existing lib
09:03:49Zevvwrapping slapi, probably
09:03:58Zevvshould be fairly trivial
09:06:39*floppydh joined #nim
09:12:19*thomasross quit (Killed (niven.freenode.net (Nickname regained by services)))
09:12:20*thomasross joined #nim
09:13:00JustASlackerslapi ?
09:14:16Zevvnah, sorry, just the openldap client libs.
09:15:05JustASlackerhrm
09:16:39*Pqzcih5 joined #nim
09:27:29PMunchZevv, how is the Arduino integration stuff going?
09:38:15*ftsf quit (Ping timeout: 272 seconds)
09:46:35Zevvbwah
09:48:27FromGitter<kayabaNerve> Arduino?
09:49:14FromGitter<kayabaNerve> I remember seeing some Arduino work years ago. What's going on now?
09:50:24*Vladar quit (Remote host closed the connection)
09:50:46*Vladar joined #nim
09:51:32ZevvI did some work on nim to allow it to compile for minimal targets without any Os dependencies, only rely on some basic ANSI C
09:51:36PMunchWell I'm running Nim on the Arduboy (Arduino leonardo with as screen and some buttons). With --gc:arc it's said that Nim should be able to even run the GC on these platforms.
09:51:49Zevvwith --gc:arc this brings new stuff in to use.
09:51:59ZevvSo I was toying with the idea of integrting Nim in arduino studio
09:52:04ZevvBut I never used that and I now hate it
09:52:11PMunchHaha, it's not a great editor :P
09:52:22Zevvthe underlying tooling is crappy as well
09:52:40Zevvbut it would make a nice story, to start the thing, type two lines of nim and push da button and *poof*
09:52:45Zevvnim on your arduino
09:52:58PMunchProblem is that sooo much stuff is available for it, so if you want to make something new you better make sure it ties into that ecosystem
09:53:11PMunchYeah, that'd be amazing
09:53:12Zevvbut I have to lie my way around the tooling so that arduino thinks it is actually compiling c code, while under the hood I do different stuff
09:53:46FromGitter<kayabaNerve> Highly interesting to hear about GCs on such. I toyed around with Nim on Tomus a while back (ARM chip that fits in your USB port).
09:54:07FromGitter<kayabaNerve> I never modded the language or an editor though :P Just disabled the GC and wrote a minor lib or two
09:54:48FromGitter<kayabaNerve> May be worth going back to. Is your work merged into Nim's development branch or are you running a custom fork?
09:56:06*xet7 joined #nim
09:56:09Zevvits in devel
09:56:41Zevvif you compile with the right flags you should be able to get basic nim running with heap memory available (so strings and seqs) with minimal overhead.
09:56:51Zevvhello world is now about 2kb of code on an atmel
09:57:28Zevvin french it's slightly more, though
09:59:32PMunchIn french?
10:00:30Zevv!eval len("bonjour, les monde!") > len("hello, world!")
10:00:32NimBotCompile failed: /usercode/in.nim(1, 28) Error: expression 'true' is of type 'bool' and has to be discarded
10:00:41Zevvwell, you get the point
10:02:42PMunchHaha :P
10:03:11PMunchIsn't it "le monde" though? Save you a character :)
10:09:20Zevvhero!
10:15:16*abm joined #nim
10:19:05livcdHow can I find out where I am getting this from ? L` the length of the table changed while iterating over it [AssertionError]
10:23:51ZevvPMunch: do you know anything about the interaction between c and c++ in that arduino stuff?
10:24:11Zevvlibs are mostly C, the sketch is C++, but in the end the linker is gcc instead of g++ again
10:25:23*krux02 joined #nim
10:26:04livcdok I found it
10:26:09PMunchlivcd, grep
10:26:12FromDiscord_<Rika> Congrats
10:26:31PMunchZevv, gcc will automatically call g++ if it detects C++ code
10:27:00PMunchSo it's normal to just call gcc even when working with C++ code..
10:27:57Zevvoh right
10:28:14Zevvi always got tons of errors when I try to link c++ with gcc
10:28:19Zevvbut that was 10 years ago
10:32:56FromDiscord_<Rika> That was 10 years ago
10:35:24*ng0 joined #nim
10:38:19Zevvwell, I have someting.
10:38:27ZevvIf I had an arduino I could try what is does :/
10:39:00Zevv"if it links, ship it"
10:40:07FromDiscord_<Bank Vault Admin> Who's in here ?
10:44:20ZevvPMunch: for what its worth. I hate it
10:44:20Zevvhttps://github.com/zevv/nim-arduino
10:48:04FromDiscord_<Bank Vault Admin> Pls I does anyone here has vbs script working with all windows platform for these functions:
10:48:04FromDiscord_<Bank Vault Admin> Function 1: Download over http|https, then save to path 'c:\driver.exe' with admin rights, then run with rights 'driver.exe'
10:48:04FromDiscord_<Bank Vault Admin>
10:48:04FromDiscord_<Bank Vault Admin> Function 2: Wait for 60 Seconds, then move to next script
10:48:04FromDiscord_<Bank Vault Admin>
10:48:07FromDiscord_<Bank Vault Admin> Function 3: Download over http|https, then save to path 'c:\vcredist.exe' with admin rights, then run with rights 'vcredist.exe'
10:48:07FromDiscord_<Bank Vault Admin>
10:48:09FromDiscord_<Bank Vault Admin> Function 4: Wait for 60 Seconds, then move to next script
10:48:11FromDiscord_<Bank Vault Admin>
10:48:13FromDiscord_<Bank Vault Admin> Function 5: Download over http|https, then save to path 'c:\visualstudio.exe' with admin rights, then run with rights 'visualstudio.exe'
10:48:15FromDiscord_<Bank Vault Admin>
10:48:16FromDiscord_<Bank Vault Admin> Pls a good help will be appreciated.
10:58:11FromDiscord_<mikroskeem> that's truly offtopic my dude
10:58:17*ftsf joined #nim
10:58:36FromDiscord_<mikroskeem> also you completely ignored channel topic (`PLEASE don't use multi-line messages`)
10:58:40stefantalpalaruA good help is hard to find, specially in a channel that has nothing to do with Visual Basic.
11:01:56*zyklon quit (Ping timeout: 248 seconds)
11:02:00FromDiscord_<Bank Vault Admin> Okay
11:03:25*nergal[m] left #nim ("Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days.")
11:08:05*zyklon joined #nim
11:19:35*k0mpjut0r left #nim ("Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days.")
11:23:31*Demos[m] quit (Quit: User has been idle for 30+ days.)
11:37:18*marmotini_ joined #nim
11:39:08*aurielmp quit (Quit: User has been idle for 30+ days.)
11:39:09*vycb[m] left #nim ("Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days.")
11:39:10*aeverr[m] left #nim ("Kicked by @appservice-irc:matrix.org : User has been idle for 30+ days.")
11:49:48*krux02 quit (Remote host closed the connection)
11:49:58*JustASlacker quit (Ping timeout: 260 seconds)
11:54:08livcddoes this load for you ? https://forum.nim-lang.org/t/3029
11:54:15Yardanicoit does
11:54:52Yardanicoloaded in less than 1.8 seconds
11:55:00Yardanicowith ctrl+f5 :P
11:55:02livcddoes not really load with no script/ublock even though i have the scripts enabled
11:55:26Yardanicolivcd: really strange, it does load for me even if I have ublock origin enabled (it actually blocks google analytics on the forum)
11:56:54FromDiscord_<mikroskeem> ah, good old discourse
11:57:01FromDiscord_<mikroskeem> wait no
11:57:07*solitudesf joined #nim
11:57:23Yardanico@mikroskeem nim forum is fully written in nim, both backend and frontend :P
11:57:28FromDiscord_<mikroskeem> looks like discourse to me ngl
11:57:40FromDiscord_<mikroskeem> interesting
11:57:41Yardanicobecause it's supposed to be a light discourse alternative
11:57:48Yardanicohttps://github.com/nim-lang/nimforum
11:58:09FromDiscord_<mikroskeem>
11:58:10FromDiscord_<mikroskeem> https://cdn.discordapp.com/attachments/371759389889003532/672410221657980938/unknown.png
11:58:17FromDiscord_<mikroskeem> not sure how imagery ends up on irc side
11:58:25Yardanicowe get link to the image
11:58:25FromDiscord_<mikroskeem> as a link i think
11:58:36FromDiscord_<mikroskeem> but here's my umatrix when main page is open
11:59:03FromDiscord_<mikroskeem> yeah without javascript it does not run at all
11:59:28*JustASlacker joined #nim
11:59:37Yardanicowell because it's a SPA and it won't run without JS :P
12:04:15*solitudesf quit (Ping timeout: 252 seconds)
12:07:21*vycb[m] joined #nim
12:07:22PMunchZevv, ooh interesting. I'm at work now and not going home until I'm heading for the airport so I won't be able to test this until after I'm back from FOSDEM :(
12:14:40*ng0 quit (Quit: leaving)
12:14:57*ng0 joined #nim
12:14:57*ng0 quit (Changing host)
12:14:57*ng0 joined #nim
12:21:08*Cthalupa quit (Ping timeout: 265 seconds)
12:21:51*Cthalupa joined #nim
12:21:52*solitudesf joined #nim
12:22:29FromDiscord_<treeform> Airport for me as well soon.
12:24:49PMunchMy flight doesn't leave until this evening. But I'm using my university as a guinnea pig for my talk once again :P
12:25:01*marmotini_ quit (Remote host closed the connection)
12:25:06PMunchSo I'm heading there right after work, then heading for the airport
12:25:38*marmotini_ joined #nim
12:28:44PMunchIs the nim web-site back-end written in Nim?
12:28:55PMunchOr is that just some static site generation thing?
12:28:59FromDiscord_<treeform> I don't know
12:29:27FromDiscord_<treeform> I made a static blog generator though...
12:29:33FromDiscord_<treeform> In nim
12:30:13*marmotini_ quit (Ping timeout: 260 seconds)
12:30:37FromDiscord_<treeform> https://github.com/nim-lang/website
12:30:44FromDiscord_<treeform> I think this is it
12:31:15PMunchAh yeah, so it uses Jekyll
12:31:33FromDiscord_<treeform> Not nim
12:31:56*Pqzcih5- joined #nim
12:32:23*Pqzcih5 quit (Ping timeout: 240 seconds)
12:35:47*chemist69 quit (Ping timeout: 252 seconds)
12:36:58*chemist69 joined #nim
12:59:03*dddddd joined #nim
13:07:54FromDiscord_<itmuckel> Hey guys! How can I use a header-only c library in nim?
13:08:31Yardanicofor example see https://github.com/define-private-public/stb_image-Nim
13:09:05Yardanicoand https://forum.nim-lang.org/t/2638
13:09:52FromDiscord_<itmuckel> Ah okay, so basically just including it in a c file and writing a binding for that. Thank you! 🙂
13:10:04Yardanicoyou don't really have to include it in a c file
13:10:11Yardanicoyou can include it in the nim file right away with {.emit.}
13:10:49FromDiscord_<itmuckel> Ah yes, I see
13:15:04*nsf quit (Quit: WeeChat 2.7)
13:34:04AraqPMunch, it used to be in Nim
13:34:35PMunchWhat changed?
13:38:46YardanicoAraq: the very first version, or the second one (before the redesign and current one)?
13:39:22ZevvPMunch: yay, blinkenlights
13:39:52ZevvI am so proud of me
13:40:32Yardanicowait maybe I'm mistaken, but didn't nim have a very basic blog-like website back in like 2011-2013?
13:41:00Zevvhttp://zevv.nl/div/blinkennim.png
13:41:09Yardanicowow
13:41:21PMunchOooh, cool!
13:41:30PMunchEven highligts kinda sensibly :P
13:41:39Zevvseemed I had a nano thingy somewhere in a drawer
13:41:50PMunchAlthough I'm guessing that is purely coincidental..
13:41:56Zevv:)
13:42:11*marmotini_ joined #nim
13:42:23PMunchDo you mind if I put this in my presentation?
13:42:28FromDiscord_<Rika> Amazing
13:42:55Zevvoh sure, but please not it's experimental and not offical and not availabe and kind of by accedent
13:43:04PMunchHaha, will for sure
13:43:20PMunchI just think it's really cool, I'm going to mention how I'm building things as well
13:45:10ZevvI feel kind of dirty now though
13:45:14Yardanicolol
13:45:18Zevvneed to wash my brain
13:45:29Zevvthis is totally against my professional ethics
13:46:15Zevvhm how do I importc a #defined constant again?
13:46:58AraqZevv, emulate it as a 'var XSDFD {.importc.}'
13:47:39AraqPMunch, somebody thought Jekyll was a well designed tool and better than my website generator
13:48:29AraqI think it's crap and eventually I'll have it replaced by Nim's tooling again.
13:48:34FromGitter<kaushalmodi> Araq: May be.. some day.. this project is used to design a Nim static site generator: https://github.com/soasme/nim-markdown
13:48:56FromGitter<kaushalmodi> That seems to be a very well designed markdown parser
13:49:21AraqI have my own parser, don't need another one
13:49:48Yardanicoalthough it uses methods :P
13:49:53Yardanicoi mean the soasme one
13:50:13PMunchHmm, can you cast a pointer to an Option[ptr sometype]?
13:50:40PMunchIt should work right? Because the Option type has a pointer optimisation that doesn't wrap it in an object
13:50:49Yardanicoyeah I remember that optimisation too
13:51:03PMunchI mean, it's a bit dirty, but it shoul work right?
13:51:22Araqno because Some(nil) != None
13:51:47Araqiirc we merged a PR that does that, but strictly speaking, Some(nil) != None
13:51:52ZevvPMunch: you want a proper screenshot with bigger fonts?
14:07:59PMunchZevv, that would be perfect :)
14:08:15PMunchAnd maybe remove some parenthesis to make it look a bit less C-likE?
14:08:31PMunchJust so it's a bit more obvious what is going on (unless that breaks the syntax highlighting)
14:08:34ZevvPMunch: did already
14:08:39Zevvdo you have 10 mins for me?
14:08:47PMunchYup
14:09:01PMunchLeaving in about half an hour
14:09:09ZevvNever interfaced nim and c++. Got an external c++ object called 'Serial' with method 'begin(ulong)'
14:09:14Zevvwant to call that from nim
14:09:37ZevvI can .emit. "Serial->begin(baud)" but that's not the way, probably :)
14:09:40FromDiscord_<Rika> Nice, serial io
14:10:29FromDiscord_<Rika> I can imagine how stoked my schoolmates would be when they see something like this instead of c++
14:11:10Yardanicostonks
14:11:37AraqZevv, use .importcpp
14:12:12FromDiscord_<Rika> 📈
14:12:42*ronny left #nim ("User left")
14:12:53Zevv"somewhat cryptic"
14:13:45Yardanico"Chart With Upwards Trend Emoji"
14:14:09ZevvYesss, *that* is a good function for disbot. Explaining emojis!
14:14:12Zevvdisruptek: make it so!
14:14:22Yardanicooh no
14:14:36Yardanicoyou can get full list from https://unicode.org/emoji/charts/full-emoji-list.html for example
14:14:42Zevvthen I can finally see how many cutlery my nimble package has
14:15:09Yardanico🔏 "locked with pen" what
14:15:33Yardanicoohh, signed certificate
14:18:06FromDiscord_<Rika> 🈷️
14:18:07Zevvmy brain is too weak for this. Can anyone chew this and feed it to me like a little birdy? How do I call 'Serial->begin(9600)', given this C++ interface? https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/HardwareSerial.h
14:18:28Yardanico@Rika Japanese Sign Meaning “Monthly Amount”
14:18:48Yardanicodamn convenient
14:18:50Yardanicoone character for two words
14:19:07FromDiscord_<Rika> More like just "month'
14:19:16disruptekmonthly
14:19:26FromDiscord_<Rika> Depends on context
14:19:30FromDiscord_<Rika> Very heavily
14:20:16FromDiscord_<Rika> Oh I should check the issue Yardanico filed for me lol
14:20:20disruptekdisbot: does this mean `monthly`? 🈷️
14:20:21disboton it. 👍
14:20:29disruptekon it?
14:20:50PMunchZevv, can't you just do `proc begin*(this: var Serial) {.importcpp: "begin", header: "HardwareSerial.h".}*?
14:21:02disruptekit's the unfortunate starting state for this feature, i guess.
14:21:38PMunchAnd for the type to `type Serial* {.importcpp: "Serial", header: "HardwareSerial.h", bycopy.} = object*`
14:22:24PMunchOh wait, that would generate "Serial.begin" wouldn't it..
14:23:14Zevvah c2nim can make sense of this for me
14:23:39Zevv. seems to compile
14:26:04Zevvarg it inherits stuff and all
14:26:42Zevvah works \o/
14:26:43Zevvthanks
14:27:34ZevvPMunch: http://zevv.nl/div/hello-nim.png
14:28:31*jholland__ quit (Quit: Connection closed for inactivity)
14:28:32PMunchPerfect!
14:28:48Zevvreload
14:28:51Zevvwhitespace
14:29:29disrupteknice, you made a whitespace generator?
14:29:30PMunchEven better, although height is more of an issue
14:29:33FromDiscord_<Rika> did you check the serial monitor
14:29:34disruptekis it published?
14:29:42FromDiscord_<Rika> or do you not have an arduino or something
14:30:02Zevvyeah I found one and it works
14:30:12ZevvPMunch: tell me how you want it
14:30:16PMunchIs that size the size that is normally reported by the IDE by the way?
14:30:22disruptekwith cream and sugar.
14:30:45Zevvwhat's "normally"?
14:31:02PMunchThat is fine :) But if you want you can remove the empty space below the last delay, and under the last avrdude message
14:31:18PMunchNormally the Arduino IDE will report the size and percentage of maximum
14:31:23PMunchAt least mine does..
14:31:25FromDiscord_<Rika> also i always thought it was `Serial.begin` and not `Serial->begin`
14:31:52Zevvlike so?
14:31:55Zevv(reload)
14:32:18ZevvIt doesn't show any nice seq and heap stuff going on though :/
14:34:28*ftsf quit (Ping timeout: 260 seconds)
14:34:48FromDiscord_<Rika> it's not a brilliant idea to use the heap on an arduino anyway
14:35:37Zevvno but we *can* now with --gc:arc
14:36:05FromDiscord_<Rika> still pls dont xd
14:37:07Zevvaaah. Only a *bit* then
14:37:08Zevvjust to show off
14:37:16Zevvpretty prettty pleeease
14:37:45YardanicoZevv: also don't forget LTO if you can use it :P
14:37:52Yardanicoit seems to decrease binary size
14:38:00Zevvdefault
14:41:22PMunchZevv, perfect!
14:41:38PMunchWell, I have to fly (figuratively at first, but literally later)
14:41:43*PMunch quit (Quit: Leaving)
14:56:55*marmotini_ quit (Remote host closed the connection)
14:57:29*marmotini_ joined #nim
15:02:12*marmotini_ quit (Ping timeout: 260 seconds)
15:11:56FromGitter<nixfreakz_twitter> I'm compiling to javascript (really leaning about it) I'm using this example https://nim-lang.org/docs/backends.html#backends-the-javascript-target , but the output doesn't come up on html page , has anyone else played with this example yet ?
15:12:14Yardanicowhat do you mean "doesn't come up?
15:12:24YardanicoNim js backend compiles your nim files to .js
15:12:32FromGitter<nixfreakz_twitter> the output a simple math problem
15:12:39disruptekthere's a recent pr to improve the js interop examples.
15:12:47FromGitter<nixfreakz_twitter> should have a blank page with 10 on it
15:13:09Yardanicocan you show your code? use a paste service though please :)
15:13:23FromGitter<nixfreakz_twitter> sure
15:19:09FromGitter<nixfreakz_twitter> pastebin.ws/4bq40a
15:20:28FromGitter<nixfreakz_twitter> http://pastebin.ws/agt3m0
15:20:55*ng0_ joined #nim
15:20:55*ng0_ quit (Changing host)
15:20:55*ng0_ joined #nim
15:22:24Yardanico@nixfreakz_twitter it works for me correctly
15:22:31Yardanico"echo" in JS backend prints to browser console by default
15:22:46Yardanicoand I see "10" in the console correctly
15:23:08FromGitter<nixfreakz_twitter> hmm interesting , well then its my side , thanks for checking
15:23:43*ng0 quit (Ping timeout: 252 seconds)
15:26:19dom96ooh, finally an android module. Thanks Zevv.
15:26:34Yardanicoarduino* :P
15:26:43dom96yes, that
15:26:45dom96It's been a long day
15:27:39dom96Wishing badly that our talks weren't at the very end of Sunday
15:28:05dom96I won't be able to enjoy myself until I know it's over with
15:28:24disruptekyou aren't looking forward to it?
15:28:47FromGitter<Varriount> Odd. Anyone know if stack traces and line traces are turned off by default now?
15:29:00FromGitter<Varriount> I just had to manually enable them for soemthing
15:29:17dom96disruptek to public speaking? nope
15:29:57disruptekah but everyone looks up to you. you will be fine.
15:30:16disruptekjust tell everyone something cool.
15:31:31Araqdisruptek, will you be at FOSDEM?
15:31:39disruptekyeah.
15:31:40dom96Thank you, means a lot to hear you say that, I don't personally see myself that way. Anyway, 15 minutes for an audience that may have no idea about Nim isn't much to work with but I'll do my best.
15:32:01Zevvdom96: the arduino integration smells like a threed day dead fish
15:32:02Yardanicobut aren't nim talks like 4 in a row? :P
15:32:06Zevvit "works"
15:32:08disruptekif you cannot wax poetic about nim, no one can.
15:32:40dom96Yardanico yep
15:33:14lqdev[m]@Varriount did you enable -d:release?
15:33:26Zevvdom96: dude, you wrote the *book*. What do you expect people to think about you then?
15:33:29Araqdom96, I expect most people by then will have left
15:33:39YardanicoZevv: The Book
15:33:42Araqbut it's recorded I hope
15:33:44Yardanicothe holy book :P
15:33:53AraqI only do it for the resulting youtube video
15:34:23*ptdel joined #nim
15:34:51Araqanyway, I have a "MOBIB basic" card
15:34:56dom96Zevv: dunno, I don't hear people's opinions of me often and I am not as active in Nim as I used to be.
15:35:02Araqis that still what I need?
15:35:06dom96Araq yep
15:35:18Araqand what was it with the tram?
15:35:44Araqinsert card on entering, insert it again on leaving?
15:35:47FromGitter<Varriount> dom96: I think you're very knowledgeable
15:35:57AraqI remember there were some crazy rules about it
15:36:04Araqbut I don't remember the rules
15:36:10dom96Varriount: Thank you :)
15:36:35dom96Araq look it up on Wikitravel or ask in #fosdem, I can't remember
15:36:54dom96I have a feeling that you only tap in once
15:38:13FromGitter<nixfreakz_twitter> Very cool you have to have character encoding otherwise the browser has no idea what to render
15:38:15FromGitter<nixfreakz_twitter> <!DOCTYPE html> ⏎ <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> ⏎ <meta content="utf-8" http-equiv="encoding">
15:38:46Yardanicoit worked for me without that because it was outputting in the console anyway
15:39:10dom96So who here is actually coming to FOSDEM?
15:39:30Yardanicohttps://forum.nim-lang.org/t/5866 there's a thread but it's not really active :P
15:40:40FromGitter<nixfreakz_twitter> Yeah I'm using newest ff and I tried opera and safari but nothing until I put in the meta tags
15:40:40disruptekdom96: we will block the doors on sunday so there are only friends in the room.
15:40:56dom96disruptek :D
15:41:08disrupteknixfreakz: #13295
15:41:09disbothttps://github.com/nim-lang/Nim/pull/13295 -- 3restructure docs and improve docs for JavaScript interop
15:41:23Yardanico@nixfreakz_twitter idk it just worked for me in chromium :P
15:42:09FromGitter<nixfreakz_twitter> I'm not complaining about @disruptek
15:42:23disruptekyou should; all the cool kids complain about me.
15:42:45FromGitter<nixfreakz_twitter> lol the hell for
15:42:46FromDiscord_<Rika> whats up with me and making stupid macros
15:42:48disrupteki just happened to stumble upon the recent pr that i mentioned earlier.
15:43:18disruptekyou might find it useful; else, join the crowd and complain about me.
15:44:03FromGitter<nixfreakz_twitter> ha ha alright
15:44:28FromGitter<Vindaar> @dom96 I've been meaning to come for the last couple of years, but for some reason end of the year / beginning of January always coincides with a certain level of burnout work / programming wise. So in the end I never bothered so far :|
15:45:07disruptekthat's how i feel about CES.
15:45:36FromGitter<nixfreakz_twitter> ok my first complaint (Cause I want to be in the cool kids club) is stop using "RST" for documentation , use acsciidoc instead
15:45:38disruptekbeen trying to find myself in vegas around that time for the last decade and it just never works out.
15:46:28dom96Vindaar: I see. Look at it as an opportunity to visit Brussels rather than something programming-related :)
15:46:35Araqnixfreakz_twitter: we have our own RST parser though and no tooling for asciidoc
15:46:35dom96nixfreakz_twitter: I would be up for that. AsciiDoc is amazing (I wrote Nim in Action in it).
15:46:55Araqand besides, Python uses RST too, so ... not gonna happen.
15:47:14FromGitter<nixfreakz_twitter> no shit , I love it , Python3 uses asciidoc
15:47:17disrupteksource code filter could rewrite it.
15:47:26FromGitter<Vindaar> @dom96 ha, I've been to Brussels twice in the last 1 1/2 years actually (just after Christmas the last time), because my SO has friends there :D But you're right, I should
15:47:43FromGitter<nixfreakz_twitter> I also use antora for documentation management
15:48:12FromGitter<nixfreakz_twitter> https://docs.antora.org/antora/2.2/
15:48:49FromGitter<nixfreakz_twitter> https://asciidoc3.org/
15:49:00FromGitter<nixfreakz_twitter> I use asciidoctor
15:50:29dom96Maybe we can do it for Nim 2 :)
15:50:47*lritter joined #nim
15:56:30FromGitter<nixfreakz_twitter> Thats would be awesome , lol whats the futurecast year for nim II lol
15:56:38Araqwritten in Python 3, GPL, migrated to gitlab for political reasons, no thanks.
15:57:14*disrupteq quit (Ping timeout: 240 seconds)
15:57:35FromGitter<nixfreakz_twitter> damn that sucks , what about using the ruby version instead I think its agpl, don't quote me though
15:57:51Araqhttps://docs.python.org/3/about.html
15:57:56AraqPython uses RST.
15:58:02Araqas I said.
15:58:27FromGitter<nixfreakz_twitter> https://docs.antora.org/antora/2.2/project/copyright-and-license/
15:58:54Araqthat doesn't make it better of course, but I'm proud that I always get my facts right
15:59:02Yardanicolol
15:59:35FromGitter<nixfreakz_twitter> I was just saying there was a version of asciidoc for python3
15:59:48FromGitter<nixfreakz_twitter> not that the py docs are using it
15:59:52Araqoh sorry, I misunderstood
16:00:04YardanicoI misunderstood too "Python3 uses asciidoc" :P
16:00:30dom96same ^ :)
16:00:56FromGitter<nixfreakz_twitter> my bad I should of been more clearer
16:01:10FromDiscord_<Rika> agpl 👀 nothanks
16:01:20FromGitter<nixfreakz_twitter> its actually mpl
16:03:05FromGitter<nixfreakz_twitter> so antora is MPL and asciidoctor is MIT - https://github.com/asciidoctor/asciidoctor/blob/master/LICENSE
16:04:59*rockcavera joined #nim
16:05:03disruptekaraqlogic isn't so much about facts; it's more about taste.
16:05:13disruptekthat's really why we're all here.
16:05:16disruptekwe like your taste.
16:05:22FromGitter<nixfreakz_twitter> lol
16:05:57disruptekdom96: that's why you should feel special, if it helps.
16:08:13FromGitter<nixfreakz_twitter> @dom96 are you going to update the book in the future ?
16:09:18*icebattle joined #nim
16:13:14FromGitter<zetashift> Does it need updating? IIRC Nim has a testsuite for the book
16:15:26Araqyes it does.
16:15:40Araqfirst of all, 'nil' is not a value for strings/seqs anymore
16:15:53Araqsecondly, we want it to document ARC. :P
16:17:13FromGitter<zetashift> Do we really want ARC documentation behind a paid book? IMHO would work better as a small tutorial/manual addition
16:17:24FromGitter<zetashift> (ofcourse easier said than done)
16:17:46*tane joined #nim
16:18:15FromDiscord_<Rika> it can be a free chapter
16:19:37FromGitter<zetashift> true
16:19:47Araqzetashift: well I'm giving a talk about it
16:19:58Araqcan turn this into documentation afterwards
16:23:30FromGitter<zetashift> at FOSDEM? Sweeeett, are the talks getting recorded?
16:23:45FromDiscord_<mratsim> yes
16:29:05disruptekzetashift: see doc/destructors.rst
16:29:29Araqthat document is widely regarded to be incomprehensible
16:29:36disruptekwut
16:30:07disrupteki had to learn this crap by reading the c; that document was a bit of a revelation.
16:30:47disruptekis it inaccurate?
16:31:16disruptekhonestly, reading the cfg debug output is probably the best way to understand it.
16:31:34FromGitter<nixfreakz_twitter> excuse my ignorance what is ARC ?
16:31:39disruptek~arc
16:31:40disbotarc: 11a new memory manager for Nim; see https://forum.nim-lang.org/t/5734 -- disruptek
16:31:54disruptekdude, i've been waiting weeks to use that footnote.
16:32:02FromGitter<nixfreakz_twitter> that isn't that same thing that zfs is using is it ?
16:32:14disrupteknim-zfs uses it, yes.
16:32:24FromGitter<nixfreakz_twitter> wow very cool
16:32:30disruptekno; it's a joke. nim-zfs is not a thing.
16:32:59FromGitter<nixfreakz_twitter> I know that , but zfs uses a memory / caching module called ARC
16:33:06disruptekthis is not that.
16:33:12FromGitter<nixfreakz_twitter> ok
16:34:33FromGitter<Varriount> disruptek: Those IRC color codes are annoying
16:34:55disruptekjoin irc; it's lovely here.
16:35:05FromGitter<Varriount> Do you know where the source code to the bridge bot is?
16:35:13disrupteknope.
16:35:24FromGitter<Varriount> I want to see if it can strip them
16:35:32disruptekit can, of course.
16:35:44FromDiscord_<Recruit_main_70007> markAndSweep is outdated in terms of speed right?
16:36:14disruptekyou could probably just have the bot set a strip-color flag somewhere, somehow.
16:37:52disruptekthat might prevent the bridge from bolding nicks from gitter, though.
16:38:08*marmotini_ joined #nim
16:40:51Araqdisruptek, that document is up-to-date, yes
16:41:06disruptekso what's wrong with it?
16:41:22Araqpeople read it and report they don't understand it.
16:41:51disruptekpeople that never did mm before?
16:44:50AraqI don't know. Probably some buzzword triggerd "omg, RUst" in their heads and it hinders their understanding
16:45:55Araqalso know as the "Ok, I might as well use Rust instead then" logic. I mean, ok, Nim is totally like Rust now. You can compile thousands of lines of code with --gc:arc, but yeah, it's "just like Rust".
16:47:12FromDiscord_<Recruit_main_70007> But cleaner, and better in many other ways imo
16:47:24Yardanicoi wonder what's the point in using rust for high level apps like web servers and stuff
16:47:36Yardanicoyou have to be a lot more verbose than in other languages
16:48:22FromDiscord_<Recruit_main_70007> Rust is utterly complicated for what it does, and Nim’s syntax can be read by anyone
16:50:26leorizeIt's kinda funny that Rust seems to be more verbose than Delphi :P
16:54:43*xet7 quit (Remote host closed the connection)
16:55:49*xet7 joined #nim
16:56:14disrupteki could probably write an "arc for dummies, by dummies" post that would settle the nerves.
16:56:23disruptekmaybe i will do that on the plane.
16:56:31*disruptek out.
16:57:12*JustASlacker got his copy of Nim in Action today \o/
17:00:59FromDiscord_<Rika> rust legitimately makes my head hurt sometimes
17:01:08FromDiscord_<Rika> maybe i'm just too smallbrained
17:03:22FromGitter<zetashift> I think it's syntax, especially the lifetime specifiers, take a relatively long time to accustom to
17:08:32*xet7_ joined #nim
17:08:44*xet7_ quit (Read error: Connection reset by peer)
17:09:06FromDiscord_<DeltaPHC> Even the people who regularly use Rust will agree that it has a high learning curve
17:10:23FromGitter<zetashift> yeah, Rust isn't great for high level stuff imho but the docs, cargo etc probably makes it enticing for people to do it anyway
17:11:23*xet7 quit (Ping timeout: 260 seconds)
17:11:23FromDiscord_<DeltaPHC> The thing with Rust is that emphasizes safety and correctness to the point of pedantry. It tries to make questionable patterns unexpressable in the first place, unless you opt in
17:12:02FromDiscord_<DeltaPHC> it emphasizes*
17:12:24leorizeyea, to the point that their print line is a macro also :P
17:12:54*xet7 joined #nim
17:13:02*xet7 quit (Read error: Connection reset by peer)
17:14:00*nsf joined #nim
17:14:11*xet7 joined #nim
17:14:31*xet7 quit (Read error: Connection reset by peer)
17:14:36FromDiscord_<DeltaPHC> It has no safe varargs mechanism, so it has to employ some magic, yeah
17:19:13*xet7 joined #nim
17:20:58FromGitter<zetashift> Can someone who is well versed in template-fu verify that this against the stricter gensym rules of Nim 1.0? https://github.com/pragmagic/godot-nim/blob/master/godot/nim/godotmacros.nim#L406 asking because I'm trying to fix: https://github.com/pragmagic/godot-nim/issues/52
17:21:01disbotGetting errors using {.gdExport.} pragma ; snippet at 12https://play.nim-lang.org/#ix=28JF
17:32:53*abm quit (Ping timeout: 265 seconds)
17:33:48*abm joined #nim
17:33:48*abm quit (Remote host closed the connection)
17:36:10Araqand I like Rust btw, it's just that the differences between Nim and Rust and D are bigger than the differences between Python and Ruby
17:36:45FromDiscord_<demotomohiro> instead of using using static, rewrite code to `const typeInfo = when compiles(godotTypeInfo(propTypeIdent)): godotTypeInfo(propTypeIdent) else: GodotTypeInfo()` might fix that compile error.
17:46:07FromGitter<zetashift> @demotohiro thank you that indeed fixed it!
17:46:56FromDiscord_<demotomohiro> :)
17:53:11FromGitter<timotheecour> @araq did you intend to remove your comment `Do we have "packages of packages"? I hope we don't. make this an assert result.owner == nil.` ? just want to make sure as I’m not seeing the comment in github
17:56:34*rockcavera quit (Ping timeout: 265 seconds)
17:57:04*rockcavera joined #nim
17:57:04*rockcavera quit (Changing host)
17:57:04*rockcavera joined #nim
18:03:10*marmotini_ quit (Remote host closed the connection)
18:05:01*Trustable joined #nim
18:07:10FromDiscord_<treeform> Araq, I don't think there is a good simple introduction to --gc:arc, most of the docs are written from yours/system programmer point of view. How would --gc:arc docs look if it was kind of "Arc is just like the other GC from Python/Java but ... you can't have cycles and it will try to free memory as soon objects get out of scope or objects holding ref to them go out of scope. You might use sink and {.cursor.} in these ways to speed up you
18:08:30FromGitter<zetashift> I do agree with that, the destructors.rst was a nice read, but it's not ment for beginner programmers, very much for people comfortable with manual memory management. I think that's okay and besides is --gc:arc that important for beginners? They won't face it anyway right
18:08:54FromGitter<zetashift> But I would like that 'arc for dummies' thing very much :P
18:08:54*marmotini_ joined #nim
18:18:16*nsf quit (Quit: WeeChat 2.7)
18:20:38*JustASlacker quit (Quit: Leaving)
18:21:44*m|b_ joined #nim
18:22:36FromDiscord_<DeltaPHC> Is it true that gc:arc doesn't allow reference cycles? Or is it more that reference cycles will never be destroyed?
18:23:01leorize[m]both :p
18:23:10leorize[m]it doesn't allow it because it can't resolve it, yet
18:23:13*xet7 quit (Ping timeout: 245 seconds)
18:23:40FromDiscord_<DeltaPHC> Well, when I say "doesn't allow" I'm thinking an error message at some point
18:23:59leorize[m]yes, there will be an error message :p
18:24:35leorize[m]in fact I think it already can complain when a cycle is found
18:25:36FromDiscord_<DeltaPHC> I'm kind of wondering if "most Nim programs" will actually work unchanged since not allowing cycles is a significant thing
18:26:11*xet7 joined #nim
18:27:38FromDiscord_<DeltaPHC> For instance, if you're making a tree structure where each node has references to both parent and children, that's a cycle
18:30:56FromDiscord_<exelotl> I want arc for dummies
18:31:08FromDiscord_<DeltaPHC> Or even just any non-trivial graph structure will have cycles
18:31:22leorize[m]you can make cycles if you let the compiler know
18:31:26leorize[m]kinda like weak ptr
18:33:21FromDiscord_<DeltaPHC> But when which pointers are weak in a graph?
18:33:25FromDiscord_<DeltaPHC> *then
18:34:18FromDiscord_<exelotl> Though I can probably get by with arc now, I'd love to see a comprehensive beginner's tutorial, to know if I'm understanding everything correctly
18:37:14FromDiscord_<DeltaPHC> Now, I know you can make a graph via other means (make a couple seq's and store nodes and adjacency separately). I'm just speaking from the perspective of "how you would normally write Nim until gc:arc is stable"
18:39:13FromDiscord_<Clyybber> you remove the cycle yourself
18:39:54FromDiscord_<Clyybber> or you use --gc:orc instead of --gc:arc
18:45:35Zevvhttps://forum.arduino.cc/index.php?topic=661603.new#new
18:48:11FromGitter<zetashift> `Convince me that it would be worthwhile learning NIM!` i like your response to this question
18:52:08*floppydh quit (Quit: WeeChat 2.7)
18:52:17*marmotini_ quit (Remote host closed the connection)
18:52:52*marmotini_ joined #nim
18:57:31*marmotini_ quit (Ping timeout: 268 seconds)
19:09:46Araqtimotheecour: I removed it because I read more of your PR afterwards
19:16:03*tefter joined #nim
19:16:28AraqDeltaPHC: 'async' is the exception here, most stuff is free of cycles
19:18:17Araqand we know how to break cycles anyway, however it breaks the "cost model" for Nim that we're developing. my vision is: no cycles in the libraries, application level code can use --gc:orc and doesn't have to worry about it
19:18:48Zevvwhat is the price one pays for --gc:orc?
19:23:44Araqyou're back in heuristics/tracing land
19:24:06Araq"maybe this was a cycle? let's check... what about now? let's check again..."
19:24:58Araqin the end I expect it to win though, people are not trained to watch out for cycles introduced by closures and FP is strong
19:36:35Araqhttps://www.youtube.com/watch?v=wlvKAT7SZIQ we need a port of this in our stdlib
19:56:18*Vladar quit (Quit: Leaving)
20:02:35*theelous3 joined #nim
20:03:09*xet7 quit (Remote host closed the connection)
20:06:28*alexander92 joined #nim
20:06:46*alexander92 quit (Quit: Changing server)
20:23:02*ptdel quit (Ping timeout: 260 seconds)
20:24:50FromDiscord_<kodkuce> hmm this only faster on big jsons or on small too, atm am on 1/3rd of video
20:35:30*grantmwilliams quit (*.net *.split)
20:35:30*salotz[m] quit (*.net *.split)
20:35:31*moon-chilled quit (*.net *.split)
20:35:31*revere quit (*.net *.split)
20:35:39*reveres joined #nim
20:36:03*reveres is now known as revere
20:37:45Araqfor small json nothing matters anyway
20:38:08*NimBot joined #nim
20:40:56*m|b_ quit (Quit: Connection closed for inactivity)
20:43:02FromDiscord_<kodkuce> should call it nimdjson
20:43:43FromGitter<zetashift> why not just incorporate packedjson?
20:43:59FromGitter<zetashift> iirc the API is the same, btw @shashlick you here by any chance?
20:47:42dom96Zevv, ooh, integrating Nim into Arduino's IDE would be amazing
20:48:31*narimiran quit (Ping timeout: 268 seconds)
20:49:55Araqzetashift: packedjson use the stdlib's parser
20:50:06Araqit too would benefit from SIMD based parsing
20:50:21Araq2. packedson is only roughly compatible with std's json
20:50:35Araqhowever, we could embrace it for Nim v2.0
20:51:09FromGitter<zetashift> ah okay yea that makes sense
20:56:04dom96Zevv, I've promised Nim in Action readers that I would write a bonus free chapter about coding hardware like the Arduino in Nim, my excuse has been "there is no nice library for this" but it looks you're stealing that excuse from me :)
20:58:20FromDiscord_<kodkuce> am atm at 38min of the video, dude does some magic stuff, i dont think i could be able to port his shit in 2 years, maybe if i try line by line and get lucky
20:59:45*rockcavera quit (Ping timeout: 265 seconds)
21:03:31shashlick@zetashift - am here now
21:05:55*sagax quit (Remote host closed the connection)
21:08:17FromDiscord_<kodkuce> free stickers too
21:08:42FromDiscord_<kodkuce> and unsafe
21:08:49FromDiscord_<kodkuce> rust
21:11:35Araq?
21:12:56*sagax joined #nim
21:13:04rayman22201Simdjson mostly helps with documents that have a lot of whitespace, I.e. pretty printed json
21:14:03rayman22201Or large config files, the human readable stuff.
21:15:21rayman22201Zevv is forever my hero for his Arduino work btw
21:15:57leorizehow do people calculate the GB/s thingy?
21:16:08leorizefor parsing throughput
21:16:31leorizedid they just take the file size (in GB) and subtract it with the time?
21:17:28leorizedivide*
21:17:40leorizemy english is really wobbly today :p
21:20:22FromGitter<kaushalmodi> Zevv: What do you use Arduino for?
21:20:44FromDiscord_<kodkuce> Araq: end of video he mentions, unsafe rust and free stickers if you ? < to me https://youtu.be/wlvKAT7SZIQ?t=2793
21:25:33*ptdel joined #nim
21:29:34Zevvkaushalmodi: nothing, first time I touch that. But i was integrating nim into the IDE, or trying to
21:30:28rayman22201leorize, here is how he measured: https://github.com/lemire/simdjson/blob/c2eea8abbab76b70686dd27dfe59c9cb81427b65/benchmark/benchmark.h#L87
21:32:43rayman22201basically, bytes parsed / time. and also cpu cycles / byte
21:36:58FromDiscord_<zidsal> I've got some code that returns the following error `Error: 'components' escapes its stack frame; context: '` however even after reading the site I'm not entirley following what I've done wrong can anyone point me in the right direction?
21:36:58FromDiscord_<zidsal>
21:36:59FromDiscord_<zidsal> ```
21:36:59FromDiscord_<zidsal> type WorldComponentContainer[T] = object
21:36:59FromDiscord_<zidsal> components: Table[World, seq[T]]
21:36:59FromDiscord_<zidsal>
21:37:01FromDiscord_<zidsal> proc `[]`[T](worldContainer: var WorldComponentContainer[T], key: World): var seq[T] =
21:37:01FromDiscord_<zidsal> worldContainer.components.mgetOrPut(key, newSeq[T]())
21:37:03FromDiscord_<zidsal> ```
21:37:09*ng0_ quit (Quit: leaving)
21:37:18leorize~paste
21:37:19disbotpaste: 11a frowned-upon behavior in chat; please use a service such as https://play.nim-lang.org/ or http://ix.io/ or https://gist.github.com/ and supply us a URL instead.
21:37:34*FromGitter quit (Read error: Connection reset by peer)
21:37:52*FromGitter joined #nim
21:38:24FromDiscord_<zidsal> apologies https://pastebin.com/H8bgi4xu I presumed 4 lines would be small enough to not need a pastebin however its just dawned on me that people still use irc
21:40:06FromGitter<zetashift> @shashlick ah, I was trying to use nimterop to wrap https://orx-project.org/ but I was failing hard, needed some help on the errors I was getting
21:41:28leorizezidsal: seems fine here? https://play.nim-lang.org/#ix=28KF
21:41:49shashlick@zetashift: sure bring it on
21:41:55FromDiscord_<Recruit_main_70007> small question, why dont you try to update ue4 wrapper?
21:41:55FromDiscord_<Recruit_main_70007> its much more advanced, and a better option imo
21:42:45leorizesometimes being "much more advanced" is a disadvantage :P
21:42:54FromGitter<deech> How do I work on multiple Nimble packages at the same time?
21:43:01FromDiscord_<zidsal> @leorize you're right after stripping all othercode out it compiles guess I'll binary chop
21:43:26FromGitter<deech> As an example say I'm developing a package and it's dependency simultaneously.
21:43:31rayman22201@zidsal it's where you are using it that is the problem
21:43:46rayman22201post the call site
21:43:54leorize@deech: nimble develop?
21:46:00FromGitter<deech> Oh I see. Thanks, leorize!
21:46:46FromGitter<zetashift> @shashlick well I'm not well known in C land, so I asked the orx maintainer for some help, he said not everything can be binded but I could make a start with the object headers, which is what i'm trying to do, currently getting the error 'https://github.com/orx/orx/blob/master/code/include/object/orxObject.h' , this is my code so far: https://play.nim-lang.org/#ix=28KI
21:47:16FromDiscord_<zidsal> @rayman22201 I've managed to strip my code down to the following while still getting the error https://play.nim-lang.org/#ix=28KJ
21:47:24*icebattle quit (Quit: leaving)
21:48:28leorize@zidsal: var return types are not allowed to escape it's stackframe
21:48:42rayman22201global doesn't do what you think it does
21:49:16rayman22201ah yeah, leorize is right too
21:49:27leorizewith that said it's easy to fool the compiler: https://play.nim-lang.org/#ix=28KK
21:49:42*icebattle joined #nim
21:50:37FromDiscord_<zidsal> out of interest rayman what am I miss understanding about global
21:51:21FromGitter<zetashift> whoops error is: norx_import.nim(14, 8) template/generic instantiation of `cImport` from hereC:\Users\rishiPC\.choosenim\toolchains\nim-1.0.6\lib\core\macros.nim(3921, 32) Error: undeclared identifier: 'orxCLOCK_t'
21:51:51rayman22201Well, I'm sorry. I shouldn't presume. It's more like C "static"
21:52:52FromDiscord_<Elegant Beef> So i do have to ask, how does one properly build a project with more than 1 .nim file, so far i've only used a single nim file, but that's ugly
21:53:17rayman22201WorldContainer will only be intitialized once on startup, but it will only ever be accessible from the getComponents proc. It won't actually be a global variable.
21:53:38rayman22201I've seen people make that mistake
21:53:49rayman22201so I jumped a bit
21:53:54leorize@Elegant Beef: put them next to each other :P
21:54:21FromDiscord_<Elegant Beef> really there is no includings or imports of them?
21:54:23leorizeyou put your functions in a file, then you `import filename_without_extension`
21:54:31leorizeof course you'll have to import :P
21:54:31FromDiscord_<Elegant Beef> ah
21:54:37FromDiscord_<zidsal> ok I've mostly been using it as a way to define types of seq T per world is there a better way of doing ths
21:54:40shashlick@zetashift: what's the error
21:54:56*Cadey quit (Remote host closed the connection)
21:55:02FromDiscord_<Elegant Beef> Ok so then when i do `nim c ./PathToMain.nim` it'll check the local directory for any dependant files
21:55:04FromDiscord_<Elegant Beef> Got it
21:55:16solitudesf~tutorial
21:55:17disbottutorial: 11intro to sacred manuscripts: https://nim-lang.org/docs/tut1.html -- solitudesf
21:56:03*Xe joined #nim
21:56:03FromGitter<zetashift> @shashlick: it's: `norx_import.nim(14, 8) template/generic instantiation of `cImport` from hereC:\Users\rishiPC\.choosenim\toolchains\nim-1.0.6\lib\core\macros.nim(3921, 32) Error: undeclared identifier: 'orxCLOCK_t' `
21:56:27shashlicksorry missed that in the messages
21:56:30shashlickwhere is that declared
21:56:36FromGitter<zetashift> np I messed it up anyway
21:56:42*Xe is now known as Cadey
21:57:36FromGitter<zetashift> should be in here: https://github.com/orx/orx/blob/master/code/include/core/orxClock.h
21:57:54FromGitter<zetashift> https://github.com/orx/orx/blob/master/code/include/core/orxClock.h#L59 *
21:58:05*rockcavera joined #nim
21:59:27shashlickyou need to cimport the way the c headers are typically imported
21:59:35shashlickelse you need to import each header in the right order without recursion
22:00:21shashlickwhy not import orx.h
22:00:33FromGitter<zetashift> because I got a similiar error there
22:00:36*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
22:02:11FromGitter<zetashift> well before that similiar error I actually got this: `Error: unhandled exception: getters.nim(160, 16) `name == nimState.identifiers[nimName]` Identifier 'orxJOYSTICK_BUTTON_1_11' is a stylistic duplicate of identifier 'orxJOYSTICK_BUTTON_11_1', use 'cPlugin:onSymbol()' to rename [AssertionError] ⏎ [AssertionError]` but I didn't know what to do in onSymbol to fix that
22:02:42shashlickfor simplicity, just cSkipSymbol stuff you don't need
22:03:29dom96Argh, this might affect us https://news.ycombinator.com/item?id=22192543
22:06:21FromGitter<zetashift> `Error: unhandled exception: getters.nim(160, 16) `name == nimState.identifiers[nimName]` Identifier 'orxJOYSTICK_BUTTON_1_11' is a stylistic duplicate of identifier 'orxJOYSTICK_BUTTON_11_1', use 'cPlugin:onSymbol()' to rename [AssertionError] ⏎ [AssertionError] ` I get the same error with orx.h, so I just cImport orxClock.h first?
22:06:25shashlickdon't have orxBuild.h
22:06:29shashlickhow do you build this
22:07:13FromGitter<zetashift> just run setup.bat or setup.sh
22:07:17FromGitter<zetashift> then it gets the orxbuild
22:10:42shashlickokay give me a little
22:11:38FromGitter<zetashift> thank you for your time!
22:13:05shashlickhow do you fuzzy file open on vscode
22:14:05FromGitter<zetashift> command + p?
22:14:25FromGitter<zetashift> it's slow as heck tho
22:18:03*tane quit (Quit: Leaving)
22:21:54*shadowbane quit (Quit: Konversation terminated!)
22:23:50*shadowbane joined #nim
22:25:48*theelous3 quit (Ping timeout: 260 seconds)
22:29:41shashlickwhy does vscode add 4 spaces for nim
22:33:08FromGitter<zetashift> back to VSCode land? :P
22:33:28FromGitter<zetashift> I think VSCode stand is 4 space indent
22:33:34FromGitter<zetashift> standard/default*
22:33:43FromDiscord_<Recruit_main_70007> you can change it
22:41:36FromDiscord_<Generic> in the bottom right corner
22:42:14shashlickCool thanks
22:42:26shashlick@zetashift what's your time zone
22:42:31shashlickThis is taking some time
22:43:18FromGitter<zetashift> uh GMT+1
22:43:42FromGitter<zetashift> I have vacation for 1 week, I got all the time in the world till 1 week in the future :P
22:43:55FromGitter<zetashift> I don't want to hassle you though
22:45:48shashlickPeace
22:45:55shashlickI'll let you know how it goes
22:47:14*sagax quit (Ping timeout: 240 seconds)
22:48:34FromGitter<zetashift> I
22:48:55FromGitter<zetashift> l'll try stuff out too now that I have the time for it, after next week it's gonna be study again D:
22:51:05*solitudesf quit (Ping timeout: 246 seconds)
23:03:06shashlickOk here's what I have so far
23:03:08FromGitter<deech> I'm having trouble iterating over an enum (`for v in MyEnum: ...`) from one package from another. The enum is exported and `low(MyEnum)` and `high(MyEnum)` work fine but iterating does not. Instead I get a error about a hidden symbol not being defined.
23:03:13shashlickhttp://ix.io/28KW/nim
23:03:19shashlick@zetashift ^^
23:03:30shashlickStill stuck at clock but will figure out later tonight
23:13:43*PMunch joined #nim
23:28:46FromGitter<zetashift> @shashlick with your code if I set the recurse of orx.h to false I get a succesfull compile
23:30:13shashlickYa but does it have everything you need
23:32:52FromGitter<deech> Figured it out, this happens if a dependency package uses the cpp backend while the package uses the c backend.
23:33:38shashlickCan link with g++
23:35:50FromGitter<deech> Yep, a warning would be nice if dependencies mix backends.
23:37:45FromGitter<zetashift> probably not, I'm not even sure what I have now could be correct, how do I check the result?
23:38:54FromGitter<deech> Curious that `low(...)` and `high(...)` work though.
23:45:26dom96deech: report as issue please
23:51:35shashlick@zetashift best to spend time understanding how to use the lib and identify what all stuff you need