00:42 (join) doc_who 01:48 (quit) jonrafkind: Ping timeout: 260 seconds 01:49 (join) dzhus 02:02 (join) sunnyps 02:35 (quit) dzhus: Ping timeout: 260 seconds 03:17 (join) masm 03:31 (join) mije 04:18 (join) hanDerPeder 04:44 (quit) cky: Ping timeout: 260 seconds 04:44 (join) cky 05:39 (join) jeapostrophe 06:11 (quit) jeapostrophe: Quit: jeapostrophe 07:09 (join) dzhus 08:06 (join) jeapostrophe 08:32 (join) shofetim 08:44 (quit) jeapostrophe: Quit: jeapostrophe 09:08 (join) jeapostrophe 09:18 (quit) jeapostrophe: Quit: jeapostrophe 09:54 (join) jeapostrophe 10:08 (quit) jeapostrophe: Quit: jeapostrophe 10:12 samth: Baughn, '() is scheme_null 10:12 Baughn: I found out, but thanks. :) 10:12 samth: and CGC does scan the C heap 10:14 Baughn: Drat. Any chance I could tell it not to do that? 10:16 samth: Baughn, it would be totally unsafe not to scan it 10:16 samth: the c heap can have pointers 10:16 Baughn: It could, but it doesn't. 10:17 Baughn: I didn't put any there. 10:17 samth: right, but conservative is conservative 10:17 samth: and the runtime uses the C heap as well, and does have pointers 10:17 Baughn: But with a 400MB heap, that suggests I'll /need/ to use 3m 10:17 Baughn: Which is a massive pain. 10:17 samth: why would you have to? 10:18 samth: 3m is faster, but CGC works even on large heaps 10:18 Baughn: Performance reasons. DF is quite slow enough already. 10:18 samth: DF? 10:18 Baughn: Dwarf fortress 10:19 Baughn: It's the game I'm building racket into. (And LGPL is quite inconvenient when it comes to making small downloads, let me tell you..) 10:19 samth: how so? 10:19 samth: LGPL allows dynamic linking 10:19 Baughn: Yes, but static linking results in a smaller package overall 10:20 Baughn: If we didn't need to bundle the dll, things would be different, but.. we do. 10:20 samth: bundle which dll? 10:20 (quit) dzhus: Remote host closed the connection 10:20 Baughn: Racket 10:20 Baughn: Come to think of it.. 10:21 Baughn: Oh dear. That's a problem; I *can't* uphold the LGPL. :/ 10:21 Baughn: Unless there's an exception for the output of raco ctool --c-mods? 10:21 Baughn: Hmm, I suppose I could build an extra dll based on it. Still, troublesome. 10:22 samth: i think the output is not a derived work of Racket 10:22 Baughn: Of *course* it is 10:22 samth: same way the output of gcc isn't a derived work 10:22 Baughn: No lawyer on the planet would claim it isn't 10:22 Baughn: gcc has special exceptions in the license for crt0.s 10:23 Baughn: Code generation doesn't count as a derived work, but the --c-mods does not do code generation as such; it bundles parts of racket 10:23 Baughn: Like the compiler 10:27 samth: the gcc runtime library exception is very similar to the LGPL itself 10:27 samth: however, if you're unsure about this, you could ask on the mailing list about the license issues 10:30 Baughn: I'll.. 10:30 Baughn: No, actually. I won't ask on the mailing list; they're not lawyers. 10:30 Baughn: And I won't ask a lawyer, because I can't afford one. :P 10:30 Baughn: I'll just be careful and link everything dynamically. 10:31 Baughn: The legal opinion of even the copyright holder is /not/ sufficient; he could be mistaken. 10:31 Baughn: And if it /would/ suggest he's not inclined to sue, he /is/ allowed to change his mind. 10:31 samth: i agree that we're not lawyers, but if you think the license of the output of raco ctool should be changed, asking on the mailing list is the best way to make it happen 10:32 Baughn: Eh.. I doubt it's practically possible to change it 10:32 Baughn: You'd need the agreement of everyone who's ever submitted code to the project 10:32 samth: the set of people who've contributed to that part of the project is very small 10:33 Baughn: That's not it.. 10:33 Baughn: The license of raco applies to raco, not its output 10:34 samth: i agree, i mean that the set of people who've contributed to the portion of racket outputted by raco ctool is very small 10:34 Baughn: The license of the /output/ would be the license of the code that raco compiles to produce said output, which is to say the license of racket/base and any other modules added 10:34 Baughn: Very few people have contributed to racket/base? 10:36 (quit) sunnyps: Ping timeout: 260 seconds 10:36 samth: no, very few people have contributed to the glue code 10:37 samth: if you're worried that your code is a derived work of the static array of bytecode, then you'd have to change the license of the whole project 10:37 samth: which i agree would be difficult 10:37 Baughn: Yes, that's what I was assuming 10:38 Baughn: The bytecode array keeps its (LGPL) license, which means I can't statically link it 10:38 samth: that all depends on the legal import of various forms of linking 10:38 samth: which is far from clear 10:38 samth: what's the license of dwarf fortress? 10:39 Baughn: True. I'm not sure even dynamic linking is legal. 10:39 Baughn: It's not /practically/ possible to switch out the bytecode array 10:39 Baughn: Ah. Proprietary. 10:39 Baughn: It's a freeware, but closed-source game. 10:39 samth: i believe the question of whether or not dynamic linking creates a derived work has never been judicially decided 10:41 samth: ultimately, whether something is a derived work is a question for a court, based on the particulars of the individual case 10:45 samth: also, are you planning on distributing DF linked with racket? 10:45 Baughn: Yes 10:45 samth: or just the racket code 10:50 Baughn: DF linked with racket. We'll be using it as an extension language, etc. 10:52 samth: at that point, i think there are more potential license issues than just the output of raco ctool 10:52 Baughn: Shouldn't be. That's what the LGPL is /for/. 10:53 samth: well, there's no clear definition of dynamic vs static linking for non-C-like languages 10:53 Baughn: Which begs the question of why you'd be using just plain LGPL, yes. 10:54 Baughn: Still, I don't think it should be an issue so long as all the racket code is in DLLs. 10:57 (quit) hanDerPeder: Ping timeout: 276 seconds 11:00 (join) sunnyps 11:03 (join) sstrickl 11:23 (quit) sunnyps: Ping timeout: 265 seconds 11:26 shofetim: abit off the topic, but if I want to (I do) write a program in racket, and package that program with raco, do I have to disclose the source? 11:27 shofetim: I don't think I have to (I might anyway....) 11:27 shofetim: And do I have to make it freely available? 11:27 samth: shofetim, no, you don't have to 11:28 shofetim: thnks : ) 11:47 Baughn: shofetim: Mere aggregation does not cause any of the common OSS licenses to fire 11:50 (join) sunnyps 11:58 (quit) sunnyps: Ping timeout: 264 seconds 12:04 (join) jeapostrophe 12:05 (join) hanDerPeder 12:06 (join) jonrafkind 12:11 (quit) jeapostrophe: Quit: jeapostrophe 12:15 (quit) jonrafkind: Read error: Connection reset by peer 12:16 (join) jonrafkind 12:16 (quit) jonrafkind: Read error: Connection reset by peer 12:16 (join) jonrafkind 12:19 (join) carleastlund 12:26 (quit) alexsuraci: Remote host closed the connection 12:37 (join) alexsuraci 12:49 (quit) mije: Quit: Page closed 13:37 jonrafkind: what do I need to get eval to work? I thought eval in a module would use the module's namespace 13:37 samth: nope 13:38 jonrafkind: so whats the current-namespace when eval is executed in a module? 13:38 samth: an empty namespace 13:38 jonrafkind: whats an easy way to get the module's namespace? 13:38 samth: use 'define-namespace-anchor' to get a namespace that's like the body of the module 13:43 jonrafkind: ok cool that worked swell 13:51 (join) jao 14:01 (quit) sstrickl: Quit: sstrickl 14:03 (join) emma 14:03 emma: hi guys 14:03 askhader: hi 14:03 emma: I'm a racketeer 14:03 carleastlund: Welcome. :) 14:06 emma: Thanks :) 14:06 (join) mije 14:06 mije: welcome back, internet ! 14:08 askhader: and now back to a series of tubes. 14:09 emma: I don't mean to be too chatty if that's not the style of this channel. 14:10 samth: feel free to be chatty, emma 14:10 emma: I'm excited about the new racket and it seems like it could be a great idea but I'm sometimes sort of confused about how racket fits into the larger context of scheme and such. 14:10 emma: and we call it DrRacket now? 14:10 samth: yes, we do 14:11 samth: although sometimes we have a hard time with that one :) 14:11 emma: Okay! 14:11 samth: as to the larger context, it's the same as it was before the name change 14:11 carleastlund: If you say DrScheme, we will certainly know what you mean. :) 14:11 emma: Hehe okay well I'm pretty good with change that small :P 14:12 emma: What I mean about the larger context of scheme is that Racket has all these #lang modes and such. It is almost like racket is a language for making other languages? But although I typed that last sentence I don't really understand it. 14:13 carleastlund: That's right on the nose, Emma. We build lots of little languages, most based on Scheme, so users can have the right language for the right project. 14:13 carleastlund: You're free to build your own little languages, or use the ones we've written, or just stick to "#lang racket" all the time, whichever works best for you. 14:14 samth: see, for example: http://docs.racket-lang.org/guide/more-hash-lang.html 14:15 emma: I use Ubuntu and I had previously installed drscheme, will drscheme know what @lang racket means? 14:15 samth: probably no 14:16 samth: since #lang racket is only available in version 5.0 14:16 samth: you 14:16 samth: would need to install the latest version from the website 14:16 carleastlund: If you have 4.x you can just use "#lang scheme" and it will be 99% the same as "#lang racket", though. 14:18 emma: Okay cool. 14:18 emma: For now that's what I'll do but I'm glad you guys have started up this Racket :) 14:20 emma: And I guess #lang scheme (or what will be #lang racket) has all kinds of built in libraries and such that you can use to do practical things like read files and process them? 14:20 samth: yes 14:21 samth: `scheme/file' is the library for files 14:26 Baughn: Say, how do I make scheme_load display some kind of error message if I pass it an invalid file? 14:26 Baughn: It'd be nice to at least know where the parse errors are 14:27 samth: what do you mean by "invalid file"? 14:27 samth: file that doesn't exist? 14:27 Baughn: One with broken code in 14:27 samth: ah 14:27 samth: i'm surprised it doesn't already 14:29 Baughn: It clearly /can/, but it doesn't, no 14:29 Baughn: Wait.. 14:29 Baughn: Oh. >_> 14:30 Baughn: It does, it just prints it to stderr instead of the console because I hadn't set the handler yet 14:30 samth: makes sense 14:30 Baughn: Indeed 14:39 mije: i'd like to make a language to fit the DCI architecture with datas, roles etc. but i can't find an easy way to inject traits in objects and not in classes 14:40 samth: mije, traits are not injected into objects 14:40 mije: yep i know, that's my problem :) 14:40 samth: but you can use and create classes at runtime, so that might work for you 14:41 mije: yes that's what i'm doing 14:42 mije: but it's not that elegant 14:44 Baughn: I may be misunderstanding things a bit.. I tried "(module m racket (define foo 42)) (require m)", but that just gets me an error. How am I supposed to use this? 14:44 samth: where are you doing this? 14:44 Baughn: At the moment, in the command-line racket 14:44 samth: you'd have to do (require 'm) 14:45 samth: just m refers to the collection named m 14:45 Baughn: That doesn't error out, but trying to access foo still does 14:45 samth: 'm refers to a module defined at the top level 14:45 samth: you'll need to `provide' foo 14:45 Baughn: Ah. 15:22 (quit) emma: Ping timeout: 260 seconds 15:27 (join) jeapostrophe 15:30 (quit) jeapostrophe: Client Quit 15:41 (quit) mije: Quit: Page closed 16:30 (join) jeapostrophe 16:54 (quit) jeapostrophe: Quit: jeapostrophe 17:56 (quit) jonrafkind: Ping timeout: 240 seconds 18:07 (quit) carleastlund: Quit: carleastlund 19:11 (join) jeapostrophe 19:32 (quit) masm: Quit: Leaving. 19:54 (quit) hanDerPeder: Read error: No route to host 20:01 (join) drobat_shmat 20:02 drobat_shmat: I want to represent a matrix (2d-array), what's the best way? vector of vectors? 20:38 (quit) jeapostrophe: Quit: jeapostrophe 21:13 (join) jonrafkind 22:04 (join) jeapostrophe 22:15 (join) beginner_ 22:16 beginner_: Hi All, I have just written a sample code and trying to run the same on Linux machine. What is the command ? 22:19 beginner_: I tried load "test.scm", but it doesnt work 22:22 jonrafkind: in what, drracket? 22:22 jonrafkind: you can just type 'racket test.scm' ont he command line 22:25 beginner_: I am using DrScheme 22:25 jonrafkind: so you tried (load "test.scm") ? 22:25 jonrafkind: or you tried to open the file ? 22:26 beginner_: I have tried load "test.scm".Error is -bash: load command not found 22:26 jonrafkind: i thought you said you were in drscheme 22:26 jonrafkind: if you get an error from bash that means you are on the command line 22:26 beginner_: No .. I meant the machine has DrScheme 22:27 jonrafkind: so are you using drscheme or not? 22:27 beginner_: I said I am using DrScheme and no Racket to code 22:27 jonrafkind: so you wrote the code in drscheme? 22:27 beginner_: Yess ..but that was on Windows .. 22:27 jonrafkind: so load it in drscheme on linux 22:27 beginner_: I want to test the code on Linux 22:28 jonrafkind: do you want to use the command line instead of drscheme? 22:28 jonrafkind: or you dont care? 22:28 beginner_: I want to use the command line 22:28 beginner_: I dont know the command 22:28 jonrafkind: mzscheme load.scm 22:28 jonrafkind: or test.scm, whatever 22:29 beginner_: I am getting an error: default-load-handler: expected a `module' declaration for `test', found: something else in: # 22:30 jonrafkind: is the first line of test.scm #lang mzscheme ? 22:31 beginner_: No.. Let me change that 22:31 jonrafkind: make it #lang scheme probably 22:31 beginner_: Got it .. thank you very much .. 22:34 beginner_: And how do u run DrScheme on Linux ? 22:35 jonrafkind: just type 'drscheme' 22:35 jonrafkind: assuming you have it installed 22:35 beginner_: Getting an error : "DISPLAY environment variable not set and no -display argument" 22:36 jonrafkind: use ssh -Y when you ssh to the linux box 22:37 beginner_: I didnt get you. Please bear with me since i dont know much of linux commands 22:37 jonrafkind: where is this linux box that you are using 22:37 jonrafkind: is it sitting directly in front of you? 22:38 beginner_: No it is not .. i am remote connecting that machine 22:38 jonrafkind: ok and what are you using to remote connect to it 22:38 beginner_: Putty 22:38 jonrafkind: ok so you cant run drscheme then, you need a special environment set up to do that remotely 22:38 jonrafkind: you can only use the command line from putty 22:39 beginner_: oohh okiee ... 22:39 jonrafkind: you can just run drscheme on your widnows machine and mzscheme on the linux box 22:41 (quit) jeapostrophe: Quit: jeapostrophe 22:43 beginner_: jonrafkind - Got that. Thank you very much 22:43 (quit) beginner_: Quit: Page closed 22:55 (part) shofetim: "ERC Version 5.3 (IRC client for Emacs)" 23:04 (join) jeapostrophe 23:14 (quit) jeapostrophe: Quit: jeapostrophe