| 00:00:03 | FromDiscord | <dom96> just add a `: bool` to the template and it works |
| 00:00:59 | nrds | <Prestige99> hm I need to find a better way to replicate why it isn't working in my actual code base |
| 00:09:26 | FromDiscord | <impbox [ftsf]> In reply to @retkid "hey so i need": Web sockets? |
| 00:09:36 | FromDiscord | <tandy> there is websockets in standard js↵(@retkid) |
| 00:09:52 | FromDiscord | <tandy> https://github.com/nim-lang/standardjs/blob/master/websockets.nim |
| 00:09:54 | FromDiscord | <impbox [ftsf]> Are you wanting to run the js in a browser? |
| 00:10:06 | FromDiscord | <retkid> i was about to just program it in JS |
| 00:10:23 | FromDiscord | <retkid> In reply to @tandy "there is websockets in": thank you |
| 00:10:31 | FromDiscord | <tandy> or here↵https://github.com/juancarlospaco/nodejs/blob/main/src/nodejs/jswebsockets.nim |
| 00:10:31 | FromDiscord | <retkid> In reply to @impbox "Web sockets?": net is native and doesn't work in JS |
| 00:10:40 | FromDiscord | <retkid> In reply to @tandy "or here https://github.com/juancarlospaco/nodejs/bl": didn't like this one |
| 00:10:50 | FromDiscord | <tandy> you should do github search before doing that \:)↵(@retkid) |
| 00:11:08 | FromDiscord | <impbox [ftsf]> Well if you're running the js via node you can probably use native sockets |
| 00:11:13 | FromDiscord | <retkid> In reply to @tandy "you should do github": I had but standardJS is about like 2 bacons away from client |
| 00:11:26 | FromDiscord | <retkid> In reply to @impbox "Well if you're running": compile errors tho |
| 00:11:28 | FromDiscord | <impbox [ftsf]> But in a browser you'd need to use web sockets or something else, webrtc perhaps |
| 00:11:44 | FromDiscord | <tandy> huh↵(@retkid) |
| 00:11:45 | FromDiscord | <impbox [ftsf]> I don't mean using that library |
| 00:12:26 | FromDiscord | <retkid> "JS web server nim" isn't gonna bring up standardJS |
| 00:12:56 | FromDiscord | <retkid> i looked for JSLIB Nim but nothing really came up either |
| 00:13:02 | FromDiscord | <tandy> language\:nim websockets will |
| 00:13:36 | FromDiscord | <retkid> i guess i just suck at github searching |
| 00:18:06 | FromDiscord | <dom96> you can easily use whatever JS libraries you need from Nim. Even the websockets wrapper is less than 60 LOC |
| 00:20:09 | FromDiscord | <dom96> so just get comfortable writing wrappers and you won't have any problems |
| 00:30:02 | FromDiscord | <salt rock lamp> i'm so confused, if i have `calc.nims` and `calc.nim` in the same directory, and i write `nim r calc.nim`, it looks like it is trying to run `calc.nims` instead... why is that? |
| 00:30:25 | FromDiscord | <Elegantbeef> It'll use calc.nims as the config |
| 00:30:49 | FromDiscord | <salt rock lamp> huh! |
| 00:30:55 | FromDiscord | <salt rock lamp> well that explains it |
| 00:31:10 | FromDiscord | <Elegantbeef> Are you doing some nimscript interop or something? |
| 00:31:13 | FromDiscord | <salt rock lamp> that's kind of confusing but i guess i can see why that's useful |
| 00:31:18 | FromDiscord | <salt rock lamp> no, i was just experimenting |
| 00:31:41 | FromDiscord | <salt rock lamp> i copied the same file and put a shebang at the top |
| 00:32:31 | FromDiscord | <salt rock lamp> would `#!/usr/bin/env nim r --hints:off` work? |
| 00:33:14 | FromDiscord | <salt rock lamp> hah it does |
| 00:33:16 | FromDiscord | <salt rock lamp> nice |
| 01:05:09 | NimEventer | New post on r/nim by insomniac_lemon: Godot for beginner projects? alternatives?, see https://reddit.com/r/nim/comments/qodqyc/godot_for_beginner_projects_alternatives/ |
| 01:41:31 | FromDiscord | <impbox [ftsf]> It should probably need calc.cfg.nims or something |
| 01:52:44 | * | krux02 quit (Remote host closed the connection) |
| 02:57:11 | * | neurocyte0132889 quit (Ping timeout: 245 seconds) |
| 03:00:50 | * | arkurious quit (Quit: Leaving) |
| 03:18:19 | FromDiscord | <Goat> I don't know why I made this https://media.discordapp.net/attachments/371759389889003532/906744345548439582/unknown.png |
| 03:18:22 | FromDiscord | <Goat> https://media.discordapp.net/attachments/371759389889003532/906744359381250088/unknown.png |
| 04:06:02 | * | supakeen quit (Quit: WeeChat 3.3) |
| 04:06:31 | * | supakeen joined #nim |
| 06:45:21 | * | stkrdknmibalz quit (Ping timeout: 268 seconds) |
| 07:28:39 | FromDiscord | <retkid> is there any way to like |
| 07:28:56 | FromDiscord | <retkid> Marshel from nim into JS |
| 07:29:18 | FromDiscord | <Elegantbeef> What do you mean |
| 07:30:00 | FromDiscord | <retkid> is Marshel using a standardized thing that I can just use Marshel in JS cast it into an array |
| 07:30:28 | FromDiscord | <Elegantbeef> I dont follow |
| 07:30:38 | nrds | <Prestige99> I'm setting up CI for my game engine that uses chipmunk 7.0.3, but getting an error when running the tests `could not import: cpBodySetVelocityUpdateFunc` - That's the name of a c function that the chipmunk wrapper has wrapped; I thought it first maybe the chipmunk version in CI was outdated, but it seems correct. Any thoughts on what would cause this? |
| 07:31:02 | FromDiscord | <retkid> In reply to @Elegantbeef "I dont follow": ok so |
| 07:31:39 | FromDiscord | <retkid> You have a sequence in Nim, that you use marshal to save it to a Json |
| 07:32:05 | FromDiscord | <retkid> can I then read that Json and cast it to an array |
| 07:32:16 | FromDiscord | <retkid> (edit) "can I then read that Json and cast it to an array ... " added "or dict or something" |
| 07:32:27 | FromDiscord | <retkid> (edit) "can I then read that Json ... and" added "in JS" |
| 07:33:49 | FromDiscord | <Elegantbeef> is this native Nim -\> Js or Nim Js -\> Js? |
| 07:34:26 | FromDiscord | <retkid> Nim JS? |
| 07:34:28 | FromDiscord | <retkid> thats a thing |
| 07:34:40 | FromDiscord | <retkid> nah its just Nim -> JS |
| 07:34:45 | FromDiscord | <Elegantbeef> You can compile nim to JS yes |
| 07:34:49 | FromDiscord | <retkid> oh that |
| 07:34:51 | FromDiscord | <retkid> no |
| 07:35:14 | FromDiscord | <retkid> hand written JS |
| 07:35:25 | nrds | <Prestige99> Regarding my above question, it is outdated |
| 07:35:40 | FromDiscord | <Elegantbeef> Is it interoping Nim's JS or native Nim? |
| 07:36:12 | FromDiscord | <retkid> native Nim |
| 07:36:25 | FromDiscord | <Elegantbeef> Ok so then the best thing to do is to convert to json directly and send that |
| 07:36:36 | FromDiscord | <Elegantbeef> the marshal module doesnt serve much of a purpose anyway |
| 07:36:52 | FromDiscord | <retkid> do i use Jsonify for that one? |
| 07:37:03 | FromDiscord | <Elegantbeef> You can use any Json library you want |
| 07:37:06 | FromDiscord | <retkid> that is a pain ;-; |
| 07:37:29 | FromDiscord | <retkid> actually |
| 07:37:32 | FromDiscord | <Elegantbeef> It's like 3 seconds to change |
| 07:37:39 | FromDiscord | <retkid> well, i have a whole database |
| 07:37:44 | FromDiscord | <retkid> that used Marshal |
| 07:37:46 | FromDiscord | <retkid> because im stupid |
| 07:38:14 | FromDiscord | <retkid> I can use my monkey brain to figure this out tho |
| 07:38:39 | FromDiscord | <Elegantbeef> Marhsal is a weird module that imo exists for 0 reason |
| 07:38:46 | FromDiscord | <Elegantbeef> It doesnt do anything any Json library cant do |
| 08:42:55 | FromDiscord | <evoalg> I figured out how to sort a seq[(int, int)] by the 2nd element, descending ... https://play.nim-lang.org/#ix=3EgH ... I'm wondering if there's a lambda way of doing it, or is this the right approach? |
| 08:46:03 | FromDiscord | <Elegantbeef> I dont like lambdas but this should work https://play.nim-lang.org/#ix=3EgJ |
| 08:48:33 | FromDiscord | <evoalg> Oh thank you! ... I didn't realize you could drop a proc right in there - that's so cool ... is this the way you would do it, or is it just how to make it work on one line type-of-thing? |
| 08:49:06 | FromDiscord | <Elegantbeef> I dont like lambdas so i'd probably just keep the way you did it just, but use cmp like i did |
| 08:49:47 | FromDiscord | <evoalg> gotcha thank you! |
| 08:51:44 | FromDiscord | <evoalg> You don't like lambdas because of readability right? |
| 08:52:34 | FromDiscord | <Elegantbeef> I also dont like that they limit reuse |
| 08:52:53 | FromDiscord | <Elegantbeef> For a slightly more readable version you can also do https://play.nim-lang.org/#ix=3EgM |
| 08:53:02 | FromDiscord | <Elegantbeef> Using `sugar`'s `=>` |
| 08:53:49 | FromDiscord | <evoalg> Ohhh thank you for the different options ... and thank you for the explanation - makes sense |
| 08:55:15 | FromDiscord | <Elegantbeef> For one offs i guess they make sense, and i've been using anonymous procedures for my game i'm working on though using the `do` notation for it https://github.com/beef331/mindthegap3D/blob/master/src/core/worlds.nim#L41-L50 |
| 08:56:06 | FromDiscord | <Elegantbeef> But i think this is one of the cleaner solutions for my problem of asset loading after opengl has been init'd |
| 08:57:43 | NimEventer | New Nimble package! aossoa - Use a Structure of Arrays like an Array of Structures, see https://github.com/guibar64/aossoa |
| 08:59:09 | FromDiscord | <evoalg> What sort of game is it? What does the player have to do? |
| 08:59:39 | FromDiscord | <Elegantbeef> If i stick with it, it's just this but in 3D https://streamable.com/pj725f |
| 09:00:50 | FromDiscord | <evoalg> 3D sounds scary hard (to me) |
| 09:01:08 | FromDiscord | <Elegantbeef> Eh it's still mostly a 2D game |
| 09:01:20 | FromDiscord | <Elegantbeef> The 3Dness is mostly in rendering |
| 09:01:47 | FromDiscord | <evoalg> cool |
| 09:01:48 | FromDiscord | <Rika> In reply to @NimEventer "New Nimble package! aossoa": Cool package this SoA one |
| 09:02:03 | FromDiscord | <Elegantbeef> Doesnt lqdev's datarray already do this? |
| 09:02:25 | FromDiscord | <Rika> I don’t remember it probably does |
| 09:02:37 | FromDiscord | <Rika> Not that I have any use for such things yet |
| 09:03:16 | FromDiscord | <Rika> In reply to @Elegantbeef "For one offs i": Honestly with regards to the do notation I feel like one of the function building syntaxes has to go |
| 09:03:31 | FromDiscord | <Rika> Feels redundant for no reason |
| 09:04:03 | FromDiscord | <Rika> Personally think the do function syntax should go but that’s because I have no idea what benefits that gives over anonymous proc syntax |
| 09:04:05 | FromDiscord | <Elegantbeef> I dont think i use any of the other variants ever so meh |
| 09:05:46 | FromDiscord | <Elegantbeef> Though the `do` syntax is a bit obscure, and i had quite a bit of trouble understanding it the first time i seen it |
| 09:06:47 | FromDiscord | <Elegantbeef> I dont even need it in this case |
| 09:06:52 | FromDiscord | <Elegantbeef> Since it's a `proc()` |
| 09:07:34 | FromDiscord | <Rika> I mean that do syntax is fine |
| 09:07:42 | FromDiscord | <Rika> I meant that do proc building syntax is not |
| 09:07:47 | FromDiscord | <Rika> There is a reason for do |
| 09:07:51 | FromDiscord | <Rika> Not for do () |
| 09:09:00 | FromDiscord | <Elegantbeef> Anyway i need to go to sleep now before i forget about DST 😀 |
| 09:09:19 | FromDiscord | <Elegantbeef> Fuck DST |
| 09:22:09 | FromDiscord | <ynfle (ynfle)> @evoalg there is also `sortedByIt`, but it doesn't seem to support `Descending` |
| 09:39:19 | FromDiscord | <Rika> Yeah because you use comparison operators there instead of cmp function |
| 09:44:11 | FromDiscord | <ynfle (ynfle)> I don't get it? You don't pass in operators to `sortedByIt` |
| 09:48:33 | FromDiscord | <evoalg> yea no descending is `sortedByIt`'s big downfall (for me) |
| 09:55:02 | FromDiscord | <impbox [ftsf]> sortedByIt(-it.whatever) |
| 09:57:27 | * | krux02 joined #nim |
| 09:58:32 | FromDiscord | <evoalg> In reply to @impbox "sortedByIt(-it.whatever)": gosh that works! |
| 10:00:22 | FromDiscord | <impbox [ftsf]> of course, you're just sorting by the negative of the value, which is the same as a descending sort |
| 10:01:41 | FromDiscord | <evoalg> Thank! ... it's not in-place sort, but it's still cool |
| 10:06:37 | FromDiscord | <evoalg> why can I do `var x = @[50, 40, 30, 20, 10].sorted` but I can't do `var x = @[50, 40, 30, 20, 10].sort` ? |
| 10:06:57 | FromDiscord | <impbox [ftsf]> because sort doesn't return a value |
| 10:07:13 | FromDiscord | <evoalg> of course - thank you! |
| 10:07:19 | FromDiscord | <impbox [ftsf]> sent a code paste, see https://play.nim-lang.org/#ix=3Eh9 |
| 10:07:31 | FromDiscord | <impbox [ftsf]> the error message should give you a hint |
| 10:08:36 | FromDiscord | <evoalg> the error message says `'@[50, 40, 30, 20, 10]' is immutable, not 'var'` so it's confusing |
| 10:08:56 | FromDiscord | <impbox [ftsf]> yep `@[50, 40, 30, 20, 10]` is a seq literal |
| 10:09:25 | FromDiscord | <impbox [ftsf]> you're telling it to sort the seq literal rather than x |
| 10:09:53 | FromDiscord | <evoalg> gotcha ok, that makes sense |
| 10:10:41 | FromDiscord | <impbox [ftsf]> whereas `sorted` doesn't require a var argument |
| 10:11:00 | FromDiscord | <impbox [ftsf]> because it takes the argument and returns a new seq |
| 10:11:57 | FromDiscord | <evoalg> that's kind of nice, if it's to remain sorted ... also makes sense - thank you! |
| 11:02:32 | * | Vladar joined #nim |
| 11:22:19 | Amun-Ra | that works exactly like in python |
| 11:46:27 | * | xet7 quit (Remote host closed the connection) |
| 11:47:30 | * | xet7 joined #nim |
| 11:48:53 | * | xet7 quit (Remote host closed the connection) |
| 11:49:21 | * | xet7 joined #nim |
| 12:02:14 | * | elph quit (Quit: Connection closed for inactivity) |
| 12:06:01 | * | supakeen quit (Quit: WeeChat 3.3) |
| 12:06:31 | * | supakeen joined #nim |
| 13:04:14 | FromDiscord | <tandy> bruihhhhh im dumb↵(@elmaco) |
| 13:28:25 | FromDiscord | <ratapenado> Btw why do Nimrod was renamed Nim ? |
| 14:01:34 | * | arkurious joined #nim |
| 14:23:24 | FromDiscord | <ynfle (ynfle)> Nimrod has a negative connotation in English |
| 14:46:58 | FromDiscord | <ratapenado> Oh ? What kind ? |
| 14:48:51 | FromDiscord | <Rika> stupid |
| 14:50:56 | FromDiscord | <IsaacPaul> yea pretty much, I'm sure it also has sarcastic roots since Nimrod was the name of a skilled hunter. |
| 14:54:36 | * | neurocyte0132889 joined #nim |
| 14:54:36 | * | neurocyte0132889 quit (Changing host) |
| 14:54:36 | * | neurocyte0132889 joined #nim |
| 14:57:11 | * | neurocyte0132889 quit (Client Quit) |
| 15:01:01 | * | neurocyte0132889 joined #nim |
| 15:01:01 | * | neurocyte0132889 quit (Changing host) |
| 15:01:02 | * | neurocyte0132889 joined #nim |
| 15:04:05 | * | neurocyte0132889 quit (Client Quit) |
| 15:05:39 | * | neurocyte0132889 joined #nim |
| 15:05:39 | * | neurocyte0132889 quit (Changing host) |
| 15:05:39 | * | neurocyte0132889 joined #nim |
| 15:25:28 | * | CyberTailor joined #nim |
| 15:34:19 | madprops | what am I doing wrong: toSeq(walkFiles(rpath)) |
| 15:34:27 | madprops | I just want a list of file names |
| 15:34:53 | madprops | iterate over them |
| 15:35:02 | madprops | but it retuns an empty list |
| 15:37:21 | madprops | oh maybe I needed walkdir |
| 15:49:53 | CyberTailor | is it possible to install nimble packages that have deps without downloading package.json? |
| 15:51:00 | FromDiscord | <DMI-1407> is there a demo or tutorial or som project that shows how to create a gui that works on win and linux (e.g. ubuntu) ? |
| 15:51:14 | FromDiscord | <DMI-1407> (edit) "som" => "some sort of" |
| 15:51:53 | FromDiscord | <DMI-1407> (without doing everything from scratch in an canvas like webgl or so......) |
| 15:52:29 | FromDiscord | <dom96> CyberTailor: as long as all those deps are specified using urls it will work |
| 15:58:46 | CyberTailor | dom96: i mean, without nimble using network |
| 16:03:32 | FromDiscord | <dom96> then no, what are you trying to do? Why avoiding the network? |
| 16:05:51 | CyberTailor | because of sandbox |
| 16:06:58 | CyberTailor | if i do "nimble install --nimbleDir:/opt/nimble", it finds dependencies |
| 16:07:29 | CyberTailor | but then tries to write to /opt/nimble and gets access denied by sandbox |
| 16:08:16 | CyberTailor | so it has to read deps from /opt/nimble and install to /var/tmp/portage/dev-nim/example/image/opt/nimble |
| 16:12:12 | CyberTailor | is there something like "install without checking dependencies"? |
| 16:12:26 | FromDiscord | <tandy> is there a way to have an int as +/- infinity? |
| 16:12:46 | FromDiscord | <tandy> `high(BiggestInt)` |
| 16:14:41 | FromDiscord | <Rika> no, ints do not have infinity |
| 16:37:46 | * | neurocyte0132889 quit (Quit: The Lounge - https://thelounge.chat) |
| 16:40:53 | * | neurocyte0132889 joined #nim |
| 16:40:53 | * | neurocyte0132889 quit (Changing host) |
| 16:40:53 | * | neurocyte0132889 joined #nim |
| 16:46:51 | CyberTailor | i'll just try sed'ding out all "require" lines :P |
| 17:11:39 | * | anjovi quit (Ping timeout: 276 seconds) |
| 17:20:15 | madprops | is the a tool to extract tags from html like <title> ? |
| 17:20:22 | madprops | there* |
| 17:20:33 | madprops | from an html string |
| 17:20:46 | madprops | like what cheerio is to node |
| 17:21:21 | madprops | ah i see there's htmlparser |
| 17:21:47 | * | rb quit (Quit: ZNC - https://znc.in) |
| 17:22:46 | madprops | but it seems it only reads from a file |
| 17:23:37 | * | rwb joined #nim |
| 17:24:55 | madprops | ah nvm |
| 17:26:39 | NimEventer | New thread by Carterza: Did you know that Nim has had enum-indexed arrays since 0.18? Poll Inside!, see https://forum.nim-lang.org/t/8600 |
| 17:29:12 | madprops | why is the nim docs using "func" instead of "proc" ? |
| 17:30:03 | FromDiscord | <IsaacPaul> It's basically proc with extra macros: {.noSideEffect, locks: 0.} |
| 17:32:40 | NimEventer | New thread by Arnetheduck: Nlvm update - llvm 13.0.0, see https://forum.nim-lang.org/t/8601 |
| 17:32:59 | madprops | so when do I want to use func? |
| 17:34:11 | FromDiscord | <IsaacPaul> sent a code paste, see https://play.nim-lang.org/#ix=3EjY |
| 17:34:26 | nixfreak_nim[m] | When you don't have any side-effects |
| 17:34:39 | FromDiscord | <IsaacPaul> a is unchanged, b is unchanged in the provided example |
| 17:35:05 | FromDiscord | <IsaacPaul> Honestly, I'm surprised that it doesn't figure it out at compile time. |
| 17:35:37 | FromDiscord | <IsaacPaul> maybe It's more difficult than I'm imagining lol |
| 17:38:00 | FromDiscord | <Rika> In reply to @IsaacPaul "Honestly, I'm surprised that": wdym> |
| 17:38:48 | FromDiscord | <Rika> proc -> used when you explicitly want side effects↵func -> used when you explicitly dont want side effects |
| 17:39:28 | madprops | what do you mean by side effects? |
| 17:39:48 | madprops | like changing global state? |
| 17:39:52 | FromDiscord | <Rika> yes |
| 17:40:30 | madprops | haven't seen that distinction in other languages |
| 17:40:40 | madprops | but i guess it makes sense |
| 17:40:49 | madprops | does it warn you if you don't use it properly? |
| 17:40:58 | madprops | gonna try it myself |
| 17:41:01 | FromDiscord | <Rika> it fails to compile |
| 17:41:10 | FromDiscord | <Rika> only if you use func |
| 17:41:58 | FromDiscord | <dom96> !eval var global = "foo"; func bad() = global.add("hello"); bad() |
| 17:42:00 | NimBot | Compile failed: /usercode/in.nim(1, 26) Error: 'bad' can have side effects |
| 17:42:31 | madprops | cool |
| 17:42:54 | FromDiscord | <Rika> explicit var parameters are not counted as side effects, which is a departure from the mathematical meaning |
| 17:42:56 | FromDiscord | <Rika> afaik |
| 17:43:47 | * | rwb is now known as rb |
| 17:43:54 | FromDiscord | <Rika> so if you want "real" no-side-effect guarantees, dont use var params and use strict functions (i forgot the actual name, someone else please send the real name or so) |
| 18:09:01 | * | CyberTailor quit (Quit: Konversation terminated!) |
| 18:18:56 | FromDiscord | <exelotl> it is `{.experimental:"strictFuncs".}` iirc |
| 18:23:12 | nixfreak_nim[m] | so only use let and make sure its immutable right? |
| 18:26:54 | FromDiscord | <IsaacPaul> In reply to @Rika "proc -> used when": ah I misunderstood it's use. |
| 18:45:40 | FromDiscord | <reilly> Does the standard library have something for splitting a seq into a seq of x equally-sized seqs? (+/- 1 for odd lengths) |
| 18:53:33 | FromDiscord | <brainproxy> sent a code paste, see https://play.nim-lang.org/#ix=3Ekq |
| 19:13:31 | FromDiscord | <brainproxy> seems to have to do with stdout being in non-blocking mode... not sure actually |
| 19:20:39 | FromDiscord | <ynfle (ynfle)> side effects include file IO and stdout, stderr & stdin. |
| 19:21:13 | FromDiscord | <ynfle (ynfle)> @reilly, I tried finding something but couldn't find it |
| 20:08:05 | FromDiscord | <Goat> Are there any good guides on setting up a docker image for nim development? |
| 20:09:31 | nixfreak_nim[m] | I'm looking for examples of jsffi in Nim |
| 20:10:08 | FromDiscord | <Elegantbeef> https://github.com/nim-lang/Nim/blob/version-1-6/lib/std/jsfetch.nim is probably a good reference |
| 20:10:41 | FromDiscord | <dom96> https://github.com/search?l=Nim&q=import+jsffi&type=Code 🙂 |
| 20:11:47 | FromDiscord | <Elegantbeef> Hey the first two are just cause nimscripter 😀 |
| 20:12:30 | FromDiscord | <Elegantbeef> Hmm does this mean github search inst useless anymore in a repo? |
| 20:16:21 | nixfreak_nim[m] | probably a really dumb question, but since I'm new at this here it goes: If you want to use an external javascript library would you have to download the source of that library in order to use jssfi ? or how does that work? |
| 20:17:32 | FromDiscord | <Elegantbeef> As long as the JS is accessible from the generated nim file it doesnt matter |
| 20:17:59 | FromDiscord | <Elegantbeef> When you do interop it doesnt know if procedures exist and will not know until runtime |
| 20:21:28 | nixfreak_nim[m] | Do you know of a really simple example of an external js library maybe a couple of functions then using nim to import those functions? |
| 20:21:56 | nixfreak_nim[m] | I guess I'm just not understanding how this works |
| 20:24:15 | FromDiscord | <Elegantbeef> This emits JS functions and wraps them in a single file, might be more clear |
| 20:24:16 | FromDiscord | <Elegantbeef> https://github.com/beef331/mrapi/blob/master/src/mrapi.nim |
| 20:24:34 | FromDiscord | <Elegantbeef> Though i wouldnt suggest using it, i couldnt be arsed to properly wrap the API since it suuuucks 😀 |
| 20:26:21 | FromDiscord | <Goat> From the manual https://media.discordapp.net/attachments/371759389889003532/907003058477752340/unknown.png |
| 20:29:02 | nixfreak_nim[m] | Oh there we go , thanks Goat and ElegantBeef |
| 20:31:03 | FromDiscord | <Goat> If you're compiling for node you can use the `require("lib")` for using it's libraries I'm pretty sure |
| 20:31:30 | FromDiscord | <brainproxy> sent a long message, see http://ix.io/3EkV |
| 20:32:02 | FromDiscord | <Elegantbeef> You probably want to flush |
| 20:34:19 | FromDiscord | <brainproxy> even if I called `setStdIoUnbuffered()`? |
| 20:34:41 | FromDiscord | <Elegantbeef> Probably not in that case |
| 20:49:16 | nixfreak_nim[m] | so whats the difference between just using {.importc.} too https://nim-lang.org/docs/jsffi.html |
| 20:54:17 | FromDiscord | <Yardanico> importjs supports advanced syntax like importcpp |
| 20:54:23 | FromDiscord | <Yardanico> and it just makes a little more sense when reading the code :) |
| 20:54:35 | FromDiscord | <Yardanico> but yes, for simple js functions you can use importc, although why not always use importjs |
| 20:55:03 | nixfreak_nim[m] | I'm just going off the sample in the nim backend docs |
| 21:11:53 | FromDiscord | <dom96> In reply to @brainproxy "learning more about the": that sounds like you or some library you're using has turned your stdout fd to be non-blocking |
| 21:17:15 | FromDiscord | <brainproxy> In reply to @dom96 "that sounds like you": is there a way to check? a way to change it back to blocking? |
| 21:22:25 | FromDiscord | <dom96> yeah, try something like this: https://stackoverflow.com/questions/23865898/when-non-blocking-i-o-is-turned-on-for-stdout-is-it-correct-for-the-os-to-turn |
| 21:22:49 | FromDiscord | <dom96> (you can just `emit` it) |
| 21:49:01 | FromDiscord | <brainproxy> In reply to @dom96 "(you can just `emit`": not sure what you mean |
| 21:51:20 | FromDiscord | <dom96> I mean you can just copy and paste the C code (mostly) and use https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-emit-pragma |
| 21:55:29 | FromDiscord | <dom96> really loving the subtle iterative improvements we're seeing in the Nim docs, that green "Note" ❤️ |
| 22:06:16 | * | Vladar quit (Quit: Leaving) |
| 22:17:28 | FromDiscord | <Zoom> Do you really need seqs and not just slices? There will be copying even if you're not going to grow the chunks.↵(@reilly) |
| 22:19:22 | FromDiscord | <Elegantbeef> This is Nim people use strutils 😛 |
| 22:22:15 | FromDiscord | <Zoom> Mkay, if this is not a concern, here's it\: https://play.nim-lang.org/#ix=3Elm |
| 22:22:44 | FromDiscord | <Yardanico> but there's a proc in sequtils |
| 22:23:05 | FromDiscord | <Yardanico> https://nim-lang.org/docs/sequtils.html#distribute%2Cseq%5BT%5D%2CPositive |
| 22:24:05 | FromDiscord | <Zoom> 🤦 uncommon naming strikes again |
| 22:24:34 | FromDiscord | <Elegantbeef> Well it's also an uncommon need 😛 |
| 22:25:54 | FromDiscord | <Zoom> If it is, why the hell it's in std 😆 |
| 22:27:04 | FromDiscord | <Elegantbeef> It has an odd growth pattern |
| 22:27:14 | FromDiscord | <Elegantbeef> Much like a wart |
| 22:31:01 | FromDiscord | <impbox [ftsf]> Yeah i thought i wanted distribute but it wasn't what i wanted |
| 22:31:15 | FromDiscord | <impbox [ftsf]> I want split seq into chunks of size X |
| 22:31:46 | FromDiscord | <impbox [ftsf]> where distribute is split seq into X chunks |
| 22:32:36 | FromDiscord | <impbox [ftsf]> Wasn't hard to write though |
| 22:48:39 | FromDiscord | <tandy> dam↵(@Rika) |
| 23:06:25 | nrds | <Prestige99> How do I unmarshal json that starts with an array? If I try naming that array in the nim type declaration, it says that key was non found |
| 23:08:19 | nrds | <Prestige99> e.g. https://play.nim-lang.org/#ix=3ElA |
| 23:10:59 | nrds | <Prestige99> I suppose I can just add a key |
| 23:13:37 | FromDiscord | <Elegantbeef> If you dont mind manual labour https://play.nim-lang.org/#ix=3ElB |
| 23:13:46 | NimEventer | New post on r/nim by aj_breidenbach: I made a thing for hosting and sharing videos, see https://reddit.com/r/nim/comments/qp0e7l/i_made_a_thing_for_hosting_and_sharing_videos/ |
| 23:34:18 | * | xet7 quit (Ping timeout: 260 seconds) |
| 23:40:45 | FromDiscord | <exelotl> uuuh so I changed my entity flags to a set |
| 23:41:10 | FromDiscord | <exelotl> sent a code paste, see https://play.nim-lang.org/#ix=3ElG |
| 23:41:24 | FromDiscord | <exelotl> sent a code paste, see https://play.nim-lang.org/#ix=3ElH |
| 23:41:26 | FromDiscord | <exelotl> which feels like a downgrade :( |
| 23:41:59 | FromDiscord | <exelotl> is there a better way? |
| 23:42:04 | FromDiscord | <Elegantbeef> `import std/setutils` `self.flags[Hidden] = hidden` |
| 23:42:19 | FromDiscord | <exelotl> omg |
| 23:42:26 | FromDiscord | <exelotl> you absolute beast |
| 23:42:41 | FromDiscord | <Elegantbeef> I didnt make that though 😛 |
| 23:42:52 | FromDiscord | <exelotl> oh 😅 |
| 23:44:05 | FromDiscord | <exelotl> seems like I need to look more into setutils |
| 23:44:27 | FromDiscord | <Elegantbeef> we've got `fullSet` `complement` and that iirc |
| 23:46:04 | * | xet7 joined #nim |