00:13:52 | * | yglukhov quit (Remote host closed the connection) |
00:27:33 | * | desophos_ quit (Remote host closed the connection) |
00:40:10 | * | aziz quit (Remote host closed the connection) |
00:53:40 | * | jaco60 quit (Ping timeout: 250 seconds) |
01:09:34 | * | desophos joined #nim |
01:14:21 | * | yglukhov joined #nim |
01:18:59 | * | yglukhov quit (Ping timeout: 260 seconds) |
02:04:02 | * | doxavore joined #nim |
02:15:56 | * | yglukhov joined #nim |
02:20:50 | * | yglukhov quit (Ping timeout: 260 seconds) |
02:40:51 | * | zepolen joined #nim |
02:50:09 | * | brson quit (Quit: leaving) |
02:55:56 | * | Trustable_2 joined #nim |
02:58:54 | * | Trustable quit (Ping timeout: 250 seconds) |
03:00:43 | * | vendethiel joined #nim |
03:17:24 | * | yglukhov joined #nim |
03:21:54 | * | yglukhov quit (Ping timeout: 265 seconds) |
03:22:45 | * | Trustable_2 quit (Remote host closed the connection) |
03:24:48 | * | vendethiel quit (Ping timeout: 265 seconds) |
03:35:55 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
03:44:17 | * | doxavore quit (Quit: I said good day, sir.) |
04:42:22 | * | def-- joined #nim |
04:54:21 | * | def-- quit (Quit: -) |
04:55:14 | * | def-- joined #nim |
05:12:20 | * | vqrs quit (Ping timeout: 260 seconds) |
05:17:37 | * | vqrs joined #nim |
05:18:54 | * | yglukhov joined #nim |
05:24:04 | * | yglukhov quit (Ping timeout: 272 seconds) |
05:39:56 | * | desophos_ joined #nim |
05:42:17 | * | darkf joined #nim |
05:44:26 | * | desophos_ quit (Ping timeout: 250 seconds) |
06:17:27 | * | desophos_ joined #nim |
06:19:50 | * | desophos_ quit (Remote host closed the connection) |
07:51:03 | * | yglukhov joined #nim |
08:31:43 | * | desophos_ joined #nim |
08:36:06 | * | desophos_ quit (Ping timeout: 240 seconds) |
08:55:07 | * | Sembei quit (Excess Flood) |
08:56:13 | * | Sembei joined #nim |
09:12:36 | * | coffeepot joined #nim |
09:18:24 | * | ^aurora^ joined #nim |
09:20:29 | * | desophos quit (Read error: Connection reset by peer) |
09:24:53 | * | BitPuffin|osx quit (Ping timeout: 265 seconds) |
09:39:11 | * | allan0 quit (Ping timeout: 264 seconds) |
09:44:04 | * | allan0 joined #nim |
09:55:12 | * | jaco60 joined #nim |
10:41:33 | * | Trustable joined #nim |
10:41:42 | * | Trustable quit (Remote host closed the connection) |
10:42:36 | * | Trustable joined #nim |
11:39:00 | * | Demon_Fox quit (Quit: Leaving) |
11:41:29 | * | Trustable quit (Remote host closed the connection) |
11:42:29 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
11:57:04 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
11:57:46 | * | ^aurora^ joined #nim |
11:59:38 | * | jaco60 quit (Quit: Leaving) |
12:46:00 | * | amox joined #nim |
12:46:26 | amox | Hello! |
12:47:34 | amox | I'm trying to do my first steps with nim. And could not load: (ssleay64|libssl64).dll like http://irclogs.nim-lang.org/01-12-2015.html and http://irclogs.nim-lang.org/07-10-2015.html |
12:47:57 | amox | I found only ssleay64.dll |
12:48:09 | amox | Where can I take the second dll? |
12:48:31 | amox | Could someone help me? |
12:49:37 | Araq_ | ping dom96 |
12:49:59 | Araq_ | use the 32 bit version for a start |
12:50:09 | Araq_ | the 64 bit DLLs are broken for some reason iirc |
12:50:22 | dom96 | hello amox! |
12:50:33 | dom96 | yeah, usually better to use 32 bit DLLs |
12:50:46 | dom96 | (make sure to use a 32 bit Nim compiler too though!) |
12:53:40 | dom96 | Really wish there was a way to get more info about why a DLL load failed. |
12:54:00 | dom96 | Araq_: I probably asked you about this already, but are there any improvements we could make? |
12:55:04 | yglukhov | Araq: regarding 3688. Whats wrong with it? |
12:56:07 | amox | Thank you! I'll try 32 bit |
13:06:29 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
13:07:19 | amox | FAILURE: Invalid section: |
13:07:38 | amox | this failure when I'm installing nimx |
13:07:49 | amox | with nimble install nimx |
13:08:05 | amox | without any comment |
13:09:45 | yglukhov | amox, please update nimble to the latest |
13:10:33 | amox | but it requires nim 0.12.1 |
13:10:53 | yglukhov | yep, update everything to the latest =) |
13:10:57 | federico3 | which is inexistent |
13:11:03 | amox | okay |
13:21:48 | Araq_ | dom96: we could rebuild the DLLs ... and ask varriount what he did :P |
13:26:13 | dom96 | Araq_: Varriount built those DLLs? |
13:26:23 | Araq_ | yes |
13:27:07 | Araq_ | we just need to release nimble without SSL support. fuck that bullshit. |
13:30:56 | dom96 | Already did that. |
13:31:01 | dom96 | 0.7.0 doesn't need SSL |
13:40:12 | * | awsteele joined #nim |
13:42:35 | awsteele | how do i pass compiler options (e.g. -d:release) to "nimble build"? i can see that "nimble compile" will pass-through opts, but build doesn't |
13:43:34 | awsteele | doh, i just realised that's a dumb question. "nimble install" will build in release mode. and "nimble compile" wihtout specifiying a file seems to build the whole project |
13:47:45 | * | def-- quit (Quit: -) |
13:48:06 | * | def- quit (Quit: -) |
13:48:41 | * | def- joined #nim |
13:58:18 | awsteele | doh, i take it back again. :) i'm writing a CLI tool that connects to https. it requires the -d:ssl flag. "nimble build" builds a broken app because the ssl flag wasn't passed through. can it be added to the config somewhere? |
14:09:23 | amox | Error: Threadpool requires --threads:on option. |
14:09:32 | amox | where I can find this option? |
14:10:12 | Araq_ | amox: nim c --threads:on foo.nim |
14:10:24 | amox | thanks! |
14:10:25 | Araq_ | pretty sure it's also documented, let's see |
14:10:37 | amox | https://github.com/nim-lang/nimble/issues/109 |
14:10:42 | amox | found smth here |
14:11:13 | Araq_ | http://nim-lang.org/docs/manual.html#threads |
14:14:34 | amox | I didn't see this but it is not understandable for me that this is compilation flag |
14:18:40 | * | allan0 quit (Quit: no) |
14:18:56 | * | allan0 joined #nim |
14:19:35 | amox | nim is not friendly with me :( |
14:20:17 | reactormonk | amox, it just demonstrates some though love. |
14:21:05 | amox | I'm not a masochist |
14:21:15 | amox | unfortunatly |
14:21:18 | amox | :) |
14:23:35 | reactormonk | If you where, it would be nice to you. |
14:53:25 | * | pregressive joined #nim |
14:55:07 | * | pregressive quit (Read error: Connection reset by peer) |
14:55:59 | * | pregressive joined #nim |
14:58:03 | * | pregressive quit (Remote host closed the connection) |
14:58:07 | amox | I'm trying to run example from nimx github page |
14:58:10 | amox | http://prntscr.com/9mdwcj |
14:58:29 | * | pregressive joined #nim |
14:58:40 | amox | at first it was error with threads - Araq_ helped to solve |
14:58:45 | * | ^aurora^ joined #nim |
14:58:50 | amox | now this |
14:59:51 | amox | without noMain and r switches main.exe is created |
15:00:30 | * | pregressive quit (Client Quit) |
15:00:34 | amox | but running exe gives could not load: SDL2.dll |
15:03:41 | Araq_ | amox: you need a SDL2.dll from somewhere :-) |
15:05:32 | * | yglukhov quit (Ping timeout: 255 seconds) |
15:08:09 | amox | Araq you are magician |
15:08:22 | amox | I put it to c:\windows |
15:08:37 | amox | and magic began |
15:16:14 | dom96 | Hello awsteele |
15:16:20 | dom96 | awsteele: Add it into a .nim.cfg file |
15:16:28 | dom96 | or the new .nims file |
15:16:34 | dom96 | just '-d:ssl' (not sure about the syntax for .nims |
15:16:48 | dom96 | (if your file is called main.nim then call it main.nim.cfg) |
15:17:42 | dom96 | amox: Probably not where you should put it :) |
15:19:03 | amox | but it works |
15:20:13 | dom96 | Sure, it's just nicer to have a directory somewhere for these DLLs. It just needs to be in your PATH IIRC. |
15:20:24 | dom96 | or you can put it beside the .exe |
15:21:07 | amox | yes I put it next to exe - it works too |
15:23:21 | amox | but I have cmd window opened too with GUI (nimx) http://prntscr.com/9me79s Can it be set up to run without cmd? |
15:26:01 | amox | yglukhov is owner but he is away |
15:31:27 | dom96 | Pass --app:gui to the compiler, might work |
15:33:57 | amox | it works! nim "demonstrates some though love" but community makes me happy! Thank you! |
15:40:37 | dom96 | amox: Glad you got it working :) |
15:43:59 | amox | but it stil magic for me... I use Python and I never used c compiler before (earlier it was java but it was long ago). It is time to try something new. I chose nim :) |
15:44:44 | * | pregressive joined #nim |
15:50:34 | reactormonk | amox, good choice. |
15:51:17 | amox | :) |
15:54:41 | * | doxavore joined #nim |
16:10:54 | * | yglukhov joined #nim |
16:25:47 | * | yglukhov quit (Remote host closed the connection) |
16:26:21 | * | yglukhov joined #nim |
17:05:15 | flyx | in an except statement, do I have to cast the result of getCurrentException() to the actual exception class? that seems a bit inconvenient. |
17:06:34 | dom96 | flyx: I think so, yeah. |
17:07:11 | dom96 | I agree. Would be nice to have syntax which allows something like ``except InvalidValue as err: echo err.msg`` |
17:07:24 | dom96 | flyx: Please create an issue :) |
17:07:25 | flyx | definitely. |
17:07:32 | * | flyx will do |
17:13:01 | dom96 | thanks |
17:16:24 | dom96 | Araq_: I'm adding a `question` tag on Github since many people are using it to ask questions. |
17:17:42 | Araq_ | sure thing |
17:18:04 | Araq_ | dom96: pretty sure that's already been reported? |
17:18:07 | Araq_ | oh well |
17:18:27 | dom96 | We can mark it as a duplicate then. |
17:18:36 | dom96 | As long as you can find the other issue which reports it ;) |
17:23:47 | Araq_ | it's marked as "feature request" |
17:23:51 | Araq_ | if it exists |
17:24:04 | Araq_ | our tagging works really well. |
17:24:45 | * | yglukhov_ joined #nim |
17:25:34 | * | yglukhov_ quit (Remote host closed the connection) |
17:27:26 | * | yglukhov quit (Ping timeout: 240 seconds) |
17:40:44 | * | amox quit (Quit: Ухожу я от вас (xchat 2.4.5 или старше)) |
17:40:45 | * | vqrs quit (Ping timeout: 260 seconds) |
17:42:32 | * | vqrs joined #nim |
17:45:13 | flyx | actually, the issue seems more severe |
17:46:24 | flyx | ah well, it works if I cast to "ref MyException" instead of "Exception" |
17:48:08 | * | Matthias247 joined #nim |
17:50:22 | * | flyx created https://github.com/nim-lang/Nim/issues/3691 |
17:53:28 | dom96 | You don't need to cast, you can do: (ref MyException)(getCurrentException()) |
17:53:33 | dom96 | At least I think you can |
17:53:38 | dom96 | but yeah, still not nice |
17:55:05 | * | jaco60 joined #nim |
18:01:42 | * | brson joined #nim |
18:11:51 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
18:13:56 | flyx | if the compiler tells me „can raise an unlisted exception“, how can I check where this exception can come from? |
18:14:36 | dom96 | Doesn't the compiler give you hints showing where it comes from? |
18:17:17 | flyx | I'm trying to figure that out |
18:17:48 | flyx | can it be that the compiler things any proc without an explicit raises pragma can throw any exception? |
18:17:57 | * | Trustable joined #nim |
18:19:33 | flyx | ah, the stream module is responsible |
18:22:54 | * | bigfondue quit (Ping timeout: 256 seconds) |
18:23:41 | * | vendethiel joined #nim |
18:29:19 | * | bigfondue joined #nim |
18:33:13 | * | yglukhov joined #nim |
19:13:52 | * | pregressive quit (Read error: Connection reset by peer) |
19:14:28 | * | pregressive joined #nim |
19:27:10 | * | zepolen quit (Remote host closed the connection) |
19:42:13 | * | Demos joined #nim |
19:42:25 | * | vendethiel quit (Read error: Connection reset by peer) |
19:42:42 | * | vendethiel joined #nim |
20:07:11 | flyx | dom96: what's the state of jester? I just tried to build a simple tool with it, but I cannot get it to do anything. browser just tells me that the server unexpectedly drops the connection. |
20:07:38 | dom96 | flyx: should be working fine. |
20:07:41 | dom96 | NimForum uses it |
20:07:44 | * | yglukhov quit (Remote host closed the connection) |
20:07:52 | dom96 | try curl |
20:08:32 | flyx | curl tells me "curl: (52) Empty reply from server" |
20:08:47 | flyx | I took example.nim from the README and compiled that |
20:09:30 | flyx | application's output is: dlopen(libpcre.3.dylib, 2): image not found \\ dlopen(libpcre.1.dylib, 2): image not found \\ INFO Jester is making jokes at http://localhost:5000 |
20:10:12 | dom96 | flyx: could you try a simple asynchttpserver and see if that works? |
20:12:11 | flyx | the example code from asynchttpserver works. |
20:14:56 | dom96 | odd, please report it on github |
20:15:00 | dom96 | I'll look into it ASAP |
20:15:20 | flyx | dom96: found the issue, I had an old 0.1.0 installed |
20:15:34 | flyx | it works after I updated it with nimble |
20:15:45 | dom96 | ahh, cool |
20:17:32 | * | yglukhov joined #nim |
20:23:49 | flyx | where is runForever() defined? I cannot find it |
20:28:24 | flyx | and is it possible to run jester on a unix socket? |
20:31:08 | * | yglukhov quit (Remote host closed the connection) |
20:34:35 | * | desophos joined #nim |
20:41:52 | * | darkf quit (Quit: Leaving) |
21:09:25 | federico3 | who's going to Fosdem? |
21:12:27 | * | krux02 joined #nim |
21:12:56 | * | desophos_ joined #nim |
21:15:38 | krux02 | Araq_: I have a question about types for my development on getType |
21:16:46 | krux02 | A generic type has in it's PType a member that is generic, all generic parameters, and the actual instanciation of the type. |
21:17:19 | krux02 | since I return as an AST a bracked expression MyType[int,float] |
21:18:01 | krux02 | I would like to keep the 'MyType' clean of the concrete instance of MyType[int,float] |
21:20:32 | krux02 | so that a transformation of MyType[int,float] to MyType[float,int] has no preblems giving me the implementation of that. |
21:21:04 | * | Matthias247 quit (Read error: Connection reset by peer) |
21:22:12 | krux02 | the information is then not stored in the AST anymore |
21:39:04 | * | zepolen joined #nim |
21:43:35 | * | zepolen quit (Ping timeout: 246 seconds) |
21:47:46 | * | saml quit (Ping timeout: 240 seconds) |
21:48:24 | * | mat4 joined #nim |
21:48:27 | mat4 | hello |
21:50:09 | * | desophos quit () |
21:50:23 | Araq_ | krux02: sounds like a pita |
21:50:24 | * | saml joined #nim |
21:50:55 | Araq_ | the VM shouldn't perform generic instantiations |
21:50:58 | krux02 | pita? like food? |
21:51:13 | Araq_ | instead you should generate an new AST and let the compiler do its job |
21:51:16 | mat4 | hello |
21:51:56 | krux02 | ok, then it would be better to prevent AST changes |
21:52:18 | Araq_ | getType() is only for reading types, not for type construction |
21:52:28 | Araq_ | because type construction is too hard. |
21:52:44 | Araq_ | people will provoke compiler crashes all over the place |
21:52:44 | krux02 | ok |
21:53:31 | Araq_ | IME types are foundamentally harder to deal with than syntax trees and so we need to push people to use simpler alternatives |
21:54:09 | krux02 | ok, then I should document it, that the result of getType should not be manipulated |
21:54:36 | Araq_ | yes please |
21:54:46 | mat4 | Araq_: What are these alternatives ? |
21:55:02 | krux02 | ok |
21:55:10 | krux02 | makes my job easier |
21:55:11 | Araq_ | mat4: construct the type syntactically and let the compiler transform it into a type for you. |
21:55:35 | Araq_ | it has to do that anyway to check for soundness |
21:57:23 | krux02 | I am just thinking of what happens, if the result of getType get's used to create a function with that type as an argument |
21:57:36 | mat4 | hm, I believe this approach should be obvious even the simplest |
21:58:49 | krux02 | not that I know of any use of that, but I guess, because it can be done, it will be done. |
22:00:42 | * | brson_ joined #nim |
22:01:08 | krux02 | I am still not sure how to name my version of getType |
22:01:50 | krux02 | because I have breaking change, I need to rename it, so that the old version gets deprecated |
22:02:56 | krux02 | I want to name it getTypeDesc but there is already a typeDesc type that won't be the result of this function. |
22:03:46 | * | brson quit (Ping timeout: 250 seconds) |
22:03:54 | mat4 | thisTypeDesc |
22:07:18 | * | desophos_ is now known as desophos |
22:16:24 | * | brson joined #nim |
22:18:12 | * | brson_ quit (Read error: Connection reset by peer) |
22:40:12 | krux02 | Araq_, I basically forket getType to getType2, so that I do not alter existing behavior, but i do not understand the code that I duplicated |
22:41:22 | krux02 | basically the code in vmgen.nim with the magic enum and in vm.nim I do not understand |
22:42:46 | * | zepolen joined #nim |
22:43:49 | krux02 | I only worked on mapTypeToAst, and I understan that par, but I do not understand the parts with the registers or what the call c.gABC should do |
22:47:15 | * | zepolen quit (Ping timeout: 240 seconds) |
22:48:03 | * | mat4 left #nim ("Verlassend") |
22:52:04 | dom96 | flyx: asyncdispatch |
22:52:30 | * | brson_ joined #nim |
22:53:55 | dom96 | federico3: are you heading to Fosdem? |
22:54:44 | * | brson quit (Read error: Connection reset by peer) |
22:54:50 | federico3 | yup |
22:55:11 | * | brson_ quit (Read error: Connection reset by peer) |
22:57:30 | * | brson joined #nim |
22:59:01 | dom96 | free entry hrm |
23:02:33 | * | brson_ joined #nim |
23:03:05 | * | brson quit (Ping timeout: 276 seconds) |
23:03:13 | * | doxavore quit (Quit: I said good day, sir.) |
23:13:15 | * | keyle joined #nim |
23:16:59 | * | brson_ quit (Ping timeout: 264 seconds) |
23:17:11 | * | pregressive quit (Remote host closed the connection) |
23:28:57 | * | keyle quit (Quit: http://twitter.com/keyle/) |
23:39:45 | Araq_ | krux02: do you need to know this though? |
23:40:38 | krux02 | Araq_: I came to the conclusion, that I need two functions, getType, and getTypeImpl |
23:40:55 | Araq_ | not necessarily |
23:41:48 | krux02 | yes I saw that the original verison required you to call getType(getType(x)) sometimes |
23:42:07 | krux02 | but I don't think it feels natural that way |
23:42:45 | krux02 | I like the distinction like in functions, whar you can call getImpl |
23:43:34 | krux02 | I think there is semantic difference weather I call getType on an AST node, or I want the implementation of a type |
23:43:43 | Araq_ | I think I prefer the getType2(whatToDoEnum) version |
23:44:06 | krux02 | I looked into that, and realized that it doesn't work out |
23:44:12 | Araq_ | why not? |
23:44:54 | Araq_ | fyi c.gABC generates an ABC instruction. |
23:44:59 | krux02 | for example when I want to get the implementation of a type that is contained in another type |
23:45:15 | Araq_ | why? |
23:45:31 | Araq_ | you need a way to traverse the type anyway |
23:45:38 | Araq_ | you cannot special case too much |
23:45:39 | krux02 | with the distinction in getType and getImpl I can call node.getType.sons[1].getImpl |
23:45:50 | Araq_ | you need a general getChild operation |
23:46:19 | krux02 | or in my case |
23:46:30 | Araq_ | an ABC instruction is an instruction that takes up to 3 registers |
23:46:38 | krux02 | node.getType2[1].getTypeImpl |
23:46:50 | Araq_ | ABx would be register A with an immediate value in Bx |
23:47:39 | Araq_ | the immediate value Bx is 2 bytes, every instruction is 4 bytes long. Except for "extended instructions" where multiple words are used. But these are rare. |
23:48:27 | Araq_ | add regA, regB, regC would be an ABC instruction with opcode 'add' |
23:48:42 | Araq_ | and the semantics are regA = regB + regC |
23:49:25 | krux02 | with node.getType2(getImpl) I would need it to work an both nodes from the typed ast, and on type nodes returned from getType |
23:49:47 | krux02 | with a distinct getImpl, that one only needs to work in results of getType |
23:50:21 | Araq_ | what is the difference between a typed AST and type nodes returned from getType? |
23:51:17 | krux02 | with typed ast, I just mean a general AST that I get in a typed macro |
23:51:55 | * | vendethiel quit (Ping timeout: 240 seconds) |
23:52:33 | krux02 | even though both are represented in an AST form, they are something different to me |
23:53:39 | Araq_ | but they are not ;-) |
23:54:25 | Araq_ | if you ever access n directly and not n.typ in your getType2 implementation, it's pretty much always wrong, I think. |
23:57:03 | krux02 | ok, then it might even work with the enum |
23:58:49 | krux02 | even though I am not convinced that it is less confusing then the distinct method getTypeImpl |