00:00:45 | * | Lord_Nightmare joined #nim |
00:01:52 | * | mal`` joined #nim |
00:17:25 | FromDiscord | <Phil> In reply to @can.l "I usually recommend having": Makes me want to have an "Architecture Pattern" section in the nimibook docs or something |
00:18:00 | FromDiscord | <can.l> Yeah, good point. |
00:18:29 | FromDiscord | <can.l> In reply to @isofruit "Makes me want to": I thought about having a `Guides` section |
00:18:31 | FromDiscord | <Phil> And owlkettle-crud example exists? |
00:18:38 | FromDiscord | <Phil> Is that linked to anywhere? |
00:18:48 | FromDiscord | <can.l> I don't think so. |
00:18:49 | FromDiscord | <Phil> And is there more like it? |
00:19:26 | FromDiscord | <can.l> I don't think so. |
00:19:36 | FromDiscord | <can.l> Unless you consider the Graphing app an example |
00:19:54 | FromDiscord | <can.l> Its not an "official example" as its not as regularly tested against new owlkettle versions |
00:19:58 | FromDiscord | <Phil> I would not as that sounded more like a starting point for an actual application |
00:20:34 | FromDiscord | <Phil> In reply to @can.l "I thought about having": I'll make an issue.↵Any other patterns you can think of, off the top of your head? |
00:22:58 | FromDiscord | <can.l> The idea for the "Guides" section was not just to include patterns, but also things like "How to publish a flatpak app", "How to do async", "Cross Compiling for Windows" ... |
00:23:21 | FromDiscord | <can.l> (edit) "async"," => "async" (I guess that would be a pattern)," |
00:23:57 | FromDiscord | <Phil> Hmm in that case subsection for guides?↵"Architecture Guides"↵"Build Guides" etc.? |
00:24:21 | FromDiscord | <can.l> Not sure if we will ever have that many xD |
00:24:46 | FromDiscord | <can.l> But generally yes |
00:24:52 | FromDiscord | <can.l> (edit) "generally" => "generally," |
00:25:17 | FromDiscord | <Phil> Fair, for now I guess until we start having more than 1 of each it makes sense to just dump them all under the guides banner |
00:26:32 | FromDiscord | <can.l> I think regarding publishing, sb would have to gain some experience on how to do that first |
00:27:56 | FromDiscord | <Phil> Absolutely, I added that to the issue mainly to establish the idea of what all could go in there |
00:28:20 | FromDiscord | <Phil> But one thing after another, first thing for me is getting us closer to 100% functionality wrap |
00:28:35 | FromDiscord | <Phil> And to be able to have an answer for every multithreading problem apparently |
00:29:00 | FromDiscord | <can.l> There should probably also be a guide for multithreading |
00:29:55 | FromDiscord | <Phil> Yes, the question is that basically the only multithreading pattern you can do right now is threadpool with one-off tasks |
00:31:06 | FromDiscord | <Phil> ThreadButler will provide another option, but that is provided that is even desired |
00:31:59 | FromDiscord | <can.l> Well it supports owlkettle out of the box, so it would make sense to add it to the docs if you want that. |
00:36:23 | FromDiscord | <Phil> Fair, I'd see about that once I've gotten around to stabilizing the API and written tests |
00:36:23 | FromDiscord | <Phil> I'm still not too sure about the API for tasks (for owlkettle not too relevant since there you'd use the GTK API anyway that is provided) |
00:56:37 | FromDiscord | <user2m> In reply to @nasuray "https://github.com/enthus1ast/illwillWidgets might ": Yeah I found those too! this is just what i was looking for |
00:56:42 | FromDiscord | <albassort> i need a cyclical visualizer |
00:56:45 | FromDiscord | <albassort> like a circuit |
00:56:59 | FromDiscord | <albassort> (edit) "like a circuit ... " added "kinda thing" |
00:57:08 | FromDiscord | <albassort> does anyone know of such a device |
00:57:47 | FromDiscord | <albassort> eh nvm i gotta figure out how the fuck quadratic equations work first |
00:58:02 | FromDiscord | <albassort> (edit) "eh nvm i gotta figure out how the fuck ... quadraticworks" added "writing" | "work" => "works" |
01:19:37 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "like a circuit kinda": Aah there was something for this, hold on- |
01:20:55 | FromDiscord | <albassort> like im making wheat, which draws nitrogen from soil and puts stuff in |
01:21:16 | FromDiscord | <albassort> i need to visualize this to design the cycle better and so i spend less time staring at my breakpoints going "why is this negative" |
01:21:24 | FromDiscord | <albassort> im sure everyone can relate to some extent |
03:50:56 | FromDiscord | <Robyn [She/Her]> Oh nvm then, don't have something for that- |
03:51:30 | FromDiscord | <Robyn [She/Her]> In reply to @albassort "i need to visualize": Though, would a diagram using something like mermaidjs do the trick? |
03:51:40 | * | derpydoo quit (Read error: Connection reset by peer) |
05:08:40 | * | redj quit (Ping timeout: 268 seconds) |
05:10:43 | * | mikess joined #nim |
05:31:53 | FromDiscord | <jerrythegenius> I'm learning nim and I need help with some of my code. Which channel should I ask in? |
05:32:17 | FromDiscord | <Elegantbeef> Here but you used your 1 annual question |
05:33:33 | FromDiscord | <Elegantbeef> What's your problem? |
05:38:46 | * | redj joined #nim |
05:41:45 | FromDiscord | <Elegantbeef> Damn I guess I scared them away |
05:42:11 | FromDiscord | <jerrythegenius> nah I had to do something |
05:42:48 | FromDiscord | <jerrythegenius> so im trying to make a guessing game but the answer is always 2 |
05:43:06 | FromDiscord | <jerrythegenius> sent a long message, see <!doctype html> |
05:43:12 | FromDiscord | <Elegantbeef> I could never guess it |
05:43:25 | FromDiscord | <Elegantbeef> Three \` before and after the code |
05:43:29 | FromDiscord | <Elegantbeef> And nim on the first line |
05:43:34 | FromDiscord | <jerrythegenius> ok |
05:44:11 | FromDiscord | <jerrythegenius> (edit) "long message," => "code paste," | "<!doctype html> <html lang=en> <head> <meta charset=utf-8> <title> </title> </head> <style> body { font-family: monospace; margin: 2em; } </style> <body> <p>ix.io is taking a break 🍻</p> <img src="/underconstruction.gif" width="200px"> </body> </html>" => "https://play.nim-lang.org/#ix=html>" |
05:44:22 | FromDiscord | <Elegantbeef> Ok good enough |
05:44:31 | * | redj quit (Ping timeout: 245 seconds) |
05:44:32 | FromDiscord | <Elegantbeef> What's your question? |
05:44:37 | FromDiscord | <Elegantbeef> Oh your issue is it's always `2` |
05:44:41 | FromDiscord | <jerrythegenius> (edit) |
05:44:47 | FromDiscord | <jerrythegenius> yeah |
05:44:49 | FromDiscord | <Elegantbeef> I see you did not call `randomize` |
05:45:23 | FromDiscord | <jerrythegenius> add `import std/randomize` to the start of the code? |
05:45:27 | FromDiscord | <Elegantbeef> You're using the global random object which is deterministically initialised `randomize()` will seed it differently |
05:45:29 | FromDiscord | <Elegantbeef> No |
05:45:33 | FromDiscord | <Elegantbeef> Just call `randomize()` |
05:45:40 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/random.html#randomize |
05:51:21 | FromDiscord | <jerrythegenius> it works now |
05:53:14 | FromDiscord | <jerrythegenius> thanks! |
06:52:42 | * | azimut joined #nim |
07:42:26 | * | PMunch joined #nim |
07:57:52 | PMunch | Hmm, anyone have a good way to debug binary blobs for microcontrollers? I have a sample project for the board I'm working on, and it works fine. Now I've written something in Nim which should do the same thing, and I've built a version of that as well. But it doesn't work and I have no idea why.. |
08:00:32 | FromDiscord | <leorize> do you have any serial out? |
08:01:52 | FromDiscord | <leorize> if you don't have I/O then maybe comparing the binaries could help |
08:02:49 | PMunch | I do have serial out, and I can read it when running the good firmware |
08:03:00 | PMunch | But the non-working firmware doesn't print anything |
08:03:17 | PMunch | Let me quickly whip up a "blink LED" thing and see if that works |
08:08:03 | PMunch | Nope, not even that works.. |
08:10:15 | PMunch | I mean I could compare the binaries, I just don't know how.. |
08:12:22 | FromDiscord | <nnsee> is emulation an option |
08:12:54 | FromDiscord | <nnsee> that way you have a complete overview of the program flow and registers and everything |
08:14:55 | PMunch | Hmm, not quite sure |
08:15:40 | PMunch | I mean I could maybe emulate the chip, but not the rest of the board |
08:15:45 | FromDiscord | <leorize> make sure the layout resembles the working ones, basically↵(<@709044657232936960_=50=4dunch=5b=49=52=43=5d>) |
08:16:42 | FromDiscord | <leorize> objdump probably works to give you a run down of what's in the binary |
08:18:22 | FromDiscord | <blackmius> sent a long message, see <!doctype html> |
08:19:28 | FromDiscord | <blackmius> (edit) |
08:20:03 | FromDiscord | <blackmius> (edit) |
08:20:15 | FromDiscord | <leorize> make sure you're using atomicArc to start |
08:21:34 | FromDiscord | <leorize> the strings and seq within a ref is owned by that ref |
08:21:43 | FromDiscord | <leorize> so as long as that ref is alive, all is good |
08:22:24 | FromDiscord | <leorize> for data movement you should use a channel implementation, but I don't know of any good ones for nim atm |
08:24:32 | FromDiscord | <leorize> one problem you'd have is synchronization |
08:25:44 | FromDiscord | <leorize> if that ref contains a seq in T1 and you modify that seq, the changes might not be reflected by the same ref in T2 until the CPU decided to flush the caches |
08:26:10 | FromDiscord | <leorize> for this case you would want a single owner model over a multi-owner model |
08:26:22 | FromDiscord | <leorize> or just add a lock |
08:31:09 | FromDiscord | <blackmius> hmm, good point. I think future's state cannot be processed by multiple threads at once. so it can be lockless until threads dont share global memory |
08:32:18 | PMunch | Hmm, interesting. Managed to get GDB running via the JLink and when stepping through the program the blinky thing works |
08:32:42 | FromDiscord | <blackmius> the problem is with proper passing future continuation with its procEnv and all stuff and then be sure in safety that things allocated in thread wont be cleared after use |
08:33:08 | FromDiscord | <nnsee> In reply to @PMunch "Hmm, interesting. Managed to": if you just c, and not just step, does it work too? |
08:33:35 | FromDiscord | <leorize> I'd just shill for cps in this case |
08:33:39 | FromDiscord | <blackmius> (edit) "use" => "task is done" |
08:34:04 | FromDiscord | <blackmius> cps is splitting procs too much |
08:34:05 | PMunch | nnsee, yes continue seems to work as well |
08:34:20 | PMunch | Probably just didn't reset it properly when I flashed the blinker code last time |
08:34:40 | FromDiscord | <nnsee> depending on how gdb works on that platform it might accidentally be bootstrapping the binary correctly vs running it directly |
08:34:51 | FromDiscord | <nnsee> oh |
08:34:51 | PMunch | Hmm |
08:34:54 | FromDiscord | <nnsee> or that |
08:35:07 | PMunch | Yeah, now when I just give the board power it blinks the LED |
08:35:16 | FromDiscord | <blackmius> i want proc to be splitted only by await or yield statement not every if and inner loop |
08:35:45 | FromDiscord | <leorize> could it also be broken init code? in case gdb injected it's own |
08:35:47 | FromDiscord | <leorize> wdym?↵(@blackmius) |
08:35:53 | FromDiscord | <leorize> well it's true that there are potential in lining spots here and there, but nothing significant enough that actually showed up in our profiles |
08:36:27 | FromDiscord | <leorize> that's what cps does? it shouldn't split when not required |
08:38:35 | FromDiscord | <blackmius> cps split each if statements and each inner loops cycle i mean the implementation https://github.com/nim-works/cps |
08:39:02 | FromDiscord | <leorize> it shouldn't, we don't preenpt |
08:39:11 | FromDiscord | <leorize> preempt\ |
08:39:47 | FromDiscord | <blackmius> sent a code paste, see https://play.nim-lang.org/#ix=html> |
08:39:59 | FromDiscord | <leorize> it doesn't do that |
08:40:34 | FromDiscord | <leorize> it only does so if your loop have a statement requiring splits |
08:40:58 | FromDiscord | <leorize> and in fact it can't split that particular loop because the current implementation can't split for loops |
08:43:20 | FromDiscord | <blackmius> hmm, strange i need to double check. last time i play with cps i think i found this behaviour and think its not good |
08:43:32 | FromDiscord | <blackmius> (edit) "play" => "played" |
08:44:05 | FromDiscord | <leorize> the only implementation that does so is the ancient untyped version that doesn't run on current nim nor is able to run well at all |
08:45:03 | FromDiscord | <leorize> if you use cps then zevv's actors and disruptek insideout have cross-thread communication |
10:02:28 | * | mikess quit (Ping timeout: 276 seconds) |
10:20:32 | * | azimut quit (Remote host closed the connection) |
10:21:00 | * | azimut joined #nim |
10:22:42 | FromDiscord | <nnsee> In reply to @PMunch "Yeah, now when I": is the gdb stub/loader/whatever written to the flash or |
10:22:52 | FromDiscord | <nnsee> i have no idea how gdb works for microcontrollers |
10:23:44 | FromDiscord | <nnsee> i've only worked with porting the stub to devices that actually have the concept of, well, executables |
10:31:26 | PMunch | nnsee, no idea TBH |
10:31:41 | PMunch | I think it's just the JLink device which is aware of GDB |
10:31:45 | * | PMunch quit (Quit: Leaving) |
11:46:38 | FromDiscord | <saint.___.> Does anybody really understand how this HappyX framework works |
11:46:45 | FromDiscord | <saint.___.> https://github.com/HapticX/happyx |
11:47:02 | FromDiscord | <saint.___.> I don't get how he writes the front end, it's like js output of nim? |
11:47:27 | FromDiscord | <saint.___.> Are there like some more involved examples or stuff on nim js output, like dom manipulation and stuff |
11:47:41 | FromDiscord | <saint.___.> Are there limitations of what you can do? |
12:12:58 | FromDiscord | <Phil> In reply to @saint.___. "https://github.com/HapticX/happyx": It's karax as frontend. Basically you can ask hotdog what is possible and what not |
12:14:07 | FromDiscord | <Phil> And yeah, 2 separate compilations, one to js for frontend, one to binary for backend |
13:00:55 | * | azimut quit (Ping timeout: 240 seconds) |
13:51:17 | * | derpydoo joined #nim |
13:54:38 | * | lucasta joined #nim |
14:17:01 | FromDiscord | <Phil> Is there any source one would specifically recommend for getting advice for DSL design? |
14:18:01 | * | azimut joined #nim |
14:53:11 | FromDiscord | <pmunch> Not sure there is a lot of resources on that topic |
14:53:19 | FromDiscord | <saint.___.> In reply to @isofruit "It's karax as frontend.": Interesting, but how does it not requre karax |
14:53:21 | FromDiscord | <saint.___.> https://github.com/HapticX/happyx/blob/master/happyx.nimble |
15:01:25 | FromDiscord | <nnsee> i don't think it actually _uses_ karax, it's a custom implementation |
15:44:36 | FromDiscord | <saint.___.> Right |
15:45:02 | FromDiscord | <saint.___.> Seems hard to figure out how to use it then |
15:48:26 | * | mjensen joined #nim |
15:48:26 | * | mjensen quit (Client Quit) |
16:08:44 | * | lucasta quit (Quit: Leaving) |
16:33:10 | * | mikess joined #nim |
16:36:31 | * | azimut quit (Ping timeout: 240 seconds) |
16:36:48 | NimEventer | New thread by jasonfi: Nexus v2.0.0 available, see https://forum.nim-lang.org/t/10811 |
16:42:58 | FromDiscord | <redmechanics> i am using the net module and i have a client that sends data to the server but the server only receives it when the client socket is closed. is there any way to make the server receive it even when the client socket is open ? |
16:55:58 | * | junaid_ joined #nim |
16:59:21 | FromDiscord | <graveflo> In reply to @redmechanics "i am using the": shouldn't happen. Do you have a minimum example? |
16:59:48 | FromDiscord | <griffith1deadly> In reply to @redmechanics "i am using the": i think it related to that you wanna receive from client all data when buffer not full |
17:00:25 | FromDiscord | <graveflo> yea that kind of thing is almost always a buffer issue and probably server-side like you said |
17:00:49 | FromDiscord | <redmechanics> In reply to @griffith1deadly "i think it related": oh maybe because in recv i set buffer size to 4096 bytes |
17:01:00 | FromDiscord | <griffith1deadly> In reply to @redmechanics "oh maybe because in": it problem |
17:01:15 | FromDiscord | <griffith1deadly> you need operate with sockets like data stream |
17:01:36 | FromDiscord | <redmechanics> how do i set the size to the correct amount ? |
17:01:50 | FromDiscord | <graveflo> some `recv` functions to not fill the buffer to size! It is a maximum in some cases |
17:01:52 | Amun-Ra | you have to know when to stop reading |
17:01:55 | FromDiscord | <griffith1deadly> client need send first message len, then message ↵server read message len like int, and then recv with it size |
17:01:59 | FromDiscord | <graveflo> we need to know which functions you are using |
17:02:10 | FromDiscord | <graveflo> (edit) "to" => "do" |
17:02:21 | FromDiscord | <griffith1deadly> (edit) "size" => "len" |
17:03:18 | FromDiscord | <redmechanics> sent a code paste, see https://play.nim-lang.org/#ix=html> |
17:04:07 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "client need send first": as i said |
17:04:36 | FromDiscord | <graveflo> or use UDP |
17:04:53 | FromDiscord | <griffith1deadly> netty library as example for it |
17:08:40 | Amun-Ra | redmechanics: can you paste the code somewhere online? |
17:10:42 | FromDiscord | <redmechanics> In reply to @griffith1deadly "client need send first": but here you need to know the length of the message length to receive that message length |
17:11:17 | FromDiscord | <graveflo> the length is prob going to be a fixed size int, right? |
17:11:54 | FromDiscord | <griffith1deadly> In reply to @redmechanics "but here you need": just write to socket msg.len |
17:12:10 | FromDiscord | <griffith1deadly> and in server code first read len |
17:14:39 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "and in server code": you can read message len like recv, but size should be sizeof(len type) |
17:14:55 | * | jmdaemon quit (Ping timeout: 260 seconds) |
17:15:57 | * | junaid_ quit (Remote host closed the connection) |
17:25:45 | FromDiscord | <graveflo> sent a code paste, see https://play.nim-lang.org/#ix=html> |
17:26:09 | FromDiscord | <graveflo> or you can use UDP instead. These are pretty much your 3 options |
17:26:49 | FromDiscord | <graveflo> (edit) |
17:45:35 | * | azimut joined #nim |
18:01:56 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=html> |
18:02:05 | FromDiscord | <Phil> (edit) |
18:02:14 | FromDiscord | <Phil> (edit) |
18:03:09 | FromDiscord | <Phil> (edit) |
18:05:55 | FromDiscord | <Phil> sent a long message, see <!doctype html> |
18:08:40 | * | azimut_ joined #nim |
18:09:43 | * | azimut quit (Ping timeout: 240 seconds) |
18:23:34 | FromDiscord | <leorize> @Phil) |
18:59:33 | * | azimut_ quit (Remote host closed the connection) |
19:02:11 | * | azimut joined #nim |
19:13:51 | FromDiscord | <pptx704> Theoretically speaking, can I compile part of an application to js and part of it in C? As in, I run a website that calls my c functions (since that's faster) or something like that? |
19:15:29 | FromDiscord | <Phil> I mean, depends, not from the browser. If you're talking through node, you'd need to explore if it allows calling into C from that runtime, and how. |
19:15:56 | FromDiscord | <Phil> Or rather if it allows calling into binaries, not into C |
19:16:10 | FromDiscord | <graveflo> this is just the first hit on google. idk anything about it: https://github.com/node-ffi/node-ffi |
19:17:04 | FromDiscord | <graveflo> I'm sure nim does not have a way to do this built in or anything. It's either the there isn't a hybrid backend for js and c at the same time |
19:17:19 | FromDiscord | <graveflo> (edit) "It's either the there" => "There" |
19:20:16 | FromDiscord | <Robyn [She/Her]> In reply to @pptx704 "Theoretically speaking, can I": You'd have to rig something together to do that for you, but it may be possible |
19:21:19 | * | azimut quit (Ping timeout: 240 seconds) |
19:21:27 | * | azimut_ joined #nim |
19:28:48 | * | mikess left #nim (#nim) |
19:34:26 | FromDiscord | <.bobbbob> I seem to have found a bug with unicode.strip where if the angry emoji 😠 is at the end of the line it breaks it gets corrupted, 😠 is f09f98a0 in hex but the strip function seems to be getting rid of the a0 for some reason. looking at unicodeSpaces that split uses, it has 0x000A0 as a space but I dont see why its seeing the emoji as not a single rune, anyone have any experience with this? |
19:34:39 | FromDiscord | <.bobbbob> (edit) removed "it breaks" |
20:02:18 | FromDiscord | <.bobbbob> sent a code paste, see https://play.nim-lang.org/#ix=html> |
20:03:40 | FromDiscord | <pptx704> In reply to @graveflo "this is just the": looks cool |
20:11:44 | FromDiscord | <graveflo> In reply to @.bobbbob "I made my own": you are going to make a copy unless you are overwriting the input character buffer. If you want to overwrite the input character buffer you want to use a `var` parameter and you probably want to make it only `trailing` for simplicity. Probably don't want to use `openArray` in this case aswell but I'm not 100% sure on that |
20:24:03 | FromDiscord | <.bobbbob> In reply to @graveflo "you are going to": well I want a copy, and the stdlib one also allocates a new string so I guess it's fine |
21:01:47 | * | junaid_ joined #nim |
21:04:37 | * | junaid_ quit (Remote host closed the connection) |
21:25:45 | * | LuxuryMode joined #nim |
21:27:57 | LuxuryMode | I'm initializing a table inside of my object declaration and adding a bunch of key/values to it. Yet, somehow, the table appears to be empty which echoing and checking `hasKey` confirms. I think I must be missing something basic here. Any ideas on where I'm going wrong? http://pastie.org/p/3cDhXw70KPJ8lubaYjksNn |
21:29:46 | LuxuryMode | Can I not initialize such types inside the object declaration and instead do it in my `initScanner`? |
21:30:42 | LuxuryMode | hrm..ok that appears to be the case. |
21:31:37 | LuxuryMode | simple types, such as integer, bools, etc can be initialized but not others? |
21:33:16 | FromDiscord | <Elegantbeef> Is this supposed to be dynamic? |
21:33:26 | FromDiscord | <Elegantbeef> Like are you going to add keywords at runtime? |
21:37:38 | * | junaid_ joined #nim |
21:44:55 | * | Maxb0tbeep joined #nim |
22:17:37 | * | Maxb0tbeep quit (Quit: WeeChat 4.1.2) |
22:30:41 | * | junaid_ quit (Remote host closed the connection) |
22:46:27 | FromDiscord | <redmechanics> is it possible to compile a nim file to an apk ? |
22:47:03 | FromDiscord | <albassort> is an apk an executable binary? |
22:48:31 | FromDiscord | <albassort> no i think it can only be written in java or kotlin @redmechanics |
22:49:11 | FromDiscord | <albassort> otherwise probably follow a c guide https://community.rti.com/static/documentation/connext-dds/5.2.0/doc/manuals/connext_dds/getting_started_extras/html_files/RTI_ConnextDDS_CoreLibraries_GettingStarted_AndroidAddendum/Content/AndroidAddendum/Android_BuildRunHelloWorld_C_CPP.htm |
22:49:19 | FromDiscord | <albassort> and output it as a library |
22:49:27 | FromDiscord | <Elegantbeef> https://lisyarus.github.io/blog/programming/2023/07/19/porting-for-android.html atleast for a game reference |
22:49:30 | FromDiscord | <albassort> or put it in a JNI wrapper but that is a torture method |
22:49:38 | FromDiscord | <albassort> oh beef got it all in 1 |
22:49:41 | FromDiscord | <albassort> ignore me |
22:50:07 | FromDiscord | <Elegantbeef> Suffice to say Android is not a simple target |
22:50:12 | FromDiscord | <Elegantbeef> Unless you target termux |
22:50:50 | FromDiscord | <albassort> im not sure why google decided to make the language of andorid java |
22:51:03 | FromDiscord | <albassort> feel like a lot of problems would be fixed if it was like c++ |
22:51:14 | FromDiscord | <albassort> though they'd have less control |
22:51:26 | FromDiscord | <albassort> (edit) "control" => "control, more viruses" |
22:52:15 | FromDiscord | <albassort> apple's objective C makes more sense but i don't know why they didn't just use c++ |
22:53:55 | FromDiscord | <albassort> if it happened 5 years later do you think they'd have done go |
22:54:12 | FromDiscord | <Elegantbeef> It is google so probably one of their many languages |
22:55:25 | FromDiscord | <albassort> i forgot about dart |
22:55:27 | FromDiscord | <albassort> lel |
22:55:45 | FromDiscord | <MDuardo> Didn't Apple killed and burried it with Swift?↵(@albassort) |
22:56:35 | FromDiscord | <Elegantbeef> They still use objective-c a bit but yes swift is their high level language now |
22:56:42 | FromDiscord | <albassort> im working on a company and i told my friend (co-worker?) to make the app |
22:56:49 | FromDiscord | <albassort> i dont wanna fuck wit hit |
22:56:51 | FromDiscord | <albassort> (edit) "wit hit" => "with it" |
22:57:01 | FromDiscord | <albassort> i'll design the frontend but i dont wanna get electrum working on android |
22:57:11 | FromDiscord | <albassort> (edit) "make" => "deploy" |
22:57:41 | FromDiscord | <albassort> so i don't know the specifics |
22:57:43 | FromDiscord | <takemichihanagaki3129> sent a code paste, see https://play.nim-lang.org/#ix=html> |
22:57:55 | FromDiscord | <takemichihanagaki3129> (edit) |
22:58:13 | FromDiscord | <takemichihanagaki3129> (edit) |
22:58:27 | FromDiscord | <Elegantbeef> `bool = 1` is a compile time error |
22:58:29 | FromDiscord | <albassort> how would the compiler know which the param is supposed to be |
22:58:41 | FromDiscord | <albassort> im gonna say, not easily |
22:58:43 | FromDiscord | <takemichihanagaki3129> In reply to @Elegantbeef "`bool = 1` is": IK, that was a typo. |
22:58:56 | FromDiscord | <MDuardo> What is the app for?↵(@albassort) |
22:59:23 | FromDiscord | <albassort> In reply to @MDuardo "What is the app": never talk about projects that may fall threw |
22:59:33 | FromDiscord | <Elegantbeef> Technically you can use a `type TypeVal[T: static auto] = distinct T` but you need to have `flag` be static |
22:59:35 | FromDiscord | <Elegantbeef> Through even |
23:00:15 | FromDiscord | <takemichihanagaki3129> In reply to @Elegantbeef "Technically you can use": That is what I'm looking for. |
23:00:25 | FromDiscord | <albassort> it is a project; that i think is cool, but maybe it'll go nowhere. if you stick around and know me for a while maybe you'll knows Mduardo if i actually get it finished |
23:01:58 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=html> |
23:02:04 | FromDiscord | <Elegantbeef> It's not the same as you want probably |
23:02:06 | FromDiscord | <Elegantbeef> But it works |
23:02:37 | FromDiscord | <takemichihanagaki3129> sent a code paste, see https://play.nim-lang.org/#ix=html> |
23:03:02 | FromDiscord | <albassort> beef, you love making people's (bad) idea's real |
23:03:04 | FromDiscord | <takemichihanagaki3129> In reply to @Elegantbeef "It's not the same": That is exactly what I want. |
23:03:18 | FromDiscord | <Elegantbeef> I like using the Nim type system to do fun things! |
23:03:21 | FromDiscord | <takemichihanagaki3129> In reply to @albassort "beef, you love making": For real! LOL |
23:03:35 | FromDiscord | <Elegantbeef> Lean on the type system like your life depends on it(it does) |
23:04:18 | FromDiscord | <albassort> what happened to the goal of simplicity |
23:04:18 | FromDiscord | <Elegantbeef> This technique of using distincts like this is actually a pretty interesting path to new types https://forum.nim-lang.org/t/10800#72048 😄 |
23:04:30 | FromDiscord | <Elegantbeef> The type system is simple |
23:04:37 | FromDiscord | <albassort> NOT WHEN YOU USE IT |
23:04:45 | FromDiscord | <albassort> you as in the particular |
23:05:50 | FromDiscord | <Elegantbeef> Why do extra work when the compiler can do the work for you |
23:06:26 | FromDiscord | <Elegantbeef> Hell I wrote a header generator API due to playing around with exposing nimib to FFI |
23:06:34 | FromDiscord | <Elegantbeef> It abuses the type system! |
23:06:40 | FromDiscord | <albassort> like a file header |
23:06:55 | FromDiscord | <Elegantbeef> Yes it generates C header files to document the ABI |
23:07:18 | FromDiscord | <Elegantbeef> https://github.com/beef331/libnimib/blob/master/src/libnimib/utils.nim#L154-L214 Suffice to say I abuse the typesystem and dispatch |
23:07:34 | FromDiscord | <albassort> huh C headers are called headers because they're file headers |
23:07:36 | FromDiscord | <Elegantbeef> It's all string based nonsense, but it works, and that's what counts... atleast I think |
23:07:40 | FromDiscord | <albassort> (edit) "huh C headers are called headers because they're file headers ... " added "but for a seperate file" |
23:07:44 | FromDiscord | <albassort> (edit) "seperate" => "separate" |
23:07:59 | FromDiscord | <albassort> In reply to @albassort "huh C headers are": i have been enlightened |
23:13:42 | FromDiscord | <Robyn [She/Her]> Could've had ABIs documented in Pascal for interop between everything 😔 |
23:35:20 | FromDiscord | <Elegantbeef> Time to time travel back in time and kill dennis ritchie and ken thompson |
23:42:21 | FromDiscord | <albassort> In reply to @Elegantbeef "Time to time travel": kill all competition to lisp |
23:42:58 | FromDiscord | <albassort> I want to live in a alternative timeline where lisp had no GC, and linux was written in lisp |
23:43:46 | FromDiscord | <MDuardo> Actually I like Unix and Go↵Thanks Ken 🤓 |
23:44:36 | FromDiscord | <albassort> actually what if we teleport beef to 1962 |
23:44:42 | FromDiscord | <albassort> and make him be a founder of computer science |
23:45:13 | FromDiscord | <MDuardo> Made with secret alien technology↵(@albassort) |
23:45:30 | FromDiscord | <albassort> Linux was actually gotten from Roswell in 1947 |
23:47:16 | FromDiscord | <albassort> https://media.discordapp.net/attachments/371759389889003532/1190078545364521090/image.png?ex=65a07e03&is=658e0903&hm=629d88451c527e321ef7f5e6f27fbca94bb5171303ea0a1685e0f0c53e3e2f5a& |
23:47:30 | FromDiscord | <albassort> i like how he included a language that doesn't exist |
23:49:23 | FromDiscord | <MDuardo> Explain plz↵I only now the existence of Common Lisp, Emacs Lisp, Scheme and Clojure |
23:49:23 | FromDiscord | <MDuardo> lisplogo\_fancy\_256.png https://media.discordapp.net/attachments/371759389889003532/1190079081610477628/lisplogo_fancy_256.png?ex=65a07e83&is=658e0983&hm=0ec1f05cf53ba978c497a91c2c940ff930d948812e44c3fd3bbb83d5200db158& |
23:49:25 | FromDiscord | <MDuardo> I am not Lispian enough to get it |
23:51:01 | FromDiscord | <albassort> >Linear Lisp produces no garbage (and seems to have no implementation) |
23:51:28 | FromDiscord | <albassort> https://hashingit.com/elements/research-resources/1992-08-LinearLisp.pdf |
23:51:35 | FromDiscord | <albassort> its a whitepaper |
23:52:18 | FromDiscord | <albassort> i aint reading all that but nobody has seemed to implement it so its probably bunk |
23:53:43 | * | azimut_ quit (Ping timeout: 240 seconds) |
23:54:12 | FromDiscord | <MDuardo> I would really love to work on it but right now I am too dumb for doing it↵↵Maybe be like certain German guy who made a programming language with a yellow crown as logo |
23:54:43 | FromDiscord | <albassort> im not as smark as those ferllows |
23:54:48 | FromDiscord | <albassort> (edit) "smark" => "smart" | "ferllows" => "fellows" |
23:54:59 | FromDiscord | <albassort> we stand on the shoulders of giants |
23:55:01 | FromDiscord | <albassort> and thats ok |
23:56:23 | FromDiscord | <albassort> the language i really wanna learn is futhark |
23:56:23 | FromDiscord | <albassort> https://github.com/diku-dk/futhark |
23:56:26 | FromDiscord | <albassort> but i cant grasp it |
23:58:01 | FromDiscord | <albassort> one project i wanna work on is some kind of game-toolkit with futhark and nim |
23:58:37 | FromDiscord | <MDuardo> I'm looking at the examples↵↵Looks like a like a Nimified Zig |