NIR

2023-11-28 Thread halloleo
Now I get the context. Thank you!

NIR

2023-11-28 Thread halloleo
As an outsider (who had used Nim for a little while and possibly wants to get back into it): What is **IC**?

How to create a mutable object prefrably without ref

2022-11-30 Thread halloleo
Very helpful detail, @Stefan_Salewski. I have read the main chapters of Nim in Action which was good, but I have forgotten quite a bit and it is always good to find out what is "nimonic"... So thanks again!

Is there a way to see all or older threads of a user?

2022-11-28 Thread halloleo
Ok. Just thought it would be handy if I remember that there was an older post and I can't find it through the search...

Is there a way to see all or older threads of a user?

2022-11-27 Thread halloleo
A question about the forum website: I know via I can get a list of threads a user has started, but this list is truncated to 10 entries. Is there a way to see all or older threads of a user?

How to create a mutable object prefrably without ref

2022-11-27 Thread halloleo
Thanks @amadan and @Stefan_Salewski! Interesting! In the Nim community what is more commonly used when you want to create a class-like "thing", i.e. a data structure with a fix number of fields and a couple of methods operating on this structure? Objects handed into the methods as `var`s or `re

How to create a mutable object prefrably without ref

2022-11-24 Thread halloleo
I need some objects where the properties can be changed in multiple procedures. So I chose the implementation with `ref`: type MyObj = ref object prop: string proc doitWithObj(myObj: MyObj) = myObj.prop = "hallo" var x: MyObj x = MyObj

Ways to tweak the output of the JavaScript backend

2022-10-27 Thread halloleo
I've installed and now played around with @juancarlospaco's Pretty-Printed JavaScript backend. And from my first trys I can say that it certainly makes the long number at teh end of every idnetifier much shorter. For example, the code from the question at the top of this thread would look simil

Ways to tweak the output of the JavaScript backend

2022-10-13 Thread halloleo
This is super cool @juancarlospaco! What does the output of this look like? So it works only with a 2022 version of Nim, right? Will then need to install this version from on another machine (one with internet access) to test.

Ways to tweak the output of the JavaScript backend

2022-10-13 Thread halloleo
Thanks @xigoi. I use this for the top level functions where I can. In my case (the JS code gets checked in and should be as readable by humans as possible) it would be nice to have the other parts a bit more readable too... I totally understand that this is no Nim project priority. I'm just aski

Ways to tweak the output of the JavaScript backend

2022-10-11 Thread halloleo
Are there ways to tweak the output of the JavaScript backend? For me the resulting code looks at the moment like this: function formatValue_24995001(result_24995004) { console.log("Show:", result_24995004); } formatValue_24995001("hallo");

How to declare a varible in a case statement for use afterwrads

2022-10-08 Thread halloleo
Very cool! So elegant! Now where you said it, it feels so obvious...

How to declare a varible in a case statement for use afterwrads

2022-10-06 Thread halloleo
I use an Enum like this: LocationOption* = enum locHere, locThere Run and have then the following program construct: case location of locHere: let msg = "I'm here!" of loThere: let msg = "You're there!" echo &"And Shakesp

How to install packages via nimble on a machine without internet

2022-08-31 Thread halloleo
Cool! Will try that.

Stadard way to call a nimscript

2022-08-31 Thread halloleo
OK, thanks @stisa. So the top level definitions (like, in my case, compiling to JavaScript) are taken from config.nims Good to know.

Stadard way to call a nimscript

2022-08-30 Thread halloleo
In a two year old project I have some tasks in a nimscript file `config.nims`. I cannot recall what's the standard way to call this file. I noticed > nim config.nims does execute the task , but is there a shorter way? There must be a reason why I called the file `config.nims`...

How to install packages via nimble on a machine without internet

2022-08-30 Thread halloleo
Thanks for the info. I guess that's what I'll do: I'll copy all the packages from a connected machine to the air-gapped one and then install the stuff there. But this brings me to an idea: Could I just do a `nimble install ` on a connected machine and then copy everything (with caches and else)

How to install packages via nimble on a machine without internet

2022-08-30 Thread halloleo
I want get back into Nim and pick up an old project I had developed 18 months ago. I'd like to use nimlsp now, but I develop on an air-gapped network (no Internet access). How can I install a package (like nimlsp) via nimble _without_ internet access?

How can I tell Nim that a JsObject has some certain attributes?

2021-07-12 Thread halloleo
Using an explicit type is my preferred solution - and your code works. Thanks!

How can I tell Nim that a JsObject has some certain attributes?

2021-07-11 Thread halloleo
In an external file I have a JavaScript function like this: function getInfo(){ return {data : "Hallo", code : 42}; } Run How can I call the object attributes/keys `data` and `code` in Nim? I tried the dot operator from jsffi: import jsffi

In the JavaScript backend how to pass a array back as sequence?

2021-07-08 Thread halloleo
Thanks for all the responses! It was my bad: I didn't evaluated the correct file in Nashorn. - Your assurances that the code is correct got my on the right track. :-)

In the JavaScript backend how to pass a array back as sequence?

2021-07-08 Thread halloleo
I have a JavaScript function which returns an JavaScript array, e.g. function give_me_three (dummy) { return ["one", "zwei", "trois"] } Run How can I call this function in Nim? I all sorts of ways to make it work, the best (I think) is: proc gi

Compiler sysFatal when I include nashorn.nim

2021-07-07 Thread halloleo
Just created corresponding [GitHub issue](https://github.com/nim-lang/Nim/issues/18455).

Compiler sysFatal when I include nashorn.nim

2021-07-07 Thread halloleo
Thanks @araq. Will report it on GitHub. `koch` is not in my path (which includes `nim-installation/bin/`). `koch` seems to be one directory up in `nim-installation/`. - Should I add that directory to my path as well or is something wrong with my install?

Compiler sysFatal when I include nashorn.nim

2021-07-07 Thread halloleo
I try to create a Nim program which compiles for the [Nashorn JavaScript engine](https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/). Simple programs work directly, but for more specialised interaction between Java and Nim/JavaScript I found metagodcore's [nimnashorn](htt

NimConf 2021: Saturday, June 26th 2021

2021-06-30 Thread halloleo
> Nim is not a Haskell (best in class for FP) nor an Eiffel (best in class for > OOP). Nim is Nim (best in class for concise imperative programming). Nice. Very quotable. Might do well on Twitter...

NimConf 2021: Saturday, June 26th 2021

2021-06-30 Thread halloleo
Just wanted to say that the "Zen of Nim" talk was for me a enlightening resource to understand the current thinking behind the Nim language. Thanks!

Collect a seq and use it straightaway?

2021-06-30 Thread halloleo
Sorry about my sloppy snippet. I agree: Runnable code is here friendlier whenever possible. Thanks for pointing it out (and not just grumbling about it behind the scene). And of course, super thanks for your solutions! The last one (`... (collect(..., for ...).join ...`) was the one I had tried

Collect a seq and use it straightaway?

2021-06-29 Thread halloleo
Given a `seq[string]` `txts` I have the following code: let withBullets = collect(newSeq): for s in txts: &"* {s}" dialog "Here is what happened:\n" & withBullets.join("\n") & "\nDo you understand?" Run In Python I could write: dialog "Here is w

NimConf 2021: Saturday, June 26th 2021

2021-06-16 Thread halloleo
Cool. Looking forward to it!

How best to search the current documentation for basic info

2021-06-16 Thread halloleo
Interesting. The index page looks a bit cramped, but the good thing is, it offers both, _module level_ names and _function level_ names.

How best to search the current documentation for basic info

2021-06-16 Thread halloleo
That looks like a good approach. Thanks.

Emacs support via nimlsp and eglot

2021-06-16 Thread halloleo
For better source code navigation and basic refactoring in Emacs I am trying out the [nimlsp](https://github.com/PMunch/nimlsp/blob/master/src/nimlsp.nim) server with the [eglot](https://github.com/joaotavora/eglot) lsp client. It _somewhat_ works, I can jump to definitions via `xref-find-defini

An simple nrpl for nim

2021-06-15 Thread halloleo
Simple question: How does this package differentiate itself from [INim](https://github.com/inim-repl/INim)? As a beginner I'm using INim now and then and I'm quite happy with it.

How best to search the current documentation for basic info

2021-06-15 Thread halloleo
The thread [Improving the documentation: Roadmap, community engagement](https://forum.nim-lang.org/t/8091) reminded me that I am curious, how people search the _current_ Nim documentation: Say, I want to remind myself how tables work and I am already on a Nim documentation page, e.g. [sequtils]

Associate an enum with strings

2021-06-15 Thread halloleo
> Enums support strings as values directly That's exactly what I was after! Thanks!

Associate an enum with strings

2021-06-14 Thread halloleo
I have an enum like type Color = enum colRed, colGreen, colBlue Run What is the best way to associate strings with the `enum`? Define a separate variable like this?: let colorNames = toTable({colRed: "RED",

How to catch DOM exception in Nim code?

2021-05-10 Thread halloleo
> Report the bug ? Well, it depends whether Nim _wants_ to represent JS exceptions through its one exceptions. In my beginner's nativity _I think it should_ , but I am sure there are arguments against it.

How to catch DOM exception in Nim code?

2021-05-10 Thread halloleo
Thanks for all the detail! If I understand correctly, it means, that Nim exceptions do not "include" JS exceptions, while Nim's try..except' can catch all exceptions, Nim exceptions and and JS exceptions, right?

Can I create a string stream from its own data?

2021-05-10 Thread halloleo
I need to iterate over the content of a `StringStream` twice. Because `StringStream` does not provide a seek method, I thought instead to create a new StringStream from the first stream's `data` attribute and assigning it to the same variable. > strm = newStringStream(...) > > # Iterate throu

Can I create a string stream from its own data?

2021-05-10 Thread halloleo
Cool! `setPosition` it is! Much better! Thanks! (I just searched for "seek" and couldn't find anything...)

How to catch DOM exception in Nim code?

2021-05-09 Thread halloleo
When targeting the JS backend I want to catch the JavaScript DOMException "A network error occurred.". So I tried: var httpRequest = newXMLHttpRequest() try: httpRequest.open("GET", cstring"http://ireallydontexist.org/";, async=false) httpRequest.send

Add a JS-backend only option to nim.cfg

2021-05-06 Thread halloleo
Well, I need the if because I want to switch off debugging **_only_** for the JS backend.

Add a JS-backend only option to nim.cfg

2021-05-06 Thread halloleo
Thanks, Araq. I now tried it. I put @if js: stacktrace:off excessiveStackTrace:off linetrace:off debugger:off line_dir:off @end Run in the nim.cfg, but when I run > nim js myfile.nim `myfile.js` still contains the debug lines. A bit

Add a JS-backend only option to nim.cfg

2021-05-06 Thread halloleo
I guess, a workaround can be to set the options myself (and overwrite what's set before): @if js: stacktrace:off excessiveStackTrace:off linetrace:off debugger:off line_dir:off @end Run

Add a JS-backend only option to nim.cfg

2021-05-06 Thread halloleo
Mmmmh, @if js: define:release @end Run doesn't seem to work for me. Can I use a `.nims` file instead of `~/.config/nim/nim.cfg`? Is it then called `~/.config/nim/nim.nims`?

Add a JS-backend only option to nim.cfg

2021-05-05 Thread halloleo
I use `~/.config/nim/nim.cfg` to adjust the default compiler options. In there I would like to set the `-d:release` option, but only when the JS backend was selected. Is this possible in the `nim.cfg` file?

How to map a JS dictionary paramter in the Nim importjs header?

2021-05-05 Thread halloleo
@DomoSokrat @Hlaaftana Thanks a lot for the info. I guess I have to study `jsffi` in more detail… (Still, _discovery_ of unknown syntax doesn’t seem to be easy for me just from the type/function reference line on the module page.)

How to map a JS dictionary paramter in the Nim importjs header?

2021-05-04 Thread halloleo
Cool! Makes sense. Now I'm using: func myfunc*(data: cstring, opts: JsObject) {.importjs: "mylib.$1(#, #)".} Run And I'm trying _on the Nim side_ to provide this` JsObject` aka dictionary: let opts = toJS({"type": "extended", "desc": "fortified"}.totable)

How to map a JS dictionary paramter in the Nim importjs header?

2021-05-04 Thread halloleo
I have a JavaScript library with a function which takes a dictionary object as parameter: function myfunc(data, opts) { ... //opts is used like: opts.type == ... opts.desc ... ... } Run In the Nim header definition like

Nim packages and LTS Nim

2021-05-04 Thread halloleo
> In other words, we need a new LTS that makes ARC the default. :-) Makes total sense. Would be great to stick with that for a while then.

Nim packages and LTS Nim

2021-05-03 Thread halloleo
Reading thread [Nim 1.2.6 and Nim 1.0.8 are out! - Nim forum](https://forum.nim-lang.org/t/6625#41095) I noticed that we have a LTS version of Nim. How great is this! But how does the Nim's eco system relate to this? If 1.0.x is the LTS version, why are quite a few packages requiring pretty new

File IO for the JS backend on node

2021-05-03 Thread halloleo
> Does your project really needs Nim 1.3.5 ?. What Bug stop you from upgrading?. It's not a bug, it is just that our sysadmins/devops do not like to upgrade things "unnecessarily". But as said, I managed to convince them this time. :-) However, I think it is a bit of a general problem in the Nim

File IO for the JS backend on node

2021-05-03 Thread halloleo
> The newest nim is 1.5.x The tarball from Nim's download page is 1.4.6.

"TypeError: c_1455079.charCodeAt is not a function" on jsfs' readFileSync

2021-05-03 Thread halloleo
Done

learn Nim regular expressions - regex, re , NRE

2021-05-03 Thread halloleo
For the uninitiated (like me): The current home of the library is [github.com/nitely/nim-regex](https://github.com/nitely/nim-regex), right?

File IO for the JS backend on node

2021-05-03 Thread halloleo
I was able to convince our DevOps to install the newest Nim! :-)

"TypeError: c_1455079.charCodeAt is not a function" on jsfs' readFileSync

2021-05-03 Thread halloleo
I'm trying `nodejs/jsfs` and get a node runtime error " _TypeError: c_1455079.charCodeAt is not a function_ ". Her my little program `read_try.nim`: import nodejs/jsfs requireFs() let data = readFileSync("sometext.txt") echo $data Run and I compile it

File IO for the JS backend on node

2021-05-02 Thread halloleo
Does your project _[really](https://forum.nim-lang.org/postActivity.xml#really) need at least Nim 1.4.4? I'm running Nim 1.3.5...

File IO for the JS backend on node

2021-05-02 Thread halloleo
Thanks @juancarlospaco! I'm checking it out.

File IO for the JS backend on node

2021-05-02 Thread halloleo
For the JS backend when running under nodejs, is there a module for File/Stream IO (maybe wrapping nodejs' [FS module](https://nodejs.org/docs/latest-v0.10.x/api/fs.html))? Sorry to ask this, maybe I overlooked something basic, but I couldn't find anything in the Nim doco about it...

In Nimpy how to call methods on Python objects? (Example sys.path.insert)

2021-04-30 Thread halloleo
Thanks for all the advice. Reactive programming I thought so, but was irritated that insert doesn’t have a return value. Thanks for the explanation to this

In Nimpy how to call methods on Python objects? (Example sys.path.insert)

2021-04-29 Thread halloleo
I stumbled over nimpy and I think it is a fantastic project! I'm now trying to use nimpy to call a locally given python module in Nim. The first thing I want to do is more basic: Modifying Python's `sys.path`. I though of doing this via the Python object in Nim. I have: import nim

Why learn NIM

2021-04-29 Thread halloleo
Learn Nim when you look for a modern, future-oriented, growing language **which uses indentation as block delimiter**. - There are not many such languages. Macros are a great bonus for DSLs! (You can try the also indented [Converge](https://convergepl.org/) for DSLs as well, but that community i

How to access n theJS backend Bootstrap's "modal" method?

2021-04-21 Thread halloleo
Cool idea! :-) I tried > proc modal(obj: Element, options = "") {.importjs: "$$(#).modal(#)".} but for the Nim code > var modalDialog = document.querySelector("#exampleModal") modal(modalDialog, > "show") the generated JS code is still: > var modalDialog_24645128 = document.querySelector("#ex

How to access n theJS backend Bootstrap's "modal" method?

2021-04-19 Thread halloleo
Aha! So the `proc` definition is only important for the Nim-side (i.e. if Nim needs an `Element`, the proc needs to be defined as taking an `Element` param, if Nim needs a `JSObject`, the proc has to be defined accordingly). The only thing I now have to figure out, is how to call Bootstrap's "mo

How to access n theJS backend Bootstrap's "modal" method?

2021-04-19 Thread halloleo
Thanks. makes sense. However when I try your approach I get an compile error, because `modalDialog` is not a `JsObject`, it is of type `Element`. (I want to do as much in normal Nim code, so that's why I get the dialog via `var modalDialog = document.querySelector("#myModal")` as an Nim `Elemen

How to access n theJS backend Bootstrap's "modal" method?

2021-04-19 Thread halloleo
In JavaScript I open Bootstrap's [modal dialogs](https://getbootstrap.com/docs/4.6/components/modal) via > $('#myModal').modal(options) where `#myModal` is the id of the dialog and `options` is a JS attribute dictionary. I know how to get the DOM element in Nim (without the $/jQuery syntax):

How do I get the fields/attributes of an object type at run time?

2021-04-15 Thread halloleo
Thanks @Hlaaftana! When I see your change, it is obvious, but I was banging my head against the keyboard instead... And I guess, fieldPairs is exactly what I was looking for!

How do I get the fields/attributes of an object type at run time?

2021-04-15 Thread halloleo
I am starting to dabble into type introspection. I have the following test program: import sugar, macros type MyInfo* = object fname*: string cname*: string ctype*: string var myInfoAttrs: seq[string] static:

Library for generating a DOM table from a Nim Table? (JS backend)

2021-04-12 Thread halloleo
Cl. Will keep this in mind.

Library for generating a DOM table from a Nim Table? (JS backend)

2021-04-11 Thread halloleo
In the brower (i.e. via the JS backend) I need to generate a HTML table in the DOM from a JSON structure which I load into a Nim table structure. Does a library exist for the conversion to a DOM table? Thanks for any pointers!

Emacs fans tell me: What autocomplete and symbol look-up package are you using?

2021-03-31 Thread halloleo
Thanks @zetashift! So you are quite happy with nimlsp?

Emacs fans tell me: What autocomplete and symbol look-up package are you using?

2021-03-29 Thread halloleo
I use `nim-mode` in Emacs for my Nim development and I would like o use autocomplete, symbol lookup and maybe even refactoring! I tried `nimsuggest`, but didn't get it working yet. Before I try harder, I wanted to ask: What do people use for Nim development in Emacs? Is there an alternative to

using expressions in default values for procedure's parameters

2021-03-25 Thread halloleo
Cool feature indeed. - Not sure how often I will have a use for it though

NimScript tasks with parameters?

2021-03-24 Thread halloleo
Thanks. That's what I was suspecting. Problem though is, if you want to call task from within your nimscript (via the `...Task` proc) you have no change to provide the correct parameters - or do I overlook something?

Can I do text replacements in a file via a NimScript?

2021-03-24 Thread halloleo
Cool. `nimgrep` looks pretty good for Nim files! :-) [The doco](https://nim-lang.org/docs/nimgrep.html) mentions briefly support for PEGs, but how do I provide them here?

Can I do text replacements in a file via a NimScript?

2021-03-24 Thread halloleo
Thanks @shirleyquirk. I thought so, just wanted to doublecheck whether I had missed something.

Can I do text replacements in a file via a NimScript?

2021-03-23 Thread halloleo
I need to do as part of a build step some string replacements in a text file. In full Nim I'm able to do this via stream reading, text replacements, and stream writing - can I do this in NimScript (i.e. `config.nims`) as well? The `streams` module is not listed for NimScript... Thanks for any p

NimScript tasks with parameters?

2021-03-23 Thread halloleo
How can I use parameters in NimScript tasks? I had a peek at the the `task` template source and it looks like the `...Task` proc does not take any parameters. So do I have to read parameters manually from the command line?

Nicer function anmes and other identifiers in the JS output

2021-03-19 Thread halloleo
Very good point. Didn't think of it. So, I guess - for good reasons - it is what it is.

Nicer function anmes and other identifiers in the JS output

2021-03-18 Thread halloleo
> This could be default way for generating var names, at least those which are > not derived I think, at least it would be great to have an _option_ that all names are generated as is without the trailing number. Because it's pretty painful to add `{.exportc.}` to many declarations if you want

Nicer function anmes and other identifiers in the JS output

2021-03-18 Thread halloleo
So, the self-defined function names look good now - Is any way to get my variables and types without the trailing numbers in the JS output?

Nicer function anmes and other identifiers in the JS output

2021-03-18 Thread halloleo
I expected a comment like this... :-) The whole situation is not ideal, of course, but other people (very occasionally) will need to maintain the code after I hand over the project - and other people in the organisation are no Nim fans - yet. ;-)

Nicer function anmes and other identifiers in the JS output

2021-03-18 Thread halloleo
The idea with `push` and `pop` is great; this way I can make all self-defined function names easily very readable.

Nicer function anmes and other identifiers in the JS output

2021-03-17 Thread halloleo
For my current project I use the JS backend. I checked how the generated JavaScript looks, because at some stage we might need to maintain the JaavScript output without the Nim source. So it is good that the JavaScript code is fairly readable, however all function names (plus other identifiers

Retrieve content from a URL under the JS backend

2021-03-17 Thread halloleo
Thanks. I'll look into it.

How can I see all the threads I ahve started or I have contributed to?

2021-03-16 Thread halloleo
Done. (The upvote, Nim PRs not yet...)

iNim is supercalifragilisticexpialidocious!

2021-03-15 Thread halloleo
Hey, just a quick shout-out to [iNim, the Nim repl](https://github.com/inim-repl/INim)! It is really wonderful, particularly for a Nim newbie like me: Perfect for quickly checking whether a syntax works and what it returns! Thanks Tangdongle, Andrei and other contributors!

Retrieve content from a URL under the JS backend

2021-03-15 Thread halloleo
What's the best way to retrieve content from a URL under the JS backend? I found so far [stisa/ajax - Basic wrapper for ajax](https://github.com/stisa/ajax). I tried it and it works which is cool. :-) Just wanted to double check is this the recommended/best way to do it?

How can I see all the threads I ahve started or I have contributed to?

2021-03-15 Thread halloleo
> I think an "author:halloleo" in the search box (like github) would be an ok > UI for this. The crucial word here is " _would_ ": I just tried it and it returns only this thread. %-) I guess this means, _at the moment_ there is no way to do this, right?

How can I see all the threads I ahve started or I have contributed to?

2021-03-14 Thread halloleo
I sometimes think " _I have asked this before._ " but the "My Profile" page gives me only the last 10 questions. - Is there a way to see or search for my older questions?

Strange "lock levels differ" error with HttpClient

2021-03-14 Thread halloleo
Thanks. Good to know. But seems _really_ strange to me. Does this indicated that higher order functions are not a welcome construct in Nim??? And if so why? Sorry for these questions, but I am quite a bit baffled...

Strange "lock levels differ" error with HttpClient

2021-03-11 Thread halloleo
Thanks for this! The pragma `{.gcsafe, locks: 0.}` works. (I do get a `Warning: declared lock level is 0, but real lock level is ` though.) The big question for me is: Why does the compiler complain in the first place? Why does `httpclient` do recursive locking? From my understanding it doesn't

Strange "lock levels differ" error with HttpClient

2021-03-10 Thread halloleo
I have a structure like this: main.nim: import utils ... proc send_via_httpclient (url:string): bool = var client = newHttpClient() var res = client.getContent(url) return (res == "ACCEPTED") proc main(useHttp:bool) = ... process_info(if

JS backend: How to access the `files` attribute in the Node object of an `input type="file"` element

2021-03-09 Thread halloleo
Soo cool! When you know it it seems obvious! Had a look through the source of the `dom` module and found a few other gems like `newFileReader()` and `resultAsString` \- very literally how they translate Nimto JavaScript!

JS backend: How to access the `files` attribute in the Node object of an `input type="file"` element

2021-03-08 Thread halloleo
I try to write a handler for an `input type="file"` HTML5 element in Nim. In the HTML I have a Upload button defined as Run and I set the button's `onchange` handler to a `changed_file` function, which I define in Nim as proc changed_file (event: Event)

Yeay! Finally I udnerstand how to write a "Makefile" in Nim!

2021-03-08 Thread halloleo
Ok, here a small example of my "tasks" setup for Nim as I use it at the moment. This is probably not the best way to do these things but it is the result of how I understand NimScript: A minimal `config.nims` looks like this: # # NimScript build file for Project X #

How to have the generated executables in a bin directory out of the way when using testament

2021-03-05 Thread halloleo
Good to know. Thanks.

Yeay! Finally I udnerstand how to write a "Makefile" in Nim!

2021-03-05 Thread halloleo
Will do. Next week.

  1   2   >