00:00:18 | Demos | well I really enjoy nimrod |
00:00:32 | BitPuffin | it is similar in many ways and is not lazy and it allows side effects |
00:03:24 | OrionPK | nimrod would be awesome if it had better libraries |
00:03:29 | OrionPK | better/more |
00:03:39 | OrionPK | and visual studio support *cough*demos |
00:03:55 | OrionPK | sorry. *more* awesome |
00:03:55 | OrionPK | ;) |
00:03:56 | Demos | hey! I am working on it |
00:04:03 | OrionPK | ;D |
00:04:15 | * | BlameStross quit (Ping timeout: 256 seconds) |
00:04:22 | OrionPK | I know - just letting u know there's interest from a vocal minority :P |
00:04:28 | Demos | pull the repo to test out the improved highlighting (all in c# this time) |
00:04:41 | BitPuffin | OrionPK: and a better type system :P |
00:05:01 | Demos | I also fixed build support in my personal project, but I have to roll the changes into the project gen |
00:05:04 | BitPuffin | or I guess one with less bugs once you step out of C territory |
00:05:23 | * | BlameStross joined #nimrod |
00:05:24 | Demos | static[T] support, the other parts of the type system work OK |
00:05:37 | BitPuffin | yeah |
00:05:52 | BitPuffin | but static[T] might get removed |
00:05:52 | OrionPK | demos nice :D |
00:06:02 | OrionPK | I'll check it out later tonight if i can |
00:06:04 | BitPuffin | andreas doesn't seem so sure aboout them |
00:06:08 | OrionPK | Im on on my mac right now |
00:06:16 | OrionPK | so you dont need libnimrod anymore? |
00:06:27 | Demos | yup! |
00:07:55 | OrionPK | very cool |
00:08:52 | BitPuffin | you use visual studio on mac? wtf |
00:09:07 | OrionPK | Demos you should add support for tmpl highlighting, if that's possible ;) |
00:09:14 | OrionPK | BitPuffin where did I say that? |
00:09:45 | Demos | what do you mean tmpl hightlighting? |
00:10:13 | BitPuffin | Demos: recognizing that a template can be used kind of like a keyword I guess |
00:10:23 | BitPuffin | OrionPK: everywhere |
00:10:24 | OrionPK | Demos https://dl.dropboxusercontent.com/u/417554/simple_site.png |
00:11:11 | OrionPK | https://github.com/onionhammer/nim-templates |
00:12:06 | Demos | oh like highlighting a different language inside the template? |
00:12:31 | OrionPK | yeah |
00:12:43 | OrionPK | fairly easy to do in sublimetext |
00:12:55 | Demos | well is there a c# library that provides hightlighting for other languages? |
00:13:04 | OrionPK | idk |
00:13:43 | flaviu | Demos: IronPython and Pygments? |
00:13:49 | Demos | NOOOOOO |
00:13:52 | Demos | NOOOOPE |
00:14:00 | reactormonk | Demos, and kinda hard in emacs ^^ |
00:14:01 | Demos | colorcode looks OK |
00:14:05 | EXetoC | doesn't c# have everything and then some? |
00:16:26 | OrionPK | but yeah, I use those templates all over |
00:16:43 | OrionPK | because they're nice for web programming and pretty much all i've done w/ nimrod to date are web apps heh |
00:17:01 | Demos | hm, actually even better would be activateing all the Visual Studio features for a given language in the quotes |
00:17:06 | Demos | that would be BAD ASS |
00:17:13 | OrionPK | yeah |
00:17:14 | OrionPK | I know |
00:17:30 | flaviu | And then you wouldn't have to worry about highlighting |
00:19:21 | Demos | Anyways this comes later, once everything else if figured out |
00:19:28 | * | Francisco joined #nimrod |
00:20:28 | OrionPK | aye |
00:21:47 | * | Fr4n quit (Ping timeout: 240 seconds) |
00:23:38 | * | nande quit (Ping timeout: 240 seconds) |
00:34:54 | * | boydgreenfield joined #nimrod |
01:02:26 | Varriount | *sigh* if only I could have nimrod plugins in sublime text |
01:02:39 | Varriount | Er, plugins written in nimrod. |
01:03:53 | flaviu | Varriount: Is there some way to draw hints in a different color from errors? |
01:05:07 | Varriount | flaviu: I believe that is up to the color scheme you've chosen. |
01:05:18 | Varriount | flaviu: I could be wrong thought. Let me check. |
01:06:03 | flaviu | You're right, although I'd think there are more error levels |
01:06:33 | Varriount | flaviu: Feel free to submit patches or pull requests. |
01:07:13 | Varriount | flaviu: Until the compiler-as-a-service feature becomes usable, I don't know of much that can be improved regarding the sublime text plugin for nimrod. |
01:07:21 | flaviu | Well, indentation |
01:07:53 | Varriount | Hm? Indentation for nimrod code should be set to 2 spaces by default. |
01:08:01 | flaviu | When I type `type<enter>`, it inserts `type\n`, when I want `type\n ` |
01:08:55 | Varriount | Er, could you explain that a bit? I don't think I understand correctly. |
01:09:04 | EXetoC | note the indent |
01:09:55 | flaviu | if spaces were periods, the last quote would be `type\n..` |
01:10:59 | Varriount | Ah, ok. |
01:11:38 | Varriount | flaviu: I don't know if sublime text can do that out-of-the-box. It might require something like what I did for comments. |
01:18:28 | * | q66 quit (Quit: Leaving) |
01:19:03 | * | nande joined #nimrod |
01:27:22 | * | Roin quit (*.net *.split) |
01:27:23 | * | Skrylar quit (*.net *.split) |
01:27:23 | * | Amrykid quit (*.net *.split) |
01:27:23 | * | Araq quit (*.net *.split) |
01:27:23 | * | darkfusi1n quit (*.net *.split) |
01:27:24 | * | TylerE quit (*.net *.split) |
01:27:24 | * | mal`` quit (*.net *.split) |
01:27:25 | * | btiffin quit (*.net *.split) |
01:27:25 | * | mko quit (*.net *.split) |
01:27:25 | * | fowl quit (*.net *.split) |
01:27:25 | * | bjz quit (*.net *.split) |
01:27:25 | * | zahary quit (*.net *.split) |
01:27:26 | * | BlameStross quit (*.net *.split) |
01:27:26 | * | untitaker quit (*.net *.split) |
01:27:28 | * | xenagi quit (*.net *.split) |
01:27:28 | * | betawaffle quit (*.net *.split) |
01:27:29 | * | Varriount quit (*.net *.split) |
01:27:29 | * | flaviu quit (*.net *.split) |
01:27:30 | * | phI||Ip quit (*.net *.split) |
01:27:30 | * | mmatalka quit (*.net *.split) |
01:27:30 | * | reloc0 quit (*.net *.split) |
01:27:30 | * | comex quit (*.net *.split) |
01:27:31 | * | jez0990_ quit (*.net *.split) |
01:27:31 | * | oddmunds quit (*.net *.split) |
01:27:31 | * | bstrie quit (*.net *.split) |
01:27:31 | * | def- quit (*.net *.split) |
01:27:32 | * | nande quit (*.net *.split) |
01:27:32 | * | brson quit (*.net *.split) |
01:27:33 | * | darkf quit (*.net *.split) |
01:27:34 | * | tumak quit (*.net *.split) |
01:27:34 | * | reactormonk quit (*.net *.split) |
01:27:34 | * | dLog quit (*.net *.split) |
01:27:35 | * | boydgreenfield quit (*.net *.split) |
01:27:35 | * | Francisco quit (*.net *.split) |
01:27:35 | * | clone1018 quit (*.net *.split) |
01:27:36 | * | JStoker quit (*.net *.split) |
01:27:36 | * | Demos quit (*.net *.split) |
01:27:36 | * | EXetoC quit (*.net *.split) |
01:27:36 | * | Boscop quit (*.net *.split) |
01:27:36 | * | milosn quit (*.net *.split) |
01:27:37 | * | eigenlicht_ quit (*.net *.split) |
01:27:38 | * | Zuchto quit (*.net *.split) |
01:27:38 | * | BitPuffin quit (*.net *.split) |
01:27:38 | * | gsingh93_ quit (*.net *.split) |
01:27:39 | * | dom96 quit (*.net *.split) |
01:27:39 | * | vendethiel quit (*.net *.split) |
01:27:39 | * | rixx quit (*.net *.split) |
01:27:40 | * | Raynes quit (*.net *.split) |
01:27:40 | * | silven quit (*.net *.split) |
01:27:41 | * | Jesin quit (*.net *.split) |
01:27:42 | * | nequitans quit (*.net *.split) |
01:27:43 | * | OrionPK quit (*.net *.split) |
01:27:44 | * | bastian__ quit (*.net *.split) |
01:27:45 | * | X-Scale quit (*.net *.split) |
01:27:45 | * | CARAM_ quit (*.net *.split) |
01:27:46 | * | skroll quit (*.net *.split) |
02:03:07 | * | Fr4n joined #nimrod |
02:03:07 | * | bstrie joined #nimrod |
02:03:07 | * | comex joined #nimrod |
02:03:07 | * | jez0990_ joined #nimrod |
02:03:07 | * | oddmunds joined #nimrod |
02:03:07 | * | def- joined #nimrod |
02:03:07 | * | betawaffle joined #nimrod |
02:03:07 | * | reloc0 joined #nimrod |
02:03:07 | * | mmatalka joined #nimrod |
02:03:07 | * | phI||Ip joined #nimrod |
02:03:07 | * | flaviu joined #nimrod |
02:03:07 | * | Varriount joined #nimrod |
02:03:07 | * | xenagi joined #nimrod |
02:03:07 | * | Roin joined #nimrod |
02:03:07 | * | Skrylar joined #nimrod |
02:03:07 | * | Amrykid joined #nimrod |
02:03:07 | * | Araq joined #nimrod |
02:03:07 | * | darkfusi1n joined #nimrod |
02:03:07 | * | TylerE joined #nimrod |
02:03:07 | * | mal`` joined #nimrod |
02:03:07 | * | nequitans joined #nimrod |
02:03:07 | * | Jesin joined #nimrod |
02:03:07 | * | bastian__ joined #nimrod |
02:03:07 | * | OrionPK joined #nimrod |
02:03:07 | * | skroll joined #nimrod |
02:03:07 | * | dLog joined #nimrod |
02:03:07 | * | reactormonk joined #nimrod |
02:03:07 | * | tumak joined #nimrod |
02:03:07 | * | darkf joined #nimrod |
02:03:07 | * | X-Scale joined #nimrod |
02:03:07 | * | eigenlicht_ joined #nimrod |
02:03:07 | * | milosn joined #nimrod |
02:03:07 | * | Boscop joined #nimrod |
02:03:07 | * | EXetoC joined #nimrod |
02:03:07 | * | Demos joined #nimrod |
02:03:07 | * | ARCADIVS joined #nimrod |
02:03:07 | * | brson joined #nimrod |
02:04:09 | NimBot | Varriount/NimLime master 7af7019 Erik O'Leary [+0 ±1 -0]: Modified osx key commands |
02:04:41 | * | btiffin joined #nimrod |
02:05:56 | * | CARAM_ joined #nimrod |
02:05:56 | * | Zuchto joined #nimrod |
02:05:56 | * | BitPuffin joined #nimrod |
02:05:56 | * | gsingh93_ joined #nimrod |
02:05:56 | * | dom96 joined #nimrod |
02:05:56 | * | vendethiel joined #nimrod |
02:05:56 | * | rixx joined #nimrod |
02:05:56 | * | Raynes joined #nimrod |
02:05:56 | * | silven joined #nimrod |
02:06:36 | * | CARAM_ quit (Changing host) |
02:06:36 | * | CARAM_ joined #nimrod |
02:06:52 | * | fowl joined #nimrod |
02:06:52 | * | bjz joined #nimrod |
02:08:39 | * | JStoker joined #nimrod |
02:08:39 | * | BlameStross joined #nimrod |
02:08:39 | * | untitaker joined #nimrod |
02:09:34 | * | gsingh93_ quit (Quit: Connection closed for inactivity) |
02:13:28 | flaviu | Varriount: It actually works! |
02:13:53 | Varriount | flaviu: Yes, however I don't think that's how you're supposed to do it. |
02:14:05 | Varriount | It seems that python does it through some sort of setting... |
02:14:15 | flaviu | I'm pretty sure that python is just special cased in sublime text |
02:15:11 | Varriount | Possibly... possibly not. |
02:17:13 | flaviu | Oh, its super simple |
02:17:37 | flaviu | Varriount: Check out Miscellaneous.tmPreferences |
02:18:52 | Varriount | Yeah, that's what I said.. |
02:19:44 | flaviu | Oh, I thought you were still looking for the setting |
02:20:58 | * | JStoker is now known as Guest81453 |
02:20:58 | * | X-Scale is now known as Guest13389 |
02:20:58 | * | Fr4n is now known as Guest62191 |
02:23:03 | * | Guest13389 quit (Ping timeout: 240 seconds) |
02:23:05 | Varriount | flaviu: What things need indenting? |
02:23:45 | * | Guest13389 joined #nimrod |
02:24:55 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
02:24:56 | flaviu | proc, converter, template, macro, iterator, let, var, const, type, = object, = generic.*, =, = enum |
02:25:10 | flaviu | All the python control flow except with |
02:25:40 | flaviu | I can figure this out and send a pr, don't worry about it |
02:26:35 | Varriount | Oh, thanks! |
02:29:16 | Varriount | flaviu: One of the things I dislike most about sublime text is the general lack of documentation on the more... obscure features. |
02:30:23 | flaviu | Technically, it is somewhat documented: http://manual.macromates.com/en/appendix :P |
02:32:29 | flaviu | for my own refrence: = tuple, = ref .*, = ptr .*, = var .*, = distinct .*, :, = object .*, |
02:32:54 | Varriount | flaviu: Yes, but thats for a seperate text editor. |
02:33:28 | flaviu | I was sarcastically agreeing with you, I realize that |
02:34:39 | Varriount | Ah. ok. |
02:43:55 | * | flyx joined #nimrod |
02:47:02 | flaviu | Varriount: Ok, PR sent. |
02:47:45 | * | Guest62191 quit (Quit: Leaving) |
02:48:29 | * | Fr4n joined #nimrod |
02:49:40 | Varriount | Eww. I'm looking at a protocol that's based on XML |
02:50:15 | flaviu | So... something that java uses? |
02:50:25 | Varriount | Probably. |
02:51:06 | Varriount | Someone contacted me a couple days ago, inquiring on a Collaborative editing plugin I made for sublime text (github.com/Varriount/Colliberation) |
02:51:42 | Varriount | They wanted to know if it could be made to support Gobby, a collaborative text editor/protocol. |
02:52:49 | Varriount | So I do some research, and find this: http://gobby.0x539.de/trac/wiki/Infinote/Protocol |
02:55:06 | flaviu | Colliberation isn't in the package manager? |
02:55:26 | Varriount | No - It's unfinished and unstable. |
02:56:16 | * | superfunc joined #nimrod |
02:58:12 | Varriount | flaviu: The only good thing that can be said about it is that it is extremely latency insensitive, due to the differential synchronization mechanism that is used. The downside to this is increased memory usage. |
02:58:57 | Varriount | flaviu: It could probably be made to work with gobby - much of the plumbing would have to be torn out, but the framework is relatively modular. |
03:00:15 | flaviu | I just wanted to try it out, what exactly is unstable? |
03:00:43 | Varriount | flaviu: Everything. It should work for simple stuff though. |
03:01:13 | Varriount | flaviu: There's no serializer, so any documents made will be lost when the server stops. |
03:01:33 | Varriount | flaviu: Also, wait one moment, I was about to push an update which fixes a particularly nasty glitch. |
03:03:00 | * | brson quit (Quit: leaving) |
03:04:26 | Varriount | flaviu: Ok, it's done. |
03:05:24 | Varriount | flaviu: Download the repo and place it in your packages directory. You can run start_server.py to start a server, and the sublime plugin should add a new drop down menu. |
03:05:35 | NimBot | Varriount/NimLime master 757214a Flaviu Tamas [+1 ±0 -0]: Create Miscellaneous.tmPreferences... 2 more lines |
03:07:55 | * | saml_ joined #nimrod |
03:08:33 | * | gsingh93_ joined #nimrod |
03:09:00 | Varriount | flaviu: I have a server running at 96.231.161.47 , default port |
03:20:52 | * | Varriount pokes flaviu |
03:30:24 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:30:36 | * | superfunc quit (Ping timeout: 255 seconds) |
03:34:03 | flaviu | Varriount: Sorry, I had to do some stuff, back now |
03:34:07 | flaviu | I'll try joining |
03:34:39 | Varriount | Ok. |
03:35:54 | flaviu | All the options are greyed out, am I missing something? |
03:36:11 | Varriount | Hm, something must have broken then. Check the console |
03:36:31 | Varriount | You should see only two options, one being "Connect to server" |
03:36:42 | flaviu | Ah, I'm using python 3 |
03:36:50 | Varriount | -_- |
03:38:04 | Varriount | Unfortunately, I'm too lazy to re-invent the wheel. I use several different libraries, one of which is Twisted. |
03:38:19 | flaviu | I'm seeing if there's a way to use python 2 |
03:38:36 | Varriount | flaviu: You mean, with sublime text 3? |
03:38:58 | flaviu | Yes, I'm using sublime text 3, and python 3 |
03:40:41 | Varriount | flaviu: You can't, unfortunately. |
03:40:57 | flaviu | Yeah, I can. I'll get change the python symlink to python 2 |
03:42:58 | Varriount | flaviu: But doesn't sublime text use its own internal python binary. |
03:43:59 | * | kshlm joined #nimrod |
03:44:08 | * | kshlm quit (Changing host) |
03:44:08 | * | kshlm joined #nimrod |
03:44:56 | * | bjz joined #nimrod |
03:46:14 | * | xenagi quit (Read error: Connection reset by peer) |
03:49:04 | flaviu | Ok, I connected |
03:49:29 | flaviu | Varriount: Are you on the server? |
03:49:43 | Varriount | Yes. |
03:49:59 | Varriount | From the Collaboration menu, open the document 'test.nim' |
03:52:13 | flaviu | I think I crashed it |
03:52:41 | Varriount | Hm. Did you get an error in the console? |
03:52:55 | Varriount | The server didn't crash, so it's likely the plugin that borked. |
03:53:09 | flaviu | ./colliberation/protocol.py:437: UserWarning: Shadow (8274236992150300118) doesn't equal data (1673312814) shadow_hash, data.hash |
03:53:42 | flaviu | Also, "Connection lost ... Connection closed cleanly" |
03:53:57 | Varriount | Odd. |
03:54:23 | flaviu | I was pushing the plugin with selections and other stuff, that might be it |
03:54:57 | Varriount | Yeah. I guess I should have stated that "In theory" the mechanism is resistant to latency and desynchronization. |
03:56:08 | flaviu | Anyway, neat plugin. I don't have much use for it, but I can definity see times where it'd be good to have |
03:56:31 | Varriount | flaviu: I haven't really had a chance to test it with normal usage, because it's hard to automate the kind of tests a plugin like this requires. |
03:56:43 | Varriount | And I can't be in two places at once. :/ |
03:57:35 | flaviu | Varriount: http://stackoverflow.com/questions/130354/how-do-i-simulate-a-low-bandwidth-high-latency-environment |
03:57:44 | flaviu | Also, AutoHotKey is amazing |
03:58:03 | * | bjz quit (Read error: Connection reset by peer) |
03:58:18 | * | bjz joined #nimrod |
03:58:34 | Varriount | flaviu: Ah. |
03:59:33 | Varriount | flaviu: The reason I got so far (relatively speaking) on that project is because it was quite interesting and fun to develop. Unfortunately, I haven't really found a similar project/idea with nimrod, other than developing the compiler and standard library. |
04:00:03 | Varriount | I'm also one of those people who agonizes over design, which doesn't really help. |
04:01:38 | flaviu | Pop into sublime text, and see what I've spent the last hour on |
04:02:20 | Varriount | Huh? |
04:02:34 | flaviu | didn't it show up? |
04:03:24 | Varriount | flaviu: You need to re-open the document |
04:03:48 | Varriount | When you disconnect, any shared documents become detatched. |
04:04:05 | flaviu | Seems that it doesn't like pasting either |
04:04:20 | flaviu | https://gist.github.com/flaviut/42c677e95f6b8438ad93 |
04:05:18 | Varriount | A url parsing library? |
04:05:27 | flaviu | No, that pretty comment |
04:06:11 | Varriount | flaviu: Is it generated from some other source? |
04:06:46 | flaviu | Haha, no, its hand-made. |
04:07:26 | flaviu | That might have been worth taking an hour for though |
04:09:08 | Varriount | flaviu: Found out what broke. Apparently whatever was pasted caused the hash function output encoded in the packets to fail. |
04:09:24 | Varriount | It actually crashed the server. |
04:10:42 | Varriount | flaviu: I still don't get what you gist'd though. What is it? |
04:11:02 | flaviu | Its a comment explaining how the url is broken down |
04:11:13 | Varriount | A url for what? |
04:11:25 | flaviu | I dunno, just a generic http url |
04:14:12 | Varriount | flaviu: Anyway, I need to get to bed. Good night. |
04:14:16 | flaviu | Night |
04:14:29 | Varriount | I hope you didn't find my collaborative plugin too disappointing. |
04:15:34 | flaviu | Its neat, even if buggy. I just don't have a usecase for it, I don't collaboratively with others |
04:15:42 | flaviu | *use |
04:17:58 | * | saml_ quit (Ping timeout: 240 seconds) |
04:54:35 | * | ARCADIVS quit (Quit: WeeChat 0.4.3) |
05:01:37 | * | superfunc joined #nimrod |
05:14:13 | * | Guest81453 quit (Changing host) |
05:14:13 | * | Guest81453 joined #nimrod |
05:14:13 | * | Guest81453 is now known as JStoker |
05:15:12 | * | superfunc quit (Ping timeout: 245 seconds) |
05:21:51 | * | Guest13389 quit () |
05:24:43 | * | X-Scale joined #nimrod |
05:34:48 | * | flaviu quit (Ping timeout: 240 seconds) |
05:35:48 | Skrylar | welp. vim is very useful for debugging nimrod |
05:36:42 | Skrylar | > record macro of copy/pasting proc line in to debugEcho(proc blah), undo changes, tell it to run macro on all proc lines |
05:47:34 | * | Jesin quit (Quit: Leaving) |
06:01:48 | * | bjz quit (Ping timeout: 255 seconds) |
06:03:17 | * | bjz joined #nimrod |
06:13:56 | * | Skrylar quit (Ping timeout: 240 seconds) |
06:14:43 | * | Skrylar joined #nimrod |
06:16:11 | NimBot | Araq/Nimrod devel 49ad6fc Araq [+0 ±3 -0]: fixes latest regression |
06:16:11 | NimBot | Araq/Nimrod devel c260b22 Araq [+0 ±1 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel |
06:16:13 | * | bjz quit (Ping timeout: 240 seconds) |
06:18:30 | * | bjz joined #nimrod |
06:20:49 | * | Puffin joined #nimrod |
06:23:03 | * | BitPuffin quit (Ping timeout: 272 seconds) |
08:04:20 | * | q66 joined #nimrod |
08:13:34 | * | Trustable joined #nimrod |
08:34:29 | * | kunev joined #nimrod |
10:21:27 | * | kshlm quit (Ping timeout: 245 seconds) |
10:54:48 | * | utkan joined #nimrod |
10:59:48 | * | utkan_ joined #nimrod |
11:01:18 | * | utkan quit (Ping timeout: 240 seconds) |
11:19:34 | * | gsingh93_ quit (Quit: Connection closed for inactivity) |
11:37:06 | * | Puffin quit (Quit: See you on the dark side of the moon!) |
11:42:38 | * | BitPuffin joined #nimrod |
11:53:39 | * | utkan_ quit (Read error: Connection reset by peer) |
11:53:49 | * | utkan__ joined #nimrod |
11:54:53 | * | io2 joined #nimrod |
12:03:24 | * | utkan__ quit (Read error: Connection reset by peer) |
12:03:58 | * | utkan__ joined #nimrod |
12:14:41 | * | clone1018 joined #nimrod |
12:29:59 | * | untitaker quit (Ping timeout: 256 seconds) |
12:33:02 | * | utkan__ quit (Quit: Computer has gone to sleep.) |
12:33:35 | * | utkan__ joined #nimrod |
12:34:05 | * | utkan__ quit (Read error: Connection reset by peer) |
12:36:19 | * | untitaker joined #nimrod |
13:08:34 | * | ics joined #nimrod |
13:27:51 | * | X-Scale quit (Ping timeout: 252 seconds) |
13:32:18 | * | io2 quit (Ping timeout: 240 seconds) |
13:42:13 | * | darkf quit (Quit: Leaving) |
13:47:46 | * | othello joined #nimrod |
13:48:27 | othello | hello, I'm new to Nimrod, but I'm really glad I came across this awesome language! |
13:48:57 | othello | I'd have a basic noob question regarding the IUP wrapper |
13:49:45 | othello | how do you call the iup.Open(argc: ptr cint, argv: ptr cstringArray) in Nimrod ? |
13:49:59 | othello | how to access argc and argv from within Nimrod |
13:58:18 | * | btiffin quit (Ping timeout: 240 seconds) |
13:59:03 | * | btiffin joined #nimrod |
14:00:45 | * | Araq_ joined #nimrod |
14:01:34 | Araq_ | othello: usually you can pass nil for these |
14:01:56 | Araq_ | the gtk2 wrapper has some code to access these from nimrod, I forgot how |
14:02:18 | * | Jehan_ joined #nimrod |
14:03:18 | Araq_ | var cmdLine{.importc: "cmdLine".}: array[0..255, cstring] cmdCount{.importc: "cmdCount".}: cint |
14:04:14 | Araq_ | iup.Open(addr(cmdLine), addr(cmdCount)) |
14:05:39 | othello | Many thanks! |
14:06:06 | othello | actually nil worked, but surely Araq's solution's even better |
14:06:19 | * | io2 joined #nimrod |
14:33:14 | * | Eurck joined #nimrod |
14:45:00 | othello | nimrod can't find the dll for IUP: `could not load: iup(30|27|26|25|24).dll` |
14:45:20 | othello | I'm on windows, I have iup.dll v3.9.0 in my SysWOW64 folder |
14:45:32 | othello | maybe I should try to link to the static IUP lib? |
14:46:04 | othello | I've tried putting iup.dll in the same folder as the nimrod-compiled executable, but to no avail |
14:49:27 | Araq_ | put it in the same folder and rename it iup30.dll |
14:54:06 | othello | I'd tried it too but it didn't work |
14:59:53 | * | X-Scale joined #nimrod |
15:00:55 | * | Eurck quit (Quit: Computer has gone to sleep.) |
15:02:29 | Araq_ | maybe it's some 64 vs 32 bit issue |
15:03:02 | othello | sounds likely, i'm gonna try it now |
15:04:23 | othello | nope, still no luck |
15:09:36 | othello | ok, I've fixed it. I was using the 3.10 (latest) IUP version, but you need the 3.0 version exactly (and rename the dll iup30.dll) |
15:10:05 | othello | many thanks again for your help, it's incredible to get direct help from the language creator himself! |
15:10:59 | Araq_ | you're welcome ;-) |
15:19:47 | * | Eurck joined #nimrod |
15:20:48 | * | Araq_ left #nimrod (#nimrod) |
15:20:49 | * | Eurck quit (Client Quit) |
15:20:56 | * | Eurck joined #nimrod |
15:26:26 | * | kunev quit (Read error: Connection reset by peer) |
15:28:40 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
15:31:45 | * | mko joined #nimrod |
15:41:08 | * | Jehan_ quit (Quit: Leaving) |
15:44:07 | * | Eurck quit (Quit: Computer has gone to sleep.) |
15:47:26 | * | bjz joined #nimrod |
15:55:25 | * | Eurck joined #nimrod |
15:56:00 | * | Eurck quit (Client Quit) |
16:05:04 | * | Eurck joined #nimrod |
16:07:48 | * | flaviu joined #nimrod |
16:32:00 | * | Matthias247 joined #nimrod |
16:32:03 | * | BitPuffin quit (Quit: See you on the dark side of the moon!) |
16:32:20 | * | BitPuffin joined #nimrod |
16:33:52 | * | Jesin joined #nimrod |
16:46:39 | * | kunev joined #nimrod |
16:49:58 | * | flaviu quit (Remote host closed the connection) |
16:51:32 | * | flaviu joined #nimrod |
16:53:16 | * | ARCADIVS joined #nimrod |
17:04:00 | * | ics quit (Ping timeout: 272 seconds) |
17:10:21 | * | lorxu joined #nimrod |
17:10:25 | lorxu | Hi guys |
17:11:05 | lorxu | There is a away to limit the type a generic accept? |
17:12:13 | def- | lorxu: you can list the allowed types explicitly or make a user defined type classe |
17:13:06 | lorxu | I dont find how to do it in the documentation |
17:13:22 | * | ics joined #nimrod |
17:13:25 | def- | lorxu: [T: int|float] |
17:13:38 | lorxu | Thanks |
17:13:42 | def- | and the other one is here: http://nimrod-lang.org/manual.html#user-defined-type-classes |
17:13:59 | lorxu | Thanks |
17:19:00 | * | othello quit (Quit: Page closed) |
17:20:18 | * | BitPuffin quit (Ping timeout: 240 seconds) |
17:21:57 | * | mwbrown joined #nimrod |
17:23:30 | * | Jehan_ joined #nimrod |
17:31:46 | * | Boscop_ joined #nimrod |
17:32:15 | * | Demos_ joined #nimrod |
17:32:43 | * | Eurck quit (Read error: Connection reset by peer) |
17:34:34 | * | Eurck joined #nimrod |
17:36:01 | * | brson joined #nimrod |
17:36:01 | * | brson quit (Client Quit) |
17:37:30 | dom96 | hi |
17:37:38 | * | milosn_ joined #nimrod |
17:38:23 | * | bjz_ joined #nimrod |
17:40:36 | * | AndChat|226100 joined #nimrod |
17:40:36 | * | lorxu quit (Read error: Connection reset by peer) |
17:41:18 | * | bjz quit (*.net *.split) |
17:41:18 | * | Demos quit (*.net *.split) |
17:41:19 | * | Boscop quit (*.net *.split) |
17:41:19 | * | milosn quit (*.net *.split) |
17:41:19 | * | eigenlicht_ quit (*.net *.split) |
17:45:47 | * | Matthias247 quit (Read error: Connection reset by peer) |
17:51:24 | * | eigenlicht_ joined #nimrod |
17:56:44 | * | mwbrown quit (Changing host) |
17:56:44 | * | mwbrown joined #nimrod |
17:57:26 | * | mwbrown quit (Quit: Leaving) |
17:59:13 | * | io2 quit (Ping timeout: 256 seconds) |
17:59:51 | * | Eurck quit (Read error: Connection reset by peer) |
18:04:53 | * | mwbrown joined #nimrod |
18:06:07 | mwbrown | Is there a good explanation available for the difference between identifiers with and without an asterisk? |
18:06:28 | mwbrown | for instance, when using c2nim it suffixes everything with a * including functions and constants |
18:06:38 | mwbrown | but you don't necessarily need it when writing functions |
18:07:02 | dom96 | * means the function/type/var is exported |
18:07:10 | dom96 | i.e. public |
18:07:17 | mwbrown | ahhh, makes perfect sense |
18:07:33 | mwbrown | that's why none of my code has needed it, because I'm not importing the module anywhere |
18:11:46 | * | lorxu joined #nimrod |
18:11:48 | * | AndChat|226100 quit (Read error: Connection reset by peer) |
18:42:03 | * | AndChat|226100 joined #nimrod |
18:42:03 | * | lorxu quit (Read error: Connection reset by peer) |
18:45:40 | * | rektide joined #nimrod |
18:51:42 | * | Boscop_ is now known as Boscop |
18:52:31 | dom96 | hi rektide |
18:52:49 | * | Boscop quit (Changing host) |
18:52:50 | * | Boscop joined #nimrod |
18:54:12 | rektide | hello dom96, hello #nimrod |
18:54:24 | dom96 | welcome to #nimrod! |
18:55:41 | rektide | it was great hearing that macros are getting put to use in the std lib to create async await. that's a great application, very handy to have. |
18:55:55 | rektide | i use https://github.com/jayphelps/sweet-async-await in js land which is similar-ish, although Promise based |
18:57:33 | dom96 | Yep. I love Nimrod's macros. We still have some things to sort out in regards to async await but you should be able to play around with it already. |
18:59:37 | dom96 | Nimrod's async is promise based too. |
19:00:01 | dom96 | But we call promises futures. |
19:12:37 | * | lorxu joined #nimrod |
19:12:37 | * | AndChat|226100 quit (Read error: Connection reset by peer) |
19:15:15 | def- | Hm, does anyone know how to get opengl/glut working? https://gist.github.com/def-/32bc787255e22a4068fb |
19:16:25 | def- | I just get segfaults for my opengl calls |
19:19:13 | dom96 | You need to call loadExtensions |
19:20:56 | def- | ah, thanks. i read that but thought I don't use any extensions, so I don't need it |
19:27:49 | def- | Hm, now only glEnd() throws an "invalid operation" |
19:32:50 | * | brihat joined #nimrod |
19:38:18 | * | lorxu quit (Read error: Connection reset by peer) |
19:39:24 | flyx | def-: why are you writing legacy OpenGL? |
19:40:12 | flyx | neither GLUT nor immediate mode are state-of-the-art |
19:40:15 | flyx | just saying |
19:40:46 | flyx | but I don't exactly see why glEnd causes this error. unless the OpenGL wrapper does something funny |
19:41:57 | def- | flyx: just trying to port this to Nimrod: http://rosettacode.org/wiki/OpenGL#C |
19:43:01 | flyx | def-: can you give me a pointer where exactly the exception is thrown? |
19:43:37 | flyx | oh, forget it, I see the problem |
19:44:31 | flyx | the opengl wrapper wrapps *every* import and does automatic error checking |
19:45:02 | flyx | but it is an error to call glGetError insid glBegin() … glEnd() |
19:45:48 | flyx | so glVertex* and glColor* call glGetError() and that error propagates to glEnd |
19:46:19 | flyx | (only when glEnd is called, the error is available through glGetError) |
19:46:29 | flyx | so the call to glGetError itself causes the error |
19:47:04 | flyx | (this is a nice example of how quantum mechanics work) |
19:47:16 | flyx | anyway, this has to be fixed in the opengl binding |
19:47:31 | * | Matthias247 joined #nimrod |
19:48:30 | flyx | let me try a quick and dirty fix |
19:51:24 | * | BitPuffin joined #nimrod |
19:52:56 | def- | flyx: ok, thanks |
20:01:15 | flyx | def-: try using https://github.com/flyx/opengl |
20:01:44 | flyx | unfortunately, it segfaults here, so I cannot test your code |
20:01:45 | def- | flyx: works |
20:01:55 | def- | flyx: ah, call loadExtensions() |
20:01:57 | def- | I forgot that too |
20:02:24 | flyx | good, I'll create a PR then |
20:13:03 | Demos_ | there is a way to disable the error checking I think |
20:13:28 | def- | Demos_: yes, i did that for now with enableAutoGlErrorCheck |
20:13:54 | flyx | Demos_: yes, indeed there is. but error checking *must* be disabled unconditionally between glBegin … glEnd |
20:14:09 | Demos_ | for some video drivers you can use the KHR_DEBUG extension (core in 4.3 or 4.4 I think) |
20:14:17 | Demos_ | flyx, indeed |
20:16:24 | flyx | I didn't use the existing boolean for disabling it to preserve the state before glBegin. |
20:36:52 | * | kunev quit (Ping timeout: 245 seconds) |
20:44:59 | Araq | Varriount! |
20:45:07 | * | io2 joined #nimrod |
20:45:39 | * | Francisco joined #nimrod |
20:46:17 | Araq | hi Francisco welcome |
20:47:49 | * | Fr4n quit (Ping timeout: 240 seconds) |
21:27:12 | Araq | hu? transformers 3 without megan fox? |
21:27:59 | Araq | why would anyone watch this movie then?! |
21:31:42 | dom96 | meh, Megan Fox. |
21:33:36 | Araq | hey |
21:34:04 | * | Araq likes her |
21:34:27 | * | brihat left #nimrod (#nimrod) |
21:34:34 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:35:09 | Jehan_ | I have never understood the appeal of the franchise myself. |
21:35:10 | mwbrown | as long as you ignore the thumbs |
21:36:09 | mwbrown | Jehan_: sometimes you can enjoy a mindless explosionfest |
21:36:10 | * | Trustable quit (Quit: Leaving) |
21:36:37 | Jehan_ | mwbrown: My understanding is that it's more about nostalgia for a certain segment of the population. |
21:36:41 | Jehan_ | I might be wrong, though. |
21:36:51 | mwbrown | there is that |
21:36:57 | dom96 | mwbrown: oh my god that thumb |
21:37:22 | dom96 | My 'meh' just went to 'get her away from me' |
21:37:50 | Araq | I can't follow. what "thumb"? |
21:38:05 | mwbrown | http://assets.nydailynews.com/polopoly_fs/1.376933!/img/httpImage/image.jpg_gen/derivatives/article_970/alg-stump-thumb-jpg.jpg |
21:38:12 | mwbrown | Araq: that thumb |
21:38:36 | Araq | XD lol who cares about her thumbs |
21:38:47 | mwbrown | anonymous strangers on the internet |
21:38:53 | mwbrown | who else? |
21:41:18 | dom96 | If you're going to fantasize about an unattainable celebrity you may as well fantasize about one which doesn't have freaky thumbs. |
21:41:54 | Araq | this thumb is perfectly fine anyway |
21:41:56 | Jehan_ | That's freaky? |
21:42:07 | def- | Anyone know of a better way to write into the char-array?: http://rosettacode.org/wiki/Use_another_language_to_call_a_function#Nimrod |
21:42:17 | Jehan_ | Why does everybody on TV have to be a photoshopped supermodel? |
21:42:34 | Araq | Jehan_: the point of TV is to forget reality |
21:42:49 | Araq | that works better when people look unrealistic |
21:43:15 | Jehan_ | Umm, I'd argue both parts of that, but not really in the mood for arguing. :) |
21:43:58 | dom96 | In regards to the Transformers movies: they are absolutely idiotic IMO. |
21:45:17 | Jehan_ | def-: Hmm, not sure if slices work if you mix arrays and strings. |
21:46:13 | def- | Jehan_: first i tried to just assume data as a cstring and i also tried memCopy |
21:46:24 | Jehan_ | copyMem should work, but is unsafe. |
21:46:32 | def- | copyMem changed the pointer to something else |
21:46:42 | def- | so it didn't work, and i don't know why |
21:47:50 | Araq | don't addr a cstring with copyMem |
21:48:18 | def- | Araq: also didn't work for the char-array |
21:51:09 | Jehan_ | Did you use addr(text) or addr(text[0]) for the string? |
21:51:21 | def- | addr(text), ooooh |
21:52:19 | def- | hm, no, still don't get it to work |
21:53:00 | Jehan_ | Maybe I'll have time to give it another look tomorrow, bedtime for now. Night! |
21:53:07 | * | Jehan_ quit (Quit: Leaving) |
21:53:15 | * | mwbrown quit (Ping timeout: 256 seconds) |
21:54:15 | * | Varriount|Mobile joined #nimrod |
21:54:57 | Araq | Varriount|Mobile! |
21:58:36 | Varriount|Mobile | Araq! |
21:58:57 | Araq | I have a project for you |
21:59:09 | Araq | hot code swapping! |
21:59:20 | Varriount|Mobile | o_O |
21:59:38 | Varriount|Mobile | Sounds spicy. and complicated |
21:59:45 | Araq | come on, it's incredibly cool |
22:00:07 | Araq | and it only requires some C codegen hacking |
22:00:16 | Varriount|Mobile | Hm.. ok. |
22:01:12 | Araq | fortunately we already use dlsym/GetProcAddress for DLL loading |
22:01:49 | Araq | so not much needs to be done to implement it |
22:07:56 | * | EXetoC joined #nimrod |
22:11:03 | Varriount|Mobile | Araq: So what would hot-swapping entail? |
22:13:33 | Araq | the codegen should produce a C proc like loadLuaDLL(x: string (or cstring)) |
22:15:15 | Araq | then people can do: |
22:15:57 | Araq | proc reloadLuaDLL(x: string) {.importc: "loadLuaDLL", nodecl.} |
22:16:34 | Araq | reloadLuaDLL "foolua.dll" |
22:16:58 | Araq | and all the function pointers are updated |
22:19:05 | Varriount|Mobile | Um, but how are the function pointers updated? Are they stored as pointers to pointers or something? |
22:20:17 | Araq | no, as global varialbes |
22:20:38 | Varriount|Mobile | Ah. |
22:22:13 | Varriount|Mobile | Araq: But what happens if a dll is reloaded while the program is executing a subroutine belonging to the dll? |
22:22:46 | Araq | well it's not thread safe |
22:23:11 | Varriount|Mobile | I'm talking about a single thread. |
22:23:18 | Araq | but so be it, people can write their own locks around this call if required |
22:23:21 | * | tinAndi joined #nimrod |
22:23:55 | Araq | well there is not much that can go wrong when single threaded |
22:24:23 | Varriount|Mobile | If a Nimrod procedure passes a callback to a dll proc, and the dll is reloaded, what happens? |
22:25:23 | Varriount|Mobile | I mean, if the callback reloads the dll |
22:25:44 | Araq | well don't do that |
22:25:59 | Araq | the more interesting question is what happens with global state in general |
22:26:14 | Varriount|Mobile | that too |
22:26:17 | Araq | in particular with global variables coming from the DLL |
22:27:20 | Araq | we might need code that every access to a global goes through some handler proc. However, it depends on how the OS implements dynlib loading |
22:27:21 | Varriount|Mobile | IIRC, in windows, the dll is entirely unmapped from memory |
22:27:25 | * | BlameStross quit (Quit: BlameStross) |
22:27:58 | Araq | so for a start let's ignore all these problems and see what windows does :-) |
22:29:15 | Varriount|Mobile | Araq: So the codegen will generate an extra procedure which reloads the dll? |
22:29:38 | Varriount|Mobile | Will reloading be done automatically, or manually? |
22:29:55 | Araq | reloading will be done manually |
22:30:44 | Araq | think about the "quake console" as the primary use case |
22:31:16 | Araq | you're testing some game, damn! AI doesn't work |
22:31:30 | Araq | you press TAB and enter: reload ai |
22:31:48 | Araq | which ends up calling reloadAiDLL |
22:32:26 | Araq | note that the game state is kept in the main program or some other DLL |
22:32:43 | Araq | and so you can simply continue |
22:32:48 | tinAndi | i do not want to dissturb but reloading a dll in the same thread/process should not affect anything on windows? or i'am wrong' |
22:33:51 | Araq | tinAndi: we'll see but in the worst case we have to give the DLL a new filename |
22:34:04 | Araq | and then windows won't complain |
22:38:58 | * | io2 quit (Ping timeout: 240 seconds) |
22:39:12 | * | io2 joined #nimrod |
22:39:50 | * | nande joined #nimrod |
22:39:52 | tinAndi | hmm, but then you basiclly have a different dll with a diff codseg 'and' a diff 'datasegment' (maybe I'am completly wrong) |
22:42:20 | Araq | yes, you have to be careful with your global state |
22:42:55 | Araq | but I think it'll work just fine in practice with a bit of planning |
22:43:18 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:43:33 | Araq | also we can implement a "no crash" compile mode for these DLLs |
22:44:18 | Araq | that logs "attempt to read from nil" somewhere but does not die |
22:45:21 | Araq | this way you can debug&recompile&reload but keep the game state |
22:53:59 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
22:55:52 | * | brson joined #nimrod |
22:56:24 | * | brson quit (Client Quit) |
22:56:55 | * | brson joined #nimrod |
23:17:42 | * | darkf joined #nimrod |
23:22:38 | * | tinAndi quit (Quit: ChatZilla 0.9.90.1 [Firefox 30.0/20140605174243]) |
23:26:32 | * | brson quit (Quit: leaving) |
23:44:42 | * | brson joined #nimrod |
23:44:42 | * | brson quit (Client Quit) |
23:44:51 | * | brson joined #nimrod |
23:49:40 | * | lorxu joined #nimrod |
23:49:58 | * | brson quit (Ping timeout: 240 seconds) |
23:55:18 | * | BlameStross joined #nimrod |
23:58:43 | * | brson joined #nimrod |