<schweers>
It seems not for every talk, but for some.
<aeth>
oh, I was there but didn't realize those links were slides
Manny8888 has joined #lisp
beach has quit [Disconnected by services]
beach has joined #lisp
longshi has quit [Ping timeout: 257 seconds]
<makomo>
morning
<makomo>
heisig: awesome
<makomo>
finally!
Necktwi has quit [Quit: leaving]
<shka_>
great
asdf_asdf_asdf has joined #lisp
igemnace has joined #lisp
samebchase has joined #lisp
p9fn has quit [Ping timeout: 248 seconds]
oni-on-ion has quit [Remote host closed the connection]
zigpaw has quit [Remote host closed the connection]
zigpaw has joined #lisp
v88m has quit [Ping timeout: 257 seconds]
scymtym has joined #lisp
orivej has joined #lisp
t58 has joined #lisp
cosimone has joined #lisp
<LdBeth>
Good evening
<no-defun-allowed>
Hello LdBeth
orivej has quit [Ping timeout: 245 seconds]
dddddd has joined #lisp
fivo has quit [Ping timeout: 250 seconds]
fivo has joined #lisp
lumm has quit [Quit: lumm]
p9fn has joined #lisp
techquila has quit [Ping timeout: 250 seconds]
hugotty has joined #lisp
ggole has joined #lisp
esrse has quit [Ping timeout: 245 seconds]
longshi has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
lavaflow has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
cosimone has quit [Quit: WeeChat 2.3]
lumm has joined #lisp
dkmueller has joined #lisp
longshi has quit [Ping timeout: 245 seconds]
campy_fellow has quit [Ping timeout: 244 seconds]
lumm has quit [Quit: lumm]
campy_fellow has joined #lisp
longshi has joined #lisp
longshi has quit [Ping timeout: 255 seconds]
asdf_asdf_asdf has quit [Ping timeout: 252 seconds]
schjetne has quit [Ping timeout: 244 seconds]
<daniel1302>
/19
<daniel1302>
/19
<White_Flame>
(/ 19) => 1/19
<White_Flame>
but I don't think that's what you're asking?
Folkol has quit [Ping timeout: 268 seconds]
<daniel1302>
Yes sorry I am reading your posts only and with irssi i just wants to switch windows, but sometimes it paste CRTL+C to the terminal. Its windows terminal error :(
<jackdaniel>
get a tipi (no windows - only apache inside ;)
Folkol has joined #lisp
amerlyq has joined #lisp
Folkol_ has joined #lisp
Folkol has quit [Ping timeout: 268 seconds]
campy_fellow has quit [Ping timeout: 255 seconds]
<shka_>
many former irssi users moved to the weechat as well
heisig has quit [Quit: Leaving]
<LdBeth>
Why move
<LdBeth>
Too lazy
wxie has joined #lisp
campy_fellow has joined #lisp
<dim>
personnaly I still like using RCIRC within Emacs, some use ERC, and I think there's also a McCLIM application for IRC, it's all Common Lisp!
kajo has joined #lisp
sshirokov has quit [Ping timeout: 252 seconds]
<jackdaniel>
beirc could use a lot of work (ux wise)
<dim>
with 1.5.2 I had to declare the type as ((vector (unsigned-byte 8) 4) data), I first did simple-array and got the error you have
<dim>
IIRC
<Xach>
dim: so i should upgrade sbcl?
<dim>
WAIT, here's what I have when using ((simple-array (unsigned-byte 8) 4) data): Derived type of DATA is (VALUES (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (* * * *)) &OPTIONAL), conflicting with its asserted type (VECTOR (UNSIGNED-BYTE 8) 4).
<dim>
that's with "1.4.12" actually
<dim>
should *I* upgrade maybe?
<dim>
(also Travis is using 1.5.2 and is not complaining)
<dim>
you're right, it's not using :verbose t at the moment
heisig has quit [Quit: Leaving]
<Xach>
that will, unfortunately, suppress build-breaking warnings
<dim>
maybe I could also skip that type declaration in cl-db3?
<Xach>
seems plausible
femi has quit [Ping timeout: 255 seconds]
<scymtym>
dim: (simple-array (unsigned-byte 8) 4) means rank 4, not length 4
femi has joined #lisp
<dim>
what's rank 4? do I get to declare the length of the array?
<Xach>
dim: (simple-array (ub8) 4) is a four-dimensional array, (simple-array (ub8) (4)) is a vector of four elements.
<dim>
oh.
<dim>
I've still not work anything serious with arrays as you can see
<dim>
what about using a vector instead, so that I can then use svref? does it matter, and if yes, how to go about that?
<Xach>
a simple-vector is unspecialized
<Xach>
for ub8 it is better to use a specialized vector with the right declaration
<scymtym>
dim: if you are already using nibbles, you could use nibbles:[simple-]octet-vector. if i recall correctly, those do what you want in a less error-prone way
<dim>
Xach: is a simple-array the same thing as a specialized vector?
slyrus1 has joined #lisp
<jackdaniel>
simple array means: no magic like fill pointer / can't be adjusted etc
<dim>
it does not seem like simple-array declaration is compatible with then using svref, and I can of remember that svref can make things faster compared to aref, because it's specialized and doesn't have to deal with the many corner cases of a general array
<jackdaniel>
specialized vector is a vector with elements of known type (and implementaiton support)
<dim>
scymtym: db3 currently has no external dependencies
<Xach>
svref works on one-dimensional arrays of element-type t.
<Xach>
a type-declared simple-array of unsigned-byte 8s will be better (on sbcl with its useful use of type declarations)
<scymtym>
dim: i see. i guess you could still steal the (one-or-two-line) definitions
<dim>
thanks! so I can forget about aref vs svref then
<Xach>
dim: i would not try to set things up to use svref in this case
<dim>
scymtym: that's my whole patch, basically, repeated at several places, some of them being (8) rather than (4)
<Xach>
dim: does that build cleanly with :verbose t?
<dim>
it does, here
<Xach>
yay
<dim>
also it appears to be a real bug™
Kundry_Wag has joined #lisp
wxie has quit [Quit: wxie]
<dim>
fix pushed to github
kajo has quit [Ping timeout: 258 seconds]
<scymtym>
out of curiosity, what was the problem with the original (vector (unsigned-byte 8) 4) declarations?
kajo has joined #lisp
<White_Flame>
that isn't "simple" so it'd always be slow access
longshi has joined #lisp
akoana has joined #lisp
dale_ has joined #lisp
<pfdietz>
simple-vector strikes again
<White_Flame>
simple-vectors are a real pain
dale_ is now known as dale
<Xach>
scymtym: derived vs asserted type warning
lumm has joined #lisp
<scymtym>
Xach: the warning in the report you linked shows the rank 4 problem which the vector declaration shouldn't cause, so i'm not sure what the original problem was. but it's not important
<Xach>
i made db3.lisp in a rush to be able to process esri shapefile metadata files.
mindCrime has joined #lisp
<scymtym>
Xach: it's great that you shared it!
<Xach>
i'm glad that it proved useful in pgloader, too
<dim>
yeah I keep having bug reports about it, all to add more features: more DBF variants of file formats to support, more data types, etc
<dim>
also pgloader http://somehost.tld/foo/somefile.dbf postgres://user@host/dbname and then you can actually work with the data, that's pretty good, right?
<Xach>
hee hee
jprajzne has quit [Remote host closed the connection]
<dim>
my current thinking is that BDF > IXF >>> CSV files
asdf_asdf_asdf has quit [Remote host closed the connection]
slyrus1 has quit [Ping timeout: 258 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
vertigo has quit [Ping timeout: 246 seconds]
Kundry_Wag has quit [Remote host closed the connection]
shifty has quit [Ping timeout: 258 seconds]
cosimone has joined #lisp
Denommus has joined #lisp
v88m has joined #lisp
rippa has joined #lisp
Arcaelyx_ has joined #lisp
Arcaelyx has quit [Ping timeout: 252 seconds]
Inline has quit [Quit: Leaving]
longshi has quit [Quit: WeeChat 2.4]
kajo2 has joined #lisp
kajo has quit [Ping timeout: 258 seconds]
cosimone1 has joined #lisp
kajo2 is now known as kajo
cosimone has quit [Ping timeout: 258 seconds]
Inline has joined #lisp
schweers has quit [Ping timeout: 250 seconds]
cosimone1 has quit [Ping timeout: 252 seconds]
cosimone1 has joined #lisp
JohnMS has quit [Read error: Connection reset by peer]
pankajgodbole has joined #lisp
kajo2 has joined #lisp
jack_rabbit has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
kajo has quit [Read error: Connection reset by peer]
anewuser has joined #lisp
lumm has quit [Quit: lumm]
Bike has joined #lisp
cosimone1 has quit [Quit: WeeChat 2.3]
campy_fellow has quit [Ping timeout: 246 seconds]
Zaab1t has joined #lisp
oni-on-ion has joined #lisp
campy_fellow has joined #lisp
charh has joined #lisp
notzmv has joined #lisp
Zaab1t has quit [Remote host closed the connection]
asdf_asdf_asdf has joined #lisp
moei has joined #lisp
hhdave has quit [Ping timeout: 252 seconds]
Jesin has quit [Quit: Leaving]
Kundry_Wag has quit [Ping timeout: 252 seconds]
cosimone has joined #lisp
cosimone has quit [Client Quit]
Jesin has joined #lisp
jkordani has joined #lisp
hiroaki has joined #lisp
campy_fellow has quit [Read error: Connection reset by peer]
campy_fellow has joined #lisp
q9929t has joined #lisp
Jesin has quit [Quit: Leaving]
oni-on-ion has quit [Remote host closed the connection]
actuallybatman has quit [Ping timeout: 258 seconds]
actuallybatman has joined #lisp
fivo has quit [Quit: WeeChat 1.9.1]
Jesin has joined #lisp
q9929t has quit [Quit: q9929t]
asdf_asdf_asdf has quit [Ping timeout: 252 seconds]
kajo2 has quit [Ping timeout: 252 seconds]
__oliverSwift has joined #lisp
anamorphic has joined #lisp
<__oliverSwift>
hey, y'all. I had a thought about the syntax of common lisp. With scheme, function declarations look like (define (foo param)) which is consistent with how a function is called, but in CL it's (defun foo (param)) which made me wonder about how the defun function actually works. Is there some documentation somewhere that explains that? or can i look at it? I feel like that would help me understand macros
__oliverSwift has quit [Remote host closed the connection]
__oliverSwift has joined #lisp
<__oliverSwift>
any thoughts? I got disconnected so I may have missed some messages
<koenig>
You didn't miss any responses.
<koenig>
I probably can't help you directly with pointers to documentation.
<koenig>
You understand that defun is a "special form", right?
<__oliverSwift>
I know what a special form is, I didn't know defun was one.
<makomo>
it isn't a special operator under the format definition of the word
<__oliverSwift>
I assumed there might be a lower-level define function used to define defun
<makomo>
it's a standard macro
<koenig>
Hmm, well then I guess I need to be educated about this then.
<makomo>
but it expands into some implementation-specific way to define a function
<__oliverSwift>
Thank you guys, this is really helpful. I have to admit I'm a little confused with the terminology, but this is a good starting place.
<Bike>
scheme's (define (foo ...) body...) is actually just sugar for (define foo (lambda (...) body...))
<koenig>
I likewise appreciate the explanation as I learned something too.
<koenig>
AHH!
<koenig>
I really learned something because I've read SICP and understand the Scheme syntactic sugar for define, so dlowe's expression makes sense too.
<__oliverSwift>
Well, I thought the scheme syntax was doing something to interpret the (foo …) as a list of symbols. I just wondered how they were breaking the syntax to make it work.
anewuser has quit [Quit: anewuser]
<makomo>
there's one thing i wonder myself. is it true that just because an operator is a standard function or macro, it doesn't mean that the operator is implementable by the user?
<Bike>
no, that is false.
<makomo>
for example, how would one implement AREF or APPLY?
<Bike>
depends on what you mean by implement.
<Bike>
you can do (defun apply (fun &rest args) (cl:apply fun args)) kind of thing.
<makomo>
right, but that would be in the spirit of the metacircular evaluator
<Bike>
__oliverSwift: it is. in scheme, "define" is a special operator (i believe), not a function, and the implementation will pull the symbols apart.
<makomo>
i'm not sure how exactly to define "implement" to arrive at what i'm thinking about
<Bike>
for a more comprehensive implementation you would need to define your own structures
<Bike>
also for some things it's fairly obvious. (defun 1+ (x) (+ x 1)), and stuff
<Bike>
seems trivial, but also works for the sequence and list functions, which you basically just need control structures and car/cdr/aref for
<makomo>
right. what bugs me a little is the fact that some operators which are not special "kinda are" special
<makomo>
i mean, how would you define a struct if you didn't have defstruct
<makomo>
or a class
<makomo>
or construct a vector or a list, apply a function to a list of arguments, etc.
<makomo>
these are all primitives of sorts, but aren't special operators
<Bike>
AMOP has an implementation of CLOS in lisp, using defstruct
<Bike>
you can make a vector or a list out of other structures, e.g. closures
<dlowe>
makomo: what makes them different is evaluation of their arguments. Functions always evaluate their arguments from left to right at runtime. Macros don't evaluate their arguments at all and run during compile time. Special forms don't do either of these.
<makomo>
hm, so if you were to start just with the special operators (and related primitives like function objects), you could implement the rest of the system (although inefficiently)?
<Bike>
you could with just lambda
<makomo>
right
<Bike>
it would suck pretty bad, though
<makomo>
yeah, true
<Bike>
that's just church
<makomo>
right
<Bike>
the special operators aren't really meant as any kind of minimal set, though
<makomo>
so the fact that vector, list, etc. all have their special status within an implementation is just a side thing, needed for performance reasons
<Bike>
like dlowe says, it's just a designation for their semantics
<makomo>
"just a side thing"
<makomo>
dlowe: yeah, i'm aware of that
<Bike>
i mean they don't need to have a special status. in beach's SICL project, lists and vectors aren't special
<Bike>
(and it's still supposed to be reasonably efficient)
<Bike>
the standard doesn't define any kind of "core" so implementations can do whatever
<makomo>
right, because he's implement CL in CL itself, so his lists are just the host's lists
<makomo>
implementing*
<Bike>
No
<makomo>
oh?
<Bike>
sicl is implemented in lisp but it has its own runtime.
<Bike>
it doesn't just use the host for everything except when building the system from source.
<makomo>
ah i see
<Bike>
and after you've built the system from source it's independent of the host.
<Bike>
i mean, eventually, it's not finished yet.
<makomo>
mhm
andrei-n has joined #lisp
<makomo>
so are lists, etc. represented just like other "general instances" or what the name was