2014-12-20T00:00:22Z attila_lendvai joined #lisp 2014-12-20T00:00:23Z attila_lendvai quit (Client Quit) 2014-12-20T00:00:25Z EvW quit (Ping timeout: 265 seconds) 2014-12-20T00:01:59Z dstatyvka left #lisp 2014-12-20T00:02:00Z nyef: Let's see, load band, microcode, fonts... No, the font file is empty, that could be an issue. Looks like this is just the data fork of a bunch of files, including source code for the MacOS-side software and the code and data to run on the mX side. 2014-12-20T00:02:16Z Denommus joined #lisp 2014-12-20T00:03:57Z jlongster joined #lisp 2014-12-20T00:05:44Z billstclair joined #lisp 2014-12-20T00:07:20Z Denommus quit (Ping timeout: 256 seconds) 2014-12-20T00:08:37Z jlongster quit (Ping timeout: 240 seconds) 2014-12-20T00:10:21Z innertracks1 joined #lisp 2014-12-20T00:11:22Z EvW joined #lisp 2014-12-20T00:11:29Z innertracks quit (Ping timeout: 245 seconds) 2014-12-20T00:16:20Z prxq quit (Remote host closed the connection) 2014-12-20T00:18:44Z sauskesan quit (Quit: ZNC - http://znc.in) 2014-12-20T00:19:18Z Denommus joined #lisp 2014-12-20T00:19:52Z nenorbot quit (Ping timeout: 245 seconds) 2014-12-20T00:23:59Z slyrus quit (Ping timeout: 245 seconds) 2014-12-20T00:24:35Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T00:29:50Z pt1 joined #lisp 2014-12-20T00:30:47Z heurist` is now known as heurist 2014-12-20T00:30:49Z vaporatorius quit (Remote host closed the connection) 2014-12-20T00:31:07Z Petit_Dejeuner joined #lisp 2014-12-20T00:31:55Z srcerer_ is now known as srcerer 2014-12-20T00:34:59Z pnpuff joined #lisp 2014-12-20T00:36:06Z pnpuff quit (Quit: Lost terminal) 2014-12-20T00:36:57Z Denommus joined #lisp 2014-12-20T00:41:29Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T00:44:53Z quazimodo quit (Ping timeout: 265 seconds) 2014-12-20T00:45:20Z Denommus joined #lisp 2014-12-20T00:51:15Z juju joined #lisp 2014-12-20T00:51:30Z Fare joined #lisp 2014-12-20T00:54:01Z Denommus quit (Quit: ZNC - http://znc.in) 2014-12-20T00:56:51Z Denommus joined #lisp 2014-12-20T00:58:41Z xrash joined #lisp 2014-12-20T01:01:23Z pt1 quit (Remote host closed the connection) 2014-12-20T01:02:06Z Denommus quit (Ping timeout: 258 seconds) 2014-12-20T01:03:57Z stepnem quit (Ping timeout: 240 seconds) 2014-12-20T01:04:33Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T01:05:11Z EvW quit (Ping timeout: 265 seconds) 2014-12-20T01:06:29Z Denommus joined #lisp 2014-12-20T01:08:11Z kristof quit (Remote host closed the connection) 2014-12-20T01:08:33Z kristof joined #lisp 2014-12-20T01:10:51Z admg joined #lisp 2014-12-20T01:11:05Z admg quit (Client Quit) 2014-12-20T01:13:48Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T01:20:03Z nikki93_ quit (Remote host closed the connection) 2014-12-20T01:20:34Z nikki93 joined #lisp 2014-12-20T01:22:31Z orthecreedence quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-12-20T01:22:49Z AntiSpamMeta quit (Quit: Changing Servers) 2014-12-20T01:22:58Z Denommus joined #lisp 2014-12-20T01:22:58Z Denommus quit (Changing host) 2014-12-20T01:22:58Z Denommus joined #lisp 2014-12-20T01:23:02Z AntiSpamMeta joined #lisp 2014-12-20T01:24:48Z yrk quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2014-12-20T01:28:19Z Denommus quit (Ping timeout: 255 seconds) 2014-12-20T01:35:22Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-20T01:36:55Z Denommus joined #lisp 2014-12-20T01:38:28Z towodo joined #lisp 2014-12-20T01:41:57Z hugod quit (Ping timeout: 245 seconds) 2014-12-20T01:46:37Z nikki93 quit (Remote host closed the connection) 2014-12-20T01:47:07Z defaultxr joined #lisp 2014-12-20T01:48:54Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T01:49:29Z nikki93_ joined #lisp 2014-12-20T01:51:36Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-20T01:51:49Z nikki93 joined #lisp 2014-12-20T01:52:17Z chu_ joined #lisp 2014-12-20T01:52:47Z hugod joined #lisp 2014-12-20T01:53:35Z chu quit (Ping timeout: 250 seconds) 2014-12-20T01:54:25Z Denommus joined #lisp 2014-12-20T01:54:26Z Denommus quit (Changing host) 2014-12-20T01:54:26Z Denommus joined #lisp 2014-12-20T01:55:36Z Ven joined #lisp 2014-12-20T01:56:16Z nikki93 quit (Read error: Connection reset by peer) 2014-12-20T01:56:25Z nikki93 joined #lisp 2014-12-20T01:59:17Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T02:07:40Z nikki93_ joined #lisp 2014-12-20T02:07:45Z nikki93 quit (Read error: Connection reset by peer) 2014-12-20T02:09:42Z sheilong joined #lisp 2014-12-20T02:10:03Z munksgaard joined #lisp 2014-12-20T02:10:21Z urandom__ quit (Quit: Konversation terminated!) 2014-12-20T02:13:37Z kirin` quit (Ping timeout: 272 seconds) 2014-12-20T02:15:06Z nikki93 joined #lisp 2014-12-20T02:15:12Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-20T02:15:26Z kirin` joined #lisp 2014-12-20T02:16:27Z Denommus joined #lisp 2014-12-20T02:17:11Z araujo quit (Read error: Connection reset by peer) 2014-12-20T02:18:05Z araujo joined #lisp 2014-12-20T02:19:57Z munksgaard quit (Ping timeout: 272 seconds) 2014-12-20T02:21:29Z nikki93 quit (Ping timeout: 245 seconds) 2014-12-20T02:21:32Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T02:25:37Z nikki93 joined #lisp 2014-12-20T02:25:46Z kcj joined #lisp 2014-12-20T02:28:04Z protist joined #lisp 2014-12-20T02:28:34Z Kanae joined #lisp 2014-12-20T02:28:46Z innertracks joined #lisp 2014-12-20T02:28:54Z tadni_ quit (Read error: Connection reset by peer) 2014-12-20T02:29:14Z tadni_ joined #lisp 2014-12-20T02:29:43Z nikki93_ joined #lisp 2014-12-20T02:29:57Z nikki93 quit (Read error: No route to host) 2014-12-20T02:31:13Z innertracks1 quit (Ping timeout: 265 seconds) 2014-12-20T02:40:00Z Denommus joined #lisp 2014-12-20T02:41:18Z Denommus quit (Changing host) 2014-12-20T02:41:18Z Denommus joined #lisp 2014-12-20T02:42:08Z towodo quit (Quit: towodo) 2014-12-20T02:45:09Z bb010g joined #lisp 2014-12-20T02:45:42Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T02:46:12Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-12-20T02:53:30Z Denommus joined #lisp 2014-12-20T02:57:25Z tkhoa2711 joined #lisp 2014-12-20T02:57:54Z Denommus quit (Ping timeout: 256 seconds) 2014-12-20T03:06:29Z nikki93_ quit (Ping timeout: 264 seconds) 2014-12-20T03:10:25Z ivan\ quit (Ping timeout: 252 seconds) 2014-12-20T03:12:31Z Denommus joined #lisp 2014-12-20T03:14:46Z araujo quit (Quit: Leaving) 2014-12-20T03:17:22Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T03:19:04Z Lowl3v3l quit (Ping timeout: 265 seconds) 2014-12-20T03:21:01Z Denommus joined #lisp 2014-12-20T03:21:35Z ivan\ joined #lisp 2014-12-20T03:21:50Z joast quit (Quit: Leaving.) 2014-12-20T03:23:46Z PinealGlandOptic joined #lisp 2014-12-20T03:25:37Z Denommus quit (Ping timeout: 240 seconds) 2014-12-20T03:27:10Z joast joined #lisp 2014-12-20T03:27:26Z nyef: What is the least amount of memory that can be used to run a CL system? Assuming no OS on the machine, and that heap words are no more than 32 bits wide. 2014-12-20T03:27:41Z nyef: Any implementation approach is fair game. 2014-12-20T03:29:07Z nyef: However, the entire heap must fit in memory. Doesn't have to be RAM, but if part of it is in ROM then totals for RAM and ROM must be presented separately. 2014-12-20T03:29:46Z rme: Well, for a coarse lower bound, MCL 2.01 runs on a 4MB Macintosh SE. 2014-12-20T03:30:20Z nyef: Is that the '84 or the '94 standard, or pre-dating both? 2014-12-20T03:30:28Z nyef: ... can't pre-date the '84 standard. My bad. 2014-12-20T03:31:39Z nyef: Still, that's a workable lower bound for me. Thanks. 2014-12-20T03:31:43Z rme: It has CLOS, so I'd assume it's the '94 standard. It also has an editor and other GUI tools, so a system could surely be smaller without those. 2014-12-20T03:32:07Z nyef: Hrm... SE and not SE/30? 2014-12-20T03:32:27Z Zhivago: Zero bytes, surely. 2014-12-20T03:32:34Z nyef: That gives us about... 12MHz 68000, no MMU... 2014-12-20T03:33:02Z nyef: 800k disk drive, maybe a hard drive... 2014-12-20T03:33:09Z Zhivago: Given that spec, you're unlikely to get a meaningful answer. 2014-12-20T03:33:15Z rme: A regular Macintosh SE. 8 MHz 68000. There's one in my closet that still works. 2014-12-20T03:33:39Z nyef: Nice! I lost two SE/30s to dead analog boards, probably the caps failing. 2014-12-20T03:35:32Z Denommus joined #lisp 2014-12-20T03:37:48Z JuanDaugherty joined #lisp 2014-12-20T03:40:28Z nyef: I guess my next stop is figuring out random-access times for 72-pin EDO SIMMs... 2014-12-20T03:40:37Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T03:43:14Z ASau quit (Ping timeout: 265 seconds) 2014-12-20T03:45:06Z zRecursive joined #lisp 2014-12-20T03:51:04Z ASau joined #lisp 2014-12-20T03:52:05Z Adlai quit (Remote host closed the connection) 2014-12-20T03:52:26Z Adlai joined #lisp 2014-12-20T03:52:33Z Denommus joined #lisp 2014-12-20T03:53:37Z nyef: Hrm. 84ns for a -5 EDO SIMM. 104 for a -6 EDO SIMM. 110 for an FP SIMM. 2014-12-20T03:55:20Z protist: what is the most simple, non-OOP, performant database for Common Lisp? (subjective) 2014-12-20T03:55:57Z nyef: My default, go-to database at this point is PostgreSQL. 2014-12-20T03:56:31Z kapil__ joined #lisp 2014-12-20T03:56:36Z protist: nyef: thank you, I will look into it :) 2014-12-20T03:57:12Z nyef: If you're running from CL, your go-to library for talking to PostgreSQL is Postmodern. 2014-12-20T03:57:50Z nyef: I'd avoid the DAO parts, and be aware that some of the deeper aspects of the SQL syntax have to basically be constructed by hand instead of using S-SQL, but it's otherwise pretty decent. 2014-12-20T03:58:36Z ASau quit (Remote host closed the connection) 2014-12-20T03:58:40Z juju quit (Quit: ZNC - http://znc.in) 2014-12-20T03:59:52Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T04:00:29Z harish quit (Read error: No route to host) 2014-12-20T04:00:58Z harish joined #lisp 2014-12-20T04:06:42Z Denommus joined #lisp 2014-12-20T04:06:43Z Denommus quit (Changing host) 2014-12-20T04:06:43Z Denommus joined #lisp 2014-12-20T04:08:20Z quazimodo joined #lisp 2014-12-20T04:10:41Z kristof: "non-oop" 2014-12-20T04:10:47Z kristof: Databases themselves aren't oop 2014-12-20T04:11:16Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T04:11:19Z kristof: Very minor nitpick, not trying to be bellicose :) 2014-12-20T04:11:24Z protist: kristof: some seem to be made for it 2014-12-20T04:11:45Z joshe: a "no-op" database seems like something that could be implemented very efficiently 2014-12-20T04:12:10Z joshe: you could beat all the latest and greatest webscale databases on benchmarks 2014-12-20T04:12:34Z nyef: Remember: If it doesn't have to work properly, it can be as fast as you want. 2014-12-20T04:13:24Z protist: I basically just want a smart hash table that serializes to disc dynamically 2014-12-20T04:14:28Z protist: maybe sorted by multiple keys....idk most things seem "wrong" to me 2014-12-20T04:14:34Z protist: I like columnar databases 2014-12-20T04:14:51Z protist: but insert and delete are /kinda/ broken in those...they aren't meant for the same use 2014-12-20T04:14:55Z protist: but they are highly sane 2014-12-20T04:15:32Z protist: not really broken as much as columnar databases aren't intended for that use...they are meant for storage and analysis, not editing 2014-12-20T04:16:05Z psy_ quit (Remote host closed the connection) 2014-12-20T04:16:31Z protist: :/....everything is so pretty until we need to persist things 2014-12-20T04:16:34Z protist: then it gets messy 2014-12-20T04:17:14Z kristof quit (Ping timeout: 256 seconds) 2014-12-20T04:17:29Z zacharias quit (Read error: Connection reset by peer) 2014-12-20T04:17:45Z jumblerg joined #lisp 2014-12-20T04:17:50Z Ukari joined #lisp 2014-12-20T04:18:43Z Ukari: i have a question,does the list 'nil' have a value 'nil' in it? 2014-12-20T04:19:28Z Hexstream: nil is the "false" value, the empty list and the symbol named NIL in the COMMON-LISP package. 2014-12-20T04:19:37Z octophore-- quit (Quit: Bye) 2014-12-20T04:19:48Z zacharias joined #lisp 2014-12-20T04:19:49Z rme: No, nil is just really weird. 2014-12-20T04:19:51Z Hexstream: And it's also a constant which evaluates to itself. 2014-12-20T04:20:08Z rme: It's a floor wax and a dessert topping! 2014-12-20T04:20:12Z nyef: "There are two approaches: One is to avoid the hard things as much as possible. The other is to make the hard things as easy and as frequent as possible. Most people try the former. The big wins are in the latter." 2014-12-20T04:20:38Z Hexstream: clhs nil 2014-12-20T04:20:38Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_nil.htm 2014-12-20T04:20:49Z protist: Ukari: both the car and cdr of nil are nil....so in a way you /could/ think of it that way 2014-12-20T04:20:57Z Hexstream: In case of doubt: CLHS! 2014-12-20T04:21:07Z protist: Ukari: but I think those are just special cases of car and cdr....no idea how nil is represented internally 2014-12-20T04:21:11Z Hexstream: Yeah, that, too. 2014-12-20T04:21:30Z jlongster joined #lisp 2014-12-20T04:22:10Z nyef: protist: It depends on the implementation. You can probably get some idea of the design philosophy of an implementation by how it treats NIL. 2014-12-20T04:22:18Z zRecursive quit (Remote host closed the connection) 2014-12-20T04:22:23Z protist: nyef: yeah 2014-12-20T04:22:42Z Ukari: i use (car nil) can get a nil,but when i use (equal nil '(nil)) it return nil 2014-12-20T04:22:44Z protist: nyef: I would probably just make nil a NULL pointer...then have a special case for car and cdr 2014-12-20T04:22:55Z protist: nyef: or a symbol I guess 2014-12-20T04:22:58Z Hexstream: clhs equal 2014-12-20T04:22:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_equal.htm 2014-12-20T04:23:05Z nyef: SBCL and CMUCL do something fiendishly clever so that CAR and CDR have no special cases, but SYMBOL-related functions do. 2014-12-20T04:23:26Z protist: ah! it is a symbol: (symbolp nil) 2014-12-20T04:24:18Z Hexstream: (equal nil '(nil)) is exactly the same as (equal () '(())) is exactly the same as (equal '() '(())). 2014-12-20T04:24:42Z nell quit (Quit: WeeChat 1.1-dev) 2014-12-20T04:25:02Z Hexstream: Well, when evaluated. 2014-12-20T04:25:13Z protist: here is just an interesting things to think about 2014-12-20T04:25:15Z protist: (let ((a nil)) (setf (car a) nil) a) 2014-12-20T04:25:23Z protist: *** - SYSTEM::PLACA: NIL is not a pair 2014-12-20T04:25:28Z Hexstream: '(equal () '(())) would differ from '(equal '() '(())) 2014-12-20T04:25:45Z protist: became a highlight 2014-12-20T04:25:49Z protist: "" 2014-12-20T04:25:54Z protist: \%\R 2014-12-20T04:25:55Z protist: lol 2014-12-20T04:26:38Z nyef: protist: Right. RPLACA and RPLACD (aka (SETF CAR) and (SETF CDR)) only operate in terms of CONSes, and NIL is a SYMBOL. LIST is defined as (OR CONS NULL), and NULL is defined as (MEMBER NIL). 2014-12-20T04:26:54Z protist: nyef: I thought it might coerce :p 2014-12-20T04:27:01Z protist: nyef: to an empty list :p 2014-12-20T04:27:13Z nyef: It IS an empty list already. 2014-12-20T04:27:32Z protist: nyef: and I thought the car of the empty list might then coerce 2014-12-20T04:27:41Z protist: thought I might get a stack overflow or strange behavior 2014-12-20T04:27:43Z protist: lol 2014-12-20T04:28:02Z nyef: No, most Lisp implementations try to avoid simply blowing up when the user does something off-the-wall. 2014-12-20T04:28:10Z protist: I see that 2014-12-20T04:29:36Z Denommus joined #lisp 2014-12-20T04:30:24Z nyef: In some cases, they even have cute error messages. 2014-12-20T04:33:05Z Hexstream left #lisp 2014-12-20T04:33:45Z chu_ quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-20T04:34:05Z Denommus quit (Ping timeout: 258 seconds) 2014-12-20T04:39:23Z beach joined #lisp 2014-12-20T04:39:31Z beach: Good morning everyone! 2014-12-20T04:39:47Z Ukari: hi 2014-12-20T04:40:13Z kpreid quit (Quit: Quitting) 2014-12-20T04:41:31Z nyef: Hello beach. 2014-12-20T04:41:42Z beach: Ukari: Why did you expect (EQUAL NIL '(NIL)) to return something other than NIL? 2014-12-20T04:44:06Z Ukari: beach:when i practise lisp with a book "ANSI Common Lisp",it has a question for make a have-list function 2014-12-20T04:44:24Z Kanae quit (Ping timeout: 250 seconds) 2014-12-20T04:44:28Z Ukari: (defun have-list(lst) 2014-12-20T04:44:28Z Ukari: (cond 2014-12-20T04:44:28Z Ukari: ((null lst) nil) 2014-12-20T04:44:28Z Ukari: ((listp (car lst)) t) 2014-12-20T04:44:28Z Ukari: ((null (cdr lst)) nil) 2014-12-20T04:44:29Z Ukari: (t (have-list (cdr lst))) 2014-12-20T04:44:29Z Ukari: ) 2014-12-20T04:44:30Z Ukari: ) 2014-12-20T04:44:44Z beach: Ukari: Please use paste.lisp to paste code. 2014-12-20T04:44:51Z hiyosi joined #lisp 2014-12-20T04:44:54Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T04:45:01Z beach: Ukari: What is the function supposed to do? 2014-12-20T04:45:16Z Ukari: i think about "should i add ((null lst) nil) in it " 2014-12-20T04:45:20Z beach: Ukari: Er, paste.lisp.org. 2014-12-20T04:45:37Z Denommus joined #lisp 2014-12-20T04:45:46Z beach: Ukari: Hard to say without knowing what the function is supposed to do. 2014-12-20T04:47:21Z Ukari: when the parameter is a 'list type',it checks values in the list and find is any list-value in the parameter 2014-12-20T04:48:44Z beach: Ukari: Do you mean that this function returns T if the list given as an argument contains a list, and NIL otherwise? 2014-12-20T04:48:45Z Ukari: http://paste.lisp.org/+33RE 2014-12-20T04:49:57Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T04:50:01Z beach: Ukari: Did you write this code? 2014-12-20T04:50:03Z Ukari: i dont know should the function return T when the parameter is '(nil) 2014-12-20T04:50:23Z beach: I would say "yes". 2014-12-20T04:50:40Z beach: Because the first element of that parameter is a list, the empty list. 2014-12-20T04:50:47Z nyef: NIL is the "empty" list, which is still a list. 2014-12-20T04:50:48Z beach: NIL is the empty list. 2014-12-20T04:51:19Z nyef: On the other hand, I can think of a few lists to pass to this function which will cause it to signal an error or otherwise misbehave. 2014-12-20T04:51:41Z beach: Ukari: Did you write the code? 2014-12-20T04:52:37Z Ukari: ...i make a mistake,what i really want to know is that when the para is nil,should i think nil as '(nil) and make the function return T 2014-12-20T04:52:49Z Ukari: beach:i write it 2014-12-20T04:53:07Z ASau joined #lisp 2014-12-20T04:53:26Z beach: Ukari: When the argument is NIL, the function should return NIL because you then pass it an empty list and an empty list does not contain any elements, so it does not contain a list. 2014-12-20T04:54:07Z MrWoohoo joined #lisp 2014-12-20T04:54:47Z beach: Ukari: The line ((null (cdr lst)) nil) should not be there. 2014-12-20T04:55:09Z Denommus joined #lisp 2014-12-20T04:55:17Z quazimodo quit (Ping timeout: 240 seconds) 2014-12-20T04:55:32Z Ukari: i get it,thank you beach 2014-12-20T04:55:49Z beach: Ukari: Your code has a number of stylistic problems. 2014-12-20T04:56:07Z nyef: You might want to change (t (have-list (cdr list))) to ((listp (cdr list)) (have-list (cdr list))), btw. 2014-12-20T04:56:20Z Denommus quit (Changing host) 2014-12-20T04:56:20Z Denommus joined #lisp 2014-12-20T04:56:27Z nyef: Otherwise (have-list '(2 3 4 . 5)) will blow up, for example. 2014-12-20T04:57:07Z beach: Ukari: 1. Always put a space between the name of the function and the opening parenthesis of the parameter list. 2014-12-20T04:57:15Z Ukari: what are the problems,i cant find them.. 2014-12-20T04:57:24Z beach: Ukari: 2. Never put a closing parenthesis on a line by itself. 2014-12-20T04:58:04Z nyef: The only case where you might want to have a line consisting only of close-parens is when the preceding line is a comment. 2014-12-20T04:58:06Z beach: Ukari: No need to put (COND by itself on a line. You can put the first clause on the same line. 2014-12-20T04:58:30Z nyef: Putting (COND on its own line or not IS a choice, though. It can go either way. 2014-12-20T04:58:40Z nyef: ... And now I really want to close that paren.) 2014-12-20T04:59:15Z beach: Ukari: No need to use cryptic parameter names such as `lst'. You can use `list'. 2014-12-20T04:59:47Z theos quit (Read error: Connection reset by peer) 2014-12-20T04:59:51Z sheilong quit (Quit: Konversation terminated!) 2014-12-20T05:00:04Z nyef: ... But not in Scheme or any other "lisp-1". Not something to be overly worried about at this point, but the knowledge might come in handy in the future. 2014-12-20T05:00:06Z Ukari: but it has a function called 'list' aleardy 2014-12-20T05:00:24Z theos joined #lisp 2014-12-20T05:00:37Z Denommus quit (Ping timeout: 240 seconds) 2014-12-20T05:00:55Z nyef: Common Lisp has separate "namespaces" for functions and variables/parameters. You can have both a variable and a function called LIST without problem. 2014-12-20T05:01:16Z Ukari: http://paste.lisp.org/+33RF 2014-12-20T05:01:18Z nyef: Scheme (for example) has a single, shared namespace for functions and variables, and there you would want to use LST for the variable. 2014-12-20T05:01:18Z beach: Ukari: http://paste.lisp.org/+33RE/1 2014-12-20T05:01:47Z beach: Ukari: NOOOOOO 2014-12-20T05:02:02Z Ukari: i have see it,thanks 2014-12-20T05:02:03Z beach: Ukari: Never put a space after ( and never put a space before ) 2014-12-20T05:02:18Z Ukari: ... 2014-12-20T05:02:25Z nyef: "Come back, Brucio, all is forgiven." 2014-12-20T05:03:09Z beach: Ukari: You also need to indent your code correctly. I suggest you use Emacs and SLIME. 2014-12-20T05:04:16Z nyef: There is an objective standard for "correctly" for most Common Lisp constructs, btw. 2014-12-20T05:05:17Z Ukari: something wrong with my slime,now i use gedit + rlwrap sbcl 2014-12-20T05:05:18Z bgs101 joined #lisp 2014-12-20T05:05:43Z beach: Ukari: Use Quicklisp to install your SLIME. 2014-12-20T05:05:44Z nyef: I sympathize with "something wrong with my slime" and "rlwrap sbcl", but not "gedit". 2014-12-20T05:06:24Z beach: Ukari: I forget the name of the system, maybe slime-helper or quicklisp-slime-helper. 2014-12-20T05:07:30Z ASau quit (Remote host closed the connection) 2014-12-20T05:07:44Z bgs100 quit (Ping timeout: 245 seconds) 2014-12-20T05:07:50Z Ukari: nyef:(defun have-list(list)(list 1 list 2)),it works! 2014-12-20T05:08:20Z nyef: (have-list 15) => (1 15 2) ? 2014-12-20T05:08:27Z Ukari: yes 2014-12-20T05:08:35Z nyef: And now you know. 2014-12-20T05:11:32Z ASau joined #lisp 2014-12-20T05:12:49Z nyef: beach: So, how goes Cleavir? 2014-12-20T05:13:06Z beach: nyef: Quite well, thanks! 2014-12-20T05:13:10Z Denommus joined #lisp 2014-12-20T05:13:10Z Denommus quit (Changing host) 2014-12-20T05:13:10Z Denommus joined #lisp 2014-12-20T05:13:24Z beach: nyef: I finished the processing of captured variables. 2014-12-20T05:13:26Z zeitue quit (Ping timeout: 250 seconds) 2014-12-20T05:13:35Z nyef: Nice! 2014-12-20T05:13:37Z xrash quit (Remote host closed the connection) 2014-12-20T05:13:37Z _5kg quit (Ping timeout: 265 seconds) 2014-12-20T05:14:12Z nyef: I'm starting to think once more about writing my own MFTL. 2014-12-20T05:14:13Z beach: nyef: http://metamodular.com/transformed-hir.png 2014-12-20T05:14:32Z beach: nyef: MFTL? 2014-12-20T05:14:34Z _5kg joined #lisp 2014-12-20T05:14:38Z nyef: My Favorite Toy Lisp. 2014-12-20T05:14:43Z beach: Ah. :) 2014-12-20T05:14:54Z beach: Why a toy? 2014-12-20T05:15:28Z nyef: Cleavir and, what was it, SICL? for you, Clasp for drmeister_, SBCL for whn, arc for pg, and so on. 2014-12-20T05:15:56Z c74d3 is now known as _8680_ 2014-12-20T05:15:57Z beach: nyef: That's no reason to make it a toy. 2014-12-20T05:16:04Z _8680_ is now known as c74d 2014-12-20T05:16:15Z beach: nyef: But maybe you don't mean "toy" as "substandard". 2014-12-20T05:16:36Z nyef: They all START as substandard. And are very rarely paid projects. d-: 2014-12-20T05:16:53Z beach: True. 2014-12-20T05:17:44Z beach: What would you do differently compared to the other projects? 2014-12-20T05:19:06Z nyef: At this point, the two main ideas that I have are for completely different systems. One is to target a small system such as a 65816. The other is to focus on cross-process debugging and minimal deployment systems. 2014-12-20T05:19:28Z nyef: Basically short-circuit the whole "how do I make an executable from this" question. 2014-12-20T05:19:38Z beach: Yes, I see. 2014-12-20T05:19:39Z beach: Nice. 2014-12-20T05:19:41Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T05:20:18Z tadni_ quit (Quit: Bye) 2014-12-20T05:22:47Z beach: nyef: Will it still be Common Lisp? 2014-12-20T05:23:00Z nyef: On the other hand, I don't believe that I'll have much time to spend on it before spring at the earliest. 2014-12-20T05:23:22Z nyef: That'd be the initial plan, at least. I don't really want to give up on Common Lisp just yet. 2014-12-20T05:23:57Z beach: It would be a challenge to make it run in a 16-bit address space. The 65816 is a 16-bit processor, right? 2014-12-20T05:24:18Z jlongster quit (Ping timeout: 258 seconds) 2014-12-20T05:24:21Z nyef: 8 bit data bus, up to 24 bit addressing. 2014-12-20T05:24:31Z nyef: 16 bit registers. 2014-12-20T05:24:36Z beach: OK. 2014-12-20T05:25:00Z nyef: So, 16 meg address space overall. 2014-12-20T05:25:13Z nyef: Maximum speed of 14 MHz. 2014-12-20T05:26:20Z beach: Not sure the compiler will fit. You might want to exclude it. 2014-12-20T05:26:29Z nyef: (Which I suspect that I can hit with discrete AC or ABT glue logic, but any ROM or almost any DRAM would require wait states.) 2014-12-20T05:26:41Z Denommus joined #lisp 2014-12-20T05:26:41Z zeitue joined #lisp 2014-12-20T05:26:46Z nyef: Yeah, or using a bytecoded system. 2014-12-20T05:26:56Z psy_ joined #lisp 2014-12-20T05:26:57Z nyef: Which thus affords an extremely simple compiler. 2014-12-20T05:26:57Z beach: Right. 2014-12-20T05:29:37Z beach: It's a nice project. 2014-12-20T05:29:54Z nyef: Two very different project ideas, neither of which I'm at all sure that I'll tackle. 2014-12-20T05:29:58Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.2) 2014-12-20T05:31:32Z beach: Is this just "scratching an itch" or do you have any real need for any of the two? 2014-12-20T05:31:56Z beach: I guess the cross-process debugging can be quite useful in other situations. 2014-12-20T05:31:58Z vinleod joined #lisp 2014-12-20T05:34:02Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T05:34:24Z ggole joined #lisp 2014-12-20T05:34:29Z nyef: The cross-process debugging thing is for directly tackling deployment / distribution issues without requiring a tree-shaker. 2014-12-20T05:35:41Z beach: You don't need a tree shaker because there is very little stuff in the executable in the first place? 2014-12-20T05:35:47Z nyef: Spot on. 2014-12-20T05:36:13Z nyef: It's also an unusual approach for a common lisp development environment, which makes it a much less explored part of the design space, and thus there could easily be some competitive advantage there. 2014-12-20T05:36:36Z beach: Yes, I can see that. 2014-12-20T05:38:04Z beach: I would start with that project if I were you. :) 2014-12-20T05:38:17Z nyef: I bet. 2014-12-20T05:38:26Z Quadresce joined #lisp 2014-12-20T05:39:09Z nyef: But before that, I have SBCL ports to hack on, a breadboarded 65816 system to try to get running, a FlashROM programmer to, well, program, plus actual paying work. (-: 2014-12-20T05:39:54Z arpunk joined #lisp 2014-12-20T05:40:01Z beach: That will keep you busy. 2014-12-20T05:40:17Z nyef: Yes. Yes, it will. 2014-12-20T05:40:47Z beach: Actually, I have a SICL design question for you... 2014-12-20T05:41:31Z beach: There are 2 possibilities: Keep the constants separate from the static environment and use 2 registers to pass to a function invocation, or 2014-12-20T05:41:46Z beach: put the constants in a vector in the static environment. 2014-12-20T05:42:18Z nyef: Do I recall correctly that your "static environment" is what I call the "closure environment"? 2014-12-20T05:42:29Z beach: Yes, I think so. 2014-12-20T05:42:34Z nyef: That is, the set of closed-over variables? 2014-12-20T05:42:38Z beach: Yes. 2014-12-20T05:42:48Z nyef: Okay, I like possibility 3. 2014-12-20T05:43:02Z beach: Great! What is it? :) 2014-12-20T05:43:19Z nyef: Your function knows where it is in memory, and can find a vector of boxed values by dead reckoning from there. 2014-12-20T05:43:33Z beach: Using PC? 2014-12-20T05:43:47Z jlongster joined #lisp 2014-12-20T05:43:52Z nyef: Yes, or a self-pointer held in a register as part of the calling convention. 2014-12-20T05:44:09Z nyef: Consider how a non-closure function finds its constants? 2014-12-20T05:44:19Z nyef: Or are all functions closure functions in your system? 2014-12-20T05:44:34Z beach: They kind of would be with solution number 2. 2014-12-20T05:44:42Z beach: So there would always be one closed-over variable, containing constants. 2014-12-20T05:44:58Z nyef: That's an option, yes. 2014-12-20T05:45:24Z nyef: But some functions shouldn't even need that much. 2014-12-20T05:45:25Z beach: So number 3 means the self pointer is used to find both the closed-over variables and the constants? 2014-12-20T05:45:32Z beach: Right. 2014-12-20T05:45:49Z nyef: No, separate pointers for the closure environment and the closed-over function. 2014-12-20T05:46:13Z Denommus joined #lisp 2014-12-20T05:46:13Z Denommus quit (Changing host) 2014-12-20T05:46:13Z Denommus joined #lisp 2014-12-20T05:46:26Z beach: I see. That's similar to my solution 1, except that you pass a pointer to the function rather than to just the constants, isn't it? 2014-12-20T05:46:53Z nyef: You have to anyway, how else do you tell the CPU what address to load into the program counter? 2014-12-20T05:47:17Z BlueRavenGT quit (Ping timeout: 240 seconds) 2014-12-20T05:47:29Z beach: OK, I see. 2014-12-20T05:48:06Z Quadresce: beach, will you have provisions for particular lisp extensions, like file lexical variables, or lexical constants, or bindable but not settable specials (what are those called?) 2014-12-20T05:48:34Z rme: In ccl, we make closed-over variables appear as arguments, more or less. 2014-12-20T05:48:58Z beach: Quadresce: I haven't thought about it. 2014-12-20T05:49:16Z nyef: In SBCL, the closure object itself appears as a hidden register parameter, and the closed-over variables are loaded from there in the function prologue. 2014-12-20T05:50:30Z beach: nyef: Does SBCL use different calling conventions for different kinds of functions? 2014-12-20T05:50:36Z nand1 quit (Remote host closed the connection) 2014-12-20T05:50:46Z nyef: Very slightly, and only in the "named" case. 2014-12-20T05:51:25Z beach: Quadresce: What are "lexical constants"? 2014-12-20T05:51:37Z nyef: For an "anonymous" call, basically any call via a function object in a variable, it's all pretty much the same code path. 2014-12-20T05:51:54Z beach: I see. 2014-12-20T05:52:01Z Denommus quit (Ping timeout: 255 seconds) 2014-12-20T05:52:12Z beach: rme: What about constants? 2014-12-20T05:52:12Z Quadresce: beach, a constant variable that can be lexically bound. All reasonable people would probably just choose another name 2014-12-20T05:52:15Z nyef: For a "named" call, however, function calling goes via an "fdefinition" object, where there's a copy of the function object plus a "raw address" to jump to. 2014-12-20T05:52:38Z beach: Quadresce: Yes, I see. 2014-12-20T05:52:53Z nyef: Saving a few instructions and memory references for the normal case, but for undefined functions, closures, and funcallable instances, the raw address needs to point to a specific kind of trampoline. 2014-12-20T05:53:37Z rme: beach: It varies a little on different architectures. On x86-64, function objects are a vector, and the constants are at the end of the vector, and are accessed via pc-relative addressing. 2014-12-20T05:53:41Z ivan4th: noticed a problematic pattern (never do so myself): (handler-case ... (t () ...)) or (handler-case ... (condition () ...)). this causes WARN to perform a non-local exit, among other things. JavaScript-level shoot-yourself-in-the-foot actually 2014-12-20T05:53:51Z nyef: ... I may be mis-remembering about the nature of funcallable instances. They might be doing something else, like having the funcallable-instance-tramp in the closure-fun slot or something. 2014-12-20T05:54:05Z nyef: There's a lot of type-punning at that level of the system. 2014-12-20T05:54:35Z tkhoa2711 quit (Ping timeout: 258 seconds) 2014-12-20T05:54:46Z nyef: ivan4th: Yeah, it's very rarely useful to handler-case or handler-bind anything less explicit than ERROR. 2014-12-20T05:54:47Z beach: Lots of inspiration here. I need to go think about all these possibilities. 2014-12-20T05:55:03Z nyef: ivan4th: Especially if you're going to take a control transfer from the handler. 2014-12-20T05:56:41Z ivan4th: the problem is that (handler-case ... (t () ...)) may be tempting for people with background in other languages 2014-12-20T05:57:41Z ivan4th: perhaps compilers should issue warnings for such constructs? like for the case when earmuffs are used for lexical variables 2014-12-20T05:58:29Z nyef: I ran into an interesting signal-handling issue earlier this week. I did a (handler-bind (my-specific-condition ... (invoke-restart 'continue)) ...) in a test case. If the code under test didn't define a CONTINUE restart, the entire test run aborted and dropped me to a REPL, even though the test runner is supposed to drop me back to a shell prompt. 2014-12-20T05:59:00Z rme: beach: A tagged function pointer points into the interior of vector at the start of the machine code. We use the extra space as a convenient place to store the offset of the start of the constants. 2014-12-20T05:59:15Z nyef: It took me a minute or so to figure out what was going on, and I still haven't fixed my test driver to account for it. 2014-12-20T05:59:21Z rme: This differs per-platform, though. 2014-12-20T06:00:13Z Denommus joined #lisp 2014-12-20T06:00:24Z nyef: beach: Always expect per-platform differences when you get down to function-calling. SBCL uses "tagged raw pointers" for functions on ARM and SPARC because they both have a call/jump instruction that will easily strip off a type tag. 2014-12-20T06:00:26Z rme: I don't even know if that makes sense, or if it is interesting, but there it is. 2014-12-20T06:00:31Z Denommus quit (Changing host) 2014-12-20T06:00:31Z Denommus joined #lisp 2014-12-20T06:00:50Z nyef: But none of the other backends do, because their host CPUs don't have such an instruction. 2014-12-20T06:00:52Z ASau quit (Remote host closed the connection) 2014-12-20T06:01:12Z jlongster quit (Remote host closed the connection) 2014-12-20T06:01:36Z nyef: I've found my old (from 2k8 and 2k9!) code for working with ptrace directly from SBCL. 2014-12-20T06:01:49Z beach: rme: Got it. Thanks. 2014-12-20T06:02:21Z rme: The biggest pain for us on x86 and x86-64 is the architectural insistence of the CALL instruction pushing a return address onto the stack. But all platforms have their various annoyances when you get down to the nitty-gritty, which I guess is my true point. 2014-12-20T06:02:25Z beach: nyef: Right. 2014-12-20T06:03:14Z Longlius joined #lisp 2014-12-20T06:03:42Z rme: Well, the true biggest pain on x86 is the lack of registers. I can probably think of more x86 pain without too much effort. I do like the cisc-y addressing mode, though. 2014-12-20T06:04:10Z nyef: Ugh, right. Register pressure is a royal pain. 2014-12-20T06:04:19Z nyef: Do you have a partitioned register set on x86? 2014-12-20T06:04:38Z beach: rme: I had an idea for the return address. Leave space below the stack frame and have the function entry code pop it off and put it in the space. 2014-12-20T06:04:44Z rme: Yeah, with some hacks to temporarily move registers back and forth between node and immediate. 2014-12-20T06:05:00Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T06:05:19Z beach: rme: You do want to keep the CALLs and RETURNs balanced, but I assume you know that. 2014-12-20T06:05:25Z nyef: One of the main issues with the SBCL ARM port was lack of registers. It's still a problem, really. 2014-12-20T06:05:47Z nyef: It turns out that 15 registers isn't QUITE enough to work with. 2014-12-20T06:06:55Z nyef: (One quirk of SBCL/ARM is that the lisp stack pointer is held in a symbol value slot, due to lack of registers.) 2014-12-20T06:06:56Z rme: beach: Yes. When the x86-64 port first got going, it didn't use call/ret, until someone explained that not using call/ret gives up a lot of performance. 2014-12-20T06:07:11Z theseb quit (Quit: Leaving) 2014-12-20T06:07:44Z Denommus joined #lisp 2014-12-20T06:08:19Z pjb: Ukari: (member 'nil '()) says no. 2014-12-20T06:08:24Z beach vanishes for half an hour or so. 2014-12-20T06:09:13Z scymtym_ quit (Ping timeout: 272 seconds) 2014-12-20T06:09:18Z Ukari: i see 2014-12-20T06:09:45Z tkhoa2711 joined #lisp 2014-12-20T06:11:43Z rme: beach: re your idea for dealing with the return address: ccl makes a design decision that the gc can run at any instruction boundary. Therefore, it's not gc-safe to have an untagged address on the stack at any time. 2014-12-20T06:12:28Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T06:12:40Z pjb: Ukari: when a list is empty, you should avoid calling first or rest on it. (unless (endp list) (first list)) Now, since you may have to write this test often, first (= car) includes this test already, so you may write (first list) to the same effect. But it is assumed that you already tested for the end of the list before calling first. 2014-12-20T06:13:03Z rme: For systems that use other gc strategies, stashing the return address somewhere on function entry seems like it could work. 2014-12-20T06:13:20Z gigetoo quit (Read error: Connection reset by peer) 2014-12-20T06:14:14Z kuimacro joined #lisp 2014-12-20T06:14:22Z rme: I really like this kind of low-level stuff. It is probably the most fun part of porting to a new architecture. 2014-12-20T06:15:06Z pjb: Ukari: In Common Lisp, you could write: (defun have-list (list) (some (function listp) list)) 2014-12-20T06:15:35Z pjb: Ukari: otherwise, I wonder why you want to add ((null lst) nil) in it, since there's already one (first clause of cond). 2014-12-20T06:16:52Z pjb: Ukari: instead of nyef suggestion, you might want to use endp, first and rest when you are processing lists, instead of null, car and cdr. 2014-12-20T06:19:01Z axion: what package is WHEN-LET from? someone forked my code and added it, although I don't have that available 2014-12-20T06:19:30Z rme: I believe alexandria has a when-let. 2014-12-20T06:19:34Z pjb: (apropos "WHEN-LET") ? 2014-12-20T06:19:45Z nyef: pjb has a good point here with regards to ENDP, FIRST and REST. 2014-12-20T06:19:47Z Denommus joined #lisp 2014-12-20T06:19:50Z axion: ah ok 2014-12-20T06:22:31Z nyef: Heh. I'm looking at something I wrote four and a half years ago about handling unix signals in SBCL. "Conclusion: Signals are hard, let's go shopping. No, wait, that wasn't it." 2014-12-20T06:22:47Z FrostyX_ quit (Ping timeout: 245 seconds) 2014-12-20T06:23:24Z ASau` joined #lisp 2014-12-20T06:23:24Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-20T06:25:09Z Ukari: pjb:the practise's request limit me to use car,listp,cdr,etc;so i cant use endp,first and rest 2014-12-20T06:25:36Z Ukari: this is the new code http://paste.lisp.org/+33RG 2014-12-20T06:26:24Z Denommus quit (Ping timeout: 258 seconds) 2014-12-20T06:26:49Z DrCode quit (Remote host closed the connection) 2014-12-20T06:26:53Z pjb: Ukari: a lot of lisp tutorials make excessive use of null cons car cdr. This is good when you have to implement some data structure with cons cells. But once you have them implemented, you should use the higher abstraction. When working with lists, use endp, list, list*, first, rest, second, third, … tenth. 2014-12-20T06:27:06Z ASau` is now known as ASau 2014-12-20T06:27:37Z DrCode joined #lisp 2014-12-20T06:27:47Z Ukari: i think you are right 2014-12-20T06:28:00Z pjb: Ukari: notably, what are the specifications of have-list with respect to dotted-lists? 2014-12-20T06:29:45Z FrostyX joined #lisp 2014-12-20T06:31:31Z nyef: Okay, I'm about out of time for today. 2014-12-20T06:31:35Z nyef quit (Quit: G'night all.) 2014-12-20T06:31:35Z pjb: nyef: (reduce '+ (com.informatimago.common-lisp.cesarum.package:list-external-symbols "CL") :key (lambda (x) (length (symbol-name x))) :initial-value 0) -> 11271 ; therefore an essential part of the design of a CL for small memory footprint, assuming you're not accepting a subset, would be to "compress" well the symbol names. 2014-12-20T06:31:43Z soggybread: on the topic of stylistic errors: is there something like lisp-critic/lint to automatically check style of indentation, whitespace etc.? 2014-12-20T06:31:53Z Ukari: i haven't learn the dotted-lists,i guess the have-list function dont need to deal with that 2014-12-20T06:32:23Z Ukari quit (Quit: Leaving.) 2014-12-20T06:32:24Z pjb: Ukari: see what I mean? They make you use null, car and cdr and don't tell you about dotted lists… 2014-12-20T06:33:27Z innertracks quit (Quit: innertracks) 2014-12-20T06:33:46Z Denommus joined #lisp 2014-12-20T06:33:53Z Ethan- joined #lisp 2014-12-20T06:35:13Z soggybread: if there is standard style, there probably should be standard tool to check if code follows it... 2014-12-20T06:35:55Z pjb: soggybread: just C-x h M-q in emacs. THere's no need to "check" it. 2014-12-20T06:37:21Z loz joined #lisp 2014-12-20T06:37:44Z soggybread: what about (defun have-list(lst)) ? 2014-12-20T06:37:59Z soggybread: and non-emacs users? 2014-12-20T06:38:21Z nikki93 joined #lisp 2014-12-20T06:38:31Z pjb: soggybread: all right, I guess we could provide a tool for newbies. 2014-12-20T06:39:58Z kuimacro quit (Quit: Nettalk6 - www.ntalk.de) 2014-12-20T06:40:02Z pjb: soggybread: there's an old CL lint, but I don't think it says anything about the text (spaces). 2014-12-20T06:40:12Z beach: rme: It is GC safe if you keep a mapping from PC values to stack contents. 2014-12-20T06:42:42Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T06:42:45Z joneshf-laptop joined #lisp 2014-12-20T06:42:56Z beach: pjb: Such a tool would be quite good to have though. 2014-12-20T06:44:10Z beach: rme: Do you use conservative stack scanning? 2014-12-20T06:44:16Z Longlius quit (Ping timeout: 264 seconds) 2014-12-20T06:45:14Z rme: beach: No. CCL doesn't do any conservative scanning. 2014-12-20T06:45:28Z ASau quit (Remote host closed the connection) 2014-12-20T06:46:05Z beach: rme: So if you know PC, you could have a map of what the stack contains, so that the GC would not look at words that are known not to contain anything useful. 2014-12-20T06:47:47Z Denommus joined #lisp 2014-12-20T06:48:59Z rme: I may not understand stack maps well enough, but I thought that you needed to maintain the map so that it's valid at gc safepoints. Essentially, ccl is always at a gc safepoint. 2014-12-20T06:50:13Z beach: rme: By "stack map", I just mean that given PC, you could have a data structure that tells you that there is a word that contains nothing useful, so that the GC does not examine that word. Then you wouldn't have the problem you talked about. 2014-12-20T06:50:48Z enitiz quit (Ping timeout: 256 seconds) 2014-12-20T06:52:35Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T06:57:48Z Denommus joined #lisp 2014-12-20T06:59:22Z loz quit (Ping timeout: 258 seconds) 2014-12-20T07:00:31Z grungier quit (Ping timeout: 258 seconds) 2014-12-20T07:00:45Z Bike quit (Read error: Connection reset by peer) 2014-12-20T07:01:15Z Bike joined #lisp 2014-12-20T07:02:13Z Bike quit (Client Quit) 2014-12-20T07:02:14Z ASau joined #lisp 2014-12-20T07:02:31Z Bike joined #lisp 2014-12-20T07:02:44Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T07:03:24Z axion: is there a way i can get access to a slot value during a initialize-instance :before method? 2014-12-20T07:03:58Z nydel quit (Ping timeout: 258 seconds) 2014-12-20T07:04:41Z beach: axion: No, slot values are set by SHARED-INITIALIZE which is called from the primary method of INITIALIZE-INSTANCE. 2014-12-20T07:04:41Z Bike: i don't understand the question. initialize-instance is what fills the slot values. 2014-12-20T07:04:55Z pjb quit (Read error: Connection reset by peer) 2014-12-20T07:04:56Z pjb` joined #lisp 2014-12-20T07:05:32Z frkout joined #lisp 2014-12-20T07:06:10Z pjb` is now known as pjb 2014-12-20T07:07:09Z grungier joined #lisp 2014-12-20T07:07:57Z bgs101 quit (Quit: bgs101) 2014-12-20T07:08:34Z ConstantineXVI quit (Ping timeout: 258 seconds) 2014-12-20T07:08:57Z girrig_ quit (Ping timeout: 258 seconds) 2014-12-20T07:09:43Z oconnore_ quit (Ping timeout: 258 seconds) 2014-12-20T07:09:55Z girrig joined #lisp 2014-12-20T07:10:06Z sbryant quit (Ping timeout: 258 seconds) 2014-12-20T07:10:18Z axion: ok hmm this pull request is going to be a hack to merge then 2014-12-20T07:10:29Z gluegadget quit (Ping timeout: 258 seconds) 2014-12-20T07:10:29Z PuercoPop quit (Ping timeout: 258 seconds) 2014-12-20T07:10:52Z MrWoohoo quit (Ping timeout: 258 seconds) 2014-12-20T07:10:52Z wilfredh quit (Ping timeout: 258 seconds) 2014-12-20T07:11:15Z jeaye quit (Ping timeout: 258 seconds) 2014-12-20T07:11:15Z someone quit (Ping timeout: 258 seconds) 2014-12-20T07:11:38Z bjorkintosh quit (Ping timeout: 258 seconds) 2014-12-20T07:11:38Z yeticry quit (Ping timeout: 258 seconds) 2014-12-20T07:11:50Z someon joined #lisp 2014-12-20T07:11:54Z frkout quit (Remote host closed the connection) 2014-12-20T07:11:55Z gluegadget joined #lisp 2014-12-20T07:12:01Z psy_ quit (Ping timeout: 258 seconds) 2014-12-20T07:12:01Z superjudge quit (Ping timeout: 258 seconds) 2014-12-20T07:12:01Z endou_____ quit (Ping timeout: 258 seconds) 2014-12-20T07:12:09Z PuercoPop joined #lisp 2014-12-20T07:12:24Z _5kg quit (Ping timeout: 258 seconds) 2014-12-20T07:12:24Z White_Flame quit (Ping timeout: 258 seconds) 2014-12-20T07:12:28Z jpanest quit (Remote host closed the connection) 2014-12-20T07:12:33Z yeticry joined #lisp 2014-12-20T07:12:37Z birk joined #lisp 2014-12-20T07:12:38Z jpanest joined #lisp 2014-12-20T07:12:47Z chameco quit (Ping timeout: 258 seconds) 2014-12-20T07:12:55Z wilfredh_ joined #lisp 2014-12-20T07:13:10Z aksatac quit (Ping timeout: 258 seconds) 2014-12-20T07:13:10Z bege quit (Ping timeout: 258 seconds) 2014-12-20T07:13:10Z lonjil quit (Ping timeout: 258 seconds) 2014-12-20T07:13:27Z White_Flame joined #lisp 2014-12-20T07:13:32Z bjorkintosh joined #lisp 2014-12-20T07:13:33Z drdanmaku quit (Ping timeout: 258 seconds) 2014-12-20T07:13:52Z bege joined #lisp 2014-12-20T07:14:20Z Denommus joined #lisp 2014-12-20T07:14:42Z joshe quit (Ping timeout: 258 seconds) 2014-12-20T07:15:01Z jeaye joined #lisp 2014-12-20T07:15:01Z chameco joined #lisp 2014-12-20T07:15:39Z drdanmaku joined #lisp 2014-12-20T07:15:51Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-20T07:15:59Z endou_____ joined #lisp 2014-12-20T07:16:01Z aksatac joined #lisp 2014-12-20T07:16:06Z oconnore joined #lisp 2014-12-20T07:16:14Z ggherdov quit (Ping timeout: 258 seconds) 2014-12-20T07:16:14Z trn quit (Ping timeout: 258 seconds) 2014-12-20T07:17:00Z ered quit (Ping timeout: 258 seconds) 2014-12-20T07:17:40Z zRecursive joined #lisp 2014-12-20T07:17:46Z swflint quit (Ping timeout: 258 seconds) 2014-12-20T07:18:32Z arrsim quit (Ping timeout: 258 seconds) 2014-12-20T07:18:49Z whowantstolivef2 is now known as whowantstolivefo 2014-12-20T07:18:55Z stacksmith quit (Ping timeout: 258 seconds) 2014-12-20T07:19:18Z PuercoPop quit (Ping timeout: 258 seconds) 2014-12-20T07:20:16Z arrsim joined #lisp 2014-12-20T07:20:19Z ASau quit (Remote host closed the connection) 2014-12-20T07:20:27Z oconnore quit (Ping timeout: 258 seconds) 2014-12-20T07:20:55Z psy_ joined #lisp 2014-12-20T07:21:12Z rtra quit (Ping timeout: 244 seconds) 2014-12-20T07:22:22Z foom quit (Ping timeout: 258 seconds) 2014-12-20T07:23:08Z sword`` quit (Ping timeout: 258 seconds) 2014-12-20T07:23:08Z |3b| quit (Ping timeout: 258 seconds) 2014-12-20T07:23:37Z Denommus quit (Ping timeout: 240 seconds) 2014-12-20T07:24:08Z |3b|`` joined #lisp 2014-12-20T07:24:25Z sword`` joined #lisp 2014-12-20T07:25:26Z chameco quit (Ping timeout: 258 seconds) 2014-12-20T07:26:04Z chameco joined #lisp 2014-12-20T07:26:23Z |3b|`` is now known as |3b| 2014-12-20T07:26:24Z rtra joined #lisp 2014-12-20T07:26:35Z eazar001 quit (Ping timeout: 258 seconds) 2014-12-20T07:26:53Z stacksmith joined #lisp 2014-12-20T07:27:37Z oconnore joined #lisp 2014-12-20T07:29:30Z Quadresce quit (Ping timeout: 250 seconds) 2014-12-20T07:29:49Z trn joined #lisp 2014-12-20T07:29:51Z Longlius joined #lisp 2014-12-20T07:29:53Z PuercoPop joined #lisp 2014-12-20T07:30:09Z ggherdov joined #lisp 2014-12-20T07:30:25Z chameco quit (Ping timeout: 258 seconds) 2014-12-20T07:31:04Z hitecnologys quit (Ping timeout: 245 seconds) 2014-12-20T07:31:11Z arrsim quit (Ping timeout: 258 seconds) 2014-12-20T07:31:34Z stacksmith quit (Ping timeout: 258 seconds) 2014-12-20T07:31:57Z gko quit (Ping timeout: 258 seconds) 2014-12-20T07:32:07Z Indecipherable joined #lisp 2014-12-20T07:32:29Z chameco joined #lisp 2014-12-20T07:32:36Z sbryant joined #lisp 2014-12-20T07:32:52Z ConstantineXVI joined #lisp 2014-12-20T07:32:58Z superjudge joined #lisp 2014-12-20T07:33:11Z gko joined #lisp 2014-12-20T07:33:14Z tesuji joined #lisp 2014-12-20T07:33:22Z stacksmith joined #lisp 2014-12-20T07:33:31Z Kanae joined #lisp 2014-12-20T07:34:04Z arrsim joined #lisp 2014-12-20T07:35:01Z swflint_away joined #lisp 2014-12-20T07:35:07Z swflint_away is now known as swflint 2014-12-20T07:35:08Z nightshade427 joined #lisp 2014-12-20T07:39:17Z _5kg joined #lisp 2014-12-20T07:39:33Z eazar001 joined #lisp 2014-12-20T07:39:47Z Denommus joined #lisp 2014-12-20T07:39:47Z Denommus quit (Changing host) 2014-12-20T07:39:47Z Denommus joined #lisp 2014-12-20T07:42:02Z zadock joined #lisp 2014-12-20T07:44:16Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T07:44:21Z zadock quit (Remote host closed the connection) 2014-12-20T07:44:46Z oklar quit (Remote host closed the connection) 2014-12-20T07:44:57Z zadock joined #lisp 2014-12-20T07:45:43Z jusss joined #lisp 2014-12-20T07:48:34Z Indecipherable quit (Ping timeout: 255 seconds) 2014-12-20T07:49:38Z hitecnologys joined #lisp 2014-12-20T07:50:39Z oklar joined #lisp 2014-12-20T07:51:46Z Denommus joined #lisp 2014-12-20T07:51:47Z Denommus quit (Changing host) 2014-12-20T07:51:47Z Denommus joined #lisp 2014-12-20T07:52:20Z mishoo_ joined #lisp 2014-12-20T07:55:06Z ndrei quit (Ping timeout: 264 seconds) 2014-12-20T07:56:30Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T08:01:07Z ered joined #lisp 2014-12-20T08:01:29Z kapil__ quit (Quit: Connection closed for inactivity) 2014-12-20T08:02:17Z nand1 joined #lisp 2014-12-20T08:04:25Z gingerale joined #lisp 2014-12-20T08:05:35Z MrWoohoo joined #lisp 2014-12-20T08:08:16Z Denommus joined #lisp 2014-12-20T08:09:13Z quazimodo joined #lisp 2014-12-20T08:11:15Z Shinmera joined #lisp 2014-12-20T08:11:55Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-12-20T08:12:47Z majeure joined #lisp 2014-12-20T08:12:56Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T08:17:25Z nikki93: guys i'm really loving this lisp thing 2014-12-20T08:17:58Z nikki93: it is useless to think of it as a panacea, there is none. or there may be one but so what. also who are we to know if it is the one, we are so dumb 2014-12-20T08:18:08Z nikki93: but it makes me think nice things, and for that i am grateful 2014-12-20T08:18:23Z Longlius quit (Ping timeout: 250 seconds) 2014-12-20T08:18:41Z nikki93: got to the mp3 thing in practical common lisp, taking a break and reading on lisp. brb to practical cl in a bit 2014-12-20T08:18:47Z nikki93: any other recos? other than haxing obv 2014-12-20T08:23:30Z Denommus joined #lisp 2014-12-20T08:24:52Z vaporatorius joined #lisp 2014-12-20T08:25:56Z Canadee-i-o joined #lisp 2014-12-20T08:27:14Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-20T08:27:44Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T08:29:23Z oldk joined #lisp 2014-12-20T08:30:31Z DrCode quit (Ping timeout: 250 seconds) 2014-12-20T08:32:12Z DrCode joined #lisp 2014-12-20T08:32:29Z sheilong joined #lisp 2014-12-20T08:34:38Z __JokerDoom quit (Quit: Leaving) 2014-12-20T08:34:57Z Denommus joined #lisp 2014-12-20T08:35:01Z pt1 joined #lisp 2014-12-20T08:35:18Z Denommus quit (Changing host) 2014-12-20T08:35:18Z Denommus joined #lisp 2014-12-20T08:36:06Z oklar quit (Read error: Connection reset by peer) 2014-12-20T08:39:51Z Canadee-i-o left #lisp 2014-12-20T08:43:10Z JuanDaugherty quit (Remote host closed the connection) 2014-12-20T08:43:43Z Indecipherable joined #lisp 2014-12-20T08:44:08Z Denommus quit (Ping timeout: 256 seconds) 2014-12-20T08:45:00Z ndrei joined #lisp 2014-12-20T08:47:57Z zRecursive quit (Remote host closed the connection) 2014-12-20T08:49:24Z Quadrescence joined #lisp 2014-12-20T08:50:58Z Denommus joined #lisp 2014-12-20T08:52:04Z oldk quit (Ping timeout: 258 seconds) 2014-12-20T08:53:17Z yeticry quit (Ping timeout: 264 seconds) 2014-12-20T08:54:06Z yeticry joined #lisp 2014-12-20T08:58:46Z someon is now known as someone 2014-12-20T08:58:51Z kapil__ joined #lisp 2014-12-20T09:00:00Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T09:02:31Z hardenedapple joined #lisp 2014-12-20T09:03:11Z pt1 quit (Remote host closed the connection) 2014-12-20T09:03:11Z Denommus quit (Ping timeout: 258 seconds) 2014-12-20T09:04:01Z Indecipherable quit (Ping timeout: 272 seconds) 2014-12-20T09:07:39Z keen___________8 joined #lisp 2014-12-20T09:08:12Z pt1 joined #lisp 2014-12-20T09:08:22Z keen___________7 quit (Read error: Connection reset by peer) 2014-12-20T09:09:52Z nikki93 quit (Remote host closed the connection) 2014-12-20T09:10:27Z nikki93 joined #lisp 2014-12-20T09:13:28Z nydel joined #lisp 2014-12-20T09:14:35Z Denommus joined #lisp 2014-12-20T09:14:35Z Denommus quit (Changing host) 2014-12-20T09:14:35Z Denommus joined #lisp 2014-12-20T09:15:25Z nikki93 quit (Ping timeout: 272 seconds) 2014-12-20T09:21:23Z nikki93 joined #lisp 2014-12-20T09:21:59Z nikki93 quit (Remote host closed the connection) 2014-12-20T09:24:37Z sdemarre joined #lisp 2014-12-20T09:26:07Z Denommus quit (Quit: ZNC - http://znc.in) 2014-12-20T09:26:49Z beach: For bootstrapping SICL, I currently need the class FUNCALLABLE-STANDARD-OBJECT, which is not in the Common Lisp HyperSpec. But rather than making the bootstrapping more complicated by avoiding that class, or introducing host-specific code, I think I will just use the CLOSER-MOP system. That way, I can also use other MOP functionality, should that turn out to be useful. 2014-12-20T09:27:54Z beach: So, I can not claim that SICL can be bootstrapped on any conforming Common Lisp system, just on any conforming Common Lisp system that is also supported by CLOSER-MOP. 2014-12-20T09:28:33Z Quadrescence: Not unreasonable in my opinion. 2014-12-20T09:29:47Z |3b|: well, theoretically a CLOS+MOP could be implemented on a conforming implementation, but seems reasonable to leave that as an exercise for the reader for the few who want to use an implementation that doesn't already have one 2014-12-20T09:29:50Z beach: Right, so I am limited to SBCL, CCL, CLISP, Allegro, LispWorks, ECL, CMUCL, SCL, and ABCL :) 2014-12-20T09:29:53Z nenorbot joined #lisp 2014-12-20T09:30:27Z beach: |3b|: Yes, or leave it as an exercise for Pascal Costanza. :) 2014-12-20T09:30:59Z Shinmera: No love for MKCL I see. 2014-12-20T09:31:08Z Shinmera has never even looked at MKCL 2014-12-20T09:31:16Z majeure: ECL? 2014-12-20T09:31:33Z beach: Shinmera: I may have overlooked some systems in CLOSER-MOP. 2014-12-20T09:32:21Z beach: majeure: http://cliki.net/ecl 2014-12-20T09:32:57Z majeure: No Elisp? :( 2014-12-20T09:33:02Z Denommus joined #lisp 2014-12-20T09:33:07Z Shinmera: elisp is not common lisp 2014-12-20T09:33:09Z beach: majeure: Elisp is not a Common Lisp. 2014-12-20T09:33:39Z Quadrescence: beach, I guess we will never have SICL on the Lisp Machine :'( 2014-12-20T09:34:06Z beach: Quadrescence: No, but I will turn SICL into one. :) 2014-12-20T09:34:13Z Quadrescence: :) 2014-12-20T09:39:00Z hardenedapple: Reading "on lisp", in the chapter on non-determinism at the end of section 22.4 on the Common lisp implementation of "choose" and "fail", I don't understand the last paragraph. 2014-12-20T09:39:24Z hardenedapple: The author says that using his CL, continuation macros with his "choose" and "fail" macros/functions the stack would grow very large without tail-call optimization 2014-12-20T09:39:41Z hardenedapple: But I don't see how the stack is growing -- as he just stores lambda functions in a global, lexical variable 2014-12-20T09:39:59Z hardenedapple: I was wondering if anyone has read that book and can point out what I'm missing. 2014-12-20T09:42:58Z Denommus quit (Ping timeout: 250 seconds) 2014-12-20T09:43:13Z Quadrescence: hardenedapple, i will look when (1) i stop lagging, (2) i can load the relevant section 2014-12-20T09:43:19Z oklar joined #lisp 2014-12-20T09:43:44Z Ukari joined #lisp 2014-12-20T09:45:01Z hardenedapple: Quadrescence: Thanks 2014-12-20T09:46:32Z hardenedapple: one correction in my description (not that I think it matters), he stores the functions in a global, *dynamic* variable for choose/fail, and a global lexical variable for the continuations 2014-12-20T09:46:43Z zadock quit (Quit: Leaving) 2014-12-20T09:46:52Z pt1 quit (Remote host closed the connection) 2014-12-20T09:46:55Z Shinmera: The continuations are stored in *cont*, which is a special variable too, not lexical. 2014-12-20T09:50:04Z hardenedapple: Shinmera: the naming convention implies it's special -- but it's not defined with defvar or defparameter, it's defined with setq to make it lexical 2014-12-20T09:50:14Z Denommus joined #lisp 2014-12-20T09:51:10Z Shinmera: argh. 2014-12-20T09:51:25Z JuanDaugherty joined #lisp 2014-12-20T09:51:31Z karswell quit (Remote host closed the connection) 2014-12-20T09:51:56Z |3b|: hardenedapple: presumably the problem is calling the continuation, not storing it 2014-12-20T09:52:16Z Shinmera: hardenedapple: the consequences of setq on an unintroduced variable are undefined iirc 2014-12-20T09:52:23Z karswell joined #lisp 2014-12-20T09:53:12Z hardenedapple: Shinmera: I thought so too -- but I think the point is to get an idea of possibilities, not write useful code 2014-12-20T09:53:12Z Denommus quit (Changing host) 2014-12-20T09:53:12Z Denommus joined #lisp 2014-12-20T09:53:21Z Shinmera: The code is bad 2014-12-20T09:54:44Z |3b|: yeah, the sentence about "programs which 'return' valued by calling continuations ..." 2014-12-20T09:54:44Z xrash joined #lisp 2014-12-20T09:55:55Z hardenedapple: |3b|: I'm not sure what you mean 2014-12-20T09:56:02Z |3b|: which is what the FUNCALL in cb and fail do 2014-12-20T09:56:26Z |3b|: did you understand what "continuations" are? (i assume it explained them) 2014-12-20T09:56:51Z hardenedapple: |3b|: Yeah - I got the idea 2014-12-20T09:57:16Z |3b|: instead of returning values, it is calling another function, the 'continuation' 2014-12-20T09:57:24Z |3b|: calling a function uses up some stack until it returns 2014-12-20T09:57:38Z |3b|: so if instead of returning, you call more functions, you continue using more stack 2014-12-20T09:57:53Z attila_lendvai joined #lisp 2014-12-20T09:58:02Z |3b|: TCO lets the called function reuse the stack space of the current function (simplifying a bit) 2014-12-20T09:58:14Z hardenedapple: Right, that makes sense -- thanks 2014-12-20T09:58:15Z |3b|: so if you have TCO, some subset of function calls don't use any additional stack 2014-12-20T09:58:29Z |3b|: if you don't, that style of code will tend to run out of stack 2014-12-20T09:58:54Z PaleFire joined #lisp 2014-12-20T09:59:23Z Quadrescence: |3b|, There's a little more explanation required I think than that though. 2014-12-20T09:59:41Z |3b|: which is one reason scheme (which requires TCO) is more likely to use recursion as a primitive for implementing iterative operations, while CL (which doesn't require implementations to have TCO) has iterative primitive to build on instead 2014-12-20T09:59:43Z hardenedapple: Thanks -- I was fully focussed on the storing of the functions, not the calling of them to return 2014-12-20T09:59:54Z Quadrescence: I mean you're right about TCO in general of course, but I don't think that's the whole explanation here. 2014-12-20T10:00:16Z |3b|: Quadrescence: yeah, i was simplifying :) 2014-12-20T10:00:31Z stepnem joined #lisp 2014-12-20T10:01:14Z Quadrescence: The bigger deal is the interplay between CB and FAIL. CB pushes functions which do a recursive call onto that variable, but it can also invoke FAIL. FAIL itself fill grab those pushed functions, and call them, and you get back into that CB <-> FAIL mutual recursion, with that extra FUNCALL in between. 2014-12-20T10:01:33Z Quadrescence: Of course, with that said, now go to your explanation, and we have the reason why stack can get blown. 2014-12-20T10:02:10Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T10:03:00Z milosn joined #lisp 2014-12-20T10:04:53Z Quadrescence: More control of TCE in Lisp would be awfully nice. 2014-12-20T10:05:58Z Petit_Dejeuner quit (Read error: Connection reset by peer) 2014-12-20T10:07:03Z thepreacher joined #lisp 2014-12-20T10:07:26Z milosn quit (Ping timeout: 256 seconds) 2014-12-20T10:07:41Z yeticry quit (Ping timeout: 264 seconds) 2014-12-20T10:08:26Z axion: |3b|: is there a difference between ~a and ~A format directives? 2014-12-20T10:08:31Z yeticry joined #lisp 2014-12-20T10:08:34Z axion: or anyone 2014-12-20T10:08:37Z Petit_Dejeuner joined #lisp 2014-12-20T10:08:37Z |3b| doesn't think so 2014-12-20T10:09:05Z Denommus joined #lisp 2014-12-20T10:09:14Z axion: don't know how i prefixed your nick, but thanks :) 2014-12-20T10:09:16Z |3b|: they are case insensitive as far as i remember 2014-12-20T10:09:23Z beach makes a mental note to make TCO mandatory in Common Lisp version 2. 2014-12-20T10:09:54Z |3b|: beach: should be fun for people implementing it on VMs without full TCO 2014-12-20T10:10:15Z beach: Hmm. 2014-12-20T10:10:17Z sdemarre quit (Ping timeout: 245 seconds) 2014-12-20T10:10:41Z beach: |3b|: What are some of those VMs? 2014-12-20T10:11:13Z |3b|: java is the specific one i was thinking of, though not completely sure about that 2014-12-20T10:11:24Z |3b|: i suspect it would have been hard on flash VM also 2014-12-20T10:11:51Z beach: Not that it matters; loke told me that nobody will be convinced to adopt Common Lisp version 2 anyway. 2014-12-20T10:12:02Z Quadrescence: I will! 2014-12-20T10:12:38Z Quadrescence: beach, Also make note of the rest of my wishlist: * PURE function declarations along with a purity analysis pass, * support for several calling conventions, * TCE control, * closure inlining!, * 2014-12-20T10:12:45Z beach: Quadrescence: Good. 2014-12-20T10:13:13Z beach: Quadrescence: Some of that might have to wait for 2.1 :) 2014-12-20T10:13:49Z gravicappa joined #lisp 2014-12-20T10:14:17Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T10:14:20Z beach: Quadrescence: According to recent thinking, the first (baby-) step is to follow the rule that an implementation that is conforming according to Common Lisp version 2, is also conforming according to the Common Lisp HyperSpec. 2014-12-20T10:14:58Z Quadrescence: That is probably a good step. Does CL allow for implementation-specific declarations? I think so... 2014-12-20T10:15:04Z beach: It does. 2014-12-20T10:15:14Z Shinmera: Wasn't the first first step supposed to be just a cleanup/clarification of the CLHS? 2014-12-20T10:15:39Z beach: Shinmera: Plus defining many of the undefined situations. 2014-12-20T10:15:49Z Shinmera: Right, that's what I meant by clarification 2014-12-20T10:16:23Z beach: Shinmera: Like requiring that an error be signaled in safe code for some such situations. 2014-12-20T10:16:35Z Quadrescence: Shinmera, I think there's a dual problem here: (1) writing a standard and (2) writing an implementation. I don't think for the Next CL that (1) has to necessarily be done before (2). 2014-12-20T10:17:01Z Shinmera: Quadrescence: beach has been gathering a few people to do (1) though 2014-12-20T10:17:43Z Quadrescence: Has beach also been gathering people to get rid of package nicknames, too? :) 2014-12-20T10:17:47Z PaleFire quit (Remote host closed the connection) 2014-12-20T10:18:16Z PaleFire joined #lisp 2014-12-20T10:18:16Z Shinmera: I'm sorry that I don't quite follow that joke? 2014-12-20T10:18:17Z beach: Quadrescence: That would be a definite violation of the rule I just mentioned. 2014-12-20T10:18:35Z Quadrescence: Shinmera, It's not a joke. ): 2014-12-20T10:18:45Z beach: Now, package aliases would be on the wishlist, but not for 2.0. 2014-12-20T10:18:57Z Shinmera: Quadrescence: Are you saying you want to get rid of package nicknames? Why? 2014-12-20T10:19:42Z Quadrescence: Shinmera, Well, lexical aliases as beach said (if he means what I mean too) I think are the right way to go. 2014-12-20T10:19:56Z Shinmera: Sure, but if you have that there's no reason to /get rid of/ global nicknames 2014-12-20T10:20:05Z beach: Quadrescence: We can still keep nicknames, though. They don't harm anyone. 2014-12-20T10:20:25Z Shinmera: In fact, I very much want to retain global nicknames. 2014-12-20T10:20:33Z Quadrescence: beach, They have been a nuisance for me in the past at work for very large lisp systems, especially ones that now pull in 100s of Quicklisp libraries. 2014-12-20T10:20:35Z Denommus joined #lisp 2014-12-20T10:20:48Z beach: Quadrescence: With clashes you mean? 2014-12-20T10:20:53Z Quadrescence: yes 2014-12-20T10:21:09Z Shinmera: Quadrescence: Finally I found someone that shares my worries of package name clashes 2014-12-20T10:21:32Z Shinmera cheers with tears of sadness in his eyes 2014-12-20T10:21:36Z Quadrescence: I ended up doing this awful patching. But that seems like a Not So Good way to work, doing package modifications in a hacky patch file to be loaded. 2014-12-20T10:22:07Z Quadrescence: Shinmera, It's not even a worry, it has bitten me multiple times. These are no longer the days of having 5 or 6 monolithic packages as was the case back in the days of the Lisp Machien. 2014-12-20T10:22:11Z Quadrescence: chine* 2014-12-20T10:22:36Z Shinmera: I've had the luck of never running into it before myself, but I certainly do worry every time I write a new library or whatnot. 2014-12-20T10:23:15Z Shinmera: Apparently some people don't think it's an issue 2014-12-20T10:23:30Z Quadrescence: Maybe those are people that just roll their own everything. 2014-12-20T10:23:58Z Quadrescence: I like using other people's code when I can, and I have no control over their choice of short names unfortunately. And sometimes I don't even like their choice of short names. :) 2014-12-20T10:25:05Z Shinmera: I tend to write my own everything, but I always want to write things so they're useful outside of my own limited case, so making it work in general is important to me. 2014-12-20T10:25:06Z |3b| thinks it is an issue 2014-12-20T10:25:19Z |3b| maintains one of the clashing libraries :( 2014-12-20T10:25:37Z njsg left #lisp 2014-12-20T10:26:41Z |3b|: i'd be happy to get rid of global nicknames (or at least discourage their inclusion in library package definitions), as long as we have a replacement (like the package-local nicknames in sbcl) 2014-12-20T10:27:01Z Quadrescence: My library whose name is TEMPLATE clashes with HTML-TEMPLATE's nickname. :( 2014-12-20T10:27:19Z |3b|: (almost) all the json libraries conflict :/ 2014-12-20T10:27:22Z Shinmera: I like to give my packages a namespaced nickname ala Java (org.shirakumo.whatever), but I don't want everyone to have to type that crud out, so it gets a whatever name too. 2014-12-20T10:27:28Z |3b|: lots of GL and related libs conflict 2014-12-20T10:27:55Z |3b|: Shinmera: right, but long name is pointless if you have to include the short name in package definition 2014-12-20T10:28:12Z defaultxr quit (Quit: gnight) 2014-12-20T10:28:12Z Shinmera: The long name isn't pointless if you have aliases/local nicknames! 2014-12-20T10:28:25Z |3b|: not if you have to patch out the short name by hand first 2014-12-20T10:28:36Z Quadrescence: |3b|, Do you like package-local-nicknames? My only beef with them is that they are package-local, not file-local. Maybe that's better in the grand scheme of things, and fits better with CL. 2014-12-20T10:28:48Z |3b|: since at that point, you could have patched in a different global short name anyway 2014-12-20T10:29:05Z Shinmera: |3b|: The idea is that you can rebind the short name to whatever you need and if you still need my package rebind the long name to something else. 2014-12-20T10:29:26Z Shinmera: Or just use the long name directly 2014-12-20T10:29:27Z |3b|: Shinmera: problem is that you can't if you defined the short name globally 2014-12-20T10:29:37Z |3b|: since the conflicting packages won't even load 2014-12-20T10:29:46Z Shinmera: Ah, right, I see now. 2014-12-20T10:29:54Z Shinmera needs another coffee 2014-12-20T10:30:01Z schaueho joined #lisp 2014-12-20T10:30:12Z |3b|: Quadrescence: yeah, i like it 2014-12-20T10:30:24Z Shinmera: Actually, something like Java's system where you can "import" a part of a package tree would be useful. 2014-12-20T10:30:34Z |3b|: Quadrescence: you could always use package per file like some people do :)) 2014-12-20T10:30:43Z Zhivago: The javaish approach is the right thing for the actual name. 2014-12-20T10:30:51Z Shinmera: So you can shorten the names down 2014-12-20T10:30:52Z Quadrescence: but is a nickname really a property of a package, or is it just lexical shorthand? 2014-12-20T10:31:06Z Quadrescence: s/nickname/alias/ 2014-12-20T10:31:16Z |3b|: do you really want different files in same package using different nicknames? 2014-12-20T10:31:44Z Quadrescence: No, of course I don't. But that's not why I (maybe!) want it like that. 2014-12-20T10:31:52Z |3b| 's idea with package-local-nicknames is that the local nickname is a property of the namespace created by the package 2014-12-20T10:32:13Z |3b|: if that namespace is valid for multiple files, the nicknames are also 2014-12-20T10:32:23Z Zhivago: Why think of files being in packages? 2014-12-20T10:32:37Z angavrilov joined #lisp 2014-12-20T10:32:45Z |3b| doesn't have any objection to file-local nicknames though, i just wouldn't use them 2014-12-20T10:33:12Z |3b|: as long as they don't break things outside the package, like global nicknames or some of the other alias proposals do 2014-12-20T10:33:24Z Shinmera is actually bothered that named-readtable's in-readtable is only file-local and cannot be made to be package-local 2014-12-20T10:34:03Z Quadrescence: Shinmera, but that's consistent with IN-PACKAGE behavior 2014-12-20T10:34:11Z Shinmera: I know 2014-12-20T10:34:20Z Shinmera: I'm saying I'd like some mechanism to run code upon an in-package call 2014-12-20T10:34:44Z Quadrescence: Or maybe there should be a clearer boundary between packages (as objects) and namespaces 2014-12-20T10:34:46Z pt1 joined #lisp 2014-12-20T10:34:58Z Quadrescence: But that's perhaps a little bit too head-in-the-clouds 2014-12-20T10:35:12Z |3b| isn't too picky about the specific details of package-local-nicknames, it is more about the things it doesn't do 2014-12-20T10:35:27Z Shinmera: I usually just shout at clouds, so I don't know what it's like up there. 2014-12-20T10:35:53Z |3b|: file-local would be more annoying to use for me, but it would still be usable for the purpose 2014-12-20T10:36:12Z Shinmera: On that note, I heard that some people use a package per file, which is really strange to me 2014-12-20T10:36:24Z pjb: - 2014-12-20T10:36:44Z pjb: Shinmera: consider it the other way: they put everything of a package in a single file. 2014-12-20T10:36:52Z pjb: Which doesn't matter, given modern editors. 2014-12-20T10:37:02Z Quadrescence: |3b|, I guess it might get quite verbose, as in other languages. 2014-12-20T10:37:05Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T10:37:17Z Shinmera: Yes, which imo would lead to either tiny, useless packages and/or huge, badly organised files. 2014-12-20T10:37:28Z schaueho quit (Ping timeout: 256 seconds) 2014-12-20T10:37:34Z |3b| thinks files are bad anyway :p 2014-12-20T10:37:38Z Shinmera: So I really don't get what the point of the restriction is 2014-12-20T10:37:40Z beach: I think it depends on the complexity of your code. In some cases you might want several ASDF systems with a different subset of the components. 2014-12-20T10:37:47Z pjb: When you were editing source files on a system with 32 kw of RAM (into which you had to put the whole kernel, OS, and all the users' jobs), then it was indeed almost mandatory to put one single C function per file! 2014-12-20T10:37:55Z |3b|: but worse-is-better, so i'm not likely to have any database backed CL dev environment any time soon :( 2014-12-20T10:38:09Z beach: The one-package-per-file rule works only for very simple code. 2014-12-20T10:38:23Z pjb: But those heroic times are over! I've got 24 GB of RAM in my computer, and more cache than Kernigham or Richie had of persistent storage! 2014-12-20T10:38:37Z pjb: beach: this is another consideration. 2014-12-20T10:38:54Z Shinmera: beach: Right. I do split my things into multiple systems if appropriate, but I also always split files according to their "purpose", even though they usually belong to the same user-concern (package) 2014-12-20T10:38:57Z pjb: What I'm coming to here, is that an IDE (or emacs) should take care of storing the code into files. 2014-12-20T10:38:58Z |3b|: but then i'd argue for getting rid of nicknames completely in that case, that should be mostly an editor/display issue :) (aside form some enterprise scale issues of substituting packages at run/bulid time) 2014-12-20T10:41:20Z oleo is now known as Guest26089 2014-12-20T10:41:37Z beach: pjb: Speaking of Common Lisp version 2, I want to interview eudoxia about his progress on parsing the dpANS before I continue doing more work myself on the parser I started. 2014-12-20T10:42:15Z quazimodo quit (Ping timeout: 250 seconds) 2014-12-20T10:42:26Z Shinmera: beach: He's gone on holidays for three days. 2014-12-20T10:42:35Z beach: No rush. 2014-12-20T10:42:42Z beach: But thanks for letting me know. 2014-12-20T10:42:42Z Shinmera: I know, just saying. 2014-12-20T10:42:48Z beach: Yeah, thanks. 2014-12-20T10:43:06Z oleo__ joined #lisp 2014-12-20T10:43:07Z Denommus joined #lisp 2014-12-20T10:44:26Z Quadrescence: Is there a list somewhere of projects people want other people to do in Lisp? 2014-12-20T10:44:52Z Guest26089 quit (Ping timeout: 264 seconds) 2014-12-20T10:44:53Z Shinmera: beach has one 2014-12-20T10:44:54Z beach: http://metamodular.com/Common-Lisp/suggested-projects.html is mine :) 2014-12-20T10:45:15Z Shinmera: I only have a list of ideas and projects I sometimes want to do, but anyone else might do those too 2014-12-20T10:45:32Z |3b| wants a terminal emulator 2014-12-20T10:45:40Z Shinmera: ( https://trello.com/b/CTRjDxkF/personal misc and ideas) 2014-12-20T10:45:54Z Shinmera: *sometime 2014-12-20T10:47:11Z njsg_ quit (Quit: leaving) 2014-12-20T10:48:37Z Quadrescence: I want to add a project somewhere that I don't see myself getting to any time soon. 2014-12-20T10:48:37Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T10:48:46Z Quadrescence: add a project suggestion* 2014-12-20T10:49:02Z Shinmera: Trello is great for writing down reminders and such. 2014-12-20T10:49:17Z beach: Quadrescence: I'll add it to my list if I like it. :) 2014-12-20T10:49:35Z beach: Quadrescence: You would have to write a page similar to the ones I wrote already. 2014-12-20T10:49:35Z spacebat joined #lisp 2014-12-20T10:50:55Z |3b|: someone should make a thing for aggregating lists of things people should do :p 2014-12-20T10:51:29Z beach: |3b|: And making that thing would be the first thing on the list. :) 2014-12-20T10:51:32Z oklarid joined #lisp 2014-12-20T10:51:42Z oklar quit (Read error: Connection reset by peer) 2014-12-20T10:51:43Z Shinmera: Someone should write an AI that generates lists of things for people to do 2014-12-20T10:52:04Z Shinmera: I just feel like we don't have enough lists in the world yet. 2014-12-20T10:52:13Z Quadrescence: beach, Integrate CL-PERMUTATION into Maxima. It might be too specific for your list, and maybe too application specific. 2014-12-20T10:52:17Z Shinmera: Fortunately our language is perfect for the job 2014-12-20T10:52:18Z |3b|: sounds like a good markov-chain based twitter bot 2014-12-20T10:52:59Z Quadrescence: Maybe a Cliki page to aggregate this stuff would be good. 2014-12-20T10:53:04Z Shinmera: |3b|: Colleen actually does that. https://twitter.com/TYColleen 2014-12-20T10:53:12Z beach: Quadrescence: Yeah, a bit too specific I think. 2014-12-20T10:53:14Z Shinmera: (It doesn't learn its markov chains from here though) 2014-12-20T10:53:49Z |3b|: Shinmera: yeah, there are a lot of them, but i meant specifically todo lists 2014-12-20T10:54:24Z edgar-rft joined #lisp 2014-12-20T10:55:39Z Shinmera: Hmm. 2014-12-20T10:55:39Z oklarid quit (Read error: Connection reset by peer) 2014-12-20T10:55:53Z Shinmera: Being able to add todo lists to a trello board or something from here would be a neat thing. 2014-12-20T10:55:58Z Shinmera: *todo items 2014-12-20T10:56:09Z Shinmera adds "Trello API client" to his 2014-12-20T10:56:28Z quazimodo joined #lisp 2014-12-20T10:57:18Z Quadrescence: |3b|, Was it you who just said you wanted a terminal emulator? 2014-12-20T10:57:26Z |3b|: Quadrescence: yeah 2014-12-20T10:57:52Z |3b| wants a better (and more portable) way to embed emacs into 3d scenes than grabbing bits from an xterm 2014-12-20T10:57:56Z Quadrescence: |3b|, Maybe you can split the difference and help improve CL-CHARMS, at least the high level API: https://github.com/HiTECNOLOGYs/cl-charms/tree/master/src/high-level 2014-12-20T10:57:59Z Quadrescence: And figure out how unicode works. 2014-12-20T10:58:13Z |3b|: nah, other side of the terminal 2014-12-20T10:58:16Z Quadrescence: ;) 2014-12-20T10:58:30Z |3b| wants the part that parses vt100 and decides which characters go where and what color 2014-12-20T10:58:38Z Denommus joined #lisp 2014-12-20T10:58:47Z |3b|: (or ansi or xterm or whatever) 2014-12-20T10:59:20Z |3b|: the data it is parsing would come from outside CL (emacs in particular) 2014-12-20T10:59:46Z pyx joined #lisp 2014-12-20T11:00:03Z hitecnologys: Quadrescence: oh, hey! It's been long time I last saw you. 2014-12-20T11:00:03Z pyx quit (Client Quit) 2014-12-20T11:00:18Z Quadrescence: hitecnologys, yeah I'm going over my long list of things I Really Need To Do 2014-12-20T11:00:26Z Quadrescence: And Catch Up On 2014-12-20T11:00:36Z PaleFire quit (Remote host closed the connection) 2014-12-20T11:00:49Z hitecnologys: Quadrescence: I see. 2014-12-20T11:00:55Z |3b| is also reminded that there is http://cliki.net/Suggested%20Programming%20Projects 2014-12-20T11:01:12Z PaleFire joined #lisp 2014-12-20T11:01:27Z Quadrescence: |3b|, ah yes I knew that was somewhere 2014-12-20T11:01:35Z |3b|: my current plan is to try to extract the terminal part of the st term it links to, and see how much i can mechanically translate to something easy enough to make work 2014-12-20T11:05:26Z pppp2 joined #lisp 2014-12-20T11:06:03Z Ukari quit (Changing host) 2014-12-20T11:06:03Z Ukari joined #lisp 2014-12-20T11:06:04Z Denommus quit (Ping timeout: 245 seconds) 2014-12-20T11:08:13Z ehu joined #lisp 2014-12-20T11:08:49Z Quadrescence: beach, have you thought about the design of a peephole optimizer framework at all? 2014-12-20T11:09:15Z beach: Quadrescence: No I haven't. 2014-12-20T11:11:16Z Denommus joined #lisp 2014-12-20T11:11:30Z PaleFire quit (Remote host closed the connection) 2014-12-20T11:12:01Z PaleFire joined #lisp 2014-12-20T11:12:43Z beach: Are peephole optimizers still needed when all the other optimization algorithms have been implemented? 2014-12-20T11:14:53Z Quadrescence: beach, I don't know the answer for sure, but just on the principle of abstraction, I think yes. The boundaries of generated assembly code usually aren't stitched together nicely, but I could be wrong. 2014-12-20T11:15:05Z Quadrescence: (It's certainly the case in naive compilers.) 2014-12-20T11:15:29Z beach: Sure. 2014-12-20T11:17:44Z admg joined #lisp 2014-12-20T11:18:21Z usrj joined #lisp 2014-12-20T11:19:41Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T11:20:24Z usrj quit (Remote host closed the connection) 2014-12-20T11:20:40Z usrj joined #lisp 2014-12-20T11:24:36Z |3b|: beach: might depend on your definition of "all", since i think there are some that are more or less supersets of peephole optimizations... if you have a pass doing larger-scale pattern matching, it could handle the stuff the peephole optimizer would have done as well 2014-12-20T11:24:41Z Denommus joined #lisp 2014-12-20T11:25:15Z kcj quit (Read error: Connection reset by peer) 2014-12-20T11:25:49Z beach: |3b|: I see. 2014-12-20T11:26:30Z |3b|: and also depends on what level of abstraction the passes run at (like the above example of stitching together output of previous passes) 2014-12-20T11:27:29Z beach: OK, I am convinced. :) 2014-12-20T11:27:52Z usrj quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) 2014-12-20T11:29:36Z nand1 quit (Ping timeout: 256 seconds) 2014-12-20T11:33:22Z Denommus quit (Quit: ZNC - http://znc.in) 2014-12-20T11:34:28Z pjb: - 2014-12-20T11:35:48Z munksgaard joined #lisp 2014-12-20T11:37:25Z PaleFire quit (Remote host closed the connection) 2014-12-20T11:39:29Z hiyosi joined #lisp 2014-12-20T11:42:17Z Denommus joined #lisp 2014-12-20T11:44:34Z _5kg quit (Ping timeout: 258 seconds) 2014-12-20T11:44:37Z jumblerg joined #lisp 2014-12-20T11:44:38Z impulse quit (Ping timeout: 265 seconds) 2014-12-20T11:49:26Z Denommus quit (Ping timeout: 256 seconds) 2014-12-20T11:53:08Z thepreacher quit (Quit: Leaving) 2014-12-20T11:57:41Z sheilong quit (Quit: Konversation terminated!) 2014-12-20T11:59:14Z Denommus joined #lisp 2014-12-20T11:59:28Z ndrei quit (Ping timeout: 250 seconds) 2014-12-20T12:01:23Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-20T12:09:07Z Denommus quit (Ping timeout: 255 seconds) 2014-12-20T12:12:18Z Denommus joined #lisp 2014-12-20T12:12:19Z Denommus quit (Changing host) 2014-12-20T12:12:19Z Denommus joined #lisp 2014-12-20T12:13:09Z mb_ joined #lisp 2014-12-20T12:14:24Z josemanuel joined #lisp 2014-12-20T12:17:01Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T12:17:07Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-20T12:23:49Z leo2007 joined #lisp 2014-12-20T12:24:56Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T12:26:02Z impulse joined #lisp 2014-12-20T12:28:01Z pppp2 quit (Read error: No route to host) 2014-12-20T12:28:16Z Denommus joined #lisp 2014-12-20T12:32:06Z ehu_ joined #lisp 2014-12-20T12:32:50Z _5kg joined #lisp 2014-12-20T12:34:54Z ehu quit (Ping timeout: 265 seconds) 2014-12-20T12:34:54Z josemanuel quit (Quit: Saliendo) 2014-12-20T12:36:34Z ehu_ quit (Ping timeout: 255 seconds) 2014-12-20T12:40:08Z ndrei joined #lisp 2014-12-20T12:41:11Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T12:42:47Z oleo__ quit (Quit: Verlassend) 2014-12-20T12:46:17Z Denommus joined #lisp 2014-12-20T12:47:53Z Mon_Ouie quit (Ping timeout: 264 seconds) 2014-12-20T12:48:00Z mb_ quit (Quit: User abort with 5 Ctrl-C's) 2014-12-20T12:48:08Z oleo joined #lisp 2014-12-20T12:48:44Z hiroakip joined #lisp 2014-12-20T12:48:51Z ndrei quit (Ping timeout: 272 seconds) 2014-12-20T12:50:57Z Denommus quit (Ping timeout: 240 seconds) 2014-12-20T12:55:20Z hiroaki joined #lisp 2014-12-20T12:56:14Z hiroakip quit (Read error: Connection reset by peer) 2014-12-20T12:56:17Z ggole quit (Ping timeout: 240 seconds) 2014-12-20T12:56:42Z ggole joined #lisp 2014-12-20T13:01:08Z chu_ joined #lisp 2014-12-20T13:01:22Z chu_ quit (Changing host) 2014-12-20T13:01:22Z chu_ joined #lisp 2014-12-20T13:02:16Z Quadrescence joined #lisp 2014-12-20T13:04:03Z pt1 quit (Read error: Connection reset by peer) 2014-12-20T13:04:37Z pt1 joined #lisp 2014-12-20T13:05:15Z mishoo_ quit (Ping timeout: 250 seconds) 2014-12-20T13:05:34Z Denommus joined #lisp 2014-12-20T13:05:49Z tadni joined #lisp 2014-12-20T13:07:19Z Denommus quit (Changing host) 2014-12-20T13:07:19Z Denommus joined #lisp 2014-12-20T13:07:54Z mishoo joined #lisp 2014-12-20T13:08:34Z Fare quit (Ping timeout: 245 seconds) 2014-12-20T13:11:40Z munksgaard quit (Read error: Connection reset by peer) 2014-12-20T13:11:43Z Denommus quit (Ping timeout: 244 seconds) 2014-12-20T13:11:50Z yenda```` quit (Ping timeout: 250 seconds) 2014-12-20T13:13:21Z Lowl3v3l joined #lisp 2014-12-20T13:14:35Z normanrichards joined #lisp 2014-12-20T13:16:37Z chen_traveler quit (Remote host closed the connection) 2014-12-20T13:16:52Z zygentoma joined #lisp 2014-12-20T13:18:19Z ndrei joined #lisp 2014-12-20T13:18:41Z chen_traveler joined #lisp 2014-12-20T13:18:51Z chen_traveler quit (Max SendQ exceeded) 2014-12-20T13:20:50Z Denommus joined #lisp 2014-12-20T13:22:05Z zadock joined #lisp 2014-12-20T13:24:23Z zadock quit (Remote host closed the connection) 2014-12-20T13:26:04Z Denommus quit (Ping timeout: 255 seconds) 2014-12-20T13:26:18Z atgreen` joined #lisp 2014-12-20T13:27:13Z chu__ joined #lisp 2014-12-20T13:27:28Z atgreen quit (Ping timeout: 256 seconds) 2014-12-20T13:27:49Z chu__ is now known as chu 2014-12-20T13:27:57Z chu_ quit (Ping timeout: 240 seconds) 2014-12-20T13:27:57Z chu quit (Changing host) 2014-12-20T13:27:57Z chu joined #lisp 2014-12-20T13:34:05Z Quadrescence quit (Ping timeout: 264 seconds) 2014-12-20T13:34:11Z atgreen` quit (Remote host closed the connection) 2014-12-20T13:34:27Z egp_ quit (Remote host closed the connection) 2014-12-20T13:36:03Z zadock joined #lisp 2014-12-20T13:36:17Z DeadTrickster quit (Ping timeout: 265 seconds) 2014-12-20T13:36:57Z attila_lendvai quit (Quit: Leaving.) 2014-12-20T13:38:23Z urandom__ joined #lisp 2014-12-20T13:46:47Z Denommus joined #lisp 2014-12-20T13:49:10Z nyef joined #lisp 2014-12-20T13:49:27Z nyef: G'morning all. 2014-12-20T13:49:58Z Beetny quit (Ping timeout: 250 seconds) 2014-12-20T13:50:03Z LiamH joined #lisp 2014-12-20T13:51:43Z dtw joined #lisp 2014-12-20T13:52:05Z vinleod joined #lisp 2014-12-20T13:53:33Z Denommus quit (Ping timeout: 252 seconds) 2014-12-20T13:56:58Z ehu joined #lisp 2014-12-20T14:01:56Z EvW joined #lisp 2014-12-20T14:02:36Z dtw quit (Remote host closed the connection) 2014-12-20T14:02:56Z chu quit (Quit: leaving) 2014-12-20T14:06:01Z atgreen joined #lisp 2014-12-20T14:07:54Z Denommus joined #lisp 2014-12-20T14:09:41Z chu_ joined #lisp 2014-12-20T14:09:48Z chu_ quit (Changing host) 2014-12-20T14:09:48Z chu_ joined #lisp 2014-12-20T14:11:39Z chu_ quit (Client Quit) 2014-12-20T14:11:56Z chu_ joined #lisp 2014-12-20T14:11:57Z chu_ quit (Changing host) 2014-12-20T14:11:57Z chu_ joined #lisp 2014-12-20T14:12:59Z Denommus quit (Ping timeout: 244 seconds) 2014-12-20T14:16:16Z BitPuffin joined #lisp 2014-12-20T14:17:40Z dtw joined #lisp 2014-12-20T14:17:57Z Denommus joined #lisp 2014-12-20T14:19:08Z jumblerg joined #lisp 2014-12-20T14:20:50Z chen_traveler joined #lisp 2014-12-20T14:21:02Z chen_traveler quit (Max SendQ exceeded) 2014-12-20T14:21:15Z pt1 quit (Remote host closed the connection) 2014-12-20T14:26:33Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T14:29:17Z tkhoa2711 joined #lisp 2014-12-20T14:30:02Z tkhoa2711 quit (Client Quit) 2014-12-20T14:30:34Z tkhoa2711 joined #lisp 2014-12-20T14:31:21Z tkhoa2711 quit (Read error: No route to host) 2014-12-20T14:31:29Z kapil__ quit (Quit: Connection closed for inactivity) 2014-12-20T14:31:52Z rtra quit (Ping timeout: 265 seconds) 2014-12-20T14:31:52Z gravicappa quit (Read error: Connection reset by peer) 2014-12-20T14:32:07Z tkhoa2711 joined #lisp 2014-12-20T14:34:28Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-12-20T14:37:57Z Denommus joined #lisp 2014-12-20T14:43:37Z Denommus quit (Ping timeout: 240 seconds) 2014-12-20T14:44:36Z enitiz joined #lisp 2014-12-20T14:45:59Z Karl_Dscc joined #lisp 2014-12-20T14:46:58Z Ukari: hi 2014-12-20T14:46:58Z minion: Ukari, memo from pjb: http://paste.lisp.org/+33RG/1 2014-12-20T14:48:21Z Ukari: minion:the paste is outdated 2014-12-20T14:50:16Z chu_ is now known as chu 2014-12-20T14:50:58Z admg quit (Quit: Laptop gone to sleep...) 2014-12-20T14:51:13Z Denommus joined #lisp 2014-12-20T14:55:52Z Denommus quit (Changing host) 2014-12-20T14:55:52Z Denommus joined #lisp 2014-12-20T14:58:01Z pjb: Ukari: what did you put a time limit on your paste? 2014-12-20T14:58:21Z Ukari: 1hour 2014-12-20T14:58:39Z pjb: http://paste.lisp.org/+33RH 2014-12-20T14:59:04Z pjb: Try this. And you'll be able to come back to it in ten years! (if the server doesn't crash without backups). 2014-12-20T14:59:41Z pjb: s/what/why/ fingers are treators. 2014-12-20T14:59:52Z Shinmera: *traitors 2014-12-20T15:00:21Z pjb: See what I mean :-) 2014-12-20T15:00:45Z Shinmera goes off to discipline his fingers a bit with some more speed typing. 2014-12-20T15:01:20Z Ukari: yes,i get it 2014-12-20T15:01:25Z Ukari: thanks pjb 2014-12-20T15:01:40Z Ukari: helpful 2014-12-20T15:04:37Z Denommus quit (Ping timeout: 255 seconds) 2014-12-20T15:04:58Z towodo joined #lisp 2014-12-20T15:11:43Z Denommus joined #lisp 2014-12-20T15:11:59Z Denommus quit (Changing host) 2014-12-20T15:11:59Z Denommus joined #lisp 2014-12-20T15:12:54Z suunrider joined #lisp 2014-12-20T15:13:26Z suunrider quit (Client Quit) 2014-12-20T15:19:41Z beach: Ukari: Did you manage to install Quicklisp and SLIME? 2014-12-20T15:21:10Z Denommus quit (Ping timeout: 265 seconds) 2014-12-20T15:21:26Z ASau joined #lisp 2014-12-20T15:21:32Z Ukari: i have installed slime a week ago,and it cant work,how can i makesure that have i install the quicklisp 2014-12-20T15:22:14Z beach: You download the quicklisp.lisp file, and follow the instructions. If you did something else, then you probably have the wrong version of SLIME. 2014-12-20T15:22:15Z dandersen: Ukari: http://beta.quicklisp.org/quicklisp.lisp 2014-12-20T15:22:32Z Ukari: now,i use the gedit and rlwrap sbcl,it is acceptable at this stage 2014-12-20T15:22:35Z dandersen: Ukari: sbcl --load quicklisp.lisp # Follow instructions 2014-12-20T15:22:56Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T15:23:13Z beach: Ukari: No it is not acceptable, because then you submit code that is not properly indented, and when you do that, you basically ask other people to count parentheses for you. 2014-12-20T15:23:44Z Ukari: ok i am trying to finish it now 2014-12-20T15:24:03Z arpunk quit (Remote host closed the connection) 2014-12-20T15:24:52Z Ethan- quit (Ping timeout: 250 seconds) 2014-12-20T15:26:15Z jumblerg joined #lisp 2014-12-20T15:28:17Z Ukari: when my slime run the swank-loader,it returns 'Symbol "CODE-TRACE-TABLE-OFFSET-SLOT" not found in the SB-VM package' 2014-12-20T15:28:51Z beach: Sounds like a version mismatch. 2014-12-20T15:29:22Z jusss quit (Remote host closed the connection) 2014-12-20T15:29:29Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-20T15:30:22Z Ukari: how can i check slime version 2014-12-20T15:30:49Z Ukari: SBCL 1.2.6 2014-12-20T15:31:08Z towodo quit (Quit: towodo) 2014-12-20T15:31:12Z wizzo joined #lisp 2014-12-20T15:31:27Z nyef: SLIME version is something like the date on the head ChangeLog entry, or was at one point. 2014-12-20T15:31:56Z nyef: ... 1.2.6? Oh, I haven't updated since mid-November. 2014-12-20T15:33:55Z beach: Ukari: How did you install SLIME? Is there any particular reason you don't want to do it the way we recommend? 2014-12-20T15:34:09Z jleija joined #lisp 2014-12-20T15:34:45Z Ukari: i find this in the slime source code ---- ./metering.lisp:(defparameter *metering-version* "v2.1 25-JAN-94" 2014-12-20T15:35:23Z Ukari: i install with the command "sudo apt-get install slime" 2014-12-20T15:35:46Z beach: Ukari: That is almost always what is NOT recommended. 2014-12-20T15:36:01Z Denommus joined #lisp 2014-12-20T15:36:15Z beach: Ukari: I personally know nothing about SLIME versions, because when I install it using Quicklisp, it always works without any problems. 2014-12-20T15:36:40Z nyef: Looks like CODE-TRACE-TABLE-OFFSET-SLOT was pulled in June. 2014-12-20T15:36:46Z Ukari: that means i should remove the slime and reinstall it with quicklisp? 2014-12-20T15:36:56Z beach: Ukari: Yes. 2014-12-20T15:37:35Z beach: Ukari: You will want Quicklisp anyway for installing libraries and such. 2014-12-20T15:45:02Z Denommus quit (Quit: ZNC - http://znc.in) 2014-12-20T15:51:15Z pt1 joined #lisp 2014-12-20T15:51:59Z Ukari: how to remove the quicklisp,i put it in a wrong dir 2014-12-20T15:55:16Z Ukari: (ql:uninstall "quicklisp")doesn't works 2014-12-20T15:56:32Z Denommus joined #lisp 2014-12-20T15:57:05Z drdanmaku joined #lisp 2014-12-20T15:57:22Z ndrei quit (Ping timeout: 250 seconds) 2014-12-20T15:58:43Z beach: Ukari: Where you put the quicklisp.lisp file doesn't matter as far as I recall. Once you have loaded it the first time, it is no longer necessary. 2014-12-20T15:58:49Z beach: Others may correct me if I am wrong. 2014-12-20T15:59:15Z normanrichards quit 2014-12-20T16:00:14Z beach: Ukari: You can always start over by removing the directory ~/quicklisp 2014-12-20T16:01:04Z Denommus quit (Ping timeout: 264 seconds) 2014-12-20T16:01:55Z gravicappa joined #lisp 2014-12-20T16:03:20Z rme quit (Ping timeout: 184 seconds) 2014-12-20T16:04:14Z pt1 quit (Remote host closed the connection) 2014-12-20T16:04:31Z rme_ joined #lisp 2014-12-20T16:05:52Z rme quit (Ping timeout: 264 seconds) 2014-12-20T16:05:53Z rme_ is now known as rme 2014-12-20T16:07:00Z tkhoa2711 joined #lisp 2014-12-20T16:07:10Z Vutral quit (Ping timeout: 255 seconds) 2014-12-20T16:07:11Z drmeister_: Hello everyone 2014-12-20T16:07:26Z beach: Hello drmeister_ 2014-12-20T16:07:28Z xrash quit (Remote host closed the connection) 2014-12-20T16:07:40Z drmeister_ is now known as drmeister 2014-12-20T16:07:54Z nyef: Hello drmeister. 2014-12-20T16:09:24Z drmeister: Based on previous discussions I did some digging. It appears that LLVM doesn't yet support truly position independent code. 2014-12-20T16:09:42Z drmeister: Not when it's generated by the JIT. 2014-12-20T16:10:09Z drmeister: So I couldn't put code in the MPS Automatic-Mostly-Copying pool. 2014-12-20T16:10:10Z beach: That's special. 2014-12-20T16:10:49Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-20T16:10:53Z Bike: for real? 2014-12-20T16:10:57Z drmeister: There is a way to have it relocate the code once to wherever I want - so I could put it in GC managed memory. 2014-12-20T16:11:37Z drmeister: I'm pretty sure, but not absolutely certain. I find out about this stuff by digging through mailing lists. 2014-12-20T16:12:34Z drmeister: I have this email from 2013: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-October/066548.html 2014-12-20T16:13:04Z Denommus joined #lisp 2014-12-20T16:16:41Z replcated quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z sauerkrause quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z samebchase quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z White_Flame quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z rs0 quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z peterhil quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z sellout quit (Ping timeout: 264 seconds) 2014-12-20T16:19:48Z tokenrove quit (Ping timeout: 264 seconds)