00:51:37 | NimBot | nimrod-code/Aporia 8d90677 Dominik Picheta [+0 ±1 -0]: Fixed segfaults when switching syntax highlighting. |
02:27:30 | * | q66 quit (Quit: Quit) |
06:18:15 | reactormonk | Any idea how to implement global properties aka fields? |
06:24:02 | reactormonk | http://pastie.org/5677196 current code, I don't think that's the way to go, since the options object is global anyway. |
06:24:16 | reactormonk | same with a toplevel object, but that one also inherits its fields to each client :-/ |
06:24:21 | reactormonk | (and methods btw) |
07:24:47 | * | fowl quit (Quit: Leaving) |
07:33:48 | * | Trix[a]r_za quit (Ping timeout: 264 seconds) |
07:34:19 | * | Trix[a]r_za joined #nimrod |
07:39:48 | * | Trix[a]r_za is now known as Trixar_za |
08:07:55 | * | Trixar_za is now known as Trix[a]r_za |
10:16:08 | Araq | reactormonk: just use object fields like you already do |
11:09:15 | * | q66 joined #nimrod |
11:18:20 | * | fowl joined #nimrod |
11:18:20 | * | fowl quit (Client Quit) |
11:22:22 | * | fowl joined #nimrod |
13:06:07 | * | ekselkiu joined #nimrod |
13:08:35 | ekselkiu | Build failure: https://gist.github.com/4524021 |
13:08:52 | ekselkiu | v0.9.0 and master - probably something really simple. |
13:09:11 | dom96 | ekselkiu: unzip build/csources.zip |
13:09:32 | ekselkiu | Bleeurgh, jumped straight to the "On UNIX" section :P |
13:09:45 | * | ekselkiu feels stupid now |
13:09:45 | ekselkiu | thanks |
13:11:09 | dom96 | no worries. It's a common mistake. |
13:11:31 | ekselkiu | "SUCCESS" - well that's reassuring :) |
13:22:21 | * | Trix[a]r_za is now known as Trixar_za |
13:31:55 | libMAN | I still can't compile Aporia (v0.1.3, with nimrod 0.9.1 / 2012-11-18, both from git 2 days ago). |
13:32:53 | libMAN | First of all, I had to add 'lib="/usr/local/lib/nimrod"' on top of /etc/nimrod.cfg |
13:35:20 | libMAN | `nimrod c aporia.nim` output on nimrod c aporia.nim |
13:35:32 | libMAN | `nimrod c aporia.nim` output on http://pastebin.com/Z2vhTxG2 |
13:36:12 | libMAN | (Still didn't get used to pasting from browser to xterm properly.) |
13:42:34 | libMAN | Running FreeBSD 9.1-RELEASE, i386, which has gcc v4.2.1/20070831. Tried setting cc in /etc/nimrod.cfg to clang (v3.1 / 156863 / 2012-05-23), but stdout was identical as with gcc (in aforementioned pastebin). |
13:43:37 | libMAN | Latest GTK/etc compiled from FreeBSD ports. (It's in my "gnushit" jail, hehe.) |
13:44:03 | Araq | {.push cdecl.} is wrong |
13:44:17 | libMAN | ekselkiu: it's OK, I made the same mistake (failure to unzip csources) before. |
13:44:20 | Araq | so no wonder it doesn't compile |
13:44:40 | Araq | let me see if my compiler eats this shit ... |
13:46:12 | Araq | hm |
13:46:30 | Araq | libMAN: did you bootstrap? |
13:47:15 | Araq | latest compiler supports 'push cdecl' and dom96 used it without even noticing it's ugly |
13:47:18 | libMAN | Not sure what that means. For nimrod or aporia? |
13:47:24 | Araq | for nimrod |
13:48:02 | libMAN | I got the code from git 2 days ago. |
13:48:31 | Araq | that doesn't mean its C sources are from 2 days ago ;-) |
13:48:48 | libMAN | (BTW, I've been avoiding git so I'm ignorant - what's the command to update code you've previously "clone"d?) |
13:48:59 | libMAN | Did I fail to read some readme file again?... |
13:49:06 | Araq | ./build.sh # only builds pregenerated C |
13:49:20 | fowl | git pull |
13:49:45 | Araq | https://github.com/Araq/Nimrod/wiki/Bootstrapping |
13:50:24 | Araq | it's also in install.txt and in readme.txt |
13:53:37 | libMAN | My src update script includes `cd $SRCDIR/Nimrod && git pull git://github.com/Araq/Nimrod.git` and `cd $SRCDIR/Aporia && git pull git://github.com/nimrod-code/Aporia.git` - is this ideal? |
13:53:52 | libMAN | Araq: sorry, I missed it somehow. |
13:55:10 | Araq | the pull commands seem fine but you have to either bootstrap or fix the 1 line in aporia |
13:55:36 | Araq | {.push cdecl.} --> {.push callConv:cdecl.} |
13:58:38 | libMAN | I think I forgot to run `nimrod c koch; koch boot` between Nimrod `build.sh` and `install.sh` ... |
13:59:39 | libMAN | s/koch boot/\.\/koch boot/ |
14:00:06 | fowl | koch boot -d:release -d:useGnuReadline (unless that offends you) |
14:00:41 | libMAN | `./koch boot` fails with "root/src/Nimrod/compiler/docgen.nim(16, 45) Error: cannot open 'rstast'" (lemme know if you need full output pastebin). |
14:00:46 | libMAN | Nothing offends me. ;) |
14:01:39 | libMAN | In the "gnushit" jail, everything is permissible. :P |
14:03:30 | Araq | libMAN: the error means that compiler/nimrod.cfg is either not found or the relative path in there doesn't work |
14:04:14 | libMAN | the koch args fowl just gave result in identical error (with some logical differences in above output) |
14:05:58 | Araq | when I bootstrap it says: |
14:06:01 | Araq | Hint: used config file '/home/andreas/projects/nimrod/config/nimrod.cfg' [Conf] |
14:06:03 | Araq | Hint: used config file '/home/andreas/projects/nimrod/compiler/nimrod.cfg' [Conf] |
14:06:13 | Araq | what does it say for you? |
14:06:20 | libMAN | The $SRCDIR/Nimrod/compiler/nimrod.cfg is present. Does it need a 'lib="/usr/local/lib/nimrod"' change same as /etc/nimrod.cfg? |
14:06:23 | libMAN | sec |
14:08:44 | libMAN | `./koch boot` ==> http://pastebin.com/dZdAtv3A |
14:10:02 | libMAN | (Probably useless but `./koch boot -d:release -d:useGnuReadline` ==> http://pastebin.com/4fuasb3S ) |
14:10:31 | Araq | Hint: used config file '/root/src/Nimrod/compiler/nimrod.cfg' [Conf] |
14:10:36 | Araq | so that works |
14:11:15 | Araq | but the relative path in compiler/nimrod.cfg seems to not work for some reason ... |
14:11:34 | Araq | path="$nimrod/packages/docutils" |
14:11:48 | Araq | is the offending line |
14:12:05 | Araq | what does 'nimrod dump' say? |
14:13:14 | libMAN | `nimrod dump` ==> http://pastebin.com/zHyQ8RN0 |
14:14:22 | Araq | ok so at least it knows it's freebsd ;-) |
14:15:26 | libMAN | Changed it to absolue path... |
14:16:11 | libMAN | ('path="/root/src/Nimrod/packages/docutils"' in /root/src/Nimrod/compiler/nimrod.cfg) |
14:17:21 | libMAN | `./koch boot` got a lot farther this time, but failed on: "gcc: root/src/Nimrod/compiler/nimcache/cgen.o: No such file or directory |
14:17:24 | libMAN | Error: execution of an external program failed |
14:17:48 | libMAN | " // sorry, new IRC client, bad old pasting habits |
14:18:45 | Araq | the compiler has some path weirdness so maybe it doesn't output to root/src/Nimrod/compiler/nimcache/* |
14:19:47 | Araq | take a look where the 'nimcache' dir is created please |
14:22:24 | libMAN | Weird, I ran it a second time (forgot to `... >stdout 2>stderr` for pastebin when I got the above-pasted cgen error) and it seems to have worked. |
14:23:09 | Araq | oh |
14:23:20 | Araq | try with --parallelBuild:1 then |
14:24:00 | libMAN | `./koch boot` (repeat attempt after the above cgen.o error) ==> http://pastebin.com/tTBHAWw1 |
14:24:24 | libMAN | Ends with "executables are equal: SUCCESS!" |
14:25:57 | Araq | that's good :-) |
14:26:20 | Araq | but the path issues are worrying nevertheless |
14:27:01 | libMAN | `find /root/src/Nimrod | grep -i nimcache` => http://pastebin.com/7fniS7dq // weirdness |
14:27:47 | libMAN | Something is using relative path instead of absolute, resulting in "/root/src/Nimrod/root/src/Nimrod/compiler" |
14:30:29 | libMAN | So did `./koch boot` succeed, am I ready to run `./install.sh`? |
14:30:59 | Araq | I never use install.sh ;-) |
14:31:54 | Araq | but you can try it |
14:33:30 | libMAN | Question: I'll want to have two nimrod installs, one with Aporia in my "gnushit" jail for development UI, and one in the base system (once it's copyfree). |
14:34:33 | fowl | i leave nimrod in ~/projects and have a symlink to it on $PATH |
14:34:41 | libMAN | (You can think of jails as just fancypants chroot.) Can I just run `./install.sh` outside the jail (/jail/gnushit/root/src/Nimrod/), or will that cause path problems and I need to redo some earlier steps? |
14:34:54 | ekselkiu | BSD user detected :P |
14:35:29 | libMAN | I'll treat it as a FreeBSD port (i.e. installing under /usr/local), which I hope it soon will be. |
14:39:15 | libMAN | Is "nim-" a good prefix for nimrod-related ports? (Ex. perl5 modules in FreeBSD ports start with "p5-", "hs-" for haskell, etc.) |
14:39:50 | Araq | nim- is good yeah, in fact some people start to call the language nim ... |
14:40:36 | Araq | about the 2 installations: it shouldn't be a problem and the code is actually quite consious about all sorts of path issues |
14:40:57 | Araq | (which makes the problems you encountered even more annoying to me btw) |
14:41:15 | libMAN | Yeah, running install.sh outside the jail seem to have worked. |
14:41:44 | libMAN | Maybe I'll make a FreeBSD package just for the heck of it. |
14:43:19 | libMAN | FreeBSD has two versions, x11-toolkits/gtksourceview (v1.8.5) and x11-toolkits/gtksourceview2 (v2.10.5). I should use the newer, right? |
14:43:32 | Araq | right |
14:44:23 | libMAN | Sadly, unlike Gentoo Portage, FreeBSD doesn't support versioning in the same port, so you often have alternative ports. Like there can be lang/nimrod for stable version and lang/nimrod-devel for the cutting edge, with editors/aporia requiring the latter... |
14:45:24 | Araq | tbh I consider this unix stuff an abomination and avoid it like the plague |
14:45:47 | Araq | I don't care whether it's all "nice and clean" in my packagement management |
14:45:52 | libMAN | I respect that. You wouldn't be a logical language designer if you didn't. ;) |
14:45:56 | Araq | which breaks from time to time anyway |
14:46:26 | libMAN | It was UNIX-beards that gave us Perl... |
14:46:33 | fowl | i wish gobolinux was still around :( |
14:47:28 | Araq | not to mention that the package manager is mostly a workaround for the dreaded directory hierarchy |
14:49:03 | fowl | in gobo the hierarchy is the package manager |
14:49:16 | Araq | I know, love gobo's concept too |
14:49:28 | Araq | except it never ran on my machines -.- |
14:55:06 | Araq | have to go, see you later |
14:55:35 | libMAN | ttyl |
14:57:57 | libMAN | Aporia compiled fine (after remembering to add the lib change to /etc/nimrod.cfg again, after install.sh overwrite it w/o warning). |
14:58:53 | libMAN | Upon running `./aporia`, a "Warning" msgbox comes up: "Unable to bind socket. Aporia will not function properly as a single instance. Error was: Can't assign requested address" |
15:44:06 | dom96 | libMAN: Aporia uses sockets as a "Single instance" mechanism. |
15:44:42 | dom96 | (i.e. if aporia is running and you execute 'aporia file.txt' it will be opened in the currently running instance.) |
15:45:08 | dom96 | Seems like a BSD sockets bug? |
15:47:17 | ekselkiu | What sort of socket is it using? |
15:47:56 | dom96 | A TCP socket |
15:50:29 | dom96 | https://github.com/nimrod-code/Aporia/blob/master/aporia.nim#L1984 |
15:50:38 | dom96 | libMAN: You could try changing the port in the config file. |
15:50:59 | dom96 | The default port is "55679" |
16:00:55 | * | ekselkiu left #nimrod (#nimrod) |
16:42:24 | * | Trixar_za is now known as Trix[a]r_za |
17:20:25 | libMAN | I've made http://libman.org/pkg/nimrod-0.9.1.txz - it's for FreeBSD 9.1R i386, but could work elsewhere. Very crudely created w/o a source port, just an experiment... |
17:25:45 | * | jse joined #nimrod |
17:28:45 | libMAN | What's ugly about that package is that it uses @cwd of / instead of /usr/local. It was easier that way due to the three files it places in /etc. |
17:31:53 | libMAN | If I wasn't lazy, I'd move those files to like /usr/local/share/nimrod/etc/*.sample, and then add +CONTENTS @exec and @unexec commands to copy them into place (without overwriting existing). |
17:38:31 | libMAN | Could the socket problem be related to FreeBSD jails? |
17:39:36 | dom96 | maybe. |
17:49:34 | libMAN | Aporia just needs the ini file to run, nothing else from the build directory? |
17:50:14 | libMAN | Does it look for ini file in local directory only? |
18:00:11 | * | jse left #nimrod (#nimrod) |
18:41:58 | dom96 | libMAN: A .ini should be created in ~/.config/aporia when running aporia for the first time |
18:42:09 | reactormonk | Araq, aaand how without passing the 'options' all the time? |
18:42:41 | dom96 | Aporia depends on the share folder in its directory. |
18:45:26 | * | gradha joined #nimrod |
18:48:50 | gradha | if gobolinux was good, why did people stop using it? |
18:55:42 | libMAN | dom96: running `aporia` in the git dir where it was built works, but moving it to /usr/local/bin/aporia results in /usr/local/bin/aporia |
18:55:51 | libMAN | err, paste problem again... |
18:55:56 | libMAN | http://pastebin.com/U5VXnQ5K |
19:04:54 | dom96 | libMAN: You can copy share/language-specs/nimrod.lang to /usr/local/share/gtksourceview-2.0/language-specs/ |
19:05:04 | dom96 | or /usr/share/gtksourceview-2.0/language-specs |
19:09:02 | libMAN | That previous issue (socket problem) is indeed jail related. Running it in chroot instead of jail didn't have this problem. |
19:11:01 | libMAN | Can probably be fixed with a right sysctl setting (set from /etc/rc.conf), will look into this later. |
19:13:10 | dom96 | why are you running it in a jail? |
19:14:06 | gradha | doesn't want free software to escape? |
19:16:36 | libMAN | Several reasons. One is that I like to keep my stable base system separate from an "experimental" system. Secondly I only allow non-copyfree packages in the latter. |
19:17:37 | libMAN | So if aporia contained code to `rm -rf /`, it would only hurt a bunch of non-copyfree packages I only occasionally need, like gimp, and no important data. |
19:25:21 | dom96 | Simply don't run aporia as root if you're so paranoid :P |
20:48:44 | libMAN | Why don't I have the rst module installed? (Playing with nimforum.) |
21:14:15 | Araq | reactormonk: use a default parameter? p(param1: int, options=options) |
21:14:34 | Araq | libMAN: nimforum uses docutils from the nimrod distribution |
21:15:00 | Araq | again you need to change some path |
21:15:32 | Araq | gradha: dunno if gobolinux was good, I could never try it, but it had the right ideas |
21:16:07 | gradha | can you iterate a sequence of tuples unpacking the tuples? like "for var1, var2 in list_of_tuples: blah"? |
21:18:23 | gradha | hmm... looks like the iterator for such a list returns two values: the index position, then the tuple element |
21:18:38 | * | libMAN tries to figure out nimforum/nimrod.cfg ... |
21:18:58 | gradha | is this documented somewhere? it has really surprised me |
21:20:39 | Araq | for val1, val2 in items(x) |
21:21:03 | Araq | it's 'items' if you have 1 for-loop var |
21:21:12 | Araq | but 'pairs' if you have 2 for-loop vars |
21:21:32 | gradha | yes, the code "for jjj in joined: echo jjj" and the code "for s1, s2 in joined: echo s2" have the same output |
21:21:59 | Araq | pairs for an array yields (index, value) |
21:23:01 | gradha | want me to patch the tutorial with this info? |
21:23:27 | libMAN | nimforum compiled, but again it created ./`pwd`/nimcache instead of ./nimcache |
21:23:36 | gradha | I guess it belongs to the for section rather than the sequence section |
21:24:09 | Araq | gradha: sure feel free |
21:24:28 | gradha | I see now items(x) is used three times, but subtly |
21:28:20 | libMAN | Do I create the sqlite schema somehow? |
21:28:50 | gradha | btw, with the recent documentation changes to sequtils the docs for the filterIt template don't appear |
21:29:39 | dom96 | libMAN: There is a createdb.nim file in the repo. |
21:30:43 | libMAN | Bah, I'm usually sharper than this... Sorry about the stupid questions. |
21:33:44 | Araq | gradha: are you sure that's not been missing ever since docgen defaults to doc2 now? |
21:35:21 | libMAN | `nimrod c createdb.nim` error: http://pastebin.ca/2301825 |
21:35:53 | gradha | Araq: does the version at http://nimrod-code.org/sequtils.html use the new doc2? can't remember now |
21:36:27 | Araq | gradha: it doesn't |
21:36:51 | gradha | will try now an older version to verify |
21:36:52 | Araq | you can see the difference because doc2 gets rid of the * export markers |
21:38:31 | gradha | yes, the problem is with doc2 |
21:38:49 | Araq | so doc2 doesn't generate template definitions |
21:38:50 | gradha | the docstring for the first template is eaten |
21:38:58 | gradha | doc2 generates the second one, though |
21:39:18 | Araq | sounds easy to fix |
21:39:36 | gradha | array visitor pattern from hell? |
21:39:54 | Araq | what? |
21:40:28 | gradha | it's when you access incorrectly an array, here, somehow the first element is missing |
21:41:49 | Araq | well filterIt is broken anyway |
21:41:49 | gradha | described somewhere around http://www.tonymarston.net/php-mysql/design-patterns.html#resign.patterns, search for hell |
21:44:10 | Araq | gradha: doesn't apply we have array bounds checking in Nimrod ... :P |
21:44:22 | Araq | filterIt is broken anyway btw |
21:44:42 | Araq | the 'block: result' idiom has been broken by some codegen changes |
21:44:49 | Araq | blame zahary for it ;-) |
21:44:56 | gradha | zahary: bad boy! |
21:45:40 | gradha | the tests I added to the module work, will they break with something more complex? |
21:45:47 | * | dallbee joined #nimrod |
21:45:55 | dallbee | <dom96> This will probably make you hate Nimrod a LOT. |
21:45:56 | dallbee | <dom96> But it disallows tabs :P |
21:45:56 | dallbee | <dallbee> what the fuck |
21:45:56 | dallbee | <dallbee> rofl |
21:45:56 | dallbee | <dallbee> Why does nimrod make so many choices FOR the developer |
21:45:58 | dallbee | <dallbee> The point of a programming language is to give the developer power |
21:46:00 | dallbee | <dallbee> not to limit the developer. |
21:46:02 | dallbee | Good day. |
21:46:04 | dallbee | Oh, nimrod is really cool |
21:46:06 | dom96 | dude. Don't spam the channel |
21:46:06 | dallbee | That just pissed me off. |
21:46:09 | * | dallbee left #nimrod ("Leaving") |
21:46:51 | Araq | now that was quick at least |
21:47:11 | JStoker | Out of interest, why does nimrod forbid tabs? |
21:48:01 | gradha | tabs are just broken for so many human purposes, puny humans are incapable of understanding them |
21:48:08 | Araq | well mixing tabs and spaces is bad for an indentation based language |
21:48:36 | Araq | allowing both causes some problems in python |
21:48:43 | gradha | I believe part of the hate towards Makefiles is they require tabs |
21:49:34 | dom96 | libMAN: "Operation successful" that doesn't seem like an error? |
21:49:56 | JStoker | I agree perfectly with the whole 'DO /NOT/ MIX TABS AND SPACES'. But, why not (assuming people are consistent, at least) let people use tabs? Or, replace them early on in the parser with a few spaces or whatever. |
21:50:17 | gradha | tabs won't play nice with multiline strings like """ |
21:50:31 | gradha | or at least they will create more confusion |
21:50:54 | gradha | also, do you allow tabs everywhere or only beginning of line? |
21:51:55 | Araq | I don't mind tabs everywhere that much but since I don't use tabs ... :P |
21:52:37 | Araq | plus if your editor can't produce spaces when you press TAB you need a new editor |
21:53:05 | * | JStoker dislikes having to switch between them because I always bloody forget, and it screws python code up, heh. |
21:53:46 | Araq | most source code files I open use a combination of 4 spaces where 8 spaces are compressed to a \t |
21:53:52 | gradha | I know of some editors which have special mixed tab modes: they logically ident to 3 spaces, but visual blocks of 8 columns are replaced with a single tab. Mayhem! |
21:53:54 | Araq | try to change the tab width for that! |
21:56:29 | gradha | plus we haven't touched the holy war of "how many columns does a tab character actually represent?" |
21:57:07 | gradha | most people agree in defeat that 8, but some insist on using tabs as 3 or 4 columns, then indent code to align stuff visually, and everything is broken in diffs or other editors |
21:57:42 | dom96 | gradha: could you explain more why tabs don't play nicely with multiline strings? |
21:58:22 | gradha | they don't work for "human" purposes, nothing wrong at the computer level |
21:58:45 | gradha | same reasons as for indenting code, you blast the string to stdout and figure why it looks broken |
22:01:20 | gradha | it's a pity nimrod disallows tabs, I like them, they tend to be a filter for bad programmers |
22:02:01 | dom96 | hah |
22:04:46 | libMAN | Weird how some nimrod compilations (ex. nimforum's createdb) error out the first time, but work the second time (when I re-run them to pipe output to pastebin)... |
22:05:25 | Araq | libMAN: not weird, it's the same bug you encountered already I think |
22:05:34 | dom96 | I need to try to set up a freebsd builder for nimbuild. |
22:05:37 | Araq | it generates 2 nimcaches |
22:05:51 | Araq | on bsd for some reasons |
22:07:07 | libMAN | next nimforum issue, after running `createdb`, relaunching `forum`, and connecting via browser, I get error message ending in: "no such column: lastOnline"... |
22:08:15 | Araq | he he, dom96 forgot to update createdb I guess |
22:08:27 | dom96 | possible |
22:10:43 | libMAN | Using latest git HEAD sources, I restarted `forum` after running `createdb`. nimforum.db is 10kb |
22:11:03 | libMAN | Contains tables: antibot, person, post, session, thread |
22:14:58 | libMAN | There's no person.lastOnline column... |
22:15:43 | Araq | libMAN: yes we got that |
22:15:59 | libMAN | Sorry, I read that as "he [me] forgot to update createdb". |
22:16:20 | libMAN | I'm having a very absentminded year so far... |
22:29:23 | * | gradha quit (Quit: Leaving) |
22:32:50 | dom96 | libMAN: i'll fix this for you now |
22:33:20 | libMAN | No need to rush, I'm just reading some nimrod code for learning |
22:34:07 | Araq | don't read the compiler's sources :P |
22:34:19 | Araq | they are -er- special :DD |
22:52:38 | dom96 | hah, just realised there is a editdb.nim ... |
22:52:44 | dom96 | oh well |
22:56:46 | dom96 | libMAN: Try it now |