<< 30-06-2013 >>

00:10:38*Trixar_zb is now known as Trixar_za
00:19:09*EXetoC quit (Quit: WeeChat 0.4.1)
00:31:08*DAddYE_ joined #nimrod
00:31:08*DAddYE quit (Read error: Connection reset by peer)
00:41:11*DAddYE_ quit (Remote host closed the connection)
00:41:51*DAddYE joined #nimrod
00:46:37*DAddYE quit (Ping timeout: 268 seconds)
01:33:55reactormonkwhere does the pragma go? var integer: prog_ptr[int] {.progmem.} = 53
01:34:12reactormonkah, var integer: prog_ptr[int] = 53 {.progmem.}
01:34:29reactormonkhm, nope
01:35:03reactormonkkk, found it. it's var integer {.progmem.} : prog_ptr[int] = 53
01:35:26reactormonkand how, it is possible to typecast with a macro? Or templating.
01:36:07reactormonks/macro/pragma/
01:42:09*DAddYE joined #nimrod
01:46:33*DAddYE quit (Ping timeout: 256 seconds)
02:11:11*Associat0r joined #nimrod
02:11:11*Associat0r quit (Changing host)
02:11:11*Associat0r joined #nimrod
03:08:42*DAddYE joined #nimrod
03:34:02*DAddYE quit (Remote host closed the connection)
04:14:20*Trixar_za is now known as Trix[a]r_za
05:41:50*OrionPK quit (Read error: Connection reset by peer)
06:36:57*DAddYE joined #nimrod
07:09:58*DAddYE quit (Read error: Connection reset by peer)
07:13:57*DAddYE joined #nimrod
07:44:36*DAddYE quit (Remote host closed the connection)
08:16:12*ack006 quit (Quit: Leaving)
09:32:24*q66 joined #nimrod
09:40:09*Associat0r quit (Quit: Associat0r)
09:40:14*EXetoC joined #nimrod
09:41:31*shafire joined #nimrod
09:41:34shafirehi
09:42:02Araqhi shafire
09:42:48shafireWie geht's?
09:43:19Araqmeine Frau ist schwanger. Schon wieder ... :-/
09:43:35shafire:-\, anscheinend schlecht :-S
09:43:42shafireWieviele Kinder habt ihr schon?
09:44:32shafireIch würde gerne wissen, warum ein JVM Backend nicht möglich ist. (Laut FAQ: A JVM backend is almost impossible.). Was macht Nimrod anders als Scala, dass es nicht geht?
09:48:55*EXetoC quit (Ping timeout: 260 seconds)
09:50:05Araqwenn ich den Kerl erwische ... ;-)
09:50:30shafireMeinst du mit dem Kind oder der das in die FAQ geschrieben hat?
09:50:41Araqdas mit dem Kind natürlich
09:50:54shafireAlso nicht von dir? :S
09:50:58Araqso ... the question is why a JVM backend is impossible. Well it's not impossible, but lots of work and won't be as fast
09:51:19AraqDas war ein Scherz, shafire. :-)
09:51:40shafireÜbers Internet ist schwarzer Humor für mich sogar nackt nicht erkennbar :D
09:52:03AraqSchwanger ist sie allerdings wirklich ;-)
09:52:34shafireDann wird die erste Sprache Nimrod für das Kind werden :)
09:54:30shafireSo, it's easier to write a compiler to C than to the JVM?
09:59:25Araqyeah especially if you want to support 'cast' and low level programming
09:59:42Araqthe JVM doesn't really support all that
10:00:12Araqin fact, JS with its typed arrays which can be used for 'cast' is a better target than the JVM now
10:04:27*EXetoC joined #nimrod
10:09:28Araqwhy do you want to run nimrod on the jvm, shafire?
10:27:45dom96hrm, what do you guys think? Should I submit babel to r/programming?
10:33:30Araqdom96: it's not cool enough as it's entirely Nimrod related
10:33:40Araqlike nimbuild it's part of the infrastructure
10:33:41dom96D:
10:34:02Araqyou need to submit something that has a goal of its own
10:34:10Araqlike a gameboy simulator :P
10:34:24dom96*emulator :P
10:34:31Araqyeah
10:34:52dom96I dunno, I think it's still worth submitting it
10:35:02dom96Just to remind people that Nimrod is progressing
10:35:17Araqcome on
10:35:38Araqhow many posts until "yeah and it has 16 packages in its repository. LOL"
10:35:59dom96hrm true lol
10:36:38dom96well help me with my os dev endeavour then
10:39:38Araqok, pastebin what you have
10:40:19dom96there is quite a lot...
10:40:46dom96I'll pastebin the stuff I changed
10:42:24dom96Araq: https://gist.github.com/dom96/977ea1d474bc91c74eb9
10:45:55dom96if I missed something let me know
10:46:06Araqwell it might take a while
10:46:16AraqI named your project domos btw
10:46:23Araqpretty cool name, huh?
10:46:35dom96sure why not
10:47:01dom96save system.nim, nimbase.h into ./zerolib
10:47:16dom96and excpt.nim into well ./zerolib/system/ obviously.
10:47:47dom96and you can copy any other files that system.nim includes from the original lib
10:47:56AraqI know
10:47:59Araqdon't worry
10:49:28nihathraeldom96: hi, just giving the implementation of the ctrl+D line delete feature a try. I think if we could make the suggestion feature sort the results by name, that could be a huge improvemnet
10:50:02dom96nihathrael: They are not sorted by name because the compiler is meant to give them in order of relevance.
10:51:17nihathraelah, ok
10:51:32dom96The suggest feature needs a lot more work.
10:51:56dom96It needs to run the compiler in CAAS mode.
10:52:07nihathraelyeah, making it actually display a method signature where it is suggesting a method could make sense as well
10:52:09dom96to make it faster
10:52:26dom96I think it does that already?
10:53:07nihathraelit does in the "documentation" panel
10:53:10nihathraelbut not in the list
10:53:57dom96hrm, yeah perhaps showing the signature inline in the list would be better
10:54:21shafireAraq: No, I was just curios about it. I do not need the JVM.
10:55:16nihathraelyea, I think for quick navigation that would be quite helpful
10:58:16nihathraeldom96: which documentation of gtk2 do you use, the source seems to be using methods which I can not find documented here http://www.nimrod-code.org/gtk2.html
10:58:38dom96nihathrael: http://build.nimrod-code.org/docs/gtk2.html
11:02:48dom96Araq: oh btw I realised why the deprecation warnings are still there. I was fixing them on Windows heh.
11:03:46nihathraelthanks
11:17:03Araqdom96: nimrod c main.nim
11:17:04Araqconfig/nimrod.cfg(36, 11) Hint: added path: '/home/andreas/.babel/libs/' [Path]
11:17:06AraqHint: used config file '/home/andreas/projects/nimrod/config/nimrod.cfg' [Conf]
11:17:07AraqHint: used config file '/home/andreas/domos/nimrod.cfg' [Conf]
11:17:22Araqnote how it processes the default config file first
11:17:31dom96yes, that's correct isn't it?
11:17:34Araqthat means your switch -d:release doesn't work
11:17:51dom96huh, why?
11:17:51Araqbecause when it sets "release" it's too late to have any effect
11:18:06dom96oh, I see how it works.
11:18:08AraqI wonder if that's a general problem with aporia etc. too
11:18:25Araqit's bad to set -d:release in a config file
11:18:30dom96For some reason I thought it worked in reverse, so it was fine.
11:18:43Araqwell it has to work this way
11:18:51Araqotherwise you can't overwrite things, right?
11:19:01dom96yeah
11:19:59Araqnow if I do: nimrod c -d:release main.nim
11:20:10Araqit says: "Error: system module needs 'initStackBottom'"
11:20:32dom96yes.
11:20:34dom96Same here.
11:31:45Araqwell I disabled newException and then commented where it's used
11:31:58Araqand then it works the same in non-release mode
11:32:13dom96it compiles?
11:32:14Araqso the newObj clearly came from new(e)
11:32:26Araqno, but it now it moans about setstackbottom
11:33:19dom96well I just added an initStackBottom and it doesn't moan anymore
11:33:25Araqgood
11:33:40Araqdoes it compile now?
11:33:48dom96sec
11:43:12Araqdom96: I'm updating the system stuff to use a new template and no 'raise' statements
11:43:24Araqso the implementation is way easier to change
11:43:30dom96hrm, ok.
11:43:52dom96I think after I implement this it would be worth adding to the tester to make sure it still works.
11:44:00Araqindeed
11:44:04Araqthat was my plan to
11:44:18Araqbtw nimrod.cfg is deprecated
11:44:23Araqyou should use main.nimrod.cfg
11:44:52dom96ok
11:46:43Araqbtw there is an embedded.nim that's your minimal excpt.nim
11:46:59Araqand --os:standalone should trigger that
11:49:50dom96I thought we were getting rid of --os:standalone?
11:50:19AraqI don't know
11:50:57AraqI think it should work but include rawoutp.nim which we don't provide
11:51:10Araqso the user has to provide that file
11:51:46Araqthis way no messing with system.nim may work
11:52:38Araqas I said messing with system.nim can affect you ability to do stuff at compile time
11:53:12Araqbut then I guess we simply need --lib and --ctlib (compile time lib)
11:53:36dom96perhaps, yes.
11:57:04dom96well, my "OS" boots.
11:57:13dom96And prints some funny characters but that's it :P
11:57:30Araqok, that should do to beat Linux
11:57:41Araqat least on the server market
11:57:45dom96lol
12:06:15dom96wouldn't it make more sense if toU16 returned a uint16?
12:06:39Araqperhaps :P but it predates uint16
12:06:52dom96fix it :P
12:06:54Araqyou can use uint16(x) if you need an uint16
12:07:07Araqso there is nothing to fix
12:08:48dom96omg.
12:09:00dom96I have to cast everything...
12:09:45Araqthat's usually a sign of doing it wrong
12:09:56dom96probably yeah.
12:10:46nihathraeldom96: opened a PR for the ctrl+d delete line shortcut, let me know if there is anything I should change. This is my first "nimrod" code besides my 20 test lines, so feel free to tear it appart
12:11:26dom96nihathrael: Awesome, will check it out once I'm done playing around with this "OS".
12:55:52dom96I did it :D
12:57:00Araqyou did what, dom96?
12:57:09dom96The OS works :D
12:57:14dom96It shows characters!
12:58:15nihathraelAraq: by which metric does the suggest feature determine the ordering it produces?
13:00:58Araqnihathrael: by scope
13:01:13Araqthe innermost scope is most important
13:01:34dom96"qemu: fatal: Trying to execute code outside RAM or ROM at 0xeb12c0ec" cool :D
13:02:34dom96whoa wtf
13:03:30dom96how did I manage "while 0 <=% 80*25:"
13:06:46EXetoCare enumerators initialized as unsigned or something? "4294967294 (invalid data!)"
13:09:25EXetoCare they supposed to be able to hold negative values? I'll open another issue later then, along with the one regarding ranges
13:09:33dom96Araq: It would be cool if you could create a standalone system.nim but provide hooks in case people want to slowly implement stuff like memory functions etc, but I would understand if that's just too complex.
13:10:09AraqEXetoC: negative values should work for enums
13:10:14EXetoCalright
13:10:39*zahary____ joined #nimrod
13:11:29Araqdom96: this might work due to --path ordering side effects, so you can override includes
13:12:27*zahary___ quit (Ping timeout: 246 seconds)
13:12:50EXetoCit's just the automatic conversion that fails ('echo enumVar' for example)
13:14:04Araqstrange, I fixed that years ago already
13:14:22EXetoCoh
13:17:33*EXetoC is now known as EXetoC_
13:36:00NimBotnimrod-code/Aporia master fd50725 Thomas Kinnen [+0 ±1 -0]: Add "Delete Line" menu point and shortcut (ctrl+d).... 4 more lines
13:36:00NimBotnimrod-code/Aporia master a715fd9 Dominik Picheta [+0 ±1 -0]: Merge pull request #35 from nihathrael/master... 2 more lines
13:36:09dom96nihathrael: Great job :)
13:42:15nihathraelthanks :) anything code wise you'd like to see differently?
13:45:41dom96I'm not entirely certain what the purpose of your usage of forwardCursorPosition/backwardCursorPosition is?
13:49:47nihathraelthat is needed to not only delete the contents of the line, but to actually make the line disappear
13:50:02nihathraelso as to not end up with an empty line, but no line instead
13:50:37dom96oh I see.
13:51:46dom96Well, in that case it's perfect. Although you misspelled "cursor" :P
13:56:52nihathraellol, I thougt I corrected it everywhere
13:57:08nihathraeli'll commit that with the next pr ;)
13:59:54dom96heh, alright.
14:00:39*shafire quit (Ping timeout: 250 seconds)
14:03:47nihathraelcurrently trying to pimp the suggest output a little
14:05:24dom96cool. I didn't expect Nimrod strings to work with no C stdlib, but they do.
14:10:55EXetoC_ftw
14:28:01dom96http://picheta.me/images/nimrodos.png :D
14:32:38EXetoC_:>
14:34:16EXetoC_neat
14:37:29*OrionPK joined #nimrod
14:52:00EXetoC_metaprogramming almost makes library wrapping not boring
14:57:13Araqc2nim makes it boring :P
14:58:32Araqnihathrael: feel free to play with compiler/suggest.nim to change the output order
14:59:05Araqapart from scope it uses the order of the hash table which is stupid
14:59:13Araqbbl
14:59:37EXetoC_sure
15:00:08EXetoC_what are the humans supposed to do if the computers steal our work? :<
15:02:32*Associat0r joined #nimrod
15:02:32*Associat0r quit (Changing host)
15:02:32*Associat0r joined #nimrod
15:02:36dom96Send a terminator back through time.
15:02:57EXetoC_sarcasm? if so, then yes of course I think that c2nim also helps :p
15:16:16*q66 quit (Quit: Leaving)
15:42:42*Endy joined #nimrod
17:18:27Araqdom96: do you remember what we did about that "doesn't build on latest ubuntu"-bug?
17:19:08dom96well, no. But it's in the logs somewhere
17:19:11dom96I'll find it
17:19:27*zahary joined #nimrod
17:21:11dom9611:09:19 dom96 21:32:26 Araq you can edit line 195 of nimbase.h
17:21:12dom9611:09:19 dom96 21:32:51 Araq so that HAVE_LRINT are not defined anymore and then it should work
17:21:39Araqyeah well, lrint is not used by the codegen anymore nor by system.nim
17:25:15dom96ok
17:33:54*XAMPP-8 joined #nimrod
17:36:08Araqhmm "panic" is cooler than "rawoutp", right?
17:36:20Araqit's the name of the include file you need for --os:standalone
17:37:24dom96huh? 'panic' doesn't seem to be a good description for a file?
17:37:35dom96what will this include file er.... include?
17:37:51Araqthe file should contain the implementation of a "panic" proc
17:38:03Araqthat is invoked when an out of range error etc. is detected
17:38:34*q66 joined #nimrod
17:38:44dom96ahh
17:38:59dom96call it 'customerror'?
17:39:07dom96or something
17:39:23Araqnot cool enough
17:40:28dom96'panicoverride'
17:40:30dom96:P
17:40:48Araqdamn
17:40:53Araqnow that's cool
17:40:56dom96:D
17:41:12dom96Yep, in fact it sounds like a rock band name.
17:41:21AraqI can already imagine the red button
17:44:06Araqbut --os:standalone doesn't work
17:45:05Araqfor instance, it is possible to make the GC work in kernel mode I think
17:45:24Araqbut it depends on much memory you have
17:45:31Araq*how much
17:46:00dom96allow me to disable the GC then?
17:46:16Araqthat's --gc:none
17:47:05Araqwell I still don't know what "standalone" should mean
17:48:58reactormonkAraq, hostos: standalone?
17:49:16Araqreactormonk: that's what I'm talking about, yes
17:49:41dom96like I said, it should mean: no dependency on the C standard lib but allow me to reimplement the stdlib myself.
17:49:55Araqon the other hand the documentation is quite clear:
17:50:00reactormonkAraq, no files, no malloc.
17:50:15AraqThe standard library can be avoided to a point where C code generation
17:50:16Araqfor 16bit micro controllers is feasible. Use the `standalone`:idx: target ...
17:51:12dom96So you fixed it so that it doesn't depend on the C stdlib anymore?
17:51:45Araqyes
17:52:18dom96ok, then what is unclear?
17:52:29Araqnothing the docs are clear :P
17:52:42reactormonkand no signals.
17:52:53Araqreactormonk: got rid of them too
17:54:06dom96You should make it clearer by stating that C code generated with --os:standalone will compile when using the -nostdlib switch during linking with gcc
17:56:42dom96And also document how to implement these things manually :P
17:57:12Araqif I can do it, it's obvious and doesn't need any documentation :P
17:57:50dom96document it anyway :P
17:58:43dom96fowl: I think the license in nake's babel file is inconsistent with the license in nake.nim
18:01:01*Trix[a]r_za is now known as Trixar_za
18:22:15*fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org)
18:32:57*fowl joined #nimrod
18:35:17*fowl quit (Changing host)
18:35:17*fowl joined #nimrod
18:37:06dom96so what should I name it?
18:37:10dom96nimrodos
18:37:13dom96nimrodboot
18:37:15dom96nimboot
18:37:16dom96nimOS
18:37:21dom96NimKernel?
18:37:30AraqDomOS!
18:37:35dom96o.
18:37:36dom96*no
18:37:42AraqDomix?
18:37:51dom96It's meant to be a starting point for creating kernels in Nimrod
18:38:02Araq"Dom" means "cathedral" in German btw
18:38:08dom96I will create DomOS later
18:38:16dom96"Dom" means "house" in Polish :P
18:39:11OrionPKso polacks live in cathedrals?
18:40:31dom96Perhaps
18:41:12Araqthat's why we had to invade them
18:43:11dom96What should I call it!?
18:43:34*fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org)
18:44:05AraqdaKernel
18:44:28AraqcoreKernel
18:44:29dom96come on, this is suppose to be reddit material
18:44:38dom96like that rust kernel
18:44:56Araqnmrdkrnl
18:45:08Araqthat's cool because it has no vowel
18:45:11OrionPKala babel to nimrod?
18:45:35dom96OrionPK: Nah, a name which includes 'nimrod'
18:45:39dom96or 'nim'
18:45:46dom96Maybe I will just go for 'nimkernel'
18:45:50Araqyeah
18:48:36*fowl joined #nimrod
18:48:57*q66 quit (Quit: Leaving)
18:49:57*q66 joined #nimrod
18:58:52fowldom96, right, ill fix it
19:00:05fowlcan i just call it DATWPL
19:00:29fowlor should i call it WTFPL because thats what its based on, with some old english words
19:09:37dom96fowl: Is that an actual license or did you just make it up? :P
19:11:08fowli made it up but that doesnt make it less valid does it
19:11:22EXetoC_"when false: proc `$`*[T](a: openArray[T]): string" does it not work for some reason?
19:11:47dom96fowl: true, yeah, go ahead.
19:12:19dom96You might wanna cover your ass and say that the software is provided as-is though heh
19:12:35fowlah ok
19:12:45dom96dunno if that is necessary, i'm not lawyer.
19:13:30fowlEXetoC_, i think there is some disagreement to how $(openarray) should look
19:15:49EXetoC_it seems like a good idea to make it look like a valid expression
19:15:50NimBotAraq/Nimrod master c531d1d Araq [+4 ±12 -0]: --os:standalone works again
19:15:57fowlopenarray[T] would match seq[T], and i like $(seq[T]) to come out like "@[1, 2, 3]" but an openarray should be like "[1, 2, 3]"
19:15:58EXetoC_D's formatting lib allows this to be customized very easily
19:16:21EXetoC_ok
19:19:53Araqfowl: that's no problem, implement a seq[T] too then, it should match better
19:20:10fowlill try it out
19:20:25EXetoC_I'm not sure why it should be disabled just for that reason, but ok
19:20:28AraqEXetoC_: it's been disabled because "openArray" used to imply "varargs"
19:20:42Araqand thus it would match *everything*
19:20:53EXetoC_ok
19:21:03Araqwe could enable it now I think
19:23:04fowlAraq, it works
19:24:39fowlgreat now i have aporia open so i should work on something
19:25:23Araqfowl: a 3d engine in Nimrod would be sweet ;-)
19:26:35fowli started on one
19:26:51fowli need to read more about 3d programming tho
19:27:38fowlhttps://github.com/fowlmouth/nimlibs/tree/master/fowltek/musings/nim3d
19:28:07Araqfowl: give it a readme and fake screenshots and reddit it ;-)
19:28:40Araqit doesn't seem to matter to produce anything that's production ready for reddit
19:29:06Araqdom96: port your OS to the new --standalone target please
19:29:19dom96Araq: Why doesn't this work? https://gist.github.com/dom96/f0a8bc693afc925915d1
19:29:32fowldom96, and put it in a freaking repo
19:29:40fowlthey're free
19:29:58dom96fowl: No way! It's secret proprietary technology that I wish to sell to Microsoft!
19:30:31fowldom96, hey i looked at the gist you pasted earlier, it looks like -- is required for some options but not all of them?
19:30:42dom96I am in the process of submitting a patent for my rainbow proc!
19:30:57*fowl- joined #nimrod
19:30:59Araqdom96: bug report but it looks hard to support :P
19:31:24dom96fowl: I think all options support either syntax.
19:32:02dom96Perhaps it would be a good idea if I make it consistent.
19:32:30dom96Araq: ok
19:32:40fowlput out your kernel so i can fork it and make NimDOS
19:32:41dom96Araq: It would be awesome in my kernel :P
19:34:06dom96yes! 500th issue is mine!
19:34:08dom96https://github.com/Araq/Nimrod/issues/500
19:36:31Araqdom96: I think I'll make let x = TTest(2, 23) work instead :P
19:36:47dom96sure, that's acceptable.
19:41:10OrionPKso who wants to try to wrap this : https://github.com/ValveSoftware/source-sdk-2013
19:41:54AraqOrionPK: the srouce engine only supports a single map ...
19:42:47dom96yes! Someone wrap it!
19:43:02dom96I will create my own HL3 instead of waiting for silly gaben to learn to count to 3.
19:45:53OrionPKaraq a single map ingame?
19:46:05fowlwhat wrapping is needed? is there an api for modules or something like that
19:46:29dom96I'm guessing it's C++ :\
19:46:38AraqOrionPK: yeah that's right. A single map for Dota 2.
19:47:01dom96hahaha
19:47:43dom96Araq has a vendetta towards Dota 2 because of this apparently.
19:47:49OrionPK;D
19:48:04dom96That's how dota 2 works damn it!
19:48:15dom96Although I would guess modders created other maps
19:48:18reactormonkAraq, oh, dota 2 just has a shitload of heroes instead of a shitload of maps ;-)
19:48:29fowli always wanted an FPS where you play as yoshi
19:48:40fowl>_>
19:48:55fowlthrowing eggs and eating things
19:49:07dom96I always wanted an FPS where I play as a porn star :P
19:49:19fowlthere are porn games
19:49:37reactormonktemplate progmem(name: expr, content: expr) = var name {.progmem.} : prog_ptr[typeof(content)] = content
19:49:43reactormonkwhat's the correct way to do this?
19:49:54reactormonkoh, a generic.
19:50:13fowlyou cant declare a variable with a generic
19:50:42reactormonkit's a template?
19:50:51reactormonktemplate progmem[T](name: expr, content: T) =
19:50:54reactormonk var name {.progmem.} : prog_ptr[T] = content
19:50:54Araqcan somebody please run:
19:51:04reactormonklib/system/arduino.nim(47, 35) Error: undeclared identifier: 'T'
19:51:14Araqnimrod c -r tests/compile/tmacrotypes.nim
19:51:16fowlreactormonk, the way you had it before was right
19:51:29*Araq wondered if that test ever worked
19:51:31reactormonklib/system/arduino.nim(47, 40) Error: undeclared identifier: 'typeof'
19:51:39reactormonktests/compile/tmacrotypes.nim(4, 5) Error: unhandled exception: ref EAssertionFailed
19:51:46Araqgood.
19:51:51Araqso I didn't break it
19:52:01reactormonkAraq, so it isn't typeof
19:52:12Araqreactormonk: it's type(x)
19:52:49reactormonk var name {.progmem.}: prog_ptr[type(content)] = content
19:53:14reactormonkcast here?
19:53:18fowlhow do you use it
19:53:24dom96Araq: nimcache/system.c:7:19: fatal error: stdio.h: No such file or directory
19:54:22*Trixar_za is now known as Trix[a]r_za
19:55:28NimBotAraq/Nimrod master 9a8173c Araq [+0 ±4 -0]: made some tests green
19:55:32Araqdom96: try again please
19:56:42fowlnimrod just failed to compile :o
19:57:15dom96Araq: still fails
19:57:22fowlhttp://pastebin.com/7B0T34Yc
19:57:44fowltrying again without -d:useffi
20:00:54reactormonkAraq, hm. PROGMEM NI* integer_73213;
20:00:58reactormonk integer_73213 = ((NI*) (53));
20:01:04reactormonk... inside the function.
20:01:30reactormonkpretty sure it doesn't work fine that way
20:01:54Araqreactormonk: I got it to work
20:02:15*XAMPP-8 quit (Ping timeout: 268 seconds)
20:04:43Araqdom96: my fix was correct but I missed a few occurances :P
20:06:18dom96ahh
20:06:45Araqbut ugh
20:06:51Araqno there is a different bug
20:06:53Araq*now
20:08:01Araqoh no .. there isn't lol
20:08:09Araqstupid deadCodeElim :P
20:10:03dom96looks like I will move my "writeString" and other out into a separate modules so that panicoverride can reuse it.
20:10:27NimBotAraq/Nimrod master 952c920 Araq [+0 ±3 -0]: fixes --os:standalone
20:10:40Araqfowl: -d:useffi should work again
20:10:56fowlok will try after this cig
20:13:48dom96Araq: it works :)
20:14:21Araqnow was that sooo hard? it only took me half a day
20:15:11dom96it took me 1.5 days :P
20:15:16*Endy quit (Ping timeout: 276 seconds)
20:15:34dom96not too bad for someone who has no clue about os dev
20:15:42*fowl quit (Ping timeout: 240 seconds)
20:15:58Araqdom96: internet ftw ;-)
20:16:11dom96precisely
20:19:48*fowl joined #nimrod
20:20:08*fowl quit (Client Quit)
20:20:27*fowl- quit (Changing host)
20:20:27*fowl- joined #nimrod
20:21:13*XAMPP-8 joined #nimrod
20:23:08fowl-dom96, do you use your normal gcc to build the kernel
20:23:48dom96no, you need to build a cross-compiler.
20:24:06Araqdom96: document it
20:24:12dom96yeah, I will.
20:24:22dom96What would be the best way to get the location of nimbase.h?
20:24:43Araqnimbase.h is in $lib ;-)
20:25:16dom96I need to get the location from my nakefile.
20:25:16*Endy joined #nimrod
20:25:19Araqbut I trimmed it down to the essentials so there should be no reason to mess with it
20:25:30dom96or hrm
20:26:51*BitPuffin joined #nimrod
20:27:37dom96Araq: lol
20:27:46dom96Araq: Your nimbase.h doesn't work: nimbase.h:376:13: error: size of array ‘assert_numbits’ is negative
20:27:58Araqnope
20:28:07Araqthat means you lied about your --cpu
20:28:13fowl-my gcc is x86_64, i cant use it to build for x86 ?
20:29:00dom96Araq: I am cross-compiling after all..
20:30:23Araqdom96: you need to set --cpu to the proper thing
20:30:30dom96oh ok
20:30:32Araqand that's your *target* CPU
20:31:12dom96what do I set for i586?
20:31:29Araq--cpu:i386
20:36:56dom96Araq: Should I be worried about calling the systemInit/systemDatInit/moduleInit/.../ functions?
20:38:21Araqno unless your CPU doesn't support function calls
20:38:52dom96lol
20:47:28*Endy quit (Ping timeout: 246 seconds)
20:55:20fowl-how do i propose a new file
20:55:29fowl-(lua52.nim)
20:57:49Araqwhy would you want lua52 fowl- ? luajit doesn't support it afaik
20:58:22fowl-Araq, it will one day
20:58:28dom96What should I make the OS print?
20:59:08fowl-dom96, "Expressive. Efficient. Elegant." make it loop :D
20:59:28dom96lol, I don't want to cover the whole screen with text.
20:59:31dom96But that sounds good :P
20:59:51fowl-do the matrix falling characters animation :D
21:01:35dom96That would be complicated :P
21:01:56dom96lets see if I can get exceptions to work
21:05:18EXetoC_dom96: have it play nyancat.mpg
21:05:40dom96EXetoC_: haha, brilliant.
21:15:40dom96Araq: How can I test this panic stuff without implementing alloc?
21:16:06Araqpanic doesn't need to alloc
21:16:15*XAMPP-8 quit (Ping timeout: 268 seconds)
21:16:16Araqcheck out the example implementation
21:16:31dom96what activates it?
21:16:52Araqsome runtime check like array bounds checking
21:18:33reactormonkAraq, which one?
21:24:53dom96Araq: Will exceptions also end up in 'panic'?
21:26:01Araqdom96: any exception that system.nim can raise
21:26:44*BitPuffin quit (Ping timeout: 268 seconds)
21:27:09*EXetoC_ quit (Quit: WeeChat 0.4.1)
21:29:15*EXetoC joined #nimrod
21:30:03reactormonkdom96, why are you interested in the standalone?
21:30:14dom96i'm coding a kernel?
21:30:37reactormonkkk
21:40:11fowl-idk how to propose this file https://gist.github.com/fowlmouth/5737311
21:40:14reactormonkdom96, did I push my system.nim modifications?
21:40:22fowl-msaybe ill just throw it in fowltek
21:40:35Araqreactormonk: no, I did modify system.nim heavily
21:41:12reactormonkAraq, that merge will be a pain...
21:42:41reactormonkpushed the stuff to the `standalone` branch
21:42:48NimBotAraq/Nimrod standalone 894b880 Simon Hafner [+0 ±2 -0]: added InSystemModule for hti.nim
21:42:48NimBotAraq/Nimrod standalone f9a5cd4 Simon Hafner [+0 ±1 -0]: PSTR for arduino literals
21:42:48NimBotAraq/Nimrod standalone ddfcedd Araq [+0 ±1 -0]: bugfix: pragmas allowed for implicit generics
21:42:48NimBotAraq/Nimrod standalone 4eea3fc Simon Hafner [+24 ±94 -1]: Merge remote-tracking branch 'upstream/master' into standalone
21:42:48NimBot1 more commits.
21:43:52Araqreactormonk: merging shouldn't be necessary, just use my system.nim :P
21:44:09reactormonkAraq, now what did I do all that work for
21:44:55Araqsorry, that happens if something becomes Chefsache
21:45:26reactormonk:-P
21:46:13reactormonkmerge conflicts in basically all of the core files
21:46:18reactormonkAraq, just take your stuff?
21:47:29fowl-where's nimbot;'s code
21:47:39reactormonkAraq, I also defined noDynamicAlloc, which you do not seem to have
21:48:15reactormonkpanicoverride <- sweet
21:48:48dom96fowl-: In the nimbuild repo
21:49:13fowl-can i run him locally without nimbuild
21:49:19reactormonkAraq, and there is no seq in standalone - unless you have an allocator.
21:49:56reactormonklooks like there's a standalone with allocator and one without
21:50:03dom96fowl-: I don't think so.
21:50:07dom96Why would you want to?
21:50:53fowl-dom96, i wanted to add some features, namely recognizing #500 as issue 500 and linking to it, recognizing urls and announcing the page title
21:51:54dom96oh, I see, so you want to run it locally.
21:52:14dom96Add a little command line switch so that it doesn't connect to nimbuild I guess.
21:55:47Araqreactormonk: well --os:standalone doesn't have any allocator
21:56:08reactormonkAraq, so why is seq still in there?
21:56:51Araqwell you can have constant sequences, reactormonk
21:57:03reactormonkAraq, sweet, didn't know that
21:57:14reactormonkthought those are called arrays
21:57:16Araqthough it's not really useful, you might as well use an array then
21:57:22fowl-dom96, i think i will just write that stuff and test it locally
21:57:36dom96fowl-: sure that works too
21:57:59fowl-have anything against the re module?
21:58:42Araqfowl-: it's not pure ;-)
21:58:59dom96http://picheta.me/images/nimkernel.png
21:59:02dom96Good?
21:59:09dom96For a readme.md screenshot?
21:59:19Araqdom96: the colors are offensive
21:59:23Araqbut impressive work
21:59:32dom96what?
21:59:34fowl-agreed need better coors
21:59:35fowl-colors
21:59:44dom96How can colors be offensive? :P
21:59:45fowl-Araq, the system probably has pcre
21:59:47fowl-the linux one at least
22:00:02Araqthe "It's a pure pleasure" is ugly, dom96
22:00:16fowl-dom96, whats that error from, the index out of bounds is that an exception
22:00:17reactormonkAraq, and new requires ref, which is also not available
22:00:18dom96Well I have to show off my rainbow function.
22:00:22Araqalso your code has an out of bounds bug
22:00:26reactormonkAraq, or do you want standalone to be able to have an allocator
22:00:35dom96Araq: It's intentional to demonstrate the error handling, duh!
22:00:48Araqjust as I suspected then, dom96 :D
22:01:28dom96The rainbow function basically moves through the colors in two directions.
22:01:43dom96I could skip colors...
22:02:02dom96The magenta is the ugly one really
22:02:22dom96or do you dislike the whole "rainbow" thing?
22:02:50fowl-dom96, id do the capital E's blue or something
22:02:58fowl-IRT terminal colors, a light touch is best
22:03:07Araqthe rainbow is fine I think
22:03:22dom96Like I said, it's meant to show off the rainbow function.
22:03:29dom96The rainbow function can't just color the E's
22:03:47fowl-dom96, existence of function X is not reason enough to use it
22:04:12EXetoCeverybody loves yellow
22:04:33fowl-lol
22:04:40Araqreactormonk: I like --os:standalone as it is; should be good enough for everything now
22:04:42fowl-EXetoC, come on bust dom96 's chops with us
22:05:07dom96Yellow is nice :P
22:05:20reactormonkAraq, I have the snimstring and the genericseq stuff in a when not defined(noDynamicAlloc)
22:05:25fowl-dom96, is this based off the osdev tutorial
22:05:31dom96fowl-: yep
22:06:11Araqreactormonk: we already have --gc:none and -d:useMalloc and stuff; it's already overwhelming to keep all combinations working
22:07:08reactormonkAraq, so which keyword should I use?
22:07:58Araqwhy do you need one? what's wrong with the compiler nagging you if you use 'seq' at runtime that --os:standalone doesn't support?
22:08:01dom96ok, everyone refresh, is it better now?
22:08:21reactormonkAraq, should nag at compiletime
22:08:31Araqreactormonk: but it does
22:08:39reactormonkkk
22:08:43fowl-dom96, i like it
22:08:53Araqdom96: argh. you made it worse
22:08:58fowl-dom96, i like your window deco too, what WM do you use
22:09:02dom96Araq: Screw you, fowl- likes it
22:09:04dom96:P
22:09:07Araqthe capital I is unreadable
22:09:23dom96Araq: You're blind my friend.
22:09:23Araquse fewer colors
22:09:47dom96I'd say the first 'r' is bare readable.
22:09:52dom96*barely
22:09:58dom96fowl-: Cinnamon
22:10:03fowl-yea
22:10:03Araqtrue that too
22:10:31fowl-any kind of rainbow effect on console looks terrible IMO
22:10:48fowl-but that looks a lot better than it did
22:10:51dom96ok, fine lets make it more complex!
22:18:54dom96I ended up skipping 8 colors...
22:19:06dom96But at least I demo sets :P
22:19:22fowl-dom96, is that out of bounds an exception in the kernel itself
22:19:40dom96yes
22:19:49fowl-what happens then, is it halted?
22:19:59dom96 var outOfBounds = vram[magic + 781637]
22:20:04dom96Basically what I do :P
22:20:36dom96http://picheta.me/images/nimkernel2.png
22:20:38dom96Better?
22:20:42dom96fowl-: It keeps running
22:20:48Araqyou would get an error at compile time if I ever had finished that feature :P
22:21:05Araqdom96: now it's nice
22:21:56dom96I don't like it anymore lol
22:22:00dom96but meh
22:33:35NimBotAraq/Nimrod master 57dc0c2 Araq [+0 ±1 -0]: made parseBiggestFloat faster for large exponents
22:33:52dom96Anyone up for doing this? http://pandacodium.ca/
22:36:00dom96Araq: Any more reliable ways to get an out of bounds error? :P
22:36:27fowl-dom96, i was interested until i read "web applications" :/
22:36:37dom96fowl-: Don't like web apps?
22:36:44fowl-no
22:36:58fowl-not into the html/js/css ratrace
22:37:33Araqdom96: no... it will say "warning: can't prove array access to be correct" otherwise :P
22:37:35dom96that's not all that web apps are about
22:38:00dom96Araq: ahh ok, well the thing I'm worried about is that if the value of 'magic' changes...
22:38:07dom96the error will not appear
22:39:57fowl-dom96, vram[len(vram)] ?
22:40:24Araqdom96: don't worry there are more important things left to do
22:41:29dom96fowl-: yeah, that's better thx.
22:45:59Araqgood night
22:46:15dom96Araq: Won't stay around for the release of my OS? :(
22:46:40dom96I am almost done
22:47:00Araqwell you have 15 minutes for that then
22:47:05dom96cool
22:49:27*zahary quit (Quit: Leaving.)
22:53:28dom96https://github.com/dom96/nimkernel
22:53:34dom96There it is.
22:54:20dom96My cross-compile compilation instructions need testing though
22:55:13dom96The yellow makes my eyes hurt now lol
22:56:27dom96I think I might change it to a dark grey background
22:58:14dom96meh, that looks bad
22:58:39AraqThis is a small 32bit (i586) written
22:58:39Araq"kernel" missing :P
22:58:50dom96lol
22:59:06EXetoCvery unprofessional
22:59:18*XAMPP-8 joined #nimrod
22:59:55dom96fixed
22:59:57Araqdom96: you need to mention that it requires Nimrod HEAD
23:00:07dom96I did
23:00:14Araqand you need to provide a screenshot :-(
23:00:18dom96I did!
23:01:51NimBotnimrod-code/packages master 9969b09 Billingsly Wetherfordshire [+0 ±1 -0]: Update packages.json
23:01:51NimBotnimrod-code/packages master adddff7 Dominik Picheta [+0 ±1 -0]: Merge pull request #19 from fowlmouth/patch-6... 2 more lines
23:02:17Araqalso s/C/Nimrod in the comments in boot.s
23:03:08dom96why?
23:03:52dom96but yeah ok
23:05:00dom96There fixed.
23:07:50Araq TMultiboot_header{.pure, final.} = object
23:07:50Araqthat's not necessary anymore:
23:07:50Araq TMultiboot_header = object
23:07:50Araqdoes the same
23:07:50Araq--gc:none
23:07:50Araq-d:useMalloc
23:07:51Araqare not necessary anymore
23:07:52Araqwhoooaaa
23:07:52Araqyou import something in panicoverride and it works! :O
23:08:07fowl-o cool you used nake
23:09:46Araqthis means "import" works in system.nim. Very interesting.
23:09:46Araqas panicoverride is included by system.nim
23:09:46Araqdom96: I love your code :-)
23:10:17dom96Araq: Thanks :)
23:10:26dom96ok, i'll remove those.
23:10:31dom96fowl-: Yeah, it's very handy :)
23:11:36fowl-im not sure how to do it but id like to use nimrod -i to run the nakefile so it doesnt have to be compiled
23:12:15fowl-will #!/usr/bin/env nimrod i suffice for that
23:12:26dom96lol oops
23:12:39dom96I just realised that I mixed up foreground and background.
23:13:24Araqit's sweet
23:15:56Araqfowl-: that's not gonna work I think
23:16:16Araqyou can try "nimrod e" though
23:18:36Araqgood night
23:22:42fowl-night
23:23:01*Associat0r quit (Read error: Connection reset by peer)
23:23:20dom96ok, time to submit to reddit I guess
23:23:55fowl-bash: ./test.nim: nimrod: bad interpreter: No such file or directory
23:23:59fowl-why do i get this
23:24:03fowl-nimrod is on PATH
23:24:16*Associat0r joined #nimrod
23:24:16*Associat0r quit (Changing host)
23:24:16*Associat0r joined #nimrod
23:26:52dom96http://www.reddit.com/r/programming/comments/1he4eb/nimkernel_a_small_32bit_kernel_written_in_nimrod/
23:26:58dom96There.
23:27:55fowl-upvoting when i get my passwd back
23:30:20dom96Lets hope I wake up to lots of positive comments like "OMG I MUST USE NIMROD NOWWW"
23:31:03OrionPKupboated, but you never know with reddit posts
23:31:06dom96fowl-: Please try it out when you get some free time, and if you find any instructions which are incorrect let me know.
23:31:07OrionPKvery hit or miss
23:31:16fowl-dom96, ok
23:31:18dom96OrionPK: Thanks :)
23:31:40fowl-i happen to have the gcc set up from that article already, so ;)
23:31:48dom96cool :D
23:33:38dom96ok, time for shower bbl
23:36:29fowl-works for me
23:44:33EXetoCcats
23:44:36EXetoCmeow
23:47:01EXetoCtime to mess about with nake. shell scripts go a long way though, since the compiler caches stuff and what have you
23:47:31EXetoCbut they're not portable obviously. screw windows though :p
23:57:57dom96back
23:59:26EXetoCok it segfaults
23:59:51dom96lol