2014-12-06T00:00:36Z rme joined #lisp 2014-12-06T00:07:05Z Bicyclidine quit (Ping timeout: 264 seconds) 2014-12-06T00:10:32Z xaaabk joined #lisp 2014-12-06T00:13:36Z Bicyclidine joined #lisp 2014-12-06T00:14:23Z nha quit (Ping timeout: 250 seconds) 2014-12-06T00:19:10Z drmeister: How do lisp implementations usually set up "systems" (I guess) for REQUIRE? 2014-12-06T00:19:12Z zRecursive joined #lisp 2014-12-06T00:19:57Z blkFriTWO quit (Ping timeout: 240 seconds) 2014-12-06T00:20:08Z drmeister: I'd like to say (REQUIRE :SOCKETS) and have it search in SYS: for a directory called "sockets" and try to load the pathname: "sys:sockets;sockets.lsp" is that so wrong? 2014-12-06T00:21:16Z eudoxia: i never understood really what require did 2014-12-06T00:21:19Z drmeister: ECL's default *module-provider-function* tries to do (load #P"sys:sockets") I don't know what's up with that. 2014-12-06T00:21:26Z eudoxia: i assumed it was a kind of entry point for future systems like ASDF 2014-12-06T00:21:59Z attila_lendvai quit (Quit: Leaving.) 2014-12-06T00:22:54Z drmeister: The implementation can set it up to do what it likes. I could set it up to be like the "import" facility of Python 2014-12-06T00:23:30Z rme left #lisp 2014-12-06T00:24:44Z attila_lendvai joined #lisp 2014-12-06T00:24:44Z attila_lendvai quit (Changing host) 2014-12-06T00:24:44Z attila_lendvai joined #lisp 2014-12-06T00:27:01Z corni quit (Ping timeout: 260 seconds) 2014-12-06T00:27:04Z attila_lendvai quit (Client Quit) 2014-12-06T00:28:55Z LiamH quit (Quit: Leaving.) 2014-12-06T00:30:03Z yuikov joined #lisp 2014-12-06T00:33:20Z vlnx quit (Quit: leaving) 2014-12-06T00:34:20Z jlow joined #lisp 2014-12-06T00:34:27Z yuikov quit (Ping timeout: 245 seconds) 2014-12-06T00:36:50Z leo2007 quit (Ping timeout: 264 seconds) 2014-12-06T00:38:00Z leo2007 joined #lisp 2014-12-06T00:38:28Z posttoasties_: Does anybody know of a good cheat sheet for the format function? 2014-12-06T00:39:45Z fe[nl]ix: http://www.gigamonkeys.com/book/a-few-format-recipes.html 2014-12-06T00:39:53Z posttoasties_: Thanks. 2014-12-06T00:49:34Z leo2007 quit (Ping timeout: 250 seconds) 2014-12-06T00:49:54Z leo2007 joined #lisp 2014-12-06T00:50:53Z nowhereman_ quit (Read error: Connection reset by peer) 2014-12-06T00:52:45Z vlnx joined #lisp 2014-12-06T00:53:34Z nowhereman_ joined #lisp 2014-12-06T00:54:46Z cpc26_ joined #lisp 2014-12-06T00:55:05Z cpc26 quit (Ping timeout: 264 seconds) 2014-12-06T00:59:02Z quazimodo quit (Ping timeout: 245 seconds) 2014-12-06T00:59:24Z xaaabk quit (Ping timeout: 245 seconds) 2014-12-06T00:59:50Z zeitue joined #lisp 2014-12-06T01:02:00Z jusss joined #lisp 2014-12-06T01:03:18Z towodo quit (Quit: towodo) 2014-12-06T01:05:19Z milosn quit (Ping timeout: 252 seconds) 2014-12-06T01:07:37Z drmeister: I'm working on getting slime working with clasp. I'm hoping my plan of slavishly copying ECL functionality will pay off here. 2014-12-06T01:08:01Z defaultxr joined #lisp 2014-12-06T01:08:29Z jasom: drmeister: sbcl sets it up to use ASDF I think 2014-12-06T01:09:00Z jasom: drmeister: you can setup require pretty much however you want, since portable code won't rely on it 2014-12-06T01:09:06Z Xach: REQUIRE with one argument is up to the implementation. 2014-12-06T01:09:12Z Beetny joined #lisp 2014-12-06T01:09:17Z Xach: REQUIRE with two arguments is strictly specified and predictable. 2014-12-06T01:09:23Z cyphase quit (Ping timeout: 272 seconds) 2014-12-06T01:10:10Z jasom: Xach: of course getting a portable pathname designator is an excercise left to the reader. 2014-12-06T01:11:02Z Guest84558 joined #lisp 2014-12-06T01:11:39Z k-dawg joined #lisp 2014-12-06T01:12:57Z fridim_ quit (Ping timeout: 258 seconds) 2014-12-06T01:13:20Z genii quit (Read error: Connection reset by peer) 2014-12-06T01:13:26Z s00pcan joined #lisp 2014-12-06T01:13:28Z drmeister: I just discovered REQUIRE with two arguments today - it did what I needed, a one-time load of a source file. 2014-12-06T01:15:01Z eudoxia quit (Quit: leaving) 2014-12-06T01:15:59Z towodo joined #lisp 2014-12-06T01:18:16Z patojo quit (Remote host closed the connection) 2014-12-06T01:23:17Z Joreji quit (Ping timeout: 264 seconds) 2014-12-06T01:23:53Z theseb quit (Quit: Leaving) 2014-12-06T01:29:16Z vowyer_ joined #lisp 2014-12-06T01:31:28Z leo2007: what exactly is a `consing problem'? I found veteran lispers talk it like everyone knows but I am confused all the time. For example, in this discussion http://article.gmane.org/gmane.emacs.devel/178939 2014-12-06T01:32:01Z leo2007: Or I never wrote a lisp with consing in mind because I don't understand it. could someone help me? 2014-12-06T01:32:10Z blahzik quit (Quit: blahzik) 2014-12-06T01:33:04Z Bike: "consing" just means memory allocation. 2014-12-06T01:34:09Z Bike: what it's saying is that memory allocation (in this case through making a cons) is going to be slower than condition-case. 2014-12-06T01:35:10Z leo2007: OK, that's how I understood it. But is that all? 2014-12-06T01:35:35Z Bike: that's really all it means. 2014-12-06T01:35:55Z Bike: i mean, keep in mind it's any kind of memory allocation. a make-array call is "consing". etc. 2014-12-06T01:36:01Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-06T01:40:33Z leo2007: Bike: thanks. 2014-12-06T01:41:34Z leo2007: The problem in the discussion seems to be related to yield a cons-cell for each iteration. 2014-12-06T01:42:20Z leo2007: which is O(n) in space. 2014-12-06T01:44:02Z loz quit (Ping timeout: 264 seconds) 2014-12-06T01:51:39Z __main__ quit (Read error: Connection reset by peer) 2014-12-06T01:55:22Z EvW quit (Ping timeout: 244 seconds) 2014-12-06T01:57:06Z quazimodo joined #lisp 2014-12-06T01:58:54Z nykac: black_13: no, I did not write it. I saw it on either reddit or HN 2014-12-06T02:02:22Z __main__ joined #lisp 2014-12-06T02:04:32Z TDog joined #lisp 2014-12-06T02:05:02Z s00pcan quit (Remote host closed the connection) 2014-12-06T02:06:34Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-06T02:06:45Z towodo quit (Quit: towodo) 2014-12-06T02:09:28Z s00pcan joined #lisp 2014-12-06T02:10:03Z Bicyclidine quit (Ping timeout: 244 seconds) 2014-12-06T02:10:33Z JokerDoomWork joined #lisp 2014-12-06T02:11:19Z Bicyclidine joined #lisp 2014-12-06T02:12:43Z Bicyclidine quit (Client Quit) 2014-12-06T02:18:33Z manuel___ quit (Quit: manuel___) 2014-12-06T02:19:39Z chu joined #lisp 2014-12-06T02:20:11Z rivrkeepr joined #lisp 2014-12-06T02:20:30Z rivrkeepr quit (Client Quit) 2014-12-06T02:21:33Z rivrkeepr joined #lisp 2014-12-06T02:22:11Z cy joined #lisp 2014-12-06T02:22:43Z hiyosi joined #lisp 2014-12-06T02:27:14Z FrostyX_ quit (Ping timeout: 264 seconds) 2014-12-06T02:28:31Z edgar-rft joined #lisp 2014-12-06T02:28:51Z drmeister: Hmm, slime uses REQUIRE, but it uses it in the system dependent parts (ecl.lisp, now clasp.lsp) 2014-12-06T02:29:58Z Bike: yeah, implementations sometimes use require to load implementation-specific contribs. 2014-12-06T02:31:18Z yuikov joined #lisp 2014-12-06T02:32:12Z atgreen quit (Remote host closed the connection) 2014-12-06T02:35:49Z yuikov quit (Ping timeout: 260 seconds) 2014-12-06T02:36:06Z manuel__ joined #lisp 2014-12-06T02:38:56Z towodo joined #lisp 2014-12-06T02:39:04Z leo2007 quit (Quit: rcirc on GNU Emacs 25.0.50.1) 2014-12-06T02:39:50Z leo2007 joined #lisp 2014-12-06T02:41:40Z vowyer_ quit (Quit: C-x C-c) 2014-12-06T02:43:38Z quazimodo quit (Ping timeout: 244 seconds) 2014-12-06T02:49:52Z milosn joined #lisp 2014-12-06T02:52:42Z jusss quit (Read error: No route to host) 2014-12-06T02:52:57Z towodo quit (Quit: towodo) 2014-12-06T02:53:23Z jusss joined #lisp 2014-12-06T03:00:51Z asciiascetic joined #lisp 2014-12-06T03:00:58Z asciiascetic left #lisp 2014-12-06T03:04:41Z drmeister: My implementation is having trouble with this syntax (defvar aa `((*print-pretty* . t))) It's in swank.lisp so I must believe it is valid Common Lisp. 2014-12-06T03:05:05Z Karl_Dscc joined #lisp 2014-12-06T03:06:21Z JokerDoomWork quit (Read error: Connection reset by peer) 2014-12-06T03:06:26Z |3b|: looks valid 2014-12-06T03:07:28Z |3b|: `((a . t)) should evaluate to something like (list (cons 'a t)) 2014-12-06T03:07:40Z |3b|: though possibly a literal instead of new conses 2014-12-06T03:08:20Z |3b|: s/evaluate to/evaluate to the same thing as/ 2014-12-06T03:09:07Z JokerDoomWork joined #lisp 2014-12-06T03:10:11Z zRecursive: (eql `((*print-pretty* . t)) (list (cons '*print-pretty* t))) => nil 2014-12-06T03:10:48Z |3b|: right, they are guaranteed to not be EQL 2014-12-06T03:11:09Z |3b|: so correction wasn't quite right either :/ 2014-12-06T03:11:18Z manuel__ quit (Quit: manuel__) 2014-12-06T03:11:34Z |3b|: the 2 forms evaluate to something similar 2014-12-06T03:11:48Z drmeister: Shouldn't that be EQUAL rather than EQL? 2014-12-06T03:11:49Z kohryu joined #lisp 2014-12-06T03:11:59Z zRecursive: just similar 2014-12-06T03:12:26Z kohryu quit (Client Quit) 2014-12-06T03:12:32Z |3b|: drmeister: my attempted clarification implied EQL 2014-12-06T03:12:45Z |3b|: they should be EQUAL but not EQL 2014-12-06T03:12:58Z zRecursive: drmeister: yeah, (equal `((*print-pretty* . t)) (list (cons '*print-pretty* t))) => t 2014-12-06T03:13:01Z |3b|: 'similar' but not 'same' in cl terms 2014-12-06T03:13:48Z zRecursive: So those 2 forms has same contents 2014-12-06T03:13:55Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T03:14:17Z drmeister: I found the problem in my code. I had used a cCdr which is a version of CDR that returns a CONS rather than a T - you can only use it with proper lists and this is not a proper list. 2014-12-06T03:14:30Z nand1 joined #lisp 2014-12-06T03:14:37Z drmeister: That's what I get for implementing a dynamic language in a strongly typed language. 2014-12-06T03:15:57Z BitPuffin quit (Quit: See you on the dark side of the moon!) 2014-12-06T03:16:29Z stepnem quit (Ping timeout: 244 seconds) 2014-12-06T03:16:47Z harish joined #lisp 2014-12-06T03:17:13Z zRecursive: I honestly first see `((*print-pretty* . t)) 2014-12-06T03:18:37Z chu quit (Ping timeout: 245 seconds) 2014-12-06T03:19:26Z zRecursive: More is '((a . t) (b . nil) ...), right ? 2014-12-06T03:20:30Z |3b| assumes it has or had a (*foo* . ,something), so needs ` 2014-12-06T03:22:00Z |3b|: and it looks like one of swank's lists of special variables to bind in some situation (for example when entering debugger), so *foo* as the key 2014-12-06T03:23:06Z harish quit (Ping timeout: 265 seconds) 2014-12-06T03:23:46Z chu joined #lisp 2014-12-06T03:23:56Z chu quit (Remote host closed the connection) 2014-12-06T03:24:00Z zRecursive: yeah 2014-12-06T03:24:16Z zRecursive quit (Remote host closed the connection) 2014-12-06T03:27:57Z scoofy quit (Ping timeout: 240 seconds) 2014-12-06T03:29:37Z jusss quit (Remote host closed the connection) 2014-12-06T03:30:24Z modula joined #lisp 2014-12-06T03:30:57Z chitofan joined #lisp 2014-12-06T03:31:50Z FrostyX joined #lisp 2014-12-06T03:32:10Z nowhereman_: hi everyone 2014-12-06T03:32:19Z defaultxr quit (Ping timeout: 245 seconds) 2014-12-06T03:32:19Z modula is now known as defaultxr 2014-12-06T03:32:37Z yuikov joined #lisp 2014-12-06T03:32:57Z nowhereman_: in a few days, I've had two systems using UFFI that don't load with ASDF3 2014-12-06T03:33:19Z nowhereman_: has anyone had this issue? 2014-12-06T03:33:50Z _5kg joined #lisp 2014-12-06T03:34:45Z chu joined #lisp 2014-12-06T03:35:59Z Xach: It's possible. What are the specifics? 2014-12-06T03:36:45Z yuikov quit (Ping timeout: 250 seconds) 2014-12-06T03:40:05Z beach joined #lisp 2014-12-06T03:40:17Z beach: Good morning everyone! 2014-12-06T03:43:11Z ggole joined #lisp 2014-12-06T03:45:14Z nykac: evening beach! 2014-12-06T03:45:47Z adlai: morning 2014-12-06T03:46:26Z Karl_Dscc quit (Remote host closed the connection) 2014-12-06T03:50:00Z Xach: nowhereman_: what error do you get? 2014-12-06T03:50:27Z dagnachew quit (Remote host closed the connection) 2014-12-06T03:58:00Z drmeister: Hello beach. 2014-12-06T03:59:29Z drmeister: I'm trying to debug a problem in a COMPILE-FILE that's wrapped in a HANDLER-CASE as in (handler-case (progn ... (compile-file fff) ... ) (serious-condition (c) ... )) 2014-12-06T04:00:04Z beach: Your own COMPILE-FILE? 2014-12-06T04:00:27Z drmeister: The handler-case is masking the error that is being thrown in the compile-file. How would you debug this? I'm thinking of removing the handler-case from around the compile-file. 2014-12-06T04:01:20Z drmeister: Yes, my own COMPILE-FILE. It's something to do with #.(find-package "KEYWORD") for some reason (class-name #) is being evaluated. 2014-12-06T04:01:38Z drmeister: This is in swank.lisp 2014-12-06T04:01:51Z beach: You might consider putting in a restart. 2014-12-06T04:02:09Z beach: ... depending on what the error is about of course. 2014-12-06T04:02:54Z drmeister: No applicable method for CLASS-NAME with arguments of types PACKAGE 2014-12-06T04:03:15Z drmeister: I don't know where the class-name function is being invoked. 2014-12-06T04:03:20Z drmeister: It's compiling this form: 2014-12-06T04:03:40Z nowhereman_: Xach: ASDF/BACKWARD-INTERFACE:OPERATION-ERROR for Elephant used with BDB 2014-12-06T04:03:57Z drmeister: https://www.irccloud.com/pastebin/YTuwQgV8 2014-12-06T04:04:05Z Xach: nowhereman_: do you have more detail? 2014-12-06T04:05:48Z nowhereman_: OPERATION-ERROR while invoking # on # 2014-12-06T04:08:32Z TDog quit (Ping timeout: 265 seconds) 2014-12-06T04:09:23Z drmeister: I think I found it - I don't have a way to generate a load-time-value for packages yet. 2014-12-06T04:09:43Z nowhereman_: I cannot replicate the error I got with clsql-sqlite3 on my desktop, I got it last night on my laptop and server 2014-12-06T04:09:58Z drmeister: Damn, this is a rich language. So many details to get right. 2014-12-06T04:10:53Z beach: Indeed. 2014-12-06T04:11:28Z nowhereman_: OPERATION-ERROR while invoking # on # 2014-12-06T04:14:03Z Xach: nowhereman_: for the bdb stuff, is it possible you don't have bdb installed in the place where it's looking? 2014-12-06T04:14:39Z henesy quit (Ping timeout: 258 seconds) 2014-12-06T04:16:14Z pnpuff joined #lisp 2014-12-06T04:18:21Z yuikov joined #lisp 2014-12-06T04:24:14Z lg188 quit (Ping timeout: 258 seconds) 2014-12-06T04:26:00Z lg188 joined #lisp 2014-12-06T04:28:10Z henesy joined #lisp 2014-12-06T04:28:56Z k-dawg joined #lisp 2014-12-06T04:30:31Z Bicyclidine joined #lisp 2014-12-06T04:31:54Z nowhereman_: Xach: I didn't remember Elephant only works with BDB 4.5... 2014-12-06T04:33:08Z protist joined #lisp 2014-12-06T04:33:11Z pnpuff left #lisp 2014-12-06T04:40:08Z beach: I am struggling with finding an efficient algorithm for a concept that is important but that I have never seen in the literature. Consider a program with nested functions, say (lambda (w) (ff (lambda (x) (+ x (gg (lambda (y) (+ w y))))))). Inside the innermost function, the variable X is in scope, but since it is not used, when the middle function creates a closure out of the inner one, it can omit its own stack frame. 2014-12-06T04:41:07Z beach: So, the innermost function will see a "depth" of its runtime environment that is just 2, whereas syntactically it is 3. 2014-12-06T04:41:37Z beach: Optimizing like that will cut down on the time it takes to access variables with indefinite extent. 2014-12-06T04:42:47Z drmeister: beach: In L.I.S.P. is a discussion of different strategies that are used to construct closure environments. 2014-12-06T04:43:06Z beach: Oh, right. I'll see if he wrote something about it. 2014-12-06T04:44:21Z drmeister: I'm first implementing the simplest thing, that is to have three levels. 2014-12-06T04:46:24Z beach: It's a minor optimization. There are not going to be deeply nested functions with captured variables in most real programs. 2014-12-06T04:47:14Z beach: But if it is not discussed in the literature, it might be worth a paper. I would be surprised if this concept were original though, because it is so obvious. 2014-12-06T04:47:56Z beach: Does anyone know what SBCL does in a case like my first example? 2014-12-06T04:48:00Z k-dawg quit (Quit: This computer has gone to sleep) 2014-12-06T04:49:17Z beach: I might be spending too much time on this concept, because it probably doesn't matter whether the algorithm is efficient or not, given that the nesting depth is going to be modest. 2014-12-06T04:49:59Z TDog joined #lisp 2014-12-06T04:50:32Z cpc26 joined #lisp 2014-12-06T04:51:04Z cpc26_ quit (Ping timeout: 258 seconds) 2014-12-06T04:53:41Z beach: Maybe it is worth a section in my book "Common Lisp for language implementers". 2014-12-06T05:01:09Z rhllor joined #lisp 2014-12-06T05:02:13Z emma joined #lisp 2014-12-06T05:06:21Z protist: beach: my language I have been making only binds the variables that exist within a closure to the closure that is created 2014-12-06T05:06:58Z protist: beach: I haven 2014-12-06T05:07:23Z protist: beach: I haven't went all out with optimizing it yet, so yes I have an n^2 algorithm in there :p 2014-12-06T05:07:39Z protist: beach: maybe there is a way to do better, but I am not sure yet 2014-12-06T05:07:41Z beach: protist: So you are saying that in my example above, X would in fact not be accessible inside the innermost function? 2014-12-06T05:08:31Z protist: beach: at least in my language, when the innermost closure is created, it knows that x is not a part of it, and so the closure will not carry that information 2014-12-06T05:08:33Z beach: protist: Or are you saying you capture each variable individually? 2014-12-06T05:08:56Z beach: protist: OK, so you implement this optimization. That's great! 2014-12-06T05:09:03Z protist: beach: :D 2014-12-06T05:09:04Z |3b|: beach: wouldn't you do that for a single level as well? (lambda (a b) (lambda () a)) doesn't need to store b in the closure environment 2014-12-06T05:09:21Z innertracks quit (Quit: innertracks) 2014-12-06T05:09:56Z rhllor: protist: you making a programming language? do you have the up? 2014-12-06T05:09:57Z protist: beach: but you will end up looking at the symbols more than once because the innermost function's symbols will end up being looked at 3 times...this is an O(n^2) algorithm 2014-12-06T05:10:12Z protist: rhllor: the up?...what do you mean? 2014-12-06T05:10:18Z beach: |3b|: True, but for a different reason. It's because b has dynamic extent, so it won't be stored in the static runtime environment at all. 2014-12-06T05:10:18Z protist: rhllor: yes I am making a language 2014-12-06T05:10:34Z protist: rhllor: it is a variant of APL...but I have lexical scoping and true closures :D 2014-12-06T05:11:04Z rhllor: protist: I meant do you have the source up, sorry. 2014-12-06T05:11:06Z beach: protist: The compile-time algorithm I came up with is quadratic in effect. 2014-12-06T05:11:43Z protist: rhllor: no...want it really polished first...also not sure if I want to make it open :P...will decide that when it is more polished and I know how much interest there is 2014-12-06T05:11:55Z protist: beach: mine is too 2014-12-06T05:12:21Z beach: protist: Yeah, probably not a problem in practice. 2014-12-06T05:12:22Z protist: beach: just make sure you do the symbol listings at parse-time :) 2014-12-06T05:12:33Z rhllor: cool 2014-12-06T05:12:40Z protist: beach: don't make lists of contained symbols at run-time :) 2014-12-06T05:12:49Z beach: Right. 2014-12-06T05:12:51Z beach: Oops, need to vanish for a while. Making bread! 2014-12-06T05:13:06Z protist: rhllor: here is an example of Pascal's Triangle and Fibonacci in my language: http://imgur.com/sDuf7qH 2014-12-06T05:13:27Z protist: rhllor: and here are some core functions and things I am playing with: http://pastebin.com/rFU00ZYS 2014-12-06T05:13:41Z protist: rhllor: note that many of those definitions rely on my lexical scoping and closures 2014-12-06T05:14:11Z protist: rhllor: brb laundry 2014-12-06T05:15:55Z emaczen: Can someone help me with the following expression: 2014-12-06T05:15:56Z rhllor: cool 2014-12-06T05:16:00Z emaczen: (if (numberp (cadr right)) `(* ,(funcall * left (cadr right)) ,(caddr right))) 2014-12-06T05:16:24Z emaczen: The compiler does not like that I put a comma in front of the funcall 2014-12-06T05:16:47Z Bicyclidine: do you mean funcall #'* 2014-12-06T05:16:50Z emaczen: What I am looking for is to multiply left and (cadr right) and then have a list with (* result (caddr right)) 2014-12-06T05:17:10Z emaczen: Bicyclidine: I'll try that 2014-12-06T05:17:26Z |3b|: or just ,(* ...) 2014-12-06T05:17:31Z emaczen: Bicyclidine: Works like a charm! 2014-12-06T05:17:43Z emaczen: Thanks. 2014-12-06T05:17:47Z nhanH_ is now known as nhanH 2014-12-06T05:17:59Z emaczen: What exactly is the # for? I've seen people use it for representing a function as a symbol... 2014-12-06T05:18:23Z |3b|: #'x reads as (function x) which looks up the symbol X in the function namespace 2014-12-06T05:18:25Z rhllor: it works fine for me, but wyou should try putting #'* instead 2014-12-06T05:18:45Z |3b|: 'x reads as (quote x), which evaluates to the symbol x, which is a designator for the global function named x 2014-12-06T05:19:15Z |3b|: so 'x and #'x name sometimes designate the same function, but not always 2014-12-06T05:19:41Z innertracks joined #lisp 2014-12-06T05:19:43Z innertracks quit (Client Quit) 2014-12-06T05:20:12Z emaczen: It's only a namespace difference? 2014-12-06T05:20:14Z |3b|: # in general is a dispatching macro character with no meaning by itself, the meaning depends on the character after it 2014-12-06T05:20:29Z |3b|: not exactly 2014-12-06T05:20:40Z rhllor: so I have this function that returns the permutations of elements of list 'list like so: http://paste.lisp.org/+33KQ 2014-12-06T05:20:43Z |3b|: when you pass 'x to funcall, it still looks it up in the function namespace 2014-12-06T05:20:57Z |3b|: but it can only look up a global function 2014-12-06T05:21:03Z |3b|: #'x can evaluate to a local function 2014-12-06T05:21:32Z rhllor: what I need is a function to produce the permutations of the list like that of length n 2014-12-06T05:21:38Z |3b|: also, if you evaluate #'x and store the result, then redefine the function X, the stored value is still the old function 2014-12-06T05:22:14Z |3b|: rhllor: i think alexandria has some permutation functions 2014-12-06T05:22:15Z nykac: rhllor: something factorial modulus recursion (all I can remember on how to do permutations) 2014-12-06T05:22:23Z rhllor: like (permutations '(1 2 3) 2) ==> '((1 2) (1 3) (2 1) (2 3) (3 1) (3 2)) 2014-12-06T05:22:56Z j0ni_ is now known as j0ni 2014-12-06T05:23:39Z larme quit (Ping timeout: 258 seconds) 2014-12-06T05:24:26Z |3b|: (alexandria:map-permutations 'print '(1 2 3) :length 2) ? 2014-12-06T05:25:06Z _JokerDoomWork joined #lisp 2014-12-06T05:26:06Z rhllor: |3b| 2014-12-06T05:26:25Z bgs100 quit (Quit: bgs100) 2014-12-06T05:26:30Z rhllor: |eb| oops, thanks 2014-12-06T05:26:57Z Petit_Dejeuner_ joined #lisp 2014-12-06T05:28:05Z JokerDoomWork quit (Ping timeout: 264 seconds) 2014-12-06T05:30:10Z Petit_Dejeuner quit (Ping timeout: 258 seconds) 2014-12-06T05:30:37Z rhllor quit (Ping timeout: 246 seconds) 2014-12-06T05:31:33Z c53100 quit (Ping timeout: 244 seconds) 2014-12-06T05:36:13Z rhllor joined #lisp 2014-12-06T05:40:15Z chu quit (Remote host closed the connection) 2014-12-06T05:40:28Z oudeis joined #lisp 2014-12-06T05:40:37Z chu joined #lisp 2014-12-06T05:40:41Z keen_______ joined #lisp 2014-12-06T05:41:53Z keen______ quit (Ping timeout: 264 seconds) 2014-12-06T05:46:50Z drewc quit (Quit: Leaving.) 2014-12-06T05:47:06Z drewc joined #lisp 2014-12-06T05:47:18Z beach: |3b|: Thanks for (indirectly) pointing out that my original example is no good. I need an example where X does not have dynamic extent. Thanks also for pointing out that the more important optimization here is to omit allocating a level in the static runtime environment entirely when a function uses only variables with dynamic extent. 2014-12-06T05:51:15Z rhllor: how can I extract data out of a string, like kind of like regexes in perl. I know there is cl-ppcre, but I was wondering if there was a Lisp function or something 2014-12-06T05:51:48Z beach: rhllor: It depends on the extraction and the data. 2014-12-06T05:52:33Z rhllor: beach: how so? 2014-12-06T05:53:39Z beach: rhllor: If the syntax of what you want to extract is complex enough to require a regular expression, then Common Lisp does not have anything built-in. 2014-12-06T05:54:41Z beach: rhllor: And if the extraction requires (say) decompressing using LZW, then again Common Lisp does not have anything built-in. 2014-12-06T05:55:29Z rhllor: beach: well what about simple data? before I learned about regexes, I would get all my data from strings by looping. Is that what you mean? 2014-12-06T05:55:32Z beach: rhllor: On the other hand, if the data is simple, say decimal digits surrounded by whitespace, and the extraction consists of creating a number, then Common Lisp has built-in functions. 2014-12-06T05:56:26Z beach: rhllor: I am afraid the answer must be: If the data is such that there are Common Lisp functions to handle it, then there are Common Lisp functions to handle it. 2014-12-06T05:56:51Z beach: rhllor: I mean, here "simple" means "there already exist functions for it". 2014-12-06T05:57:31Z beach: rhllor: I think it is better that you tell us what the data might look like and in what way you want to extract it. 2014-12-06T05:58:04Z rhllor: you see, I wrote this (admittedly not so well written) function for turning a IPv4 string into a vector, and I want to simplify it some. Just give me a sec to pate it 2014-12-06T06:00:16Z rhllor: http://paste.lisp.org/+33KR 2014-12-06T06:00:22Z rhllor: Here it is 2014-12-06T06:00:43Z rhllor: I feel bad for showing this, but I made it in five minutes so.. 2014-12-06T06:01:01Z posttoasties_ quit (Ping timeout: 255 seconds) 2014-12-06T06:01:06Z vinleod joined #lisp 2014-12-06T06:01:12Z joneshf-laptop joined #lisp 2014-12-06T06:02:10Z rhllor: in perl I would right it as if(/(\d+)\.(\d+)\.(\d+)\.(\d+)/){return ($1 $2 $3 $4);} and be done 2014-12-06T06:02:22Z beach: rhllor: So the specification is that you have 4 sequence of decimal digits , where sequences are separated by dots and you want a vector with four integers? 2014-12-06T06:02:35Z rhllor: yes 2014-12-06T06:02:56Z beach: Hold on... 2014-12-06T06:07:06Z rhllor: |3b| by the way, concerning what you said about the permutations like half an hour ago, alexandria worked out great for me 2014-12-06T06:08:25Z beach: http://paste.lisp.org/+33KR/1 2014-12-06T06:09:25Z beach: rhllor: Something like that is one possibility. 2014-12-06T06:09:56Z beach: rhllor: And yo need to work on your indentation when you code. Even a program written in 30 seconds should not have too many problems with indentation. 2014-12-06T06:10:19Z manuel__ joined #lisp 2014-12-06T06:10:29Z beach: I guess my TEMP variable is unnecessary. 2014-12-06T06:13:07Z theos quit (Disconnected by services) 2014-12-06T06:13:07Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T06:13:32Z nand1 joined #lisp 2014-12-06T06:13:33Z theos joined #lisp 2014-12-06T06:15:41Z rhllor: that's great, but that use of substitute inspired me to make it differently. Just a sec... 2014-12-06T06:17:33Z rhllor: beach: How do you like this? http://paste.lisp.org/+33KS (I tried to make the indentation better this time) 2014-12-06T06:18:43Z rhllor: that way, you don't have to fiddle around with streams 2014-12-06T06:18:55Z beach: rhllor: Sure, that works. 2014-12-06T06:19:08Z Bicyclidine: nasty. 2014-12-06T06:19:11Z beach: rhllor: You really need to use SLIME though. 2014-12-06T06:19:26Z beach: rhllor: Your indentation sucks. 2014-12-06T06:19:55Z Bicyclidine: (map 'vector #'parse-integer (split-sequence:split-sequence #\. addr)) 2014-12-06T06:20:09Z Bicyclidine: plus or minus i forget how split sequence works 2014-12-06T06:20:29Z beach: Looks good. 2014-12-06T06:20:51Z rhllor: beach: I usually do, but I'm on the Windows side of my computer right now, and I don't have a lot of utilities installed on it as my OSX partition 2014-12-06T06:21:01Z beach: I see. 2014-12-06T06:21:24Z Bicyclidine: i guess parsing an ipv6 is harder, since it's got that elision bznz 2014-12-06T06:22:03Z rhllor: beach: regardless, thanks. If I didn't see yours, I'd be stuck with that old thing 2014-12-06T06:22:26Z beach: rhllor: Sure. That old thing was not so great. 2014-12-06T06:26:52Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-06T06:28:51Z cy quit (Quit: brb) 2014-12-06T06:29:16Z cy joined #lisp 2014-12-06T06:33:36Z rhllor: Xach: I saw your name on the quicklisp page. Did you make it, or contribute or something? 2014-12-06T06:34:44Z larme joined #lisp 2014-12-06T06:40:49Z pnpuff joined #lisp 2014-12-06T06:42:32Z ndrei joined #lisp 2014-12-06T06:48:00Z manuel__ quit (Quit: manuel__) 2014-12-06T06:48:42Z nand1` joined #lisp 2014-12-06T06:49:03Z beach: rhllor: He made it. 2014-12-06T06:49:32Z rhllor: that's cool 2014-12-06T06:49:49Z Bicyclidine quit (Ping timeout: 245 seconds) 2014-12-06T06:52:09Z nand1 quit (Ping timeout: 244 seconds) 2014-12-06T06:54:13Z Bicyclidine joined #lisp 2014-12-06T06:57:30Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-06T06:59:40Z beach: http://paste.lisp.org/+33KU is a better example of the optimization of the static runtime environment that I suggest. 2014-12-06T07:00:02Z quazimodo joined #lisp 2014-12-06T07:01:41Z pnpuff quit (Ping timeout: 264 seconds) 2014-12-06T07:11:24Z stassats joined #lisp 2014-12-06T07:12:54Z nand1` quit (Remote host closed the connection) 2014-12-06T07:14:28Z nand1 joined #lisp 2014-12-06T07:15:05Z stassats` joined #lisp 2014-12-06T07:17:12Z stassats quit (Remote host closed the connection) 2014-12-06T07:18:43Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T07:18:56Z nand1 joined #lisp 2014-12-06T07:19:50Z gravicappa joined #lisp 2014-12-06T07:20:04Z Shinmera joined #lisp 2014-12-06T07:21:18Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T07:21:34Z nand1 joined #lisp 2014-12-06T07:24:13Z _JokerDoomWork quit (Ping timeout: 260 seconds) 2014-12-06T07:26:12Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-06T07:27:28Z manuel__ joined #lisp 2014-12-06T07:27:28Z emaczen quit (Ping timeout: 258 seconds) 2014-12-06T07:27:30Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T07:27:38Z innertracks joined #lisp 2014-12-06T07:27:52Z nand1 joined #lisp 2014-12-06T07:33:04Z dmiles_afk joined #lisp 2014-12-06T07:34:35Z jtza8 joined #lisp 2014-12-06T07:34:40Z nikki93_ joined #lisp 2014-12-06T07:38:57Z rhllor: I can't find what's wrong with this code. Some help please: http://paste.lisp.org/+33KW 2014-12-06T07:39:58Z stassats`: i can't either 2014-12-06T07:40:04Z rhllor: the error is when I run (range 10) or something with just one argument 2014-12-06T07:40:06Z stassats`: except for the style 2014-12-06T07:41:00Z manuel__ quit (Quit: manuel__) 2014-12-06T07:41:22Z H4ns: rhllor: first, get rid of all the setfs as they are not needed and make your function harder to understand 2014-12-06T07:43:00Z rhllor: I'm still kind of new and I'm trying to get used to the style. for now I'm just trying to be as verbose as possible with what I do until I get more comfortable with what I write 2014-12-06T07:43:03Z stassats`: rhllor: http://paste.lisp.org/display/144608#1 2014-12-06T07:43:16Z rhllor: last thing I need Is something I can't read 2014-12-06T07:44:28Z beach: rhllor: Well, then you are kind of a fix, because you are then requiring other people to read and understand non-idiomatic code, which is not polite. 2014-12-06T07:44:43Z beach: s/requiring/asking/ 2014-12-06T07:44:57Z rhllor: stassats` that helped thanks 2014-12-06T07:45:36Z stassats`: basically you didn't use the start and end variables you set up 2014-12-06T07:45:48Z H4ns: rhllor: i'd remove the skip argument and use (remove skip (range ..)) if required, 2014-12-06T07:46:01Z stassats`: and (and skip (= i skip)) can actually be (eql i skip) 2014-12-06T07:46:06Z rhllor: beach: sorry, but I'm trying to learn. I'm just not too used to this whole obscure thing that Lisp's got going on 2014-12-06T07:46:18Z stassats`: it's not obscure to me 2014-12-06T07:46:34Z beach: Yeah, whaddayamean "obscure"? 2014-12-06T07:46:54Z stassats`: everything is obscure when you don't know it 2014-12-06T07:47:09Z H4ns: rhllor: optional arguments can be initialized to something other than nil (defun x (foo &optional (bar (* foo 2))) ...) 2014-12-06T07:47:18Z stassats`: the only non-obscure thing is breastfeeding 2014-12-06T07:48:01Z rhllor: It can be confusing sometimes. Sure, you know where everything goes, but I can't see half of it through those damned parenthesis 2014-12-06T07:48:22Z stassats`: you can have (end &optional (start 1) skip) 2014-12-06T07:48:23Z H4ns: rhllor: you used "obscure", now you use "damned". are you sure you want to learn lisp? 2014-12-06T07:48:30Z stassats`: but then (range 10 1) will be confusing 2014-12-06T07:48:37Z rhllor: H4ns: I know that, but I didn't think that would be neccessary this time 2014-12-06T07:49:05Z rhllor: stassats`: what do you mean? 2014-12-06T07:49:21Z stassats`: rhllor: you seem to be blaming your lack of practices on external factors 2014-12-06T07:50:16Z stassats`: now (&key (start 1) end skip) could be right 2014-12-06T07:51:00Z protist: whenever I have written Javascript I feel like ending everything with )};};) 2014-12-06T07:51:02Z protist: lol 2014-12-06T07:51:10Z protist: I much prefer parenthesis to that 2014-12-06T07:51:25Z stassats`: does javascript have paredit or something? 2014-12-06T07:51:32Z protist: oh I gtg 2014-12-06T07:51:35Z protist: cya I'm afk :) 2014-12-06T07:52:16Z stassats`: i need a reader macros for javascript code with emacs properly indenting inside them and a js paredit 2014-12-06T07:53:21Z stassats`: emacs can't tell a foot from an arm even in lisp code, so maybe it's too tall an order 2014-12-06T07:54:40Z munksgaard joined #lisp 2014-12-06T07:54:41Z mrSpec joined #lisp 2014-12-06T07:55:36Z stassats`: that'd be my weekend project 2014-12-06T07:58:00Z stassats`: now, is there a working javascript parser? in case i want some sort of interpolation 2014-12-06T08:05:03Z stassats`: parse-js doens't seem to be extensible 2014-12-06T08:06:44Z stassats`: i think i just need to parse for strings, so that #js(abc(#a, "b#")) is transformed to (format nil "abc(~a, \"b#\")" a) 2014-12-06T08:07:52Z milosn quit (Remote host closed the connection) 2014-12-06T08:08:27Z hiyosi joined #lisp 2014-12-06T08:09:26Z manuel__ joined #lisp 2014-12-06T08:10:54Z nand1 quit (Remote host closed the connection) 2014-12-06T08:16:25Z nikki93_ quit (Remote host closed the connection) 2014-12-06T08:18:41Z yuikov quit (Remote host closed the connection) 2014-12-06T08:19:29Z rhllor: I see sometimes that people would pass lambda functions to other functions like this: #'(lambda bla bla) and other time just like this (lambda bla bla). Is there a difference in using the #' with lambdas? 2014-12-06T08:19:35Z yuikov joined #lisp 2014-12-06T08:19:37Z stassats`: no 2014-12-06T08:19:44Z yuikov quit (Remote host closed the connection) 2014-12-06T08:19:51Z yuikov joined #lisp 2014-12-06T08:19:56Z Bicyclidine: rhllor: lambda is a macro such that (lambda ...) expands to (function (lambda ...)) which is #'(lambda ...), so no 2014-12-06T08:20:13Z stassats`: on difference, #'(lambda) annoys me 2014-12-06T08:20:16Z stassats`: one 2014-12-06T08:20:30Z kirin` quit (Ping timeout: 244 seconds) 2014-12-06T08:20:32Z rhllor: okay then, thanks 2014-12-06T08:24:05Z kirin` joined #lisp 2014-12-06T08:25:12Z yuikov quit (Remote host closed the connection) 2014-12-06T08:26:54Z pnpuff joined #lisp 2014-12-06T08:27:03Z pnpuff quit (Changing host) 2014-12-06T08:27:03Z pnpuff joined #lisp 2014-12-06T08:29:07Z rhllor quit (Ping timeout: 246 seconds) 2014-12-06T08:30:49Z rhllor joined #lisp 2014-12-06T08:31:06Z loz joined #lisp 2014-12-06T08:33:02Z milosn joined #lisp 2014-12-06T08:43:33Z munksgaard quit (Read error: Connection reset by peer) 2014-12-06T08:48:25Z angavrilov joined #lisp 2014-12-06T08:48:37Z Joreji joined #lisp 2014-12-06T08:50:11Z Grue`: rhllor: there's a difference when (lambda) is the first element of the list e.g. ((lambda (x) (+ x 1)) 3) => 4 but with #' it won't work 2014-12-06T08:51:48Z rhllor: Grue`: I didn't think so. Thanks 2014-12-06T08:52:02Z rhllor: gtg bye 2014-12-06T08:52:05Z rhllor quit (Quit: Page closed) 2014-12-06T08:52:10Z cpc26_ joined #lisp 2014-12-06T08:52:45Z stassats`: ok, got #js foo(#(+ 1 2)) js# => "foo(3)", now for the hard part, convince emacs to indent it 2014-12-06T08:54:06Z cpc26 quit (Ping timeout: 258 seconds) 2014-12-06T08:55:46Z nikki93 joined #lisp 2014-12-06T08:55:56Z nikki93: is there a difference between writing #'(lambda ...) and (lambda ...) 2014-12-06T08:56:17Z stassats`: didn't you ask that already? 2014-12-06T08:56:53Z nykac: stassats`: different person 2014-12-06T08:57:01Z stassats`: then no, there's still no difference 2014-12-06T08:57:20Z nikki93: haha sorry 2014-12-06T08:57:30Z Grue`: what a coincidence 2014-12-06T08:57:43Z nikki93: what do you guys usually write, anyway? 2014-12-06T08:57:48Z stassats`: no #' 2014-12-06T08:57:48Z Shinmera: nikki93: http://log.irc.tymoon.eu/freenode/lisp?around=2014-12-06T09:19:30&types=mnaot#1417853970 2014-12-06T08:58:21Z Shinmera: I write it with #' but I don't remember why I settled on it. 2014-12-06T08:59:08Z stassats`: i don't because there's no reason, some say it's visually distinctive 2014-12-06T08:59:16Z stassats`: but then i don't see anybody writing `,a 2014-12-06T08:59:18Z i5um41ru joined #lisp 2014-12-06T08:59:33Z stassats`: since it's the same thing too 2014-12-06T09:00:05Z Shinmera: I think I mostly initially chose to do it because I saw it in the code I read and then continued for consistency. 2014-12-06T09:00:39Z stassats`: so it's just a made up reason. i usually test things like that, stop doing it for some time and see if there's any problem down the road 2014-12-06T09:01:02Z stassats`: but inventing intellectual reasons for subtle things like that never works 2014-12-06T09:01:29Z Shinmera: I don't mind either way of writing it, so I don't have any particular reason to choose one over the other. 2014-12-06T09:01:46Z stassats`: less writing 2014-12-06T09:01:50Z jweiss quit (Ping timeout: 250 seconds) 2014-12-06T09:01:57Z Shinmera: I like typing though 2014-12-06T09:02:08Z stassats`: i would be fine if you couldn't write (lambda ()), but since i can get away, why bother with #' 2014-12-06T09:02:36Z stassats`: the same with (let ((x form)) x) etc. etc. 2014-12-06T09:02:46Z Grue`: what about #:symbol vs :symbol in defpackage 2014-12-06T09:02:47Z innertracks quit (Quit: innertracks) 2014-12-06T09:03:06Z stassats`: i just write :, or actually, i don't, most of the time C-c C-x does it for me 2014-12-06T09:03:12Z stassats`: and it's smart about such a thing 2014-12-06T09:03:16Z Grue`: I have both in mine because quickproject uses #: but : is quicker to type 2014-12-06T09:03:19Z stassats`: C-c x 2014-12-06T09:03:55Z Shinmera: I just copy NL#: and then paste for each line. 2014-12-06T09:04:48Z stassats`: (see http://slime-tips.tumblr.com/post/36279729555/exporting-symbols-part-2) 2014-12-06T09:07:50Z Grue`: interesting feature, but i usually group exported symbols by functionality, not just tack them at the end of export list 2014-12-06T09:08:09Z stassats`: i never read exported symbols 2014-12-06T09:08:29Z stassats`: you can reorder them later 2014-12-06T09:08:38Z stassats`: sure beats copy and pasting and deciding what prefix to use 2014-12-06T09:09:01Z stassats`: and there's M-x slime-export-class 2014-12-06T09:11:26Z rtra quit (Ping timeout: 244 seconds) 2014-12-06T09:12:46Z mishoo joined #lisp 2014-12-06T09:13:15Z nand1 joined #lisp 2014-12-06T09:15:03Z MrWoohoo joined #lisp 2014-12-06T09:15:08Z nand1 quit (Remote host closed the connection) 2014-12-06T09:15:17Z nand1 joined #lisp 2014-12-06T09:18:36Z ndrei quit (Quit: Lost terminal) 2014-12-06T09:18:48Z rtra joined #lisp 2014-12-06T09:19:36Z froggey quit (Ping timeout: 250 seconds) 2014-12-06T09:21:38Z mrSpec quit (Remote host closed the connection) 2014-12-06T09:22:25Z yuikov joined #lisp 2014-12-06T09:29:31Z i5um41ru quit (Ping timeout: 244 seconds) 2014-12-06T09:29:46Z cy: close 2014-12-06T09:29:48Z cy left #lisp 2014-12-06T09:32:00Z schaueho joined #lisp 2014-12-06T09:36:26Z i5um41ru joined #lisp 2014-12-06T09:38:26Z zacharias joined #lisp 2014-12-06T09:46:48Z oleo__ joined #lisp 2014-12-06T09:47:02Z oleo__ quit (Read error: Connection reset by peer) 2014-12-06T09:49:31Z oleo__ joined #lisp 2014-12-06T09:49:31Z oleo is now known as Guest1731 2014-12-06T09:49:40Z Guest1731 quit (Ping timeout: 244 seconds) 2014-12-06T09:50:08Z oleo__ quit (Read error: Connection reset by peer) 2014-12-06T09:51:49Z kcj joined #lisp 2014-12-06T09:52:22Z oleo__ joined #lisp 2014-12-06T09:52:58Z pt1 joined #lisp 2014-12-06T09:55:50Z oleo__ is now known as oleo 2014-12-06T09:57:44Z zacharias quit (Ping timeout: 258 seconds) 2014-12-06T09:58:28Z pnpuff left #lisp 2014-12-06T10:00:17Z Bicyclidine quit (Ping timeout: 245 seconds) 2014-12-06T10:02:04Z schaueho quit (Ping timeout: 250 seconds) 2014-12-06T10:02:09Z mvilleneuve joined #lisp 2014-12-06T10:03:31Z mvilleneuve quit (Client Quit) 2014-12-06T10:08:16Z defaultxr quit (Quit: gnight) 2014-12-06T10:11:43Z MoALTz joined #lisp 2014-12-06T10:13:16Z stassats`: yay, finally sane javascript embedding: http://www.youtube.com/watch?v=9Sd7eiPBCsk 2014-12-06T10:13:22Z bcoburn quit (Ping timeout: 256 seconds) 2014-12-06T10:13:35Z stassats`: no colorization, but i don't really need it 2014-12-06T10:13:42Z stassats`: but js-paredit would be useful 2014-12-06T10:14:39Z Shinmera: Nice. 2014-12-06T10:14:57Z stassats`: C-M-q doesn't work either, but i can live with that 2014-12-06T10:15:37Z Shinmera: I don't suppose emacs allows activating certain modes for regions in a buffer 2014-12-06T10:15:47Z stassats`: it does not 2014-12-06T10:15:50Z stassats`: i'll publish my code 2014-12-06T10:16:23Z stassats`: maybe it does but i don't know about it 2014-12-06T10:16:24Z Shinmera: It would be really nice if it did; would make mixed environments so much easier. 2014-12-06T10:17:07Z Shinmera: Though I suppose it could also end up being very confusing, what with keybindings being region dependant then. 2014-12-06T10:21:30Z soggybread: http://www.emacswiki.org/emacs/MultipleModes 2014-12-06T10:22:39Z stassats`: https://github.com/stassats/inline-js 2014-12-06T10:22:45Z nand1 quit (Remote host closed the connection) 2014-12-06T10:23:09Z mishoo quit (Ping timeout: 245 seconds) 2014-12-06T10:23:39Z stassats`: the number of different libraries suggests that it isn't a solved problem 2014-12-06T10:23:51Z stassats`: and separating between two modes ain't easy 2014-12-06T10:24:32Z stassats`: my code will break if you have a lisp string with "#js" in it 2014-12-06T10:24:34Z rivrkeepr quit (Ping timeout: 258 seconds) 2014-12-06T10:25:22Z nand1 joined #lisp 2014-12-06T10:25:42Z stassats`: which should be rare, but to work properly emacs should be able to properly parse code 2014-12-06T10:25:45Z stassats`: reader macros and what not 2014-12-06T10:30:39Z jtza8 quit (Ping timeout: 245 seconds) 2014-12-06T10:31:44Z hitecnologys: stassats`: where do you plan to use it? What's wrong with parenscript? 2014-12-06T10:31:59Z stassats`: what's right with parenscript? 2014-12-06T10:32:16Z hitecnologys: Well, it uses S-expressions. 2014-12-06T10:32:20Z pjb: - 2014-12-06T10:32:31Z stassats`: hitecnologys: ok, that's your answer 2014-12-06T10:33:13Z |3b| quit (Remote host closed the connection) 2014-12-06T10:33:46Z |3b| joined #lisp 2014-12-06T10:35:08Z Shinmera: Sexprs are the bee's knees. 2014-12-06T10:39:22Z vaporatorius quit (Quit: Leaving) 2014-12-06T10:50:09Z Grue` quit (Ping timeout: 272 seconds) 2014-12-06T10:51:54Z kcj quit (Read error: No route to host) 2014-12-06T10:53:41Z kcj joined #lisp 2014-12-06T10:54:13Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-06T10:54:32Z eudoxia joined #lisp 2014-12-06T10:55:20Z oudeis joined #lisp 2014-12-06T10:57:46Z Grue` joined #lisp 2014-12-06T10:57:57Z isis_ joined #lisp 2014-12-06T10:58:02Z isis_ is now known as therik 2014-12-06T10:58:14Z therik: Hello 2014-12-06T10:59:53Z therik: in many OO languages, I can type something along "obj.", optionally with some key shortcut and IDE will show me available methods on that object. Is there a way to get this behavior in slime? 2014-12-06T11:00:00Z lavokad joined #lisp 2014-12-06T11:00:53Z therik: In lisp, methods have syntax like functions, so object is after that method's name, instead of before. Also, in CLOS methods are separate. Can slime do this, or of not, can it be implemented? 2014-12-06T11:01:17Z Shinmera: I've never actually felt a need for that 2014-12-06T11:02:39Z therik: Shinmera, ok, suppose I get some undocumented lisp libraries, I have an object and I want to figure out what I can do with that object. How can I explore the object, without going into repl? 2014-12-06T11:02:39Z Shinmera: therik: you can use slime-who-specializes 2014-12-06T11:02:55Z therik: ah, that gives me methods? 2014-12-06T11:03:03Z Shinmera: Try it. 2014-12-06T11:03:49Z eudoxia tries it 2014-12-06T11:04:01Z eudoxia: huh. maybe i should spend more time learning SLIME and less time whining about shitty docs 2014-12-06T11:04:28Z corni joined #lisp 2014-12-06T11:04:38Z Shinmera: As I said I never even needed it, but I knew there were slime-who* functions, so I looked if there was one for methods and whadda ya knwo 2014-12-06T11:04:48Z Shinmera: *know 2014-12-06T11:05:23Z stassats`: that's not the only functions which work on that object, though 2014-12-06T11:05:35Z Shinmera: eudoxia: Imo one can never complain enough about shitty docs 2014-12-06T11:06:13Z therik: eudoxia, you can always whine about slime docs 2014-12-06T11:06:51Z gravicappa quit (Ping timeout: 264 seconds) 2014-12-06T11:07:00Z therik: Shinmera, that'll give me methods defined on that class, but not on object 2014-12-06T11:07:00Z eudoxia: hmm i could probably do both, or contribute to the manual 2014-12-06T11:07:21Z eudoxia: therik: (class-of object) then 2014-12-06T11:07:25Z therik: Shinmera, although in most cases that's pretty much what I need 2014-12-06T11:09:05Z therik: eudoxia, ofc I can get class of object, but what if I add method to an object, but not a class? Not that I know how to do that anyway, I'm asking for completeness. 2014-12-06T11:10:21Z Shinmera: Try using slime-who-specializes (eql your-obj) 2014-12-06T11:10:39Z Shinmera: (no idea if it works, haven't tried myself) 2014-12-06T11:10:41Z yuikov quit (Remote host closed the connection) 2014-12-06T11:12:10Z stassats`: therik: that's not how CLOS works 2014-12-06T11:12:31Z stassats`: methods belong to generic functions, not classes 2014-12-06T11:12:43Z eudoxia: oh good, i was sitting here thinking "you can add a method to an object?" 2014-12-06T11:13:44Z vaporatorius joined #lisp 2014-12-06T11:14:19Z Shinmera: Well you can, if you bolt on a different concept of OOP. 2014-12-06T11:14:33Z eudoxia: i know you can specialize on symbols 2014-12-06T11:15:06Z stassats`: when you specialize on two symbols, to which does it belong then? 2014-12-06T11:15:36Z eudoxia: it doesn't belong to any, it's a gf 2014-12-06T11:15:48Z therik: it belongs to both 2014-12-06T11:15:51Z stassats`: and it's not about symbols 2014-12-06T11:16:24Z stassats`: (defmethod f ((a a) (b b))) and (defmethod f ((b b) (a a))) 2014-12-06T11:16:29Z stassats`: belong to both, how can that be? 2014-12-06T11:16:46Z stassats`: so, the concept of belonging is not applicable 2014-12-06T11:17:31Z yuikov joined #lisp 2014-12-06T11:17:33Z therik: so you can make methods on the fly, for any class you want, cause they aren't bolted to those classes.. but you can't make method that only belongs to one instance, right? 2014-12-06T11:17:49Z therik: "beongs" 2014-12-06T11:17:52Z stassats`: it's not about on the fly 2014-12-06T11:17:54Z therik: *is specialised 2014-12-06T11:18:47Z stassats`: like in the most oo languages 2014-12-06T11:19:21Z stassats`: javascript being an exception 2014-12-06T11:20:05Z therik: in most languages, you can't add a method to finished class, at least not in any obvious way 2014-12-06T11:20:19Z stassats`: that's an implementation detail 2014-12-06T11:20:38Z eudoxia: as someone who works with python, it's absolutely horrifying 2014-12-06T11:20:51Z stassats`: and it's not something done very often in CLOS either 2014-12-06T11:21:38Z chitofan: when i read something from a file using with-open-file, i get something like 0^M 2014-12-06T11:21:41Z Shinmera: therik: You're more confused by the fact that when you develop in CL you don't compile everything in one go. 2014-12-06T11:21:42Z chitofan: when the original text is just 0 2014-12-06T11:21:46Z stassats`: CRLF 2014-12-06T11:21:53Z chitofan: whats the ^M stand for? 2014-12-06T11:22:05Z stassats`: CRLF 2014-12-06T11:22:11Z therik: Shinmera, you're probably right 2014-12-06T11:22:26Z chitofan: ok, thanks 2014-12-06T11:23:03Z Shinmera: therik: You could work just the same as in other languages, if you always compile everything and then quit your runtime 2014-12-06T11:23:17Z ehu joined #lisp 2014-12-06T11:23:41Z Shinmera: But since that's not necessary in CL you don't and get a lot of benefits, such as incremental development. 2014-12-06T11:23:58Z Shinmera: Which give the illusion of "run time adding" and similar. 2014-12-06T11:24:02Z therik: ah 2014-12-06T11:24:37Z therik: I thought I read somewhere that you can add methods to objects at runtime, hmm.. 2014-12-06T11:24:45Z Shinmera: As stassats said, you can. 2014-12-06T11:25:26Z stassats`: what did i say? 2014-12-06T11:26:01Z Shinmera: "and it's not something done very often in CLOS either" 2014-12-06T11:26:17Z Shinmera: Unless I misinterpreted the sequence of messages. 2014-12-06T11:27:03Z BitPuffin joined #lisp 2014-12-06T11:27:09Z Shinmera: therik: You can add methods at runtime, but not "to objects" 2014-12-06T11:27:44Z Shinmera: You add methods to generic functions 2014-12-06T11:28:38Z stassats`: and you need MOP for that 2014-12-06T11:28:48Z stassats`: or maybe not 2014-12-06T11:28:53Z stassats`: clhs add-method 2014-12-06T11:28:53Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_add_me.htm 2014-12-06T11:29:01Z Shinmera: Add-method is-- yeah 2014-12-06T11:29:05Z stassats`: ok, add-method is standard 2014-12-06T11:29:18Z nand1 quit (Read error: Connection reset by peer) 2014-12-06T11:29:27Z nand1 joined #lisp 2014-12-06T11:30:45Z Shinmera: therik: You might be interested in reading my short article about CLOS. It might explain some things http://blog.tymoon.eu/article/268 2014-12-06T11:31:00Z therik: thanks Shinmera 2014-12-06T11:31:40Z momo-reina joined #lisp 2014-12-06T11:33:20Z therik: hm, you can create methods that specialise on types? 2014-12-06T11:33:54Z Shinmera: No, only on classes. 2014-12-06T11:34:04Z therik: gosh, I read some articles that said you can't, that the disptaching in generic functions is just for classes 2014-12-06T11:34:05Z Shinmera: But some types have class-equivalents. 2014-12-06T11:34:39Z therik: "you can define methods that specialise on other internal types such as string, integer and so on, or even methods that specialise on nothing at all. " 2014-12-06T11:34:39Z Shinmera: See the second addendum 2014-12-06T11:34:46Z therik: ok, I'll finish it first 2014-12-06T11:35:13Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-06T11:35:32Z logand` joined #lisp 2014-12-06T11:38:00Z logand` quit (Read error: Connection reset by peer) 2014-12-06T11:38:12Z logand` joined #lisp 2014-12-06T11:38:50Z chitofan: http://paste.lisp.org/display/144609 2014-12-06T11:38:59Z chitofan: emacs hangs when i do this 2014-12-06T11:39:19Z chitofan: is there a way to collect the data without printing it out? 2014-12-06T11:39:44Z stassats`: don't print it 2014-12-06T11:39:54Z Shinmera: chitofan: the way you did it doesn't print. 2014-12-06T11:40:02Z Shinmera: THe REPL might, but your function doesn't. 2014-12-06T11:40:22Z schaueho joined #lisp 2014-12-06T11:40:27Z chitofan: the REPL does, and it's lagging emacs badly 2014-12-06T11:41:15Z Shinmera: Then stash the return value somewhere or suppress it with something like (progn ... NIL) 2014-12-06T11:41:54Z Shinmera: Side tip: C-c M-o to clear the repl 2014-12-06T11:41:57Z beach: pjb: Around? 2014-12-06T11:42:36Z yuikov quit (Remote host closed the connection) 2014-12-06T11:43:38Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-06T11:44:12Z chu joined #lisp 2014-12-06T11:44:23Z logand`` joined #lisp 2014-12-06T11:44:52Z chitofan: thanks shinmera 2014-12-06T11:48:14Z logand` quit (Ping timeout: 250 seconds) 2014-12-06T11:49:46Z gravicappa joined #lisp 2014-12-06T11:52:31Z stepnem joined #lisp 2014-12-06T11:57:43Z ndrei joined #lisp 2014-12-06T12:05:16Z chitofan: (cadr store) -> " 0^M" 2014-12-06T12:05:27Z chitofan: how can i represent the ^M character? 2014-12-06T12:05:43Z stassats`: it's already represented 2014-12-06T12:05:44Z chitofan: when i write it manually it becomes (type-of " 0^M") -> (SIMPLE-BASE-STRING 5) 2014-12-06T12:06:03Z chitofan: (find " 0^M" store) -> NIL 2014-12-06T12:06:04Z _death: C-q C-m 2014-12-06T12:06:21Z mishoo joined #lisp 2014-12-06T12:06:28Z beach: chitofan: FIND uses EQL to compare by default. 2014-12-06T12:06:38Z beach: clhs find 2014-12-06T12:06:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_.htm 2014-12-06T12:06:40Z stassats`: eql is fine for characters 2014-12-06T12:08:10Z logand`` quit (Ping timeout: 250 seconds) 2014-12-06T12:13:58Z zacharias joined #lisp 2014-12-06T12:14:00Z Karl_Dscc joined #lisp 2014-12-06T12:14:22Z oudeis joined #lisp 2014-12-06T12:15:00Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-06T12:21:05Z ehu quit (Ping timeout: 250 seconds) 2014-12-06T12:21:10Z eudoxia quit (Quit: leaving) 2014-12-06T12:23:24Z oudeis quit (Ping timeout: 258 seconds) 2014-12-06T12:26:13Z pnpuff joined #lisp 2014-12-06T12:30:24Z beach: chitofan: Did you solve your problem? 2014-12-06T12:31:54Z stassats` quit (Ping timeout: 245 seconds) 2014-12-06T12:32:18Z oudeis joined #lisp 2014-12-06T12:33:11Z momo-reina quit (Ping timeout: 252 seconds) 2014-12-06T12:33:53Z pnpuff left #lisp 2014-12-06T12:35:53Z lg188 quit (Ping timeout: 264 seconds) 2014-12-06T12:36:05Z towodo joined #lisp 2014-12-06T12:37:03Z oudeis quit (Client Quit) 2014-12-06T12:37:38Z pgomes joined #lisp 2014-12-06T12:40:11Z theos quit (Disconnected by services) 2014-12-06T12:40:44Z theos joined #lisp 2014-12-06T12:44:19Z hiroakip joined #lisp 2014-12-06T12:47:10Z Beetny quit (Ping timeout: 250 seconds) 2014-12-06T12:48:08Z theos quit (Disconnected by services) 2014-12-06T12:48:30Z chitofan: beach: sort of 2014-12-06T12:48:36Z theos joined #lisp 2014-12-06T12:48:50Z chitofan: beach: i got enough clues to go on looking, thanks 2014-12-06T12:49:00Z beach: OK. 2014-12-06T12:50:34Z towodo quit (Quit: towodo) 2014-12-06T12:53:39Z Joreji quit (Ping timeout: 272 seconds) 2014-12-06T12:54:55Z atgreen joined #lisp 2014-12-06T12:55:12Z Joreji joined #lisp 2014-12-06T12:55:58Z oudeis joined #lisp 2014-12-06T12:59:57Z Joreji quit (Ping timeout: 252 seconds) 2014-12-06T13:00:41Z Joreji joined #lisp 2014-12-06T13:01:37Z momo-reina joined #lisp 2014-12-06T13:02:09Z gravicappa quit (Ping timeout: 252 seconds) 2014-12-06T13:05:03Z rivrkeepr joined #lisp 2014-12-06T13:05:30Z rivrkeepr quit (Client Quit) 2014-12-06T13:06:47Z rivrkeepr joined #lisp 2014-12-06T13:07:18Z froggey joined #lisp 2014-12-06T13:08:36Z gabriel_laddel joined #lisp 2014-12-06T13:09:23Z kcj quit (Ping timeout: 265 seconds) 2014-12-06T13:17:10Z attila_lendvai joined #lisp 2014-12-06T13:17:10Z attila_lendvai quit (Changing host) 2014-12-06T13:17:10Z attila_lendvai joined #lisp 2014-12-06T13:20:14Z i5um41ru quit (Ping timeout: 245 seconds) 2014-12-06T13:21:22Z gravicappa joined #lisp 2014-12-06T13:27:27Z i5um41ru joined #lisp 2014-12-06T13:31:18Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-06T13:35:45Z chu joined #lisp 2014-12-06T13:39:17Z edne joined #lisp 2014-12-06T13:39:50Z therik quit (Ping timeout: 265 seconds) 2014-12-06T13:40:21Z i5um41ru quit (Ping timeout: 260 seconds) 2014-12-06T13:41:50Z i5um41ru joined #lisp 2014-12-06T13:42:39Z isis_ joined #lisp 2014-12-06T13:46:03Z towodo joined #lisp 2014-12-06T13:47:20Z jewel quit (Ping timeout: 244 seconds) 2014-12-06T13:47:40Z manuel__ quit (Quit: manuel__) 2014-12-06T13:48:24Z kcj joined #lisp 2014-12-06T13:49:43Z yeticry quit (Read error: Connection reset by peer) 2014-12-06T13:50:19Z EvW joined #lisp 2014-12-06T13:51:56Z pt1 quit (Remote host closed the connection) 2014-12-06T13:52:42Z beach: pjb: Docbook looks to me like an American sandwich: lots of choices but no recommendations. I need the latter for tools and style sheets. 2014-12-06T13:55:04Z oudeis joined #lisp 2014-12-06T13:55:26Z yeticry joined #lisp 2014-12-06T13:57:20Z ASau quit (Remote host closed the connection) 2014-12-06T13:58:00Z ASau joined #lisp 2014-12-06T13:59:57Z schaueho quit (Ping timeout: 260 seconds) 2014-12-06T13:59:58Z Joreji quit (Ping timeout: 250 seconds) 2014-12-06T14:01:16Z schaueho joined #lisp 2014-12-06T14:01:39Z eudoxia joined #lisp 2014-12-06T14:04:15Z pt1 joined #lisp 2014-12-06T14:07:16Z hardenedapple joined #lisp 2014-12-06T14:08:50Z hiroakip quit (Ping timeout: 265 seconds) 2014-12-06T14:09:19Z MoALTz_ joined #lisp 2014-12-06T14:10:37Z gabriel_laddel quit (Remote host closed the connection) 2014-12-06T14:13:01Z MoALTz quit (Ping timeout: 260 seconds) 2014-12-06T14:14:15Z gabriel_laddel joined #lisp 2014-12-06T14:23:09Z Longlius quit (Quit: Leaving) 2014-12-06T14:23:58Z beach: pjb: I have an idea for a stated objective with Common Lisp version 2: Any implementation that is conforming with respect to Common Lisp version 2 should also be conforming with respect to the current Common Lisp standard. It may not be entirely possible, but the number of exceptions should be very small. 2014-12-06T14:24:45Z Shinmera: beach: prog2.txt :) 2014-12-06T14:24:57Z beach: Yeah. :) 2014-12-06T14:24:58Z kcj quit (Read error: Connection reset by peer) 2014-12-06T14:27:02Z Shinmera: And re docbook: I wanted to consider it as a potential candidate for a larger specification that I have to write, but I really can't get myself to use XML as a markup for big documents. 2014-12-06T14:27:22Z beach: Shinmera: I share your pain. 2014-12-06T14:27:42Z Shinmera: Which is why I've started writing my own now. Because that's what crazy people do. 2014-12-06T14:28:18Z beach: Shinmera: http://metamodular.com/Common-Lisp/document-library.html 2014-12-06T14:28:42Z beach: Shinmera: Perhaps you would be interested in working on a specification in the form of a bunch of CLOS classes and generic functions? 2014-12-06T14:29:03Z beach: Shinmera: If so, I would be willing to work with you. 2014-12-06T14:29:17Z Shinmera: I might extend my work towards that, I'm not entirely settled yet. 2014-12-06T14:29:31Z Shinmera: I've only worked out an "end result draft" http://plaster.tymoon.eu/view/7U 2014-12-06T14:29:37Z beach: I think it would be sad to have a nth markup language that only few people like to use because of the syntax. 2014-12-06T14:29:38Z protist quit (Quit: Konversation terminated!) 2014-12-06T14:29:49Z Shinmera: Right. 2014-12-06T14:30:26Z Shinmera: Well, I mainly wanted to get this done quick so I can finally start on writing the spec, but I'll consider your option to see if I can still do it in reasonable time without excluding it. 2014-12-06T14:30:35Z i5um41ru quit (Ping timeout: 265 seconds) 2014-12-06T14:30:56Z beach: Not that I am putting pressure on you or anything. :) 2014-12-06T14:31:03Z beach: But you see my point, right? 2014-12-06T14:31:10Z Shinmera: I feel like I don't have enough pressure most of the time. 2014-12-06T14:31:16Z Shinmera: Yes, I agree with you very much. 2014-12-06T14:31:17Z beach: Oh, just ask. 2014-12-06T14:31:19Z beach: :) 2014-12-06T14:31:31Z eudoxia: Shinmera: how do you handle titles with more than one word? something like (text Muh title)? 2014-12-06T14:31:48Z Shinmera: (define-section (bla bla bla) ..) 2014-12-06T14:31:56Z beach: Here we go; immediate comment on syntax :) 2014-12-06T14:31:56Z eudoxia: hm 2014-12-06T14:32:15Z i5um41ru joined #lisp 2014-12-06T14:32:19Z eudoxia: writing a lispy markup language is probably a rite of passage for lispers 2014-12-06T14:32:23Z eudoxia did it and it was shit 2014-12-06T14:32:47Z Shinmera: The system I'd thought out so far was that you can define different types of text operators, akin to reader-macros, macros and functions in CL. 2014-12-06T14:33:01Z beach: As I wrote on that web page, it is hard to get syntax right, and people are very opinionated about it. 2014-12-06T14:33:12Z gabriel_laddel: Shinmera: see presentation systems. 2014-12-06T14:33:21Z chitofan: which is a better approach to parsing a list of strings? 2014-12-06T14:33:27Z gabriel_laddel: Shinmera: they are what markeup languages want to be. 2014-12-06T14:33:36Z gabriel_laddel: chitofan: yes. 2014-12-06T14:33:42Z beach: chitofan: Define "parsing"! 2014-12-06T14:33:45Z chitofan: concatenating them into one big string and searching or iterating through each element and searching? 2014-12-06T14:34:05Z Shinmera: gabriel_laddel: I can't find anything immediately helpful on google for a "presentation system". 2014-12-06T14:34:06Z chitofan: err, maybe just reading 2014-12-06T14:34:25Z beach: chitofan: Doesn't matter much which one you choose. 2014-12-06T14:34:39Z chitofan: ok :) 2014-12-06T14:34:58Z gabriel_laddel: Shinmera: one sec, finding a video 2014-12-06T14:36:42Z Shinmera: beach: I can't really see how a feature that controls the reading process fits into your idea of CLOS functions/methods... 2014-12-06T14:36:59Z Shinmera: beach: I mean, I can see what your intention is for when the text is lexed, but not for the lexing stage itself. 2014-12-06T14:37:11Z gabriel_laddel: Shinmera: http://www.loper-os.org/?p=932 2014-12-06T14:37:21Z gabriel_laddel: Shinmera: see the comments for link to the video. 2014-12-06T14:37:40Z gabriel_laddel: Shinmera: then skip through the video for the part where he plays around with the lisp listener. 2014-12-06T14:38:26Z Shinmera: Well that's gonna take a while :/ 2014-12-06T14:38:27Z gabriel_laddel: I have a (Mc)CLIM application application I use on a day to day basis and can attest to the utility of presentation systems. 2014-12-06T14:38:47Z Shinmera: Only 300kbps 2014-12-06T14:39:12Z gabriel_laddel: The idea is basically that you can have a method that says how an object is displayed. 2014-12-06T14:39:38Z Shinmera: beach: Unless you mean to leave the lexing stage out of the concern of your system entirely, in which case I'm game. 2014-12-06T14:39:39Z i5um41ru quit (Quit: leaving) 2014-12-06T14:39:41Z towodo quit (Quit: towodo) 2014-12-06T14:39:54Z Shinmera: gabriel_laddel: Ah, so like a polymorphic print-object 2014-12-06T14:40:00Z beach: Shinmera: The latter. Don't even specify syntax initially. 2014-12-06T14:40:03Z gabriel_laddel: yes. 2014-12-06T14:40:11Z gabriel_laddel: so if you have a png image object, the user sees the image. But it is much deeper than that, because you can supply a presentation as an argument to a function etc. 2014-12-06T14:40:26Z gabriel_laddel: by clicking on it, and still have pointer equality to the object itself. 2014-12-06T14:40:32Z Shinmera: beach: Right, so the system should allow to represent different segments of a document and offer methods for outputting and manipulating them, right? 2014-12-06T14:40:43Z beach: Shinmera: Yes. 2014-12-06T14:40:51Z jusss joined #lisp 2014-12-06T14:40:52Z Shinmera: Alright, I can work with that. 2014-12-06T14:41:01Z Vutral quit (Ping timeout: 260 seconds) 2014-12-06T14:41:07Z Shinmera: I'll give it some thought over the weekend. 2014-12-06T14:41:34Z beach: I would go as far as defining a class WORD so that individual words can be processed by things like spell checkers. 2014-12-06T14:42:04Z milosn quit (Remote host closed the connection) 2014-12-06T14:42:06Z Shinmera: I'd define a TOKEN class so that you can have different representations other than a mere WORD 2014-12-06T14:42:12Z Shinmera: for e.g. source code text 2014-12-06T14:42:20Z beach: Sure. 2014-12-06T14:42:27Z gabriel_laddel: you can have 'methods' on the object available on right click etc. etc. 2014-12-06T14:42:27Z gabriel_laddel: all markup languages have a disconnect between the and the document and what you're editing and it makes writing in then a pain. Presentation systems do not. WYSIWYG, but with the full expressive power of common lisp. 2014-12-06T14:42:45Z Shinmera: But yes, I'll think on it and get back to you if/when I have a significant enough system chiselled out 2014-12-06T14:43:13Z beach: gabriel_laddel: I can't agree more. 2014-12-06T14:43:40Z gabriel_laddel: beach: you've used CLIM? 2014-12-06T14:43:42Z mood: beach: It sounds a bit like Pandoc on steroids (Pandoc parses documents in different markup languages into a bunch of objects for which it then has multiple "writers" that generate the output) 2014-12-06T14:44:01Z Shinmera: gabriel_laddel: Right. I'm vary of writing my own environment to support that since it's a pretty big task, but I don't see why the system beach has in mind couldn't allow for that. 2014-12-06T14:44:03Z mood: http://johnmacfarlane.net/pandoc/ 2014-12-06T14:44:10Z Shinmera: *wary 2014-12-06T14:45:08Z beach: gabriel_laddel: I am one of the contributors and the current maintainer of McCLIM. 2014-12-06T14:46:07Z gabriel_laddel: Unrelated to anyone else's problem, I've been getting off to fantasies about a 3D update to (Mc)CLIM as of late. IE: As it stands there are a bunch of databases (some of them on paper) detailing properties of different compounds etc. there are a few programs which understand molecular formulas and some of the diagrams we use to depict them. In organic chemistry courses worldwide students are memorize reaction charts 2014-12-06T14:46:07Z gabriel_laddel: . This is amazingly primitive. An intelligently designed system would have all of these charts computerized - instantaneous access to any database you might desire, taking into account intellectual property in some fashion (not according to the currently laws, this much is certain) and also allow one to change between any given representation of molecular structure in question on a whim, modify it on a whim. Also, o 2014-12-06T14:46:07Z gabriel_laddel: ne should be able to specify \"I want to go from here to here\" in the reaction charts and either get a 'recipe' for their lab (ie, program 4 robotz) or run up against the current human understanding of the subject - or the limits of your own personal fork of the \"chemistry\" program that takes into account your lab data and bent. Mathematica wants to be this, but isn't and never will be for a number of reasons I'l 2014-12-06T14:46:07Z gabriel_laddel: l address another day. The generalization of this is the ability for all programs in some context to seamlessly interoperate with each other without any loss of expressivity. The studious will note that this is a completely solved problem that no machine learning algorithm will be able to approximate anytime soon. That we don't have this right now today is simply because Silicon Valley (and the rest of the world) ar 2014-12-06T14:46:07Z gabriel_laddel: e terrible at computing. 2014-12-06T14:47:05Z gabriel_laddel: beach: Oh, cool. Well I'm using it for a bunch of stuff in my day to day and absolutely love it. Thanks for putting in the time to make it what it is today. 2014-12-06T14:47:12Z beach: mood: Not quite. I am not necessarily interested in parsing lots of existing markup formats. I am very interested in the exact definition of those classes though and what functions can be used to manipulate them. 2014-12-06T14:47:33Z rivrkeepr: martin karplus may have beat you to it 2014-12-06T14:48:42Z beach: gabriel_laddel: Your idea sounds good. 2014-12-06T14:48:54Z mood: beach: The documentation for the different types it uses is here: http://hackage.haskell.org/package/pandoc-types-1.12/docs/Text-Pandoc-Definition.html 2014-12-06T14:48:55Z beach: rivrkeepr: Martin Karplus did a 3D version of McCLIM! Wow, I had no idea. 2014-12-06T14:49:05Z mood: It's very much built up from Markdown 2014-12-06T14:49:47Z beach: mood: Yeah, I can see the similarity. 2014-12-06T14:49:55Z EvW quit (Ping timeout: 265 seconds) 2014-12-06T14:50:25Z beach: mood: It would be a good thing to look at what they did. 2014-12-06T14:50:57Z rivrkeepr: ran into someone who worked for karplus' group at one point. motivated, ambitious lad 2014-12-06T14:51:46Z yuikov joined #lisp 2014-12-06T14:51:51Z beach: gabriel_laddel: It is a popular sport here to have negative opinions about CLIM and McCLIM. Good to see the opposite from time to time. 2014-12-06T14:52:10Z rivrkeepr: of course everyone with spring translation or other fairly obvious metaphors feels they're being incredibly creative and insightful. in any case, the supercomputing work and coding were intense engineering 2014-12-06T14:52:27Z gabriel_laddel: beach: I'm rather curious as to what issues anyone could possibly take with CLIM. 2014-12-06T14:52:40Z gabriel_laddel: beach: sure, it isn't perfect, but nor is CL - it is a standard. 2014-12-06T14:52:57Z beach: gabriel_laddel: With CLIM: it looks old. With McCLIM: performance and bugs. 2014-12-06T14:53:05Z gabriel_laddel: hahahahaa 2014-12-06T14:53:16Z gabriel_laddel: I want everything to be perfect for free with no work on my part. 2014-12-06T14:53:25Z beach: Pretty much. 2014-12-06T14:53:53Z clop2 quit (Ping timeout: 264 seconds) 2014-12-06T14:54:15Z beach: gabriel_laddel: In parallel I am working to improve McCLIM and to define a CLIM3 standard (with an initial implementation). 2014-12-06T14:54:27Z beach: minion: Please tell gabriel_laddel about CLIMatis. 2014-12-06T14:54:27Z minion: gabriel_laddel: CLIMatis: CLIMatis is an implementation of CLIM3, an updated version of CLIM II. See https://github.com/robert-strandh/CLIMatis 2014-12-06T14:54:30Z rivrkeepr: <--tends to have rms' attitude. if the machines were done with grants from the public financing and so on--and they're idle in a room--those are wasted cycles someone could be computing with 2014-12-06T14:55:08Z beach: gabriel_laddel: However, I am busy with a different project at the moment, so I am not working much on those right now. 2014-12-06T14:55:34Z rivrkeepr: "free" seems to always be a relative term when looking at instances of economics 2014-12-06T14:56:43Z gabriel_laddel: beach: you are Robert Strandh? 2014-12-06T14:56:50Z beach: Yes. 2014-12-06T14:57:11Z beach: "beach" is one possible translation of "strand" into English. 2014-12-06T14:57:19Z chu quit (Remote host closed the connection) 2014-12-06T14:57:40Z chu joined #lisp 2014-12-06T14:57:44Z Vutral joined #lisp 2014-12-06T14:58:43Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-06T14:59:19Z yuikov_ joined #lisp 2014-12-06T14:59:44Z chitofan: is there any way to do this? (defun test-fun (keyword) (search "keyword" ..)) 2014-12-06T15:00:05Z chitofan: i dont want to do (test-fun "keyword") 2014-12-06T15:00:20Z beach: chitofan: Explain in words what you want. 2014-12-06T15:00:27Z oleo: ? 2014-12-06T15:00:40Z gabriel_laddel: following CLIM3 on github. I checked it out previously and decided that I've got to release a particular program before I sink any time into understanding the various issues involved with a new standard. 2014-12-06T15:00:41Z beach: chitofan: Oh, you want to pass a symbol rather than a string to test-fun? 2014-12-06T15:00:46Z chitofan: search takes a string as a parameter 2014-12-06T15:00:53Z chitofan: ah, yeah 2014-12-06T15:01:13Z beach: chitofan: You can use the name of the symbol. 2014-12-06T15:01:18Z beach: clhs symbol-name 2014-12-06T15:01:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_symb_2.htm 2014-12-06T15:01:33Z oleo: (defun test-fun (keyword) (let ((kw (string keyword))...... 2014-12-06T15:01:39Z beach: chitofan: But you should know that the default reader setting turns all symbols into uppercase. 2014-12-06T15:01:57Z yuikov quit (Ping timeout: 244 seconds) 2014-12-06T15:02:16Z beach: chitofan: Now, if you use STRING-EQUAL to search, that doesn't matter, because it is case insensitive. 2014-12-06T15:02:46Z chitofan: ok, thanks :) 2014-12-06T15:03:00Z beach: chitofan: You still have to quote the argument though (test-fun 'keyword) 2014-12-06T15:03:03Z gabriel_laddel: Honestly though, I think a basic 3D system for CL might be more important for my needs than CLIM3. McCLIM has so far proved adequate. The issues I run into with computing are things like OpenGL being awful, no clear interface to underlying hardware, lack of documentation, evil stuff (systemd) being done behind my back etc. etc. 2014-12-06T15:03:20Z beach: chitofan: Unless you wrap it in a macro. 2014-12-06T15:03:30Z chitofan: maybe (let (kw (string keyword)) ..) works better 2014-12-06T15:03:39Z gabriel_laddel: It's 2014. The Lisp machines in the 80s had better 3D apis than anything available today and that is simply embarrassing. 2014-12-06T15:03:45Z beach: gabriel_laddel: You definitely need to talk to moore33. 2014-12-06T15:03:55Z drmeister: Hello 2014-12-06T15:04:04Z Shinmera: Evenin', drmeister 2014-12-06T15:04:05Z gabriel_laddel: messaged. 2014-12-06T15:04:29Z Shinmera: gabriel_laddel: Depends on what your focus is. 3D nowadays is a huge domain of its own. 2014-12-06T15:04:41Z beach: gabriel_laddel: There is another person here that he talks to and who is here more often. Let me check who that is... 2014-12-06T15:05:10Z gabriel_laddel: beach: PM moore33's email? They're not online and my PM didn't go through. 2014-12-06T15:05:13Z beach: gabriel_laddel: Oh, it's |3b|. 2014-12-06T15:05:40Z gabriel_laddel: beach: I've not talked with |3b| but I've read his code and seen what he is doing. 2014-12-06T15:05:40Z beach: gabriel_laddel: Do this: "minion: memo for moore33: ....." 2014-12-06T15:05:52Z gabriel_laddel: Thank you. 2014-12-06T15:06:44Z beach: minion: memo for gabriel_laddel: You should let minion send a memo for moore33. 2014-12-06T15:06:44Z minion: Remembered. I'll tell gabriel_laddel when he/she/it next speaks. 2014-12-06T15:06:58Z beach: Hello drmeister 2014-12-06T15:07:23Z drmeister: I'm pushing through build errors while building SLIME on clasp. It's amazing the kind of problems I find when I run new code on Clasp. 2014-12-06T15:08:02Z beach: drmeister: Like what? 2014-12-06T15:08:44Z Shinmera will be amazed when drmeister gets Qtools running 2014-12-06T15:09:11Z gabriel_laddel: minion: memo for moore33: beach says that we should talk. My interests are currently 1. solving the education problem (this is mostly done) 2. non-von neumann computing (I've notes, but not yet spent the time to know wtf I'm talking about) and 3. (related to 1&2 by virtue of being a requirement) a quality 3D package for CL my email is gabrielvalethladdel[at google's domain] 2014-12-06T15:09:11Z minion: Remembered. I'll tell moore33 when he/she/it next speaks. 2014-12-06T15:09:11Z minion: gabriel_laddel, memo from beach: You should let minion send a memo for moore33. 2014-12-06T15:09:37Z drmeister: I didn't have compilation of packages as literals, I had defined PACKAGE-P rather than PACKAGEP. 2014-12-06T15:10:09Z drmeister: I couldn't compile (defvar xxx `(( *print-pretty* . t))) 2014-12-06T15:11:03Z beach: drmeister: I am not surprised. There must be literally hundreds of little problems like that in any system that has not had time to mature yet. 2014-12-06T15:11:08Z gabriel_laddel: Shinmera: 3D isn't that big of a domain and the lack of a quality 3d package is unacceptable. OpenGL et all make me embarrassed to call myself human. I've notes the particulars if you're interested. 2014-12-06T15:11:17Z drmeister: The improper list gave Clasp's backquote processor problems. 2014-12-06T15:12:35Z gadmyth joined #lisp 2014-12-06T15:12:44Z drmeister: Right - every time I start incorporating a major piece of code I should run into fewer and fewer of these. 2014-12-06T15:13:06Z Shinmera: gabriel_laddel: I'm interested in seeing how it isn't a big domain, but I don't think I'm interested in the undertaking of a 3D library itself. 2014-12-06T15:13:07Z beach: Exactly, it hopefully converges. 2014-12-06T15:13:07Z drmeister: Slime tests some non-CL-standard functionality, sockets and serve-event. 2014-12-06T15:13:46Z gabriel_laddel: Shinmera: Oh sorry - the notes are on why OpenGL is unacceptable. This is IMO, orthogonal to the desire to build an api oneself. 2014-12-06T15:14:01Z eudoxia: re: all this stuff about 3d, maybe take a look at this https://github.com/fogleman/pg 2014-12-06T15:14:13Z eudoxia: it seems like a pretty high level 3d toolkit, it could probably be ported to CL 2014-12-06T15:14:14Z gabriel_laddel: for example, if you want quality healthcare in the future it would be nice to know how poor the state of the art 3D tooling is. 2014-12-06T15:14:20Z drmeister: We will see how faithfully I reproduced them. 2014-12-06T15:14:22Z Shinmera: gabriel_laddel: Ah. I don't think there's much debate about OpenGL being unacceptable. 2014-12-06T15:15:16Z Shinmera assumes there have to be at least some apologists out there though. 2014-12-06T15:16:22Z gabriel_laddel: Shinmera: I'm interested in seeing how it isn't a big domain, << writing.... 2014-12-06T15:17:30Z eudoxia quit (Quit: wow such lunchtime) 2014-12-06T15:17:35Z pgomes quit (Quit: Leaving) 2014-12-06T15:18:50Z yuikov_ quit (Remote host closed the connection) 2014-12-06T15:24:07Z yuikov joined #lisp 2014-12-06T15:26:47Z LiamH joined #lisp 2014-12-06T15:27:29Z gadmyth quit (Ping timeout: 264 seconds) 2014-12-06T15:28:30Z c53100 joined #lisp 2014-12-06T15:28:41Z gabriel_laddel quit (Ping timeout: 264 seconds) 2014-12-06T15:31:14Z LiamH quit (Ping timeout: 258 seconds) 2014-12-06T15:34:41Z pt1 quit (Remote host closed the connection) 2014-12-06T15:35:04Z gabriel_laddel joined #lisp 2014-12-06T15:35:39Z LiamH joined #lisp 2014-12-06T15:36:13Z alpha- quit (Ping timeout: 258 seconds) 2014-12-06T15:38:26Z jusss quit (Read error: Connection reset by peer) 2014-12-06T15:43:37Z kcj joined #lisp 2014-12-06T15:51:51Z hiroakip joined #lisp 2014-12-06T15:57:12Z drdanmaku joined #lisp 2014-12-06T15:57:34Z beach: drmeister: I will probably add instructions for manipulating the static runtime environment to HIR. I am still thinking about how to do it so that implementations who don't want those instructions can skip their introduction. Those instructions would be added as a HIR->HIR transformation after I do the escape analysis. 2014-12-06T15:57:49Z rtjio joined #lisp 2014-12-06T15:58:28Z drmeister: In what context would those instructions be used? 2014-12-06T15:59:04Z beach: At function entry, they would tell you how many indefinite lexicals you need. 2014-12-06T15:59:29Z rtjio: Hey lispers - what's the best option for CL these days? 2014-12-06T16:00:09Z beach: rtjio: Most people here would recommend SBCL+Emacs+SLIME 2014-12-06T16:00:38Z rtjio: beach: Used SBCL in the past, just seems even more quite now. 2014-12-06T16:00:38Z beach: drmeister: And they would let you push or pop a level. 2014-12-06T16:01:06Z beach: drmeister: Are you an experienced Common Lisp programmer? 2014-12-06T16:01:10Z rtjio: beach: good to know that's still the best option. Emacs+Slime+SBCL was pretty great. 2014-12-06T16:01:11Z beach: oops rtjio 2014-12-06T16:01:35Z beach: rtjio: Are you an experienced Common Lisp programmer? 2014-12-06T16:01:56Z rtjio: Hmmm, not sure about that - but do like LOL / Lisp in Little Pieces etc 2014-12-06T16:02:17Z beach: Ah, LiLP. :) 2014-12-06T16:02:20Z rtjio: Don't like to give up too much, as needed in Clojure. CLOS is nice too. 2014-12-06T16:02:23Z alpha- joined #lisp 2014-12-06T16:03:49Z rtjio: the sbcl list seems quite - asked question there, but no response. 2014-12-06T16:03:51Z beach: drmeister: I have yet to come up with the right instructions. I am thinking the static runtime environment should be an output of the ENTER-INSTRUCTION. 2014-12-06T16:04:06Z beach: rtjio: Do you mean "quiet"? 2014-12-06T16:04:26Z Shinmera: gabriel_laddel: Are you writing me an essay? :) 2014-12-06T16:04:31Z rtjio: opps, yup 2014-12-06T16:04:51Z beach: rtjio: There is a channel named #sbcl, but I don't hang out there, so I don't know how active it is. 2014-12-06T16:05:33Z beach: rtjio: You can always ask here in case it happens to be a more general question. 2014-12-06T16:05:57Z rtjio: beach: thanks 2014-12-06T16:07:18Z gabriel_laddel: Shinmera: Did my message not go through? 2014-12-06T16:07:29Z drmeister: beach: I've implemented a Common Lisp and as a result I've written more than 10,000 lines of Common Lisp code. I'm still pretty new to the language. 2014-12-06T16:07:32Z Shinmera: gabriel_laddel: No 2014-12-06T16:07:34Z rtjio: Is clbuild the primary way to build these days? 2014-12-06T16:07:38Z Shinmera: gabriel_laddel: You might want to paste it somewhere. 2014-12-06T16:07:43Z drmeister: So no, I'm not an "experienced Common Lisp programmer". 2014-12-06T16:07:58Z drmeister: I want to become one. 2014-12-06T16:08:01Z beach: drmeister: I typed the wrong nick. 2014-12-06T16:08:04Z gabriel_laddel: Shinmera: Hrmph. I got disconnected at one point but rcirc put the message after I sent it. one sec. 2014-12-06T16:08:08Z drmeister: Ha! 2014-12-06T16:08:28Z beach: rtjio: Build what? 2014-12-06T16:09:02Z rtjio: beach: sbcl asdf defined projects 2014-12-06T16:09:06Z pjb: chitofan: you should think a little! Also try to think and answer to questions we ask you, when you ask your ill-thought-out questions. You've not said what you meant by "parsing strings". The alternative you proposed are semantically different. We cannot tell you want meaning you mean!!! 2014-12-06T16:09:30Z beach: rtjio: OK, I meant "build how"? Normally you build with ASDF. 2014-12-06T16:09:51Z gabriel_laddel: Shinmera: I was going to write you an essay but realized it wasn't necessary. Watch this video (skip to 9:40 for the start of the 3D-only parts): https://www.youtube.com/watch?v=V4HXPJtym2Q 3D was a solved problem in 1989. That nothing like the symbolics graphics system exists today is a testament to how collectively stupid we are. 2014-12-06T16:09:56Z beach: pjb: Good to see you. Tell me what I should use for Docbook! 2014-12-06T16:10:37Z beach: pjb: I assume the XML syntax option. 2014-12-06T16:10:37Z hiroakip quit (Ping timeout: 272 seconds) 2014-12-06T16:11:00Z beach: pjb: I need to know what style sheet to use and what program to use to convert it to HTML and PDF. 2014-12-06T16:11:05Z Shinmera: gabriel_laddel: I meant more because of all the vendor and gl/dx specific support extensions on modern hardware. 2014-12-06T16:11:14Z pjb: chitofan: compare: (let ((ss '("ab ab" "cd cd"))) (values (search "abcd" (apply (function concatenate) 'string ss)) (mapcar (lambda (s) (search "abcd" s)) ss))) --> 3, (nil nil) 2014-12-06T16:11:16Z beach: pjb: All I can find is lots of options and no recommendations. 2014-12-06T16:11:35Z Shinmera: gabriel_laddel: Matching the things those offer, especially concerning performance is no easy task from my feeble understanding of it. 2014-12-06T16:11:39Z Xach: beach: Here is one more opinion of sorts: clozure cl documentation recently switched away from docbook. 2014-12-06T16:11:55Z beach: Oh! :( 2014-12-06T16:12:13Z gabriel_laddel: Shinmera: 3D is only difficult today because the hardware people are morons and don't document anything. 2014-12-06T16:12:43Z Shinmera: gabriel_laddel: Well, that won't change if you want to write a 3D system! You're gonna have to support the hardware people have. 2014-12-06T16:12:52Z beach: Xach: Can I read about the reason for that somewhere? 2014-12-06T16:13:03Z Shinmera: gabriel_laddel: I realise it sucks, but hence why I deem it a big undertaking to write a good system that hides all the problems. 2014-12-06T16:13:21Z Xach: beach: I don't know if it is written down in a public place, but matt emerson (rme) might be able to give you more specific details 2014-12-06T16:13:34Z beach: Xach: OK, thanks. 2014-12-06T16:13:57Z pjb: beach: we could indeed elaborate our own DTD, but so far, I feel that the DocBook 5.1 DTD is sufficient to write book. http://www.docbook.org/tdg51/en/html/docbook.html But indeed, it might be useful to elaborate various xml structures for eg. CLHS entries. 2014-12-06T16:14:06Z Xach: beach: it switched to a home-grown markup system written by gz, with markup that is sexps. 2014-12-06T16:14:09Z yuikov quit (Remote host closed the connection) 2014-12-06T16:14:24Z Xach: that system is public, i think it is in the ccl svn repo. the discussion about it has been on the openmcl-devel list. 2014-12-06T16:14:25Z yuikov joined #lisp 2014-12-06T16:14:29Z Shinmera: Xach: that sounds eerily familiar. 2014-12-06T16:14:37Z beach: Xach: I see. Yet another piece of evidence for my opinion that one should concentrate on something other than syntax. Thanks. 2014-12-06T16:15:04Z beach: pjb: That book was totally unhelpful to me. 2014-12-06T16:15:32Z pjb: beach: I've not looked at the xlst or xml namespaces closely, so I don't know what would be the more convenient way to define and add some xml tags for clhs entries. 2014-12-06T16:15:36Z beach: I used one of the style sheet URIs indicated in it and I got messages about it not existing. 2014-12-06T16:15:54Z chitofan: pjb: sorry.. i don't know what you meant to tell me by that example but i'm ok now 2014-12-06T16:16:02Z beach: pjb: So you are not actually using Docbook? 2014-12-06T16:16:11Z pjb: beach: the most useful part (if you already know a little SGML/HTML/XML, is the part II. Reference that lists all the docbook elements. 2014-12-06T16:16:28Z pjb: I've started using it to write a CL book :-) 2014-12-06T16:16:32Z beach: pjb: I know virtually nothing about SGML/HTML/XML. 2014-12-06T16:16:36Z gabriel_laddel: Shinmera: I've used these systems that try to "hide" the problems of the hardware and software they're built on and they are all awful. Creating a quality system, one that fits in your head is probably going to mean not supporting GPU acceleration, dumping X, dumping OpenGL and writing inline assembler. Projective geometry and linear algebra are not all that difficult and CPUs today are fast enough to support the so 2014-12-06T16:16:37Z gabriel_laddel: rt of 3D work I need to do. 2014-12-06T16:16:57Z beach: pjb: Right now I want to know what to write in the first line of the document, and how to convert it to HTML and PDF. 2014-12-06T16:17:25Z beach: pjb: I haven't been able to translate a 3-line document to HTML yet without errors. 2014-12-06T16:17:42Z gabriel_laddel: Lisp has the wonderful property of being forwards-compatible, so I see no reason that the same codebase doing the bare minimum on the CPU today can't take advantage of hardware built by sane people in the future. 2014-12-06T16:18:14Z beach: pjb: Again, every site I read gives me tons of options and no recommendations. 2014-12-06T16:18:43Z pjb: The worse part, is the number of successive versions (and indeed, there are also different tool chains). 2014-12-06T16:18:58Z beach: pjb: That I have been able to figure out. 2014-12-06T16:19:18Z ehu joined #lisp 2014-12-06T16:19:22Z Xach: beach: I have been trying to follow the example of Marijn Haverbeke. He has written two books (well, the same book, twice) and the output looks quite wonderful. He wrote a lot about his process recently. 2014-12-06T16:19:23Z beach: pjb: What I want now is recommendations. What should I put in the first line of a document, and how should I translate it to HTML and PDF. 2014-12-06T16:19:34Z Xach digs up a link 2014-12-06T16:20:54Z Xach: beach: http://marijnhaverbeke.nl/blog/eloquent-javascipts-build-system.html -- the two systems he mentions, asciidoc and asciidoctor, both have extensive documentation and are easy to start with. 2014-12-06T16:21:19Z Xach: I can't offer any personal experience, but when I proceed further I am going to use asciidoctor and see how it goes. 2014-12-06T16:21:35Z acieroid quit (Ping timeout: 250 seconds) 2014-12-06T16:21:42Z beach: Xach: Thanks. 2014-12-06T16:21:54Z yuikov quit (Remote host closed the connection) 2014-12-06T16:22:03Z Shinmera: gabriel_laddel: I don't know, it seems to me that a system that allows you to run code on the GPU and control its memory would still be an option that has to be taken into consideration. 2014-12-06T16:22:17Z Xach: "I wrote my own markup format style and a Haskell program to parse it. That was, of course, a big waste of time and made it needlessly hard for people to contribute to the book or translate it." 2014-12-06T16:22:19Z Shinmera: gabriel_laddel: But then again I know barely anything about any of it, so my opinion is of little worth 2014-12-06T16:22:38Z Shinmera: gabriel_laddel: My only experience is that Qt's painting on a raster engine is inexcusably slow :) 2014-12-06T16:23:15Z acieroid joined #lisp 2014-12-06T16:23:20Z pjb: What could be useful, if you're into tool writing, is to write a CL to xlst translator (or sexpified xlst if you will, kind of like parenscript). 2014-12-06T16:23:43Z beach: pjb: Did you see my comment before? I think stated objective with Common Lisp version 2 should be that any implementation that is conforming with respect to Common Lisp version 2 should also be conforming with respect to the current Common Lisp standard. It may not be entirely possible, but the number of exceptions should be very small. 2014-12-06T16:24:29Z beach: pjb: I also think it would save a *lot* of work if we stated with the dpANS document. 2014-12-06T16:24:36Z araujo quit (Read error: Connection reset by peer) 2014-12-06T16:24:54Z beach: pjb: It is pure TeX, but has good markup so one would write a parser to turn it into whatever format we decide. 2014-12-06T16:25:05Z rtjio: beach: thanks! (time to review asdf - at least now there is asdf v. 3) 2014-12-06T16:26:08Z Shinmera: beach: There is https://github.com/Shinmera/plump-tex but I don't know how much of the document it's going to be able to eat. 2014-12-06T16:26:09Z beach: rtjio: Don't forget to use Quicklisp. 2014-12-06T16:26:14Z araujo joined #lisp 2014-12-06T16:26:32Z beach: Shinmera: That might be useful. Thanks. 2014-12-06T16:26:42Z hiroakip joined #lisp 2014-12-06T16:26:47Z rtjio: beach: yeah seems that's a standard now? 2014-12-06T16:26:57Z beach: Definitely. 2014-12-06T16:27:01Z Shinmera: beach: You might also want to talk to eudoxia about it, he originally requested it and has been doing some things with trying to turn the TeX into a different format. 2014-12-06T16:27:22Z rtjio: beach: So it's Emacs+Slime+SBCL+ASDF+QuickLisp? 2014-12-06T16:27:25Z beach: Shinmera: Oh, OK. Thanks. 2014-12-06T16:27:31Z Xach: rtjio: that is a pretty handy setup 2014-12-06T16:27:35Z Shinmera: rtjio: ASDF is already bundled, but yes. 2014-12-06T16:27:41Z beach: rtjio: Looks right. 2014-12-06T16:27:50Z Shinmera: rtjio: With SBCL I mean 2014-12-06T16:28:07Z Shinmera: I'd throw in paredit as well 2014-12-06T16:28:17Z rtjio: Shinmera: Yup, but no need to add clbuild in addition? 2014-12-06T16:28:21Z beach: pjb: Do you agree with starting with dpANS? 2014-12-06T16:28:28Z Shinmera: rtjio: I don't even know what that is, so probably not! 2014-12-06T16:28:54Z rtjio: Shinmera - yes, ofcourse forgot - can't do anything without paredit :) 2014-12-06T16:28:55Z gabriel_laddel: rtjio: that is correct. 2014-12-06T16:28:58Z Xach: clbuild was a system that was around before Quicklisp 2014-12-06T16:29:11Z Xach: It made many libraries available via their source control systems 2014-12-06T16:29:28Z Xach: It was a very nice setup for digging in and hacking on many things - you had the source control right there. 2014-12-06T16:29:32Z stassats` joined #lisp 2014-12-06T16:30:05Z Xach: Unfortunately, this was also pre-github, so there was a wider mix of source control systems (darcs was much more popular for cl projects then) and hosts (it was not uncommon for a source control host to be down) 2014-12-06T16:30:06Z beach: pjb: I also need to know whether you agree with the stated goal I suggested. 2014-12-06T16:30:39Z beach: pjb: I will read the logs if you answer. Now I must go spend time with my (admittedly small) family. 2014-12-06T16:30:40Z Xach: And things could also get out of sync easily. There was no integration or coordination. Things mostly worked except when they didn't (which was when you needed it badly) 2014-12-06T16:31:45Z gabriel_laddel: Shinmera: I don't know all that much about GPUs either other than they don't even pretend to be documented (unlike say, intel's chips - which have 7k page undocuments). Fundamentally my argument for CPU+assembler boils down to the realization that painting pixels on the screen without X and with assembler is going to be fast. Building a sane system from those coordinates is going to be a PITA, but you'll actually be 2014-12-06T16:31:45Z Xach: here endeth the history lesson 2014-12-06T16:31:47Z gabriel_laddel: able to produce something lispy. 2014-12-06T16:32:40Z Xach: It's helpful to understand clbuild's strengths and weaknesses to understand what quicklisp tried to avoid and what quicklisp still needs to attain 2014-12-06T16:33:26Z Shinmera: gabriel_laddel: Right. I don't know how feasible it is to write an extension that allows "native GPU code", but it would be interesting to have CL code run directly on the GPU. 2014-12-06T16:33:49Z gabriel_laddel: Shinmera: I don't think you can do that - no documentation. 2014-12-06T16:34:04Z gabriel_laddel: I'm open to pretty much anything though, I've not had a chance to sit down and do the math to find out if roping together a bunch of forth chips is suited to my needs etc. etc. So far all I know are several paths that won't work. 2014-12-06T16:35:26Z rtjio: Xach: Thanks for the clbuild / QuickLisp perspective 2014-12-06T16:35:42Z pjb: beach: well, strictly speaking, 100% conformity cannot be archieved, because of prog2, and because of ambiguities (under-specifications) in other parts. So we cannot really start from the implementations when writing a refinement or just cleanup of the specification. The cleaning-up part will necessarily "break" some implementations (they are already broken, by some interpretation of the standard). But otherwise I agree that a fist 2014-12-06T16:35:42Z pjb: step would be the current situation. 2014-12-06T16:36:02Z stassats`: prog2 is a non-issue 2014-12-06T16:37:59Z rtjio quit (Remote host closed the connection) 2014-12-06T16:38:04Z yuikov joined #lisp 2014-12-06T16:39:11Z pjb: chitofan: searching the concatenate strings will give more results than searching the individual strings. My example shows that "abcd" can be found at position 3 in the concatenation, but cannot be found in either string. The questions is for you to make up your mind and KNOW what you want, one or the other? 2014-12-06T16:39:49Z pjb: chitofan: you cannot be good without knowing what you want or need to program. It would be useless to program randomly, and in no case it would be good. 2014-12-06T16:42:18Z yuikov quit (Remote host closed the connection) 2014-12-06T16:45:35Z hiroakip quit (Ping timeout: 244 seconds) 2014-12-06T16:47:18Z yuikov joined #lisp 2014-12-06T16:52:25Z momo-reina quit (Ping timeout: 252 seconds) 2014-12-06T16:53:24Z k-stz joined #lisp 2014-12-06T16:53:37Z wglb joined #lisp 2014-12-06T16:56:59Z yuikov quit (Remote host closed the connection) 2014-12-06T16:57:42Z White_Flame: gabriel_laddel: What exactly are you looking for? The video you linked doesn't show anything of the content generation pipeline, only the output, which appears to be mostly ray-traced 2014-12-06T16:59:31Z gabriel_laddel: White_Flame: before I respond, have you used any symbolics software/hardware, read their documentation and or tried to use OpenGL, Maya, Blender3D, Animtation Master or other 3D tools? 2014-12-06T16:59:47Z White_Flame: no, on the Symbolics, yes on the rest 2014-12-06T17:00:14Z sternenseemann left #lisp 2014-12-06T17:00:29Z hiroakip joined #lisp 2014-12-06T17:00:56Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-06T17:02:27Z gabriel_laddel: White_Flame: writing... 2014-12-06T17:02:39Z gabriel_laddel: (possibly an essay... dunno) 2014-12-06T17:03:08Z White_Flame starts watching some of the related videos about the symbolis content generation 2014-12-06T17:05:05Z edne quit (Ping timeout: 272 seconds) 2014-12-06T17:05:40Z pt1 joined #lisp 2014-12-06T17:05:48Z chu joined #lisp 2014-12-06T17:07:14Z milosn joined #lisp 2014-12-06T17:09:56Z towodo joined #lisp 2014-12-06T17:12:58Z yuikov joined #lisp 2014-12-06T17:13:34Z isis_ quit (Ping timeout: 245 seconds) 2014-12-06T17:15:07Z towodo quit (Quit: towodo) 2014-12-06T17:17:14Z edne joined #lisp 2014-12-06T17:17:20Z tharugrim quit (Ping timeout: 265 seconds) 2014-12-06T17:17:42Z chitofan: i cant run mcclim demos on ccl 2014-12-06T17:17:44Z chitofan: http://paste.lisp.org/display/144610 2014-12-06T17:17:47Z pgomes joined #lisp 2014-12-06T17:18:11Z stassats`: you're not missing much 2014-12-06T17:18:48Z tharugrim joined #lisp 2014-12-06T17:19:11Z chitofan: does any of this have to do with it? 2014-12-06T17:19:12Z chitofan: http://paste.lisp.org/display/144610#1 2014-12-06T17:19:27Z chitofan: i want to see the demos anyway 2014-12-06T17:19:27Z stassats`: no 2014-12-06T17:19:40Z isis_ joined #lisp 2014-12-06T17:19:43Z stassats`: you could just select that restart, couldn't you? 2014-12-06T17:19:55Z gabriel_laddel: chitofan: I don't have time to debug right now. bug report? also, they work on SBCL. 2014-12-06T17:20:09Z c74d joined #lisp 2014-12-06T17:20:33Z stassats`: that's because chitofan's x magic files are missing/broken 2014-12-06T17:20:47Z stassats`: or no DISPLAY 2014-12-06T17:20:54Z stassats`: or some other silly X11 thing 2014-12-06T17:21:38Z chitofan: so i should try to install a SBCL implementation and try the demos there? 2014-12-06T17:22:05Z stassats`: you will get the same result 2014-12-06T17:22:49Z stassats`: why can't you just press 1? 2014-12-06T17:22:52Z c74d quit (Read error: Connection reset by peer) 2014-12-06T17:23:03Z chitofan: Can't create file socket to "/tmp/.X11-unix/X0" on Windows [Condition of type SIMPLE-ERROR] 2014-12-06T17:23:21Z stassats`: and you're using windows? 2014-12-06T17:23:42Z stassats`: which x server did you install? 2014-12-06T17:24:05Z yuikov quit (Remote host closed the connection) 2014-12-06T17:24:24Z chitofan: how do i check? 2014-12-06T17:24:34Z yuikov joined #lisp 2014-12-06T17:25:32Z c74d joined #lisp 2014-12-06T17:26:56Z stassats`: by trying to remember what you installed, i guess 2014-12-06T17:27:23Z chitofan: i just installed xming x11 2014-12-06T17:27:24Z chitofan: lol 2014-12-06T17:27:43Z stassats`: i seem to remember that one working with mcclim 2014-12-06T17:31:43Z White_Flame: gabriel_laddel: Looking at this https://www.youtube.com/watch?v=gV5obrYaogU , I guess it doesn't ray-trace. It's basic tesselated triangles with texture maps and reflection maps as "usual" for today as well 2014-12-06T17:34:33Z gabriel_laddel: White_Flame: kk. What I'm talking about is a much "deeper" difference than tesselated triangles vs. ray-tracing. Essay is currently 3 pages. writing... 2014-12-06T17:34:44Z White_Flame: heh, k 2014-12-06T17:34:58Z towodo joined #lisp 2014-12-06T17:37:09Z pgomes quit (Ping timeout: 252 seconds) 2014-12-06T17:37:23Z pt1 quit (Remote host closed the connection) 2014-12-06T17:39:42Z zyaku joined #lisp 2014-12-06T17:40:36Z innertracks joined #lisp 2014-12-06T17:42:35Z White_Flame: I was just starting to go in the direction of what a GPU can & can't do, since its specifics seemed to be unclear 2014-12-06T17:44:03Z pgomes joined #lisp 2014-12-06T17:45:00Z kcj quit (Ping timeout: 256 seconds) 2014-12-06T17:49:00Z lavokad: hi 2014-12-06T17:49:46Z lavokad: I'm reading "Practical Common Lisp" and there is one thing I dont get 2014-12-06T17:50:08Z lavokad: having a list ((1 2) (3 4) (5 6)) 2014-12-06T17:50:31Z chitofan quit (Ping timeout: 246 seconds) 2014-12-06T17:50:47Z lavokad: after doing COPY-TREE 2014-12-06T17:51:11Z lavokad: from the book: "Where a cons cell in the original referenced an atomic value, the corresponding cons cell in the copy will reference the same value. Thus, the only objects referenced in common by the original tree and the copy produced by COPY-TREE are the numbers 5, 6, and the symbol NIL" 2014-12-06T17:52:07Z Bike: probably means 1,2,3,4,5,6. 2014-12-06T17:52:49Z lavokad: right? 2014-12-06T17:53:09Z lavokad: but it too strange for me, that the author could do this error.. 2014-12-06T17:53:57Z Bike: maybe he was thinking of the sublist specifically. i dunno. 2014-12-06T17:54:03Z White_Flame: the diagram above has the common tail of ((5 6)), so that's probably the source of the confusion 2014-12-06T17:54:13Z vowyer_ joined #lisp 2014-12-06T17:55:27Z ggole: It has more common parts than that. 2014-12-06T17:55:41Z ggole: I think it's just an oversight. The diagrams are reasonable. 2014-12-06T17:55:48Z stassats`: why does it say 5 6? doesn't everybody know what a number is? 2014-12-06T17:56:07Z ggole: Maybe a typo for 1-6? 2014-12-06T17:56:17Z stassats`: who cares 2014-12-06T17:56:27Z stassats`: i mean, if that's the only thing you don't get, then you're doing pretty great 2014-12-06T17:58:14Z White_Flame: of course, there's a lot of nits about boxed vs immediate values, and the fact that the fixnums would likely not be shared but truly copied, and that other values would showcase the notion of sharing better, but that's not super important at this learning level ;) 2014-12-06T17:58:49Z Bike: nits indeed 2014-12-06T17:59:12Z hiroakip quit (Ping timeout: 258 seconds) 2014-12-06T18:00:44Z bgs100 joined #lisp 2014-12-06T18:03:02Z isis_ quit (Ping timeout: 258 seconds) 2014-12-06T18:05:13Z yuikov quit (Remote host closed the connection) 2014-12-06T18:05:41Z yuikov joined #lisp 2014-12-06T18:07:28Z yuikov quit (Remote host closed the connection) 2014-12-06T18:07:45Z yuikov joined #lisp 2014-12-06T18:10:08Z |3b|: "your field is solved, and you are all idiots for wasting time on it" 2014-12-06T18:10:33Z |3b| thinks i should stop reading the scrollback before i get more annoyed :/ 2014-12-06T18:10:35Z wglb quit (Remote host closed the connection) 2014-12-06T18:11:34Z Shinmera: |3b|: Who gave you that impression? 2014-12-06T18:12:41Z White_Flame: I know that was the impression of Western Washington University towards computer science in general 2014-12-06T18:12:49Z towodo quit (Quit: towodo) 2014-12-06T18:13:09Z White_Flame: “This decision, apparently still potential, is a permanent statement of the University about the future of Computer Science. The impression conveyed in the meeting with the Provost and Dean was that we had reached the End of History. Now that everyone has a computer and a spreadsheet and a wordprocessor, the contribution of computing to the life of the mind has been exhausted. I do not write this sarcastically. This was the sense of 2014-12-06T18:13:09Z White_Flame: the meeting.” 2014-12-06T18:13:28Z stassats`: cool story 2014-12-06T18:16:15Z drewc does science and computing, but never the twain shall meet 2014-12-06T18:23:45Z |3b|: Shinmera: "3D was a solved problem in 1989." 2014-12-06T18:23:50Z |3b|: and similar 2014-12-06T18:23:55Z Shinmera: Ah. 2014-12-06T18:24:23Z Sgeo_ quit (Read error: Connection reset by peer) 2014-12-06T18:24:41Z White_Flame: technically, it has. We're just now capable of doing it faster and at larger scale 2014-12-06T18:24:51Z |3b|: also the suggestion that CPU is good enough for all 3d 2014-12-06T18:24:52Z gabriel_laddel: |3b|: solved up to the point of my current needs - today. Elaborating on that now. 2014-12-06T18:25:02Z White_Flame: I don't think things like photon tracing are any newer than that in algorithm 2014-12-06T18:25:20Z |3b|: gabriel_laddel: well, just get a copy of symbolics then 2014-12-06T18:25:48Z |3b|: White_Flame: so we completely imagined all the spherical harmonics, better lighting models, etc? 2014-12-06T18:26:01Z White_Flame: and of course "3d" could mean either realtime or batch render, which are quite different environments 2014-12-06T18:26:21Z |3b|: or it could mean poorly animated plastic blobs 2014-12-06T18:27:02Z White_Flame: or it could mean the various stereoscopic options 2014-12-06T18:27:12Z |3b|: gabriel_laddel: also, do you know anywhere i can find documentation on 'symbolics graphics"/"nichimen graphics" apis? 2014-12-06T18:27:21Z |3b| has been looking for a while and not found any :( 2014-12-06T18:27:44Z drewc: 3d is just graphical computation for lispers? And the 4th dimension is ignored for CPUs? 2014-12-06T18:28:06Z drewc is not scrolling back ... sorry about his confusion :P 2014-12-06T18:28:46Z antonv joined #lisp 2014-12-06T18:29:49Z drewc will go read c.l.l now where the trolls are at least "no scrollbackable" 2014-12-06T18:30:01Z White_Flame: drewc: gabriel_laddel has a beef with 3d environments now vs what they were in the symbolics days 2014-12-06T18:30:10Z White_Flame: essay forthcoming 2014-12-06T18:30:16Z vaporatorius quit (Quit: Leaving) 2014-12-06T18:30:19Z stassats`: less talk, more code 2014-12-06T18:30:29Z vaporatorius joined #lisp 2014-12-06T18:30:31Z stassats`: anybody can write essays 2014-12-06T18:30:46Z gabriel_laddel: stassats`: I am writing code too. 2014-12-06T18:30:59Z gabriel_laddel: stassats`: 3d is simply prioritized after my current project. 2014-12-06T18:31:14Z gabriel_laddel: anybody can write code too. 2014-12-06T18:31:43Z wglb joined #lisp 2014-12-06T18:32:19Z gabriel_laddel: |3b|: I've not ever seen that documentation nor used the environment. Just watched some videos and assumed it was as sane as the rest of the lisp machine. 2014-12-06T18:32:21Z drewc: I like Wolf 3D ... it worked on my 386 40 ... which also ran qbasic ... so offtopic I guess. If only my SBCL ran Wolf! 2014-12-06T18:32:44Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-06T18:33:18Z |3b|: ah, "i saw a picture of it once and assumed it was solved", even better... "your field isn't even worth thinking about, so i'll dismiss it out of hand" 2014-12-06T18:33:51Z stassats`: |3b|: don't take it personally, he said 3D, not 3B 2014-12-06T18:33:56Z yuikov quit (Remote host closed the connection) 2014-12-06T18:34:34Z |3b|: stassats`: sorry, i'll stop trolling now :/ 2014-12-06T18:37:38Z boogie joined #lisp 2014-12-06T18:38:12Z defaultxr joined #lisp 2014-12-06T18:40:01Z scymtym_ joined #lisp 2014-12-06T18:52:13Z kanru joined #lisp 2014-12-06T18:54:55Z yuikov joined #lisp 2014-12-06T18:56:51Z drmeister: Does anyone have insight to this? In SLIME, there is an optional contributed library in *contribs* called "swank-asdf". ECL includes it... What would Clasp need to provide to include swank-asdf? Do I need to incorporate ASDF into Clasp or does it just mean that (require :asdf) has to be able to load ASDF? 2014-12-06T18:57:21Z stassats`: why do you want swank-asdf? 2014-12-06T18:57:39Z drmeister: Ok, I just saw this in contrib/swank-asdf.lisp 2014-12-06T18:57:40Z eee-blt_ quit (Ping timeout: 250 seconds) 2014-12-06T18:57:42Z drmeister: https://www.irccloud.com/pastebin/Vdp8ZDPv 2014-12-06T18:57:56Z drmeister: stassats`: Because it's awesome? 2014-12-06T18:58:42Z drmeister: Is it awesome? I have no idea - I have a serious case of "keeping up with the ECLs" - if ECL does it - I have to do it. 2014-12-06T18:59:15Z stassats`: well, i wrote parts of slime-asdf and never actually use it 2014-12-06T18:59:19Z stassats`: it isn't that awesome 2014-12-06T19:00:29Z krrrcks quit (Ping timeout: 264 seconds) 2014-12-06T19:00:43Z drmeister: Well, with your less than ringing endorsement I will disregard "swank-asdf" for now. 2014-12-06T19:01:20Z stassats`: but if you have asdf, it will work 2014-12-06T19:01:36Z drmeister: If at some future time swank-asdf becomes awesome I will be back. 2014-12-06T19:02:51Z beach: pjb: I think you misunderstood what I was saying. I didn't mean that existing implementations would automatically conform to the new specification, nor that we would make an effort for it to be the case. What I mean was that if the maintainers of some implementation want to make it conforming to the new specification, then it will still be a conforming implementation according to the existing specification. 2014-12-06T19:03:01Z krrrcks joined #lisp 2014-12-06T19:04:36Z drmeister: Oh dear, SWANK just loaded into Clasp - what can I do to test it? 2014-12-06T19:04:39Z Sgeo joined #lisp 2014-12-06T19:04:49Z stassats`: connect slime to it 2014-12-06T19:05:00Z drmeister: How would I do that? 2014-12-06T19:05:32Z stassats`: start a sever, M-x slime-connect 2014-12-06T19:05:35Z drmeister: I loaded it using (asdf:load-system :swank) 2014-12-06T19:05:37Z Shinmera: (swank:start-server ..) and from emacs .. yes 2014-12-06T19:05:46Z stassats`: see start-swank.lisp 2014-12-06T19:06:24Z yuikov quit (Remote host closed the connection) 2014-12-06T19:06:31Z yuikov joined #lisp 2014-12-06T19:07:49Z drmeister: start-swank says (swank-loader:init ...) and (swank:create-server ...) And then Shinmera you say: (swank:start-server ...) I don't know what to believe, investigating... 2014-12-06T19:08:41Z stassats`: believe me 2014-12-06T19:09:21Z Shinmera: drmeister: You can safely assume that what stassats says will be much more likely to be correct than what I say, if they do conflict. 2014-12-06T19:10:15Z _JokerDoomWork joined #lisp 2014-12-06T19:10:36Z pjb: - 2014-12-06T19:11:04Z pjb: beach: oh, right. I totally agree. 2014-12-06T19:11:16Z beach: Good! 2014-12-06T19:12:02Z drmeister: (swank:create-server :port 4005 :font-close nil) --> Unbound symbol-value for LL-GET-PROTOCOL-BY-NAME investigatin'... 2014-12-06T19:13:00Z drmeister: That's one of mine. 2014-12-06T19:13:15Z yuikov quit (Remote host closed the connection) 2014-12-06T19:15:54Z drmeister: Forgot to prefix package sockets-internal:ll-get-protocol-by-name 2014-12-06T19:16:27Z jweiss joined #lisp 2014-12-06T19:17:31Z codeburg quit (Ping timeout: 250 seconds) 2014-12-06T19:18:08Z jweiss: I'm noticing as soon as i switched from sbcl to ecl that sbcl was nicer about a mistake in my macro. it didn't care that my macro took a single argument and I passed it many. it just nicely rolled the args into a list. ecl errors out instead. that seems like a rather basic thing for two impls to differ on. 2014-12-06T19:18:26Z stassats`: that's not true 2014-12-06T19:19:02Z jweiss: really? there may be some other explanation but all i did was change my inferior-lisp setting and rerun my very short program. 2014-12-06T19:19:16Z White_Flame: Did you accidently put parens around your arguments? 2014-12-06T19:19:26Z jweiss: now i get a "too many arguments" error when i didn't before. i think it should have errored before. 2014-12-06T19:19:42Z jweiss: no, nothing else changed 2014-12-06T19:20:13Z codeburg joined #lisp 2014-12-06T19:20:14Z mvilleneuve joined #lisp 2014-12-06T19:20:42Z jweiss: looking at my macro now it shouldn't have worked in sbcl, let me switch back real quick 2014-12-06T19:20:49Z JokerDoomWork joined #lisp 2014-12-06T19:23:14Z _JokerDoomWork quit (Ping timeout: 250 seconds) 2014-12-06T19:24:25Z _JokerDoomWork joined #lisp 2014-12-06T19:24:45Z corni quit (Ping timeout: 260 seconds) 2014-12-06T19:25:06Z beach left #lisp 2014-12-06T19:25:49Z jweiss: ok I was misinterpreting the result - was debugging a segfault in cffi call and I presumed it was happening in the call to the lib after macroexpansion but apparently it's happening during compilation. no idea why that would happen. 2014-12-06T19:26:04Z JokerDoomWork quit (Ping timeout: 255 seconds) 2014-12-06T19:26:32Z jweiss: but i swear i have successfully macroexpanded this before, i guess my memory is failing me 2014-12-06T19:27:00Z a7a joined #lisp 2014-12-06T19:28:09Z a7a: is there a lisp-related project in need of a logo (made of lambdas) 2014-12-06T19:30:58Z __JokerDoomWork joined #lisp 2014-12-06T19:31:25Z vowyer_ quit (Quit: C-x C-c) 2014-12-06T19:33:25Z edgar-rft quit (Quit: memory access closed into paranoid deadlock) 2014-12-06T19:34:17Z _JokerDoomWork quit (Ping timeout: 240 seconds) 2014-12-06T19:37:05Z jleija joined #lisp 2014-12-06T19:37:41Z BitPuffin quit (Ping timeout: 264 seconds) 2014-12-06T19:38:16Z JokerDoomWork joined #lisp 2014-12-06T19:38:24Z __JokerDoomWork quit (Ping timeout: 250 seconds) 2014-12-06T19:38:50Z BitPuffin joined #lisp 2014-12-06T19:39:01Z posttoasties_ joined #lisp 2014-12-06T19:40:42Z JokerDoom joined #lisp 2014-12-06T19:40:44Z drmeister: Is there any way to force slime/swank to rebuild everything? 2014-12-06T19:41:02Z rivrkeepr quit (Quit: Leaving) 2014-12-06T19:41:24Z pjb: rm -rf ~/.cache/common-lisp 2014-12-06T19:44:07Z pt1 joined #lisp 2014-12-06T19:44:56Z pt1 quit (Remote host closed the connection) 2014-12-06T19:45:18Z yuikov joined #lisp 2014-12-06T19:47:14Z _JokerDoom joined #lisp 2014-12-06T19:47:52Z antonv quit (Ping timeout: 245 seconds) 2014-12-06T19:48:08Z _JokerDoom quit (Read error: Connection reset by peer) 2014-12-06T19:48:31Z _JokerDoom joined #lisp 2014-12-06T19:49:37Z JokerDoom quit (Ping timeout: 240 seconds) 2014-12-06T19:49:56Z a7a: if anyone thinks of a project, pm me on #emacs. i was thinking maybe slime of clozure 2014-12-06T19:50:13Z a7a: or* 2014-12-06T19:50:16Z a7a left #lisp 2014-12-06T19:50:16Z _JokerDoomWork joined #lisp 2014-12-06T19:50:22Z JokerDoomWork quit (Ping timeout: 258 seconds) 2014-12-06T19:52:11Z AntiSpamMeta quit (Quit: Automatic restart triggered due to persistent lag. Freenode staff: If this is happening too frequently, please set a nickserv freeze on my account, and once my connection is stable, unfreeze the account and /kill me to trigger a reconnect.) 2014-12-06T19:52:53Z AntiSpamMeta joined #lisp 2014-12-06T19:53:33Z Grue`: a7a: well, i need a logo for my site, but not made out of lambdas, there's ever been exactly one good logo that had lambda in it and it's not even lisp-related 2014-12-06T19:54:54Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T19:55:07Z AntiSpamMeta joined #lisp 2014-12-06T19:58:41Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T19:59:20Z AntiSpamMeta joined #lisp 2014-12-06T20:00:01Z towodo joined #lisp 2014-12-06T20:02:16Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:02:24Z mishoo quit (Remote host closed the connection) 2014-12-06T20:02:29Z AntiSpamMeta joined #lisp 2014-12-06T20:02:41Z mishoo joined #lisp 2014-12-06T20:03:37Z pt1 joined #lisp 2014-12-06T20:03:52Z edne quit (Quit: Leaving) 2014-12-06T20:04:32Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:05:14Z rszeno joined #lisp 2014-12-06T20:07:22Z AntiSpamMeta joined #lisp 2014-12-06T20:08:05Z pt1 quit (Remote host closed the connection) 2014-12-06T20:08:39Z schaueho quit (Ping timeout: 264 seconds) 2014-12-06T20:09:23Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:09:36Z AntiSpamMeta joined #lisp 2014-12-06T20:10:38Z mishoo quit (Ping timeout: 256 seconds) 2014-12-06T20:12:53Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:14:42Z towodo quit (Quit: towodo) 2014-12-06T20:16:04Z AntiSpamMeta joined #lisp 2014-12-06T20:18:07Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:18:17Z kanru quit (Ping timeout: 245 seconds) 2014-12-06T20:18:20Z AntiSpamMeta joined #lisp 2014-12-06T20:19:36Z mishoo joined #lisp 2014-12-06T20:20:34Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:20:46Z AntiSpamMeta joined #lisp 2014-12-06T20:22:49Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:24:15Z stassats` quit (Ping timeout: 264 seconds) 2014-12-06T20:25:10Z marioxcc joined #lisp 2014-12-06T20:25:51Z marioxcc: Hi. Is there a free as in freedom CL implementation that is lightweight (As in, not having lots of dependencies and having a small memory size and start time so that it's suitable for scripts). 2014-12-06T20:25:52Z marioxcc: ? 2014-12-06T20:27:04Z pgomes quit (Quit: Leaving) 2014-12-06T20:27:50Z ggole quit 2014-12-06T20:30:11Z |3b|: clisp is probably smallest memory size (at least to load) or ecl, not sure about dependencies or start time though for either 2014-12-06T20:31:59Z zacharias quit (Quit: WeeChat 1.0.1) 2014-12-06T20:34:05Z angavrilov quit (Ping timeout: 272 seconds) 2014-12-06T20:35:14Z AntiSpamMeta joined #lisp 2014-12-06T20:36:33Z pllx joined #lisp 2014-12-06T20:37:38Z Neptu quit (Ping timeout: 256 seconds) 2014-12-06T20:37:58Z Guest96964 joined #lisp 2014-12-06T20:38:00Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:38:13Z AntiSpamMeta joined #lisp 2014-12-06T20:39:23Z urandom__ quit (Quit: Konversation terminated!) 2014-12-06T20:40:09Z Neptu joined #lisp 2014-12-06T20:40:16Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:40:29Z AntiSpamMeta joined #lisp 2014-12-06T20:42:12Z theseb joined #lisp 2014-12-06T20:43:34Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:43:50Z AntiSpamMeta joined #lisp 2014-12-06T20:44:47Z eni_ joined #lisp 2014-12-06T20:47:00Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:47:31Z AntiSpamMeta joined #lisp 2014-12-06T20:48:52Z eni_ is now known as eni 2014-12-06T20:49:28Z pllx quit (Quit: Textual IRC Client: www.textualapp.com) 2014-12-06T20:50:09Z marioxcc: Hi. Is there a free as in freedom CL implementation that is lightweight (As in, not having lots of dependencies and having a small memory size and start time so that it's suitable for scripts)? 2014-12-06T20:50:42Z Beetny joined #lisp 2014-12-06T20:51:34Z resttime joined #lisp 2014-12-06T20:53:31Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-06T20:53:48Z Shinmera joined #lisp 2014-12-06T20:55:35Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T20:58:14Z Guest96964: marioxcc: did you check ecl? 2014-12-06T21:01:21Z towodo joined #lisp 2014-12-06T21:01:48Z rszeno quit (Quit: Leaving.) 2014-12-06T21:02:45Z lavokad: again, a statement from "practical common lisp" book: 2014-12-06T21:02:52Z inklesspen left #lisp 2014-12-06T21:02:59Z lavokad: "All values in Common Lisp are, conceptually at least, references to objects" 2014-12-06T21:03:41Z Shinmera: That is a practical way to see it. 2014-12-06T21:04:27Z scmaccal joined #lisp 2014-12-06T21:04:56Z lavokad: I think I understand that when I do (defparamater a #(1 2 4)), the variable the symbol a names will hold a reference 2014-12-06T21:05:11Z lavokad: but the a string literal is a value 2014-12-06T21:05:30Z lavokad: it is not a reference, it is an object itself 2014-12-06T21:05:36Z Shinmera: What does "value" mean to you? 2014-12-06T21:05:42Z Shinmera: And what does "object" mean to you? 2014-12-06T21:06:00Z lavokad: an object is an s-expression for me 2014-12-06T21:06:11Z Shinmera: clhs glossary/object 2014-12-06T21:06:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_o.htm#object 2014-12-06T21:07:03Z vi1 joined #lisp 2014-12-06T21:07:48Z Grue`: it really depends on the context of the book 2014-12-06T21:08:07Z Grue`: but you're probably confused about objects and/or s-expressions if you think that 2014-12-06T21:08:49Z Shinmera: S-expressions are one representation method of objects. 2014-12-06T21:09:30Z lavokad: that is what i meant 2014-12-06T21:09:31Z Grue`: s-expressions = code; objects = data 2014-12-06T21:09:34Z milosn quit (Ping timeout: 255 seconds) 2014-12-06T21:09:51Z vowyer_ joined #lisp 2014-12-06T21:10:02Z Shinmera: Not every object can be represented in s-expressions; at least not without special handling thereof. 2014-12-06T21:10:30Z lavokad: shinmera, then what is a value? 2014-12-06T21:10:43Z scmaccal: hi 2014-12-06T21:10:45Z Shinmera: I don't know what context PCL has for "value" 2014-12-06T21:10:58Z Shinmera: but you can see the hyperspec for what it says about a value: 2014-12-06T21:11:01Z Shinmera: clhs glossary/value 2014-12-06T21:11:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_v.htm#value 2014-12-06T21:11:07Z marioxcc left #lisp 2014-12-06T21:11:46Z Sikander joined #lisp 2014-12-06T21:11:53Z Sikander: Hi guys 2014-12-06T21:13:12Z Shinmera: lavokad: What I'm guessing is that PCL is trying to bridge over the meanings of a "value" in other languages to that of CL 2014-12-06T21:13:30Z Shinmera: *meaning 2014-12-06T21:13:39Z Sikander: When using cffi to load a library under ccl windows, load-foreign-library gives me an error "The specified module could not be found" 2014-12-06T21:13:46Z AntiSpamMeta joined #lisp 2014-12-06T21:13:49Z Sikander: It does list the path of the dll correctly. 2014-12-06T21:14:02Z Sikander: The same code works fine under sbcl linux, though 2014-12-06T21:14:06Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T21:14:34Z Sikander: Any ideas how I can correct this? 2014-12-06T21:14:52Z Grue`: is .dll 32-bit or 64-bit and the same as your OS? 2014-12-06T21:15:26Z Sikander: Ah, good question, the dll is 32bit, but this could be a 64bit os. Thanks! 2014-12-06T21:15:27Z Grue`: ugh, I meant CCL 2014-12-06T21:15:30Z c53100 quit (Ping timeout: 244 seconds) 2014-12-06T21:15:44Z Sikander: Oh, right, I think I'm using 32 bit CCL 2014-12-06T21:15:50Z AntiSpamMeta joined #lisp 2014-12-06T21:15:52Z White_Flame: lavokad: (defparameter a "abc") (defparameter b a), then modify the string. You'll see that both a and b hold a reference to the string 2014-12-06T21:15:58Z Sikander: Do I then need the 32bit dll? 2014-12-06T21:15:59Z redline6561: PuercoPop: hey, you around? 2014-12-06T21:16:04Z Grue`: I think 32-bit ccl should be able to load 32 bit dll 2014-12-06T21:16:24Z marioxcc joined #lisp 2014-12-06T21:16:31Z Sikander: I'll check it out, thanks for the hint 2014-12-06T21:16:49Z marioxcc: Hi. Is there a free as in freedom CL implementation that is lightweight (As in, not having lots of dependencies and having a small memory size and start time so that it's suitable for scripts)?. I checked ECL, but it seems like it's unmaintained. 2014-12-06T21:16:54Z White_Flame: lavokad: It's not that "abc" is held in a, and b references a; but both a and b reference the same string which is independent of any symbol-value 2014-12-06T21:16:54Z marioxcc: The latest release is from 2012. 2014-12-06T21:17:38Z lavokad: White_Flame, I get this. I dont get why the book, says "All values in Common Lisp are, conceptually at least, references to objects". 2014-12-06T21:17:48Z Sikander: Grue`: Will it still work if the library was built with Microsoft Studio? 2014-12-06T21:17:54Z lavokad: it would make sense if it stated "All variables.." 2014-12-06T21:18:09Z zyaku quit (Ping timeout: 258 seconds) 2014-12-06T21:18:11Z Sikander: Grue`: Both ccl and the dll are 32bit 2014-12-06T21:18:11Z White_Flame: lavokad: A value is held & passed around. That value refers to some object. 2014-12-06T21:18:27Z White_Flame: lavokad: A value can appear in multiple places, all being the exact same object 2014-12-06T21:18:28Z zyaku joined #lisp 2014-12-06T21:18:52Z White_Flame: lavokad: Basically, that verbage splits the identity between "value" and "backing object" 2014-12-06T21:19:09Z Grue`: Sikander: do you only have problems with this .dll or with others too? 2014-12-06T21:19:19Z White_Flame: lavokad: A "value" is basically what you get from evaluating a form 2014-12-06T21:19:45Z Sikander: Grue`: Good question; I'll have to try this out. 2014-12-06T21:20:00Z stassats` joined #lisp 2014-12-06T21:20:16Z Shinmera: White_Flame: lavokad: as the clhs states for "value" 2014-12-06T21:22:34Z theseb: wow....emacs really takes care of parens....once you know emacs there's no reason for anyone to keep bitching about parens in lisp 2014-12-06T21:22:51Z stassats`: can i bitch about parenthesis in javascript? 2014-12-06T21:22:52Z stassats`: or c? 2014-12-06T21:23:16Z White_Flame: no, but commas and semicolons are fair game 2014-12-06T21:23:19Z Sikander: Grue`: I have msys installed, and can use any of the foreign libraries there (e.g. tcl86.dll) 2014-12-06T21:23:41Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T21:24:07Z AntiSpamMeta joined #lisp 2014-12-06T21:24:15Z Sikander: Grue`: However, I downloaded the tesseract dll's, and while on linux I can use it with cffi, I get the module error on windows. 2014-12-06T21:24:34Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-12-06T21:25:04Z Grue`: well, that's pretty annoying 2014-12-06T21:25:33Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T21:25:35Z Sikander: Grue`: Yes, dammit, the program is supposed to run on windows, but I wrote it on linux... 2014-12-06T21:25:38Z Guest96964: marioxcc: last update is 2013-5-28 2014-12-06T21:26:09Z stassats`: Sikander: it's missing some other library 2014-12-06T21:26:10Z Guest96964: marioxcc: version 13.5.1 2014-12-06T21:26:17Z stassats`: like msvcr 2014-12-06T21:26:46Z Sikander: stassats`: Ah, weird; is that because it was compiled with visual studio? 2014-12-06T21:27:02Z stassats`: no 2014-12-06T21:27:12Z marioxcc: Guest96964: Ok, it still doesn't seems very active. Do you know of other implementaitons with those characteristics?. 2014-12-06T21:27:34Z theseb: stassats`: i used to bitch about the static typing of java but to be fair.....an IDE can automagically declare vars in java....hence static typing bitching in java is now off limits too 2014-12-06T21:28:01Z Sikander: stassats`: How can I find out which library is missing? 2014-12-06T21:28:02Z theseb: stassats`: if emacs makes lisp bitching-free....Eclipse does same for java...it's only fiar 2014-12-06T21:28:03Z theseb: fair* 2014-12-06T21:28:09Z stassats`: marioxcc: the last change to ecl is 2014-10-15 2014-12-06T21:28:20Z milosn joined #lisp 2014-12-06T21:29:03Z zyaku quit (Ping timeout: 264 seconds) 2014-12-06T21:30:03Z Grue`: i think it's only valid to complain about something not being updated when you have a specific problem with that software that needs to be fixed 2014-12-06T21:30:09Z marioxcc: stassats`: Oh, I must have missed that. 2014-12-06T21:30:25Z Grue`: TeX is updated very rarely because it's practically bug-free at this point 2014-12-06T21:31:53Z marioxcc: Grue`: Well, I think that it's safe to assume that there will be problems with software eventually, unless that software is already known to be complete. 2014-12-06T21:34:00Z Grue`: even if it is maintained, nothing guarantees your specific problem will be fixed because you paid nothing for it 2014-12-06T21:36:17Z zyaku joined #lisp 2014-12-06T21:37:05Z someone quit (Ping timeout: 264 seconds) 2014-12-06T21:37:44Z girrig quit (Ping timeout: 245 seconds) 2014-12-06T21:38:14Z pjb: marioxcc: you have been told clisp, but if you keep asking, we may answer each free CL implementation in turn. Personnally, I use clisp to write my scripts. 2014-12-06T21:39:07Z marioxcc: pjb: Ok. I was mostly interested in your recommendations as I can find easily a list of implementations :). 2014-12-06T21:39:27Z AntiSpamMeta joined #lisp 2014-12-06T21:40:18Z pjb: Grue`: s-expression = data. form = a s-expression that is _intended_ as code. 2014-12-06T21:40:24Z girrig joined #lisp 2014-12-06T21:40:25Z someon joined #lisp 2014-12-06T21:40:34Z pjb: Grue`: (42 hello cos) is a s-expression, it's not a CL form. 2014-12-06T21:41:42Z pjb: White_Flame: you cannot modify literal strings! 2014-12-06T21:42:04Z White_Flame: pjb: point taken. Cons up a new string! 2014-12-06T21:42:04Z pjb: lavokad: you should use earmuffs for dynamic variables. White_Flame gave you a very bad example. 2014-12-06T21:42:13Z ack006 joined #lisp 2014-12-06T21:42:25Z lavokad: earmuffs? 2014-12-06T21:42:35Z pjb: *a* instead of a 2014-12-06T21:42:40Z White_Flame: pjb: the original from lavokad had (defparameter a ...) 2014-12-06T21:42:55Z H4ns: *earmuffs* 2014-12-06T21:43:01Z pjb: lavokad: (defparameter *a* (make-string 3 :initial-element #\a)) (defparameter *b* *a*) ; now you can modify the string bound to *a*. 2014-12-06T21:43:12Z White_Flame: Is there an "earmuff" like name for +constants+ ? 2014-12-06T21:43:28Z pjb: (setf (aref *a* 0) #\B) *b* --> "Baa" (eql *a* *b*) --> T 2014-12-06T21:44:11Z pjb: White_Flame: cotton swabs? :-) 2014-12-06T21:44:47Z lavokad: but how is a "a-string" literal a reference to an object? 2014-12-06T21:44:51Z marioxcc left #lisp 2014-12-06T21:44:53Z lavokad: according to that book.. 2014-12-06T21:44:57Z mishoo quit (Ping timeout: 244 seconds) 2014-12-06T21:45:10Z Grue`: pjb: I didn't say any s-expression is a valid CL code, but an s-expression is a code nonetheless: a textual representation of an object which can be stored in implementation-dependent way 2014-12-06T21:45:12Z White_Flame: lavokad: the value you get from "abc" is a reference to a string 2014-12-06T21:45:18Z White_Flame: lavokad: which gets printed as "abc" 2014-12-06T21:45:25Z lavokad: yeahhhH! 2014-12-06T21:45:26Z lavokad: :D 2014-12-06T21:45:30Z pjb: Grue`: (42 hello this is not code this is data) 2014-12-06T21:45:44Z White_Flame: lavokad: again, a "value" is what you get from _evaluating_ a form 2014-12-06T21:45:49Z Grue`: i disagree that this is not code 2014-12-06T21:45:51Z lavokad: White_Flame: that makes sense! 2014-12-06T21:45:56Z pt1 joined #lisp 2014-12-06T21:46:07Z stassats`: looks cryptic to me, bust be code 2014-12-06T21:46:17Z zyaku quit (Ping timeout: 272 seconds) 2014-12-06T21:46:17Z pjb: Grue`: only in the sens that all data is code in lisp. 2014-12-06T21:46:33Z White_Flame: lavokad: sort of vaguely similar to C, where "abc" is a char*, not the data of the string itself 2014-12-06T21:46:35Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T21:46:48Z zyaku joined #lisp 2014-12-06T21:47:00Z Grue`: the data is a linked list; the s-expression is a textual representation of a linked list 2014-12-06T21:50:07Z theos quit (Ping timeout: 244 seconds) 2014-12-06T21:50:57Z zyaku quit (Ping timeout: 240 seconds) 2014-12-06T21:51:48Z zyaku joined #lisp 2014-12-06T21:54:02Z Qudit314159 joined #lisp 2014-12-06T21:54:23Z lavokad: so is it true, that having a (defparameter *orejera* "earmuff") and then write *orejera* in REPL a scenario is like this: a symbol(*orejera*), when evaluated as a form, is seen as a name of a variable. The value of that variable is a reference that is used to reference the actual object it stores(a string "earmuff") and evaluate that object. 2014-12-06T21:54:43Z theos joined #lisp 2014-12-06T21:55:07Z AntiSpamMeta joined #lisp 2014-12-06T21:55:32Z pjb: lavokad: no, it only evaluates the symbol, not the object bound to the variable. 2014-12-06T21:55:37Z pjb: It's a REPL, not a REEPL. 2014-12-06T21:55:41Z stassats` quit (Ping timeout: 264 seconds) 2014-12-06T21:56:06Z pjb: Try it: (Loop (Print (Eval (Read)))) 2014-12-06T21:56:34Z lavokad: yes, sorry 2014-12-06T21:56:43Z lavokad: i meant "return" 2014-12-06T21:56:51Z pjb: (well, the CL REPL is specified with a few additionnal amenities). 2014-12-06T21:56:58Z lavokad: not meant, wanted to say 2014-12-06T21:56:59Z lavokad: :D 2014-12-06T21:58:09Z zyaku quit (Ping timeout: 265 seconds) 2014-12-06T21:58:11Z lavokad: White_Flame thank you. For now I can continue reading PCL 2014-12-06T21:58:16Z lavokad: :) 2014-12-06T21:59:43Z AntiSpamMeta quit (Remote host closed the connection) 2014-12-06T22:01:05Z vowyer_ quit (Quit: C-x C-c) 2014-12-06T22:02:04Z AntiSpamMeta joined #lisp 2014-12-06T22:04:18Z gravicappa quit (Remote host closed the connection) 2014-12-06T22:05:06Z zyaku joined #lisp 2014-12-06T22:06:57Z araujo quit (Ping timeout: 244 seconds) 2014-12-06T22:09:37Z araujo joined #lisp 2014-12-06T22:09:40Z nha joined #lisp 2014-12-06T22:11:12Z mrSpec joined #lisp 2014-12-06T22:12:11Z sternenseemann joined #lisp 2014-12-06T22:12:17Z radioninja quit (Ping timeout: 260 seconds) 2014-12-06T22:12:45Z pt1 quit (Remote host closed the connection) 2014-12-06T22:18:29Z ndrei quit (Ping timeout: 264 seconds) 2014-12-06T22:26:17Z MoALTz_ quit (Quit: Leaving) 2014-12-06T22:27:13Z oleo is now known as Guest62097 2014-12-06T22:28:53Z oleo__ joined #lisp 2014-12-06T22:29:24Z eni quit (Remote host closed the connection) 2014-12-06T22:29:59Z ans quit (Ping timeout: 272 seconds) 2014-12-06T22:30:36Z Guest62097 quit (Ping timeout: 256 seconds) 2014-12-06T22:33:01Z vinleod joined #lisp 2014-12-06T22:33:56Z pppp3 joined #lisp 2014-12-06T22:35:52Z someon is now known as someone 2014-12-06T22:39:42Z posttoasties_ quit (Quit: Ex-Chat) 2014-12-06T22:39:50Z innertracks quit (Quit: innertracks) 2014-12-06T22:41:30Z pt1 joined #lisp 2014-12-06T22:41:35Z pt1 quit (Remote host closed the connection) 2014-12-06T22:41:42Z mrSpec quit (Ping timeout: 250 seconds) 2014-12-06T22:44:19Z Sikander: LiamH: hi, it's been a long time 2014-12-06T22:44:42Z LiamH: Sikander: Hi! 2014-12-06T22:45:07Z LiamH: I saw your CFFI contributions. 2014-12-06T22:45:45Z Sikander: Ah, right. Got sick and tired of libffi installing in weird locations and cffi not finding it 2014-12-06T22:46:06Z Sikander: I complained to upstream, but they said to use pkg-config 2014-12-06T22:47:00Z Sikander: Are there plans to separate gsll from antik? 2014-12-06T22:47:01Z LiamH: I've not had a chance to look at it, but I think you're on to something there. There have been problems with GSL libraries in weird locations too. I'd like to see this generalized. 2014-12-06T22:47:18Z LiamH: What do you mean to separate them? 2014-12-06T22:48:01Z Sikander: erm, I meant to separate antik into smaller things; it's weird that in order for GSLL to install, I need openssl (for drakhma, for antik) 2014-12-06T22:48:26Z Sikander: This annoyed me to no end, because I can't get cl+ssl installed on windows. 2014-12-06T22:48:31Z LiamH: Yes, it's actually there now. Look at the "multiple-systems" branches. 2014-12-06T22:48:40Z Sikander: Aha! 2014-12-06T22:48:46Z Sikander: I'll have a look! 2014-12-06T22:48:58Z LiamH: The reason I don't merge into master is that I don't have any documentation. 2014-12-06T22:49:15Z Sikander: Ah, ok, that shouldn't be a problem *cough* 2014-12-06T22:49:19Z Sikander: I'll try it out 2014-12-06T22:49:25Z LiamH: And the reason I don't have any documentation is that I don't have a good documentation system. 2014-12-06T22:49:49Z JuanDaugherty joined #lisp 2014-12-06T22:49:50Z LiamH: I'm fed up with texinfo. 2014-12-06T22:50:19Z wasamasa: time to reinvent a lispy one 2014-12-06T22:50:22Z LiamH: I've found a promising way to go, but I've had absolutely no time to pursue it in recent weeks. 2014-12-06T22:50:31Z wasamasa: is there a CL-like scribble? 2014-12-06T22:50:44Z Sikander: Can texinfo extract docstrings from code? 2014-12-06T22:50:54Z LiamH: Sikander: Yes 2014-12-06T22:51:14Z _death: interesting, I'm just reading that big emacs-devel flame about texinfo/asciidoc 2014-12-06T22:51:18Z Sikander: LiamH: What is the main reason that you're fed up with texinfo? 2014-12-06T22:51:56Z pppp3 quit (Read error: No route to host) 2014-12-06T22:52:06Z LiamH: Very very clunky to use. Any additions/changes are a huge pain to do. I'm sure there's a cool emacs way to do it, but I've never figured it out. 2014-12-06T22:52:17Z AntiSpamMeta quit (Quit: brb, overhaul of DNS requests and DNSBL lookups) 2014-12-06T22:52:30Z AntiSpamMeta joined #lisp 2014-12-06T22:52:40Z Sikander: See, I never write anything significant, so no documentation :) 2014-12-06T22:53:04Z Sikander: (Or maybe it's the other way around?) 2014-12-06T22:53:39Z LiamH: I've found that there is a CL module for Sphinx, the Python doc system, and overall it looks pretty good. Having no knowledge of Python makes for a difficult learning process. 2014-12-06T22:54:12Z mrSpec joined #lisp 2014-12-06T22:54:31Z AntiSpamMeta quit (Read error: Connection reset by peer) 2014-12-06T22:54:42Z LiamH: But I couldn't get it to work on Antik because of the way I use define macros, which proved to be incorrect. So I spent some time converting to named-readtables. 2014-12-06T22:55:04Z LiamH: "because of the way I define reader macros" I mean 2014-12-06T22:55:23Z gabriel_laddel: White_Flame: |3b|: Shinmera: stassats`: http://paste.lisp.org/display/144613 2014-12-06T22:55:23Z LiamH: That is done but I haven't gotten back to Sphinx yet. 2014-12-06T22:55:43Z Sikander: How is it possible that there isn't a good cl way to do this?! 2014-12-06T22:56:17Z LiamH: There have been several attempts. I don't think they got anywhere. 2014-12-06T22:56:24Z nykac: ahh 2014-12-06T22:56:32Z nykac: so I actually have a suggestion on how to go about it 2014-12-06T22:57:02Z nykac: in UE4, HLSL is used on all platforms to avoid writing two shaders 2014-12-06T22:57:16Z nykac: to do this, they integrate w/ gallium infrastructure 2014-12-06T22:57:33Z nykac: they parse the HLSL, generate TSGI, optimize it then spit out GLSL 2014-12-06T22:57:50Z nykac: you could do the same but instead of HLSL have some stort of lisp shader language 2014-12-06T22:57:59Z wasamasa: LiamH: antik? 2014-12-06T22:58:24Z Sikander: LiamH: So, what's the advantage of foreign-array over static-vectors? 2014-12-06T22:59:04Z moei quit (Quit: Leaving...) 2014-12-06T22:59:28Z ivan4th: hello. are there any filesystem abstraction libraries for CL currently? Like this one for python https://code.google.com/p/pyfilesystem/ For testing purposes (fake fs) etc. 2014-12-06T22:59:32Z LiamH: wasamasa: http://www.common-lisp.net/project/antik/ 2014-12-06T23:00:04Z LiamH: Sikander: foreign-array is built on static-vectors 2014-12-06T23:00:13Z wasamasa: LiamH: interesting, thanks 2014-12-06T23:00:33Z Sikander: LiamH: ok, but what does it offer over "just" using static-vectors? 2014-12-06T23:00:42Z Guest969` joined #lisp 2014-12-06T23:00:49Z AntiSpamMeta joined #lisp 2014-12-06T23:01:14Z Sikander: Say I want to write a new ffi library that requires foreign arrays. What would make me say "I want to do this with foreign-array" instead of just grabbing static-vectors? 2014-12-06T23:01:23Z LiamH: Sikander: All grid (generalized array) functions work on them. Also they have slots so that GSL can store metadata it needs. 2014-12-06T23:01:50Z LiamH: Grid functions automatically work. 2014-12-06T23:01:58Z Sikander: Ah, ok. So actually, for the libusb ffi, I could have gone with static-vectors 2014-12-06T23:02:22Z Sikander: (It now depends on antik, which depends on drakma, which ...) 2014-12-06T23:02:23Z wasamasa: ivan4th: I've heard uiop of asdf3 can be used for this 2014-12-06T23:02:47Z LiamH: Sikander: I don't know libusb. 2014-12-06T23:04:10Z Guest969` quit (Remote host closed the connection) 2014-12-06T23:04:18Z LiamH: In general, if you want to do array-like things on foreign arrays, you should use foreign-array. If you just need to access the data and aren't using array like operations (say, transpose of a matrix, elementwise addition, etc.) you should use static-vectors. 2014-12-06T23:04:25Z Guest969` joined #lisp 2014-12-06T23:04:40Z Guest96964 quit (Ping timeout: 250 seconds) 2014-12-06T23:04:40Z Sikander: So, since I'm complaining about the cl+ssl thing, does anyone know how to get it working on windows? The only binaries for openssl now have the libeay.dll (or whatever) 2014-12-06T23:04:41Z hitecnologys quit (Ping timeout: 264 seconds) 2014-12-06T23:05:04Z Sikander: so the ffi doesn't work any more 2014-12-06T23:06:06Z LiamH: Sikander: Back to CFFI: do your patches locate both the header files and libraries? 2014-12-06T23:06:40Z Sikander: LiamH: Erm, no, it's too simple; it just locates the header files for grovelling 2014-12-06T23:07:11Z ivan4th: wasamasa: interesting... though I don't see how to do it right now 2014-12-06T23:07:24Z LiamH: Sikander: I'd like something that does both, maybe your technique can be generalized. 2014-12-06T23:07:36Z Sikander: LiamH: Shouldn't the library in a path somewhere? 2014-12-06T23:07:45Z wasamasa: ivan4th: alternatively you could use fuse for all these file systems and no longer worry about abstracting them away 2014-12-06T23:08:08Z Sikander: LiamH: I'm sure it can be; I had some ideas about it, but didn't see the point, since the libraries are usually in a library path 2014-12-06T23:08:14Z LiamH: Sikander: Yes, it should be, but it often isn't. One thing I've learned from getting GSLL bug reports is that dlopen is often broken. 2014-12-06T23:08:42Z ivan4th: wasamasa: using fuse to run some tests sounds like an overkill, using tmp files/dirs for this is probably easier. 2014-12-06T23:08:51Z Sikander: LiamH: In that case... I'll see if I can recall how to do it. 2014-12-06T23:08:54Z LiamH: Sikander: It turns out there aren't really standards for where dlopen should look and where libraries should be put. 2014-12-06T23:09:04Z ivan4th: wasamasa: https://gitorious.org/com-informatimago/com-informatimago-vfs/source/200099a5418e6810f6f9ae308bd1d2b6626c4e93: looks interesting but is in-memory only and GPL'd 2014-12-06T23:09:07Z wasamasa: ivan4th: true, but then you're going for less than that python library you've linked 2014-12-06T23:09:10Z Sikander: LiamH: In any case, I'm simply using pkgconfig, so it will only work when that's installed 2014-12-06T23:09:24Z wasamasa: ivan4th: complain at pjb :P 2014-12-06T23:09:32Z Sikander: LiamH: Wait, what about LIBRARY_PATH and LD_LIBRARY_PATH?! 2014-12-06T23:09:42Z wasamasa: ivan4th: he's the one behind the informatimago namespace 2014-12-06T23:09:58Z LiamH: Sikander: I suggested on the CFFI mailing lists that default paths be spec'd for CFFI in general. 2014-12-06T23:10:08Z ivan4th: wasamasa: I know, but I can't see why I should complain :) 2014-12-06T23:10:13Z LiamH: Sikander: because not everyone has them, nor are they always correct. 2014-12-06T23:10:28Z wasamasa: ivan4th: I'd personally rely on my operating system providing me /tmp with half of my ram 2014-12-06T23:10:33Z Sikander: LiamH: Ah, then my patch won't work. My patch simply uses pkgconfig 2014-12-06T23:10:47Z LiamH: Sikander: Why not? 2014-12-06T23:10:57Z LiamH: pkgconfig seems like a good idea 2014-12-06T23:11:22Z Sikander: LiamH: Oh, wait, your remark was with respect to LD_LIBRARY_PATH, not with respect to pkgconfig. 2014-12-06T23:11:30Z LiamH: yes, sorry 2014-12-06T23:11:34Z Sikander: LiamH: In that case, ok. 2014-12-06T23:11:44Z wasamasa: ivan4th: which means there must be a package creating the appropriate file names to work with 2014-12-06T23:11:44Z Sikander: I'll see if I remember how I can generalize it. 2014-12-06T23:11:50Z wasamasa: ivan4th: and I remember uiop having such a thing 2014-12-06T23:11:53Z Guest969` quit (Ping timeout: 264 seconds) 2014-12-06T23:13:40Z wasamasa: ivan4th: https://github.com/fare/asdf/blob/master/uiop/stream.lisp#L527-L693 2014-12-06T23:14:33Z Sikander: LiamH: So I have a cffi question, and since you were involved there... 2014-12-06T23:15:38Z Sikander: LiamH: Is it possible to grovel and save the results in a file so that you don't have to grovel when you go to another machine (where the headers may not be installed)? 2014-12-06T23:15:42Z c53100 joined #lisp 2014-12-06T23:16:23Z ivan4th: wasamasa: thanks 2014-12-06T23:17:45Z LiamH: Sikander: I don't think so (and I'm not the one that wrote cffi-grovel). 2014-12-06T23:17:47Z stacksmith quit (Ping timeout: 245 seconds) 2014-12-06T23:18:43Z Sikander: LiamH: Hum... right now I'm manually copying the cached file and rewriting the system definition... 2014-12-06T23:19:11Z |3b|: gabriel_laddel: have you reported that cl-glut bug anywhere, or do you have any more details on it? i can run "some cl-opengl example" and "press a key" with no errors 2014-12-06T23:19:15Z LiamH: Sikander: I was going to say, that's what I'd do. 2014-12-06T23:19:43Z White_Flame: gabriel_laddel: There's quite a few things to respond to that post 2014-12-06T23:19:46Z Sikander: LiamH: This should be possible in a simpler way, dammit. All this manual labor! 2014-12-06T23:20:15Z White_Flame: The documentation for OpenGL, like CLHS, is a _reference_, not a tutorial 2014-12-06T23:20:24Z Sikander: What are people using typically if a gui is needed for their cl programs? 2014-12-06T23:20:39Z White_Flame: gabriel_laddel: CLHS is also horrible for trying to learn CL from nothing. 2014-12-06T23:20:46Z Sikander: and if that gui should work on both windows and linux? 2014-12-06T23:20:55Z White_Flame: Sikander: I tend to use a web presentation 2014-12-06T23:21:00Z |3b|: Sikander: web browsers are popular, probably followed by ltk and common-qt, maybe some newer gtk bindings 2014-12-06T23:21:35Z White_Flame: gabriel_laddel: OpenGL is based on extensions. These are enumerable, and the spec for the extension says exactly what it does 2014-12-06T23:21:42Z Sikander: So, hunchentoot and some application server thingy? 2014-12-06T23:21:45Z White_Flame: enumerable in a standard way, even 2014-12-06T23:22:12Z White_Flame: gabriel_laddel: The rest of the doc is basically complaining about the lack of integration between applications. I agree with this; applications are monolithic, not interoperable tools. 2014-12-06T23:22:35Z Sikander: So, mcclim is no more? :( 2014-12-06T23:22:49Z |3b|: you can try clim as well if you like 2014-12-06T23:23:18Z Sikander: Yeah, it doesn't really work on both linux and windows. Someone should write a web and an LTK backend... 2014-12-06T23:23:22Z kcj joined #lisp 2014-12-06T23:23:27Z |3b| hasn't heard much about people running mcclim on windows lately though, so not sure how hard that would be 2014-12-06T23:23:35Z ans joined #lisp 2014-12-06T23:23:48Z White_Flame: gabriel_laddel: The biggest problem with the lack of integration is that computers are too specific, and cannot reapply general concepts between computational contexts 2014-12-06T23:23:55Z White_Flame: gabriel_laddel: which gets into AI 2014-12-06T23:25:07Z njsg_ quit (Quit: leaving) 2014-12-06T23:25:17Z njsg_ joined #lisp 2014-12-06T23:25:25Z Sikander: What's the main reason that clim is not popular? Is it just because of the older backends, or because of the clim approach? 2014-12-06T23:25:34Z k-stz quit (Remote host closed the connection) 2014-12-06T23:25:52Z |3b|: probably a combination of learning curve, old appearance, and hard to set up on some platforms 2014-12-06T23:26:02Z White_Flame: Sikander: The funny thing about the latter, is that as far as I understand CLIM, the dynamic browser environment has a lot of similarities there 2014-12-06T23:26:14Z hitecnologys joined #lisp 2014-12-06T23:26:20Z White_Flame: it's basically a dump of active objects rendered to the screen 2014-12-06T23:26:24Z Sikander: So let's write a web backend for clim, dammit 2014-12-06T23:26:27Z White_Flame: yep 2014-12-06T23:26:31Z Sikander: Exactly 2014-12-06T23:26:35Z White_Flame: or, a lot of people just write web backends :-P 2014-12-06T23:26:37Z |3b| thinks it has lots of interesting ideas, but isn't obvious how to actually use them effectively 2014-12-06T23:26:48Z Sikander: What do people use typically? Just hunchentoot? 2014-12-06T23:26:54Z Sikander: and clwho? 2014-12-06T23:27:20Z |3b| last used hunchentoot + restas, various things before that 2014-12-06T23:27:25Z White_Flame: I tend to end up in heterogeneous environments, so node.js is typically involved in talking to browsers in my cases 2014-12-06T23:27:44Z gabriel_laddel: White_Flame: The documentation for OpenGL, like CLHS, is a _reference_, not a tutorial << I learned CL mostly from CLHS and it is still where I get most of my information. 2014-12-06T23:27:45Z Sikander: Ah dammit, I know nothing of node.js... 2014-12-06T23:27:56Z Sikander: And my ncurses backend for mcclim is still not complete... 2014-12-06T23:27:57Z |3b| also got as far as drawing some numbers in commonqt, but nothing serious with it 2014-12-06T23:28:06Z White_Flame: gabriel_laddel: and I learned most of my OpenGL knowledge from the specs as well, going to tutorials later to clean up some understanding 2014-12-06T23:28:17Z White_Flame: of course, I did have a background in computer graphics from before that 2014-12-06T23:28:21Z gabriel_laddel: 15:21 gabriel_laddel: OpenGL is based on extensions. These are enumerable, and the spec for the extension says exactly what it does << perhaps I was looking at the "wrong spec" (how?) and found it to be a complete joke. 2014-12-06T23:28:31Z gabriel_laddel: as compared to say, CLHS 2014-12-06T23:28:49Z White_Flame: nothing in CLHS tells you how to use alexandria, but nothing also tells you that alexandria is loaded 2014-12-06T23:29:01Z White_Flame: opengl would at least tell you that "alexandria" is available, to cross metaphors 2014-12-06T23:29:08Z gabriel_laddel: White_Flame gabriel_laddel: The biggest problem with the lack of 2014-12-06T23:29:09Z gabriel_laddel: integration is that computers are too specific, and 2014-12-06T23:29:09Z gabriel_laddel: cannot reapply general concepts between computational 2014-12-06T23:29:09Z gabriel_laddel: contexts << this is exactly the problem that s-expressions solve. 2014-12-06T23:29:11Z |3b|: clhs find-package 2014-12-06T23:29:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_find_p.htm 2014-12-06T23:29:20Z |3b|: ^ would at least give you some idea it is loaded :) 2014-12-06T23:29:25Z Sikander: I like clim's approach, but writing a backend is terrible 2014-12-06T23:29:33Z White_Flame: gabriel_laddel: how so? s-expressions need to be evaluated. There are exact evaluation and syntactic requirements for something to evaluate properly 2014-12-06T23:29:39Z gabriel_laddel: 15:29 <|3b|> clhs find-package << exactly. CL gives me a way to bootstrap myself into an understanding of the system. 2014-12-06T23:30:02Z White_Flame: You can list all the packages, but you can't list all the loaded extensions 2014-12-06T23:30:10Z White_Flame: for various definitions of "extension" 2014-12-06T23:30:28Z gabriel_laddel: |3b| gabriel_laddel: have you reported that cl-glut bug anywhere, or do you have any more details on it? i can run "some cl-opengl example" and "press a key" with no errors << I could hunt it down again if you really would like. 2014-12-06T23:30:52Z gabriel_laddel: White_Flame: I can do this at a repl? 2014-12-06T23:30:59Z |3b|: gabriel_laddel: well, it is more likely to get fixed if i can reproduce it 2014-12-06T23:31:12Z White_Flame: also, your desire to create a cube and spin it around is offered by all sorts of modeling tools. Your complaint is that those tool's aren't integrated with CL 2014-12-06T23:31:17Z Sikander: when using a web interface, how do you draw? Do you generate pngs, or do you send svg to the browser? 2014-12-06T23:31:41Z gabriel_laddel: |3b|: I've given up on trying to integrate anything else with CL, so don't particularly care if it does or doesn't get solved. 2014-12-06T23:31:57Z White_Flame: Sikander: I tend to work with forms, reports, etc. Not so much web graphics... 2014-12-06T23:31:58Z |3b|: Sikander: i would probably use webgl if i were drawing in browser, or possibly 2d canvas 2014-12-06T23:32:13Z |3b|: through parenscript in either case 2014-12-06T23:32:40Z Sikander: |3b|: so hunchentoot, cl-who and parenscript? 2014-12-06T23:33:14Z gabriel_laddel: White_Flame gabriel_laddel: how so? s-expressions need to be evaluated. There are exact evaluation and syntactic requirements for something to evaluate properly << try making a lisp to lisp compiler and compare the task to making an ~algol to ~algol compiler. 2014-12-06T23:33:23Z |3b| personally doesn't like cl-who, but i don't really like the alternatives a lot better, so don't take that as advice against it :) 2014-12-06T23:33:38Z White_Flame: gabriel_laddel: that doesn't answer my question 2014-12-06T23:33:40Z Sikander: |3b|: What do you typically use? 2014-12-06T23:33:40Z gabriel_laddel: I'm not saying that everything will work automatically, but the amount of effort needed IMO is like 100x less. 2014-12-06T23:34:19Z White_Flame: if I have data that uses a different vocabulary/ontology/binary spec than the functions of another utility expect, "s-expressions" don't plug them together 2014-12-06T23:34:29Z c53100 quit (Ping timeout: 244 seconds) 2014-12-06T23:34:34Z |3b|: Sikander: not sure i do enough web dev to have a 'typical'. i think i used sexml last time, yaclml-tal before that, possibly some markdown mixed in, or just raw html 2014-12-06T23:34:46Z White_Flame: gabriel_laddel: nor if I have 2 frameworks which I wish to use, but they both want to "own" the main processing loop, will s-expressions help 2014-12-06T23:35:13Z White_Flame: these are the more real integration barriers than just having a more productive code structure 2014-12-06T23:35:16Z gabriel_laddel: White_Flame: could you explain that in more detail? 2014-12-06T23:35:33Z gabriel_laddel: White_Flame: I've found that integrating disparate ideas in CL is a joy 2014-12-06T23:35:35Z Sikander: |3b|: ok, thanks 2014-12-06T23:35:56Z White_Flame: gabriel_laddel: say I'm wanting to use the features of 2 3d game engines simultaneously. Can't do it. 2014-12-06T23:36:10Z White_Flame: if they both "own" the scene graph, and the main loop 2014-12-06T23:36:21Z White_Flame: and have different representations for all their objects 2014-12-06T23:36:43Z White_Flame: and nothign in the code representation helps that 2014-12-06T23:36:54Z Sikander: LiamH: I remember I left you with a bunch of very very slow FFT tests for GSLL. Did you ever figure out why grid access was so much slower than the C array access? 2014-12-06T23:37:10Z White_Flame: gabriel_laddel: these are the types of integration problems in the non-3d part of your essay] 2014-12-06T23:37:48Z LiamH: Sikander: No, I deferred that until I had refactored Antik. Which is being deferred until I get a documentation system. Which is being deferred until I get time. 2014-12-06T23:37:57Z gabriel_laddel: White_Flame: also, your desire to create a cube and spin it around is offered by all sorts of modeling tools. Your complaint is that those tool's aren't integrated with CL. << all of these are unacceptable for being "incomprehensible monstrosities" 2014-12-06T23:38:12Z White_Flame: that is highly subjective 2014-12-06T23:38:27Z Sikander: LiamH: Ah, time, that scarce resource 2014-12-06T23:38:30Z White_Flame: advanced tools are required by advanced users, and vice versa 2014-12-06T23:38:33Z gabriel_laddel: see the case studies - I disagree. 2014-12-06T23:39:08Z LiamH: Sikander: So what are you up to these days, lisp-wise? 2014-12-06T23:39:47Z White_Flame: gabriel_laddel: In the 2d sense, PyGame is great. Ogre3d has a lot of default interactivity droppable into your scene. But the problem is that these features are bound to programming languages, not just "availalbe" to your lisp environment 2014-12-06T23:40:35Z gabriel_laddel: White_Flame: anything written in python is in my mind unacceptable for being a moronic language. 2014-12-06T23:40:54Z Sikander: LiamH: Well, nothing really shocking. A friend of mine had a simple problem for which a simple customized ocr application would be a simple solution. So I'm using an FFI to the Tesseract library. Problem: I'm developing on linux, but he runs windows :( 2014-12-06T23:41:05Z White_Flame: gabriel_laddel: I'm not seeing much goal here in what you're saying 2014-12-06T23:41:19Z White_Flame: at least, nothing beyond much short-sighted 2014-12-06T23:41:24Z gabriel_laddel: I've used it - never again. 2014-12-06T23:41:24Z gabriel_laddel: it offers NOTHING over CL. 2014-12-06T23:41:24Z gabriel_laddel: and has no reason to exist 2014-12-06T23:41:24Z gabriel_laddel: (writing something on your 2 game framework question right now) 2014-12-06T23:41:56Z mrSpec quit (Quit: mrSpec) 2014-12-06T23:42:09Z White_Flame: I'd reword your essay as "I want everything, and I want it all to be easy, and automatically understanding of whatever context I happen to approach it from." That's AI, not programming languages 2014-12-06T23:42:11Z Sikander: LiamH: I still have the ncurses backend for mcclim lying around, but it doesn't work correctly 2014-12-06T23:42:18Z LiamH: Sikander: easy solution, he switches to Linux 2014-12-06T23:42:26Z Sikander: LiamH: and I want to get a nice GUI working on both windows and linux 2014-12-06T23:42:31Z gabriel_laddel: White_Flame: curious how much you program CL? 2014-12-06T23:42:33Z Sikander: LiamH: I agree, but he doesn't for some reason 2014-12-06T23:42:38Z White_Flame: gabriel_laddel: About 10 years 2014-12-06T23:42:44Z White_Flame: as the primary on-the-job language 2014-12-06T23:42:51Z LiamH: Sikander: GUI is a huge project 2014-12-06T23:43:00Z gabriel_laddel: White_Flame: Interesting. I'd like to dig into this deeper then. 2014-12-06T23:43:13Z Sikander: LiamH: Right now I'm using LTK but it's pretty slow, perhaps due to using wish 2014-12-06T23:43:20Z lispm joined #lisp 2014-12-06T23:43:30Z Sikander: LiamH: Yeah, I need a long-term project. 2014-12-06T23:43:51Z LiamH: Sikander: Get McClim working? 2014-12-06T23:44:01Z Sikander: LiamH: I initially thought of a backend to mcclim that works on both linux and windows 2014-12-06T23:44:08Z Sikander: LiamH: but wxwindows is c++ dammit 2014-12-06T23:44:17Z Sikander: LiamH: perhaps Tk then 2014-12-06T23:44:47Z Sikander: LiamH: But an mcclim backend is so painful to write... 2014-12-06T23:44:54Z LiamH: Well there's clasp now which will do C++. Of course that's just a single CL implementation. 2014-12-06T23:44:54Z White_Flame: I've been hearing a lot of "Qt better than Wx" lately. Don't use each, but I don't hear much about Lisp Qt bindings either 2014-12-06T23:45:05Z White_Flame: s/each/either/ 2014-12-06T23:45:42Z Sikander: LiamH: I saw something cl-autowrap, https://github.com/rpav/cl-autowrap which appears interesting 2014-12-06T23:46:24Z LiamH: Yeah, I saw that. Not sure what it can do. 2014-12-06T23:46:24Z White_Flame: gabriel_laddel: How long have you been coding CL? 2014-12-06T23:46:33Z oleo__ is now known as oleo 2014-12-06T23:46:44Z gabriel_laddel: White_Flame: A year possibly? 2014-12-06T23:46:51Z gabriel_laddel: White_Flame: programming for ~3 years. 2014-12-06T23:46:58Z gabriel_laddel: White_Flame: not quite that I suppose. 2014-12-06T23:47:17Z innertracks joined #lisp 2014-12-06T23:47:29Z Sikander: LiamH: Haven't tried it yet. 2014-12-06T23:47:34Z White_Flame: gabriel_laddel: Honestly, you've got a lot to learn about applicability of concepts to languages 2014-12-06T23:47:46Z LiamH: Sikander: I'm not even clear on what c2ffi does. 2014-12-06T23:47:54Z White_Flame: Whatever your vision of an "ultimate solution" will be, I can guarantee you it heavily overlaps with AI 2014-12-06T23:48:19Z LiamH: Sikander: relative to, say, cffi-grovel 2014-12-06T23:49:08Z |3b|: LiamH: cffi-grovel runs a c compiler to figure out details of structs you specifically ask it about 2014-12-06T23:49:25Z White_Flame: gabriel_laddel: I'm AFK. If you want to continue via PM, I'll be much more likely to see it later 2014-12-06T23:49:27Z Sikander: LiamH: Well, as I understand, it reads the full header file, and dumps a json (or sexp) representation of all objects and functions, which as I understand is possible with the new llvm and clang 2014-12-06T23:49:34Z _death: LiamH: I tried it for https://github.com/death/cl-glpk/commit/fb7671fd03a362f68083aa3f6ea8369bffd7ba8d#diff-07f2f22fef5709892c49f0e5f869e6a2 2014-12-06T23:49:36Z LiamH: |3b|: Yes, I know. 2014-12-06T23:49:39Z keen________ joined #lisp 2014-12-06T23:49:50Z Sikander: LiamH: So the "grovel" file is just a file containing the name of the header 2014-12-06T23:49:52Z |3b|: c2ffi and/or cl-autowrap run a c parser on actual C headers, and extracts all the details automatically 2014-12-06T23:50:06Z Sikander: LiamH: What |3b| said 2014-12-06T23:50:12Z Sikander: :D 2014-12-06T23:50:19Z |3b|: and the other of those uses that info to define a FFI interface to that C code 2014-12-06T23:50:32Z |3b| doesn't remember which part is which 2014-12-06T23:50:39Z keen_______ quit (Ping timeout: 245 seconds) 2014-12-06T23:50:40Z Sikander: So, no time spent on writing a grovel file 2014-12-06T23:50:51Z LiamH: Do they use CFFI? cl-autowrap says it uses CFFI-SYS. 2014-12-06T23:51:26Z Sikander: LiamH: I understand it uses cffi for the ffi part. but it doesn't use cffi-grovel; it uses c2ffi and cl-autowrap for that 2014-12-06T23:51:41Z jweiss quit (Ping timeout: 260 seconds) 2014-12-06T23:52:09Z LiamH: But digging down to CFFI-SYS would bypass some other things, like cffi-libffi. 2014-12-06T23:52:11Z _death: it doesn't require c2ffi after the spec files are generated 2014-12-06T23:53:01Z LiamH: _death: the spec files are lisp? 2014-12-06T23:53:16Z Sikander: I thought I read somewhere that it can also make an ffi to C++ libraries, but can't see it anywhere any more 2014-12-06T23:53:19Z _death: LiamH: no, they are json 2014-12-06T23:53:30Z _death: LiamH: see the autospec directory in that repo 2014-12-06T23:53:37Z LiamH doesn't know what json is 2014-12-06T23:53:50Z _death: LiamH: http://json.org/ 2014-12-06T23:53:52Z |3b|: Sikander: last i heard the c++ stuff was still in progress 2014-12-06T23:53:57Z Sikander: aha 2014-12-06T23:54:09Z Sikander: So it's a promising alternative to groveling 2014-12-06T23:54:14Z |3b|: not really 2014-12-06T23:54:21Z Sikander: Why not? 2014-12-06T23:54:53Z DrCode quit (Remote host closed the connection) 2014-12-06T23:55:01Z |3b|: do you really want all your users to have to install some huge chunk of a specific version of clang toolchain, then debug random problems with it, etc just to run your lisp lib? 2014-12-06T23:55:20Z LiamH: _death: thanks, basically it's a substitute for s-expressions 2014-12-06T23:55:23Z _death: 3b: eh? like I said, it's not needed if you bundle the spec files 2014-12-06T23:55:34Z |3b|: sure, for a lot of libraries you can get away with shipping a static .spec file you generated once... but in all those cases you didn't need a groveller in the first place 2014-12-06T23:55:37Z Sikander: |3b|: I understand that you only generate the spec, users don't need to do that any more 2014-12-06T23:55:40Z Sikander: ah. 2014-12-06T23:55:49Z _death: LiamH: a poor substitute :).. but pretty common 2014-12-06T23:56:00Z |3b|: did you generate a .spec file that works with some random old solaris sparc install? 2014-12-06T23:56:05Z |3b|: and with windows? 2014-12-06T23:56:11Z Sikander: _death LiamH: It's better than xml 2014-12-06T23:56:35Z towodo quit (Quit: towodo) 2014-12-06T23:56:41Z LiamH: Sikander: "* is better than XML" always evaluates to true 2014-12-06T23:56:48Z _death: 3b: I just used the defaults.. you can see which platforms it generated the spec files for in that directory 2014-12-06T23:56:50Z Sikander: LiamH: Touche 2014-12-06T23:57:44Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-06T23:57:45Z |3b|: _death: right, and i usually hard code my hand-made FFIs... like i said, most of the time you don't need a groveller 2014-12-06T23:58:11Z _death: 3b: sure, all my other bindings are hand-coded 2014-12-06T23:58:35Z _death: I just tried autowrap yesterday and it seems to be working well 2014-12-06T23:58:38Z |3b| notes a complete lack of commercial unix, arm, sparc, mips, power in that list of spec files 2014-12-06T23:59:10Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-06T23:59:17Z |3b|: yeah, i'm only arguing with the "replaces a groveller" part... i'd probably use it if i were starting a new FFI projects (probably do so will soon actually)