<< 13-12-2014 >>

00:00:47Araqno the news section is cut off
00:01:28flaviuAraq: It's two screenshots stitched together from what I can tell.
00:02:02*kniteli quit (Remote host closed the connection)
00:02:03Araqwell I know an Opera user and he is used to the fact that many websites don't work for him, so it's fine anyway.
00:02:16AraqOpera users are used to broken websites.
00:02:52*flaviu can't stop laughing.
00:05:20Araqbut damn you. now I need to install FreeDOS and try it there
00:05:34Araqis there a browser for freeDOS?
00:06:29Araqyup. ARACHNE.
00:07:05flaviuI'm installing it, lets see what happens
00:07:42Araqhrm ... FreeDOS 1.1 Base CD. What does that mean CD?
00:07:55Araqwhere is the floppy version?!
00:08:05Araqepic failure.
00:08:12flaviuTry writing the CD image to a floppy.
00:09:26Araqwell that would require 40 floppies.
00:10:09flaviuIt's amazing how slow repainting is.
00:10:15AraqSam&Max had 14 iirc. Is this OS better than Sam&Max?
00:10:26*kniteli joined #nimrod
00:14:54*Jesin joined #nimrod
00:23:26Araqdamn I'm stupid
00:23:37Araqon the same page:
00:23:47Araq"FreeDOS bootable floppy image"
00:24:19*flaviu quit (Read error: Connection reset by peer)
00:24:59*brson quit (Quit: leaving)
00:25:44*flaviu joined #nimrod
00:26:02*AMorpork is now known as AFKMorpork
00:32:38Araqflaviu: well? does it work?
00:32:55flaviuAraq: I can't figure out how to get internet in dosbox :/
00:33:06flaviuThe browser installed, I just can't view anything useful
00:33:30flaviuretro: http://i.imgur.com/uxvIXYI.png
00:34:17Araqmaybe you have insufficient EMS memory?
00:34:55flaviuNo, the problem is that I can't figure out how to get dosbox to emulate a modem
00:43:35flaviuAraq: It doesn't work too well: http://i.imgur.com/ZbyiWUL.png
00:43:57flaviuIt's just barely better than lynx and w3m.
00:44:31AraqI think it's definitely good enough
00:44:51Araqin fact, I'm impressed how good it *works* (not *looks* though)
00:46:00*AFKMorpork is now known as AMorpork
00:46:02Araqso our footer should get something like "Optimized for Arachne 1.97 on FreeDOS"
00:46:29flaviuI'm not sure what dosbox runs
00:48:05Araqoh so you didn't run it on FreeDOS?
00:48:37Araqwell we can always ask Mat4 to test it on FreeDOS.
00:59:00juxIdea: make `cast` an infix operator. Good/Bad idea? I think it looks much cleaner
00:59:06flaviuIs there some way to increase the number of cores in the threadpool?
00:59:34flaviujux: Learn to love the uglyness. That's what I did ;)
01:00:01flavius/cores/threads/
01:02:20Araqflaviu: yes.
01:02:32Araqjux: well it was *designed* to look ugly
01:02:58Araqand it's easy enough to wrap it in a template when you think that's a good idea
01:03:06fowljux, template `as`* (some; tgt): expr = cast[tgt](some)
01:03:51juxIt's ugly because it's unsafe?
01:05:43Araqyes
01:05:57juxrust which is all about safety, uses infix `as`
01:06:20Araqer rust also requires an 'unsafe' block ...
01:06:40Araqalso I'm not sure you know type conversions look like T(x) in Nim
01:07:03Araqand 'cast' is really "interpret this bit pattern differently"
01:08:12juxyou can do int32(x)? Might have mist that
01:08:17jux*missed
01:08:22Araqyup
01:08:58flaviujux: Also keep in mind that Nim has UFCS, so x.int32 is equally valid.
01:09:58Araqbtw Rust is not *all about safety*, it's only about memory safety really.
01:10:02juxI must of missed that in the tutorial, or it did'nt have it
01:23:38Araqwhere is 'cast' mentioned?
01:28:22juxGrepping `cast` in the nim manual leads me to http://nimrod-lang.org/manual.html#type-casts must have picked up the habit from there
01:29:02Araqand now see what's right above that
01:29:58juxYeah, it's obvious in hindsight
01:35:49juxMaybe add a Type Conversion section int tut1 after the integer and float sections?
01:36:10Araqmake a PR please
01:51:03*cir0x joined #nimrod
02:01:05*willwillson quit (Ping timeout: 264 seconds)
02:07:13*Trustable quit (Quit: Leaving)
02:11:18*saml_ joined #nimrod
02:13:17*cir0x quit (Ping timeout: 240 seconds)
02:28:57*vendethiel- quit (Ping timeout: 240 seconds)
02:30:04*vendethiel joined #nimrod
03:21:15*dyu joined #nimrod
03:28:17*darkf joined #nimrod
03:31:02*flaviu quit (Read error: Connection reset by peer)
03:32:51*flaviu joined #nimrod
03:40:15*vendethiel quit (Ping timeout: 272 seconds)
03:43:37*q66 quit (Quit: Leaving)
03:47:18*vendethiel joined #nimrod
04:07:28*flaviu quit (Ping timeout: 265 seconds)
04:13:08*vbtt joined #nimrod
04:13:49vbtthello friends
04:14:25vbttthe new site is kickass
04:32:50*Jesin quit (Quit: Leaving)
04:36:39*Boscop joined #nimrod
04:41:45*johnsoft quit (Ping timeout: 264 seconds)
04:42:40*johnsoft joined #nimrod
04:42:53reactormonkpretty much
04:44:17*Jesin joined #nimrod
04:49:21*kapil__ joined #nimrod
04:49:30vbttI'm excited about 1.0
04:49:42vbttfinally, long awaited.
05:09:40*cir0x joined #nimrod
05:14:45*cir0x quit (Ping timeout: 264 seconds)
05:21:17*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
05:25:27*vbtt joined #nimrod
05:45:15*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
05:48:01*AMorpork is now known as ZzZMorpork
06:15:39*vendethiel quit (Ping timeout: 245 seconds)
06:19:06*starless joined #nimrod
06:23:30*vendethiel joined #nimrod
06:34:23*faitswulff joined #nimrod
06:34:27*faitswulff left #nimrod (#nimrod)
06:45:49*vendethiel quit (Ping timeout: 272 seconds)
06:54:32*vendethiel joined #nimrod
06:55:22*starless quit (Quit: leebing)
07:01:24*saml_ quit (Quit: Leaving)
07:01:27*kapil__ quit (Quit: Connection closed for inactivity)
07:08:32*gour joined #nimrod
07:10:16*flaviu joined #nimrod
07:36:14*kapil__ joined #nimrod
07:51:07*ARCADIVS joined #nimrod
07:57:35*BlaXpirit joined #nimrod
07:59:17*vendethiel quit (Ping timeout: 264 seconds)
08:05:55*vendethiel joined #nimrod
09:58:22*xcombelle joined #nimrod
10:02:27*kniteli quit (Read error: Connection reset by peer)
10:11:27*kapil__ quit (Quit: Connection closed for inactivity)
10:25:04*Matthias247 joined #nimrod
10:29:27*repax joined #nimrod
10:31:42*Trustable joined #nimrod
10:32:45*dyu quit (Quit: Leaving)
10:40:05*Trustable quit (Remote host closed the connection)
10:41:38*Trustable joined #nimrod
10:41:50*Trustable quit (Read error: Connection reset by peer)
10:42:51*Trustable joined #nimrod
10:43:25Varriount_Araq: I've updated the buildbot with the test uploading code. I'm testing it (again)
10:46:41*Trustable quit (Remote host closed the connection)
10:49:33*Trustable joined #nimrod
10:50:01*Trustable quit (Read error: Connection reset by peer)
10:56:08AraqVarriount_: nice.
10:56:30Araqmaybe we can release 10.2 this weekend?
10:56:42Araqready for release building?
10:58:27*milosn quit (Quit: Lost terminal)
11:06:30*xcombelle quit (Ping timeout: 256 seconds)
11:10:10Araqsee you later
11:15:21Varriount_Araq: Well, I'm free to help
11:16:34*Trustable joined #nimrod
11:19:27*Trustable quit (Remote host closed the connection)
11:21:48gourVarriount_: just to say 'thank you' for workin on ST2/3 plugin..looking forward to use it ;)
11:25:31*Trustable joined #nimrod
11:27:34*xcombelle joined #nimrod
11:28:30*Matthias247 quit (Quit: Matthias247)
11:30:57*milosn joined #nimrod
11:37:31*Matthias247 joined #nimrod
11:40:57*irrequietus joined #nimrod
11:44:57*jux quit (Quit: Leaving)
11:49:09*Varriount_ quit (Read error: Connection reset by peer)
12:03:49*cir0x joined #nimrod
12:08:17*cir0x quit (Ping timeout: 250 seconds)
12:22:37*cir0x joined #nimrod
12:28:40*cir0x quit (Ping timeout: 244 seconds)
12:38:31*cir0x joined #nimrod
12:42:00*dyu joined #nimrod
13:11:15*jasondotstar joined #nimrod
13:16:47*Matthias247 quit (Read error: Connection reset by peer)
13:33:55*q66 joined #nimrod
13:35:23*xcombelle quit (Ping timeout: 250 seconds)
13:35:37*gokr_ joined #nimrod
13:57:22*johnsoft quit (Ping timeout: 245 seconds)
13:57:55*johnsoft joined #nimrod
14:00:54*cir0x quit (Ping timeout: 258 seconds)
14:05:14*dyu quit (Quit: Leaving)
14:23:45*untitaker quit (Ping timeout: 264 seconds)
14:28:57*cir0x joined #nimrod
14:29:26*untitaker joined #nimrod
14:31:52*xcombelle joined #nimrod
14:35:57*BlaXpirit quit (Ping timeout: 240 seconds)
14:38:11*gour_ joined #nimrod
14:38:12*gour_ quit (Changing host)
14:38:12*gour_ joined #nimrod
14:41:50*gour quit (Ping timeout: 256 seconds)
14:41:57*gour_ is now known as gour
14:47:15flaviuLooks like no one has made a library to interpret html entities yet.
15:02:34*Trustable quit (Quit: Leaving)
15:03:56*clone1018_ quit (Remote host closed the connection)
15:05:00*clone1018_ joined #nimrod
15:15:49*yeye123 joined #nimrod
15:41:28*saml_ joined #nimrod
15:45:18*cir0x quit (Ping timeout: 244 seconds)
15:47:16*milosn quit (Ping timeout: 260 seconds)
15:48:02*yeye123 quit (Quit: Leaving)
15:54:43*darkf quit (Quit: Leaving)
15:55:14*ChanServ quit (shutting down)
15:59:58*BlaXpirit joined #nimrod
16:01:00*BlaXpirit quit (Client Quit)
16:24:07*ChanServ joined #nimrod
16:34:11gourwhat has happened with http://nimrod-by-example.github.io/ ?
16:39:43*enurlyx joined #nimrod
16:39:59enurlyxgour: http://nim-by-example.github.io/
16:41:28enurlyxoh, i see what you mean
16:41:29*ZzZMorpork is now known as AMorpork
16:41:44*cir0x joined #nimrod
16:46:08*cir0x quit (Ping timeout: 245 seconds)
16:47:00gourenurlyx: btw, who is the author of it?
16:47:43Araqgour: flaviu
16:48:06Araqflaviu: the htmlparser in the stdlib can resolve entities
16:48:06gourwell done!!
16:49:39gourbut nim-by-example is buggy - see e.g. http://nim-by-example.github.io/hello_world (ff34)
16:49:58flaviuAraq: Thanks.
16:50:17flaviugour: I think that got messed up during the rename, I'll investigate it.
16:50:41gournice wor, otherwise, flaviu
16:50:44gour*work
16:52:56Araqhow can I apply CSS rules to 2 different IDs?
16:53:13AraqI want them to affect both #slide2 and #slide1 ...
16:55:31flaviu#slide1, #slide2
16:55:42flaviuBut the better solution is to make a new class, .slide
16:56:11AraqI already have an "active" class
16:56:18Araqcan I make 2 classes?
16:56:33gouryes
16:57:03Araqinteresting
16:57:54flaviuHaha, I see the problem. The ubuntu pygmentize packages are from 2008!
16:58:50Araqof course they are. ubu doesn't use rolling releases
17:00:04flaviuWell, in the 10 since 2008, I sort of expected it to be updated.
17:00:09flaviu*10 releases
17:01:04*jasondotstar quit (Read error: Connection reset by peer)
17:02:53*jasondotstar joined #nimrod
17:08:28*repax quit (Ping timeout: 260 seconds)
17:11:53flaviuAraq: "back when slide1 was the quote". Just delete the whole thing, the entire reason version control exists is so that you don't need to comment out dead code.
17:15:09*Matthias247 joined #nimrod
17:42:32*cir0x joined #nimrod
17:47:44*cir0x quit (Ping timeout: 245 seconds)
17:51:06*Varriount joined #nimrod
17:59:20*repax joined #nimrod
18:05:38*willwillson joined #nimrod
18:34:36*gokr_ quit (Ping timeout: 258 seconds)
18:35:35*gokr_ joined #nimrod
18:40:58*elvispresley joined #nimrod
18:41:24*gandhi quit (Ping timeout: 250 seconds)
18:41:30*elvispresley is now known as elvispresley-
18:43:49*cir0x joined #nimrod
18:48:09*cir0x quit (Ping timeout: 245 seconds)
18:50:30*saml_ quit (Ping timeout: 250 seconds)
19:04:46*gokr_ quit (Ping timeout: 256 seconds)
19:05:49*milosn joined #nimrod
19:06:16*gokr_ joined #nimrod
19:18:46dts|pokeballdoes aporia not build correctly with nim devel?
19:39:30Araqflaviu: I don't care. can never remember the git command to look at a file's history
19:39:37Araqgit log -n ?
19:39:43flaviujust git log myfile
19:39:53Araqthat shows the commits
19:39:57Araqnot the diffs
19:40:52Araqanyway, your slide1, slide2 stuff doesn't work
19:41:01Araqnow slide1 renders wrongly
19:41:06Araqand I don't know why
19:42:10*Boscop_ joined #nimrod
19:42:18AraqI swear this is the last time in my life. I'll never touch css again.
19:43:30flaviuAraq: Most CSS is much nicer.
19:43:59*gokr_ quit (Ping timeout: 245 seconds)
19:44:06Araq*shrug* this whole system is inherently non-composable and hostile to tooling.
19:44:32*cir0x joined #nimrod
19:44:44Araqit only "works" when your definition of "works" completely ignores "time to get it to work"
19:45:01shodan45hah... try css, js, html, php, & mysql.... the horrible life of a LAMP dev
19:45:17elvispresley-PHP implies no quality at all
19:45:26flaviuAraq: I've just been working on some CSS myself. I only got hung up once, and that was completely my fault.
19:45:33*Boscop quit (Ping timeout: 244 seconds)
19:45:45*gokr_ joined #nimrod
19:45:55flaviuAraq: BTW, the command for me when I want to see a log with diffs is `glp`
19:46:06flaviualiases are quite nice.
19:46:19shodan45elvispresley-: quality? who needs quality? >_>
19:46:40elvispresley-people who value their health
19:46:42Araqyeah and then you work on your collegue's computer and are lost
19:47:35flaviuAraq: use google and avoid working on a someone else's computer
19:49:05*cir0x quit (Ping timeout: 264 seconds)
19:49:27gourAraq: have you ever tried Fossil (http://fossil-scm.org/index.html/doc/tip/www/index.wiki) ?
19:49:29Araq*shrug* "it's not broken when you can patch over it" is a poor argument
19:50:03flaviuI never said it was broken, just that I can't be bothered to memorize stuff.
19:50:04*Trustable joined #nimrod
19:51:00Araqso you agree it's non obvious
19:51:14Araqas you can't be "bothered" to remember it
19:51:34gourthat's why i like fossil, it's much more intuitive and simpler
19:52:02gourcan never remember e.g .git's syntax with remote branches :/
19:52:09Araqgour: well I use git because our project is on github. how does fossil help me for that?
19:52:37flaviuAraq: It's non-obvious for a newcomer. But right below `COMMON DIFF OPTIONS` in the man page is `-p, -u, --patch`. It's now completely obvious for me what the command is.
19:53:10Araqshouldn't it be under "log options"?
19:53:58flaviuAraq: Good point, that is non-obvious.
19:53:59flaviugour: You need a better shell, have you tried zsh with someone else's config?
19:54:45Araq"git history myfile.nim --contents" # here. that would be reasonable. took me 1 second to design it.
19:55:49flaviuAraq: I'm sure others would appreciate it if you packaged a few of those functions up as a series of aliases.
19:56:32EXetoCthere are completion files for bash and zsh
19:57:53Araqflaviu: I solved my problem by copying the CSS for slide2
20:01:34flaviuthat's not a good idea, but the CSS is already a horrible mess.
20:01:42Araqnow ... does anybody have a tiny show-off example for DSLs?
20:02:11Araqflaviu: it's only bad if you intend to maintain it. but I don't. I will never touch it again. ;-)
20:04:01gourAraq: well, fossil is github-in-the-box :-)
20:04:09repaxHow does one use destructors? I try the following: proc destroy(ag: var MyType) {.override.} =
20:04:17repaxbut get this error: Error: use the {.experimental.} pragma to enable destructors
20:04:19gourflaviu: for same/similar reason i use fish shell
20:04:31repaxexperimental is not recognized
20:04:46Araqrepax: the experimental is a toplevel pragma
20:04:48flaviugour: I used to use that, it's quite nice.
20:04:56gourAraq: drh's point is that one has to save brain cpu cycles for the project and not for the tool(s)
20:04:59Araq{.experimental.} # at the top of your module
20:05:19Araqgour: yup. exactly.
20:05:32repaxThanks, that worked :)
20:07:00gourAraq: ..that's why he wrote it
20:16:29*Boscop_ quit (Quit: Boscop_)
20:21:39*nimnoob joined #nimrod
20:23:22nimnoobHi all. I am getting a SIGSEGV exception. Is there any way to determine why that would happen?
20:24:09Araqdo you crash the compiler or does your program crash?
20:25:06nimnoobthe program is crashing
20:25:20nimnoobi am calling glTexImage2D
20:25:25Araqoh
20:25:33nimnoobit works for a 256x256 bmp but fails for larger sizes
20:25:54Araqcalled 'loadExtensions'?
20:25:58nimnoobyep
20:26:07nimnoobi am using the sample from the website as my base
20:26:24Araqwell maybe your hardware doesn't support larger textures?
20:26:56EXetoCI think it has to be a very old card then
20:27:03EXetoCoh
20:27:20nimnoobthis is an ubuntu vmware fusion vm running on a macbook pro
20:28:00nimnoobi can check what is allocated
20:28:46flaviunimnoob: That sounds like it's likely to not have enough vram
20:30:02nimnoob768mb shared graphics memory
20:31:10EXetoCand I think it should fail silently then
20:31:14Matthias247might be due to the vmware graphics driver? Might not support opengl vvery good
20:34:50nimnoobSIGSEGV: Illegal storage access. (Attempt to read from nil?)
20:36:06flaviunimnoob: Try gdb maybe?
20:36:34nimnoobwill do. that's where the noob part comes in :)
20:36:49flaviumake sure to use `--embedsrc --debuginfo --lineDir:on`
20:38:28nimnoobi am going to try to allocate more vram first just as a test
20:38:38nimnoobi shall return. thanks for the ideas
20:39:09*nimnoob quit (Quit: Page closed)
20:45:17*cir0x joined #nimrod
20:46:04*gokr_ quit (Ping timeout: 245 seconds)
20:50:01*cir0x quit (Ping timeout: 250 seconds)
20:51:21*gokr_ joined #nimrod
21:01:19flaviu(this is ubuntu 12.04) `/home/ubuntu/nim/lib/system/atomics.nim: In function ‘atomicinc_13401’: /home/ubuntu/nim/lib/system/atomics.nim:177:41: error: ‘__ATOMIC_RELAXED’ undeclared (first use in this function)`
21:01:29flaviuHas anyone else had problems with it?
21:05:43Araqflaviu: well atomics.nim changed but it's been a while
21:06:07flaviuThis is my first time using ubuntu in a couple years ;)
21:06:11*Trustable quit (Remote host closed the connection)
21:06:22Araqwhat happened?
21:06:39flaviuI'm using an online VM to set up automated builds
21:07:00*Trustable joined #nimrod
21:07:40flaviuMaybe updating gcc to something of this era will fix things.
21:09:47*Demos joined #nimrod
21:17:58*lbmn joined #nimrod
21:18:36lbmnPosted http://forum.nimrod-lang.org/t/671 from http://www.reddit.com/r/nimrod as requested.
21:28:04*Mat4 joined #nimrod
21:28:12Mat4hello
21:28:22reactormonko/
21:31:05Araqhi lbmn.
21:31:37*gour quit (Quit: Konversation terminated!)
21:32:50*xcombelle quit (Quit: Quitte)
21:33:52Mat4Araq: Just readed, you are on the route to install FreeDOS ?
21:34:19AraqMat4: nah, I wasn't even able to install it and it only was a joke anyway
21:34:46Mat4*g*
21:35:32lbmnI've been posting more Nim(rod) posts to https://www.facebook.com/copyfree.org ; is anyone manning https://www.facebook.com/nimrodcode ?
21:37:34*milosn quit (Ping timeout: 264 seconds)
21:37:51Varriountlbmn: Probably dom96
21:39:18VarriountHrm. I wish *nix had something like powershell. I don't have to do nearly as much input-output massaging with it than I have to do with bash.
21:41:27AraqVarriount: we moved on. we're now bashing CSS. ;-)
21:42:13VarriountAraq: But I don't have any knowledge of CSS...
21:43:11flaviuVarriount: That's alright, you'll fit right in!
21:43:58TrustableHi all
21:44:37TrustableOn the website there is the text "Nim the only language that leverages automated proof technology.."
21:44:46TrustableIt seems that there is missing a word.
21:45:25AraqTrustable: good catch.
21:46:03*cir0x joined #nimrod
21:46:05VarriountHm.. "Automated proof technology" -> Doesn't Haskell use proofs or something?
21:46:24Araqwell you have to read the whole sentence
21:46:51flaviuVarriount: Types are proofs of type correctness. So every language has automated proof technology technically.
21:49:51Araqwell yes and no
21:50:17VarriountWhat does haskell do regarding threading?
21:50:40*milosn joined #nimrod
21:50:46*cir0x quit (Ping timeout: 264 seconds)
21:50:50flaviuAraq: Dynamically typed languages still do type checking, but it just so happens they only have a single type.
21:50:59*lbmn quit (Quit: Leaving)
21:51:15*Araq sighs
21:51:25Araqagain: do not lecture me.
21:51:43VarriountSo.. What is better, using methods, or using a dispatch table?
21:52:30Araqflaviu: usually "proof technology" means more than just type checking, but strictly speaking you are correct
21:52:49Araqhowever strictly speaking CPython is also compiled, albeit to a bytecode.
21:53:14Araqthat doesn't mean the distinction between "interpreted" and "compiled" is useless.
21:54:08reactormonkAraq, I'd say you require one commit per discussion about programming languages
21:55:30flaviureactormonk: That might not be as effective as you're hoping. I can have 45 discussions about programming languages.
21:55:41reactormonkflaviu, fuck.
21:56:33VarriountAnyone here know why Java programs tend to use huge amounts of memory?
21:57:16VarriountI mean, a simple GUI program I wrote for my CS class took up more running memory than Sublime Text did with 10 opened files.
21:57:29reactormonkVarriount, probably starting cost?
21:57:50VarriountStarting cost?
21:57:50*flaviu quit (Read error: Connection reset by peer)
21:57:50reactormonkThe stuff I'm working with tends to drain memory anyway (models), then add the JVM on top of it.
21:58:50*flaviu joined #nimrod
21:58:55DemosVarriount, there are good memory profilers for java are there not?
21:59:08VarriountDemos: I don't know, are there?
21:59:13DemosI think so
21:59:36reactormonkVarriount, there's a few, and they're not too hard to use
21:59:46flaviuVarriount: The JVM is incredibly complex, so it takes lots of memory. It also uses a copying collector, so that requires quite a bit of overhead to avoid constantly GC'ing
22:00:16flaviuThen each object is a minimum of 24 bytes or so, and everything needs to be on the heap
22:00:43flaviuVarriount: Check out virtualvm. IIRC it comes bundled with Java
22:00:55Araqand then the programmers are trained that "memory is cheap and GC free"
22:01:25reactormonkAraq, not when you start messing with my dimensions - but then again, dev time isn't too cheap either
22:02:03Mat4Varriount: 1. large Environment caused by the object model + memory collection, 2. JIT compilation with larger memory requirements
22:02:04flaviuAraq: And GC is very cheap. The problem is that no gc is always cheaper than GC.
22:03:12reactormonkflaviu, except if you have memory leaks
22:03:26Araqflaviu: only the shortlived objects are cheap really
22:03:42flaviuA related conversation about the cost of GC: http://www.reddit.com/r/programming/comments/2l5fko/vs_optimization_analysis_in_java/clsaoox
22:03:42flaviureactormonk: Stack allocation doesn't cause memory leaks
22:04:27VarriountHm. But, (and perhaps my observations here are flawed), C# programs don't seem to take nearly as much memory as Java programs do.
22:04:47flaviuVarriount: Different runtime, and they have value objects
22:05:43flaviuArrayList[Long] will cost you at least 40*size bytes. C#'s version will cost you at least 8*size bytes.
22:06:51VarriountAraq: Hm, "memory is cheap and GC is free" reminds me of the time a fellow programmer failed to see why creating and discarding an object hundreds of times a second was a bad idea on an embedded system (using java)
22:07:16DemosI think languages like java and C# are good for concurrent situations where you your workload has lots of IO.
22:07:31Demosif you care about CPU time or it is your bottleneck then java and C# are not that great
22:07:40*Stefan_Salewski joined #nimrod
22:07:50flaviuVarriount: Embedded Java is different from real Java, IIRC there are ways of saying "allocate this here"
22:08:32Varriountflaviu: Not the way we were using java
22:08:49flaviuok
22:10:41Mat4Demos: I do not agree with your argument because for 'concurrent' situations memory usage can matter like in any other execution model - what application have you in mind ?
22:11:15Demosstuff that runs on servers
22:11:38Stefan_SalewskiIn some existing wrappers we have entries like "TBindingSignal*{.final, pure.} = object"
22:11:44Demosand I guess GUI apps, but almost anything is fine for GUI apps so long as it has like lambdas
22:12:05Stefan_SalewskiBut from the compiler manual: Objects that have no ancestor are implicitly final and thus have no hidden type field.
22:12:24dom96Araq: What about using Jester for a DSL example?
22:12:35Stefan_SalewskiSo my guess is that pure and final pragma are obsolete here?
22:13:33Araqdom96: hell ya
22:13:40Araqdidn't think of this lol
22:13:47Araqso gimme an example!
22:14:02AraqStefan_Salewski: exactly.
22:14:18Stefan_SalewskiOK, thanks.
22:14:34dom96Araq: I told you to do that yesterday...
22:15:01Araqwell your chances are higher I listen to you when I'm sobber
22:15:12dom96Araq: Look at the readme (on the new-async branch).
22:15:59Mat4Demos: makes now sense, thanks
22:16:03dom96https://github.com/dom96/jester/tree/new-async#jester
22:16:10AraqDemos: http://forum.nim-lang.org/t/672
22:16:44Demoslike a lot of the languages people like to write servers for webapps in don't support any kind of threaded execution AT ALL (node, Python, probably ruby) so java is nice for that
22:17:05Demosnobody uses c# for webapps just because it does not run on linux (well it does as of like a few weeks ago but still)
22:17:10*Stefan_Salewski quit ()
22:17:24AraqDemos: you're quite wrong. lots of people do use c# for exactly that.
22:17:38AraqStackOverflow is the most prominent example
22:17:39dom96Araq: Would be nice to include the code and what output it gives when you first compile and launch it
22:17:40DemosI know about asp.net
22:18:11Araqasp.net is deprecated I think
22:18:20Demosreally?
22:18:28DemosI thought asp.net was just like c# for webapps
22:18:32AraqMVC is the new stuff, but maybe there is something newer already
22:18:33Demosor visual basic or C++/CLR I guess
22:18:59ldleworkIts ASP.NET MVC
22:19:05ldleworkasp isn't dead :)
22:19:08dom96Araq: like I do in the readme
22:19:53Araqldlework: whatever. it's horrible either way.
22:20:45*Mat4 can not follow the speed Microsoft introduces new execution environments withdrawing prior established ones
22:21:55ldleworkAraq: is it?
22:22:21Araqldlework: IMO yes.
22:22:59ldleworkIt seems the older I get the more I come to appreciate MS's fullstack support of everything
22:23:56AraqIt seems I need to re-invent the browser instead of the OS.
22:24:22ldleworkand the less I care about api's and file formats and finicky computer science crap
22:24:58Varriountldlework: What do you mean by fullstack support?
22:25:35elvispresley-why would you bother with asp.net though
22:25:45elvispresley-you've got to pay for all that MS junk to even run it
22:25:48ldleworkVarriount: when MS makes something, they throw a thousand engineers at it so literally everything in every crack has been touched from the installer to the 5-level deep options menus and such
22:25:56ldleworkelvispresley-: I'm not saying I would *use* it
22:26:27ldleworkI'm saying I appreciate that there is an entity that goes through the motions of taking care of top - to - bottom, even though its business and profit motivation and sometimes it sucks etc
22:27:57ldleworkIf you've ever used any other enterprise's software you probably know what I mean, Novell, VMWare, RedHat, etc
22:28:02Mat4Idlework: Are you sure writing about Microsoft ?
22:28:05VarriountAs an aside, I find it funny that the VM GUI I use at work is written in J# (VMWare VSphere)
22:28:29ldleworkMat4: I can dig on Microsoft only if we do it realistically
22:28:33ldleworkwhat I'm saying is true
22:28:48ldleworkthere is plenty of legitimate things to dig on microsoft without denying the reality
22:29:30ldleworkThey really are the only company that produces software like visual studio
22:30:22flaviuldlework: Jetbrains
22:30:24shodan45developers! developers! developers! DEVELOPERS!!! ;)
22:30:29ldleworkflaviu: I use jetbrains
22:30:37shodan45yeah, jetbrains++
22:30:43ldleworkit is not anywhere *close* to the slickness of visual studio
22:31:02flaviushodan45: They make resharper, but they are looking to get into making DSL tooling
22:31:04DemosVisual studio for C# is pretty amazing
22:31:04ldleworkit also has bugs, and performance problems,
22:31:16repaxvisual studio *almost* supports C++14 and C11
22:31:21VarriountHm, how much working memory does Visual Studio use when cold-started?
22:31:43ldleworkVarriount: I have no idea but I do know it never notice its startup working memory
22:32:14ldleworkAnyway, I love jetbrains and glad they are around :)
22:32:24*irrequietus quit ()
22:32:59VarriountI ask, because I'm curious how much memory it uses compares to IntelliJ
22:33:09ldleworkVarriount: I have no idea
22:33:16*dom96 quit (Changing host)
22:33:16*dom96 joined #nimrod
22:33:17Demosprolly more
22:33:50VarriountIntelliJ uses ~320 megabytes for an empty project.
22:33:56shodan45VS is a non-starter for me, simply because it only runs on windows
22:34:19Matthias247Varriount: 112 MB. With a 100kLoc C# project open
22:34:28AraqDelphi 6 is still unsurpassed by a wide margin
22:34:29flaviuYep, a real shame that it only works on windows.
22:34:44Araqflaviu: tried to run with Wine?
22:34:52ldleworkshodan45: same
22:34:54VarriountAraq: Delphi 6.. the language?
22:34:55flaviuAraq: I don't want to deal with that.
22:35:10repaxcomputers come with gigs of ram today, who cares about a few hundred megs (assuming they are put to good use)?
22:35:11shodan45heck, even if it ran on linux, I still wouldn't use it because it's not open source
22:35:17ldleworkrepax: agreed
22:35:30AraqVarriount: Delphi was an IDE + a language. the language being a heavily improved Pascal.
22:35:43Varriountrepax: Hm.. Man's eternal desire for efficiency?
22:35:53VarriountAnd/or perfection
22:36:04dom96So. Are we redirecting #nimrod to #nim then?
22:36:19ldleworkdom96: Its like a red herring
22:36:23ldleworkits never actually going to happen
22:36:25DemosVS does not fit in my Core Memory so I can't use it. I dun know what kinda computers you use though...
22:36:34Araqdom96: do it.
22:36:36ldleworkwtf is Core Memory
22:36:36DemosI like the channel name #nimrod
22:36:48repaxLet's move to #nim now!
22:36:50Matthias247is core memory only for .NET Core? ;)
22:36:50Demoshttp://en.wikipedia.org/wiki/Magnetic-core_memory
22:37:09*nimnoob joined #nimrod
22:37:19ldleworkah a joke
22:37:25AraqDelphi ran on my Pentium 150 iirc with 16MB of RAM
22:37:45repaxI've programmed BASIC on less memory
22:37:54dom96hello nimnoob, welcome to #nimrod!
22:37:57Varriounthttp://edn.embarcadero.com/article/images/28189/IME.jpg
22:38:13VarriountThat looks... actually quite nice. A bit complex, but what IDE isn't?
22:38:19Araqcompilation times were not noticable and intellisense was instantaneous
22:38:30nimnoobthanks
22:38:41Araqrepax: yes but not in an IDE. :P
22:38:50repaxRight, that's were T and P prefixes are from
22:39:01*Mat4 thinks wasting memory and CPU usage for useless programming playgrounds is insane regardless how many resources are avariable (there always better usage for them)
22:39:24repaxAraq, in an IDE. AMOS Basic for the Amiga for example (512kb)
22:39:29Araqrepax: yeah even though Delphi uses T for "classes" which are reference types
22:40:04Araqso even that was not completely blindly copied over
22:40:31repaxI'm glad they are gone now (almost)
22:40:46repaxfeels very neat I think :)
22:40:47Matthias247Mat4: Come on, that amount is absolutely unimportand to the kind of resources wasted to things like python or ruby on thousands of web servers. Or even worse - things like bitcoin
22:42:04flaviuMatthias247: How else would you do proof-of-work for things like bitcoin?
22:42:31*yeye123 joined #nimrod
22:42:45Araqrepax: ok, I believe you. Never programmed on an Amiga.
22:43:07Matthias247flaviu: don't ask me. I don't understand the importance of bitcoin. All I understand is that it's a big waste of energy
22:43:23VarriountAraq: Which is better, using methods, or using dispatch tables?
22:43:27dom96Guys. Can we all move to #nim now?
22:43:35repaxRight now? YES
22:43:38dom96Yes.
22:43:42AraqVarriount: most likely dispatch tables
22:43:53dom96Just stop talking here and start talking in #nim.
22:44:08Araqer what?
22:44:10Varriountdom96: What about a redirect + kick?
22:44:25AraqI thought you would rename this channel?
22:44:32VarriountThen again, we could just wait until a netsplit.
22:44:41dom96Varriount: I'm not kicking everyone because some people may not have autorejoin turned on.
22:44:50Varriountdom96: Good point
22:44:58dom96I want to switch logging to #nim so restart conversation there please
22:45:02flaviudom96: but if they cared, wouldn't they manually reconnect?
22:45:15dom96flaviu: If they cared they would manually rejoin too.
22:54:24*NimBot joined #nim
22:54:31dom96ok, done.
22:54:33dom96bbl
22:55:20vendethielwow. that was some kicking!
22:55:54Araqvendethiel: well we thought everybody is partying on a saturday's night
22:56:06vendethielmight make sense :)
22:56:09Araqso nobody will be disturbed
22:56:25yeye123feierabend
22:56:47EXetoCbut now we have computers and stuff so why party?
22:58:34*def- quit (Ping timeout: 245 seconds)
22:59:08*elvispresley- joined #nim
22:59:44repaxDelphi was nice. Then came Borland Builder. C++ (sorta) was nicer.
23:00:15Araqrepax: er no? did you compare the build times? cause I did.
23:00:15*enurlyx joined #nim
23:00:21ARCADIVSAraq: since you've got my attention, are there any new developments in Nim you want to talk about?
23:00:25repaxoh I didn't
23:00:43AraqARCADIVS: check out our new website please
23:00:54Araqthough I'm currently updating it again
23:02:23ARCADIVSI see the thing about "automated proof technology to perform a disjoint check for your parallel code". Any plans to add more correctness features like dependent types or something?
23:03:20Araqwe are after flow dependent typing
23:03:38Araqwhich I consider much easier and useful
23:03:57ARCADIVS"flow dependent typing"?
23:04:26Araqyes, I think Google still doesn't know what that is
23:04:26VarriountARCADIVS: Variables are automatically typed depending on control flow. (I think)
23:04:52flaviuhttp://forum.nimrod-lang.org/t/436
23:06:31flaviuhttp://nimlets.github.io/
23:06:32flaviuThoughts?
23:06:42flaviufirst and second links are totally unrelated.
23:07:28ARCADIVSAraq: that looks interesting but how likely is it that you would have unnecessary runtime checks with that method?
23:07:46Araqflaviu: I typed "echo" followed by an ENTER and nothing happened
23:08:54AraqARCADIVS: essentially you get the same amount of checks
23:09:55Araqin general, the philosophy is "when the compiler cannot prove it, you cannot maintain it anyway and are better off with an explicit check"
23:10:31Araqbut note that we're not there yet and you can always cast around
23:11:02ARCADIVSAraq: let's say a function f, only returns positive ints and a function g only takes positive ints. Will g(f(x)) just work or do I need to put an if statement around the call to f?
23:11:19Araqit will just work
23:11:59flaviuAraq: Thanks, I had some links still pointing to localhost. Should work now.
23:13:01VarriountHrm... static types vs static blocks vs {.compileTime.} is quite confusing.
23:13:08EXetoCflaviu: no
23:13:19EXetoCnevermindd
23:15:08AraqVarriount: not really except that we should support 'static' as an alias for 'compileTime'
23:17:46ARCADIVSAraq: look forward to future developments.
23:17:51ARCADIVS*I look forward
23:19:09AraqARCADIVS: thanks, but it would be better if you help so that future arrives earlier
23:19:25Mat4ciao
23:19:31*Mat4 left #nim (#nim)
23:19:36*Matthias247 quit (Read error: Connection reset by peer)
23:29:20ldleworkflaviu: needs a link to download the raw snippet
23:29:30Araqflaviu: looks nice but the result for my "echo" search is disappointing
23:29:50flaviuAraq: Well, that's the only result right now.
23:30:16*def- joined #nim
23:31:06flaviuldlework: Well, copypaste does work, but I'll do that.
23:31:31*Stefan_Salewski joined #nim
23:34:40Stefan_SalewskiI think I found a bug in my gtk wrappers?
23:34:48Stefan_Salewskitype GValueObj* = object value_init*: proc (value: GValue) {.cdecl.}
23:36:20Stefan_SalewskiThe cdecl pragma is missing in my proc types as above -- c2nim does not generate them for type bound procedures and proc types.
23:37:08Stefan_SalewskiBut I have seen it in other wrappers, so it is necessary and I have to add it?
23:37:28AraqStefan_Salewski: #callConv cdecl should add these?
23:37:47VarriountStefan_Salewski: What exactly is the bug?
23:38:05flaviuVarriount: object value_init I think
23:41:35Stefan_SalewskiVarriont: Bug is that there is no {.cdecl.} in type bound procedures and procedure types in all my wrappers. I have to fix it.
23:41:46*yeye123 quit (Quit: Leaving)
23:42:52Stefan_SalewskiWould it be nice when c2nim adds cdecl when converting structs to Nim objects?
23:44:51AraqStefan_Salewski: yes, I think it's a c2nim bug
23:45:02Araqreport it please and relax
23:45:26Stefan_SalewskiOk. thanks.
23:55:07nimnoobdoes nim have the concept of a delegate, a pointer to a member function?
23:55:30nimnoobi would like to pass a method call and the object to call that method on
23:56:33flaviunimnoob: Yes
23:56:44flaviuThere are both closures and function pointers
23:56:59flaviunimnoob: http://nim-by-example.github.io/procvars/
23:59:02*enurlyx quit (Quit: Leaving.)
23:59:23nimnoobthat helps. is it possible to pass a pointer to a dynamically dispatched method?
23:59:47nimnoobclosures would be useful, but i am going to be creating many of them and wonder if that would hinder performance