00:49:22 | * | NimBot joined #nimrod |
00:49:47 | * | dom96_ quit (Quit: Leaving) |
01:02:21 | dom96 | good night |
01:03:39 | fowl | night |
01:18:30 | * | ARCADIVS joined #nimrod |
01:23:43 | * | q66 quit (Remote host closed the connection) |
01:32:45 | reactormonk | any way to get line information about 'system module needs X'? |
02:45:53 | reactormonk | Error: system module needs 'TNimType' |
02:46:04 | reactormonk | triggered by const pccHack = if defined(pcc): "_" else: "" # Hack for PCC |
02:46:17 | reactormonk | but I included hti beforehand |
03:20:53 | reactormonk | ... strange |
03:41:32 | fowl | need more compiler devs in the western hemisphere |
04:13:23 | * | comex is now known as Sir_Burpalot |
04:13:52 | * | Sir_Burpalot is now known as comex |
04:23:42 | * | OrionPK quit (Read error: Connection reset by peer) |
05:31:52 | * | ARCADIVS quit (Quit: WeeChat 0.3.8) |
06:50:35 | * | Trix[a]r_za is now known as Trixar_za |
07:19:55 | * | Araq joined #nimrod |
07:20:35 | * | toolmaker joined #nimrod |
07:21:11 | toolmaker | Araq: knock knock |
07:22:40 | toolmaker | Anyone here used threads with nimrod? |
07:22:43 | * | Araq quit (Client Quit) |
07:33:25 | toolmaker | Anyone here? |
07:33:27 | fowl | toolmaker, best to post on the forums |
07:33:41 | fowl | since you're in that 4th dimension time zone |
07:33:47 | toolmaker | really? |
07:33:51 | toolmaker | haha..oh.ok... |
07:34:05 | fowl | well activity starts up here in about 6 hours |
07:34:41 | toolmaker | ok..that's perfect for me too… I'll join then.. |
07:34:45 | toolmaker | thanks for the tip man. |
07:34:53 | fowl | no problem |
07:35:04 | * | toolmaker left #nimrod (#nimrod) |
08:19:48 | * | Trixar_za is now known as Trix[a]r_za |
08:29:22 | * | zahary_ left #nimrod (#nimrod) |
08:40:53 | * | Araq joined #nimrod |
08:42:32 | * | zahary_ joined #nimrod |
09:20:45 | * | Araq quit (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) |
10:41:13 | * | Araq joined #nimrod |
10:47:05 | Araq | zahary_: changing the order of .global. variables breaks bootstrapping |
10:47:22 | Araq | I'm not sure why ... something rope related |
10:47:46 | Araq | the booting iteration then fails at the last step, the compiler produces wrong C code then |
10:48:09 | zahary_ | I'll bump into it, right? if I start messing with the order |
10:48:27 | Araq | yeah |
10:48:45 | zahary_ | I think the bigger problem is that we still put generics in the first module that uses them |
10:48:50 | zahary_ | this breaks my spec too |
10:49:03 | Araq | well I implemented a hacky solution to get rid of the preInit proc |
10:49:17 | zahary_ | because, these injected globals end up being inserted all over the place |
10:49:26 | Araq | that lead to reverse order for .globals |
10:49:27 | Araq | brb |
11:03:38 | * | toolmaker joined #nimrod |
11:03:42 | * | Araq quit (Read error: Connection timed out) |
11:04:28 | * | Araq joined #nimrod |
11:05:22 | toolmaker | Araq: Have two minutes to spare? |
11:08:25 | * | toolmaker left #nimrod (#nimrod) |
11:12:00 | * | q66 joined #nimrod |
11:34:15 | fowl | someone should do a wrapper for kolibriOS |
11:34:19 | fowl | http://wiki.kolibrios.org/wiki/C/C%2B%2B_programming#GCC.2FG.2B.2B |
11:50:30 | * | Araq quit (Read error: Connection timed out) |
11:51:28 | * | Araq joined #nimrod |
13:15:06 | dom96 | 'morning |
13:15:45 | zahary_ | dom96, weren't you in the UK? |
13:15:58 | dom96 | yeah, it's technically afternoon :P |
13:16:35 | zahary_ | I use to wake up late back at your age, but nat that much :) |
13:17:15 | dom96 | lol. I stayed up to migrate the Linode VPS, so I have an excuse :P |
13:17:26 | zahary_ | :) |
13:52:54 | * | Araq quit (Read error: Connection timed out) |
13:54:25 | * | Araq joined #nimrod |
13:55:45 | * | Araq quit (Client Quit) |
14:39:41 | reactormonk | Error: system module needs 'TNimType' triggered by const pccHack = if defined(pcc): "_" else: "" # Hack for PCC but I included hti beforehand |
15:22:24 | * | Endy joined #nimrod |
17:20:31 | reactormonk | Araq_bnc, any idea? |
17:29:17 | * | Araq_bnc is now known as Araq |
17:30:29 | Araq | reactormonk: ensure that NimString is defined before you include hti |
17:30:51 | Araq | or whatever the symbol was it depends on to determine it's included by system.nim |
17:55:17 | * | OrionPK joined #nimrod |
18:02:40 | * | [1]Endy joined #nimrod |
18:02:48 | * | Endy quit (Ping timeout: 252 seconds) |
18:26:10 | * | amarsahinovic joined #nimrod |
18:26:52 | * | burntsushi quit (Read error: Connection reset by peer) |
18:27:10 | * | burntsushi joined #nimrod |
18:34:02 | * | [1]Endy quit (Ping timeout: 252 seconds) |
18:42:04 | reactormonk | kk |
18:43:08 | reactormonk | Araq, it is |
18:45:32 | reactormonk | will const SystemModule = true trigger defined(SystemModule) ? |
18:50:14 | reactormonk | yep. |
18:50:39 | reactormonk | just did the above. Now I'm at Error: system module needs 'nimGCvisit' |
18:57:43 | * | Endy joined #nimrod |
18:58:37 | reactormonk | Araq, now I know why the system.nim is one big file |
18:58:52 | Araq | reactormonk: good ;-) |
19:00:11 | reactormonk | Araq, slightly messy now |
19:02:52 | Araq | and yet you always get a "nice" compiletime error |
19:03:37 | reactormonk | you could say that ;-) |
19:23:58 | reactormonk | Araq, argh, I'm not really sure the stuff is cleaner afterwards |
19:30:38 | reactormonk | ARGH |
19:34:22 | Araq | welcome to the internals of Nimrod ;-) |
19:34:31 | * | amarsahinovic quit (Ping timeout: 276 seconds) |
19:35:03 | Araq | lets see what the manual has to say about it: |
19:35:05 | Araq | "Complexity" seems to be a lot like "energy": you can transfer it from the end user to one/some of the other players, but the total amount seems to remain pretty much constant for a given task." |
19:36:38 | * | amarsahinovic joined #nimrod |
19:42:27 | * | amarsahinovic quit (Ping timeout: 256 seconds) |
19:48:41 | * | OnionPK joined #nimrod |
19:51:56 | * | Endy quit (Ping timeout: 290 seconds) |
19:54:42 | * | OrionPK quit (Ping timeout: 276 seconds) |
19:57:19 | reactormonk | Araq, or you can spend a great effort to vent it |
19:57:37 | * | tangentstorm joined #nimrod |
19:57:43 | tangentstorm | hello! |
19:57:44 | Araq | hi tangentstorm, welcome |
19:58:09 | tangentstorm | great job on the redesign :) |
19:58:49 | tangentstorm | I had seen the site many months ago and went away without discovering how cool nimrod is :) |
19:59:42 | tangentstorm | I'm curious about the bootstrap compiler in pascal. Where is it? |
20:03:10 | Araq | in the history of git perhaps |
20:03:22 | tangentstorm | hunting through the history now... |
20:03:44 | Araq | why? it can't compile Nimrod |
20:04:00 | Araq | even nimrod 0.9.0 can't compile 0.9.2 |
20:05:42 | tangentstorm | I'm interested in bootstrapping in general, I guess. :) |
20:06:29 | tangentstorm | Also I do much of my work in pascal at the moment. |
20:06:37 | Araq | I think it's not even in git's history, I used "bzr" back in the days |
20:06:41 | Araq | interesting |
20:06:46 | dom96 | https://github.com/Araq/Nimrod/tree/7bcb14aaf27ee451a8c922f27bf41f15125ab52b/nim |
20:06:51 | dom96 | it is |
20:06:56 | tangentstorm | heya dom96 :) |
20:07:01 | dom96 | hi tangentstorm |
20:07:13 | Araq | alright, dom96 proved me wrong |
20:07:19 | dom96 | :P |
20:07:26 | tangentstorm | <- the b4 guy from reddit ... you hung out in my game dev channel a while back and introduced me to nimrod in the first place |
20:07:52 | reactormonk | tangentstorm, given Araq used pascal to bootstrap nimrod, there will be some similarities |
20:08:50 | tangentstorm | what's with the {@ignore} and {@emit ...} comments? |
20:08:53 | dom96 | tangentstorm: whoa, I can't remember that at all. What game dev channel was this? |
20:08:56 | tangentstorm | eg: https://github.com/Araq/Nimrod/blob/7bcb14aaf27ee451a8c922f27bf41f15125ab52b/nim/ast.pas |
20:09:25 | tangentstorm | dom96: #b4 or possibly #b4lang |
20:09:51 | tangentstorm | dom96: https://github.com/sabren/b4/ |
20:10:29 | Araq | tangentstorm: there is a tool pas2nim to translate pascal into Nimrod |
20:10:42 | Araq | ignore/emit influence the translation process |
20:11:09 | Araq | note how they have been designed in a way that a proper Pascal compiler simply ignores them |
20:12:15 | Araq | it's quite easy to see which parts of the compiler have been translated and never been rewritten (lots of code I think) |
20:13:09 | tangentstorm | :) very cool |
20:13:49 | dom96 | tangentstorm: I see. Nice to see you finally made your way here :) |
20:14:53 | tangentstorm | here you go. this should be more memorable: https://github.com/goldsmile/eg4d/blob/master/ref/concept.org |
20:16:02 | tangentstorm | <still haven't made the game though :/> |
20:16:28 | Araq | write it in Nimrod then, it's much more productive than Pascal |
20:16:32 | tangentstorm | :D |
20:21:01 | reactormonk | tangentstorm, get on with it. |
20:21:12 | dom96 | indeed, I have logs of #b4 and I remember it vaguely. Still feel like i'm missing a big chunk of memory though hah |
20:21:19 | fowl | tangentstorm, there are wrappers for SDL2, SFML, ODE, GLFW, Horde3d, AssIMP, chipmunk, etc |
20:21:27 | tangentstorm | i see that |
20:21:36 | fowl | so there's no reason not to now :D |
20:22:43 | tangentstorm | haha.. this was going to be a little tiny console mode text game :D |
20:23:17 | dom96 | Some 3D graphics can't hurt. |
20:23:30 | dom96 | :P |
20:25:35 | tangentstorm | there is a game jam coming up in a few days... |
20:25:42 | tangentstorm | http://bacongamejam.org/jams/bacongamejam-05/ |
20:45:20 | tangentstorm | Araq: I notice the old pascal code was under the GPL. Would it be okay to fork it under the new license? |
20:51:10 | reactormonk | Araq, would it be possible to get a line information on 'system module needs X'? |
20:52:24 | fowl | tangentstorm, why do you want to fork old code? |
20:54:07 | tangentstorm | fowl: well i'd really like to write a decent compiler for oberon |
20:54:30 | tangentstorm | and i'm writing a series of lessons on bootstrapping. |
20:54:47 | tangentstorm | oberon is very similar semantically to nimrod (or a subset of nimrod anyway) |
20:55:29 | tangentstorm | my bootstrapping path starts with a simple stack based virtual machine, then implements a little forth dialect (b4) then a pascal/oberon dialect |
20:56:00 | tangentstorm | I want something pretty low level and even "primitive" |
20:56:39 | tangentstorm | like personally i love iterators and classes and generics but for a beginner class i'd like to stick to the basics. |
20:57:05 | tangentstorm | (oberon was made by the guy who made pascal, but it's removed a bunch of features) |
21:03:13 | reactormonk | tangentstorm, you could bootstrap it in nimrod, you know |
21:04:03 | tangentstorm | reactormonk: no I can't :) |
21:04:07 | tangentstorm | well |
21:04:12 | tangentstorm | i'm mis-using the word bootstrap |
21:04:55 | tangentstorm | The idea is you start with this virtual machine. |
21:05:11 | tangentstorm | it's a stack machine very close to this: http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html |
21:05:44 | tangentstorm | except probably reduced down to 16 core opcodes and probably ditching some of the virtual devices. |
21:06:40 | tangentstorm | The idea is the machine ought to be simple enough that you can implement it in any language you want. |
21:06:55 | tangentstorm | (in very few lines of code) |
21:07:32 | tangentstorm | What brought me here today is there's a guy who hangs out in #retro writing a similar vm in nimrod :) |
21:07:57 | tangentstorm | Anyway... Then the next step would be a very simple assembler. |
21:08:16 | dom96 | somebody is writing a VM in nimrod? :O |
21:08:19 | tangentstorm | Also very tiny. |
21:08:22 | tangentstorm | Yes. |
21:08:28 | fowl | i wrote a couple small vms in nimrod, very doable |
21:08:40 | tangentstorm | His name is Mat2 and he's writing a vm for Parable, which is the sister language of retro. |
21:09:25 | tangentstorm | http://rx-core.org/parable/ |
21:09:56 | dom96 | Interesting. I'm not sure he mentioned this when he was here. |
21:11:33 | tangentstorm | mat2 moves in mysterious ways :) |
21:12:31 | tangentstorm | anyway my course would start with this tiny assembler and vm, and then proceed bottom up to implement a language. |
21:12:45 | tangentstorm | ideally the assembler would be implemented in a hex editor |
21:13:09 | tangentstorm | where you just typed the raw bytecode instructions |
21:13:34 | tangentstorm | but i'm probably going to cheat a bit and just provide implementations in the same languages that have the vm |
21:13:43 | tangentstorm | s/have/provide/ |
21:22:10 | * | gradha joined #nimrod |
21:26:33 | Araq | tangentstorm: if it's for teaching purposes why is the GPL meaningful? |
21:27:26 | Araq | and how does an early nimrod compiler implement oberon? |
21:28:10 | Araq | the nimrod compiler implements vastly different parser, a complex semantic checker, and a C code generator |
21:28:28 | Araq | none of which you would want for an Oberon compiler |
21:28:29 | tangentstorm | Araq: i just don't like the gpl :) |
21:28:35 | gradha | tangentstorm: for your text only game maybe http://forum.nimrod-code.org/t/111 could be useful |
21:28:48 | tangentstorm | hey gradha! i know you from somewhere too. :) |
21:29:09 | gradha | the world is a small 32bit chip |
21:31:05 | Araq | and fyi Wirth's languages got worse and worse; Oberon is a bad joke IMO |
21:32:13 | tangentstorm | they just changed is all. |
21:32:27 | Araq | what? |
21:32:34 | tangentstorm | oberon the language doesn't really make much sense without oberon the system. |
21:33:05 | reactormonk | Araq, https://github.com/Araq/Nimrod/issues/459 whatcha think? |
21:34:11 | tangentstorm | the language has terrible string support in the language itself, but the text module gives you a really amazing datatype that's more like a full text editor. |
21:34:15 | fowl | reactormonk, nobody wants to bother with OSX because its a broken rip-off of BSD |
21:34:19 | tangentstorm | (minus the gui) |
21:34:44 | Araq | reactormonk: I'm replying |
21:36:10 | reactormonk | Araq, oh, --lib apparently |
21:37:32 | tangentstorm | Araq: mostly i'm just working on compiler stuff in pascal and I've looked at a number of compilers and the style is either too old (https://github.com/tangentstorm/pascal/) or too big and complicated and using a lot of delphi features that my little pascal dialect won't have. |
21:38:01 | tangentstorm | your old pascal code looks a lot more like what i'm looking for :) |
21:38:54 | tangentstorm | If you're willing to put it under the new license, i'd like to play around with it. Maybe I can get it up to par with the current nimrod compiler. |
21:39:00 | reactormonk | Araq, I'm running in circles... |
21:39:35 | reactormonk | http://sprunge.us/LdYD but grep "proc add" system/**/*.nim -Ri | grep cstring doesn't give me anything |
21:40:02 | reactormonk | http://sprunge.us/XIiV without the grep cstring |
21:41:05 | Araq | tangentstorm: put it under the MIT license then and start hacking |
21:41:16 | tangentstorm | Araq: thank you! :) |
21:41:46 | Araq | the pascal version leaks memory btw |
21:42:09 | tangentstorm | fair enough :) |
21:42:45 | Araq | I guess the git repo also has a pascal version of pas2nim then for you |
21:43:51 | Araq | reactormonk: the implementation is directly in system.nim then? |
21:44:01 | fowl | i wrote some nimrod that looked like pascal yesterday |
21:44:27 | fowl | i just uppercased all keywords and function names >_> |
21:45:24 | Araq | uppercased keywords are more like oberon |
21:45:32 | Araq | though modula 2 had them too iirc |
21:45:39 | tangentstorm | pascal comes from the days when bytes weren't large enough to distinguish upper and lower case. |
21:54:48 | gradha | looking at cgi.XMLencode, is there an inverse proc somewhere? & -> & |
21:55:14 | Araq | cgi.xmlDecode? |
21:55:57 | Araq | oh that exists only for urls |
21:56:31 | gradha | it's a really incovenient proc to implement, since it requires knowing the whole &whatever; symbol table |
21:56:41 | Araq | xmlencode should go into some xml module anyway |
21:57:04 | gradha | so deprecate, move to xml, and implement decode? |
21:57:38 | Araq | htmlparser.entityToUtf8 does the hard part of the job for you |
21:59:01 | Araq | it seems to have been written before we had hash tables ... |
21:59:15 | Araq | or string case statements ... |
22:01:01 | Araq | and no, don't move it, the xml modules need to be cleaned up too I think |
22:02:16 | gradha | I'll indeed follow your direct orders telling me to do nothing |
22:02:32 | fowl | :D |
22:03:57 | Araq | yay we have parsexml and xmlparser and xmldomparser |
22:04:26 | gradha | I bet dom96 wrote the last one |
22:04:33 | Araq | true |
22:04:40 | dom96 | haha, yes. |
22:04:53 | gradha | only 95 more to go |
22:05:53 | Araq | we need an xmlpath module |
22:06:20 | dom96 | ^^ |
22:06:21 | Araq | glaring omission in the stdlib |
22:06:43 | dom96 | the xmldom module is still missing some things IIRC |
22:07:10 | dom96 | Although I bet the module won't ever be used anyway. |
22:07:17 | gradha | I've never actually used xml paths before, I guess I haven't experienced real pain yet |
22:12:39 | reactormonk | Araq, oh |
22:13:15 | reactormonk | Araq, nope |
22:15:24 | * | fowl quit (Ping timeout: 252 seconds) |
22:21:12 | * | fowl joined #nimrod |
22:21:48 | reactormonk | Araq, there is no such proc... only the ones with var string |
22:23:26 | Araq | reactormonk: system.nim:1746 |
22:25:23 | fowl | Araq, mind if i edit the wiki bootstrapping page? I want to make it a getting started page and add instructions for setting up babel |
22:26:06 | reactormonk | Araq, that's a var? |
22:26:36 | Araq | fowl: feel free |
22:26:43 | Araq | gradha: http://lambda-the-ultimate.org/node/4749#comment-75483 |
22:27:13 | Araq | apparently the docs are so bad people need to read bug reports to learn about the language |
22:27:47 | gradha | bug reports are definitely more fun |
22:29:14 | Araq | I suppose I'm the only one who can't take him seriously? |
22:29:38 | Araq | "Sometimes a wall of text is better. " |
22:30:37 | gradha | oh, he's quoting a feature request as bug? awesome |
22:31:16 | Araq | yeah and your feature request if of higher quality than my docs |
22:31:21 | Araq | *is of |
22:32:54 | Araq | and when you remove the examples the docs are short |
22:33:12 | Araq | well yeah ... that's often the point |
22:34:03 | Araq | "examples are not one way of learning, they are the only way" said Einstein iirc |
22:35:21 | gradha | maybe if he had picked https://github.com/Araq/Nimrod/issues/423 at random his brain would have imploded due to the recursiveness |
22:35:43 | fowl | Araq, dont waste time battling aspies |
22:36:09 | fowl | same guy, same comment thread http://lambda-the-ultimate.org/node/4749#comment-75485 |
22:36:15 | gradha | saying gradha with a capital G is clearly wrong, nothing else matters, the whole comment is ridiculous |
22:37:48 | fowl | that kid just wants attention |
22:37:56 | fowl | nice wall of text with minimal content |
22:38:05 | Araq | fowl: TL;DR |
22:40:15 | gradha | actually what he says on docs is true, but he's short, I would include even more stuff in the docs, fortunately my forms of criticism are pull requests |
22:41:21 | fowl | are there different csources for each platform? |
22:42:21 | Araq | fowl: kind of, yes that's why it's build/1_1, etc. |
22:42:50 | Araq | but "koch csource" builds for every platform that's listed in nimrod.ini |
22:43:15 | fowl | neat |
22:43:35 | Araq | strange ... |
22:43:46 | Araq | I wrote one sentence and fowl was able to understand me |
22:44:22 | Araq | let's write a paragraph instead why things are this way |
22:45:17 | Araq | you know, Nimrod actually has this thing called system.hostOS and so you can have platform specific code and ... argh, I'm too lazy |
22:45:53 | gradha | "As you may have noticed, the build directory contains several other subdirectories with the name pattern number_number. Luckily for end users, no manual massaging of their contents has to be done, since "koch csource" will iteratively build all the appropriate subdirectories mentioned in the nimrod.ini file, which can be configured at any time" |
22:46:36 | Araq | "But warning: running 'koch csource' looks like it runs into an endless loop" |
22:47:22 | Araq | "Maybe you should consider that the core devs use 'koch' too and use the very same commands to build a release and that means it's pretty well tested and doesn't run into an endless loop" |
22:48:12 | gradha | yeah, but then developers don't know how to upload some html files |
22:48:33 | gradha | time for "koch upload"! |
22:49:02 | Araq | "Or maybe you're using Mac OS X and it really DOES run into an endless loop, it's just that nobody ever experienced this bug and it only happens for you because it's full moon." |
22:49:31 | gradha | come on, Mac OS X (does anybody spell it like that?) manages to be buggy even when there's no full moon |
22:51:01 | gradha | Araq: what's your opinion on https://github.com/Araq/Nimrod/issues/422 ? |
22:51:55 | gradha | zahary_ wanted to add to idetools some option to return the syntax of whole lines, does something like that exist internally which you already use for syntax highlighting? |
22:52:44 | Araq | the docgen uses highlite.nim to highlight source snippets, no parsing is done, only lexing |
22:53:27 | Araq | I consider .. code-block:: idetools overkill as long as we don't even have proper cross references in the docgen |
22:54:02 | gradha | it also requires a first pass parsing of all modules to build the link index |
22:54:33 | Araq | I'm not against it, but it looks hard to implement and we don't even generate proper persistent links yet |
22:57:17 | gradha | packages/docutils seems missing from the library index |
22:59:29 | Araq | I know |
22:59:50 | Araq | the library index is hard to keep up to date |
23:00:05 | Araq | I don't know how to automate it |
23:01:27 | Araq | well it can't be done really a tool can't guess the proper sections |
23:03:14 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
23:08:50 | reactormonk | lib/system/excpt.nim(276, 15) Error: type mismatch: got (ref E_Base) |
23:08:56 | reactormonk | system.isNil(x: T): bool |
23:09:01 | reactormonk | shouldn't this one match? |
23:09:21 | Araq | not declared yet? |
23:10:36 | Araq | it is this: proc isNil*[T: proc](x: T): bool |
23:10:59 | Araq | unfortunately the compiler doesn't show generic constraints in error messages |
23:11:17 | Araq | T: proc doesn't match ref E_Base |
23:11:40 | dom96 | hrm, this reminds me. It would be nice if 'raise EBlah(msg: "message")' would work. Sadly only 'ref' exceptions can be raised, and all exceptions are not defined as such. |
23:12:24 | Araq | maybe they should |
23:12:41 | Araq | now that we have the "ref object" shortcut |
23:12:43 | reactormonk | Araq, yep |
23:13:08 | dom96 | indeed |
23:13:17 | Araq | also newException really leads to code bloat and needs a different implementation at least |
23:14:59 | Araq | raise EBlah(msg: "message") would produce the same bloat. hm. |
23:15:42 | dom96 | what's the bloat in this case? |
23:16:33 | Araq | a raise statement is in a cold code path and so the construction should not be inlined |
23:17:23 | Araq | the compiler currently always inlines the construction |
23:17:43 | reactormonk | lib/sys/strings2.nim(299, 31) Error: pragmas are only allowed in the header of a proc |
23:17:48 | reactormonk | proc len*[T](x: seq[T]): int {.magic: "LengthSeq", noSideEffect.} |
23:18:37 | Araq | well? the error message is clear |
23:18:49 | reactormonk | oh, crap |
23:48:51 | reactormonk | Araq, I'm sure I triggered at least three bugs we won't find in a while |
23:50:08 | reactormonk | http://sprunge.us/hLcL |
23:50:10 | reactormonk | first one... |
23:50:21 | reactormonk | btw, why is {.pragma progmem, extern: "PROGMEM $1".} |
23:50:24 | reactormonk | invalid? |
23:51:10 | fowl | you dont have to pop all the push's, pragmas only apply to one module |
23:52:13 | reactormonk | it's the system.nim we're talking about |