<< 18-05-2017 >>

00:00:35*mal`` quit (Quit: Leaving)
00:01:15dom96good night
00:03:29*skrylar quit (Remote host closed the connection)
00:05:16*mal`` joined #nim
00:15:58libman"Ironically for a site all about 'Startups', the only allowed political ideology on HN is the modern version of leftist marxism." -- https://www.reddit.com/r/hncensorship/comments/x9xwa/hn_political_correctness/
00:16:01libmanQuick, we should write up a manifesto about Nim bringing revolutionary features that give the means of code production for the masses! 3:)
00:22:40*rauss joined #nim
00:23:01*rauss quit (Client Quit)
00:23:41*rauss joined #nim
00:31:20*Jesin quit (Quit: Leaving)
00:36:02*Jesin joined #nim
01:23:59PMunchdom96, I posted the new release to r/nim as well :P
01:32:34*PMunch quit (Quit: leaving)
01:41:25*vlad1777d quit (Remote host closed the connection)
01:52:09*chemist69 quit (Ping timeout: 272 seconds)
02:00:28*aedigix joined #nim
02:05:38*chemist69 joined #nim
02:21:04*def-pri-pub joined #nim
02:45:44*pilne quit (Quit: Quitting!)
02:53:56*libman quit (Quit: Connection closed for inactivity)
03:13:20*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:41:04*libman joined #nim
03:48:25*rosshadden quit (Read error: Connection reset by peer)
03:48:25*rauss quit (Read error: Connection reset by peer)
04:07:41*rosshadden joined #nim
04:16:53*def-pri-pub quit (Quit: leaving)
04:58:49*BennyElg quit (Remote host closed the connection)
05:49:24FromGitter<ephja> libman: really? I'm surprised by how popularity this ideology is
06:03:16*ephja joined #nim
06:32:39*nohusuro quit (Ping timeout: 240 seconds)
06:33:12*BennyElg joined #nim
06:43:56*libman quit (Quit: Connection closed for inactivity)
06:44:23*nsf joined #nim
06:59:34*gokr joined #nim
07:07:40*lenstr joined #nim
07:19:15*planhths joined #nim
07:43:42*Arrrr joined #nim
07:54:32Arrrr'except Exception as exc' great
07:55:26Arrrr'The popular “colon block of statements” syntax is now also supported for let and var statements' great++
07:56:24FromGitter<andreaferretti> congratulations to all on 0.17!
07:56:54FromGitter<andreaferretti> I confirm that all my libraries that were broken during the concept evolution are working again
07:58:06Araqthanks, I broke the Windows zips though and fixing it is hard
07:58:15Araq:-(
07:58:37ArrrrDoesn't it accept at every release?
07:59:44FromGitter<ephja> libman: s/popularity/popular -.-
08:00:11Araqhttps://github.com/nim-lang/Nim/blob/devel/koch.nim#L406 check your Nim skills
08:00:22Araqwho can spot the problem?
08:03:01Araqyeah, that's right, we build the *.zip with the temporarily patched nim.cfg
08:03:12Araqthe 'try finally' doesn't save us
08:03:45ArrrrCan you concat strings and regex?
08:04:06*Andris_zbx joined #nim
08:05:31Araqwhy?
08:06:01FromGitter<andreaferretti> what does it even mean?
08:07:02ArrrrBecause of line 419. I thought r returned a regex object. Well, nevermind
08:12:17FromGitter<dom96> Bah. We dropped off the front page of HN faster than normal. Pity.
08:14:40ArrrrI confused `r` with `re`
08:26:42*yglukhov joined #nim
08:29:41ArrrrHmm, a breaking change with quote do? https://pastebin.com/BqWbFZJF
08:29:52ArrrrAlso, `quote() do` fucks the compiler
08:34:32yglukhovArrrr: new parsing rules. line 7 is no more valid. line 16 is valid
08:35:18ArrrrNoooo
08:56:46*bjz joined #nim
08:56:58*bjz quit (Client Quit)
09:00:47*bjz joined #nim
09:09:55*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:18:27*bjz joined #nim
09:23:14FromGitter<vegansk> ``````
09:23:54FromGitter<vegansk> How can I call macro with -1 arguments? ⏎ ⏎ ```in call 'tryST' got -1, but expected 1 argument(s)``` [https://gitter.im/nim-lang/Nim?at=591d682a9f4f4ab05bd77645]
09:25:10FromGitter<vegansk> Here is the call: ⏎ ⏎ ``` check: 1.rightS == tryST do: ⏎ check: 1 == 1 ⏎ 1``` [https://gitter.im/nim-lang/Nim?at=591d687592217cca588b04e8]
09:26:01FromGitter<vegansk> And here is the macro's type: ⏎ ⏎ ``` macro tryST*(body: untyped): untyped =``` [https://gitter.im/nim-lang/Nim?at=591d68a933e9ee771cbc0544]
09:27:48Araq'do' parsing checked, look at the news please
09:27:53Araq*changed
09:30:22FromGitter<vegansk> Oh, and what was the reason for that change?
09:31:39Araq"consistency" with the new ':' colon syntax rules
09:32:25*Vladar joined #nim
09:32:28FromGitter<vegansk> Just read it, but can't understand, how this new rule affects the call ``1.rightS == tryST do: blah-blah``. Is it `==`(1.rightS, tryST) ?
09:33:01Araqit gets confusing quickly, just add () until it compiles ;-)
09:33:17FromGitter<vegansk> :smile:
09:34:33FromGitter<vegansk> I guess now we need the $ operator from haskell :-)
09:35:18*rosshadden quit (Read error: Connection reset by peer)
09:39:08*rosshadden joined #nim
09:44:58*couven92 joined #nim
09:56:24*krux02 joined #nim
09:58:54*yglukhov quit (Remote host closed the connection)
09:59:58*yglukhov joined #nim
10:00:34*yglukhov quit (Remote host closed the connection)
10:00:48*yglukhov joined #nim
10:00:50*yglukhov quit (Remote host closed the connection)
10:01:23*yglukhov joined #nim
10:03:51*Tiberium joined #nim
10:05:55*yglukhov quit (Ping timeout: 260 seconds)
10:11:40chemist69could someone elaborate on the "colon block of statements syntax" for let and var and on the example in the blog post?
10:11:49chemist69the example just prints "welcome to Nim!" for me. What is the `4` supposed to do?
10:12:50chemist69BTW, congrats to the new release to all!! (should' ve started with that ;) )
10:12:57*yglukhov joined #nim
10:17:32*yglukhov quit (Ping timeout: 255 seconds)
10:19:00*chrisheller quit (Ping timeout: 260 seconds)
10:21:29FromGitter<jrdlph> i don't know nim very well at all, but just looking at it, it seems like it controls what the block that the template expand to, evaluates to. So the value of x would be 4, rather than whatever "echo ..." evaluate to (if anything)
10:21:31FromGitter<ephja> chemist69: the variable gets initialized with that value
10:21:40*chrisheller joined #nim
10:26:16FromGitter<ephja> it's similar to "return value" since 'value' appears at the end of the template scope, though you can't use "return" in this case apparently
10:26:29chemist69ah, ok. I do not yet see the advantage of this syntax (the print statement could have been put in the template, too), but will wait for examples in Nim projects,
10:27:11chemist69.. or for dom96 's second book: "Nim advanced topics" ;P
10:27:16FromGitter<ephja> and "let x = ve(4, echo "welcome to Nim!")" is of course identical
10:27:40FromGitter<jrdlph> it makes more sense when there is more than one statement in the block
10:27:42chemist69ephja: that's a good remark, thanks.
10:29:51chemist69jrdlph: ok, I am beginning to understand, thanks.
10:29:54FromGitter<ephja> so it was this popup that slowed down firefox this time. there's always that one tab. fortunately there's about:performance now
10:31:17chemist69ephja: didn't know about `about:performance`. That's a great tip!
10:34:36planhthsHey all, congrats on the release btw. I tried to update the nim program for https://rosettacode.org/wiki/Chat_server#Nim Here are my changes https://gist.github.com/konqoro/0a6a5a539df75e1a83add1b07632ec06/revisions#diff-3047cdbd8ac867868e4b423137bf8e87 do you think its okay to make these changes?
10:49:17*yglukhov joined #nim
10:56:05couven92Yaih! No Nim is 0.17 both at home and at my work computer! :)
10:59:47FromGitter<dom96> Planhths: looks good except the Client type should be a ref object or at least an object.
11:00:02planhthsok cool will change that
11:00:55Tiberiumyay, 0.17.0
11:01:41FromGitter<dom96>   
11:02:29FromGitter<dom96> Choosenim working for everyone?
11:02:34*Snircle joined #nim
11:05:49Tiberiumdom96, do I need to update choosenim itself?
11:05:52Araqjust uploaded new zips, please somebody test it
11:06:38couven92Araq, Nim release zips? what was wrong with the old ones?
11:06:51Araqwrong nim.cfg
11:07:00couven92ah, okay
11:10:01ArrrrThe win x86 one works fine for me.
11:13:32FromGitter<mratsim> I have a macro which is taking varargs, pass the vargargs to another “desugar” macro which change the AST trees. ⏎ ⏎ How do I then pass the updated AST tree to a regular proc (`slicer`) in my example. ⏎ ⏎ My code ... [https://gitter.im/nim-lang/Nim?at=591d81dc5e34568d5e682350]
11:13:49couven92Araq, the win x64 seems to work fine for me. With VCC and vccexe installed through
11:14:01AraqArrrr also tested "finish" path option?
11:14:06FromGitter<ephja> the syntax tree tree? very meta :-)
11:14:34*sz0 joined #nim
11:15:17planhthsChanged to object (or ref object) it crashes after entering nick...
11:15:30ArrrrHuh not that. What option exactly?
11:16:23FromGitter<mratsim> Ah got you ephja, :P
11:16:32ArrrrWell, i cannot. Finish doesn't work in my computer, and i remember that i said i would look into that. But never bothered, sorry.
11:18:35Araqnever mind, I tested it and it works
11:19:02Araqin fact, it even detected a broken mingw installation and installed one from the website and patched Nim's config
11:19:18Araqquite impressive. :-)
11:19:52*bjz quit (Ping timeout: 246 seconds)
11:20:30*bjz_ joined #nim
11:22:11yglukhovDoes anyone know how to inspect binary size to know why it is so big?
11:26:23Araqyglukhov: now really. I would make GCC keep the .s files and look at the largest
11:26:37Araq*not really.
11:32:38TiberiumI think I would need to use "--gc:none" with 128kb RAM and 4mb flash? esp8266 microcontroller
11:33:18FromGitter<dom96> Tiberium: yeah, you might want to, I made many fixes to it.
11:33:40Tiberiumbut for some reason there's micropython and espruino - python and js on esp8266
11:34:02FromGitter<dom96> You can easily update it by just downloading the binary and placing it in your nimble bin dir.
11:34:02Tiberiumand also there's lua
11:34:18Tiberiumdom96, ah, ok, will update choosenim now
11:35:05Tiberiumbut anyway I'll try to use ardunimo to see if I can use GC on this tiny thing :)
11:36:06Tiberiumit's very cheap btw, $3 only, and you can use lua, js, python, or arduino sketches
11:37:13FromGitter<ephja> "macro enumerators(e: typedesc[enum]): set[e]" should be possible now I guess
11:48:32FromGitter<mratsim> Ok found that changing the return to `untyped` worked. ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ Now I just need to understand how to pass `new_args` vargargs to slicer [https://gitter.im/nim-lang/Nim?at=591d8a10f3001cd34233df19]
11:51:39FromGitter<mratsim> When passing as “is” in ⏎ ⏎ ```result = newCall("slicer",t,args)``` ⏎ ⏎ I get `Error: internal error: expr(nkArgList); unknown node kind` ... [https://gitter.im/nim-lang/Nim?at=591d8aca5e34568d5e684f35]
11:53:54*bjz joined #nim
11:54:57*bjz_ quit (Ping timeout: 240 seconds)
11:56:59FromGitter<ephja> https://gist.github.com/ephja/9e8dc19339970ff5b1e291fc23075b7f
12:01:26*skrylar joined #nim
12:01:39FromGitter<ephja> it would be easier to find existing reports had most of them contained the output as well
12:03:23*dexterk__ quit (Read error: Connection reset by peer)
12:03:33FromGitter<ephja> I forgot to name the gist myself
12:03:40*dexterk__ joined #nim
12:33:26Araqmratsim, so unpack the args
12:41:19Araqfor x in args: call.add x
12:41:44*xet7 quit (Quit: Leaving)
12:49:03*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
12:57:39*Trioxin2 is now known as Trioxin
13:03:24*libman joined #nim
13:08:10libmanephja: I didn't want to pollute this channel except to say that HN is a strange and hostile place - and I'm not the only person to observe this...
13:11:09krux02did you realize "linenoise" is not on the index page?
13:11:28krux02https://nim-lang.org/docs/theindex.html Ctr-f linenoise
13:27:54Trioxinthe way to get started with wrappers is c2nim right?
13:31:09*dddddd joined #nim
13:31:22Araqyes
13:35:35*rauss joined #nim
13:36:18Trioxinwhat path are nimble packages installed to now?
13:38:01skrylaryou could do that or just flop the headers in to vim and begin mangling them with macros and search/replaces
13:38:55TrioxinI really want to wrap blake2. please nobody else do it.
13:39:39skrylarsome kind of hash function. hm
13:39:52Trioxinsuper fast for hashing files
13:40:00Trioxinfastest afaik
13:41:54couven92Uhm... where's a good place to clone and install Nim on Ubuntu? `/opt/Nim`?
13:42:17skrylaropt is always a good place for user packages
13:42:18Trioxinsure
13:42:33Trioxinmine is in ~/bin/Nim but opt is good
13:42:46couven92okay then... opt it is
13:42:48couven92:)
13:42:56TrioxinI like to keep everything in userland I can get away with
13:43:01skrylartechnically /usr/local is intended for stuff the user did. although /opt/package is common too for packages that are weird or need cleanliness
13:43:06Trioxinbut I guess path doesn't matter
13:43:24skrylaras an arch person i just toss them in a package
13:43:57Trioxinusing c2nim you wouldn't really wind up with a "wrapper" right? at that point it's all Nim
13:44:14skrylaryou still have to have the c files around
13:44:19skrylarit makes header bindings
13:44:42Trioxinthe .h files only get converted?
13:44:52skrylarusually
13:44:52*vlad1777d joined #nim
13:44:54FromGitter<zacharycarter> you can convert implementation with c2nim as well
13:44:55Trioxinbut I could just convert the c file too
13:45:33skrylari wouldn't say its a great idea to do that. especially for stuff like blake that already has assembly optimized versions
13:45:33FromGitter<zacharycarter> Trioxin: I have several examples of bindings to various C libraries I've produced for nim
13:45:47Trioxinah
13:45:48skrylaryou can tell nim to include the c file as part of the nim module and just wrap the function calls
13:45:57skrylarunless this is specifically for like javascript builds
13:46:24FromGitter<zacharycarter> yes that's one approach another is to compile the library as a shared or static library and bind to the symbols it exposes
13:47:05FromGitter<zacharycarter> here's a library that does the former - https://github.com/zacharycarter/nuklear-nim
13:47:24FromGitter<zacharycarter> https://github.com/zacharycarter/blt-nim
13:47:27FromGitter<zacharycarter> there's one that does the latter
13:48:13*dddddd quit (Ping timeout: 268 seconds)
13:48:46*dddddd joined #nim
13:50:14Trioxinwonder if I could convince a shop using C to hire me for Nim
13:50:43FromGitter<zacharycarter> Maybe if they're using Nim :P
13:51:51Trioxinalmost zero chance of that. best to just start with it from the beginning
13:53:50Trioxingo ppl need to recognize
13:55:32FromGitter<ephja> skrylar: or other native code targets, but who knows when that will happen
13:56:01TrioxinI was talking about this a few days ago. Need a marketing benefactor
13:56:09FromGitter<ephja> speaking of which, how much progress has mat4 been making?
13:58:25Araqwith what?
13:59:04skrylarTrioxin, i dunno. have to find someone who's in a selection period for a project and then fight off opposing biases
13:59:59Trioxinskrylar, not sure what you meant by that.
14:00:26skrylarTrioxin, people have a lot of stupid biases. you have to fight those off.
14:00:33skrylar"it doesn't look just like C so its' bad"
14:00:47skrylarlispers have that fight daily
14:00:52FromGitter<zacharycarter> anyone have any experience using browserify with nim?
14:01:51skrylarTrioxin, one thing you have to fight too is the ikea effect/sunk cost fallacies. a lot of people spent a lot of time fighting off silliness in c/c++ so they will decide it must be better, simply because they already sunk more effort in to ex. learning templates.
14:02:41skrylarthat is only to speak of the silly resistances. there are also legitimate reservations
14:02:43TrioxinWhat I mean is put some ads out. get more companies involved. reach out to publishers with developer traffic. Maybe make a deal with a company for feature requests in exchange for more funding.
14:02:58skrylarthat's just not how it works tho
14:03:05skrylarif you look at Red, nenad had to move to china to get investors
14:03:31Trioxinman I could sell anything
14:03:31FromGitter<zacharycarter> also what does the -d:nodejs flag do on the js backend?
14:03:44skrylaryou have to have a killer app/framework and then the language rides the coattails of said product /'_'\
14:03:58skrylarthat's how ruby became relevant outside of japan
14:05:27Trioxinthat's what I mean when I say make a deal though I don't pretend to know the pains of the Nim codebase
14:05:48skrylari havent looked inside that compiler
14:06:21skrylari think we have a wx and gtk port. the wx port has fancy macros or something
14:06:40skrylarred/rebol's big appeal (although it sorta failed commercially) was they had that whole VID dialect so you could make guis in a single paragraph
14:06:47Trioxinlook at all the marketing that was done for Java. Of course those were different times but still. Huge success.
14:07:04skrylarheh ._.
14:07:09skrylarit helped that xerox was incompetent
14:07:38skrylarJava had to fight off Smalltalk. Smalltalk's failure was Xerox wanted too much money.
14:07:53skrylarSame reason Objective-C failed
14:08:30Trioxinconvincing Jetbrains to make a Nim IDE would give a boost
14:08:45skrylarmaybe
14:08:58skrylarits really just a framework issue
14:09:05skrylarjetbrains didn't make a go ide but they still have web stuff
14:09:10Trioxinit's easy for them. they crap out intellij IDEs all the time.
14:09:28Trioxinthey made Gogland
14:09:31krux02I am very unhappy with the breaking change in the new Nim version.
14:09:44skrylarthere's a breaking change now? ._.
14:09:57krux02yes it's a change in parsing
14:10:13krux02the way how do: is parsed has changed
14:10:27Trioxinhey Nim isn't version 1 yet. it's expected.
14:10:49krux02http://ix.io/u99
14:10:54krux02this code does not work anymore
14:11:00skrylarthats the kind of thing that has to stop for companies to take you seriously tho, Trioxin
14:11:08krux02well this sux a lot
14:11:18krux02because I used this syntax really a lot
14:11:26subsetparkI was just wondering if the Nim homebrew pacage was updated to 0.17, then Iremembered that I'm the maintainer...
14:11:41libmanWhy are people capitalizing Nim directory name? doublePlusUnUnix!
14:12:12*skrylar puts libman in /opt/nimrod
14:12:54Araqkrux02: zahary gave you 'quote do', zahary took it away :P
14:12:55skrylaranyway time to womble to work
14:13:00Trioxinkind of scared to install the new version now. don't want packages to start messing up
14:13:11*skrylar quit (Quit: Leaving)
14:13:18FromGitter<andreaferretti> @skylar actually, for me, this release was the one with the least breaking changes
14:14:04Trioxinhe parted
14:14:18couven92Araq, regarding PR 5840, editorconfig is not some Unix crap: http://editorconfig.org/ it's actually a very widely supported initiative to get dev teams that use different editors to automatically use the right settings for their team when editing files.
14:14:30FromGitter<andreaferretti> I mantain a dozen libraries or so, and I just had to change one line in one of those
14:14:39*demi- quit (Quit: Server shutdown in 3... 2... 1...)
14:14:52AraqI couldn't care less. it's yet more noise.
14:15:06Araqand the leading dot makes it unix crap.
14:15:27couven92:(
14:16:00*demi- joined #nim
14:16:07Araqeditors can auto-detect indentation.
14:16:41*PMunch joined #nim
14:16:53couven92what if I create a new Nim file?
14:18:07Araqthen you indent the first line manually. yezz
14:20:45Araqwhat if I add a file that uses 4 spaces to Nim's stdlib? is your editor confused then because it doesn't match .editorconfig? come on, it's ridiculous.
14:23:06FromGitter<ephja> auto formatting? ;)
14:28:59subsetparkAh, someone beat me to it - https://github.com/Homebrew/homebrew-core/pull/13670
14:29:55*dddddd quit (Ping timeout: 246 seconds)
14:33:26Trioxin"Python 2 wrapper for Nim" I could use any arbitrary python lib?
14:33:52FromGitter<zacharycarter> still curious / wanting to know about the nodejs define and what it does
14:34:18Trioxinprobably the same has javascript but with nodejs specific stuff
14:34:22*BennyElg quit (Remote host closed the connection)
14:34:28*PMunch quit (Ping timeout: 246 seconds)
14:34:34FromGitter<zacharycarter> well there is no js define there's just the compiler
14:34:41FromGitter<zacharycarter> which you invoke with nim js
14:34:45FromGitter<zacharycarter> but apparently you can pass it -d:nodejs
14:34:53FromGitter<zacharycarter> which does something... just what isn't documented very well
14:35:26*PMunch joined #nim
14:38:51*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
14:39:57krux02why was the parsing changed for quote do?
14:40:24krux02My code is full of prepended call of quote do
14:41:20Trioxinwas the only thing holding back sentience
14:44:40FromGitter<stisa> @zacharycarter I know it makes echo use the console instead of appending to body, don't know if there are other differences
14:48:20*xet7 joined #nim
14:52:29*gokr reading about Kotlin and Swift... quite a lot interesting stuff. Kotlin native. Swift thinks of some ownership model etc etc
14:55:44Trioxini used to be excited about the jvm
14:55:49Trioxinused to be
14:57:10Trioxinoic. native?
14:58:00FromGitter<zacharycarter> @stisa thanks
15:04:28*dddddd joined #nim
15:05:21demi-zacharycarter, my understanding is that doing `nim js` will build javascript code that relies on the DOM being present, whereas building with `nim js -d:nodejs` does not enforce that requirement so you can run code through node, a la a command line tool
15:06:56demi-i tried this out by using yarn and interfacing with some javascript code
15:07:45FromGitter<ephja> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=591db8c183cb5db073448399]
15:12:36krux02I just made a list of where the new do: parsing rulse cause problems in my project: https://github.com/nim-lang/Nim/issues/5845
15:13:21FromGitter<ephja> ```code paste, see link``` ⏎ ⏎ Araq, do you know if these issues have been reported? [https://gitter.im/nim-lang/Nim?at=591dba112b926f8a676af9f5]
15:13:26FromGitter<ephja> I'll try something else for now
15:14:35Tiberiumgokr, kotlin isn't native, it runs on top of jvm :)
15:14:59gokrTiberium: They have released 0.2 of a native llvm backend
15:15:31demi-i'm surprised they aren't using Go for android development seeing how much google likes to dogfood
15:15:49gokrhttps://github.com/JetBrains/kotlin-native
15:16:29*Snircle joined #nim
15:16:45Tiberiumgokr, but you will not able to use normal kotlin libraries which depend on jvm I think
15:16:49Tiberiumor on java stdlib
15:17:01Tiberiumdemi-, also Google wants to create a new mobile os
15:17:09Tiberiumwithout java by default :)
15:17:36demi-i don't see why you would be able to bridge to the JVM
15:17:52gokrIt seems to me that Swift, Kotlin and Nim to a lot extent overlaps.
15:18:22*gggs quit (Ping timeout: 252 seconds)
15:18:33Tiberiumas libman would say, swift and kotlin both have apache 2 license, but Nim has MIT :)
15:18:51demi-also swift is not enjoyable to work in ime
15:19:22Tiberiumalso there's no official swift for windows
15:19:42demi-because there isn't llvm support there yet, iirc
15:19:46Tiberiumonly linux (official builds only for ubuntu) and macos
15:19:53libmanI would also say that Nim is more portable. Swift and KotlinNative are married to LLVM.
15:19:57Tiberiumdemi-, there's
15:20:00Tiberiumthere is
15:20:07TiberiumSwift uses LLVM
15:20:16demi-yes, i'm aware
15:20:51demi-i'm doubtful of the completeness of the windows support in llvm, last i checked it was barely supported -- if at all
15:21:52couven92in the nimble file, can you get a before block to invoke another task?
15:22:11libmanFun game: firing up emulation images of crazy-obscure OSes (Haiku, MINIX, plan9, ReactOS, proprietary UNIX abandonware, etc) and seeing if Nim works out of the box.
15:22:22demi-couven92: shouldn't you make that a task dependency?
15:22:36couven92demi-, ok, how=
15:22:38couven92?
15:22:41Tiberiumlibman, AFAIK nim already works in Haiku
15:22:59Tiberiumlibman, because platform.nim knows about it :)
15:23:02libmanYup. One of these days I'll try MS-DOS. 0_0
15:23:06Tiberiumlol
15:23:23TiberiumI also think that ReactOS will work too
15:23:49FromGitter<ephja> does it run on Nokia 3310 yet?
15:24:10Tiberiumat least it will run on esp8266 (sadly without GC because esp8266 is too small)
15:24:38Tiberiumah, you mean new one
15:25:02libmanWe should make a binary repo of Nim on obscure platforms / OSes for bragging rights against languages married to less portable runtimes / compilers.
15:25:20FromGitter<ephja> fairly new. phone from 2000
15:25:36Tiberiumephja: there's new nokia 3310
15:25:50Tiberiumhttps://en.wikipedia.org/wiki/Nokia_3310_(2017)
15:26:04libmanARM7
15:26:18Tiberiumreally?
15:28:19FromGitter<ephja> :o
15:29:29libmanI remember I had a "candybar" / fold keyboard Nokia phone (E70?) back in the day. Could do IRC/IM with full keyboard.
15:31:12FromGitter<stisa> E75 ? I had one of those too
15:39:01*Trustable joined #nim
15:40:26demi-couven92: hmmm, i was under the impression there was a way to do this but i cannot seem to get it to run without crashing
15:41:11*Vikhenzo joined #nim
15:41:27couven92demi-, neither can I... I actually just want to ensure that some directories are created... I can't call createDir since it's in OS which I cannot import in nimscript
15:41:27Vikhenzoheey i need a little help compiling nim from source
15:41:43Vikhenzohttps://dl.dropboxusercontent.com/s/gfk334iq6lehhnp/ConEmu64_2017-05-18_11-41-35.png
15:41:49Vikhenzo^^
15:41:56Vikhenzoplease
15:42:09demi-couven92: uhm, it seems like it is on the docs page? https://nim-lang.org/docs/nimscript.html#dirExists,string
15:43:08couven92demi-, ah, I was looking for nimscriptapi as it says in the nimble repo, but thanks! :)
15:43:10demi-and it seems like you should be able to create the directories externally: https://nim-lang.org/docs/nimscript.html#exec,string
15:43:22libmanVikhenzo: koch.nim is in the parent dir.
15:43:39Vikhenzoah ok
15:43:39Vikhenzoty
15:44:12Vikhenzothanks that worked
15:45:45*gggs joined #nim
15:46:02*dddddd quit (Ping timeout: 255 seconds)
15:46:59libmanThe nim directory structure could be cleaner. Its root should be limited to a readme and dirs like src, doc, and as few others as possible.
15:47:40Vikhenzoi mean it's fine
15:47:53Vikhenzoit's a clean enough compiling process there are some much much worse
15:48:03Vikhenzoit was just me being dumb/blind
15:48:25libmanI'm just brainstorming here. The ideal Nim binary installer would download one txz for non-platform-dependent stuff (lib, src, doc), and all the bin's would come from platform-specific txz's.
15:49:26Vikhenzosounds p good
15:58:16*arnetheduck_ quit (Ping timeout: 260 seconds)
16:02:40*dddddd joined #nim
16:04:13*yglukhov quit (Remote host closed the connection)
16:04:56*Vikhenzo quit (Quit: Leaving)
16:05:04*yglukhov joined #nim
16:06:57*yglukhov_ joined #nim
16:06:57*yglukhov quit (Read error: Connection reset by peer)
16:08:42FromGitter<zacharycarter> demi-: thanks!
16:08:42*yglukhov_ quit (Read error: Connection reset by peer)
16:08:51*yglukhov joined #nim
16:12:37*BennyElg joined #nim
16:13:04*yglukhov quit (Ping timeout: 246 seconds)
16:15:55*Andris_zbx quit (Remote host closed the connection)
16:20:30*yglukhov joined #nim
16:24:44*yglukhov quit (Ping timeout: 255 seconds)
16:30:29Tiberiumafter 0.17.0 I get :"Error: undeclared identifier: 'AsyncResponse'"
16:30:40Tiberiumbut httpclient is imported
16:32:35Tiberiumwait, how to use "quote do" now?
16:35:29Arrrr`let foo = quote do:` you can't anylonger do `add result, quote do:`
16:35:58Tiberiumand what about "result = qoute do:" ?
16:36:08Arrrrshould work too
16:38:57couven92is there a way in a macro to get all declared symbols from a module?
16:39:48Arrrrmaybe including that module?
16:40:57demi-i'm not sure, since the names of the symbols are generated at compile-time in a non-deterministic way afaict if you aren't using `exportc`
16:41:45couven92I mean as a list to iterate over and with the names before compiling to C. In my case I want to automagically construct a `$` proc for a distinct type
16:42:20couven92and thus want to find all const declarations that declare a value for that type
16:42:34*couven92 quit (Read error: Connection reset by peer)
16:42:57*couven92 joined #nim
16:43:13couven92very much like the string name in enums, but otherwise enums aren't applicable in this case
16:46:28*PMunch quit (Quit: leaving)
16:51:03FromGitter<ephja> the call site is the highest level you can access without any inputs
16:51:55couven92ephja, okay... guess i'll just create a macro that takes a list of values as input and generates a gigantic case-of-stmt out of that :P
16:53:25*krux02 quit (Ping timeout: 246 seconds)
16:54:46FromGitter<ephja> pragmas can be applied to types, but I tried to supply my own macro and I couldn't get it to compile so I dunno if that's possible
16:56:54*pilne joined #nim
16:58:25*yglukhov joined #nim
16:59:29*yglukhov quit (Remote host closed the connection)
16:59:45*yglukhov joined #nim
17:01:46*BennyElg_ joined #nim
17:01:46*BennyElg quit (Read error: Connection reset by peer)
17:02:45Tiberiumdom96, also you maybe want to change default nim to 0.17.0 from 0.16.0?
17:11:03*yglukhov quit (Remote host closed the connection)
17:16:08*yglukhov joined #nim
17:19:52*yglukhov quit (Remote host closed the connection)
17:40:31*Matthias247 joined #nim
17:52:23*Sentreen quit (Ping timeout: 260 seconds)
17:57:37*Ven joined #nim
17:58:00*Ven is now known as Guest50345
18:04:47*planhths quit (Quit: Konversation terminated!)
18:05:25*Sentreen joined #nim
18:06:51*yglukhov joined #nim
18:14:38*Guest50345 quit (Ping timeout: 240 seconds)
18:15:52*couven92 quit (Quit: Client disconnecting)
18:16:50*Ven_ joined #nim
18:21:05*Ven_ quit (Ping timeout: 240 seconds)
18:27:06*Senketsu joined #nim
18:30:59FromGitter<zacharycarter> any way to convert a hex literal to its decimal value?
18:32:17*Ven_ joined #nim
18:33:01def-zacharycarter: https://nim-lang.org/docs/strutils.html#parseHexInt,string
18:33:13FromGitter<zacharycarter> thanks
18:36:18FromGitter<zacharycarter> hrmmm
18:36:30FromGitter<zacharycarter> parseHexInt takes in a string, but my hex literal is a uint32 which apparently can't be converted to a string
18:36:54def-Minimal example please
18:37:01def-let x: uint32 = ____ (fill in here)
18:37:21FromGitter<zacharycarter> I'll will make a glot one second
18:38:25FromGitter<zacharycarter> https://glot.io/snippets/epzaha0ii5
18:38:29FromGitter<zacharycarter> this is with the js compiler mind you
18:39:21def-I'm not sure I understand what you're trying to do
18:39:30def-what result do you expect?
18:39:50FromGitter<zacharycarter> 808464639
18:39:54FromGitter<zacharycarter> oh sorry
18:40:07FromGitter<zacharycarter> I'm trying to convert a uint32 hex literal like - 0x303030ff
18:40:09FromGitter<zacharycarter> to its decimal value
18:40:31FromGitter<zacharycarter> 808464639 would be the value I'd expect
18:40:39def-then it works already
18:40:44def-at least with C backend
18:40:48FromGitter<zacharycarter> not with the js :/
18:40:51def-JS internally uses floats
18:40:58def-so large numbers can't be represented accurately
18:41:05def-there are no ints in JS to my knowledge
18:41:09demi-yeah
18:41:22FromGitter<zacharycarter> hrm :/
18:41:28def-and you don't need the $ btw, echo stringifies automatically
18:41:36FromGitter<zacharycarter> ah good to know thanks
18:42:05def-but I thought it would be a larger number in JS
18:42:52def-apparently Nim doesn't support uint32 in JS?
18:42:59FromGitter<zacharycarter> apparently not
18:43:00def-let foo = 0x303030ff works
18:43:06FromGitter<zacharycarter> yeah
18:45:07def-you could try emscripten
18:45:27FromGitter<zacharycarter> bleh
18:47:01FromGitter<zacharycarter> def- seems like this issue has been reported already : https://github.com/nim-lang/Nim/issues/4714
18:48:33FromGitter<dom96> Tiberium: in choosenim? I already did.
18:55:04Tiberiumwhere?
18:55:33Tiberiumbecause for me choosenim unix script installed 0.16.0 stable
18:58:01*Ven_ quit (Ping timeout: 246 seconds)
18:58:35*Ven joined #nim
18:58:58*Ven is now known as Guest74863
18:59:19*Tiberium quit (Remote host closed the connection)
19:02:48*Guest74863 quit (Ping timeout: 240 seconds)
19:05:02*yglukhov quit (Remote host closed the connection)
19:05:21*Ven_ joined #nim
19:19:42FromGitter<dom96> Did you already have 0.16 installed?
19:20:02FromGitter<dom96> You'd need to run `choosenim update stable`
19:23:16*yglukhov joined #nim
19:31:30*Arrrr quit (Quit: Leaving.)
19:43:06*Ven_ quit (Ping timeout: 240 seconds)
19:43:43*Ven_ joined #nim
19:53:56*Sentreen quit (Ping timeout: 260 seconds)
19:56:25*Vladar quit (Quit: Leaving)
19:57:46FromGitter<zacharycarter> @stisa I'm using your webgl library in frag now for this experimental html5 backend I'm writing
19:58:24FromGitter<zacharycarter> thank you for making it, seems nice so far
20:02:19*libman quit (Quit: Connection closed for inactivity)
20:07:54*Sentreen joined #nim
20:27:49FromGitter<mratsim> Thank you @Araq and @Varriount, I managed to implement slicing/views (without copy) for my array library. ⏎ ⏎ I can now do things like this: http://img.ctrlv.in/img/17/05/18/591e03364fccd.png
20:28:52*nsf quit (Quit: WeeChat 1.7.1)
20:30:13FromGitter<mratsim> Now I’m in a long walk to unit test that stuff.
20:30:19*Ven_ quit (Ping timeout: 260 seconds)
20:31:32*Ven joined #nim
20:31:53*yglukhov quit (Remote host closed the connection)
20:31:55*Ven is now known as Guest71934
20:32:49*couven92 joined #nim
20:33:58chrishellerAnyone using nimrtl for multiple shared libraries along with macros? I have a macro that uses .toLowerAscii and compiles and runs fine without the nimrtl stuff, but I get "cannot 'importc' variable at compile time" when I try to compile with --define:useNimRtl
20:34:32*rauss quit (Quit: WeeChat 1.8)
20:35:46*Guest71934 quit (Ping timeout: 240 seconds)
20:38:36*Ven_ joined #nim
20:43:01*Ven_ quit (Ping timeout: 246 seconds)
20:45:30*Ven_ joined #nim
20:46:12*bjz joined #nim
20:50:24*Ven_ quit (Ping timeout: 260 seconds)
20:51:31*Ven_ joined #nim
20:52:46Araqchrisheller: that's expected. useNimRtl means the compiler is not aware of toLowerAscii's body
20:53:00AraqI mean, sure we can fix it somehow
20:53:28Araqbut it's not surprising IMO
20:57:01FromGitter<stisa> thanks @zacharycarter , it's still very rough though, especially the part about textures, I was planning on working on it more but got busy with other things
20:58:30*Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:00:32FromGitter<zacharycarter> @stisa once I get to loading textures, maybe I can contribute
21:01:02FromGitter<zacharycarter> this is pretty awesome so far though
21:01:16FromGitter<zacharycarter> getting very excited about the possibilities here with frag being able to produce html5 games too
21:01:43FromGitter<zacharycarter> wish I could have saved myself a lot of time and energy just using pixi but alas
21:02:51*derlafff quit (Remote host closed the connection)
21:02:53FromGitter<stisa> yeah webgl is nice, it's fun to make tiny playable things and sharing them as html
21:03:10*libman joined #nim
21:04:04*derlafff joined #nim
21:18:49*gggs quit (*.net *.split)
21:18:50*stisa quit (*.net *.split)
21:22:01FromGitter<zacharycarter> well I'll be even more excited if I can build prototypes of games with html5 and then with the same code run a thick client version with the bgfx renderer etc
21:22:32FromGitter<zacharycarter> at this point it's just about producing consistent results b/w bgfx and webgl
21:22:42FromGitter<zacharycarter> and also figuring out what to do about things like nanovg and nuklear for the web
21:23:18*Trustable quit (Remote host closed the connection)
21:28:11*stisa joined #nim
21:30:38FromGitter<stisa> port everything to nim :D anyway, I think you should focus on the core for now, gui libs can be built later on if the core is solid, no?
21:31:14FromGitter<zacharycarter> I can't even imagine how long it would take to port everything frag relies on to nim, I wish :P
21:31:43FromGitter<zacharycarter> frag is more a bunch of glue code holding a bunch of libraries together
21:31:55FromGitter<zacharycarter> to be brutally honest
21:32:21FromGitter<zacharycarter> it allows you to make games, but at the moment doesn't go to great lengths to make it easy or offer a consistent api
21:32:52FromGitter<zacharycarter> but because it's been so easy to go out and grab a library and bind to it frag offers a bunch of functionality
21:33:19FromGitter<zacharycarter> finding JS counterparts will be the challenge
21:33:51FromGitter<stisa> well now you have something that works, non-nim code can be replaced a file at a time
21:34:56FromGitter<zacharycarter> well replacing something like bgfx would be quite the challenge
21:35:10FromGitter<zacharycarter> https://github.com/bkaradzic/bgfx
21:36:13FromGitter<zacharycarter> but regardless, yes you're right it is a good idea to try to decrease the number of non-nim dependencies
21:36:24FromGitter<zacharycarter> unfortunately most of those are what does the heavy lifting for the framework
21:36:57FromGitter<stisa> well if you are building a webgl backend yourself, you could probably port it to desktop with a reasonable amount of work
21:38:04FromGitter<stisa> I have to find some time to play with frag though, maybe this weekend
21:38:19FromGitter<zacharycarter> originally I started with just OpenGL
21:38:25*gokr quit (Ping timeout: 240 seconds)
21:38:58FromGitter<zacharycarter> but eventually I'd like to be able to get frag running on everything and also not have to worry about future APIs like Vulkan and Metal
21:39:06FromGitter<zacharycarter> so bgfx fit nicely
21:40:03FromGitter<zacharycarter> if you do end up playing with it @stisa please ping me and I'll help get you going if you need any guidance
21:41:00FromGitter<stisa> deal, thanks
21:44:17*Sentreen quit (Ping timeout: 268 seconds)
21:45:35*nsf joined #nim
21:50:01*xet7 quit (Read error: Connection reset by peer)
21:50:10*xet7_ joined #nim
21:57:48*Sentreen joined #nim
21:59:08*xet7_ is now known as xet7
21:59:31*xet7 quit (Quit: Leaving)
22:00:34*xet7 joined #nim
22:05:57*xet7 quit (Read error: Connection reset by peer)
22:06:02*xet7_ joined #nim
22:06:17*xet7_ is now known as xet7
22:15:20*bjz quit (Ping timeout: 260 seconds)
22:16:14*bjz_ joined #nim
22:17:39*jackv quit (Remote host closed the connection)
22:19:23*BennyElg_ quit (Remote host closed the connection)
22:20:41*jackv joined #nim
22:23:09*ephja quit (Ping timeout: 258 seconds)
22:23:38*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:25:02*PMunch joined #nim
22:26:32*jackv quit (Quit: WeeChat 1.8)
22:26:47*jackv joined #nim
22:28:35FromGitter<mratsim> Kotlin is all over /r/programming, even with clickbait “Why Kotlin is probably better than whatever language you’re using” https://www.reddit.com/r/programming/comments/6bs713/steveys_blog_rants_why_kotlin_is_better_than/?utm_content=comments&utm_medium=hot&utm_source=reddit&utm_name=programming
22:30:29*xet7_ joined #nim
22:30:41*xet7_ quit (Client Quit)
22:32:08*xet7 quit (Read error: Connection reset by peer)
22:32:09*xet7_ joined #nim
22:32:33*xet7_ is now known as xet7
22:42:16chrishellerWell, I've been looking at how inclrtl.nim and nimrtl.nim work for a little bit now, but it's not clear to me what the approach would be for fixing it so that things like strutils are available at compile time.
22:43:39libmanKotlin succeeds in the most important programming language attribute: a name that subtly suggests it's superseding another language.
22:44:14chrishellerI can probably get around this for just a little bit of string munging functionality, so unless anyone has some good ideas about what a proper fix would look like, I may just cheat and dupe toLowerAscii into my code.
22:45:03FromGitter<zacharycarter> Until I see something out of kotlin native beyond - this is a toy and we're playing with it - I don't buy the kotlin hype train
22:45:53FromGitter<zacharycarter> in their first release of kotlin native they basically claimed it was experimental and not optimized
22:46:15FromGitter<zacharycarter> I have no idea how / if it's progressed but if it hasn't, at this point it's just a safer JVM language
22:46:54FromGitter<zacharycarter> you still have to install Java to use Kotlin
22:47:05FromGitter<zacharycarter> let's never forget that
22:49:07libman(Like Java and Kotlin, Nim is also named after an island. $searchEngine it. And it starts with an N, which I'm sure is making Stephen Wolfram very nervous.)
22:56:30*PMunch quit (Quit: leaving)
22:57:18FromGitter<zetashift> they have a different team working on kotlin native so I'm assuming there is steady progress
22:57:27FromGitter<zetashift> and like 1-2 weeks ago they released kotlin native 0.2
22:58:23FromGitter<zacharycarter> it still hasn't progressed beyond an unoptimized native target
22:58:26FromGitter<zacharycarter> and look at Scala native
23:00:28FromGitter<zacharycarter> I'm not saying they'll have the same future, but just because they've achieved compilation without a runtime doesn't mean they're where or anywhere near where they need to be
23:00:44libmanHas there ever been a language that successfully expanded from VM to native?
23:00:49FromGitter<barcharcraz> C#
23:01:02FromGitter<barcharcraz> c# runs as native code on some platforms
23:01:23FromGitter<barcharcraz> such as windows phone (although there it's actually downloaded as optimized IL and compiled on install)
23:01:29FromGitter<barcharcraz> it does not result in that much of a speedup
23:02:05FromGitter<barcharcraz> also almost all languages have a runtime. Like the only exception I can think of is maybe Fortran
23:02:11FromGitter<zacharycarter> sure a VM then
23:02:13libmanI was just thinking about C# and GCJ, and I don't know much about it, but I don't think it got very far in native mode.
23:02:24FromGitter<barcharcraz> c# native does work
23:02:35FromGitter<barcharcraz> it's just not much faster than using the VM
23:02:52FromGitter<barcharcraz> and since the VM is essentially a windows component now there's no reason to do the native version
23:03:31libmanhttps://csnative.codeplex.com/ - 3,392 downloads, much wow.
23:03:43*xet7 quit (Ping timeout: 246 seconds)
23:03:57FromGitter<zacharycarter> lol
23:04:39*couven92 quit (Quit: Client Disconnecting)
23:05:07libmanI mean like >10% market share for the native code option. Seems like language ecosystems mostly stay focused on a single target.
23:05:08FromGitter<zacharycarter> it's funny I frequent #libgdx and everyone is assuming kotlin native is going to make their game / libgdx able to target every platform and run at C/C++ speed
23:05:39FromGitter<zacharycarter> yeah I honestly think kotlin native is a bad move for the language
23:06:10libmanAnd it seems like Julia still isn't even trying to be a language that generates executable binaries.
23:06:26FromGitter<barcharcraz> julia can generate self contained binaries I think
23:06:35FromGitter<barcharcraz> but it has quite a runtime
23:07:20libmanThis is why Nim is the best language for the new Unix userland: lean binaries, runs everywhere.
23:13:32*nsf quit (Quit: WeeChat 1.7.1)
23:43:02*rupil joined #nim
23:44:23*Matthias247 quit (Read error: Connection reset by peer)
23:46:24rupilshould, echo(not 5 == 4), return true or false?
23:49:28rupilnvm, need parenthesis.