<<20-05-2013>>

09:41:57*NimBot joined #nimrod
10:26:06Araqdom96: nimrod c --profiler:off -r --stackTrace:on -d:memProfiler temp1.nim
10:26:08Araqworks for me
10:26:24dom96oh, the profiler has to be off
10:26:30dom96I see.
10:26:30Araqyep :P
10:26:40Araqa bit weird I know
10:26:54Araqbut it's logical if you know what profiler:on does :P
10:27:06Araqmaybe I shouldn't mention it in the docs as it's the default anyway
10:27:14Araqshould be less confusing then
10:40:43NimBotAraq/Nimrod a198bb9 Araq [+0 ±1 -0]: attempt to fix a codegen bug
10:41:19*q66 joined #nimrod
11:47:51*ARCADIVS quit (Quit: WeeChat 0.3.8)
12:11:11NimBotnimrod-code/nimbuild 8c7d08a Dominik Picheta [+0 ±4 -0]: The builder can now generate an Inno Setup file on Windows.
12:12:13Araqhm the repo is 282 MB
12:12:18Araqthis is really too big now
12:13:08dom96Just need to get fibre optic internet, then it will be no problem.
12:56:17*xcombelle joined #nimrod
13:42:46*xcombelle quit (Remote host closed the connection)
14:21:12*zahary__ quit (Ping timeout: 256 seconds)
14:59:59*zahary_ joined #nimrod
15:09:10NimBotnimrod-code/nimbuild 2e12f5b Araq [+0 ±2 -0]: ported the builder to Windows
15:09:10NimBotnimrod-code/nimbuild bdf1777 Araq [+0 ±3 -0]: Merge branch 'master' of https://github.com/nimrod-code/nimbuild
15:17:07*Trix[a]r_za is now known as Trixar_za
15:25:08NimBotAraq/Nimrod 131c3f7 Araq [+0 ±2 -0]: version 0.9.2
15:25:08NimBotAraq/Nimrod ce3afe8 Araq [+0 ±4 -0]: rebuilt C sources
15:25:08NimBotAraq/Nimrod e3335f4 Araq [+0 ±1 -0]: browsers.nim compiles again on Windows
15:34:44NimBotAraq/Nimrod 451a62f Araq [+0 ±1 -0]: osinfo_win compiles again
15:34:44NimBotAraq/Nimrod a26e12b Araq [+0 ±1 -0]: updated download.txt
15:35:08NimBotAraq/Nimrod 451a62f Araq [+0 ±1 -0]: osinfo_win compiles again
15:35:08NimBotAraq/Nimrod a26e12b Araq [+0 ±1 -0]: updated download.txt
16:08:10*xcombelle joined #nimrod
16:17:37*Endy joined #nimrod
16:20:22reactormonkoh, the arduino env has strings
16:20:38*xcombelle quit (Remote host closed the connection)
16:58:32reactormonkwhat's the difference between copyString and copyStringRC1?
17:03:58AraqcopyStringRC1 is an optimized copyString
17:07:23Araqyou don't want to know more than that
17:13:23Araqyay .. my XP is running out of disc space ...
17:31:48dom96Well, that wasn't the most spectacular unveiling of the new version. But it's here ;)
17:33:21*gradha joined #nimrod
17:33:37Araqyay gradha
17:33:47gradhayay Araq
17:33:50dom96right on time for the party!
17:34:04dom96now then
17:34:28dom96What should the title for the reddit/HN submission be?
17:34:34dom96"Nimrod 0.9.2 released"?
17:34:39Araqsure why not
17:34:51gradha"with blackjack, and dongles"
17:34:54Araqlet me check if I still have my HN account ...
17:35:41dom96gradha: I dunno, some people may take offence to that... and start posting pictures on twitter.
17:35:50dom96I don't want to lose my job :P
17:36:20gradhafor a brief moment "pictures of Araq" crossed my mind, but of course those don't exist
17:36:44gradhadom96: isn't your job being a student?
17:37:10dom96gradha: I have a part time job :P
17:37:18Araqgradha: I'm a collective
17:37:43dom96ok, so "Nimrod 0.9.2 released" is it.
17:37:50Araqbut rumors exist that you can find a picture of me on this site:
17:38:02Araqhttps://thestrangeloop.com/preconf
17:39:18gradhahah, I'm not going to fall for the "shock site" trick
17:39:34dom96hrm, should I link to the news article or the main page?
17:40:10dom96meh, news article makes more sense.
17:40:16gradhaoh, so the release is actually true, with website and unicorns!
17:40:47Araqdom96: I agree
17:41:01dom96http://www.reddit.com/r/programming/comments/1epf5s/nimrod_092_released/
17:41:04dom96Upvotes please
17:41:17gradhadoes reddit impose a limit on links? you could post several, one to the main site and another to the news/changelog?
17:41:38dom96I don't think that's the best idea.
17:41:46dom96People might think I am spamming :P
17:42:10gradhasorry, forgot reddit is not about content
17:42:39dom96https://news.ycombinator.com/item?id=5738868
17:42:55dom96I feel like such a karma whore, but yeah. Upvotes please :P
17:43:22Araqgah I lost my reddit password. again.
17:43:49gradhaI love the transition from the website to the documentation
17:45:28dom96yeah, the documentation could use some unicorns.
17:46:45dom96Already #8 on HN.
17:51:18*Vladar joined #nimrod
17:51:29dom96hello Vladar, long time no see.
17:54:46Araqhi Vladar
17:54:55Araqglad you updated to 0.9.2 already
17:55:01VladarHi! Yeah, wasn't able to write for my projects for a while.
17:55:33Araqdid 0.9.2 break anything actually?
17:55:43Araqor was it a simple recompile?
17:58:03VladarActually, there wasn't so much diff in terms of compatibility. Got rid of destructor-pragma and deleted some `;` that I left from c-code.
17:58:42Araqalright
17:59:01Araqyeah I should have fixed ';' before releasing 0.9.2
17:59:12Araqbut there is only so much you can do in 2 days ...
17:59:38*[1]Endy joined #nimrod
18:01:30dom96I guess there aren't many HN'ers here huh? D:
18:01:44*Endy quit (Ping timeout: 240 seconds)
18:01:44*[1]Endy is now known as Endy
18:06:58*zahary joined #nimrod
18:10:06Araqhi zahary
18:11:29zaharyhi
18:11:35zaharybtw wow, you've been busy :)
18:11:54Araqyeah ...
18:12:15AraqI wished to fix every "critical" bug though ...
18:12:39Araqanyway there is a problem with the "types as values"
18:12:48Araq"var x = string"
18:12:58Araqwhen is that actually allowed?
18:13:05zaharyit's ok inside macros
18:13:16Araqthat's what I thought
18:14:33Araqbut it's wrong
18:14:42Araqconst TypeList = [int, string, seq[int]]
18:14:48Araq# from ttypetraits
18:15:02zaharythat should be ok too, what is the problem?
18:15:12AraqI can't come up with rules
18:15:19Araqit is "any compile time context"?
18:15:33zaharyyes
18:16:07Araqhmm
18:16:51Araqwell it's way easier to catch it in the backend (as usual)
18:16:56zaharyone lazy way to handle it is like some of the compile-time magics ..
18:17:11Araqbut it's in GetUniqueType() which has no line information
18:20:18zaharyis it hard to solve? besides passing a line info to GetUniqueType the other way would be to return some kind of error type and to produce the message at the variable declaration
18:21:11Araqbut that's exactly what I tried and failed at :P
18:21:48AraqGetUniqueType is a hot spot
18:22:05AraqI don't want to make it slower by passing type information to it
18:22:13Araqplus it's lots of work
18:24:12*shevy joined #nimrod
18:24:15shevyhey
18:24:21dom96hey shevy :D
18:24:24gradhahey
18:24:25Araqwb shevy
18:24:36shevyI am using chatzilla right now
18:24:48shevyso you all "sound" differently
18:24:56shevyespecially granddad
18:24:56Araqdon't we all use chatzilla?
18:25:13dom96xchat ftw
18:25:15gradhathat should be the alcohol from the release party
18:25:28shevydunno, I had xchat before ... but compiling it fails right now, and hexchat has a floating point error so I cant use it, so I am back to chatzilla again
18:26:39Araqchatzilla is cool
18:26:50Araqif the browser crashes, so does chatzilla
18:27:15shevylol
18:27:26shevynow that you mention it, some youtube videos freeze my firefox
18:27:42shevyso in case I am suddenly off, this is what happened again
18:30:04reactormonkAraq, you should make nimrod compile to COBOL! http://www-03.ibm.com/press/us/en/pressrelease/41095.wss
18:30:53*Trixar_za is now known as Trix[a]r_za
18:31:14gradhaI've always wanted to port my games to System z mainframes
18:31:54reactormonkAraq, ... crap It communicates on digital pins 0 (RX) and 1 (TX) as well as with the computer via USB. Thus, if you use these functions, you cannot also use pins 0 and 1 for digital input or output.
18:32:14reactormonkso if I wire echo to serial port, it blocks other stuff
18:32:36AraqI'll port nimrod to my mindstorm soon
18:32:52Araqand then I don't want to hear "it can't be used for embedded" ever again :P
18:33:59Araqhmm but then my mindstorm in fact has a display ... :P
18:34:50gradhaif I write "line =~ re(something)" am I write to asume the regular expression will be compiled every time for the if check so I should move the re call to a let block?
18:35:06gradhadoh, "am I write"
18:35:15Araqyou're right in that it's not optimized yet
18:35:26gradhasounds like cannon fodder for macros
18:35:28zaharyhey, if we endorse gittip support officially now, more people should join the Nimrod community there. I'm little embarrassed to be the only member :P
18:35:29Araqbut it's easy to do that
18:35:29zaharyhttps://www.gittip.com/for/nimrod/
18:36:56dom96cool, I didn't know that exists.
18:37:01Araqme neither
18:37:47gradhaso now that I've linked my github account to that, how do they siphon my money into Araq's hands?
18:38:01shevyis the nimrod logo new? that crown thingy
18:38:08Araqshevy: kind of
18:38:17Araqthe logo has been a crown for a long time
18:38:23Araqbut only as an icon on windows
18:38:47dom96gradha: Flush your money down the toilet, gittip supports the magical Sewer Money Transfer (C) technology.
18:40:00shevyhehe
18:40:18Araqbtw dom96 how did nimbuild ever work on the old windows testing machine?
18:40:42dom96Araq: I rewrote it at one point remember?
18:40:57dom96When I was rewriting it I didn't really care about windows support.
18:41:39Araqcan I do windows-x86 and windows-x86_64 on the same machine?
18:42:39dom96Yeah, but that will require some builder adjustments.
18:42:52*shevy quit (Remote host closed the connection)
18:43:33dom96http://www.reddit.com/r/programming/comments/1epf5s/nimrod_092_released/ca2hhyw
18:44:33*shevy joined #nimrod
18:44:55shevyyup, firefox just crashed.. hi again
18:45:00Araqlol
18:45:20gradhatry using an older more stable firefox version
18:45:28gradhaI still use 3.x
18:45:31shevyhehe
18:45:39shevyit's something with that flash plugin
18:45:45shevyI'd wish they would have opensourced flash
18:46:00dom96Get rid of flash and use html5 video instead
18:46:26gradhatrue, after I removed flash from my machine browsers practically don't crash
18:48:30shevydom96: hmm does that work?
18:48:49gradhahttp://www.youtube.com/html5 ?
18:48:53dom96shevy: It should. youtube works well on my iPad mini, and it has no flash.
18:49:14shevyinteresting
18:49:52shevyhmm it has a "!" next to h.264
18:50:02shevythat possibly means I will have problems with that codec?
18:51:28dom96I think it means your browser doesn't support it.
18:52:31gradhabut you should be ok with webm in firefox, the only downside is webm is slightly bigger than h264 in file size
18:52:49*Endy quit (Ping timeout: 252 seconds)
18:53:57dom96cool, it works pretty well for me.
19:00:57*gradha quit (Quit: bbl, have youtube videos to watch)
19:04:23Araqsee you later guys
19:15:53*fowl joined #nimrod
19:16:07Araqfowl: vote for us :-)
19:16:44fowllink
19:17:01Araqhttp://www.reddit.com/r/programming/comments/1epf5s/nimrod_092_released/
19:17:08dom96Araq: back so soon? :P
19:18:26AraqI'm away :P
19:56:49*Vladar quit (Quit: Leaving)
19:58:30*exhu joined #nimrod
20:02:26apotheonAraq: Congrats on the new release.
20:05:49apotheonAraq: http://copyfree.org/software/#Programming (Nimrod listed)
20:06:55dom96apotheon: Brilliant, give us an upvote on reddit if you haven't already :)
20:07:57apotheonAraq: https://twitter.com/CopyfreeNews/status/336573962366644224
20:08:06apotheondom96: I have.
20:09:12apotheondom96: commented too, now
20:12:11exhuhttp://3.bp.blogspot.com/-C1ePsGYd6FM/Tx9CqbOE5KI/AAAAAAAAAiE/jE9o7LMHg1c/s1600/303690-good_news_everyone.jpg
20:12:16exhucongrats!
20:14:07fowli totally read that in farnsworth's voice >_>
20:15:32*exhu quit (Quit: Ex-Chat)
20:17:55*gradha joined #nimrod
20:22:48*Trix[a]r_za is now known as Trixar_za
20:25:27gradhadom96: joined this reddit thingy to upvote the release, but something tells me I'll end up voting kpop links more
20:26:11reactormonkAraq, so I could link stringCopyRC1 to stringCopy
20:26:48reactormonkAraq, can I create an immutable string type?
20:28:01reactormonklemme rephrase that: can I mark a type as immutable?
20:28:13reactormonkhow far is the effect system? ;-)
20:37:52*apotheon needs to start doing more stuff with Nimrod, post-haste.
20:38:19apotheon. . . unless I decide to wait until 0.9.2 makes it into FreeBSD ports.
20:59:09reactormonkAraq, ... arduino.nim also means I gotta draw all my arduino stuff in there
21:02:37dom96gradha: "unbiasednimrodcoder" that's you isn't it? I laughed so much lol
21:02:47dom96apotheon: Thank you!
21:02:57gradhawhy? I was being like totally serious answering
21:03:02dom96reactormonk: 'let myString = "assaf"'
21:03:11apotheondom96: welcome
21:03:28dom96gradha: Because the nickname is funny.
21:04:23reactormonkdom96, type, via pragma. Because if you store stuff in the flash, it's immutable.
21:05:51dom96gradha: is it not meant to be? :P
21:06:53dom96reactormonk: You could have an object with private fields and only define getters for them.
21:07:05reactormonkdom96, primitive types, as string
21:07:38gradhagradha: certainly it's more entertaining than using a password generator for my username
21:07:55gradhayay, now talking to myself <facepalm>
21:07:59dom96haha
21:08:30dom96reactormonk: hrm, example of what you mean?
21:08:59gradhareactormonk: maybe inmutableString = distinct string?
21:09:29dom96hrm, that would work.
21:12:33AraqI'm back
21:12:40Araqand in search of a cool name!
21:12:51dom96Araq: Good because you've got to answer someone on reddit ;)
21:13:05Araqnimrod_weeny_0.9.2.exe ?
21:13:30AraqI built that "tiny Nimrod distribution" with a minimal GCC ...
21:13:40Araqthe installer is 9 MB
21:13:46gradhanorazo is a good name
21:13:53dom96just call it: nimrod_nounicorns_0.9.2.exe
21:14:21Araqno ...
21:14:36Araqit's nimrod_weeny unless somebody comes up with something better
21:15:10dom96why not just 'nimrod_min'?
21:15:12gradhanimrod_vista
21:15:38gradhanimrod_ziggurat
21:15:46reactormonkdom96, flash memory is RO
21:15:48reactormonkread only
21:16:27gradhaAraq: what was the name of that japanese godzilla thingy?
21:17:46gradhanimrod_forever
21:17:50Araqgamera I think
21:18:22Araqyeah ... that's it
21:18:25Araqnimrod_gamera
21:18:29Araqthanks
21:21:07apotheonIs the Nimrod port maintainer for FreeBSD a resident of this channel?
21:22:41Araqapotheon: I don't think so
21:33:22apotheonbummer
21:33:24apotheonshould be
21:56:30reactormonkgradha, the idea is to have a pragma that stores stuff in progmem - I have that one already. But I'd prefer if it would make strings immutable as well
21:56:56reactormonks/strings/the stuff stored in progmem/
21:58:53Araqreactormonk: you can do 'const x = "abc"' but it's not really the same as an immutable string
22:04:00reactormonkAraq, the advantage of an immutable string would be that I can simply return the same string wenn it wants to copy it >:)
22:04:20Araqoh you can do that already
22:04:28Araqsort of.
22:12:55*zahary_ quit (Ping timeout: 260 seconds)
22:15:49*OrionPK joined #nimrod
22:16:39Araqyou should use cstrings anyway for the tiny amount of memory you got, reactormonk
22:17:10Araqin fact ... you probably shouldn't process strings on that board :P
22:24:52*Trixar_za is now known as Trix[a]r_za
22:40:06NimBotAraq/Nimrod c2de890 Araq [+0 ±2 -0]: added gamera edition to the website
22:41:38*zahary quit (Quit: Leaving.)
22:43:31Araqthere -- go get it while it's hot!
22:44:21dom96hell yes, I am so installing that with Wine on Linux.
22:51:57reactormonkAraq, yep.
22:52:05reactormonkAraq, but exceptions require strings ;-)
22:52:22Araqyou shouldn't use exceptions either
22:52:42Araqit's hard to raise them without a heap
22:53:51reactormonkI'd replace the raising code with a quit
22:54:22dom96gradha: Could you answer http://www.reddit.com/r/programming/comments/1epf5s/nimrod_092_released/ca2n0mk please? :)
22:55:33Araqreactormonk: we can do it differently; the exception object contains a buffer for the message (10chars) and we need to support 'ptr object' for 'raise'
22:55:40Araqthen it can be statically allocated
22:56:03Araqthat may need some compiler adjustments
22:57:15reactormonkhow many?
22:57:43Araqperhaps 6
23:00:24reactormonkcan I do it?
23:01:16AraqI don't think so :P
23:01:23reactormonkhm
23:01:34reactormonkis there another quick n dirty way I could do?
23:02:01Araqsure
23:02:18Araqdon't set the error message field in 'newException'
23:02:32gradhadom96: done
23:02:48dom96gradha: thanks
23:03:26reactormonkAraq, and what about all the exceptions in the compiler?
23:03:40Araqwhat about them?
23:03:53reactormonksome have error message fields
23:03:56Araqdo you want to bootstrap the compiler on your board with 32K of RAM?
23:04:10AraqI'm afraid that won't work ...
23:04:27reactormonkthat's for sure
23:04:34reactormonkbut system.nim might have some... let's see
23:04:59reactormonk raise newException(EDivByZero, "divison by zero")
23:05:04Araqsystem.nim provides exception support
23:05:10Araqbut doesn't really rely on them
23:05:23Araqthe exceptions you encounter are not to be catched anyway
23:05:39Araqit's more a "fatal" than an exception
23:05:56AraqEDivByZero is the perfect example
23:06:00reactormonkyeah, that's what I intend to do anyway
23:06:38reactormonkreplace the raising code with a simple 'quit'
23:12:10Araqactually things like EDivByZero are interesting edge cases :P
23:12:38AraqI kept them as exceptions for when you do quick&dirty batch processing
23:12:43Araqwhich looks like:
23:12:54Araqfor element in whatever:
23:12:56Araq try:
23:13:05Araq doSomething(element)
23:13:12Araq except:
23:13:26Araq log(getCurrentException())
23:13:33Araq # but go on!
23:14:51Araqif all you care about is calculating some statistic, it can be fine even if there are bugs in doSomething
23:15:24Araqbut that doesn't apply for embeded programming
23:15:30*OrionPK quit (Read error: Connection reset by peer)
23:16:51*OrionPK joined #nimrod
23:21:33gradhacan you explain why the news' sidebar features links like http://nimrod-code.org/news.html#Z2011-07-10-version-0-8-12-released except for the new website which is simply http://nimrod-code.org/news.html#new-website-design without date?
23:22:04dom96Explanation: it's a mistake :P
23:22:34OrionPKnew site is a big step up
23:22:52OrionPKnot a fan of the gradient/shininess, but other than that i love it ;)
23:26:33gradhais there any proc to insert a string into another at any position?
23:26:55gradhaoh, insert(), clever
23:27:36Araqyou can also use splicing I think
23:27:54Araqs[1..3] = "yep. longer than 3 chars"
23:28:43dom96whoa, I need to try this.
23:29:23AraqOrionPK: thanks. I fear the new design may annoy me at some day ... the old design never got annoying
23:29:49fowlwhats the point of the slice if the second number is disregarded
23:30:06Araqthe second numer is not disregarded
23:30:09fowlmight as well make it [](some: var string; idx: int; s: string)
23:30:47dom96fowl: it replaces whatever is between [1] and [3] with "yep. longer than 3 chars"
23:30:48fowloh i see
23:55:12reactormonkAraq, what do you think of an `override` pragma that replaces proc X?
23:55:49Araqyeah who needs this thing called "module system" and "separate compilation" anyway ...
23:56:46reactormonk^^
23:56:51reactormonkfigured so.
23:59:07reactormonkAraq, could I override the exception constructor to just drop the strings?