00:00:35 | * | mal`` quit (Quit: Leaving) |
00:01:15 | dom96 | good night |
00:03:29 | * | skrylar quit (Remote host closed the connection) |
00:05:16 | * | mal`` joined #nim |
00:15:58 | libman | "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:01 | libman | Quick, 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:59 | PMunch | dom96, 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:24 | FromGitter | <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:32 | Arrrr | 'except Exception as exc' great |
07:55:26 | Arrrr | 'The popular “colon block of statements” syntax is now also supported for let and var statements' great++ |
07:56:24 | FromGitter | <andreaferretti> congratulations to all on 0.17! |
07:56:54 | FromGitter | <andreaferretti> I confirm that all my libraries that were broken during the concept evolution are working again |
07:58:06 | Araq | thanks, I broke the Windows zips though and fixing it is hard |
07:58:15 | Araq | :-( |
07:58:37 | Arrrr | Doesn't it accept at every release? |
07:59:44 | FromGitter | <ephja> libman: s/popularity/popular -.- |
08:00:11 | Araq | https://github.com/nim-lang/Nim/blob/devel/koch.nim#L406 check your Nim skills |
08:00:22 | Araq | who can spot the problem? |
08:03:01 | Araq | yeah, that's right, we build the *.zip with the temporarily patched nim.cfg |
08:03:12 | Araq | the 'try finally' doesn't save us |
08:03:45 | Arrrr | Can you concat strings and regex? |
08:04:06 | * | Andris_zbx joined #nim |
08:05:31 | Araq | why? |
08:06:01 | FromGitter | <andreaferretti> what does it even mean? |
08:07:02 | Arrrr | Because of line 419. I thought r returned a regex object. Well, nevermind |
08:12:17 | FromGitter | <dom96> Bah. We dropped off the front page of HN faster than normal. Pity. |
08:14:40 | Arrrr | I confused `r` with `re` |
08:26:42 | * | yglukhov joined #nim |
08:29:41 | Arrrr | Hmm, a breaking change with quote do? https://pastebin.com/BqWbFZJF |
08:29:52 | Arrrr | Also, `quote() do` fucks the compiler |
08:34:32 | yglukhov | Arrrr: new parsing rules. line 7 is no more valid. line 16 is valid |
08:35:18 | Arrrr | Noooo |
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:14 | FromGitter | <vegansk> `````` |
09:23:54 | FromGitter | <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:10 | FromGitter | <vegansk> Here is the call: ⏎ ⏎ ``` check: 1.rightS == tryST do: ⏎ check: 1 == 1 ⏎ 1``` [https://gitter.im/nim-lang/Nim?at=591d687592217cca588b04e8] |
09:26:01 | FromGitter | <vegansk> And here is the macro's type: ⏎ ⏎ ``` macro tryST*(body: untyped): untyped =``` [https://gitter.im/nim-lang/Nim?at=591d68a933e9ee771cbc0544] |
09:27:48 | Araq | 'do' parsing checked, look at the news please |
09:27:53 | Araq | *changed |
09:30:22 | FromGitter | <vegansk> Oh, and what was the reason for that change? |
09:31:39 | Araq | "consistency" with the new ':' colon syntax rules |
09:32:25 | * | Vladar joined #nim |
09:32:28 | FromGitter | <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:01 | Araq | it gets confusing quickly, just add () until it compiles ;-) |
09:33:17 | FromGitter | <vegansk> :smile: |
09:34:33 | FromGitter | <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:40 | chemist69 | could someone elaborate on the "colon block of statements syntax" for let and var and on the example in the blog post? |
10:11:49 | chemist69 | the example just prints "welcome to Nim!" for me. What is the `4` supposed to do? |
10:12:50 | chemist69 | BTW, 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:29 | FromGitter | <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:31 | FromGitter | <ephja> chemist69: the variable gets initialized with that value |
10:21:40 | * | chrisheller joined #nim |
10:26:16 | FromGitter | <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:29 | chemist69 | ah, 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:11 | chemist69 | .. or for dom96 's second book: "Nim advanced topics" ;P |
10:27:16 | FromGitter | <ephja> and "let x = ve(4, echo "welcome to Nim!")" is of course identical |
10:27:40 | FromGitter | <jrdlph> it makes more sense when there is more than one statement in the block |
10:27:42 | chemist69 | ephja: that's a good remark, thanks. |
10:29:51 | chemist69 | jrdlph: ok, I am beginning to understand, thanks. |
10:29:54 | FromGitter | <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:17 | chemist69 | ephja: didn't know about `about:performance`. That's a great tip! |
10:34:36 | planhths | Hey 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:05 | couven92 | Yaih! No Nim is 0.17 both at home and at my work computer! :) |
10:59:47 | FromGitter | <dom96> Planhths: looks good except the Client type should be a ref object or at least an object. |
11:00:02 | planhths | ok cool will change that |
11:00:55 | Tiberium | yay, 0.17.0 |
11:01:41 | FromGitter | <dom96> |
11:02:29 | FromGitter | <dom96> Choosenim working for everyone? |
11:02:34 | * | Snircle joined #nim |
11:05:49 | Tiberium | dom96, do I need to update choosenim itself? |
11:05:52 | Araq | just uploaded new zips, please somebody test it |
11:06:38 | couven92 | Araq, Nim release zips? what was wrong with the old ones? |
11:06:51 | Araq | wrong nim.cfg |
11:07:00 | couven92 | ah, okay |
11:10:01 | Arrrr | The win x86 one works fine for me. |
11:13:32 | FromGitter | <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:49 | couven92 | Araq, the win x64 seems to work fine for me. With VCC and vccexe installed through |
11:14:01 | Araq | Arrrr also tested "finish" path option? |
11:14:06 | FromGitter | <ephja> the syntax tree tree? very meta :-) |
11:14:34 | * | sz0 joined #nim |
11:15:17 | planhths | Changed to object (or ref object) it crashes after entering nick... |
11:15:30 | Arrrr | Huh not that. What option exactly? |
11:16:23 | FromGitter | <mratsim> Ah got you ephja, :P |
11:16:32 | Arrrr | Well, 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:35 | Araq | never mind, I tested it and it works |
11:19:02 | Araq | in fact, it even detected a broken mingw installation and installed one from the website and patched Nim's config |
11:19:18 | Araq | quite impressive. :-) |
11:19:52 | * | bjz quit (Ping timeout: 246 seconds) |
11:20:30 | * | bjz_ joined #nim |
11:22:11 | yglukhov | Does anyone know how to inspect binary size to know why it is so big? |
11:26:23 | Araq | yglukhov: now really. I would make GCC keep the .s files and look at the largest |
11:26:37 | Araq | *not really. |
11:32:38 | Tiberium | I think I would need to use "--gc:none" with 128kb RAM and 4mb flash? esp8266 microcontroller |
11:33:18 | FromGitter | <dom96> Tiberium: yeah, you might want to, I made many fixes to it. |
11:33:40 | Tiberium | but for some reason there's micropython and espruino - python and js on esp8266 |
11:34:02 | FromGitter | <dom96> You can easily update it by just downloading the binary and placing it in your nimble bin dir. |
11:34:02 | Tiberium | and also there's lua |
11:34:18 | Tiberium | dom96, ah, ok, will update choosenim now |
11:35:05 | Tiberium | but anyway I'll try to use ardunimo to see if I can use GC on this tiny thing :) |
11:36:06 | Tiberium | it's very cheap btw, $3 only, and you can use lua, js, python, or arduino sketches |
11:37:13 | FromGitter | <ephja> "macro enumerators(e: typedesc[enum]): set[e]" should be possible now I guess |
11:48:32 | FromGitter | <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:39 | FromGitter | <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:59 | FromGitter | <ephja> https://gist.github.com/ephja/9e8dc19339970ff5b1e291fc23075b7f |
12:01:26 | * | skrylar joined #nim |
12:01:39 | FromGitter | <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:33 | FromGitter | <ephja> I forgot to name the gist myself |
12:03:40 | * | dexterk__ joined #nim |
12:33:26 | Araq | mratsim, so unpack the args |
12:41:19 | Araq | for 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:10 | libman | ephja: 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:09 | krux02 | did you realize "linenoise" is not on the index page? |
13:11:28 | krux02 | https://nim-lang.org/docs/theindex.html Ctr-f linenoise |
13:27:54 | Trioxin | the way to get started with wrappers is c2nim right? |
13:31:09 | * | dddddd joined #nim |
13:31:22 | Araq | yes |
13:35:35 | * | rauss joined #nim |
13:36:18 | Trioxin | what path are nimble packages installed to now? |
13:38:01 | skrylar | you could do that or just flop the headers in to vim and begin mangling them with macros and search/replaces |
13:38:55 | Trioxin | I really want to wrap blake2. please nobody else do it. |
13:39:39 | skrylar | some kind of hash function. hm |
13:39:52 | Trioxin | super fast for hashing files |
13:40:00 | Trioxin | fastest afaik |
13:41:54 | couven92 | Uhm... where's a good place to clone and install Nim on Ubuntu? `/opt/Nim`? |
13:42:17 | skrylar | opt is always a good place for user packages |
13:42:18 | Trioxin | sure |
13:42:33 | Trioxin | mine is in ~/bin/Nim but opt is good |
13:42:46 | couven92 | okay then... opt it is |
13:42:48 | couven92 | :) |
13:42:56 | Trioxin | I like to keep everything in userland I can get away with |
13:43:01 | skrylar | technically /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:06 | Trioxin | but I guess path doesn't matter |
13:43:24 | skrylar | as an arch person i just toss them in a package |
13:43:57 | Trioxin | using c2nim you wouldn't really wind up with a "wrapper" right? at that point it's all Nim |
13:44:14 | skrylar | you still have to have the c files around |
13:44:19 | skrylar | it makes header bindings |
13:44:42 | Trioxin | the .h files only get converted? |
13:44:52 | skrylar | usually |
13:44:52 | * | vlad1777d joined #nim |
13:44:54 | FromGitter | <zacharycarter> you can convert implementation with c2nim as well |
13:44:55 | Trioxin | but I could just convert the c file too |
13:45:33 | skrylar | i wouldn't say its a great idea to do that. especially for stuff like blake that already has assembly optimized versions |
13:45:33 | FromGitter | <zacharycarter> Trioxin: I have several examples of bindings to various C libraries I've produced for nim |
13:45:47 | Trioxin | ah |
13:45:48 | skrylar | you can tell nim to include the c file as part of the nim module and just wrap the function calls |
13:45:57 | skrylar | unless this is specifically for like javascript builds |
13:46:24 | FromGitter | <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:05 | FromGitter | <zacharycarter> here's a library that does the former - https://github.com/zacharycarter/nuklear-nim |
13:47:24 | FromGitter | <zacharycarter> https://github.com/zacharycarter/blt-nim |
13:47:27 | FromGitter | <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:14 | Trioxin | wonder if I could convince a shop using C to hire me for Nim |
13:50:43 | FromGitter | <zacharycarter> Maybe if they're using Nim :P |
13:51:51 | Trioxin | almost zero chance of that. best to just start with it from the beginning |
13:53:50 | Trioxin | go ppl need to recognize |
13:55:32 | FromGitter | <ephja> skrylar: or other native code targets, but who knows when that will happen |
13:56:01 | Trioxin | I was talking about this a few days ago. Need a marketing benefactor |
13:56:09 | FromGitter | <ephja> speaking of which, how much progress has mat4 been making? |
13:58:25 | Araq | with what? |
13:59:04 | skrylar | Trioxin, i dunno. have to find someone who's in a selection period for a project and then fight off opposing biases |
13:59:59 | Trioxin | skrylar, not sure what you meant by that. |
14:00:26 | skrylar | Trioxin, people have a lot of stupid biases. you have to fight those off. |
14:00:33 | skrylar | "it doesn't look just like C so its' bad" |
14:00:47 | skrylar | lispers have that fight daily |
14:00:52 | FromGitter | <zacharycarter> anyone have any experience using browserify with nim? |
14:01:51 | skrylar | Trioxin, 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:41 | skrylar | that is only to speak of the silly resistances. there are also legitimate reservations |
14:02:43 | Trioxin | What 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:58 | skrylar | that's just not how it works tho |
14:03:05 | skrylar | if you look at Red, nenad had to move to china to get investors |
14:03:31 | Trioxin | man I could sell anything |
14:03:31 | FromGitter | <zacharycarter> also what does the -d:nodejs flag do on the js backend? |
14:03:44 | skrylar | you have to have a killer app/framework and then the language rides the coattails of said product /'_'\ |
14:03:58 | skrylar | that's how ruby became relevant outside of japan |
14:05:27 | Trioxin | that'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:48 | skrylar | i havent looked inside that compiler |
14:06:21 | skrylar | i think we have a wx and gtk port. the wx port has fancy macros or something |
14:06:40 | skrylar | red/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:47 | Trioxin | look at all the marketing that was done for Java. Of course those were different times but still. Huge success. |
14:07:04 | skrylar | heh ._. |
14:07:09 | skrylar | it helped that xerox was incompetent |
14:07:38 | skrylar | Java had to fight off Smalltalk. Smalltalk's failure was Xerox wanted too much money. |
14:07:53 | skrylar | Same reason Objective-C failed |
14:08:30 | Trioxin | convincing Jetbrains to make a Nim IDE would give a boost |
14:08:45 | skrylar | maybe |
14:08:58 | skrylar | its really just a framework issue |
14:09:05 | skrylar | jetbrains didn't make a go ide but they still have web stuff |
14:09:10 | Trioxin | it's easy for them. they crap out intellij IDEs all the time. |
14:09:28 | Trioxin | they made Gogland |
14:09:31 | krux02 | I am very unhappy with the breaking change in the new Nim version. |
14:09:44 | skrylar | there's a breaking change now? ._. |
14:09:57 | krux02 | yes it's a change in parsing |
14:10:13 | krux02 | the way how do: is parsed has changed |
14:10:27 | Trioxin | hey Nim isn't version 1 yet. it's expected. |
14:10:49 | krux02 | http://ix.io/u99 |
14:10:54 | krux02 | this code does not work anymore |
14:11:00 | skrylar | thats the kind of thing that has to stop for companies to take you seriously tho, Trioxin |
14:11:08 | krux02 | well this sux a lot |
14:11:18 | krux02 | because I used this syntax really a lot |
14:11:26 | subsetpark | I was just wondering if the Nim homebrew pacage was updated to 0.17, then Iremembered that I'm the maintainer... |
14:11:41 | libman | Why are people capitalizing Nim directory name? doublePlusUnUnix! |
14:12:12 | * | skrylar puts libman in /opt/nimrod |
14:12:54 | Araq | krux02: zahary gave you 'quote do', zahary took it away :P |
14:12:55 | skrylar | anyway time to womble to work |
14:13:00 | Trioxin | kind 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:18 | FromGitter | <andreaferretti> @skylar actually, for me, this release was the one with the least breaking changes |
14:14:04 | Trioxin | he parted |
14:14:18 | couven92 | Araq, 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:30 | FromGitter | <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:52 | Araq | I couldn't care less. it's yet more noise. |
14:15:06 | Araq | and the leading dot makes it unix crap. |
14:15:27 | couven92 | :( |
14:16:00 | * | demi- joined #nim |
14:16:07 | Araq | editors can auto-detect indentation. |
14:16:41 | * | PMunch joined #nim |
14:16:53 | couven92 | what if I create a new Nim file? |
14:18:07 | Araq | then you indent the first line manually. yezz |
14:20:45 | Araq | what 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:06 | FromGitter | <ephja> auto formatting? ;) |
14:28:59 | subsetpark | Ah, someone beat me to it - https://github.com/Homebrew/homebrew-core/pull/13670 |
14:29:55 | * | dddddd quit (Ping timeout: 246 seconds) |
14:33:26 | Trioxin | "Python 2 wrapper for Nim" I could use any arbitrary python lib? |
14:33:52 | FromGitter | <zacharycarter> still curious / wanting to know about the nodejs define and what it does |
14:34:18 | Trioxin | probably 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:34 | FromGitter | <zacharycarter> well there is no js define there's just the compiler |
14:34:41 | FromGitter | <zacharycarter> which you invoke with nim js |
14:34:45 | FromGitter | <zacharycarter> but apparently you can pass it -d:nodejs |
14:34:53 | FromGitter | <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:57 | krux02 | why was the parsing changed for quote do? |
14:40:24 | krux02 | My code is full of prepended call of quote do |
14:41:20 | Trioxin | was the only thing holding back sentience |
14:44:40 | FromGitter | <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:44 | Trioxin | i used to be excited about the jvm |
14:55:49 | Trioxin | used to be |
14:57:10 | Trioxin | oic. native? |
14:58:00 | FromGitter | <zacharycarter> @stisa thanks |
15:04:28 | * | dddddd joined #nim |
15:05:21 | demi- | 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:56 | demi- | i tried this out by using yarn and interfacing with some javascript code |
15:07:45 | FromGitter | <ephja> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=591db8c183cb5db073448399] |
15:12:36 | krux02 | I 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:21 | FromGitter | <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:26 | FromGitter | <ephja> I'll try something else for now |
15:14:35 | Tiberium | gokr, kotlin isn't native, it runs on top of jvm :) |
15:14:59 | gokr | Tiberium: They have released 0.2 of a native llvm backend |
15:15:31 | demi- | i'm surprised they aren't using Go for android development seeing how much google likes to dogfood |
15:15:49 | gokr | https://github.com/JetBrains/kotlin-native |
15:16:29 | * | Snircle joined #nim |
15:16:45 | Tiberium | gokr, but you will not able to use normal kotlin libraries which depend on jvm I think |
15:16:49 | Tiberium | or on java stdlib |
15:17:01 | Tiberium | demi-, also Google wants to create a new mobile os |
15:17:09 | Tiberium | without java by default :) |
15:17:36 | demi- | i don't see why you would be able to bridge to the JVM |
15:17:52 | gokr | It seems to me that Swift, Kotlin and Nim to a lot extent overlaps. |
15:18:22 | * | gggs quit (Ping timeout: 252 seconds) |
15:18:33 | Tiberium | as libman would say, swift and kotlin both have apache 2 license, but Nim has MIT :) |
15:18:51 | demi- | also swift is not enjoyable to work in ime |
15:19:22 | Tiberium | also there's no official swift for windows |
15:19:42 | demi- | because there isn't llvm support there yet, iirc |
15:19:46 | Tiberium | only linux (official builds only for ubuntu) and macos |
15:19:53 | libman | I would also say that Nim is more portable. Swift and KotlinNative are married to LLVM. |
15:19:57 | Tiberium | demi-, there's |
15:20:00 | Tiberium | there is |
15:20:07 | Tiberium | Swift uses LLVM |
15:20:16 | demi- | yes, i'm aware |
15:20:51 | demi- | i'm doubtful of the completeness of the windows support in llvm, last i checked it was barely supported -- if at all |
15:21:52 | couven92 | in the nimble file, can you get a before block to invoke another task? |
15:22:11 | libman | Fun 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:22 | demi- | couven92: shouldn't you make that a task dependency? |
15:22:36 | couven92 | demi-, ok, how= |
15:22:38 | couven92 | ? |
15:22:41 | Tiberium | libman, AFAIK nim already works in Haiku |
15:22:59 | Tiberium | libman, because platform.nim knows about it :) |
15:23:02 | libman | Yup. One of these days I'll try MS-DOS. 0_0 |
15:23:06 | Tiberium | lol |
15:23:23 | Tiberium | I also think that ReactOS will work too |
15:23:49 | FromGitter | <ephja> does it run on Nokia 3310 yet? |
15:24:10 | Tiberium | at least it will run on esp8266 (sadly without GC because esp8266 is too small) |
15:24:38 | Tiberium | ah, you mean new one |
15:25:02 | libman | We should make a binary repo of Nim on obscure platforms / OSes for bragging rights against languages married to less portable runtimes / compilers. |
15:25:20 | FromGitter | <ephja> fairly new. phone from 2000 |
15:25:36 | Tiberium | ephja: there's new nokia 3310 |
15:25:50 | Tiberium | https://en.wikipedia.org/wiki/Nokia_3310_(2017) |
15:26:04 | libman | ARM7 |
15:26:18 | Tiberium | really? |
15:28:19 | FromGitter | <ephja> :o |
15:29:29 | libman | I remember I had a "candybar" / fold keyboard Nokia phone (E70?) back in the day. Could do IRC/IM with full keyboard. |
15:31:12 | FromGitter | <stisa> E75 ? I had one of those too |
15:39:01 | * | Trustable joined #nim |
15:40:26 | demi- | 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:27 | couven92 | demi-, 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:27 | Vikhenzo | heey i need a little help compiling nim from source |
15:41:43 | Vikhenzo | https://dl.dropboxusercontent.com/s/gfk334iq6lehhnp/ConEmu64_2017-05-18_11-41-35.png |
15:41:49 | Vikhenzo | ^^ |
15:41:56 | Vikhenzo | please |
15:42:09 | demi- | couven92: uhm, it seems like it is on the docs page? https://nim-lang.org/docs/nimscript.html#dirExists,string |
15:43:08 | couven92 | demi-, ah, I was looking for nimscriptapi as it says in the nimble repo, but thanks! :) |
15:43:10 | demi- | and it seems like you should be able to create the directories externally: https://nim-lang.org/docs/nimscript.html#exec,string |
15:43:22 | libman | Vikhenzo: koch.nim is in the parent dir. |
15:43:39 | Vikhenzo | ah ok |
15:43:39 | Vikhenzo | ty |
15:44:12 | Vikhenzo | thanks that worked |
15:45:45 | * | gggs joined #nim |
15:46:02 | * | dddddd quit (Ping timeout: 255 seconds) |
15:46:59 | libman | The 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:40 | Vikhenzo | i mean it's fine |
15:47:53 | Vikhenzo | it's a clean enough compiling process there are some much much worse |
15:48:03 | Vikhenzo | it was just me being dumb/blind |
15:48:25 | libman | I'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:26 | Vikhenzo | sounds 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:42 | FromGitter | <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:29 | Tiberium | after 0.17.0 I get :"Error: undeclared identifier: 'AsyncResponse'" |
16:30:40 | Tiberium | but httpclient is imported |
16:32:35 | Tiberium | wait, how to use "quote do" now? |
16:35:29 | Arrrr | `let foo = quote do:` you can't anylonger do `add result, quote do:` |
16:35:58 | Tiberium | and what about "result = qoute do:" ? |
16:36:08 | Arrrr | should work too |
16:38:57 | couven92 | is there a way in a macro to get all declared symbols from a module? |
16:39:48 | Arrrr | maybe including that module? |
16:40:57 | demi- | 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:45 | couven92 | I 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:20 | couven92 | and 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:13 | couven92 | very 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:03 | FromGitter | <ephja> the call site is the highest level you can access without any inputs |
16:51:55 | couven92 | ephja, 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:46 | FromGitter | <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:45 | Tiberium | dom96, 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:59 | FromGitter | <zacharycarter> any way to convert a hex literal to its decimal value? |
18:32:17 | * | Ven_ joined #nim |
18:33:01 | def- | zacharycarter: https://nim-lang.org/docs/strutils.html#parseHexInt,string |
18:33:13 | FromGitter | <zacharycarter> thanks |
18:36:18 | FromGitter | <zacharycarter> hrmmm |
18:36:30 | FromGitter | <zacharycarter> parseHexInt takes in a string, but my hex literal is a uint32 which apparently can't be converted to a string |
18:36:54 | def- | Minimal example please |
18:37:01 | def- | let x: uint32 = ____ (fill in here) |
18:37:21 | FromGitter | <zacharycarter> I'll will make a glot one second |
18:38:25 | FromGitter | <zacharycarter> https://glot.io/snippets/epzaha0ii5 |
18:38:29 | FromGitter | <zacharycarter> this is with the js compiler mind you |
18:39:21 | def- | I'm not sure I understand what you're trying to do |
18:39:30 | def- | what result do you expect? |
18:39:50 | FromGitter | <zacharycarter> 808464639 |
18:39:54 | FromGitter | <zacharycarter> oh sorry |
18:40:07 | FromGitter | <zacharycarter> I'm trying to convert a uint32 hex literal like - 0x303030ff |
18:40:09 | FromGitter | <zacharycarter> to its decimal value |
18:40:31 | FromGitter | <zacharycarter> 808464639 would be the value I'd expect |
18:40:39 | def- | then it works already |
18:40:44 | def- | at least with C backend |
18:40:48 | FromGitter | <zacharycarter> not with the js :/ |
18:40:51 | def- | JS internally uses floats |
18:40:58 | def- | so large numbers can't be represented accurately |
18:41:05 | def- | there are no ints in JS to my knowledge |
18:41:09 | demi- | yeah |
18:41:22 | FromGitter | <zacharycarter> hrm :/ |
18:41:28 | def- | and you don't need the $ btw, echo stringifies automatically |
18:41:36 | FromGitter | <zacharycarter> ah good to know thanks |
18:42:05 | def- | but I thought it would be a larger number in JS |
18:42:52 | def- | apparently Nim doesn't support uint32 in JS? |
18:42:59 | FromGitter | <zacharycarter> apparently not |
18:43:00 | def- | let foo = 0x303030ff works |
18:43:06 | FromGitter | <zacharycarter> yeah |
18:45:07 | def- | you could try emscripten |
18:45:27 | FromGitter | <zacharycarter> bleh |
18:47:01 | FromGitter | <zacharycarter> def- seems like this issue has been reported already : https://github.com/nim-lang/Nim/issues/4714 |
18:48:33 | FromGitter | <dom96> Tiberium: in choosenim? I already did. |
18:55:04 | Tiberium | where? |
18:55:33 | Tiberium | because 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:42 | FromGitter | <dom96> Did you already have 0.16 installed? |
19:20:02 | FromGitter | <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:46 | FromGitter | <zacharycarter> @stisa I'm using your webgl library in frag now for this experimental html5 backend I'm writing |
19:58:24 | FromGitter | <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:49 | FromGitter | <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:13 | FromGitter | <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:58 | chrisheller | Anyone 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:46 | Araq | chrisheller: that's expected. useNimRtl means the compiler is not aware of toLowerAscii's body |
20:53:00 | Araq | I mean, sure we can fix it somehow |
20:53:28 | Araq | but it's not surprising IMO |
20:57:01 | FromGitter | <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:32 | FromGitter | <zacharycarter> @stisa once I get to loading textures, maybe I can contribute |
21:01:02 | FromGitter | <zacharycarter> this is pretty awesome so far though |
21:01:16 | FromGitter | <zacharycarter> getting very excited about the possibilities here with frag being able to produce html5 games too |
21:01:43 | FromGitter | <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:53 | FromGitter | <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:01 | FromGitter | <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:32 | FromGitter | <zacharycarter> at this point it's just about producing consistent results b/w bgfx and webgl |
21:22:42 | FromGitter | <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:38 | FromGitter | <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:14 | FromGitter | <zacharycarter> I can't even imagine how long it would take to port everything frag relies on to nim, I wish :P |
21:31:43 | FromGitter | <zacharycarter> frag is more a bunch of glue code holding a bunch of libraries together |
21:31:55 | FromGitter | <zacharycarter> to be brutally honest |
21:32:21 | FromGitter | <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:52 | FromGitter | <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:19 | FromGitter | <zacharycarter> finding JS counterparts will be the challenge |
21:33:51 | FromGitter | <stisa> well now you have something that works, non-nim code can be replaced a file at a time |
21:34:56 | FromGitter | <zacharycarter> well replacing something like bgfx would be quite the challenge |
21:35:10 | FromGitter | <zacharycarter> https://github.com/bkaradzic/bgfx |
21:36:13 | FromGitter | <zacharycarter> but regardless, yes you're right it is a good idea to try to decrease the number of non-nim dependencies |
21:36:24 | FromGitter | <zacharycarter> unfortunately most of those are what does the heavy lifting for the framework |
21:36:57 | FromGitter | <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:04 | FromGitter | <stisa> I have to find some time to play with frag though, maybe this weekend |
21:38:19 | FromGitter | <zacharycarter> originally I started with just OpenGL |
21:38:25 | * | gokr quit (Ping timeout: 240 seconds) |
21:38:58 | FromGitter | <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:06 | FromGitter | <zacharycarter> so bgfx fit nicely |
21:40:03 | FromGitter | <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:00 | FromGitter | <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:35 | FromGitter | <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:16 | chrisheller | Well, 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:39 | libman | Kotlin succeeds in the most important programming language attribute: a name that subtly suggests it's superseding another language. |
22:44:14 | chrisheller | I 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:03 | FromGitter | <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:53 | FromGitter | <zacharycarter> in their first release of kotlin native they basically claimed it was experimental and not optimized |
22:46:15 | FromGitter | <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:54 | FromGitter | <zacharycarter> you still have to install Java to use Kotlin |
22:47:05 | FromGitter | <zacharycarter> let's never forget that |
22:49:07 | libman | (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:18 | FromGitter | <zetashift> they have a different team working on kotlin native so I'm assuming there is steady progress |
22:57:27 | FromGitter | <zetashift> and like 1-2 weeks ago they released kotlin native 0.2 |
22:58:23 | FromGitter | <zacharycarter> it still hasn't progressed beyond an unoptimized native target |
22:58:26 | FromGitter | <zacharycarter> and look at Scala native |
23:00:28 | FromGitter | <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:44 | libman | Has there ever been a language that successfully expanded from VM to native? |
23:00:49 | FromGitter | <barcharcraz> C# |
23:01:02 | FromGitter | <barcharcraz> c# runs as native code on some platforms |
23:01:23 | FromGitter | <barcharcraz> such as windows phone (although there it's actually downloaded as optimized IL and compiled on install) |
23:01:29 | FromGitter | <barcharcraz> it does not result in that much of a speedup |
23:02:05 | FromGitter | <barcharcraz> also almost all languages have a runtime. Like the only exception I can think of is maybe Fortran |
23:02:11 | FromGitter | <zacharycarter> sure a VM then |
23:02:13 | libman | I 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:24 | FromGitter | <barcharcraz> c# native does work |
23:02:35 | FromGitter | <barcharcraz> it's just not much faster than using the VM |
23:02:52 | FromGitter | <barcharcraz> and since the VM is essentially a windows component now there's no reason to do the native version |
23:03:31 | libman | https://csnative.codeplex.com/ - 3,392 downloads, much wow. |
23:03:43 | * | xet7 quit (Ping timeout: 246 seconds) |
23:03:57 | FromGitter | <zacharycarter> lol |
23:04:39 | * | couven92 quit (Quit: Client Disconnecting) |
23:05:07 | libman | I mean like >10% market share for the native code option. Seems like language ecosystems mostly stay focused on a single target. |
23:05:08 | FromGitter | <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:39 | FromGitter | <zacharycarter> yeah I honestly think kotlin native is a bad move for the language |
23:06:10 | libman | And it seems like Julia still isn't even trying to be a language that generates executable binaries. |
23:06:26 | FromGitter | <barcharcraz> julia can generate self contained binaries I think |
23:06:35 | FromGitter | <barcharcraz> but it has quite a runtime |
23:07:20 | libman | This 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:24 | rupil | should, echo(not 5 == 4), return true or false? |
23:49:28 | rupil | nvm, need parenthesis. |