00:08:12 | * | couven92 quit (Quit: Client Disconnecting) |
00:09:49 | * | chemist69 joined #nim |
00:10:57 | * | WhiskyRyan joined #nim |
00:11:17 | * | WhiskyRyan quit (Client Quit) |
00:39:27 | * | Jesin quit (Ping timeout: 240 seconds) |
00:48:09 | * | Jesin joined #nim |
01:04:53 | * | WhiskyRyan joined #nim |
01:17:14 | * | Trioxin2 quit () |
01:19:37 | * | WhiskyRyan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:20:15 | * | WhiskyRyan joined #nim |
01:23:15 | * | chemist69 quit (Ping timeout: 258 seconds) |
01:35:34 | * | chemist69 joined #nim |
01:51:30 | * | WhiskyRyan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
01:53:22 | * | byte512 joined #nim |
01:54:35 | * | byte512_ quit (Ping timeout: 240 seconds) |
02:13:06 | * | pilne quit (Quit: Quitting!) |
02:25:53 | * | evizaer quit (Quit: Leaving) |
02:33:01 | * | girvo joined #nim |
02:34:46 | * | cjh` joined #nim |
02:36:58 | * | Neomex joined #nim |
02:42:05 | * | Neomex quit (Quit: Leaving) |
02:54:41 | * | vlad1777d joined #nim |
03:04:03 | * | skrylar joined #nim |
03:05:31 | * | bahtiyar joined #nim |
03:25:57 | * | vlad1777d quit (Ping timeout: 260 seconds) |
03:32:48 | * | skrylar quit (Ping timeout: 240 seconds) |
03:33:26 | * | dddddd quit (Remote host closed the connection) |
03:51:56 | * | girvo quit (Quit: leaving) |
04:00:03 | * | Snircle joined #nim |
04:55:04 | * | vivus quit (Quit: Leaving) |
05:03:30 | * | chrisheller quit (Remote host closed the connection) |
05:16:55 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
05:35:28 | * | irrequietus joined #nim |
05:39:02 | * | pleiosau1 quit (Remote host closed the connection) |
05:41:51 | * | chrisheller joined #nim |
06:11:02 | * | Vladar joined #nim |
06:12:16 | * | xet7 quit (Remote host closed the connection) |
06:24:52 | * | pleiosaur joined #nim |
06:26:26 | * | xet7 joined #nim |
06:37:08 | * | nsf joined #nim |
07:02:43 | * | Snircle joined #nim |
07:06:57 | * | irrequietus quit () |
07:10:34 | * | aerx joined #nim |
07:15:44 | * | nimmerino joined #nim |
07:19:56 | * | rokups joined #nim |
07:22:56 | * | nimmerino quit (Quit: Konversation terminated!) |
07:23:19 | * | nimmerino joined #nim |
07:25:03 | * | nimmerino is now known as nimmerino_ |
07:25:05 | * | nimmerino_ is now known as nimmerino |
07:27:42 | * | yglukhov joined #nim |
07:31:57 | * | yglukhov quit (Ping timeout: 240 seconds) |
07:36:06 | * | aerx quit (Quit: WeeChat 1.8) |
07:38:59 | * | yglukhov joined #nim |
07:40:40 | * | aerx joined #nim |
07:43:19 | * | nimmerino quit (Quit: Konversation terminated!) |
07:59:08 | * | aerx quit (Quit: WeeChat 1.8) |
08:00:44 | * | skrylar joined #nim |
08:08:09 | * | Arrrr joined #nim |
08:08:10 | * | Arrrr quit (Changing host) |
08:08:10 | * | Arrrr joined #nim |
08:10:18 | * | Andris_zbx joined #nim |
08:11:48 | * | bahtiyar quit (Ping timeout: 240 seconds) |
08:32:22 | * | PMunch joined #nim |
09:00:43 | * | couven92 joined #nim |
09:52:04 | * | Andris_zbx quit (Remote host closed the connection) |
09:52:22 | * | Andris_zbx joined #nim |
10:02:20 | * | skrylar_ joined #nim |
10:06:57 | skrylar_ | wonder what kind of politicking it would take to get the arch package up to date |
10:15:43 | * | smt joined #nim |
10:16:55 | FromGitter | <BontaVlad> Made a simple neural network in Nim: https://forum.nim-lang.org/t/3007, feedback highly encouraged! |
10:17:30 | skrylar_ | I read that book recently |
10:18:54 | FromGitter | <BontaVlad> Nice book, I have learned a lot |
10:19:19 | skrylar_ | @BontaVlad eh just keep in mind that you don't want everything to be hardcoded like you have it |
10:19:55 | skrylar_ | the "big" frameworks like torch and tensorflow have everything set up in "layer" objects that you can stack |
10:20:34 | FromGitter | <BontaVlad> This was just a learning project, I need to learn a lot more math to start working on something serious |
10:20:40 | skrylar_ | your next step is probably to do something similar, so you can change the types of neurons or add more/less layers as-needed without too much fuss. its pretty easy since in nim all you have to do is chuck them in a seq |
10:20:52 | skrylar_ | not as much as you think |
10:22:09 | FromGitter | <BontaVlad> It was a great small project, and nim was a pleasure to use. |
10:27:11 | FromGitter | <BontaVlad> @skrylar_, once I learn more about this subject I will change some parts of the code :). Thx for the info! |
10:27:32 | skrylar_ | i highly recommend installing sage or at least sympy |
10:28:09 | skrylar_ | it will calculate the derivatives for you once you start getting in to backpropagation and weird neuron types 8) |
10:30:33 | FromGitter | <BontaVlad> Sounds interesting, I started to watch some ML courses on youtube, and by implementing some algorithms in nim it forces me to learn nim as well as the math. |
10:41:10 | skrylar_ | nim is pretty obedient |
11:21:39 | koppeh | Mhh.. how would you define a default value for a tuple type in a proc? |
11:21:57 | koppeh | type WindowSize = tuple[width: int32, height: int32] |
11:22:23 | koppeh | proc init*(size: WindowSize = (400, 300)) results in this error: |
11:22:32 | koppeh | type mismatch: got ((int, int)) but expected 'WindowSize = tuple[width: int32, height: int32]' |
11:22:59 | couven92 | koppeh, try (400'i32, 300'i32) instead |
11:23:17 | koppeh | Hmm, yes that works. |
11:23:20 | skrylar_ | fun with pedantry |
11:24:22 | koppeh | Then the calling end needs it to, hmm.. I'll to with just int and cast later, then. |
11:24:31 | couven92 | koppeh, 400 is a literal for the `int` type. The `'i32` suffix specifies the literal explicitly as an int32 literal |
11:25:17 | koppeh | But this works: let i: int32 = 400 |
11:26:15 | koppeh | I would've figured the tuple equivalent would work too. |
11:26:19 | couven92 | Hmm... I guess thats because the let statement includes a type specification |
11:26:37 | skrylar_ | bother Araq about it |
11:26:50 | skrylar_ | it *shouldn't* be ambiguous given you only have ints of a set type |
11:27:07 | skrylar_ | where the problems begin is if you DO have a tuple for "int" and "int32" |
11:27:15 | skrylar_ | but since that's not the case you shouldn't need the 'i32 silliness |
11:27:36 | couven92 | koppeh, what about this: `let siz: WindowSize = (400, 300)` and then `init(siz)`? |
11:28:06 | skrylar_ | it might also be allowable to have a const for your default value |
11:28:22 | skrylar_ | const defaultfoo = (...) [..] proc stuff(foo: Foo = DefaultFoo) |
11:28:42 | koppeh | Const doesn't work, same error. |
11:28:51 | skrylar_ | you'd still have to do the 'i32 silliness in the const |
11:28:52 | koppeh | And same with let. |
11:29:05 | skrylar_ | it just hides it from the proc definition and keeps the consts separated (code hygiene) |
11:29:16 | * | koppeh nods. |
11:37:31 | Araq | one day I'll reimplement how Nim treats array and tuple literals |
11:37:37 | Araq | but today is not this day |
11:37:55 | couven92 | Araq, that bad, huh? |
11:38:02 | couven92 | :P |
11:38:24 | Araq | actually it works as designed but now I know the design people want :P |
11:39:13 | koppeh | (I've had a few thoughts about my own language..) |
11:40:00 | koppeh | My friend doesn't really like some of those though.. heh. |
11:40:44 | koppeh | One of the things it tries to accomplish is making each of the bracket types clearly represent one concept and not have them change depending on context. |
11:41:00 | couven92 | Araq, that reminds about this one: http://www.epcreation-services.com//scripts/thumb/phpThumb.php?src=http://www.epcreation-services.com//images/howthecustomerexplainedit1.jpg&w=680 (Software Engineering Explained) |
11:41:59 | couven92 | (concerning the difference between what is designed vs. what people actually want) |
11:48:25 | skrylar_ | koppeh then you have rust |
11:48:36 | skrylar_ | or at least early versions of rust that used every possible sigil for something |
11:48:48 | koppeh | Not even. |
11:49:29 | koppeh | I use () instead of {} for blocks. |
11:49:40 | koppeh | And [] instead of () for function calling. |
11:50:01 | skrylar_ | i like what smalltalk did where they just sorta said here is a micro-syntax and then you just do whatever with it. although i think the vector syntax was nonstandard in squeak |
11:50:46 | koppeh | () is block / grouping syntax. Since blocks can have an implicit return value, (4) == (2 + 2) == (DoNothing[]; 4) |
11:51:13 | koppeh | And [] would be object syntax. |
11:51:49 | Arrrr | my eyes! |
11:51:56 | koppeh | And function calling is not much different than passing an object to it that represents the arguments.. |
11:52:05 | koppeh | "Arrrr my eyes!" ... pfft |
11:54:54 | koppeh | (Never have I seen a more fitting nick ^^) |
12:01:47 | PMunch | Hmm, what is the deal with "Error: inheritance only works with non-final objects"? |
12:02:14 | skrylar_ | you need to put {.inheritable.} on the object being inherited from |
12:02:26 | ftsf | PMunch, means your object must be inherited from RootObj or an inheritable type |
12:03:16 | PMunch | Ah, this code was made from c2nim |
12:03:22 | ftsf | "Objects that have no ancestor are implicitly final and thus have no hidden type field. One can use the inheritable pragma to introduce new object roots apart from system.RootObj." |
12:03:34 | PMunch | http://ix.io/xFp |
12:03:39 | PMunch | The objects in question |
12:36:03 | * | arnetheduck joined #nim |
12:47:41 | FromGitter | <dandevelop> What is the backquote: ` used for in nim? |
12:47:55 | skrylar_ | escaping identifiers |
12:48:03 | skrylar_ | proc `foo=`() |
12:48:13 | FromGitter | <dandevelop> So those identifiers won't be mangled by the compiler? |
12:48:27 | skrylar_ | incorrect |
12:48:35 | skrylar_ | its so the parser doesn't become confused |
12:49:11 | FromGitter | <dandevelop> Is there any example of how this works somewhere online? |
12:49:19 | skrylar_ | i just gave you one ._. |
12:49:37 | skrylar_ | its used so the lexer/paser doesn't get confused when you are doing operator overloading and such |
12:49:45 | FromGitter | <dandevelop> Oh, I think gitter displayed it differntly |
12:49:52 | skrylar_ | it does |
12:50:02 | skrylar_ | gitter eats it as markdown |
12:50:12 | * | vlad1777d joined #nim |
12:50:39 | FromGitter | <dandevelop> I saw only a proc foo= () and I was not sure what you meant |
12:52:56 | FromGitter | <dandevelop> Trying to understand when this would be useful |
12:53:14 | skrylar_ | i just told you |
12:53:44 | skrylar_ | setters have equals in their names. the parser doesn't always know if foo= means "set foo equal to" or "the identifier named foo=" |
12:55:15 | FromGitter | <dandevelop> I got the setters part, thanks @skrylar_ I also saw this used with .emit and I was trying to understand the .emit use case |
12:59:48 | Araq | in emit it's used so that the compiler knows it's Nim code inside the string literal |
13:02:00 | FromGitter | <dandevelop> Thank you @Araq |
13:24:17 | * | skrylar quit (Remote host closed the connection) |
13:24:31 | * | skrylar joined #nim |
13:25:58 | * | rokups quit (Quit: Connection closed for inactivity) |
13:39:31 | FromGitter | <gogolxdong> @BontaVlad how long did your epoch=3 take for training and based on what equipment? |
13:50:56 | * | Arrrr quit (Read error: Connection reset by peer) |
14:06:59 | * | rauss joined #nim |
14:16:22 | * | rauss quit (Quit: WeeChat 1.8) |
14:16:40 | * | rauss joined #nim |
14:18:29 | * | rauss quit (Client Quit) |
14:32:52 | * | skrylar quit (Quit: Leaving) |
14:39:34 | * | rauss joined #nim |
14:40:04 | * | rauss quit (Client Quit) |
14:51:30 | FromGitter | <BontaVlad> By using Neo matrix lib using a epoch 10 training took @30 min with a dataset of 60000 entries |
14:52:18 | FromGitter | <BontaVlad> PC config is 6GB of ddr3 RAM, Intel(R) Xeon(R) X5460 @ 3.16GHz 4 cores |
14:53:26 | FromGitter | <BontaVlad> I think the code could be optimized a lot(my code). You can also push matrix operation on the GPU, check Neo's api for doing that |
15:04:54 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
15:08:01 | * | yglukhov quit (Remote host closed the connection) |
15:13:07 | * | Arrrr joined #nim |
15:14:36 | * | yglukhov joined #nim |
15:18:48 | * | yglukhov quit (Ping timeout: 240 seconds) |
15:19:31 | * | ofelas joined #nim |
15:21:30 | * | sadun joined #nim |
15:25:27 | * | couven92 quit (Ping timeout: 268 seconds) |
15:27:07 | * | Trustable joined #nim |
15:28:14 | * | Andris_zbx quit (Remote host closed the connection) |
15:32:11 | FromGitter | <andreaferretti> I didn't check your example, but it seems a lot |
15:32:23 | FromGitter | <andreaferretti> https://github.com/unicredit/neurotic takes a few seconds on the CPU |
15:32:40 | FromGitter | <andreaferretti> unfortunately, I have to finish porting it to neo |
15:33:58 | * | rauss joined #nim |
15:39:05 | * | arnetheduck quit (Ping timeout: 240 seconds) |
15:40:23 | * | smt quit (Read error: Connection reset by peer) |
15:40:39 | * | smt joined #nim |
15:46:48 | FromGitter | <TiberiumN> Also you can try with a Intel compiler, maybe it will give you some speed |
15:47:08 | FromGitter | <TiberiumN> but it's not free, only trial, or education version for students (you can't sell software compiled with intel compiler) |
15:51:58 | * | couven92 joined #nim |
15:59:10 | * | sadun quit (Ping timeout: 258 seconds) |
16:08:13 | * | aerx joined #nim |
16:09:10 | * | yglukhov joined #nim |
16:14:10 | * | yglukhov quit (Ping timeout: 268 seconds) |
16:19:57 | * | gangstacat quit (Ping timeout: 240 seconds) |
16:20:24 | * | gangstacat joined #nim |
16:21:08 | * | arnetheduck joined #nim |
16:43:06 | * | yglukhov joined #nim |
16:47:28 | * | pilne joined #nim |
16:48:05 | chrisheller | @Araq here is the pull request for passing in stdin, stdout, and/or stderr handles for startProcess. https://github.com/nim-lang/Nim/pull/6002 |
16:48:18 | chrisheller | Includes test cases as requested :) |
17:07:29 | * | yglukhov quit (Remote host closed the connection) |
17:13:17 | * | smt quit (Read error: Connection reset by peer) |
17:13:30 | * | smt joined #nim |
17:13:34 | * | yglukhov joined #nim |
17:13:36 | * | Arrrr quit (Read error: Connection reset by peer) |
17:14:00 | * | smt quit (Read error: Connection reset by peer) |
17:14:10 | * | smt joined #nim |
17:23:17 | * | yglukhov quit (Remote host closed the connection) |
17:26:09 | * | Trustable quit (Remote host closed the connection) |
17:43:12 | Araq | chrisheller: love it, thanks :-) |
17:44:22 | chrisheller | I was thinking of adding something to hide the need for callers to use get_osfhandle |
17:45:39 | chrisheller | So that f.getFileHandle() would work cross platform when supplying handles for startProcess |
17:47:04 | chrisheller | Something like getOSHandle(handle: cint) that would call get_osfhandle when windows is defined, but otherwise just return the cint handle. |
17:50:03 | chrisheller | Looks like os.nim sort of does that already in the getFileInfo proc. |
17:52:21 | chrisheller | I guess startProcess could be updated to take FileHandle instead of Handle so that the need for get_osfhandle could be hidden from callers that way. |
17:56:26 | koppeh | If you get a ptr+size to a string (from in this case OpenGL), what's the suggested way to get a string from that? |
17:57:04 | * | Matthias247 joined #nim |
17:57:42 | dom96 | koppeh: You can't. Strings are managed by Nim's GC. |
17:59:35 | koppeh | Copy the contents into a new Nim string, then? |
17:59:44 | koppeh | Should I look into strutils, maybe? |
18:05:15 | dom96 | yeah, you can do that. I think copymem is what you'd use https://nim-lang.org/docs/system.html#copyMem,pointer,pointer,Natural |
18:06:28 | koppeh | Hmm.. there's no standard way of doing this? |
18:08:55 | FromGitter | <TiberiumN> can I use "||" openmp proc with this kind of "for"? ⏎ "for index, item in someStringSequence:" |
18:10:25 | * | smt_ joined #nim |
18:15:17 | * | rosshadden joined #nim |
18:16:39 | dom96 | koppeh: Not as far as I know. It would make a good standard library addition though (if you want to create a PR). |
18:16:43 | * | WhiskyRyan joined #nim |
18:18:18 | * | nsf quit (Quit: WeeChat 1.7.1) |
18:19:39 | * | smt quit (*.net *.split) |
18:19:39 | * | gangstacat quit (*.net *.split) |
18:19:39 | * | rauss quit (*.net *.split) |
18:19:40 | * | Jesin quit (*.net *.split) |
18:19:41 | * | huonw quit (*.net *.split) |
18:19:41 | * | vopi181[m] quit (*.net *.split) |
18:20:35 | * | huonw joined #nim |
18:23:57 | * | vopi181[m] joined #nim |
18:24:32 | * | gangstacat joined #nim |
18:25:11 | * | Jesin joined #nim |
18:27:48 | * | vqrs quit (Ping timeout: 260 seconds) |
18:31:14 | * | vqrs joined #nim |
18:34:15 | * | yoConQuimio joined #nim |
18:37:38 | * | ipjk joined #nim |
18:37:53 | * | WhiskyRyan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:40:57 | * | Snircle joined #nim |
18:44:30 | * | yoConQuimio quit (Remote host closed the connection) |
18:44:47 | Araq | chrisheller: such an abstraction needs to be well thought-out and this Windows gotcha needs to be documented. |
18:45:35 | Araq | in fact, maybe we need to change the type to 'File' or Stream hmmm |
18:47:46 | chrisheller | I can try to add some additional documentation that explains it. |
18:48:49 | koppeh | Oh and.. is there just a general way of creating a string from a buffer and length? |
18:48:57 | koppeh | Kind of trying to find some options here. |
18:49:17 | koppeh | At the moment we're thinking of casting the GLchar pointer to cstring and using $ on that..? |
18:49:24 | chrisheller | At least a quick comment in the doc for startProcess that says that on Windows, you need to provide "Windows handle" and not a C file handle. |
18:50:41 | chrisheller | But that does not seem like a good long term answer though. It would be better to make it work cross-platform by default, and then if someone needs something platform specific, let them choose to do so. |
18:51:23 | * | WhiskyRyan joined #nim |
18:52:42 | * | yglukhov joined #nim |
18:54:53 | * | WhiskyRyan quit (Client Quit) |
18:58:19 | * | WhiskyRyan joined #nim |
18:59:21 | * | yglukhov quit (Remote host closed the connection) |
19:37:13 | chrisheller | I just added a getRealHandle proc that is exported from osproc.nim and contains the documentation for why it is needed. The doc for startProcess now references this. |
19:38:52 | * | yglukhov joined #nim |
19:39:40 | chrisheller | That doesn't completely hide the cross platform differences, but does at least make it much easier for someone. The tests look much cleaner with this change |
19:43:46 | subsetpark | Can someone correct my use of the do notation here? |
19:44:23 | subsetpark | scoreStates.sort do (x, y: ScoreState) -> int: |
19:44:23 | subsetpark | cmp(x.score, y.score) |
19:44:29 | subsetpark | Where ScoreState is a tuple |
19:44:40 | subsetpark | Error: 'do (x, y: ScoreState)-> int: |
19:44:40 | subsetpark | cmp(x.score, y.score)' doesn't have a concrete type, due to unspecified generic parameters. |
19:45:20 | subsetpark | Oh, I understand. It's a generic in that case and needs to be parameterized there too. Got it! |
19:45:58 | Araq | chrisheller: it's not a "real handle" though, in fact, it's the opposite afaik |
19:46:40 | chrisheller | Hah. I just added a comment in https://github.com/nim-lang/Nim/issues/6001 wondering about the name :) |
19:46:58 | Araq | getFileHandle returns the file handle but to create a 0,1,2 "standard" handle you need this other call |
19:47:03 | * | WhiskyRyan quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:47:11 | Araq | or maybe I misremember |
19:48:10 | chrisheller | getOSHandle() might be slightly better |
19:49:01 | chrisheller | No, the get_osfhandle call is Windows specific to go from 0,1,2 file handles to a pointer to a "Windows handle" |
19:50:47 | chrisheller | startProcess could be changed to take FileHandle instead of Handle, but then you can't pass in a pipe or other non-file Handles on Windows. |
19:53:35 | chrisheller | The python code that I am porting is only using file handles, so I don't have any good test cases that use pipes on Windows. |
19:54:34 | chrisheller | I guess I could look at the unit tests for subprocess.py for some ideas |
19:57:48 | * | Vi- joined #nim |
19:59:26 | koppeh | Hi, this is the friend I was talking about earlier. |
19:59:46 | * | Vi- waves |
19:59:47 | koppeh | Maybe now she can explain some of her issues more directly. |
19:59:54 | * | Trustable joined #nim |
20:01:42 | Vi- | Okay, the following... Using the opengl wrapper there doesn't seem to be a way to have a soft dependency on an extension |
20:02:15 | Vi- | Since it tries to load every single function in use when calling loadExtensions |
20:03:31 | Vi- | In this case I want to use glDebugMessageCallback on a 3.3 context, but its from 4.3 so I can't expect it to be available |
20:08:32 | * | ipjk quit (Read error: Connection reset by peer) |
20:11:47 | * | aerx_ joined #nim |
20:13:14 | * | aerx quit (Ping timeout: 246 seconds) |
20:17:03 | * | yglukhov quit (Remote host closed the connection) |
20:19:00 | FromGitter | <zacharycarter> @Araq for karax: https://github.com/marko-js/isomorphic-ui-benchmarks |
20:23:51 | dom96 | hello Vi-! I wish I could help you out but OpenGL is the one area I haven't had a chance to play with yet in Nim, hopefully if you stick around somebody else might be able to help you out though :) |
20:24:17 | FromGitter | <zacharycarter> I don't think there's much help that can be offered with that problem Vi- without changing the opengl wrapper itself |
20:25:16 | FromGitter | <zacharycarter> I don't really understand your question either though - if an extension is only available to a certain OpenGL version, wouldn't loading it with a lower version fail? |
20:26:11 | Araq | Vi-: the extension loader is indeed non-optional but the way it does it under the hood shows how to accomplish such a thing |
20:27:20 | * | nsf joined #nim |
20:28:00 | FromGitter | <zacharycarter> Marko seems to be kicking ass in all the benchmarks |
20:28:26 | Vi- | Id use glGetProc and related but they arent exported |
20:28:59 | Araq | zacharycarter: thanks but karax is not yet optimized well (we're working on it though) |
20:29:21 | Vi- | But... there seems to be a way to make it use glew instead, would it still try to load everything in use then? |
20:29:23 | FromGitter | <zacharycarter> sure thing - I'm looking forward to being able to use Karax at work |
20:29:36 | FromGitter | <zacharycarter> using Vue at the moment which is a step up from react |
20:30:12 | Araq | I used Vue 1.2. |
20:30:25 | FromGitter | <zacharycarter> should give it another spin, Vue is pretty nice |
20:30:36 | FromGitter | <zacharycarter> also - https://nuxtjs.org/ |
20:30:54 | Araq | I'd rather program with my own blood on a whiteboard |
20:30:57 | FromGitter | <zacharycarter> is really what I'm using |
20:31:03 | FromGitter | <zacharycarter> lol |
20:31:11 | FromGitter | <zacharycarter> You better not try react then |
20:32:09 | Elronnd | is it possible to control the generated c code in nim? |
20:32:21 | Elronnd | like, to embed c code, in the same way you can embed assembly in some other languages? |
20:32:51 | Araq | Vi-: I don't know about Glew, I'd add an export marker to glGetProc and submit a PR |
20:33:44 | Araq | zacharycarter: you can't patch JS with libraries and frameworks. |
20:34:02 | Araq | the language sucks, you need to replace it. |
20:35:31 | koppeh | WebAssembly? \o/ |
20:35:54 | Vi- | hm, something else then |
20:36:13 | Vi- | I'll try useGlew, can I add -d flags to nimble somehow? |
20:36:27 | * | Jesin quit (Quit: Leaving) |
20:36:30 | dom96 | Elronnd: {.emit: "c code".} |
20:37:04 | demi- | Vi-: you can specify them as part of your nim.cfg file |
20:37:13 | Vi- | Also, I kinda wonder why there isn't a pragma to define these flags |
20:37:36 | dom96 | yeah, you put all flags in a .nim.cfg (or config.nims file) |
20:38:14 | Vi- | kay |
20:43:02 | * | rosshadden quit (Quit: WeeChat 1.8) |
20:50:51 | * | Trustable quit (Remote host closed the connection) |
20:54:46 | * | ofelas quit (Quit: shutdown -h now) |
20:57:41 | * | Calinou quit (Ping timeout: 246 seconds) |
21:03:27 | * | Calinou joined #nim |
21:21:41 | * | Elronnd quit (*.net *.split) |
21:21:43 | * | Ieuan quit (*.net *.split) |
21:21:43 | * | Amrykid quit (*.net *.split) |
21:21:43 | * | SianaGea1z quit (*.net *.split) |
21:21:43 | * | ldlework quit (*.net *.split) |
21:21:45 | * | SianaGearz joined #nim |
21:21:46 | * | SianaGearz quit (Changing host) |
21:21:46 | * | SianaGearz joined #nim |
21:21:48 | * | ldleworker joined #nim |
21:21:52 | * | Amrykid joined #nim |
21:23:18 | * | yaiyan joined #nim |
21:24:32 | * | Vi- quit (Ping timeout: 240 seconds) |
21:26:48 | * | Elronnd joined #nim |
21:30:15 | * | Vladar quit (Remote host closed the connection) |
21:30:17 | * | Vi- joined #nim |
21:33:41 | * | Jesin joined #nim |
21:34:42 | * | Jesin quit (Max SendQ exceeded) |
21:35:07 | * | Jesin joined #nim |
21:43:06 | * | Elronnd quit (*.net *.split) |
21:47:03 | * | Elronnd joined #nim |
21:48:12 | * | Elronnd_ joined #nim |
21:48:21 | * | Nobabs27 joined #nim |
21:48:47 | * | Elronnd_ quit (Client Quit) |
21:50:56 | * | def-pri-pub joined #nim |
21:53:25 | * | PMunch quit (Quit: leaving) |
21:55:05 | * | nsf quit (Quit: WeeChat 1.7.1) |
22:17:37 | * | yglukhov joined #nim |
22:21:29 | * | libman joined #nim |
22:21:57 | * | yglukhov quit (Ping timeout: 240 seconds) |
22:26:21 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:38:19 | * | Jesin quit (Quit: Leaving) |
22:45:32 | * | Vi- quit (Ping timeout: 240 seconds) |
22:46:21 | skrylar_ | i've done a tiny bit of opengl stuff but not in nim |
22:48:03 | skrylar_ | there seem to be two schools of thought with GL handling: either have all your calls be function pointers assigned through dlopen (or windows equivalent) or there's a special tag where you can get GCC to do it for you |
22:50:20 | * | couven92 quit (Quit: Client Disconnecting) |
22:52:49 | Araq | Nim uses the "let the compiler do it" solution |
22:55:20 | * | vlad1777d quit (Quit: Leaving) |
22:55:40 | * | rauss joined #nim |
23:33:20 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
23:33:51 | * | Snircle joined #nim |