<< 11-07-2014 >>

00:00:18Demoswell I really enjoy nimrod
00:00:32BitPuffinit is similar in many ways and is not lazy and it allows side effects
00:03:24OrionPKnimrod would be awesome if it had better libraries
00:03:29OrionPKbetter/more
00:03:39OrionPKand visual studio support *cough*demos
00:03:55OrionPKsorry. *more* awesome
00:03:55OrionPK;)
00:03:56Demoshey! I am working on it
00:04:03OrionPK;D
00:04:15*BlameStross quit (Ping timeout: 256 seconds)
00:04:22OrionPKI know - just letting u know there's interest from a vocal minority :P
00:04:28Demospull the repo to test out the improved highlighting (all in c# this time)
00:04:41BitPuffinOrionPK: and a better type system :P
00:05:01DemosI also fixed build support in my personal project, but I have to roll the changes into the project gen
00:05:04BitPuffinor I guess one with less bugs once you step out of C territory
00:05:23*BlameStross joined #nimrod
00:05:24Demosstatic[T] support, the other parts of the type system work OK
00:05:37BitPuffinyeah
00:05:52BitPuffinbut static[T] might get removed
00:05:52OrionPKdemos nice :D
00:06:02OrionPKI'll check it out later tonight if i can
00:06:04BitPuffinandreas doesn't seem so sure aboout them
00:06:08OrionPKIm on on my mac right now
00:06:16OrionPKso you dont need libnimrod anymore?
00:06:27Demosyup!
00:07:55OrionPKvery cool
00:08:52BitPuffinyou use visual studio on mac? wtf
00:09:07OrionPKDemos you should add support for tmpl highlighting, if that's possible ;)
00:09:14OrionPKBitPuffin where did I say that?
00:09:45Demoswhat do you mean tmpl hightlighting?
00:10:13BitPuffinDemos: recognizing that a template can be used kind of like a keyword I guess
00:10:23BitPuffinOrionPK: everywhere
00:10:24OrionPKDemos https://dl.dropboxusercontent.com/u/417554/simple_site.png
00:11:11OrionPKhttps://github.com/onionhammer/nim-templates
00:12:06Demosoh like highlighting a different language inside the template?
00:12:31OrionPKyeah
00:12:43OrionPKfairly easy to do in sublimetext
00:12:55Demoswell is there a c# library that provides hightlighting for other languages?
00:13:04OrionPKidk
00:13:43flaviuDemos: IronPython and Pygments?
00:13:49DemosNOOOOOO
00:13:52DemosNOOOOPE
00:14:00reactormonkDemos, and kinda hard in emacs ^^
00:14:01Demoscolorcode looks OK
00:14:05EXetoCdoesn't c# have everything and then some?
00:16:26OrionPKbut yeah, I use those templates all over
00:16:43OrionPKbecause they're nice for web programming and pretty much all i've done w/ nimrod to date are web apps heh
00:17:01Demoshm, actually even better would be activateing all the Visual Studio features for a given language in the quotes
00:17:06Demosthat would be BAD ASS
00:17:13OrionPKyeah
00:17:14OrionPKI know
00:17:30flaviuAnd then you wouldn't have to worry about highlighting
00:19:21DemosAnyways this comes later, once everything else if figured out
00:19:28*Francisco joined #nimrod
00:20:28OrionPKaye
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:26Varriount*sigh* if only I could have nimrod plugins in sublime text
01:02:39VarriountEr, plugins written in nimrod.
01:03:53flaviuVarriount: Is there some way to draw hints in a different color from errors?
01:05:07Varriountflaviu: I believe that is up to the color scheme you've chosen.
01:05:18Varriountflaviu: I could be wrong thought. Let me check.
01:06:03flaviuYou're right, although I'd think there are more error levels
01:06:33Varriountflaviu: Feel free to submit patches or pull requests.
01:07:13Varriountflaviu: 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:21flaviuWell, indentation
01:07:53VarriountHm? Indentation for nimrod code should be set to 2 spaces by default.
01:08:01flaviuWhen I type `type<enter>`, it inserts `type\n`, when I want `type\n `
01:08:55VarriountEr, could you explain that a bit? I don't think I understand correctly.
01:09:04EXetoCnote the indent
01:09:55flaviuif spaces were periods, the last quote would be `type\n..`
01:10:59VarriountAh, ok.
01:11:38Varriountflaviu: 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:09NimBotVarriount/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:28flaviuVarriount: It actually works!
02:13:53Varriountflaviu: Yes, however I don't think that's how you're supposed to do it.
02:14:05VarriountIt seems that python does it through some sort of setting...
02:14:15flaviuI'm pretty sure that python is just special cased in sublime text
02:15:11VarriountPossibly... possibly not.
02:17:13flaviuOh, its super simple
02:17:37flaviuVarriount: Check out Miscellaneous.tmPreferences
02:18:52VarriountYeah, that's what I said..
02:19:44flaviuOh, 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:05Varriountflaviu: What things need indenting?
02:23:45*Guest13389 joined #nimrod
02:24:55*EXetoC quit (Quit: WeeChat 0.4.3)
02:24:56flaviuproc, converter, template, macro, iterator, let, var, const, type, = object, = generic.*, =, = enum
02:25:10flaviuAll the python control flow except with
02:25:40flaviuI can figure this out and send a pr, don't worry about it
02:26:35VarriountOh, thanks!
02:29:16Varriountflaviu: One of the things I dislike most about sublime text is the general lack of documentation on the more... obscure features.
02:30:23flaviuTechnically, it is somewhat documented: http://manual.macromates.com/en/appendix :P
02:32:29flaviufor my own refrence: = tuple, = ref .*, = ptr .*, = var .*, = distinct .*, :, = object .*,
02:32:54Varriountflaviu: Yes, but thats for a seperate text editor.
02:33:28flaviuI was sarcastically agreeing with you, I realize that
02:34:39VarriountAh. ok.
02:43:55*flyx joined #nimrod
02:47:02flaviuVarriount: Ok, PR sent.
02:47:45*Guest62191 quit (Quit: Leaving)
02:48:29*Fr4n joined #nimrod
02:49:40VarriountEww. I'm looking at a protocol that's based on XML
02:50:15flaviuSo... something that java uses?
02:50:25VarriountProbably.
02:51:06VarriountSomeone contacted me a couple days ago, inquiring on a Collaborative editing plugin I made for sublime text (github.com/Varriount/Colliberation)
02:51:42VarriountThey wanted to know if it could be made to support Gobby, a collaborative text editor/protocol.
02:52:49VarriountSo I do some research, and find this: http://gobby.0x539.de/trac/wiki/Infinote/Protocol
02:55:06flaviuColliberation isn't in the package manager?
02:55:26VarriountNo - It's unfinished and unstable.
02:56:16*superfunc joined #nimrod
02:58:12Varriountflaviu: 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:57Varriountflaviu: 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:15flaviuI just wanted to try it out, what exactly is unstable?
03:00:43Varriountflaviu: Everything. It should work for simple stuff though.
03:01:13Varriountflaviu: There's no serializer, so any documents made will be lost when the server stops.
03:01:33Varriountflaviu: 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:26Varriountflaviu: Ok, it's done.
03:05:24Varriountflaviu: 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:35NimBotVarriount/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:00Varriountflaviu: 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:03flaviuVarriount: Sorry, I had to do some stuff, back now
03:34:07flaviuI'll try joining
03:34:39VarriountOk.
03:35:54flaviuAll the options are greyed out, am I missing something?
03:36:11VarriountHm, something must have broken then. Check the console
03:36:31VarriountYou should see only two options, one being "Connect to server"
03:36:42flaviuAh, I'm using python 3
03:36:50Varriount-_-
03:38:04VarriountUnfortunately, I'm too lazy to re-invent the wheel. I use several different libraries, one of which is Twisted.
03:38:19flaviuI'm seeing if there's a way to use python 2
03:38:36Varriountflaviu: You mean, with sublime text 3?
03:38:58flaviuYes, I'm using sublime text 3, and python 3
03:40:41Varriountflaviu: You can't, unfortunately.
03:40:57flaviuYeah, I can. I'll get change the python symlink to python 2
03:42:58Varriountflaviu: 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:04flaviuOk, I connected
03:49:29flaviuVarriount: Are you on the server?
03:49:43VarriountYes.
03:49:59VarriountFrom the Collaboration menu, open the document 'test.nim'
03:52:13flaviuI think I crashed it
03:52:41VarriountHm. Did you get an error in the console?
03:52:55VarriountThe server didn't crash, so it's likely the plugin that borked.
03:53:09flaviu./colliberation/protocol.py:437: UserWarning: Shadow (8274236992150300118) doesn't equal data (1673312814) shadow_hash, data.hash
03:53:42flaviuAlso, "Connection lost ... Connection closed cleanly"
03:53:57VarriountOdd.
03:54:23flaviuI was pushing the plugin with selections and other stuff, that might be it
03:54:57VarriountYeah. I guess I should have stated that "In theory" the mechanism is resistant to latency and desynchronization.
03:56:08flaviuAnyway, 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:31Varriountflaviu: 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:43VarriountAnd I can't be in two places at once. :/
03:57:35flaviuVarriount: http://stackoverflow.com/questions/130354/how-do-i-simulate-a-low-bandwidth-high-latency-environment
03:57:44flaviuAlso, AutoHotKey is amazing
03:58:03*bjz quit (Read error: Connection reset by peer)
03:58:18*bjz joined #nimrod
03:58:34Varriountflaviu: Ah.
03:59:33Varriountflaviu: 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:03VarriountI'm also one of those people who agonizes over design, which doesn't really help.
04:01:38flaviuPop into sublime text, and see what I've spent the last hour on
04:02:20VarriountHuh?
04:02:34flaviudidn't it show up?
04:03:24Varriountflaviu: You need to re-open the document
04:03:48VarriountWhen you disconnect, any shared documents become detatched.
04:04:05flaviuSeems that it doesn't like pasting either
04:04:20flaviuhttps://gist.github.com/flaviut/42c677e95f6b8438ad93
04:05:18VarriountA url parsing library?
04:05:27flaviuNo, that pretty comment
04:06:11Varriountflaviu: Is it generated from some other source?
04:06:46flaviuHaha, no, its hand-made.
04:07:26flaviuThat might have been worth taking an hour for though
04:09:08Varriountflaviu: Found out what broke. Apparently whatever was pasted caused the hash function output encoded in the packets to fail.
04:09:24VarriountIt actually crashed the server.
04:10:42Varriountflaviu: I still don't get what you gist'd though. What is it?
04:11:02flaviuIts a comment explaining how the url is broken down
04:11:13VarriountA url for what?
04:11:25flaviuI dunno, just a generic http url
04:14:12Varriountflaviu: Anyway, I need to get to bed. Good night.
04:14:16flaviuNight
04:14:29VarriountI hope you didn't find my collaborative plugin too disappointing.
04:15:34flaviuIts neat, even if buggy. I just don't have a usecase for it, I don't collaboratively with others
04:15:42flaviu*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:48Skrylarwelp. vim is very useful for debugging nimrod
05:36:42Skrylar> 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:11NimBotAraq/Nimrod devel 49ad6fc Araq [+0 ±3 -0]: fixes latest regression
06:16:11NimBotAraq/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:27othellohello, I'm new to Nimrod, but I'm really glad I came across this awesome language!
13:48:57othelloI'd have a basic noob question regarding the IUP wrapper
13:49:45othellohow do you call the iup.Open(argc: ptr cint, argv: ptr cstringArray) in Nimrod ?
13:49:59othellohow 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:34Araq_othello: usually you can pass nil for these
14:01:56Araq_the gtk2 wrapper has some code to access these from nimrod, I forgot how
14:02:18*Jehan_ joined #nimrod
14:03:18Araq_ var cmdLine{.importc: "cmdLine".}: array[0..255, cstring] cmdCount{.importc: "cmdCount".}: cint
14:04:14Araq_iup.Open(addr(cmdLine), addr(cmdCount))
14:05:39othelloMany thanks!
14:06:06othelloactually nil worked, but surely Araq's solution's even better
14:06:19*io2 joined #nimrod
14:33:14*Eurck joined #nimrod
14:45:00othellonimrod can't find the dll for IUP: `could not load: iup(30|27|26|25|24).dll`
14:45:20othelloI'm on windows, I have iup.dll v3.9.0 in my SysWOW64 folder
14:45:32othellomaybe I should try to link to the static IUP lib?
14:46:04othelloI've tried putting iup.dll in the same folder as the nimrod-compiled executable, but to no avail
14:49:27Araq_put it in the same folder and rename it iup30.dll
14:54:06othelloI'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:29Araq_maybe it's some 64 vs 32 bit issue
15:03:02othellosounds likely, i'm gonna try it now
15:04:23othellonope, still no luck
15:09:36othellook, 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:05othellomany thanks again for your help, it's incredible to get direct help from the language creator himself!
15:10:59Araq_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:25lorxuHi guys
17:11:05lorxuThere is a away to limit the type a generic accept?
17:12:13def-lorxu: you can list the allowed types explicitly or make a user defined type classe
17:13:06lorxuI dont find how to do it in the documentation
17:13:22*ics joined #nimrod
17:13:25def-lorxu: [T: int|float]
17:13:38lorxuThanks
17:13:42def-and the other one is here: http://nimrod-lang.org/manual.html#user-defined-type-classes
17:13:59lorxuThanks
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:30dom96hi
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:07mwbrownIs there a good explanation available for the difference between identifiers with and without an asterisk?
18:06:28mwbrownfor instance, when using c2nim it suffixes everything with a * including functions and constants
18:06:38mwbrownbut you don't necessarily need it when writing functions
18:07:02dom96* means the function/type/var is exported
18:07:10dom96i.e. public
18:07:17mwbrownahhh, makes perfect sense
18:07:33mwbrownthat'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:31dom96hi rektide
18:52:49*Boscop quit (Changing host)
18:52:50*Boscop joined #nimrod
18:54:12rektidehello dom96, hello #nimrod
18:54:24dom96welcome to #nimrod!
18:55:41rektideit 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:55rektidei use https://github.com/jayphelps/sweet-async-await in js land which is similar-ish, although Promise based
18:57:33dom96Yep. 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:37dom96Nimrod's async is promise based too.
19:00:01dom96But we call promises futures.
19:12:37*lorxu joined #nimrod
19:12:37*AndChat|226100 quit (Read error: Connection reset by peer)
19:15:15def-Hm, does anyone know how to get opengl/glut working? https://gist.github.com/def-/32bc787255e22a4068fb
19:16:25def-I just get segfaults for my opengl calls
19:19:13dom96You need to call loadExtensions
19:20:56def-ah, thanks. i read that but thought I don't use any extensions, so I don't need it
19:27:49def-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:24flyxdef-: why are you writing legacy OpenGL?
19:40:12flyxneither GLUT nor immediate mode are state-of-the-art
19:40:15flyxjust saying
19:40:46flyxbut I don't exactly see why glEnd causes this error. unless the OpenGL wrapper does something funny
19:41:57def-flyx: just trying to port this to Nimrod: http://rosettacode.org/wiki/OpenGL#C
19:43:01flyxdef-: can you give me a pointer where exactly the exception is thrown?
19:43:37flyxoh, forget it, I see the problem
19:44:31flyxthe opengl wrapper wrapps *every* import and does automatic error checking
19:45:02flyxbut it is an error to call glGetError insid glBegin() … glEnd()
19:45:48flyxso glVertex* and glColor* call glGetError() and that error propagates to glEnd
19:46:19flyx(only when glEnd is called, the error is available through glGetError)
19:46:29flyxso the call to glGetError itself causes the error
19:47:04flyx(this is a nice example of how quantum mechanics work)
19:47:16flyxanyway, this has to be fixed in the opengl binding
19:47:31*Matthias247 joined #nimrod
19:48:30flyxlet me try a quick and dirty fix
19:51:24*BitPuffin joined #nimrod
19:52:56def-flyx: ok, thanks
20:01:15flyxdef-: try using https://github.com/flyx/opengl
20:01:44flyxunfortunately, it segfaults here, so I cannot test your code
20:01:45def-flyx: works
20:01:55def-flyx: ah, call loadExtensions()
20:01:57def-I forgot that too
20:02:24flyxgood, I'll create a PR then
20:13:03Demos_there is a way to disable the error checking I think
20:13:28def-Demos_: yes, i did that for now with enableAutoGlErrorCheck
20:13:54flyxDemos_: yes, indeed there is. but error checking *must* be disabled unconditionally between glBegin … glEnd
20:14:09Demos_for some video drivers you can use the KHR_DEBUG extension (core in 4.3 or 4.4 I think)
20:14:17Demos_flyx, indeed
20:16:24flyxI 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:59AraqVarriount!
20:45:07*io2 joined #nimrod
20:45:39*Francisco joined #nimrod
20:46:17Araqhi Francisco welcome
20:47:49*Fr4n quit (Ping timeout: 240 seconds)
21:27:12Araqhu? transformers 3 without megan fox?
21:27:59Araqwhy would anyone watch this movie then?!
21:31:42dom96meh, Megan Fox.
21:33:36Araqhey
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:09Jehan_I have never understood the appeal of the franchise myself.
21:35:10mwbrownas long as you ignore the thumbs
21:36:09mwbrownJehan_: sometimes you can enjoy a mindless explosionfest
21:36:10*Trustable quit (Quit: Leaving)
21:36:37Jehan_mwbrown: My understanding is that it's more about nostalgia for a certain segment of the population.
21:36:41Jehan_I might be wrong, though.
21:36:51mwbrownthere is that
21:36:57dom96mwbrown: oh my god that thumb
21:37:22dom96My 'meh' just went to 'get her away from me'
21:37:50AraqI can't follow. what "thumb"?
21:38:05mwbrownhttp://assets.nydailynews.com/polopoly_fs/1.376933!/img/httpImage/image.jpg_gen/derivatives/article_970/alg-stump-thumb-jpg.jpg
21:38:12mwbrownAraq: that thumb
21:38:36AraqXD lol who cares about her thumbs
21:38:47mwbrownanonymous strangers on the internet
21:38:53mwbrownwho else?
21:41:18dom96If you're going to fantasize about an unattainable celebrity you may as well fantasize about one which doesn't have freaky thumbs.
21:41:54Araqthis thumb is perfectly fine anyway
21:41:56Jehan_That's freaky?
21:42:07def-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:17Jehan_Why does everybody on TV have to be a photoshopped supermodel?
21:42:34AraqJehan_: the point of TV is to forget reality
21:42:49Araqthat works better when people look unrealistic
21:43:15Jehan_Umm, I'd argue both parts of that, but not really in the mood for arguing. :)
21:43:58dom96In regards to the Transformers movies: they are absolutely idiotic IMO.
21:45:17Jehan_def-: Hmm, not sure if slices work if you mix arrays and strings.
21:46:13def-Jehan_: first i tried to just assume data as a cstring and i also tried memCopy
21:46:24Jehan_copyMem should work, but is unsafe.
21:46:32def-copyMem changed the pointer to something else
21:46:42def-so it didn't work, and i don't know why
21:47:50Araqdon't addr a cstring with copyMem
21:48:18def-Araq: also didn't work for the char-array
21:51:09Jehan_Did you use addr(text) or addr(text[0]) for the string?
21:51:21def-addr(text), ooooh
21:52:19def-hm, no, still don't get it to work
21:53:00Jehan_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:57AraqVarriount|Mobile!
21:58:36Varriount|MobileAraq!
21:58:57AraqI have a project for you
21:59:09Araqhot code swapping!
21:59:20Varriount|Mobileo_O
21:59:38Varriount|MobileSounds spicy. and complicated
21:59:45Araqcome on, it's incredibly cool
22:00:07Araqand it only requires some C codegen hacking
22:00:16Varriount|MobileHm.. ok.
22:01:12Araqfortunately we already use dlsym/GetProcAddress for DLL loading
22:01:49Araqso not much needs to be done to implement it
22:07:56*EXetoC joined #nimrod
22:11:03Varriount|MobileAraq: So what would hot-swapping entail?
22:13:33Araqthe codegen should produce a C proc like loadLuaDLL(x: string (or cstring))
22:15:15Araqthen people can do:
22:15:57Araqproc reloadLuaDLL(x: string) {.importc: "loadLuaDLL", nodecl.}
22:16:34AraqreloadLuaDLL "foolua.dll"
22:16:58Araqand all the function pointers are updated
22:19:05Varriount|MobileUm, but how are the function pointers updated? Are they stored as pointers to pointers or something?
22:20:17Araqno, as global varialbes
22:20:38Varriount|MobileAh.
22:22:13Varriount|MobileAraq: But what happens if a dll is reloaded while the program is executing a subroutine belonging to the dll?
22:22:46Araqwell it's not thread safe
22:23:11Varriount|MobileI'm talking about a single thread.
22:23:18Araqbut so be it, people can write their own locks around this call if required
22:23:21*tinAndi joined #nimrod
22:23:55Araqwell there is not much that can go wrong when single threaded
22:24:23Varriount|MobileIf a Nimrod procedure passes a callback to a dll proc, and the dll is reloaded, what happens?
22:25:23Varriount|MobileI mean, if the callback reloads the dll
22:25:44Araqwell don't do that
22:25:59Araqthe more interesting question is what happens with global state in general
22:26:14Varriount|Mobilethat too
22:26:17Araqin particular with global variables coming from the DLL
22:27:20Araqwe 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:21Varriount|MobileIIRC, in windows, the dll is entirely unmapped from memory
22:27:25*BlameStross quit (Quit: BlameStross)
22:27:58Araqso for a start let's ignore all these problems and see what windows does :-)
22:29:15Varriount|MobileAraq: So the codegen will generate an extra procedure which reloads the dll?
22:29:38Varriount|MobileWill reloading be done automatically, or manually?
22:29:55Araqreloading will be done manually
22:30:44Araqthink about the "quake console" as the primary use case
22:31:16Araqyou're testing some game, damn! AI doesn't work
22:31:30Araqyou press TAB and enter: reload ai
22:31:48Araqwhich ends up calling reloadAiDLL
22:32:26Araqnote that the game state is kept in the main program or some other DLL
22:32:43Araqand so you can simply continue
22:32:48tinAndii 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:51AraqtinAndi: we'll see but in the worst case we have to give the DLL a new filename
22:34:04Araqand 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:52tinAndihmm, but then you basiclly have a different dll with a diff codseg 'and' a diff 'datasegment' (maybe I'am completly wrong)
22:42:20Araqyes, you have to be careful with your global state
22:42:55Araqbut 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:33Araqalso we can implement a "no crash" compile mode for these DLLs
22:44:18Araqthat logs "attempt to read from nil" somewhere but does not die
22:45:21Araqthis 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