00:13:18 | * | fizzbooze quit (Ping timeout: 256 seconds) |
00:45:29 | * | fizzbooze joined #nim |
00:50:53 | * | Trustable_2 quit (Remote host closed the connection) |
01:25:50 | * | replace-bot joined #nim |
01:27:11 | * | brson joined #nim |
01:31:05 | * | fizzbooze quit (Ping timeout: 264 seconds) |
01:31:14 | * | replace-bot quit (Remote host closed the connection) |
01:32:17 | * | replace-bot joined #nim |
01:36:33 | * | leonlee joined #nim |
01:43:49 | * | HakanD joined #nim |
01:49:12 | * | HakanD quit (Ping timeout: 250 seconds) |
01:49:16 | * | darkf joined #nim |
01:49:57 | * | davidhq joined #nim |
01:55:37 | * | reem quit (Remote host closed the connection) |
01:56:01 | * | fizzbooze joined #nim |
02:03:09 | * | TheManiac joined #nim |
02:08:37 | * | filwit joined #nim |
02:11:31 | * | vendethiel quit (Ping timeout: 255 seconds) |
02:13:10 | * | nico_ joined #nim |
02:15:30 | * | nico_ quit (Client Quit) |
02:15:41 | * | hellonico joined #nim |
02:22:42 | * | vendethiel joined #nim |
02:27:18 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:30:23 | * | davidhq joined #nim |
02:30:30 | * | fizzbooze quit (Ping timeout: 252 seconds) |
02:31:01 | * | davidhq quit (Client Quit) |
02:33:15 | * | fizzbooze joined #nim |
02:48:08 | * | reem joined #nim |
02:50:44 | * | fizzbooze quit (Ping timeout: 250 seconds) |
02:54:24 | * | askatasuna joined #nim |
02:54:34 | * | reem quit (Remote host closed the connection) |
02:58:15 | * | brson quit (Quit: leaving) |
03:01:54 | * | filwit quit (Quit: Leaving) |
03:08:45 | * | reem joined #nim |
03:14:12 | * | nuew joined #nim |
03:14:37 | nuew | Hello! Does anyone know how to convert a seq to an array? (I need it to pass to a C library) |
03:15:20 | nuew | I've tried casting, and creating a pointer and using a for to copy the seq in, but those don't work. |
03:33:28 | * | HakanD joined #nim |
03:37:13 | * | Trixar_za joined #nim |
03:39:33 | * | HakanD quit (Ping timeout: 248 seconds) |
03:50:20 | * | davidhq joined #nim |
03:51:51 | * | hellonico quit (Remote host closed the connection) |
04:00:13 | fowl | nuew, addr myseq[0] |
04:00:20 | nuew | thanks |
04:13:05 | * | Trixar_za quit (Quit: Leaving) |
04:17:07 | * | hellonico joined #nim |
04:23:14 | * | devzerp quit (Remote host closed the connection) |
04:23:14 | * | no_name quit (Remote host closed the connection) |
04:23:45 | * | fizzbooze joined #nim |
04:24:22 | * | devzerp joined #nim |
04:24:25 | * | no_name joined #nim |
04:34:05 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
04:39:33 | * | reem quit (Remote host closed the connection) |
04:40:14 | * | nuew quit (Remote host closed the connection) |
04:46:03 | * | reem joined #nim |
04:46:06 | * | davidhq joined #nim |
04:47:23 | * | reem quit (Remote host closed the connection) |
04:59:40 | * | HakanD joined #nim |
05:00:09 | * | askatasuna quit (Ping timeout: 246 seconds) |
05:03:59 | * | HakanD quit (Ping timeout: 252 seconds) |
05:08:30 | * | davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:16:14 | * | HakanD joined #nim |
05:16:43 | * | reem joined #nim |
05:18:28 | * | askatasuna joined #nim |
05:18:31 | * | gokr joined #nim |
05:19:49 | * | vendethiel quit (Ping timeout: 248 seconds) |
05:20:55 | * | reem_ joined #nim |
05:21:18 | * | askatasuna quit (Client Quit) |
05:22:08 | * | reem quit (Ping timeout: 256 seconds) |
05:32:31 | * | HakanD quit (Quit: Be back later ...) |
05:49:12 | * | leonlee quit (Read error: Connection timed out) |
05:49:51 | * | leonlee joined #nim |
06:00:56 | * | vendethiel joined #nim |
06:35:23 | * | flaviu quit (Ping timeout: 250 seconds) |
06:38:06 | * | flaviu joined #nim |
06:40:04 | * | bjz joined #nim |
06:52:35 | * | Ven joined #nim |
06:57:03 | * | Ven quit (Ping timeout: 250 seconds) |
06:59:02 | * | Ven joined #nim |
07:01:06 | * | cir0x joined #nim |
07:02:38 | * | ekarlso joined #nim |
07:02:42 | ekarlso | dom96: you about sir ? |
07:04:41 | * | cir0x quit (Client Quit) |
07:07:40 | * | Ven quit (Ping timeout: 272 seconds) |
07:08:14 | * | leon_lee joined #nim |
07:08:35 | * | leonlee quit (Read error: Connection reset by peer) |
07:30:26 | * | Ven joined #nim |
07:31:02 | LoneTech | Araq: it's not me using string, it's apparently system. and this was introduced when installing c2nim using nimble. |
07:31:25 | LoneTech | (I use string only in macros that build pragmas) |
07:36:13 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
07:40:08 | * | irrequietus joined #nim |
07:57:15 | * | reem_ quit (Remote host closed the connection) |
07:59:08 | * | reem joined #nim |
08:09:29 | * | fizzbooze quit (Ping timeout: 264 seconds) |
08:11:54 | * | MyMind joined #nim |
08:25:46 | * | BlaXpirit joined #nim |
08:28:10 | LoneTech | ooh. The issue is I believed some documentation that said -d:release implied --deadCodeElim:on |
08:38:54 | LoneTech | of course I'm silly for taking this long to figure that out |
08:41:41 | * | HakanD joined #nim |
08:42:53 | * | milosn quit (Ping timeout: 256 seconds) |
08:50:54 | * | BlaXpirit-UA joined #nim |
08:53:18 | * | BlaXpirit quit (Ping timeout: 252 seconds) |
08:57:29 | * | MagusOTB quit (Ping timeout: 264 seconds) |
08:59:41 | * | Demon_Fox quit (Quit: Leaving) |
09:05:30 | * | hellonico quit (Remote host closed the connection) |
09:39:32 | * | HakanD_ joined #nim |
09:39:32 | * | HakanD quit (Read error: Connection reset by peer) |
09:41:47 | * | HakanD__ joined #nim |
09:44:40 | * | HakanD_ quit (Ping timeout: 255 seconds) |
10:27:28 | * | reem quit (Remote host closed the connection) |
10:31:45 | * | milosn joined #nim |
10:44:30 | * | milosn quit (Read error: Connection reset by peer) |
10:45:19 | * | milosn joined #nim |
10:50:34 | * | Kingsquee quit (Quit: Konversation terminated!) |
11:09:38 | * | jefus joined #nim |
11:10:38 | * | milosn quit (Read error: Connection reset by peer) |
11:10:51 | * | milosn joined #nim |
11:11:33 | * | milosn quit (Read error: Connection reset by peer) |
11:15:55 | * | milosn joined #nim |
11:38:16 | * | banister joined #nim |
11:41:39 | * | milosn quit (Read error: Connection reset by peer) |
11:42:34 | * | milosn joined #nim |
11:49:40 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:57:17 | * | banister joined #nim |
12:04:28 | * | milosn quit (Ping timeout: 256 seconds) |
12:08:20 | * | Trustable joined #nim |
12:09:18 | * | arnetheduck joined #nim |
12:18:58 | * | banister is now known as banisterfiend |
12:32:37 | * | milosn joined #nim |
12:40:53 | * | Trustable quit (Remote host closed the connection) |
12:42:11 | * | Trustable joined #nim |
12:48:08 | * | gokr1 joined #nim |
12:48:08 | * | gokr quit (Read error: Connection reset by peer) |
12:53:48 | * | mpthrapp joined #nim |
12:57:29 | * | milosn quit (Ping timeout: 264 seconds) |
13:09:53 | * | milosn joined #nim |
13:10:15 | * | fowlmouth joined #nim |
13:10:42 | * | notfowl joined #nim |
13:14:08 | * | fowl quit (Ping timeout: 244 seconds) |
13:14:35 | * | fowlmouth quit (Ping timeout: 252 seconds) |
13:17:35 | * | milosn quit (Read error: Connection reset by peer) |
13:17:41 | * | banisterfiend quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:23:27 | * | milosn joined #nim |
13:28:09 | * | reem joined #nim |
13:32:32 | * | reem quit (Ping timeout: 246 seconds) |
13:34:53 | * | TEttinger quit (Quit: Leaving) |
13:37:27 | * | Demos joined #nim |
13:47:40 | * | milosn quit (Ping timeout: 250 seconds) |
13:49:15 | * | banister joined #nim |
13:54:53 | * | milosn joined #nim |
14:00:38 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:03:41 | * | saml joined #nim |
14:08:54 | * | davidhq joined #nim |
14:12:49 | * | HakanD___ joined #nim |
14:13:00 | * | banister quit (Ping timeout: 265 seconds) |
14:14:32 | * | TEttinger joined #nim |
14:14:53 | * | HakanD__ quit (Ping timeout: 246 seconds) |
14:19:02 | * | milosn quit (Read error: Connection reset by peer) |
14:19:15 | * | banister joined #nim |
14:19:19 | * | banister quit (Max SendQ exceeded) |
14:19:41 | * | milosn joined #nim |
14:21:23 | * | drewsrem joined #nim |
14:22:46 | * | milosn quit (Read error: Connection reset by peer) |
14:24:40 | * | milosn joined #nim |
14:27:34 | * | milosn quit (Read error: Connection reset by peer) |
14:32:24 | drewsrem | Is it possible to compile a nim file and get all the header files it and dependent modules importc's? |
14:37:57 | saml | header files? |
14:38:01 | saml | oh C |
14:38:53 | drewsrem | ...the path to all the header files...* |
14:39:25 | * | leon_lee quit (Ping timeout: 255 seconds) |
14:40:44 | saml | header files of compiled C? |
14:41:26 | * | untitaker quit (Ping timeout: 256 seconds) |
14:42:24 | drewsrem | no, when you import c identifier via importc |
14:47:45 | * | untitaker joined #nim |
15:08:35 | * | darkf quit (Ping timeout: 265 seconds) |
15:36:59 | Demos | importc does not require any headers |
15:37:01 | Demos | afaik |
15:37:03 | saml | if i want to update Nim, do I need to cd csources && sh build.sh; cd..; bin/nim c koch; again? |
15:37:12 | Demos | it just adds the symbol to the output objects (makes an extern) |
15:37:18 | saml | or just do ./koch boot -d:release only ? |
15:37:18 | Demos | saml, no |
15:37:22 | saml | ah thanks |
15:37:27 | Demos | just koch boot -d:release |
15:37:29 | saml | do you update nimble as well? |
15:37:45 | Demos | in my experience sometimes that fails and I have to backtrack in git to find an intermediary that will bootstrap |
15:37:56 | Demos | saml, I think you can nimble install nimble |
15:38:24 | saml | when i do nimble install nimble, it fails |
15:38:28 | saml | nimblepkg/version.nim(141, 21) Error: use '^' instead of '-'; negative indexing is obsolete |
15:38:59 | Demos | oh gee, strange. try updating from git then. I don't have time to investigate right now |
15:39:02 | saml | same when i build from git |
15:39:23 | Demos | could just be a nimble bug, the compiler has been moving quite fast |
15:40:57 | saml | yah apiroa doesn't build anymore |
15:41:04 | saml | var projectFile = if projectCfgFile != "": projectCfgFile[0 .. -8] else: "" |
15:42:20 | saml | what does xs[0 .. -8] mean? |
15:46:03 | * | mpthrapp quit (Read error: Connection reset by peer) |
15:52:03 | Demos | I gotta go, sorry. But afaik it indexes from the end of the array |
15:52:55 | * | mpthrapp joined #nim |
15:53:35 | * | HakanD____ joined #nim |
15:53:43 | * | HakanD___ quit (Read error: No route to host) |
16:21:50 | * | tstm quit (Ping timeout: 272 seconds) |
16:22:13 | * | tstm joined #nim |
16:31:54 | dom96 | saml: this is a recent compiler change, you can change to a slightly older compiler if you want |
16:33:39 | * | Stefan_S joined #nim |
16:37:42 | Stefan_S | Yesterday I compiled my test_completion.c GTK3 demo just for fun with clang -- and the executable size is only 60k compared to 100k with gcc 4.9.2. I do not see so big differences with ordinary C code. Is there something very special with Nim generated C code? |
16:38:51 | * | milosn joined #nim |
16:39:00 | * | gmpreussner|work joined #nim |
16:47:27 | * | banister joined #nim |
16:48:06 | dom96 | Stefan_S: Dead code elimination perhaps? |
16:50:31 | drewsrem | Is there a "filter" for iterators? |
16:50:36 | Stefan_S | dom96: Maybe, but why should that work only with clang? I did only --cc:clang in command line, no other changes. Enabling LTO for clang may even further reduce size. |
16:51:05 | dom96 | Stefan_S: dunno |
16:51:26 | dom96 | drewsrem: nope. |
16:53:19 | Stefan_S | Dom96: While I am still logged in and you are available: What is the echod in Aporia? Debug Echo, but how can I make that visible? Have not found the trick. |
16:53:37 | dom96 | Stefan_S: don't compile in release mode. |
16:54:42 | Stefan_S | And the I get the debug output in the terminal? Thought I did that, Will test. |
16:56:33 | dom96 | yes |
16:56:36 | Araq | flaviu: the core of my regex engine is 12 lines and it's 3 times faster than PCRE :P |
16:57:00 | dom96 | and what does it support? |
16:57:06 | Araq | nothing :P |
16:57:10 | dom96 | Araq: ^ breaks nimble and aporia |
16:57:28 | Araq | but | and + and * and character classes |
16:57:52 | Araq | no unicode though and no capturing |
16:58:10 | Araq | dom96: so? |
16:59:02 | dom96 | so maybe it should be a warning? |
16:59:32 | Stefan_S | Dom96: echod works, thanks. |
16:59:44 | Araq | no, it's *obsolete*, not deprecated |
17:00:03 | Araq | better compile-time error than runtime crash or misbehaviour |
17:00:57 | Araq | and there is a PR for nimble already so stop complaining |
17:00:58 | dom96 | Araq: It means that once I fix it people with older compilers won't be able to compile Nimble or Aporia. |
17:01:21 | Araq | only if you fix it in the most uninspired way |
17:01:44 | Araq | foo[foo.len-1] works with every version |
17:01:46 | * | Stefan_S quit () |
17:02:49 | dom96 | wow, two PRs to fix it |
17:09:54 | * | HakanD____ quit (Ping timeout: 246 seconds) |
17:24:58 | * | a5i joined #nim |
17:29:10 | * | alex99 joined #nim |
17:29:22 | * | gsingh93 joined #nim |
17:31:59 | * | pregressive joined #nim |
17:36:52 | * | Strikecarl joined #nim |
17:37:01 | Strikecarl | Is it just me or is http://nim-lang.org/irc.html 404'd? |
17:39:18 | Araq | it's a nimble package now, I guess |
17:39:45 | Strikecarl | aww. |
17:39:57 | Strikecarl | Wanted to try to make an basic IRC client to connect to this one c: |
17:40:05 | Strikecarl | #DreamsCrushed |
17:41:38 | * | mpthrapp quit (Read error: Connection reset by peer) |
17:44:08 | Araq | well "nimble package" does not mean it's hard to get |
17:44:46 | Strikecarl | cba <.< |
17:49:05 | * | pregressive quit (Remote host closed the connection) |
17:49:23 | * | pregressive joined #nim |
17:55:39 | * | Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:00:31 | * | fizzbooze joined #nim |
18:01:06 | * | Strikecarl joined #nim |
18:01:10 | Strikecarl | What lib do i want to use |
18:01:22 | Strikecarl | if i want to excecute x.exe in the same directory |
18:01:29 | Strikecarl | as the thisprogram.exe |
18:01:33 | Strikecarl | ? |
18:05:08 | Araq | osproc |
18:05:20 | Strikecarl | Thanks! |
18:12:16 | * | HakanD____ joined #nim |
18:13:44 | * | wb quit (Ping timeout: 250 seconds) |
18:16:38 | * | pigeon_ joined #nim |
18:24:31 | Strikecarl | How do i run windows commands in NIM? |
18:24:48 | Strikecarl | like lets say taskkill blablabla |
18:28:41 | Araq | osproc |
18:30:35 | * | HakanD____ quit (Quit: Be back later ...) |
18:35:49 | * | brson joined #nim |
18:36:14 | reactormonk | how well does nim-suggest work? |
18:36:35 | reactormonk | oh, oops. didn't realize it reconnected already |
18:37:11 | saml | dom96, are you fixing nimble and aporia? |
18:37:16 | saml | i was gonna do it |
18:37:53 | saml | https://github.com/nim-lang/nimble/pull/111 oh there's already pr |
18:38:15 | saml | what's ^1 vs. i.len-1 ? |
18:39:05 | saml | let me try to fix aporia |
18:39:40 | * | Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:40:37 | dom96 | saml: yes, fix aporia please. |
18:40:46 | dom96 | i.len-1 will work with older compilers |
18:41:22 | saml | arr[0 .. arr.len-N] is there a better way to do this? like macro maybe? |
18:41:32 | saml | i'll repeat arr for now |
18:42:24 | Araq | arr[0.. ^N] ? |
18:42:38 | Araq | only works with devel though |
18:43:21 | Araq | btw I did fix Aporia |
18:43:38 | Araq | but not the master branch |
18:43:42 | Araq | who uses that anyway |
18:44:15 | saml | you don't use aporia? |
18:44:18 | dom96 | oh yeah |
18:44:20 | saml | should i use devel? |
18:44:28 | dom96 | I should merge new-suggest to master finally |
18:46:03 | Araq | saml: I don't use the master branch |
18:46:25 | saml | dom96, are you going to merge new-suggest now? |
18:46:30 | dom96 | yeah |
18:46:33 | saml | thanks |
18:47:22 | dom96 | done |
18:47:52 | dom96 | bbl |
18:48:28 | saml | nice it compiles now |
18:49:08 | ekarlso | dom96: you got a thought on the async stuff ? |
18:51:07 | saml | what's NimSuggest? |
18:51:15 | saml | aporia says can't find NimSuggest in PATH |
18:51:22 | * | BlaXpirit_UA joined #nim |
18:51:58 | saml | https://github.com/nim-lang/nimsuggest looks like this. but can't install until nimble works, right? |
18:52:41 | * | BlaXpirit-UA quit (Ping timeout: 264 seconds) |
18:53:23 | * | pregressive quit (Remote host closed the connection) |
18:53:47 | * | pregressive joined #nim |
18:57:00 | Trustable | Hi Araq, why is there no Null Pointer Exception in Nim? |
18:57:43 | Araq | because the hardware produces a segfault instead |
18:58:01 | Araq | this is good enough for us, it's not an exception you should be able to handle |
18:58:07 | Araq | try: |
18:58:13 | Araq | buggyCodeHere() |
18:58:15 | Araq | except: |
18:58:21 | Araq | keepServerAlive() |
18:58:30 | Araq | is not a supported idiom |
18:58:42 | * | mpthrapp joined #nim |
18:58:50 | Trustable | I just want to understand the reason behind it. |
18:59:19 | Araq | the reason is nobody implemented --nilChecks:on properly |
18:59:38 | Trustable | Why is out of bound access checked and null pointer access not? |
18:59:57 | Araq | because null pointers crash reliably |
19:00:15 | Araq | (yes, I know they don't in theory. they do in practice though) |
19:01:02 | Trustable | Does that mean, if someone would implement Null Pointer Exception, then we could have them? |
19:01:17 | Araq | yes |
19:01:25 | Trustable | ok |
19:01:50 | Araq | "could have them" is vague though. you still MUST not catch them. |
19:02:07 | Araq | just as you cannot catch an IndexError |
19:02:16 | Trustable | ok |
19:02:42 | Trustable | funny fact: some people say Java is bad, because it has Null Pointer Exception |
19:03:15 | Araq | they mean something different, and they are right :P |
19:03:33 | Trustable | I think such exceptions are "very bad", but it's good to have them, so the program can write the error into a log file and then quit. |
19:04:32 | Araq | as opposed to what? |
19:04:42 | Araq | having the runtime log the error and quit for you? |
19:06:50 | Trustable | If Nim would have Null Pointer Exceptions, would it be possible to catch them? |
19:07:29 | flaviu | Araq: What are you looking to support? PCRE has some pretty exotic stuff.. |
19:08:05 | Araq | Trustable: the implementation would allow it, the manual says it's wrong ;-) |
19:08:40 | Araq | just like IndexError |
19:08:40 | Trustable | Situation at the moment: information about the error (line numer, etc.)is written to stdout. This is better than no information, but Exceptions would be even better, because then program can show the error to the user properly. |
19:09:03 | flaviu | Trustable: The problem is that the OS doesn't allow for more. |
19:09:51 | Trustable | flaviu: What do you mean with allow for more? |
19:10:17 | flaviu | You run into undefined behavior if you try to convert a segfault to an exception. |
19:10:49 | Araq | flaviu: that's not how we will implement nil exceptions, we'll generate a check instead |
19:11:34 | flaviu | Ah, that'll work. |
19:11:42 | Trustable | oh, I my thoughts the segfault would not happen, because the runtime checks pointer != nil |
19:12:18 | Araq | Trustable: displaying a nice error to the user because of a *bug* is a though problem |
19:12:19 | Trustable | Araq and me think the same way |
19:13:01 | Araq | not unlike displaying "out of memory" |
19:13:16 | Trustable | why? |
19:13:32 | * | nimnoob joined #nim |
19:13:51 | Araq | because its the nature of a bug to be ... buggy |
19:14:14 | saml | /home/sam/.nimble/pkgs/compiler-0.10.3/compiler/nimfix/prettybase.nim(10, 7) Error: cannot open 'ast' |
19:14:17 | saml | is ast gone? |
19:14:36 | flaviu | Araq: There are ways to handle OOM gracefully. |
19:15:42 | Araq | flaviu: not really. not cost effective. |
19:16:33 | Trustable | My opinion: -d:debug should do as much checks as possible, performance does only matter for -d:release |
19:16:34 | flaviu | With memory being as cheap as it is, I think the user would prefer to waste 10MB rather than lose their work. |
19:17:17 | Araq | the user also prefers software that's affordable |
19:17:40 | Araq | and software which doesn't pretend to run on a space shuttle |
19:17:51 | Trustable | The end user should get the software without any NPE bugs and compiled as release |
19:18:04 | flaviu | Araq: I'm not sure how that's related? |
19:18:37 | flaviu | Ah, I see. |
19:18:57 | Araq | you can handle OOM gracefully |
19:19:12 | nimnoob | hi all. quick question: if the latest version of nim is 0.10.2, why does the opengl package require 0.10.3? |
19:19:17 | Araq | and Opera even goes so far to release image caches etc instead of dying |
19:19:18 | flaviu | Well, the approach I'm thinking of involves preallocating a few MB, and freeing it on OOM. |
19:19:39 | * | HakanD____ joined #nim |
19:19:42 | flaviu | nimnoob: Most people use the git version, not the official release. |
19:19:50 | Araq | well I remember reading about that (Opera) |
19:19:53 | nimnoob | devel branch? |
19:19:54 | Araq | dunno if it's true |
19:20:11 | Trustable | nimnoob: yes |
19:20:18 | nimnoob | ah ok, thank you |
19:21:34 | Araq | flaviu: out of memory can also mean "stack overflow". welcome to the world of virtual memory. |
19:23:46 | flaviu | I'm thinking of if(!(result = malloc(n)){free(parachute); result = malloc(n)}. Not much you can do about a stack overflow |
19:24:30 | Araq | so what do you do with that 10MB malloc that succeeds? |
19:24:43 | Araq | store all your changes so the user doesn't lose anything? |
19:24:54 | Araq | oh wait ... that could be more than 10MB :P |
19:24:55 | flaviu | yep, exactly. |
19:25:25 | flaviu | Small chance of recover is better than no chance. |
19:25:31 | flaviu | *recovery |
19:26:03 | flaviu | Araq: Have you published your regex library? I'd like to try and crash it :P |
19:29:26 | * | wb joined #nim |
19:31:25 | Araq | not yet. |
19:31:34 | Araq | there is also no API to speak of. |
19:33:05 | Araq | I don't think you can crash it. instead it will simply "not support" what you throw at it :P |
19:34:27 | flaviu | Araq: Really? Post the code and we'll see :) |
19:39:56 | * | Jehan_ joined #nim |
19:51:12 | Araq | flaviu: I've implemented a 1 instruction VM to check a compiled regex. Guess what this instruction looks like. |
19:52:06 | Araq | but it uses more space than the 3 instruction VM and is not faster |
20:03:17 | nimnoob | i built off of github devel branch and installed opengl via nimble. when i try to compile a program that just imports opengl, i get an error saying that libX11.so could not be loaded even though the x11 package is installed. |
20:06:25 | * | fizzbooze quit (Ping timeout: 264 seconds) |
20:09:01 | dom96 | nimnoob: maybe your libx11.so is called libX11.so.6 or something. Search around for it. |
20:14:45 | nimnoob | dom96: thank you. that helped point me to installing libx11-dev on ubuntu and now it runs |
20:15:45 | Araq | so much for the "we don't require devel packages" hrm |
20:16:11 | dom96 | hrm. Indeed. |
20:16:21 | dom96 | Dev packages shouldn't be required should they? |
20:16:56 | flaviu | Well, you can't pull libraries out of thin air. |
20:17:02 | Araq | In my opinion, no they should not. |
20:17:09 | Araq | but Linux disagrees |
20:17:50 | nimnoob | i am just starting out on linux and nim all at once so i apologize if it was an assumption that the libs were installed |
20:17:55 | flaviu | Araq: Linux has no opinion on the distribution of libraries. Specific distros do. |
20:18:35 | Araq | ok, replace "Linux" by "every common Linux distro" then. pathetic distinction. |
20:19:15 | flaviu | Not for those using uncommon linux distros :) |
20:19:51 | Araq | so tell me, is dynamic linking via dlopen actually a supported feature? cause I begin to think it is not. |
20:20:45 | gokr1 | It seems to me that... libx11-6 installs the actual libX11.so.6.3.0 for example, and a link like libX11.so.6 |
20:20:54 | flaviu | Sorry, I'm not too familiar with these sort of low-level APIs. |
20:21:04 | gokr1 | But the dev package additionally installs a generic non versioned links libX11.so |
20:21:17 | Jehan_ | Araq: Well, dlopen() may make subtly different assumptions about load paths. |
20:21:50 | nimnoob | had to install freeglut3 as well, btw |
20:22:18 | Araq | so how do I can deploy a binary (closed source) that requires OpenGL to Linux users? |
20:22:26 | Jehan_ | That's because POSIX is silent upon the manner in which paths are to be resolved and punts to "implementation-defined". |
20:22:50 | gokr1 | I don't know the exact policies here, but perhaps you need to use libX11.so.6 and not just libX11.so? |
20:22:57 | Jehan_ | Portably, across all Linux distributions, current and future? I don't think you can. |
20:23:34 | flaviu | Graphics are changing fast in linux at the moment anyway. |
20:23:52 | gokr1 | Btw, on ubuntu you can see this with "dpkg -S libX11.so" |
20:24:03 | Araq | exactly. you cannot. which is why there is no gaming on Linux. ;-) |
20:24:35 | flaviu | Steam bundles it's own basic set of libraries that can be depended upon. |
20:24:44 | Jehan_ | Or why binary applications specify a Linux distribution that they are meant for. |
20:26:04 | * | brson quit (Ping timeout: 244 seconds) |
20:26:21 | Jehan_ | Incidentally, I still wish there was a way to tell Nim to use normal dynamic linking for libraries instead of dlopen() (other than hacking it with --dynlibOverride + --passL). |
20:26:48 | Araq | I don't see what we can do about it |
20:27:18 | Araq | --dynlibOverride and passL works like it works for other software? |
20:27:34 | nimnoob | is it feasible to write an opengl application in nim and have it run under windows and linux unchanged? |
20:27:39 | flaviu | Unrelated, but I'm working with OCaml right now. The quality of the Nim docs comparatively very impressive. |
20:28:02 | flaviu | nimnoob: You *have* to recompile it, but otherwise, yes. |
20:28:03 | Jehan_ | Araq: For other software, you don't need --dynlibOverride in the first place. Normal dynamic linking is the default. |
20:28:45 | flaviu | The point of OpenGL is that it works the same way between different hardware and operating systems. |
20:28:47 | Araq | "normal dynamic linking" requires you to guess lots of -dev packages |
20:29:06 | nimnoob | flaviu: thanks |
20:29:13 | Araq | been there, done that, don't want to get back |
20:29:20 | Jehan_ | Araq: Umm, it isn't fundamentally different from replacing dlopen(path) with -lpath? |
20:29:26 | Jehan_ | Or am I missing something? |
20:30:03 | Araq | well usually you do ./configure -- fails because of missing dep |
20:30:16 | Araq | you try to find the -dev package that has the dep |
20:30:24 | Araq | you run ./configure again |
20:30:26 | Araq | and again |
20:30:28 | Araq | and again |
20:30:37 | Jehan_ | I'm not sure how dlopen() fixes that issue? |
20:30:41 | Araq | and then it doesn't compile because GCC got more picky :P |
20:31:00 | Araq | dlopen doesn't require a dev package. |
20:31:29 | Araq | usually the lib*.so exists |
20:31:41 | Araq | but the .a to link against is in the devel package |
20:32:05 | Jehan_ | Hang on, on Linux you can't directly link against a *.so? |
20:32:15 | dtscode | yes you can |
20:32:28 | Araq | maybe you can |
20:32:36 | Araq | but that's never what configure does |
20:32:46 | dtscode | what are we talking about? |
20:33:05 | flaviu | Araq: configure scripts have nothing to do with nim |
20:33:39 | Araq | flaviu: they do when people argue about the "normal" way |
20:37:39 | Jehan_ | Essentially, what I'd be proposing is a command line option to automatically use -lfoo instead of dlopen(foo). |
20:38:02 | * | brson joined #nim |
20:38:19 | Araq | does that work as well as dlopen(foo) then? because right now dlopen does checking against a list of possibilities |
20:38:44 | Jehan_ | Araq: You mean? |
20:39:03 | Araq | libfoo.so(|.10|.9) |
20:39:16 | Jehan_ | Oh, I see. |
20:40:01 | Araq | if -lfoo doesn't have that versioning bullshit, I'll do it asap |
20:42:20 | Jehan_ | Huh. As far as I know, -lfoo doesn't support this, but I thought that was a feature? |
20:43:00 | Araq | well what does -lfoo do? |
20:43:00 | * | EXetoC joined #nim |
20:43:46 | Jehan_ | Tells the linker that library "foo" is required. |
20:44:01 | Araq | yeah but which version of it? |
20:44:28 | Araq | the versionless lib? |
20:45:22 | Araq | which exists as a symlink if you have a devel package. I think. |
20:45:47 | Jehan_ | Hmm. I wish I knew more about Linux at the moment. |
20:46:33 | Jehan_ | My concern is generally more about paths (and the problems with deugging/fixing path issues with dlopen). |
20:47:32 | Araq | why? everything is in /usr/lib anyway. the only problem is to guess the version. ;-) |
20:48:15 | Jehan_ | Araq: In what world is everything in /usr/lib? |
20:48:46 | Araq | in the Unix world |
20:48:56 | Jehan_ | Example: I need to link against a specific issue of GMP, which is in a specific directory. |
20:49:03 | Jehan_ | s/issue/version |
20:49:15 | * | mpthrapp quit (Read error: Connection reset by peer) |
20:49:30 | Araq | bzzt wrong. you should install it to /usr/lib (requires su rights of course) |
20:49:56 | Jehan_ | Araq: Nice in theory, often not feasible in practice. |
20:49:59 | Araq | (I'm kidding) |
20:50:23 | Araq | of course it doesn't work in practice. and even in theory it's braindead. |
20:50:58 | * | reem joined #nim |
20:51:01 | Jehan_ | Gotcha. |
20:52:49 | * | fizzbooze joined #nim |
20:53:09 | Jehan_ | But yes, especially with GMP (or MPIR) it's pretty common to link against a specific version of the library (especially if you need some bleeding-edge new stuff). |
20:58:07 | * | reem quit (Remote host closed the connection) |
21:02:10 | Jehan_ | Totally different question: Should `popen` support go in the stdlib in posix/ or in a Nimble package? |
21:11:49 | * | TEttinger quit (Ping timeout: 248 seconds) |
21:23:38 | * | jefus_ joined #nim |
21:24:05 | * | wb quit (Ping timeout: 248 seconds) |
21:27:44 | * | jefus quit (Ping timeout: 272 seconds) |
21:33:24 | * | reem joined #nim |
21:36:33 | * | nande joined #nim |
21:45:31 | * | replace-bot quit (Remote host closed the connection) |
21:46:14 | * | replace-bot joined #nim |
21:47:26 | dtscode | popen is posix? |
21:51:44 | * | nande quit (Read error: Connection reset by peer) |
21:57:37 | * | nande joined #nim |
22:01:28 | * | pregressive quit (Remote host closed the connection) |
22:12:05 | Araq | Jehan_: popen should be in posix. it is posix, right? |
22:12:25 | Jehan_ | http://pubs.opengroup.org/onlinepubs/009695399/functions/popen.html |
22:13:38 | Jehan_ | The question is more whether it should be a package of its own or if it's worth putting it in the stdlib. |
22:13:45 | * | pregressive joined #nim |
22:14:36 | * | tmku quit (Ping timeout: 272 seconds) |
22:27:18 | Jehan_ | Actually, nevermind, you can probably get away with just having popen() return a File object. This would just add a couple of lines to posix.nim. |
22:27:23 | * | pregressive quit () |
22:27:35 | * | HakanD____ quit (Quit: Be back later ...) |
22:40:56 | * | tmku joined #nim |
22:53:46 | * | nimnoob quit (Ping timeout: 246 seconds) |
23:03:25 | * | infinity0 joined #nim |
23:03:34 | infinity0 | http://nim-lang.org/sdl.html - how do i generate this from source? |
23:03:39 | infinity0 | it looks like an older version too |
23:03:46 | infinity0 | e.g. c.f. http://nim-lang.org/windows.html |
23:04:17 | infinity0 | i'm just running "koch web" but some files are missing, it seems |
23:04:28 | infinity0 | https://paste.debian.net/164022/ |
23:08:25 | flaviu | Hasn't sdl been removed from the standard distribution? |
23:08:38 | flaviu | Anyway, the bug isn't with koch web, it's with the website. |
23:08:50 | infinity0 | ah ok, so lib.html is simply out of date? |
23:09:07 | flaviu | No, the pages that look old shouldn't even be there. |
23:09:32 | infinity0 | lib.html also links to those pages |
23:10:07 | flaviu | I see. Yeah, lib.html needs updating. |
23:11:04 | infinity0 | ah ok cool, i didn't screw up the debian packaging then :p |
23:12:29 | federico3 | flaviu: here's a list of files that are linked by other doc pages but are not being generated by koch: http://paste.debian.net/164022/ |
23:12:46 | federico3 | in case it helps (oh, apart from robots.txt) |
23:14:41 | flaviu | system.html is missing? |
23:15:48 | federico3 | mmsystem.html is being generated, but not system, it looks like |
23:17:04 | notfowl | sdl is still there flaviu |
23:20:03 | * | replace-bot quit (Remote host closed the connection) |
23:23:44 | * | replace-bot joined #nim |
23:23:52 | * | replace-bot quit (Remote host closed the connection) |
23:30:31 | * | Jehan_ quit (Quit: Leaving) |
23:42:19 | reactormonk | dom96, you know you can set push url to a different one from the pull url? |
23:42:51 | dom96 | reactormonk: sure, why? |
23:42:57 | reactormonk | dom96, kk |
23:43:34 | flaviu | Check this out: https://github.com/flaviut/nre#nre |
23:43:42 | flaviu | TOC works with asciidoc! |
23:47:23 | a5i | Have you guys seen Crystal? |
23:48:08 | flaviu | a5i: We've just been discussing it in #nim-offtopic |
23:48:15 | flaviu | From reddit, I'd assume? |
23:48:29 | a5i | Yeah |
23:48:35 | a5i | it looks sick! |
23:49:15 | a5i | Well, its Ruby, but its goals are sick :/ |
23:49:25 | Araq | a5i: the main dev of Crystal was here a couple of times |
23:49:45 | a5i | Crystal and Nim are kinda similar |
23:49:48 | flaviu | I'm quite impressed by it's test suite :D |
23:50:15 | a5i | Though I dont know Crystal's low-level capabilites |
23:50:24 | a5i | as opposed to Nim |
23:51:40 | * | fizzbooze quit (Ping timeout: 256 seconds) |
23:52:04 | Araq | a5i: what do you mean by "sick"? |
23:52:25 | a5i | as in pretty cool |
23:52:34 | a5i | teenage slang :P |
23:52:36 | Araq | ah |
23:54:38 | * | irrequietus quit () |
23:58:51 | * | replace-bot joined #nim |
23:59:01 | * | replace-bot quit (Remote host closed the connection) |