00:04:25 | * | gour_ quit (Quit: Konversation terminated!) |
00:13:15 | * | brson quit (Ping timeout: 258 seconds) |
00:15:03 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:16:59 | * | fowlmouth joined #nim |
00:19:25 | * | Trustable quit (Quit: Leaving) |
00:20:20 | dts|pokeball | can we rename the actors module to calculon? since he has the best acting module? |
00:23:52 | Araq | dts|pokeball: actors.nim is deprecated |
00:24:12 | dts|pokeball | all the better |
00:25:13 | * | Puffin joined #nim |
00:26:09 | * | fowl joined #nim |
00:28:17 | * | fowlmouth quit (Ping timeout: 240 seconds) |
00:37:28 | * | fowl quit (Ping timeout: 255 seconds) |
00:44:45 | * | saml_ joined #nim |
01:16:00 | * | drewsrem quit (Quit: Leaving) |
01:21:05 | * | willwillson quit (Ping timeout: 272 seconds) |
01:37:22 | dom96 | Interesting. Dr. Dobbs is shutting down. |
01:43:42 | flaviu | dom96: They'll keep the website, they're just not publishing any more articles. |
01:43:53 | dom96 | Yeah. That sucks. |
01:44:09 | dom96 | We should start our own programming news site. |
01:44:34 | flaviu | lol |
01:51:47 | dts|pokeball | lets do it |
01:51:57 | dts|pokeball | dr. dobbs taught me alot |
01:58:26 | * | Puffin quit (Ping timeout: 244 seconds) |
02:09:27 | * | dts|pokeball quit (Quit: Leaving) |
02:09:45 | * | dts|pokeball joined #nim |
02:12:52 | * | rpag quit (Ping timeout: 255 seconds) |
02:26:30 | * | kniteli quit (Read error: Connection reset by peer) |
02:43:48 | * | kniteli joined #nim |
03:15:19 | * | darkf joined #nim |
03:22:39 | * | fowl joined #nim |
03:44:51 | * | fowl quit (Ping timeout: 258 seconds) |
03:45:13 | ldlework | Does anyone know what gc.nim(254) asgnRefNoCycle |
03:45:15 | ldlework | means |
03:54:34 | * | dts|pokeball quit (Ping timeout: 255 seconds) |
04:01:03 | ldlework | figured it out |
04:10:46 | * | flaviu quit (Ping timeout: 255 seconds) |
04:17:24 | * | gour joined #nim |
04:23:33 | darkf | I get `error: size of array 'assert_numbits' is negative |
04:23:33 | darkf | typedef int assert_numbits[sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];` while trying to build nimble on windows. what should I do? (there is no "build64.bat" for that :)) |
04:27:31 | dom96 | ensure your gcc is 64bit I guess |
04:29:58 | darkf | eh |
04:33:06 | darkf | and how do I call a function with the same name as the module it's in? I `import irc`, then receive for the example: `Error: expression 'irc("picheta.me", joinChans = @ ["#bots"])' cannot be called` (irc.irc does not work either) |
04:38:38 | darkf | eh looks like they changed the name without updating it |
04:43:51 | * | nimnoob joined #nim |
04:44:06 | nimnoob | hello |
04:46:54 | * | ARCADIVS joined #nim |
04:54:19 | * | saml_ quit (Quit: Leaving) |
04:55:00 | * | Sembei quit (Ping timeout: 258 seconds) |
04:55:45 | * | NimBot_ joined #nim |
04:57:06 | * | Sembei joined #nim |
04:59:48 | * | NimBot_ quit (Read error: Connection reset by peer) |
04:59:55 | * | NimBot_ joined #nim |
05:00:41 | * | kapil__ joined #nim |
05:02:37 | ldlework | dom96: does Nim have tuple unpacking? |
05:03:09 | dom96 | yes |
05:03:18 | dom96 | var (x, y) = (56, 65) |
05:03:34 | ldlework | thanks |
05:03:38 | * | dts|pokeball joined #nim |
05:04:12 | dts|pokeball | gokr, whats your website? |
05:10:12 | ldlework | dom96: is there a way to use object construction syntax to get a reference? (oh god please) |
05:10:24 | dom96 | yeah |
05:10:34 | dom96 | Define your type as a ref |
05:10:44 | ldlework | :( |
05:11:09 | ldlework | @(x:1, y:2) would be nice |
05:11:45 | dts|pokeball | dom96, i finished v0.0.1 of my eval bot |
05:13:42 | * | fowl joined #nim |
05:14:08 | dom96 | ldlework: (ref T)(x:1 ..) might work |
05:15:28 | nimnoob | If I have a generic type declared as ref object |
05:15:41 | nimnoob | what is the best way to construct that object? |
05:15:59 | ldlework | dom96: nome :) |
05:16:02 | ldlework | nope* |
05:16:25 | * | gour_ joined #nim |
05:18:07 | ldlework | also new T() would also be fine |
05:19:02 | dom96 | bye |
05:20:08 | ldlework | o/ |
05:20:13 | * | gour quit (Ping timeout: 264 seconds) |
05:23:19 | dts|pokeball | whats the syntax for multiple conditions for a single case in a switch? |
05:23:30 | dts|pokeball | is it like of "foo", "bar": ... |
05:25:14 | dts|pokeball | yep |
05:33:37 | * | pwernersbach joined #nim |
05:37:35 | * | BillsPC joined #nim |
05:43:17 | * | fowl quit (Ping timeout: 240 seconds) |
05:53:40 | * | nimnoob quit (Ping timeout: 246 seconds) |
06:08:28 | * | fowl joined #nim |
06:09:15 | fowl | * Cannot join #nimrod (Channel is invite only) |
06:09:29 | fowl | thats very informative |
06:10:59 | pwernersbach | fowl: It was renamed to #nim, which is this |
06:11:12 | fowl | no kidding |
06:11:28 | fowl | imagine if i didnt know that |
06:16:12 | * | nimnoob joined #nim |
06:17:28 | dts|pokeball | then you wouldnt have join :p |
06:18:41 | fowl | there needs to be a message or forward |
06:18:53 | fowl | something other than "this channel is invite only" |
06:20:15 | nimnoob | anyone know how to predeclare a type to avoid a circular type reference? |
06:20:57 | fowl | nimnoob, declare them in the same type section |
06:21:37 | nimnoob | i was trying to keep them in separate files for readability/modularity |
06:21:57 | nimnoob | but i guess they are tied together all the same :) |
06:22:09 | nimnoob | thanks, i will try to restructure that way |
06:28:53 | * | pwernersbach quit (Quit: Leaving.) |
06:41:03 | ldlework | hey guys |
06:41:07 | ldlework | if you have a reference type |
06:41:09 | gokr | dts|pokeball: Slightly late, but: http://goran.krampe.se/nim/ |
06:41:14 | dts|pokeball | ty |
06:41:14 | ldlework | how do you implement `==` ~? |
06:41:24 | dts|pokeball | i need to finish reading your oop article |
06:41:35 | ldlework | I can't seem to implement it in a way that can be compared against nil |
06:41:40 | ldlework | like if you have a ref type |
06:41:49 | ldlework | and you implement == to compare self and other's members |
06:41:51 | ldlework | and someone does |
06:41:56 | ldlework | if someT == nil |
06:42:01 | gokr | dts|pokeball: I really should write a summary of those articles, I did find a "gotcha" regarding == etc |
06:42:05 | ldlework | to check if the ref is nil |
06:42:22 | ldlework | then you get an exception in your == implementation when it tries to access the member field |
06:42:39 | ldlework | gokr: any idea? |
06:42:44 | gokr | Because `==` and a few others are defined as procs for "ref T" in system.nim - you can't have them implemented in "superclasses". |
06:43:01 | gokr | Oh, that was not an answer to you. |
06:43:12 | gokr | But perhaps related? |
06:43:37 | gokr | I found that I had to implement `==`in the concrete leaf classes. |
06:43:46 | gokr | In order to "override" the one in system.nim |
06:44:08 | gokr | Because "super type" is a "lesser match" than "ref T". |
06:44:16 | ldlework | gokr: ah yeah |
06:44:44 | gokr | Also, of course, you need to make sure `hash` follows `==` - for tables to work. |
06:44:57 | gokr | I don't think the comments in tables mentions that, but its like always. |
06:45:05 | gokr | Gotta feed the family here, later |
06:45:53 | fowl | ldlework, most of the std lib won't let you do obj == nil |
06:46:17 | fowl | however its pretty easy, look at the implementation for JsonNode |
06:49:40 | * | nimnoob quit (Ping timeout: 246 seconds) |
06:59:24 | * | nande quit (Remote host closed the connection) |
07:03:57 | * | fowl quit (Ping timeout: 240 seconds) |
07:09:43 | * | boydgreenfield joined #nim |
07:26:22 | * | boydgreenfield quit (Quit: boydgreenfield) |
07:26:50 | * | boydgreenfield joined #nim |
07:37:59 | ldlework | the trick is not using == nil |
07:38:02 | ldlework | and using isNil instead |
07:41:07 | gokr | Further... until a very recent commit - the `==` from system didn't use inherited fields. |
07:41:45 | gokr | Because they weren't visible in subclasses, that also affected marshalling that "missed" inherited fields. |
07:41:51 | gokr | But fixed in devel. |
07:44:46 | boydgreenfield | Hi – does anybody know if there are plans to update the default documentation CSS/look-and-feel pre-1.0? I’d heard rumors of such, but wanted to offer to pitch in if not. I realize it’s not *terribly* important on the one hand, but on the other, well, first impressions do matter. |
07:48:01 | Araq | boydgreenfield: hell yes |
07:48:17 | Araq | please go ahead and do it before we release |
07:48:53 | boydgreenfield | Araq: Not at all done, but spent a bit playing around earlier: http://htmlpreview.github.io/?https://gist.githubusercontent.com/boydgreenfield/74ea7f8a14cdf9d953bc/raw/aaa07154c0fd9cc97190dc0f5ba03b499dbaf3dc/index.html |
07:49:14 | boydgreenfield | Extends https://bitbucket.org/cskeeters/rst2html-style |
07:49:45 | boydgreenfield | And if I do (happy to), is the preferred way of doing this simply updating nimdoc.cfg? |
07:50:16 | Araq | yeah but I don't mind PRs to the docgen itself if you're up to this task |
07:51:05 | Araq | your design looks good to me, but I'm the one responsible for the old CSS, so we should listen to others first ;-) |
07:52:27 | boydgreenfield | Araq: Ok. I’ll start with an early PR that just has a few images/working preview for discussion, and then can modularize some of the CSS injection and the like from there. Are there any particular items you’d like to see on all the doc pages? (e.g., a “made with Nimrod” tagling, a logo, anything of that kind) |
07:54:04 | Araq | you can also try and get the 'view source' feature back into "working" state |
07:54:16 | Araq | had to disable it for 0.9.6 |
07:54:59 | Araq | also, no, I don't think we need a logo, but I don't mind it either |
07:58:08 | * | starless joined #nim |
07:59:23 | boydgreenfield | Great, will do. I noticed the “view source” functionality has the main GH repository hardcoded in – is there a practical build infrastructure / external tools reason for that? (Just for my awareness) |
08:00:21 | Araq | nah, it's just that gradha found it easier to implement it this way I think |
08:03:52 | boydgreenfield | Araq: Perfect. I’ll check back in tomorrow or Th. |
08:05:47 | Araq | ok. good |
08:06:15 | * | dyu joined #nim |
08:07:36 | * | boydgreenfield quit (Quit: boydgreenfield) |
08:12:04 | * | repax joined #nim |
08:18:07 | dyu | Araq: is it possible to map nim's int*,uint* to stdint.h's int* and uint*? |
08:18:45 | Araq | no, but you can write additional converters |
08:20:04 | * | Jesin quit (Ping timeout: 256 seconds) |
08:22:49 | * | bjz quit (Read error: Connection reset by peer) |
08:22:59 | dyu | ok. I do see cint but no cint{8/16/32/64} |
08:23:01 | * | bjz joined #nim |
08:30:18 | Araq | er ... what would be the point? |
08:30:32 | Araq | do you think cint16 is different from int16? |
08:30:55 | Araq | there is only so many ways of having 16bit wide integers |
08:31:53 | * | Trustable joined #nim |
08:36:02 | dyu | compiling with -DHAVE_STDINT_H seems to work |
08:37:32 | dyu | wasn't look at adding cint* ... just wanted to map the types to the stdint counterpart |
08:37:37 | dyu | looking* |
08:59:35 | dyu | Araq: So let foo:cstring = "foo" emits NCSTRING foo; foo = "foo"; |
08:59:45 | dyu | how to make it emit const NCSTRING foo; foo="foo";? |
09:00:18 | dyu | const modifier in c |
09:00:55 | dyu | I'm trying to interface with a c function that accepts const char* and get warnings |
09:06:23 | dyu | woops, I meant const NCSTRING foo = "foo" (eager assignment) |
09:08:14 | * | gour_ is now known as gour |
09:09:57 | * | starless quit (Quit: WeeChat 0.4.2) |
09:11:34 | * | khmm joined #nim |
09:14:49 | * | fowl joined #nim |
09:15:42 | * | khmm quit (Ping timeout: 245 seconds) |
09:17:09 | fowl | build.nim-lang.org is down |
09:17:20 | fowl | oh i see its down until further notice :( |
09:17:54 | fowl | trying to find out what "defer" is |
09:17:58 | fowl | good night |
09:20:33 | * | khmm joined #nim |
09:38:58 | dyu | Araq: const NCSTRING somestring != const char* somestring, any ideas why that is? |
09:39:18 | * | gokr quit (Ping timeout: 244 seconds) |
09:39:31 | dyu | I simply replaced NCSTRING with "char*" in the generated c file, and the warnings go away |
09:43:53 | dts|pokeball | what would be the proper function to append to the end of a file? |
09:44:07 | dts|pokeball | or rather, open a file and start writing at the end of it |
09:44:12 | * | gokr joined #nim |
09:55:00 | * | BillsPC quit (Remote host closed the connection) |
09:56:41 | * | kniteli quit (Ping timeout: 258 seconds) |
10:05:35 | * | z1y joined #nim |
10:11:54 | * | dts|pokeball quit (Ping timeout: 245 seconds) |
10:56:28 | * | z1y quit (Ping timeout: 256 seconds) |
11:33:15 | * | flaviu joined #nim |
11:57:40 | * | flaviu quit (Ping timeout: 256 seconds) |
12:03:55 | * | ARCADIVS quit (Quit: ARCADIVS) |
12:04:19 | * | BlaXpirit joined #nim |
12:31:24 | * | jasondotstar quit (Quit: Leaving) |
12:52:32 | * | khmm quit (Ping timeout: 244 seconds) |
12:56:33 | * | saml_ joined #nim |
12:56:56 | * | khmm joined #nim |
13:01:33 | * | khmm quit (Ping timeout: 272 seconds) |
13:04:57 | * | BitPuffin joined #nim |
13:05:57 | * | khmm joined #nim |
13:17:27 | * | BlaXpirit quit (Remote host closed the connection) |
13:17:31 | * | gour_ joined #nim |
13:18:15 | * | BlaXpirit joined #nim |
13:20:37 | * | gour quit (Ping timeout: 240 seconds) |
13:21:38 | * | gour_ is now known as gour |
13:41:37 | * | z1y joined #nim |
13:56:36 | * | saml_ quit (Quit: Leaving) |
14:02:22 | z1y | I am trying to build Aporia on Archlinux. I get error "./Aporia/aporia.nim(11, 7) Error: cannot open 'glib2'". My system already had "glib2". So what is "glib" here? |
14:05:09 | EXetoC | you need the gtk library for nim |
14:05:44 | EXetoC | nimble will take care of the dependencies for you if you install it that way |
14:07:47 | EXetoC | pacman -S nimble && nimble install -y aporia |
14:11:18 | z1y | that's better now, but build still fails http://pastebin.com/XxENzDPx |
14:12:47 | z1y | CustomStatusBar.nim(41, 24) Error: undeclared identifier: 'False' |
14:13:47 | z1y | uhm. nimble install -y aporia fails, but now I can compile github clone with "nim c aporia" |
14:13:48 | z1y | :) |
14:14:36 | EXetoC | yes because of the gtk package |
14:14:55 | z1y | woh aporia is running now. So beautiful :) |
14:16:37 | z1y | it's very simple though. I would use Geany instead. No syntax color at the moment ;) |
14:43:08 | * | z1y quit (Ping timeout: 256 seconds) |
14:54:25 | * | z1y joined #nim |
15:00:49 | * | gour quit (Disconnected by services) |
15:01:13 | * | gour joined #nim |
15:01:22 | * | gour_ joined #nim |
15:01:54 | * | gour left #nim (#nim) |
15:02:34 | * | BlaXpirit quit (Read error: Connection reset by peer) |
15:06:26 | * | gour_ is now known as gour |
15:08:44 | * | darkf quit (Quit: Leaving) |
15:15:59 | * | dts|pokeball joined #nim |
15:18:52 | dts|pokeball | how would i return a tuple from a function? |
15:37:14 | * | gour_ joined #nim |
15:38:38 | * | gour_ quit (Client Quit) |
15:56:09 | * | dts|pokeball quit (Ping timeout: 245 seconds) |
16:01:28 | * | kapil__ quit (Quit: Connection closed for inactivity) |
16:09:01 | * | z1y quit (Ping timeout: 272 seconds) |
16:11:01 | Araq | dyu: I dunno. who cares about warnings in generated C code? |
16:12:28 | dyu | Araq: Well its just weird why const NCSTRING doesn't translate to const char* |
16:17:24 | Araq | why should it? C's const has zero benefits and so the codegen mostly pretends it doesn't exist |
16:39:57 | * | gour quit (Quit: WeeChat 1.0) |
16:45:05 | Trixar_za | Oh, the channel's name changed? Linked Channel with a mass kick? oO |
16:52:23 | * | gokr_ joined #nim |
16:57:55 | * | BlaXpirit joined #nim |
17:09:25 | * | willwillson joined #nim |
17:10:50 | * | dts|pokeball joined #nim |
17:17:55 | * | BlaXpirit quit (Quit: Quit Konversation) |
17:22:11 | * | gour joined #nim |
17:33:37 | * | gokr_ quit (Ping timeout: 258 seconds) |
17:38:00 | * | gokr_ joined #nim |
17:43:48 | * | enurlyx joined #nim |
17:44:06 | * | gour_ joined #nim |
17:45:20 | * | gour_ left #nim (#nim) |
18:07:16 | * | dyu quit (Quit: Leaving) |
18:10:44 | * | flaviu joined #nim |
18:21:03 | * | johnsoft quit (Read error: Connection reset by peer) |
18:21:49 | * | johnsoft joined #nim |
18:26:16 | * | kniteli joined #nim |
18:53:17 | * | Matthias247 joined #nim |
18:58:29 | Araq | Trixar_za: well I have no idea what IRC's guidelines suggest |
19:10:32 | * | Jesin joined #nim |
19:14:16 | dts|pokeball | is there a minimalistic version of nim that i can build? |
19:17:34 | dts|pokeball | also, how many new c features does the nim compiler use? |
19:17:43 | repax | 34.6 |
19:18:01 | * | khmm quit (Ping timeout: 250 seconds) |
19:18:37 | dts|pokeball | ill rephrase. whats the newest c feature it uses? ie could i use a c99 or earlier compiler and be fine? |
19:21:09 | * | enurlyx1 joined #nim |
19:21:26 | * | enurlyx quit (Ping timeout: 264 seconds) |
19:23:33 | repax | dts|pokeball: I dunno, but thinking about this I wonder if "flexible arrays" (of C99) could be used to allow for open arrays in objects |
19:23:59 | dts|pokeball | hmmm |
19:24:11 | dts|pokeball | well it actually doesnt matter anymore, because apparently i can use pcc |
19:25:31 | repax | I compile to C++ because I believe it handles exceptions better |
19:25:50 | dts|pokeball | this is for my eval bot |
19:26:22 | repax | Good to see that you're still working on the bot :) |
19:26:35 | dts|pokeball | sarcasm? |
19:26:51 | repax | Not at all |
19:27:39 | dts|pokeball | oh... yeah. ive got v0.0.1 finished, and now i just need to get a sandbox and some build scripts written, then ill move the eval stuff to a new bot that just evals |
19:27:46 | dts|pokeball | which will be version 1 |
19:28:08 | repax | You have a time limit for execution? |
19:28:30 | dts|pokeball | yeah |
19:28:39 | dts|pokeball | so that while true: ... doesnt happen |
19:29:08 | repax | I think such a bot could be a great help here in #nim |
19:30:04 | EXetoC | just implement a similar array feature and re-use that |
19:30:22 | EXetoC | since C isn't used directly anyway |
19:30:38 | repax | Right. |
19:30:58 | repax | gtg |
19:31:01 | * | repax quit (Remote host closed the connection) |
19:31:51 | EXetoC | dts|pokeball: a C99 compiler would compile C89 code too, right? |
19:32:29 | dts|pokeball | EXetoC, yeah, but i was just wondering what was the earliest version of gcc i could get |
19:32:52 | dts|pokeball | because apparently earlier gcc compilers are faster than newer ones |
19:33:35 | flaviu | dts|pokeball: Might I advise that you use an existing sandboxing solution? I'm confident that one made by a non-expert will have holes. |
19:33:54 | EXetoC | you could use versions that are several years old I'm sure |
19:33:59 | dts|pokeball | flaviu, i am. im using docker now |
19:34:00 | flaviu | dts|pokeball: Try tcc if you don't care about performance. |
19:34:13 | EXetoC | since only C89 is supported |
19:34:27 | dts|pokeball | flaviu, im using pcc because apparently it compiles fast |
19:34:47 | flaviu | Ah, good. I heard something about parsing system calls, which sounded like you were implementing your own sandbox. |
19:35:08 | dts|pokeball | oh no |
19:35:54 | dts|pokeball | i was asking if open() would make a system call, because if it didnt i would have to parse for open and family (since i dont want people opening arbitrary files) |
19:36:02 | * | rpag joined #nim |
19:36:12 | dts|pokeball | because the sandbox solution i was using before blocked system calls |
19:36:50 | EXetoC | is it not a syscall on any platforms? |
19:37:12 | flaviu | EXetoC: microkernels? |
19:37:30 | flaviu | I hear they love to keep their filesystems in userspace. |
19:37:36 | dts|pokeball | i didnt want to assume it was and then have someone fuck something up |
19:38:06 | EXetoC | but he only needs to support a single platform of course |
19:38:11 | * | pwnedbot_1_ joined #nim |
19:38:27 | flaviu | ,eval echo open("/etc/passwd").readLine() |
19:38:29 | pwnedbot_1_ | flaviu: root:x:0:0:root:/root:/usr/bin/zsh |
19:38:41 | * | pwnedbot_1_ left #nim (#nim) |
19:38:48 | dts|pokeball | theres already an evalbot? |
19:38:57 | flaviu | dts|pokeball: Nope, that's your code. |
19:39:00 | dts|pokeball | ah |
19:39:04 | flaviu | I just took off the restrictions. |
19:39:10 | dts|pokeball | oh ok |
19:39:19 | EXetoC | and then there's memory allocation, and I found a relevant malloc replacement, but I can't remember the name |
19:39:25 | dts|pokeball | i now have a crappy implementetation of a whitelist |
19:39:29 | dts|pokeball | very slow atm though |
19:40:02 | flaviu | dts|pokeball: Have you posted a repo on github? |
19:41:08 | dts|pokeball | flaviu, not yet. when i move all of the eval code to nimbus ill put that one up |
19:41:22 | dts|pokeball | since BillsPC is my pet bot |
19:42:38 | EXetoC | add a timeout |
19:43:11 | EXetoC | I found this https://github.com/pshved/timeout |
19:44:11 | dts|pokeball | :D thanks |
19:51:23 | dts|pokeball | whats the repository for nim projects? like nim-code? |
19:52:02 | dts|pokeball | nvr mnd. found it |
19:52:43 | dts|pokeball | do i just create a public repo and nim-lang will fork it? |
19:55:24 | EXetoC | it is for official project. A couple of wrappers are there because they were initially part of the standard distribution I guess |
20:00:19 | Araq | dts|pokeball: older version of GCC should work better than TinyC. |
20:00:37 | dts|pokeball | Araq, pcc. and ok. awesome |
20:00:47 | dts|pokeball | ill benchmark to see which goes faster |
20:01:16 | Araq | And Nim uses the only C standard there is ... C89. C99 is that non-standard where they decided fucking variable length arrays on the stack is more important than having a portable way to check for integer overflows. ;-) |
20:01:19 | EXetoC | it might qualify as an official project though |
20:01:36 | EXetoC | does it Araq? an eval bot for the channel |
20:07:39 | EXetoC | and does 'deprecated' work better now than before? you told me not to use it before |
20:08:22 | dts|pokeball | well typically deprecated means not to use it |
20:08:43 | * | yeye123 joined #nim |
20:09:07 | yeye123 | moin moin |
20:09:53 | dts|pokeball | morning |
20:09:54 | EXetoC | dts|pokeball: I'm referring to the pragma used to deprecate symbols |
20:10:18 | dts|pokeball | EXetoC, oh. ignore me :} i still havent messed around with 60% of the language |
20:10:18 | Araq | EXetoC: er what? |
20:10:49 | Araq | I told you not to use deprecated? when? |
20:10:54 | Araq | in what context? |
20:11:01 | Araq | deprecated works fine |
20:11:50 | EXetoC | when I was about to deprecate opengl symbols. once again I don't remember many details |
20:12:20 | Araq | well that was context specific then |
20:13:15 | dts|pokeball | oh btw, this will most likely have some security flaws in v1, so i would appreciate some feedback/patches to fix them |
20:13:55 | Araq | dts|pokeball: your only option is to use OS/environment specific sandboxing |
20:14:31 | Araq | sandboxing Nim itself is very hard |
20:14:48 | EXetoC | but has anyone else bothered with deprecating pointer types? |
20:14:49 | * | gour quit (Remote host closed the connection) |
20:14:55 | Araq | for instance, you can do 'when not defined(sandbox): proc open*(...)' in system.ni |
20:15:02 | Araq | *system.nim |
20:15:12 | EXetoC | well, TFoo types also - all of the old conventions |
20:15:19 | Araq | but then people can simply importc the open feature |
20:15:23 | dts|pokeball | well yeah, but it will always be sandboxed |
20:16:19 | Araq | EXetoC: I think I remember now. don't deprecate too much so that "nimfix" has a chance to update people's code |
20:16:29 | * | kniteli quit (Ping timeout: 245 seconds) |
20:16:53 | Araq | once you have Foo vs foo in the wrapper, nimfix has essentially no chance anymore of fixing other people's code |
20:17:11 | Araq | but I guess it's too late now for this remark ... |
20:17:22 | EXetoC | that's after all a tool dedicated to solving such problems |
20:17:56 | EXetoC | *for solving |
20:18:05 | EXetoC | *for migrating such symbols |
20:19:05 | Araq | yeah but guess what. nimfix has to compile with --cs:none for it to work |
20:19:06 | dts|pokeball | g2g. if i can finish sandboxing it tonite then ill have v1 up tomorrow :} yay |
20:20:05 | yeye123 | did anybody check out gnoga for ada? would it be possible to do something similar in nim? seems cool but there are probably some drawbacks |
20:24:30 | EXetoC | Araq: I'll just deprecate then. I think I was having problems with deprecating in favor of pointer types, but I probably forgot to have aliases for those |
20:25:31 | * | dts|pokeball quit (Ping timeout: 272 seconds) |
20:25:34 | EXetoC | I'm not sure which ones are the primary types. it's probably the basic ones |
20:26:03 | * | drewsrem joined #nim |
20:28:42 | * | kniteli joined #nim |
20:28:52 | Araq | yeye123: gnoga sounds cool. but in general, there is nothing in Ada that cannot easily be done with Nim. except of course if you're after verification of hard realtime systems |
20:29:35 | yeye123 | I'm not after that :) |
20:31:44 | * | nimnoob joined #nim |
20:34:45 | * | gour joined #nim |
20:51:25 | * | Mat4 joined #nim |
20:51:38 | Mat4 | hello |
20:53:11 | yeye123 | hi |
20:53:34 | Mat4 | hi yeye123 |
20:55:02 | * | Mat4 left #nim (#nim) |
20:56:04 | * | zebra111 quit (Ping timeout: 255 seconds) |
20:56:31 | * | rektide joined #nim |
20:58:15 | * | Hexagon joined #nim |
20:58:31 | Araq | hi Hexagon welcome |
21:00:06 | Hexagon | Hello Araq |
21:02:06 | * | Mat4 joined #nim |
21:02:44 | * | Hexagon left #nim (#nim) |
21:03:25 | * | Hexagon joined #nim |
21:04:52 | * | Hexagon quit (Client Quit) |
21:05:54 | * | zebra111 joined #nim |
21:12:28 | * | yeye123 quit (Quit: Leaving) |
21:14:10 | * | nimnoob quit (Ping timeout: 246 seconds) |
21:14:18 | * | bjz quit (Ping timeout: 264 seconds) |
21:20:59 | * | Matthias247 quit (Quit: Matthias247) |
21:34:36 | * | StefanSalewski joined #nim |
21:37:04 | StefanSalewski | In glib there is a variable g_ascii_table, 256 uints with upper half all zero. Currently I have defined it in glib.nim like |
21:37:26 | StefanSalewski | var g_ascii_table: array[256, uint16] |
21:37:49 | StefanSalewski | g_ascii_table[0..127] = [0x004'u16, 0x004'u16, |
21:38:43 | StefanSalewski | Guess that may be ok, but may waste memory when multiple Nim GTK programs are running. |
21:39:48 | StefanSalewski | I guess it may be possible to access glibs intern variable from Nim by importc? But I can not find an example how to use importc for variables? |
21:40:16 | Araq | StefanSalewski: why wrap that at all? |
21:40:40 | Araq | who uses glib's stuff when there is encodings.nim etc. in Nim land? |
21:41:42 | StefanSalewski | Well, generally I try to make available whatever is possible without too much effort, because people may port code from C and be happy when all is available. |
21:42:14 | StefanSalewski | g_ascii-Table is used to check for character classes... |
21:42:14 | Araq | I prefer to not have this bloat instead |
21:42:18 | * | rpag quit (Quit: Leaving) |
21:43:20 | Araq | people usually know where to find C when they want C. the Nim wrapper should be for Nim programmers. |
21:43:36 | StefanSalewski | Personally I too -- but there will be people wanting it, and asking wy Nim can not offer it. |
21:43:49 | * | zebra111 quit (Read error: Connection reset by peer) |
21:43:52 | Araq | nope. I'm pretty sure there won't. |
21:45:29 | StefanSalewski | Well, I may agree. But in the manual there is a statement that importc allows access to C variables, so we need and example... |
21:46:10 | * | Hexagon joined #nim |
21:46:28 | StefanSalewski | Manual: The importc pragma provides a means to import a proc or a variable from C. |
21:46:34 | Araq | I didn't say it's impossible. I said, it's unnecessary. |
21:46:37 | * | Matthias247 joined #nim |
21:47:01 | Araq | the manual is correct. |
21:48:10 | Araq | it's a bit like wrapping const NULL = cast[pointer](0) |
21:48:41 | Araq | utterly pointless and only *confusing* for the programmers who don't know better. it's not helpful at all. |
21:49:11 | StefanSalewski | OK thanks, I will let is as it is, still enough work... |
21:49:16 | * | Hexagon quit (Client Quit) |
21:50:30 | * | zebra111 joined #nim |
21:56:58 | * | j3rky joined #nim |
21:59:30 | * | brson joined #nim |
22:06:45 | * | boydgreenfield joined #nim |
22:07:41 | * | saml quit (Quit: Leaving) |
22:08:13 | Araq | hi boydgreenfield |
22:08:22 | Araq | how's progress? |
22:13:11 | boydgreenfield | Araq: Ha, well I’m in San Francisco, so I went to sleep after chatting wtih you. But I’ll make some later tonight and can submit a preliminary PR. I was planning to just use that as a place for comment/discussion. That work? |
22:14:03 | * | nimnoob joined #nim |
22:15:04 | Araq | sure but I'll pretty much accept anything |
22:17:04 | boydgreenfield | Well, I’ll try to have it look nice, but relatively simple/not too stylized. :) |
22:19:59 | Araq | zio*whatever also had some nice CSS improvements |
22:20:13 | Araq | his design looked ubuntu-like though |
22:20:18 | Araq | brownish |
22:23:17 | * | boydgreenfield quit (Quit: boydgreenfield) |
22:26:17 | j3rky | are there any nim projects that compile to javascript for web applications? how would I go about using WebGL (I suppose I'd implement the renderer in JS for now and then provide wrapper functions)? |
22:26:42 | ldlework | j3rky: I haven't read anything about the js support |
22:27:36 | j3rky | there's a small paragraph in the docs. let me find it. |
22:28:59 | j3rky | http://nim-lang.org/backends.html#the-javascript-target |
22:29:21 | j3rky | further down there's an invocation example |
22:29:29 | * | boydgreenfield joined #nim |
22:29:37 | j3rky | i'd love to explore nim for web application development. not sure to what extent it's usable yet :) |
22:30:56 | boydgreenfield | Araq: Good to know. Will ping them if I see them. |
22:31:16 | ldlework | boydgreenfield: we should organize a SF Nim meetup |
22:32:07 | Araq | j3rky: the JS backend is suprisingly stable now IMHO |
22:32:13 | boydgreenfield | Idlework: Haha, sure. Though it will have to be in the new year. Feel free to email me: [email protected] |
22:32:33 | Araq | j3rky: if you use devel, that is |
22:33:17 | j3rky | Araq: awesome, I will try it soon. are there any open source projects you know of? |
22:34:07 | ldlework | boydgreenfield: who do you work for? |
22:34:23 | Araq | j3rky: $nim/web/babelpkglist.nim uses it |
22:34:44 | * | gokr2 joined #nim |
22:34:48 | boydgreenfield | Idlework: Myself! :) onecodex.com |
22:35:00 | j3rky | Araq: yeah, that was the only example i found. looking at the actual website, it seems to be broken atm :) |
22:35:28 | Araq | yeah it certainly is not used much |
22:36:14 | gokr2 | Varriount_: Wondering why the Linux32 build says "failed" but the ... actual build looks fairly green in the waterfall at least. |
22:37:03 | j3rky | ok, i'll just tinker around with it and see how far i get, thanks! |
22:37:36 | Araq | j3rky: what do you mean? works for me |
22:38:07 | Araq | http://nim-lang.org/lib.html |
22:38:19 | Araq | "There are currently 112 unofficial packages in the Babel package repository. ..." |
22:38:24 | gokr2 | Anyone running OSX virtually on OSX? Using say VirtualBox or Parallell? |
22:39:59 | * | gour quit (Quit: WeeChat 1.0) |
22:44:06 | j3rky | Araq: you're right, it's all good |
22:44:26 | nimnoob | it was broken a few days ago |
22:44:47 | nimnoob | when it was nimble and not babel |
22:45:08 | Araq | dom96 fixed it |
22:45:39 | nimnoob | i installed nimble, should i be using babel instead? |
22:47:00 | Araq | nah, nimble is the newer version |
22:48:33 | * | gmpreussner joined #nim |
22:49:02 | * | j3rky quit (Ping timeout: 264 seconds) |
22:49:03 | Araq | hi gmpreussner |
22:49:14 | Araq | did you wrap gmp? |
22:55:48 | flaviu | boydgreenfield: Still here? filwit started doing that, you could draw some inspiration from http://reign-studios.net/philipwitte/nimrod/docs/docs.htm# if you'd like. |
22:56:28 | Araq | flaviu: I don't like this design at all though |
22:57:37 | Araq | it's clumsy and I fear it'll end up like Javadoc. setFoo(Bar bar) ## sets Foo. Parameters: Bar bar: the bar. |
22:58:23 | flaviu | Araq: Huh? I'm not sure what that has to do with the design. |
22:58:32 | Araq | we should heavily encourage top level documentation. Purpose, limitations, examples |
22:58:41 | flaviu | I think the layout is great, but I don't really like the styling of the docs. |
22:58:49 | Araq | where is the place for the top level documentation in his design? |
22:59:52 | flaviu | The types section, I'd assume. I don't see why adding another section for the overview is a problem though, I bet he simply forgot about that. |
23:01:19 | Araq | well apart from that it's ugly :P |
23:02:29 | flaviu | I agree, I think it uses too much fancy stuff. Contrast could be better too. |
23:03:36 | Araq | hrm I wonder if I ever will be able to fix 10 bugs a day |
23:05:28 | flaviu | Araq: Doing pretty well: http://i.imgur.com/w0k3efx.png |
23:05:58 | boydgreenfield | flaviu: Thx. What I’ve done so far is mostly just swap out the CSS for `nim doc` (and add a few convenience wrapper classes into the generated HTML, but not mess with the internal structure): http://htmlpreview.github.io/?https://gist.githubusercontent.com/boydgreenfield/74ea7f8a14cdf9d953bc/raw/aaa07154c0fd9cc97190dc0f5ba03b499dbaf3dc/index.html |
23:06:46 | flaviu | boydgreenfield: I use http://pomf.se/, it's works very well |
23:06:55 | boydgreenfield | (note, the links do work locally, that’s this htmlpreview thing) |
23:06:59 | flaviu | for uploading html or other things |
23:07:03 | boydgreenfield | flaviu: Oh, nice. |
23:07:27 | flaviu | http://a.pomf.se/znavyf.html |
23:09:42 | nimnoob | pretty |
23:10:13 | flaviu | Yep, it looks good. |
23:11:43 | * | flaviu1 joined #nim |
23:11:45 | * | flaviu1 quit (Client Quit) |
23:12:51 | * | StefanSalewski quit () |
23:15:56 | boydgreenfield | flaviu / nimnoob: Any immediate suggestions? Going to spend an hour or two tweaking it in a little bit and then put up an initial PR/concept for discussion. |
23:16:55 | fowl | boydgreenfield, dark background and light text please |
23:17:16 | flaviu | boydgreenfield: javascript search possibly, as well as OOP style layout (see filwit's). Both of them seem beyond your scope though. |
23:17:16 | nimnoob | i'm just a noob, so no, i like it the way it is |
23:17:42 | fowl | there are layouts that look good for printing (black on white) and there are layouts that look good on lighted screens |
23:18:41 | boydgreenfield | flaviu: Well, let me look into #2 and I update the look. The JS question really comes down to use – it should probably optionally then include the JS *and/or* gracefully degrade for local use. |
23:19:07 | flaviu | I disagree about a dark theme, but it would be nice if the background wasn't #FFF. |
23:19:21 | * | boydgreenfield left #nim (#nim) |
23:19:37 | * | boydgreenfield joined #nim |
23:19:49 | boydgreenfield | flaviu: Agreed, I’m going to make it a light gray. |
23:20:09 | fowl | that works |
23:20:14 | fowl | please no blinding white |
23:21:26 | fowl | https://www.youtube.com/watch?v=9IjGNJPNyzU |
23:25:29 | * | z1y joined #nim |
23:26:01 | * | kniteli quit (Remote host closed the connection) |
23:29:44 | * | gokr_ quit (Ping timeout: 258 seconds) |
23:32:29 | * | kniteli joined #nim |
23:36:15 | * | gmpreussner quit (Ping timeout: 258 seconds) |
23:39:06 | * | enurlyx1 quit (Quit: Leaving.) |
23:54:54 | nimnoob | is everyone here using aporia? |
23:55:09 | nimnoob | i am currently using sublime2 |
23:55:20 | nimnoob | no complaints, but wonder if i am missing out |
23:57:24 | Araq | I use aporia :P |
23:58:47 | fowl | nimnoob, sublime 3 |