00:04:59 | FromDiscord | <geckojsc> whew here's my first contribution to the nim ecosystem :) https://github.com/fedkanaut/sdl-gpu-nim/pull/1 |
00:07:32 | FromDiscord | <geckojsc> I'm in awe at how this language Just Works™ |
00:11:48 | Araq | +1 |
00:12:01 | * | aguspiza quit (Ping timeout: 256 seconds) |
00:32:37 | FromDiscord | <geckojsc> I did lots of game programming in ooc (another sexy modern language that compiles to C) and while I adore that language, I'm noticing a world of difference here with the elegance and consistency of the design, the tooling, the thriving community |
00:45:39 | FromGitter | <gogolxdong> What's the difference between httpbeast and native async http server. |
00:47:06 | FromGitter | <aboisvert> is there an async lib/wrapper for sqlite? |
00:48:10 | FromGitter | <aboisvert> @gogolxdong afaik, httpbeast is a work-in-progress; should be faster but not yet ready for use outside of benchmarking |
00:50:25 | FromGitter | <gogolxdong> Is the abstracted selector event loop? |
00:52:30 | FromDiscord | <2vg> asynchttpserver: single-thread, httpbeast: multi-thread |
00:56:19 | FromGitter | <gogolxdong> thanks . |
01:07:39 | FromGitter | <gogolxdong> Is jester single-thread too? |
01:10:06 | * | chemist69 quit (Ping timeout: 246 seconds) |
01:11:22 | FromDiscord | <2vg> yep |
01:43:37 | FromGitter | <gogolxdong> got /root/.nimble/pkgs/httpbeast-0.1.0/httpbeast.nim(314, 26) Error: undeclared identifier: 'Thread' |
01:45:30 | FromDiscord | <2vg> `--threads:on` |
01:52:08 | FromGitter | <gogolxdong> How to get the req.body? |
01:53:22 | * | NimBot joined #nim |
01:56:15 | FromDiscord | <2vg> maybe `req.body.get()` ? |
02:02:24 | FromGitter | <gogolxdong> yes ,I have find . Are you working on httpbeast? |
02:02:34 | FromGitter | <gogolxdong> found. |
02:04:49 | FromGitter | <gogolxdong> Does it conflict with asyncdispatch , so avoid using {.async.} ? |
02:05:48 | FromDiscord | <2vg> I have not tried `req.body` yet sorry |
02:06:41 | FromDiscord | <2vg> Probably body is not used for GET requests |
02:06:41 | FromDiscord | <2vg> It should work properly in POST |
02:08:25 | FromGitter | <gogolxdong> yes, asyncdispatch will take care of the proc with {.async.} pragma , I think have to newFuture manullay in httpbeast context. |
02:09:59 | FromGitter | <Varriount> @gogolxdong I am currently working on a query-parameter AWS authentication procedure. I should have it done this weekend. |
02:10:25 | FromDiscord | <2vg> hmm, |
02:11:37 | FromGitter | <gogolxdong> @Varriount good to know |
02:14:50 | FromGitter | <gogolxdong> I think we are reaching the same goal. |
02:21:55 | FromGitter | <gogolxdong> got some transformation if you are likely to use ,``` |
02:22:02 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5ad165ca6d7e07082bf1e2c7] |
02:23:18 | FromGitter | <gogolxdong> don't know how to use newFuture actually. |
02:29:33 | * | dddddd quit (Remote host closed the connection) |
02:34:03 | * | Lord_Nightmare2 joined #nim |
02:38:09 | * | Lord_Nightmare quit (Ping timeout: 264 seconds) |
02:38:09 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
02:43:06 | * | Lord_Nig- joined #nim |
02:44:28 | * | Lord_Nightmare quit (Ping timeout: 265 seconds) |
02:45:00 | * | Lord_Nig- is now known as Lord_Nightmare |
03:03:30 | * | libman[m] joined #nim |
03:19:43 | FromGitter | <gogolxdong> `Error: the field 'port' is not accessible.` in httpbeast , I have exported port*. |
03:20:03 | FromGitter | <gogolxdong> ``` run(onRequest,Settings(port:Port(8081))) ⏎ ``` [https://gitter.im/nim-lang/Nim?at=5ad1736327c509a7740e4dc8] |
03:49:53 | FromGitter | <gogolxdong> undeclared identifier: 'toOpenArray' |
04:12:37 | * | feedie joined #nim |
04:14:07 | * | feedie quit (Remote host closed the connection) |
04:14:27 | FromDiscord | <2vg> Perhaps now can only use 8080 |
04:40:00 | FromGitter | <gogolxdong> How could we access the port field? |
04:51:23 | FromGitter | <matrixbot> `shashlick` interesting - you can post to gitter from matrix |
04:52:02 | libman[m] | narf |
04:56:20 | FromDiscord | <2vg> cant access now |
04:56:24 | FromDiscord | <2vg> maybe |
04:57:27 | libman[m] | I'm here via https://riot.im/app/#/room/#freenode_#nim:matrix.org |
05:00:28 | * | arecaceae quit (Remote host closed the connection) |
05:00:52 | * | arecaceae joined #nim |
05:01:41 | shashlick | I was using riot for a while until it was unreliable few weeks ago, enjoying weechat off late, consolidate all comms |
05:05:37 | * | miran joined #nim |
06:06:12 | * | athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
06:20:12 | * | Vladar joined #nim |
06:45:42 | FromGitter | <Araq> ```code paste, see link``` ⏎ ⏎ No idea why the world didn't move from Perl to Nim. :-) [https://gitter.im/nim-lang/Nim?at=5ad1a3966bbe1d2739e61b3f] |
06:47:21 | FromDiscord | <treeform> Araq, thoughts on PHP removal? https://github.com/nim-lang/Nim/pull/7606 its not perl but its there. |
06:49:03 | FromGitter | <data-man> @Araq: Why not PEGs or scanf/scanp? :-D |
06:49:40 | Araq | data-man: forgot how they work. :-) |
06:50:58 | Araq | I wrote this without autocompletion, checking any library does and it compiled and ran without errors |
06:51:05 | Araq | *docs |
06:51:44 | Araq | treeform: argh PR overload |
06:52:04 | FromDiscord | <treeform> PR is massive, why PHP in the first place? |
06:52:26 | FromDiscord | <treeform> Isn't it a dying and unloved language? |
06:53:40 | FromGitter | <data-man> BTW, scanf/scanp doesn't support Unicode? |
06:57:19 | Araq | I think it's unicode agnostic |
06:57:39 | Araq | treeform: I was younger and needed the money. |
06:58:46 | FromDiscord | <treeform> not the answer I though I would get! |
06:58:59 | Araq | ? |
06:59:25 | Araq | why would I write a freaking PHP backend otherwise? :P |
07:00:48 | FromDiscord | <treeform> Its a perfectly find answer, I wrote some PHP back in the day too. |
07:00:55 | FromDiscord | <treeform> fine* |
07:03:14 | FromGitter | <data-man> Maybe not to remove it but improve? |
07:03:56 | Araq | data-man: well I was kidding about making this a commercial offer. but it got me wondering... |
07:05:08 | Araq | but in general I'm not interested in more backends, the existing ones already are quite some effort to maintain |
07:07:24 | Araq | now if only we had somebody who knows this thing called "market research"... |
07:07:32 | Araq | bbl |
07:08:37 | * | rokups joined #nim |
07:11:13 | FromGitter | <Varriount> Araq: With toOpenArray, how would one create a zero-length array? |
07:12:42 | FromGitter | <Varriount> `toOpenArray(s, 0, 0)` creates an array of length 1, and `toOpenArray(s, 0, -1)` causes a segfault. |
07:13:05 | * | vivus quit (Quit: Leaving) |
07:14:00 | * | gangstacat quit (Quit: Ĝis!) |
07:16:50 | * | r3d9u11 joined #nim |
07:28:10 | FromGitter | <Varriount> I would be happy to change the implementation, however it would help to know where in the compiler code mSlice is implemented. |
07:29:03 | * | gangstacat joined #nim |
07:30:21 | * | nsf joined #nim |
07:39:02 | FromGitter | <data-man> @Varriount: I assume, that here: https://github.com/nim-lang/Nim/blob/devel/compiler/ccgcalls.nim#L92 |
07:40:05 | FromGitter | <Varriount> Hrm, I can give that a try... Though it looks tricky |
07:44:55 | * | yglukhov joined #nim |
07:46:15 | * | yglukhov_ joined #nim |
07:49:32 | * | yglukhov quit (Ping timeout: 276 seconds) |
07:52:03 | * | Lord_Nightmare2 joined #nim |
07:55:33 | * | Lord_Nightmare quit (Ping timeout: 264 seconds) |
07:55:33 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
07:56:36 | FromGitter | <Varriount> @data-man It looks like it might just be the bounds checking that's off, though I'm not sure. |
07:57:45 | FromGitter | <Varriount> Comparing the generated code for a zero-length string passed into an openarray proc, and a toOpenArray value with parameters (0, -1) passed into the same proc, the arguments appear the same. |
07:58:19 | * | gokr joined #nim |
08:02:25 | FromGitter | <data-man> @Varriount: Probably search in the commits history will be easier. |
08:05:27 | * | smt` quit (Read error: Connection reset by peer) |
08:05:39 | * | smt` joined #nim |
08:06:10 | Araq | well I think toOpenArray(s, 0, -1) should work |
08:11:46 | * | gokr quit (Ping timeout: 264 seconds) |
08:18:44 | FromGitter | <flowck> I everyone, I wrote a quick post showing how to handle 404 requests. Any feedback is welcome. Thanks. ⏎ ⏎ http://firmino.engineer/vue-js-handling-undefined-routes-with-vue-router/ |
08:21:28 | * | yglukhov_ quit (Read error: Connection reset by peer) |
08:22:06 | * | yglukhov joined #nim |
08:24:07 | Araq | ok, now write a quick post about you should use 'karax' instead of vue.js :-) |
08:24:28 | Araq | this is #nim, not #vue |
08:24:30 | FromGitter | <flowck> Oh god |
08:24:38 | FromGitter | <flowck> sorry wrong channel |
08:24:53 | Araq | ;-) |
08:24:59 | FromGitter | <flowck> Deleted |
08:25:14 | miran | there's no delete on IRC :) |
08:26:12 | FromGitter | <alehander42> Haha I did this in the crystal channel several days ago |
08:26:43 | FromGitter | <alehander42> Directly sent the guy to our stlidb docs |
08:27:05 | miran | a new way of promoting nim? "hey guys, look at the cool stuff i did" ... "ooops, this is not #nim" :D |
08:27:08 | FromGitter | <alehander42> Which reminds me parseopt2 or parseopt? |
08:27:48 | FromGitter | <alehander42> I asked them too why do we have two: embarrassing :D |
08:28:28 | FromGitter | <flowck> @FromIRC It was definitely a mistake from me. :) |
08:30:03 | FromGitter | <alehander42> Hmm I have to admit I thought once about a python backend |
08:30:12 | FromGitter | <alehander42> But it's a bad idea |
08:30:35 | FromGitter | <flowck> @alehander42 to become a python developer? |
08:31:14 | FromGitter | <alehander42> I think maybe only a wasm backend would make sense in the near future (like stisa ) |
08:32:08 | Araq | wasm is so poor it makes me sad |
08:32:09 | FromGitter | <alehander42> Haha well I started as a python dev(first with php but I don't talk about that ) |
08:32:20 | FromGitter | <alehander42> So I still dig it |
08:32:39 | Araq | alehander42: parseopt. |
08:32:49 | FromGitter | <flowck> I don't talk about my PHP past too. |
08:32:55 | FromGitter | <flowck> 😄 |
08:36:40 | FromGitter | <alehander42> We all have php past |
08:36:44 | Araq | wasm -- no function pointers, no int64, no stack pointer for a real ABI, no threading, no JS DOM interop |
08:36:48 | FromGitter | <alehander42> Araq what |
08:37:00 | FromGitter | <alehander42> Ah you answered before I manage to type it |
08:37:15 | FromGitter | <flowck> @alehander42 Async |
08:37:43 | Araq | it takes another decade before this thing can be taken seriously. ymmv. |
08:38:29 | FromGitter | <alehander42> I'll read more about their roadmap |
08:38:53 | FromGitter | <alehander42> But it didn't even exist several years ago, I think it can catch up faster |
08:39:09 | Araq | and no support for anything Posix-like. I mean ok, if you don't want web apps to compete with real apps... |
08:39:24 | * | nsf quit (Quit: WeeChat 2.0.1) |
08:39:52 | Araq | but it will slowly re-invent posix, maybe without all its bad parts |
08:40:41 | * | aguspiza joined #nim |
08:41:44 | Araq | tbh I never figured out how this Unreal Engine demo can even run in asm.js. |
08:42:57 | Araq | and asm.js has the same limitations as wasm it's like they kept all its bad parts and hacks and gave it a bytecode format. hurray. |
08:48:10 | FromGitter | <mratsim> btw, any thoughts on this: http://exercism.io/, someone on the forum mentionned that they added Nim, but I don’t really want to lose my time if it’s not well perceived. |
08:49:06 | FromGitter | <dom96> @mratsim it's perceived well, go for it. |
08:49:29 | FromGitter | <mratsim> I’ll make sure I use functional style :D |
08:49:38 | FromGitter | <mratsim> or methods everywher :P |
08:58:41 | * | xkapastel quit (Quit: Connection closed for inactivity) |
08:59:47 | miran | oh, that forum post needs a bump, it was pushed to the 2nd page too quickly.... |
09:00:28 | FromGitter | <alehander42> @mratsim once, I wrote a very stupid ruby dsl for pattern matching for an evaluator for a simple derivation homework http://2012.fmi.ruby.bg/tasks/3/solutions/145 |
09:00:53 | FromGitter | <alehander42> you still have the chance to embed the source of a ML library directly in some of those exercises! :D |
09:00:55 | miran | btw, there is nim (beta) on codewars, too |
09:01:36 | FromGitter | <alehander42> and use term rewriting macros combined with style skins |
09:01:52 | miran | 27 nim tasks there |
09:01:57 | FromGitter | <alehander42> (I always wanted to try the source filters btw) |
09:02:18 | FromGitter | <alehander42> do they have stats on how many people go through them |
09:02:21 | FromGitter | <alehander42> and existing solutions? |
09:03:05 | * | yglukhov quit (Remote host closed the connection) |
09:03:19 | miran | i just opened a random task and it says that nim version has been solved 12 times (of 19,430 total) |
09:03:46 | * | yglukhov joined #nim |
09:04:31 | FromGitter | <mratsim> I’d rather do: https://www.codingame.com/start actually :P |
09:05:52 | FromGitter | <mratsim> Or maybe port some of the Starcraft 2 AI to Arraymancer: https://github.com/Inoryy/pysc2-rl-agent |
09:06:24 | miran | when i was learning python, i learned much more from codewars and checkio than from codingame |
09:07:16 | FromGitter | <Varriount> Araq: toOpenArray(s, 0, -1) throws an out of bounds exception |
09:07:26 | miran | exercism.io looked too complicated for me back then with all the setup needed to solve a task |
09:07:57 | FromGitter | <mratsim> I’ll check codewars. |
09:08:05 | * | yglukhov quit (Ping timeout: 256 seconds) |
09:10:12 | miran | codewars isn't perfect, but it is (absolute) beginner friendly |
09:10:45 | FromGitter | <alehander42> wow around ~20 people have solved the first nim cata in codewars |
09:11:02 | FromGitter | <alehander42> that's not too bad, I thought less people use it |
09:13:34 | miran | i wanted to learn nim via codewars, but when i've seen that only 20-something tasks are in nim, i started looking for other sources for learning |
09:14:04 | miran | if there are >50 tasks, i'm sure the number of people who are solving in nim would be higher |
09:16:35 | FromGitter | <alehander42> @dom96 I don't like the nlvm approach to repo, maintaing it as a fork makes it very obvious how to build it and what's the diff with upstream |
09:20:02 | FromGitter | <alehander42> @dom96 about the wasm thing, maybe we can have an article about the nim ermscripten wasm combo, it will probably generate interest |
09:25:11 | FromGitter | <dom96> I prefer the nlvm approach, it's independent and easier to work with. You don't have to search looking for the relevant changes. |
09:25:42 | FromGitter | <dom96> Article sounds good :) |
09:25:48 | FromGitter | <dom96> We need more articles |
09:26:03 | miran | @mratsim, @alehander42: i have just checked, it is quite easy to create nim translation of an existing kata (codewars' task) |
09:26:10 | FromGitter | <dom96> Doesn't even matter that much what they are about, as long as they discuss Nim. |
09:26:25 | miran | and once we have 100 translated katas, we can have an article about it :) |
09:28:16 | * | dddddd joined #nim |
09:29:54 | FromGitter | <mratsim> wow so many new faces on this article: https://www.reddit.com/r/nim/comments/8b2n2x/nim_or_rust_advice/ |
09:44:01 | * | yglukhov joined #nim |
09:49:19 | * | derlafff quit (Remote host closed the connection) |
09:49:38 | * | derlafff joined #nim |
09:56:36 | * | gokr joined #nim |
10:13:37 | FromGitter | <alehander42> @dom96 well I like to look at it as a "wasm" branch of the compiler, not as a different project :D |
10:13:51 | FromGitter | <alehander42> @miran nice! |
10:16:33 | miran | currently writing one translation, to see the process from my own experience |
10:28:02 | * | rokups quit (Quit: Connection closed for inactivity) |
10:30:28 | * | xet7 quit (Quit: Leaving) |
10:36:50 | FromGitter | <krux02> @alehander42: since you are talking about wasm. What is going on with WASM in Nim? |
10:37:22 | FromGitter | <krux02> would be cool if one day I can simply compile to WASM directly from nim without going through C. |
10:39:20 | Araq | it would be cooler if you could compile to WASM and then have a platform that can run your software. |
10:39:41 | Araq | and the last time I checked WASM was quite useless. |
10:39:48 | FromGitter | <alehander42> well @stisa has been working on that https://github.com/stisa/nwasm , but it's still very WIP |
10:40:37 | FromGitter | <krux02> you I think the more practical approach would be to go through C, just because Nim does use a lot of C stuff internally. |
10:40:42 | FromGitter | <alehander42> I agree that wasm is currently not the greatest target, but I doubt it won't be very useful in 2-3 years |
10:41:19 | FromGitter | <krux02> well I would love to target WASM for my projects |
10:41:33 | FromGitter | <krux02> no so much for javascript though. |
10:41:40 | FromGitter | <alehander42> afaik people already did this with nim->c->ermscripten, I guess it's not a very nice for development tho |
10:41:52 | FromGitter | <alehander42> I don't want to imagine the debugging process |
10:41:57 | FromGitter | <krux02> I optimize for memory layout. That just dies when I compile to JS. |
10:41:57 | FromGitter | <mratsim> you can put the steop in a .nimble file though |
10:41:59 | dom96 | Araq: How is it useless? |
10:42:03 | Araq | http://webassembly.org/docs/future-features/ |
10:42:05 | FromGitter | <mratsim> steps* |
10:42:33 | Araq | https://github.com/WebAssembly/design/issues/1079 |
10:42:50 | Araq | > WebAssembly needs to be able to: |
10:42:50 | Araq | > reference DOM and other Web API objects directly from WebAssembly code; |
10:42:56 | dom96 | Araq: You need to read more HN |
10:43:02 | FromGitter | <krux02> I think simd for WASM would be great, much better than native SIMD. |
10:43:13 | Araq | dom96: maybe. |
10:43:20 | dom96 | https://news.ycombinator.com/item?id=16834553 |
10:43:28 | Araq | but without native DOM support I don't understand WASM |
10:43:42 | dom96 | You can call a JS function from webasm |
10:43:45 | dom96 | which accesses the DOM |
10:43:51 | dom96 | It's a perfect target for Nim |
10:44:02 | FromGitter | <krux02> WASM could generate fallback instructions when SIMD is not supported, on statically compiled native code you either have to create runtime branches (kill performance) or break compatibility. |
10:44:05 | dom96 | Because we already support JS |
10:44:29 | Araq | dom96: hmmm, so I think I know what you're saying |
10:44:44 | FromGitter | <alehander42> well it wouldn't take them too much time to add native support for the DOM |
10:44:45 | Araq | we compile parts of Nim to JS, others to WASM |
10:44:49 | dom96 | yep |
10:44:53 | Araq | a mixed environment. |
10:45:02 | FromGitter | <krux02> nim is already a mixed environment |
10:45:02 | dom96 | Rust won't be able to do that |
10:45:09 | FromGitter | <alehander42> also a lot of apps I guess doesn't use it much: targetting webgl, canvas etc |
10:45:14 | FromGitter | <krux02> parts compile to C parts compile to nimvm |
10:45:56 | Araq | well yeah, we are already providing that. write an RFC if you have an idea how to make it more smooth |
10:46:36 | dom96 | huh? We need a webasm backend |
10:46:41 | dom96 | What's there to write an RFC about? |
10:47:08 | FromGitter | <krux02> but nim needs a clean way to say, this part here is js only, this part is wasm only and this here is shared |
10:47:53 | Araq | krux02: yeah you can target opengl/SDL2 with webasm, but you don't get acccess to threads or OpenCL afaict |
10:47:55 | dom96 | okay, I don't think that's too complicated. Just throw in a {.wasm.} pragma and voila. |
10:48:06 | FromGitter | <krux02> Araq: not yet |
10:48:11 | FromGitter | <krux02> and I don't use threads yet |
10:48:12 | dom96 | I don't think a "shared" concept makes sense |
10:48:25 | FromGitter | <krux02> dom96, well I do |
10:48:33 | FromGitter | <krux02> seq.sort for example |
10:48:35 | Araq | I can understand that a "direct WASM" backend is good for marketing but technically I'm not convinced |
10:48:59 | Araq | we compile to LLVM/C and use emscripten |
10:49:02 | FromGitter | <alehander42> btw @dom96 I thought about this editor thing, I looked at the atom xray arch (and some electron UI logic with rust articles @zah gave me), and I had a similar idea for an eventual Nim-electronlike lib: you can have some of the UI logic execute in the browser and some(more heavy) in native Nim and annotate them with pragmas |
10:49:31 | FromGitter | <krux02> Araq: I agree, compile to C first is much more realistic. |
10:49:40 | FromGitter | <alehander42> and the library to take care of the serialization and process communication with a native process for the `{.native.}` code |
10:49:48 | dom96 | Araq: I'll be honest: it's all about marketing. |
10:50:02 | Araq | ok, good. :D |
10:50:07 | FromGitter | <krux02> I mean with enough man power and money I would go for native wasm, but practically going through C will cause a lot less pain. |
10:50:10 | FromGitter | <alehander42> which will be cool, as, again the same code will be able to be compiled to JS and native code |
10:50:57 | dom96 | Araq: ...but, I bet in the long term it will be easier to work with a native webasm backend then going through emscripten |
10:51:00 | dom96 | *than |
10:51:34 | Araq | yeah I agree but right now writing a backend is too much work |
10:51:39 | FromGitter | <alehander42> @Araq is it possible to have good debugging experience going through C and ermscripten? |
10:51:53 | Araq | I've said it before, we need an AST to AST transformation that every backend can benefit from |
10:51:59 | FromGitter | <alehander42> from what I remember @yglukhov agreed it was hard to debug |
10:52:00 | dom96 | Araq: stisa is working on one |
10:52:18 | Araq | yes and he agreed an AST to AST transformation will help him ;-) |
10:52:51 | Araq | it helps for nlvm, for the existing C(++) codegen |
10:53:59 | Araq | alehander42: I don't know. I researched it for Karax half a year ago and was turned off |
10:54:19 | Araq | but Karax is about the DOM. |
10:54:57 | FromGitter | <alehander42> maybe ast to ast can be helpful for the jsgen too, if I decide to refactor it for the sourcemaps |
10:55:18 | dom96 | Araq: I don't see what that needs, can't you just transform ASTs already? |
10:55:24 | Araq | yeah sure it would be useful, it's the much cleaner design |
10:56:06 | FromGitter | <krux02> Araq: I think Go has a nice way to handle platform specific code: https://dave.cheney.net/2013/10/12/how-to-use-conditional-compilation-with-the-go-build-tool |
10:56:25 | FromGitter | <krux02> it is really clean because it puts the different platforms into different files. |
10:56:45 | Araq | dom96: lots of things would be easier with a real "lowering" step. |
10:57:18 | Araq | the C backend contains a ton of logic for producing efficient code |
10:57:29 | Araq | which is not available for the JS backend. |
10:59:13 | Araq | krux02: I don't see how that solves anything. |
11:00:08 | FromGitter | <krux02> it doesn't solve things, it just makes things nicer to look at |
11:00:11 | Araq | it seems to me it uses directories per OS/CPU combination and when there is too much overlap they use Nim's 'when' but as "special magic comments" |
11:00:20 | dom96 | Araq: okay, cool. But we've got more important things to do :) |
11:00:48 | FromGitter | <krux02> well that special magic comment is a bad idea |
11:00:51 | Araq | which is btw Go's way to do everything, write some stuff in comment that tools then process |
11:00:53 | FromGitter | <krux02> when in nim is much nicer |
11:01:12 | FromGitter | <krux02> I don't like the go way to put things in comments |
11:01:25 | Araq | it's exactly what pragmas do but they can pretend they have a nice small language. |
11:01:32 | FromGitter | <krux02> they should have come up with a special statement for that. |
11:01:35 | FromGitter | <krux02> but that is not the point |
11:01:44 | Araq | no the point is. |
11:01:49 | Araq | there is no solution. |
11:01:52 | FromGitter | <krux02> what I like a lot are the different files for different platforms |
11:02:04 | FromGitter | <krux02> and Nim wouldn't even need to add any features for that |
11:02:37 | FromGitter | <krux02> just a convention and a when os == "windows": include module.windows.nim |
11:03:25 | Araq | yeah plus some mechanism that ensures every implementation exports the very same interface |
11:03:48 | Araq | that means forwarded procs for everything |
11:04:01 | Araq | which are a burden with Nim's effect inference. |
11:05:46 | * | aguspiza quit (Ping timeout: 264 seconds) |
11:06:00 | FromGitter | <krux02> you mean `func`? |
11:06:21 | * | aguspiza joined #nim |
11:06:24 | FromGitter | <krux02> hmm did not think about that part. |
11:08:46 | dom96 | https://news.ycombinator.com/item?id=16836770 |
11:08:57 | dom96 | We should take inspiration from this |
11:09:22 | Araq | https://nim-lang.org/docs/asyncdispatch.html#sendTo,AsyncFD,pointer,int,ptr.SockAddr,SockLen click on the {. to expand the list of inferred effects |
11:09:42 | Araq | none of these are in the source code |
11:10:21 | Araq | that only works with non-forwarded procs for better or worse. |
11:11:26 | Araq | now you can argue that means Nim's effect system is actually more harmful than helpful and I would agree but the point remains, it's hard to do. |
11:12:22 | FromGitter | <krux02> that is cool |
11:15:40 | FromDiscord | <geckojsc> Haha I'm such an idiot, this repo already has SDL_gpu bindings and they're a lot better than the ones I was working from https://github.com/Vladar4/sdl2_nim |
11:16:37 | FromGitter | <krux02> what is SDL_gpu? |
11:18:26 | Araq | krux02: alternatively you can write a test for asyncdispatch that ensures it exports the same things for every OS/CPU combination we happen to support |
11:18:45 | Araq | or write a tool to extract such a test. |
11:19:10 | FromGitter | <krux02> Araq: I just saw a commit from you where you removed a lot of double spaces after a sentence in comments. |
11:19:41 | Araq | lol |
11:19:57 | FromGitter | <krux02> double spaces after a . is an emacs things to do. |
11:20:01 | Araq | I'm sure I edited the file for a different reason |
11:20:01 | FromDiscord | <geckojsc> krux02: it's a library from high performance 2D rendering. It does nice things like automatically batching draw calls for you when you draw the same texture multiple times |
11:20:16 | FromGitter | <krux02> it actually wan's you to do it. |
11:20:32 | FromDiscord | <geckojsc> *for |
11:20:37 | Araq | double spaces after a dot a very British thing |
11:20:54 | FromGitter | <krux02> I have no problem with british english |
11:21:02 | Araq | but we write 'Color' |
11:21:08 | FromGitter | <krux02> yes we do |
11:22:01 | FromGitter | <krux02> and generally we write american english not just for color, but wo don't use yards and miles |
11:22:05 | FromGitter | <krux02> :P |
11:22:13 | FromDiscord | <geckojsc> I'm British and I never noticed anyone use double spaces after . |
11:22:38 | Araq | well we write bad simple English, the true international standard (TM) |
11:22:41 | FromGitter | <krux02> the double spaces are just for emacs to know, here is the end of a sentences, and the command "go to next senctence" works on that |
11:23:09 | FromGitter | <krux02> I don't really use it so I don't really care about it. but I kind of like the double spaces. |
11:23:58 | dom96 | Araq: Citation needed |
11:24:54 | Araq | ok, some like double spaces, noted. can we talk about something more important now? :D |
11:25:10 | dom96 | Who likes double spaces? |
11:25:18 | Araq | krux02. |
11:26:26 | FromDiscord | <geckojsc> Crap I just got a message from my grandma and... double spaces |
11:26:40 | dom96 | I thought it was just what his editor does |
11:26:49 | Araq | maybe emacs can learn that <nospace><dot><space> is hardly ambiguous and it can "go to next" to it. |
11:27:50 | dom96 | It seems some argue double spacing is more readable |
11:27:52 | dom96 | https://en.wikipedia.org/wiki/Sentence_spacing |
11:28:24 | Araq | well they are wrong, 4 spacing is more readable. |
11:28:24 | dom96 | Oh look, it's a German thing https://en.wikipedia.org/wiki/Sentence_spacing#/media/File:German_text_example_-_Em_sentence_spaced_-_1907.jpg ;) |
11:29:30 | Araq | that's something else I think. |
11:29:46 | dom96 | Perhaps. Oh well. |
11:29:52 | dom96 | Time to do something productive |
11:30:18 | FromGitter | <krux02> ok for me too, I will dive offline now. |
11:39:25 | dom96 | I can't resist Nim work. |
11:39:27 | dom96 | So let's discuss https://github.com/nim-lang/Nim/issues/7532 |
11:41:34 | Araq | IMO we should deprecate the callback= setter. |
11:41:34 | Araq | we should have a setter that takes the Dispatcher object explicitly |
11:42:27 | dom96 | Would that solve anything though? |
11:42:31 | Araq | it's what made this bug so hard to see. |
11:42:55 | Araq | and also the whole callsoon() logic is bonkers |
11:43:12 | Araq | I don't know what it accomplishes so it must be wrong |
11:43:16 | Araq | ;-) |
11:43:27 | dom96 | lol |
11:43:48 | dom96 | I didn't write it, but I believe it stops the stack growing too much |
11:44:04 | Araq | ah yeah it's the recursion avoidance |
11:44:33 | dom96 | Perhaps it's as simple as adding a limit to the growth of this list? |
11:44:45 | dom96 | It's indeed a bug in my code that I am not calling the event loop |
11:45:05 | Araq | limiting the list would be helpful too |
11:45:39 | Araq | but you remove the line 'let disp = getGlobalDispatcher()' and things start to work |
11:45:53 | dom96 | Yeah, I think I know why |
11:45:56 | Araq | and 'disp' is not used anywhere at first sight. |
11:46:12 | Araq | and that's why callback= is bad |
11:46:53 | dom96 | well, I don't want to deprecate it |
11:46:56 | dom96 | a lot of code depends on it |
11:47:23 | FromGitter | <mratsim> Next tie I’m looking for a pseudo on a game I’ll call myself “Static[Nim]" |
11:47:25 | Araq | well there is a deprecation period |
11:47:26 | FromGitter | <mratsim> time* |
11:47:44 | * | nsf joined #nim |
11:48:24 | dom96 | I'd rather get rid of this recursion protection :P |
11:48:53 | FromDiscord | <geckojsc> how do I uninstall a library that was installed with `nimble develop`? |
11:49:10 | dom96 | `nimble remove pkgName` |
11:49:21 | dom96 | IIRC there is an issue that makes that fail though :) |
11:49:58 | FromDiscord | <geckojsc> yeah it can't find it x) |
11:50:16 | dom96 | Just `rm -r ~/.nimble/pkgs/pkgName-#head/` then |
11:51:32 | Araq | the recursion protection is essential for async, async is all about eliminating the stacks |
11:53:33 | dom96 | IMO adding a limit is good enough |
11:54:38 | Araq | maybe. |
12:13:22 | * | FromGitter quit (Remote host closed the connection) |
12:13:30 | * | FromGitter joined #nim |
12:17:48 | * | SenasOzys quit (Ping timeout: 256 seconds) |
12:22:59 | * | SenasOzys joined #nim |
12:27:58 | * | r3d9u11 quit (Ping timeout: 264 seconds) |
12:41:21 | FromGitter | <mratsim> Was there a change on devel that impacted newTree in the past twelve days? varargs[NimNode] doesn’t allow a single NimNode anymore: https://github.com/mratsim/Arraymancer/issues/217 |
13:10:39 | * | couven92 joined #nim |
13:11:27 | * | aguspiza quit (Ping timeout: 240 seconds) |
13:18:45 | * | yglukhov quit (Read error: Connection reset by peer) |
13:19:21 | * | yglukhov joined #nim |
13:25:19 | FromGitter | <mratsim> investigated and bisected: https://github.com/nim-lang/Nim/issues/7610. thanks @Vindaar , nnkBracketExpr.newTree now returns a tuple of NimNode which breaks newTree up the chain |
13:26:37 | FromGitter | <Vindaar> glad to help :) |
13:26:53 | Araq | wtf ... huh? |
13:27:08 | Araq | nkBracketExpr.newTree now returns a tuple of NimNode ... ? |
13:27:14 | FromGitter | <mratsim> yes |
13:27:22 | Araq | got some snippet to reproduce it? |
13:27:29 | FromGitter | <mratsim> in the ticket ;) |
13:27:42 | Araq | oh I missed it, thank you |
13:28:08 | Araq | well unroll_addmul is not called :P |
13:28:35 | FromGitter | <mratsim> it’s probably the same issue as when you create a seq\[NimNode\] in a macro and pass it to another it transforms into an array of NimNode |
13:29:29 | FromGitter | <mratsim> or bool becoming static int when passed from one macro to another |
13:29:51 | Araq | well you use a trailing comma |
13:29:58 | Araq | that is now a tuple construction. |
13:30:10 | FromGitter | <mratsim> oh I see |
13:30:13 | Araq | well not really, but it looks like a simple parser regression |
13:30:35 | FromGitter | <mratsim> I’ll check on Arraymancer if it solves that |
13:31:29 | FromGitter | <mratsim> it’s the trailing comma indeed |
13:32:01 | FromGitter | <mratsim> how should I rename the issue then? |
13:32:42 | Araq | no worries, I'm fixing it already |
13:33:47 | FromGitter | <mratsim> well I solved it in Arraymancer by using quote do :D that code was before I was comfortable with macros |
13:34:33 | Araq | yeah, have a fix |
13:34:41 | Araq | running some tests, good catch |
13:44:22 | Araq | was too lazy for a test case :P |
13:44:26 | Araq | here you go, please try it |
13:45:06 | Araq | now ... you can choose between 'write tracking' and 'macros for for-loops' |
13:46:11 | FromGitter | <krux02> @mratsim I barely use seq[NimNode], because a NimNode works as a seq[NimNode] as well |
13:46:59 | FromGitter | <krux02> what are marcos for for-loops? |
13:47:27 | Araq | for a, b in mymacro(): ... # mymacro gets to rewrite the full for-loop |
13:49:54 | Araq | unfortunately this already works: |
13:49:58 | Araq | import macros |
13:49:59 | Araq | macro mymacro(): untyped = |
13:50:00 | Araq | result = newLit([1, 2, 3]) |
13:50:02 | Araq | for a, b in mymacro(): |
13:50:04 | Araq | echo a, " ", b |
13:50:11 | Araq | so it will be another breaking change. |
13:52:23 | Araq | on the other hand, it's exactly what fieldPairs() does. |
13:52:35 | Araq | and magics shouldn't have powers that macros don't. |
13:52:51 | FromGitter | <mratsim> I thought that was the point of magics? |
13:53:33 | * | aguspiza joined #nim |
13:53:42 | FromGitter | <mratsim> macro for for-loop would be much more useful for me, but there are a lot of people asking for deep immutability too hmmmm ... |
13:54:01 | Araq | not really, a magic is a loophole for the type checker, not a loophole for AST transformations |
13:54:55 | FromDiscord | <geckojsc> now I have to choose between two different sets of SDL2 bindings, why is life so hard xD |
13:55:32 | FromGitter | <mratsim> @geckojsc, you forgot about the sdl2 bindings available here: https://github.com/nim-lang/sdl2 |
13:56:11 | Araq | this has come up before |
13:56:20 | FromDiscord | <geckojsc> yeah, I don't know whether to use that or https://github.com/Vladar4/sdl2_nim |
13:56:31 | Araq | like "ugh, araq's old stuff is in nim-lang and blocking the better packages" |
13:56:44 | FromGitter | <mratsim> https://github.com/Vladar4/sdl2_nim#faq |
13:57:03 | Araq | to which I can only say "why not create PRs to the official bindings" |
13:57:21 | FromGitter | <mratsim> my advice is to toss a coin and do something :P |
13:57:26 | * | user1101 joined #nim |
13:57:54 | Araq | I only used the one nim-lang offers |
13:58:31 | FromGitter | <mratsim> given the choices everywhere (programming language, code editor, Windows/Mac/Linux), don’t second guess yourself too much |
14:00:09 | FromGitter | <mratsim> @Araq, tested your commit. It fixed the original code with trailing comma |
14:00:21 | Araq | but? |
14:00:55 | FromDiscord | <geckojsc> vladar's one seems better in general, but I got a "Warning: Package 'sdl2_nim' has an incorrect structure." when installing it, and also it made some incorrect assumptions about the name of my DLL (it's libSDL2_gpu.dll, not SDL2_gpu.dll) |
14:00:58 | FromGitter | <mratsim> no but |
14:01:05 | Araq | alright |
14:01:43 | miran | geckojs: there wasn't ONE package i have installed that didn't have that warning! :) |
14:01:50 | FromGitter | <mratsim> @geckojsc, I think half of nim packages have an incorrect structure, even the one from Araq so ... |
14:01:58 | FromDiscord | <geckojsc> oh lol |
14:02:15 | Araq | I bring it up from time to time, eventually dom96 will see the light. |
14:03:09 | dom96 | There is no light for me to see |
14:03:42 | Araq | you do not see it yet :P |
14:03:58 | dom96 | I already agreed to do this though https://github.com/nim-lang/nimble/issues/469 |
14:04:17 | dom96 | This should fix most warnings |
14:05:42 | FromDiscord | <geckojsc> so the suggestion is that I should be bold and make a pull request into nim-lang/sdl2, fucking up everyone's existing projects if it gets accepted? >:) |
14:06:39 | dom96 | huh? |
14:06:42 | dom96 | Fix sdl2_nim instead |
14:07:51 | Araq | what? why? |
14:07:56 | Araq | nim-lang/sdl2 is fine |
14:08:07 | Araq | and PRs are accepted |
14:09:36 | FromDiscord | <geckojsc> oh I guess I misunderstood, I thought the idea was to replace it so that Vladar4/sdl2_nim becomes the new nim-lang/sdl2 |
14:09:55 | * | user1101_ joined #nim |
14:10:07 | * | user1101 quit (Ping timeout: 256 seconds) |
14:10:08 | * | user1101_ is now known as user1101 |
14:13:24 | FromDiscord | <geckojsc> but I guess what you really meant was to make a PR to nim-lang/sdl2 which includes some of the improvements from sdl2_nim? |
14:21:24 | * | xkapastel joined #nim |
14:21:25 | * | nsf quit (Quit: WeeChat 2.0.1) |
14:22:22 | * | user1101 quit (Quit: user1101) |
14:22:37 | * | user1101 joined #nim |
14:23:34 | Araq | that's one possibility. |
14:25:46 | dom96 | sdl2_nim could be renamed to `sdl` |
14:33:15 | * | user1101_ joined #nim |
14:35:45 | * | user1101 quit (Ping timeout: 264 seconds) |
14:35:45 | * | user1101_ is now known as user1101 |
14:40:51 | FromDiscord | <treeform> Maybe start with https://github.com/treeform/cairo -> https://github.com/nim-lang/cairo ? |
14:49:14 | Araq | treeform: why did you start from scratch and didn't improve the existing wrapper? |
14:49:34 | FromDiscord | <treeform> I did not I started from some one else who did a mechanical translation. |
14:49:46 | FromDiscord | <treeform> which was better in everyway |
14:50:14 | FromGitter | <AxDSan> Hello guys, I'm trying to do this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ but output is: "None [RegexMatch]" even when I'm sending an actual e-mail. [https://gitter.im/nim-lang/Nim?at=5ad215265d7286b43a2b795d] |
14:50:46 | FromGitter | <AxDSan> I'm using `nre` instead of `re`, I heard re is deprecated? |
14:54:32 | miran | AxDSan: that was the case before, but now i think it is vice-versa :) |
14:54:55 | miran | or there were some talkings about making `re` the default and only one, IIRC |
14:55:52 | Araq | treeform: better in every way? |
14:55:55 | Araq | Context00* = object |
14:55:55 | Araq | Context* = ref object of RootRef |
14:55:55 | Araq | impl*: ptr Context00 |
14:56:09 | Araq | Context00 exported? |
14:56:48 | FromGitter | <AxDSan> Ohh okie |
14:56:53 | Araq | Bool00* = distinct cint ? |
14:58:25 | FromDiscord | <treeform> well one works the other does not 😃 |
14:58:31 | Araq | with cairo_ prefixes everywhere? I'll pass. |
14:58:45 | Araq | so fix the other :P |
14:59:31 | FromGitter | <AxDSan> yay! https://i.imgur.com/8hIFB6X.png |
14:59:37 | FromDiscord | <treeform> there is no cairo_ prefixes when you use it |
14:59:43 | Araq | AxDSan I think your regex is the problem, not the used regex library |
15:00:11 | Araq | oh alright you already figured it out. |
15:00:16 | FromGitter | <AxDSan> @Araq I actually used the regex pattern from the docs ;D |
15:00:20 | FromGitter | <AxDSan> yah hehe |
15:00:35 | Araq | the docs use re"..." I'm sure |
15:00:43 | Araq | which affect the backslash behaviour |
15:00:45 | FromGitter | <AxDSan> mhm |
15:01:45 | Araq | const `matrix=`* = setMatrix ? |
15:02:45 | Araq | interesting that that even works :-) |
15:03:17 | FromDiscord | <treeform> alright I retract my statement mine is worse |
15:03:33 | Araq | well if it works for you, it's fine |
15:03:59 | FromDiscord | <treeform> yeah I'll use it |
15:05:28 | Araq | what did you mean by nim-lang/cairo didn't work? |
15:05:43 | Araq | different DLL name, linking problems ... ? |
15:05:58 | FromDiscord | <treeform> I think it depends on stdlib modules that were removed? |
15:06:11 | FromDiscord | <treeform> i think it uses cairo for which its hard to find a DLL for |
15:06:27 | FromDiscord | <treeform> some old cairo version which is nowhere to be found |
15:07:19 | FromDiscord | <treeform> it does not have a readme |
15:07:27 | FromDiscord | <treeform> with a bunch of examples on how to use it |
15:07:45 | * | vlad1777d joined #nim |
15:14:46 | Araq | iirc nimforum depends on it |
15:14:59 | Araq | which hasn't been recompiled for a while, maybe. |
15:15:08 | Araq | but still, it should work |
15:18:24 | FromDiscord | <treeform> I wish nim packages on windows would ships dlls. Now I have to find the zlib1.dll nim likes. |
15:18:39 | FromDiscord | <treeform> And hope I don't get one with a virus |
15:19:17 | Araq | http://nim-lang.org/download/dlls3.zip |
15:19:34 | FromDiscord | <treeform> oh nice! |
15:20:19 | FromGitter | <AxDSan> Eermm, going back to basics here, I'm relatively new, `echo message.content.match(re(reEmail))` returns Some(T:string) while T being the actual string that matched against my pattern search... how do I access that? |
15:22:23 | Araq | with a monad. |
15:25:28 | FromGitter | <Vindaar> @AxDSan https://nim-lang.org/docs/options.html#get,Option[T] should give you the value |
15:26:42 | FromGitter | <AxDSan> checking that out |
15:30:50 | FromDiscord | <treeform> Araq, for some reason the zlib1.dll you gave me is not liked by nim. I hate DLLs. |
15:31:04 | Araq | 32 vs 64bit problem |
15:31:15 | FromDiscord | <treeform> no its 64bit and I am 64 bit |
15:31:24 | Araq | are you certain? |
15:31:43 | FromDiscord | <treeform> |
15:31:43 | FromDiscord | <treeform> https://cdn.discordapp.com/attachments/371759389889003532/434737524850688020/unknown.png |
15:32:39 | Araq | how is that a proof it's a 64bit DLL? |
15:33:33 | Araq | also: are you british? |
15:34:19 | FromDiscord | <treeform> it depends on 64 bit KERNEL32.DLL |
15:35:22 | Araq | which is a hilarious :-) should have called it kernel64.dll |
15:36:02 | FromDiscord | <treeform> I know |
15:36:14 | FromDiscord | <treeform> I think its actually a 32bit dll |
15:36:19 | FromDiscord | <treeform> I think the red means it does not match |
15:36:30 | FromDiscord | <treeform> why is this so confusing |
15:37:00 | FromGitter | <mratsim> Unix +1 / Windows 0 |
15:37:11 | FromDiscord | <treeform> Windows -1000 |
15:37:22 | FromGitter | <mratsim> if only unix executables had an extension |
15:39:45 | Araq | well I use a much better tool for looking at DLLs |
15:39:58 | Araq | but i forgot its name and I'm not on this machine currently |
15:40:18 | FromGitter | <krux02> @mratsim well you can add an extension to unix executables |
15:40:34 | FromGitter | <krux02> ben then youalso need to type the extension when you call the program |
15:40:42 | FromGitter | <krux02> ./a.out.exe |
15:40:57 | FromGitter | <krux02> nobody forbids them |
15:42:51 | FromDiscord | <treeform> Using .exe does make sense. |
15:43:00 | * | Yardanico quit (Ping timeout: 246 seconds) |
15:43:26 | FromDiscord | <treeform> I found the right dll, i got one from zlib.org but i had to rename it from zlibwapi.dll to zlib1.dll |
15:43:43 | FromDiscord | <treeform> Wapi is the 1! |
15:46:59 | Araq | krux02: I would use it but then I lose 90% of my Unix users. so I cannot use it. ;-) |
15:48:20 | Araq | Unix is more of a religious cult than an operating system. |
15:49:49 | FromDiscord | <treeform> I want to flip tables now: "Error: unhandled exception: zlib version mismatch! [ZlibStreamError]" |
15:51:17 | Araq | treeform: I feel your pain. Compile zlib from the sources. |
15:58:09 | FromGitter | <Bennyelg> hey, how do i avoid break new line when I am formatting a for loop print: ⏎ for element in elements: ⏎ ⏎ ```echo element``` ⏎ ... [https://gitter.im/nim-lang/Nim?at=5ad225101130fe3d36d91398] |
15:59:13 | FromGitter | <Vindaar> use stdout.write instead of echo |
16:01:15 | * | nsf joined #nim |
16:09:54 | FromGitter | <Bennyelg> thanks. |
16:10:00 | FromGitter | <Vindaar> :) |
16:10:49 | * | vlad1777d quit (Remote host closed the connection) |
16:12:46 | dom96 | I wonder why there is no package manager for DLLs on Windows yet |
16:17:38 | FromGitter | <mratsim> I use NuGet to get the dlls for Arraymancer |
16:18:00 | FromGitter | <mratsim> I didn’t try Chocolatey. |
16:18:30 | * | Yardanico joined #nim |
16:21:27 | * | Vladar quit (Remote host closed the connection) |
16:48:45 | * | arecaceae quit (Read error: Connection reset by peer) |
16:49:08 | * | arecaceae joined #nim |
16:53:36 | * | sz0 joined #nim |
16:56:42 | * | ofelas quit (Ping timeout: 260 seconds) |
17:05:20 | * | ofelas joined #nim |
17:11:47 | FromDiscord | <treeform> Chocolatey does have some things, but not others. |
17:12:07 | FromDiscord | <treeform> I think the real solution is to not use dlls but compile everything statically. |
17:19:45 | FromDiscord | <claude> is {.benign.} the same as {.noSideEffect.} |
17:23:07 | dom96 | treeform: that would save a lot of trouble for end users, but for developers it'd be exactly the same, if not worse. |
17:26:43 | Araq | for end users you can put the DLLs next to the .exe |
17:28:05 | FromDiscord | <treeform> it would be nice if `nimble install zip` would install the right zip1.dll it was meant to be with. |
17:28:42 | FromDiscord | <treeform> they have to match other wise you get `zlib version mismatch!` or some thing. |
17:29:52 | FromDiscord | <treeform> This site is the only thing that makes python dev on windows possible: https://www.lfd.uci.edu/~gohlke/pythonlibs/ |
17:30:09 | FromDiscord | <treeform> as it includes the dlls with the stuff you need |
17:31:16 | FromDiscord | <claude> ive had a zlib1.dll for some months now and it says its version 1.2.8, but whenever i try to put anything in it it errors |
17:32:25 | FromDiscord | <claude> it loads, its just nothing decompresses |
17:32:43 | FromDiscord | <claude> in contrast to my cairo dll which doesnt load at all |
17:32:56 | FromDiscord | <treeform> i have cairo dlls that work |
17:33:11 | FromDiscord | <treeform> https://github.com/treeform/cairo/tree/master/libs |
17:33:22 | FromDiscord | <treeform> pick your flavor |
17:43:40 | FromDiscord | <treeform> @Calinou I think nim zip library needs an older version of the zlib1.dll on windows, but I can't find which one. |
17:45:47 | * | nsf quit (Quit: WeeChat 2.0.1) |
17:50:25 | FromDiscord | <Calinou> you missed the mention 😛 |
17:55:20 | FromDiscord | <treeform> sorry! |
17:55:32 | FromDiscord | <treeform> @claude I think nim zip library needs an older version of the zlib1.dll on windows, but I can't find which one. |
18:27:05 | * | salewski joined #nim |
18:27:55 | salewski | https://irclogs.nim-lang.org/#14:56:09 |
18:28:24 | salewski | Well, we export the 00 objects by intent for now in gintro. |
18:28:34 | Araq | salewski: It was not my intention to diss your code. |
18:28:56 | Araq | but he said something like "It does everything better" |
18:29:01 | salewski | It will be a plain fix in generator script to remove that export, but for rere cases we may still |
18:29:13 | salewski | need the low level objects. |
18:29:15 | Araq | and extraordinary claims ... well you know the saying |
18:30:03 | salewski | I know well that we need much testing and improvement for gintro. |
18:30:43 | salewski | I have not too much tiome currently, and unfortunately we have not many GTK3 users. |
18:30:59 | salewski | Bye. |
18:31:20 | Araq | what you say is true of course |
18:31:28 | * | salewski quit (Client Quit) |
18:37:24 | * | smt_ joined #nim |
18:41:09 | * | smt` quit (Ping timeout: 264 seconds) |
18:46:00 | * | yglukhov quit (Read error: Connection reset by peer) |
18:46:33 | * | yglukhov joined #nim |
18:48:36 | FromGitter | <AxDSan> back at it again with the regex thing :D I do `repr(<regex match expression>)` and it returns this: https://paste.ee/p/XcsKT |
18:48:44 | FromGitter | <AxDSan> how to access the `str` property/field ? |
18:49:24 | * | gokr quit (Ping timeout: 260 seconds) |
18:51:47 | FromGitter | <AxDSan> it worked with `unsafeGet(message.content.match(re(reEmail)))` which `Returns the value of a some. Behavior is undefined for none. ` |
18:52:12 | Yardanico | use get instead of unsafeGet |
18:52:49 | Yardanico | well, firstly check if isSome(match) |
18:53:35 | Yardanico | and you can't access str because it's stored in private pcreObj field of Regex (and you shouldn't) |
18:53:36 | FromGitter | <AxDSan> yeah that's the exception handler for the returned error |
18:53:37 | FromGitter | <AxDSan> right? |
18:53:54 | Yardanico | ? |
18:53:58 | FromGitter | <AxDSan> > *<Yardanico>* and you can't access str because it's stored in private pcreObj field of Regex (and you shouldn't) Ohh I see |
18:54:00 | FromGitter | <AxDSan> cool |
18:54:21 | Yardanico | unsafeGet will just return value of an option even if it doesn't have any value |
18:54:34 | Yardanico | (well, it will raise an error in debug build, but not in release build) |
18:55:50 | FromGitter | <AxDSan> > *<Yardanico>* (well, it will raise an error in debug build, but not in release build) Ohh Gotcha 👍 |
18:56:41 | Yardanico | so you want to use unsafeGet only if you will check if value is not invalid by yourself |
18:57:53 | dom96 | Only use anything with the "unsafe" in the name if you really know what you're doing |
18:58:07 | * | jaco60 quit (Quit: Textual IRC Client: www.textualapp.com) |
18:58:34 | FromGitter | <AxDSan> Yup everything is working like a charm now :D |
18:58:43 | FromGitter | <AxDSan> many thanks guys D |
18:59:54 | * | sz0 quit (Quit: Connection closed for inactivity) |
19:07:29 | miran | dom96: we don't see the first post about GC v2 |
19:07:53 | miran | can this "spam filter" maybe be removed? |
19:07:55 | Yardanico | miran, what post? |
19:08:02 | miran | https://forum.nim-lang.org/t/3753 |
19:08:03 | Yardanico | ah, on forum |
19:12:32 | * | aguspiza quit (Quit: Leaving) |
19:13:58 | dom96 | it'll be improved "soon" |
19:14:03 | dom96 | fixed it |
19:16:28 | dom96 | But if Araq replies to a thread that doesn't exist, maybe Araq should be highlighted, not me? :) |
19:16:45 | miran | i thought you're our forum-guy :) |
19:25:12 | dom96 | A couple of people have the ability to change people's forum status |
19:25:34 | dom96 | I can't remember who else apart from Araq can do that though heh |
19:27:17 | Araq | varriount |
19:33:13 | * | yglukhov quit (Read error: Connection reset by peer) |
19:33:45 | * | yglukhov joined #nim |
19:40:21 | * | dddddd quit (Remote host closed the connection) |
19:43:57 | * | yglukhov quit (Ping timeout: 240 seconds) |
20:05:35 | * | xet7 joined #nim |
20:07:38 | * | xet7_ joined #nim |
20:08:01 | * | xet7 quit (Read error: Connection reset by peer) |
20:08:12 | * | xet7_ is now known as xet7 |
20:11:12 | * | Suigetsu joined #nim |
20:12:56 | * | yglukhov joined #nim |
20:36:56 | FromDiscord | <geckojsc> I saw this on the forums: "[...] just like do-notation shouldn't be depreciated just because we have =>" |
20:37:08 | FromDiscord | <geckojsc> there are arrow functions?? where can I find out about them? :O |
20:37:22 | miran | future module |
20:37:30 | miran | soon to be sugar module |
20:38:37 | FromDiscord | <geckojsc> aha, I see! |
20:47:39 | * | jaco60 joined #nim |
20:48:19 | * | Suigetsu quit () |
20:51:31 | FromGitter | <abijahm> hello people noob question here, what are the use cases of module coro |
20:53:01 | * | smt_ quit (Read error: Connection reset by peer) |
20:53:28 | * | smt_ joined #nim |
20:57:19 | * | nsf joined #nim |
21:00:05 | * | smt` joined #nim |
21:00:19 | * | smt` quit (Read error: Connection reset by peer) |
21:00:58 | * | smt joined #nim |
21:04:02 | * | smt_ quit (Ping timeout: 260 seconds) |
21:05:50 | * | miran quit (Quit: Konversation terminated!) |
21:30:18 | * | jaco60 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
21:33:37 | Araq | it's not production ready, I'm afraid |
21:59:05 | * | SenasOzys quit (Ping timeout: 276 seconds) |
22:05:42 | * | SenasOzys joined #nim |
22:21:29 | FromGitter | <abijahm> @Araq cool, just playing with everything |
22:21:52 | Araq | you can use async instead :-) |
22:53:15 | * | nsf quit (Quit: WeeChat 2.0.1) |
22:58:25 | * | smt` joined #nim |
23:01:52 | * | smt quit (Ping timeout: 260 seconds) |
23:26:13 | * | user1101 quit (Quit: user1101) |
23:27:59 | * | rockcavera quit (Remote host closed the connection) |
23:58:46 | * | SenasOzys quit (Read error: Connection reset by peer) |
23:58:58 | * | SenasOzys_ joined #nim |